diff --git a/.DS_Store b/.DS_Store index f083e8b2..414940b5 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/astro-i18next.config.mjs b/astro-i18next.config.mjs new file mode 100644 index 00000000..f71fc526 --- /dev/null +++ b/astro-i18next.config.mjs @@ -0,0 +1,57 @@ +/** @type {import('astro-i18next').AstroI18nextConfig} */ +export default { + defaultLocale: "en", + locales: ["en", "nl", "it"], + namespaces: ["translation"], + defaultNamespace: "translation", + load: ["server", "client"], + i18nextServer: { + debug: true, + initImmediate: false, + supportedLngs: ["en", "nl", "it"], + fallbackLng: "en", + ns: ["translation"], + defaultNS: "translation", + resources: { + en: { + translation: () => import("../public/locales/en/translation.json") + }, + nl: { + translation: () => import("../public/locales/nl/translation.json") + }, + it: { + translation: () => import("../public/locales/it/translation.json") + } + } + }, + i18nextClient: { + debug: false, + supportedLngs: ["en", "nl", "it"], + fallbackLng: "en", + ns: ["translation"], + defaultNS: "translation" + }, + routes: { + en: { + about: 'about', + services: 'services', + contact: 'contact', + privacy: 'privacy', + terms: 'terms' + }, + nl: { + about: 'over-ons', + services: 'diensten', + contact: 'contact', + privacy: 'privacy', + terms: 'voorwaarden' + }, + it: { + about: 'chi-siamo', + services: 'servizi', + contact: 'contatti', + privacy: 'privacy', + terms: 'termini' + } + } +}; \ No newline at end of file diff --git a/astro.config.mjs b/astro.config.mjs index 22fe5c78..ea5497f4 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,11 +1,48 @@ import { defineConfig } from 'astro/config'; import tailwind from '@astrojs/tailwind'; +import astroI18next from 'astro-i18next'; // https://astro.build/config export default defineConfig({ site: 'https://tiber365.it', integrations: [ tailwind(), + astroI18next({ + defaultLocale: "en", + locales: ["en", "nl", "it"], + i18next: { + debug: true, + initImmediate: false, + supportedLngs: ["en", "nl", "it"], + fallbackLng: "en", + load: "all" + }, + i18nextPlugins: { fsBackend: 'i18next-fs-backend' }, + showDefaultLocale: true, + routes: { + en: { + about: 'about', + services: 'services', + contact: 'contact', + privacy: 'privacy', + terms: 'terms' + }, + nl: { + about: 'over-ons', + services: 'diensten', + contact: 'contact', + privacy: 'privacy', + terms: 'voorwaarden' + }, + it: { + about: 'chi-siamo', + services: 'servizi', + contact: 'contatti', + privacy: 'privacy', + terms: 'termini' + } + } + }), ], output: 'static', build: { diff --git a/dist/404.html b/dist/404.html new file mode 100644 index 00000000..12ed26e0 --- /dev/null +++ b/dist/404.html @@ -0,0 +1,4 @@ + Page Not Found | Tiber365 - Professional IT Services | Tiber365 +
404

Page Not Found

Sorry, we couldn't find the page you're looking for.

Or try one of these popular pages:

Services About Contact Blog
\ No newline at end of file diff --git a/dist/_astro/about.Bh3L5Fru.css b/dist/_astro/about.Bh3L5Fru.css new file mode 100644 index 00000000..93c4d176 --- /dev/null +++ b/dist/_astro/about.Bh3L5Fru.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap";*,: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:#e5e7eb}: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,system-ui,sans-serif;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]:where(:not([hidden=until-found])){display:none}body{background-color:rgb(var(--color-background));color:rgb(var(--color-foreground));font-family:Inter,system-ui,sans-serif;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-family:Poppins,system-ui,sans-serif}html{scroll-behavior:smooth}[id]{scroll-margin-top:6rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background-color:rgb(var(--color-muted))}::-webkit-scrollbar-thumb{background-color:rgb(var(--color-secondary));border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--color-secondary) / .8)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--color-primary) / var(--tw-ring-opacity, 1))}.btn-primary:disabled{pointer-events:none;opacity:.5}.btn-primary{background-color:rgb(var(--color-primary));color:rgb(var(--color-primary-foreground))}.btn-primary:hover{background-color:rgb(var(--color-primary) / .9)}.btn-outline{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-outline:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--color-primary) / var(--tw-ring-opacity, 1))}.btn-outline:disabled{pointer-events:none;opacity:.5}.btn-outline{border:1px solid rgb(var(--color-border));background-color:rgb(var(--color-background));color:rgb(var(--color-foreground))}.btn-outline:hover{background-color:rgb(var(--color-accent));color:rgb(var(--color-accent-foreground))}.card{border-radius:.75rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);border:1px solid rgb(var(--color-border));background-color:rgb(var(--color-background))}.container-custom{margin-left:auto;margin-right:auto;max-width:80rem;padding-left:1rem;padding-right:1rem}@media (min-width: 640px){.container-custom{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1024px){.container-custom{padding-left:2rem;padding-right:2rem}}.bg-background{background-color:rgb(var(--color-background))}.text-foreground{color:rgb(var(--color-foreground))}.text-muted-foreground{color:rgb(var(--color-muted-foreground))}.bg-primary{background-color:rgb(var(--color-primary))}.text-primary{color:rgb(var(--color-primary))}.text-primary-foreground{color:rgb(var(--color-primary-foreground))}.border-border{border-color:rgb(var(--color-border))}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-1{bottom:-.25rem}.-bottom-1\/2{bottom:-50%}.-left-1\/2{left:-50%}.-right-1\/2{right:-50%}.-top-1\/2{top:-50%}.bottom-10{bottom:2.5rem}.left-1\/2{left:50%}.left-10{left:2.5rem}.right-10{right:2.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-10{top:2.5rem}.-z-10{z-index:-10}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-0\.5{height:.125rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-full{height:100%}.min-h-\[calc\(100vh-4rem\)\]{min-height:calc(100vh - 4rem)}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-md{max-width:28rem}.flex-shrink-0{flex-shrink:0}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-12{--tw-rotate: -12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-12{--tw-rotate: 12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-0{--tw-scale-x: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.resize-y{resize:vertical}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-12{gap:3rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.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-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * 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))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-border{--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1))}.border-border\/40{border-color:rgb(var(--color-border) / .4)}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-primary-foreground{--tw-border-opacity: 1;border-color:rgb(var(--color-primary-foreground) / var(--tw-border-opacity, 1))}.border-primary\/10{border-color:rgb(var(--color-primary) / .1)}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-secondary-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.bg-background{--tw-bg-opacity: 1;background-color:rgb(var(--color-background) / var(--tw-bg-opacity, 1))}.bg-background\/50{background-color:rgb(var(--color-background) / .5)}.bg-background\/95{background-color:rgb(var(--color-background) / .95)}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-muted\/30{background-color:rgb(var(--color-muted) / .3)}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(var(--color-primary) / var(--tw-bg-opacity, 1))}.bg-primary\/10{background-color:rgb(var(--color-primary) / .1)}.bg-primary\/5{background-color:rgb(var(--color-primary) / .05)}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-secondary-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-background{--tw-gradient-from: rgb(var(--color-background) / 1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--color-background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from: rgb(var(--color-primary) / 1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/20{--tw-gradient-from: rgb(var(--color-primary) / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/5{--tw-gradient-from: rgb(var(--color-primary) / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-background{--tw-gradient-to: rgb(var(--color-background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-background) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary{--tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary\/10{--tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary) / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary\/50{--tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary) / .5) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-muted{--tw-gradient-to: rgb(var(--color-muted) / 1) var(--tw-gradient-to-position)}.to-secondary{--tw-gradient-to: rgb(var(--color-secondary) / 1) var(--tw-gradient-to-position)}.to-secondary\/5{--tw-gradient-to: rgb(var(--color-secondary) / .05) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-3{padding-bottom:.75rem}.pb-8{padding-bottom:2rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-display{font-family:Poppins,system-ui,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.text-foreground{--tw-text-opacity: 1;color:rgb(var(--color-foreground) / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-muted-foreground{--tw-text-opacity: 1;color:rgb(var(--color-muted-foreground) / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.text-primary-foreground{--tw-text-opacity: 1;color:rgb(var(--color-primary-foreground) / var(--tw-text-opacity, 1))}.text-primary\/20{color:rgb(var(--color-primary) / .2)}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-secondary-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-secondary-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-secondary-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.placeholder-muted-foreground::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(var(--color-muted-foreground) / var(--tw-placeholder-opacity, 1))}.placeholder-muted-foreground::placeholder{--tw-placeholder-opacity: 1;color:rgb(var(--color-muted-foreground) / var(--tw-placeholder-opacity, 1))}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blur-2xl{--tw-blur: blur(40px);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)}.blur-3xl{--tw-blur: blur(64px);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)}.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)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:all .6s ease-out}.animate-on-scroll.in-view{opacity:1;transform:translateY(0)}:root{--color-primary: 59 130 246;--color-primary-foreground: 255 255 255;--color-secondary: 100 116 139;--color-secondary-foreground: 255 255 255;--color-background: 255 255 255;--color-foreground: 15 23 42;--color-muted: 248 250 252;--color-muted-foreground: 100 116 139;--color-border: 226 232 240;--color-accent: 241 245 249;--color-accent-foreground: 15 23 42}[data-theme=dark]{--color-primary: 96 165 250;--color-primary-foreground: 15 23 42;--color-secondary: 71 85 105;--color-secondary-foreground: 248 250 252;--color-background: 15 23 42;--color-foreground: 248 250 252;--color-muted: 30 41 59;--color-muted-foreground: 148 163 184;--color-border: 51 65 85;--color-accent: 30 41 59;--color-accent-foreground: 248 250 252}.hover\:text-foreground:hover{color:rgb(var(--color-foreground))}.hover\:text-primary:hover{color:rgb(var(--color-primary))}.hover\:bg-accent:hover{background-color:rgb(var(--color-accent))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-accent:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent) / var(--tw-bg-opacity, 1))}.hover\:bg-background\/90:hover{background-color:rgb(var(--color-background) / .9)}.hover\:bg-primary-foreground:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-primary-foreground) / var(--tw-bg-opacity, 1))}.hover\:text-foreground:hover{--tw-text-opacity: 1;color:rgb(var(--color-foreground) / var(--tw-text-opacity, 1))}.hover\:text-primary:hover{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.hover\:text-primary\/80:hover{color:rgb(var(--color-primary) / .8)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--color-primary) / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-x-100{--tw-scale-x: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:rgb(var(--color-background) / .6)}}@media (min-width: 640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-9xl{font-size:8rem;line-height:1}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 768px){.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}}@media (min-width: 1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:justify-start{justify-content:flex-start}.lg\:gap-8{gap:2rem}.lg\:text-left{text-align:left}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}}.language-selector-wrapper{position:relative}.language-selector{display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;padding:.5rem;--tw-text-opacity: 1;color:rgb(var(--color-muted-foreground) / var(--tw-text-opacity, 1))}.language-selector:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-foreground) / var(--tw-text-opacity, 1))}.language-selector:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--color-primary) / var(--tw-ring-opacity, 1)) }.language-selector-flag{margin-right:.5rem} diff --git a/dist/_astro/about.ohV8mVtx.css b/dist/_astro/about.ohV8mVtx.css new file mode 100644 index 00000000..2600cb2e --- /dev/null +++ b/dist/_astro/about.ohV8mVtx.css @@ -0,0 +1 @@ +*,: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:#e5e7eb}: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,system-ui,sans-serif;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]:where(:not([hidden=until-found])){display:none}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-1{bottom:-.25rem}.-bottom-1\/2{bottom:-50%}.-left-1\/2{left:-50%}.-right-1\/2{right:-50%}.-top-1\/2{top:-50%}.bottom-10{bottom:2.5rem}.left-1\/2{left:50%}.left-10{left:2.5rem}.right-10{right:2.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-10{top:2.5rem}.-z-10{z-index:-10}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-0\.5{height:.125rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-full{height:100%}.min-h-\[calc\(100vh-4rem\)\]{min-height:calc(100vh - 4rem)}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-md{max-width:28rem}.flex-shrink-0{flex-shrink:0}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-12{--tw-rotate: -12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-12{--tw-rotate: 12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-0{--tw-scale-x: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.resize-y{resize:vertical}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-12{gap:3rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.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-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * 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))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-border{--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1))}.border-border\/40{border-color:rgb(var(--color-border) / .4)}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-primary-foreground{--tw-border-opacity: 1;border-color:rgb(var(--color-primary-foreground) / var(--tw-border-opacity, 1))}.border-primary\/10{border-color:rgb(var(--color-primary) / .1)}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-secondary-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.bg-background{--tw-bg-opacity: 1;background-color:rgb(var(--color-background) / var(--tw-bg-opacity, 1))}.bg-background\/50{background-color:rgb(var(--color-background) / .5)}.bg-background\/95{background-color:rgb(var(--color-background) / .95)}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-muted\/30{background-color:rgb(var(--color-muted) / .3)}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(var(--color-primary) / var(--tw-bg-opacity, 1))}.bg-primary\/10{background-color:rgb(var(--color-primary) / .1)}.bg-primary\/5{background-color:rgb(var(--color-primary) / .05)}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-secondary-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-background{--tw-gradient-from: rgb(var(--color-background) / 1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--color-background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from: rgb(var(--color-primary) / 1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/20{--tw-gradient-from: rgb(var(--color-primary) / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/5{--tw-gradient-from: rgb(var(--color-primary) / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-background{--tw-gradient-to: rgb(var(--color-background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-background) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary{--tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary\/10{--tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary) / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary\/50{--tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary) / .5) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-muted{--tw-gradient-to: rgb(var(--color-muted) / 1) var(--tw-gradient-to-position)}.to-secondary{--tw-gradient-to: rgb(var(--color-secondary) / 1) var(--tw-gradient-to-position)}.to-secondary\/5{--tw-gradient-to: rgb(var(--color-secondary) / .05) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-3{padding-bottom:.75rem}.pb-8{padding-bottom:2rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-display{font-family:Poppins,system-ui,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.text-foreground{--tw-text-opacity: 1;color:rgb(var(--color-foreground) / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-muted-foreground{--tw-text-opacity: 1;color:rgb(var(--color-muted-foreground) / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.text-primary-foreground{--tw-text-opacity: 1;color:rgb(var(--color-primary-foreground) / var(--tw-text-opacity, 1))}.text-primary\/20{color:rgb(var(--color-primary) / .2)}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-secondary-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-secondary-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-secondary-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.placeholder-muted-foreground::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(var(--color-muted-foreground) / var(--tw-placeholder-opacity, 1))}.placeholder-muted-foreground::placeholder{--tw-placeholder-opacity: 1;color:rgb(var(--color-muted-foreground) / var(--tw-placeholder-opacity, 1))}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blur-2xl{--tw-blur: blur(40px);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)}.blur-3xl{--tw-blur: blur(64px);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)}.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)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-accent:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent) / var(--tw-bg-opacity, 1))}.hover\:bg-background\/90:hover{background-color:rgb(var(--color-background) / .9)}.hover\:bg-primary-foreground:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-primary-foreground) / var(--tw-bg-opacity, 1))}.hover\:text-foreground:hover{--tw-text-opacity: 1;color:rgb(var(--color-foreground) / var(--tw-text-opacity, 1))}.hover\:text-primary:hover{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.hover\:text-primary\/80:hover{color:rgb(var(--color-primary) / .8)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--color-primary) / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-x-100{--tw-scale-x: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:rgb(var(--color-background) / .6)}}@media (min-width: 640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-9xl{font-size:8rem;line-height:1}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 768px){.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}}@media (min-width: 1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:justify-start{justify-content:flex-start}.lg\:gap-8{gap:2rem}.lg\:text-left{text-align:left}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}} diff --git a/dist/_astro/hoisted.BsMfRRdS.js b/dist/_astro/hoisted.BsMfRRdS.js new file mode 100644 index 00000000..e546a5c4 --- /dev/null +++ b/dist/_astro/hoisted.BsMfRRdS.js @@ -0,0 +1 @@ +function r(){if(typeof window>"u")return;const e={threshold:.1,rootMargin:"0px 0px -50px 0px"},t=new IntersectionObserver(n=>{n.forEach(d=>{d.isIntersecting&&d.target.classList.add("in-view")})},e);return document.querySelectorAll(".animate-on-scroll").forEach(n=>t.observe(n)),t}function i(){return typeof localStorage<"u"&&localStorage.getItem("theme")?localStorage.getItem("theme"):window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function s(e){localStorage.setItem("theme",e),c(e)}function c(e){document.documentElement.setAttribute("data-theme",e);const t=document.querySelector('meta[name="theme-color"]');t&&t.setAttribute("content",e==="dark"?"#0f172a":"#ffffff")}function a(){const e=i();c(e),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{localStorage.getItem("theme")||c(t.matches?"dark":"light")})}function m(){const t=i()==="light"?"dark":"light";return s(t),t}document.addEventListener("DOMContentLoaded",()=>{a(),r()});document.addEventListener("DOMContentLoaded",()=>{const e=document.getElementById("mobile-menu-button"),t=document.getElementById("mobile-menu"),o=document.getElementById("mobile-menu-icon"),n=document.getElementById("mobile-close-icon");e&&t&&o&&n&&(e.addEventListener("click",()=>{const d=e.getAttribute("aria-expanded")==="true";e.setAttribute("aria-expanded",(!d).toString()),t.classList.toggle("hidden"),o.classList.toggle("hidden"),n.classList.toggle("hidden")}),document.addEventListener("click",d=>{!e.contains(d.target)&&!t.contains(d.target)&&(e.setAttribute("aria-expanded","false"),t.classList.add("hidden"),o.classList.remove("hidden"),n.classList.add("hidden"))}))});document.addEventListener("DOMContentLoaded",()=>{const e=document.getElementById("theme-toggle"),t=document.getElementById("theme-toggle-light-icon"),o=document.getElementById("theme-toggle-dark-icon");if(!e||!t||!o)return;function n(){i()==="dark"?(t.classList.add("hidden"),o.classList.remove("hidden")):(t.classList.remove("hidden"),o.classList.add("hidden"))}n(),e.addEventListener("click",()=>{m(),n()}),new MutationObserver(()=>{n()}).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]})}); diff --git a/dist/_astro/hoisted.Gc4qN2dj.js b/dist/_astro/hoisted.Gc4qN2dj.js new file mode 100644 index 00000000..8c3dfe2d --- /dev/null +++ b/dist/_astro/hoisted.Gc4qN2dj.js @@ -0,0 +1 @@ +import"./hoisted.BsMfRRdS.js";document.addEventListener("DOMContentLoaded",()=>{const t=document.getElementById("contact-form"),n=document.getElementById("submit-btn"),s=document.getElementById("submit-text"),d=document.getElementById("submit-spinner"),e=document.getElementById("form-message");t&&t.addEventListener("submit",async r=>{r.preventDefault(),n.disabled=!0,s.textContent="Sending...",d.classList.remove("hidden");try{await new Promise(o=>setTimeout(o,2e3)),e.className="mt-4 p-4 rounded-lg bg-green-50 border border-green-200 text-green-800",e.textContent="Message sent successfully! We'll get back to you soon.",e.classList.remove("hidden"),t.reset()}catch{e.className="mt-4 p-4 rounded-lg bg-red-50 border border-red-200 text-red-800",e.textContent="Failed to send message. Please try again.",e.classList.remove("hidden")}finally{n.disabled=!1,s.textContent="Send Message",d.classList.add("hidden")}})}); diff --git a/dist/_noop-middleware.mjs b/dist/_noop-middleware.mjs new file mode 100644 index 00000000..84424b01 --- /dev/null +++ b/dist/_noop-middleware.mjs @@ -0,0 +1,3 @@ +const onRequest = (_, next) => next(); + +export { onRequest }; diff --git a/dist/_redirects b/dist/_redirects new file mode 100644 index 00000000..3a6b9ba9 --- /dev/null +++ b/dist/_redirects @@ -0,0 +1,7 @@ +# Redirect language routes to root +/en/* / 301 +/nl/* / 301 +/it/* / 301 +/en / 301 +/nl / 301 +/it / 301 \ No newline at end of file diff --git a/dist/about/index.html b/dist/about/index.html new file mode 100644 index 00000000..0a62a82a --- /dev/null +++ b/dist/about/index.html @@ -0,0 +1,30 @@ + About | Tiber365 - Professional IT Services | Tiber365 +

About Us

Your trusted IT partner

+Our Story +

We specialize in providing comprehensive IT services to freelancers and small businesses.

Our mission is to make technology work for you, not against you.

🚀

Modern IT Solutions

+Empowering businesses with cutting-edge technology and reliable support. +

5+
Years of Experience
100+
Happy Clients
200+
Projects Completed

+Our Values +

+The principles that guide everything we do +

🔒

Security First

+We prioritize the security and privacy of your business data above all else. +

🤝

Reliability

+Count on us for consistent, dependable service that keeps your business running. +

💡

Innovation

+We stay ahead of technology trends to bring you the best solutions. +

📞

Support

+Dedicated support when you need it, with real people who understand your business. +

Efficiency

+Streamlined processes and quick resolutions to minimize downtime. +

🎯

Focus

+Laser-focused on small business needs and cost-effective solutions. +

+Our Expertise +

+Specialized knowledge in the technologies that matter to your business +

🏢
Microsoft 365
☁️
Cloud Services
🌐
Networking
🔒
Security
🚀
Web Hosting
⚙️
Automation

Ready to Get Started?

Let's discuss how we can help transform your IT infrastructure.

+📧 info@tiber365.it | 📞 +39 123 456 7890 +

\ No newline at end of file diff --git a/dist/chunks/CTA_CIVpts3M.mjs b/dist/chunks/CTA_CIVpts3M.mjs new file mode 100644 index 00000000..299b8c4b --- /dev/null +++ b/dist/chunks/CTA_CIVpts3M.mjs @@ -0,0 +1,14 @@ +import { c as createComponent, m as maybeRenderHead, a as renderTemplate } from './astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +import 'clsx'; +import { t } from './Footer_BFBz0LQo.mjs'; + +const $$CTA = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`${maybeRenderHead()}

${t("cta.title")}

${t("cta.subtitle")}

+📧 info@tiber365.it | 📞 +39 123 456 7890 +

`; +}, "/Users/richard/Website Development/tiber365/src/components/CTA.astro", void 0); + +export { $$CTA as $ }; diff --git a/dist/chunks/Footer_BFBz0LQo.mjs b/dist/chunks/Footer_BFBz0LQo.mjs new file mode 100644 index 00000000..6037df60 --- /dev/null +++ b/dist/chunks/Footer_BFBz0LQo.mjs @@ -0,0 +1,806 @@ +import { d as createAstro, c as createComponent, r as renderComponent, F as Fragment, a as renderTemplate, u as unescapeHTML, m as maybeRenderHead, s as spreadAttributes, b as addAttribute, e as renderHead, f as renderSlot } from './astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +import i18next, { t as t$1 } from 'i18next'; +/* empty css */ +import 'clsx'; +import '@proload/core'; +import '@proload/plugin-tsm'; +import { P, T } from './page-ssr_ChKiSmuh.mjs'; +import localeEmoji from 'locale-emoji'; +import ISO6991 from 'iso-639-1'; + +const SITE = { + title: "Tiber365", + description: "Professional IT services for freelancers and small businesses. Microsoft 365 support, networking solutions, web hosting, and custom IT projects.", + author: "Tiber365", + ogImage: "/images/og-image.jpg"}; +const LANGUAGES = { + en: "English", + nl: "Nederlands", + it: "Italiano" +}; +const NAVIGATION = [ + { + label: "nav.home", + href: "/", + type: "internal" + }, + { + label: "nav.services", + href: "/services", + type: "internal" + }, + { + label: "nav.about", + href: "/about", + type: "internal" + }, + { + label: "nav.blog", + href: "https://blog.tiber365.it", + type: "external" + }, + { + label: "nav.support", + href: "https://support.tiber365.it", + type: "external" + } +]; +const SERVICES = [ + { + id: "microsoft365", + icon: "🏢", + titleKey: "services.microsoft365.title", + descriptionKey: "services.microsoft365.description", + features: [ + "services.microsoft365.features.migrations", + "services.microsoft365.features.apps", + "services.microsoft365.features.teams", + "services.microsoft365.features.sharepoint", + "services.microsoft365.features.admin" + ] + }, + { + id: "management", + icon: "⚙️", + titleKey: "services.management.title", + descriptionKey: "services.management.description", + features: [ + "services.management.features.automation", + "services.management.features.monitoring", + "services.management.features.maintenance", + "services.management.features.optimization" + ] + }, + { + id: "networking", + icon: "🌐", + titleKey: "services.networking.title", + descriptionKey: "services.networking.description", + features: [ + "services.networking.features.ubiquiti", + "services.networking.features.infrastructure", + "services.networking.features.security", + "services.networking.features.monitoring" + ] + }, + { + id: "hosting", + icon: "🚀", + titleKey: "services.hosting.title", + descriptionKey: "services.hosting.description", + features: [ + "services.hosting.features.webhosting", + "services.hosting.features.domains", + "services.hosting.features.ssl", + "services.hosting.features.backup" + ] + }, + { + id: "custom", + icon: "🛠️", + titleKey: "services.custom.title", + descriptionKey: "services.custom.description", + features: [ + "services.custom.features.consultation", + "services.custom.features.development", + "services.custom.features.integration", + "services.custom.features.support" + ] + } +]; +const TESTIMONIALS = [ + { + id: 1, + nameKey: "testimonials.1.name", + companyKey: "testimonials.1.company", + contentKey: "testimonials.1.content", + rating: 5 + }, + { + id: 2, + nameKey: "testimonials.2.name", + companyKey: "testimonials.2.company", + contentKey: "testimonials.2.content", + rating: 5 + }, + { + id: 3, + nameKey: "testimonials.3.name", + companyKey: "testimonials.3.company", + contentKey: "testimonials.3.content", + rating: 5 + } +]; + +const interpolate = (i18nKey, referenceString, namespace = null) => { + const localizedString = t$1(i18nKey, { ns: namespace }); + if (localizedString === i18nKey) { + console.warn(`WARNING(astro-i18next): missing translation key ${i18nKey}.`); + return referenceString; + } + const tagsRegex = /<([\w\d]+)([^>]*)>/gi; + const referenceStringMatches = referenceString.match(tagsRegex); + if (!referenceStringMatches) { + console.warn( + "WARNING(astro-i18next): default slot does not include any HTML tag to interpolate! You should use the `t` function directly." + ); + return localizedString; + } + const referenceTags = []; + referenceStringMatches.forEach((tagNode) => { + const [, name, attributes] = tagsRegex.exec(tagNode); + referenceTags.push({ name, attributes }); + tagsRegex.exec(""); + }); + let interpolatedString = localizedString; + for (let index = 0; index < referenceTags.length; index++) { + const referencedTag = referenceTags[index]; + interpolatedString = interpolatedString.replaceAll( + `<${index}>`, + `<${referencedTag.name}${referencedTag.attributes}>` + ); + interpolatedString = interpolatedString.replaceAll( + ``, + `` + ); + } + return interpolatedString; +}; +const createReferenceStringFromHTML = (html) => { + const allowedTags = ["strong", "br", "em", "i", "b"]; + let forbiddenStrings = []; + if (i18next.options) { + forbiddenStrings = [ + "keySeparator", + "nsSeparator", + "pluralSeparator", + "contextSeparator" + ].map((key) => { + return { + key, + str: i18next.options[key] + }; + }).filter(function(val) { + return typeof val !== "undefined"; + }); + } + const tagsRegex = /<([\w\d]+)([^>]*)>/gi; + const referenceStringMatches = html.match(tagsRegex); + if (!referenceStringMatches) { + console.warn( + "WARNING(astro-i18next): default slot does not include any HTML tag to interpolate! You should use the `t` function directly." + ); + return html; + } + const referenceTags = []; + referenceStringMatches.forEach((tagNode) => { + const [, name, attributes] = tagsRegex.exec(tagNode); + referenceTags.push({ name, attributes }); + tagsRegex.exec(""); + }); + let sanitizedString = html.replace(/\s+/g, " ").trim(); + for (let index = 0; index < referenceTags.length; index++) { + const referencedTag = referenceTags[index]; + if (allowedTags.includes(referencedTag.name) && referencedTag.attributes.trim().length === 0) { + continue; + } + sanitizedString = sanitizedString.replaceAll( + new RegExp(`<${referencedTag.name}[^>]*?\\s*\\/>`, "gi"), + `<${index}/>` + ); + sanitizedString = sanitizedString.replaceAll( + `<${referencedTag.name}${referencedTag.attributes}>`, + `<${index}>` + ); + sanitizedString = sanitizedString.replaceAll( + ``, + `` + ); + } + for (let index = 0; index < forbiddenStrings.length; index++) { + const { key, str } = forbiddenStrings[index]; + if (sanitizedString.includes(str)) { + console.warn( + `WARNING(astro-i18next): "${str}" was found in a translation key, but it is also used as ${key}. Either explicitly set an i18nKey or change the value of ${key}.` + ); + } + } + return sanitizedString; +}; + +const $$Astro$3 = createAstro("https://tiber365.it"); +const $$Trans = createComponent(async ($$result, $$props, $$slots) => { + const Astro2 = $$result.createAstro($$Astro$3, $$props, $$slots); + Astro2.self = $$Trans; + const { i18nKey, ns } = Astro2.props; + const referenceString = await Astro2.slots.render("default"); + let key; + if (typeof i18nKey === "string") { + key = i18nKey; + } else { + key = createReferenceStringFromHTML(referenceString); + } + return renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": async ($$result2) => renderTemplate`${unescapeHTML(interpolate(key, referenceString, ns))}` })}`; +}, "/Users/richard/Website Development/tiber365/node_modules/astro-i18next/src/components/Trans.astro", void 0); + +const $$Astro$2 = createAstro("https://tiber365.it"); +const $$LanguageSelector = createComponent(($$result, $$props, $$slots) => { + const Astro2 = $$result.createAstro($$Astro$2, $$props, $$slots); + Astro2.self = $$LanguageSelector; + const supportedLanguages = i18next.languages; + const currentLanguage = i18next.language; + const { pathname } = Astro2.url; + const { showFlag = false, languageMapping, ...attributes } = Astro2.props; + return renderTemplate`${maybeRenderHead()}`; +}, "/Users/richard/Website Development/tiber365/node_modules/astro-i18next/src/components/LanguageSelector.astro", void 0); + +const $$Astro$1 = createAstro("https://tiber365.it"); +const $$HeadHrefLangs = createComponent(($$result, $$props, $$slots) => { + const Astro2 = $$result.createAstro($$Astro$1, $$props, $$slots); + Astro2.self = $$HeadHrefLangs; + const supportedLanguages = i18next.languages; + const currentUrl = Astro2.url.href; + return renderTemplate`${supportedLanguages.map((supportedLanguage) => renderTemplate``)}`; +}, "/Users/richard/Website Development/tiber365/node_modules/astro-i18next/src/components/HeadHrefLangs.astro", void 0); + +const $$Astro = createAstro("https://tiber365.it"); +const $$BaseLayout = createComponent(($$result, $$props, $$slots) => { + const Astro2 = $$result.createAstro($$Astro, $$props, $$slots); + Astro2.self = $$BaseLayout; + const { + title = SITE.title, + description = SITE.description, + image = SITE.ogImage, + keywords = "" + } = Astro2.props; + const lang = i18next.language || "en"; + let canonicalURL; + let ogImageURL; + let twitterImageURL; + try { + const siteURL = Astro2.site || new URL("http://localhost:4321"); + canonicalURL = new URL(Astro2.url.pathname, siteURL); + ogImageURL = new URL(image, siteURL); + twitterImageURL = new URL(image, siteURL); + } catch (error) { + const fallbackSite = "https://tiber365.it"; + canonicalURL = new URL(Astro2.url?.pathname || "/", fallbackSite); + ogImageURL = new URL(image, fallbackSite); + twitterImageURL = new URL(image, fallbackSite); + } + const fullTitle = title === SITE.title ? title : `${title} | ${SITE.title}`; + return renderTemplate` ${keywords && renderTemplate``}${fullTitle}${renderComponent($$result, "HeadHrefLangs", $$HeadHrefLangs, {})}${renderHead()} ${renderSlot($$result, $$slots["default"])} `; +}, "/Users/richard/Website Development/tiber365/src/layouts/BaseLayout.astro", void 0); + +const translations = { + en: { + "meta": { + "title": "Tiber365 - Professional IT Services", + "description": "Professional IT services for freelancers and small businesses. Microsoft 365 support, networking solutions, web hosting, and custom IT projects.", + "keywords": "IT services, Microsoft 365, networking, web hosting, automation, small business IT" + }, + "nav": { + "home": "Home", + "services": "Services", + "about": "About", + "contact": "Contact", + "blog": "Blog", + "support": "Support", + "language": "Language", + "theme": { + "toggle": "Toggle theme" + } + }, + "hero": { + "title": "Professional IT Services for Your Business", + "subtitle": "Empowering freelancers and small businesses with reliable Microsoft 365 support, networking solutions, web hosting, and custom IT projects.", + "trusted": "Trusted by businesses across Italy", + "cta": { + "primary": "Get Started Today", + "secondary": "View Our Services" + } + }, + "services": { + "title": "Our Services", + "subtitle": "Comprehensive IT solutions tailored for small businesses and freelancers", + "viewAll": "View All Services", + "microsoft365": { + "title": "Microsoft 365 Support", + "description": "Complete Microsoft 365 setup, migration, and ongoing support for your business.", + "features": { + "migrations": "Email & data migrations", + "apps": "Office apps configuration", + "teams": "Microsoft Teams setup", + "sharepoint": "SharePoint collaboration", + "admin": "Admin portal management" + } + }, + "management": { + "title": "Full M365 Management", + "description": "Let us handle your entire Microsoft 365 environment with proactive management.", + "features": { + "automation": "Automated workflows", + "monitoring": "24/7 system monitoring", + "maintenance": "Regular maintenance", + "optimization": "Performance optimization" + } + }, + "networking": { + "title": "Networking & Infrastructure", + "description": "Professional networking solutions using Ubiquiti and UniFi equipment.", + "features": { + "ubiquiti": "Ubiquiti/UniFi specialists", + "infrastructure": "Network infrastructure", + "security": "Network security", + "monitoring": "Traffic monitoring" + } + }, + "hosting": { + "title": "Web Hosting & Management", + "description": "Reliable web hosting with full management and maintenance included.", + "features": { + "webhosting": "Reliable web hosting", + "domains": "Domain management", + "ssl": "SSL certificates", + "backup": "Automated backups" + } + }, + "custom": { + "title": "Custom IT Projects", + "description": "Tailored IT solutions designed specifically for your business needs.", + "features": { + "consultation": "IT consultation", + "development": "Custom development", + "integration": "System integration", + "support": "Ongoing support" + } + } + }, + "testimonials": { + "title": "What Our Clients Say", + "subtitle": "Don't just take our word for it - see what our satisfied clients have to say", + "1": { + "name": "Marco Rossi", + "company": "Freelance Designer", + "content": "Tiber365 transformed our Microsoft 365 setup. Professional service and excellent support!" + }, + "2": { + "name": "Sofia Bianchi", + "company": "Small Business Owner", + "content": "Their networking solutions are top-notch. Our office runs smoothly thanks to their expertise." + }, + "3": { + "name": "Giuseppe Verdi", + "company": "Consultant", + "content": "Reliable web hosting and great customer service. Highly recommend Tiber365!" + } + }, + "about": { + "title": "About Us", + "subtitle": "Your trusted IT partner", + "description": "We specialize in providing comprehensive IT services to freelancers and small businesses.", + "mission": "Our mission is to make technology work for you, not against you.", + "experience": "Years of Experience", + "clients": "Happy Clients", + "projects": "Projects Completed" + }, + "contact": { + "title": "Get In Touch", + "subtitle": "Ready to transform your IT infrastructure? Let's talk!", + "info": { + "email": "info@tiber365.it", + "phone": "+39 123 456 7890", + "address": "Rome, Italy" + }, + "form": { + "name": "Name", + "email": "Email", + "company": "Company", + "service": "Service", + "message": "Message", + "send": "Send Message" + } + }, + "cta": { + "title": "Ready to Get Started?", + "subtitle": "Let's discuss how we can help transform your IT infrastructure.", + "button": "Contact Us Today" + }, + "footer": { + "description": "Professional IT services for freelancers and small businesses.", + "copyright": "© 2024 Tiber365. All rights reserved.", + "links": { + "contact": "Contact", + "privacy": "Privacy Policy", + "terms": "Terms of Service" + } + }, + "404": { + "title": "Page Not Found", + "description": "Sorry, we couldn't find the page you're looking for.", + "button": "Go back home" + } + }, + nl: { + "meta": { + "title": "Tiber365 - Professionele IT Services", + "description": "Professionele IT-diensten voor freelancers en kleine bedrijven. Microsoft 365 ondersteuning, netwerkoplossingen, webhosting en aangepaste IT-projecten.", + "keywords": "IT diensten, Microsoft 365, netwerken, webhosting, automatisering, kleine bedrijven IT" + }, + "nav": { + "home": "Home", + "services": "Diensten", + "about": "Over Ons", + "contact": "Contact", + "blog": "Blog", + "support": "Ondersteuning", + "language": "Taal", + "theme": { + "toggle": "Thema wisselen" + } + }, + "hero": { + "title": "Professionele IT Services voor Uw Bedrijf", + "subtitle": "Ondersteuning van freelancers en kleine bedrijven met betrouwbare Microsoft 365 ondersteuning, netwerkoplossingen, webhosting en aangepaste IT-projecten.", + "trusted": "Vertrouwd door bedrijven in heel Italië", + "cta": { + "primary": "Begin Vandaag", + "secondary": "Bekijk Onze Diensten" + } + }, + "services": { + "title": "Onze Diensten", + "subtitle": "Uitgebreide IT-oplossingen op maat voor kleine bedrijven en freelancers", + "viewAll": "Alle Diensten Bekijken", + "microsoft365": { + "title": "Microsoft 365 Ondersteuning", + "description": "Complete Microsoft 365 installatie, migratie en doorlopende ondersteuning.", + "features": { + "migrations": "E-mail & data migraties", + "apps": "Office apps configuratie", + "teams": "Microsoft Teams installatie", + "sharepoint": "SharePoint samenwerking", + "admin": "Beheerportaal management" + } + }, + "management": { + "title": "Volledig M365 Beheer", + "description": "Laat ons uw volledige Microsoft 365 omgeving beheren met proactief management.", + "features": { + "automation": "Geautomatiseerde workflows", + "monitoring": "24/7 systeembewaking", + "maintenance": "Regelmatig onderhoud", + "optimization": "Prestatie optimalisatie" + } + }, + "networking": { + "title": "Netwerken & Infrastructuur", + "description": "Professionele netwerkoplossingen met Ubiquiti en UniFi apparatuur.", + "features": { + "ubiquiti": "Ubiquiti/UniFi specialisten", + "infrastructure": "Netwerkinfrastructuur", + "security": "Netwerkbeveiliging", + "monitoring": "Verkeer monitoring" + } + }, + "hosting": { + "title": "Webhosting & Beheer", + "description": "Betrouwbare webhosting met volledig beheer en onderhoud inbegrepen.", + "features": { + "webhosting": "Betrouwbare webhosting", + "domains": "Domeinbeheer", + "ssl": "SSL certificaten", + "backup": "Geautomatiseerde backups" + } + }, + "custom": { + "title": "Aangepaste IT Projecten", + "description": "Op maat gemaakte IT-oplossingen speciaal ontworpen voor uw bedrijfsbehoeften.", + "features": { + "consultation": "IT consultatie", + "development": "Aangepaste ontwikkeling", + "integration": "Systeemintegratie", + "support": "Doorlopende ondersteuning" + } + } + }, + "testimonials": { + "title": "Wat Onze Klanten Zeggen", + "subtitle": "Geloof ons niet zomaar - zie wat onze tevreden klanten te zeggen hebben", + "1": { + "name": "Marco Rossi", + "company": "Freelance Designer", + "content": "Tiber365 heeft onze Microsoft 365 installatie getransformeerd. Professionele service en uitstekende ondersteuning!" + }, + "2": { + "name": "Sofia Bianchi", + "company": "Kleine Bedrijfseigenaar", + "content": "Hun netwerkoplossingen zijn eersteklas. Ons kantoor draait soepel dankzij hun expertise." + }, + "3": { + "name": "Giuseppe Verdi", + "company": "Consultant", + "content": "Betrouwbare webhosting en geweldige klantenservice. Beveel Tiber365 ten zeerste aan!" + } + }, + "about": { + "title": "Over Ons", + "subtitle": "Uw vertrouwde IT-partner", + "description": "Wij zijn gespecialiseerd in het leveren van uitgebreide IT-diensten aan freelancers en kleine bedrijven.", + "mission": "Onze missie is om technologie voor u te laten werken, niet tegen u.", + "experience": "Jaren Ervaring", + "clients": "Tevreden Klanten", + "projects": "Voltooide Projecten" + }, + "contact": { + "title": "Neem Contact Op", + "subtitle": "Klaar om uw IT-infrastructuur te transformeren? Laten we praten!", + "info": { + "email": "info@tiber365.it", + "phone": "+39 123 456 7890", + "address": "Rome, Italië" + }, + "form": { + "name": "Naam", + "email": "E-mail", + "company": "Bedrijf", + "service": "Dienst", + "message": "Bericht", + "send": "Bericht Versturen" + } + }, + "cta": { + "title": "Klaar om te Beginnen?", + "subtitle": "Laten we bespreken hoe wij uw IT-infrastructuur kunnen transformeren.", + "button": "Neem Vandaag Contact Op" + }, + "footer": { + "description": "Professionele IT-diensten voor freelancers en kleine bedrijven.", + "copyright": "© 2024 Tiber365. Alle rechten voorbehouden.", + "links": { + "contact": "Contact", + "privacy": "Privacybeleid", + "terms": "Servicevoorwaarden" + } + }, + "404": { + "title": "Pagina Niet Gevonden", + "description": "Sorry, we konden de pagina die u zoekt niet vinden.", + "button": "Ga terug naar home" + } + }, + it: { + "meta": { + "title": "Tiber365 - Servizi IT Professionali", + "description": "Servizi IT professionali per freelancer e piccole imprese. Supporto Microsoft 365, soluzioni di rete, hosting web e progetti IT personalizzati.", + "keywords": "servizi IT, Microsoft 365, networking, web hosting, automazione, IT piccole imprese" + }, + "nav": { + "home": "Home", + "services": "Servizi", + "about": "Chi Siamo", + "contact": "Contatti", + "blog": "Blog", + "support": "Supporto", + "language": "Lingua", + "theme": { + "toggle": "Cambia tema" + } + }, + "hero": { + "title": "Servizi IT Professionali per la Tua Azienda", + "subtitle": "Supportiamo freelancer e piccole imprese con supporto Microsoft 365 affidabile, soluzioni di rete, hosting web e progetti IT personalizzati.", + "trusted": "Fidato dalle aziende in tutta Italia", + "cta": { + "primary": "Inizia Oggi", + "secondary": "Vedi i Nostri Servizi" + } + }, + "services": { + "title": "I Nostri Servizi", + "subtitle": "Soluzioni IT complete su misura per piccole imprese e freelancer", + "viewAll": "Vedi Tutti i Servizi", + "microsoft365": { + "title": "Supporto Microsoft 365", + "description": "Installazione completa, migrazione e supporto continuo per Microsoft 365.", + "features": { + "migrations": "Migrazioni email e dati", + "apps": "Configurazione app Office", + "teams": "Configurazione Microsoft Teams", + "sharepoint": "Collaborazione SharePoint", + "admin": "Gestione portale amministratore" + } + }, + "management": { + "title": "Gestione Completa M365", + "description": "Lascia che ci occupiamo dell'intero ambiente Microsoft 365 con gestione proattiva.", + "features": { + "automation": "Flussi di lavoro automatizzati", + "monitoring": "Monitoraggio sistema 24/7", + "maintenance": "Manutenzione regolare", + "optimization": "Ottimizzazione prestazioni" + } + }, + "networking": { + "title": "Networking e Infrastruttura", + "description": "Soluzioni di rete professionali con apparecchiature Ubiquiti e UniFi.", + "features": { + "ubiquiti": "Specialisti Ubiquiti/UniFi", + "infrastructure": "Infrastruttura di rete", + "security": "Sicurezza di rete", + "monitoring": "Monitoraggio traffico" + } + }, + "hosting": { + "title": "Web Hosting e Gestione", + "description": "Hosting web affidabile con gestione completa e manutenzione inclusa.", + "features": { + "webhosting": "Hosting web affidabile", + "domains": "Gestione domini", + "ssl": "Certificati SSL", + "backup": "Backup automatizzati" + } + }, + "custom": { + "title": "Progetti IT Personalizzati", + "description": "Soluzioni IT su misura progettate specificamente per le tue esigenze aziendali.", + "features": { + "consultation": "Consulenza IT", + "development": "Sviluppo personalizzato", + "integration": "Integrazione sistemi", + "support": "Supporto continuo" + } + } + }, + "testimonials": { + "title": "Cosa Dicono i Nostri Clienti", + "subtitle": "Non prendere solo la nostra parola - vedi cosa hanno da dire i nostri clienti soddisfatti", + "1": { + "name": "Marco Rossi", + "company": "Designer Freelance", + "content": "Tiber365 ha trasformato la nostra configurazione Microsoft 365. Servizio professionale e supporto eccellente!" + }, + "2": { + "name": "Sofia Bianchi", + "company": "Proprietaria Piccola Impresa", + "content": "Le loro soluzioni di rete sono di prim'ordine. Il nostro ufficio funziona perfettamente grazie alla loro competenza." + }, + "3": { + "name": "Giuseppe Verdi", + "company": "Consulente", + "content": "Hosting web affidabile e ottimo servizio clienti. Raccomando vivamente Tiber365!" + } + }, + "about": { + "title": "Chi Siamo", + "subtitle": "Il tuo partner IT di fiducia", + "description": "Siamo specializzati nel fornire servizi IT completi a freelancer e piccole imprese.", + "mission": "La nostra missione è far sì che la tecnologia lavori per te, non contro di te.", + "experience": "Anni di Esperienza", + "clients": "Clienti Soddisfatti", + "projects": "Progetti Completati" + }, + "contact": { + "title": "Contattaci", + "subtitle": "Pronto a trasformare la tua infrastruttura IT? Parliamone!", + "info": { + "email": "info@tiber365.it", + "phone": "+39 123 456 7890", + "address": "Roma, Italia" + }, + "form": { + "name": "Nome", + "email": "Email", + "company": "Azienda", + "service": "Servizio", + "message": "Messaggio", + "send": "Invia Messaggio" + } + }, + "cta": { + "title": "Pronto per Iniziare?", + "subtitle": "Discutiamo di come possiamo aiutare a trasformare la tua infrastruttura IT.", + "button": "Contattaci Oggi" + }, + "footer": { + "description": "Servizi IT professionali per freelancer e piccole imprese.", + "copyright": "© 2024 Tiber365. Tutti i diritti riservati.", + "links": { + "contact": "Contatti", + "privacy": "Privacy Policy", + "terms": "Termini di Servizio" + } + }, + "404": { + "title": "Pagina Non Trovata", + "description": "Spiacenti, non siamo riusciti a trovare la pagina che stai cercando.", + "button": "Torna alla home" + } + } +}; +const SUPPORTED_LOCALES = ["en", "nl", "it"]; +function getCurrentLocaleFromStorage() { + if (typeof window !== "undefined") { + try { + const savedLocale = localStorage.getItem("tiber365-locale"); + if (savedLocale && SUPPORTED_LOCALES.includes(savedLocale)) { + return savedLocale; + } + } catch (error) { + console.warn("Error accessing localStorage:", error); + } + } + return "en"; +} +function t(key, locale) { + try { + const targetLocale = locale || getCurrentLocaleFromStorage(); + const keys = key.split("."); + let value = translations[targetLocale]; + for (const k of keys) { + value = value?.[k]; + if (value === void 0) { + console.warn(`Translation missing for key "${key}" in locale "${targetLocale}"`); + break; + } + } + if (!value && targetLocale !== "en") { + console.warn(`Falling back to English for key "${key}"`); + value = t(key, "en"); + } + return value || key; + } catch (error) { + console.error(`Translation error for key "${key}":`, error); + return key; + } +} + +const $$ThemeToggle = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`${maybeRenderHead()} `; +}, "/Users/richard/Website Development/tiber365/src/components/ThemeToggle.astro", void 0); + +const $$LanguageSwitcher = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`${maybeRenderHead()}
${renderComponent($$result, "LanguageSelector", $$LanguageSelector, { "class": "inline-flex items-center justify-center p-2 rounded-md text-muted-foreground hover:text-foreground hover:bg-accent focus:outline-none focus:ring-2 focus:ring-primary", "showFlag": true, "languageMapping": LANGUAGES, "data-astro-cid-a2mxz4y6": true })}
`; +}, "/Users/richard/Website Development/tiber365/src/components/LanguageSwitcher.astro", void 0); + +const $$Header = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`${maybeRenderHead()}
`; +}, "/Users/richard/Website Development/tiber365/src/components/Header.astro", void 0); + +const $$Footer = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`${maybeRenderHead()}
Tiber365 Logo
Tiber365

${t("footer.description")}

${t("contact.info.email")}
${t("contact.info.phone")}
${t("contact.info.address")}

Quick Links

Resources

${t("footer.copyright")}

`; +}, "/Users/richard/Website Development/tiber365/src/components/Footer.astro", void 0); + +export { $$BaseLayout as $, SERVICES as S, TESTIMONIALS as T, $$Header as a, $$Footer as b, $$Trans as c, t }; diff --git a/dist/chunks/astro/server_DJC9Xx9K.mjs b/dist/chunks/astro/server_DJC9Xx9K.mjs new file mode 100644 index 00000000..88ba4e9b --- /dev/null +++ b/dist/chunks/astro/server_DJC9Xx9K.mjs @@ -0,0 +1,1609 @@ +import 'kleur/colors'; +import { clsx } from 'clsx'; +import { escape } from 'html-escaper'; +import { encodeHexUpperCase, encodeBase64, decodeBase64 } from '@oslojs/encoding'; +import 'cssesc'; + +const MissingMediaQueryDirective = { + name: "MissingMediaQueryDirective", + title: "Missing value for `client:media` directive.", + message: 'Media query not provided for `client:media` directive. A media query similar to `client:media="(max-width: 600px)"` must be provided' +}; +const NoMatchingRenderer = { + name: "NoMatchingRenderer", + title: "No matching renderer found.", + message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \`${componentName}\`. + +${validRenderersCount > 0 ? `There ${plural ? "are" : "is"} ${validRenderersCount} renderer${plural ? "s" : ""} configured in your \`astro.config.mjs\` file, +but ${plural ? "none were" : "it was not"} able to server-side render \`${componentName}\`.` : `No valid renderer was found ${componentExtension ? `for the \`.${componentExtension}\` file extension.` : `for this file extension.`}`}`, + hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration? + +See https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.` +}; +const NoClientEntrypoint = { + name: "NoClientEntrypoint", + title: "No client entrypoint specified in renderer.", + message: (componentName, clientDirective, rendererName) => `\`${componentName}\` component has a \`client:${clientDirective}\` directive, but no client entrypoint was provided by \`${rendererName}\`.`, + hint: "See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer." +}; +const NoClientOnlyHint = { + name: "NoClientOnlyHint", + title: "Missing hint on client:only directive.", + message: (componentName) => `Unable to render \`${componentName}\`. When using the \`client:only\` hydration strategy, Astro needs a hint to use the correct renderer.`, + hint: (probableRenderers) => `Did you mean to pass \`client:only="${probableRenderers}"\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only` +}; +const NoMatchingImport = { + name: "NoMatchingImport", + title: "No import found for component.", + message: (componentName) => `Could not render \`${componentName}\`. No matching import has been found for \`${componentName}\`.`, + hint: "Please make sure the component is properly imported." +}; +const InvalidComponentArgs = { + name: "InvalidComponentArgs", + title: "Invalid component arguments.", + message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : ""} component.`, + hint: "Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`." +}; +const AstroGlobUsedOutside = { + name: "AstroGlobUsedOutside", + title: "Astro.glob() used outside of an Astro file.", + message: (globStr) => `\`Astro.glob(${globStr})\` can only be used in \`.astro\` files. \`import.meta.glob(${globStr})\` can be used instead to achieve a similar result.`, + hint: "See Vite's documentation on `import.meta.glob` for more information: https://vite.dev/guide/features.html#glob-import" +}; +const AstroGlobNoMatch = { + name: "AstroGlobNoMatch", + title: "Astro.glob() did not match any files.", + message: (globStr) => `\`Astro.glob(${globStr})\` did not return any matching files.`, + hint: "Check the pattern for typos." +}; + +function normalizeLF(code) { + return code.replace(/\r\n|\r(?!\n)|\n/g, "\n"); +} + +function codeFrame(src, loc) { + if (!loc || loc.line === void 0 || loc.column === void 0) { + return ""; + } + const lines = normalizeLF(src).split("\n").map((ln) => ln.replace(/\t/g, " ")); + const visibleLines = []; + for (let n = -2; n <= 2; n++) { + if (lines[loc.line + n]) visibleLines.push(loc.line + n); + } + let gutterWidth = 0; + for (const lineNo of visibleLines) { + let w = `> ${lineNo}`; + if (w.length > gutterWidth) gutterWidth = w.length; + } + let output = ""; + for (const lineNo of visibleLines) { + const isFocusedLine = lineNo === loc.line - 1; + output += isFocusedLine ? "> " : " "; + output += `${lineNo + 1} | ${lines[lineNo]} +`; + if (isFocusedLine) + output += `${Array.from({ length: gutterWidth }).join(" ")} | ${Array.from({ + length: loc.column + }).join(" ")}^ +`; + } + return output; +} + +class AstroError extends Error { + loc; + title; + hint; + frame; + type = "AstroError"; + constructor(props, options) { + const { name, title, message, stack, location, hint, frame } = props; + super(message, options); + this.title = title; + this.name = name; + if (message) this.message = message; + this.stack = stack ? stack : this.stack; + this.loc = location; + this.hint = hint; + this.frame = frame; + } + setLocation(location) { + this.loc = location; + } + setName(name) { + this.name = name; + } + setMessage(message) { + this.message = message; + } + setHint(hint) { + this.hint = hint; + } + setFrame(source, location) { + this.frame = codeFrame(source, location); + } + static is(err) { + return err.type === "AstroError"; + } +} + +function validateArgs(args) { + if (args.length !== 3) return false; + if (!args[0] || typeof args[0] !== "object") return false; + return true; +} +function baseCreateComponent(cb, moduleId, propagation) { + const name = moduleId?.split("/").pop()?.replace(".astro", "") ?? ""; + const fn = (...args) => { + if (!validateArgs(args)) { + throw new AstroError({ + ...InvalidComponentArgs, + message: InvalidComponentArgs.message(name) + }); + } + return cb(...args); + }; + Object.defineProperty(fn, "name", { value: name, writable: false }); + fn.isAstroComponentFactory = true; + fn.moduleId = moduleId; + fn.propagation = propagation; + return fn; +} +function createComponentWithOptions(opts) { + const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation); + return cb; +} +function createComponent(arg1, moduleId, propagation) { + if (typeof arg1 === "function") { + return baseCreateComponent(arg1, moduleId, propagation); + } else { + return createComponentWithOptions(arg1); + } +} + +const ASTRO_VERSION = "4.16.18"; +const NOOP_MIDDLEWARE_HEADER = "X-Astro-Noop"; + +function createAstroGlobFn() { + const globHandler = (importMetaGlobResult) => { + if (typeof importMetaGlobResult === "string") { + throw new AstroError({ + ...AstroGlobUsedOutside, + message: AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult)) + }); + } + let allEntries = [...Object.values(importMetaGlobResult)]; + if (allEntries.length === 0) { + throw new AstroError({ + ...AstroGlobNoMatch, + message: AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult)) + }); + } + return Promise.all(allEntries.map((fn) => fn())); + }; + return globHandler; +} +function createAstro(site) { + return { + // TODO: this is no longer necessary for `Astro.site` + // but it somehow allows working around caching issues in content collections for some tests + site: new URL(site) , + generator: `Astro v${ASTRO_VERSION}`, + glob: createAstroGlobFn() + }; +} + +function isPromise(value) { + return !!value && typeof value === "object" && "then" in value && typeof value.then === "function"; +} +async function* streamAsyncIterator(stream) { + const reader = stream.getReader(); + try { + while (true) { + const { done, value } = await reader.read(); + if (done) return; + yield value; + } + } finally { + reader.releaseLock(); + } +} + +const escapeHTML = escape; +class HTMLBytes extends Uint8Array { +} +Object.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, { + get() { + return "HTMLBytes"; + } +}); +class HTMLString extends String { + get [Symbol.toStringTag]() { + return "HTMLString"; + } +} +const markHTMLString = (value) => { + if (value instanceof HTMLString) { + return value; + } + if (typeof value === "string") { + return new HTMLString(value); + } + return value; +}; +function isHTMLString(value) { + return Object.prototype.toString.call(value) === "[object HTMLString]"; +} +function markHTMLBytes(bytes) { + return new HTMLBytes(bytes); +} +function hasGetReader(obj) { + return typeof obj.getReader === "function"; +} +async function* unescapeChunksAsync(iterable) { + if (hasGetReader(iterable)) { + for await (const chunk of streamAsyncIterator(iterable)) { + yield unescapeHTML(chunk); + } + } else { + for await (const chunk of iterable) { + yield unescapeHTML(chunk); + } + } +} +function* unescapeChunks(iterable) { + for (const chunk of iterable) { + yield unescapeHTML(chunk); + } +} +function unescapeHTML(str) { + if (!!str && typeof str === "object") { + if (str instanceof Uint8Array) { + return markHTMLBytes(str); + } else if (str instanceof Response && str.body) { + const body = str.body; + return unescapeChunksAsync(body); + } else if (typeof str.then === "function") { + return Promise.resolve(str).then((value) => { + return unescapeHTML(value); + }); + } else if (str[Symbol.for("astro:slot-string")]) { + return str; + } else if (Symbol.iterator in str) { + return unescapeChunks(str); + } else if (Symbol.asyncIterator in str || hasGetReader(str)) { + return unescapeChunksAsync(str); + } + } + return markHTMLString(str); +} + +const RenderInstructionSymbol = Symbol.for("astro:render"); +function createRenderInstruction(instruction) { + return Object.defineProperty(instruction, RenderInstructionSymbol, { + value: true + }); +} +function isRenderInstruction(chunk) { + return chunk && typeof chunk === "object" && chunk[RenderInstructionSymbol]; +} + +const PROP_TYPE = { + Value: 0, + JSON: 1, + // Actually means Array + RegExp: 2, + Date: 3, + Map: 4, + Set: 5, + BigInt: 6, + URL: 7, + Uint8Array: 8, + Uint16Array: 9, + Uint32Array: 10, + Infinity: 11 +}; +function serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) { + if (parents.has(value)) { + throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>! + +Cyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`); + } + parents.add(value); + const serialized = value.map((v) => { + return convertToSerializedForm(v, metadata, parents); + }); + parents.delete(value); + return serialized; +} +function serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) { + if (parents.has(value)) { + throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>! + +Cyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`); + } + parents.add(value); + const serialized = Object.fromEntries( + Object.entries(value).map(([k, v]) => { + return [k, convertToSerializedForm(v, metadata, parents)]; + }) + ); + parents.delete(value); + return serialized; +} +function convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) { + const tag = Object.prototype.toString.call(value); + switch (tag) { + case "[object Date]": { + return [PROP_TYPE.Date, value.toISOString()]; + } + case "[object RegExp]": { + return [PROP_TYPE.RegExp, value.source]; + } + case "[object Map]": { + return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)]; + } + case "[object Set]": { + return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)]; + } + case "[object BigInt]": { + return [PROP_TYPE.BigInt, value.toString()]; + } + case "[object URL]": { + return [PROP_TYPE.URL, value.toString()]; + } + case "[object Array]": { + return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)]; + } + case "[object Uint8Array]": { + return [PROP_TYPE.Uint8Array, Array.from(value)]; + } + case "[object Uint16Array]": { + return [PROP_TYPE.Uint16Array, Array.from(value)]; + } + case "[object Uint32Array]": { + return [PROP_TYPE.Uint32Array, Array.from(value)]; + } + default: { + if (value !== null && typeof value === "object") { + return [PROP_TYPE.Value, serializeObject(value, metadata, parents)]; + } + if (value === Infinity) { + return [PROP_TYPE.Infinity, 1]; + } + if (value === -Infinity) { + return [PROP_TYPE.Infinity, -1]; + } + if (value === void 0) { + return [PROP_TYPE.Value]; + } + return [PROP_TYPE.Value, value]; + } + } +} +function serializeProps(props, metadata) { + const serialized = JSON.stringify(serializeObject(props, metadata)); + return serialized; +} + +const transitionDirectivesToCopyOnIsland = Object.freeze([ + "data-astro-transition-scope", + "data-astro-transition-persist", + "data-astro-transition-persist-props" +]); +function extractDirectives(inputProps, clientDirectives) { + let extracted = { + isPage: false, + hydration: null, + props: {}, + propsWithoutTransitionAttributes: {} + }; + for (const [key, value] of Object.entries(inputProps)) { + if (key.startsWith("server:")) { + if (key === "server:root") { + extracted.isPage = true; + } + } + if (key.startsWith("client:")) { + if (!extracted.hydration) { + extracted.hydration = { + directive: "", + value: "", + componentUrl: "", + componentExport: { value: "" } + }; + } + switch (key) { + case "client:component-path": { + extracted.hydration.componentUrl = value; + break; + } + case "client:component-export": { + extracted.hydration.componentExport.value = value; + break; + } + case "client:component-hydration": { + break; + } + case "client:display-name": { + break; + } + default: { + extracted.hydration.directive = key.split(":")[1]; + extracted.hydration.value = value; + if (!clientDirectives.has(extracted.hydration.directive)) { + const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(", "); + throw new Error( + `Error: invalid hydration directive "${key}". Supported hydration methods: ${hydrationMethods}` + ); + } + if (extracted.hydration.directive === "media" && typeof extracted.hydration.value !== "string") { + throw new AstroError(MissingMediaQueryDirective); + } + break; + } + } + } else { + extracted.props[key] = value; + if (!transitionDirectivesToCopyOnIsland.includes(key)) { + extracted.propsWithoutTransitionAttributes[key] = value; + } + } + } + for (const sym of Object.getOwnPropertySymbols(inputProps)) { + extracted.props[sym] = inputProps[sym]; + extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym]; + } + return extracted; +} +async function generateHydrateScript(scriptOptions, metadata) { + const { renderer, result, astroId, props, attrs } = scriptOptions; + const { hydrate, componentUrl, componentExport } = metadata; + if (!componentExport.value) { + throw new AstroError({ + ...NoMatchingImport, + message: NoMatchingImport.message(metadata.displayName) + }); + } + const island = { + children: "", + props: { + // This is for HMR, probably can avoid it in prod + uid: astroId + } + }; + if (attrs) { + for (const [key, value] of Object.entries(attrs)) { + island.props[key] = escapeHTML(value); + } + } + island.props["component-url"] = await result.resolve(decodeURI(componentUrl)); + if (renderer.clientEntrypoint) { + island.props["component-export"] = componentExport.value; + island.props["renderer-url"] = await result.resolve(decodeURI(renderer.clientEntrypoint)); + island.props["props"] = escapeHTML(serializeProps(props, metadata)); + } + island.props["ssr"] = ""; + island.props["client"] = hydrate; + let beforeHydrationUrl = await result.resolve("astro:scripts/before-hydration.js"); + if (beforeHydrationUrl.length) { + island.props["before-hydration-url"] = beforeHydrationUrl; + } + island.props["opts"] = escapeHTML( + JSON.stringify({ + name: metadata.displayName, + value: metadata.hydrateArgs || "" + }) + ); + transitionDirectivesToCopyOnIsland.forEach((name) => { + if (typeof props[name] !== "undefined") { + island.props[name] = props[name]; + } + }); + return island; +} + +/** + * shortdash - https://github.com/bibig/node-shorthash + * + * @license + * + * (The MIT License) + * + * Copyright (c) 2013 Bibig + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY 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. + */ +const dictionary = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY"; +const binary = dictionary.length; +function bitwise(str) { + let hash = 0; + if (str.length === 0) return hash; + for (let i = 0; i < str.length; i++) { + const ch = str.charCodeAt(i); + hash = (hash << 5) - hash + ch; + hash = hash & hash; + } + return hash; +} +function shorthash(text) { + let num; + let result = ""; + let integer = bitwise(text); + const sign = integer < 0 ? "Z" : ""; + integer = Math.abs(integer); + while (integer >= binary) { + num = integer % binary; + integer = Math.floor(integer / binary); + result = dictionary[num] + result; + } + if (integer > 0) { + result = dictionary[integer] + result; + } + return sign + result; +} + +function isAstroComponentFactory(obj) { + return obj == null ? false : obj.isAstroComponentFactory === true; +} +function isAPropagatingComponent(result, factory) { + let hint = factory.propagation || "none"; + if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === "none") { + hint = result.componentMetadata.get(factory.moduleId).propagation; + } + return hint === "in-tree" || hint === "self"; +} + +const headAndContentSym = Symbol.for("astro.headAndContent"); +function isHeadAndContent(obj) { + return typeof obj === "object" && obj !== null && !!obj[headAndContentSym]; +} + +var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},p=this.querySelectorAll("template[data-astro-template]");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let u;try{u=this.hasAttribute("props")?y(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"",v=this.getAttribute("component-export");throw v&&(s+=\` (export \${v})\`),console.error(\`[hydrate] Error parsing props for component \${s}\`,this.getAttribute("props"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute("client")}),d&&this.setAttribute("client-render-time",(performance.now()-d).toString()),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(\`astro:\${c}\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[p,{default:u}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),d=this.getAttribute("component-export")||"default";if(!d.includes("."))this.Component=p[d];else{this.Component=p;for(let m of d.split("."))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\`[astro-island] Error hydrating \${this.getAttribute("component-url")}\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",f)}})();`; + +var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"",v=this.getAttribute("component-export");throw v&&(s+=\` (export \${v})\`),console.error(\`[hydrate] Error parsing props for component \${s}\`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(\`astro:\${c}\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\`[astro-island] Error hydrating \${this.getAttribute("component-url")}\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();`; + +const ISLAND_STYLES = ``; +function determineIfNeedsHydrationScript(result) { + if (result._metadata.hasHydrationScript) { + return false; + } + return result._metadata.hasHydrationScript = true; +} +function determinesIfNeedsDirectiveScript(result, directive) { + if (result._metadata.hasDirectives.has(directive)) { + return false; + } + result._metadata.hasDirectives.add(directive); + return true; +} +function getDirectiveScriptText(result, directive) { + const clientDirectives = result.clientDirectives; + const clientDirective = clientDirectives.get(directive); + if (!clientDirective) { + throw new Error(`Unknown directive: ${directive}`); + } + return clientDirective; +} +function getPrescripts(result, type, directive) { + switch (type) { + case "both": + return `${ISLAND_STYLES}`; + case "directive": + return ``; + } + return ""; +} + +const voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i; +const htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|checked|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|selected|itemscope)$/i; +const htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i; +const svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i; +const AMPERSAND_REGEX = /&/g; +const DOUBLE_QUOTE_REGEX = /"/g; +const STATIC_DIRECTIVES = /* @__PURE__ */ new Set(["set:html", "set:text"]); +const toIdent = (k) => k.trim().replace(/(?!^)\b\w|\s+|\W+/g, (match, index) => { + if (/\W/.test(match)) return ""; + return index === 0 ? match : match.toUpperCase(); +}); +const toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, "&").replace(DOUBLE_QUOTE_REGEX, """) : value; +const kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`); +const toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === "string" && v.trim() || typeof v === "number").map(([k, v]) => { + if (k[0] !== "-" && k[1] !== "-") return `${kebab(k)}:${v}`; + return `${k}:${v}`; +}).join(";"); +function defineScriptVars(vars) { + let output = ""; + for (const [key, value] of Object.entries(vars)) { + output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace( + /<\/script>/g, + "\\x3C/script>" + )}; +`; + } + return markHTMLString(output); +} +function formatList(values) { + if (values.length === 1) { + return values[0]; + } + return `${values.slice(0, -1).join(", ")} or ${values[values.length - 1]}`; +} +function addAttribute(value, key, shouldEscape = true) { + if (value == null) { + return ""; + } + if (value === false) { + if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) { + return markHTMLString(` ${key}="false"`); + } + return ""; + } + if (STATIC_DIRECTIVES.has(key)) { + console.warn(`[astro] The "${key}" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute. + +Make sure to use the static attribute syntax (\`${key}={value}\`) instead of the dynamic spread syntax (\`{...{ "${key}": value }}\`).`); + return ""; + } + if (key === "class:list") { + const listValue = toAttributeString(clsx(value), shouldEscape); + if (listValue === "") { + return ""; + } + return markHTMLString(` ${key.slice(0, -5)}="${listValue}"`); + } + if (key === "style" && !(value instanceof HTMLString)) { + if (Array.isArray(value) && value.length === 2) { + return markHTMLString( + ` ${key}="${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}"` + ); + } + if (typeof value === "object") { + return markHTMLString(` ${key}="${toAttributeString(toStyleString(value), shouldEscape)}"`); + } + } + if (key === "className") { + return markHTMLString(` class="${toAttributeString(value, shouldEscape)}"`); + } + if (typeof value === "string" && value.includes("&") && isHttpUrl(value)) { + return markHTMLString(` ${key}="${toAttributeString(value, false)}"`); + } + if (value === true && (key.startsWith("data-") || htmlBooleanAttributes.test(key))) { + return markHTMLString(` ${key}`); + } else { + return markHTMLString(` ${key}="${toAttributeString(value, shouldEscape)}"`); + } +} +function internalSpreadAttributes(values, shouldEscape = true) { + let output = ""; + for (const [key, value] of Object.entries(values)) { + output += addAttribute(value, key, shouldEscape); + } + return markHTMLString(output); +} +function renderElement(name, { props: _props, children = "" }, shouldEscape = true) { + const { lang: _, "data-astro-id": astroId, "define:vars": defineVars, ...props } = _props; + if (defineVars) { + if (name === "style") { + delete props["is:global"]; + delete props["is:scoped"]; + } + if (name === "script") { + delete props.hoist; + children = defineScriptVars(defineVars) + "\n" + children; + } + } + if ((children == null || children == "") && voidElementNames.test(name)) { + return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`; + } + return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`; +} +const noop = () => { +}; +class BufferedRenderer { + chunks = []; + renderPromise; + destination; + constructor(bufferRenderFunction) { + this.renderPromise = bufferRenderFunction(this); + Promise.resolve(this.renderPromise).catch(noop); + } + write(chunk) { + if (this.destination) { + this.destination.write(chunk); + } else { + this.chunks.push(chunk); + } + } + async renderToFinalDestination(destination) { + for (const chunk of this.chunks) { + destination.write(chunk); + } + this.destination = destination; + await this.renderPromise; + } +} +function renderToBufferDestination(bufferRenderFunction) { + const renderer = new BufferedRenderer(bufferRenderFunction); + return renderer; +} +typeof process !== "undefined" && Object.prototype.toString.call(process) === "[object process]"; +const VALID_PROTOCOLS = ["http:", "https:"]; +function isHttpUrl(url) { + try { + const parsedUrl = new URL(url); + return VALID_PROTOCOLS.includes(parsedUrl.protocol); + } catch { + return false; + } +} + +const uniqueElements = (item, index, all) => { + const props = JSON.stringify(item.props); + const children = item.children; + return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children); +}; +function renderAllHeadContent(result) { + result._metadata.hasRenderedHead = true; + const styles = Array.from(result.styles).filter(uniqueElements).map( + (style) => style.props.rel === "stylesheet" ? renderElement("link", style) : renderElement("style", style) + ); + result.styles.clear(); + const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => { + return renderElement("script", script, false); + }); + const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement("link", link, false)); + let content = styles.join("\n") + links.join("\n") + scripts.join("\n"); + if (result._metadata.extraHead.length > 0) { + for (const part of result._metadata.extraHead) { + content += part; + } + } + return markHTMLString(content); +} +function renderHead() { + return createRenderInstruction({ type: "head" }); +} +function maybeRenderHead() { + return createRenderInstruction({ type: "maybe-head" }); +} + +const renderTemplateResultSym = Symbol.for("astro.renderTemplateResult"); +class RenderTemplateResult { + [renderTemplateResultSym] = true; + htmlParts; + expressions; + error; + constructor(htmlParts, expressions) { + this.htmlParts = htmlParts; + this.error = void 0; + this.expressions = expressions.map((expression) => { + if (isPromise(expression)) { + return Promise.resolve(expression).catch((err) => { + if (!this.error) { + this.error = err; + throw err; + } + }); + } + return expression; + }); + } + async render(destination) { + const expRenders = this.expressions.map((exp) => { + return renderToBufferDestination((bufferDestination) => { + if (exp || exp === 0) { + return renderChild(bufferDestination, exp); + } + }); + }); + for (let i = 0; i < this.htmlParts.length; i++) { + const html = this.htmlParts[i]; + const expRender = expRenders[i]; + destination.write(markHTMLString(html)); + if (expRender) { + await expRender.renderToFinalDestination(destination); + } + } + } +} +function isRenderTemplateResult(obj) { + return typeof obj === "object" && obj !== null && !!obj[renderTemplateResultSym]; +} +function renderTemplate(htmlParts, ...expressions) { + return new RenderTemplateResult(htmlParts, expressions); +} + +const slotString = Symbol.for("astro:slot-string"); +class SlotString extends HTMLString { + instructions; + [slotString]; + constructor(content, instructions) { + super(content); + this.instructions = instructions; + this[slotString] = true; + } +} +function isSlotString(str) { + return !!str[slotString]; +} +function renderSlot(result, slotted, fallback) { + if (!slotted && fallback) { + return renderSlot(result, fallback); + } + return { + async render(destination) { + await renderChild(destination, typeof slotted === "function" ? slotted(result) : slotted); + } + }; +} +async function renderSlotToString(result, slotted, fallback) { + let content = ""; + let instructions = null; + const temporaryDestination = { + write(chunk) { + if (chunk instanceof SlotString) { + content += chunk; + if (chunk.instructions) { + instructions ??= []; + instructions.push(...chunk.instructions); + } + } else if (chunk instanceof Response) return; + else if (typeof chunk === "object" && "type" in chunk && typeof chunk.type === "string") { + if (instructions === null) { + instructions = []; + } + instructions.push(chunk); + } else { + content += chunkToString(result, chunk); + } + } + }; + const renderInstance = renderSlot(result, slotted, fallback); + await renderInstance.render(temporaryDestination); + return markHTMLString(new SlotString(content, instructions)); +} +async function renderSlots(result, slots = {}) { + let slotInstructions = null; + let children = {}; + if (slots) { + await Promise.all( + Object.entries(slots).map( + ([key, value]) => renderSlotToString(result, value).then((output) => { + if (output.instructions) { + if (slotInstructions === null) { + slotInstructions = []; + } + slotInstructions.push(...output.instructions); + } + children[key] = output; + }) + ) + ); + } + return { slotInstructions, children }; +} + +const Fragment = Symbol.for("astro:fragment"); +const Renderer = Symbol.for("astro:renderer"); +new TextEncoder(); +const decoder = new TextDecoder(); +function stringifyChunk(result, chunk) { + if (isRenderInstruction(chunk)) { + const instruction = chunk; + switch (instruction.type) { + case "directive": { + const { hydration } = instruction; + let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result); + let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive); + let prescriptType = needsHydrationScript ? "both" : needsDirectiveScript ? "directive" : null; + if (prescriptType) { + let prescripts = getPrescripts(result, prescriptType, hydration.directive); + return markHTMLString(prescripts); + } else { + return ""; + } + } + case "head": { + if (result._metadata.hasRenderedHead || result.partial) { + return ""; + } + return renderAllHeadContent(result); + } + case "maybe-head": { + if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) { + return ""; + } + return renderAllHeadContent(result); + } + case "renderer-hydration-script": { + const { rendererSpecificHydrationScripts } = result._metadata; + const { rendererName } = instruction; + if (!rendererSpecificHydrationScripts.has(rendererName)) { + rendererSpecificHydrationScripts.add(rendererName); + return instruction.render(); + } + return ""; + } + default: { + throw new Error(`Unknown chunk type: ${chunk.type}`); + } + } + } else if (chunk instanceof Response) { + return ""; + } else if (isSlotString(chunk)) { + let out = ""; + const c = chunk; + if (c.instructions) { + for (const instr of c.instructions) { + out += stringifyChunk(result, instr); + } + } + out += chunk.toString(); + return out; + } + return chunk.toString(); +} +function chunkToString(result, chunk) { + if (ArrayBuffer.isView(chunk)) { + return decoder.decode(chunk); + } else { + return stringifyChunk(result, chunk); + } +} +function isRenderInstance(obj) { + return !!obj && typeof obj === "object" && "render" in obj && typeof obj.render === "function"; +} + +async function renderChild(destination, child) { + if (isPromise(child)) { + child = await child; + } + if (child instanceof SlotString) { + destination.write(child); + } else if (isHTMLString(child)) { + destination.write(child); + } else if (Array.isArray(child)) { + const childRenders = child.map((c) => { + return renderToBufferDestination((bufferDestination) => { + return renderChild(bufferDestination, c); + }); + }); + for (const childRender of childRenders) { + if (!childRender) continue; + await childRender.renderToFinalDestination(destination); + } + } else if (typeof child === "function") { + await renderChild(destination, child()); + } else if (typeof child === "string") { + destination.write(markHTMLString(escapeHTML(child))); + } else if (!child && child !== 0) ; else if (isRenderInstance(child)) { + await child.render(destination); + } else if (isRenderTemplateResult(child)) { + await child.render(destination); + } else if (isAstroComponentInstance(child)) { + await child.render(destination); + } else if (ArrayBuffer.isView(child)) { + destination.write(child); + } else if (typeof child === "object" && (Symbol.asyncIterator in child || Symbol.iterator in child)) { + for await (const value of child) { + await renderChild(destination, value); + } + } else { + destination.write(child); + } +} + +const astroComponentInstanceSym = Symbol.for("astro.componentInstance"); +class AstroComponentInstance { + [astroComponentInstanceSym] = true; + result; + props; + slotValues; + factory; + returnValue; + constructor(result, props, slots, factory) { + this.result = result; + this.props = props; + this.factory = factory; + this.slotValues = {}; + for (const name in slots) { + let didRender = false; + let value = slots[name](result); + this.slotValues[name] = () => { + if (!didRender) { + didRender = true; + return value; + } + return slots[name](result); + }; + } + } + async init(result) { + if (this.returnValue !== void 0) return this.returnValue; + this.returnValue = this.factory(result, this.props, this.slotValues); + if (isPromise(this.returnValue)) { + this.returnValue.then((resolved) => { + this.returnValue = resolved; + }).catch(() => { + }); + } + return this.returnValue; + } + async render(destination) { + const returnValue = await this.init(this.result); + if (isHeadAndContent(returnValue)) { + await returnValue.content.render(destination); + } else { + await renderChild(destination, returnValue); + } + } +} +function validateComponentProps(props, displayName) { + if (props != null) { + for (const prop of Object.keys(props)) { + if (prop.startsWith("client:")) { + console.warn( + `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.` + ); + } + } + } +} +function createAstroComponentInstance(result, displayName, factory, props, slots = {}) { + validateComponentProps(props, displayName); + const instance = new AstroComponentInstance(result, props, slots, factory); + if (isAPropagatingComponent(result, factory)) { + result._metadata.propagators.add(instance); + } + return instance; +} +function isAstroComponentInstance(obj) { + return typeof obj === "object" && obj !== null && !!obj[astroComponentInstanceSym]; +} + +function componentIsHTMLElement(Component) { + return typeof HTMLElement !== "undefined" && HTMLElement.isPrototypeOf(Component); +} +async function renderHTMLElement(result, constructor, props, slots) { + const name = getHTMLElementName(constructor); + let attrHTML = ""; + for (const attr in props) { + attrHTML += ` ${attr}="${toAttributeString(await props[attr])}"`; + } + return markHTMLString( + `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}` + ); +} +function getHTMLElementName(constructor) { + const definedName = customElements.getName(constructor); + if (definedName) return definedName; + const assignedName = constructor.name.replace(/^HTML|Element$/g, "").replace(/[A-Z]/g, "-$&").toLowerCase().replace(/^-/, "html-"); + return assignedName; +} + +const ALGORITHM = "AES-GCM"; +async function decodeKey(encoded) { + const bytes = decodeBase64(encoded); + return crypto.subtle.importKey("raw", bytes, ALGORITHM, true, ["encrypt", "decrypt"]); +} +const encoder = new TextEncoder(); +new TextDecoder(); +const IV_LENGTH = 24; +async function encryptString(key, raw) { + const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2)); + const data = encoder.encode(raw); + const buffer = await crypto.subtle.encrypt( + { + name: ALGORITHM, + iv + }, + key, + data + ); + return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer)); +} + +const internalProps = /* @__PURE__ */ new Set([ + "server:component-path", + "server:component-export", + "server:component-directive", + "server:defer" +]); +function containsServerDirective(props) { + return "server:component-directive" in props; +} +function safeJsonStringify(obj) { + return JSON.stringify(obj).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029").replace(//g, "\\u003e").replace(/\//g, "\\u002f"); +} +function renderServerIsland(result, _displayName, props, slots) { + return { + async render(destination) { + const componentPath = props["server:component-path"]; + const componentExport = props["server:component-export"]; + const componentId = result.serverIslandNameMap.get(componentPath); + if (!componentId) { + throw new Error(`Could not find server component name`); + } + for (const key2 of Object.keys(props)) { + if (internalProps.has(key2)) { + delete props[key2]; + } + } + destination.write(""); + const renderedSlots = {}; + for (const name in slots) { + if (name !== "fallback") { + const content = await renderSlotToString(result, slots[name]); + renderedSlots[name] = content.toString(); + } else { + await renderChild(destination, slots.fallback(result)); + } + } + const key = await result.key; + const propsEncrypted = await encryptString(key, JSON.stringify(props)); + const hostId = crypto.randomUUID(); + const slash = result.base.endsWith("/") ? "" : "/"; + const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === "always" ? "/" : ""}`; + destination.write(``); + } + }; +} + +const rendererAliases = /* @__PURE__ */ new Map([["solid", "solid-js"]]); +const clientOnlyValues = /* @__PURE__ */ new Set(["solid-js", "react", "preact", "vue", "svelte", "lit"]); +function guessRenderers(componentUrl) { + const extname = componentUrl?.split(".").pop(); + switch (extname) { + case "svelte": + return ["@astrojs/svelte"]; + case "vue": + return ["@astrojs/vue"]; + case "jsx": + case "tsx": + return ["@astrojs/react", "@astrojs/preact", "@astrojs/solid-js", "@astrojs/vue (jsx)"]; + case void 0: + default: + return [ + "@astrojs/react", + "@astrojs/preact", + "@astrojs/solid-js", + "@astrojs/vue", + "@astrojs/svelte", + "@astrojs/lit" + ]; + } +} +function isFragmentComponent(Component) { + return Component === Fragment; +} +function isHTMLComponent(Component) { + return Component && Component["astro:html"] === true; +} +const ASTRO_SLOT_EXP = /<\/?astro-slot\b[^>]*>/g; +const ASTRO_STATIC_SLOT_EXP = /<\/?astro-static-slot\b[^>]*>/g; +function removeStaticAstroSlot(html, supportsAstroStaticSlot = true) { + const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP; + return html.replace(exp, ""); +} +async function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) { + if (!Component && "client:only" in _props === false) { + throw new Error( + `Unable to render ${displayName} because it is ${Component}! +Did you forget to import the component or is it possible there is a typo?` + ); + } + const { renderers, clientDirectives } = result; + const metadata = { + astroStaticSlot: true, + displayName + }; + const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives( + _props, + clientDirectives + ); + let html = ""; + let attrs = void 0; + if (hydration) { + metadata.hydrate = hydration.directive; + metadata.hydrateArgs = hydration.value; + metadata.componentExport = hydration.componentExport; + metadata.componentUrl = hydration.componentUrl; + } + const probableRendererNames = guessRenderers(metadata.componentUrl); + const validRenderers = renderers.filter((r) => r.name !== "astro:jsx"); + const { children, slotInstructions } = await renderSlots(result, slots); + let renderer; + if (metadata.hydrate !== "only") { + let isTagged = false; + try { + isTagged = Component && Component[Renderer]; + } catch { + } + if (isTagged) { + const rendererName = Component[Renderer]; + renderer = renderers.find(({ name }) => name === rendererName); + } + if (!renderer) { + let error; + for (const r of renderers) { + try { + if (await r.ssr.check.call({ result }, Component, props, children)) { + renderer = r; + break; + } + } catch (e) { + error ??= e; + } + } + if (!renderer && error) { + throw error; + } + } + if (!renderer && typeof HTMLElement === "function" && componentIsHTMLElement(Component)) { + const output = await renderHTMLElement( + result, + Component, + _props, + slots + ); + return { + render(destination) { + destination.write(output); + } + }; + } + } else { + if (metadata.hydrateArgs) { + const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs; + if (clientOnlyValues.has(rendererName)) { + renderer = renderers.find( + ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName + ); + } + } + if (!renderer && validRenderers.length === 1) { + renderer = validRenderers[0]; + } + if (!renderer) { + const extname = metadata.componentUrl?.split(".").pop(); + renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname); + } + } + let componentServerRenderEndTime; + if (!renderer) { + if (metadata.hydrate === "only") { + const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs; + if (clientOnlyValues.has(rendererName)) { + const plural = validRenderers.length > 1; + throw new AstroError({ + ...NoMatchingRenderer, + message: NoMatchingRenderer.message( + metadata.displayName, + metadata?.componentUrl?.split(".").pop(), + plural, + validRenderers.length + ), + hint: NoMatchingRenderer.hint( + formatList(probableRendererNames.map((r) => "`" + r + "`")) + ) + }); + } else { + throw new AstroError({ + ...NoClientOnlyHint, + message: NoClientOnlyHint.message(metadata.displayName), + hint: NoClientOnlyHint.hint( + probableRendererNames.map((r) => r.replace("@astrojs/", "")).join("|") + ) + }); + } + } else if (typeof Component !== "string") { + const matchingRenderers = validRenderers.filter( + (r) => probableRendererNames.includes(r.name) + ); + const plural = validRenderers.length > 1; + if (matchingRenderers.length === 0) { + throw new AstroError({ + ...NoMatchingRenderer, + message: NoMatchingRenderer.message( + metadata.displayName, + metadata?.componentUrl?.split(".").pop(), + plural, + validRenderers.length + ), + hint: NoMatchingRenderer.hint( + formatList(probableRendererNames.map((r) => "`" + r + "`")) + ) + }); + } else if (matchingRenderers.length === 1) { + renderer = matchingRenderers[0]; + ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call( + { result }, + Component, + propsWithoutTransitionAttributes, + children, + metadata + )); + } else { + throw new Error(`Unable to render ${metadata.displayName}! + +This component likely uses ${formatList(probableRendererNames)}, +but Astro encountered an error during server-side rendering. + +Please ensure that ${metadata.displayName}: +1. Does not unconditionally access browser-specific globals like \`window\` or \`document\`. + If this is unavoidable, use the \`client:only\` hydration directive. +2. Does not conditionally return \`null\` or \`undefined\` when rendered on the server. + +If you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`); + } + } + } else { + if (metadata.hydrate === "only") { + const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs; + if (!clientOnlyValues.has(rendererName)) { + console.warn( + `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.` + ); + } + html = await renderSlotToString(result, slots?.fallback); + } else { + const componentRenderStartTime = performance.now(); + ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call( + { result }, + Component, + propsWithoutTransitionAttributes, + children, + metadata + )); + if (process.env.NODE_ENV === "development") + componentServerRenderEndTime = performance.now() - componentRenderStartTime; + } + } + if (renderer && !renderer.clientEntrypoint && renderer.name !== "@astrojs/lit" && metadata.hydrate) { + throw new AstroError({ + ...NoClientEntrypoint, + message: NoClientEntrypoint.message( + displayName, + metadata.hydrate, + renderer.name + ) + }); + } + if (!html && typeof Component === "string") { + const Tag = sanitizeElementName(Component); + const childSlots = Object.values(children).join(""); + const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes( + props + )}${markHTMLString( + childSlots === "" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}` + )}`; + html = ""; + const destination = { + write(chunk) { + if (chunk instanceof Response) return; + html += chunkToString(result, chunk); + } + }; + await renderTemplateResult.render(destination); + } + if (!hydration) { + return { + render(destination) { + if (slotInstructions) { + for (const instruction of slotInstructions) { + destination.write(instruction); + } + } + if (isPage || renderer?.name === "astro:jsx") { + destination.write(html); + } else if (html && html.length > 0) { + destination.write( + markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot)) + ); + } + } + }; + } + const astroId = shorthash( + ` +${html} +${serializeProps( + props, + metadata + )}` + ); + const island = await generateHydrateScript( + { renderer, result, astroId, props, attrs }, + metadata + ); + if (componentServerRenderEndTime && process.env.NODE_ENV === "development") + island.props["server-render-time"] = componentServerRenderEndTime; + let unrenderedSlots = []; + if (html) { + if (Object.keys(children).length > 0) { + for (const key of Object.keys(children)) { + let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? "astro-slot" : "astro-static-slot" : "astro-slot"; + let expectedHTML = key === "default" ? `<${tagName}>` : `<${tagName} name="${key}">`; + if (!html.includes(expectedHTML)) { + unrenderedSlots.push(key); + } + } + } + } else { + unrenderedSlots = Object.keys(children); + } + const template = unrenderedSlots.length > 0 ? unrenderedSlots.map( + (key) => `` + ).join("") : ""; + island.children = `${html ?? ""}${template}`; + if (island.children) { + island.props["await-children"] = ""; + island.children += ``; + } + return { + render(destination) { + if (slotInstructions) { + for (const instruction of slotInstructions) { + destination.write(instruction); + } + } + destination.write(createRenderInstruction({ type: "directive", hydration })); + if (hydration.directive !== "only" && renderer?.ssr.renderHydrationScript) { + destination.write( + createRenderInstruction({ + type: "renderer-hydration-script", + rendererName: renderer.name, + render: renderer.ssr.renderHydrationScript + }) + ); + } + const renderedElement = renderElement("astro-island", island, false); + destination.write(markHTMLString(renderedElement)); + } + }; +} +function sanitizeElementName(tag) { + const unsafe = /[&<>'"\s]+/; + if (!unsafe.test(tag)) return tag; + return tag.trim().split(unsafe)[0].trim(); +} +async function renderFragmentComponent(result, slots = {}) { + const children = await renderSlotToString(result, slots?.default); + return { + render(destination) { + if (children == null) return; + destination.write(children); + } + }; +} +async function renderHTMLComponent(result, Component, _props, slots = {}) { + const { slotInstructions, children } = await renderSlots(result, slots); + const html = Component({ slots: children }); + const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join("") : ""; + return { + render(destination) { + destination.write(markHTMLString(hydrationHtml + html)); + } + }; +} +function renderAstroComponent(result, displayName, Component, props, slots = {}) { + if (containsServerDirective(props)) { + return renderServerIsland(result, displayName, props, slots); + } + const instance = createAstroComponentInstance(result, displayName, Component, props, slots); + return { + async render(destination) { + await instance.render(destination); + } + }; +} +async function renderComponent(result, displayName, Component, props, slots = {}) { + if (isPromise(Component)) { + Component = await Component.catch(handleCancellation); + } + if (isFragmentComponent(Component)) { + return await renderFragmentComponent(result, slots).catch(handleCancellation); + } + props = normalizeProps(props); + if (isHTMLComponent(Component)) { + return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation); + } + if (isAstroComponentFactory(Component)) { + return renderAstroComponent(result, displayName, Component, props, slots); + } + return await renderFrameworkComponent(result, displayName, Component, props, slots).catch( + handleCancellation + ); + function handleCancellation(e) { + if (result.cancelled) + return { + render() { + } + }; + throw e; + } +} +function normalizeProps(props) { + if (props["class:list"] !== void 0) { + const value = props["class:list"]; + delete props["class:list"]; + props["class"] = clsx(props["class"], value); + if (props["class"] === "") { + delete props["class"]; + } + } + return props; +} + +"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_".split("").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []); +"-0123456789_".split("").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []); + +function spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) { + let output = ""; + if (scopedClassName) { + if (typeof values.class !== "undefined") { + values.class += ` ${scopedClassName}`; + } else if (typeof values["class:list"] !== "undefined") { + values["class:list"] = [values["class:list"], scopedClassName]; + } else { + values.class = scopedClassName; + } + } + for (const [key, value] of Object.entries(values)) { + output += addAttribute(value, key, true); + } + return markHTMLString(output); +} + +export { Fragment as F, NOOP_MIDDLEWARE_HEADER as N, renderTemplate as a, addAttribute as b, createComponent as c, createAstro as d, renderHead as e, renderSlot as f, decodeKey as g, maybeRenderHead as m, renderComponent as r, spreadAttributes as s, unescapeHTML as u }; diff --git a/dist/chunks/astro_CLp8lNUU.mjs b/dist/chunks/astro_CLp8lNUU.mjs new file mode 100644 index 00000000..0fa15bdb --- /dev/null +++ b/dist/chunks/astro_CLp8lNUU.mjs @@ -0,0 +1,3 @@ +import 'kleur/colors'; +import './astro/server_DJC9Xx9K.mjs'; +import 'clsx'; diff --git a/dist/chunks/page-ssr_ChKiSmuh.mjs b/dist/chunks/page-ssr_ChKiSmuh.mjs new file mode 100644 index 00000000..03f7d9e7 --- /dev/null +++ b/dist/chunks/page-ssr_ChKiSmuh.mjs @@ -0,0 +1,64 @@ +/* empty css */ +import i18next from 'i18next'; +import fsBackend from 'i18next-fs-backend'; +import module2 from 'module'; +import path2 from 'path'; +import * as url2 from 'url'; +import '@proload/core'; +import '@proload/plugin-tsm'; + +module2.createRequire(import.meta.url); +const __filename = url2.fileURLToPath(import.meta.url); +path2.dirname(__filename); +var g = { config: { defaultLocale: "cimode", locales: [], namespaces: "translation", defaultNamespace: "translation", load: ["server"], routes: {}, flatRoutes: {}, showDefaultLocale: false, trailingSlash: "ignore", resourcesBasePath: "/locales" } }, A = (e) => { + let r = {}; + for (let n in e) n === "routes" && (r = y(e[n])), g.config[n] = e[n]; + g.config.flatRoutes = r; +}, y = (e, r = [], n = [], s = null) => { + let o = s || {}; + for (let t in e) if (typeof e[t] == "object" && e[t] !== null) y(e[t], [...r, t], [...n, Object.prototype.hasOwnProperty.call(e[t], "index") ? e[t].index : t], o); + else { + let l = "/" + r.join("/"), i = "/" + n.join("/"); + t === "index" ? (o[l] = i, l += "/" + t, i += "/" + t, o[l] = i) : (l += "/" + t, i += "/" + e[t], o[l] = i); + } + return o; +}; +var m = (e, r) => { + if (e === "/") return e; + switch (r) { + case "always": + return e.endsWith("/") ? e : e + "/"; + case "never": + return e.replace(/\/$/, ""); + default: + return e; + } +}, P = (e = "/", r = null, n = "/") => { + r || (r = i18next.language); + let s = e.split("/").filter((f) => f !== ""), o = n.split("/").filter((f) => f !== ""); + JSON.stringify(s).startsWith(JSON.stringify(o).replace(/]+$/, "")) && s.splice(0, o.length), e = s.length === 0 ? "" : s.join("/"), n = o.length === 0 ? "/" : "/" + o.join("/") + "/"; + let { flatRoutes: t, showDefaultLocale: l, defaultLocale: i, locales: a, trailingSlash: c } = g.config; + if (!a.includes(r)) return console.warn(`WARNING(astro-i18next): "${r}" locale is not supported, add it to the locales in your astro config.`), m(`${n}${e}`, c); + if (s.length === 0) return m(l ? `${n}${r}` : r === i ? n : `${n}${r}`, c); + if (r === i) { + let f = Object.keys(t).find((d) => t[d] === "/" + e); + typeof f < "u" && (s = f.split("/").filter((d) => d !== "")); + } + for (let f of a) if (s[0] === f) { + s.shift(); + break; + } + (l || r !== i) && (s = [r, ...s]); + let u = n + s.join("/"); + return Object.prototype.hasOwnProperty.call(t, u.replace(/\/$/, "")) ? m(t[u.replace(/\/$/, "")], c) : m(u, c); +}, T = (e, r = null, n = "/") => { + let [s, , o, ...t] = e.split("/"); + return s + "//" + o + P(t.join("/"), r, n); +}; +function fe(e) { + A(e); +} + +i18next.use(fsBackend).init({"supportedLngs": ["cimode",],"fallbackLng": ["cimode",],"ns": "translation","defaultNS": "translation","initImmediate": false,"backend": {"loadPath": "/Users/richard/Website%20Development/tiber365/public/locales/{{lng}}/{{ns}}.json",},});fe({"defaultLocale": "cimode","locales": ["cimode",],"namespaces": "translation","defaultNamespace": "translation","load": ["server",],"routes": {},"flatRoutes": {},"showDefaultLocale": false,"trailingSlash": "ignore","resourcesBasePath": "/locales",}); + +export { P, T }; diff --git a/dist/contact/index.html b/dist/contact/index.html new file mode 100644 index 00000000..f47f2ec8 --- /dev/null +++ b/dist/contact/index.html @@ -0,0 +1,7 @@ + Contact | Tiber365 - Professional IT Services | Tiber365 +

Get In Touch

Ready to transform your IT infrastructure? Let's talk!

+Get in Touch +

Location
Rome, Italy
\ No newline at end of file diff --git a/dist/favicon.svg b/dist/favicon.svg new file mode 100644 index 00000000..bbfc11c5 --- /dev/null +++ b/dist/favicon.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/dist/images/TIBER365.png b/dist/images/TIBER365.png new file mode 100644 index 00000000..b33a459f Binary files /dev/null and b/dist/images/TIBER365.png differ diff --git a/dist/locales/en/translation.json b/dist/locales/en/translation.json new file mode 100644 index 00000000..2113c2ac --- /dev/null +++ b/dist/locales/en/translation.json @@ -0,0 +1,148 @@ +{ + "meta": { + "title": "Tiber365 - Professional IT Services", + "description": "Professional IT services for freelancers and small businesses. Microsoft 365 support, networking solutions, web hosting, and custom IT projects.", + "keywords": "IT services, Microsoft 365, networking, web hosting, automation, small business IT" + }, + "nav": { + "home": "Home", + "services": "Services", + "about": "About", + "contact": "Contact", + "blog": "Blog", + "support": "Support", + "language": "Language", + "theme": { + "toggle": "Toggle theme" + } + }, + "hero": { + "title": "Professional IT Services for Your Business", + "subtitle": "Empowering freelancers and small businesses with reliable Microsoft 365 support, networking solutions, web hosting, and custom IT projects.", + "trusted": "Trusted by businesses across Italy", + "cta": { + "primary": "Get Started Today", + "secondary": "View Our Services" + } + }, + "services": { + "title": "Our Services", + "subtitle": "Comprehensive IT solutions tailored for small businesses and freelancers", + "viewAll": "View All Services", + "microsoft365": { + "title": "Microsoft 365 Support", + "description": "Complete Microsoft 365 setup, migration, and ongoing support for your business.", + "features": { + "migrations": "Email & data migrations", + "apps": "Office apps configuration", + "teams": "Microsoft Teams setup", + "sharepoint": "SharePoint collaboration", + "admin": "Admin portal management" + } + }, + "management": { + "title": "Full M365 Management", + "description": "Let us handle your entire Microsoft 365 environment with proactive management.", + "features": { + "automation": "Automated workflows", + "monitoring": "24/7 system monitoring", + "maintenance": "Regular maintenance", + "optimization": "Performance optimization" + } + }, + "networking": { + "title": "Networking & Infrastructure", + "description": "Professional networking solutions using Ubiquiti and UniFi equipment.", + "features": { + "ubiquiti": "Ubiquiti/UniFi specialists", + "infrastructure": "Network infrastructure", + "security": "Network security", + "monitoring": "Traffic monitoring" + } + }, + "hosting": { + "title": "Web Hosting & Management", + "description": "Reliable web hosting with full management and maintenance included.", + "features": { + "webhosting": "Reliable web hosting", + "domains": "Domain management", + "ssl": "SSL certificates", + "backup": "Automated backups" + } + }, + "custom": { + "title": "Custom IT Projects", + "description": "Tailored IT solutions designed specifically for your business needs.", + "features": { + "consultation": "IT consultation", + "development": "Custom development", + "integration": "System integration", + "support": "Ongoing support" + } + } + }, + "testimonials": { + "title": "What Our Clients Say", + "subtitle": "Don't just take our word for it - see what our satisfied clients have to say", + "1": { + "name": "Marco Rossi", + "company": "Freelance Designer", + "content": "Tiber365 transformed our Microsoft 365 setup. Professional service and excellent support!" + }, + "2": { + "name": "Sofia Bianchi", + "company": "Small Business Owner", + "content": "Their networking solutions are top-notch. Our office runs smoothly thanks to their expertise." + }, + "3": { + "name": "Giuseppe Verdi", + "company": "Consultant", + "content": "Reliable web hosting and great customer service. Highly recommend Tiber365!" + } + }, + "about": { + "title": "About Us", + "subtitle": "Your trusted IT partner", + "description": "We specialize in providing comprehensive IT services to freelancers and small businesses.", + "mission": "Our mission is to make technology work for you, not against you.", + "experience": "Years of Experience", + "clients": "Happy Clients", + "projects": "Projects Completed" + }, + "contact": { + "title": "Get In Touch", + "subtitle": "Ready to transform your IT infrastructure? Let's talk!", + "info": { + "email": "info@tiber365.it", + "phone": "+39 123 456 7890", + "address": "Rome, Italy" + }, + "form": { + "name": "Name", + "email": "Email", + "company": "Company", + "service": "Service", + "message": "Message", + "send": "Send Message" + } + }, + "cta": { + "title": "Ready to Get Started?", + "subtitle": "Let's discuss how we can help transform your IT infrastructure.", + "button": "Contact Us Today" + }, + "footer": { + "description": "Professional IT services for freelancers and small businesses.", + "copyright": "© 2024 Tiber365. All rights reserved.", + "links": { + "contact": "Contact", + "privacy": "Privacy Policy", + "terms": "Terms of Service" + } + }, + "404": { + "title": "Page Not Found", + "description": "Sorry, we couldn't find the page you're looking for.", + "button": "Go back home" + } +} \ No newline at end of file diff --git a/dist/locales/it/translation.json b/dist/locales/it/translation.json new file mode 100644 index 00000000..565be2a0 --- /dev/null +++ b/dist/locales/it/translation.json @@ -0,0 +1,148 @@ +{ + "meta": { + "title": "Tiber365 - Servizi IT Professionali", + "description": "Servizi IT professionali per freelancer e piccole imprese. Supporto Microsoft 365, soluzioni di rete, hosting web e progetti IT personalizzati.", + "keywords": "servizi IT, Microsoft 365, networking, web hosting, automazione, IT piccole imprese" + }, + "nav": { + "home": "Home", + "services": "Servizi", + "about": "Chi Siamo", + "contact": "Contatti", + "blog": "Blog", + "support": "Supporto", + "language": "Lingua", + "theme": { + "toggle": "Cambia tema" + } + }, + "hero": { + "title": "Servizi IT Professionali per la Tua Azienda", + "subtitle": "Supportiamo freelancer e piccole imprese con supporto Microsoft 365 affidabile, soluzioni di rete, hosting web e progetti IT personalizzati.", + "trusted": "Fidato dalle aziende in tutta Italia", + "cta": { + "primary": "Inizia Oggi", + "secondary": "Vedi i Nostri Servizi" + } + }, + "services": { + "title": "I Nostri Servizi", + "subtitle": "Soluzioni IT complete su misura per piccole imprese e freelancer", + "viewAll": "Vedi Tutti i Servizi", + "microsoft365": { + "title": "Supporto Microsoft 365", + "description": "Installazione completa, migrazione e supporto continuo per Microsoft 365.", + "features": { + "migrations": "Migrazioni email e dati", + "apps": "Configurazione app Office", + "teams": "Configurazione Microsoft Teams", + "sharepoint": "Collaborazione SharePoint", + "admin": "Gestione portale amministratore" + } + }, + "management": { + "title": "Gestione Completa M365", + "description": "Lascia che ci occupiamo dell'intero ambiente Microsoft 365 con gestione proattiva.", + "features": { + "automation": "Flussi di lavoro automatizzati", + "monitoring": "Monitoraggio sistema 24/7", + "maintenance": "Manutenzione regolare", + "optimization": "Ottimizzazione prestazioni" + } + }, + "networking": { + "title": "Networking e Infrastruttura", + "description": "Soluzioni di rete professionali con apparecchiature Ubiquiti e UniFi.", + "features": { + "ubiquiti": "Specialisti Ubiquiti/UniFi", + "infrastructure": "Infrastruttura di rete", + "security": "Sicurezza di rete", + "monitoring": "Monitoraggio traffico" + } + }, + "hosting": { + "title": "Web Hosting e Gestione", + "description": "Hosting web affidabile con gestione completa e manutenzione inclusa.", + "features": { + "webhosting": "Hosting web affidabile", + "domains": "Gestione domini", + "ssl": "Certificati SSL", + "backup": "Backup automatizzati" + } + }, + "custom": { + "title": "Progetti IT Personalizzati", + "description": "Soluzioni IT su misura progettate specificamente per le tue esigenze aziendali.", + "features": { + "consultation": "Consulenza IT", + "development": "Sviluppo personalizzato", + "integration": "Integrazione sistemi", + "support": "Supporto continuo" + } + } + }, + "testimonials": { + "title": "Cosa Dicono i Nostri Clienti", + "subtitle": "Non prendere solo la nostra parola - vedi cosa hanno da dire i nostri clienti soddisfatti", + "1": { + "name": "Marco Rossi", + "company": "Designer Freelance", + "content": "Tiber365 ha trasformato la nostra configurazione Microsoft 365. Servizio professionale e supporto eccellente!" + }, + "2": { + "name": "Sofia Bianchi", + "company": "Proprietaria Piccola Impresa", + "content": "Le loro soluzioni di rete sono di prim'ordine. Il nostro ufficio funziona perfettamente grazie alla loro competenza." + }, + "3": { + "name": "Giuseppe Verdi", + "company": "Consulente", + "content": "Hosting web affidabile e ottimo servizio clienti. Raccomando vivamente Tiber365!" + } + }, + "about": { + "title": "Chi Siamo", + "subtitle": "Il tuo partner IT di fiducia", + "description": "Siamo specializzati nel fornire servizi IT completi a freelancer e piccole imprese.", + "mission": "La nostra missione è far sì che la tecnologia lavori per te, non contro di te.", + "experience": "Anni di Esperienza", + "clients": "Clienti Soddisfatti", + "projects": "Progetti Completati" + }, + "contact": { + "title": "Contattaci", + "subtitle": "Pronto a trasformare la tua infrastruttura IT? Parliamone!", + "info": { + "email": "info@tiber365.it", + "phone": "+39 123 456 7890", + "address": "Roma, Italia" + }, + "form": { + "name": "Nome", + "email": "Email", + "company": "Azienda", + "service": "Servizio", + "message": "Messaggio", + "send": "Invia Messaggio" + } + }, + "cta": { + "title": "Pronto per Iniziare?", + "subtitle": "Discutiamo di come possiamo aiutare a trasformare la tua infrastruttura IT.", + "button": "Contattaci Oggi" + }, + "footer": { + "description": "Servizi IT professionali per freelancer e piccole imprese.", + "copyright": "© 2024 Tiber365. Tutti i diritti riservati.", + "links": { + "contact": "Contatti", + "privacy": "Privacy Policy", + "terms": "Termini di Servizio" + } + }, + "404": { + "title": "Pagina Non Trovata", + "description": "Spiacenti, non siamo riusciti a trovare la pagina che stai cercando.", + "button": "Torna alla home" + } +} \ No newline at end of file diff --git a/dist/locales/nl/translation.json b/dist/locales/nl/translation.json new file mode 100644 index 00000000..e33227cf --- /dev/null +++ b/dist/locales/nl/translation.json @@ -0,0 +1,148 @@ +{ + "meta": { + "title": "Tiber365 - Professionele IT Services", + "description": "Professionele IT-diensten voor freelancers en kleine bedrijven. Microsoft 365 ondersteuning, netwerkoplossingen, webhosting en aangepaste IT-projecten.", + "keywords": "IT diensten, Microsoft 365, netwerken, webhosting, automatisering, kleine bedrijven IT" + }, + "nav": { + "home": "Home", + "services": "Diensten", + "about": "Over Ons", + "contact": "Contact", + "blog": "Blog", + "support": "Ondersteuning", + "language": "Taal", + "theme": { + "toggle": "Thema wisselen" + } + }, + "hero": { + "title": "Professionele IT Services voor Uw Bedrijf", + "subtitle": "Ondersteuning van freelancers en kleine bedrijven met betrouwbare Microsoft 365 ondersteuning, netwerkoplossingen, webhosting en aangepaste IT-projecten.", + "trusted": "Vertrouwd door bedrijven in heel Italië", + "cta": { + "primary": "Begin Vandaag", + "secondary": "Bekijk Onze Diensten" + } + }, + "services": { + "title": "Onze Diensten", + "subtitle": "Uitgebreide IT-oplossingen op maat voor kleine bedrijven en freelancers", + "viewAll": "Alle Diensten Bekijken", + "microsoft365": { + "title": "Microsoft 365 Ondersteuning", + "description": "Complete Microsoft 365 installatie, migratie en doorlopende ondersteuning.", + "features": { + "migrations": "E-mail & data migraties", + "apps": "Office apps configuratie", + "teams": "Microsoft Teams installatie", + "sharepoint": "SharePoint samenwerking", + "admin": "Beheerportaal management" + } + }, + "management": { + "title": "Volledig M365 Beheer", + "description": "Laat ons uw volledige Microsoft 365 omgeving beheren met proactief management.", + "features": { + "automation": "Geautomatiseerde workflows", + "monitoring": "24/7 systeembewaking", + "maintenance": "Regelmatig onderhoud", + "optimization": "Prestatie optimalisatie" + } + }, + "networking": { + "title": "Netwerken & Infrastructuur", + "description": "Professionele netwerkoplossingen met Ubiquiti en UniFi apparatuur.", + "features": { + "ubiquiti": "Ubiquiti/UniFi specialisten", + "infrastructure": "Netwerkinfrastructuur", + "security": "Netwerkbeveiliging", + "monitoring": "Verkeer monitoring" + } + }, + "hosting": { + "title": "Webhosting & Beheer", + "description": "Betrouwbare webhosting met volledig beheer en onderhoud inbegrepen.", + "features": { + "webhosting": "Betrouwbare webhosting", + "domains": "Domeinbeheer", + "ssl": "SSL certificaten", + "backup": "Geautomatiseerde backups" + } + }, + "custom": { + "title": "Aangepaste IT Projecten", + "description": "Op maat gemaakte IT-oplossingen speciaal ontworpen voor uw bedrijfsbehoeften.", + "features": { + "consultation": "IT consultatie", + "development": "Aangepaste ontwikkeling", + "integration": "Systeemintegratie", + "support": "Doorlopende ondersteuning" + } + } + }, + "testimonials": { + "title": "Wat Onze Klanten Zeggen", + "subtitle": "Geloof ons niet zomaar - zie wat onze tevreden klanten te zeggen hebben", + "1": { + "name": "Marco Rossi", + "company": "Freelance Designer", + "content": "Tiber365 heeft onze Microsoft 365 installatie getransformeerd. Professionele service en uitstekende ondersteuning!" + }, + "2": { + "name": "Sofia Bianchi", + "company": "Kleine Bedrijfseigenaar", + "content": "Hun netwerkoplossingen zijn eersteklas. Ons kantoor draait soepel dankzij hun expertise." + }, + "3": { + "name": "Giuseppe Verdi", + "company": "Consultant", + "content": "Betrouwbare webhosting en geweldige klantenservice. Beveel Tiber365 ten zeerste aan!" + } + }, + "about": { + "title": "Over Ons", + "subtitle": "Uw vertrouwde IT-partner", + "description": "Wij zijn gespecialiseerd in het leveren van uitgebreide IT-diensten aan freelancers en kleine bedrijven.", + "mission": "Onze missie is om technologie voor u te laten werken, niet tegen u.", + "experience": "Jaren Ervaring", + "clients": "Tevreden Klanten", + "projects": "Voltooide Projecten" + }, + "contact": { + "title": "Neem Contact Op", + "subtitle": "Klaar om uw IT-infrastructuur te transformeren? Laten we praten!", + "info": { + "email": "info@tiber365.it", + "phone": "+39 123 456 7890", + "address": "Rome, Italië" + }, + "form": { + "name": "Naam", + "email": "E-mail", + "company": "Bedrijf", + "service": "Dienst", + "message": "Bericht", + "send": "Bericht Versturen" + } + }, + "cta": { + "title": "Klaar om te Beginnen?", + "subtitle": "Laten we bespreken hoe wij uw IT-infrastructuur kunnen transformeren.", + "button": "Neem Vandaag Contact Op" + }, + "footer": { + "description": "Professionele IT-diensten voor freelancers en kleine bedrijven.", + "copyright": "© 2024 Tiber365. Alle rechten voorbehouden.", + "links": { + "contact": "Contact", + "privacy": "Privacybeleid", + "terms": "Servicevoorwaarden" + } + }, + "404": { + "title": "Pagina Niet Gevonden", + "description": "Sorry, we konden de pagina die u zoekt niet vinden.", + "button": "Ga terug naar home" + } +} \ No newline at end of file diff --git a/dist/manifest.json b/dist/manifest.json new file mode 100644 index 00000000..d1bf247a --- /dev/null +++ b/dist/manifest.json @@ -0,0 +1,30 @@ +{ + "name": "Tiber365 - Professional IT Services", + "short_name": "Tiber365", + "description": "Professional IT services for freelancers and small businesses. Microsoft 365 support, networking solutions, web hosting, and custom IT projects.", + "start_url": "/", + "display": "standalone", + "background_color": "#ffffff", + "theme_color": "#3b82f6", + "icons": [ + { + "src": "/favicon.svg", + "sizes": "any", + "type": "image/svg+xml" + }, + { + "src": "/favicon.png", + "sizes": "32x32", + "type": "image/png" + }, + { + "src": "/apple-touch-icon.png", + "sizes": "180x180", + "type": "image/png" + } + ], + "categories": ["business", "productivity", "utilities"], + "lang": "en", + "dir": "ltr", + "orientation": "portrait-primary" +} \ No newline at end of file diff --git a/dist/manifest_DZy5EIn6.mjs b/dist/manifest_DZy5EIn6.mjs new file mode 100644 index 00000000..30c43bd6 --- /dev/null +++ b/dist/manifest_DZy5EIn6.mjs @@ -0,0 +1,130 @@ +import '@astrojs/internal-helpers/path'; +import 'cookie'; +import 'kleur/colors'; +import 'es-module-lexer'; +import { N as NOOP_MIDDLEWARE_HEADER, g as decodeKey } from './chunks/astro/server_DJC9Xx9K.mjs'; +import 'clsx'; +import 'html-escaper'; + +const NOOP_MIDDLEWARE_FN = async (_ctx, next) => { + const response = await next(); + response.headers.set(NOOP_MIDDLEWARE_HEADER, "true"); + return response; +}; + +const codeToStatusMap = { + // Implemented from tRPC error code table + // https://trpc.io/docs/server/error-handling#error-codes + BAD_REQUEST: 400, + UNAUTHORIZED: 401, + FORBIDDEN: 403, + NOT_FOUND: 404, + TIMEOUT: 405, + CONFLICT: 409, + PRECONDITION_FAILED: 412, + PAYLOAD_TOO_LARGE: 413, + UNSUPPORTED_MEDIA_TYPE: 415, + UNPROCESSABLE_CONTENT: 422, + TOO_MANY_REQUESTS: 429, + CLIENT_CLOSED_REQUEST: 499, + INTERNAL_SERVER_ERROR: 500 +}; +Object.entries(codeToStatusMap).reduce( + // reverse the key-value pairs + (acc, [key, value]) => ({ ...acc, [value]: key }), + {} +); + +function sanitizeParams(params) { + return Object.fromEntries( + Object.entries(params).map(([key, value]) => { + if (typeof value === "string") { + return [key, value.normalize().replace(/#/g, "%23").replace(/\?/g, "%3F")]; + } + return [key, value]; + }) + ); +} +function getParameter(part, params) { + if (part.spread) { + return params[part.content.slice(3)] || ""; + } + if (part.dynamic) { + if (!params[part.content]) { + throw new TypeError(`Missing parameter: ${part.content}`); + } + return params[part.content]; + } + return part.content.normalize().replace(/\?/g, "%3F").replace(/#/g, "%23").replace(/%5B/g, "[").replace(/%5D/g, "]"); +} +function getSegment(segment, params) { + const segmentPath = segment.map((part) => getParameter(part, params)).join(""); + return segmentPath ? "/" + segmentPath : ""; +} +function getRouteGenerator(segments, addTrailingSlash) { + return (params) => { + const sanitizedParams = sanitizeParams(params); + let trailing = ""; + if (addTrailingSlash === "always" && segments.length) { + trailing = "/"; + } + const path = segments.map((segment) => getSegment(segment, sanitizedParams)).join("") + trailing; + return path || "/"; + }; +} + +function deserializeRouteData(rawRouteData) { + return { + route: rawRouteData.route, + type: rawRouteData.type, + pattern: new RegExp(rawRouteData.pattern), + params: rawRouteData.params, + component: rawRouteData.component, + generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash), + pathname: rawRouteData.pathname || void 0, + segments: rawRouteData.segments, + prerender: rawRouteData.prerender, + redirect: rawRouteData.redirect, + redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0, + fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => { + return deserializeRouteData(fallback); + }), + isIndex: rawRouteData.isIndex + }; +} + +function deserializeManifest(serializedManifest) { + const routes = []; + for (const serializedRoute of serializedManifest.routes) { + routes.push({ + ...serializedRoute, + routeData: deserializeRouteData(serializedRoute.routeData) + }); + const route = serializedRoute; + route.routeData = deserializeRouteData(serializedRoute.routeData); + } + const assets = new Set(serializedManifest.assets); + const componentMetadata = new Map(serializedManifest.componentMetadata); + const inlinedScripts = new Map(serializedManifest.inlinedScripts); + const clientDirectives = new Map(serializedManifest.clientDirectives); + const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap); + const key = decodeKey(serializedManifest.key); + return { + // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts) + middleware() { + return { onRequest: NOOP_MIDDLEWARE_FN }; + }, + ...serializedManifest, + assets, + componentMetadata, + inlinedScripts, + clientDirectives, + routes, + serverIslandNameMap, + key + }; +} + +const manifest = deserializeManifest({"hrefRoot":"file:///Users/richard/Website%20Development/tiber365/","adapterName":"","routes":[{"file":"file:///Users/richard/Website%20Development/tiber365/dist/404.html","links":[],"scripts":[],"styles":[],"routeData":{"route":"/404","isIndex":false,"type":"page","pattern":"^\\/404\\/?$","segments":[[{"content":"404","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/404.astro","pathname":"/404","prerender":true,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"file:///Users/richard/Website%20Development/tiber365/dist/about/index.html","links":[],"scripts":[],"styles":[],"routeData":{"route":"/about","isIndex":false,"type":"page","pattern":"^\\/about\\/?$","segments":[[{"content":"about","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/about.astro","pathname":"/about","prerender":true,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"file:///Users/richard/Website%20Development/tiber365/dist/contact/index.html","links":[],"scripts":[],"styles":[],"routeData":{"route":"/contact","isIndex":false,"type":"page","pattern":"^\\/contact\\/?$","segments":[[{"content":"contact","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/contact.astro","pathname":"/contact","prerender":true,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"file:///Users/richard/Website%20Development/tiber365/dist/it/about/index.html","links":[],"scripts":[],"styles":[],"routeData":{"route":"/it/about","isIndex":false,"type":"page","pattern":"^\\/it\\/about\\/?$","segments":[[{"content":"it","dynamic":false,"spread":false}],[{"content":"about","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/it/about.astro","pathname":"/it/about","prerender":true,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"file:///Users/richard/Website%20Development/tiber365/dist/it/index.html","links":[],"scripts":[],"styles":[],"routeData":{"route":"/it","isIndex":true,"type":"page","pattern":"^\\/it\\/?$","segments":[[{"content":"it","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/it/index.astro","pathname":"/it","prerender":true,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"file:///Users/richard/Website%20Development/tiber365/dist/nl/about/index.html","links":[],"scripts":[],"styles":[],"routeData":{"route":"/nl/about","isIndex":false,"type":"page","pattern":"^\\/nl\\/about\\/?$","segments":[[{"content":"nl","dynamic":false,"spread":false}],[{"content":"about","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/nl/about.astro","pathname":"/nl/about","prerender":true,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"file:///Users/richard/Website%20Development/tiber365/dist/nl/index.html","links":[],"scripts":[],"styles":[],"routeData":{"route":"/nl","isIndex":true,"type":"page","pattern":"^\\/nl\\/?$","segments":[[{"content":"nl","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/nl/index.astro","pathname":"/nl","prerender":true,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"file:///Users/richard/Website%20Development/tiber365/dist/privacy/index.html","links":[],"scripts":[],"styles":[],"routeData":{"route":"/privacy","isIndex":false,"type":"page","pattern":"^\\/privacy\\/?$","segments":[[{"content":"privacy","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/privacy.astro","pathname":"/privacy","prerender":true,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"file:///Users/richard/Website%20Development/tiber365/dist/services/index.html","links":[],"scripts":[],"styles":[],"routeData":{"route":"/services","isIndex":false,"type":"page","pattern":"^\\/services\\/?$","segments":[[{"content":"services","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/services.astro","pathname":"/services","prerender":true,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"file:///Users/richard/Website%20Development/tiber365/dist/terms/index.html","links":[],"scripts":[],"styles":[],"routeData":{"route":"/terms","isIndex":false,"type":"page","pattern":"^\\/terms\\/?$","segments":[[{"content":"terms","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/terms.astro","pathname":"/terms","prerender":true,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"file:///Users/richard/Website%20Development/tiber365/dist/index.html","links":[],"scripts":[],"styles":[],"routeData":{"route":"/","isIndex":true,"type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","prerender":true,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}}],"site":"https://tiber365.it","base":"/","trailingSlash":"ignore","compressHTML":true,"componentMetadata":[["/Users/richard/Website Development/tiber365/src/pages/404.astro",{"propagation":"none","containsHead":true}],["/Users/richard/Website Development/tiber365/src/pages/about.astro",{"propagation":"none","containsHead":true}],["/Users/richard/Website Development/tiber365/src/pages/contact.astro",{"propagation":"none","containsHead":true}],["/Users/richard/Website Development/tiber365/src/pages/index.astro",{"propagation":"none","containsHead":true}],["/Users/richard/Website Development/tiber365/src/pages/privacy.astro",{"propagation":"none","containsHead":true}],["/Users/richard/Website Development/tiber365/src/pages/services.astro",{"propagation":"none","containsHead":true}],["/Users/richard/Website Development/tiber365/src/pages/terms.astro",{"propagation":"none","containsHead":true}]],"renderers":[],"clientDirectives":[["idle","(()=>{var l=(o,t)=>{let i=async()=>{await(await o())()},e=typeof t.value==\"object\"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};\"requestIdleCallback\"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event(\"astro:idle\"));})();"],["load","(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event(\"astro:load\"));})();"],["media","(()=>{var s=(i,t)=>{let a=async()=>{await(await i())()};if(t.value){let e=matchMedia(t.value);e.matches?a():e.addEventListener(\"change\",a,{once:!0})}};(self.Astro||(self.Astro={})).media=s;window.dispatchEvent(new Event(\"astro:media\"));})();"],["only","(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event(\"astro:only\"));})();"],["visible","(()=>{var l=(s,i,o)=>{let r=async()=>{await(await s())()},t=typeof i.value==\"object\"?i.value:void 0,c={rootMargin:t==null?void 0:t.rootMargin},n=new IntersectionObserver(e=>{for(let a of e)if(a.isIntersecting){n.disconnect(),r();break}},c);for(let e of o.children)n.observe(e)};(self.Astro||(self.Astro={})).visible=l;window.dispatchEvent(new Event(\"astro:visible\"));})();"]],"entryModules":{"\u0000noop-middleware":"_noop-middleware.mjs","\u0000@astro-page:src/pages/404@_@astro":"pages/404.astro.mjs","\u0000@astro-page:src/pages/about@_@astro":"pages/about.astro.mjs","\u0000@astro-page:src/pages/contact@_@astro":"pages/contact.astro.mjs","\u0000@astro-page:src/pages/it/about@_@astro":"pages/it/about.astro.mjs","\u0000@astro-page:src/pages/it/index@_@astro":"pages/it.astro.mjs","\u0000@astro-page:src/pages/nl/about@_@astro":"pages/nl/about.astro.mjs","\u0000@astro-page:src/pages/nl/index@_@astro":"pages/nl.astro.mjs","\u0000@astro-page:src/pages/privacy@_@astro":"pages/privacy.astro.mjs","\u0000@astro-page:src/pages/services@_@astro":"pages/services.astro.mjs","\u0000@astro-page:src/pages/terms@_@astro":"pages/terms.astro.mjs","\u0000@astro-page:src/pages/index@_@astro":"pages/index.astro.mjs","\u0000@astro-renderers":"renderers.mjs","\u0000@astrojs-manifest":"manifest_DZy5EIn6.mjs","/astro/hoisted.js?q=1":"_astro/hoisted.Gc4qN2dj.js","/astro/hoisted.js?q=0":"_astro/hoisted.BsMfRRdS.js","astro:scripts/before-hydration.js":""},"inlinedScripts":[],"assets":["/file:///Users/richard/Website%20Development/tiber365/dist/404.html","/file:///Users/richard/Website%20Development/tiber365/dist/about/index.html","/file:///Users/richard/Website%20Development/tiber365/dist/contact/index.html","/file:///Users/richard/Website%20Development/tiber365/dist/it/about/index.html","/file:///Users/richard/Website%20Development/tiber365/dist/it/index.html","/file:///Users/richard/Website%20Development/tiber365/dist/nl/about/index.html","/file:///Users/richard/Website%20Development/tiber365/dist/nl/index.html","/file:///Users/richard/Website%20Development/tiber365/dist/privacy/index.html","/file:///Users/richard/Website%20Development/tiber365/dist/services/index.html","/file:///Users/richard/Website%20Development/tiber365/dist/terms/index.html","/file:///Users/richard/Website%20Development/tiber365/dist/index.html"],"buildFormat":"directory","checkOrigin":false,"serverIslandNameMap":[],"key":"8SuZZEZON3dHsbz8KjG6uDVDzg5zFI9np3kFEC0SQCY=","experimentalEnvGetSecretEnabled":false}); + +export { manifest }; diff --git a/dist/pages/404.astro.mjs b/dist/pages/404.astro.mjs new file mode 100644 index 00000000..48d9be6e --- /dev/null +++ b/dist/pages/404.astro.mjs @@ -0,0 +1,25 @@ +import '../chunks/page-ssr_ChKiSmuh.mjs'; +import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead } from '../chunks/astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +import { t, $ as $$BaseLayout, a as $$Header, b as $$Footer } from '../chunks/Footer_BFBz0LQo.mjs'; +export { renderers } from '../renderers.mjs'; + +const $$404 = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`${renderComponent($$result, "BaseLayout", $$BaseLayout, { "title": `${t("404.title")} | ${t("meta.title")}`, "description": t("404.description") }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Header", $$Header, {})} ${maybeRenderHead()}
404

${t("404.title")}

${t("404.description")}

Or try one of these popular pages:

Services About Contact Blog
${renderComponent($$result2, "Footer", $$Footer, {})} ` })}`; +}, "/Users/richard/Website Development/tiber365/src/pages/404.astro", void 0); + +const $$file = "/Users/richard/Website Development/tiber365/src/pages/404.astro"; +const $$url = "/404"; + +const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ + __proto__: null, + default: $$404, + file: $$file, + url: $$url +}, Symbol.toStringTag, { value: 'Module' })); + +const page = () => _page; + +export { page }; diff --git a/dist/pages/about.astro.mjs b/dist/pages/about.astro.mjs new file mode 100644 index 00000000..20329b26 --- /dev/null +++ b/dist/pages/about.astro.mjs @@ -0,0 +1,50 @@ +import '../chunks/page-ssr_ChKiSmuh.mjs'; +import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead } from '../chunks/astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +import { changeLanguage } from 'i18next'; +import { t, $ as $$BaseLayout, a as $$Header, b as $$Footer } from '../chunks/Footer_BFBz0LQo.mjs'; +import { $ as $$CTA } from '../chunks/CTA_CIVpts3M.mjs'; +export { renderers } from '../renderers.mjs'; + +const $$About = createComponent(($$result, $$props, $$slots) => { + changeLanguage("en"); + return renderTemplate`${renderComponent($$result, "BaseLayout", $$BaseLayout, { "title": `${t("nav.about")} | ${t("meta.title")}`, "description": "Learn about Tiber365 - your trusted IT partner specializing in Microsoft 365, networking, and comprehensive IT solutions for small businesses." }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Header", $$Header, {})} ${maybeRenderHead()}

${t("about.title")}

${t("about.subtitle")}

+Our Story +

${t("about.description")}

${t("about.mission")}

🚀

Modern IT Solutions

+Empowering businesses with cutting-edge technology and reliable support. +

5+
${t("about.experience")}
100+
${t("about.clients")}
200+
${t("about.projects")}

+Our Values +

+The principles that guide everything we do +

🔒

Security First

+We prioritize the security and privacy of your business data above all else. +

🤝

Reliability

+Count on us for consistent, dependable service that keeps your business running. +

💡

Innovation

+We stay ahead of technology trends to bring you the best solutions. +

📞

Support

+Dedicated support when you need it, with real people who understand your business. +

Efficiency

+Streamlined processes and quick resolutions to minimize downtime. +

🎯

Focus

+Laser-focused on small business needs and cost-effective solutions. +

+Our Expertise +

+Specialized knowledge in the technologies that matter to your business +

🏢
Microsoft 365
☁️
Cloud Services
🌐
Networking
🔒
Security
🚀
Web Hosting
⚙️
Automation
${renderComponent($$result2, "CTA", $$CTA, {})}
${renderComponent($$result2, "Footer", $$Footer, {})} ` })}`; +}, "/Users/richard/Website Development/tiber365/src/pages/about.astro", void 0); + +const $$file = "/Users/richard/Website Development/tiber365/src/pages/about.astro"; +const $$url = "/about"; + +const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ + __proto__: null, + default: $$About, + file: $$file, + url: $$url +}, Symbol.toStringTag, { value: 'Module' })); + +const page = () => _page; + +export { page }; diff --git a/dist/pages/contact.astro.mjs b/dist/pages/contact.astro.mjs new file mode 100644 index 00000000..6678c932 --- /dev/null +++ b/dist/pages/contact.astro.mjs @@ -0,0 +1,33 @@ +import '../chunks/page-ssr_ChKiSmuh.mjs'; +import { c as createComponent, m as maybeRenderHead, a as renderTemplate, r as renderComponent } from '../chunks/astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +import { t, $ as $$BaseLayout, a as $$Header, b as $$Footer } from '../chunks/Footer_BFBz0LQo.mjs'; +import 'clsx'; +export { renderers } from '../renderers.mjs'; + +const $$ContactForm = createComponent(async ($$result, $$props, $$slots) => { + return renderTemplate`${maybeRenderHead()}

${t("contact.title")}

${t("contact.subtitle")}

+Get in Touch +

Location
${t("contact.info.address")}
`; +}, "/Users/richard/Website Development/tiber365/src/components/ContactForm.astro", void 0); + +const $$Contact = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`${renderComponent($$result, "BaseLayout", $$BaseLayout, { "title": `${t("nav.contact")} | ${t("meta.title")}`, "description": "Contact Tiber365 for professional IT services. Get in touch for Microsoft 365 support, networking solutions, and custom IT projects." }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Header", $$Header, {})} ${maybeRenderHead()}
${renderComponent($$result2, "ContactForm", $$ContactForm, {})}
${renderComponent($$result2, "Footer", $$Footer, {})} ` })}`; +}, "/Users/richard/Website Development/tiber365/src/pages/contact.astro", void 0); + +const $$file = "/Users/richard/Website Development/tiber365/src/pages/contact.astro"; +const $$url = "/contact"; + +const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ + __proto__: null, + default: $$Contact, + file: $$file, + url: $$url +}, Symbol.toStringTag, { value: 'Module' })); + +const page = () => _page; + +export { page }; diff --git a/dist/pages/index.astro.mjs b/dist/pages/index.astro.mjs new file mode 100644 index 00000000..4e12e83f --- /dev/null +++ b/dist/pages/index.astro.mjs @@ -0,0 +1,58 @@ +import '../chunks/page-ssr_ChKiSmuh.mjs'; +import { c as createComponent, m as maybeRenderHead, r as renderComponent, a as renderTemplate, b as addAttribute } from '../chunks/astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +import i18next, { changeLanguage } from 'i18next'; +import { c as $$Trans, t, S as SERVICES, T as TESTIMONIALS, $ as $$BaseLayout, a as $$Header, b as $$Footer } from '../chunks/Footer_BFBz0LQo.mjs'; +/* empty css */ +import 'clsx'; +import { $ as $$CTA } from '../chunks/CTA_CIVpts3M.mjs'; +export { renderers } from '../renderers.mjs'; + +const $$Hero = createComponent(($$result, $$props, $$slots) => { + console.log("Hero component locale:", i18next.language); + return renderTemplate`${maybeRenderHead()}

${renderComponent($$result, "Trans", $$Trans, { "i18nKey": "hero.title", "data-astro-cid-bbe6dxrz": true }, { "default": ($$result2) => renderTemplate` +Professional IT Services for Your Business +` })}

${renderComponent($$result, "Trans", $$Trans, { "i18nKey": "hero.subtitle", "data-astro-cid-bbe6dxrz": true }, { "default": ($$result2) => renderTemplate` +Empowering freelancers and small businesses with reliable Microsoft 365 support, networking solutions, web hosting, and custom IT projects. +` })}

${renderComponent($$result, "Trans", $$Trans, { "i18nKey": "hero.trusted", "data-astro-cid-bbe6dxrz": true }, { "default": ($$result2) => renderTemplate` +Trusted by businesses across Italy +` })}

IT Services Illustration
`; +}, "/Users/richard/Website Development/tiber365/src/components/Hero.astro", void 0); + +const $$Services = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`${maybeRenderHead()}

${t("services.title")}

${t("services.subtitle")}

${SERVICES.map((service, index) => renderTemplate`
${service.icon}

${t(service.titleKey)}

${t(service.descriptionKey)}

    ${service.features.map((feature) => renderTemplate`
  • ${t(feature)}
  • `)}
+Learn more +
`)}
`; +}, "/Users/richard/Website Development/tiber365/src/components/Services.astro", void 0); + +const $$Testimonials = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`${maybeRenderHead()}

${t("testimonials.title")}

${t("testimonials.subtitle")}

${TESTIMONIALS.map((testimonial, index) => renderTemplate`
${Array.from({ length: testimonial.rating }, (_, i) => renderTemplate` `)}
+"${t(testimonial.contentKey)}" +
${t(testimonial.nameKey)}
${t(testimonial.companyKey)}
`)}
5+
${t("about.experience")}
100+
${t("about.clients")}
200+
${t("about.projects")}
`; +}, "/Users/richard/Website Development/tiber365/src/components/Testimonials.astro", void 0); + +const $$Index = createComponent(($$result, $$props, $$slots) => { + changeLanguage("en"); + const pageTitle = t("meta.title"); + const pageDescription = t("meta.description"); + const pageKeywords = t("meta.keywords"); + return renderTemplate`${renderComponent($$result, "BaseLayout", $$BaseLayout, { "title": pageTitle, "description": pageDescription, "keywords": pageKeywords }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Header", $$Header, {})} ${maybeRenderHead()}
${renderComponent($$result2, "Hero", $$Hero, {})} ${renderComponent($$result2, "Services", $$Services, {})} ${renderComponent($$result2, "Testimonials", $$Testimonials, {})} ${renderComponent($$result2, "CTA", $$CTA, {})}
${renderComponent($$result2, "Footer", $$Footer, {})} ` })}`; +}, "/Users/richard/Website Development/tiber365/src/pages/index.astro", void 0); + +const $$file = "/Users/richard/Website Development/tiber365/src/pages/index.astro"; +const $$url = ""; + +const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ + __proto__: null, + default: $$Index, + file: $$file, + url: $$url +}, Symbol.toStringTag, { value: 'Module' })); + +const page = () => _page; + +export { page }; diff --git a/dist/pages/it.astro.mjs b/dist/pages/it.astro.mjs new file mode 100644 index 00000000..2f74c99b --- /dev/null +++ b/dist/pages/it.astro.mjs @@ -0,0 +1,32 @@ +import '../chunks/page-ssr_ChKiSmuh.mjs'; +import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead } from '../chunks/astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +export { renderers } from '../renderers.mjs'; + +const $$Index = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`import ${changeLanguage} from "i18next"; +import BaseLayout from "../../layouts/BaseLayout.astro"; +import Header from "../../components/Header.astro"; +import Hero from "../../components/Hero.astro"; +import Services from "../../components/Services.astro"; +import Testimonials from "../../components/Testimonials.astro"; +import CTA from "../../components/CTA.astro"; +import Footer from "../../components/Footer.astro"; + +changeLanguage("it"); +${renderComponent($$result, "BaseLayout", BaseLayout, {}, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Header", Header, {})} ${maybeRenderHead()}
${renderComponent($$result2, "Hero", Hero, {})} ${renderComponent($$result2, "Services", Services, {})} ${renderComponent($$result2, "Testimonials", Testimonials, {})} ${renderComponent($$result2, "CTA", CTA, {})}
${renderComponent($$result2, "Footer", Footer, {})} ` })}`; +}, "/Users/richard/Website Development/tiber365/src/pages/it/index.astro", void 0); + +const $$file = "/Users/richard/Website Development/tiber365/src/pages/it/index.astro"; +const $$url = "/it"; + +const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ + __proto__: null, + default: $$Index, + file: $$file, + url: $$url +}, Symbol.toStringTag, { value: 'Module' })); + +const page = () => _page; + +export { page }; diff --git a/dist/pages/it/about.astro.mjs b/dist/pages/it/about.astro.mjs new file mode 100644 index 00000000..bd8300fb --- /dev/null +++ b/dist/pages/it/about.astro.mjs @@ -0,0 +1,28 @@ +import '../../chunks/page-ssr_ChKiSmuh.mjs'; +import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead } from '../../chunks/astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +export { renderers } from '../../renderers.mjs'; + +const $$About = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`import ${changeLanguage} from "i18next"; +import BaseLayout from "../../layouts/BaseLayout.astro"; +import Header from "../../components/Header.astro"; +import Footer from "../../components/Footer.astro"; + +changeLanguage("it"); +${renderComponent($$result, "BaseLayout", BaseLayout, {}, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Header", Header, {})} ${maybeRenderHead()}

Chi Siamo

${renderComponent($$result2, "Footer", Footer, {})} ` })}`; +}, "/Users/richard/Website Development/tiber365/src/pages/it/about.astro", void 0); + +const $$file = "/Users/richard/Website Development/tiber365/src/pages/it/about.astro"; +const $$url = "/it/about"; + +const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ + __proto__: null, + default: $$About, + file: $$file, + url: $$url +}, Symbol.toStringTag, { value: 'Module' })); + +const page = () => _page; + +export { page }; diff --git a/dist/pages/nl.astro.mjs b/dist/pages/nl.astro.mjs new file mode 100644 index 00000000..fd5d7407 --- /dev/null +++ b/dist/pages/nl.astro.mjs @@ -0,0 +1,32 @@ +import '../chunks/page-ssr_ChKiSmuh.mjs'; +import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead } from '../chunks/astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +export { renderers } from '../renderers.mjs'; + +const $$Index = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`import ${changeLanguage} from "i18next"; +import BaseLayout from "../../layouts/BaseLayout.astro"; +import Header from "../../components/Header.astro"; +import Hero from "../../components/Hero.astro"; +import Services from "../../components/Services.astro"; +import Testimonials from "../../components/Testimonials.astro"; +import CTA from "../../components/CTA.astro"; +import Footer from "../../components/Footer.astro"; + +changeLanguage("nl"); +${renderComponent($$result, "BaseLayout", BaseLayout, {}, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Header", Header, {})} ${maybeRenderHead()}
${renderComponent($$result2, "Hero", Hero, {})} ${renderComponent($$result2, "Services", Services, {})} ${renderComponent($$result2, "Testimonials", Testimonials, {})} ${renderComponent($$result2, "CTA", CTA, {})}
${renderComponent($$result2, "Footer", Footer, {})} ` })}`; +}, "/Users/richard/Website Development/tiber365/src/pages/nl/index.astro", void 0); + +const $$file = "/Users/richard/Website Development/tiber365/src/pages/nl/index.astro"; +const $$url = "/nl"; + +const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ + __proto__: null, + default: $$Index, + file: $$file, + url: $$url +}, Symbol.toStringTag, { value: 'Module' })); + +const page = () => _page; + +export { page }; diff --git a/dist/pages/nl/about.astro.mjs b/dist/pages/nl/about.astro.mjs new file mode 100644 index 00000000..ef40fa8b --- /dev/null +++ b/dist/pages/nl/about.astro.mjs @@ -0,0 +1,28 @@ +import '../../chunks/page-ssr_ChKiSmuh.mjs'; +import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead } from '../../chunks/astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +export { renderers } from '../../renderers.mjs'; + +const $$About = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`import ${changeLanguage} from "i18next"; +import BaseLayout from "../../layouts/BaseLayout.astro"; +import Header from "../../components/Header.astro"; +import Footer from "../../components/Footer.astro"; + +changeLanguage("nl"); +${renderComponent($$result, "BaseLayout", BaseLayout, {}, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Header", Header, {})} ${maybeRenderHead()}

Over Ons

${renderComponent($$result2, "Footer", Footer, {})} ` })}`; +}, "/Users/richard/Website Development/tiber365/src/pages/nl/about.astro", void 0); + +const $$file = "/Users/richard/Website Development/tiber365/src/pages/nl/about.astro"; +const $$url = "/nl/about"; + +const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ + __proto__: null, + default: $$About, + file: $$file, + url: $$url +}, Symbol.toStringTag, { value: 'Module' })); + +const page = () => _page; + +export { page }; diff --git a/dist/pages/privacy.astro.mjs b/dist/pages/privacy.astro.mjs new file mode 100644 index 00000000..5cd7c561 --- /dev/null +++ b/dist/pages/privacy.astro.mjs @@ -0,0 +1,52 @@ +import '../chunks/page-ssr_ChKiSmuh.mjs'; +import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead } from '../chunks/astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +import { t, $ as $$BaseLayout, a as $$Header, b as $$Footer } from '../chunks/Footer_BFBz0LQo.mjs'; +export { renderers } from '../renderers.mjs'; + +const $$Privacy = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`${renderComponent($$result, "BaseLayout", $$BaseLayout, { "title": `${t("footer.links.privacy")} | ${t("meta.title")}`, "description": "Privacy Policy for Tiber365 - Learn how we collect, use, and protect your personal data in compliance with GDPR and Dutch privacy laws." }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Header", $$Header, {})} ${maybeRenderHead()}

${t("footer.links.privacy")}

+Last updated: ${(/* @__PURE__ */ new Date()).toLocaleDateString()}

1. Introduction

+Tiber365 ("we", "our", or "us") is committed to protecting your privacy and personal data. This Privacy Policy explains how we collect, use, and protect your personal information in accordance with the General Data Protection Regulation (GDPR) and Dutch privacy laws. +

2. Data Controller

+Tiber365
+Italy
+Email: info@tiber365.it +

+For privacy-related inquiries, you can contact our Data Protection Officer at privacy@tiber365.it. +

3. Personal Data We Collect

We collect and process the following types of personal data:

  • Contact information (name, email, phone number, company name)
  • Technical data (IP address, browser type, device information)
  • Usage data (how you interact with our website and services)
  • Communication data (messages you send us through our contact form)
  • Service data (information related to the IT services we provide)

4. Legal Basis for Processing

We process your personal data based on the following legal grounds:

  • Contract performance (when providing our IT services)
  • Legal obligations (compliance with Dutch and EU laws)
  • Legitimate interests (improving our services and communication)
  • Consent (for marketing communications and cookies)

5. How We Use Your Data

We use your personal data for:

  • Providing and managing our IT services
  • Communicating with you about our services
  • Improving our website and services
  • Complying with legal obligations
  • Sending you marketing communications (with your consent)

6. Data Sharing and Transfers

+We may share your data with: +

  • Service providers (hosting, email, analytics)
  • Professional advisers (lawyers, accountants)
  • Authorities (when legally required)

+Data transfers outside the EU/EEA are protected by appropriate safeguards (Standard Contractual Clauses). +

7. Data Retention

+We retain your personal data only for as long as necessary to fulfill the purposes for which it was collected, including legal requirements and accounting purposes. +

8. Your Rights

Under GDPR and Dutch privacy laws, you have the right to:

  • Access your personal data
  • Correct inaccurate data
  • Request deletion of your data
  • Object to processing
  • Data portability
  • Withdraw consent

+To exercise these rights, contact us at privacy@tiber365.it. We'll respond within 30 days. +

9. Cookies and Tracking

+We use cookies and similar technologies to improve your browsing experience. You can manage cookie preferences through your browser settings. +

10. Security

+We implement appropriate technical and organizational measures to protect your personal data against unauthorized access, alteration, disclosure, or destruction. +

11. Changes to This Policy

+We may update this Privacy Policy periodically. We will notify you of any material changes by posting the new policy on this page. +

12. Complaints

+If you have concerns about how we process your personal data, please contact us first. You also have the right to file a complaint with the Dutch Data Protection Authority (Autoriteit Persoonsgegevens). +

13. Contact Us

+For any privacy-related questions or requests, please contact us at:
+Email: privacy@tiber365.it
+Phone: +39 123 456 7890 +

${renderComponent($$result2, "Footer", $$Footer, {})} ` })}`; +}, "/Users/richard/Website Development/tiber365/src/pages/privacy.astro", void 0); + +const $$file = "/Users/richard/Website Development/tiber365/src/pages/privacy.astro"; +const $$url = "/privacy"; + +const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ + __proto__: null, + default: $$Privacy, + file: $$file, + url: $$url +}, Symbol.toStringTag, { value: 'Module' })); + +const page = () => _page; + +export { page }; diff --git a/dist/pages/services.astro.mjs b/dist/pages/services.astro.mjs new file mode 100644 index 00000000..729687c7 --- /dev/null +++ b/dist/pages/services.astro.mjs @@ -0,0 +1,134 @@ +import '../chunks/page-ssr_ChKiSmuh.mjs'; +import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead, b as addAttribute } from '../chunks/astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +import { t, $ as $$BaseLayout, S as SERVICES, a as $$Header, b as $$Footer } from '../chunks/Footer_BFBz0LQo.mjs'; +import { $ as $$CTA } from '../chunks/CTA_CIVpts3M.mjs'; +export { renderers } from '../renderers.mjs'; + +const $$Services = createComponent(($$result, $$props, $$slots) => { + const getServiceDetails = (serviceId) => { + switch (serviceId) { + case "microsoft365": + return { + benefits: [ + "Seamless transition to Microsoft 365 with expert guidance", + "Zero downtime email migrations and data transfer", + "Custom configuration of all Office applications", + "Enhanced team collaboration through Microsoft Teams", + "Secure document management with SharePoint", + "Streamlined admin center management" + ], + process: [ + "Initial assessment of your current setup", + "Custom migration plan development", + "Step-by-step implementation", + "User training and support", + "Ongoing maintenance and optimization" + ] + }; + case "management": + return { + benefits: [ + "Proactive system monitoring and maintenance", + "Automated workflow implementation", + "Enhanced security and compliance", + "Regular performance optimization", + "Cost-effective resource utilization", + "Reduced IT management overhead" + ], + process: [ + "Environment assessment", + "Automation opportunity identification", + "Monitoring setup and configuration", + "Regular maintenance scheduling", + "Continuous improvement implementation" + ] + }; + case "networking": + return { + benefits: [ + "Enterprise-grade network infrastructure", + "High-performance Ubiquiti/UniFi solutions", + "Advanced security implementation", + "Reliable and fast connectivity", + "Scalable network architecture", + "Professional network monitoring" + ], + process: [ + "Network requirements analysis", + "Infrastructure design and planning", + "Equipment selection and deployment", + "Security implementation", + "Performance optimization" + ] + }; + case "hosting": + return { + benefits: [ + "High-performance web hosting", + "Secure and reliable infrastructure", + "Automated backup systems", + "SSL certificate management", + "Domain name administration", + "Regular maintenance and updates" + ], + process: [ + "Hosting requirements assessment", + "Server configuration and setup", + "Security implementation", + "Backup system configuration", + "Ongoing monitoring and maintenance" + ] + }; + case "custom": + return { + benefits: [ + "Flexible solutions tailored to your unique business needs", + "Professional project management and documentation", + "Clear communication and consultation throughout the process", + "Integration with existing systems and workflows", + "Scalable and future-proof implementations", + "Support for requirements beyond our standard services" + ], + process: [ + "Initial consultation and requirements gathering", + "Feasibility study and stakeholder alignment", + "Detailed project planning with all involved parties", + "Phased implementation with regular checkpoints", + "Thorough testing and quality assurance", + "Post-implementation support and maintenance" + ], + additionalInfo: `While we offer standardized services for common IT needs, we understand that every business is unique. We're open to discussing and supporting custom IT projects that may fall outside our standard service offerings. Our professional approach ensures that all stakeholders are involved in the consultation, planning, and implementation phases. This collaborative process helps us deliver solutions that truly meet your specific requirements.` + }; + default: + return { + benefits: [], + process: [] + }; + } + }; + return renderTemplate`${renderComponent($$result, "BaseLayout", $$BaseLayout, { "title": `${t("nav.services")} | ${t("meta.title")}`, "description": "Comprehensive IT services for small businesses: Microsoft 365 support, networking solutions, web hosting, and custom IT projects." }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Header", $$Header, {})} ${maybeRenderHead()}

${t("services.title")}

${t("services.subtitle")}

${SERVICES.map((service, index) => { + const details = getServiceDetails(service.id); + return renderTemplate`
${service.icon}

${t(service.titleKey)}

${t(service.descriptionKey)}

${service.id === "custom" && renderTemplate`

${details.additionalInfo}

`}

Key Benefits

    ${details.benefits.map((benefit) => renderTemplate`
  • ${benefit}
  • `)}

Our Process

    ${details.process.map((step, stepIndex) => renderTemplate`
  • ${stepIndex + 1}
    ${step}
  • `)}
+Get Started +
${service.icon}

Features & Capabilities

${service.features.map((feature) => renderTemplate`

${t(feature)}

${feature.includes("migrations") && "Seamless data transfer with zero downtime"} ${feature.includes("apps") && "Full setup and optimization of Office applications"} ${feature.includes("teams") && "Custom Teams environment configuration"} ${feature.includes("sharepoint") && "Document management and collaboration setup"} ${feature.includes("admin") && "Complete admin portal configuration"} ${feature.includes("automation") && "Custom workflow automation solutions"} ${feature.includes("monitoring") && "Proactive system monitoring and alerts"} ${feature.includes("maintenance") && "Regular updates and maintenance tasks"} ${feature.includes("optimization") && "Performance tuning and improvements"} ${feature.includes("ubiquiti") && "Expert Ubiquiti/UniFi implementation"} ${feature.includes("infrastructure") && "Enterprise-grade network setup"} ${feature.includes("security") && "Advanced security measures"} ${feature.includes("webhosting") && "High-performance hosting solutions"} ${feature.includes("domains") && "Complete domain management"} ${feature.includes("ssl") && "SSL certificate installation and renewal"} ${feature.includes("backup") && "Automated backup and recovery"}

`)}
`; + })}

+Why Choose Tiber365? +

+We're dedicated to providing reliable, professional IT services that help your business thrive. +

Fast Response

Quick turnaround times and 24/7 support when you need it most.

🎯

Expert Knowledge

Years of experience with Microsoft 365, networking, and modern IT solutions.

💼

Business Focus

We understand small business needs and provide cost-effective solutions.

${renderComponent($$result2, "CTA", $$CTA, {})}
${renderComponent($$result2, "Footer", $$Footer, {})} ` })}`; +}, "/Users/richard/Website Development/tiber365/src/pages/services.astro", void 0); + +const $$file = "/Users/richard/Website Development/tiber365/src/pages/services.astro"; +const $$url = "/services"; + +const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ + __proto__: null, + default: $$Services, + file: $$file, + url: $$url +}, Symbol.toStringTag, { value: 'Module' })); + +const page = () => _page; + +export { page }; diff --git a/dist/pages/terms.astro.mjs b/dist/pages/terms.astro.mjs new file mode 100644 index 00000000..c01086a0 --- /dev/null +++ b/dist/pages/terms.astro.mjs @@ -0,0 +1,59 @@ +import '../chunks/page-ssr_ChKiSmuh.mjs'; +import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead } from '../chunks/astro/server_DJC9Xx9K.mjs'; +import 'kleur/colors'; +import { t, $ as $$BaseLayout, a as $$Header, b as $$Footer } from '../chunks/Footer_BFBz0LQo.mjs'; +export { renderers } from '../renderers.mjs'; + +const $$Terms = createComponent(($$result, $$props, $$slots) => { + return renderTemplate`${renderComponent($$result, "BaseLayout", $$BaseLayout, { "title": `${t("footer.links.terms")} | ${t("meta.title")}`, "description": "Terms of Service for Tiber365 - Understanding our service agreement and legal terms in compliance with European and Dutch laws." }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Header", $$Header, {})} ${maybeRenderHead()}

${t("footer.links.terms")}

+Last updated: ${(/* @__PURE__ */ new Date()).toLocaleDateString()}

1. Introduction

+These Terms of Service ("Terms") govern your use of Tiber365's website and services. By accessing our website or using our services, you agree to be bound by these Terms. If you disagree with any part of these terms, please do not use our services. +

2. Company Information

+Tiber365
+Registered in Italy
+Email: info@tiber365.it
+Phone: +39 123 456 7890 +

3. Services

+We provide IT services including: +

  • Microsoft 365 support and management
  • Networking and infrastructure solutions
  • Web hosting and management
  • Custom IT projects

+Service specifics will be detailed in individual service agreements. +

4. Service Agreement

+Upon engaging our services: +

  • We will provide services as specified in the service agreement
  • You agree to provide necessary information and access for service delivery
  • You will maintain the confidentiality of any access credentials provided
  • You will use the services in compliance with applicable laws

5. Intellectual Property

+All content on our website and services, including but not limited to text, graphics, logos, and software, is our property or that of our licensors and is protected by intellectual property laws. +

6. User Obligations

You agree to:

  • Provide accurate and complete information
  • Maintain the security of your account
  • Not use our services for illegal purposes
  • Not interfere with the proper functioning of our services
  • Comply with all applicable laws and regulations

7. Payment Terms

+Payment terms, including fees, billing cycles, and payment methods, will be specified in your service agreement. Late payments may result in service suspension. +

8. Liability

+To the extent permitted by law: +

  • We provide services "as is" without warranties
  • We are not liable for indirect, consequential, or incidental damages
  • Our liability is limited to the amount paid for services in the previous 12 months

9. Data Protection

+We process personal data in accordance with our Privacy Policy and applicable data protection laws (GDPR and Dutch privacy laws). +

10. Service Availability

+While we strive for high availability, we do not guarantee uninterrupted service. We will provide notice of scheduled maintenance when possible. +

11. Termination

+Either party may terminate services according to the terms in the service agreement. Upon termination: +

  • All access to services will cease
  • You remain liable for any outstanding payments
  • We will assist with data transition as specified in the service agreement

12. Changes to Terms

+We may modify these Terms at any time. Continued use of our services after changes constitutes acceptance of the modified Terms. +

13. Governing Law

+These Terms are governed by Dutch law. Any disputes will be subject to the exclusive jurisdiction of the Dutch courts. +

14. Severability

+If any provision of these Terms is found to be unenforceable, the remaining provisions will remain in effect. +

15. Contact

+For questions about these Terms, please contact us at:
+Email: legal@tiber365.it
+Phone: +39 123 456 7890 +

${renderComponent($$result2, "Footer", $$Footer, {})} ` })}`; +}, "/Users/richard/Website Development/tiber365/src/pages/terms.astro", void 0); + +const $$file = "/Users/richard/Website Development/tiber365/src/pages/terms.astro"; +const $$url = "/terms"; + +const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ + __proto__: null, + default: $$Terms, + file: $$file, + url: $$url +}, Symbol.toStringTag, { value: 'Module' })); + +const page = () => _page; + +export { page }; diff --git a/dist/renderers.mjs b/dist/renderers.mjs new file mode 100644 index 00000000..a97849f7 --- /dev/null +++ b/dist/renderers.mjs @@ -0,0 +1,3 @@ +const renderers = []; + +export { renderers }; diff --git a/dist/robots.txt b/dist/robots.txt new file mode 100644 index 00000000..3c1d71d5 --- /dev/null +++ b/dist/robots.txt @@ -0,0 +1,24 @@ +User-agent: * +Allow: / +Allow: /services +Allow: /about +Allow: /contact +Allow: /404 +Allow: /favicon.svg +Allow: /manifest.json +Disallow: /en +Disallow: /en/ +Disallow: /nl +Disallow: /nl/ +Disallow: /it +Disallow: /it/ + +# Sitemap +Sitemap: https://tiber365.it/sitemap.xml + +# Crawl delay +Crawl-delay: 1 + +# Disallow admin or sensitive areas (if any in the future) +# Disallow: /admin/ +# Disallow: /private/ \ No newline at end of file diff --git a/node_modules/.bin/astro-i18next b/node_modules/.bin/astro-i18next new file mode 120000 index 00000000..706bc2a7 --- /dev/null +++ b/node_modules/.bin/astro-i18next @@ -0,0 +1 @@ +../astro-i18next/dist/cli/index.js \ No newline at end of file diff --git a/node_modules/.bin/tsm b/node_modules/.bin/tsm new file mode 120000 index 00000000..9b1c4a07 --- /dev/null +++ b/node_modules/.bin/tsm @@ -0,0 +1 @@ +../tsm/bin.js \ No newline at end of file diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index 25157cf4..68df6a8e 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -355,6 +355,15 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/runtime": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz", + "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.27.2", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", @@ -610,6 +619,28 @@ "node": ">=14" } }, + "node_modules/@proload/core": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@proload/core/-/core-0.3.3.tgz", + "integrity": "sha512-7dAFWsIK84C90AMl24+N/ProHKm4iw0akcnoKjRvbfHifJZBLhaDsDus1QJmhG12lXj4e/uB/8mB/0aduCW+NQ==", + "license": "MIT", + "dependencies": { + "deepmerge": "^4.2.2", + "escalade": "^3.1.1" + } + }, + "node_modules/@proload/plugin-tsm": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@proload/plugin-tsm/-/plugin-tsm-0.2.1.tgz", + "integrity": "sha512-Ex1sL2BxU+g8MHdAdq9SZKz+pU34o8Zcl9PHWo2WaG9hrnlZme607PU6gnpoAYsDBpHX327+eu60wWUk+d/b+A==", + "license": "MIT", + "dependencies": { + "tsm": "^2.1.4" + }, + "peerDependencies": { + "@proload/core": "^0.3.2" + } + }, "node_modules/@rollup/pluginutils": { "version": "5.1.4", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", @@ -1066,6 +1097,52 @@ "sharp": "^0.33.3" } }, + "node_modules/astro-i18next": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/astro-i18next/-/astro-i18next-1.0.0-beta.21.tgz", + "integrity": "sha512-1YPqwexumHpK/d9afEoi52CBFTu6k4MYv/oHjsaAasZDvFClU6U5VPttC/OgZcXRYggCM6ee2LOnyHqlmXOeLA==", + "license": "MIT", + "dependencies": { + "@proload/core": "^0.3.3", + "@proload/plugin-tsm": "^0.2.1", + "i18next": "^22.4.10", + "i18next-browser-languagedetector": "^7.0.1", + "i18next-fs-backend": "^2.1.1", + "i18next-http-backend": "^2.1.1", + "iso-639-1": "^2.1.15", + "locale-emoji": "^0.3.0", + "pathe": "^1.1.0" + }, + "bin": { + "astro-i18next": "dist/cli/index.js" + }, + "peerDependencies": { + "astro": ">=1.0.0" + } + }, + "node_modules/astro-i18next/node_modules/i18next": { + "version": "22.5.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", + "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.6" + } + }, "node_modules/autoprefixer": { "version": "10.4.21", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", @@ -1484,6 +1561,15 @@ "node": ">= 0.6" } }, + "node_modules/cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -1540,6 +1626,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -1700,6 +1795,22 @@ "@esbuild/win32-x64": "0.21.5" } }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -1877,6 +1988,20 @@ "url": "https://github.com/sponsors/rawify" } }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -2218,6 +2343,61 @@ "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "license": "BSD-2-Clause" }, + "node_modules/i18next": { + "version": "25.2.0", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-25.2.0.tgz", + "integrity": "sha512-ERhJICsxkw1vE7G0lhCUYv4ZxdBEs03qblt1myJs94rYRK9loJF3xDj8mgQz3LmCyp0yYrNjbN/1/GWZTZDGCA==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.27.1" + }, + "peerDependencies": { + "typescript": "^5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/i18next-browser-languagedetector": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.2.tgz", + "integrity": "sha512-6b7r75uIJDWCcCflmbof+sJ94k9UQO4X0YR62oUfqGI/GjCLVzlCwu8TFdRZIqVLzWbzNcmkmhfqKEr4TLz4HQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/i18next-fs-backend": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/i18next-fs-backend/-/i18next-fs-backend-2.6.0.tgz", + "integrity": "sha512-3ZlhNoF9yxnM8pa8bWp5120/Ob6t4lVl1l/tbLmkml/ei3ud8IWySCHt2lrY5xWRlSU5D9IV2sm5bEbGuTqwTw==", + "license": "MIT" + }, + "node_modules/i18next-http-backend": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.7.3.tgz", + "integrity": "sha512-FgZxrXdRA5u44xfYsJlEBL4/KH3f2IluBpgV/7riW0YW2VEyM8FzVt2XHAOi6id0Ppj7vZvCZVpp5LrGXnc8Ig==", + "license": "MIT", + "dependencies": { + "cross-fetch": "4.0.0" + } + }, "node_modules/import-meta-resolve": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", @@ -2400,6 +2580,15 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "license": "ISC" }, + "node_modules/iso-639-1": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/iso-639-1/-/iso-639-1-2.1.15.tgz", + "integrity": "sha512-7c7mBznZu2ktfvyT582E2msM+Udc1EjOyhVRE/0ZsjD9LBtWSm23h3PtiRh2a35XoUsTQQjJXaJzuLjXsOdFDg==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, "node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -2548,6 +2737,12 @@ "node": ">=6" } }, + "node_modules/locale-emoji": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/locale-emoji/-/locale-emoji-0.3.0.tgz", + "integrity": "sha512-JGm8+naU49CBDnH1jksS3LecPdfWQLxFgkLN6ZhYONKa850pJ0Xt8DPGJnYK0ZuJI8jTuiDDPCDtSL3nyacXwg==", + "license": "CC0-1.0" + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -3561,6 +3756,26 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-releases": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", @@ -3813,6 +4028,12 @@ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "license": "ISC" }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -4865,6 +5086,12 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, "node_modules/trim-lines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", @@ -4911,6 +5138,58 @@ } } }, + "node_modules/tsm": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tsm/-/tsm-2.3.0.tgz", + "integrity": "sha512-++0HFnmmR+gMpDtKTnW3XJ4yv9kVGi20n+NfyQWB9qwJvTaIWY9kBmzek2YUQK5APTQ/1DTrXmm4QtFPmW9Rzw==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.15.16" + }, + "bin": { + "tsm": "bin.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/tsm/node_modules/esbuild": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", + "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" + } + }, "node_modules/type-fest": { "version": "4.41.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", @@ -5251,6 +5530,22 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/node_modules/.vite/deps/_metadata.json b/node_modules/.vite/deps/_metadata.json index 365914fe..9cffa6ee 100644 --- a/node_modules/.vite/deps/_metadata.json +++ b/node_modules/.vite/deps/_metadata.json @@ -1,25 +1,25 @@ { - "hash": "745e08c6", + "hash": "37d4c730", "configHash": "1148bf53", - "lockfileHash": "633aff28", - "browserHash": "d435c027", + "lockfileHash": "ad63364b", + "browserHash": "300a125e", "optimized": { "astro > cssesc": { "src": "../../cssesc/cssesc.js", "file": "astro___cssesc.js", - "fileHash": "200652b1", + "fileHash": "93a3de5b", "needsInterop": true }, "astro > aria-query": { "src": "../../aria-query/lib/index.js", "file": "astro___aria-query.js", - "fileHash": "5d70289c", + "fileHash": "e8b4e2ed", "needsInterop": true }, "astro > axobject-query": { "src": "../../axobject-query/lib/index.js", "file": "astro___axobject-query.js", - "fileHash": "d5653076", + "fileHash": "f9e1eca2", "needsInterop": true } }, diff --git a/node_modules/@babel/runtime/LICENSE b/node_modules/@babel/runtime/LICENSE new file mode 100644 index 00000000..f31575ec --- /dev/null +++ b/node_modules/@babel/runtime/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY 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. diff --git a/node_modules/@babel/runtime/README.md b/node_modules/@babel/runtime/README.md new file mode 100644 index 00000000..2f3368ef --- /dev/null +++ b/node_modules/@babel/runtime/README.md @@ -0,0 +1,19 @@ +# @babel/runtime + +> babel's modular runtime helpers + +See our website [@babel/runtime](https://babeljs.io/docs/babel-runtime) for more information. + +## Install + +Using npm: + +```sh +npm install --save @babel/runtime +``` + +or using yarn: + +```sh +yarn add @babel/runtime +``` diff --git a/node_modules/@babel/runtime/helpers/AwaitValue.js b/node_modules/@babel/runtime/helpers/AwaitValue.js new file mode 100644 index 00000000..52a7e69a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/AwaitValue.js @@ -0,0 +1,4 @@ +function _AwaitValue(t) { + this.wrapped = t; +} +module.exports = _AwaitValue, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/OverloadYield.js b/node_modules/@babel/runtime/helpers/OverloadYield.js new file mode 100644 index 00000000..0eca88c7 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/OverloadYield.js @@ -0,0 +1,4 @@ +function _OverloadYield(e, d) { + this.v = e, this.k = d; +} +module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js b/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js new file mode 100644 index 00000000..0ff780eb --- /dev/null +++ b/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js @@ -0,0 +1,9 @@ +function _applyDecoratedDescriptor(i, e, r, n, l) { + var a = {}; + return Object.keys(n).forEach(function (i) { + a[i] = n[i]; + }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { + return n(i, e, r) || r; + }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; +} +module.exports = _applyDecoratedDescriptor, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/applyDecs.js b/node_modules/@babel/runtime/helpers/applyDecs.js new file mode 100644 index 00000000..3770c5ae --- /dev/null +++ b/node_modules/@babel/runtime/helpers/applyDecs.js @@ -0,0 +1,236 @@ +var _typeof = require("./typeof.js")["default"]; +var setFunctionName = require("./setFunctionName.js"); +var toPropertyKey = require("./toPropertyKey.js"); +function old_createMetadataMethodsForProperty(e, t, a, r) { + return { + getMetadata: function getMetadata(o) { + old_assertNotFinished(r, "getMetadata"), old_assertMetadataKey(o); + var i = e[o]; + if (void 0 !== i) if (1 === t) { + var n = i["public"]; + if (void 0 !== n) return n[a]; + } else if (2 === t) { + var l = i["private"]; + if (void 0 !== l) return l.get(a); + } else if (Object.hasOwnProperty.call(i, "constructor")) return i.constructor; + }, + setMetadata: function setMetadata(o, i) { + old_assertNotFinished(r, "setMetadata"), old_assertMetadataKey(o); + var n = e[o]; + if (void 0 === n && (n = e[o] = {}), 1 === t) { + var l = n["public"]; + void 0 === l && (l = n["public"] = {}), l[a] = i; + } else if (2 === t) { + var s = n.priv; + void 0 === s && (s = n["private"] = new Map()), s.set(a, i); + } else n.constructor = i; + } + }; +} +function old_convertMetadataMapToFinal(e, t) { + var a = e[Symbol.metadata || Symbol["for"]("Symbol.metadata")], + r = Object.getOwnPropertySymbols(t); + if (0 !== r.length) { + for (var o = 0; o < r.length; o++) { + var i = r[o], + n = t[i], + l = a ? a[i] : null, + s = n["public"], + c = l ? l["public"] : null; + s && c && Object.setPrototypeOf(s, c); + var d = n["private"]; + if (d) { + var u = Array.from(d.values()), + f = l ? l["private"] : null; + f && (u = u.concat(f)), n["private"] = u; + } + l && Object.setPrototypeOf(n, l); + } + a && Object.setPrototypeOf(t, a), e[Symbol.metadata || Symbol["for"]("Symbol.metadata")] = t; + } +} +function old_createAddInitializerMethod(e, t) { + return function (a) { + old_assertNotFinished(t, "addInitializer"), old_assertCallable(a, "An initializer"), e.push(a); + }; +} +function old_memberDec(e, t, a, r, o, i, n, l, s) { + var c; + switch (i) { + case 1: + c = "accessor"; + break; + case 2: + c = "method"; + break; + case 3: + c = "getter"; + break; + case 4: + c = "setter"; + break; + default: + c = "field"; + } + var d, + u, + f = { + kind: c, + name: l ? "#" + t : toPropertyKey(t), + isStatic: n, + isPrivate: l + }, + p = { + v: !1 + }; + if (0 !== i && (f.addInitializer = old_createAddInitializerMethod(o, p)), l) { + d = 2, u = Symbol(t); + var v = {}; + 0 === i ? (v.get = a.get, v.set = a.set) : 2 === i ? v.get = function () { + return a.value; + } : (1 !== i && 3 !== i || (v.get = function () { + return a.get.call(this); + }), 1 !== i && 4 !== i || (v.set = function (e) { + a.set.call(this, e); + })), f.access = v; + } else d = 1, u = t; + try { + return e(s, Object.assign(f, old_createMetadataMethodsForProperty(r, d, u, p))); + } finally { + p.v = !0; + } +} +function old_assertNotFinished(e, t) { + if (e.v) throw Error("attempted to call " + t + " after decoration was finished"); +} +function old_assertMetadataKey(e) { + if ("symbol" != _typeof(e)) throw new TypeError("Metadata keys must be symbols, received: " + e); +} +function old_assertCallable(e, t) { + if ("function" != typeof e) throw new TypeError(t + " must be a function"); +} +function old_assertValidReturnValue(e, t) { + var a = _typeof(t); + if (1 === e) { + if ("object" !== a || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); + void 0 !== t.get && old_assertCallable(t.get, "accessor.get"), void 0 !== t.set && old_assertCallable(t.set, "accessor.set"), void 0 !== t.init && old_assertCallable(t.init, "accessor.init"), void 0 !== t.initializer && old_assertCallable(t.initializer, "accessor.initializer"); + } else if ("function" !== a) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0"); +} +function old_getInit(e) { + var t; + return null == (t = e.init) && (t = e.initializer) && void 0 !== console && console.warn(".initializer has been renamed to .init as of March 2022"), t; +} +function old_applyMemberDec(e, t, a, r, o, i, n, l, s) { + var c, + d, + u, + f, + p, + v, + y, + h = a[0]; + if (n ? (0 === o || 1 === o ? (c = { + get: a[3], + set: a[4] + }, u = "get") : 3 === o ? (c = { + get: a[3] + }, u = "get") : 4 === o ? (c = { + set: a[3] + }, u = "set") : c = { + value: a[3] + }, 0 !== o && (1 === o && setFunctionName(a[4], "#" + r, "set"), setFunctionName(a[3], "#" + r, u))) : 0 !== o && (c = Object.getOwnPropertyDescriptor(t, r)), 1 === o ? f = { + get: c.get, + set: c.set + } : 2 === o ? f = c.value : 3 === o ? f = c.get : 4 === o && (f = c.set), "function" == typeof h) void 0 !== (p = old_memberDec(h, r, c, l, s, o, i, n, f)) && (old_assertValidReturnValue(o, p), 0 === o ? d = p : 1 === o ? (d = old_getInit(p), v = p.get || f.get, y = p.set || f.set, f = { + get: v, + set: y + }) : f = p);else for (var m = h.length - 1; m >= 0; m--) { + var b; + void 0 !== (p = old_memberDec(h[m], r, c, l, s, o, i, n, f)) && (old_assertValidReturnValue(o, p), 0 === o ? b = p : 1 === o ? (b = old_getInit(p), v = p.get || f.get, y = p.set || f.set, f = { + get: v, + set: y + }) : f = p, void 0 !== b && (void 0 === d ? d = b : "function" == typeof d ? d = [d, b] : d.push(b))); + } + if (0 === o || 1 === o) { + if (void 0 === d) d = function d(e, t) { + return t; + };else if ("function" != typeof d) { + var g = d; + d = function d(e, t) { + for (var a = t, r = 0; r < g.length; r++) a = g[r].call(e, a); + return a; + }; + } else { + var _ = d; + d = function d(e, t) { + return _.call(e, t); + }; + } + e.push(d); + } + 0 !== o && (1 === o ? (c.get = f.get, c.set = f.set) : 2 === o ? c.value = f : 3 === o ? c.get = f : 4 === o && (c.set = f), n ? 1 === o ? (e.push(function (e, t) { + return f.get.call(e, t); + }), e.push(function (e, t) { + return f.set.call(e, t); + })) : 2 === o ? e.push(f) : e.push(function (e, t) { + return f.call(e, t); + }) : Object.defineProperty(t, r, c)); +} +function old_applyMemberDecs(e, t, a, r, o) { + for (var i, n, l = new Map(), s = new Map(), c = 0; c < o.length; c++) { + var d = o[c]; + if (Array.isArray(d)) { + var u, + f, + p, + v = d[1], + y = d[2], + h = d.length > 3, + m = v >= 5; + if (m ? (u = t, f = r, 0 != (v -= 5) && (p = n = n || [])) : (u = t.prototype, f = a, 0 !== v && (p = i = i || [])), 0 !== v && !h) { + var b = m ? s : l, + g = b.get(y) || 0; + if (!0 === g || 3 === g && 4 !== v || 4 === g && 3 !== v) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + y); + !g && v > 2 ? b.set(y, v) : b.set(y, !0); + } + old_applyMemberDec(e, u, d, y, v, m, h, f, p); + } + } + old_pushInitializers(e, i), old_pushInitializers(e, n); +} +function old_pushInitializers(e, t) { + t && e.push(function (e) { + for (var a = 0; a < t.length; a++) t[a].call(e); + return e; + }); +} +function old_applyClassDecs(e, t, a, r) { + if (r.length > 0) { + for (var o = [], i = t, n = t.name, l = r.length - 1; l >= 0; l--) { + var s = { + v: !1 + }; + try { + var c = Object.assign({ + kind: "class", + name: n, + addInitializer: old_createAddInitializerMethod(o, s) + }, old_createMetadataMethodsForProperty(a, 0, n, s)), + d = r[l](i, c); + } finally { + s.v = !0; + } + void 0 !== d && (old_assertValidReturnValue(10, d), i = d); + } + e.push(i, function () { + for (var e = 0; e < o.length; e++) o[e].call(i); + }); + } +} +function applyDecs(e, t, a) { + var r = [], + o = {}, + i = {}; + return old_applyMemberDecs(r, e, i, o, t), old_convertMetadataMapToFinal(e.prototype, i), old_applyClassDecs(r, e, o, a), old_convertMetadataMapToFinal(e, o), r; +} +module.exports = applyDecs, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/applyDecs2203.js b/node_modules/@babel/runtime/helpers/applyDecs2203.js new file mode 100644 index 00000000..d3da3338 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/applyDecs2203.js @@ -0,0 +1,184 @@ +var _typeof = require("./typeof.js")["default"]; +function applyDecs2203Factory() { + function createAddInitializerMethod(e, t) { + return function (r) { + !function (e, t) { + if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); + }(t), assertCallable(r, "An initializer"), e.push(r); + }; + } + function memberDec(e, t, r, a, n, i, s, o) { + var c; + switch (n) { + case 1: + c = "accessor"; + break; + case 2: + c = "method"; + break; + case 3: + c = "getter"; + break; + case 4: + c = "setter"; + break; + default: + c = "field"; + } + var l, + u, + f = { + kind: c, + name: s ? "#" + t : t, + "static": i, + "private": s + }, + p = { + v: !1 + }; + 0 !== n && (f.addInitializer = createAddInitializerMethod(a, p)), 0 === n ? s ? (l = r.get, u = r.set) : (l = function l() { + return this[t]; + }, u = function u(e) { + this[t] = e; + }) : 2 === n ? l = function l() { + return r.value; + } : (1 !== n && 3 !== n || (l = function l() { + return r.get.call(this); + }), 1 !== n && 4 !== n || (u = function u(e) { + r.set.call(this, e); + })), f.access = l && u ? { + get: l, + set: u + } : l ? { + get: l + } : { + set: u + }; + try { + return e(o, f); + } finally { + p.v = !0; + } + } + function assertCallable(e, t) { + if ("function" != typeof e) throw new TypeError(t + " must be a function"); + } + function assertValidReturnValue(e, t) { + var r = _typeof(t); + if (1 === e) { + if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); + void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init"); + } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0"); + } + function applyMemberDec(e, t, r, a, n, i, s, o) { + var c, + l, + u, + f, + p, + d, + h = r[0]; + if (s ? c = 0 === n || 1 === n ? { + get: r[3], + set: r[4] + } : 3 === n ? { + get: r[3] + } : 4 === n ? { + set: r[3] + } : { + value: r[3] + } : 0 !== n && (c = Object.getOwnPropertyDescriptor(t, a)), 1 === n ? u = { + get: c.get, + set: c.set + } : 2 === n ? u = c.value : 3 === n ? u = c.get : 4 === n && (u = c.set), "function" == typeof h) void 0 !== (f = memberDec(h, a, c, o, n, i, s, u)) && (assertValidReturnValue(n, f), 0 === n ? l = f : 1 === n ? (l = f.init, p = f.get || u.get, d = f.set || u.set, u = { + get: p, + set: d + }) : u = f);else for (var v = h.length - 1; v >= 0; v--) { + var g; + void 0 !== (f = memberDec(h[v], a, c, o, n, i, s, u)) && (assertValidReturnValue(n, f), 0 === n ? g = f : 1 === n ? (g = f.init, p = f.get || u.get, d = f.set || u.set, u = { + get: p, + set: d + }) : u = f, void 0 !== g && (void 0 === l ? l = g : "function" == typeof l ? l = [l, g] : l.push(g))); + } + if (0 === n || 1 === n) { + if (void 0 === l) l = function l(e, t) { + return t; + };else if ("function" != typeof l) { + var y = l; + l = function l(e, t) { + for (var r = t, a = 0; a < y.length; a++) r = y[a].call(e, r); + return r; + }; + } else { + var m = l; + l = function l(e, t) { + return m.call(e, t); + }; + } + e.push(l); + } + 0 !== n && (1 === n ? (c.get = u.get, c.set = u.set) : 2 === n ? c.value = u : 3 === n ? c.get = u : 4 === n && (c.set = u), s ? 1 === n ? (e.push(function (e, t) { + return u.get.call(e, t); + }), e.push(function (e, t) { + return u.set.call(e, t); + })) : 2 === n ? e.push(u) : e.push(function (e, t) { + return u.call(e, t); + }) : Object.defineProperty(t, a, c)); + } + function pushInitializers(e, t) { + t && e.push(function (e) { + for (var r = 0; r < t.length; r++) t[r].call(e); + return e; + }); + } + return function (e, t, r) { + var a = []; + return function (e, t, r) { + for (var a, n, i = new Map(), s = new Map(), o = 0; o < r.length; o++) { + var c = r[o]; + if (Array.isArray(c)) { + var l, + u, + f = c[1], + p = c[2], + d = c.length > 3, + h = f >= 5; + if (h ? (l = t, 0 != (f -= 5) && (u = n = n || [])) : (l = t.prototype, 0 !== f && (u = a = a || [])), 0 !== f && !d) { + var v = h ? s : i, + g = v.get(p) || 0; + if (!0 === g || 3 === g && 4 !== f || 4 === g && 3 !== f) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + p); + !g && f > 2 ? v.set(p, f) : v.set(p, !0); + } + applyMemberDec(e, l, c, p, f, h, d, u); + } + } + pushInitializers(e, a), pushInitializers(e, n); + }(a, e, t), function (e, t, r) { + if (r.length > 0) { + for (var a = [], n = t, i = t.name, s = r.length - 1; s >= 0; s--) { + var o = { + v: !1 + }; + try { + var c = r[s](n, { + kind: "class", + name: i, + addInitializer: createAddInitializerMethod(a, o) + }); + } finally { + o.v = !0; + } + void 0 !== c && (assertValidReturnValue(10, c), n = c); + } + e.push(n, function () { + for (var e = 0; e < a.length; e++) a[e].call(n); + }); + } + }(a, e, r), a; + }; +} +var applyDecs2203Impl; +function applyDecs2203(e, t, r) { + return (applyDecs2203Impl = applyDecs2203Impl || applyDecs2203Factory())(e, t, r); +} +module.exports = applyDecs2203, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/applyDecs2203R.js b/node_modules/@babel/runtime/helpers/applyDecs2203R.js new file mode 100644 index 00000000..725419b5 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/applyDecs2203R.js @@ -0,0 +1,191 @@ +var _typeof = require("./typeof.js")["default"]; +var setFunctionName = require("./setFunctionName.js"); +var toPropertyKey = require("./toPropertyKey.js"); +function applyDecs2203RFactory() { + function createAddInitializerMethod(e, t) { + return function (r) { + !function (e, t) { + if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); + }(t), assertCallable(r, "An initializer"), e.push(r); + }; + } + function memberDec(e, t, r, n, a, i, o, s) { + var c; + switch (a) { + case 1: + c = "accessor"; + break; + case 2: + c = "method"; + break; + case 3: + c = "getter"; + break; + case 4: + c = "setter"; + break; + default: + c = "field"; + } + var l, + u, + f = { + kind: c, + name: o ? "#" + t : toPropertyKey(t), + "static": i, + "private": o + }, + p = { + v: !1 + }; + 0 !== a && (f.addInitializer = createAddInitializerMethod(n, p)), 0 === a ? o ? (l = r.get, u = r.set) : (l = function l() { + return this[t]; + }, u = function u(e) { + this[t] = e; + }) : 2 === a ? l = function l() { + return r.value; + } : (1 !== a && 3 !== a || (l = function l() { + return r.get.call(this); + }), 1 !== a && 4 !== a || (u = function u(e) { + r.set.call(this, e); + })), f.access = l && u ? { + get: l, + set: u + } : l ? { + get: l + } : { + set: u + }; + try { + return e(s, f); + } finally { + p.v = !0; + } + } + function assertCallable(e, t) { + if ("function" != typeof e) throw new TypeError(t + " must be a function"); + } + function assertValidReturnValue(e, t) { + var r = _typeof(t); + if (1 === e) { + if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); + void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init"); + } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0"); + } + function applyMemberDec(e, t, r, n, a, i, o, s) { + var c, + l, + u, + f, + p, + d, + h, + v = r[0]; + if (o ? (0 === a || 1 === a ? (c = { + get: r[3], + set: r[4] + }, u = "get") : 3 === a ? (c = { + get: r[3] + }, u = "get") : 4 === a ? (c = { + set: r[3] + }, u = "set") : c = { + value: r[3] + }, 0 !== a && (1 === a && setFunctionName(r[4], "#" + n, "set"), setFunctionName(r[3], "#" + n, u))) : 0 !== a && (c = Object.getOwnPropertyDescriptor(t, n)), 1 === a ? f = { + get: c.get, + set: c.set + } : 2 === a ? f = c.value : 3 === a ? f = c.get : 4 === a && (f = c.set), "function" == typeof v) void 0 !== (p = memberDec(v, n, c, s, a, i, o, f)) && (assertValidReturnValue(a, p), 0 === a ? l = p : 1 === a ? (l = p.init, d = p.get || f.get, h = p.set || f.set, f = { + get: d, + set: h + }) : f = p);else for (var g = v.length - 1; g >= 0; g--) { + var y; + void 0 !== (p = memberDec(v[g], n, c, s, a, i, o, f)) && (assertValidReturnValue(a, p), 0 === a ? y = p : 1 === a ? (y = p.init, d = p.get || f.get, h = p.set || f.set, f = { + get: d, + set: h + }) : f = p, void 0 !== y && (void 0 === l ? l = y : "function" == typeof l ? l = [l, y] : l.push(y))); + } + if (0 === a || 1 === a) { + if (void 0 === l) l = function l(e, t) { + return t; + };else if ("function" != typeof l) { + var m = l; + l = function l(e, t) { + for (var r = t, n = 0; n < m.length; n++) r = m[n].call(e, r); + return r; + }; + } else { + var b = l; + l = function l(e, t) { + return b.call(e, t); + }; + } + e.push(l); + } + 0 !== a && (1 === a ? (c.get = f.get, c.set = f.set) : 2 === a ? c.value = f : 3 === a ? c.get = f : 4 === a && (c.set = f), o ? 1 === a ? (e.push(function (e, t) { + return f.get.call(e, t); + }), e.push(function (e, t) { + return f.set.call(e, t); + })) : 2 === a ? e.push(f) : e.push(function (e, t) { + return f.call(e, t); + }) : Object.defineProperty(t, n, c)); + } + function applyMemberDecs(e, t) { + for (var r, n, a = [], i = new Map(), o = new Map(), s = 0; s < t.length; s++) { + var c = t[s]; + if (Array.isArray(c)) { + var l, + u, + f = c[1], + p = c[2], + d = c.length > 3, + h = f >= 5; + if (h ? (l = e, 0 != (f -= 5) && (u = n = n || [])) : (l = e.prototype, 0 !== f && (u = r = r || [])), 0 !== f && !d) { + var v = h ? o : i, + g = v.get(p) || 0; + if (!0 === g || 3 === g && 4 !== f || 4 === g && 3 !== f) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + p); + !g && f > 2 ? v.set(p, f) : v.set(p, !0); + } + applyMemberDec(a, l, c, p, f, h, d, u); + } + } + return pushInitializers(a, r), pushInitializers(a, n), a; + } + function pushInitializers(e, t) { + t && e.push(function (e) { + for (var r = 0; r < t.length; r++) t[r].call(e); + return e; + }); + } + return function (e, t, r) { + return { + e: applyMemberDecs(e, t), + get c() { + return function (e, t) { + if (t.length > 0) { + for (var r = [], n = e, a = e.name, i = t.length - 1; i >= 0; i--) { + var o = { + v: !1 + }; + try { + var s = t[i](n, { + kind: "class", + name: a, + addInitializer: createAddInitializerMethod(r, o) + }); + } finally { + o.v = !0; + } + void 0 !== s && (assertValidReturnValue(10, s), n = s); + } + return [n, function () { + for (var e = 0; e < r.length; e++) r[e].call(n); + }]; + } + }(e, r); + } + }; + }; +} +function applyDecs2203R(e, t, r) { + return (module.exports = applyDecs2203R = applyDecs2203RFactory(), module.exports.__esModule = true, module.exports["default"] = module.exports)(e, t, r); +} +module.exports = applyDecs2203R, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/applyDecs2301.js b/node_modules/@babel/runtime/helpers/applyDecs2301.js new file mode 100644 index 00000000..fc2c1307 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/applyDecs2301.js @@ -0,0 +1,222 @@ +var _typeof = require("./typeof.js")["default"]; +var checkInRHS = require("./checkInRHS.js"); +var setFunctionName = require("./setFunctionName.js"); +var toPropertyKey = require("./toPropertyKey.js"); +function applyDecs2301Factory() { + function createAddInitializerMethod(e, t) { + return function (r) { + !function (e, t) { + if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); + }(t), assertCallable(r, "An initializer"), e.push(r); + }; + } + function assertInstanceIfPrivate(e, t) { + if (!e(t)) throw new TypeError("Attempted to access private element on non-instance"); + } + function memberDec(e, t, r, n, a, i, s, o, c) { + var u; + switch (a) { + case 1: + u = "accessor"; + break; + case 2: + u = "method"; + break; + case 3: + u = "getter"; + break; + case 4: + u = "setter"; + break; + default: + u = "field"; + } + var l, + f, + p = { + kind: u, + name: s ? "#" + t : toPropertyKey(t), + "static": i, + "private": s + }, + d = { + v: !1 + }; + if (0 !== a && (p.addInitializer = createAddInitializerMethod(n, d)), s || 0 !== a && 2 !== a) { + if (2 === a) l = function l(e) { + return assertInstanceIfPrivate(c, e), r.value; + };else { + var h = 0 === a || 1 === a; + (h || 3 === a) && (l = s ? function (e) { + return assertInstanceIfPrivate(c, e), r.get.call(e); + } : function (e) { + return r.get.call(e); + }), (h || 4 === a) && (f = s ? function (e, t) { + assertInstanceIfPrivate(c, e), r.set.call(e, t); + } : function (e, t) { + r.set.call(e, t); + }); + } + } else l = function l(e) { + return e[t]; + }, 0 === a && (f = function f(e, r) { + e[t] = r; + }); + var v = s ? c.bind() : function (e) { + return t in e; + }; + p.access = l && f ? { + get: l, + set: f, + has: v + } : l ? { + get: l, + has: v + } : { + set: f, + has: v + }; + try { + return e(o, p); + } finally { + d.v = !0; + } + } + function assertCallable(e, t) { + if ("function" != typeof e) throw new TypeError(t + " must be a function"); + } + function assertValidReturnValue(e, t) { + var r = _typeof(t); + if (1 === e) { + if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); + void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init"); + } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0"); + } + function curryThis2(e) { + return function (t) { + e(this, t); + }; + } + function applyMemberDec(e, t, r, n, a, i, s, o, c) { + var u, + l, + f, + p, + d, + h, + v, + y, + g = r[0]; + if (s ? (0 === a || 1 === a ? (u = { + get: (d = r[3], function () { + return d(this); + }), + set: curryThis2(r[4]) + }, f = "get") : 3 === a ? (u = { + get: r[3] + }, f = "get") : 4 === a ? (u = { + set: r[3] + }, f = "set") : u = { + value: r[3] + }, 0 !== a && (1 === a && setFunctionName(u.set, "#" + n, "set"), setFunctionName(u[f || "value"], "#" + n, f))) : 0 !== a && (u = Object.getOwnPropertyDescriptor(t, n)), 1 === a ? p = { + get: u.get, + set: u.set + } : 2 === a ? p = u.value : 3 === a ? p = u.get : 4 === a && (p = u.set), "function" == typeof g) void 0 !== (h = memberDec(g, n, u, o, a, i, s, p, c)) && (assertValidReturnValue(a, h), 0 === a ? l = h : 1 === a ? (l = h.init, v = h.get || p.get, y = h.set || p.set, p = { + get: v, + set: y + }) : p = h);else for (var m = g.length - 1; m >= 0; m--) { + var b; + void 0 !== (h = memberDec(g[m], n, u, o, a, i, s, p, c)) && (assertValidReturnValue(a, h), 0 === a ? b = h : 1 === a ? (b = h.init, v = h.get || p.get, y = h.set || p.set, p = { + get: v, + set: y + }) : p = h, void 0 !== b && (void 0 === l ? l = b : "function" == typeof l ? l = [l, b] : l.push(b))); + } + if (0 === a || 1 === a) { + if (void 0 === l) l = function l(e, t) { + return t; + };else if ("function" != typeof l) { + var I = l; + l = function l(e, t) { + for (var r = t, n = 0; n < I.length; n++) r = I[n].call(e, r); + return r; + }; + } else { + var w = l; + l = function l(e, t) { + return w.call(e, t); + }; + } + e.push(l); + } + 0 !== a && (1 === a ? (u.get = p.get, u.set = p.set) : 2 === a ? u.value = p : 3 === a ? u.get = p : 4 === a && (u.set = p), s ? 1 === a ? (e.push(function (e, t) { + return p.get.call(e, t); + }), e.push(function (e, t) { + return p.set.call(e, t); + })) : 2 === a ? e.push(p) : e.push(function (e, t) { + return p.call(e, t); + }) : Object.defineProperty(t, n, u)); + } + function applyMemberDecs(e, t, r) { + for (var n, a, i, s = [], o = new Map(), c = new Map(), u = 0; u < t.length; u++) { + var l = t[u]; + if (Array.isArray(l)) { + var f, + p, + d = l[1], + h = l[2], + v = l.length > 3, + y = d >= 5, + g = r; + if (y ? (f = e, 0 != (d -= 5) && (p = a = a || []), v && !i && (i = function i(t) { + return checkInRHS(t) === e; + }), g = i) : (f = e.prototype, 0 !== d && (p = n = n || [])), 0 !== d && !v) { + var m = y ? c : o, + b = m.get(h) || 0; + if (!0 === b || 3 === b && 4 !== d || 4 === b && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); + !b && d > 2 ? m.set(h, d) : m.set(h, !0); + } + applyMemberDec(s, f, l, h, d, y, v, p, g); + } + } + return pushInitializers(s, n), pushInitializers(s, a), s; + } + function pushInitializers(e, t) { + t && e.push(function (e) { + for (var r = 0; r < t.length; r++) t[r].call(e); + return e; + }); + } + return function (e, t, r, n) { + return { + e: applyMemberDecs(e, t, n), + get c() { + return function (e, t) { + if (t.length > 0) { + for (var r = [], n = e, a = e.name, i = t.length - 1; i >= 0; i--) { + var s = { + v: !1 + }; + try { + var o = t[i](n, { + kind: "class", + name: a, + addInitializer: createAddInitializerMethod(r, s) + }); + } finally { + s.v = !0; + } + void 0 !== o && (assertValidReturnValue(10, o), n = o); + } + return [n, function () { + for (var e = 0; e < r.length; e++) r[e].call(n); + }]; + } + }(e, r); + } + }; + }; +} +function applyDecs2301(e, t, r, n) { + return (module.exports = applyDecs2301 = applyDecs2301Factory(), module.exports.__esModule = true, module.exports["default"] = module.exports)(e, t, r, n); +} +module.exports = applyDecs2301, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/applyDecs2305.js b/node_modules/@babel/runtime/helpers/applyDecs2305.js new file mode 100644 index 00000000..744c3521 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/applyDecs2305.js @@ -0,0 +1,133 @@ +var _typeof = require("./typeof.js")["default"]; +var checkInRHS = require("./checkInRHS.js"); +var setFunctionName = require("./setFunctionName.js"); +var toPropertyKey = require("./toPropertyKey.js"); +function applyDecs2305(e, t, r, n, o, a) { + function i(e, t, r) { + return function (n, o) { + return r && r(n), e[t].call(n, o); + }; + } + function c(e, t) { + for (var r = 0; r < e.length; r++) e[r].call(t); + return t; + } + function s(e, t, r, n) { + if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); + return e; + } + function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { + function m(e) { + if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); + } + var y, + v = t[0], + g = t[3], + b = !u; + if (!b) { + r || Array.isArray(v) || (v = [v]); + var w = {}, + S = [], + A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; + f ? (p || d ? w = { + get: setFunctionName(function () { + return g(this); + }, n, "get"), + set: function set(e) { + t[4](this, e); + } + } : w[A] = g, p || setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); + } + for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { + var D = v[j], + E = r ? v[j - 1] : void 0, + I = {}, + O = { + kind: ["field", "accessor", "method", "getter", "setter", "class"][o], + name: n, + metadata: a, + addInitializer: function (e, t) { + if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); + s(t, "An initializer", "be", !0), c.push(t); + }.bind(null, I) + }; + try { + if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { + var k, F; + O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { + return m(e), w.value; + } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { + return e[n]; + }, (o < 2 || 4 === o) && (F = function F(e, t) { + e[n] = t; + })); + var N = O.access = { + has: f ? h.bind() : function (e) { + return n in e; + } + }; + if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { + get: w.get, + set: w.set + } : w[A], O), d) { + if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); + } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); + } + } finally { + I.v = !0; + } + } + return (p || d) && u.push(function (e, t) { + for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); + return t; + }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; + } + function u(e, t) { + return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { + configurable: !0, + enumerable: !0, + value: t + }); + } + if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; + var f = Object.create(null == l ? null : l), + p = function (e, t, r, n) { + var o, + a, + i = [], + s = function s(t) { + return checkInRHS(t) === e; + }, + u = new Map(); + function l(e) { + e && i.push(c.bind(null, e)); + } + for (var f = 0; f < t.length; f++) { + var p = t[f]; + if (Array.isArray(p)) { + var d = p[1], + h = p[2], + m = p.length > 3, + y = 16 & d, + v = !!(8 & d), + g = 0 == (d &= 7), + b = h + "/" + v; + if (!g && !m) { + var w = u.get(b); + if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); + u.set(b, !(d > 2) || d); + } + applyDec(v ? e : e.prototype, p, y, m ? "#" + h : toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); + } + } + return l(o), l(a), i; + }(e, t, o, f); + return r.length || u(e, f), { + e: p, + get c() { + var t = []; + return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; + } + }; +} +module.exports = applyDecs2305, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/applyDecs2311.js b/node_modules/@babel/runtime/helpers/applyDecs2311.js new file mode 100644 index 00000000..5f00a311 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/applyDecs2311.js @@ -0,0 +1,124 @@ +var _typeof = require("./typeof.js")["default"]; +var checkInRHS = require("./checkInRHS.js"); +var setFunctionName = require("./setFunctionName.js"); +var toPropertyKey = require("./toPropertyKey.js"); +function applyDecs2311(e, t, n, r, o, i) { + var a, + c, + u, + s, + f, + l, + p, + d = Symbol.metadata || Symbol["for"]("Symbol.metadata"), + m = Object.defineProperty, + h = Object.create, + y = [h(null), h(null)], + v = t.length; + function g(t, n, r) { + return function (o, i) { + n && (i = o, o = e); + for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); + return r ? i : o; + }; + } + function b(e, t, n, r) { + if ("function" != typeof e && (r || void 0 !== e)) throw new TypeError(t + " must " + (n || "be") + " a function" + (r ? "" : " or undefined")); + return e; + } + function applyDec(e, t, n, r, o, i, u, s, f, l, p) { + function d(e) { + if (!p(e)) throw new TypeError("Attempted to access private element on non-instance"); + } + var h = [].concat(t[0]), + v = t[3], + w = !u, + D = 1 === o, + S = 3 === o, + j = 4 === o, + E = 2 === o; + function I(t, n, r) { + return function (o, i) { + return n && (i = o, o = e), r && r(o), P[t].call(o, i); + }; + } + if (!w) { + var P = {}, + k = [], + F = S ? "get" : j || D ? "set" : "value"; + if (f ? (l || D ? P = { + get: setFunctionName(function () { + return v(this); + }, r, "get"), + set: function set(e) { + t[4](this, e); + } + } : P[F] = v, l || setFunctionName(P[F], r, E ? "" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { + if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error("Decorating two elements with the same name (" + P[F].name + ") is not supported yet"); + y[+s][r] = o < 3 ? 1 : o; + } + } + for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { + var T = b(h[O], "A decorator", "be", !0), + z = n ? h[O - 1] : void 0, + A = {}, + H = { + kind: ["field", "accessor", "method", "getter", "setter", "class"][o], + name: r, + metadata: a, + addInitializer: function (e, t) { + if (e.v) throw new TypeError("attempted to call addInitializer after decoration was finished"); + b(t, "An initializer", "be", !0), i.push(t); + }.bind(null, A) + }; + if (w) c = T.call(z, N, H), A.v = 1, b(c, "class decorators", "return") && (N = c);else if (H["static"] = s, H["private"] = f, c = H.access = { + has: f ? p.bind() : function (e) { + return r in e; + } + }, j || (c.get = f ? E ? function (e) { + return d(e), P.value; + } : I("get", 0, d) : function (e) { + return e[r]; + }), E || S || (c.set = f ? I("set", 0, d) : function (e, t) { + e[r] = t; + }), N = T.call(z, D ? { + get: P.get, + set: P.set + } : P[F], H), A.v = 1, D) { + if ("object" == _typeof(N) && N) (c = b(N.get, "accessor.get")) && (P.get = c), (c = b(N.set, "accessor.set")) && (P.set = c), (c = b(N.init, "accessor.init")) && k.unshift(c);else if (void 0 !== N) throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined"); + } else b(N, (l ? "field" : "method") + " decorators", "return") && (l ? k.unshift(N) : P[F] = N); + } + return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I("get", s), I("set", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; + } + function w(e) { + return m(e, d, { + configurable: !0, + enumerable: !0, + value: a + }); + } + return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) { + e && f.push(g(e)); + }, p = function p(t, r) { + for (var i = 0; i < n.length; i++) { + var a = n[i], + c = a[1], + l = 7 & c; + if ((8 & c) == t && !l == r) { + var p = a[2], + d = !!a[3], + m = 16 & c; + applyDec(t ? e : e.prototype, a, m, d ? "#" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { + return checkInRHS(t) === e; + } : o); + } + } + }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { + e: c, + get c() { + var n = []; + return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; + } + }; +} +module.exports = applyDecs2311, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/arrayLikeToArray.js b/node_modules/@babel/runtime/helpers/arrayLikeToArray.js new file mode 100644 index 00000000..19787e31 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/arrayLikeToArray.js @@ -0,0 +1,6 @@ +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/arrayWithHoles.js b/node_modules/@babel/runtime/helpers/arrayWithHoles.js new file mode 100644 index 00000000..78bdd931 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/arrayWithHoles.js @@ -0,0 +1,4 @@ +function _arrayWithHoles(r) { + if (Array.isArray(r)) return r; +} +module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js b/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js new file mode 100644 index 00000000..42218f54 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js @@ -0,0 +1,5 @@ +var arrayLikeToArray = require("./arrayLikeToArray.js"); +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return arrayLikeToArray(r); +} +module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/assertClassBrand.js b/node_modules/@babel/runtime/helpers/assertClassBrand.js new file mode 100644 index 00000000..e63ed8f4 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/assertClassBrand.js @@ -0,0 +1,5 @@ +function _assertClassBrand(e, t, n) { + if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; + throw new TypeError("Private element is not present on this object"); +} +module.exports = _assertClassBrand, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/assertThisInitialized.js b/node_modules/@babel/runtime/helpers/assertThisInitialized.js new file mode 100644 index 00000000..02594fbe --- /dev/null +++ b/node_modules/@babel/runtime/helpers/assertThisInitialized.js @@ -0,0 +1,5 @@ +function _assertThisInitialized(e) { + if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return e; +} +module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js b/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js new file mode 100644 index 00000000..023568e0 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js @@ -0,0 +1,24 @@ +var OverloadYield = require("./OverloadYield.js"); +function _asyncGeneratorDelegate(t) { + var e = {}, + n = !1; + function pump(e, r) { + return n = !0, r = new Promise(function (n) { + n(t[e](r)); + }), { + done: !1, + value: new OverloadYield(r, 1) + }; + } + return e["undefined" != typeof Symbol && Symbol.iterator || "@@iterator"] = function () { + return this; + }, e.next = function (t) { + return n ? (n = !1, t) : pump("next", t); + }, "function" == typeof t["throw"] && (e["throw"] = function (t) { + if (n) throw n = !1, t; + return pump("throw", t); + }), "function" == typeof t["return"] && (e["return"] = function (t) { + return n ? (n = !1, t) : pump("return", t); + }), e; +} +module.exports = _asyncGeneratorDelegate, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/asyncIterator.js b/node_modules/@babel/runtime/helpers/asyncIterator.js new file mode 100644 index 00000000..9c0c95cf --- /dev/null +++ b/node_modules/@babel/runtime/helpers/asyncIterator.js @@ -0,0 +1,45 @@ +function _asyncIterator(r) { + var n, + t, + o, + e = 2; + for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { + if (t && null != (n = r[t])) return n.call(r); + if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); + t = "@@asyncIterator", o = "@@iterator"; + } + throw new TypeError("Object is not async iterable"); +} +function AsyncFromSyncIterator(r) { + function AsyncFromSyncIteratorContinuation(r) { + if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); + var n = r.done; + return Promise.resolve(r.value).then(function (r) { + return { + value: r, + done: n + }; + }); + } + return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) { + this.s = r, this.n = r.next; + }, AsyncFromSyncIterator.prototype = { + s: null, + n: null, + next: function next() { + return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); + }, + "return": function _return(r) { + var n = this.s["return"]; + return void 0 === n ? Promise.resolve({ + value: r, + done: !0 + }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); + }, + "throw": function _throw(r) { + var n = this.s["return"]; + return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); + } + }, new AsyncFromSyncIterator(r); +} +module.exports = _asyncIterator, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/asyncToGenerator.js b/node_modules/@babel/runtime/helpers/asyncToGenerator.js new file mode 100644 index 00000000..a080339b --- /dev/null +++ b/node_modules/@babel/runtime/helpers/asyncToGenerator.js @@ -0,0 +1,26 @@ +function asyncGeneratorStep(n, t, e, r, o, a, c) { + try { + var i = n[a](c), + u = i.value; + } catch (n) { + return void e(n); + } + i.done ? t(u) : Promise.resolve(u).then(r, o); +} +function _asyncToGenerator(n) { + return function () { + var t = this, + e = arguments; + return new Promise(function (r, o) { + var a = n.apply(t, e); + function _next(n) { + asyncGeneratorStep(a, r, o, _next, _throw, "next", n); + } + function _throw(n) { + asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); + } + _next(void 0); + }); + }; +} +module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js b/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js new file mode 100644 index 00000000..2d6fab91 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js @@ -0,0 +1,5 @@ +var OverloadYield = require("./OverloadYield.js"); +function _awaitAsyncGenerator(e) { + return new OverloadYield(e, 0); +} +module.exports = _awaitAsyncGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/callSuper.js b/node_modules/@babel/runtime/helpers/callSuper.js new file mode 100644 index 00000000..38eaf7f8 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/callSuper.js @@ -0,0 +1,7 @@ +var getPrototypeOf = require("./getPrototypeOf.js"); +var isNativeReflectConstruct = require("./isNativeReflectConstruct.js"); +var possibleConstructorReturn = require("./possibleConstructorReturn.js"); +function _callSuper(t, o, e) { + return o = getPrototypeOf(o), possibleConstructorReturn(t, isNativeReflectConstruct() ? Reflect.construct(o, e || [], getPrototypeOf(t).constructor) : o.apply(t, e)); +} +module.exports = _callSuper, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/checkInRHS.js b/node_modules/@babel/runtime/helpers/checkInRHS.js new file mode 100644 index 00000000..4eea13d9 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/checkInRHS.js @@ -0,0 +1,6 @@ +var _typeof = require("./typeof.js")["default"]; +function _checkInRHS(e) { + if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); + return e; +} +module.exports = _checkInRHS, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js b/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js new file mode 100644 index 00000000..33ad54c9 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js @@ -0,0 +1,4 @@ +function _checkPrivateRedeclaration(e, t) { + if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); +} +module.exports = _checkPrivateRedeclaration, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js b/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js new file mode 100644 index 00000000..9998b835 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js @@ -0,0 +1,10 @@ +function _classApplyDescriptorDestructureSet(e, t) { + if (t.set) return "__destrObj" in t || (t.__destrObj = { + set value(r) { + t.set.call(e, r); + } + }), t.__destrObj; + if (!t.writable) throw new TypeError("attempted to set read only private field"); + return t; +} +module.exports = _classApplyDescriptorDestructureSet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js b/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js new file mode 100644 index 00000000..ab627245 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js @@ -0,0 +1,4 @@ +function _classApplyDescriptorGet(e, t) { + return t.get ? t.get.call(e) : t.value; +} +module.exports = _classApplyDescriptorGet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js b/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js new file mode 100644 index 00000000..0975f95f --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js @@ -0,0 +1,7 @@ +function _classApplyDescriptorSet(e, t, l) { + if (t.set) t.set.call(e, l);else { + if (!t.writable) throw new TypeError("attempted to set read only private field"); + t.value = l; + } +} +module.exports = _classApplyDescriptorSet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classCallCheck.js b/node_modules/@babel/runtime/helpers/classCallCheck.js new file mode 100644 index 00000000..21b8390f --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classCallCheck.js @@ -0,0 +1,4 @@ +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} +module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js b/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js new file mode 100644 index 00000000..7520f74d --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js @@ -0,0 +1,5 @@ +var assertClassBrand = require("./assertClassBrand.js"); +function _classCheckPrivateStaticAccess(s, a, r) { + return assertClassBrand(a, s, r); +} +module.exports = _classCheckPrivateStaticAccess, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js b/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js new file mode 100644 index 00000000..7f70395e --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js @@ -0,0 +1,4 @@ +function _classCheckPrivateStaticFieldDescriptor(t, e) { + if (void 0 === t) throw new TypeError("attempted to " + e + " private static field before its declaration"); +} +module.exports = _classCheckPrivateStaticFieldDescriptor, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js b/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js new file mode 100644 index 00000000..be855be9 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js @@ -0,0 +1,5 @@ +var classPrivateFieldGet2 = require("./classPrivateFieldGet2.js"); +function _classExtractFieldDescriptor(e, t) { + return classPrivateFieldGet2(t, e); +} +module.exports = _classExtractFieldDescriptor, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classNameTDZError.js b/node_modules/@babel/runtime/helpers/classNameTDZError.js new file mode 100644 index 00000000..8141ff89 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classNameTDZError.js @@ -0,0 +1,4 @@ +function _classNameTDZError(e) { + throw new ReferenceError('Class "' + e + '" cannot be referenced in computed property keys.'); +} +module.exports = _classNameTDZError, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js b/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js new file mode 100644 index 00000000..97c764d0 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js @@ -0,0 +1,7 @@ +var classApplyDescriptorDestructureSet = require("./classApplyDescriptorDestructureSet.js"); +var classPrivateFieldGet2 = require("./classPrivateFieldGet2.js"); +function _classPrivateFieldDestructureSet(e, t) { + var r = classPrivateFieldGet2(t, e); + return classApplyDescriptorDestructureSet(e, r); +} +module.exports = _classPrivateFieldDestructureSet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js b/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js new file mode 100644 index 00000000..bbee142a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js @@ -0,0 +1,7 @@ +var classApplyDescriptorGet = require("./classApplyDescriptorGet.js"); +var classPrivateFieldGet2 = require("./classPrivateFieldGet2.js"); +function _classPrivateFieldGet(e, t) { + var r = classPrivateFieldGet2(t, e); + return classApplyDescriptorGet(e, r); +} +module.exports = _classPrivateFieldGet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateFieldGet2.js b/node_modules/@babel/runtime/helpers/classPrivateFieldGet2.js new file mode 100644 index 00000000..d4c271c7 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateFieldGet2.js @@ -0,0 +1,5 @@ +var assertClassBrand = require("./assertClassBrand.js"); +function _classPrivateFieldGet2(s, a) { + return s.get(assertClassBrand(s, a)); +} +module.exports = _classPrivateFieldGet2, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js b/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js new file mode 100644 index 00000000..a290c19a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js @@ -0,0 +1,5 @@ +var checkPrivateRedeclaration = require("./checkPrivateRedeclaration.js"); +function _classPrivateFieldInitSpec(e, t, a) { + checkPrivateRedeclaration(e, t), t.set(e, a); +} +module.exports = _classPrivateFieldInitSpec, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js b/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js new file mode 100644 index 00000000..f9e46f26 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js @@ -0,0 +1,5 @@ +function _classPrivateFieldBase(e, t) { + if (!{}.hasOwnProperty.call(e, t)) throw new TypeError("attempted to use private field on non-instance"); + return e; +} +module.exports = _classPrivateFieldBase, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js b/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js new file mode 100644 index 00000000..5dc687fe --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js @@ -0,0 +1,5 @@ +var id = 0; +function _classPrivateFieldKey(e) { + return "__private_" + id++ + "_" + e; +} +module.exports = _classPrivateFieldKey, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js b/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js new file mode 100644 index 00000000..f3746e74 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js @@ -0,0 +1,7 @@ +var classApplyDescriptorSet = require("./classApplyDescriptorSet.js"); +var classPrivateFieldGet2 = require("./classPrivateFieldGet2.js"); +function _classPrivateFieldSet(e, t, r) { + var s = classPrivateFieldGet2(t, e); + return classApplyDescriptorSet(e, s, r), r; +} +module.exports = _classPrivateFieldSet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateFieldSet2.js b/node_modules/@babel/runtime/helpers/classPrivateFieldSet2.js new file mode 100644 index 00000000..25c60caa --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateFieldSet2.js @@ -0,0 +1,5 @@ +var assertClassBrand = require("./assertClassBrand.js"); +function _classPrivateFieldSet2(s, a, r) { + return s.set(assertClassBrand(s, a), r), r; +} +module.exports = _classPrivateFieldSet2, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateGetter.js b/node_modules/@babel/runtime/helpers/classPrivateGetter.js new file mode 100644 index 00000000..1b3cf30a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateGetter.js @@ -0,0 +1,5 @@ +var assertClassBrand = require("./assertClassBrand.js"); +function _classPrivateGetter(s, r, a) { + return a(assertClassBrand(s, r)); +} +module.exports = _classPrivateGetter, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js b/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js new file mode 100644 index 00000000..e4af3878 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js @@ -0,0 +1,5 @@ +var assertClassBrand = require("./assertClassBrand.js"); +function _classPrivateMethodGet(s, a, r) { + return assertClassBrand(a, s), r; +} +module.exports = _classPrivateMethodGet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js b/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js new file mode 100644 index 00000000..821c8ed0 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js @@ -0,0 +1,5 @@ +var checkPrivateRedeclaration = require("./checkPrivateRedeclaration.js"); +function _classPrivateMethodInitSpec(e, a) { + checkPrivateRedeclaration(e, a), a.add(e); +} +module.exports = _classPrivateMethodInitSpec, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js b/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js new file mode 100644 index 00000000..a44fd785 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js @@ -0,0 +1,4 @@ +function _classPrivateMethodSet() { + throw new TypeError("attempted to reassign private method"); +} +module.exports = _classPrivateMethodSet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classPrivateSetter.js b/node_modules/@babel/runtime/helpers/classPrivateSetter.js new file mode 100644 index 00000000..494f81f0 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classPrivateSetter.js @@ -0,0 +1,5 @@ +var assertClassBrand = require("./assertClassBrand.js"); +function _classPrivateSetter(s, r, a, t) { + return r(assertClassBrand(s, a), t), t; +} +module.exports = _classPrivateSetter, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js b/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js new file mode 100644 index 00000000..2bb6e8b1 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js @@ -0,0 +1,7 @@ +var classApplyDescriptorDestructureSet = require("./classApplyDescriptorDestructureSet.js"); +var assertClassBrand = require("./assertClassBrand.js"); +var classCheckPrivateStaticFieldDescriptor = require("./classCheckPrivateStaticFieldDescriptor.js"); +function _classStaticPrivateFieldDestructureSet(t, r, s) { + return assertClassBrand(r, t), classCheckPrivateStaticFieldDescriptor(s, "set"), classApplyDescriptorDestructureSet(t, s); +} +module.exports = _classStaticPrivateFieldDestructureSet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js b/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js new file mode 100644 index 00000000..eb2365f3 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js @@ -0,0 +1,7 @@ +var classApplyDescriptorGet = require("./classApplyDescriptorGet.js"); +var assertClassBrand = require("./assertClassBrand.js"); +var classCheckPrivateStaticFieldDescriptor = require("./classCheckPrivateStaticFieldDescriptor.js"); +function _classStaticPrivateFieldSpecGet(t, s, r) { + return assertClassBrand(s, t), classCheckPrivateStaticFieldDescriptor(r, "get"), classApplyDescriptorGet(t, r); +} +module.exports = _classStaticPrivateFieldSpecGet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js b/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js new file mode 100644 index 00000000..7783cd8d --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js @@ -0,0 +1,7 @@ +var classApplyDescriptorSet = require("./classApplyDescriptorSet.js"); +var assertClassBrand = require("./assertClassBrand.js"); +var classCheckPrivateStaticFieldDescriptor = require("./classCheckPrivateStaticFieldDescriptor.js"); +function _classStaticPrivateFieldSpecSet(s, t, r, e) { + return assertClassBrand(t, s), classCheckPrivateStaticFieldDescriptor(r, "set"), classApplyDescriptorSet(s, r, e), e; +} +module.exports = _classStaticPrivateFieldSpecSet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js b/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js new file mode 100644 index 00000000..c895be5c --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js @@ -0,0 +1,5 @@ +var assertClassBrand = require("./assertClassBrand.js"); +function _classStaticPrivateMethodGet(s, a, t) { + return assertClassBrand(a, s), t; +} +module.exports = _classStaticPrivateMethodGet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js b/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js new file mode 100644 index 00000000..72560e66 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js @@ -0,0 +1,4 @@ +function _classStaticPrivateMethodSet() { + throw new TypeError("attempted to set read only static private field"); +} +module.exports = _classStaticPrivateMethodSet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/construct.js b/node_modules/@babel/runtime/helpers/construct.js new file mode 100644 index 00000000..aee8e704 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/construct.js @@ -0,0 +1,10 @@ +var isNativeReflectConstruct = require("./isNativeReflectConstruct.js"); +var setPrototypeOf = require("./setPrototypeOf.js"); +function _construct(t, e, r) { + if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); + var o = [null]; + o.push.apply(o, e); + var p = new (t.bind.apply(t, o))(); + return r && setPrototypeOf(p, r.prototype), p; +} +module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/createClass.js b/node_modules/@babel/runtime/helpers/createClass.js new file mode 100644 index 00000000..8757f9ee --- /dev/null +++ b/node_modules/@babel/runtime/helpers/createClass.js @@ -0,0 +1,13 @@ +var toPropertyKey = require("./toPropertyKey.js"); +function _defineProperties(e, r) { + for (var t = 0; t < r.length; t++) { + var o = r[t]; + o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o); + } +} +function _createClass(e, r, t) { + return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { + writable: !1 + }), e; +} +module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js b/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js new file mode 100644 index 00000000..27783079 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js @@ -0,0 +1,50 @@ +var unsupportedIterableToArray = require("./unsupportedIterableToArray.js"); +function _createForOfIteratorHelper(r, e) { + var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t) { + if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { + t && (r = t); + var _n = 0, + F = function F() {}; + return { + s: F, + n: function n() { + return _n >= r.length ? { + done: !0 + } : { + done: !1, + value: r[_n++] + }; + }, + e: function e(r) { + throw r; + }, + f: F + }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, + a = !0, + u = !1; + return { + s: function s() { + t = t.call(r); + }, + n: function n() { + var r = t.next(); + return a = r.done, r; + }, + e: function e(r) { + u = !0, o = r; + }, + f: function f() { + try { + a || null == t["return"] || t["return"](); + } finally { + if (u) throw o; + } + } + }; +} +module.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js b/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js new file mode 100644 index 00000000..bc81b1cd --- /dev/null +++ b/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js @@ -0,0 +1,19 @@ +var unsupportedIterableToArray = require("./unsupportedIterableToArray.js"); +function _createForOfIteratorHelperLoose(r, e) { + var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (t) return (t = t.call(r)).next.bind(t); + if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { + t && (r = t); + var o = 0; + return function () { + return o >= r.length ? { + done: !0 + } : { + done: !1, + value: r[o++] + }; + }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +module.exports = _createForOfIteratorHelperLoose, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/createSuper.js b/node_modules/@babel/runtime/helpers/createSuper.js new file mode 100644 index 00000000..b1869e61 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/createSuper.js @@ -0,0 +1,16 @@ +var getPrototypeOf = require("./getPrototypeOf.js"); +var isNativeReflectConstruct = require("./isNativeReflectConstruct.js"); +var possibleConstructorReturn = require("./possibleConstructorReturn.js"); +function _createSuper(t) { + var r = isNativeReflectConstruct(); + return function () { + var e, + o = getPrototypeOf(t); + if (r) { + var s = getPrototypeOf(this).constructor; + e = Reflect.construct(o, arguments, s); + } else e = o.apply(this, arguments); + return possibleConstructorReturn(this, e); + }; +} +module.exports = _createSuper, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/decorate.js b/node_modules/@babel/runtime/helpers/decorate.js new file mode 100644 index 00000000..bc22acf4 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/decorate.js @@ -0,0 +1,250 @@ +var toArray = require("./toArray.js"); +var toPropertyKey = require("./toPropertyKey.js"); +function _decorate(e, r, t, i) { + var o = _getDecoratorsApi(); + if (i) for (var n = 0; n < i.length; n++) o = i[n](o); + var s = r(function (e) { + o.initializeInstanceElements(e, a.elements); + }, t), + a = o.decorateClass(_coalesceClassElements(s.d.map(_createElementDescriptor)), e); + return o.initializeClassElements(s.F, a.elements), o.runClassFinishers(s.F, a.finishers); +} +function _getDecoratorsApi() { + _getDecoratorsApi = function _getDecoratorsApi() { + return e; + }; + var e = { + elementsDefinitionOrder: [["method"], ["field"]], + initializeInstanceElements: function initializeInstanceElements(e, r) { + ["method", "field"].forEach(function (t) { + r.forEach(function (r) { + r.kind === t && "own" === r.placement && this.defineClassElement(e, r); + }, this); + }, this); + }, + initializeClassElements: function initializeClassElements(e, r) { + var t = e.prototype; + ["method", "field"].forEach(function (i) { + r.forEach(function (r) { + var o = r.placement; + if (r.kind === i && ("static" === o || "prototype" === o)) { + var n = "static" === o ? e : t; + this.defineClassElement(n, r); + } + }, this); + }, this); + }, + defineClassElement: function defineClassElement(e, r) { + var t = r.descriptor; + if ("field" === r.kind) { + var i = r.initializer; + t = { + enumerable: t.enumerable, + writable: t.writable, + configurable: t.configurable, + value: void 0 === i ? void 0 : i.call(e) + }; + } + Object.defineProperty(e, r.key, t); + }, + decorateClass: function decorateClass(e, r) { + var t = [], + i = [], + o = { + "static": [], + prototype: [], + own: [] + }; + if (e.forEach(function (e) { + this.addElementPlacement(e, o); + }, this), e.forEach(function (e) { + if (!_hasDecorators(e)) return t.push(e); + var r = this.decorateElement(e, o); + t.push(r.element), t.push.apply(t, r.extras), i.push.apply(i, r.finishers); + }, this), !r) return { + elements: t, + finishers: i + }; + var n = this.decorateConstructor(t, r); + return i.push.apply(i, n.finishers), n.finishers = i, n; + }, + addElementPlacement: function addElementPlacement(e, r, t) { + var i = r[e.placement]; + if (!t && -1 !== i.indexOf(e.key)) throw new TypeError("Duplicated element (" + e.key + ")"); + i.push(e.key); + }, + decorateElement: function decorateElement(e, r) { + for (var t = [], i = [], o = e.decorators, n = o.length - 1; n >= 0; n--) { + var s = r[e.placement]; + s.splice(s.indexOf(e.key), 1); + var a = this.fromElementDescriptor(e), + l = this.toElementFinisherExtras((0, o[n])(a) || a); + e = l.element, this.addElementPlacement(e, r), l.finisher && i.push(l.finisher); + var c = l.extras; + if (c) { + for (var p = 0; p < c.length; p++) this.addElementPlacement(c[p], r); + t.push.apply(t, c); + } + } + return { + element: e, + finishers: i, + extras: t + }; + }, + decorateConstructor: function decorateConstructor(e, r) { + for (var t = [], i = r.length - 1; i >= 0; i--) { + var o = this.fromClassDescriptor(e), + n = this.toClassDescriptor((0, r[i])(o) || o); + if (void 0 !== n.finisher && t.push(n.finisher), void 0 !== n.elements) { + e = n.elements; + for (var s = 0; s < e.length - 1; s++) for (var a = s + 1; a < e.length; a++) if (e[s].key === e[a].key && e[s].placement === e[a].placement) throw new TypeError("Duplicated element (" + e[s].key + ")"); + } + } + return { + elements: e, + finishers: t + }; + }, + fromElementDescriptor: function fromElementDescriptor(e) { + var r = { + kind: e.kind, + key: e.key, + placement: e.placement, + descriptor: e.descriptor + }; + return Object.defineProperty(r, Symbol.toStringTag, { + value: "Descriptor", + configurable: !0 + }), "field" === e.kind && (r.initializer = e.initializer), r; + }, + toElementDescriptors: function toElementDescriptors(e) { + if (void 0 !== e) return toArray(e).map(function (e) { + var r = this.toElementDescriptor(e); + return this.disallowProperty(e, "finisher", "An element descriptor"), this.disallowProperty(e, "extras", "An element descriptor"), r; + }, this); + }, + toElementDescriptor: function toElementDescriptor(e) { + var r = e.kind + ""; + if ("method" !== r && "field" !== r) throw new TypeError('An element descriptor\'s .kind property must be either "method" or "field", but a decorator created an element descriptor with .kind "' + r + '"'); + var t = toPropertyKey(e.key), + i = e.placement + ""; + if ("static" !== i && "prototype" !== i && "own" !== i) throw new TypeError('An element descriptor\'s .placement property must be one of "static", "prototype" or "own", but a decorator created an element descriptor with .placement "' + i + '"'); + var o = e.descriptor; + this.disallowProperty(e, "elements", "An element descriptor"); + var n = { + kind: r, + key: t, + placement: i, + descriptor: Object.assign({}, o) + }; + return "field" !== r ? this.disallowProperty(e, "initializer", "A method descriptor") : (this.disallowProperty(o, "get", "The property descriptor of a field descriptor"), this.disallowProperty(o, "set", "The property descriptor of a field descriptor"), this.disallowProperty(o, "value", "The property descriptor of a field descriptor"), n.initializer = e.initializer), n; + }, + toElementFinisherExtras: function toElementFinisherExtras(e) { + return { + element: this.toElementDescriptor(e), + finisher: _optionalCallableProperty(e, "finisher"), + extras: this.toElementDescriptors(e.extras) + }; + }, + fromClassDescriptor: function fromClassDescriptor(e) { + var r = { + kind: "class", + elements: e.map(this.fromElementDescriptor, this) + }; + return Object.defineProperty(r, Symbol.toStringTag, { + value: "Descriptor", + configurable: !0 + }), r; + }, + toClassDescriptor: function toClassDescriptor(e) { + var r = e.kind + ""; + if ("class" !== r) throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator created a class descriptor with .kind "' + r + '"'); + this.disallowProperty(e, "key", "A class descriptor"), this.disallowProperty(e, "placement", "A class descriptor"), this.disallowProperty(e, "descriptor", "A class descriptor"), this.disallowProperty(e, "initializer", "A class descriptor"), this.disallowProperty(e, "extras", "A class descriptor"); + var t = _optionalCallableProperty(e, "finisher"); + return { + elements: this.toElementDescriptors(e.elements), + finisher: t + }; + }, + runClassFinishers: function runClassFinishers(e, r) { + for (var t = 0; t < r.length; t++) { + var i = (0, r[t])(e); + if (void 0 !== i) { + if ("function" != typeof i) throw new TypeError("Finishers must return a constructor."); + e = i; + } + } + return e; + }, + disallowProperty: function disallowProperty(e, r, t) { + if (void 0 !== e[r]) throw new TypeError(t + " can't have a ." + r + " property."); + } + }; + return e; +} +function _createElementDescriptor(e) { + var r, + t = toPropertyKey(e.key); + "method" === e.kind ? r = { + value: e.value, + writable: !0, + configurable: !0, + enumerable: !1 + } : "get" === e.kind ? r = { + get: e.value, + configurable: !0, + enumerable: !1 + } : "set" === e.kind ? r = { + set: e.value, + configurable: !0, + enumerable: !1 + } : "field" === e.kind && (r = { + configurable: !0, + writable: !0, + enumerable: !0 + }); + var i = { + kind: "field" === e.kind ? "field" : "method", + key: t, + placement: e["static"] ? "static" : "field" === e.kind ? "own" : "prototype", + descriptor: r + }; + return e.decorators && (i.decorators = e.decorators), "field" === e.kind && (i.initializer = e.value), i; +} +function _coalesceGetterSetter(e, r) { + void 0 !== e.descriptor.get ? r.descriptor.get = e.descriptor.get : r.descriptor.set = e.descriptor.set; +} +function _coalesceClassElements(e) { + for (var r = [], isSameElement = function isSameElement(e) { + return "method" === e.kind && e.key === o.key && e.placement === o.placement; + }, t = 0; t < e.length; t++) { + var i, + o = e[t]; + if ("method" === o.kind && (i = r.find(isSameElement))) { + if (_isDataDescriptor(o.descriptor) || _isDataDescriptor(i.descriptor)) { + if (_hasDecorators(o) || _hasDecorators(i)) throw new ReferenceError("Duplicated methods (" + o.key + ") can't be decorated."); + i.descriptor = o.descriptor; + } else { + if (_hasDecorators(o)) { + if (_hasDecorators(i)) throw new ReferenceError("Decorators can't be placed on different accessors with for the same property (" + o.key + ")."); + i.decorators = o.decorators; + } + _coalesceGetterSetter(o, i); + } + } else r.push(o); + } + return r; +} +function _hasDecorators(e) { + return e.decorators && e.decorators.length; +} +function _isDataDescriptor(e) { + return void 0 !== e && !(void 0 === e.value && void 0 === e.writable); +} +function _optionalCallableProperty(e, r) { + var t = e[r]; + if (void 0 !== t && "function" != typeof t) throw new TypeError("Expected '" + r + "' to be a function"); + return t; +} +module.exports = _decorate, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/defaults.js b/node_modules/@babel/runtime/helpers/defaults.js new file mode 100644 index 00000000..dfdbbb03 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/defaults.js @@ -0,0 +1,9 @@ +function _defaults(e, r) { + for (var t = Object.getOwnPropertyNames(r), o = 0; o < t.length; o++) { + var n = t[o], + a = Object.getOwnPropertyDescriptor(r, n); + a && a.configurable && void 0 === e[n] && Object.defineProperty(e, n, a); + } + return e; +} +module.exports = _defaults, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/defineAccessor.js b/node_modules/@babel/runtime/helpers/defineAccessor.js new file mode 100644 index 00000000..dc065f01 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/defineAccessor.js @@ -0,0 +1,8 @@ +function _defineAccessor(e, r, n, t) { + var c = { + configurable: !0, + enumerable: !0 + }; + return c[e] = t, Object.defineProperty(r, n, c); +} +module.exports = _defineAccessor, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js b/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js new file mode 100644 index 00000000..ab9f43c1 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js @@ -0,0 +1,12 @@ +function _defineEnumerableProperties(e, r) { + for (var t in r) { + var n = r[t]; + n.configurable = n.enumerable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, t, n); + } + if (Object.getOwnPropertySymbols) for (var a = Object.getOwnPropertySymbols(r), b = 0; b < a.length; b++) { + var i = a[b]; + (n = r[i]).configurable = n.enumerable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, i, n); + } + return e; +} +module.exports = _defineEnumerableProperties, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/defineProperty.js b/node_modules/@babel/runtime/helpers/defineProperty.js new file mode 100644 index 00000000..2c2ff1e9 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/defineProperty.js @@ -0,0 +1,10 @@ +var toPropertyKey = require("./toPropertyKey.js"); +function _defineProperty(e, r, t) { + return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} +module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/dispose.js b/node_modules/@babel/runtime/helpers/dispose.js new file mode 100644 index 00000000..c20193ca --- /dev/null +++ b/node_modules/@babel/runtime/helpers/dispose.js @@ -0,0 +1,28 @@ +function dispose_SuppressedError(r, e) { + return "undefined" != typeof SuppressedError ? dispose_SuppressedError = SuppressedError : (dispose_SuppressedError = function dispose_SuppressedError(r, e) { + this.suppressed = e, this.error = r, this.stack = Error().stack; + }, dispose_SuppressedError.prototype = Object.create(Error.prototype, { + constructor: { + value: dispose_SuppressedError, + writable: !0, + configurable: !0 + } + })), new dispose_SuppressedError(r, e); +} +function _dispose(r, e, s) { + function next() { + for (; r.length > 0;) try { + var o = r.pop(), + p = o.d.call(o.v); + if (o.a) return Promise.resolve(p).then(next, err); + } catch (r) { + return err(r); + } + if (s) throw e; + } + function err(r) { + return e = s ? new dispose_SuppressedError(e, r) : r, s = !0, next(); + } + return next(); +} +module.exports = _dispose, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/AwaitValue.js b/node_modules/@babel/runtime/helpers/esm/AwaitValue.js new file mode 100644 index 00000000..6f210c9c --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/AwaitValue.js @@ -0,0 +1,4 @@ +function _AwaitValue(t) { + this.wrapped = t; +} +export { _AwaitValue as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/OverloadYield.js b/node_modules/@babel/runtime/helpers/esm/OverloadYield.js new file mode 100644 index 00000000..d7753a66 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/OverloadYield.js @@ -0,0 +1,4 @@ +function _OverloadYield(e, d) { + this.v = e, this.k = d; +} +export { _OverloadYield as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js b/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js new file mode 100644 index 00000000..0f33483d --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js @@ -0,0 +1,9 @@ +function _applyDecoratedDescriptor(i, e, r, n, l) { + var a = {}; + return Object.keys(n).forEach(function (i) { + a[i] = n[i]; + }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { + return n(i, e, r) || r; + }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; +} +export { _applyDecoratedDescriptor as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/applyDecs.js b/node_modules/@babel/runtime/helpers/esm/applyDecs.js new file mode 100644 index 00000000..2b75dfd7 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/applyDecs.js @@ -0,0 +1,236 @@ +import _typeof from "./typeof.js"; +import setFunctionName from "./setFunctionName.js"; +import toPropertyKey from "./toPropertyKey.js"; +function old_createMetadataMethodsForProperty(e, t, a, r) { + return { + getMetadata: function getMetadata(o) { + old_assertNotFinished(r, "getMetadata"), old_assertMetadataKey(o); + var i = e[o]; + if (void 0 !== i) if (1 === t) { + var n = i["public"]; + if (void 0 !== n) return n[a]; + } else if (2 === t) { + var l = i["private"]; + if (void 0 !== l) return l.get(a); + } else if (Object.hasOwnProperty.call(i, "constructor")) return i.constructor; + }, + setMetadata: function setMetadata(o, i) { + old_assertNotFinished(r, "setMetadata"), old_assertMetadataKey(o); + var n = e[o]; + if (void 0 === n && (n = e[o] = {}), 1 === t) { + var l = n["public"]; + void 0 === l && (l = n["public"] = {}), l[a] = i; + } else if (2 === t) { + var s = n.priv; + void 0 === s && (s = n["private"] = new Map()), s.set(a, i); + } else n.constructor = i; + } + }; +} +function old_convertMetadataMapToFinal(e, t) { + var a = e[Symbol.metadata || Symbol["for"]("Symbol.metadata")], + r = Object.getOwnPropertySymbols(t); + if (0 !== r.length) { + for (var o = 0; o < r.length; o++) { + var i = r[o], + n = t[i], + l = a ? a[i] : null, + s = n["public"], + c = l ? l["public"] : null; + s && c && Object.setPrototypeOf(s, c); + var d = n["private"]; + if (d) { + var u = Array.from(d.values()), + f = l ? l["private"] : null; + f && (u = u.concat(f)), n["private"] = u; + } + l && Object.setPrototypeOf(n, l); + } + a && Object.setPrototypeOf(t, a), e[Symbol.metadata || Symbol["for"]("Symbol.metadata")] = t; + } +} +function old_createAddInitializerMethod(e, t) { + return function (a) { + old_assertNotFinished(t, "addInitializer"), old_assertCallable(a, "An initializer"), e.push(a); + }; +} +function old_memberDec(e, t, a, r, o, i, n, l, s) { + var c; + switch (i) { + case 1: + c = "accessor"; + break; + case 2: + c = "method"; + break; + case 3: + c = "getter"; + break; + case 4: + c = "setter"; + break; + default: + c = "field"; + } + var d, + u, + f = { + kind: c, + name: l ? "#" + t : toPropertyKey(t), + isStatic: n, + isPrivate: l + }, + p = { + v: !1 + }; + if (0 !== i && (f.addInitializer = old_createAddInitializerMethod(o, p)), l) { + d = 2, u = Symbol(t); + var v = {}; + 0 === i ? (v.get = a.get, v.set = a.set) : 2 === i ? v.get = function () { + return a.value; + } : (1 !== i && 3 !== i || (v.get = function () { + return a.get.call(this); + }), 1 !== i && 4 !== i || (v.set = function (e) { + a.set.call(this, e); + })), f.access = v; + } else d = 1, u = t; + try { + return e(s, Object.assign(f, old_createMetadataMethodsForProperty(r, d, u, p))); + } finally { + p.v = !0; + } +} +function old_assertNotFinished(e, t) { + if (e.v) throw Error("attempted to call " + t + " after decoration was finished"); +} +function old_assertMetadataKey(e) { + if ("symbol" != _typeof(e)) throw new TypeError("Metadata keys must be symbols, received: " + e); +} +function old_assertCallable(e, t) { + if ("function" != typeof e) throw new TypeError(t + " must be a function"); +} +function old_assertValidReturnValue(e, t) { + var a = _typeof(t); + if (1 === e) { + if ("object" !== a || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); + void 0 !== t.get && old_assertCallable(t.get, "accessor.get"), void 0 !== t.set && old_assertCallable(t.set, "accessor.set"), void 0 !== t.init && old_assertCallable(t.init, "accessor.init"), void 0 !== t.initializer && old_assertCallable(t.initializer, "accessor.initializer"); + } else if ("function" !== a) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0"); +} +function old_getInit(e) { + var t; + return null == (t = e.init) && (t = e.initializer) && void 0 !== console && console.warn(".initializer has been renamed to .init as of March 2022"), t; +} +function old_applyMemberDec(e, t, a, r, o, i, n, l, s) { + var c, + d, + u, + f, + p, + v, + y, + h = a[0]; + if (n ? (0 === o || 1 === o ? (c = { + get: a[3], + set: a[4] + }, u = "get") : 3 === o ? (c = { + get: a[3] + }, u = "get") : 4 === o ? (c = { + set: a[3] + }, u = "set") : c = { + value: a[3] + }, 0 !== o && (1 === o && setFunctionName(a[4], "#" + r, "set"), setFunctionName(a[3], "#" + r, u))) : 0 !== o && (c = Object.getOwnPropertyDescriptor(t, r)), 1 === o ? f = { + get: c.get, + set: c.set + } : 2 === o ? f = c.value : 3 === o ? f = c.get : 4 === o && (f = c.set), "function" == typeof h) void 0 !== (p = old_memberDec(h, r, c, l, s, o, i, n, f)) && (old_assertValidReturnValue(o, p), 0 === o ? d = p : 1 === o ? (d = old_getInit(p), v = p.get || f.get, y = p.set || f.set, f = { + get: v, + set: y + }) : f = p);else for (var m = h.length - 1; m >= 0; m--) { + var b; + void 0 !== (p = old_memberDec(h[m], r, c, l, s, o, i, n, f)) && (old_assertValidReturnValue(o, p), 0 === o ? b = p : 1 === o ? (b = old_getInit(p), v = p.get || f.get, y = p.set || f.set, f = { + get: v, + set: y + }) : f = p, void 0 !== b && (void 0 === d ? d = b : "function" == typeof d ? d = [d, b] : d.push(b))); + } + if (0 === o || 1 === o) { + if (void 0 === d) d = function d(e, t) { + return t; + };else if ("function" != typeof d) { + var g = d; + d = function d(e, t) { + for (var a = t, r = 0; r < g.length; r++) a = g[r].call(e, a); + return a; + }; + } else { + var _ = d; + d = function d(e, t) { + return _.call(e, t); + }; + } + e.push(d); + } + 0 !== o && (1 === o ? (c.get = f.get, c.set = f.set) : 2 === o ? c.value = f : 3 === o ? c.get = f : 4 === o && (c.set = f), n ? 1 === o ? (e.push(function (e, t) { + return f.get.call(e, t); + }), e.push(function (e, t) { + return f.set.call(e, t); + })) : 2 === o ? e.push(f) : e.push(function (e, t) { + return f.call(e, t); + }) : Object.defineProperty(t, r, c)); +} +function old_applyMemberDecs(e, t, a, r, o) { + for (var i, n, l = new Map(), s = new Map(), c = 0; c < o.length; c++) { + var d = o[c]; + if (Array.isArray(d)) { + var u, + f, + p, + v = d[1], + y = d[2], + h = d.length > 3, + m = v >= 5; + if (m ? (u = t, f = r, 0 != (v -= 5) && (p = n = n || [])) : (u = t.prototype, f = a, 0 !== v && (p = i = i || [])), 0 !== v && !h) { + var b = m ? s : l, + g = b.get(y) || 0; + if (!0 === g || 3 === g && 4 !== v || 4 === g && 3 !== v) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + y); + !g && v > 2 ? b.set(y, v) : b.set(y, !0); + } + old_applyMemberDec(e, u, d, y, v, m, h, f, p); + } + } + old_pushInitializers(e, i), old_pushInitializers(e, n); +} +function old_pushInitializers(e, t) { + t && e.push(function (e) { + for (var a = 0; a < t.length; a++) t[a].call(e); + return e; + }); +} +function old_applyClassDecs(e, t, a, r) { + if (r.length > 0) { + for (var o = [], i = t, n = t.name, l = r.length - 1; l >= 0; l--) { + var s = { + v: !1 + }; + try { + var c = Object.assign({ + kind: "class", + name: n, + addInitializer: old_createAddInitializerMethod(o, s) + }, old_createMetadataMethodsForProperty(a, 0, n, s)), + d = r[l](i, c); + } finally { + s.v = !0; + } + void 0 !== d && (old_assertValidReturnValue(10, d), i = d); + } + e.push(i, function () { + for (var e = 0; e < o.length; e++) o[e].call(i); + }); + } +} +function applyDecs(e, t, a) { + var r = [], + o = {}, + i = {}; + return old_applyMemberDecs(r, e, i, o, t), old_convertMetadataMapToFinal(e.prototype, i), old_applyClassDecs(r, e, o, a), old_convertMetadataMapToFinal(e, o), r; +} +export { applyDecs as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js b/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js new file mode 100644 index 00000000..bddb51d0 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js @@ -0,0 +1,184 @@ +import _typeof from "./typeof.js"; +function applyDecs2203Factory() { + function createAddInitializerMethod(e, t) { + return function (r) { + !function (e, t) { + if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); + }(t), assertCallable(r, "An initializer"), e.push(r); + }; + } + function memberDec(e, t, r, a, n, i, s, o) { + var c; + switch (n) { + case 1: + c = "accessor"; + break; + case 2: + c = "method"; + break; + case 3: + c = "getter"; + break; + case 4: + c = "setter"; + break; + default: + c = "field"; + } + var l, + u, + f = { + kind: c, + name: s ? "#" + t : t, + "static": i, + "private": s + }, + p = { + v: !1 + }; + 0 !== n && (f.addInitializer = createAddInitializerMethod(a, p)), 0 === n ? s ? (l = r.get, u = r.set) : (l = function l() { + return this[t]; + }, u = function u(e) { + this[t] = e; + }) : 2 === n ? l = function l() { + return r.value; + } : (1 !== n && 3 !== n || (l = function l() { + return r.get.call(this); + }), 1 !== n && 4 !== n || (u = function u(e) { + r.set.call(this, e); + })), f.access = l && u ? { + get: l, + set: u + } : l ? { + get: l + } : { + set: u + }; + try { + return e(o, f); + } finally { + p.v = !0; + } + } + function assertCallable(e, t) { + if ("function" != typeof e) throw new TypeError(t + " must be a function"); + } + function assertValidReturnValue(e, t) { + var r = _typeof(t); + if (1 === e) { + if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); + void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init"); + } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0"); + } + function applyMemberDec(e, t, r, a, n, i, s, o) { + var c, + l, + u, + f, + p, + d, + h = r[0]; + if (s ? c = 0 === n || 1 === n ? { + get: r[3], + set: r[4] + } : 3 === n ? { + get: r[3] + } : 4 === n ? { + set: r[3] + } : { + value: r[3] + } : 0 !== n && (c = Object.getOwnPropertyDescriptor(t, a)), 1 === n ? u = { + get: c.get, + set: c.set + } : 2 === n ? u = c.value : 3 === n ? u = c.get : 4 === n && (u = c.set), "function" == typeof h) void 0 !== (f = memberDec(h, a, c, o, n, i, s, u)) && (assertValidReturnValue(n, f), 0 === n ? l = f : 1 === n ? (l = f.init, p = f.get || u.get, d = f.set || u.set, u = { + get: p, + set: d + }) : u = f);else for (var v = h.length - 1; v >= 0; v--) { + var g; + void 0 !== (f = memberDec(h[v], a, c, o, n, i, s, u)) && (assertValidReturnValue(n, f), 0 === n ? g = f : 1 === n ? (g = f.init, p = f.get || u.get, d = f.set || u.set, u = { + get: p, + set: d + }) : u = f, void 0 !== g && (void 0 === l ? l = g : "function" == typeof l ? l = [l, g] : l.push(g))); + } + if (0 === n || 1 === n) { + if (void 0 === l) l = function l(e, t) { + return t; + };else if ("function" != typeof l) { + var y = l; + l = function l(e, t) { + for (var r = t, a = 0; a < y.length; a++) r = y[a].call(e, r); + return r; + }; + } else { + var m = l; + l = function l(e, t) { + return m.call(e, t); + }; + } + e.push(l); + } + 0 !== n && (1 === n ? (c.get = u.get, c.set = u.set) : 2 === n ? c.value = u : 3 === n ? c.get = u : 4 === n && (c.set = u), s ? 1 === n ? (e.push(function (e, t) { + return u.get.call(e, t); + }), e.push(function (e, t) { + return u.set.call(e, t); + })) : 2 === n ? e.push(u) : e.push(function (e, t) { + return u.call(e, t); + }) : Object.defineProperty(t, a, c)); + } + function pushInitializers(e, t) { + t && e.push(function (e) { + for (var r = 0; r < t.length; r++) t[r].call(e); + return e; + }); + } + return function (e, t, r) { + var a = []; + return function (e, t, r) { + for (var a, n, i = new Map(), s = new Map(), o = 0; o < r.length; o++) { + var c = r[o]; + if (Array.isArray(c)) { + var l, + u, + f = c[1], + p = c[2], + d = c.length > 3, + h = f >= 5; + if (h ? (l = t, 0 != (f -= 5) && (u = n = n || [])) : (l = t.prototype, 0 !== f && (u = a = a || [])), 0 !== f && !d) { + var v = h ? s : i, + g = v.get(p) || 0; + if (!0 === g || 3 === g && 4 !== f || 4 === g && 3 !== f) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + p); + !g && f > 2 ? v.set(p, f) : v.set(p, !0); + } + applyMemberDec(e, l, c, p, f, h, d, u); + } + } + pushInitializers(e, a), pushInitializers(e, n); + }(a, e, t), function (e, t, r) { + if (r.length > 0) { + for (var a = [], n = t, i = t.name, s = r.length - 1; s >= 0; s--) { + var o = { + v: !1 + }; + try { + var c = r[s](n, { + kind: "class", + name: i, + addInitializer: createAddInitializerMethod(a, o) + }); + } finally { + o.v = !0; + } + void 0 !== c && (assertValidReturnValue(10, c), n = c); + } + e.push(n, function () { + for (var e = 0; e < a.length; e++) a[e].call(n); + }); + } + }(a, e, r), a; + }; +} +var applyDecs2203Impl; +function applyDecs2203(e, t, r) { + return (applyDecs2203Impl = applyDecs2203Impl || applyDecs2203Factory())(e, t, r); +} +export { applyDecs2203 as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js b/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js new file mode 100644 index 00000000..3944bf42 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js @@ -0,0 +1,191 @@ +import _typeof from "./typeof.js"; +import setFunctionName from "./setFunctionName.js"; +import toPropertyKey from "./toPropertyKey.js"; +function applyDecs2203RFactory() { + function createAddInitializerMethod(e, t) { + return function (r) { + !function (e, t) { + if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); + }(t), assertCallable(r, "An initializer"), e.push(r); + }; + } + function memberDec(e, t, r, n, a, i, o, s) { + var c; + switch (a) { + case 1: + c = "accessor"; + break; + case 2: + c = "method"; + break; + case 3: + c = "getter"; + break; + case 4: + c = "setter"; + break; + default: + c = "field"; + } + var l, + u, + f = { + kind: c, + name: o ? "#" + t : toPropertyKey(t), + "static": i, + "private": o + }, + p = { + v: !1 + }; + 0 !== a && (f.addInitializer = createAddInitializerMethod(n, p)), 0 === a ? o ? (l = r.get, u = r.set) : (l = function l() { + return this[t]; + }, u = function u(e) { + this[t] = e; + }) : 2 === a ? l = function l() { + return r.value; + } : (1 !== a && 3 !== a || (l = function l() { + return r.get.call(this); + }), 1 !== a && 4 !== a || (u = function u(e) { + r.set.call(this, e); + })), f.access = l && u ? { + get: l, + set: u + } : l ? { + get: l + } : { + set: u + }; + try { + return e(s, f); + } finally { + p.v = !0; + } + } + function assertCallable(e, t) { + if ("function" != typeof e) throw new TypeError(t + " must be a function"); + } + function assertValidReturnValue(e, t) { + var r = _typeof(t); + if (1 === e) { + if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); + void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init"); + } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0"); + } + function applyMemberDec(e, t, r, n, a, i, o, s) { + var c, + l, + u, + f, + p, + d, + h, + v = r[0]; + if (o ? (0 === a || 1 === a ? (c = { + get: r[3], + set: r[4] + }, u = "get") : 3 === a ? (c = { + get: r[3] + }, u = "get") : 4 === a ? (c = { + set: r[3] + }, u = "set") : c = { + value: r[3] + }, 0 !== a && (1 === a && setFunctionName(r[4], "#" + n, "set"), setFunctionName(r[3], "#" + n, u))) : 0 !== a && (c = Object.getOwnPropertyDescriptor(t, n)), 1 === a ? f = { + get: c.get, + set: c.set + } : 2 === a ? f = c.value : 3 === a ? f = c.get : 4 === a && (f = c.set), "function" == typeof v) void 0 !== (p = memberDec(v, n, c, s, a, i, o, f)) && (assertValidReturnValue(a, p), 0 === a ? l = p : 1 === a ? (l = p.init, d = p.get || f.get, h = p.set || f.set, f = { + get: d, + set: h + }) : f = p);else for (var g = v.length - 1; g >= 0; g--) { + var y; + void 0 !== (p = memberDec(v[g], n, c, s, a, i, o, f)) && (assertValidReturnValue(a, p), 0 === a ? y = p : 1 === a ? (y = p.init, d = p.get || f.get, h = p.set || f.set, f = { + get: d, + set: h + }) : f = p, void 0 !== y && (void 0 === l ? l = y : "function" == typeof l ? l = [l, y] : l.push(y))); + } + if (0 === a || 1 === a) { + if (void 0 === l) l = function l(e, t) { + return t; + };else if ("function" != typeof l) { + var m = l; + l = function l(e, t) { + for (var r = t, n = 0; n < m.length; n++) r = m[n].call(e, r); + return r; + }; + } else { + var b = l; + l = function l(e, t) { + return b.call(e, t); + }; + } + e.push(l); + } + 0 !== a && (1 === a ? (c.get = f.get, c.set = f.set) : 2 === a ? c.value = f : 3 === a ? c.get = f : 4 === a && (c.set = f), o ? 1 === a ? (e.push(function (e, t) { + return f.get.call(e, t); + }), e.push(function (e, t) { + return f.set.call(e, t); + })) : 2 === a ? e.push(f) : e.push(function (e, t) { + return f.call(e, t); + }) : Object.defineProperty(t, n, c)); + } + function applyMemberDecs(e, t) { + for (var r, n, a = [], i = new Map(), o = new Map(), s = 0; s < t.length; s++) { + var c = t[s]; + if (Array.isArray(c)) { + var l, + u, + f = c[1], + p = c[2], + d = c.length > 3, + h = f >= 5; + if (h ? (l = e, 0 != (f -= 5) && (u = n = n || [])) : (l = e.prototype, 0 !== f && (u = r = r || [])), 0 !== f && !d) { + var v = h ? o : i, + g = v.get(p) || 0; + if (!0 === g || 3 === g && 4 !== f || 4 === g && 3 !== f) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + p); + !g && f > 2 ? v.set(p, f) : v.set(p, !0); + } + applyMemberDec(a, l, c, p, f, h, d, u); + } + } + return pushInitializers(a, r), pushInitializers(a, n), a; + } + function pushInitializers(e, t) { + t && e.push(function (e) { + for (var r = 0; r < t.length; r++) t[r].call(e); + return e; + }); + } + return function (e, t, r) { + return { + e: applyMemberDecs(e, t), + get c() { + return function (e, t) { + if (t.length > 0) { + for (var r = [], n = e, a = e.name, i = t.length - 1; i >= 0; i--) { + var o = { + v: !1 + }; + try { + var s = t[i](n, { + kind: "class", + name: a, + addInitializer: createAddInitializerMethod(r, o) + }); + } finally { + o.v = !0; + } + void 0 !== s && (assertValidReturnValue(10, s), n = s); + } + return [n, function () { + for (var e = 0; e < r.length; e++) r[e].call(n); + }]; + } + }(e, r); + } + }; + }; +} +function applyDecs2203R(e, t, r) { + return (applyDecs2203R = applyDecs2203RFactory())(e, t, r); +} +export { applyDecs2203R as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js b/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js new file mode 100644 index 00000000..bb4fbe6a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js @@ -0,0 +1,222 @@ +import _typeof from "./typeof.js"; +import checkInRHS from "./checkInRHS.js"; +import setFunctionName from "./setFunctionName.js"; +import toPropertyKey from "./toPropertyKey.js"; +function applyDecs2301Factory() { + function createAddInitializerMethod(e, t) { + return function (r) { + !function (e, t) { + if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); + }(t), assertCallable(r, "An initializer"), e.push(r); + }; + } + function assertInstanceIfPrivate(e, t) { + if (!e(t)) throw new TypeError("Attempted to access private element on non-instance"); + } + function memberDec(e, t, r, n, a, i, s, o, c) { + var u; + switch (a) { + case 1: + u = "accessor"; + break; + case 2: + u = "method"; + break; + case 3: + u = "getter"; + break; + case 4: + u = "setter"; + break; + default: + u = "field"; + } + var l, + f, + p = { + kind: u, + name: s ? "#" + t : toPropertyKey(t), + "static": i, + "private": s + }, + d = { + v: !1 + }; + if (0 !== a && (p.addInitializer = createAddInitializerMethod(n, d)), s || 0 !== a && 2 !== a) { + if (2 === a) l = function l(e) { + return assertInstanceIfPrivate(c, e), r.value; + };else { + var h = 0 === a || 1 === a; + (h || 3 === a) && (l = s ? function (e) { + return assertInstanceIfPrivate(c, e), r.get.call(e); + } : function (e) { + return r.get.call(e); + }), (h || 4 === a) && (f = s ? function (e, t) { + assertInstanceIfPrivate(c, e), r.set.call(e, t); + } : function (e, t) { + r.set.call(e, t); + }); + } + } else l = function l(e) { + return e[t]; + }, 0 === a && (f = function f(e, r) { + e[t] = r; + }); + var v = s ? c.bind() : function (e) { + return t in e; + }; + p.access = l && f ? { + get: l, + set: f, + has: v + } : l ? { + get: l, + has: v + } : { + set: f, + has: v + }; + try { + return e(o, p); + } finally { + d.v = !0; + } + } + function assertCallable(e, t) { + if ("function" != typeof e) throw new TypeError(t + " must be a function"); + } + function assertValidReturnValue(e, t) { + var r = _typeof(t); + if (1 === e) { + if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); + void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init"); + } else if ("function" !== r) throw new TypeError((0 === e ? "field" : 10 === e ? "class" : "method") + " decorators must return a function or void 0"); + } + function curryThis2(e) { + return function (t) { + e(this, t); + }; + } + function applyMemberDec(e, t, r, n, a, i, s, o, c) { + var u, + l, + f, + p, + d, + h, + v, + y, + g = r[0]; + if (s ? (0 === a || 1 === a ? (u = { + get: (d = r[3], function () { + return d(this); + }), + set: curryThis2(r[4]) + }, f = "get") : 3 === a ? (u = { + get: r[3] + }, f = "get") : 4 === a ? (u = { + set: r[3] + }, f = "set") : u = { + value: r[3] + }, 0 !== a && (1 === a && setFunctionName(u.set, "#" + n, "set"), setFunctionName(u[f || "value"], "#" + n, f))) : 0 !== a && (u = Object.getOwnPropertyDescriptor(t, n)), 1 === a ? p = { + get: u.get, + set: u.set + } : 2 === a ? p = u.value : 3 === a ? p = u.get : 4 === a && (p = u.set), "function" == typeof g) void 0 !== (h = memberDec(g, n, u, o, a, i, s, p, c)) && (assertValidReturnValue(a, h), 0 === a ? l = h : 1 === a ? (l = h.init, v = h.get || p.get, y = h.set || p.set, p = { + get: v, + set: y + }) : p = h);else for (var m = g.length - 1; m >= 0; m--) { + var b; + void 0 !== (h = memberDec(g[m], n, u, o, a, i, s, p, c)) && (assertValidReturnValue(a, h), 0 === a ? b = h : 1 === a ? (b = h.init, v = h.get || p.get, y = h.set || p.set, p = { + get: v, + set: y + }) : p = h, void 0 !== b && (void 0 === l ? l = b : "function" == typeof l ? l = [l, b] : l.push(b))); + } + if (0 === a || 1 === a) { + if (void 0 === l) l = function l(e, t) { + return t; + };else if ("function" != typeof l) { + var I = l; + l = function l(e, t) { + for (var r = t, n = 0; n < I.length; n++) r = I[n].call(e, r); + return r; + }; + } else { + var w = l; + l = function l(e, t) { + return w.call(e, t); + }; + } + e.push(l); + } + 0 !== a && (1 === a ? (u.get = p.get, u.set = p.set) : 2 === a ? u.value = p : 3 === a ? u.get = p : 4 === a && (u.set = p), s ? 1 === a ? (e.push(function (e, t) { + return p.get.call(e, t); + }), e.push(function (e, t) { + return p.set.call(e, t); + })) : 2 === a ? e.push(p) : e.push(function (e, t) { + return p.call(e, t); + }) : Object.defineProperty(t, n, u)); + } + function applyMemberDecs(e, t, r) { + for (var n, a, i, s = [], o = new Map(), c = new Map(), u = 0; u < t.length; u++) { + var l = t[u]; + if (Array.isArray(l)) { + var f, + p, + d = l[1], + h = l[2], + v = l.length > 3, + y = d >= 5, + g = r; + if (y ? (f = e, 0 != (d -= 5) && (p = a = a || []), v && !i && (i = function i(t) { + return checkInRHS(t) === e; + }), g = i) : (f = e.prototype, 0 !== d && (p = n = n || [])), 0 !== d && !v) { + var m = y ? c : o, + b = m.get(h) || 0; + if (!0 === b || 3 === b && 4 !== d || 4 === b && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); + !b && d > 2 ? m.set(h, d) : m.set(h, !0); + } + applyMemberDec(s, f, l, h, d, y, v, p, g); + } + } + return pushInitializers(s, n), pushInitializers(s, a), s; + } + function pushInitializers(e, t) { + t && e.push(function (e) { + for (var r = 0; r < t.length; r++) t[r].call(e); + return e; + }); + } + return function (e, t, r, n) { + return { + e: applyMemberDecs(e, t, n), + get c() { + return function (e, t) { + if (t.length > 0) { + for (var r = [], n = e, a = e.name, i = t.length - 1; i >= 0; i--) { + var s = { + v: !1 + }; + try { + var o = t[i](n, { + kind: "class", + name: a, + addInitializer: createAddInitializerMethod(r, s) + }); + } finally { + s.v = !0; + } + void 0 !== o && (assertValidReturnValue(10, o), n = o); + } + return [n, function () { + for (var e = 0; e < r.length; e++) r[e].call(n); + }]; + } + }(e, r); + } + }; + }; +} +function applyDecs2301(e, t, r, n) { + return (applyDecs2301 = applyDecs2301Factory())(e, t, r, n); +} +export { applyDecs2301 as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js b/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js new file mode 100644 index 00000000..a11b2b90 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js @@ -0,0 +1,133 @@ +import _typeof from "./typeof.js"; +import checkInRHS from "./checkInRHS.js"; +import setFunctionName from "./setFunctionName.js"; +import toPropertyKey from "./toPropertyKey.js"; +function applyDecs2305(e, t, r, n, o, a) { + function i(e, t, r) { + return function (n, o) { + return r && r(n), e[t].call(n, o); + }; + } + function c(e, t) { + for (var r = 0; r < e.length; r++) e[r].call(t); + return t; + } + function s(e, t, r, n) { + if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); + return e; + } + function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { + function m(e) { + if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); + } + var y, + v = t[0], + g = t[3], + b = !u; + if (!b) { + r || Array.isArray(v) || (v = [v]); + var w = {}, + S = [], + A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; + f ? (p || d ? w = { + get: setFunctionName(function () { + return g(this); + }, n, "get"), + set: function set(e) { + t[4](this, e); + } + } : w[A] = g, p || setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); + } + for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { + var D = v[j], + E = r ? v[j - 1] : void 0, + I = {}, + O = { + kind: ["field", "accessor", "method", "getter", "setter", "class"][o], + name: n, + metadata: a, + addInitializer: function (e, t) { + if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); + s(t, "An initializer", "be", !0), c.push(t); + }.bind(null, I) + }; + try { + if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { + var k, F; + O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { + return m(e), w.value; + } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { + return e[n]; + }, (o < 2 || 4 === o) && (F = function F(e, t) { + e[n] = t; + })); + var N = O.access = { + has: f ? h.bind() : function (e) { + return n in e; + } + }; + if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { + get: w.get, + set: w.set + } : w[A], O), d) { + if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); + } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); + } + } finally { + I.v = !0; + } + } + return (p || d) && u.push(function (e, t) { + for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); + return t; + }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; + } + function u(e, t) { + return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { + configurable: !0, + enumerable: !0, + value: t + }); + } + if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; + var f = Object.create(null == l ? null : l), + p = function (e, t, r, n) { + var o, + a, + i = [], + s = function s(t) { + return checkInRHS(t) === e; + }, + u = new Map(); + function l(e) { + e && i.push(c.bind(null, e)); + } + for (var f = 0; f < t.length; f++) { + var p = t[f]; + if (Array.isArray(p)) { + var d = p[1], + h = p[2], + m = p.length > 3, + y = 16 & d, + v = !!(8 & d), + g = 0 == (d &= 7), + b = h + "/" + v; + if (!g && !m) { + var w = u.get(b); + if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); + u.set(b, !(d > 2) || d); + } + applyDec(v ? e : e.prototype, p, y, m ? "#" + h : toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); + } + } + return l(o), l(a), i; + }(e, t, o, f); + return r.length || u(e, f), { + e: p, + get c() { + var t = []; + return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; + } + }; +} +export { applyDecs2305 as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/applyDecs2311.js b/node_modules/@babel/runtime/helpers/esm/applyDecs2311.js new file mode 100644 index 00000000..41b2c484 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/applyDecs2311.js @@ -0,0 +1,124 @@ +import _typeof from "./typeof.js"; +import checkInRHS from "./checkInRHS.js"; +import setFunctionName from "./setFunctionName.js"; +import toPropertyKey from "./toPropertyKey.js"; +function applyDecs2311(e, t, n, r, o, i) { + var a, + c, + u, + s, + f, + l, + p, + d = Symbol.metadata || Symbol["for"]("Symbol.metadata"), + m = Object.defineProperty, + h = Object.create, + y = [h(null), h(null)], + v = t.length; + function g(t, n, r) { + return function (o, i) { + n && (i = o, o = e); + for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); + return r ? i : o; + }; + } + function b(e, t, n, r) { + if ("function" != typeof e && (r || void 0 !== e)) throw new TypeError(t + " must " + (n || "be") + " a function" + (r ? "" : " or undefined")); + return e; + } + function applyDec(e, t, n, r, o, i, u, s, f, l, p) { + function d(e) { + if (!p(e)) throw new TypeError("Attempted to access private element on non-instance"); + } + var h = [].concat(t[0]), + v = t[3], + w = !u, + D = 1 === o, + S = 3 === o, + j = 4 === o, + E = 2 === o; + function I(t, n, r) { + return function (o, i) { + return n && (i = o, o = e), r && r(o), P[t].call(o, i); + }; + } + if (!w) { + var P = {}, + k = [], + F = S ? "get" : j || D ? "set" : "value"; + if (f ? (l || D ? P = { + get: setFunctionName(function () { + return v(this); + }, r, "get"), + set: function set(e) { + t[4](this, e); + } + } : P[F] = v, l || setFunctionName(P[F], r, E ? "" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { + if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error("Decorating two elements with the same name (" + P[F].name + ") is not supported yet"); + y[+s][r] = o < 3 ? 1 : o; + } + } + for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { + var T = b(h[O], "A decorator", "be", !0), + z = n ? h[O - 1] : void 0, + A = {}, + H = { + kind: ["field", "accessor", "method", "getter", "setter", "class"][o], + name: r, + metadata: a, + addInitializer: function (e, t) { + if (e.v) throw new TypeError("attempted to call addInitializer after decoration was finished"); + b(t, "An initializer", "be", !0), i.push(t); + }.bind(null, A) + }; + if (w) c = T.call(z, N, H), A.v = 1, b(c, "class decorators", "return") && (N = c);else if (H["static"] = s, H["private"] = f, c = H.access = { + has: f ? p.bind() : function (e) { + return r in e; + } + }, j || (c.get = f ? E ? function (e) { + return d(e), P.value; + } : I("get", 0, d) : function (e) { + return e[r]; + }), E || S || (c.set = f ? I("set", 0, d) : function (e, t) { + e[r] = t; + }), N = T.call(z, D ? { + get: P.get, + set: P.set + } : P[F], H), A.v = 1, D) { + if ("object" == _typeof(N) && N) (c = b(N.get, "accessor.get")) && (P.get = c), (c = b(N.set, "accessor.set")) && (P.set = c), (c = b(N.init, "accessor.init")) && k.unshift(c);else if (void 0 !== N) throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined"); + } else b(N, (l ? "field" : "method") + " decorators", "return") && (l ? k.unshift(N) : P[F] = N); + } + return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I("get", s), I("set", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; + } + function w(e) { + return m(e, d, { + configurable: !0, + enumerable: !0, + value: a + }); + } + return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) { + e && f.push(g(e)); + }, p = function p(t, r) { + for (var i = 0; i < n.length; i++) { + var a = n[i], + c = a[1], + l = 7 & c; + if ((8 & c) == t && !l == r) { + var p = a[2], + d = !!a[3], + m = 16 & c; + applyDec(t ? e : e.prototype, a, m, d ? "#" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { + return checkInRHS(t) === e; + } : o); + } + } + }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { + e: c, + get c() { + var n = []; + return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; + } + }; +} +export { applyDecs2311 as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js b/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js new file mode 100644 index 00000000..9ace7724 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js @@ -0,0 +1,6 @@ +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +export { _arrayLikeToArray as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js b/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js new file mode 100644 index 00000000..99fa7154 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js @@ -0,0 +1,4 @@ +function _arrayWithHoles(r) { + if (Array.isArray(r)) return r; +} +export { _arrayWithHoles as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js b/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js new file mode 100644 index 00000000..1ce6f214 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js @@ -0,0 +1,5 @@ +import arrayLikeToArray from "./arrayLikeToArray.js"; +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return arrayLikeToArray(r); +} +export { _arrayWithoutHoles as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/assertClassBrand.js b/node_modules/@babel/runtime/helpers/esm/assertClassBrand.js new file mode 100644 index 00000000..ae7b7126 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/assertClassBrand.js @@ -0,0 +1,5 @@ +function _assertClassBrand(e, t, n) { + if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; + throw new TypeError("Private element is not present on this object"); +} +export { _assertClassBrand as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js b/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js new file mode 100644 index 00000000..4a41bde6 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js @@ -0,0 +1,5 @@ +function _assertThisInitialized(e) { + if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return e; +} +export { _assertThisInitialized as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js b/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js new file mode 100644 index 00000000..e0266897 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js @@ -0,0 +1,24 @@ +import OverloadYield from "./OverloadYield.js"; +function _asyncGeneratorDelegate(t) { + var e = {}, + n = !1; + function pump(e, r) { + return n = !0, r = new Promise(function (n) { + n(t[e](r)); + }), { + done: !1, + value: new OverloadYield(r, 1) + }; + } + return e["undefined" != typeof Symbol && Symbol.iterator || "@@iterator"] = function () { + return this; + }, e.next = function (t) { + return n ? (n = !1, t) : pump("next", t); + }, "function" == typeof t["throw"] && (e["throw"] = function (t) { + if (n) throw n = !1, t; + return pump("throw", t); + }), "function" == typeof t["return"] && (e["return"] = function (t) { + return n ? (n = !1, t) : pump("return", t); + }), e; +} +export { _asyncGeneratorDelegate as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/asyncIterator.js b/node_modules/@babel/runtime/helpers/esm/asyncIterator.js new file mode 100644 index 00000000..2ed00b79 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/asyncIterator.js @@ -0,0 +1,45 @@ +function _asyncIterator(r) { + var n, + t, + o, + e = 2; + for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { + if (t && null != (n = r[t])) return n.call(r); + if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); + t = "@@asyncIterator", o = "@@iterator"; + } + throw new TypeError("Object is not async iterable"); +} +function AsyncFromSyncIterator(r) { + function AsyncFromSyncIteratorContinuation(r) { + if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); + var n = r.done; + return Promise.resolve(r.value).then(function (r) { + return { + value: r, + done: n + }; + }); + } + return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) { + this.s = r, this.n = r.next; + }, AsyncFromSyncIterator.prototype = { + s: null, + n: null, + next: function next() { + return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); + }, + "return": function _return(r) { + var n = this.s["return"]; + return void 0 === n ? Promise.resolve({ + value: r, + done: !0 + }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); + }, + "throw": function _throw(r) { + var n = this.s["return"]; + return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); + } + }, new AsyncFromSyncIterator(r); +} +export { _asyncIterator as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js b/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js new file mode 100644 index 00000000..00f29b1f --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js @@ -0,0 +1,26 @@ +function asyncGeneratorStep(n, t, e, r, o, a, c) { + try { + var i = n[a](c), + u = i.value; + } catch (n) { + return void e(n); + } + i.done ? t(u) : Promise.resolve(u).then(r, o); +} +function _asyncToGenerator(n) { + return function () { + var t = this, + e = arguments; + return new Promise(function (r, o) { + var a = n.apply(t, e); + function _next(n) { + asyncGeneratorStep(a, r, o, _next, _throw, "next", n); + } + function _throw(n) { + asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); + } + _next(void 0); + }); + }; +} +export { _asyncToGenerator as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js b/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js new file mode 100644 index 00000000..097c88c9 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js @@ -0,0 +1,5 @@ +import OverloadYield from "./OverloadYield.js"; +function _awaitAsyncGenerator(e) { + return new OverloadYield(e, 0); +} +export { _awaitAsyncGenerator as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/callSuper.js b/node_modules/@babel/runtime/helpers/esm/callSuper.js new file mode 100644 index 00000000..6d17a4ee --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/callSuper.js @@ -0,0 +1,7 @@ +import getPrototypeOf from "./getPrototypeOf.js"; +import isNativeReflectConstruct from "./isNativeReflectConstruct.js"; +import possibleConstructorReturn from "./possibleConstructorReturn.js"; +function _callSuper(t, o, e) { + return o = getPrototypeOf(o), possibleConstructorReturn(t, isNativeReflectConstruct() ? Reflect.construct(o, e || [], getPrototypeOf(t).constructor) : o.apply(t, e)); +} +export { _callSuper as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/checkInRHS.js b/node_modules/@babel/runtime/helpers/esm/checkInRHS.js new file mode 100644 index 00000000..12f59b4c --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/checkInRHS.js @@ -0,0 +1,6 @@ +import _typeof from "./typeof.js"; +function _checkInRHS(e) { + if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); + return e; +} +export { _checkInRHS as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js b/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js new file mode 100644 index 00000000..e9e6b3b4 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js @@ -0,0 +1,4 @@ +function _checkPrivateRedeclaration(e, t) { + if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); +} +export { _checkPrivateRedeclaration as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js b/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js new file mode 100644 index 00000000..56234195 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js @@ -0,0 +1,10 @@ +function _classApplyDescriptorDestructureSet(e, t) { + if (t.set) return "__destrObj" in t || (t.__destrObj = { + set value(r) { + t.set.call(e, r); + } + }), t.__destrObj; + if (!t.writable) throw new TypeError("attempted to set read only private field"); + return t; +} +export { _classApplyDescriptorDestructureSet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js b/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js new file mode 100644 index 00000000..b9259d3e --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js @@ -0,0 +1,4 @@ +function _classApplyDescriptorGet(e, t) { + return t.get ? t.get.call(e) : t.value; +} +export { _classApplyDescriptorGet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js b/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js new file mode 100644 index 00000000..d9c4fbd2 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js @@ -0,0 +1,7 @@ +function _classApplyDescriptorSet(e, t, l) { + if (t.set) t.set.call(e, l);else { + if (!t.writable) throw new TypeError("attempted to set read only private field"); + t.value = l; + } +} +export { _classApplyDescriptorSet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classCallCheck.js b/node_modules/@babel/runtime/helpers/esm/classCallCheck.js new file mode 100644 index 00000000..bf972193 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classCallCheck.js @@ -0,0 +1,4 @@ +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} +export { _classCallCheck as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js b/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js new file mode 100644 index 00000000..366ed05e --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js @@ -0,0 +1,5 @@ +import assertClassBrand from "./assertClassBrand.js"; +function _classCheckPrivateStaticAccess(s, a, r) { + return assertClassBrand(a, s, r); +} +export { _classCheckPrivateStaticAccess as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js b/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js new file mode 100644 index 00000000..844be91a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js @@ -0,0 +1,4 @@ +function _classCheckPrivateStaticFieldDescriptor(t, e) { + if (void 0 === t) throw new TypeError("attempted to " + e + " private static field before its declaration"); +} +export { _classCheckPrivateStaticFieldDescriptor as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js b/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js new file mode 100644 index 00000000..652689d1 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js @@ -0,0 +1,5 @@ +import classPrivateFieldGet2 from "./classPrivateFieldGet2.js"; +function _classExtractFieldDescriptor(e, t) { + return classPrivateFieldGet2(t, e); +} +export { _classExtractFieldDescriptor as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js b/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js new file mode 100644 index 00000000..68e76ff7 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js @@ -0,0 +1,4 @@ +function _classNameTDZError(e) { + throw new ReferenceError('Class "' + e + '" cannot be referenced in computed property keys.'); +} +export { _classNameTDZError as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js new file mode 100644 index 00000000..93033663 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js @@ -0,0 +1,7 @@ +import classApplyDescriptorDestructureSet from "./classApplyDescriptorDestructureSet.js"; +import classPrivateFieldGet2 from "./classPrivateFieldGet2.js"; +function _classPrivateFieldDestructureSet(e, t) { + var r = classPrivateFieldGet2(t, e); + return classApplyDescriptorDestructureSet(e, r); +} +export { _classPrivateFieldDestructureSet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js new file mode 100644 index 00000000..ce7ebcb7 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js @@ -0,0 +1,7 @@ +import classApplyDescriptorGet from "./classApplyDescriptorGet.js"; +import classPrivateFieldGet2 from "./classPrivateFieldGet2.js"; +function _classPrivateFieldGet(e, t) { + var r = classPrivateFieldGet2(t, e); + return classApplyDescriptorGet(e, r); +} +export { _classPrivateFieldGet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js new file mode 100644 index 00000000..4aa3da6b --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js @@ -0,0 +1,5 @@ +import assertClassBrand from "./assertClassBrand.js"; +function _classPrivateFieldGet2(s, a) { + return s.get(assertClassBrand(s, a)); +} +export { _classPrivateFieldGet2 as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js new file mode 100644 index 00000000..5dcdbe04 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js @@ -0,0 +1,5 @@ +import checkPrivateRedeclaration from "./checkPrivateRedeclaration.js"; +function _classPrivateFieldInitSpec(e, t, a) { + checkPrivateRedeclaration(e, t), t.set(e, a); +} +export { _classPrivateFieldInitSpec as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js new file mode 100644 index 00000000..4bd662ca --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js @@ -0,0 +1,5 @@ +function _classPrivateFieldBase(e, t) { + if (!{}.hasOwnProperty.call(e, t)) throw new TypeError("attempted to use private field on non-instance"); + return e; +} +export { _classPrivateFieldBase as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js new file mode 100644 index 00000000..90d21937 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js @@ -0,0 +1,5 @@ +var id = 0; +function _classPrivateFieldKey(e) { + return "__private_" + id++ + "_" + e; +} +export { _classPrivateFieldKey as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js new file mode 100644 index 00000000..b5161bdb --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js @@ -0,0 +1,7 @@ +import classApplyDescriptorSet from "./classApplyDescriptorSet.js"; +import classPrivateFieldGet2 from "./classPrivateFieldGet2.js"; +function _classPrivateFieldSet(e, t, r) { + var s = classPrivateFieldGet2(t, e); + return classApplyDescriptorSet(e, s, r), r; +} +export { _classPrivateFieldSet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js new file mode 100644 index 00000000..337b01a4 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js @@ -0,0 +1,5 @@ +import assertClassBrand from "./assertClassBrand.js"; +function _classPrivateFieldSet2(s, a, r) { + return s.set(assertClassBrand(s, a), r), r; +} +export { _classPrivateFieldSet2 as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js b/node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js new file mode 100644 index 00000000..ff3e9851 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js @@ -0,0 +1,5 @@ +import assertClassBrand from "./assertClassBrand.js"; +function _classPrivateGetter(s, r, a) { + return a(assertClassBrand(s, r)); +} +export { _classPrivateGetter as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js b/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js new file mode 100644 index 00000000..4832fc6f --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js @@ -0,0 +1,5 @@ +import assertClassBrand from "./assertClassBrand.js"; +function _classPrivateMethodGet(s, a, r) { + return assertClassBrand(a, s), r; +} +export { _classPrivateMethodGet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js b/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js new file mode 100644 index 00000000..61e23e26 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js @@ -0,0 +1,5 @@ +import checkPrivateRedeclaration from "./checkPrivateRedeclaration.js"; +function _classPrivateMethodInitSpec(e, a) { + checkPrivateRedeclaration(e, a), a.add(e); +} +export { _classPrivateMethodInitSpec as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js b/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js new file mode 100644 index 00000000..d181b513 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js @@ -0,0 +1,4 @@ +function _classPrivateMethodSet() { + throw new TypeError("attempted to reassign private method"); +} +export { _classPrivateMethodSet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classPrivateSetter.js b/node_modules/@babel/runtime/helpers/esm/classPrivateSetter.js new file mode 100644 index 00000000..9a80d59b --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classPrivateSetter.js @@ -0,0 +1,5 @@ +import assertClassBrand from "./assertClassBrand.js"; +function _classPrivateSetter(s, r, a, t) { + return r(assertClassBrand(s, a), t), t; +} +export { _classPrivateSetter as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js b/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js new file mode 100644 index 00000000..747e639d --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js @@ -0,0 +1,7 @@ +import classApplyDescriptorDestructureSet from "./classApplyDescriptorDestructureSet.js"; +import assertClassBrand from "./assertClassBrand.js"; +import classCheckPrivateStaticFieldDescriptor from "./classCheckPrivateStaticFieldDescriptor.js"; +function _classStaticPrivateFieldDestructureSet(t, r, s) { + return assertClassBrand(r, t), classCheckPrivateStaticFieldDescriptor(s, "set"), classApplyDescriptorDestructureSet(t, s); +} +export { _classStaticPrivateFieldDestructureSet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js b/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js new file mode 100644 index 00000000..23684b74 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js @@ -0,0 +1,7 @@ +import classApplyDescriptorGet from "./classApplyDescriptorGet.js"; +import assertClassBrand from "./assertClassBrand.js"; +import classCheckPrivateStaticFieldDescriptor from "./classCheckPrivateStaticFieldDescriptor.js"; +function _classStaticPrivateFieldSpecGet(t, s, r) { + return assertClassBrand(s, t), classCheckPrivateStaticFieldDescriptor(r, "get"), classApplyDescriptorGet(t, r); +} +export { _classStaticPrivateFieldSpecGet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js b/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js new file mode 100644 index 00000000..3a314682 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js @@ -0,0 +1,7 @@ +import classApplyDescriptorSet from "./classApplyDescriptorSet.js"; +import assertClassBrand from "./assertClassBrand.js"; +import classCheckPrivateStaticFieldDescriptor from "./classCheckPrivateStaticFieldDescriptor.js"; +function _classStaticPrivateFieldSpecSet(s, t, r, e) { + return assertClassBrand(t, s), classCheckPrivateStaticFieldDescriptor(r, "set"), classApplyDescriptorSet(s, r, e), e; +} +export { _classStaticPrivateFieldSpecSet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js b/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js new file mode 100644 index 00000000..047b177b --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js @@ -0,0 +1,5 @@ +import assertClassBrand from "./assertClassBrand.js"; +function _classStaticPrivateMethodGet(s, a, t) { + return assertClassBrand(a, s), t; +} +export { _classStaticPrivateMethodGet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js b/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js new file mode 100644 index 00000000..a61ae63e --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js @@ -0,0 +1,4 @@ +function _classStaticPrivateMethodSet() { + throw new TypeError("attempted to set read only static private field"); +} +export { _classStaticPrivateMethodSet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/construct.js b/node_modules/@babel/runtime/helpers/esm/construct.js new file mode 100644 index 00000000..91609ff7 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/construct.js @@ -0,0 +1,10 @@ +import isNativeReflectConstruct from "./isNativeReflectConstruct.js"; +import setPrototypeOf from "./setPrototypeOf.js"; +function _construct(t, e, r) { + if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); + var o = [null]; + o.push.apply(o, e); + var p = new (t.bind.apply(t, o))(); + return r && setPrototypeOf(p, r.prototype), p; +} +export { _construct as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/createClass.js b/node_modules/@babel/runtime/helpers/esm/createClass.js new file mode 100644 index 00000000..9b178515 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/createClass.js @@ -0,0 +1,13 @@ +import toPropertyKey from "./toPropertyKey.js"; +function _defineProperties(e, r) { + for (var t = 0; t < r.length; t++) { + var o = r[t]; + o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o); + } +} +function _createClass(e, r, t) { + return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { + writable: !1 + }), e; +} +export { _createClass as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js b/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js new file mode 100644 index 00000000..93b97f91 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js @@ -0,0 +1,50 @@ +import unsupportedIterableToArray from "./unsupportedIterableToArray.js"; +function _createForOfIteratorHelper(r, e) { + var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t) { + if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { + t && (r = t); + var _n = 0, + F = function F() {}; + return { + s: F, + n: function n() { + return _n >= r.length ? { + done: !0 + } : { + done: !1, + value: r[_n++] + }; + }, + e: function e(r) { + throw r; + }, + f: F + }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, + a = !0, + u = !1; + return { + s: function s() { + t = t.call(r); + }, + n: function n() { + var r = t.next(); + return a = r.done, r; + }, + e: function e(r) { + u = !0, o = r; + }, + f: function f() { + try { + a || null == t["return"] || t["return"](); + } finally { + if (u) throw o; + } + } + }; +} +export { _createForOfIteratorHelper as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js b/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js new file mode 100644 index 00000000..3deaae44 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js @@ -0,0 +1,19 @@ +import unsupportedIterableToArray from "./unsupportedIterableToArray.js"; +function _createForOfIteratorHelperLoose(r, e) { + var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (t) return (t = t.call(r)).next.bind(t); + if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { + t && (r = t); + var o = 0; + return function () { + return o >= r.length ? { + done: !0 + } : { + done: !1, + value: r[o++] + }; + }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +export { _createForOfIteratorHelperLoose as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/createSuper.js b/node_modules/@babel/runtime/helpers/esm/createSuper.js new file mode 100644 index 00000000..dfabf711 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/createSuper.js @@ -0,0 +1,16 @@ +import getPrototypeOf from "./getPrototypeOf.js"; +import isNativeReflectConstruct from "./isNativeReflectConstruct.js"; +import possibleConstructorReturn from "./possibleConstructorReturn.js"; +function _createSuper(t) { + var r = isNativeReflectConstruct(); + return function () { + var e, + o = getPrototypeOf(t); + if (r) { + var s = getPrototypeOf(this).constructor; + e = Reflect.construct(o, arguments, s); + } else e = o.apply(this, arguments); + return possibleConstructorReturn(this, e); + }; +} +export { _createSuper as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/decorate.js b/node_modules/@babel/runtime/helpers/esm/decorate.js new file mode 100644 index 00000000..f76b6a6a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/decorate.js @@ -0,0 +1,250 @@ +import toArray from "./toArray.js"; +import toPropertyKey from "./toPropertyKey.js"; +function _decorate(e, r, t, i) { + var o = _getDecoratorsApi(); + if (i) for (var n = 0; n < i.length; n++) o = i[n](o); + var s = r(function (e) { + o.initializeInstanceElements(e, a.elements); + }, t), + a = o.decorateClass(_coalesceClassElements(s.d.map(_createElementDescriptor)), e); + return o.initializeClassElements(s.F, a.elements), o.runClassFinishers(s.F, a.finishers); +} +function _getDecoratorsApi() { + _getDecoratorsApi = function _getDecoratorsApi() { + return e; + }; + var e = { + elementsDefinitionOrder: [["method"], ["field"]], + initializeInstanceElements: function initializeInstanceElements(e, r) { + ["method", "field"].forEach(function (t) { + r.forEach(function (r) { + r.kind === t && "own" === r.placement && this.defineClassElement(e, r); + }, this); + }, this); + }, + initializeClassElements: function initializeClassElements(e, r) { + var t = e.prototype; + ["method", "field"].forEach(function (i) { + r.forEach(function (r) { + var o = r.placement; + if (r.kind === i && ("static" === o || "prototype" === o)) { + var n = "static" === o ? e : t; + this.defineClassElement(n, r); + } + }, this); + }, this); + }, + defineClassElement: function defineClassElement(e, r) { + var t = r.descriptor; + if ("field" === r.kind) { + var i = r.initializer; + t = { + enumerable: t.enumerable, + writable: t.writable, + configurable: t.configurable, + value: void 0 === i ? void 0 : i.call(e) + }; + } + Object.defineProperty(e, r.key, t); + }, + decorateClass: function decorateClass(e, r) { + var t = [], + i = [], + o = { + "static": [], + prototype: [], + own: [] + }; + if (e.forEach(function (e) { + this.addElementPlacement(e, o); + }, this), e.forEach(function (e) { + if (!_hasDecorators(e)) return t.push(e); + var r = this.decorateElement(e, o); + t.push(r.element), t.push.apply(t, r.extras), i.push.apply(i, r.finishers); + }, this), !r) return { + elements: t, + finishers: i + }; + var n = this.decorateConstructor(t, r); + return i.push.apply(i, n.finishers), n.finishers = i, n; + }, + addElementPlacement: function addElementPlacement(e, r, t) { + var i = r[e.placement]; + if (!t && -1 !== i.indexOf(e.key)) throw new TypeError("Duplicated element (" + e.key + ")"); + i.push(e.key); + }, + decorateElement: function decorateElement(e, r) { + for (var t = [], i = [], o = e.decorators, n = o.length - 1; n >= 0; n--) { + var s = r[e.placement]; + s.splice(s.indexOf(e.key), 1); + var a = this.fromElementDescriptor(e), + l = this.toElementFinisherExtras((0, o[n])(a) || a); + e = l.element, this.addElementPlacement(e, r), l.finisher && i.push(l.finisher); + var c = l.extras; + if (c) { + for (var p = 0; p < c.length; p++) this.addElementPlacement(c[p], r); + t.push.apply(t, c); + } + } + return { + element: e, + finishers: i, + extras: t + }; + }, + decorateConstructor: function decorateConstructor(e, r) { + for (var t = [], i = r.length - 1; i >= 0; i--) { + var o = this.fromClassDescriptor(e), + n = this.toClassDescriptor((0, r[i])(o) || o); + if (void 0 !== n.finisher && t.push(n.finisher), void 0 !== n.elements) { + e = n.elements; + for (var s = 0; s < e.length - 1; s++) for (var a = s + 1; a < e.length; a++) if (e[s].key === e[a].key && e[s].placement === e[a].placement) throw new TypeError("Duplicated element (" + e[s].key + ")"); + } + } + return { + elements: e, + finishers: t + }; + }, + fromElementDescriptor: function fromElementDescriptor(e) { + var r = { + kind: e.kind, + key: e.key, + placement: e.placement, + descriptor: e.descriptor + }; + return Object.defineProperty(r, Symbol.toStringTag, { + value: "Descriptor", + configurable: !0 + }), "field" === e.kind && (r.initializer = e.initializer), r; + }, + toElementDescriptors: function toElementDescriptors(e) { + if (void 0 !== e) return toArray(e).map(function (e) { + var r = this.toElementDescriptor(e); + return this.disallowProperty(e, "finisher", "An element descriptor"), this.disallowProperty(e, "extras", "An element descriptor"), r; + }, this); + }, + toElementDescriptor: function toElementDescriptor(e) { + var r = e.kind + ""; + if ("method" !== r && "field" !== r) throw new TypeError('An element descriptor\'s .kind property must be either "method" or "field", but a decorator created an element descriptor with .kind "' + r + '"'); + var t = toPropertyKey(e.key), + i = e.placement + ""; + if ("static" !== i && "prototype" !== i && "own" !== i) throw new TypeError('An element descriptor\'s .placement property must be one of "static", "prototype" or "own", but a decorator created an element descriptor with .placement "' + i + '"'); + var o = e.descriptor; + this.disallowProperty(e, "elements", "An element descriptor"); + var n = { + kind: r, + key: t, + placement: i, + descriptor: Object.assign({}, o) + }; + return "field" !== r ? this.disallowProperty(e, "initializer", "A method descriptor") : (this.disallowProperty(o, "get", "The property descriptor of a field descriptor"), this.disallowProperty(o, "set", "The property descriptor of a field descriptor"), this.disallowProperty(o, "value", "The property descriptor of a field descriptor"), n.initializer = e.initializer), n; + }, + toElementFinisherExtras: function toElementFinisherExtras(e) { + return { + element: this.toElementDescriptor(e), + finisher: _optionalCallableProperty(e, "finisher"), + extras: this.toElementDescriptors(e.extras) + }; + }, + fromClassDescriptor: function fromClassDescriptor(e) { + var r = { + kind: "class", + elements: e.map(this.fromElementDescriptor, this) + }; + return Object.defineProperty(r, Symbol.toStringTag, { + value: "Descriptor", + configurable: !0 + }), r; + }, + toClassDescriptor: function toClassDescriptor(e) { + var r = e.kind + ""; + if ("class" !== r) throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator created a class descriptor with .kind "' + r + '"'); + this.disallowProperty(e, "key", "A class descriptor"), this.disallowProperty(e, "placement", "A class descriptor"), this.disallowProperty(e, "descriptor", "A class descriptor"), this.disallowProperty(e, "initializer", "A class descriptor"), this.disallowProperty(e, "extras", "A class descriptor"); + var t = _optionalCallableProperty(e, "finisher"); + return { + elements: this.toElementDescriptors(e.elements), + finisher: t + }; + }, + runClassFinishers: function runClassFinishers(e, r) { + for (var t = 0; t < r.length; t++) { + var i = (0, r[t])(e); + if (void 0 !== i) { + if ("function" != typeof i) throw new TypeError("Finishers must return a constructor."); + e = i; + } + } + return e; + }, + disallowProperty: function disallowProperty(e, r, t) { + if (void 0 !== e[r]) throw new TypeError(t + " can't have a ." + r + " property."); + } + }; + return e; +} +function _createElementDescriptor(e) { + var r, + t = toPropertyKey(e.key); + "method" === e.kind ? r = { + value: e.value, + writable: !0, + configurable: !0, + enumerable: !1 + } : "get" === e.kind ? r = { + get: e.value, + configurable: !0, + enumerable: !1 + } : "set" === e.kind ? r = { + set: e.value, + configurable: !0, + enumerable: !1 + } : "field" === e.kind && (r = { + configurable: !0, + writable: !0, + enumerable: !0 + }); + var i = { + kind: "field" === e.kind ? "field" : "method", + key: t, + placement: e["static"] ? "static" : "field" === e.kind ? "own" : "prototype", + descriptor: r + }; + return e.decorators && (i.decorators = e.decorators), "field" === e.kind && (i.initializer = e.value), i; +} +function _coalesceGetterSetter(e, r) { + void 0 !== e.descriptor.get ? r.descriptor.get = e.descriptor.get : r.descriptor.set = e.descriptor.set; +} +function _coalesceClassElements(e) { + for (var r = [], isSameElement = function isSameElement(e) { + return "method" === e.kind && e.key === o.key && e.placement === o.placement; + }, t = 0; t < e.length; t++) { + var i, + o = e[t]; + if ("method" === o.kind && (i = r.find(isSameElement))) { + if (_isDataDescriptor(o.descriptor) || _isDataDescriptor(i.descriptor)) { + if (_hasDecorators(o) || _hasDecorators(i)) throw new ReferenceError("Duplicated methods (" + o.key + ") can't be decorated."); + i.descriptor = o.descriptor; + } else { + if (_hasDecorators(o)) { + if (_hasDecorators(i)) throw new ReferenceError("Decorators can't be placed on different accessors with for the same property (" + o.key + ")."); + i.decorators = o.decorators; + } + _coalesceGetterSetter(o, i); + } + } else r.push(o); + } + return r; +} +function _hasDecorators(e) { + return e.decorators && e.decorators.length; +} +function _isDataDescriptor(e) { + return void 0 !== e && !(void 0 === e.value && void 0 === e.writable); +} +function _optionalCallableProperty(e, r) { + var t = e[r]; + if (void 0 !== t && "function" != typeof t) throw new TypeError("Expected '" + r + "' to be a function"); + return t; +} +export { _decorate as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/defaults.js b/node_modules/@babel/runtime/helpers/esm/defaults.js new file mode 100644 index 00000000..d3041a3d --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/defaults.js @@ -0,0 +1,9 @@ +function _defaults(e, r) { + for (var t = Object.getOwnPropertyNames(r), o = 0; o < t.length; o++) { + var n = t[o], + a = Object.getOwnPropertyDescriptor(r, n); + a && a.configurable && void 0 === e[n] && Object.defineProperty(e, n, a); + } + return e; +} +export { _defaults as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/defineAccessor.js b/node_modules/@babel/runtime/helpers/esm/defineAccessor.js new file mode 100644 index 00000000..a8292dea --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/defineAccessor.js @@ -0,0 +1,8 @@ +function _defineAccessor(e, r, n, t) { + var c = { + configurable: !0, + enumerable: !0 + }; + return c[e] = t, Object.defineProperty(r, n, c); +} +export { _defineAccessor as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js b/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js new file mode 100644 index 00000000..3d31d980 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js @@ -0,0 +1,12 @@ +function _defineEnumerableProperties(e, r) { + for (var t in r) { + var n = r[t]; + n.configurable = n.enumerable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, t, n); + } + if (Object.getOwnPropertySymbols) for (var a = Object.getOwnPropertySymbols(r), b = 0; b < a.length; b++) { + var i = a[b]; + (n = r[i]).configurable = n.enumerable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, i, n); + } + return e; +} +export { _defineEnumerableProperties as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/defineProperty.js b/node_modules/@babel/runtime/helpers/esm/defineProperty.js new file mode 100644 index 00000000..05ec32b7 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/defineProperty.js @@ -0,0 +1,10 @@ +import toPropertyKey from "./toPropertyKey.js"; +function _defineProperty(e, r, t) { + return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} +export { _defineProperty as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/dispose.js b/node_modules/@babel/runtime/helpers/esm/dispose.js new file mode 100644 index 00000000..a87ab202 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/dispose.js @@ -0,0 +1,28 @@ +function dispose_SuppressedError(r, e) { + return "undefined" != typeof SuppressedError ? dispose_SuppressedError = SuppressedError : (dispose_SuppressedError = function dispose_SuppressedError(r, e) { + this.suppressed = e, this.error = r, this.stack = Error().stack; + }, dispose_SuppressedError.prototype = Object.create(Error.prototype, { + constructor: { + value: dispose_SuppressedError, + writable: !0, + configurable: !0 + } + })), new dispose_SuppressedError(r, e); +} +function _dispose(r, e, s) { + function next() { + for (; r.length > 0;) try { + var o = r.pop(), + p = o.d.call(o.v); + if (o.a) return Promise.resolve(p).then(next, err); + } catch (r) { + return err(r); + } + if (s) throw e; + } + function err(r) { + return e = s ? new dispose_SuppressedError(e, r) : r, s = !0, next(); + } + return next(); +} +export { _dispose as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/extends.js b/node_modules/@babel/runtime/helpers/esm/extends.js new file mode 100644 index 00000000..53f118ca --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/extends.js @@ -0,0 +1,10 @@ +function _extends() { + return _extends = Object.assign ? Object.assign.bind() : function (n) { + for (var e = 1; e < arguments.length; e++) { + var t = arguments[e]; + for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); + } + return n; + }, _extends.apply(null, arguments); +} +export { _extends as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/get.js b/node_modules/@babel/runtime/helpers/esm/get.js new file mode 100644 index 00000000..8124bc02 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/get.js @@ -0,0 +1,11 @@ +import superPropBase from "./superPropBase.js"; +function _get() { + return _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { + var p = superPropBase(e, t); + if (p) { + var n = Object.getOwnPropertyDescriptor(p, t); + return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; + } + }, _get.apply(null, arguments); +} +export { _get as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js b/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js new file mode 100644 index 00000000..9073c456 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js @@ -0,0 +1,6 @@ +function _getPrototypeOf(t) { + return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }, _getPrototypeOf(t); +} +export { _getPrototypeOf as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/identity.js b/node_modules/@babel/runtime/helpers/esm/identity.js new file mode 100644 index 00000000..6b564ac5 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/identity.js @@ -0,0 +1,4 @@ +function _identity(t) { + return t; +} +export { _identity as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/importDeferProxy.js b/node_modules/@babel/runtime/helpers/esm/importDeferProxy.js new file mode 100644 index 00000000..6d35b526 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/importDeferProxy.js @@ -0,0 +1,27 @@ +function _importDeferProxy(e) { + var t = null, + constValue = function constValue(e) { + return function () { + return e; + }; + }, + proxy = function proxy(r) { + return function (n, o, f) { + return null === t && (t = e()), r(t, o, f); + }; + }; + return new Proxy({}, { + defineProperty: constValue(!1), + deleteProperty: constValue(!1), + get: proxy(Reflect.get), + getOwnPropertyDescriptor: proxy(Reflect.getOwnPropertyDescriptor), + getPrototypeOf: constValue(null), + isExtensible: constValue(!1), + has: proxy(Reflect.has), + ownKeys: proxy(Reflect.ownKeys), + preventExtensions: constValue(!0), + set: constValue(!1), + setPrototypeOf: constValue(!1) + }); +} +export { _importDeferProxy as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/inherits.js b/node_modules/@babel/runtime/helpers/esm/inherits.js new file mode 100644 index 00000000..78f6e4e3 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/inherits.js @@ -0,0 +1,14 @@ +import setPrototypeOf from "./setPrototypeOf.js"; +function _inherits(t, e) { + if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); + t.prototype = Object.create(e && e.prototype, { + constructor: { + value: t, + writable: !0, + configurable: !0 + } + }), Object.defineProperty(t, "prototype", { + writable: !1 + }), e && setPrototypeOf(t, e); +} +export { _inherits as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js b/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js new file mode 100644 index 00000000..0bd13306 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js @@ -0,0 +1,5 @@ +import setPrototypeOf from "./setPrototypeOf.js"; +function _inheritsLoose(t, o) { + t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o); +} +export { _inheritsLoose as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js b/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js new file mode 100644 index 00000000..68bcc2cd --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js @@ -0,0 +1,9 @@ +function _initializerDefineProperty(e, i, r, l) { + r && Object.defineProperty(e, i, { + enumerable: r.enumerable, + configurable: r.configurable, + writable: r.writable, + value: r.initializer ? r.initializer.call(l) : void 0 + }); +} +export { _initializerDefineProperty as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js b/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js new file mode 100644 index 00000000..0a658e39 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js @@ -0,0 +1,4 @@ +function _initializerWarningHelper(r, e) { + throw Error("Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform."); +} +export { _initializerWarningHelper as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/instanceof.js b/node_modules/@babel/runtime/helpers/esm/instanceof.js new file mode 100644 index 00000000..316539ee --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/instanceof.js @@ -0,0 +1,4 @@ +function _instanceof(n, e) { + return null != e && "undefined" != typeof Symbol && e[Symbol.hasInstance] ? !!e[Symbol.hasInstance](n) : n instanceof e; +} +export { _instanceof as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js b/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js new file mode 100644 index 00000000..365d2481 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js @@ -0,0 +1,6 @@ +function _interopRequireDefault(e) { + return e && e.__esModule ? e : { + "default": e + }; +} +export { _interopRequireDefault as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js b/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js new file mode 100644 index 00000000..ed9ca318 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js @@ -0,0 +1,22 @@ +import _typeof from "./typeof.js"; +function _interopRequireWildcard(e, t) { + if ("function" == typeof WeakMap) var r = new WeakMap(), + n = new WeakMap(); + return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { + if (!t && e && e.__esModule) return e; + var o, + i, + f = { + __proto__: null, + "default": e + }; + if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; + if (o = t ? n : r) { + if (o.has(e)) return o.get(e); + o.set(e, f); + } + for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); + return f; + })(e, t); +} +export { _interopRequireWildcard as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js b/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js new file mode 100644 index 00000000..0cfe276f --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js @@ -0,0 +1,8 @@ +function _isNativeFunction(t) { + try { + return -1 !== Function.toString.call(t).indexOf("[native code]"); + } catch (n) { + return "function" == typeof t; + } +} +export { _isNativeFunction as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js b/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js new file mode 100644 index 00000000..0eb5e395 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js @@ -0,0 +1,9 @@ +function _isNativeReflectConstruct() { + try { + var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); + } catch (t) {} + return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { + return !!t; + })(); +} +export { _isNativeReflectConstruct as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/iterableToArray.js b/node_modules/@babel/runtime/helpers/esm/iterableToArray.js new file mode 100644 index 00000000..b7de3396 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/iterableToArray.js @@ -0,0 +1,4 @@ +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +export { _iterableToArray as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js b/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js new file mode 100644 index 00000000..473f0678 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js @@ -0,0 +1,28 @@ +function _iterableToArrayLimit(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, + n, + i, + u, + a = [], + f = !0, + o = !1; + try { + if (i = (t = t.call(r)).next, 0 === l) { + if (Object(t) !== t) return; + f = !1; + } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); + } catch (r) { + o = !0, n = r; + } finally { + try { + if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } +} +export { _iterableToArrayLimit as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/jsx.js b/node_modules/@babel/runtime/helpers/esm/jsx.js new file mode 100644 index 00000000..a120e5b6 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/jsx.js @@ -0,0 +1,22 @@ +var REACT_ELEMENT_TYPE; +function _createRawReactElement(e, r, E, l) { + REACT_ELEMENT_TYPE || (REACT_ELEMENT_TYPE = "function" == typeof Symbol && Symbol["for"] && Symbol["for"]("react.element") || 60103); + var o = e && e.defaultProps, + n = arguments.length - 3; + if (r || 0 === n || (r = { + children: void 0 + }), 1 === n) r.children = l;else if (n > 1) { + for (var t = Array(n), f = 0; f < n; f++) t[f] = arguments[f + 3]; + r.children = t; + } + if (r && o) for (var i in o) void 0 === r[i] && (r[i] = o[i]);else r || (r = o || {}); + return { + $$typeof: REACT_ELEMENT_TYPE, + type: e, + key: void 0 === E ? null : "" + E, + ref: null, + props: r, + _owner: null + }; +} +export { _createRawReactElement as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js b/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js new file mode 100644 index 00000000..527c682b --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js @@ -0,0 +1,9 @@ +import arrayLikeToArray from "./arrayLikeToArray.js"; +function _maybeArrayLike(r, a, e) { + if (a && !Array.isArray(a) && "number" == typeof a.length) { + var y = a.length; + return arrayLikeToArray(a, void 0 !== e && e < y ? e : y); + } + return r(a, e); +} +export { _maybeArrayLike as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js b/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js new file mode 100644 index 00000000..5f70e0d7 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js @@ -0,0 +1,4 @@ +function _newArrowCheck(n, r) { + if (n !== r) throw new TypeError("Cannot instantiate an arrow function"); +} +export { _newArrowCheck as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js b/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js new file mode 100644 index 00000000..9050250b --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js @@ -0,0 +1,4 @@ +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +export { _nonIterableRest as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js b/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js new file mode 100644 index 00000000..fb03235a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js @@ -0,0 +1,4 @@ +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +export { _nonIterableSpread as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/nullishReceiverError.js b/node_modules/@babel/runtime/helpers/esm/nullishReceiverError.js new file mode 100644 index 00000000..d8c30604 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/nullishReceiverError.js @@ -0,0 +1,4 @@ +function _nullishReceiverError(r) { + throw new TypeError("Cannot set property of null or undefined."); +} +export { _nullishReceiverError as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js b/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js new file mode 100644 index 00000000..a92eac8f --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js @@ -0,0 +1,4 @@ +function _objectDestructuringEmpty(t) { + if (null == t) throw new TypeError("Cannot destructure " + t); +} +export { _objectDestructuringEmpty as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/objectSpread.js b/node_modules/@babel/runtime/helpers/esm/objectSpread.js new file mode 100644 index 00000000..0f82f069 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/objectSpread.js @@ -0,0 +1,14 @@ +import defineProperty from "./defineProperty.js"; +function _objectSpread(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? Object(arguments[r]) : {}, + o = Object.keys(t); + "function" == typeof Object.getOwnPropertySymbols && o.push.apply(o, Object.getOwnPropertySymbols(t).filter(function (e) { + return Object.getOwnPropertyDescriptor(t, e).enumerable; + })), o.forEach(function (r) { + defineProperty(e, r, t[r]); + }); + } + return e; +} +export { _objectSpread as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/objectSpread2.js b/node_modules/@babel/runtime/helpers/esm/objectSpread2.js new file mode 100644 index 00000000..0035bc76 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/objectSpread2.js @@ -0,0 +1,23 @@ +import defineProperty from "./defineProperty.js"; +function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function (r) { + return Object.getOwnPropertyDescriptor(e, r).enumerable; + })), t.push.apply(t, o); + } + return t; +} +function _objectSpread2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { + defineProperty(e, r, t[r]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { + Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); + }); + } + return e; +} +export { _objectSpread2 as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js b/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js new file mode 100644 index 00000000..598fb9ad --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js @@ -0,0 +1,13 @@ +import objectWithoutPropertiesLoose from "./objectWithoutPropertiesLoose.js"; +function _objectWithoutProperties(e, t) { + if (null == e) return {}; + var o, + r, + i = objectWithoutPropertiesLoose(e, t); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); + } + return i; +} +export { _objectWithoutProperties as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js b/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js new file mode 100644 index 00000000..90f68f3d --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js @@ -0,0 +1,10 @@ +function _objectWithoutPropertiesLoose(r, e) { + if (null == r) return {}; + var t = {}; + for (var n in r) if ({}.hasOwnProperty.call(r, n)) { + if (-1 !== e.indexOf(n)) continue; + t[n] = r[n]; + } + return t; +} +export { _objectWithoutPropertiesLoose as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/package.json b/node_modules/@babel/runtime/helpers/esm/package.json new file mode 100644 index 00000000..aead43de --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js b/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js new file mode 100644 index 00000000..d84e1e6f --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js @@ -0,0 +1,8 @@ +import _typeof from "./typeof.js"; +import assertThisInitialized from "./assertThisInitialized.js"; +function _possibleConstructorReturn(t, e) { + if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; + if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); + return assertThisInitialized(t); +} +export { _possibleConstructorReturn as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/readOnlyError.js b/node_modules/@babel/runtime/helpers/esm/readOnlyError.js new file mode 100644 index 00000000..fcc3e339 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/readOnlyError.js @@ -0,0 +1,4 @@ +function _readOnlyError(r) { + throw new TypeError('"' + r + '" is read-only'); +} +export { _readOnlyError as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js b/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js new file mode 100644 index 00000000..af1677c4 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js @@ -0,0 +1,272 @@ +import _typeof from "./typeof.js"; +function _regeneratorRuntime() { + "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ + _regeneratorRuntime = function _regeneratorRuntime() { + return r; + }; + var t, + r = {}, + e = Object.prototype, + n = e.hasOwnProperty, + o = "function" == typeof Symbol ? Symbol : {}, + i = o.iterator || "@@iterator", + a = o.asyncIterator || "@@asyncIterator", + u = o.toStringTag || "@@toStringTag"; + function c(t, r, e, n) { + return Object.defineProperty(t, r, { + value: e, + enumerable: !n, + configurable: !n, + writable: !n + }); + } + try { + c({}, ""); + } catch (t) { + c = function c(t, r, e) { + return t[r] = e; + }; + } + function h(r, e, n, o) { + var i = e && e.prototype instanceof Generator ? e : Generator, + a = Object.create(i.prototype); + return c(a, "_invoke", function (r, e, n) { + var o = 1; + return function (i, a) { + if (3 === o) throw Error("Generator is already running"); + if (4 === o) { + if ("throw" === i) throw a; + return { + value: t, + done: !0 + }; + } + for (n.method = i, n.arg = a;;) { + var u = n.delegate; + if (u) { + var c = d(u, n); + if (c) { + if (c === f) continue; + return c; + } + } + if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { + if (1 === o) throw o = 4, n.arg; + n.dispatchException(n.arg); + } else "return" === n.method && n.abrupt("return", n.arg); + o = 3; + var h = s(r, e, n); + if ("normal" === h.type) { + if (o = n.done ? 4 : 2, h.arg === f) continue; + return { + value: h.arg, + done: n.done + }; + } + "throw" === h.type && (o = 4, n.method = "throw", n.arg = h.arg); + } + }; + }(r, n, new Context(o || [])), !0), a; + } + function s(t, r, e) { + try { + return { + type: "normal", + arg: t.call(r, e) + }; + } catch (t) { + return { + type: "throw", + arg: t + }; + } + } + r.wrap = h; + var f = {}; + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + var l = {}; + c(l, i, function () { + return this; + }); + var p = Object.getPrototypeOf, + y = p && p(p(x([]))); + y && y !== e && n.call(y, i) && (l = y); + var v = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(l); + function g(t) { + ["next", "throw", "return"].forEach(function (r) { + c(t, r, function (t) { + return this._invoke(r, t); + }); + }); + } + function AsyncIterator(t, r) { + function e(o, i, a, u) { + var c = s(t[o], t, i); + if ("throw" !== c.type) { + var h = c.arg, + f = h.value; + return f && "object" == _typeof(f) && n.call(f, "__await") ? r.resolve(f.__await).then(function (t) { + e("next", t, a, u); + }, function (t) { + e("throw", t, a, u); + }) : r.resolve(f).then(function (t) { + h.value = t, a(h); + }, function (t) { + return e("throw", t, a, u); + }); + } + u(c.arg); + } + var o; + c(this, "_invoke", function (t, n) { + function i() { + return new r(function (r, o) { + e(t, n, r, o); + }); + } + return o = o ? o.then(i, i) : i(); + }, !0); + } + function d(r, e) { + var n = e.method, + o = r.i[n]; + if (o === t) return e.delegate = null, "throw" === n && r.i["return"] && (e.method = "return", e.arg = t, d(r, e), "throw" === e.method) || "return" !== n && (e.method = "throw", e.arg = new TypeError("The iterator does not provide a '" + n + "' method")), f; + var i = s(o, r.i, e.arg); + if ("throw" === i.type) return e.method = "throw", e.arg = i.arg, e.delegate = null, f; + var a = i.arg; + return a ? a.done ? (e[r.r] = a.value, e.next = r.n, "return" !== e.method && (e.method = "next", e.arg = t), e.delegate = null, f) : a : (e.method = "throw", e.arg = new TypeError("iterator result is not an object"), e.delegate = null, f); + } + function w(t) { + this.tryEntries.push(t); + } + function m(r) { + var e = r[4] || {}; + e.type = "normal", e.arg = t, r[4] = e; + } + function Context(t) { + this.tryEntries = [[-1]], t.forEach(w, this), this.reset(!0); + } + function x(r) { + if (null != r) { + var e = r[i]; + if (e) return e.call(r); + if ("function" == typeof r.next) return r; + if (!isNaN(r.length)) { + var o = -1, + a = function e() { + for (; ++o < r.length;) if (n.call(r, o)) return e.value = r[o], e.done = !1, e; + return e.value = t, e.done = !0, e; + }; + return a.next = a; + } + } + throw new TypeError(_typeof(r) + " is not iterable"); + } + return GeneratorFunction.prototype = GeneratorFunctionPrototype, c(v, "constructor", GeneratorFunctionPrototype), c(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = c(GeneratorFunctionPrototype, u, "GeneratorFunction"), r.isGeneratorFunction = function (t) { + var r = "function" == typeof t && t.constructor; + return !!r && (r === GeneratorFunction || "GeneratorFunction" === (r.displayName || r.name)); + }, r.mark = function (t) { + return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, c(t, u, "GeneratorFunction")), t.prototype = Object.create(v), t; + }, r.awrap = function (t) { + return { + __await: t + }; + }, g(AsyncIterator.prototype), c(AsyncIterator.prototype, a, function () { + return this; + }), r.AsyncIterator = AsyncIterator, r.async = function (t, e, n, o, i) { + void 0 === i && (i = Promise); + var a = new AsyncIterator(h(t, e, n, o), i); + return r.isGeneratorFunction(e) ? a : a.next().then(function (t) { + return t.done ? t.value : a.next(); + }); + }, g(v), c(v, u, "Generator"), c(v, i, function () { + return this; + }), c(v, "toString", function () { + return "[object Generator]"; + }), r.keys = function (t) { + var r = Object(t), + e = []; + for (var n in r) e.unshift(n); + return function t() { + for (; e.length;) if ((n = e.pop()) in r) return t.value = n, t.done = !1, t; + return t.done = !0, t; + }; + }, r.values = x, Context.prototype = { + constructor: Context, + reset: function reset(r) { + if (this.prev = this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(m), !r) for (var e in this) "t" === e.charAt(0) && n.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = t); + }, + stop: function stop() { + this.done = !0; + var t = this.tryEntries[0][4]; + if ("throw" === t.type) throw t.arg; + return this.rval; + }, + dispatchException: function dispatchException(r) { + if (this.done) throw r; + var e = this; + function n(t) { + a.type = "throw", a.arg = r, e.next = t; + } + for (var o = e.tryEntries.length - 1; o >= 0; --o) { + var i = this.tryEntries[o], + a = i[4], + u = this.prev, + c = i[1], + h = i[2]; + if (-1 === i[0]) return n("end"), !1; + if (!c && !h) throw Error("try statement without catch or finally"); + if (null != i[0] && i[0] <= u) { + if (u < c) return this.method = "next", this.arg = t, n(c), !0; + if (u < h) return n(h), !1; + } + } + }, + abrupt: function abrupt(t, r) { + for (var e = this.tryEntries.length - 1; e >= 0; --e) { + var n = this.tryEntries[e]; + if (n[0] > -1 && n[0] <= this.prev && this.prev < n[2]) { + var o = n; + break; + } + } + o && ("break" === t || "continue" === t) && o[0] <= r && r <= o[2] && (o = null); + var i = o ? o[4] : {}; + return i.type = t, i.arg = r, o ? (this.method = "next", this.next = o[2], f) : this.complete(i); + }, + complete: function complete(t, r) { + if ("throw" === t.type) throw t.arg; + return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && r && (this.next = r), f; + }, + finish: function finish(t) { + for (var r = this.tryEntries.length - 1; r >= 0; --r) { + var e = this.tryEntries[r]; + if (e[2] === t) return this.complete(e[4], e[3]), m(e), f; + } + }, + "catch": function _catch(t) { + for (var r = this.tryEntries.length - 1; r >= 0; --r) { + var e = this.tryEntries[r]; + if (e[0] === t) { + var n = e[4]; + if ("throw" === n.type) { + var o = n.arg; + m(e); + } + return o; + } + } + throw Error("illegal catch attempt"); + }, + delegateYield: function delegateYield(r, e, n) { + return this.delegate = { + i: x(r), + r: e, + n: n + }, "next" === this.method && (this.arg = t), f; + } + }, r; +} +export { _regeneratorRuntime as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/set.js b/node_modules/@babel/runtime/helpers/esm/set.js new file mode 100644 index 00000000..ed0a8039 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/set.js @@ -0,0 +1,22 @@ +import superPropBase from "./superPropBase.js"; +import defineProperty from "./defineProperty.js"; +function set(e, r, t, o) { + return set = "undefined" != typeof Reflect && Reflect.set ? Reflect.set : function (e, r, t, o) { + var f, + i = superPropBase(e, r); + if (i) { + if ((f = Object.getOwnPropertyDescriptor(i, r)).set) return f.set.call(o, t), !0; + if (!f.writable) return !1; + } + if (f = Object.getOwnPropertyDescriptor(o, r)) { + if (!f.writable) return !1; + f.value = t, Object.defineProperty(o, r, f); + } else defineProperty(o, r, t); + return !0; + }, set(e, r, t, o); +} +function _set(e, r, t, o, f) { + if (!set(e, r, t, o || e) && f) throw new TypeError("failed to set property"); + return t; +} +export { _set as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/setFunctionName.js b/node_modules/@babel/runtime/helpers/esm/setFunctionName.js new file mode 100644 index 00000000..82213cea --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/setFunctionName.js @@ -0,0 +1,12 @@ +import _typeof from "./typeof.js"; +function setFunctionName(e, t, n) { + "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); + try { + Object.defineProperty(e, "name", { + configurable: !0, + value: n ? n + " " + t : t + }); + } catch (e) {} + return e; +} +export { setFunctionName as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js b/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js new file mode 100644 index 00000000..c30983c9 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js @@ -0,0 +1,6 @@ +function _setPrototypeOf(t, e) { + return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { + return t.__proto__ = e, t; + }, _setPrototypeOf(t, e); +} +export { _setPrototypeOf as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js b/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js new file mode 100644 index 00000000..41d5738c --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js @@ -0,0 +1,7 @@ +function _skipFirstGeneratorNext(t) { + return function () { + var r = t.apply(this, arguments); + return r.next(), r; + }; +} +export { _skipFirstGeneratorNext as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/slicedToArray.js b/node_modules/@babel/runtime/helpers/esm/slicedToArray.js new file mode 100644 index 00000000..c044c2a6 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/slicedToArray.js @@ -0,0 +1,8 @@ +import arrayWithHoles from "./arrayWithHoles.js"; +import iterableToArrayLimit from "./iterableToArrayLimit.js"; +import unsupportedIterableToArray from "./unsupportedIterableToArray.js"; +import nonIterableRest from "./nonIterableRest.js"; +function _slicedToArray(r, e) { + return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest(); +} +export { _slicedToArray as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/superPropBase.js b/node_modules/@babel/runtime/helpers/esm/superPropBase.js new file mode 100644 index 00000000..a5fa3861 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/superPropBase.js @@ -0,0 +1,6 @@ +import getPrototypeOf from "./getPrototypeOf.js"; +function _superPropBase(t, o) { + for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t));); + return t; +} +export { _superPropBase as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/superPropGet.js b/node_modules/@babel/runtime/helpers/esm/superPropGet.js new file mode 100644 index 00000000..b2b60a87 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/superPropGet.js @@ -0,0 +1,9 @@ +import get from "./get.js"; +import getPrototypeOf from "./getPrototypeOf.js"; +function _superPropGet(t, o, e, r) { + var p = get(getPrototypeOf(1 & r ? t.prototype : t), o, e); + return 2 & r && "function" == typeof p ? function (t) { + return p.apply(e, t); + } : p; +} +export { _superPropGet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/superPropSet.js b/node_modules/@babel/runtime/helpers/esm/superPropSet.js new file mode 100644 index 00000000..e182f386 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/superPropSet.js @@ -0,0 +1,6 @@ +import set from "./set.js"; +import getPrototypeOf from "./getPrototypeOf.js"; +function _superPropSet(t, e, o, r, p, f) { + return set(getPrototypeOf(f ? t.prototype : t), e, o, r, p); +} +export { _superPropSet as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js b/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js new file mode 100644 index 00000000..3d842cda --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js @@ -0,0 +1,8 @@ +function _taggedTemplateLiteral(e, t) { + return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { + raw: { + value: Object.freeze(t) + } + })); +} +export { _taggedTemplateLiteral as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js b/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js new file mode 100644 index 00000000..741aeb85 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js @@ -0,0 +1,4 @@ +function _taggedTemplateLiteralLoose(e, t) { + return t || (t = e.slice(0)), e.raw = t, e; +} +export { _taggedTemplateLiteralLoose as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/tdz.js b/node_modules/@babel/runtime/helpers/esm/tdz.js new file mode 100644 index 00000000..58df493f --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/tdz.js @@ -0,0 +1,4 @@ +function _tdzError(e) { + throw new ReferenceError(e + " is not defined - temporal dead zone"); +} +export { _tdzError as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/temporalRef.js b/node_modules/@babel/runtime/helpers/esm/temporalRef.js new file mode 100644 index 00000000..8dbf014d --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/temporalRef.js @@ -0,0 +1,6 @@ +import temporalUndefined from "./temporalUndefined.js"; +import tdz from "./tdz.js"; +function _temporalRef(r, e) { + return r === temporalUndefined ? tdz(e) : r; +} +export { _temporalRef as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js b/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js new file mode 100644 index 00000000..2ec0b0da --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js @@ -0,0 +1,2 @@ +function _temporalUndefined() {} +export { _temporalUndefined as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/toArray.js b/node_modules/@babel/runtime/helpers/esm/toArray.js new file mode 100644 index 00000000..e5f0f52a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/toArray.js @@ -0,0 +1,8 @@ +import arrayWithHoles from "./arrayWithHoles.js"; +import iterableToArray from "./iterableToArray.js"; +import unsupportedIterableToArray from "./unsupportedIterableToArray.js"; +import nonIterableRest from "./nonIterableRest.js"; +function _toArray(r) { + return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest(); +} +export { _toArray as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js b/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js new file mode 100644 index 00000000..f7338e4d --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js @@ -0,0 +1,8 @@ +import arrayWithoutHoles from "./arrayWithoutHoles.js"; +import iterableToArray from "./iterableToArray.js"; +import unsupportedIterableToArray from "./unsupportedIterableToArray.js"; +import nonIterableSpread from "./nonIterableSpread.js"; +function _toConsumableArray(r) { + return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread(); +} +export { _toConsumableArray as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/toPrimitive.js b/node_modules/@babel/runtime/helpers/esm/toPrimitive.js new file mode 100644 index 00000000..9a3de46b --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/toPrimitive.js @@ -0,0 +1,12 @@ +import _typeof from "./typeof.js"; +function toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +export { toPrimitive as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js b/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js new file mode 100644 index 00000000..b3274d87 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js @@ -0,0 +1,7 @@ +import _typeof from "./typeof.js"; +import toPrimitive from "./toPrimitive.js"; +function toPropertyKey(t) { + var i = toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; +} +export { toPropertyKey as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/toSetter.js b/node_modules/@babel/runtime/helpers/esm/toSetter.js new file mode 100644 index 00000000..b1dbf7ae --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/toSetter.js @@ -0,0 +1,10 @@ +function _toSetter(t, e, n) { + e || (e = []); + var r = e.length++; + return Object.defineProperty({}, "_", { + set: function set(o) { + e[r] = o, t.apply(n, e); + } + }); +} +export { _toSetter as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/tsRewriteRelativeImportExtensions.js b/node_modules/@babel/runtime/helpers/esm/tsRewriteRelativeImportExtensions.js new file mode 100644 index 00000000..28ffc0b9 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/tsRewriteRelativeImportExtensions.js @@ -0,0 +1,6 @@ +function tsRewriteRelativeImportExtensions(t, e) { + return "string" == typeof t && /^\.\.?\//.test(t) ? t.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+)?)\.([cm]?)ts$/i, function (t, s, r, n, o) { + return s ? e ? ".jsx" : ".js" : !r || n && o ? r + n + "." + o.toLowerCase() + "js" : t; + }) : t; +} +export { tsRewriteRelativeImportExtensions as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/typeof.js b/node_modules/@babel/runtime/helpers/esm/typeof.js new file mode 100644 index 00000000..5b0bc9b0 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/typeof.js @@ -0,0 +1,10 @@ +function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); +} +export { _typeof as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js b/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js new file mode 100644 index 00000000..33adc493 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js @@ -0,0 +1,9 @@ +import arrayLikeToArray from "./arrayLikeToArray.js"; +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return arrayLikeToArray(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0; + } +} +export { _unsupportedIterableToArray as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/using.js b/node_modules/@babel/runtime/helpers/esm/using.js new file mode 100644 index 00000000..9bda17b5 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/using.js @@ -0,0 +1,12 @@ +function _using(o, n, e) { + if (null == n) return n; + if (Object(n) !== n) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined."); + if (e) var r = n[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")]; + if (null == r && (r = n[Symbol.dispose || Symbol["for"]("Symbol.dispose")]), "function" != typeof r) throw new TypeError("Property [Symbol.dispose] is not a function."); + return o.push({ + v: n, + d: r, + a: e + }), n; +} +export { _using as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/usingCtx.js b/node_modules/@babel/runtime/helpers/esm/usingCtx.js new file mode 100644 index 00000000..1464379f --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/usingCtx.js @@ -0,0 +1,59 @@ +function _usingCtx() { + var r = "function" == typeof SuppressedError ? SuppressedError : function (r, e) { + var n = Error(); + return n.name = "SuppressedError", n.error = r, n.suppressed = e, n; + }, + e = {}, + n = []; + function using(r, e) { + if (null != e) { + if (Object(e) !== e) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined."); + if (r) var o = e[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")]; + if (void 0 === o && (o = e[Symbol.dispose || Symbol["for"]("Symbol.dispose")], r)) var t = o; + if ("function" != typeof o) throw new TypeError("Object is not disposable."); + t && (o = function o() { + try { + t.call(e); + } catch (r) { + return Promise.reject(r); + } + }), n.push({ + v: e, + d: o, + a: r + }); + } else r && n.push({ + d: e, + a: r + }); + return e; + } + return { + e: e, + u: using.bind(null, !1), + a: using.bind(null, !0), + d: function d() { + var o, + t = this.e, + s = 0; + function next() { + for (; o = n.pop();) try { + if (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next); + if (o.d) { + var r = o.d.call(o.v); + if (o.a) return s |= 2, Promise.resolve(r).then(next, err); + } else s |= 1; + } catch (r) { + return err(r); + } + if (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve(); + if (t !== e) throw t; + } + function err(n) { + return t = t !== e ? new r(n, t) : n, next(); + } + return next(); + } + }; +} +export { _usingCtx as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js b/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js new file mode 100644 index 00000000..ffeea5d9 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js @@ -0,0 +1,69 @@ +import OverloadYield from "./OverloadYield.js"; +function _wrapAsyncGenerator(e) { + return function () { + return new AsyncGenerator(e.apply(this, arguments)); + }; +} +function AsyncGenerator(e) { + var r, t; + function resume(r, t) { + try { + var n = e[r](t), + o = n.value, + u = o instanceof OverloadYield; + Promise.resolve(u ? o.v : o).then(function (t) { + if (u) { + var i = "return" === r ? "return" : "next"; + if (!o.k || t.done) return resume(i, t); + t = e[i](t).value; + } + settle(n.done ? "return" : "normal", t); + }, function (e) { + resume("throw", e); + }); + } catch (e) { + settle("throw", e); + } + } + function settle(e, n) { + switch (e) { + case "return": + r.resolve({ + value: n, + done: !0 + }); + break; + case "throw": + r.reject(n); + break; + default: + r.resolve({ + value: n, + done: !1 + }); + } + (r = r.next) ? resume(r.key, r.arg) : t = null; + } + this._invoke = function (e, n) { + return new Promise(function (o, u) { + var i = { + key: e, + arg: n, + resolve: o, + reject: u, + next: null + }; + t ? t = t.next = i : (r = t = i, resume(e, n)); + }); + }, "function" != typeof e["return"] && (this["return"] = void 0); +} +AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { + return this; +}, AsyncGenerator.prototype.next = function (e) { + return this._invoke("next", e); +}, AsyncGenerator.prototype["throw"] = function (e) { + return this._invoke("throw", e); +}, AsyncGenerator.prototype["return"] = function (e) { + return this._invoke("return", e); +}; +export { _wrapAsyncGenerator as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js b/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js new file mode 100644 index 00000000..15bf78f5 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js @@ -0,0 +1,27 @@ +import getPrototypeOf from "./getPrototypeOf.js"; +import setPrototypeOf from "./setPrototypeOf.js"; +import isNativeFunction from "./isNativeFunction.js"; +import construct from "./construct.js"; +function _wrapNativeSuper(t) { + var r = "function" == typeof Map ? new Map() : void 0; + return _wrapNativeSuper = function _wrapNativeSuper(t) { + if (null === t || !isNativeFunction(t)) return t; + if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); + if (void 0 !== r) { + if (r.has(t)) return r.get(t); + r.set(t, Wrapper); + } + function Wrapper() { + return construct(t, arguments, getPrototypeOf(this).constructor); + } + return Wrapper.prototype = Object.create(t.prototype, { + constructor: { + value: Wrapper, + enumerable: !1, + writable: !0, + configurable: !0 + } + }), setPrototypeOf(Wrapper, t); + }, _wrapNativeSuper(t); +} +export { _wrapNativeSuper as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js b/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js new file mode 100644 index 00000000..c455faa4 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js @@ -0,0 +1,52 @@ +import _typeof from "./typeof.js"; +import setPrototypeOf from "./setPrototypeOf.js"; +import inherits from "./inherits.js"; +function _wrapRegExp() { + _wrapRegExp = function _wrapRegExp(e, r) { + return new BabelRegExp(e, void 0, r); + }; + var e = RegExp.prototype, + r = new WeakMap(); + function BabelRegExp(e, t, p) { + var o = RegExp(e, t); + return r.set(o, p || r.get(e)), setPrototypeOf(o, BabelRegExp.prototype); + } + function buildGroups(e, t) { + var p = r.get(t); + return Object.keys(p).reduce(function (r, t) { + var o = p[t]; + if ("number" == typeof o) r[t] = e[o];else { + for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; + r[t] = e[o[i]]; + } + return r; + }, Object.create(null)); + } + return inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { + var t = e.exec.call(this, r); + if (t) { + t.groups = buildGroups(t, this); + var p = t.indices; + p && (p.groups = buildGroups(p, this)); + } + return t; + }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { + if ("string" == typeof p) { + var o = r.get(this); + return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { + if ("" === t) return e; + var p = o[r]; + return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; + })); + } + if ("function" == typeof p) { + var i = this; + return e[Symbol.replace].call(this, t, function () { + var e = arguments; + return "object" != _typeof(e[e.length - 1]) && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); + }); + } + return e[Symbol.replace].call(this, t, p); + }, _wrapRegExp.apply(this, arguments); +} +export { _wrapRegExp as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js b/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js new file mode 100644 index 00000000..250c2869 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js @@ -0,0 +1,4 @@ +function _writeOnlyError(r) { + throw new TypeError('"' + r + '" is write-only'); +} +export { _writeOnlyError as default }; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/extends.js b/node_modules/@babel/runtime/helpers/extends.js new file mode 100644 index 00000000..eee4a1f4 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/extends.js @@ -0,0 +1,10 @@ +function _extends() { + return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) { + for (var e = 1; e < arguments.length; e++) { + var t = arguments[e]; + for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); + } + return n; + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends.apply(null, arguments); +} +module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/get.js b/node_modules/@babel/runtime/helpers/get.js new file mode 100644 index 00000000..15428ded --- /dev/null +++ b/node_modules/@babel/runtime/helpers/get.js @@ -0,0 +1,11 @@ +var superPropBase = require("./superPropBase.js"); +function _get() { + return module.exports = _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { + var p = superPropBase(e, t); + if (p) { + var n = Object.getOwnPropertyDescriptor(p, t); + return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; + } + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _get.apply(null, arguments); +} +module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/getPrototypeOf.js b/node_modules/@babel/runtime/helpers/getPrototypeOf.js new file mode 100644 index 00000000..90707481 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/getPrototypeOf.js @@ -0,0 +1,6 @@ +function _getPrototypeOf(t) { + return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _getPrototypeOf(t); +} +module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/identity.js b/node_modules/@babel/runtime/helpers/identity.js new file mode 100644 index 00000000..54de5b5b --- /dev/null +++ b/node_modules/@babel/runtime/helpers/identity.js @@ -0,0 +1,4 @@ +function _identity(t) { + return t; +} +module.exports = _identity, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/importDeferProxy.js b/node_modules/@babel/runtime/helpers/importDeferProxy.js new file mode 100644 index 00000000..cffaae65 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/importDeferProxy.js @@ -0,0 +1,27 @@ +function _importDeferProxy(e) { + var t = null, + constValue = function constValue(e) { + return function () { + return e; + }; + }, + proxy = function proxy(r) { + return function (n, o, f) { + return null === t && (t = e()), r(t, o, f); + }; + }; + return new Proxy({}, { + defineProperty: constValue(!1), + deleteProperty: constValue(!1), + get: proxy(Reflect.get), + getOwnPropertyDescriptor: proxy(Reflect.getOwnPropertyDescriptor), + getPrototypeOf: constValue(null), + isExtensible: constValue(!1), + has: proxy(Reflect.has), + ownKeys: proxy(Reflect.ownKeys), + preventExtensions: constValue(!0), + set: constValue(!1), + setPrototypeOf: constValue(!1) + }); +} +module.exports = _importDeferProxy, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/inherits.js b/node_modules/@babel/runtime/helpers/inherits.js new file mode 100644 index 00000000..715a78ef --- /dev/null +++ b/node_modules/@babel/runtime/helpers/inherits.js @@ -0,0 +1,14 @@ +var setPrototypeOf = require("./setPrototypeOf.js"); +function _inherits(t, e) { + if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); + t.prototype = Object.create(e && e.prototype, { + constructor: { + value: t, + writable: !0, + configurable: !0 + } + }), Object.defineProperty(t, "prototype", { + writable: !1 + }), e && setPrototypeOf(t, e); +} +module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/inheritsLoose.js b/node_modules/@babel/runtime/helpers/inheritsLoose.js new file mode 100644 index 00000000..a27baf01 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/inheritsLoose.js @@ -0,0 +1,5 @@ +var setPrototypeOf = require("./setPrototypeOf.js"); +function _inheritsLoose(t, o) { + t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o); +} +module.exports = _inheritsLoose, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/initializerDefineProperty.js b/node_modules/@babel/runtime/helpers/initializerDefineProperty.js new file mode 100644 index 00000000..f9fa3173 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/initializerDefineProperty.js @@ -0,0 +1,9 @@ +function _initializerDefineProperty(e, i, r, l) { + r && Object.defineProperty(e, i, { + enumerable: r.enumerable, + configurable: r.configurable, + writable: r.writable, + value: r.initializer ? r.initializer.call(l) : void 0 + }); +} +module.exports = _initializerDefineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/initializerWarningHelper.js b/node_modules/@babel/runtime/helpers/initializerWarningHelper.js new file mode 100644 index 00000000..e14ce59a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/initializerWarningHelper.js @@ -0,0 +1,4 @@ +function _initializerWarningHelper(r, e) { + throw Error("Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform."); +} +module.exports = _initializerWarningHelper, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/instanceof.js b/node_modules/@babel/runtime/helpers/instanceof.js new file mode 100644 index 00000000..9952301d --- /dev/null +++ b/node_modules/@babel/runtime/helpers/instanceof.js @@ -0,0 +1,4 @@ +function _instanceof(n, e) { + return null != e && "undefined" != typeof Symbol && e[Symbol.hasInstance] ? !!e[Symbol.hasInstance](n) : n instanceof e; +} +module.exports = _instanceof, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/interopRequireDefault.js b/node_modules/@babel/runtime/helpers/interopRequireDefault.js new file mode 100644 index 00000000..69447158 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/interopRequireDefault.js @@ -0,0 +1,6 @@ +function _interopRequireDefault(e) { + return e && e.__esModule ? e : { + "default": e + }; +} +module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/interopRequireWildcard.js b/node_modules/@babel/runtime/helpers/interopRequireWildcard.js new file mode 100644 index 00000000..d5f10543 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/interopRequireWildcard.js @@ -0,0 +1,22 @@ +var _typeof = require("./typeof.js")["default"]; +function _interopRequireWildcard(e, t) { + if ("function" == typeof WeakMap) var r = new WeakMap(), + n = new WeakMap(); + return (module.exports = _interopRequireWildcard = function _interopRequireWildcard(e, t) { + if (!t && e && e.__esModule) return e; + var o, + i, + f = { + __proto__: null, + "default": e + }; + if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; + if (o = t ? n : r) { + if (o.has(e)) return o.get(e); + o.set(e, f); + } + for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); + return f; + }, module.exports.__esModule = true, module.exports["default"] = module.exports)(e, t); +} +module.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/isNativeFunction.js b/node_modules/@babel/runtime/helpers/isNativeFunction.js new file mode 100644 index 00000000..f0eb49e3 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/isNativeFunction.js @@ -0,0 +1,8 @@ +function _isNativeFunction(t) { + try { + return -1 !== Function.toString.call(t).indexOf("[native code]"); + } catch (n) { + return "function" == typeof t; + } +} +module.exports = _isNativeFunction, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js b/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js new file mode 100644 index 00000000..b677e107 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js @@ -0,0 +1,9 @@ +function _isNativeReflectConstruct() { + try { + var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); + } catch (t) {} + return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() { + return !!t; + }, module.exports.__esModule = true, module.exports["default"] = module.exports)(); +} +module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/iterableToArray.js b/node_modules/@babel/runtime/helpers/iterableToArray.js new file mode 100644 index 00000000..c839a321 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/iterableToArray.js @@ -0,0 +1,4 @@ +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js b/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js new file mode 100644 index 00000000..2671778b --- /dev/null +++ b/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js @@ -0,0 +1,28 @@ +function _iterableToArrayLimit(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, + n, + i, + u, + a = [], + f = !0, + o = !1; + try { + if (i = (t = t.call(r)).next, 0 === l) { + if (Object(t) !== t) return; + f = !1; + } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); + } catch (r) { + o = !0, n = r; + } finally { + try { + if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } +} +module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/jsx.js b/node_modules/@babel/runtime/helpers/jsx.js new file mode 100644 index 00000000..3415eead --- /dev/null +++ b/node_modules/@babel/runtime/helpers/jsx.js @@ -0,0 +1,22 @@ +var REACT_ELEMENT_TYPE; +function _createRawReactElement(e, r, E, l) { + REACT_ELEMENT_TYPE || (REACT_ELEMENT_TYPE = "function" == typeof Symbol && Symbol["for"] && Symbol["for"]("react.element") || 60103); + var o = e && e.defaultProps, + n = arguments.length - 3; + if (r || 0 === n || (r = { + children: void 0 + }), 1 === n) r.children = l;else if (n > 1) { + for (var t = Array(n), f = 0; f < n; f++) t[f] = arguments[f + 3]; + r.children = t; + } + if (r && o) for (var i in o) void 0 === r[i] && (r[i] = o[i]);else r || (r = o || {}); + return { + $$typeof: REACT_ELEMENT_TYPE, + type: e, + key: void 0 === E ? null : "" + E, + ref: null, + props: r, + _owner: null + }; +} +module.exports = _createRawReactElement, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/maybeArrayLike.js b/node_modules/@babel/runtime/helpers/maybeArrayLike.js new file mode 100644 index 00000000..9873cc76 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/maybeArrayLike.js @@ -0,0 +1,9 @@ +var arrayLikeToArray = require("./arrayLikeToArray.js"); +function _maybeArrayLike(r, a, e) { + if (a && !Array.isArray(a) && "number" == typeof a.length) { + var y = a.length; + return arrayLikeToArray(a, void 0 !== e && e < y ? e : y); + } + return r(a, e); +} +module.exports = _maybeArrayLike, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/newArrowCheck.js b/node_modules/@babel/runtime/helpers/newArrowCheck.js new file mode 100644 index 00000000..8e74d991 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/newArrowCheck.js @@ -0,0 +1,4 @@ +function _newArrowCheck(n, r) { + if (n !== r) throw new TypeError("Cannot instantiate an arrow function"); +} +module.exports = _newArrowCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/nonIterableRest.js b/node_modules/@babel/runtime/helpers/nonIterableRest.js new file mode 100644 index 00000000..95265ba3 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/nonIterableRest.js @@ -0,0 +1,4 @@ +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/nonIterableSpread.js b/node_modules/@babel/runtime/helpers/nonIterableSpread.js new file mode 100644 index 00000000..3fcf23f0 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/nonIterableSpread.js @@ -0,0 +1,4 @@ +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/nullishReceiverError.js b/node_modules/@babel/runtime/helpers/nullishReceiverError.js new file mode 100644 index 00000000..970e0231 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/nullishReceiverError.js @@ -0,0 +1,4 @@ +function _nullishReceiverError(r) { + throw new TypeError("Cannot set property of null or undefined."); +} +module.exports = _nullishReceiverError, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js b/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js new file mode 100644 index 00000000..9f62a1b0 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js @@ -0,0 +1,4 @@ +function _objectDestructuringEmpty(t) { + if (null == t) throw new TypeError("Cannot destructure " + t); +} +module.exports = _objectDestructuringEmpty, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/objectSpread.js b/node_modules/@babel/runtime/helpers/objectSpread.js new file mode 100644 index 00000000..a3676438 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/objectSpread.js @@ -0,0 +1,14 @@ +var defineProperty = require("./defineProperty.js"); +function _objectSpread(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? Object(arguments[r]) : {}, + o = Object.keys(t); + "function" == typeof Object.getOwnPropertySymbols && o.push.apply(o, Object.getOwnPropertySymbols(t).filter(function (e) { + return Object.getOwnPropertyDescriptor(t, e).enumerable; + })), o.forEach(function (r) { + defineProperty(e, r, t[r]); + }); + } + return e; +} +module.exports = _objectSpread, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/objectSpread2.js b/node_modules/@babel/runtime/helpers/objectSpread2.js new file mode 100644 index 00000000..4f3b9fa0 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/objectSpread2.js @@ -0,0 +1,23 @@ +var defineProperty = require("./defineProperty.js"); +function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function (r) { + return Object.getOwnPropertyDescriptor(e, r).enumerable; + })), t.push.apply(t, o); + } + return t; +} +function _objectSpread2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { + defineProperty(e, r, t[r]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { + Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); + }); + } + return e; +} +module.exports = _objectSpread2, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/objectWithoutProperties.js b/node_modules/@babel/runtime/helpers/objectWithoutProperties.js new file mode 100644 index 00000000..3a40f9e4 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/objectWithoutProperties.js @@ -0,0 +1,13 @@ +var objectWithoutPropertiesLoose = require("./objectWithoutPropertiesLoose.js"); +function _objectWithoutProperties(e, t) { + if (null == e) return {}; + var o, + r, + i = objectWithoutPropertiesLoose(e, t); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); + } + return i; +} +module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js b/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js new file mode 100644 index 00000000..c243acdf --- /dev/null +++ b/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js @@ -0,0 +1,10 @@ +function _objectWithoutPropertiesLoose(r, e) { + if (null == r) return {}; + var t = {}; + for (var n in r) if ({}.hasOwnProperty.call(r, n)) { + if (-1 !== e.indexOf(n)) continue; + t[n] = r[n]; + } + return t; +} +module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js b/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js new file mode 100644 index 00000000..06e6e6d8 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js @@ -0,0 +1,8 @@ +var _typeof = require("./typeof.js")["default"]; +var assertThisInitialized = require("./assertThisInitialized.js"); +function _possibleConstructorReturn(t, e) { + if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; + if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); + return assertThisInitialized(t); +} +module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/readOnlyError.js b/node_modules/@babel/runtime/helpers/readOnlyError.js new file mode 100644 index 00000000..1bf3e092 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/readOnlyError.js @@ -0,0 +1,4 @@ +function _readOnlyError(r) { + throw new TypeError('"' + r + '" is read-only'); +} +module.exports = _readOnlyError, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/regeneratorRuntime.js b/node_modules/@babel/runtime/helpers/regeneratorRuntime.js new file mode 100644 index 00000000..e13d6045 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/regeneratorRuntime.js @@ -0,0 +1,272 @@ +var _typeof = require("./typeof.js")["default"]; +function _regeneratorRuntime() { + "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ + module.exports = _regeneratorRuntime = function _regeneratorRuntime() { + return r; + }, module.exports.__esModule = true, module.exports["default"] = module.exports; + var t, + r = {}, + e = Object.prototype, + n = e.hasOwnProperty, + o = "function" == typeof Symbol ? Symbol : {}, + i = o.iterator || "@@iterator", + a = o.asyncIterator || "@@asyncIterator", + u = o.toStringTag || "@@toStringTag"; + function c(t, r, e, n) { + return Object.defineProperty(t, r, { + value: e, + enumerable: !n, + configurable: !n, + writable: !n + }); + } + try { + c({}, ""); + } catch (t) { + c = function c(t, r, e) { + return t[r] = e; + }; + } + function h(r, e, n, o) { + var i = e && e.prototype instanceof Generator ? e : Generator, + a = Object.create(i.prototype); + return c(a, "_invoke", function (r, e, n) { + var o = 1; + return function (i, a) { + if (3 === o) throw Error("Generator is already running"); + if (4 === o) { + if ("throw" === i) throw a; + return { + value: t, + done: !0 + }; + } + for (n.method = i, n.arg = a;;) { + var u = n.delegate; + if (u) { + var c = d(u, n); + if (c) { + if (c === f) continue; + return c; + } + } + if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { + if (1 === o) throw o = 4, n.arg; + n.dispatchException(n.arg); + } else "return" === n.method && n.abrupt("return", n.arg); + o = 3; + var h = s(r, e, n); + if ("normal" === h.type) { + if (o = n.done ? 4 : 2, h.arg === f) continue; + return { + value: h.arg, + done: n.done + }; + } + "throw" === h.type && (o = 4, n.method = "throw", n.arg = h.arg); + } + }; + }(r, n, new Context(o || [])), !0), a; + } + function s(t, r, e) { + try { + return { + type: "normal", + arg: t.call(r, e) + }; + } catch (t) { + return { + type: "throw", + arg: t + }; + } + } + r.wrap = h; + var f = {}; + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + var l = {}; + c(l, i, function () { + return this; + }); + var p = Object.getPrototypeOf, + y = p && p(p(x([]))); + y && y !== e && n.call(y, i) && (l = y); + var v = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(l); + function g(t) { + ["next", "throw", "return"].forEach(function (r) { + c(t, r, function (t) { + return this._invoke(r, t); + }); + }); + } + function AsyncIterator(t, r) { + function e(o, i, a, u) { + var c = s(t[o], t, i); + if ("throw" !== c.type) { + var h = c.arg, + f = h.value; + return f && "object" == _typeof(f) && n.call(f, "__await") ? r.resolve(f.__await).then(function (t) { + e("next", t, a, u); + }, function (t) { + e("throw", t, a, u); + }) : r.resolve(f).then(function (t) { + h.value = t, a(h); + }, function (t) { + return e("throw", t, a, u); + }); + } + u(c.arg); + } + var o; + c(this, "_invoke", function (t, n) { + function i() { + return new r(function (r, o) { + e(t, n, r, o); + }); + } + return o = o ? o.then(i, i) : i(); + }, !0); + } + function d(r, e) { + var n = e.method, + o = r.i[n]; + if (o === t) return e.delegate = null, "throw" === n && r.i["return"] && (e.method = "return", e.arg = t, d(r, e), "throw" === e.method) || "return" !== n && (e.method = "throw", e.arg = new TypeError("The iterator does not provide a '" + n + "' method")), f; + var i = s(o, r.i, e.arg); + if ("throw" === i.type) return e.method = "throw", e.arg = i.arg, e.delegate = null, f; + var a = i.arg; + return a ? a.done ? (e[r.r] = a.value, e.next = r.n, "return" !== e.method && (e.method = "next", e.arg = t), e.delegate = null, f) : a : (e.method = "throw", e.arg = new TypeError("iterator result is not an object"), e.delegate = null, f); + } + function w(t) { + this.tryEntries.push(t); + } + function m(r) { + var e = r[4] || {}; + e.type = "normal", e.arg = t, r[4] = e; + } + function Context(t) { + this.tryEntries = [[-1]], t.forEach(w, this), this.reset(!0); + } + function x(r) { + if (null != r) { + var e = r[i]; + if (e) return e.call(r); + if ("function" == typeof r.next) return r; + if (!isNaN(r.length)) { + var o = -1, + a = function e() { + for (; ++o < r.length;) if (n.call(r, o)) return e.value = r[o], e.done = !1, e; + return e.value = t, e.done = !0, e; + }; + return a.next = a; + } + } + throw new TypeError(_typeof(r) + " is not iterable"); + } + return GeneratorFunction.prototype = GeneratorFunctionPrototype, c(v, "constructor", GeneratorFunctionPrototype), c(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = c(GeneratorFunctionPrototype, u, "GeneratorFunction"), r.isGeneratorFunction = function (t) { + var r = "function" == typeof t && t.constructor; + return !!r && (r === GeneratorFunction || "GeneratorFunction" === (r.displayName || r.name)); + }, r.mark = function (t) { + return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, c(t, u, "GeneratorFunction")), t.prototype = Object.create(v), t; + }, r.awrap = function (t) { + return { + __await: t + }; + }, g(AsyncIterator.prototype), c(AsyncIterator.prototype, a, function () { + return this; + }), r.AsyncIterator = AsyncIterator, r.async = function (t, e, n, o, i) { + void 0 === i && (i = Promise); + var a = new AsyncIterator(h(t, e, n, o), i); + return r.isGeneratorFunction(e) ? a : a.next().then(function (t) { + return t.done ? t.value : a.next(); + }); + }, g(v), c(v, u, "Generator"), c(v, i, function () { + return this; + }), c(v, "toString", function () { + return "[object Generator]"; + }), r.keys = function (t) { + var r = Object(t), + e = []; + for (var n in r) e.unshift(n); + return function t() { + for (; e.length;) if ((n = e.pop()) in r) return t.value = n, t.done = !1, t; + return t.done = !0, t; + }; + }, r.values = x, Context.prototype = { + constructor: Context, + reset: function reset(r) { + if (this.prev = this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(m), !r) for (var e in this) "t" === e.charAt(0) && n.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = t); + }, + stop: function stop() { + this.done = !0; + var t = this.tryEntries[0][4]; + if ("throw" === t.type) throw t.arg; + return this.rval; + }, + dispatchException: function dispatchException(r) { + if (this.done) throw r; + var e = this; + function n(t) { + a.type = "throw", a.arg = r, e.next = t; + } + for (var o = e.tryEntries.length - 1; o >= 0; --o) { + var i = this.tryEntries[o], + a = i[4], + u = this.prev, + c = i[1], + h = i[2]; + if (-1 === i[0]) return n("end"), !1; + if (!c && !h) throw Error("try statement without catch or finally"); + if (null != i[0] && i[0] <= u) { + if (u < c) return this.method = "next", this.arg = t, n(c), !0; + if (u < h) return n(h), !1; + } + } + }, + abrupt: function abrupt(t, r) { + for (var e = this.tryEntries.length - 1; e >= 0; --e) { + var n = this.tryEntries[e]; + if (n[0] > -1 && n[0] <= this.prev && this.prev < n[2]) { + var o = n; + break; + } + } + o && ("break" === t || "continue" === t) && o[0] <= r && r <= o[2] && (o = null); + var i = o ? o[4] : {}; + return i.type = t, i.arg = r, o ? (this.method = "next", this.next = o[2], f) : this.complete(i); + }, + complete: function complete(t, r) { + if ("throw" === t.type) throw t.arg; + return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && r && (this.next = r), f; + }, + finish: function finish(t) { + for (var r = this.tryEntries.length - 1; r >= 0; --r) { + var e = this.tryEntries[r]; + if (e[2] === t) return this.complete(e[4], e[3]), m(e), f; + } + }, + "catch": function _catch(t) { + for (var r = this.tryEntries.length - 1; r >= 0; --r) { + var e = this.tryEntries[r]; + if (e[0] === t) { + var n = e[4]; + if ("throw" === n.type) { + var o = n.arg; + m(e); + } + return o; + } + } + throw Error("illegal catch attempt"); + }, + delegateYield: function delegateYield(r, e, n) { + return this.delegate = { + i: x(r), + r: e, + n: n + }, "next" === this.method && (this.arg = t), f; + } + }, r; +} +module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/set.js b/node_modules/@babel/runtime/helpers/set.js new file mode 100644 index 00000000..6421470a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/set.js @@ -0,0 +1,22 @@ +var superPropBase = require("./superPropBase.js"); +var defineProperty = require("./defineProperty.js"); +function set(e, r, t, o) { + return set = "undefined" != typeof Reflect && Reflect.set ? Reflect.set : function (e, r, t, o) { + var f, + i = superPropBase(e, r); + if (i) { + if ((f = Object.getOwnPropertyDescriptor(i, r)).set) return f.set.call(o, t), !0; + if (!f.writable) return !1; + } + if (f = Object.getOwnPropertyDescriptor(o, r)) { + if (!f.writable) return !1; + f.value = t, Object.defineProperty(o, r, f); + } else defineProperty(o, r, t); + return !0; + }, set(e, r, t, o); +} +function _set(e, r, t, o, f) { + if (!set(e, r, t, o || e) && f) throw new TypeError("failed to set property"); + return t; +} +module.exports = _set, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/setFunctionName.js b/node_modules/@babel/runtime/helpers/setFunctionName.js new file mode 100644 index 00000000..9664076a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/setFunctionName.js @@ -0,0 +1,12 @@ +var _typeof = require("./typeof.js")["default"]; +function setFunctionName(e, t, n) { + "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); + try { + Object.defineProperty(e, "name", { + configurable: !0, + value: n ? n + " " + t : t + }); + } catch (e) {} + return e; +} +module.exports = setFunctionName, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/setPrototypeOf.js b/node_modules/@babel/runtime/helpers/setPrototypeOf.js new file mode 100644 index 00000000..7d991ffa --- /dev/null +++ b/node_modules/@babel/runtime/helpers/setPrototypeOf.js @@ -0,0 +1,6 @@ +function _setPrototypeOf(t, e) { + return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { + return t.__proto__ = e, t; + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _setPrototypeOf(t, e); +} +module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js b/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js new file mode 100644 index 00000000..2aed548e --- /dev/null +++ b/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js @@ -0,0 +1,7 @@ +function _skipFirstGeneratorNext(t) { + return function () { + var r = t.apply(this, arguments); + return r.next(), r; + }; +} +module.exports = _skipFirstGeneratorNext, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/slicedToArray.js b/node_modules/@babel/runtime/helpers/slicedToArray.js new file mode 100644 index 00000000..3d752c42 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/slicedToArray.js @@ -0,0 +1,8 @@ +var arrayWithHoles = require("./arrayWithHoles.js"); +var iterableToArrayLimit = require("./iterableToArrayLimit.js"); +var unsupportedIterableToArray = require("./unsupportedIterableToArray.js"); +var nonIterableRest = require("./nonIterableRest.js"); +function _slicedToArray(r, e) { + return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest(); +} +module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/superPropBase.js b/node_modules/@babel/runtime/helpers/superPropBase.js new file mode 100644 index 00000000..5cad4595 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/superPropBase.js @@ -0,0 +1,6 @@ +var getPrototypeOf = require("./getPrototypeOf.js"); +function _superPropBase(t, o) { + for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t));); + return t; +} +module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/superPropGet.js b/node_modules/@babel/runtime/helpers/superPropGet.js new file mode 100644 index 00000000..baf8b102 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/superPropGet.js @@ -0,0 +1,9 @@ +var get = require("./get.js"); +var getPrototypeOf = require("./getPrototypeOf.js"); +function _superPropGet(t, o, e, r) { + var p = get(getPrototypeOf(1 & r ? t.prototype : t), o, e); + return 2 & r && "function" == typeof p ? function (t) { + return p.apply(e, t); + } : p; +} +module.exports = _superPropGet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/superPropSet.js b/node_modules/@babel/runtime/helpers/superPropSet.js new file mode 100644 index 00000000..e0578c04 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/superPropSet.js @@ -0,0 +1,6 @@ +var set = require("./set.js"); +var getPrototypeOf = require("./getPrototypeOf.js"); +function _superPropSet(t, e, o, r, p, f) { + return set(getPrototypeOf(f ? t.prototype : t), e, o, r, p); +} +module.exports = _superPropSet, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js b/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js new file mode 100644 index 00000000..38d6065a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js @@ -0,0 +1,8 @@ +function _taggedTemplateLiteral(e, t) { + return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { + raw: { + value: Object.freeze(t) + } + })); +} +module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js b/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js new file mode 100644 index 00000000..2f8c146a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js @@ -0,0 +1,4 @@ +function _taggedTemplateLiteralLoose(e, t) { + return t || (t = e.slice(0)), e.raw = t, e; +} +module.exports = _taggedTemplateLiteralLoose, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/tdz.js b/node_modules/@babel/runtime/helpers/tdz.js new file mode 100644 index 00000000..c66f476c --- /dev/null +++ b/node_modules/@babel/runtime/helpers/tdz.js @@ -0,0 +1,4 @@ +function _tdzError(e) { + throw new ReferenceError(e + " is not defined - temporal dead zone"); +} +module.exports = _tdzError, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/temporalRef.js b/node_modules/@babel/runtime/helpers/temporalRef.js new file mode 100644 index 00000000..54c9190c --- /dev/null +++ b/node_modules/@babel/runtime/helpers/temporalRef.js @@ -0,0 +1,6 @@ +var temporalUndefined = require("./temporalUndefined.js"); +var tdz = require("./tdz.js"); +function _temporalRef(r, e) { + return r === temporalUndefined ? tdz(e) : r; +} +module.exports = _temporalRef, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/temporalUndefined.js b/node_modules/@babel/runtime/helpers/temporalUndefined.js new file mode 100644 index 00000000..f8def800 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/temporalUndefined.js @@ -0,0 +1,2 @@ +function _temporalUndefined() {} +module.exports = _temporalUndefined, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/toArray.js b/node_modules/@babel/runtime/helpers/toArray.js new file mode 100644 index 00000000..2be1d2bd --- /dev/null +++ b/node_modules/@babel/runtime/helpers/toArray.js @@ -0,0 +1,8 @@ +var arrayWithHoles = require("./arrayWithHoles.js"); +var iterableToArray = require("./iterableToArray.js"); +var unsupportedIterableToArray = require("./unsupportedIterableToArray.js"); +var nonIterableRest = require("./nonIterableRest.js"); +function _toArray(r) { + return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest(); +} +module.exports = _toArray, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/toConsumableArray.js b/node_modules/@babel/runtime/helpers/toConsumableArray.js new file mode 100644 index 00000000..698f9c69 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/toConsumableArray.js @@ -0,0 +1,8 @@ +var arrayWithoutHoles = require("./arrayWithoutHoles.js"); +var iterableToArray = require("./iterableToArray.js"); +var unsupportedIterableToArray = require("./unsupportedIterableToArray.js"); +var nonIterableSpread = require("./nonIterableSpread.js"); +function _toConsumableArray(r) { + return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread(); +} +module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/toPrimitive.js b/node_modules/@babel/runtime/helpers/toPrimitive.js new file mode 100644 index 00000000..ef9d249b --- /dev/null +++ b/node_modules/@babel/runtime/helpers/toPrimitive.js @@ -0,0 +1,12 @@ +var _typeof = require("./typeof.js")["default"]; +function toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/toPropertyKey.js b/node_modules/@babel/runtime/helpers/toPropertyKey.js new file mode 100644 index 00000000..3ca3d4fc --- /dev/null +++ b/node_modules/@babel/runtime/helpers/toPropertyKey.js @@ -0,0 +1,7 @@ +var _typeof = require("./typeof.js")["default"]; +var toPrimitive = require("./toPrimitive.js"); +function toPropertyKey(t) { + var i = toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; +} +module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/toSetter.js b/node_modules/@babel/runtime/helpers/toSetter.js new file mode 100644 index 00000000..e0012a8f --- /dev/null +++ b/node_modules/@babel/runtime/helpers/toSetter.js @@ -0,0 +1,10 @@ +function _toSetter(t, e, n) { + e || (e = []); + var r = e.length++; + return Object.defineProperty({}, "_", { + set: function set(o) { + e[r] = o, t.apply(n, e); + } + }); +} +module.exports = _toSetter, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/tsRewriteRelativeImportExtensions.js b/node_modules/@babel/runtime/helpers/tsRewriteRelativeImportExtensions.js new file mode 100644 index 00000000..4de0e4de --- /dev/null +++ b/node_modules/@babel/runtime/helpers/tsRewriteRelativeImportExtensions.js @@ -0,0 +1,6 @@ +function tsRewriteRelativeImportExtensions(t, e) { + return "string" == typeof t && /^\.\.?\//.test(t) ? t.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+)?)\.([cm]?)ts$/i, function (t, s, r, n, o) { + return s ? e ? ".jsx" : ".js" : !r || n && o ? r + n + "." + o.toLowerCase() + "js" : t; + }) : t; +} +module.exports = tsRewriteRelativeImportExtensions, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/typeof.js b/node_modules/@babel/runtime/helpers/typeof.js new file mode 100644 index 00000000..b6fbfaf8 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/typeof.js @@ -0,0 +1,10 @@ +function _typeof(o) { + "@babel/helpers - typeof"; + + return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o); +} +module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js b/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js new file mode 100644 index 00000000..8fb1a71d --- /dev/null +++ b/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js @@ -0,0 +1,9 @@ +var arrayLikeToArray = require("./arrayLikeToArray.js"); +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return arrayLikeToArray(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0; + } +} +module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/using.js b/node_modules/@babel/runtime/helpers/using.js new file mode 100644 index 00000000..37c79e2c --- /dev/null +++ b/node_modules/@babel/runtime/helpers/using.js @@ -0,0 +1,12 @@ +function _using(o, n, e) { + if (null == n) return n; + if (Object(n) !== n) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined."); + if (e) var r = n[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")]; + if (null == r && (r = n[Symbol.dispose || Symbol["for"]("Symbol.dispose")]), "function" != typeof r) throw new TypeError("Property [Symbol.dispose] is not a function."); + return o.push({ + v: n, + d: r, + a: e + }), n; +} +module.exports = _using, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/usingCtx.js b/node_modules/@babel/runtime/helpers/usingCtx.js new file mode 100644 index 00000000..652ab15d --- /dev/null +++ b/node_modules/@babel/runtime/helpers/usingCtx.js @@ -0,0 +1,59 @@ +function _usingCtx() { + var r = "function" == typeof SuppressedError ? SuppressedError : function (r, e) { + var n = Error(); + return n.name = "SuppressedError", n.error = r, n.suppressed = e, n; + }, + e = {}, + n = []; + function using(r, e) { + if (null != e) { + if (Object(e) !== e) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined."); + if (r) var o = e[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")]; + if (void 0 === o && (o = e[Symbol.dispose || Symbol["for"]("Symbol.dispose")], r)) var t = o; + if ("function" != typeof o) throw new TypeError("Object is not disposable."); + t && (o = function o() { + try { + t.call(e); + } catch (r) { + return Promise.reject(r); + } + }), n.push({ + v: e, + d: o, + a: r + }); + } else r && n.push({ + d: e, + a: r + }); + return e; + } + return { + e: e, + u: using.bind(null, !1), + a: using.bind(null, !0), + d: function d() { + var o, + t = this.e, + s = 0; + function next() { + for (; o = n.pop();) try { + if (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next); + if (o.d) { + var r = o.d.call(o.v); + if (o.a) return s |= 2, Promise.resolve(r).then(next, err); + } else s |= 1; + } catch (r) { + return err(r); + } + if (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve(); + if (t !== e) throw t; + } + function err(n) { + return t = t !== e ? new r(n, t) : n, next(); + } + return next(); + } + }; +} +module.exports = _usingCtx, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js b/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js new file mode 100644 index 00000000..b818e2e4 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js @@ -0,0 +1,69 @@ +var OverloadYield = require("./OverloadYield.js"); +function _wrapAsyncGenerator(e) { + return function () { + return new AsyncGenerator(e.apply(this, arguments)); + }; +} +function AsyncGenerator(e) { + var r, t; + function resume(r, t) { + try { + var n = e[r](t), + o = n.value, + u = o instanceof OverloadYield; + Promise.resolve(u ? o.v : o).then(function (t) { + if (u) { + var i = "return" === r ? "return" : "next"; + if (!o.k || t.done) return resume(i, t); + t = e[i](t).value; + } + settle(n.done ? "return" : "normal", t); + }, function (e) { + resume("throw", e); + }); + } catch (e) { + settle("throw", e); + } + } + function settle(e, n) { + switch (e) { + case "return": + r.resolve({ + value: n, + done: !0 + }); + break; + case "throw": + r.reject(n); + break; + default: + r.resolve({ + value: n, + done: !1 + }); + } + (r = r.next) ? resume(r.key, r.arg) : t = null; + } + this._invoke = function (e, n) { + return new Promise(function (o, u) { + var i = { + key: e, + arg: n, + resolve: o, + reject: u, + next: null + }; + t ? t = t.next = i : (r = t = i, resume(e, n)); + }); + }, "function" != typeof e["return"] && (this["return"] = void 0); +} +AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { + return this; +}, AsyncGenerator.prototype.next = function (e) { + return this._invoke("next", e); +}, AsyncGenerator.prototype["throw"] = function (e) { + return this._invoke("throw", e); +}, AsyncGenerator.prototype["return"] = function (e) { + return this._invoke("return", e); +}; +module.exports = _wrapAsyncGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/wrapNativeSuper.js b/node_modules/@babel/runtime/helpers/wrapNativeSuper.js new file mode 100644 index 00000000..acd87aba --- /dev/null +++ b/node_modules/@babel/runtime/helpers/wrapNativeSuper.js @@ -0,0 +1,27 @@ +var getPrototypeOf = require("./getPrototypeOf.js"); +var setPrototypeOf = require("./setPrototypeOf.js"); +var isNativeFunction = require("./isNativeFunction.js"); +var construct = require("./construct.js"); +function _wrapNativeSuper(t) { + var r = "function" == typeof Map ? new Map() : void 0; + return module.exports = _wrapNativeSuper = function _wrapNativeSuper(t) { + if (null === t || !isNativeFunction(t)) return t; + if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); + if (void 0 !== r) { + if (r.has(t)) return r.get(t); + r.set(t, Wrapper); + } + function Wrapper() { + return construct(t, arguments, getPrototypeOf(this).constructor); + } + return Wrapper.prototype = Object.create(t.prototype, { + constructor: { + value: Wrapper, + enumerable: !1, + writable: !0, + configurable: !0 + } + }), setPrototypeOf(Wrapper, t); + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _wrapNativeSuper(t); +} +module.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/wrapRegExp.js b/node_modules/@babel/runtime/helpers/wrapRegExp.js new file mode 100644 index 00000000..3d6e6ce5 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/wrapRegExp.js @@ -0,0 +1,52 @@ +var _typeof = require("./typeof.js")["default"]; +var setPrototypeOf = require("./setPrototypeOf.js"); +var inherits = require("./inherits.js"); +function _wrapRegExp() { + module.exports = _wrapRegExp = function _wrapRegExp(e, r) { + return new BabelRegExp(e, void 0, r); + }, module.exports.__esModule = true, module.exports["default"] = module.exports; + var e = RegExp.prototype, + r = new WeakMap(); + function BabelRegExp(e, t, p) { + var o = RegExp(e, t); + return r.set(o, p || r.get(e)), setPrototypeOf(o, BabelRegExp.prototype); + } + function buildGroups(e, t) { + var p = r.get(t); + return Object.keys(p).reduce(function (r, t) { + var o = p[t]; + if ("number" == typeof o) r[t] = e[o];else { + for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; + r[t] = e[o[i]]; + } + return r; + }, Object.create(null)); + } + return inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { + var t = e.exec.call(this, r); + if (t) { + t.groups = buildGroups(t, this); + var p = t.indices; + p && (p.groups = buildGroups(p, this)); + } + return t; + }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { + if ("string" == typeof p) { + var o = r.get(this); + return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { + if ("" === t) return e; + var p = o[r]; + return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; + })); + } + if ("function" == typeof p) { + var i = this; + return e[Symbol.replace].call(this, t, function () { + var e = arguments; + return "object" != _typeof(e[e.length - 1]) && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); + }); + } + return e[Symbol.replace].call(this, t, p); + }, _wrapRegExp.apply(this, arguments); +} +module.exports = _wrapRegExp, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/writeOnlyError.js b/node_modules/@babel/runtime/helpers/writeOnlyError.js new file mode 100644 index 00000000..c98ee825 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/writeOnlyError.js @@ -0,0 +1,4 @@ +function _writeOnlyError(r) { + throw new TypeError('"' + r + '" is write-only'); +} +module.exports = _writeOnlyError, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/node_modules/@babel/runtime/package.json b/node_modules/@babel/runtime/package.json new file mode 100644 index 00000000..3bba6e17 --- /dev/null +++ b/node_modules/@babel/runtime/package.json @@ -0,0 +1,1062 @@ +{ + "name": "@babel/runtime", + "version": "7.27.1", + "description": "babel's modular runtime helpers", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-runtime" + }, + "homepage": "https://babel.dev/docs/en/next/babel-runtime", + "author": "The Babel Team (https://babel.dev/team)", + "exports": { + "./helpers/OverloadYield": [ + { + "node": "./helpers/OverloadYield.js", + "import": "./helpers/esm/OverloadYield.js", + "default": "./helpers/OverloadYield.js" + }, + "./helpers/OverloadYield.js" + ], + "./helpers/esm/OverloadYield": "./helpers/esm/OverloadYield.js", + "./helpers/applyDecoratedDescriptor": [ + { + "node": "./helpers/applyDecoratedDescriptor.js", + "import": "./helpers/esm/applyDecoratedDescriptor.js", + "default": "./helpers/applyDecoratedDescriptor.js" + }, + "./helpers/applyDecoratedDescriptor.js" + ], + "./helpers/esm/applyDecoratedDescriptor": "./helpers/esm/applyDecoratedDescriptor.js", + "./helpers/applyDecs2311": [ + { + "node": "./helpers/applyDecs2311.js", + "import": "./helpers/esm/applyDecs2311.js", + "default": "./helpers/applyDecs2311.js" + }, + "./helpers/applyDecs2311.js" + ], + "./helpers/esm/applyDecs2311": "./helpers/esm/applyDecs2311.js", + "./helpers/arrayLikeToArray": [ + { + "node": "./helpers/arrayLikeToArray.js", + "import": "./helpers/esm/arrayLikeToArray.js", + "default": "./helpers/arrayLikeToArray.js" + }, + "./helpers/arrayLikeToArray.js" + ], + "./helpers/esm/arrayLikeToArray": "./helpers/esm/arrayLikeToArray.js", + "./helpers/arrayWithHoles": [ + { + "node": "./helpers/arrayWithHoles.js", + "import": "./helpers/esm/arrayWithHoles.js", + "default": "./helpers/arrayWithHoles.js" + }, + "./helpers/arrayWithHoles.js" + ], + "./helpers/esm/arrayWithHoles": "./helpers/esm/arrayWithHoles.js", + "./helpers/arrayWithoutHoles": [ + { + "node": "./helpers/arrayWithoutHoles.js", + "import": "./helpers/esm/arrayWithoutHoles.js", + "default": "./helpers/arrayWithoutHoles.js" + }, + "./helpers/arrayWithoutHoles.js" + ], + "./helpers/esm/arrayWithoutHoles": "./helpers/esm/arrayWithoutHoles.js", + "./helpers/assertClassBrand": [ + { + "node": "./helpers/assertClassBrand.js", + "import": "./helpers/esm/assertClassBrand.js", + "default": "./helpers/assertClassBrand.js" + }, + "./helpers/assertClassBrand.js" + ], + "./helpers/esm/assertClassBrand": "./helpers/esm/assertClassBrand.js", + "./helpers/assertThisInitialized": [ + { + "node": "./helpers/assertThisInitialized.js", + "import": "./helpers/esm/assertThisInitialized.js", + "default": "./helpers/assertThisInitialized.js" + }, + "./helpers/assertThisInitialized.js" + ], + "./helpers/esm/assertThisInitialized": "./helpers/esm/assertThisInitialized.js", + "./helpers/asyncGeneratorDelegate": [ + { + "node": "./helpers/asyncGeneratorDelegate.js", + "import": "./helpers/esm/asyncGeneratorDelegate.js", + "default": "./helpers/asyncGeneratorDelegate.js" + }, + "./helpers/asyncGeneratorDelegate.js" + ], + "./helpers/esm/asyncGeneratorDelegate": "./helpers/esm/asyncGeneratorDelegate.js", + "./helpers/asyncIterator": [ + { + "node": "./helpers/asyncIterator.js", + "import": "./helpers/esm/asyncIterator.js", + "default": "./helpers/asyncIterator.js" + }, + "./helpers/asyncIterator.js" + ], + "./helpers/esm/asyncIterator": "./helpers/esm/asyncIterator.js", + "./helpers/asyncToGenerator": [ + { + "node": "./helpers/asyncToGenerator.js", + "import": "./helpers/esm/asyncToGenerator.js", + "default": "./helpers/asyncToGenerator.js" + }, + "./helpers/asyncToGenerator.js" + ], + "./helpers/esm/asyncToGenerator": "./helpers/esm/asyncToGenerator.js", + "./helpers/awaitAsyncGenerator": [ + { + "node": "./helpers/awaitAsyncGenerator.js", + "import": "./helpers/esm/awaitAsyncGenerator.js", + "default": "./helpers/awaitAsyncGenerator.js" + }, + "./helpers/awaitAsyncGenerator.js" + ], + "./helpers/esm/awaitAsyncGenerator": "./helpers/esm/awaitAsyncGenerator.js", + "./helpers/callSuper": [ + { + "node": "./helpers/callSuper.js", + "import": "./helpers/esm/callSuper.js", + "default": "./helpers/callSuper.js" + }, + "./helpers/callSuper.js" + ], + "./helpers/esm/callSuper": "./helpers/esm/callSuper.js", + "./helpers/checkInRHS": [ + { + "node": "./helpers/checkInRHS.js", + "import": "./helpers/esm/checkInRHS.js", + "default": "./helpers/checkInRHS.js" + }, + "./helpers/checkInRHS.js" + ], + "./helpers/esm/checkInRHS": "./helpers/esm/checkInRHS.js", + "./helpers/checkPrivateRedeclaration": [ + { + "node": "./helpers/checkPrivateRedeclaration.js", + "import": "./helpers/esm/checkPrivateRedeclaration.js", + "default": "./helpers/checkPrivateRedeclaration.js" + }, + "./helpers/checkPrivateRedeclaration.js" + ], + "./helpers/esm/checkPrivateRedeclaration": "./helpers/esm/checkPrivateRedeclaration.js", + "./helpers/classCallCheck": [ + { + "node": "./helpers/classCallCheck.js", + "import": "./helpers/esm/classCallCheck.js", + "default": "./helpers/classCallCheck.js" + }, + "./helpers/classCallCheck.js" + ], + "./helpers/esm/classCallCheck": "./helpers/esm/classCallCheck.js", + "./helpers/classNameTDZError": [ + { + "node": "./helpers/classNameTDZError.js", + "import": "./helpers/esm/classNameTDZError.js", + "default": "./helpers/classNameTDZError.js" + }, + "./helpers/classNameTDZError.js" + ], + "./helpers/esm/classNameTDZError": "./helpers/esm/classNameTDZError.js", + "./helpers/classPrivateFieldGet2": [ + { + "node": "./helpers/classPrivateFieldGet2.js", + "import": "./helpers/esm/classPrivateFieldGet2.js", + "default": "./helpers/classPrivateFieldGet2.js" + }, + "./helpers/classPrivateFieldGet2.js" + ], + "./helpers/esm/classPrivateFieldGet2": "./helpers/esm/classPrivateFieldGet2.js", + "./helpers/classPrivateFieldInitSpec": [ + { + "node": "./helpers/classPrivateFieldInitSpec.js", + "import": "./helpers/esm/classPrivateFieldInitSpec.js", + "default": "./helpers/classPrivateFieldInitSpec.js" + }, + "./helpers/classPrivateFieldInitSpec.js" + ], + "./helpers/esm/classPrivateFieldInitSpec": "./helpers/esm/classPrivateFieldInitSpec.js", + "./helpers/classPrivateFieldLooseBase": [ + { + "node": "./helpers/classPrivateFieldLooseBase.js", + "import": "./helpers/esm/classPrivateFieldLooseBase.js", + "default": "./helpers/classPrivateFieldLooseBase.js" + }, + "./helpers/classPrivateFieldLooseBase.js" + ], + "./helpers/esm/classPrivateFieldLooseBase": "./helpers/esm/classPrivateFieldLooseBase.js", + "./helpers/classPrivateFieldLooseKey": [ + { + "node": "./helpers/classPrivateFieldLooseKey.js", + "import": "./helpers/esm/classPrivateFieldLooseKey.js", + "default": "./helpers/classPrivateFieldLooseKey.js" + }, + "./helpers/classPrivateFieldLooseKey.js" + ], + "./helpers/esm/classPrivateFieldLooseKey": "./helpers/esm/classPrivateFieldLooseKey.js", + "./helpers/classPrivateFieldSet2": [ + { + "node": "./helpers/classPrivateFieldSet2.js", + "import": "./helpers/esm/classPrivateFieldSet2.js", + "default": "./helpers/classPrivateFieldSet2.js" + }, + "./helpers/classPrivateFieldSet2.js" + ], + "./helpers/esm/classPrivateFieldSet2": "./helpers/esm/classPrivateFieldSet2.js", + "./helpers/classPrivateGetter": [ + { + "node": "./helpers/classPrivateGetter.js", + "import": "./helpers/esm/classPrivateGetter.js", + "default": "./helpers/classPrivateGetter.js" + }, + "./helpers/classPrivateGetter.js" + ], + "./helpers/esm/classPrivateGetter": "./helpers/esm/classPrivateGetter.js", + "./helpers/classPrivateMethodInitSpec": [ + { + "node": "./helpers/classPrivateMethodInitSpec.js", + "import": "./helpers/esm/classPrivateMethodInitSpec.js", + "default": "./helpers/classPrivateMethodInitSpec.js" + }, + "./helpers/classPrivateMethodInitSpec.js" + ], + "./helpers/esm/classPrivateMethodInitSpec": "./helpers/esm/classPrivateMethodInitSpec.js", + "./helpers/classPrivateSetter": [ + { + "node": "./helpers/classPrivateSetter.js", + "import": "./helpers/esm/classPrivateSetter.js", + "default": "./helpers/classPrivateSetter.js" + }, + "./helpers/classPrivateSetter.js" + ], + "./helpers/esm/classPrivateSetter": "./helpers/esm/classPrivateSetter.js", + "./helpers/classStaticPrivateMethodGet": [ + { + "node": "./helpers/classStaticPrivateMethodGet.js", + "import": "./helpers/esm/classStaticPrivateMethodGet.js", + "default": "./helpers/classStaticPrivateMethodGet.js" + }, + "./helpers/classStaticPrivateMethodGet.js" + ], + "./helpers/esm/classStaticPrivateMethodGet": "./helpers/esm/classStaticPrivateMethodGet.js", + "./helpers/construct": [ + { + "node": "./helpers/construct.js", + "import": "./helpers/esm/construct.js", + "default": "./helpers/construct.js" + }, + "./helpers/construct.js" + ], + "./helpers/esm/construct": "./helpers/esm/construct.js", + "./helpers/createClass": [ + { + "node": "./helpers/createClass.js", + "import": "./helpers/esm/createClass.js", + "default": "./helpers/createClass.js" + }, + "./helpers/createClass.js" + ], + "./helpers/esm/createClass": "./helpers/esm/createClass.js", + "./helpers/createForOfIteratorHelper": [ + { + "node": "./helpers/createForOfIteratorHelper.js", + "import": "./helpers/esm/createForOfIteratorHelper.js", + "default": "./helpers/createForOfIteratorHelper.js" + }, + "./helpers/createForOfIteratorHelper.js" + ], + "./helpers/esm/createForOfIteratorHelper": "./helpers/esm/createForOfIteratorHelper.js", + "./helpers/createForOfIteratorHelperLoose": [ + { + "node": "./helpers/createForOfIteratorHelperLoose.js", + "import": "./helpers/esm/createForOfIteratorHelperLoose.js", + "default": "./helpers/createForOfIteratorHelperLoose.js" + }, + "./helpers/createForOfIteratorHelperLoose.js" + ], + "./helpers/esm/createForOfIteratorHelperLoose": "./helpers/esm/createForOfIteratorHelperLoose.js", + "./helpers/createSuper": [ + { + "node": "./helpers/createSuper.js", + "import": "./helpers/esm/createSuper.js", + "default": "./helpers/createSuper.js" + }, + "./helpers/createSuper.js" + ], + "./helpers/esm/createSuper": "./helpers/esm/createSuper.js", + "./helpers/decorate": [ + { + "node": "./helpers/decorate.js", + "import": "./helpers/esm/decorate.js", + "default": "./helpers/decorate.js" + }, + "./helpers/decorate.js" + ], + "./helpers/esm/decorate": "./helpers/esm/decorate.js", + "./helpers/defaults": [ + { + "node": "./helpers/defaults.js", + "import": "./helpers/esm/defaults.js", + "default": "./helpers/defaults.js" + }, + "./helpers/defaults.js" + ], + "./helpers/esm/defaults": "./helpers/esm/defaults.js", + "./helpers/defineAccessor": [ + { + "node": "./helpers/defineAccessor.js", + "import": "./helpers/esm/defineAccessor.js", + "default": "./helpers/defineAccessor.js" + }, + "./helpers/defineAccessor.js" + ], + "./helpers/esm/defineAccessor": "./helpers/esm/defineAccessor.js", + "./helpers/defineProperty": [ + { + "node": "./helpers/defineProperty.js", + "import": "./helpers/esm/defineProperty.js", + "default": "./helpers/defineProperty.js" + }, + "./helpers/defineProperty.js" + ], + "./helpers/esm/defineProperty": "./helpers/esm/defineProperty.js", + "./helpers/extends": [ + { + "node": "./helpers/extends.js", + "import": "./helpers/esm/extends.js", + "default": "./helpers/extends.js" + }, + "./helpers/extends.js" + ], + "./helpers/esm/extends": "./helpers/esm/extends.js", + "./helpers/get": [ + { + "node": "./helpers/get.js", + "import": "./helpers/esm/get.js", + "default": "./helpers/get.js" + }, + "./helpers/get.js" + ], + "./helpers/esm/get": "./helpers/esm/get.js", + "./helpers/getPrototypeOf": [ + { + "node": "./helpers/getPrototypeOf.js", + "import": "./helpers/esm/getPrototypeOf.js", + "default": "./helpers/getPrototypeOf.js" + }, + "./helpers/getPrototypeOf.js" + ], + "./helpers/esm/getPrototypeOf": "./helpers/esm/getPrototypeOf.js", + "./helpers/identity": [ + { + "node": "./helpers/identity.js", + "import": "./helpers/esm/identity.js", + "default": "./helpers/identity.js" + }, + "./helpers/identity.js" + ], + "./helpers/esm/identity": "./helpers/esm/identity.js", + "./helpers/importDeferProxy": [ + { + "node": "./helpers/importDeferProxy.js", + "import": "./helpers/esm/importDeferProxy.js", + "default": "./helpers/importDeferProxy.js" + }, + "./helpers/importDeferProxy.js" + ], + "./helpers/esm/importDeferProxy": "./helpers/esm/importDeferProxy.js", + "./helpers/inherits": [ + { + "node": "./helpers/inherits.js", + "import": "./helpers/esm/inherits.js", + "default": "./helpers/inherits.js" + }, + "./helpers/inherits.js" + ], + "./helpers/esm/inherits": "./helpers/esm/inherits.js", + "./helpers/inheritsLoose": [ + { + "node": "./helpers/inheritsLoose.js", + "import": "./helpers/esm/inheritsLoose.js", + "default": "./helpers/inheritsLoose.js" + }, + "./helpers/inheritsLoose.js" + ], + "./helpers/esm/inheritsLoose": "./helpers/esm/inheritsLoose.js", + "./helpers/initializerDefineProperty": [ + { + "node": "./helpers/initializerDefineProperty.js", + "import": "./helpers/esm/initializerDefineProperty.js", + "default": "./helpers/initializerDefineProperty.js" + }, + "./helpers/initializerDefineProperty.js" + ], + "./helpers/esm/initializerDefineProperty": "./helpers/esm/initializerDefineProperty.js", + "./helpers/initializerWarningHelper": [ + { + "node": "./helpers/initializerWarningHelper.js", + "import": "./helpers/esm/initializerWarningHelper.js", + "default": "./helpers/initializerWarningHelper.js" + }, + "./helpers/initializerWarningHelper.js" + ], + "./helpers/esm/initializerWarningHelper": "./helpers/esm/initializerWarningHelper.js", + "./helpers/instanceof": [ + { + "node": "./helpers/instanceof.js", + "import": "./helpers/esm/instanceof.js", + "default": "./helpers/instanceof.js" + }, + "./helpers/instanceof.js" + ], + "./helpers/esm/instanceof": "./helpers/esm/instanceof.js", + "./helpers/interopRequireDefault": [ + { + "node": "./helpers/interopRequireDefault.js", + "import": "./helpers/esm/interopRequireDefault.js", + "default": "./helpers/interopRequireDefault.js" + }, + "./helpers/interopRequireDefault.js" + ], + "./helpers/esm/interopRequireDefault": "./helpers/esm/interopRequireDefault.js", + "./helpers/interopRequireWildcard": [ + { + "node": "./helpers/interopRequireWildcard.js", + "import": "./helpers/esm/interopRequireWildcard.js", + "default": "./helpers/interopRequireWildcard.js" + }, + "./helpers/interopRequireWildcard.js" + ], + "./helpers/esm/interopRequireWildcard": "./helpers/esm/interopRequireWildcard.js", + "./helpers/isNativeFunction": [ + { + "node": "./helpers/isNativeFunction.js", + "import": "./helpers/esm/isNativeFunction.js", + "default": "./helpers/isNativeFunction.js" + }, + "./helpers/isNativeFunction.js" + ], + "./helpers/esm/isNativeFunction": "./helpers/esm/isNativeFunction.js", + "./helpers/isNativeReflectConstruct": [ + { + "node": "./helpers/isNativeReflectConstruct.js", + "import": "./helpers/esm/isNativeReflectConstruct.js", + "default": "./helpers/isNativeReflectConstruct.js" + }, + "./helpers/isNativeReflectConstruct.js" + ], + "./helpers/esm/isNativeReflectConstruct": "./helpers/esm/isNativeReflectConstruct.js", + "./helpers/iterableToArray": [ + { + "node": "./helpers/iterableToArray.js", + "import": "./helpers/esm/iterableToArray.js", + "default": "./helpers/iterableToArray.js" + }, + "./helpers/iterableToArray.js" + ], + "./helpers/esm/iterableToArray": "./helpers/esm/iterableToArray.js", + "./helpers/iterableToArrayLimit": [ + { + "node": "./helpers/iterableToArrayLimit.js", + "import": "./helpers/esm/iterableToArrayLimit.js", + "default": "./helpers/iterableToArrayLimit.js" + }, + "./helpers/iterableToArrayLimit.js" + ], + "./helpers/esm/iterableToArrayLimit": "./helpers/esm/iterableToArrayLimit.js", + "./helpers/jsx": [ + { + "node": "./helpers/jsx.js", + "import": "./helpers/esm/jsx.js", + "default": "./helpers/jsx.js" + }, + "./helpers/jsx.js" + ], + "./helpers/esm/jsx": "./helpers/esm/jsx.js", + "./helpers/maybeArrayLike": [ + { + "node": "./helpers/maybeArrayLike.js", + "import": "./helpers/esm/maybeArrayLike.js", + "default": "./helpers/maybeArrayLike.js" + }, + "./helpers/maybeArrayLike.js" + ], + "./helpers/esm/maybeArrayLike": "./helpers/esm/maybeArrayLike.js", + "./helpers/newArrowCheck": [ + { + "node": "./helpers/newArrowCheck.js", + "import": "./helpers/esm/newArrowCheck.js", + "default": "./helpers/newArrowCheck.js" + }, + "./helpers/newArrowCheck.js" + ], + "./helpers/esm/newArrowCheck": "./helpers/esm/newArrowCheck.js", + "./helpers/nonIterableRest": [ + { + "node": "./helpers/nonIterableRest.js", + "import": "./helpers/esm/nonIterableRest.js", + "default": "./helpers/nonIterableRest.js" + }, + "./helpers/nonIterableRest.js" + ], + "./helpers/esm/nonIterableRest": "./helpers/esm/nonIterableRest.js", + "./helpers/nonIterableSpread": [ + { + "node": "./helpers/nonIterableSpread.js", + "import": "./helpers/esm/nonIterableSpread.js", + "default": "./helpers/nonIterableSpread.js" + }, + "./helpers/nonIterableSpread.js" + ], + "./helpers/esm/nonIterableSpread": "./helpers/esm/nonIterableSpread.js", + "./helpers/nullishReceiverError": [ + { + "node": "./helpers/nullishReceiverError.js", + "import": "./helpers/esm/nullishReceiverError.js", + "default": "./helpers/nullishReceiverError.js" + }, + "./helpers/nullishReceiverError.js" + ], + "./helpers/esm/nullishReceiverError": "./helpers/esm/nullishReceiverError.js", + "./helpers/objectDestructuringEmpty": [ + { + "node": "./helpers/objectDestructuringEmpty.js", + "import": "./helpers/esm/objectDestructuringEmpty.js", + "default": "./helpers/objectDestructuringEmpty.js" + }, + "./helpers/objectDestructuringEmpty.js" + ], + "./helpers/esm/objectDestructuringEmpty": "./helpers/esm/objectDestructuringEmpty.js", + "./helpers/objectSpread2": [ + { + "node": "./helpers/objectSpread2.js", + "import": "./helpers/esm/objectSpread2.js", + "default": "./helpers/objectSpread2.js" + }, + "./helpers/objectSpread2.js" + ], + "./helpers/esm/objectSpread2": "./helpers/esm/objectSpread2.js", + "./helpers/objectWithoutProperties": [ + { + "node": "./helpers/objectWithoutProperties.js", + "import": "./helpers/esm/objectWithoutProperties.js", + "default": "./helpers/objectWithoutProperties.js" + }, + "./helpers/objectWithoutProperties.js" + ], + "./helpers/esm/objectWithoutProperties": "./helpers/esm/objectWithoutProperties.js", + "./helpers/objectWithoutPropertiesLoose": [ + { + "node": "./helpers/objectWithoutPropertiesLoose.js", + "import": "./helpers/esm/objectWithoutPropertiesLoose.js", + "default": "./helpers/objectWithoutPropertiesLoose.js" + }, + "./helpers/objectWithoutPropertiesLoose.js" + ], + "./helpers/esm/objectWithoutPropertiesLoose": "./helpers/esm/objectWithoutPropertiesLoose.js", + "./helpers/possibleConstructorReturn": [ + { + "node": "./helpers/possibleConstructorReturn.js", + "import": "./helpers/esm/possibleConstructorReturn.js", + "default": "./helpers/possibleConstructorReturn.js" + }, + "./helpers/possibleConstructorReturn.js" + ], + "./helpers/esm/possibleConstructorReturn": "./helpers/esm/possibleConstructorReturn.js", + "./helpers/readOnlyError": [ + { + "node": "./helpers/readOnlyError.js", + "import": "./helpers/esm/readOnlyError.js", + "default": "./helpers/readOnlyError.js" + }, + "./helpers/readOnlyError.js" + ], + "./helpers/esm/readOnlyError": "./helpers/esm/readOnlyError.js", + "./helpers/regeneratorRuntime": [ + { + "node": "./helpers/regeneratorRuntime.js", + "import": "./helpers/esm/regeneratorRuntime.js", + "default": "./helpers/regeneratorRuntime.js" + }, + "./helpers/regeneratorRuntime.js" + ], + "./helpers/esm/regeneratorRuntime": "./helpers/esm/regeneratorRuntime.js", + "./helpers/set": [ + { + "node": "./helpers/set.js", + "import": "./helpers/esm/set.js", + "default": "./helpers/set.js" + }, + "./helpers/set.js" + ], + "./helpers/esm/set": "./helpers/esm/set.js", + "./helpers/setFunctionName": [ + { + "node": "./helpers/setFunctionName.js", + "import": "./helpers/esm/setFunctionName.js", + "default": "./helpers/setFunctionName.js" + }, + "./helpers/setFunctionName.js" + ], + "./helpers/esm/setFunctionName": "./helpers/esm/setFunctionName.js", + "./helpers/setPrototypeOf": [ + { + "node": "./helpers/setPrototypeOf.js", + "import": "./helpers/esm/setPrototypeOf.js", + "default": "./helpers/setPrototypeOf.js" + }, + "./helpers/setPrototypeOf.js" + ], + "./helpers/esm/setPrototypeOf": "./helpers/esm/setPrototypeOf.js", + "./helpers/skipFirstGeneratorNext": [ + { + "node": "./helpers/skipFirstGeneratorNext.js", + "import": "./helpers/esm/skipFirstGeneratorNext.js", + "default": "./helpers/skipFirstGeneratorNext.js" + }, + "./helpers/skipFirstGeneratorNext.js" + ], + "./helpers/esm/skipFirstGeneratorNext": "./helpers/esm/skipFirstGeneratorNext.js", + "./helpers/slicedToArray": [ + { + "node": "./helpers/slicedToArray.js", + "import": "./helpers/esm/slicedToArray.js", + "default": "./helpers/slicedToArray.js" + }, + "./helpers/slicedToArray.js" + ], + "./helpers/esm/slicedToArray": "./helpers/esm/slicedToArray.js", + "./helpers/superPropBase": [ + { + "node": "./helpers/superPropBase.js", + "import": "./helpers/esm/superPropBase.js", + "default": "./helpers/superPropBase.js" + }, + "./helpers/superPropBase.js" + ], + "./helpers/esm/superPropBase": "./helpers/esm/superPropBase.js", + "./helpers/superPropGet": [ + { + "node": "./helpers/superPropGet.js", + "import": "./helpers/esm/superPropGet.js", + "default": "./helpers/superPropGet.js" + }, + "./helpers/superPropGet.js" + ], + "./helpers/esm/superPropGet": "./helpers/esm/superPropGet.js", + "./helpers/superPropSet": [ + { + "node": "./helpers/superPropSet.js", + "import": "./helpers/esm/superPropSet.js", + "default": "./helpers/superPropSet.js" + }, + "./helpers/superPropSet.js" + ], + "./helpers/esm/superPropSet": "./helpers/esm/superPropSet.js", + "./helpers/taggedTemplateLiteral": [ + { + "node": "./helpers/taggedTemplateLiteral.js", + "import": "./helpers/esm/taggedTemplateLiteral.js", + "default": "./helpers/taggedTemplateLiteral.js" + }, + "./helpers/taggedTemplateLiteral.js" + ], + "./helpers/esm/taggedTemplateLiteral": "./helpers/esm/taggedTemplateLiteral.js", + "./helpers/taggedTemplateLiteralLoose": [ + { + "node": "./helpers/taggedTemplateLiteralLoose.js", + "import": "./helpers/esm/taggedTemplateLiteralLoose.js", + "default": "./helpers/taggedTemplateLiteralLoose.js" + }, + "./helpers/taggedTemplateLiteralLoose.js" + ], + "./helpers/esm/taggedTemplateLiteralLoose": "./helpers/esm/taggedTemplateLiteralLoose.js", + "./helpers/tdz": [ + { + "node": "./helpers/tdz.js", + "import": "./helpers/esm/tdz.js", + "default": "./helpers/tdz.js" + }, + "./helpers/tdz.js" + ], + "./helpers/esm/tdz": "./helpers/esm/tdz.js", + "./helpers/temporalRef": [ + { + "node": "./helpers/temporalRef.js", + "import": "./helpers/esm/temporalRef.js", + "default": "./helpers/temporalRef.js" + }, + "./helpers/temporalRef.js" + ], + "./helpers/esm/temporalRef": "./helpers/esm/temporalRef.js", + "./helpers/temporalUndefined": [ + { + "node": "./helpers/temporalUndefined.js", + "import": "./helpers/esm/temporalUndefined.js", + "default": "./helpers/temporalUndefined.js" + }, + "./helpers/temporalUndefined.js" + ], + "./helpers/esm/temporalUndefined": "./helpers/esm/temporalUndefined.js", + "./helpers/toArray": [ + { + "node": "./helpers/toArray.js", + "import": "./helpers/esm/toArray.js", + "default": "./helpers/toArray.js" + }, + "./helpers/toArray.js" + ], + "./helpers/esm/toArray": "./helpers/esm/toArray.js", + "./helpers/toConsumableArray": [ + { + "node": "./helpers/toConsumableArray.js", + "import": "./helpers/esm/toConsumableArray.js", + "default": "./helpers/toConsumableArray.js" + }, + "./helpers/toConsumableArray.js" + ], + "./helpers/esm/toConsumableArray": "./helpers/esm/toConsumableArray.js", + "./helpers/toPrimitive": [ + { + "node": "./helpers/toPrimitive.js", + "import": "./helpers/esm/toPrimitive.js", + "default": "./helpers/toPrimitive.js" + }, + "./helpers/toPrimitive.js" + ], + "./helpers/esm/toPrimitive": "./helpers/esm/toPrimitive.js", + "./helpers/toPropertyKey": [ + { + "node": "./helpers/toPropertyKey.js", + "import": "./helpers/esm/toPropertyKey.js", + "default": "./helpers/toPropertyKey.js" + }, + "./helpers/toPropertyKey.js" + ], + "./helpers/esm/toPropertyKey": "./helpers/esm/toPropertyKey.js", + "./helpers/toSetter": [ + { + "node": "./helpers/toSetter.js", + "import": "./helpers/esm/toSetter.js", + "default": "./helpers/toSetter.js" + }, + "./helpers/toSetter.js" + ], + "./helpers/esm/toSetter": "./helpers/esm/toSetter.js", + "./helpers/tsRewriteRelativeImportExtensions": [ + { + "node": "./helpers/tsRewriteRelativeImportExtensions.js", + "import": "./helpers/esm/tsRewriteRelativeImportExtensions.js", + "default": "./helpers/tsRewriteRelativeImportExtensions.js" + }, + "./helpers/tsRewriteRelativeImportExtensions.js" + ], + "./helpers/esm/tsRewriteRelativeImportExtensions": "./helpers/esm/tsRewriteRelativeImportExtensions.js", + "./helpers/typeof": [ + { + "node": "./helpers/typeof.js", + "import": "./helpers/esm/typeof.js", + "default": "./helpers/typeof.js" + }, + "./helpers/typeof.js" + ], + "./helpers/esm/typeof": "./helpers/esm/typeof.js", + "./helpers/unsupportedIterableToArray": [ + { + "node": "./helpers/unsupportedIterableToArray.js", + "import": "./helpers/esm/unsupportedIterableToArray.js", + "default": "./helpers/unsupportedIterableToArray.js" + }, + "./helpers/unsupportedIterableToArray.js" + ], + "./helpers/esm/unsupportedIterableToArray": "./helpers/esm/unsupportedIterableToArray.js", + "./helpers/usingCtx": [ + { + "node": "./helpers/usingCtx.js", + "import": "./helpers/esm/usingCtx.js", + "default": "./helpers/usingCtx.js" + }, + "./helpers/usingCtx.js" + ], + "./helpers/esm/usingCtx": "./helpers/esm/usingCtx.js", + "./helpers/wrapAsyncGenerator": [ + { + "node": "./helpers/wrapAsyncGenerator.js", + "import": "./helpers/esm/wrapAsyncGenerator.js", + "default": "./helpers/wrapAsyncGenerator.js" + }, + "./helpers/wrapAsyncGenerator.js" + ], + "./helpers/esm/wrapAsyncGenerator": "./helpers/esm/wrapAsyncGenerator.js", + "./helpers/wrapNativeSuper": [ + { + "node": "./helpers/wrapNativeSuper.js", + "import": "./helpers/esm/wrapNativeSuper.js", + "default": "./helpers/wrapNativeSuper.js" + }, + "./helpers/wrapNativeSuper.js" + ], + "./helpers/esm/wrapNativeSuper": "./helpers/esm/wrapNativeSuper.js", + "./helpers/wrapRegExp": [ + { + "node": "./helpers/wrapRegExp.js", + "import": "./helpers/esm/wrapRegExp.js", + "default": "./helpers/wrapRegExp.js" + }, + "./helpers/wrapRegExp.js" + ], + "./helpers/esm/wrapRegExp": "./helpers/esm/wrapRegExp.js", + "./helpers/writeOnlyError": [ + { + "node": "./helpers/writeOnlyError.js", + "import": "./helpers/esm/writeOnlyError.js", + "default": "./helpers/writeOnlyError.js" + }, + "./helpers/writeOnlyError.js" + ], + "./helpers/esm/writeOnlyError": "./helpers/esm/writeOnlyError.js", + "./helpers/AwaitValue": [ + { + "node": "./helpers/AwaitValue.js", + "import": "./helpers/esm/AwaitValue.js", + "default": "./helpers/AwaitValue.js" + }, + "./helpers/AwaitValue.js" + ], + "./helpers/esm/AwaitValue": "./helpers/esm/AwaitValue.js", + "./helpers/applyDecs": [ + { + "node": "./helpers/applyDecs.js", + "import": "./helpers/esm/applyDecs.js", + "default": "./helpers/applyDecs.js" + }, + "./helpers/applyDecs.js" + ], + "./helpers/esm/applyDecs": "./helpers/esm/applyDecs.js", + "./helpers/applyDecs2203": [ + { + "node": "./helpers/applyDecs2203.js", + "import": "./helpers/esm/applyDecs2203.js", + "default": "./helpers/applyDecs2203.js" + }, + "./helpers/applyDecs2203.js" + ], + "./helpers/esm/applyDecs2203": "./helpers/esm/applyDecs2203.js", + "./helpers/applyDecs2203R": [ + { + "node": "./helpers/applyDecs2203R.js", + "import": "./helpers/esm/applyDecs2203R.js", + "default": "./helpers/applyDecs2203R.js" + }, + "./helpers/applyDecs2203R.js" + ], + "./helpers/esm/applyDecs2203R": "./helpers/esm/applyDecs2203R.js", + "./helpers/applyDecs2301": [ + { + "node": "./helpers/applyDecs2301.js", + "import": "./helpers/esm/applyDecs2301.js", + "default": "./helpers/applyDecs2301.js" + }, + "./helpers/applyDecs2301.js" + ], + "./helpers/esm/applyDecs2301": "./helpers/esm/applyDecs2301.js", + "./helpers/applyDecs2305": [ + { + "node": "./helpers/applyDecs2305.js", + "import": "./helpers/esm/applyDecs2305.js", + "default": "./helpers/applyDecs2305.js" + }, + "./helpers/applyDecs2305.js" + ], + "./helpers/esm/applyDecs2305": "./helpers/esm/applyDecs2305.js", + "./helpers/classApplyDescriptorDestructureSet": [ + { + "node": "./helpers/classApplyDescriptorDestructureSet.js", + "import": "./helpers/esm/classApplyDescriptorDestructureSet.js", + "default": "./helpers/classApplyDescriptorDestructureSet.js" + }, + "./helpers/classApplyDescriptorDestructureSet.js" + ], + "./helpers/esm/classApplyDescriptorDestructureSet": "./helpers/esm/classApplyDescriptorDestructureSet.js", + "./helpers/classApplyDescriptorGet": [ + { + "node": "./helpers/classApplyDescriptorGet.js", + "import": "./helpers/esm/classApplyDescriptorGet.js", + "default": "./helpers/classApplyDescriptorGet.js" + }, + "./helpers/classApplyDescriptorGet.js" + ], + "./helpers/esm/classApplyDescriptorGet": "./helpers/esm/classApplyDescriptorGet.js", + "./helpers/classApplyDescriptorSet": [ + { + "node": "./helpers/classApplyDescriptorSet.js", + "import": "./helpers/esm/classApplyDescriptorSet.js", + "default": "./helpers/classApplyDescriptorSet.js" + }, + "./helpers/classApplyDescriptorSet.js" + ], + "./helpers/esm/classApplyDescriptorSet": "./helpers/esm/classApplyDescriptorSet.js", + "./helpers/classCheckPrivateStaticAccess": [ + { + "node": "./helpers/classCheckPrivateStaticAccess.js", + "import": "./helpers/esm/classCheckPrivateStaticAccess.js", + "default": "./helpers/classCheckPrivateStaticAccess.js" + }, + "./helpers/classCheckPrivateStaticAccess.js" + ], + "./helpers/esm/classCheckPrivateStaticAccess": "./helpers/esm/classCheckPrivateStaticAccess.js", + "./helpers/classCheckPrivateStaticFieldDescriptor": [ + { + "node": "./helpers/classCheckPrivateStaticFieldDescriptor.js", + "import": "./helpers/esm/classCheckPrivateStaticFieldDescriptor.js", + "default": "./helpers/classCheckPrivateStaticFieldDescriptor.js" + }, + "./helpers/classCheckPrivateStaticFieldDescriptor.js" + ], + "./helpers/esm/classCheckPrivateStaticFieldDescriptor": "./helpers/esm/classCheckPrivateStaticFieldDescriptor.js", + "./helpers/classExtractFieldDescriptor": [ + { + "node": "./helpers/classExtractFieldDescriptor.js", + "import": "./helpers/esm/classExtractFieldDescriptor.js", + "default": "./helpers/classExtractFieldDescriptor.js" + }, + "./helpers/classExtractFieldDescriptor.js" + ], + "./helpers/esm/classExtractFieldDescriptor": "./helpers/esm/classExtractFieldDescriptor.js", + "./helpers/classPrivateFieldDestructureSet": [ + { + "node": "./helpers/classPrivateFieldDestructureSet.js", + "import": "./helpers/esm/classPrivateFieldDestructureSet.js", + "default": "./helpers/classPrivateFieldDestructureSet.js" + }, + "./helpers/classPrivateFieldDestructureSet.js" + ], + "./helpers/esm/classPrivateFieldDestructureSet": "./helpers/esm/classPrivateFieldDestructureSet.js", + "./helpers/classPrivateFieldGet": [ + { + "node": "./helpers/classPrivateFieldGet.js", + "import": "./helpers/esm/classPrivateFieldGet.js", + "default": "./helpers/classPrivateFieldGet.js" + }, + "./helpers/classPrivateFieldGet.js" + ], + "./helpers/esm/classPrivateFieldGet": "./helpers/esm/classPrivateFieldGet.js", + "./helpers/classPrivateFieldSet": [ + { + "node": "./helpers/classPrivateFieldSet.js", + "import": "./helpers/esm/classPrivateFieldSet.js", + "default": "./helpers/classPrivateFieldSet.js" + }, + "./helpers/classPrivateFieldSet.js" + ], + "./helpers/esm/classPrivateFieldSet": "./helpers/esm/classPrivateFieldSet.js", + "./helpers/classPrivateMethodGet": [ + { + "node": "./helpers/classPrivateMethodGet.js", + "import": "./helpers/esm/classPrivateMethodGet.js", + "default": "./helpers/classPrivateMethodGet.js" + }, + "./helpers/classPrivateMethodGet.js" + ], + "./helpers/esm/classPrivateMethodGet": "./helpers/esm/classPrivateMethodGet.js", + "./helpers/classPrivateMethodSet": [ + { + "node": "./helpers/classPrivateMethodSet.js", + "import": "./helpers/esm/classPrivateMethodSet.js", + "default": "./helpers/classPrivateMethodSet.js" + }, + "./helpers/classPrivateMethodSet.js" + ], + "./helpers/esm/classPrivateMethodSet": "./helpers/esm/classPrivateMethodSet.js", + "./helpers/classStaticPrivateFieldDestructureSet": [ + { + "node": "./helpers/classStaticPrivateFieldDestructureSet.js", + "import": "./helpers/esm/classStaticPrivateFieldDestructureSet.js", + "default": "./helpers/classStaticPrivateFieldDestructureSet.js" + }, + "./helpers/classStaticPrivateFieldDestructureSet.js" + ], + "./helpers/esm/classStaticPrivateFieldDestructureSet": "./helpers/esm/classStaticPrivateFieldDestructureSet.js", + "./helpers/classStaticPrivateFieldSpecGet": [ + { + "node": "./helpers/classStaticPrivateFieldSpecGet.js", + "import": "./helpers/esm/classStaticPrivateFieldSpecGet.js", + "default": "./helpers/classStaticPrivateFieldSpecGet.js" + }, + "./helpers/classStaticPrivateFieldSpecGet.js" + ], + "./helpers/esm/classStaticPrivateFieldSpecGet": "./helpers/esm/classStaticPrivateFieldSpecGet.js", + "./helpers/classStaticPrivateFieldSpecSet": [ + { + "node": "./helpers/classStaticPrivateFieldSpecSet.js", + "import": "./helpers/esm/classStaticPrivateFieldSpecSet.js", + "default": "./helpers/classStaticPrivateFieldSpecSet.js" + }, + "./helpers/classStaticPrivateFieldSpecSet.js" + ], + "./helpers/esm/classStaticPrivateFieldSpecSet": "./helpers/esm/classStaticPrivateFieldSpecSet.js", + "./helpers/classStaticPrivateMethodSet": [ + { + "node": "./helpers/classStaticPrivateMethodSet.js", + "import": "./helpers/esm/classStaticPrivateMethodSet.js", + "default": "./helpers/classStaticPrivateMethodSet.js" + }, + "./helpers/classStaticPrivateMethodSet.js" + ], + "./helpers/esm/classStaticPrivateMethodSet": "./helpers/esm/classStaticPrivateMethodSet.js", + "./helpers/defineEnumerableProperties": [ + { + "node": "./helpers/defineEnumerableProperties.js", + "import": "./helpers/esm/defineEnumerableProperties.js", + "default": "./helpers/defineEnumerableProperties.js" + }, + "./helpers/defineEnumerableProperties.js" + ], + "./helpers/esm/defineEnumerableProperties": "./helpers/esm/defineEnumerableProperties.js", + "./helpers/dispose": [ + { + "node": "./helpers/dispose.js", + "import": "./helpers/esm/dispose.js", + "default": "./helpers/dispose.js" + }, + "./helpers/dispose.js" + ], + "./helpers/esm/dispose": "./helpers/esm/dispose.js", + "./helpers/objectSpread": [ + { + "node": "./helpers/objectSpread.js", + "import": "./helpers/esm/objectSpread.js", + "default": "./helpers/objectSpread.js" + }, + "./helpers/objectSpread.js" + ], + "./helpers/esm/objectSpread": "./helpers/esm/objectSpread.js", + "./helpers/using": [ + { + "node": "./helpers/using.js", + "import": "./helpers/esm/using.js", + "default": "./helpers/using.js" + }, + "./helpers/using.js" + ], + "./helpers/esm/using": "./helpers/esm/using.js", + "./package": "./package.json", + "./package.json": "./package.json", + "./regenerator": "./regenerator/index.js", + "./regenerator/*.js": "./regenerator/*.js", + "./regenerator/": "./regenerator/" + }, + "engines": { + "node": ">=6.9.0" + }, + "type": "commonjs" +} \ No newline at end of file diff --git a/node_modules/@babel/runtime/regenerator/index.js b/node_modules/@babel/runtime/regenerator/index.js new file mode 100644 index 00000000..58813573 --- /dev/null +++ b/node_modules/@babel/runtime/regenerator/index.js @@ -0,0 +1,15 @@ +// TODO(Babel 8): Remove this file. + +var runtime = require("../helpers/regeneratorRuntime")(); +module.exports = runtime; + +// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736= +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + if (typeof globalThis === "object") { + globalThis.regeneratorRuntime = runtime; + } else { + Function("r", "regeneratorRuntime = r")(runtime); + } +} diff --git a/node_modules/@proload/core/CHANGELOG.md b/node_modules/@proload/core/CHANGELOG.md new file mode 100644 index 00000000..1fab1c13 --- /dev/null +++ b/node_modules/@proload/core/CHANGELOG.md @@ -0,0 +1,91 @@ +# Changelog + +## 0.3.3 + +### Patch Changes + +- 0133f2a: Fix: make ESM parse errors catch-able + +## 0.3.2 + +### Patch Changes + +- a3046e3: Fix bug introduced by supporting empty config files + +## 0.3.1 + +### Patch Changes + +- 5c011e2: Update types to expose `resolve` + +## 0.3.0 + +### Minor Changes + +- ddce5c6: Improve `extends` behavior related to dependencies +- a93907f: Add `resolve` export + +### Patch Changes + +- 4c7215e: Improve handling when matched file is empty + +## 0.2.2 + +### Patch Changes + +- 910284a: Fix transform hook bug + +## 0.2.1 + +### Patch Changes + +- 0eb82f0: Adds the `filePath` option, which supports loading a config file from a user-specified input path +- 806cfa6: Fix Windows compatability issue + +## v0.2.0 + +**Features** + +- Introduce the `mustExist` flag, which controls Proload's behavior when a configuration is not found. +- Introduce the `ProloadError` class export, which can be used in `instanceof` checks to determine if an Error is coming from Proload internals or somewhere else. + +**Docs** + +- Document the `mustExist` flag + +## v0.1.4 + +**Fixes** + +- Do not attempt to resolve "extends" for unrecognized formats. + +## v0.1.3 + +**Fixes** + +- Improves accuracy of TypeScript declarations for CJS entrypoint. + +**Docs** + +- Added inline documentation to the TypeScript declarations. + +## v0.1.2 + +**Chores** + +- Exclude `test` files from package + +## v0.1.1 + +**Added** + +- Custom `accept` handler exposes complete control over resolution logic + +**Docs** + +- Added examples and more detail to README +- Added docs on `accept` handler + +## v0.1.0 + +Initial release diff --git a/node_modules/@proload/core/README.md b/node_modules/@proload/core/README.md new file mode 100644 index 00000000..031f7e32 --- /dev/null +++ b/node_modules/@proload/core/README.md @@ -0,0 +1,333 @@ +# `@proload/core` + +Proload searches for and loads your tool's JavaScript configuration files. Users have complex expectations when it comes to configuration files—the goal of Proload is to offer a single, straightforward and extensible API for loading them. + +```js +import load from '@proload/core'; + +await load('namespace'); +``` + +> `@proload/core` can be used in `node@12.20.1` and up. It relies on Node's native ESM semantics. + +## Motivation + +Configuration files are really difficult to get right. Tool authors tend to think, "Easy solve! I'll just have everyone use one `namespace.config.js`!" In most cases that should work, but since `node@12.17.0`, plain `.js` files can be written in either ESM or CJS—both formats are officially supported and can be configured on a per-project basis. Additionally, `node` is able to load any file using a `.cjs` or `.mjs` extension, not just `.js`. + +Many popular libraries get these semantics wrong, but maintaining and testing this resolution logic in library code can be a huge maintanence burden. As a library author, you don't need to know (or care) which module format your users choose—you just need to load the contents of the config file. `@proload/core` is a well-tested solution that gets these semantics right, so you can focus on more important things. + +> You probably have TypeScript users, too! They would definitely appreciate being able to write a `.ts` config file. `@proload/core` uses a plugin system to load non-JavaScript files. See [Plugins](https://github.com/natemoo-re/proload/tree/main/packages/core#plugins) or [`@proload/plugin-typescript`](https://github.com/natemoo-re/proload/tree/main/packages/core#typescript) specifically. + +## Resolution + +Out of the box, `@proload/core` searches up the directory tree for the following files: + +- a `[namespace].config.js`, `[namespace].config.cjs`, or `[namespace].config.mjs` file +- any of the `js/cjs/mjs` files inside of `config/` directory +- a `package.json` file with a top-level `[namespace]` key + + +Here's an overview of all the files supported by default for a tool named `donut`. + +``` +await load('donut'); + +. +├── donut.config.js // Either ESM or CJS supported +├── donut.config.cjs +├── donut.config.mjs +├── config/ // Great for organizing many configs +│ ├── donut.config.js +│ ├── donut.config.cjs +│ └── donut.config.mjs +└── package.json // with top-level "donut" property +``` + +## `resolve` + +`resolve` is an additional named export of `@proload/core`. It is an `async` function that resolves **but does not load** a configuration file. + +- `namespace` is the name of your tool. As an example, `donut` would search for `donut.config.[ext]`. +- `opts` configure the behavior of `load`. See [Options](https://github.com/natemoo-re/proload/tree/main/packages/core#options). + +```ts +resolve(namespace: string, opts?: ResolveOptions); +``` + +## `load` + +The `default` export of `@proload/core` is an `async` function to load a configuration file. + +- `namespace` is the name of your tool. As an example, `donut` would search for `donut.config.[ext]`. +- `opts` configure the behavior of `load`. See [Options](https://github.com/natemoo-re/proload/tree/main/packages/core#options). + +```ts +load(namespace: string, opts?: LoadOptions); +``` + + +## Options + +### cwd +`load` searches up the directory tree, beginning from this loaction. Defaults to `process.cwd()`. + +```js +import load from '@proload/core'; +await load('namespace', { cwd: '/path/to/user/project' }); +``` + +### filePath +If you already have the exact (absolute or relative) `filePath` of your user's config file, set the `filePath` option to disable Proload's search algorithm. + +```js +import load from '@proload/core'; +await load('namespace', { cwd: '/path/to/user/project', filePath: './custom-user-config.js' }); +``` + +### mustExist +`mustExist` controls whether a configuration _must_ be found. Defaults to `true`—Proload will throw an error when a configuration is not found. To customize error handling, you may check the shape of the thrown error. + +Setting this option to `false` allows a return value of `undefined` when a configuration is not found. + +```js +import load, { ProloadError } from '@proload/core'; + +try { + await load('namespace', { mustExist: true }); +} catch (err) { + // Proload couldn't resolve a configuration, log a custom contextual error + if (err instanceof ProloadError && err.code === 'ERR_PROLOAD_NOT_FOUND') { + console.error(`See the "namespace" docs for configuration info`); + } + throw err; +} +``` + +### context + +Users may want to dynamically generate a different configuration based on some contextual information passed from your tool. Any `{ context }` passed to the `load` function will be forwarded to configuration "factory" functions. + +```js +// Library code +import load from '@proload/core'; +await load('namespace', { context: { isDev: true }}); + +// namespace.config.js +export default ({ isDev }) => { + return { featureFlag: isDev } +} +``` + +### accept +If you need complete control over which file to load, the `accept` handler can customize resolution behavior. A return value of `true` marks a file to be loaded, any other return values (even truthy ones) is ignored. + +See the [`accept`](https://github.com/natemoo-re/proload/blob/34413acf87d98d3ef310ce2873103455cb2eb379/packages/core/lib/index.d.ts#L11) interface. + +> Note that [Plugins](https://github.com/natemoo-re/proload/tree/main/packages/core#plugins) are able to modify similar behavior. To load non-JavaScript files, you should use a plugin instead of `accept`. + +```js +import load from '@proload/core'; + +await load('donut', { + accept(fileName) { + // Support alternative spelling for any European friends + return fileName.startsWith('doughnut.config'); + } +}) +``` + +The following example uses `@proload/plugin-typescript` to add support for loading `.ts` files and an `accept` handler to require all config files to use the `.ts` extension. +```js +import load from '@proload/core'; +import typescript from '@proload/plugin-typescript'; + +load.use([typescript]); +await load('namespace', { + accept(fileName) { + // Only accept `.ts` config files + return fileName.endsWith('.ts'); + } +}) +``` + +### merge + +To customize `extends` behavior, you may pass a custom `merge` function to the `load` function. By default, [`deepmerge`](https://github.com/TehShrike/deepmerge) is used. + +```js +// Library code +import load from '@proload/core'; + +const shallowMerge = (a, b) => ({ ...a, ...b }) +await load('namespace', { merge: shallowMerge }); + +// namespace.config.js +export default { + extends: ['./a.js', './b.js'] +} + +// a.js +export default { + a: true +} + +// b.js +export default { + b: true +} + +// result +{ + a: true, + b: true +} +``` + + +## Automatic `extends` + +Tools like `typescript` and `babel` have popularized the ability to share configuration presets through a top-level `extends` clause. `extends` also allows you to share a local base configuration with other packages, which is extremely useful for monorepo users. + +Custom implementation of this behavior can be difficult, so `@proload/core` automatically recognizes top-level `extends` clauses (`string[]`) for you. It recursively resolves and merges all dependent configurations. + +```js +// namespace.config.js +export default { + extends: ['@namespace/preset', '../namespace.base.config.js'] +} +``` + +### Extending local configuration files +In many cases, particularly in monorepos, it's useful to have a base configuration file and use `extends` in any sub-packages to inherit the base configuration. `@proload/core` resolves paths in `extends` relative to the configuration file itself. + +``` +. +├── namespace.base.config.js +└── packages/ + ├── package-a/ + │ └── namespace.config.js + └── package-b/ + └── namespace.config.js +``` + +### Extending configuration presets +`@proload/core` uses the same strategy to resolve a configuration file from project `dependencies` as it does for user configurations. When publishing a configuration preset, use the same file naming strategy as you would for local configuration. + +``` +. +├── node_modules/ +│ └── @namespace/ +│ └── preset-env/ +│ ├── package.json +│ └── namespace.config.js +├── package.json +└── namespace.config.js +``` + +Assuming `@namespace/preset-env` is a project dependency, the top-level `namespace.config.js` file can use `extends` to reference the dependency. + +```js +export default { + extends: ['@namespace/preset-env'] +} +``` + +## Plugins + +In order to support as many use cases as possible, `@proload/core` uses a plugin system. Plugins build on each other and are designed to be combined. For example, to support a `namespacerc.json` file, you could use both `@proload/plugin-json` and `@proload/plugin-rc`. + +```js +import load from '@proload/core'; +import rc from '@proload/plugin-rc'; +import json from '@proload/plugin-json'; + +load.use([rc, json]); +await load('namespace'); +``` + +### TypeScript +In order to load a `[namespace].config.ts` file, use `@proload/plugin-typescript`. + +```js +import load from '@proload/core'; +import typescript from '@proload/plugin-typescript'; + +load.use([typescript]); +await load('namespace'); +``` + +### JSON +In order to load a `[namespace].config.json` file, use `@proload/plugin-json`. + +```js +import load from '@proload/core'; +import json from '@proload/plugin-json'; + +load.use([json]); +await load('namespace'); +``` + +### YAML +In order to load a `[namespace].config.yaml` or `[namespace].config.yml` file, use `@proload/plugin-yaml`. + +```js +import load from '@proload/core'; +import yaml from '@proload/plugin-yaml'; + +load.use([yaml]); +await load('namespace'); +``` + +### RC files +In order to load a `[namespace]rc` file with any extension, use `@proload/plugin-rc`. + +```js +import load from '@proload/core'; +import rc from '@proload/plugin-rc'; + +load.use([rc]); +await load('namespace'); +``` + +### All Plugins +For illustrative purposes (please don't do this), combining all of these plugins would support the following resolution logic: + +``` +. +├── namespace.config.js +├── namespace.config.cjs +├── namespace.config.mjs +├── namespace.config.ts +├── namespace.config.json +├── namespace.config.yaml +├── namespace.config.yml +├── namespacerc.js +├── namespacerc.cjs +├── namespacerc.mjs +├── namespacerc.ts +├── namespacerc.json +├── namespacerc.yaml +├── namespacerc.yml +├── config/ +│ ├── namespace.config.js +│ ├── namespace.config.cjs +│ ├── namespace.config.mjs +│ ├── namespace.config.ts +│ ├── namespace.config.json +│ ├── namespace.config.yaml +│ ├── namespace.config.yml +│ ├── namespacerc.js +│ ├── namespacerc.cjs +│ ├── namespacerc.mjs +│ ├── namespacerc.ts +│ ├── namespacerc.json +│ ├── namespacerc.yaml +│ └── namespacerc.yml +└── package.json +``` + +## Credits + +Proload is heavily inspired by tools like [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig#readme) and [`rc`](https://github.com/dominictarr/rc). + +Proload would not be possible without [@lukeed](https://github.com/lukeed)'s amazing work on [`escalade`](https://github.com/lukeed/escalade) and [`uvu`](https://github.com/lukeed/uvu). diff --git a/node_modules/@proload/core/lib/cjs/index.cjs b/node_modules/@proload/core/lib/cjs/index.cjs new file mode 100644 index 00000000..a2d42c28 --- /dev/null +++ b/node_modules/@proload/core/lib/cjs/index.cjs @@ -0,0 +1,8 @@ +const { ProloadError } = require('../error.cjs'); +function load(...args) { + return import('../esm/index.mjs').then(({ default: loader }) => loader(...args)); +} + +load.default = load; +load.ProloadError = ProloadError; +module.exports = load; diff --git a/node_modules/@proload/core/lib/error.cjs b/node_modules/@proload/core/lib/error.cjs new file mode 100644 index 00000000..d8e43382 --- /dev/null +++ b/node_modules/@proload/core/lib/error.cjs @@ -0,0 +1,25 @@ +/** + * @type import('./error.cjs').ProloadError + */ +class ProloadError extends Error { + constructor(opts={}) { + super(opts.message); + this.name = 'ProloadError'; + this.code = opts.code || 'ERR_PROLOAD_INVALID'; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +} + +/** + * @type import('./error.cjs').assert + */ +function assert(bool, message, code) { + if (bool) return; + if (message instanceof Error) throw message; + throw new ProloadError({ message, code }); +} + +module.exports.ProloadError = ProloadError; +module.exports.assert = assert; diff --git a/node_modules/@proload/core/lib/error.cjs.d.ts b/node_modules/@proload/core/lib/error.cjs.d.ts new file mode 100644 index 00000000..a147483a --- /dev/null +++ b/node_modules/@proload/core/lib/error.cjs.d.ts @@ -0,0 +1,15 @@ +export type Message = string | Error; + +export type PROLOAD_ERROR_CODE = 'ERR_PROLOAD_INVALID' | 'ERR_PROLOAD_NOT_FOUND'; + +export class ProloadError extends Error { + name: 'ProloadError'; + code: PROLOAD_ERROR_CODE; + message: string; + constructor(options?: { + message: string; + code?: string + }); +} + +export function assert(condition: boolean, message: Message, code?: PROLOAD_ERROR_CODE): asserts condition; diff --git a/node_modules/@proload/core/lib/esm/index.mjs b/node_modules/@proload/core/lib/esm/index.mjs new file mode 100644 index 00000000..2e4cce03 --- /dev/null +++ b/node_modules/@proload/core/lib/esm/index.mjs @@ -0,0 +1,284 @@ +import escalade from "escalade"; +import { join, dirname, extname, resolve } from "path"; +import deepmerge from "deepmerge"; + +import { existsSync, readdir, readFile, stat } from "fs"; +import { promisify } from "util"; +import { createRequire } from "module"; +import requireOrImport from "./requireOrImport.mjs"; +import { assert, ProloadError } from "../error.cjs"; + +export { ProloadError }; + +const toStats = promisify(stat); +const toRead = promisify(readdir); +const toReadFile = promisify(readFile); +const require = createRequire(import.meta.url); + +let merge = deepmerge; +const defaultExtensions = ['js', 'cjs', 'mjs']; +const defaultFileNames = ['[name].config']; + +const validNames = (namespace) => { + const extensionPlugins = load.plugins.filter(p => Array.isArray(p.extensions)); + const fileNamePlugins = load.plugins.filter(p => Array.isArray(p.fileNames)); + const validExtensions = [...defaultExtensions].concat(...extensionPlugins.map(p => p.extensions)); + const validFileNames = [...defaultFileNames].concat(...fileNamePlugins.map(p => p.fileNames)); + + const result = validFileNames + .map(fileName => fileName.replace('[name]', namespace)) + .reduce((acc, fileName) => { + return [...acc].concat(...validExtensions.map(ext => `${fileName}${ext ? '.' + ext.replace(/^\./, '') : ''}`)) + }, []); + + return result; +} + +/** + * @param {any} val + * @returns {val is Record} + */ +const isObject = (val) => + val != null && typeof val === "object" && Array.isArray(val) === false; + +const requireOrImportWithMiddleware = (filePath) => { + let registerPlugins = load.plugins.filter( + (plugin) => typeof plugin.register !== "undefined" + ); + let transformPlugins = load.plugins.filter( + (plugin) => typeof plugin.transform !== "undefined" + ); + return requireOrImport(filePath, { middleware: registerPlugins }).then( + async (mdl) => Promise.all( + transformPlugins.map((plugin) => { + return Promise.resolve(plugin.transform(mdl)).then((result) => { + if (result) mdl = result; + }); + }) + ).then(() => mdl) + ); +}; + +/** + * + * @param {string} namespace + * @param {{ filePath: string, extension: string }} opts + * @returns {Promise<{ filePath: string, value: string }>} + */ +async function resolveExtension(namespace, { filePath, extension }) { + let resolvedPath; + if (extension.startsWith("./") || extension.startsWith("../")) { + if (extname(extension) === "") { + resolvedPath = resolve( + dirname(filePath), + `${extension}${extname(filePath)}` + ); + } + if (!existsSync(resolvedPath)) resolvedPath = null; + + if (!resolvedPath) { + resolvedPath = resolve(dirname(filePath), extension); + } + if (!existsSync(resolvedPath)) resolvedPath = null; + } + if (!resolvedPath) { + const pkg = require.resolve(extension, { + cwd: dirname(filePath), + }); + const accepted = validNames(namespace); + for (const config of accepted) { + try { + resolvedPath = `${pkg}/${config}`; + if (resolvedPath && existsSync(resolvedPath)) { + break; + } else { + resolvedPath = null + } + } catch (e) {} + } + } + if (!resolvedPath) { + resolvedPath = require.resolve(extension, { cwd: dirname(filePath) }); + } + if (!resolvedPath) return + const value = await requireOrImportWithMiddleware(resolvedPath); + + return { filePath: resolvedPath, value }; +} + +async function resolveExtensions( + namespace, + { filePath, value: raw, context }, + acc = {} +) { + let value = typeof raw === "function" ? await raw(context) : raw; + if (Array.isArray(value)) return value; + + assert( + isObject(value), + `${namespace} configuration expects an "object" but encountered ${value}` + ); + acc = merge(acc, value); + if (!("extends" in value)) return acc; + + assert( + Array.isArray(value.extends), + `${namespace} "extends" must be an array` + ); + + const configs = await Promise.all( + value.extends.map((extension) => + resolveExtension(namespace, { filePath, extension }).then((config) => + resolveExtensions(namespace, { ...config, context }, acc) + ) + ) + ); + + for (const config of configs) { + acc = merge(acc, config); + } + + delete acc.extends; + + return acc; +} + +/** + * + * @param {string} namespace + * @param {import('../index').LoadOptions} opts + */ +async function resolveConfig(namespace, opts = {}) { + const accepted = validNames(namespace); + const { context, accept } = opts; + const input = opts.cwd || process.cwd(); + + let mustExist = true; + if (typeof opts.mustExist !== "undefined") { + mustExist = opts.mustExist; + } + if (typeof opts.merge === "function") { + merge = opts.merge; + } + + let filePath; + if (typeof opts.filePath === "string") { + const absPath = opts.filePath.startsWith(".") + ? resolve(opts.filePath, input) + : opts.filePath; + if (existsSync(absPath)) { + filePath = absPath; + } + } else { + filePath = await escalade(input, async (dir, names) => { + if (accept) { + for (const n of names) { + if (accept(n, { directory: dir }) === true) return n; + } + } + + for (const n of accepted) { + if (names.includes(n)) return n; + } + + if (names.includes("config")) { + let d = join(dir, "config"); + let _, + stats = await toStats(d); + let entries = []; + if (stats.isDirectory()) { + entries = await toRead(d); + for (const n of accepted) { + if (entries.includes(n)) return join("config", n); + } + } + } + + if (names.includes("package.json")) { + let file = join(dir, "package.json"); + let _, + contents = await toReadFile(file).then((r) => + JSON.parse(r.toString()) + ); + if (contents[namespace]) return "package.json"; + } + }); + } + + if (mustExist) { + assert( + !!filePath, + `Unable to resolve a ${namespace} configuration`, + "ERR_PROLOAD_NOT_FOUND" + ); + } else if (!filePath) { + return; + } + return filePath; +} + +/** + * + * @param {string} namespace + * @param {import('../index').LoadOptions} opts + */ +async function load(namespace, opts = {}) { + const { context } = opts; + let mustExist = true; + if (typeof opts.mustExist !== 'undefined') { + mustExist = opts.mustExist + } + const filePath = await resolveConfig(namespace, opts); + if (mustExist) { + assert(!!filePath, `Unable to resolve a ${namespace} configuration`, 'ERR_PROLOAD_NOT_FOUND'); + } else if (!filePath) { + return; + } + + let rawValue = await requireOrImportWithMiddleware(filePath); + if (filePath.endsWith('package.json')) rawValue = rawValue[namespace]; + // Important: "empty" config files will be returned as `Module {}` + // We should handle them here + if (rawValue && !(rawValue instanceof Object)) { + if (mustExist) { + assert( + true, + `Resolved a ${namespace} configuration, but no configuration was exported`, + "ERR_PROLOAD_NOT_FOUND" + ); + } else { + return; + } + } + const resolvedValue = await resolveExtensions(namespace, { + filePath, + value: rawValue, + context, + }); + + return { + filePath, + raw: rawValue, + value: resolvedValue, + }; +} + +const defaultPlugins = [ + { + name: "@proload/extract-default", + transform(mdl) { + if (mdl.default && Object.keys(mdl).length === 1) { + return mdl.default; + }; + + return mdl; + }, + }, +]; +/** @type import('../index').Plugin[] */ +load.plugins = defaultPlugins; +load.use = (plugins) => { + load.plugins = [...load.plugins, ...plugins]; +}; +export default load; +export { resolveConfig as resolve }; diff --git a/node_modules/@proload/core/lib/esm/requireOrImport.mjs b/node_modules/@proload/core/lib/esm/requireOrImport.mjs new file mode 100644 index 00000000..2d38a72b --- /dev/null +++ b/node_modules/@proload/core/lib/esm/requireOrImport.mjs @@ -0,0 +1,30 @@ +"use strict"; +import { createRequire } from 'module'; +import { pathToFileURL } from 'url'; +let require = createRequire(import.meta.url); + +/** + * + * @param {string} filePath + */ +export default async function requireOrImport(filePath, { middleware = [] } = {}) { + await Promise.all(middleware.map(plugin => plugin.register(filePath))); + + return new Promise(async (resolve, reject) => { + try { + let mdl = require(filePath); + resolve(mdl); + } catch (e) { + if (e.code === 'ERR_REQUIRE_ESM') { + const fileUrl = pathToFileURL(filePath).toString(); + try { + const mdl = await import(fileUrl); + return resolve(mdl); + } catch (e) { + reject(e); + } + }; + reject(e); + } + }) +} diff --git a/node_modules/@proload/core/lib/esm/requireOrImport.mjs.d.ts b/node_modules/@proload/core/lib/esm/requireOrImport.mjs.d.ts new file mode 100644 index 00000000..86e48dc7 --- /dev/null +++ b/node_modules/@proload/core/lib/esm/requireOrImport.mjs.d.ts @@ -0,0 +1 @@ +export default function requireOrImport(filePath: string, opts?: { middleware: any[] }): Promise; diff --git a/node_modules/@proload/core/lib/index.d.ts b/node_modules/@proload/core/lib/index.d.ts new file mode 100644 index 00000000..7e8faa81 --- /dev/null +++ b/node_modules/@proload/core/lib/index.d.ts @@ -0,0 +1,120 @@ +export { ProloadError } from './error.cjs'; + +export interface Config { + /** An absolute path to a resolved configuration file */ + filePath: string; + /** The raw value of a resolved configuration file, before being merged with any `extends` configurations */ + raw: any; + /** The final, resolved value of a resolved configuration file */ + value: T; +} + +export interface ResolveOptions { + /** + * An exact filePath to a configuration file which should be loaded. If passed, this will keep proload from searching + * for matching files. + * + * [Read the `@proload/core` docs](https://github.com/natemoo-re/proload/tree/main/packages/core#filepath) + */ + filePath?: string; + /** + * The location from which to begin searching up the directory tree + * + * [Read the `@proload/core` docs](https://github.com/natemoo-re/proload/tree/main/packages/core#cwd) + */ + cwd?: string; + /** + * If a configuration _must_ be resolved. If `true`, Proload will throw an error when a configuration is not found + * + * [Read the `@proload/core` docs](https://github.com/natemoo-re/proload/tree/main/packages/core#mustExist) + */ + mustExist?: boolean; + /** + * A function to completely customize module resolution + * + * [Read the `@proload/core` docs](https://github.com/natemoo-re/proload/tree/main/packages/core#accept) + */ + accept?(fileName: string, context: { directory: string }): boolean|void; +} + +export interface LoadOptions { + /** + * An exact filePath to a configuration file which should be loaded. If passed, this will keep proload from searching + * for matching files. + * + * [Read the `@proload/core` docs](https://github.com/natemoo-re/proload/tree/main/packages/core#filepath) + */ + filePath?: string; + /** + * The location from which to begin searching up the directory tree + * + * [Read the `@proload/core` docs](https://github.com/natemoo-re/proload/tree/main/packages/core#cwd) + */ + cwd?: string; + /** + * If a configuration _must_ be resolved. If `true`, Proload will throw an error when a configuration is not found + * + * [Read the `@proload/core` docs](https://github.com/natemoo-re/proload/tree/main/packages/core#mustExist) + */ + mustExist?: boolean; + /** + * If a resolved configuration file exports a factory function, this value will be passed as arguments to the function + * + * [Read the `@proload/core` docs](https://github.com/natemoo-re/proload/tree/main/packages/core#context) + */ + context?: any; + /** + * A function to customize the `merge` behavior when a config with `extends` is encountered + * + * [Read the `@proload/core` docs](https://github.com/natemoo-re/proload/tree/main/packages/core#merge) + */ + merge?(x: Partial, y: Partial): Partial; + /** + * A function to completely customize module resolution + * + * [Read the `@proload/core` docs](https://github.com/natemoo-re/proload/tree/main/packages/core#accept) + */ + accept?(fileName: string, context: { directory: string }): boolean|void; +} + +export interface Plugin { + /** a unique identifier for your plugin */ + name: string; + /** extensions which should be resolved, including the leading period */ + extensions?: string[]; + /** fileName patterns which should be resolved, excluding the trailing extension */ + fileNames?: string[]; + /** Executed before require/import of config file */ + register?(filePath: string): Promise; + /** Modify the config file before passing it along */ + transform?(module: any): Promise; +} + +/** + * An `async` function which searches for a configuration file + * + * [Read the `@proload/core` docs](https://github.com/natemoo-re/proload/tree/main/packages/core#resolve) + */ +export async function resolve(namespace: string, opts?: ResolveOptions): Promise; + +interface Load = Record> { + /** + * @param namespace The namespace which will be searched for the configuration file. + * + * For example, passing `"donut"` would resolve a files like `donut.config.js`, `donut.config.cjs`, and `donut.config.mjs` as well as a `package.json` with a `donut` property. + * + * @param opts Options to customize loader behavior + */ + (namespace: string, opts?: LoadOptions): Promise|undefined>; + use(plugins: Plugin[]): void; +} + +/** + * An `async` function which searches for and loads a configuration file + * + * [Read the `@proload/core` docs](https://github.com/natemoo-re/proload/tree/main/packages/core#load) + */ +declare const load: Load; + +export = load; +export default load; diff --git a/node_modules/@proload/core/package.json b/node_modules/@proload/core/package.json new file mode 100644 index 00000000..e3f1f265 --- /dev/null +++ b/node_modules/@proload/core/package.json @@ -0,0 +1,45 @@ +{ + "name": "@proload/core", + "version": "0.3.3", + "description": "Searches for and loads your tool's JavaScript configuration files with full support for CJS, ESM, TypeScript and more.", + "main": "./lib/cjs/index.cjs", + "module": "./lib/esm/index.mjs", + "types": "./lib/index.d.ts", + "files": [ + "lib", + "!test" + ], + "exports": { + ".": { + "import": "./lib/esm/index.mjs", + "require": "./lib/cjs/index.cjs" + }, + "./esm": "./lib/esm/index.mjs", + "./cjs": "./lib/cjs/index.cjs", + "./lib/index.d.ts": "./lib/index.d.ts", + "./package.json": "./package.json" + }, + "license": "MIT", + "keywords": [ + "load", + "configuration", + "config", + "esm", + "cjs", + "typescript" + ], + "author": "Nate Moore ", + "dependencies": { + "deepmerge": "^4.2.2", + "escalade": "^3.1.1" + }, + "repository": { + "type": "git", + "url": "https://github.com/natemoo-re/proload.git", + "directory": "packages/core" + }, + "homepage": "https://github.com/natemoo-re/proload#readme", + "bugs": { + "url": "https://github.com/natemoo-re/proload/issues" + } +} diff --git a/node_modules/@proload/plugin-tsm/CHANGELOG.md b/node_modules/@proload/plugin-tsm/CHANGELOG.md new file mode 100644 index 00000000..b625d00c --- /dev/null +++ b/node_modules/@proload/plugin-tsm/CHANGELOG.md @@ -0,0 +1,34 @@ +# Changelog + +## 0.2.1 + +### Patch Changes + +- Updated dependencies [72c8577] + - @proload/core@0.3.2 + +## 0.2.1-next.0 + +### Patch Changes + +- Updated dependencies [5cbbe02] + - @proload/core@0.3.2-next.0 + +## 0.2.0 + +### Patch Changes + +- Updated dependencies [4c7215e] +- Updated dependencies [ddce5c6] + - @proload/core@0.3.0 + +## 0.1.1 + +### Patch Changes + +- dae1cce: Update @proload/core dependency +- 645446c: Fix support for `.cts` and `.mts` files + +## v0.1.0 + +Initial release diff --git a/node_modules/@proload/plugin-tsm/README.md b/node_modules/@proload/plugin-tsm/README.md new file mode 100644 index 00000000..deab0936 --- /dev/null +++ b/node_modules/@proload/plugin-tsm/README.md @@ -0,0 +1,11 @@ +# `@proload/plugin-tsm` + +Enables the loading of `[namespace].config.ts`, `[namespace].config.cts`, and `[namespace].config.mts` files using [`@proload/core`](https://github.com/natemoo-re/proload). + +```js +import load from '@proload/core'; +import typescript from '@proload/plugin-tsm'; + +load.use([typescript]); +await load('namespace'); +``` diff --git a/node_modules/@proload/plugin-tsm/lib/index.cjs b/node_modules/@proload/plugin-tsm/lib/index.cjs new file mode 100644 index 00000000..770cf95c --- /dev/null +++ b/node_modules/@proload/plugin-tsm/lib/index.cjs @@ -0,0 +1,9 @@ +module.exports = { + name: '@proload/plugin-tsm', + extensions: ['ts', 'tsx', 'cts', 'mts'], + async register(fileName) { + if (/\.([cm]ts|tsx?)$/.test(fileName)) { + require('tsm'); + } + } +} diff --git a/node_modules/@proload/plugin-tsm/lib/index.d.ts b/node_modules/@proload/plugin-tsm/lib/index.d.ts new file mode 100644 index 00000000..352a6c29 --- /dev/null +++ b/node_modules/@proload/plugin-tsm/lib/index.d.ts @@ -0,0 +1,5 @@ +import { Plugin } from '@proload/core'; + +declare const typescriptPlugin: Plugin; + +export default typescriptPlugin; diff --git a/node_modules/@proload/plugin-tsm/lib/index.mjs b/node_modules/@proload/plugin-tsm/lib/index.mjs new file mode 100644 index 00000000..76b89471 --- /dev/null +++ b/node_modules/@proload/plugin-tsm/lib/index.mjs @@ -0,0 +1,2 @@ +import plugin from './index.cjs'; +export default plugin; diff --git a/node_modules/@proload/plugin-tsm/package.json b/node_modules/@proload/plugin-tsm/package.json new file mode 100644 index 00000000..be2c3707 --- /dev/null +++ b/node_modules/@proload/plugin-tsm/package.json @@ -0,0 +1,36 @@ +{ + "name": "@proload/plugin-tsm", + "version": "0.2.1", + "description": "A proload plugin to support TypeScript files using TSM", + "main": "./lib/index.cjs", + "module": "./lib/index.mjs", + "types": "./lib/index.d.ts", + "exports": { + ".": { + "import": "./lib/index.mjs", + "require": "./lib/index.cjs" + }, + "./package.json": "./package.json" + }, + "license": "MIT", + "keywords": [ + "proload-plugin", + "typescript" + ], + "author": "Nate Moore ", + "peerDependencies": { + "@proload/core": "^0.3.2" + }, + "dependencies": { + "tsm": "^2.1.4" + }, + "repository": { + "type": "git", + "url": "https://github.com/natemoo-re/proload.git", + "directory": "packages/plugin-typescript" + }, + "homepage": "https://github.com/natemoo-re/proload#readme", + "bugs": { + "url": "https://github.com/natemoo-re/proload/issues" + } +} diff --git a/node_modules/@proload/plugin-tsm/test/index.mjs b/node_modules/@proload/plugin-tsm/test/index.mjs new file mode 100644 index 00000000..1dcf0f02 --- /dev/null +++ b/node_modules/@proload/plugin-tsm/test/index.mjs @@ -0,0 +1,24 @@ +import { test } from 'uvu'; +import { is, type } from 'uvu/assert'; +import { resolve } from 'path'; +import load from '@proload/core'; +import typescript from '@proload/plugin-tsm'; + +test.before(() => { + load.use([typescript]); +}) + +test('sanity', () => { + type(typescript, 'object'); +}) + +const fixtures = ['ts', 'ts-config', 'cts', 'mts']; + +for (const fixture of fixtures) { + test(fixture, async () => { + let mdl = await load('test', { cwd: resolve(`fixtures/${fixture}`) }); + is(mdl.value.value, fixture) + }); +} + +test.run(); diff --git a/node_modules/astro-i18next/LICENSE.md b/node_modules/astro-i18next/LICENSE.md new file mode 100644 index 00000000..6c4ca7b3 --- /dev/null +++ b/node_modules/astro-i18next/LICENSE.md @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2022 Yassine Doghri + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. diff --git a/node_modules/astro-i18next/README.md b/node_modules/astro-i18next/README.md new file mode 100644 index 00000000..1865b2f9 --- /dev/null +++ b/node_modules/astro-i18next/README.md @@ -0,0 +1,660 @@ +
+ +# 🧪 astro-i18next + +An [astro](https://astro.build/) integration of +[i18next](https://www.i18next.com/) + some utility components to help you +translate your astro websites! + +
+ +
+ +[![npm-badge]][npm] [![build-badge]][build] [![codecov-badge]][codecov] [![license-badge]][license] [![contributions-badge]][contributions] [![semantic-release-badge]][semantic-release] [![stars-badge]][stars] + +
+ +> **Note** +> +> Status - 🚧 **Beta** +> +> [👉 **Road to v1.0.0**](https://github.com/yassinedoghri/astro-i18next/issues/19) +> +> You can use it, and feedback is more than welcome! Note that some breaking +> changes may still be introduced during this phase as the goal for v1 is to get +> the best possible DX for translating your Astro pages. + +## Examples + +| Example | Status | +| ------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| [SSG - **Basics**](examples/basics) | [![example-up-badge]](examples/basics) | +| [SSR - **Node**](examples/node) | [![example-up-badge]](examples/node) | +| [**React**](examples/react) | [![example-up-badge]](examples/react) | +| [SSR - **Netlify**](examples/netlify) | [![example-down-badge]](examples/netlify) (https://github.com/yassinedoghri/astro-i18next/issues/26) | +| SSR - **Deno** | [![example-down-badge]](examples/basics) (https://github.com/yassinedoghri/astro-i18next/issues/55) | + +- [Examples](#examples) +- [🚀 Getting started](#-getting-started) + - [1. Install](#1-install) + - [2. Configure](#2-configure) + - [3. Start translating](#3-start-translating) +- [💻 CLI commands](#-cli-commands) + - [generate](#generate) +- [🔄 Translate Routes](#-translate-routes) +- [📦 Utility components](#-utility-components) + - [Trans component](#trans-component) + - [LanguageSelector component](#languageselector-component) + - [HeadHrefLangs component](#headhreflangs-component) +- [📦 Utility functions](#-utility-functions) + - [interpolate function](#interpolate-function) + - [localizePath function](#localizepath-function) + - [localizeUrl function](#localizeurl-function) +- [👀 Going further](#-going-further) + - [Namespaces](#namespaces) + - [AstroI18nextConfig Props](#astroi18nextconfig-props) +- [✨ Contributors](#-contributors) +- [❤️ Acknowledgments](#️-acknowledgments) +- [📜 License](#-license) + +## 🚀 Getting started + +### 1. Install + +```bash +npm install astro-i18next +``` + +or + +```bash +pnpm add astro-i18next +``` + +or + +```bash +yarn add astro-i18next +``` + +### 2. Configure + +1. Add `astro-i18next` to your `astro.config.mjs`: + + ```js + import { defineConfig } from "astro/config"; + import astroI18next from "astro-i18next"; + + export default defineConfig({ + integrations: [astroI18next()], + }); + ``` + +2. Configure `astro-i18next` in your `astro-i18next.config.mjs` file: + + ```js + /** @type {import('astro-i18next').AstroI18nextConfig} */ + export default { + defaultLocale: "en", + locales: ["en", "fr"], + }; + ``` + + ℹ️ Your `astro-i18next` config file can be a javascript (`.js` | `.mjs` | + `.cjs`) or typescript (`.ts` | `.mts` | `.cts`) file. + + ℹ️ For a more advanced configuration, see the + [AstroI18nextConfig props](#astroi18nextconfig-props). + +3. By default, `astro-i18next` expects your translations to be organized inside + your + [astro's `publicDir`](https://docs.astro.build/en/reference/configuration-reference/#publicdir), + in a `locales` folder: + + ```bash + public + └── locales # create this folder to store your translation strings + ├── en + | └── translation.json + └── fr + └── translation.json + ``` + + ℹ️ `astro-i18next` loads your translation files both server-side and + client-side using + [i18next-fs-backend](https://github.com/i18next/i18next-fs-backend) and + [i18next-http-backend](https://github.com/i18next/i18next-http-backend) + plugins. + + ℹ️ You may choose to organize your translations into multiple files instead + of a single file per locale [using namespaces](#namespaces). + +### 3. Start translating + +You may now start translating your pages by using +[i18next's `t` function](https://www.i18next.com/overview/api#t) or the +[Trans component](#trans-component) depending on your needs. + +Here's a quick tutorial to get you going: + +1. Use translation keys in your Astro pages + + ```astro + --- + // src/pages/index.astro + import i18next, { t } from "i18next"; + import { Trans, HeadHrefLangs } from "astro-i18next/components"; + --- + + + + + + {t("site.title")} + + + + +

{t("home.title")}

+

+ + This is a more complex string to translate, mixed with html elements + such as a cool link! + +

+ + + ``` + + ```json + // public/locales/en/translation.json + { + "site": { + "title": "My awesome website!", + "description": "Here is the description of my awesome website!" + }, + "home": { + "title": "Welcome to my awesome website!", + "subtitle": "This is a <0>more complex string to translate, mixed with <1>html elements, such as a <2>a cool link!" + } + } + ``` + + ```json + // public/locales/fr/translation.json + { + "site": { + "title": "Mon super site web !", + "description": "Voici la description de mon super site web !" + }, + "home": { + "title": "Bienvenue sur mon super site web !", + "subtitle": "Ceci est une chaine de charactères <0>plus compliquée à traduire, il y a des <1>éléments html, comme <2>un super lien par exemple !" + } + } + ``` + +2. Create localized pages using the [generate command](#generate) + + ```bash + npx astro-i18next generate + ``` + +3. You're all set! Have fun translating and generate localized pages as you go + 🚀 + +> **Note** +> +> For a real world example, see the [website](./website/) or check out the +> [examples](./examples/). + +--- + +## 💻 CLI commands + +### generate + +```bash +npx astro-i18next generate +``` + +This command will generate localized pages depending on your config and set +i18next's language change on each page. + +For instance, with `locales = ["en", "fr", "es"]`, and `"en"` being the default +locale and having: + +```bash +src +└── pages + ├── about.astro + └── index.astro +``` + +👇 Running `npx astro-i18next generate` will create the following pages + +```bash +src +└── pages + ├── es + | ├── about.astro + | └── index.astro + ├── fr + | ├── about.astro + | └── index.astro + ├── about.astro + └── index.astro +``` + +## 🔄 Translate Routes + +`astro-i18next` let's you translate your pages routes for each locale! + +For instance, with support for 3 locales (`en`, `fr`, `es`), `en` being the +default and the following pages: + +```bash +src +└── pages + ├── about.astro + ├── contact-us.astro + └── index.astro +``` + +1. Set route mappings in your `astro-i18next` config: + + ```js + /** @type {import('astro-i18next').AstroI18nextConfig} */ + export default { + defaultLocale: "en", + locales: ["en", "fr", "es"], + routes: { + fr: { + "about": "a-propos", + "contact-us": "contactez-nous", + "products": { + "index": "produits", + "categories": "categories", + } + } + es: { + "about": "a-proposito", + "contact-us": "contactenos", + "products": { + "index": "productos", + "categories": "categorias", + } + } + }, + }; + ``` + +2. Generate your localized pages using the [generate CLI command](#generate), + they will be translated for you! + +```bash +src +└── pages + ├── es + | ├── productos + | | ├── categorias.astro + | | └── index.astro + | ├── a-proposito.astro + | ├── contactenos.astro + | └── index.astro + ├── fr + | ├── produits + | | ├── categories.astro + | | └── index.astro + | ├── a-propos.astro + | ├── contactez-nous.astro + | └── index.astro + ├── products + | ├── categories.astro + | └── index.astro + ├── about.astro + ├── contact-us.astro + └── index.astro +``` + +> **Note** +> +> The [localizePath](#localizepath-function) and +> [localizeUrl](#localizeurl-function) utility functions will retrieve the +> correct route based on your mappings. + +--- + +## 📦 Utility components + +### Trans component + +A component that takes care of interpolating its children with the translation +strings. Inspired by +[react-i18next's Trans component](https://react.i18next.com/latest/trans-component). + +```astro +--- +import { Trans } from "astro-i18next/components"; +--- + + + An astro integration of + i18next and utility + components to help you translate your astro websites! + +``` + +```json +// fr.json +{ + "superCoolKey": "Une intégration <0>astro d'<1>i18next + quelques composants utilitaires pour vous aider à traduire vos sites astro !" +} +``` + +#### Trans Props + +| Prop name | Type (default) | Description | +| --------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| i18nKey | ?string (undefined) | Internationalization key to interpolate to. Can contain the namespace by prepending it in the form 'ns:key' (depending on i18next.options.nsSeparator). If omitted, a key is automatically generated using the content of the element. | +| ns | ?string (undefined) | Namespace to use. May also be embedded in i18nKey but not recommended when used in combination with natural language keys. | + +### LanguageSelector component + +Unstyled custom select component to choose amongst supported locales. + +```astro +--- +import { LanguageSelector } from "astro-i18next/components"; +--- + + + + + +``` + +#### LanguageSelector Props + +| Prop name | Type (default) | Description | +| --------------- | --------------------- | ------------------------------------------------------------------------------------------- | +| showFlag | ?boolean (`false`) | Choose to display the language emoji before language name | +| languageMapping | ?object (`undefined`) | Rewrite language names by setting the locale as key and the wording of your choice as value | + +### HeadHrefLangs component + +HTML tags to include in your page's `` section to let search engines know +about its language and region variants. To know more, see +[Google's advanced localized versions](https://developers.google.com/search/docs/advanced/crawling/localized-versions#html). + +```astro +--- +import i18next from "i18next"; +import { HeadHrefLangs } from "astro-i18next/components"; +--- + + + + + + ... + + + + ... + +``` + +The HeadHrefLangs component will generate all of the alternate links depending +on the current url and supported locales. + +For example, if you are on the `/about` page and support 3 locales (`en`, `fr`, +`es`) with `en` being the default locale, this will render: + +```html + + + +``` + +## 📦 Utility functions + +### interpolate function + +`interpolate(i18nKey: string, reference: string, namespace: string | null): string` + +`astro-i18next` exposes the logic behind the Trans component, you may want to +use it directly. + +```ts +import { interpolate } from "astro-i18next"; + +const interpolated = interpolate( + "superCoolKey", + 'An astro integration of i18next and utility components to help you translate your astro websites!' +); +``` + +### localizePath function + +`localizePath(path: string, locale: string | null = null, base: string = import.meta.env.BASE_URL): string` + +Sets a path within a given locale. If the locale param is not specified, the +current locale will be used. + +> **Note** +> +> This should be used instead of hard coding paths to other pages. It will take +> care of setting the right path depending on the locale you set. + +```astro +--- +import { localizePath } from "astro-i18next"; +import i18next from "i18next"; + +i18next.changeLanguage("fr"); +--- + +... + +``` + +### localizeUrl function + +`localizeUrl(url: string, locale: string | null = null, base: string = import.meta.env.BASE_URL): string` + +Sets a url within a given locale. If the locale param is not specified, the +current locale will be used. + +> **Note** +> +> This should be used instead of hard coding urls for internal links. It will +> take care of setting the right url depending on the locale you set. + +```astro +--- +import { localizeUrl } from "astro-i18next"; +import i18next from "i18next"; + +i18next.changeLanguage("fr"); +--- + +... + +``` + +--- + +## 👀 Going further + +### Namespaces + +i18next allows you to organize your translation keys into +[namespaces](https://www.i18next.com/principles/namespaces). + +You can have as many namespaces as you wish, have one per page and one for +common translation strings for example: + +```bash +public +├-- locales +| |-- en +| | |-- about.json # "about" namespace +| | |-- common.json # "common" namespace +| | └-- home.json # "home" namespace +| └-- fr # same files in other locale folders +src +└-- pages + |-- about.astro + └-- index.astro +``` + +1. It can easily be setup using the `namespaces` and `defaultNamespace` keys, + like so: + + ```ts + /** @type {import('astro-i18next').AstroI18nextConfig} */ + export default { + defaultLocale: "en", + locales: ["en", "fr"], + namespaces: ["about", "common", "home"], + defaultNamespace: "common", + }; + ``` + +2. Load the namespace globally using `i18next.setDefaultNamespace(ns: string)` + or specify it in the `t` function or the `Trans` component: + + ```astro + --- + import { t, setDefaultNamespace } from "i18next"; + import { Trans } from "astro-i18next/components"; + + setDefaultNamespace("home"); + --- + +

{t("myHomeTitle")}

+

+ + This translation is loaded from the default home namespace! + +

+

+ + This translation is loaded from the common namespace! + +

+ + + ``` + +### AstroI18nextConfig Props + +`astro-i18next`'s goal is to abstract most of the configuration for you so that +you don't have to think about it. Just focus on translating! + +Though if you'd like to go further in customizing i18next, feel free to tweak +your config! + +| Prop name | Type (default) | Description | +| -------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | +| defaultLocale | `string` (undefined) | The default locale for your website. | +| locales | `string[]` (undefined) | Your website's supported locales. | +| namespaces | `string` or `string[]` ('translation') | String or array of namespaces to load. | +| defaultNamespace | `string` (translation') | Default namespace used if not passed to the translation function. | +| load | `Array<"server" or "client">` (`["server"]`) | Load i18next on server side only, client side only or both. | +| resourcesBasePath | `?string` | Set base path for i18next resources. Defaults to `/locales`. | +| i18nextServer | `?InitOptions` | The i18next server side configuration. See [i18next's documentation](https://www.i18next.com/overview/configuration-options). | +| i18nextServerPlugins | `?{[key: string]: string}` (`{}`) | Set i18next server side plugins. See [available plugins](https://www.i18next.com/overview/plugins-and-utils). | +| i18nextClient | `?InitOptions` | The i18next client side configuration . See [i18next's documentation](https://www.i18next.com/overview/configuration-options). | +| i18nextClientPlugins | `?{[key: string]: string}` (`{}`) | Set i18next client side plugins. See [available plugins](https://www.i18next.com/overview/plugins-and-utils). | +| routes | `[segment: string]: string or object`(`{}`) | The translations mapping for your routes. See [translate routes](#-translate-routes). | +| showDefaultLocale | `boolean`(`false`) | Whether or not the defaultLocale should show up in the url just as other locales. | + +## ✨ Contributors + +Thanks goes to these wonderful people +([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + +
Yassine Doghri
Yassine Doghri

💻 📖 🤔 🎨 💡 🚧
Davide Ceschia
Davide Ceschia

💻 🐛
preetamslot
preetamslot

🐛
Dmytro
Dmytro

🐛
Campbell He
Campbell He

🐛
MelKam
MelKam

💻
L1lith
L1lith

🐛 🤔
Anomander43
Anomander43

📖
Dominik Schöni
Dominik Schöni

💻
Dalibor Hon
Dalibor Hon

💻 🐛
Oleksii Lozoviahin
Oleksii Lozoviahin

💻
Alessandro Talamona
Alessandro Talamona

🐛
Josh Kramer
Josh Kramer

💻 🐛
Alexandre Fernandez
Alexandre Fernandez

💻 🐛
+ + + + + + +This project follows the +[all-contributors](https://github.com/all-contributors/all-contributors) +specification. Contributions of any kind welcome! + +## ❤️ Acknowledgments + +This wouldn't have been possible without the awesome work from the +[Locize](https://locize.com/) and [Astro](https://astro.build/) teams. + +Inspired by some of the greatly thought-out i18n implementations: + +- [next-i18next](https://github.com/i18next/next-i18next) +- [react-i18next](https://github.com/i18next/react-i18next) +- [NextJS's Internationalized Routing](https://nextjs.org/docs/advanced-features/i18n-routing) + +## 📜 License + +Code released under the [MIT License](https://choosealicense.com/licenses/mit/). + +Copyright (c) 2022-present, Yassine Doghri +([@yassinedoghri](https://twitter.com/yassinedoghri)) + +[npm]: https://www.npmjs.com/package/astro-i18next +[npm-badge]: https://img.shields.io/npm/v/astro-i18next +[build]: + https://github.com/yassinedoghri/astro-i18next/actions/workflows/publish.yml +[build-badge]: + https://img.shields.io/github/actions/workflow/status/yassinedoghri/astro-i18next/publish.yml +[license]: + https://github.com/yassinedoghri/astro-i18next/blob/develop/LICENSE.md +[license-badge]: + https://img.shields.io/github/license/yassinedoghri/astro-i18next?color=blue +[contributions]: https://github.com/yassinedoghri/astro-i18next/issues +[contributions-badge]: + https://img.shields.io/badge/contributions-welcome-blueviolet.svg +[semantic-release]: https://github.com/semantic-release/semantic-release +[semantic-release-badge]: + https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg +[stars]: https://github.com/yassinedoghri/astro-i18next/stargazers +[stars-badge]: + https://img.shields.io/github/stars/yassinedoghri/astro-i18next?style=social +[codecov]: https://codecov.io/gh/yassinedoghri/astro-i18next +[codecov-badge]: + https://codecov.io/gh/yassinedoghri/astro-i18next/branch/develop/graph/badge.svg?token=IFWNB6UJDJ +[example-up-badge]: https://img.shields.io/badge/status-up-brightgreen +[example-down-badge]: https://img.shields.io/badge/status-down-red diff --git a/node_modules/astro-i18next/dist/cli/index.js b/node_modules/astro-i18next/dist/cli/index.js new file mode 100755 index 00000000..176dcea8 --- /dev/null +++ b/node_modules/astro-i18next/dist/cli/index.js @@ -0,0 +1,411 @@ +#!/usr/bin/env node + + import module2 from 'module'; + import path2 from 'path'; + import * as url2 from 'url'; + const require = module2.createRequire(import.meta.url); + const __filename = url2.fileURLToPath(import.meta.url); + const __dirname = path2.dirname(__filename); + +var FB=Object.create;var B4=Object.defineProperty;var MB=Object.getOwnPropertyDescriptor;var LB=Object.getOwnPropertyNames;var RB=Object.getPrototypeOf,BB=Object.prototype.hasOwnProperty;var Ro=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(i,l)=>(typeof require<"u"?require:i)[l]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var bo=(e,i)=>()=>(i||e((i={exports:{}}).exports,i),i.exports);var JB=(e,i,l,_)=>{if(i&&typeof i=="object"||typeof i=="function")for(let h of LB(i))!BB.call(e,h)&&h!==l&&B4(e,h,{get:()=>i[h],enumerable:!(_=MB(i,h))||_.enumerable});return e};var F2=(e,i,l)=>(l=e!=null?FB(RB(e)):{},JB(i||!e||!e.__esModule?B4(l,"default",{value:e,enumerable:!0}):l,e));var zN=bo(Y2=>{"use strict";Object.defineProperty(Y2,"__esModule",{value:!0});Y2.cleanPath=void 0;var UN=Ro("path");function RJ(e){let i=(0,UN.normalize)(e);return i.length>1&&i[i.length-1]===UN.sep&&(i=i.substring(0,i.length-1)),i}Y2.cleanPath=RJ});var WN=bo(Vh=>{"use strict";Object.defineProperty(Vh,"__esModule",{value:!0});Vh.build=Vh.joinDirectoryPath=void 0;var SC=Ro("path");function BJ(e,i){return i+e}function JJ(e){return e+=e[e.length-1]===SC.sep?"":SC.sep,function(i,l){return l.substring(e.length)+i}}function jJ(e){return e}function UJ(e,i){return i+e+SC.sep}Vh.joinDirectoryPath=UJ;function zJ(e,i){let{relativePaths:l,includeBasePath:_}=i;return l?JJ(e):_?BJ:jJ}Vh.build=zJ});var VN=bo(Z2=>{"use strict";Object.defineProperty(Z2,"__esModule",{value:!0});Z2.build=void 0;var WJ=(e,i)=>{i.push(e)},VJ=(e,i,l)=>{l.every(_=>_(e,!0))&&i.push(e)},qJ=()=>{};function HJ(e){let{includeDirs:i,filters:l}=e;return i?l&&l.length?VJ:WJ:qJ}Z2.build=HJ});var qN=bo(eD=>{"use strict";Object.defineProperty(eD,"__esModule",{value:!0});eD.build=void 0;var GJ=(e,i,l,_)=>{_.every(h=>h(e,!1))&&l.files++},KJ=(e,i,l,_)=>{_.every(h=>h(e,!1))&&i.push(e)},$J=(e,i,l,_)=>{l.files++},QJ=(e,i)=>{i.push(e)},XJ=()=>{};function YJ(e){let{excludeFiles:i,filters:l,onlyCounts:_}=e;return i?XJ:l&&l.length?_?GJ:KJ:_?$J:QJ}eD.build=YJ});var HN=bo(rD=>{"use strict";Object.defineProperty(rD,"__esModule",{value:!0});rD.build=void 0;var ZJ=e=>e,ej=()=>[""].slice(0,0);function rj(e){return e.group?ej:ZJ}rD.build=rj});var GN=bo(nD=>{"use strict";Object.defineProperty(nD,"__esModule",{value:!0});nD.build=void 0;var nj=(e,i,l)=>{e.push({directory:i,files:l,dir:i})},ij=()=>{};function tj(e){return e.group?nj:ij}nD.build=tj});var KN=bo(qh=>{"use strict";var aj=qh&&qh.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qh,"__esModule",{value:!0});qh.build=void 0;var iD=aj(Ro("fs")),oj=function(e,i,l){let{queue:_,options:{suppressErrors:h}}=i;_.enqueue(),iD.default.realpath(e,(p,P)=>{if(p){_.dequeue(h?null:p,i);return}iD.default.lstat(P,(z,U)=>{l(U,P),_.dequeue(null,i)})})},sj=function(e,i,l){try{let _=iD.default.realpathSync(e),h=iD.default.lstatSync(_);l(h,_)}catch(_){if(!i.options.suppressErrors)throw _}};function cj(e,i){return e.resolveSymlinks?i?sj:oj:null}qh.build=cj});var $N=bo(tD=>{"use strict";Object.defineProperty(tD,"__esModule",{value:!0});tD.build=void 0;var uj=e=>e.counts,lj=e=>e.groups,fj=e=>e.paths,_j=(e,i,l)=>(xC(i,l,e.counts,e.options.suppressErrors),null),dj=(e,i,l)=>(xC(i,l,e.paths,e.options.suppressErrors),null),pj=(e,i,l)=>(xC(i,l,e.groups,e.options.suppressErrors),null);function xC(e,i,l,_){i(e&&!_?e:null,l)}function gj(e,i){let{onlyCounts:l,group:_}=e;return l?i?uj:_j:_?i?lj:pj:i?fj:dj}tD.build=gj});var YN=bo(Hh=>{"use strict";var mj=Hh&&Hh.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Hh,"__esModule",{value:!0});Hh.build=void 0;var QN=mj(Ro("fs")),XN={withFileTypes:!0},vj=(e,i,l,_)=>{if(e.queue.enqueue(),l<0){e.queue.dequeue(null,e);return}e.counts.directories++,QN.default.readdir(i,XN,function(p,P=[]){_(P,i,l),e.queue.dequeue(e.options.suppressErrors?null:p,e)})},hj=(e,i,l,_)=>{if(l<0)return;e.counts.directories++;let h=[];try{h=QN.default.readdirSync(i,XN)}catch(p){if(!e.options.suppressErrors)throw p}_(h,i,l)};function yj(e){return e?hj:vj}Hh.build=yj});var ZN=bo(aD=>{"use strict";Object.defineProperty(aD,"__esModule",{value:!0});aD.Queue=void 0;var CC=class{onQueueEmpty;count=0;constructor(i){this.onQueueEmpty=i}enqueue(){this.count++}dequeue(i,l){(--this.count===0||i)&&this.onQueueEmpty(i,l)}};aD.Queue=CC});var eP=bo(oD=>{"use strict";Object.defineProperty(oD,"__esModule",{value:!0});oD.Counter=void 0;var EC=class{_files=0;_directories=0;set files(i){this._files=i}get files(){return this._files}set directories(i){this._directories=i}get directories(){return this._directories}get dirs(){return this._directories}};oD.Counter=EC});var NC=bo(Eg=>{"use strict";var Dj=Eg&&Eg.__createBinding||(Object.create?function(e,i,l,_){_===void 0&&(_=l);var h=Object.getOwnPropertyDescriptor(i,l);(!h||("get"in h?!i.__esModule:h.writable||h.configurable))&&(h={enumerable:!0,get:function(){return i[l]}}),Object.defineProperty(e,_,h)}:function(e,i,l,_){_===void 0&&(_=l),e[_]=i[l]}),bj=Eg&&Eg.__setModuleDefault||(Object.create?function(e,i){Object.defineProperty(e,"default",{enumerable:!0,value:i})}:function(e,i){e.default=i}),Hm=Eg&&Eg.__importStar||function(e){if(e&&e.__esModule)return e;var i={};if(e!=null)for(var l in e)l!=="default"&&Object.prototype.hasOwnProperty.call(e,l)&&Dj(i,e,l);return bj(i,e),i};Object.defineProperty(Eg,"__esModule",{value:!0});Eg.Walker=void 0;var TC=Ro("path"),Sj=zN(),kC=Hm(WN()),xj=Hm(VN()),Cj=Hm(qN()),Ej=Hm(HN()),Tj=Hm(GN()),kj=Hm(KN()),Aj=Hm($N()),Nj=Hm(YN()),Pj=ZN(),Ij=eP(),AC=class{isSynchronous;state;joinPath;pushDirectory;pushFile;getArray;groupFiles;resolveSymlink;walkDirectory;callbackInvoker;constructor(i,l,_){this.isSynchronous=!_,this.callbackInvoker=Aj.build(l,this.isSynchronous),this.state={paths:[""].slice(0,0),groups:[],counts:new Ij.Counter,options:l,queue:new Pj.Queue((h,p)=>this.callbackInvoker(p,h,_))},this.joinPath=kC.build(i,l),this.pushDirectory=xj.build(l),this.pushFile=Cj.build(l),this.getArray=Ej.build(l),this.groupFiles=Tj.build(l),this.resolveSymlink=kj.build(l,this.isSynchronous),this.walkDirectory=Nj.build(this.isSynchronous)}start(i,l){return i=this.normalizePath(i),this.walkDirectory(this.state,i,l,this.walk),this.isSynchronous?this.callbackInvoker(this.state,null):null}normalizePath(i){let l=process.platform==="win32"&&i.includes("/");return this.state.options.resolvePaths&&(i=(0,TC.resolve)(i)),(this.state.options.normalizePath||l)&&(i=(0,Sj.cleanPath)(i)),i[i.length-1]!==TC.sep?i+TC.sep:i}walk=(i,l,_)=>{let{paths:h,options:{filters:p,resolveSymlinks:P,exclude:z}}=this.state;this.pushDirectory(l,h,p);let U=this.getArray(this.state.paths);for(let g=0;g{if(ce.isDirectory()){if(Z=this.normalizePath(Z),z&&z(v.name,Z))return;this.walkDirectory(this.state,Z,_-1,this.walk)}else this.pushFile(Z,U,this.state.counts,p)})}}this.groupFiles(this.state.groups,l,U)}};Eg.Walker=AC});var nP=bo(Gh=>{"use strict";Object.defineProperty(Gh,"__esModule",{value:!0});Gh.callback=Gh.promise=void 0;var wj=NC();function Oj(e,i){return new Promise((l,_)=>{rP(e,i,(h,p)=>{if(h)return _(h);l(p)})})}Gh.promise=Oj;function rP(e,i,l){new wj.Walker(e,i,l).start(e,i.maxDepth)}Gh.callback=rP});var iP=bo(sD=>{"use strict";Object.defineProperty(sD,"__esModule",{value:!0});sD.sync=void 0;var Fj=NC();function Mj(e,i){return new Fj.Walker(e,i).start(e,i.maxDepth)}sD.sync=Mj});var aP=bo(cD=>{"use strict";Object.defineProperty(cD,"__esModule",{value:!0});cD.APIBuilder=void 0;var tP=nP(),Lj=iP(),PC=class{root;options;constructor(i,l){this.root=i,this.options=l}withPromise(){return(0,tP.promise)(this.root,this.options)}withCallback(i){(0,tP.callback)(this.root,this.options,i)}sync(){return(0,Lj.sync)(this.root,this.options)}};cD.APIBuilder=PC});var T0=bo((fH,lP)=>{"use strict";var Rj=Ro("path"),Tg="\\\\/",oP=`[^${Tg}]`,Zg="\\.",Bj="\\+",Jj="\\?",uD="\\/",jj="(?=.)",sP="[^/]",IC=`(?:${uD}|$)`,cP=`(?:^|${uD})`,wC=`${Zg}{1,2}${IC}`,Uj=`(?!${Zg})`,zj=`(?!${cP}${wC})`,Wj=`(?!${Zg}{0,1}${IC})`,Vj=`(?!${wC})`,qj=`[^.${uD}]`,Hj=`${sP}*?`,uP={DOT_LITERAL:Zg,PLUS_LITERAL:Bj,QMARK_LITERAL:Jj,SLASH_LITERAL:uD,ONE_CHAR:jj,QMARK:sP,END_ANCHOR:IC,DOTS_SLASH:wC,NO_DOT:Uj,NO_DOTS:zj,NO_DOT_SLASH:Wj,NO_DOTS_SLASH:Vj,QMARK_NO_DOT:qj,STAR:Hj,START_ANCHOR:cP},Gj={...uP,SLASH_LITERAL:`[${Tg}]`,QMARK:oP,STAR:`${oP}*?`,DOTS_SLASH:`${Zg}{1,2}(?:[${Tg}]|$)`,NO_DOT:`(?!${Zg})`,NO_DOTS:`(?!(?:^|[${Tg}])${Zg}{1,2}(?:[${Tg}]|$))`,NO_DOT_SLASH:`(?!${Zg}{0,1}(?:[${Tg}]|$))`,NO_DOTS_SLASH:`(?!${Zg}{1,2}(?:[${Tg}]|$))`,QMARK_NO_DOT:`[^.${Tg}]`,START_ANCHOR:`(?:^|[${Tg}])`,END_ANCHOR:`(?:[${Tg}]|$)`},Kj={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};lP.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Kj,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:Rj.sep,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===!0?Gj:uP}}});var lD=bo(I_=>{"use strict";var $j=Ro("path"),Qj=process.platform==="win32",{REGEX_BACKSLASH:Xj,REGEX_REMOVE_BACKSLASH:Yj,REGEX_SPECIAL_CHARS:Zj,REGEX_SPECIAL_CHARS_GLOBAL:eU}=T0();I_.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);I_.hasRegexChars=e=>Zj.test(e);I_.isRegexChar=e=>e.length===1&&I_.hasRegexChars(e);I_.escapeRegex=e=>e.replace(eU,"\\$1");I_.toPosixSlashes=e=>e.replace(Xj,"/");I_.removeBackslashes=e=>e.replace(Yj,i=>i==="\\"?"":i);I_.supportsLookbehinds=()=>{let e=process.version.slice(1).split(".").map(Number);return e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10};I_.isWindows=e=>e&&typeof e.windows=="boolean"?e.windows:Qj===!0||$j.sep==="\\";I_.escapeLast=(e,i,l)=>{let _=e.lastIndexOf(i,l);return _===-1?e:e[_-1]==="\\"?I_.escapeLast(e,i,_-1):`${e.slice(0,_)}\\${e.slice(_)}`};I_.removePrefix=(e,i={})=>{let l=e;return l.startsWith("./")&&(l=l.slice(2),i.prefix="./"),l};I_.wrapOutput=(e,i={},l={})=>{let _=l.contains?"":"^",h=l.contains?"":"$",p=`${_}(?:${e})${h}`;return i.negated===!0&&(p=`(?:^(?!${p}).*$)`),p}});var hP=bo((dH,vP)=>{"use strict";var fP=lD(),{CHAR_ASTERISK:OC,CHAR_AT:rU,CHAR_BACKWARD_SLASH:k0,CHAR_COMMA:nU,CHAR_DOT:FC,CHAR_EXCLAMATION_MARK:MC,CHAR_FORWARD_SLASH:mP,CHAR_LEFT_CURLY_BRACE:LC,CHAR_LEFT_PARENTHESES:RC,CHAR_LEFT_SQUARE_BRACKET:iU,CHAR_PLUS:tU,CHAR_QUESTION_MARK:_P,CHAR_RIGHT_CURLY_BRACE:aU,CHAR_RIGHT_PARENTHESES:dP,CHAR_RIGHT_SQUARE_BRACKET:oU}=T0(),pP=e=>e===mP||e===k0,gP=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)},sU=(e,i)=>{let l=i||{},_=e.length-1,h=l.parts===!0||l.scanToEnd===!0,p=[],P=[],z=[],U=e,g=-1,v=0,Y=0,ce=!1,Z=!1,ie=!1,te=!1,x=!1,J=!1,d=!1,D=!1,C=!1,k=!1,R=0,M,ge,ve={value:"",depth:0,isGlob:!1},re=()=>g>=_,N=()=>U.charCodeAt(g+1),K=()=>(M=ge,U.charCodeAt(++g));for(;g<_;){ge=K();let j;if(ge===k0){d=ve.backslashes=!0,ge=K(),ge===LC&&(J=!0);continue}if(J===!0||ge===LC){for(R++;re()!==!0&&(ge=K());){if(ge===k0){d=ve.backslashes=!0,K();continue}if(ge===LC){R++;continue}if(J!==!0&&ge===FC&&(ge=K())===FC){if(ce=ve.isBrace=!0,ie=ve.isGlob=!0,k=!0,h===!0)continue;break}if(J!==!0&&ge===nU){if(ce=ve.isBrace=!0,ie=ve.isGlob=!0,k=!0,h===!0)continue;break}if(ge===aU&&(R--,R===0)){J=!1,ce=ve.isBrace=!0,k=!0;break}}if(h===!0)continue;break}if(ge===mP){if(p.push(g),P.push(ve),ve={value:"",depth:0,isGlob:!1},k===!0)continue;if(M===FC&&g===v+1){v+=2;continue}Y=g+1;continue}if(l.noext!==!0&&(ge===tU||ge===rU||ge===OC||ge===_P||ge===MC)===!0&&N()===RC){if(ie=ve.isGlob=!0,te=ve.isExtglob=!0,k=!0,ge===MC&&g===v&&(C=!0),h===!0){for(;re()!==!0&&(ge=K());){if(ge===k0){d=ve.backslashes=!0,ge=K();continue}if(ge===dP){ie=ve.isGlob=!0,k=!0;break}}continue}break}if(ge===OC){if(M===OC&&(x=ve.isGlobstar=!0),ie=ve.isGlob=!0,k=!0,h===!0)continue;break}if(ge===_P){if(ie=ve.isGlob=!0,k=!0,h===!0)continue;break}if(ge===iU){for(;re()!==!0&&(j=K());){if(j===k0){d=ve.backslashes=!0,K();continue}if(j===oU){Z=ve.isBracket=!0,ie=ve.isGlob=!0,k=!0;break}}if(h===!0)continue;break}if(l.nonegate!==!0&&ge===MC&&g===v){D=ve.negated=!0,v++;continue}if(l.noparen!==!0&&ge===RC){if(ie=ve.isGlob=!0,h===!0){for(;re()!==!0&&(ge=K());){if(ge===RC){d=ve.backslashes=!0,ge=K();continue}if(ge===dP){k=!0;break}}continue}break}if(ie===!0){if(k=!0,h===!0)continue;break}}l.noext===!0&&(te=!1,ie=!1);let q=U,b="",F="";v>0&&(b=U.slice(0,v),U=U.slice(v),Y-=v),q&&ie===!0&&Y>0?(q=U.slice(0,Y),F=U.slice(Y)):ie===!0?(q="",F=U):q=U,q&&q!==""&&q!=="/"&&q!==U&&pP(q.charCodeAt(q.length-1))&&(q=q.slice(0,-1)),l.unescape===!0&&(F&&(F=fP.removeBackslashes(F)),q&&d===!0&&(q=fP.removeBackslashes(q)));let Q={prefix:b,input:e,start:v,base:q,glob:F,isBrace:ce,isBracket:Z,isGlob:ie,isExtglob:te,isGlobstar:x,negated:D,negatedExtglob:C};if(l.tokens===!0&&(Q.maxDepth=0,pP(ge)||P.push(ve),Q.tokens=P),l.parts===!0||l.tokens===!0){let j;for(let I=0;I{"use strict";var fD=T0(),ld=lD(),{MAX_LENGTH:_D,POSIX_REGEX_SOURCE:cU,REGEX_NON_SPECIAL_CHARS:uU,REGEX_SPECIAL_CHARS_BACKREF:lU,REPLACEMENTS:yP}=fD,fU=(e,i)=>{if(typeof i.expandRange=="function")return i.expandRange(...e,i);e.sort();let l=`[${e.join("-")}]`;try{new RegExp(l)}catch{return e.map(h=>ld.escapeRegex(h)).join("..")}return l},Kh=(e,i)=>`Missing ${e}: "${i}" - use "\\\\${i}" to match literal characters`,BC=(e,i)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=yP[e]||e;let l={...i},_=typeof l.maxLength=="number"?Math.min(_D,l.maxLength):_D,h=e.length;if(h>_)throw new SyntaxError(`Input length: ${h}, exceeds maximum allowed length: ${_}`);let p={type:"bos",value:"",output:l.prepend||""},P=[p],z=l.capture?"":"?:",U=ld.isWindows(i),g=fD.globChars(U),v=fD.extglobChars(g),{DOT_LITERAL:Y,PLUS_LITERAL:ce,SLASH_LITERAL:Z,ONE_CHAR:ie,DOTS_SLASH:te,NO_DOT:x,NO_DOT_SLASH:J,NO_DOTS_SLASH:d,QMARK:D,QMARK_NO_DOT:C,STAR:k,START_ANCHOR:R}=g,M=u=>`(${z}(?:(?!${R}${u.dot?te:Y}).)*?)`,ge=l.dot?"":x,ve=l.dot?D:C,re=l.bash===!0?M(l):k;l.capture&&(re=`(${re})`),typeof l.noext=="boolean"&&(l.noextglob=l.noext);let N={input:e,index:-1,start:0,dot:l.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:P};e=ld.removePrefix(e,N),h=e.length;let K=[],q=[],b=[],F=p,Q,j=()=>N.index===h-1,I=N.peek=(u=1)=>e[N.index+u],L=N.advance=()=>e[++N.index]||"",V=()=>e.slice(N.index+1),ne=(u="",O=0)=>{N.consumed+=u,N.index+=O},se=u=>{N.output+=u.output!=null?u.output:u.value,ne(u.value)},De=()=>{let u=1;for(;I()==="!"&&(I(2)!=="("||I(3)==="?");)L(),N.start++,u++;return u%2===0?!1:(N.negated=!0,N.start++,!0)},T=u=>{N[u]++,b.push(u)},w=u=>{N[u]--,b.pop()},A=u=>{if(F.type==="globstar"){let O=N.braces>0&&(u.type==="comma"||u.type==="brace"),B=u.extglob===!0||K.length&&(u.type==="pipe"||u.type==="paren");u.type!=="slash"&&u.type!=="paren"&&!O&&!B&&(N.output=N.output.slice(0,-F.output.length),F.type="star",F.value="*",F.output=re,N.output+=F.output)}if(K.length&&u.type!=="paren"&&(K[K.length-1].inner+=u.value),(u.value||u.output)&&se(u),F&&F.type==="text"&&u.type==="text"){F.value+=u.value,F.output=(F.output||"")+u.value;return}u.prev=F,P.push(u),F=u},oe=(u,O)=>{let B={...v[O],conditions:1,inner:""};B.prev=F,B.parens=N.parens,B.output=N.output;let G=(l.capture?"(":"")+B.open;T("parens"),A({type:u,value:O,output:N.output?"":ie}),A({type:"paren",extglob:!0,value:L(),output:G}),K.push(B)},W=u=>{let O=u.close+(l.capture?")":""),B;if(u.type==="negate"){let G=re;if(u.inner&&u.inner.length>1&&u.inner.includes("/")&&(G=M(l)),(G!==re||j()||/^\)+$/.test(V()))&&(O=u.close=`)$))${G}`),u.inner.includes("*")&&(B=V())&&/^\.[^\\/.]+$/.test(B)){let $=BC(B,{...i,fastpaths:!1}).output;O=u.close=`)${$})${G})`}u.prev.type==="bos"&&(N.negatedExtglob=!0)}A({type:"paren",extglob:!0,value:Q,output:O}),w("parens")};if(l.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let u=!1,O=e.replace(lU,(B,G,$,me,ae,Me)=>me==="\\"?(u=!0,B):me==="?"?G?G+me+(ae?D.repeat(ae.length):""):Me===0?ve+(ae?D.repeat(ae.length):""):D.repeat($.length):me==="."?Y.repeat($.length):me==="*"?G?G+me+(ae?re:""):re:G?B:`\\${B}`);return u===!0&&(l.unescape===!0?O=O.replace(/\\/g,""):O=O.replace(/\\+/g,B=>B.length%2===0?"\\\\":B?"\\":"")),O===e&&l.contains===!0?(N.output=e,N):(N.output=ld.wrapOutput(O,N,i),N)}for(;!j();){if(Q=L(),Q==="\0")continue;if(Q==="\\"){let B=I();if(B==="/"&&l.bash!==!0||B==="."||B===";")continue;if(!B){Q+="\\",A({type:"text",value:Q});continue}let G=/^\\+/.exec(V()),$=0;if(G&&G[0].length>2&&($=G[0].length,N.index+=$,$%2!==0&&(Q+="\\")),l.unescape===!0?Q=L():Q+=L(),N.brackets===0){A({type:"text",value:Q});continue}}if(N.brackets>0&&(Q!=="]"||F.value==="["||F.value==="[^")){if(l.posix!==!1&&Q===":"){let B=F.value.slice(1);if(B.includes("[")&&(F.posix=!0,B.includes(":"))){let G=F.value.lastIndexOf("["),$=F.value.slice(0,G),me=F.value.slice(G+2),ae=cU[me];if(ae){F.value=$+ae,N.backtrack=!0,L(),!p.output&&P.indexOf(F)===1&&(p.output=ie);continue}}}(Q==="["&&I()!==":"||Q==="-"&&I()==="]")&&(Q=`\\${Q}`),Q==="]"&&(F.value==="["||F.value==="[^")&&(Q=`\\${Q}`),l.posix===!0&&Q==="!"&&F.value==="["&&(Q="^"),F.value+=Q,se({value:Q});continue}if(N.quotes===1&&Q!=='"'){Q=ld.escapeRegex(Q),F.value+=Q,se({value:Q});continue}if(Q==='"'){N.quotes=N.quotes===1?0:1,l.keepQuotes===!0&&A({type:"text",value:Q});continue}if(Q==="("){T("parens"),A({type:"paren",value:Q});continue}if(Q===")"){if(N.parens===0&&l.strictBrackets===!0)throw new SyntaxError(Kh("opening","("));let B=K[K.length-1];if(B&&N.parens===B.parens+1){W(K.pop());continue}A({type:"paren",value:Q,output:N.parens?")":"\\)"}),w("parens");continue}if(Q==="["){if(l.nobracket===!0||!V().includes("]")){if(l.nobracket!==!0&&l.strictBrackets===!0)throw new SyntaxError(Kh("closing","]"));Q=`\\${Q}`}else T("brackets");A({type:"bracket",value:Q});continue}if(Q==="]"){if(l.nobracket===!0||F&&F.type==="bracket"&&F.value.length===1){A({type:"text",value:Q,output:`\\${Q}`});continue}if(N.brackets===0){if(l.strictBrackets===!0)throw new SyntaxError(Kh("opening","["));A({type:"text",value:Q,output:`\\${Q}`});continue}w("brackets");let B=F.value.slice(1);if(F.posix!==!0&&B[0]==="^"&&!B.includes("/")&&(Q=`/${Q}`),F.value+=Q,se({value:Q}),l.literalBrackets===!1||ld.hasRegexChars(B))continue;let G=ld.escapeRegex(F.value);if(N.output=N.output.slice(0,-F.value.length),l.literalBrackets===!0){N.output+=G,F.value=G;continue}F.value=`(${z}${G}|${F.value})`,N.output+=F.value;continue}if(Q==="{"&&l.nobrace!==!0){T("braces");let B={type:"brace",value:Q,output:"(",outputIndex:N.output.length,tokensIndex:N.tokens.length};q.push(B),A(B);continue}if(Q==="}"){let B=q[q.length-1];if(l.nobrace===!0||!B){A({type:"text",value:Q,output:Q});continue}let G=")";if(B.dots===!0){let $=P.slice(),me=[];for(let ae=$.length-1;ae>=0&&(P.pop(),$[ae].type!=="brace");ae--)$[ae].type!=="dots"&&me.unshift($[ae].value);G=fU(me,l),N.backtrack=!0}if(B.comma!==!0&&B.dots!==!0){let $=N.output.slice(0,B.outputIndex),me=N.tokens.slice(B.tokensIndex);B.value=B.output="\\{",Q=G="\\}",N.output=$;for(let ae of me)N.output+=ae.output||ae.value}A({type:"brace",value:Q,output:G}),w("braces"),q.pop();continue}if(Q==="|"){K.length>0&&K[K.length-1].conditions++,A({type:"text",value:Q});continue}if(Q===","){let B=Q,G=q[q.length-1];G&&b[b.length-1]==="braces"&&(G.comma=!0,B="|"),A({type:"comma",value:Q,output:B});continue}if(Q==="/"){if(F.type==="dot"&&N.index===N.start+1){N.start=N.index+1,N.consumed="",N.output="",P.pop(),F=p;continue}A({type:"slash",value:Q,output:Z});continue}if(Q==="."){if(N.braces>0&&F.type==="dot"){F.value==="."&&(F.output=Y);let B=q[q.length-1];F.type="dots",F.output+=Q,F.value+=Q,B.dots=!0;continue}if(N.braces+N.parens===0&&F.type!=="bos"&&F.type!=="slash"){A({type:"text",value:Q,output:Y});continue}A({type:"dot",value:Q,output:Y});continue}if(Q==="?"){if(!(F&&F.value==="(")&&l.noextglob!==!0&&I()==="("&&I(2)!=="?"){oe("qmark",Q);continue}if(F&&F.type==="paren"){let G=I(),$=Q;if(G==="<"&&!ld.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(F.value==="("&&!/[!=<:]/.test(G)||G==="<"&&!/<([!=]|\w+>)/.test(V()))&&($=`\\${Q}`),A({type:"text",value:Q,output:$});continue}if(l.dot!==!0&&(F.type==="slash"||F.type==="bos")){A({type:"qmark",value:Q,output:C});continue}A({type:"qmark",value:Q,output:D});continue}if(Q==="!"){if(l.noextglob!==!0&&I()==="("&&(I(2)!=="?"||!/[!=<:]/.test(I(3)))){oe("negate",Q);continue}if(l.nonegate!==!0&&N.index===0){De();continue}}if(Q==="+"){if(l.noextglob!==!0&&I()==="("&&I(2)!=="?"){oe("plus",Q);continue}if(F&&F.value==="("||l.regex===!1){A({type:"plus",value:Q,output:ce});continue}if(F&&(F.type==="bracket"||F.type==="paren"||F.type==="brace")||N.parens>0){A({type:"plus",value:Q});continue}A({type:"plus",value:ce});continue}if(Q==="@"){if(l.noextglob!==!0&&I()==="("&&I(2)!=="?"){A({type:"at",extglob:!0,value:Q,output:""});continue}A({type:"text",value:Q});continue}if(Q!=="*"){(Q==="$"||Q==="^")&&(Q=`\\${Q}`);let B=uU.exec(V());B&&(Q+=B[0],N.index+=B[0].length),A({type:"text",value:Q});continue}if(F&&(F.type==="globstar"||F.star===!0)){F.type="star",F.star=!0,F.value+=Q,F.output=re,N.backtrack=!0,N.globstar=!0,ne(Q);continue}let u=V();if(l.noextglob!==!0&&/^\([^?]/.test(u)){oe("star",Q);continue}if(F.type==="star"){if(l.noglobstar===!0){ne(Q);continue}let B=F.prev,G=B.prev,$=B.type==="slash"||B.type==="bos",me=G&&(G.type==="star"||G.type==="globstar");if(l.bash===!0&&(!$||u[0]&&u[0]!=="/")){A({type:"star",value:Q,output:""});continue}let ae=N.braces>0&&(B.type==="comma"||B.type==="brace"),Me=K.length&&(B.type==="pipe"||B.type==="paren");if(!$&&B.type!=="paren"&&!ae&&!Me){A({type:"star",value:Q,output:""});continue}for(;u.slice(0,3)==="/**";){let Oe=e[N.index+4];if(Oe&&Oe!=="/")break;u=u.slice(3),ne("/**",3)}if(B.type==="bos"&&j()){F.type="globstar",F.value+=Q,F.output=M(l),N.output=F.output,N.globstar=!0,ne(Q);continue}if(B.type==="slash"&&B.prev.type!=="bos"&&!me&&j()){N.output=N.output.slice(0,-(B.output+F.output).length),B.output=`(?:${B.output}`,F.type="globstar",F.output=M(l)+(l.strictSlashes?")":"|$)"),F.value+=Q,N.globstar=!0,N.output+=B.output+F.output,ne(Q);continue}if(B.type==="slash"&&B.prev.type!=="bos"&&u[0]==="/"){let Oe=u[1]!==void 0?"|$":"";N.output=N.output.slice(0,-(B.output+F.output).length),B.output=`(?:${B.output}`,F.type="globstar",F.output=`${M(l)}${Z}|${Z}${Oe})`,F.value+=Q,N.output+=B.output+F.output,N.globstar=!0,ne(Q+L()),A({type:"slash",value:"/",output:""});continue}if(B.type==="bos"&&u[0]==="/"){F.type="globstar",F.value+=Q,F.output=`(?:^|${Z}|${M(l)}${Z})`,N.output=F.output,N.globstar=!0,ne(Q+L()),A({type:"slash",value:"/",output:""});continue}N.output=N.output.slice(0,-F.output.length),F.type="globstar",F.output=M(l),F.value+=Q,N.output+=F.output,N.globstar=!0,ne(Q);continue}let O={type:"star",value:Q,output:re};if(l.bash===!0){O.output=".*?",(F.type==="bos"||F.type==="slash")&&(O.output=ge+O.output),A(O);continue}if(F&&(F.type==="bracket"||F.type==="paren")&&l.regex===!0){O.output=Q,A(O);continue}(N.index===N.start||F.type==="slash"||F.type==="dot")&&(F.type==="dot"?(N.output+=J,F.output+=J):l.dot===!0?(N.output+=d,F.output+=d):(N.output+=ge,F.output+=ge),I()!=="*"&&(N.output+=ie,F.output+=ie)),A(O)}for(;N.brackets>0;){if(l.strictBrackets===!0)throw new SyntaxError(Kh("closing","]"));N.output=ld.escapeLast(N.output,"["),w("brackets")}for(;N.parens>0;){if(l.strictBrackets===!0)throw new SyntaxError(Kh("closing",")"));N.output=ld.escapeLast(N.output,"("),w("parens")}for(;N.braces>0;){if(l.strictBrackets===!0)throw new SyntaxError(Kh("closing","}"));N.output=ld.escapeLast(N.output,"{"),w("braces")}if(l.strictSlashes!==!0&&(F.type==="star"||F.type==="bracket")&&A({type:"maybe_slash",value:"",output:`${Z}?`}),N.backtrack===!0){N.output="";for(let u of N.tokens)N.output+=u.output!=null?u.output:u.value,u.suffix&&(N.output+=u.suffix)}return N};BC.fastpaths=(e,i)=>{let l={...i},_=typeof l.maxLength=="number"?Math.min(_D,l.maxLength):_D,h=e.length;if(h>_)throw new SyntaxError(`Input length: ${h}, exceeds maximum allowed length: ${_}`);e=yP[e]||e;let p=ld.isWindows(i),{DOT_LITERAL:P,SLASH_LITERAL:z,ONE_CHAR:U,DOTS_SLASH:g,NO_DOT:v,NO_DOTS:Y,NO_DOTS_SLASH:ce,STAR:Z,START_ANCHOR:ie}=fD.globChars(p),te=l.dot?Y:v,x=l.dot?ce:v,J=l.capture?"":"?:",d={negated:!1,prefix:""},D=l.bash===!0?".*?":Z;l.capture&&(D=`(${D})`);let C=ge=>ge.noglobstar===!0?D:`(${J}(?:(?!${ie}${ge.dot?g:P}).)*?)`,k=ge=>{switch(ge){case"*":return`${te}${U}${D}`;case".*":return`${P}${U}${D}`;case"*.*":return`${te}${D}${P}${U}${D}`;case"*/*":return`${te}${D}${z}${U}${x}${D}`;case"**":return te+C(l);case"**/*":return`(?:${te}${C(l)}${z})?${x}${U}${D}`;case"**/*.*":return`(?:${te}${C(l)}${z})?${x}${D}${P}${U}${D}`;case"**/.*":return`(?:${te}${C(l)}${z})?${P}${U}${D}`;default:{let ve=/^(.*?)\.(\w+)$/.exec(ge);if(!ve)return;let re=k(ve[1]);return re?re+P+ve[2]:void 0}}},R=ld.removePrefix(e,d),M=k(R);return M&&l.strictSlashes!==!0&&(M+=`${z}?`),M};DP.exports=BC});var xP=bo((gH,SP)=>{"use strict";var _U=Ro("path"),dU=hP(),JC=bP(),jC=lD(),pU=T0(),gU=e=>e&&typeof e=="object"&&!Array.isArray(e),Wu=(e,i,l=!1)=>{if(Array.isArray(e)){let v=e.map(ce=>Wu(ce,i,l));return ce=>{for(let Z of v){let ie=Z(ce);if(ie)return ie}return!1}}let _=gU(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!_)throw new TypeError("Expected pattern to be a non-empty string");let h=i||{},p=jC.isWindows(i),P=_?Wu.compileRe(e,i):Wu.makeRe(e,i,!1,!0),z=P.state;delete P.state;let U=()=>!1;if(h.ignore){let v={...i,ignore:null,onMatch:null,onResult:null};U=Wu(h.ignore,v,l)}let g=(v,Y=!1)=>{let{isMatch:ce,match:Z,output:ie}=Wu.test(v,P,i,{glob:e,posix:p}),te={glob:e,state:z,regex:P,posix:p,input:v,output:ie,match:Z,isMatch:ce};return typeof h.onResult=="function"&&h.onResult(te),ce===!1?(te.isMatch=!1,Y?te:!1):U(v)?(typeof h.onIgnore=="function"&&h.onIgnore(te),te.isMatch=!1,Y?te:!1):(typeof h.onMatch=="function"&&h.onMatch(te),Y?te:!0)};return l&&(g.state=z),g};Wu.test=(e,i,l,{glob:_,posix:h}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return{isMatch:!1,output:""};let p=l||{},P=p.format||(h?jC.toPosixSlashes:null),z=e===_,U=z&&P?P(e):e;return z===!1&&(U=P?P(e):e,z=U===_),(z===!1||p.capture===!0)&&(p.matchBase===!0||p.basename===!0?z=Wu.matchBase(e,i,l,h):z=i.exec(U)),{isMatch:!!z,match:z,output:U}};Wu.matchBase=(e,i,l,_=jC.isWindows(l))=>(i instanceof RegExp?i:Wu.makeRe(i,l)).test(_U.basename(e));Wu.isMatch=(e,i,l)=>Wu(i,l)(e);Wu.parse=(e,i)=>Array.isArray(e)?e.map(l=>Wu.parse(l,i)):JC(e,{...i,fastpaths:!1});Wu.scan=(e,i)=>dU(e,i);Wu.compileRe=(e,i,l=!1,_=!1)=>{if(l===!0)return e.output;let h=i||{},p=h.contains?"":"^",P=h.contains?"":"$",z=`${p}(?:${e.output})${P}`;e&&e.negated===!0&&(z=`^(?!${z}).*$`);let U=Wu.toRegex(z,i);return _===!0&&(U.state=e),U};Wu.makeRe=(e,i={},l=!1,_=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let h={negated:!1,fastpaths:!0};return i.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(h.output=JC.fastpaths(e,i)),h.output||(h=JC(e,i)),Wu.compileRe(h,i,l,_)};Wu.toRegex=(e,i)=>{try{let l=i||{};return new RegExp(e,l.flags||(l.nocase?"i":""))}catch(l){if(i&&i.debug===!0)throw l;return/$^/}};Wu.constants=pU;SP.exports=Wu});var EP=bo((mH,CP)=>{"use strict";CP.exports=xP()});var kP=bo(dD=>{"use strict";Object.defineProperty(dD,"__esModule",{value:!0});dD.Builder=void 0;var TP=aP(),UC=null;try{Ro.resolve("picomatch"),UC=EP()}catch{}var zC=class{globCache={};options={maxDepth:1/0,suppressErrors:!0,filters:[]};constructor(i){this.options={...this.options,...i}}group(){return this.options.group=!0,this}withBasePath(){return this.options.includeBasePath=!0,this}withRelativePaths(){return this.options.relativePaths=!0,this}withDirs(){return this.options.includeDirs=!0,this}withMaxDepth(i){return this.options.maxDepth=i,this}withFullPaths(){return this.options.resolvePaths=!0,this.options.includeBasePath=!0,this}withErrors(){return this.options.suppressErrors=!1,this}withSymlinks(){return this.options.resolveSymlinks=!0,this.withFullPaths()}normalize(){return this.options.normalizePath=!0,this}filter(i){return this.options.filters.push(i),this}onlyDirs(){return this.options.excludeFiles=!0,this.options.includeDirs=!0,this}exclude(i){return this.options.exclude=i,this}onlyCounts(){return this.options.onlyCounts=!0,this}crawl(i){return new TP.APIBuilder(i,this.options)}crawlWithOptions(i,l){return this.options={...this.options,...l},new TP.APIBuilder(i,this.options)}glob(...i){return this.globWithOptions(i,{dot:!0})}globWithOptions(i,l){if(!UC)throw new Error('Please install picomatch: "npm i picomatch" to use glob matching.');var _=this.globCache[i.join("\0")];return _||(_=UC(i,l),this.globCache[i.join("\0")]=_),this.options.filters.push(h=>_(h)),this}};dD.Builder=zC});var NP=bo(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0})});var PP=bo(Gv=>{"use strict";var mU=Gv&&Gv.__createBinding||(Object.create?function(e,i,l,_){_===void 0&&(_=l);var h=Object.getOwnPropertyDescriptor(i,l);(!h||("get"in h?!i.__esModule:h.writable||h.configurable))&&(h={enumerable:!0,get:function(){return i[l]}}),Object.defineProperty(e,_,h)}:function(e,i,l,_){_===void 0&&(_=l),e[_]=i[l]}),vU=Gv&&Gv.__exportStar||function(e,i){for(var l in e)l!=="default"&&!Object.prototype.hasOwnProperty.call(i,l)&&mU(i,e,l)};Object.defineProperty(Gv,"__esModule",{value:!0});vU(NP(),Gv)});var IP=bo(em=>{"use strict";var hU=em&&em.__createBinding||(Object.create?function(e,i,l,_){_===void 0&&(_=l);var h=Object.getOwnPropertyDescriptor(i,l);(!h||("get"in h?!i.__esModule:h.writable||h.configurable))&&(h={enumerable:!0,get:function(){return i[l]}}),Object.defineProperty(e,_,h)}:function(e,i,l,_){_===void 0&&(_=l),e[_]=i[l]}),yU=em&&em.__exportStar||function(e,i){for(var l in e)l!=="default"&&!Object.prototype.hasOwnProperty.call(i,l)&&hU(i,e,l)};Object.defineProperty(em,"__esModule",{value:!0});em.fdir=void 0;var DU=kP();Object.defineProperty(em,"fdir",{enumerable:!0,get:function(){return DU.Builder}});yU(PP(),em)});var w_=bo(WC=>{"use strict";WC.fromCallback=function(e){return Object.defineProperty(function(...i){if(typeof i[i.length-1]=="function")e.apply(this,i);else return new Promise((l,_)=>{e.call(this,...i,(h,p)=>h!=null?_(h):l(p))})},"name",{value:e.name})};WC.fromPromise=function(e){return Object.defineProperty(function(...i){let l=i[i.length-1];if(typeof l!="function")return e.apply(this,i);e.apply(this,i.slice(0,-1)).then(_=>l(null,_),l)},"name",{value:e.name})}});var OP=bo((xH,wP)=>{var Gm=Ro("constants"),bU=process.cwd,pD=null,SU=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return pD||(pD=bU.call(process)),pD};try{process.cwd()}catch{}typeof process.chdir=="function"&&(VC=process.chdir,process.chdir=function(e){pD=null,VC.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,VC));var VC;wP.exports=xU;function xU(e){Gm.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&i(e),e.lutimes||l(e),e.chown=p(e.chown),e.fchown=p(e.fchown),e.lchown=p(e.lchown),e.chmod=_(e.chmod),e.fchmod=_(e.fchmod),e.lchmod=_(e.lchmod),e.chownSync=P(e.chownSync),e.fchownSync=P(e.fchownSync),e.lchownSync=P(e.lchownSync),e.chmodSync=h(e.chmodSync),e.fchmodSync=h(e.fchmodSync),e.lchmodSync=h(e.lchmodSync),e.stat=z(e.stat),e.fstat=z(e.fstat),e.lstat=z(e.lstat),e.statSync=U(e.statSync),e.fstatSync=U(e.fstatSync),e.lstatSync=U(e.lstatSync),e.chmod&&!e.lchmod&&(e.lchmod=function(v,Y,ce){ce&&process.nextTick(ce)},e.lchmodSync=function(){}),e.chown&&!e.lchown&&(e.lchown=function(v,Y,ce,Z){Z&&process.nextTick(Z)},e.lchownSync=function(){}),SU==="win32"&&(e.rename=typeof e.rename!="function"?e.rename:function(v){function Y(ce,Z,ie){var te=Date.now(),x=0;v(ce,Z,function J(d){if(d&&(d.code==="EACCES"||d.code==="EPERM")&&Date.now()-te<6e4){setTimeout(function(){e.stat(Z,function(D,C){D&&D.code==="ENOENT"?v(ce,Z,J):ie(d)})},x),x<100&&(x+=10);return}ie&&ie(d)})}return Object.setPrototypeOf&&Object.setPrototypeOf(Y,v),Y}(e.rename)),e.read=typeof e.read!="function"?e.read:function(v){function Y(ce,Z,ie,te,x,J){var d;if(J&&typeof J=="function"){var D=0;d=function(C,k,R){if(C&&C.code==="EAGAIN"&&D<10)return D++,v.call(e,ce,Z,ie,te,x,d);J.apply(this,arguments)}}return v.call(e,ce,Z,ie,te,x,d)}return Object.setPrototypeOf&&Object.setPrototypeOf(Y,v),Y}(e.read),e.readSync=typeof e.readSync!="function"?e.readSync:function(v){return function(Y,ce,Z,ie,te){for(var x=0;;)try{return v.call(e,Y,ce,Z,ie,te)}catch(J){if(J.code==="EAGAIN"&&x<10){x++;continue}throw J}}}(e.readSync);function i(v){v.lchmod=function(Y,ce,Z){v.open(Y,Gm.O_WRONLY|Gm.O_SYMLINK,ce,function(ie,te){if(ie){Z&&Z(ie);return}v.fchmod(te,ce,function(x){v.close(te,function(J){Z&&Z(x||J)})})})},v.lchmodSync=function(Y,ce){var Z=v.openSync(Y,Gm.O_WRONLY|Gm.O_SYMLINK,ce),ie=!0,te;try{te=v.fchmodSync(Z,ce),ie=!1}finally{if(ie)try{v.closeSync(Z)}catch{}else v.closeSync(Z)}return te}}function l(v){Gm.hasOwnProperty("O_SYMLINK")&&v.futimes?(v.lutimes=function(Y,ce,Z,ie){v.open(Y,Gm.O_SYMLINK,function(te,x){if(te){ie&&ie(te);return}v.futimes(x,ce,Z,function(J){v.close(x,function(d){ie&&ie(J||d)})})})},v.lutimesSync=function(Y,ce,Z){var ie=v.openSync(Y,Gm.O_SYMLINK),te,x=!0;try{te=v.futimesSync(ie,ce,Z),x=!1}finally{if(x)try{v.closeSync(ie)}catch{}else v.closeSync(ie)}return te}):v.futimes&&(v.lutimes=function(Y,ce,Z,ie){ie&&process.nextTick(ie)},v.lutimesSync=function(){})}function _(v){return v&&function(Y,ce,Z){return v.call(e,Y,ce,function(ie){g(ie)&&(ie=null),Z&&Z.apply(this,arguments)})}}function h(v){return v&&function(Y,ce){try{return v.call(e,Y,ce)}catch(Z){if(!g(Z))throw Z}}}function p(v){return v&&function(Y,ce,Z,ie){return v.call(e,Y,ce,Z,function(te){g(te)&&(te=null),ie&&ie.apply(this,arguments)})}}function P(v){return v&&function(Y,ce,Z){try{return v.call(e,Y,ce,Z)}catch(ie){if(!g(ie))throw ie}}}function z(v){return v&&function(Y,ce,Z){typeof ce=="function"&&(Z=ce,ce=null);function ie(te,x){x&&(x.uid<0&&(x.uid+=4294967296),x.gid<0&&(x.gid+=4294967296)),Z&&Z.apply(this,arguments)}return ce?v.call(e,Y,ce,ie):v.call(e,Y,ie)}}function U(v){return v&&function(Y,ce){var Z=ce?v.call(e,Y,ce):v.call(e,Y);return Z&&(Z.uid<0&&(Z.uid+=4294967296),Z.gid<0&&(Z.gid+=4294967296)),Z}}function g(v){if(!v||v.code==="ENOSYS")return!0;var Y=!process.getuid||process.getuid()!==0;return!!(Y&&(v.code==="EINVAL"||v.code==="EPERM"))}}});var LP=bo((CH,MP)=>{var FP=Ro("stream").Stream;MP.exports=CU;function CU(e){return{ReadStream:i,WriteStream:l};function i(_,h){if(!(this instanceof i))return new i(_,h);FP.call(this);var p=this;this.path=_,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=64*1024,h=h||{};for(var P=Object.keys(h),z=0,U=P.length;zthis.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){p._read()});return}e.open(this.path,this.flags,this.mode,function(v,Y){if(v){p.emit("error",v),p.readable=!1;return}p.fd=Y,p.emit("open",Y),p._read()})}function l(_,h){if(!(this instanceof l))return new l(_,h);FP.call(this),this.path=_,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,h=h||{};for(var p=Object.keys(h),P=0,z=p.length;P= zero");this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}});var BP=bo((EH,RP)=>{"use strict";RP.exports=TU;var EU=Object.getPrototypeOf||function(e){return e.__proto__};function TU(e){if(e===null||typeof e!="object")return e;if(e instanceof Object)var i={__proto__:EU(e)};else var i=Object.create(null);return Object.getOwnPropertyNames(e).forEach(function(l){Object.defineProperty(i,l,Object.getOwnPropertyDescriptor(e,l))}),i}});var O_=bo((TH,GC)=>{var yu=Ro("fs"),kU=OP(),AU=LP(),NU=BP(),gD=Ro("util"),uf,vD;typeof Symbol=="function"&&typeof Symbol.for=="function"?(uf=Symbol.for("graceful-fs.queue"),vD=Symbol.for("graceful-fs.previous")):(uf="___graceful-fs.queue",vD="___graceful-fs.previous");function PU(){}function UP(e,i){Object.defineProperty(e,uf,{get:function(){return i}})}var Kv=PU;gD.debuglog?Kv=gD.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(Kv=function(){var e=gD.format.apply(gD,arguments);e="GFS4: "+e.split(/\n/).join(` +GFS4: `),console.error(e)});yu[uf]||(JP=global[uf]||[],UP(yu,JP),yu.close=function(e){function i(l,_){return e.call(yu,l,function(h){h||jP(),typeof _=="function"&&_.apply(this,arguments)})}return Object.defineProperty(i,vD,{value:e}),i}(yu.close),yu.closeSync=function(e){function i(l){e.apply(yu,arguments),jP()}return Object.defineProperty(i,vD,{value:e}),i}(yu.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){Kv(yu[uf]),Ro("assert").equal(yu[uf].length,0)}));var JP;global[uf]||UP(global,yu[uf]);GC.exports=qC(NU(yu));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!yu.__patched&&(GC.exports=qC(yu),yu.__patched=!0);function qC(e){kU(e),e.gracefulify=qC,e.createReadStream=k,e.createWriteStream=R;var i=e.readFile;e.readFile=l;function l(ve,re,N){return typeof re=="function"&&(N=re,re=null),K(ve,re,N);function K(q,b,F,Q){return i(q,b,function(j){j&&(j.code==="EMFILE"||j.code==="ENFILE")?$h([K,[q,b,F],j,Q||Date.now(),Date.now()]):typeof F=="function"&&F.apply(this,arguments)})}}var _=e.writeFile;e.writeFile=h;function h(ve,re,N,K){return typeof N=="function"&&(K=N,N=null),q(ve,re,N,K);function q(b,F,Q,j,I){return _(b,F,Q,function(L){L&&(L.code==="EMFILE"||L.code==="ENFILE")?$h([q,[b,F,Q,j],L,I||Date.now(),Date.now()]):typeof j=="function"&&j.apply(this,arguments)})}}var p=e.appendFile;p&&(e.appendFile=P);function P(ve,re,N,K){return typeof N=="function"&&(K=N,N=null),q(ve,re,N,K);function q(b,F,Q,j,I){return p(b,F,Q,function(L){L&&(L.code==="EMFILE"||L.code==="ENFILE")?$h([q,[b,F,Q,j],L,I||Date.now(),Date.now()]):typeof j=="function"&&j.apply(this,arguments)})}}var z=e.copyFile;z&&(e.copyFile=U);function U(ve,re,N,K){return typeof N=="function"&&(K=N,N=0),q(ve,re,N,K);function q(b,F,Q,j,I){return z(b,F,Q,function(L){L&&(L.code==="EMFILE"||L.code==="ENFILE")?$h([q,[b,F,Q,j],L,I||Date.now(),Date.now()]):typeof j=="function"&&j.apply(this,arguments)})}}var g=e.readdir;e.readdir=Y;var v=/^v[0-5]\./;function Y(ve,re,N){typeof re=="function"&&(N=re,re=null);var K=v.test(process.version)?function(F,Q,j,I){return g(F,q(F,Q,j,I))}:function(F,Q,j,I){return g(F,Q,q(F,Q,j,I))};return K(ve,re,N);function q(b,F,Q,j){return function(I,L){I&&(I.code==="EMFILE"||I.code==="ENFILE")?$h([K,[b,F,Q],I,j||Date.now(),Date.now()]):(L&&L.sort&&L.sort(),typeof Q=="function"&&Q.call(this,I,L))}}}if(process.version.substr(0,4)==="v0.8"){var ce=AU(e);J=ce.ReadStream,D=ce.WriteStream}var Z=e.ReadStream;Z&&(J.prototype=Object.create(Z.prototype),J.prototype.open=d);var ie=e.WriteStream;ie&&(D.prototype=Object.create(ie.prototype),D.prototype.open=C),Object.defineProperty(e,"ReadStream",{get:function(){return J},set:function(ve){J=ve},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return D},set:function(ve){D=ve},enumerable:!0,configurable:!0});var te=J;Object.defineProperty(e,"FileReadStream",{get:function(){return te},set:function(ve){te=ve},enumerable:!0,configurable:!0});var x=D;Object.defineProperty(e,"FileWriteStream",{get:function(){return x},set:function(ve){x=ve},enumerable:!0,configurable:!0});function J(ve,re){return this instanceof J?(Z.apply(this,arguments),this):J.apply(Object.create(J.prototype),arguments)}function d(){var ve=this;ge(ve.path,ve.flags,ve.mode,function(re,N){re?(ve.autoClose&&ve.destroy(),ve.emit("error",re)):(ve.fd=N,ve.emit("open",N),ve.read())})}function D(ve,re){return this instanceof D?(ie.apply(this,arguments),this):D.apply(Object.create(D.prototype),arguments)}function C(){var ve=this;ge(ve.path,ve.flags,ve.mode,function(re,N){re?(ve.destroy(),ve.emit("error",re)):(ve.fd=N,ve.emit("open",N))})}function k(ve,re){return new e.ReadStream(ve,re)}function R(ve,re){return new e.WriteStream(ve,re)}var M=e.open;e.open=ge;function ge(ve,re,N,K){return typeof N=="function"&&(K=N,N=null),q(ve,re,N,K);function q(b,F,Q,j,I){return M(b,F,Q,function(L,V){L&&(L.code==="EMFILE"||L.code==="ENFILE")?$h([q,[b,F,Q,j],L,I||Date.now(),Date.now()]):typeof j=="function"&&j.apply(this,arguments)})}}return e}function $h(e){Kv("ENQUEUE",e[0].name,e[1]),yu[uf].push(e),HC()}var mD;function jP(){for(var e=Date.now(),i=0;i2&&(yu[uf][i][3]=e,yu[uf][i][4]=e);HC()}function HC(){if(clearTimeout(mD),mD=void 0,yu[uf].length!==0){var e=yu[uf].shift(),i=e[0],l=e[1],_=e[2],h=e[3],p=e[4];if(h===void 0)Kv("RETRY",i.name,l),i.apply(null,l);else if(Date.now()-h>=6e4){Kv("TIMEOUT",i.name,l);var P=l.pop();typeof P=="function"&&P.call(null,_)}else{var z=Date.now()-p,U=Math.max(p-h,1),g=Math.min(U*1.2,100);z>=g?(Kv("RETRY",i.name,l),i.apply(null,l.concat([h]))):yu[uf].push(e)}mD===void 0&&(mD=setTimeout(HC,0))}}});var $v=bo(rm=>{"use strict";var zP=w_().fromCallback,n_=O_(),IU=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(e=>typeof n_[e]=="function");Object.assign(rm,n_);IU.forEach(e=>{rm[e]=zP(n_[e])});rm.exists=function(e,i){return typeof i=="function"?n_.exists(e,i):new Promise(l=>n_.exists(e,l))};rm.read=function(e,i,l,_,h,p){return typeof p=="function"?n_.read(e,i,l,_,h,p):new Promise((P,z)=>{n_.read(e,i,l,_,h,(U,g,v)=>{if(U)return z(U);P({bytesRead:g,buffer:v})})})};rm.write=function(e,i,...l){return typeof l[l.length-1]=="function"?n_.write(e,i,...l):new Promise((_,h)=>{n_.write(e,i,...l,(p,P,z)=>{if(p)return h(p);_({bytesWritten:P,buffer:z})})})};rm.readv=function(e,i,...l){return typeof l[l.length-1]=="function"?n_.readv(e,i,...l):new Promise((_,h)=>{n_.readv(e,i,...l,(p,P,z)=>{if(p)return h(p);_({bytesRead:P,buffers:z})})})};rm.writev=function(e,i,...l){return typeof l[l.length-1]=="function"?n_.writev(e,i,...l):new Promise((_,h)=>{n_.writev(e,i,...l,(p,P,z)=>{if(p)return h(p);_({bytesWritten:P,buffers:z})})})};typeof n_.realpath.native=="function"?rm.realpath.native=zP(n_.realpath.native):process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var VP=bo((AH,WP)=>{"use strict";var wU=Ro("path");WP.exports.checkPath=function(i){if(process.platform==="win32"&&/[<>:"|?*]/.test(i.replace(wU.parse(i).root,""))){let _=new Error(`Path contains invalid characters: ${i}`);throw _.code="EINVAL",_}}});var KP=bo((NH,KC)=>{"use strict";var qP=$v(),{checkPath:HP}=VP(),GP=e=>{let i={mode:511};return typeof e=="number"?e:{...i,...e}.mode};KC.exports.makeDir=async(e,i)=>(HP(e),qP.mkdir(e,{mode:GP(i),recursive:!0}));KC.exports.makeDirSync=(e,i)=>(HP(e),qP.mkdirSync(e,{mode:GP(i),recursive:!0}))});var qp=bo((PH,$P)=>{"use strict";var OU=w_().fromPromise,{makeDir:FU,makeDirSync:$C}=KP(),QC=OU(FU);$P.exports={mkdirs:QC,mkdirsSync:$C,mkdirp:QC,mkdirpSync:$C,ensureDir:QC,ensureDirSync:$C}});var Km=bo((IH,XP)=>{"use strict";var MU=w_().fromPromise,QP=$v();function LU(e){return QP.access(e).then(()=>!0).catch(()=>!1)}XP.exports={pathExists:MU(LU),pathExistsSync:QP.existsSync}});var XC=bo((wH,YP)=>{"use strict";var Qh=O_();function RU(e,i,l,_){Qh.open(e,"r+",(h,p)=>{if(h)return _(h);Qh.futimes(p,i,l,P=>{Qh.close(p,z=>{_&&_(P||z)})})})}function BU(e,i,l){let _=Qh.openSync(e,"r+");return Qh.futimesSync(_,i,l),Qh.closeSync(_)}YP.exports={utimesMillis:RU,utimesMillisSync:BU}});var Qv=bo((OH,r3)=>{"use strict";var Xh=$v(),Ol=Ro("path"),JU=Ro("util");function jU(e,i,l){let _=l.dereference?h=>Xh.stat(h,{bigint:!0}):h=>Xh.lstat(h,{bigint:!0});return Promise.all([_(e),_(i).catch(h=>{if(h.code==="ENOENT")return null;throw h})]).then(([h,p])=>({srcStat:h,destStat:p}))}function UU(e,i,l){let _,h=l.dereference?P=>Xh.statSync(P,{bigint:!0}):P=>Xh.lstatSync(P,{bigint:!0}),p=h(e);try{_=h(i)}catch(P){if(P.code==="ENOENT")return{srcStat:p,destStat:null};throw P}return{srcStat:p,destStat:_}}function zU(e,i,l,_,h){JU.callbackify(jU)(e,i,_,(p,P)=>{if(p)return h(p);let{srcStat:z,destStat:U}=P;if(U){if(A0(z,U)){let g=Ol.basename(e),v=Ol.basename(i);return l==="move"&&g!==v&&g.toLowerCase()===v.toLowerCase()?h(null,{srcStat:z,destStat:U,isChangingCase:!0}):h(new Error("Source and destination must not be the same."))}if(z.isDirectory()&&!U.isDirectory())return h(new Error(`Cannot overwrite non-directory '${i}' with directory '${e}'.`));if(!z.isDirectory()&&U.isDirectory())return h(new Error(`Cannot overwrite directory '${i}' with non-directory '${e}'.`))}return z.isDirectory()&&YC(e,i)?h(new Error(hD(e,i,l))):h(null,{srcStat:z,destStat:U})})}function WU(e,i,l,_){let{srcStat:h,destStat:p}=UU(e,i,_);if(p){if(A0(h,p)){let P=Ol.basename(e),z=Ol.basename(i);if(l==="move"&&P!==z&&P.toLowerCase()===z.toLowerCase())return{srcStat:h,destStat:p,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(h.isDirectory()&&!p.isDirectory())throw new Error(`Cannot overwrite non-directory '${i}' with directory '${e}'.`);if(!h.isDirectory()&&p.isDirectory())throw new Error(`Cannot overwrite directory '${i}' with non-directory '${e}'.`)}if(h.isDirectory()&&YC(e,i))throw new Error(hD(e,i,l));return{srcStat:h,destStat:p}}function ZP(e,i,l,_,h){let p=Ol.resolve(Ol.dirname(e)),P=Ol.resolve(Ol.dirname(l));if(P===p||P===Ol.parse(P).root)return h();Xh.stat(P,{bigint:!0},(z,U)=>z?z.code==="ENOENT"?h():h(z):A0(i,U)?h(new Error(hD(e,l,_))):ZP(e,i,P,_,h))}function e3(e,i,l,_){let h=Ol.resolve(Ol.dirname(e)),p=Ol.resolve(Ol.dirname(l));if(p===h||p===Ol.parse(p).root)return;let P;try{P=Xh.statSync(p,{bigint:!0})}catch(z){if(z.code==="ENOENT")return;throw z}if(A0(i,P))throw new Error(hD(e,l,_));return e3(e,i,p,_)}function A0(e,i){return i.ino&&i.dev&&i.ino===e.ino&&i.dev===e.dev}function YC(e,i){let l=Ol.resolve(e).split(Ol.sep).filter(h=>h),_=Ol.resolve(i).split(Ol.sep).filter(h=>h);return l.reduce((h,p,P)=>h&&_[P]===p,!0)}function hD(e,i,l){return`Cannot ${l} '${e}' to a subdirectory of itself, '${i}'.`}r3.exports={checkPaths:zU,checkPathsSync:WU,checkParentPaths:ZP,checkParentPathsSync:e3,isSrcSubdir:YC,areIdentical:A0}});var s3=bo((FH,o3)=>{"use strict";var F_=O_(),N0=Ro("path"),VU=qp().mkdirs,qU=Km().pathExists,HU=XC().utimesMillis,P0=Qv();function GU(e,i,l,_){typeof l=="function"&&!_?(_=l,l={}):typeof l=="function"&&(l={filter:l}),_=_||function(){},l=l||{},l.clobber="clobber"in l?!!l.clobber:!0,l.overwrite="overwrite"in l?!!l.overwrite:l.clobber,l.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended; + + see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001"),P0.checkPaths(e,i,"copy",l,(h,p)=>{if(h)return _(h);let{srcStat:P,destStat:z}=p;P0.checkParentPaths(e,P,i,"copy",U=>{if(U)return _(U);i3(e,i,l,(g,v)=>{if(g)return _(g);if(!v)return _();KU(z,e,i,l,_)})})})}function KU(e,i,l,_,h){let p=N0.dirname(l);qU(p,(P,z)=>{if(P)return h(P);if(z)return ZC(e,i,l,_,h);VU(p,U=>U?h(U):ZC(e,i,l,_,h))})}function i3(e,i,l,_){if(!l.filter)return _(null,!0);Promise.resolve(l.filter(e,i)).then(h=>_(null,h),h=>_(h))}function ZC(e,i,l,_,h){(_.dereference?F_.stat:F_.lstat)(i,(P,z)=>P?h(P):z.isDirectory()?rz(z,e,i,l,_,h):z.isFile()||z.isCharacterDevice()||z.isBlockDevice()?$U(z,e,i,l,_,h):z.isSymbolicLink()?tz(e,i,l,_,h):z.isSocket()?h(new Error(`Cannot copy a socket file: ${i}`)):z.isFIFO()?h(new Error(`Cannot copy a FIFO pipe: ${i}`)):h(new Error(`Unknown file: ${i}`)))}function $U(e,i,l,_,h,p){return i?QU(e,l,_,h,p):t3(e,l,_,h,p)}function QU(e,i,l,_,h){if(_.overwrite)F_.unlink(l,p=>p?h(p):t3(e,i,l,_,h));else return _.errorOnExist?h(new Error(`'${l}' already exists`)):h()}function t3(e,i,l,_,h){F_.copyFile(i,l,p=>p?h(p):_.preserveTimestamps?XU(e.mode,i,l,h):yD(l,e.mode,h))}function XU(e,i,l,_){return YU(e)?ZU(l,e,h=>h?_(h):n3(e,i,l,_)):n3(e,i,l,_)}function YU(e){return(e&128)===0}function ZU(e,i,l){return yD(e,i|128,l)}function n3(e,i,l,_){ez(i,l,h=>h?_(h):yD(l,e,_))}function yD(e,i,l){return F_.chmod(e,i,l)}function ez(e,i,l){F_.stat(e,(_,h)=>_?l(_):HU(i,h.atime,h.mtime,l))}function rz(e,i,l,_,h,p){return i?a3(l,_,h,p):nz(e.mode,l,_,h,p)}function nz(e,i,l,_,h){F_.mkdir(l,p=>{if(p)return h(p);a3(i,l,_,P=>P?h(P):yD(l,e,h))})}function a3(e,i,l,_){F_.readdir(e,(h,p)=>h?_(h):eE(p,e,i,l,_))}function eE(e,i,l,_,h){let p=e.pop();return p?iz(e,p,i,l,_,h):h()}function iz(e,i,l,_,h,p){let P=N0.join(l,i),z=N0.join(_,i);i3(P,z,h,(U,g)=>{if(U)return p(U);if(!g)return eE(e,l,_,h,p);P0.checkPaths(P,z,"copy",h,(v,Y)=>{if(v)return p(v);let{destStat:ce}=Y;ZC(ce,P,z,h,Z=>Z?p(Z):eE(e,l,_,h,p))})})}function tz(e,i,l,_,h){F_.readlink(i,(p,P)=>{if(p)return h(p);if(_.dereference&&(P=N0.resolve(process.cwd(),P)),e)F_.readlink(l,(z,U)=>z?z.code==="EINVAL"||z.code==="UNKNOWN"?F_.symlink(P,l,h):h(z):(_.dereference&&(U=N0.resolve(process.cwd(),U)),P0.isSrcSubdir(P,U)?h(new Error(`Cannot copy '${P}' to a subdirectory of itself, '${U}'.`)):P0.isSrcSubdir(U,P)?h(new Error(`Cannot overwrite '${U}' with '${P}'.`)):az(P,l,h)));else return F_.symlink(P,l,h)})}function az(e,i,l){F_.unlink(i,_=>_?l(_):F_.symlink(e,i,l))}o3.exports=GU});var _3=bo((MH,f3)=>{"use strict";var i_=O_(),I0=Ro("path"),oz=qp().mkdirsSync,sz=XC().utimesMillisSync,w0=Qv();function cz(e,i,l){typeof l=="function"&&(l={filter:l}),l=l||{},l.clobber="clobber"in l?!!l.clobber:!0,l.overwrite="overwrite"in l?!!l.overwrite:l.clobber,l.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended; + + see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat:_,destStat:h}=w0.checkPathsSync(e,i,"copy",l);if(w0.checkParentPathsSync(e,_,i,"copy"),l.filter&&!l.filter(e,i))return;let p=I0.dirname(i);return i_.existsSync(p)||oz(p),c3(h,e,i,l)}function c3(e,i,l,_){let p=(_.dereference?i_.statSync:i_.lstatSync)(i);if(p.isDirectory())return gz(p,e,i,l,_);if(p.isFile()||p.isCharacterDevice()||p.isBlockDevice())return uz(p,e,i,l,_);if(p.isSymbolicLink())return hz(e,i,l,_);throw p.isSocket()?new Error(`Cannot copy a socket file: ${i}`):p.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${i}`):new Error(`Unknown file: ${i}`)}function uz(e,i,l,_,h){return i?lz(e,l,_,h):u3(e,l,_,h)}function lz(e,i,l,_){if(_.overwrite)return i_.unlinkSync(l),u3(e,i,l,_);if(_.errorOnExist)throw new Error(`'${l}' already exists`)}function u3(e,i,l,_){return i_.copyFileSync(i,l),_.preserveTimestamps&&fz(e.mode,i,l),rE(l,e.mode)}function fz(e,i,l){return _z(e)&&dz(l,e),pz(i,l)}function _z(e){return(e&128)===0}function dz(e,i){return rE(e,i|128)}function rE(e,i){return i_.chmodSync(e,i)}function pz(e,i){let l=i_.statSync(e);return sz(i,l.atime,l.mtime)}function gz(e,i,l,_,h){return i?l3(l,_,h):mz(e.mode,l,_,h)}function mz(e,i,l,_){return i_.mkdirSync(l),l3(i,l,_),rE(l,e)}function l3(e,i,l){i_.readdirSync(e).forEach(_=>vz(_,e,i,l))}function vz(e,i,l,_){let h=I0.join(i,e),p=I0.join(l,e);if(_.filter&&!_.filter(h,p))return;let{destStat:P}=w0.checkPathsSync(h,p,"copy",_);return c3(P,h,p,_)}function hz(e,i,l,_){let h=i_.readlinkSync(i);if(_.dereference&&(h=I0.resolve(process.cwd(),h)),e){let p;try{p=i_.readlinkSync(l)}catch(P){if(P.code==="EINVAL"||P.code==="UNKNOWN")return i_.symlinkSync(h,l);throw P}if(_.dereference&&(p=I0.resolve(process.cwd(),p)),w0.isSrcSubdir(h,p))throw new Error(`Cannot copy '${h}' to a subdirectory of itself, '${p}'.`);if(w0.isSrcSubdir(p,h))throw new Error(`Cannot overwrite '${p}' with '${h}'.`);return yz(h,l)}else return i_.symlinkSync(h,l)}function yz(e,i){return i_.unlinkSync(i),i_.symlinkSync(e,i)}f3.exports=cz});var DD=bo((LH,d3)=>{"use strict";var Dz=w_().fromCallback;d3.exports={copy:Dz(s3()),copySync:_3()}});var O0=bo((RH,g3)=>{"use strict";var p3=O_(),bz=w_().fromCallback;function Sz(e,i){p3.rm(e,{recursive:!0,force:!0},i)}function xz(e){p3.rmSync(e,{recursive:!0,force:!0})}g3.exports={remove:bz(Sz),removeSync:xz}});var x3=bo((BH,S3)=>{"use strict";var Cz=w_().fromPromise,h3=$v(),y3=Ro("path"),D3=qp(),b3=O0(),m3=Cz(async function(i){let l;try{l=await h3.readdir(i)}catch{return D3.mkdirs(i)}return Promise.all(l.map(_=>b3.remove(y3.join(i,_))))});function v3(e){let i;try{i=h3.readdirSync(e)}catch{return D3.mkdirsSync(e)}i.forEach(l=>{l=y3.join(e,l),b3.removeSync(l)})}S3.exports={emptyDirSync:v3,emptydirSync:v3,emptyDir:m3,emptydir:m3}});var k3=bo((JH,T3)=>{"use strict";var Ez=w_().fromCallback,C3=Ro("path"),$m=O_(),E3=qp();function Tz(e,i){function l(){$m.writeFile(e,"",_=>{if(_)return i(_);i()})}$m.stat(e,(_,h)=>{if(!_&&h.isFile())return i();let p=C3.dirname(e);$m.stat(p,(P,z)=>{if(P)return P.code==="ENOENT"?E3.mkdirs(p,U=>{if(U)return i(U);l()}):i(P);z.isDirectory()?l():$m.readdir(p,U=>{if(U)return i(U)})})})}function kz(e){let i;try{i=$m.statSync(e)}catch{}if(i&&i.isFile())return;let l=C3.dirname(e);try{$m.statSync(l).isDirectory()||$m.readdirSync(l)}catch(_){if(_&&_.code==="ENOENT")E3.mkdirsSync(l);else throw _}$m.writeFileSync(e,"")}T3.exports={createFile:Ez(Tz),createFileSync:kz}});var w3=bo((jH,I3)=>{"use strict";var Az=w_().fromCallback,A3=Ro("path"),Qm=O_(),N3=qp(),Nz=Km().pathExists,{areIdentical:P3}=Qv();function Pz(e,i,l){function _(h,p){Qm.link(h,p,P=>{if(P)return l(P);l(null)})}Qm.lstat(i,(h,p)=>{Qm.lstat(e,(P,z)=>{if(P)return P.message=P.message.replace("lstat","ensureLink"),l(P);if(p&&P3(z,p))return l(null);let U=A3.dirname(i);Nz(U,(g,v)=>{if(g)return l(g);if(v)return _(e,i);N3.mkdirs(U,Y=>{if(Y)return l(Y);_(e,i)})})})})}function Iz(e,i){let l;try{l=Qm.lstatSync(i)}catch{}try{let p=Qm.lstatSync(e);if(l&&P3(p,l))return}catch(p){throw p.message=p.message.replace("lstat","ensureLink"),p}let _=A3.dirname(i);return Qm.existsSync(_)||N3.mkdirsSync(_),Qm.linkSync(e,i)}I3.exports={createLink:Az(Pz),createLinkSync:Iz}});var F3=bo((UH,O3)=>{"use strict";var Xm=Ro("path"),F0=O_(),wz=Km().pathExists;function Oz(e,i,l){if(Xm.isAbsolute(e))return F0.lstat(e,_=>_?(_.message=_.message.replace("lstat","ensureSymlink"),l(_)):l(null,{toCwd:e,toDst:e}));{let _=Xm.dirname(i),h=Xm.join(_,e);return wz(h,(p,P)=>p?l(p):P?l(null,{toCwd:h,toDst:e}):F0.lstat(e,z=>z?(z.message=z.message.replace("lstat","ensureSymlink"),l(z)):l(null,{toCwd:e,toDst:Xm.relative(_,e)})))}}function Fz(e,i){let l;if(Xm.isAbsolute(e)){if(l=F0.existsSync(e),!l)throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}else{let _=Xm.dirname(i),h=Xm.join(_,e);if(l=F0.existsSync(h),l)return{toCwd:h,toDst:e};if(l=F0.existsSync(e),!l)throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:Xm.relative(_,e)}}}O3.exports={symlinkPaths:Oz,symlinkPathsSync:Fz}});var R3=bo((zH,L3)=>{"use strict";var M3=O_();function Mz(e,i,l){if(l=typeof i=="function"?i:l,i=typeof i=="function"?!1:i,i)return l(null,i);M3.lstat(e,(_,h)=>{if(_)return l(null,"file");i=h&&h.isDirectory()?"dir":"file",l(null,i)})}function Lz(e,i){let l;if(i)return i;try{l=M3.lstatSync(e)}catch{return"file"}return l&&l.isDirectory()?"dir":"file"}L3.exports={symlinkType:Mz,symlinkTypeSync:Lz}});var q3=bo((WH,V3)=>{"use strict";var Rz=w_().fromCallback,J3=Ro("path"),Hp=$v(),j3=qp(),Bz=j3.mkdirs,Jz=j3.mkdirsSync,U3=F3(),jz=U3.symlinkPaths,Uz=U3.symlinkPathsSync,z3=R3(),zz=z3.symlinkType,Wz=z3.symlinkTypeSync,Vz=Km().pathExists,{areIdentical:W3}=Qv();function qz(e,i,l,_){_=typeof l=="function"?l:_,l=typeof l=="function"?!1:l,Hp.lstat(i,(h,p)=>{!h&&p.isSymbolicLink()?Promise.all([Hp.stat(e),Hp.stat(i)]).then(([P,z])=>{if(W3(P,z))return _(null);B3(e,i,l,_)}):B3(e,i,l,_)})}function B3(e,i,l,_){jz(e,i,(h,p)=>{if(h)return _(h);e=p.toDst,zz(p.toCwd,l,(P,z)=>{if(P)return _(P);let U=J3.dirname(i);Vz(U,(g,v)=>{if(g)return _(g);if(v)return Hp.symlink(e,i,z,_);Bz(U,Y=>{if(Y)return _(Y);Hp.symlink(e,i,z,_)})})})})}function Hz(e,i,l){let _;try{_=Hp.lstatSync(i)}catch{}if(_&&_.isSymbolicLink()){let z=Hp.statSync(e),U=Hp.statSync(i);if(W3(z,U))return}let h=Uz(e,i);e=h.toDst,l=Wz(h.toCwd,l);let p=J3.dirname(i);return Hp.existsSync(p)||Jz(p),Hp.symlinkSync(e,i,l)}V3.exports={createSymlink:Rz(qz),createSymlinkSync:Hz}});var Z3=bo((VH,Y3)=>{"use strict";var{createFile:H3,createFileSync:G3}=k3(),{createLink:K3,createLinkSync:$3}=w3(),{createSymlink:Q3,createSymlinkSync:X3}=q3();Y3.exports={createFile:H3,createFileSync:G3,ensureFile:H3,ensureFileSync:G3,createLink:K3,createLinkSync:$3,ensureLink:K3,ensureLinkSync:$3,createSymlink:Q3,createSymlinkSync:X3,ensureSymlink:Q3,ensureSymlinkSync:X3}});var bD=bo((qH,eI)=>{function Gz(e,{EOL:i=` +`,finalEOL:l=!0,replacer:_=null,spaces:h}={}){let p=l?i:"";return JSON.stringify(e,_,h).replace(/\n/g,i)+p}function Kz(e){return Buffer.isBuffer(e)&&(e=e.toString("utf8")),e.replace(/^\uFEFF/,"")}eI.exports={stringify:Gz,stripBom:Kz}});var tI=bo((HH,iI)=>{var Yh;try{Yh=O_()}catch{Yh=Ro("fs")}var SD=w_(),{stringify:rI,stripBom:nI}=bD();async function $z(e,i={}){typeof i=="string"&&(i={encoding:i});let l=i.fs||Yh,_="throws"in i?i.throws:!0,h=await SD.fromCallback(l.readFile)(e,i);h=nI(h);let p;try{p=JSON.parse(h,i?i.reviver:null)}catch(P){if(_)throw P.message=`${e}: ${P.message}`,P;return null}return p}var Qz=SD.fromPromise($z);function Xz(e,i={}){typeof i=="string"&&(i={encoding:i});let l=i.fs||Yh,_="throws"in i?i.throws:!0;try{let h=l.readFileSync(e,i);return h=nI(h),JSON.parse(h,i.reviver)}catch(h){if(_)throw h.message=`${e}: ${h.message}`,h;return null}}async function Yz(e,i,l={}){let _=l.fs||Yh,h=rI(i,l);await SD.fromCallback(_.writeFile)(e,h,l)}var Zz=SD.fromPromise(Yz);function eW(e,i,l={}){let _=l.fs||Yh,h=rI(i,l);return _.writeFileSync(e,h,l)}var rW={readFile:Qz,readFileSync:Xz,writeFile:Zz,writeFileSync:eW};iI.exports=rW});var oI=bo((GH,aI)=>{"use strict";var xD=tI();aI.exports={readJson:xD.readFile,readJsonSync:xD.readFileSync,writeJson:xD.writeFile,writeJsonSync:xD.writeFileSync}});var CD=bo((KH,uI)=>{"use strict";var nW=w_().fromCallback,M0=O_(),sI=Ro("path"),cI=qp(),iW=Km().pathExists;function tW(e,i,l,_){typeof l=="function"&&(_=l,l="utf8");let h=sI.dirname(e);iW(h,(p,P)=>{if(p)return _(p);if(P)return M0.writeFile(e,i,l,_);cI.mkdirs(h,z=>{if(z)return _(z);M0.writeFile(e,i,l,_)})})}function aW(e,...i){let l=sI.dirname(e);if(M0.existsSync(l))return M0.writeFileSync(e,...i);cI.mkdirsSync(l),M0.writeFileSync(e,...i)}uI.exports={outputFile:nW(tW),outputFileSync:aW}});var fI=bo(($H,lI)=>{"use strict";var{stringify:oW}=bD(),{outputFile:sW}=CD();async function cW(e,i,l={}){let _=oW(i,l);await sW(e,_,l)}lI.exports=cW});var dI=bo((QH,_I)=>{"use strict";var{stringify:uW}=bD(),{outputFileSync:lW}=CD();function fW(e,i,l){let _=uW(i,l);lW(e,_,l)}_I.exports=fW});var gI=bo((XH,pI)=>{"use strict";var _W=w_().fromPromise,t_=oI();t_.outputJson=_W(fI());t_.outputJsonSync=dI();t_.outputJSON=t_.outputJson;t_.outputJSONSync=t_.outputJsonSync;t_.writeJSON=t_.writeJson;t_.writeJSONSync=t_.writeJsonSync;t_.readJSON=t_.readJson;t_.readJSONSync=t_.readJsonSync;pI.exports=t_});var DI=bo((YH,yI)=>{"use strict";var dW=O_(),iE=Ro("path"),pW=DD().copy,hI=O0().remove,gW=qp().mkdirp,mW=Km().pathExists,mI=Qv();function vW(e,i,l,_){typeof l=="function"&&(_=l,l={}),l=l||{};let h=l.overwrite||l.clobber||!1;mI.checkPaths(e,i,"move",l,(p,P)=>{if(p)return _(p);let{srcStat:z,isChangingCase:U=!1}=P;mI.checkParentPaths(e,z,i,"move",g=>{if(g)return _(g);if(hW(i))return vI(e,i,h,U,_);gW(iE.dirname(i),v=>v?_(v):vI(e,i,h,U,_))})})}function hW(e){let i=iE.dirname(e);return iE.parse(i).root===i}function vI(e,i,l,_,h){if(_)return nE(e,i,l,h);if(l)return hI(i,p=>p?h(p):nE(e,i,l,h));mW(i,(p,P)=>p?h(p):P?h(new Error("dest already exists.")):nE(e,i,l,h))}function nE(e,i,l,_){dW.rename(e,i,h=>h?h.code!=="EXDEV"?_(h):yW(e,i,l,_):_())}function yW(e,i,l,_){pW(e,i,{overwrite:l,errorOnExist:!0},p=>p?_(p):hI(e,_))}yI.exports=vW});var EI=bo((ZH,CI)=>{"use strict";var SI=O_(),aE=Ro("path"),DW=DD().copySync,xI=O0().removeSync,bW=qp().mkdirpSync,bI=Qv();function SW(e,i,l){l=l||{};let _=l.overwrite||l.clobber||!1,{srcStat:h,isChangingCase:p=!1}=bI.checkPathsSync(e,i,"move",l);return bI.checkParentPathsSync(e,h,i,"move"),xW(i)||bW(aE.dirname(i)),CW(e,i,_,p)}function xW(e){let i=aE.dirname(e);return aE.parse(i).root===i}function CW(e,i,l,_){if(_)return tE(e,i,l);if(l)return xI(i),tE(e,i,l);if(SI.existsSync(i))throw new Error("dest already exists.");return tE(e,i,l)}function tE(e,i,l){try{SI.renameSync(e,i)}catch(_){if(_.code!=="EXDEV")throw _;return EW(e,i,l)}}function EW(e,i,l){return DW(e,i,{overwrite:l,errorOnExist:!0}),xI(e)}CI.exports=SW});var kI=bo((eG,TI)=>{"use strict";var TW=w_().fromCallback;TI.exports={move:TW(DI()),moveSync:EI()}});var NI=bo((rG,AI)=>{"use strict";AI.exports={...$v(),...DD(),...x3(),...Z3(),...gI(),...qp(),...kI(),...CD(),...Km(),...O0()}});var cE=bo((fd,L0)=>{"use strict";var Hn=fd&&fd.__spreadArray||function(e,i,l){if(l||arguments.length===2)for(var _=0,h=i.length,p;_0&&p[p.length-1])&&(g[0]===6||g[0]===2)){l=0;continue}if(g[0]===3&&(!p||g[1]>p[0]&&g[1]=0;hr--){var Br=ur(je[hr],hr);if(Br)return Br}}e.forEachRight=h;function p(je,ur){if(je!==void 0)for(var hr=0;hr=0;Br--){var Mn=je[Br];if(ur(Mn,Br))return Mn}}e.findLast=ie;function te(je,ur,hr){if(je===void 0)return-1;for(var Br=hr??0;Br=0;Br--)if(ur(je[Br],Br))return Br;return-1}e.findLastIndex=x;function J(je,ur){for(var hr=0;hr0;return!1}e.some=oe;function W(je,ur,hr){for(var Br,Mn=0;Mn0&&e.Debug.assertGreaterThanOrEqual(hr(ur[di],ur[di-1]),0);r:for(var pi=Mn;Mnpi&&e.Debug.assertGreaterThanOrEqual(hr(je[Mn],je[Mn-1]),0),hr(ur[di],je[Mn])){case-1:Br.push(ur[di]);continue e;case 0:continue e;case 1:continue r}}return Br}e.relativeComplement=Ee;function Le(je,ur){for(var hr=0,Br=0,Mn=je;Br>1),Pt=hr(je[_i],_i);switch(Br(Pt,ur)){case-1:di=_i+1;break;case 0:return _i;case 1:pi=_i-1;break}}return~di}e.binarySearchKey=ye;function or(je,ur,hr,Br,Mn){if(je&&je.length>0){var di=je.length;if(di>0){var pi=Br===void 0||Br<0?0:Br,_i=Mn===void 0||pi+Mn>di-1?di-1:pi+Mn,Pt=void 0;for(arguments.length<=2?(Pt=je[pi],pi++):Pt=hr;pi<=_i;)Pt=ur(Pt,je[pi],pi),pi++;return Pt}}return hr}e.reduceLeft=or;var Pe=Object.prototype.hasOwnProperty;function Ve(je,ur){return Pe.call(je,ur)}e.hasProperty=Ve;function Ar(je,ur){return Pe.call(je,ur)?je[ur]:void 0}e.getProperty=Ar;function ke(je){var ur=[];for(var hr in je)Pe.call(je,hr)&&ur.push(hr);return ur}e.getOwnKeys=ke;function cr(je){var ur=[];do for(var hr=Object.getOwnPropertyNames(je),Br=0,Mn=hr;Br100&&hr>ur.length>>1){var _i=ur.length-hr;ur.copyWithin(0,hr),ur.length=_i,hr=0}return pi}return{enqueue:Mn,dequeue:di,isEmpty:Br}}e.createQueue=Ne;function Ze(je,ur){var hr=new e.Map,Br=0;function Mn(){var pi=hr.values(),_i;return{next:function(){for(;;)if(_i){var Pt=_i.next();if(!Pt.done)return{value:Pt.value};_i=void 0}else{var Pt=pi.next();if(Pt.done)return{value:void 0,done:!0};if(!Qe(Pt.value))return{value:Pt.value};_i=wr(Pt.value)}}}}var di={has:function(pi){var _i=je(pi);if(!hr.has(_i))return!1;var Pt=hr.get(_i);if(!Qe(Pt))return ur(Pt,pi);for(var Gt=0,fa=Pt;Gtur?1:0)}e.compareStringsCaseInsensitive=gn;function rn(je,ur){return Ir(je,ur)}e.compareStringsCaseSensitive=rn;function xn(je){return je?gn:rn}e.getStringComparer=xn;var Dn=function(){var je,ur,hr=_i();return Pt;function Br(Gt,fa,ia){if(Gt===fa)return 0;if(Gt===void 0)return-1;if(fa===void 0)return 1;var wa=ia(Gt,fa);return wa<0?-1:wa>0?1:0}function Mn(Gt){var fa=new Intl.Collator(Gt,{usage:"sort",sensitivity:"variant"}).compare;return function(ia,wa){return Br(ia,wa,fa)}}function di(Gt){if(Gt!==void 0)return pi();return function(ia,wa){return Br(ia,wa,fa)};function fa(ia,wa){return ia.localeCompare(wa)}}function pi(){return function(ia,wa){return Br(ia,wa,Gt)};function Gt(ia,wa){return fa(ia.toUpperCase(),wa.toUpperCase())||fa(ia,wa)}function fa(ia,wa){return iawa?1:0}}function _i(){return typeof Intl=="object"&&typeof Intl.Collator=="function"?Mn:typeof String.prototype.localeCompare=="function"&&typeof String.prototype.toLocaleUpperCase=="function"&&"a".localeCompare("B")<0?di:pi}function Pt(Gt){return Gt===void 0?je||(je=hr(Gt)):Gt==="en-US"?ur||(ur=hr(Gt)):hr(Gt)}}(),On,Qn;function Ke(){return Qn}e.getUILocale=Ke;function cn(je){Qn!==je&&(Qn=je,On=void 0)}e.setUILocale=cn;function Vn(je,ur){var hr=On||(On=Dn(Qn));return hr(je,ur)}e.compareStringsCaseSensitiveUI=Vn;function $i(je,ur,hr,Br){return je===ur?0:je===void 0?-1:ur===void 0?1:Br(je[hr],ur[hr])}e.compareProperties=$i;function pt(je,ur){return Re(je?1:0,ur?1:0)}e.compareBooleans=pt;function Hi(je,ur,hr){for(var Br=Math.max(2,Math.floor(je.length*.34)),Mn=Math.floor(je.length*.4)+1,di,pi=0,_i=ur;pi<_i.length;pi++){var Pt=_i[pi],Gt=hr(Pt);if(Gt!==void 0&&Math.abs(Gt.length-je.length)<=Br){if(Gt===je||Gt.length<3&&Gt.toLowerCase()!==je.toLowerCase())continue;var fa=Ci(je,Gt,Mn-.1);if(fa===void 0)continue;e.Debug.assert(fahr?pi-hr:1),Gt=Math.floor(ur.length>hr+pi?hr+pi:ur.length);Mn[0]=pi;for(var fa=pi,ia=1;iahr)return;var vs=Br;Br=Mn,Mn=vs}var hs=Br[ur.length];return hs>hr?void 0:hs}function Tt(je,ur){var hr=je.length-ur.length;return hr>=0&&je.indexOf(ur,hr)===hr}e.endsWith=Tt;function st(je,ur){return Tt(je,ur)?je.slice(0,je.length-ur.length):je}e.removeSuffix=st;function Yi(je,ur){return Tt(je,ur)?je.slice(0,je.length-ur.length):void 0}e.tryRemoveSuffix=Yi;function ii(je,ur){return je.indexOf(ur)!==-1}e.stringContains=ii;function qa(je){for(var ur=je.length,hr=ur-1;hr>0;hr--){var Br=je.charCodeAt(hr);if(Br>=48&&Br<=57)do--hr,Br=je.charCodeAt(hr);while(hr>0&&Br>=48&&Br<=57);else if(hr>4&&(Br===110||Br===78)){if(--hr,Br=je.charCodeAt(hr),Br!==105&&Br!==73||(--hr,Br=je.charCodeAt(hr),Br!==109&&Br!==77))break;--hr,Br=je.charCodeAt(hr)}else break;if(Br!==45&&Br!==46)break;ur=hr}return ur===je.length?je:je.slice(0,ur)}e.removeMinAndVersionNumbers=qa;function za(je,ur){for(var hr=0;hrMn&&(Mn=Pt.prefix.length,Br=_i)}return Br}e.findBestPatternMatch=so;function po(je,ur){return je.lastIndexOf(ur,0)===0}e.startsWith=po;function ws(je,ur){return po(je,ur)?je.substr(ur.length):je}e.removePrefix=ws;function uo(je,ur,hr){return hr===void 0&&(hr=Wn),po(hr(je),hr(ur))?je.substring(ur.length):void 0}e.tryRemovePrefix=uo;function ns(je,ur){var hr=je.prefix,Br=je.suffix;return ur.length>=hr.length+Br.length&&po(ur,hr)&&Tt(ur,Br)}e.isPatternMatch=ns;function Yo(je,ur){return function(hr){return je(hr)&&ur(hr)}}e.and=Yo;function is(){for(var je=[],ur=0;ur=0&&e.isWhiteSpaceLike(je.charCodeAt(ur));)ur--;return je.slice(0,ur+1)}})(fr||(fr={}));var fr;(function(e){var i;(function(_){_[_.Off=0]="Off",_[_.Error=1]="Error",_[_.Warning=2]="Warning",_[_.Info=3]="Info",_[_.Verbose=4]="Verbose"})(i=e.LogLevel||(e.LogLevel={}));var l;(function(_){var h,p=0;_.currentLogLevel=i.Warning,_.isDebugging=!1,_.enableDeprecationWarnings=!0;function P(){return h??(h=new e.Version(e.version))}_.getTypeScriptVersion=P;function z(vr){return _.currentLogLevel<=vr}_.shouldLog=z;function U(vr,kr){_.loggingHost&&z(vr)&&_.loggingHost.log(vr,kr)}function g(vr){U(i.Info,vr)}_.log=g,function(vr){function kr(Lr){U(i.Error,Lr)}vr.error=kr;function jr(Lr){U(i.Warning,Lr)}vr.warn=jr;function Cr(Lr){U(i.Info,Lr)}vr.log=Cr;function en(Lr){U(i.Verbose,Lr)}vr.trace=en}(g=_.log||(_.log={}));var v={};function Y(){return p}_.getAssertionLevel=Y;function ce(vr){var kr=p;if(p=vr,vr>kr)for(var jr=0,Cr=e.getOwnKeys(v);jr=Lr.level&&(_[en]=Lr,v[en]=void 0)}}_.setAssertionLevel=ce;function Z(vr){return p>=vr}_.shouldAssert=Z;function ie(vr,kr){return Z(vr)?!0:(v[kr]={level:vr,assertion:_[kr]},_[kr]=e.noop,!1)}function te(vr,kr){debugger;var jr=new Error(vr?"Debug Failure. ".concat(vr):"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(jr,kr||te),jr}_.fail=te;function x(vr,kr,jr){return te("".concat(kr||"Unexpected node.",`\r +Node `).concat(De(vr.kind)," was unexpected."),jr||x)}_.failBadSyntaxKind=x;function J(vr,kr,jr,Cr){vr||(kr=kr?"False expression: ".concat(kr):"False expression.",jr&&(kr+=`\r +Verbose Debug Information: `+(typeof jr=="string"?jr:jr())),te(kr,Cr||J))}_.assert=J;function d(vr,kr,jr,Cr,en){if(vr!==kr){var Lr=jr?Cr?"".concat(jr," ").concat(Cr):jr:"";te("Expected ".concat(vr," === ").concat(kr,". ").concat(Lr),en||d)}}_.assertEqual=d;function D(vr,kr,jr,Cr){vr>=kr&&te("Expected ".concat(vr," < ").concat(kr,". ").concat(jr||""),Cr||D)}_.assertLessThan=D;function C(vr,kr,jr){vr>kr&&te("Expected ".concat(vr," <= ").concat(kr),jr||C)}_.assertLessThanOrEqual=C;function k(vr,kr,jr){vr= ").concat(kr),jr||k)}_.assertGreaterThanOrEqual=k;function R(vr,kr,jr){vr==null&&te(kr,jr||R)}_.assertIsDefined=R;function M(vr,kr,jr){return R(vr,kr,jr||M),vr}_.checkDefined=M;function ge(vr,kr,jr){for(var Cr=0,en=vr;Cr0&&Cr[0][0]===0?Cr[0][1]:"0";if(jr){for(var en=[],Lr=vr,pn=0,ye=Cr;pnvr)break;Pe!==0&&Pe&vr&&(en.push(Ve),Lr&=~Pe)}if(Lr===0)return en.join("|")}else for(var Ar=0,ke=Cr;Ar=0;return or?er(vr,Lr,ye,kr.message):Pe?wr(vr,Lr,ye,kr.message):e.noop}_.createDeprecation=mr;function We(vr,kr){return function(){return vr(),kr.apply(this,arguments)}}function a(vr,kr){var jr,Cr=mr((jr=kr==null?void 0:kr.name)!==null&&jr!==void 0?jr:I(vr),kr);return We(Cr,vr)}_.deprecate=a;function qr(vr){var kr=vr&7,jr=kr===0?"in out":kr===3?"[bivariant]":kr===2?"in":kr===1?"out":kr===4?"[independent]":"";return vr&8?jr+=" (unmeasurable)":vr&16&&(jr+=" (unreliable)"),jr}_.formatVariance=qr;var ln=function(){function vr(){}return vr.prototype.__debugToString=function(){var kr;switch(this.kind){case 3:return((kr=this.debugInfo)===null||kr===void 0?void 0:kr.call(this))||"(function mapper)";case 0:return"".concat(this.source.__debugTypeToString()," -> ").concat(this.target.__debugTypeToString());case 1:return e.zipWith(this.sources,this.targets||e.map(this.sources,function(){return"any"}),function(jr,Cr){return"".concat(jr.__debugTypeToString()," -> ").concat(typeof Cr=="string"?Cr:Cr.__debugTypeToString())}).join(", ");case 2:return e.zipWith(this.sources,this.targets,function(jr,Cr){return"".concat(jr.__debugTypeToString()," -> ").concat(Cr().__debugTypeToString())}).join(", ");case 5:case 4:return"m1: ".concat(this.mapper1.__debugToString().split(` +`).join(` + `),` +m2: `).concat(this.mapper2.__debugToString().split(` +`).join(` + `));default:return re(this)}},vr}();_.DebugTypeMapper=ln;function dr(vr){return _.isDebugging?Object.setPrototypeOf(vr,ln.prototype):vr}_.attachDebugPrototypeIfDebug=dr})(l=e.Debug||(e.Debug={}))})(fr||(fr={}));var fr;(function(e){var i=/^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i,l=/^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i,_=/^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)$/i,h=/^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i,p=/^[a-z0-9-]+$/i,P=/^(0|[1-9]\d*)$/,z=function(){function K(q,b,F,Q,j){if(b===void 0&&(b=0),F===void 0&&(F=0),Q===void 0&&(Q=""),j===void 0&&(j=""),typeof q=="string"){var I=e.Debug.checkDefined(U(q),"Invalid version");q=I.major,b=I.minor,F=I.patch,Q=I.prerelease,j=I.build}e.Debug.assert(q>=0,"Invalid argument: major"),e.Debug.assert(b>=0,"Invalid argument: minor"),e.Debug.assert(F>=0,"Invalid argument: patch");var L=Q?e.isArray(Q)?Q:Q.split("."):e.emptyArray,V=j?e.isArray(j)?j:j.split("."):e.emptyArray;e.Debug.assert(e.every(L,function(ne){return _.test(ne)}),"Invalid argument: prerelease"),e.Debug.assert(e.every(V,function(ne){return p.test(ne)}),"Invalid argument: build"),this.major=q,this.minor=b,this.patch=F,this.prerelease=L,this.build=V}return K.tryParse=function(q){var b=U(q);if(b){var F=b.major,Q=b.minor,j=b.patch,I=b.prerelease,L=b.build;return new K(F,Q,j,I,L)}},K.prototype.compareTo=function(q){return this===q?0:q===void 0?1:e.compareValues(this.major,q.major)||e.compareValues(this.minor,q.minor)||e.compareValues(this.patch,q.patch)||g(this.prerelease,q.prerelease)},K.prototype.increment=function(q){switch(q){case"major":return new K(this.major+1,0,0);case"minor":return new K(this.major,this.minor+1,0);case"patch":return new K(this.major,this.minor,this.patch+1);default:return e.Debug.assertNever(q)}},K.prototype.with=function(q){var b=q.major,F=b===void 0?this.major:b,Q=q.minor,j=Q===void 0?this.minor:Q,I=q.patch,L=I===void 0?this.patch:I,V=q.prerelease,ne=V===void 0?this.prerelease:V,se=q.build,De=se===void 0?this.build:se;return new K(F,j,L,ne,De)},K.prototype.toString=function(){var q="".concat(this.major,".").concat(this.minor,".").concat(this.patch);return e.some(this.prerelease)&&(q+="-".concat(this.prerelease.join("."))),e.some(this.build)&&(q+="+".concat(this.build.join("."))),q},K.zero=new K(0,0,0,["0"]),K}();e.Version=z;function U(K){var q=i.exec(K);if(q){var b=q[1],F=q[2],Q=F===void 0?"0":F,j=q[3],I=j===void 0?"0":j,L=q[4],V=L===void 0?"":L,ne=q[5],se=ne===void 0?"":ne;if(!(V&&!l.test(V))&&!(se&&!h.test(se)))return{major:parseInt(b,10),minor:parseInt(Q,10),patch:parseInt(I,10),prerelease:V,build:se}}}function g(K,q){if(K===q)return 0;if(K.length===0)return q.length===0?0:1;if(q.length===0)return-1;for(var b=Math.min(K.length,q.length),F=0;F|>=|=)?\s*([a-z0-9-+.*]+)$/i;function x(K){for(var q=[],b=0,F=e.trimString(K).split(Y);b=",F.version)),C(Q.major)||b.push(C(Q.minor)?k("<",Q.version.increment("major")):C(Q.patch)?k("<",Q.version.increment("minor")):k("<=",Q.version)),!0):!1}function D(K,q,b){var F=J(q);if(!F)return!1;var Q=F.version,j=F.major,I=F.minor,L=F.patch;if(C(j))(K==="<"||K===">")&&b.push(k("<",z.zero));else switch(K){case"~":b.push(k(">=",Q)),b.push(k("<",Q.increment(C(I)?"major":"minor")));break;case"^":b.push(k(">=",Q)),b.push(k("<",Q.increment(Q.major>0||C(I)?"major":Q.minor>0||C(L)?"minor":"patch")));break;case"<":case">=":b.push(C(I)||C(L)?k(K,Q.with({prerelease:"0"})):k(K,Q));break;case"<=":case">":b.push(C(I)?k(K==="<="?"<":">=",Q.increment("major").with({prerelease:"0"})):C(L)?k(K==="<="?"<":">=",Q.increment("minor").with({prerelease:"0"})):k(K,Q));break;case"=":case void 0:C(I)||C(L)?(b.push(k(">=",Q.with({prerelease:"0"}))),b.push(k("<",Q.increment(C(I)?"major":"minor").with({prerelease:"0"})))):b.push(k("=",Q));break;default:return!1}return!0}function C(K){return K==="*"||K==="x"||K==="X"}function k(K,q){return{operator:K,operand:q}}function R(K,q){if(q.length===0)return!0;for(var b=0,F=q;b":return F>0;case">=":return F>=0;case"=":return F===0;default:return e.Debug.assertNever(q)}}function ve(K){return e.map(K,re).join(" || ")||"*"}function re(K){return e.map(K,N).join(" ")}function N(K){return"".concat(K.operator).concat(K.operand)}})(fr||(fr={}));var fr;(function(e){function i(z,U){return typeof z=="object"&&typeof z.timeOrigin=="number"&&typeof z.mark=="function"&&typeof z.measure=="function"&&typeof z.now=="function"&&typeof z.clearMarks=="function"&&typeof z.clearMeasures=="function"&&typeof U=="function"}function l(){if(typeof performance=="object"&&typeof PerformanceObserver=="function"&&i(performance,PerformanceObserver))return{shouldWriteNativeEvents:!0,performance,PerformanceObserver}}function _(){if(typeof process<"u"&&process.nextTick&&!process.browser&&typeof L0=="object"&&typeof Ro=="function")try{var z,U=Ro("perf_hooks"),g=U.performance,v=U.PerformanceObserver;if(i(g,v)){z=g;var Y=new e.Version(process.versions.node),ce=new e.VersionRange("<12.16.3 || 13 <13.13");return ce.test(Y)&&(z={get timeOrigin(){return g.timeOrigin},now:function(){return g.now()},mark:function(Z){return g.mark(Z)},measure:function(Z,ie,te){ie===void 0&&(ie="nodeStart"),te===void 0&&(te="__performance.measure-fix__",g.mark(te)),g.measure(Z,ie,te),te==="__performance.measure-fix__"&&g.clearMarks("__performance.measure-fix__")},clearMarks:function(Z){return g.clearMarks(Z)},clearMeasures:function(Z){return g.clearMeasures(Z)}}),{shouldWriteNativeEvents:!1,performance:z,PerformanceObserver:v}}}catch{}}var h=l()||_(),p=h==null?void 0:h.performance;function P(){return h}e.tryGetNativePerformanceHooks=P,e.timestamp=p?function(){return p.now()}:Date.now?Date.now:function(){return+new Date}})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _,h;function p(M,ge,ve,re){return M?P(ge,ve,re):l.nullTimer}l.createTimerIf=p;function P(M,ge,ve){var re=0;return{enter:N,exit:K};function N(){++re===1&&ce(ge)}function K(){--re===0?(ce(ve),Z(M,ge,ve)):re<0&&e.Debug.fail("enter/exit count does not match.")}}l.createTimer=P,l.nullTimer={enter:e.noop,exit:e.noop};var z=!1,U=e.timestamp(),g=new e.Map,v=new e.Map,Y=new e.Map;function ce(M){var ge;if(z){var ve=(ge=v.get(M))!==null&&ge!==void 0?ge:0;v.set(M,ve+1),g.set(M,e.timestamp()),h==null||h.mark(M)}}l.mark=ce;function Z(M,ge,ve){var re,N;if(z){var K=(re=ve!==void 0?g.get(ve):void 0)!==null&&re!==void 0?re:e.timestamp(),q=(N=ge!==void 0?g.get(ge):void 0)!==null&&N!==void 0?N:U,b=Y.get(M)||0;Y.set(M,b+(K-q)),h==null||h.measure(M,ge,ve)}}l.measure=Z;function ie(M){return v.get(M)||0}l.getCount=ie;function te(M){return Y.get(M)||0}l.getDuration=te;function x(M){Y.forEach(function(ge,ve){return M(ve,ge)})}l.forEachMeasure=x;function J(M){g.forEach(function(ge,ve){return M(ve)})}l.forEachMark=J;function d(M){M!==void 0?Y.delete(M):Y.clear(),h==null||h.clearMeasures(M)}l.clearMeasures=d;function D(M){M!==void 0?(v.delete(M),g.delete(M)):(v.clear(),g.clear()),h==null||h.clearMarks(M)}l.clearMarks=D;function C(){return z}l.isEnabled=C;function k(M){var ge;return M===void 0&&(M=e.sys),z||(z=!0,_||(_=e.tryGetNativePerformanceHooks()),_&&(U=_.performance.timeOrigin,(_.shouldWriteNativeEvents||!((ge=M==null?void 0:M.cpuProfilingEnabled)===null||ge===void 0)&&ge.call(M)||M!=null&&M.debugMode)&&(h=_.performance))),!0}l.enable=k;function R(){z&&(g.clear(),v.clear(),Y.clear(),h=void 0,z=!1)}l.disable=R})(i=e.performance||(e.performance={}))})(fr||(fr={}));var fr;(function(e){var i,l={logEvent:e.noop,logErrEvent:e.noop,logPerfEvent:e.noop,logInfoEvent:e.noop,logStartCommand:e.noop,logStopCommand:e.noop,logStartUpdateProgram:e.noop,logStopUpdateProgram:e.noop,logStartUpdateGraph:e.noop,logStopUpdateGraph:e.noop,logStartResolveModule:e.noop,logStopResolveModule:e.noop,logStartParseSourceFile:e.noop,logStopParseSourceFile:e.noop,logStartReadFile:e.noop,logStopReadFile:e.noop,logStartBindFile:e.noop,logStopBindFile:e.noop,logStartScheduledOperation:e.noop,logStopScheduledOperation:e.noop},_;try{var h=(i=process.env.TS_ETW_MODULE_PATH)!==null&&i!==void 0?i:"./node_modules/@microsoft/typescript-etw";_=Ro(h)}catch{_=void 0}e.perfLogger=_&&_.logEvent?_:l})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _,h=0,p=0,P,z=[],U,g=[];function v(ve,re,N){if(e.Debug.assert(!e.tracing,"Tracing already started"),_===void 0)try{_=Ro("fs")}catch(Q){throw new Error(`tracing requires having fs +(original error: `.concat(Q.message||Q,")"))}P=ve,z.length=0,U===void 0&&(U=e.combinePaths(re,"legend.json")),_.existsSync(re)||_.mkdirSync(re,{recursive:!0});var K=P==="build"?".".concat(process.pid,"-").concat(++h):P==="server"?".".concat(process.pid):"",q=e.combinePaths(re,"trace".concat(K,".json")),b=e.combinePaths(re,"types".concat(K,".json"));g.push({configFilePath:N,tracePath:q,typesPath:b}),p=_.openSync(q,"w"),e.tracing=l;var F={cat:"__metadata",ph:"M",ts:1e3*e.timestamp(),pid:1,tid:1};_.writeSync(p,`[ +`+[Ri({name:"process_name",args:{name:"tsc"}},F),Ri({name:"thread_name",args:{name:"Main"}},F),Ri(Ri({name:"TracingStartedInBrowser"},F),{cat:"disabled-by-default-devtools.timeline"})].map(function(Q){return JSON.stringify(Q)}).join(`, +`))}l.startTracing=v;function Y(){e.Debug.assert(e.tracing,"Tracing is not in progress"),e.Debug.assert(!!z.length==(P!=="server")),_.writeSync(p,` +] +`),_.closeSync(p),e.tracing=void 0,z.length?M(z):g[g.length-1].typesPath=void 0}l.stopTracing=Y;function ce(ve){P!=="server"&&z.push(ve)}l.recordType=ce;var Z;(function(ve){ve.Parse="parse",ve.Program="program",ve.Bind="bind",ve.Check="check",ve.CheckTypes="checkTypes",ve.Emit="emit",ve.Session="session"})(Z=l.Phase||(l.Phase={}));function ie(ve,re,N){k("I",ve,re,N,'"s":"g"')}l.instant=ie;var te=[];function x(ve,re,N,K){K===void 0&&(K=!1),K&&k("B",ve,re,N),te.push({phase:ve,name:re,args:N,time:1e3*e.timestamp(),separateBeginAndEnd:K})}l.push=x;function J(ve){e.Debug.assert(te.length>0),C(te.length-1,1e3*e.timestamp(),ve),te.length--}l.pop=J;function d(){for(var ve=1e3*e.timestamp(),re=te.length-1;re>=0;re--)C(re,ve);te.length=0}l.popAll=d;var D=1e3*10;function C(ve,re,N){var K=te[ve],q=K.phase,b=K.name,F=K.args,Q=K.time,j=K.separateBeginAndEnd;j?(e.Debug.assert(!N,"`results` are not supported for events with `separateBeginAndEnd`"),k("E",q,b,F,void 0,re)):D-Q%D<=re-Q&&k("X",q,b,Ri(Ri({},F),{results:N}),'"dur":'.concat(re-Q),Q)}function k(ve,re,N,K,q,b){b===void 0&&(b=1e3*e.timestamp()),!(P==="server"&&re==="checkTypes")&&(e.performance.mark("beginTracing"),_.writeSync(p,`, +{"pid":1,"tid":1,"ph":"`.concat(ve,'","cat":"').concat(re,'","ts":').concat(b,',"name":"').concat(N,'"')),q&&_.writeSync(p,",".concat(q)),K&&_.writeSync(p,',"args":'.concat(JSON.stringify(K))),_.writeSync(p,"}"),e.performance.mark("endTracing"),e.performance.measure("Tracing","beginTracing","endTracing"))}function R(ve){var re=e.getSourceFileOfNode(ve);return re?{path:re.path,start:N(e.getLineAndCharacterOfPosition(re,ve.pos)),end:N(e.getLineAndCharacterOfPosition(re,ve.end))}:void 0;function N(K){return{line:K.line+1,character:K.character+1}}}function M(ve){var re,N,K,q,b,F,Q,j,I,L,V,ne,se,De,T,w,A,oe,W,u,O,B;e.performance.mark("beginDumpTypes");var G=g[g.length-1].typesPath,$=_.openSync(G,"w"),me=new e.Map;_.writeSync($,"[");for(var ae=ve.length,Me=0;Me"u")){var b=process.version;if(b){var F=b.indexOf(".");if(F!==-1)return parseInt(b.substring(1,F))}}}e.getNodeMajorVersion=K,e.sys=function(){var b="\uFEFF";function F(){var j=/^native |^\([^)]+\)$|^(internal[\\/]|[a-zA-Z0-9_\s]+(\.js)?$)/,I=Ro("fs"),L=Ro("path"),V=Ro("os"),ne;try{ne=Ro("crypto")}catch{ne=void 0}var se,De="./profile.cpuprofile",T=Ro("buffer").Buffer,w=K(),A=w>=4,oe=process.platform==="linux"||process.platform==="darwin",W=V.platform(),u=Ee(),O=I.realpathSync.native?process.platform==="win32"?a:I.realpathSync.native:I.realpathSync,B=A&&(process.platform==="win32"||process.platform==="darwin"),G=e.memoize(function(){return process.cwd()}),$=re({pollingWatchFileWorker:be,getModifiedTime:ln,setTimeout,clearTimeout,fsWatchWorker:ue,useCaseSensitiveFileNames:u,getCurrentDirectory:G,fileSystemEntryExists:er,fsSupportsRecursiveFsWatch:B,getAccessibleSortedChildDirectories:function(jr){return Te(jr).directories},realpath:qr,tscWatchFile:process.env.TSC_WATCHFILE,useNonPollingWatchers:process.env.TSC_NONPOLLING_WATCHER,tscWatchDirectory:process.env.TSC_WATCHDIRECTORY,inodeWatching:oe,sysLog:d}),me=$.watchFile,ae=$.watchDirectory,Me={args:process.argv.slice(2),newLine:V.EOL,useCaseSensitiveFileNames:u,write:function(jr){process.stdout.write(jr)},getWidthOfTerminal:function(){return process.stdout.columns},writeOutputIsTTY:function(){return process.stdout.isTTY},readFile:X,writeFile:Ae,watchFile:me,watchDirectory:ae,resolvePath:function(jr){return L.resolve(jr)},fileExists:wr,directoryExists:mr,createDirectory:function(jr){if(!Me.directoryExists(jr))try{I.mkdirSync(jr)}catch(Cr){if(Cr.code!=="EEXIST")throw Cr}},getExecutingFilePath:function(){return __filename},getCurrentDirectory:G,getDirectories:We,getEnvironmentVariable:function(jr){return process.env[jr]||""},readDirectory:Je,getModifiedTime:ln,setModifiedTime:dr,deleteFile:vr,createHash:ne?kr:i,createSHA256Hash:ne?kr:void 0,getMemoryUsage:function(){return global.gc&&global.gc(),process.memoryUsage().heapUsed},getFileSize:function(jr){try{var Cr=Oe(jr);if(Cr!=null&&Cr.isFile())return Cr.size}catch{}return 0},exit:function(jr){Ce(function(){return process.exit(jr)})},enableCPUProfiler:xe,disableCPUProfiler:Ce,cpuProfilingEnabled:function(){return!!se||e.contains(process.execArgv,"--cpu-prof")||e.contains(process.execArgv,"--prof")},realpath:qr,debugMode:!!process.env.NODE_INSPECTOR_IPC||!!process.env.VSCODE_INSPECTOR_OPTIONS||e.some(process.execArgv,function(jr){return/^--(inspect|debug)(-brk)?(=\d+)?$/i.test(jr)}),tryEnableSourceMapsForHost:function(){try{Ro("source-map-support").install()}catch{}},setTimeout,clearTimeout,clearScreen:function(){process.stdout.write("\x1Bc")},setBlocking:function(){process.stdout&&process.stdout._handle&&process.stdout._handle.setBlocking&&process.stdout._handle.setBlocking(!0)},bufferFrom:ze,base64decode:function(jr){return ze(jr,"base64").toString("utf8")},base64encode:function(jr){return ze(jr).toString("base64")},require:function(jr,Cr){try{var en=e.resolveJSModule(Cr,jr,Me);return{module:Ro(en),modulePath:en,error:void 0}}catch(Lr){return{module:void 0,modulePath:void 0,error:Lr}}}};return Me;function Oe(jr){return I.statSync(jr,{throwIfNoEntry:!1})}function xe(jr,Cr){if(se)return Cr(),!1;var en=Ro("inspector");if(!en||!en.Session)return Cr(),!1;var Lr=new en.Session;return Lr.connect(),Lr.post("Profiler.enable",function(){Lr.post("Profiler.start",function(){se=Lr,De=jr,Cr()})}),!0}function Se(jr){for(var Cr=0,en=new e.Map,Lr=e.normalizeSlashes(__dirname),pn="file://".concat(e.getRootLength(Lr)===1?"":"/").concat(Lr),ye=0,or=jr.nodes;ye=2&&en[0]===254&&en[1]===255){Lr&=-2;for(var pn=0;pn=2&&en[0]===255&&en[1]===254?en.toString("utf16le",2):Lr>=3&&en[0]===239&&en[1]===187&&en[2]===191?en.toString("utf8",3):en.toString("utf8")}function X(jr,Cr){e.perfLogger.logStartReadFile(jr);var en=y(jr,Cr);return e.perfLogger.logStopReadFile(),en}function Ae(jr,Cr,en){e.perfLogger.logEvent("WriteFile: "+jr),en&&(Cr=b+Cr);var Lr;try{Lr=I.openSync(jr,"w"),I.writeSync(Lr,Cr,void 0,"utf8")}finally{Lr!==void 0&&I.closeSync(Lr)}}function Te(jr){e.perfLogger.logEvent("ReadDir: "+(jr||"."));try{for(var Cr=I.readdirSync(jr||".",{withFileTypes:!0}),en=[],Lr=[],pn=0,ye=Cr;pn0}e.isRootedDiskPath=p;function P(xe){var Se=x(xe);return Se>0&&Se===xe.length}e.isDiskPathRoot=P;function z(xe){return x(xe)!==0}e.pathIsAbsolute=z;function U(xe){return/^\.\.?($|[\\/])/.test(xe)}e.pathIsRelative=U;function g(xe){return!z(xe)&&!U(xe)}e.pathIsBareSpecifier=g;function v(xe){return e.stringContains(D(xe),".")}e.hasExtension=v;function Y(xe,Se){return xe.length>Se.length&&e.endsWith(xe,Se)}e.fileExtensionIs=Y;function ce(xe,Se){for(var Ce=0,ze=Se;Ce0&&_(xe.charCodeAt(xe.length-1))}e.hasTrailingDirectorySeparator=Z;function ie(xe){return xe>=97&&xe<=122||xe>=65&&xe<=90}function te(xe,Se){var Ce=xe.charCodeAt(Se);if(Ce===58)return Se+1;if(Ce===37&&xe.charCodeAt(Se+1)===51){var ze=xe.charCodeAt(Se+2);if(ze===97||ze===65)return Se+3}return-1}function x(xe){if(!xe)return 0;var Se=xe.charCodeAt(0);if(Se===47||Se===92){if(xe.charCodeAt(1)!==Se)return 1;var Ce=xe.indexOf(Se===47?e.directorySeparator:e.altDirectorySeparator,2);return Ce<0?xe.length:Ce+1}if(ie(Se)&&xe.charCodeAt(1)===58){var ze=xe.charCodeAt(2);if(ze===47||ze===92)return 3;if(xe.length===2)return 2}var Ee=xe.indexOf(i);if(Ee!==-1){var Le=Ee+i.length,be=xe.indexOf(e.directorySeparator,Le);if(be!==-1){var ue=xe.slice(0,Ee),y=xe.slice(Le,be);if(ue==="file"&&(y===""||y==="localhost")&&ie(xe.charCodeAt(be+1))){var X=te(xe,be+2);if(X!==-1){if(xe.charCodeAt(X)===47)return~(X+1);if(X===xe.length)return~X}}return~(be+1)}return~xe.length}return 0}function J(xe){var Se=x(xe);return Se<0?~Se:Se}e.getRootLength=J;function d(xe){xe=re(xe);var Se=J(xe);return Se===xe.length?xe:(xe=V(xe),xe.slice(0,Math.max(Se,xe.lastIndexOf(e.directorySeparator))))}e.getDirectoryPath=d;function D(xe,Se,Ce){xe=re(xe);var ze=J(xe);if(ze===xe.length)return"";xe=V(xe);var Ee=xe.slice(Math.max(J(xe),xe.lastIndexOf(e.directorySeparator)+1)),Le=Se!==void 0&&Ce!==void 0?R(Ee,Se,Ce):void 0;return Le?Ee.slice(0,Ee.length-Le.length):Ee}e.getBaseFileName=D;function C(xe,Se,Ce){if(e.startsWith(Se,".")||(Se="."+Se),xe.length>=Se.length&&xe.charCodeAt(xe.length-Se.length)===46){var ze=xe.slice(xe.length-Se.length);if(Ce(ze,Se))return ze}}function k(xe,Se,Ce){if(typeof Se=="string")return C(xe,Se,Ce)||"";for(var ze=0,Ee=Se;ze=0?ze.substring(Ee):""}e.getAnyExtensionFromPath=R;function M(xe,Se){var Ce=xe.substring(0,Se),ze=xe.substring(Se).split(e.directorySeparator);return ze.length&&!e.lastOrUndefined(ze)&&ze.pop(),Hn([Ce],ze,!0)}function ge(xe,Se){return Se===void 0&&(Se=""),xe=K(Se,xe),M(xe,J(xe))}e.getPathComponents=ge;function ve(xe){if(xe.length===0)return"";var Se=xe[0]&&ne(xe[0]);return Se+xe.slice(1).join(e.directorySeparator)}e.getPathFromPathComponents=ve;function re(xe){return xe.indexOf("\\")!==-1?xe.replace(l,e.directorySeparator):xe}e.normalizeSlashes=re;function N(xe){if(!e.some(xe))return[];for(var Se=[xe[0]],Ce=1;Ce1){if(Se[Se.length-1]!==".."){Se.pop();continue}}else if(Se[0])continue}Se.push(ze)}}return Se}e.reducePathComponents=N;function K(xe){for(var Se=[],Ce=1;Ce0==J(Se)>0,"Paths must either both be absolute or both be relative");var ze=typeof Ce=="function"?Ce:e.identity,Ee=typeof Ce=="boolean"?Ce:!1,Le=B(xe,Se,Ee?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive,ze);return ve(Le)}e.getRelativePathFromDirectory=G;function $(xe,Se,Ce){return p(xe)?ae(Se,xe,Se,Ce,!1):xe}e.convertToRelativePath=$;function me(xe,Se,Ce){return se(G(d(xe),Se,Ce))}e.getRelativePathFromFile=me;function ae(xe,Se,Ce,ze,Ee){var Le=B(q(Ce,xe),q(Ce,Se),e.equateStringsCaseSensitive,ze),be=Le[0];if(Ee&&p(be)){var ue=be.charAt(0)===e.directorySeparator?"file://":"file:///";Le[0]=ue+be}return ve(Le)}e.getRelativePathToDirectoryOrUrl=ae;function Me(xe,Se){for(;;){var Ce=Se(xe);if(Ce!==void 0)return Ce;var ze=d(xe);if(ze===xe)return;xe=ze}}e.forEachAncestorDirectory=Me;function Oe(xe){return e.endsWith(xe,"/node_modules")}e.isNodeModulesDirectory=Oe})(fr||(fr={}));var fr;(function(e){function i(l,_,h,p,P,z,U){return{code:l,category:_,key:h,message:p,reportsUnnecessary:P,elidedInCompatabilityPyramid:z,reportsDeprecated:U}}e.Diagnostics={Unterminated_string_literal:i(1002,e.DiagnosticCategory.Error,"Unterminated_string_literal_1002","Unterminated string literal."),Identifier_expected:i(1003,e.DiagnosticCategory.Error,"Identifier_expected_1003","Identifier expected."),_0_expected:i(1005,e.DiagnosticCategory.Error,"_0_expected_1005","'{0}' expected."),A_file_cannot_have_a_reference_to_itself:i(1006,e.DiagnosticCategory.Error,"A_file_cannot_have_a_reference_to_itself_1006","A file cannot have a reference to itself."),The_parser_expected_to_find_a_1_to_match_the_0_token_here:i(1007,e.DiagnosticCategory.Error,"The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007","The parser expected to find a '{1}' to match the '{0}' token here."),Trailing_comma_not_allowed:i(1009,e.DiagnosticCategory.Error,"Trailing_comma_not_allowed_1009","Trailing comma not allowed."),Asterisk_Slash_expected:i(1010,e.DiagnosticCategory.Error,"Asterisk_Slash_expected_1010","'*/' expected."),An_element_access_expression_should_take_an_argument:i(1011,e.DiagnosticCategory.Error,"An_element_access_expression_should_take_an_argument_1011","An element access expression should take an argument."),Unexpected_token:i(1012,e.DiagnosticCategory.Error,"Unexpected_token_1012","Unexpected token."),A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma:i(1013,e.DiagnosticCategory.Error,"A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013","A rest parameter or binding pattern may not have a trailing comma."),A_rest_parameter_must_be_last_in_a_parameter_list:i(1014,e.DiagnosticCategory.Error,"A_rest_parameter_must_be_last_in_a_parameter_list_1014","A rest parameter must be last in a parameter list."),Parameter_cannot_have_question_mark_and_initializer:i(1015,e.DiagnosticCategory.Error,"Parameter_cannot_have_question_mark_and_initializer_1015","Parameter cannot have question mark and initializer."),A_required_parameter_cannot_follow_an_optional_parameter:i(1016,e.DiagnosticCategory.Error,"A_required_parameter_cannot_follow_an_optional_parameter_1016","A required parameter cannot follow an optional parameter."),An_index_signature_cannot_have_a_rest_parameter:i(1017,e.DiagnosticCategory.Error,"An_index_signature_cannot_have_a_rest_parameter_1017","An index signature cannot have a rest parameter."),An_index_signature_parameter_cannot_have_an_accessibility_modifier:i(1018,e.DiagnosticCategory.Error,"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018","An index signature parameter cannot have an accessibility modifier."),An_index_signature_parameter_cannot_have_a_question_mark:i(1019,e.DiagnosticCategory.Error,"An_index_signature_parameter_cannot_have_a_question_mark_1019","An index signature parameter cannot have a question mark."),An_index_signature_parameter_cannot_have_an_initializer:i(1020,e.DiagnosticCategory.Error,"An_index_signature_parameter_cannot_have_an_initializer_1020","An index signature parameter cannot have an initializer."),An_index_signature_must_have_a_type_annotation:i(1021,e.DiagnosticCategory.Error,"An_index_signature_must_have_a_type_annotation_1021","An index signature must have a type annotation."),An_index_signature_parameter_must_have_a_type_annotation:i(1022,e.DiagnosticCategory.Error,"An_index_signature_parameter_must_have_a_type_annotation_1022","An index signature parameter must have a type annotation."),readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:i(1024,e.DiagnosticCategory.Error,"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024","'readonly' modifier can only appear on a property declaration or index signature."),An_index_signature_cannot_have_a_trailing_comma:i(1025,e.DiagnosticCategory.Error,"An_index_signature_cannot_have_a_trailing_comma_1025","An index signature cannot have a trailing comma."),Accessibility_modifier_already_seen:i(1028,e.DiagnosticCategory.Error,"Accessibility_modifier_already_seen_1028","Accessibility modifier already seen."),_0_modifier_must_precede_1_modifier:i(1029,e.DiagnosticCategory.Error,"_0_modifier_must_precede_1_modifier_1029","'{0}' modifier must precede '{1}' modifier."),_0_modifier_already_seen:i(1030,e.DiagnosticCategory.Error,"_0_modifier_already_seen_1030","'{0}' modifier already seen."),_0_modifier_cannot_appear_on_class_elements_of_this_kind:i(1031,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031","'{0}' modifier cannot appear on class elements of this kind."),super_must_be_followed_by_an_argument_list_or_member_access:i(1034,e.DiagnosticCategory.Error,"super_must_be_followed_by_an_argument_list_or_member_access_1034","'super' must be followed by an argument list or member access."),Only_ambient_modules_can_use_quoted_names:i(1035,e.DiagnosticCategory.Error,"Only_ambient_modules_can_use_quoted_names_1035","Only ambient modules can use quoted names."),Statements_are_not_allowed_in_ambient_contexts:i(1036,e.DiagnosticCategory.Error,"Statements_are_not_allowed_in_ambient_contexts_1036","Statements are not allowed in ambient contexts."),A_declare_modifier_cannot_be_used_in_an_already_ambient_context:i(1038,e.DiagnosticCategory.Error,"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038","A 'declare' modifier cannot be used in an already ambient context."),Initializers_are_not_allowed_in_ambient_contexts:i(1039,e.DiagnosticCategory.Error,"Initializers_are_not_allowed_in_ambient_contexts_1039","Initializers are not allowed in ambient contexts."),_0_modifier_cannot_be_used_in_an_ambient_context:i(1040,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_in_an_ambient_context_1040","'{0}' modifier cannot be used in an ambient context."),_0_modifier_cannot_be_used_here:i(1042,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_here_1042","'{0}' modifier cannot be used here."),_0_modifier_cannot_appear_on_a_module_or_namespace_element:i(1044,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044","'{0}' modifier cannot appear on a module or namespace element."),Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier:i(1046,e.DiagnosticCategory.Error,"Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046","Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier."),A_rest_parameter_cannot_be_optional:i(1047,e.DiagnosticCategory.Error,"A_rest_parameter_cannot_be_optional_1047","A rest parameter cannot be optional."),A_rest_parameter_cannot_have_an_initializer:i(1048,e.DiagnosticCategory.Error,"A_rest_parameter_cannot_have_an_initializer_1048","A rest parameter cannot have an initializer."),A_set_accessor_must_have_exactly_one_parameter:i(1049,e.DiagnosticCategory.Error,"A_set_accessor_must_have_exactly_one_parameter_1049","A 'set' accessor must have exactly one parameter."),A_set_accessor_cannot_have_an_optional_parameter:i(1051,e.DiagnosticCategory.Error,"A_set_accessor_cannot_have_an_optional_parameter_1051","A 'set' accessor cannot have an optional parameter."),A_set_accessor_parameter_cannot_have_an_initializer:i(1052,e.DiagnosticCategory.Error,"A_set_accessor_parameter_cannot_have_an_initializer_1052","A 'set' accessor parameter cannot have an initializer."),A_set_accessor_cannot_have_rest_parameter:i(1053,e.DiagnosticCategory.Error,"A_set_accessor_cannot_have_rest_parameter_1053","A 'set' accessor cannot have rest parameter."),A_get_accessor_cannot_have_parameters:i(1054,e.DiagnosticCategory.Error,"A_get_accessor_cannot_have_parameters_1054","A 'get' accessor cannot have parameters."),Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:i(1055,e.DiagnosticCategory.Error,"Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055","Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value."),Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:i(1056,e.DiagnosticCategory.Error,"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056","Accessors are only available when targeting ECMAScript 5 and higher."),The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1058,e.DiagnosticCategory.Error,"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058","The return type of an async function must either be a valid promise or must not contain a callable 'then' member."),A_promise_must_have_a_then_method:i(1059,e.DiagnosticCategory.Error,"A_promise_must_have_a_then_method_1059","A promise must have a 'then' method."),The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:i(1060,e.DiagnosticCategory.Error,"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060","The first parameter of the 'then' method of a promise must be a callback."),Enum_member_must_have_initializer:i(1061,e.DiagnosticCategory.Error,"Enum_member_must_have_initializer_1061","Enum member must have initializer."),Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:i(1062,e.DiagnosticCategory.Error,"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062","Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),An_export_assignment_cannot_be_used_in_a_namespace:i(1063,e.DiagnosticCategory.Error,"An_export_assignment_cannot_be_used_in_a_namespace_1063","An export assignment cannot be used in a namespace."),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0:i(1064,e.DiagnosticCategory.Error,"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064","The return type of an async function or method must be the global Promise type. Did you mean to write 'Promise<{0}>'?"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:i(1066,e.DiagnosticCategory.Error,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:i(1068,e.DiagnosticCategory.Error,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:i(1069,e.DiagnosticCategory.Error,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:i(1070,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:i(1071,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:i(1079,e.DiagnosticCategory.Error,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:i(1084,e.DiagnosticCategory.Error,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:i(1085,e.DiagnosticCategory.Error,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),_0_modifier_cannot_appear_on_a_constructor_declaration:i(1089,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:i(1090,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:i(1091,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:i(1092,e.DiagnosticCategory.Error,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:i(1093,e.DiagnosticCategory.Error,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:i(1094,e.DiagnosticCategory.Error,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:i(1095,e.DiagnosticCategory.Error,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:i(1096,e.DiagnosticCategory.Error,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:i(1097,e.DiagnosticCategory.Error,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:i(1098,e.DiagnosticCategory.Error,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:i(1099,e.DiagnosticCategory.Error,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:i(1100,e.DiagnosticCategory.Error,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:i(1101,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:i(1102,e.DiagnosticCategory.Error,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:i(1103,e.DiagnosticCategory.Error,"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103","'for await' loops are only allowed within async functions and at the top levels of modules."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:i(1104,e.DiagnosticCategory.Error,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:i(1105,e.DiagnosticCategory.Error,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),The_left_hand_side_of_a_for_of_statement_may_not_be_async:i(1106,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106","The left-hand side of a 'for...of' statement may not be 'async'."),Jump_target_cannot_cross_function_boundary:i(1107,e.DiagnosticCategory.Error,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:i(1108,e.DiagnosticCategory.Error,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:i(1109,e.DiagnosticCategory.Error,"Expression_expected_1109","Expression expected."),Type_expected:i(1110,e.DiagnosticCategory.Error,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:i(1113,e.DiagnosticCategory.Error,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:i(1114,e.DiagnosticCategory.Error,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:i(1115,e.DiagnosticCategory.Error,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:i(1116,e.DiagnosticCategory.Error,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name:i(1117,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117","An object literal cannot have multiple properties with the same name."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:i(1118,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:i(1119,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:i(1120,e.DiagnosticCategory.Error,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:i(1121,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:i(1123,e.DiagnosticCategory.Error,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:i(1124,e.DiagnosticCategory.Error,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:i(1125,e.DiagnosticCategory.Error,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:i(1126,e.DiagnosticCategory.Error,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:i(1127,e.DiagnosticCategory.Error,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:i(1128,e.DiagnosticCategory.Error,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:i(1129,e.DiagnosticCategory.Error,"Statement_expected_1129","Statement expected."),case_or_default_expected:i(1130,e.DiagnosticCategory.Error,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:i(1131,e.DiagnosticCategory.Error,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:i(1132,e.DiagnosticCategory.Error,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:i(1134,e.DiagnosticCategory.Error,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:i(1135,e.DiagnosticCategory.Error,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:i(1136,e.DiagnosticCategory.Error,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:i(1137,e.DiagnosticCategory.Error,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:i(1138,e.DiagnosticCategory.Error,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:i(1139,e.DiagnosticCategory.Error,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:i(1140,e.DiagnosticCategory.Error,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:i(1141,e.DiagnosticCategory.Error,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:i(1142,e.DiagnosticCategory.Error,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:i(1144,e.DiagnosticCategory.Error,"or_expected_1144","'{' or ';' expected."),or_JSX_element_expected:i(1145,e.DiagnosticCategory.Error,"or_JSX_element_expected_1145","'{' or JSX element expected."),Declaration_expected:i(1146,e.DiagnosticCategory.Error,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:i(1147,e.DiagnosticCategory.Error,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:i(1148,e.DiagnosticCategory.Error,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:i(1149,e.DiagnosticCategory.Error,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),const_declarations_must_be_initialized:i(1155,e.DiagnosticCategory.Error,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:i(1156,e.DiagnosticCategory.Error,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:i(1157,e.DiagnosticCategory.Error,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:i(1160,e.DiagnosticCategory.Error,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:i(1161,e.DiagnosticCategory.Error,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:i(1162,e.DiagnosticCategory.Error,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:i(1163,e.DiagnosticCategory.Error,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:i(1164,e.DiagnosticCategory.Error,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1165,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:i(1166,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166","A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1168,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1169,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1170,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:i(1171,e.DiagnosticCategory.Error,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:i(1172,e.DiagnosticCategory.Error,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:i(1173,e.DiagnosticCategory.Error,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:i(1174,e.DiagnosticCategory.Error,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:i(1175,e.DiagnosticCategory.Error,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:i(1176,e.DiagnosticCategory.Error,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:i(1177,e.DiagnosticCategory.Error,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:i(1178,e.DiagnosticCategory.Error,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:i(1179,e.DiagnosticCategory.Error,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:i(1180,e.DiagnosticCategory.Error,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:i(1181,e.DiagnosticCategory.Error,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:i(1182,e.DiagnosticCategory.Error,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:i(1183,e.DiagnosticCategory.Error,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:i(1184,e.DiagnosticCategory.Error,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:i(1185,e.DiagnosticCategory.Error,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:i(1186,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:i(1187,e.DiagnosticCategory.Error,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:i(1188,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:i(1189,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:i(1190,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:i(1191,e.DiagnosticCategory.Error,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:i(1192,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:i(1193,e.DiagnosticCategory.Error,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:i(1194,e.DiagnosticCategory.Error,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:i(1195,e.DiagnosticCategory.Error,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:i(1196,e.DiagnosticCategory.Error,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:i(1197,e.DiagnosticCategory.Error,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:i(1198,e.DiagnosticCategory.Error,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:i(1199,e.DiagnosticCategory.Error,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:i(1200,e.DiagnosticCategory.Error,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:i(1202,e.DiagnosticCategory.Error,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202",`Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:i(1203,e.DiagnosticCategory.Error,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type:i(1205,e.DiagnosticCategory.Error,"Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type_1205","Re-exporting a type when the '--isolatedModules' flag is provided requires using 'export type'."),Decorators_are_not_valid_here:i(1206,e.DiagnosticCategory.Error,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:i(1207,e.DiagnosticCategory.Error,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module:i(1208,e.DiagnosticCategory.Error,"_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_imp_1208","'{0}' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module."),Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0:i(1209,e.DiagnosticCategory.Error,"Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209","Invalid optional chain from new expression. Did you mean to call '{0}()'?"),Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:i(1210,e.DiagnosticCategory.Error,"Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210","Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:i(1211,e.DiagnosticCategory.Error,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:i(1212,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:i(1213,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:i(1214,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:i(1215,e.DiagnosticCategory.Error,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:i(1216,e.DiagnosticCategory.Error,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:i(1218,e.DiagnosticCategory.Error,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning:i(1219,e.DiagnosticCategory.Error,"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219","Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning."),Generators_are_not_allowed_in_an_ambient_context:i(1221,e.DiagnosticCategory.Error,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:i(1222,e.DiagnosticCategory.Error,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:i(1223,e.DiagnosticCategory.Error,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:i(1224,e.DiagnosticCategory.Error,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:i(1225,e.DiagnosticCategory.Error,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:i(1226,e.DiagnosticCategory.Error,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:i(1227,e.DiagnosticCategory.Error,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:i(1228,e.DiagnosticCategory.Error,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:i(1229,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:i(1230,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:i(1231,e.DiagnosticCategory.Error,"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231","An export assignment must be at the top level of a file or module declaration."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:i(1232,e.DiagnosticCategory.Error,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232","An import declaration can only be used at the top level of a namespace or module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:i(1233,e.DiagnosticCategory.Error,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233","An export declaration can only be used at the top level of a namespace or module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:i(1234,e.DiagnosticCategory.Error,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module:i(1235,e.DiagnosticCategory.Error,"A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235","A namespace declaration is only allowed at the top level of a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:i(1236,e.DiagnosticCategory.Error,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:i(1237,e.DiagnosticCategory.Error,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:i(1238,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:i(1239,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:i(1240,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:i(1241,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:i(1242,e.DiagnosticCategory.Error,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:i(1243,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:i(1244,e.DiagnosticCategory.Error,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:i(1245,e.DiagnosticCategory.Error,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:i(1246,e.DiagnosticCategory.Error,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:i(1247,e.DiagnosticCategory.Error,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:i(1248,e.DiagnosticCategory.Error,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:i(1249,e.DiagnosticCategory.Error,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:i(1250,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:i(1251,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:i(1252,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:i(1254,e.DiagnosticCategory.Error,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:i(1255,e.DiagnosticCategory.Error,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_required_element_cannot_follow_an_optional_element:i(1257,e.DiagnosticCategory.Error,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:i(1258,e.DiagnosticCategory.Error,"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258","A default export must be at the top level of a file or module declaration."),Module_0_can_only_be_default_imported_using_the_1_flag:i(1259,e.DiagnosticCategory.Error,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:i(1260,e.DiagnosticCategory.Error,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:i(1261,e.DiagnosticCategory.Error,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:i(1262,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:i(1263,e.DiagnosticCategory.Error,"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263","Declarations with initializers cannot also have definite assignment assertions."),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:i(1264,e.DiagnosticCategory.Error,"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264","Declarations with definite assignment assertions must also have type annotations."),A_rest_element_cannot_follow_another_rest_element:i(1265,e.DiagnosticCategory.Error,"A_rest_element_cannot_follow_another_rest_element_1265","A rest element cannot follow another rest element."),An_optional_element_cannot_follow_a_rest_element:i(1266,e.DiagnosticCategory.Error,"An_optional_element_cannot_follow_a_rest_element_1266","An optional element cannot follow a rest element."),Property_0_cannot_have_an_initializer_because_it_is_marked_abstract:i(1267,e.DiagnosticCategory.Error,"Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267","Property '{0}' cannot have an initializer because it is marked abstract."),An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type:i(1268,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268","An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."),Cannot_use_export_import_on_a_type_or_type_only_namespace_when_the_isolatedModules_flag_is_provided:i(1269,e.DiagnosticCategory.Error,"Cannot_use_export_import_on_a_type_or_type_only_namespace_when_the_isolatedModules_flag_is_provided_1269","Cannot use 'export import' on a type or type-only namespace when the '--isolatedModules' flag is provided."),Decorator_function_return_type_0_is_not_assignable_to_type_1:i(1270,e.DiagnosticCategory.Error,"Decorator_function_return_type_0_is_not_assignable_to_type_1_1270","Decorator function return type '{0}' is not assignable to type '{1}'."),Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any:i(1271,e.DiagnosticCategory.Error,"Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271","Decorator function return type is '{0}' but is expected to be 'void' or 'any'."),A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled:i(1272,e.DiagnosticCategory.Error,"A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272","A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."),_0_modifier_cannot_appear_on_a_type_parameter:i(1273,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_type_parameter_1273","'{0}' modifier cannot appear on a type parameter"),_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias:i(1274,e.DiagnosticCategory.Error,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274","'{0}' modifier can only appear on a type parameter of a class, interface or type alias"),accessor_modifier_can_only_appear_on_a_property_declaration:i(1275,e.DiagnosticCategory.Error,"accessor_modifier_can_only_appear_on_a_property_declaration_1275","'accessor' modifier can only appear on a property declaration."),An_accessor_property_cannot_be_declared_optional:i(1276,e.DiagnosticCategory.Error,"An_accessor_property_cannot_be_declared_optional_1276","An 'accessor' property cannot be declared optional."),with_statements_are_not_allowed_in_an_async_function_block:i(1300,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:i(1308,e.DiagnosticCategory.Error,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level:i(1309,e.DiagnosticCategory.Error,"The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309","The current file is a CommonJS module and cannot use 'await' at the top level."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:i(1312,e.DiagnosticCategory.Error,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:i(1313,e.DiagnosticCategory.Error,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:i(1314,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:i(1315,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:i(1316,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:i(1317,e.DiagnosticCategory.Error,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:i(1318,e.DiagnosticCategory.Error,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:i(1319,e.DiagnosticCategory.Error,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1320,e.DiagnosticCategory.Error,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1321,e.DiagnosticCategory.Error,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1322,e.DiagnosticCategory.Error,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext:i(1323,e.DiagnosticCategory.Error,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', or 'nodenext'."),Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext:i(1324,e.DiagnosticCategory.Error,"Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nod_1324","Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', or 'nodenext'."),Argument_of_dynamic_import_cannot_be_spread_element:i(1325,e.DiagnosticCategory.Error,"Argument_of_dynamic_import_cannot_be_spread_element_1325","Argument of dynamic import cannot be spread element."),This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments:i(1326,e.DiagnosticCategory.Error,"This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326","This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."),String_literal_with_double_quotes_expected:i(1327,e.DiagnosticCategory.Error,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:i(1328,e.DiagnosticCategory.Error,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:i(1329,e.DiagnosticCategory.Error,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:i(1330,e.DiagnosticCategory.Error,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:i(1331,e.DiagnosticCategory.Error,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:i(1332,e.DiagnosticCategory.Error,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:i(1333,e.DiagnosticCategory.Error,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:i(1334,e.DiagnosticCategory.Error,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:i(1335,e.DiagnosticCategory.Error,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead:i(1337,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337","An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:i(1338,e.DiagnosticCategory.Error,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:i(1339,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:i(1340,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Class_constructor_may_not_be_an_accessor:i(1341,e.DiagnosticCategory.Error,"Class_constructor_may_not_be_an_accessor_1341","Class constructor may not be an accessor."),Type_arguments_cannot_be_used_here:i(1342,e.DiagnosticCategory.Error,"Type_arguments_cannot_be_used_here_1342","Type arguments cannot be used here."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext:i(1343,e.DiagnosticCategory.Error,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'."),A_label_is_not_allowed_here:i(1344,e.DiagnosticCategory.Error,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:i(1345,e.DiagnosticCategory.Error,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness."),This_parameter_is_not_allowed_with_use_strict_directive:i(1346,e.DiagnosticCategory.Error,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:i(1347,e.DiagnosticCategory.Error,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:i(1348,e.DiagnosticCategory.Error,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:i(1349,e.DiagnosticCategory.Error,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:i(1350,e.DiagnosticCategory.Message,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:i(1351,e.DiagnosticCategory.Error,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:i(1352,e.DiagnosticCategory.Error,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:i(1353,e.DiagnosticCategory.Error,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:i(1354,e.DiagnosticCategory.Error,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:i(1355,e.DiagnosticCategory.Error,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:i(1356,e.DiagnosticCategory.Error,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:i(1357,e.DiagnosticCategory.Error,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:i(1358,e.DiagnosticCategory.Error,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:i(1359,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),Type_0_does_not_satisfy_the_expected_type_1:i(1360,e.DiagnosticCategory.Error,"Type_0_does_not_satisfy_the_expected_type_1_1360","Type '{0}' does not satisfy the expected type '{1}'."),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:i(1361,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:i(1362,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:i(1363,e.DiagnosticCategory.Error,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:i(1364,e.DiagnosticCategory.Message,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:i(1365,e.DiagnosticCategory.Message,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:i(1366,e.DiagnosticCategory.Message,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:i(1367,e.DiagnosticCategory.Message,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Class_constructor_may_not_be_a_generator:i(1368,e.DiagnosticCategory.Error,"Class_constructor_may_not_be_a_generator_1368","Class constructor may not be a generator."),Did_you_mean_0:i(1369,e.DiagnosticCategory.Message,"Did_you_mean_0_1369","Did you mean '{0}'?"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error:i(1371,e.DiagnosticCategory.Error,"This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371","This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'."),Convert_to_type_only_import:i(1373,e.DiagnosticCategory.Message,"Convert_to_type_only_import_1373","Convert to type-only import"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:i(1374,e.DiagnosticCategory.Message,"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374","Convert all imports not used as a value to type-only imports"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:i(1375,e.DiagnosticCategory.Error,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:i(1376,e.DiagnosticCategory.Message,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:i(1377,e.DiagnosticCategory.Message,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:i(1378,e.DiagnosticCategory.Error,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:i(1379,e.DiagnosticCategory.Error,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:i(1380,e.DiagnosticCategory.Error,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:i(1381,e.DiagnosticCategory.Error,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `}`?"),Unexpected_token_Did_you_mean_or_gt:i(1382,e.DiagnosticCategory.Error,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `>`?"),Only_named_exports_may_use_export_type:i(1383,e.DiagnosticCategory.Error,"Only_named_exports_may_use_export_type_1383","Only named exports may use 'export type'."),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:i(1385,e.DiagnosticCategory.Error,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:i(1386,e.DiagnosticCategory.Error,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:i(1387,e.DiagnosticCategory.Error,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:i(1388,e.DiagnosticCategory.Error,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),_0_is_not_allowed_as_a_variable_declaration_name:i(1389,e.DiagnosticCategory.Error,"_0_is_not_allowed_as_a_variable_declaration_name_1389","'{0}' is not allowed as a variable declaration name."),_0_is_not_allowed_as_a_parameter_name:i(1390,e.DiagnosticCategory.Error,"_0_is_not_allowed_as_a_parameter_name_1390","'{0}' is not allowed as a parameter name."),An_import_alias_cannot_use_import_type:i(1392,e.DiagnosticCategory.Error,"An_import_alias_cannot_use_import_type_1392","An import alias cannot use 'import type'"),Imported_via_0_from_file_1:i(1393,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_1393","Imported via {0} from file '{1}'"),Imported_via_0_from_file_1_with_packageId_2:i(1394,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_with_packageId_2_1394","Imported via {0} from file '{1}' with packageId '{2}'"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:i(1395,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395","Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:i(1396,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396","Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:i(1397,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397","Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:i(1398,e.DiagnosticCategory.Message,"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398","Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"),File_is_included_via_import_here:i(1399,e.DiagnosticCategory.Message,"File_is_included_via_import_here_1399","File is included via import here."),Referenced_via_0_from_file_1:i(1400,e.DiagnosticCategory.Message,"Referenced_via_0_from_file_1_1400","Referenced via '{0}' from file '{1}'"),File_is_included_via_reference_here:i(1401,e.DiagnosticCategory.Message,"File_is_included_via_reference_here_1401","File is included via reference here."),Type_library_referenced_via_0_from_file_1:i(1402,e.DiagnosticCategory.Message,"Type_library_referenced_via_0_from_file_1_1402","Type library referenced via '{0}' from file '{1}'"),Type_library_referenced_via_0_from_file_1_with_packageId_2:i(1403,e.DiagnosticCategory.Message,"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403","Type library referenced via '{0}' from file '{1}' with packageId '{2}'"),File_is_included_via_type_library_reference_here:i(1404,e.DiagnosticCategory.Message,"File_is_included_via_type_library_reference_here_1404","File is included via type library reference here."),Library_referenced_via_0_from_file_1:i(1405,e.DiagnosticCategory.Message,"Library_referenced_via_0_from_file_1_1405","Library referenced via '{0}' from file '{1}'"),File_is_included_via_library_reference_here:i(1406,e.DiagnosticCategory.Message,"File_is_included_via_library_reference_here_1406","File is included via library reference here."),Matched_by_include_pattern_0_in_1:i(1407,e.DiagnosticCategory.Message,"Matched_by_include_pattern_0_in_1_1407","Matched by include pattern '{0}' in '{1}'"),File_is_matched_by_include_pattern_specified_here:i(1408,e.DiagnosticCategory.Message,"File_is_matched_by_include_pattern_specified_here_1408","File is matched by include pattern specified here."),Part_of_files_list_in_tsconfig_json:i(1409,e.DiagnosticCategory.Message,"Part_of_files_list_in_tsconfig_json_1409","Part of 'files' list in tsconfig.json"),File_is_matched_by_files_list_specified_here:i(1410,e.DiagnosticCategory.Message,"File_is_matched_by_files_list_specified_here_1410","File is matched by 'files' list specified here."),Output_from_referenced_project_0_included_because_1_specified:i(1411,e.DiagnosticCategory.Message,"Output_from_referenced_project_0_included_because_1_specified_1411","Output from referenced project '{0}' included because '{1}' specified"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:i(1412,e.DiagnosticCategory.Message,"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412","Output from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_output_from_referenced_project_specified_here:i(1413,e.DiagnosticCategory.Message,"File_is_output_from_referenced_project_specified_here_1413","File is output from referenced project specified here."),Source_from_referenced_project_0_included_because_1_specified:i(1414,e.DiagnosticCategory.Message,"Source_from_referenced_project_0_included_because_1_specified_1414","Source from referenced project '{0}' included because '{1}' specified"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:i(1415,e.DiagnosticCategory.Message,"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415","Source from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_source_from_referenced_project_specified_here:i(1416,e.DiagnosticCategory.Message,"File_is_source_from_referenced_project_specified_here_1416","File is source from referenced project specified here."),Entry_point_of_type_library_0_specified_in_compilerOptions:i(1417,e.DiagnosticCategory.Message,"Entry_point_of_type_library_0_specified_in_compilerOptions_1417","Entry point of type library '{0}' specified in compilerOptions"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:i(1418,e.DiagnosticCategory.Message,"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418","Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"),File_is_entry_point_of_type_library_specified_here:i(1419,e.DiagnosticCategory.Message,"File_is_entry_point_of_type_library_specified_here_1419","File is entry point of type library specified here."),Entry_point_for_implicit_type_library_0:i(1420,e.DiagnosticCategory.Message,"Entry_point_for_implicit_type_library_0_1420","Entry point for implicit type library '{0}'"),Entry_point_for_implicit_type_library_0_with_packageId_1:i(1421,e.DiagnosticCategory.Message,"Entry_point_for_implicit_type_library_0_with_packageId_1_1421","Entry point for implicit type library '{0}' with packageId '{1}'"),Library_0_specified_in_compilerOptions:i(1422,e.DiagnosticCategory.Message,"Library_0_specified_in_compilerOptions_1422","Library '{0}' specified in compilerOptions"),File_is_library_specified_here:i(1423,e.DiagnosticCategory.Message,"File_is_library_specified_here_1423","File is library specified here."),Default_library:i(1424,e.DiagnosticCategory.Message,"Default_library_1424","Default library"),Default_library_for_target_0:i(1425,e.DiagnosticCategory.Message,"Default_library_for_target_0_1425","Default library for target '{0}'"),File_is_default_library_for_target_specified_here:i(1426,e.DiagnosticCategory.Message,"File_is_default_library_for_target_specified_here_1426","File is default library for target specified here."),Root_file_specified_for_compilation:i(1427,e.DiagnosticCategory.Message,"Root_file_specified_for_compilation_1427","Root file specified for compilation"),File_is_output_of_project_reference_source_0:i(1428,e.DiagnosticCategory.Message,"File_is_output_of_project_reference_source_0_1428","File is output of project reference source '{0}'"),File_redirects_to_file_0:i(1429,e.DiagnosticCategory.Message,"File_redirects_to_file_0_1429","File redirects to file '{0}'"),The_file_is_in_the_program_because_Colon:i(1430,e.DiagnosticCategory.Message,"The_file_is_in_the_program_because_Colon_1430","The file is in the program because:"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:i(1431,e.DiagnosticCategory.Error,"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431","'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:i(1432,e.DiagnosticCategory.Error,"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432","Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),Decorators_may_not_be_applied_to_this_parameters:i(1433,e.DiagnosticCategory.Error,"Decorators_may_not_be_applied_to_this_parameters_1433","Decorators may not be applied to 'this' parameters."),Unexpected_keyword_or_identifier:i(1434,e.DiagnosticCategory.Error,"Unexpected_keyword_or_identifier_1434","Unexpected keyword or identifier."),Unknown_keyword_or_identifier_Did_you_mean_0:i(1435,e.DiagnosticCategory.Error,"Unknown_keyword_or_identifier_Did_you_mean_0_1435","Unknown keyword or identifier. Did you mean '{0}'?"),Decorators_must_precede_the_name_and_all_keywords_of_property_declarations:i(1436,e.DiagnosticCategory.Error,"Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436","Decorators must precede the name and all keywords of property declarations."),Namespace_must_be_given_a_name:i(1437,e.DiagnosticCategory.Error,"Namespace_must_be_given_a_name_1437","Namespace must be given a name."),Interface_must_be_given_a_name:i(1438,e.DiagnosticCategory.Error,"Interface_must_be_given_a_name_1438","Interface must be given a name."),Type_alias_must_be_given_a_name:i(1439,e.DiagnosticCategory.Error,"Type_alias_must_be_given_a_name_1439","Type alias must be given a name."),Variable_declaration_not_allowed_at_this_location:i(1440,e.DiagnosticCategory.Error,"Variable_declaration_not_allowed_at_this_location_1440","Variable declaration not allowed at this location."),Cannot_start_a_function_call_in_a_type_annotation:i(1441,e.DiagnosticCategory.Error,"Cannot_start_a_function_call_in_a_type_annotation_1441","Cannot start a function call in a type annotation."),Expected_for_property_initializer:i(1442,e.DiagnosticCategory.Error,"Expected_for_property_initializer_1442","Expected '=' for property initializer."),Module_declaration_names_may_only_use_or_quoted_strings:i(1443,e.DiagnosticCategory.Error,"Module_declaration_names_may_only_use_or_quoted_strings_1443",`Module declaration names may only use ' or " quoted strings.`),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:i(1444,e.DiagnosticCategory.Error,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedMod_1444","'{0}' is a type and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:i(1446,e.DiagnosticCategory.Error,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveVa_1446","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_isolatedModules_is_enabled:i(1448,e.DiagnosticCategory.Error,"_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_isol_1448","'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when 'isolatedModules' is enabled."),Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed:i(1449,e.DiagnosticCategory.Message,"Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449","Preserve unused imported values in the JavaScript output that would otherwise be removed."),Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments:i(1450,e.DiagnosticCategory.Message,"Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450","Dynamic imports can only accept a module specifier and an optional assertion as arguments"),Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression:i(1451,e.DiagnosticCategory.Error,"Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451","Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"),resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext:i(1452,e.DiagnosticCategory.Error,"resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452","'resolution-mode' assertions are only supported when `moduleResolution` is `node16` or `nodenext`."),resolution_mode_should_be_either_require_or_import:i(1453,e.DiagnosticCategory.Error,"resolution_mode_should_be_either_require_or_import_1453","`resolution-mode` should be either `require` or `import`."),resolution_mode_can_only_be_set_for_type_only_imports:i(1454,e.DiagnosticCategory.Error,"resolution_mode_can_only_be_set_for_type_only_imports_1454","`resolution-mode` can only be set for type-only imports."),resolution_mode_is_the_only_valid_key_for_type_import_assertions:i(1455,e.DiagnosticCategory.Error,"resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455","`resolution-mode` is the only valid key for type import assertions."),Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:i(1456,e.DiagnosticCategory.Error,"Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456","Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."),Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:i(1457,e.DiagnosticCategory.Message,"Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457","Matched by default include pattern '**/*'"),File_is_ECMAScript_module_because_0_has_field_type_with_value_module:i(1458,e.DiagnosticCategory.Message,"File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458",`File is ECMAScript module because '{0}' has field "type" with value "module"`),File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:i(1459,e.DiagnosticCategory.Message,"File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459",`File is CommonJS module because '{0}' has field "type" whose value is not "module"`),File_is_CommonJS_module_because_0_does_not_have_field_type:i(1460,e.DiagnosticCategory.Message,"File_is_CommonJS_module_because_0_does_not_have_field_type_1460",`File is CommonJS module because '{0}' does not have field "type"`),File_is_CommonJS_module_because_package_json_was_not_found:i(1461,e.DiagnosticCategory.Message,"File_is_CommonJS_module_because_package_json_was_not_found_1461","File is CommonJS module because 'package.json' was not found"),The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output:i(1470,e.DiagnosticCategory.Error,"The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470","The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."),Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead:i(1471,e.DiagnosticCategory.Error,"Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471","Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead."),catch_or_finally_expected:i(1472,e.DiagnosticCategory.Error,"catch_or_finally_expected_1472","'catch' or 'finally' expected."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:i(1473,e.DiagnosticCategory.Error,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473","An import declaration can only be used at the top level of a module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:i(1474,e.DiagnosticCategory.Error,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474","An export declaration can only be used at the top level of a module."),Control_what_method_is_used_to_detect_module_format_JS_files:i(1475,e.DiagnosticCategory.Message,"Control_what_method_is_used_to_detect_module_format_JS_files_1475","Control what method is used to detect module-format JS files."),auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules:i(1476,e.DiagnosticCategory.Message,"auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476",'"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules.'),An_instantiation_expression_cannot_be_followed_by_a_property_access:i(1477,e.DiagnosticCategory.Error,"An_instantiation_expression_cannot_be_followed_by_a_property_access_1477","An instantiation expression cannot be followed by a property access."),Identifier_or_string_literal_expected:i(1478,e.DiagnosticCategory.Error,"Identifier_or_string_literal_expected_1478","Identifier or string literal expected."),The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead:i(1479,e.DiagnosticCategory.Error,"The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479",`The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("{0}")' call instead.`),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module:i(1480,e.DiagnosticCategory.Message,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480",'To convert this file to an ECMAScript module, change its file extension to \'{0}\' or create a local package.json file with `{ "type": "module" }`.'),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1:i(1481,e.DiagnosticCategory.Message,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481",`To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field \`"type": "module"\` to '{1}'.`),To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0:i(1482,e.DiagnosticCategory.Message,"To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482",'To convert this file to an ECMAScript module, add the field `"type": "module"` to \'{0}\'.'),To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module:i(1483,e.DiagnosticCategory.Message,"To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483",'To convert this file to an ECMAScript module, create a local package.json file with `{ "type": "module" }`.'),The_types_of_0_are_incompatible_between_these_types:i(2200,e.DiagnosticCategory.Error,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:i(2201,e.DiagnosticCategory.Error,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:i(2202,e.DiagnosticCategory.Error,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:i(2203,e.DiagnosticCategory.Error,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:i(2204,e.DiagnosticCategory.Error,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:i(2205,e.DiagnosticCategory.Error,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:i(2206,e.DiagnosticCategory.Error,"The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206","The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."),The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement:i(2207,e.DiagnosticCategory.Error,"The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207","The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."),This_type_parameter_might_need_an_extends_0_constraint:i(2208,e.DiagnosticCategory.Error,"This_type_parameter_might_need_an_extends_0_constraint_2208","This type parameter might need an `extends {0}` constraint."),The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:i(2209,e.DiagnosticCategory.Error,"The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209","The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:i(2210,e.DiagnosticCategory.Error,"The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210","The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),Add_extends_constraint:i(2211,e.DiagnosticCategory.Message,"Add_extends_constraint_2211","Add `extends` constraint."),Add_extends_constraint_to_all_type_parameters:i(2212,e.DiagnosticCategory.Message,"Add_extends_constraint_to_all_type_parameters_2212","Add `extends` constraint to all type parameters"),Duplicate_identifier_0:i(2300,e.DiagnosticCategory.Error,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:i(2301,e.DiagnosticCategory.Error,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:i(2302,e.DiagnosticCategory.Error,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:i(2303,e.DiagnosticCategory.Error,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:i(2304,e.DiagnosticCategory.Error,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:i(2305,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:i(2306,e.DiagnosticCategory.Error,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:i(2307,e.DiagnosticCategory.Error,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:i(2308,e.DiagnosticCategory.Error,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:i(2309,e.DiagnosticCategory.Error,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:i(2310,e.DiagnosticCategory.Error,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function:i(2311,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311","Cannot find name '{0}'. Did you mean to write this in an async function?"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2312,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:i(2313,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:i(2314,e.DiagnosticCategory.Error,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:i(2315,e.DiagnosticCategory.Error,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:i(2316,e.DiagnosticCategory.Error,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:i(2317,e.DiagnosticCategory.Error,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:i(2318,e.DiagnosticCategory.Error,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:i(2319,e.DiagnosticCategory.Error,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:i(2320,e.DiagnosticCategory.Error,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:i(2321,e.DiagnosticCategory.Error,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:i(2322,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:i(2323,e.DiagnosticCategory.Error,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:i(2324,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:i(2325,e.DiagnosticCategory.Error,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:i(2326,e.DiagnosticCategory.Error,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:i(2327,e.DiagnosticCategory.Error,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:i(2328,e.DiagnosticCategory.Error,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_for_type_0_is_missing_in_type_1:i(2329,e.DiagnosticCategory.Error,"Index_signature_for_type_0_is_missing_in_type_1_2329","Index signature for type '{0}' is missing in type '{1}'."),_0_and_1_index_signatures_are_incompatible:i(2330,e.DiagnosticCategory.Error,"_0_and_1_index_signatures_are_incompatible_2330","'{0}' and '{1}' index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:i(2331,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:i(2332,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:i(2333,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:i(2334,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:i(2335,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:i(2336,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:i(2337,e.DiagnosticCategory.Error,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:i(2338,e.DiagnosticCategory.Error,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:i(2339,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:i(2340,e.DiagnosticCategory.Error,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:i(2341,e.DiagnosticCategory.Error,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:i(2343,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:i(2344,e.DiagnosticCategory.Error,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:i(2345,e.DiagnosticCategory.Error,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:i(2346,e.DiagnosticCategory.Error,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:i(2347,e.DiagnosticCategory.Error,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:i(2348,e.DiagnosticCategory.Error,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:i(2349,e.DiagnosticCategory.Error,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:i(2350,e.DiagnosticCategory.Error,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:i(2351,e.DiagnosticCategory.Error,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:i(2352,e.DiagnosticCategory.Error,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:i(2353,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:i(2354,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:i(2355,e.DiagnosticCategory.Error,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:i(2356,e.DiagnosticCategory.Error,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:i(2357,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:i(2358,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:i(2359,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:i(2362,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:i(2363,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:i(2364,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:i(2365,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:i(2366,e.DiagnosticCategory.Error,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap:i(2367,e.DiagnosticCategory.Error,"This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367","This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap."),Type_parameter_name_cannot_be_0:i(2368,e.DiagnosticCategory.Error,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:i(2369,e.DiagnosticCategory.Error,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:i(2370,e.DiagnosticCategory.Error,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:i(2371,e.DiagnosticCategory.Error,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:i(2372,e.DiagnosticCategory.Error,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:i(2373,e.DiagnosticCategory.Error,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_index_signature_for_type_0:i(2374,e.DiagnosticCategory.Error,"Duplicate_index_signature_for_type_0_2374","Duplicate index signature for type '{0}'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:i(2375,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers:i(2376,e.DiagnosticCategory.Error,"A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376","A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:i(2377,e.DiagnosticCategory.Error,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:i(2378,e.DiagnosticCategory.Error,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:i(2379,e.DiagnosticCategory.Error,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379","Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type:i(2380,e.DiagnosticCategory.Error,"The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type_2380","The return type of a 'get' accessor must be assignable to its 'set' accessor type"),Overload_signatures_must_all_be_exported_or_non_exported:i(2383,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:i(2384,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:i(2385,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:i(2386,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:i(2387,e.DiagnosticCategory.Error,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:i(2388,e.DiagnosticCategory.Error,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:i(2389,e.DiagnosticCategory.Error,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:i(2390,e.DiagnosticCategory.Error,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:i(2391,e.DiagnosticCategory.Error,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:i(2392,e.DiagnosticCategory.Error,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:i(2393,e.DiagnosticCategory.Error,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:i(2394,e.DiagnosticCategory.Error,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:i(2395,e.DiagnosticCategory.Error,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:i(2396,e.DiagnosticCategory.Error,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:i(2397,e.DiagnosticCategory.Error,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:i(2398,e.DiagnosticCategory.Error,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:i(2399,e.DiagnosticCategory.Error,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:i(2400,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers:i(2401,e.DiagnosticCategory.Error,"A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401","A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:i(2402,e.DiagnosticCategory.Error,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:i(2403,e.DiagnosticCategory.Error,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:i(2404,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:i(2405,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:i(2406,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:i(2407,e.DiagnosticCategory.Error,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:i(2408,e.DiagnosticCategory.Error,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:i(2409,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:i(2410,e.DiagnosticCategory.Error,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target:i(2412,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target."),Property_0_of_type_1_is_not_assignable_to_2_index_type_3:i(2411,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411","Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'."),_0_index_type_1_is_not_assignable_to_2_index_type_3:i(2413,e.DiagnosticCategory.Error,"_0_index_type_1_is_not_assignable_to_2_index_type_3_2413","'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'."),Class_name_cannot_be_0:i(2414,e.DiagnosticCategory.Error,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:i(2415,e.DiagnosticCategory.Error,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:i(2416,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:i(2417,e.DiagnosticCategory.Error,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:i(2418,e.DiagnosticCategory.Error,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Types_of_construct_signatures_are_incompatible:i(2419,e.DiagnosticCategory.Error,"Types_of_construct_signatures_are_incompatible_2419","Types of construct signatures are incompatible."),Class_0_incorrectly_implements_interface_1:i(2420,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2422,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:i(2423,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:i(2425,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:i(2426,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:i(2427,e.DiagnosticCategory.Error,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:i(2428,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:i(2430,e.DiagnosticCategory.Error,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:i(2431,e.DiagnosticCategory.Error,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:i(2432,e.DiagnosticCategory.Error,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:i(2433,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:i(2434,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:i(2435,e.DiagnosticCategory.Error,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:i(2436,e.DiagnosticCategory.Error,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:i(2437,e.DiagnosticCategory.Error,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:i(2438,e.DiagnosticCategory.Error,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:i(2439,e.DiagnosticCategory.Error,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:i(2440,e.DiagnosticCategory.Error,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:i(2441,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:i(2442,e.DiagnosticCategory.Error,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:i(2443,e.DiagnosticCategory.Error,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:i(2444,e.DiagnosticCategory.Error,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:i(2445,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:i(2446,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:i(2447,e.DiagnosticCategory.Error,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:i(2448,e.DiagnosticCategory.Error,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:i(2449,e.DiagnosticCategory.Error,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:i(2450,e.DiagnosticCategory.Error,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:i(2451,e.DiagnosticCategory.Error,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:i(2452,e.DiagnosticCategory.Error,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),Variable_0_is_used_before_being_assigned:i(2454,e.DiagnosticCategory.Error,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_alias_0_circularly_references_itself:i(2456,e.DiagnosticCategory.Error,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:i(2457,e.DiagnosticCategory.Error,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:i(2458,e.DiagnosticCategory.Error,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:i(2459,e.DiagnosticCategory.Error,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:i(2460,e.DiagnosticCategory.Error,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:i(2461,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:i(2462,e.DiagnosticCategory.Error,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:i(2463,e.DiagnosticCategory.Error,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:i(2464,e.DiagnosticCategory.Error,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:i(2465,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:i(2466,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:i(2467,e.DiagnosticCategory.Error,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:i(2468,e.DiagnosticCategory.Error,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:i(2469,e.DiagnosticCategory.Error,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:i(2472,e.DiagnosticCategory.Error,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:i(2473,e.DiagnosticCategory.Error,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values:i(2474,e.DiagnosticCategory.Error,"const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values_2474","const enum member initializers can only contain literal values and other computed enum values."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:i(2475,e.DiagnosticCategory.Error,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:i(2476,e.DiagnosticCategory.Error,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:i(2477,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:i(2478,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:i(2480,e.DiagnosticCategory.Error,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:i(2481,e.DiagnosticCategory.Error,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:i(2483,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:i(2484,e.DiagnosticCategory.Error,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:i(2487,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2488,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:i(2489,e.DiagnosticCategory.Error,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:i(2490,e.DiagnosticCategory.Error,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:i(2491,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:i(2492,e.DiagnosticCategory.Error,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:i(2493,e.DiagnosticCategory.Error,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:i(2494,e.DiagnosticCategory.Error,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:i(2495,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:i(2496,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:i(2497,e.DiagnosticCategory.Error,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:i(2498,e.DiagnosticCategory.Error,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:i(2499,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:i(2500,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:i(2501,e.DiagnosticCategory.Error,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:i(2502,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:i(2503,e.DiagnosticCategory.Error,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:i(2504,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:i(2505,e.DiagnosticCategory.Error,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:i(2506,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:i(2507,e.DiagnosticCategory.Error,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:i(2508,e.DiagnosticCategory.Error,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2509,e.DiagnosticCategory.Error,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:i(2510,e.DiagnosticCategory.Error,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:i(2511,e.DiagnosticCategory.Error,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:i(2512,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:i(2513,e.DiagnosticCategory.Error,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),A_tuple_type_cannot_be_indexed_with_a_negative_value:i(2514,e.DiagnosticCategory.Error,"A_tuple_type_cannot_be_indexed_with_a_negative_value_2514","A tuple type cannot be indexed with a negative value."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:i(2515,e.DiagnosticCategory.Error,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:i(2516,e.DiagnosticCategory.Error,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:i(2517,e.DiagnosticCategory.Error,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:i(2518,e.DiagnosticCategory.Error,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:i(2519,e.DiagnosticCategory.Error,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:i(2520,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:i(2522,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:i(2523,e.DiagnosticCategory.Error,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:i(2524,e.DiagnosticCategory.Error,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:i(2525,e.DiagnosticCategory.Error,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:i(2526,e.DiagnosticCategory.Error,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:i(2527,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:i(2528,e.DiagnosticCategory.Error,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:i(2529,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:i(2530,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:i(2531,e.DiagnosticCategory.Error,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:i(2532,e.DiagnosticCategory.Error,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:i(2533,e.DiagnosticCategory.Error,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:i(2534,e.DiagnosticCategory.Error,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Enum_type_0_has_members_with_initializers_that_are_not_literals:i(2535,e.DiagnosticCategory.Error,"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535","Enum type '{0}' has members with initializers that are not literals."),Type_0_cannot_be_used_to_index_type_1:i(2536,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:i(2537,e.DiagnosticCategory.Error,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:i(2538,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:i(2539,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:i(2540,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),Index_signature_in_type_0_only_permits_reading:i(2542,e.DiagnosticCategory.Error,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:i(2543,e.DiagnosticCategory.Error,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:i(2544,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:i(2545,e.DiagnosticCategory.Error,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:i(2547,e.DiagnosticCategory.Error,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2548,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2549,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:i(2550,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550","Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:i(2551,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:i(2552,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:i(2553,e.DiagnosticCategory.Error,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:i(2554,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:i(2555,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:i(2556,e.DiagnosticCategory.Error,"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556","A spread argument must either have a tuple type or be passed to a rest parameter."),Expected_0_type_arguments_but_got_1:i(2558,e.DiagnosticCategory.Error,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:i(2559,e.DiagnosticCategory.Error,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:i(2560,e.DiagnosticCategory.Error,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:i(2561,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:i(2562,e.DiagnosticCategory.Error,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:i(2563,e.DiagnosticCategory.Error,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:i(2564,e.DiagnosticCategory.Error,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:i(2565,e.DiagnosticCategory.Error,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:i(2566,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:i(2567,e.DiagnosticCategory.Error,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Property_0_may_not_exist_on_type_1_Did_you_mean_2:i(2568,e.DiagnosticCategory.Error,"Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568","Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"),Could_not_find_name_0_Did_you_mean_1:i(2570,e.DiagnosticCategory.Error,"Could_not_find_name_0_Did_you_mean_1_2570","Could not find name '{0}'. Did you mean '{1}'?"),Object_is_of_type_unknown:i(2571,e.DiagnosticCategory.Error,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),A_rest_element_type_must_be_an_array_type:i(2574,e.DiagnosticCategory.Error,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:i(2575,e.DiagnosticCategory.Error,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:i(2576,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576","Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"),Return_type_annotation_circularly_references_itself:i(2577,e.DiagnosticCategory.Error,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:i(2578,e.DiagnosticCategory.Error,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:i(2580,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:i(2581,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:i(2582,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:i(2583,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:i(2584,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:i(2585,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."),Cannot_assign_to_0_because_it_is_a_constant:i(2588,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:i(2589,e.DiagnosticCategory.Error,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:i(2590,e.DiagnosticCategory.Error,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:i(2591,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:i(2592,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:i(2593,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:i(2594,e.DiagnosticCategory.Error,"This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594","This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:i(2595,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2596,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:i(2597,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2598,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:i(2602,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:i(2603,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:i(2604,e.DiagnosticCategory.Error,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:i(2606,e.DiagnosticCategory.Error,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:i(2607,e.DiagnosticCategory.Error,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:i(2608,e.DiagnosticCategory.Error,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:i(2609,e.DiagnosticCategory.Error,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:i(2610,e.DiagnosticCategory.Error,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:i(2611,e.DiagnosticCategory.Error,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:i(2612,e.DiagnosticCategory.Error,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:i(2613,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:i(2614,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:i(2615,e.DiagnosticCategory.Error,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:i(2616,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2617,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:i(2618,e.DiagnosticCategory.Error,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:i(2619,e.DiagnosticCategory.Error,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:i(2620,e.DiagnosticCategory.Error,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:i(2621,e.DiagnosticCategory.Error,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Source_provides_no_match_for_required_element_at_position_0_in_target:i(2623,e.DiagnosticCategory.Error,"Source_provides_no_match_for_required_element_at_position_0_in_target_2623","Source provides no match for required element at position {0} in target."),Source_provides_no_match_for_variadic_element_at_position_0_in_target:i(2624,e.DiagnosticCategory.Error,"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624","Source provides no match for variadic element at position {0} in target."),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:i(2625,e.DiagnosticCategory.Error,"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625","Variadic element at position {0} in source does not match element at position {1} in target."),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:i(2626,e.DiagnosticCategory.Error,"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626","Type at position {0} in source is not compatible with type at position {1} in target."),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:i(2627,e.DiagnosticCategory.Error,"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627","Type at positions {0} through {1} in source is not compatible with type at position {2} in target."),Cannot_assign_to_0_because_it_is_an_enum:i(2628,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_an_enum_2628","Cannot assign to '{0}' because it is an enum."),Cannot_assign_to_0_because_it_is_a_class:i(2629,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_class_2629","Cannot assign to '{0}' because it is a class."),Cannot_assign_to_0_because_it_is_a_function:i(2630,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_function_2630","Cannot assign to '{0}' because it is a function."),Cannot_assign_to_0_because_it_is_a_namespace:i(2631,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_namespace_2631","Cannot assign to '{0}' because it is a namespace."),Cannot_assign_to_0_because_it_is_an_import:i(2632,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_an_import_2632","Cannot assign to '{0}' because it is an import."),JSX_property_access_expressions_cannot_include_JSX_namespace_names:i(2633,e.DiagnosticCategory.Error,"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633","JSX property access expressions cannot include JSX namespace names"),_0_index_signatures_are_incompatible:i(2634,e.DiagnosticCategory.Error,"_0_index_signatures_are_incompatible_2634","'{0}' index signatures are incompatible."),Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable:i(2635,e.DiagnosticCategory.Error,"Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635","Type '{0}' has no signatures for which the type argument list is applicable."),Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation:i(2636,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636","Type '{0}' is not assignable to type '{1}' as implied by variance annotation."),Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types:i(2637,e.DiagnosticCategory.Error,"Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637","Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."),Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator:i(2638,e.DiagnosticCategory.Error,"Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638","Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:i(2649,e.DiagnosticCategory.Error,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:i(2651,e.DiagnosticCategory.Error,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:i(2652,e.DiagnosticCategory.Error,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:i(2653,e.DiagnosticCategory.Error,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),JSX_expressions_must_have_one_parent_element:i(2657,e.DiagnosticCategory.Error,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:i(2658,e.DiagnosticCategory.Error,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:i(2659,e.DiagnosticCategory.Error,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:i(2660,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:i(2661,e.DiagnosticCategory.Error,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:i(2662,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:i(2663,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:i(2664,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:i(2665,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:i(2666,e.DiagnosticCategory.Error,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:i(2667,e.DiagnosticCategory.Error,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:i(2668,e.DiagnosticCategory.Error,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:i(2669,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:i(2670,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:i(2671,e.DiagnosticCategory.Error,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:i(2672,e.DiagnosticCategory.Error,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:i(2673,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:i(2674,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:i(2675,e.DiagnosticCategory.Error,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:i(2676,e.DiagnosticCategory.Error,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:i(2677,e.DiagnosticCategory.Error,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:i(2678,e.DiagnosticCategory.Error,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:i(2679,e.DiagnosticCategory.Error,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:i(2680,e.DiagnosticCategory.Error,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:i(2681,e.DiagnosticCategory.Error,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:i(2683,e.DiagnosticCategory.Error,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:i(2684,e.DiagnosticCategory.Error,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:i(2685,e.DiagnosticCategory.Error,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:i(2686,e.DiagnosticCategory.Error,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:i(2687,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:i(2688,e.DiagnosticCategory.Error,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:i(2689,e.DiagnosticCategory.Error,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:i(2690,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690","'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:i(2691,e.DiagnosticCategory.Error,"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691","An import path cannot end with a '{0}' extension. Consider importing '{1}' instead."),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:i(2692,e.DiagnosticCategory.Error,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:i(2693,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:i(2694,e.DiagnosticCategory.Error,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:i(2695,e.DiagnosticCategory.Error,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:i(2696,e.DiagnosticCategory.Error,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:i(2697,e.DiagnosticCategory.Error,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),Spread_types_may_only_be_created_from_object_types:i(2698,e.DiagnosticCategory.Error,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:i(2699,e.DiagnosticCategory.Error,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:i(2700,e.DiagnosticCategory.Error,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:i(2701,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:i(2702,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:i(2703,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:i(2704,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a 'delete' operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:i(2705,e.DiagnosticCategory.Error,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Required_type_parameters_may_not_follow_optional_type_parameters:i(2706,e.DiagnosticCategory.Error,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:i(2707,e.DiagnosticCategory.Error,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:i(2708,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:i(2709,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:i(2710,e.DiagnosticCategory.Error,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:i(2711,e.DiagnosticCategory.Error,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:i(2712,e.DiagnosticCategory.Error,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:i(2713,e.DiagnosticCategory.Error,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713",`Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}["{1}"]'?`),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:i(2714,e.DiagnosticCategory.Error,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:i(2715,e.DiagnosticCategory.Error,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:i(2716,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:i(2717,e.DiagnosticCategory.Error,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:i(2718,e.DiagnosticCategory.Error,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:i(2719,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:i(2720,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:i(2721,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:i(2722,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:i(2723,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),_0_has_no_exported_member_named_1_Did_you_mean_2:i(2724,e.DiagnosticCategory.Error,"_0_has_no_exported_member_named_1_Did_you_mean_2_2724","'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:i(2725,e.DiagnosticCategory.Error,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:i(2726,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:i(2727,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:i(2728,e.DiagnosticCategory.Message,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:i(2729,e.DiagnosticCategory.Error,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:i(2730,e.DiagnosticCategory.Error,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:i(2731,e.DiagnosticCategory.Error,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:i(2732,e.DiagnosticCategory.Error,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),Property_0_was_also_declared_here:i(2733,e.DiagnosticCategory.Error,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:i(2734,e.DiagnosticCategory.Error,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:i(2735,e.DiagnosticCategory.Error,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:i(2736,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:i(2737,e.DiagnosticCategory.Error,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:i(2738,e.DiagnosticCategory.Message,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:i(2739,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:i(2740,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:i(2741,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:i(2742,e.DiagnosticCategory.Error,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:i(2743,e.DiagnosticCategory.Error,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:i(2744,e.DiagnosticCategory.Error,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:i(2745,e.DiagnosticCategory.Error,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:i(2746,e.DiagnosticCategory.Error,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:i(2747,e.DiagnosticCategory.Error,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided:i(2748,e.DiagnosticCategory.Error,"Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided_2748","Cannot access ambient const enums when the '--isolatedModules' flag is provided."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:i(2749,e.DiagnosticCategory.Error,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:i(2750,e.DiagnosticCategory.Error,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:i(2751,e.DiagnosticCategory.Error,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:i(2752,e.DiagnosticCategory.Error,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:i(2753,e.DiagnosticCategory.Error,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:i(2754,e.DiagnosticCategory.Error,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:i(2755,e.DiagnosticCategory.Error,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:i(2756,e.DiagnosticCategory.Error,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:i(2757,e.DiagnosticCategory.Error,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:i(2758,e.DiagnosticCategory.Error,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:i(2759,e.DiagnosticCategory.Error,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:i(2760,e.DiagnosticCategory.Error,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:i(2761,e.DiagnosticCategory.Error,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:i(2762,e.DiagnosticCategory.Error,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:i(2763,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:i(2764,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:i(2765,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:i(2766,e.DiagnosticCategory.Error,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:i(2767,e.DiagnosticCategory.Error,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:i(2768,e.DiagnosticCategory.Error,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:i(2769,e.DiagnosticCategory.Error,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:i(2770,e.DiagnosticCategory.Error,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:i(2771,e.DiagnosticCategory.Error,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:i(2772,e.DiagnosticCategory.Error,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:i(2773,e.DiagnosticCategory.Error,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:i(2774,e.DiagnosticCategory.Error,"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774","This condition will always return true since this function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:i(2775,e.DiagnosticCategory.Error,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:i(2776,e.DiagnosticCategory.Error,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:i(2777,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:i(2778,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:i(2779,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:i(2780,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:i(2781,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:i(2782,e.DiagnosticCategory.Message,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:i(2783,e.DiagnosticCategory.Error,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:i(2784,e.DiagnosticCategory.Error,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:i(2785,e.DiagnosticCategory.Error,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:i(2786,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:i(2787,e.DiagnosticCategory.Error,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:i(2788,e.DiagnosticCategory.Error,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:i(2789,e.DiagnosticCategory.Error,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:i(2790,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:i(2791,e.DiagnosticCategory.Error,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:i(2792,e.DiagnosticCategory.Error,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_th_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:i(2793,e.DiagnosticCategory.Error,"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793","The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:i(2794,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794","Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:i(2795,e.DiagnosticCategory.Error,"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795","The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:i(2796,e.DiagnosticCategory.Error,"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796","It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:i(2797,e.DiagnosticCategory.Error,"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797","A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."),The_declaration_was_marked_as_deprecated_here:i(2798,e.DiagnosticCategory.Error,"The_declaration_was_marked_as_deprecated_here_2798","The declaration was marked as deprecated here."),Type_produces_a_tuple_type_that_is_too_large_to_represent:i(2799,e.DiagnosticCategory.Error,"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799","Type produces a tuple type that is too large to represent."),Expression_produces_a_tuple_type_that_is_too_large_to_represent:i(2800,e.DiagnosticCategory.Error,"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800","Expression produces a tuple type that is too large to represent."),This_condition_will_always_return_true_since_this_0_is_always_defined:i(2801,e.DiagnosticCategory.Error,"This_condition_will_always_return_true_since_this_0_is_always_defined_2801","This condition will always return true since this '{0}' is always defined."),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:i(2802,e.DiagnosticCategory.Error,"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802","Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:i(2803,e.DiagnosticCategory.Error,"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803","Cannot assign to private method '{0}'. Private methods are not writable."),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:i(2804,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804","Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."),Private_accessor_was_defined_without_a_getter:i(2806,e.DiagnosticCategory.Error,"Private_accessor_was_defined_without_a_getter_2806","Private accessor was defined without a getter."),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:i(2807,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807","This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:i(2808,e.DiagnosticCategory.Error,"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808","A get accessor must be at least as accessible as the setter"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses:i(2809,e.DiagnosticCategory.Error,"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809","Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses."),Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments:i(2810,e.DiagnosticCategory.Error,"Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810","Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments."),Initializer_for_property_0:i(2811,e.DiagnosticCategory.Error,"Initializer_for_property_0_2811","Initializer for property '{0}'"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:i(2812,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812","Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."),Class_declaration_cannot_implement_overload_list_for_0:i(2813,e.DiagnosticCategory.Error,"Class_declaration_cannot_implement_overload_list_for_0_2813","Class declaration cannot implement overload list for '{0}'."),Function_with_bodies_can_only_merge_with_classes_that_are_ambient:i(2814,e.DiagnosticCategory.Error,"Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814","Function with bodies can only merge with classes that are ambient."),arguments_cannot_be_referenced_in_property_initializers:i(2815,e.DiagnosticCategory.Error,"arguments_cannot_be_referenced_in_property_initializers_2815","'arguments' cannot be referenced in property initializers."),Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class:i(2816,e.DiagnosticCategory.Error,"Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816","Cannot use 'this' in a static property initializer of a decorated class."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block:i(2817,e.DiagnosticCategory.Error,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817","Property '{0}' has no initializer and is not definitely assigned in a class static block."),Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers:i(2818,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818","Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),Namespace_name_cannot_be_0:i(2819,e.DiagnosticCategory.Error,"Namespace_name_cannot_be_0_2819","Namespace name cannot be '{0}'."),Type_0_is_not_assignable_to_type_1_Did_you_mean_2:i(2820,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820","Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext:i(2821,e.DiagnosticCategory.Error,"Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext_2821","Import assertions are only supported when the '--module' option is set to 'esnext' or 'nodenext'."),Import_assertions_cannot_be_used_with_type_only_imports_or_exports:i(2822,e.DiagnosticCategory.Error,"Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822","Import assertions cannot be used with type-only imports or exports."),Cannot_find_namespace_0_Did_you_mean_1:i(2833,e.DiagnosticCategory.Error,"Cannot_find_namespace_0_Did_you_mean_1_2833","Cannot find namespace '{0}'. Did you mean '{1}'?"),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path:i(2834,e.DiagnosticCategory.Error,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2834","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0:i(2835,e.DiagnosticCategory.Error,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"),Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls:i(2836,e.DiagnosticCategory.Error,"Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836","Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),Import_assertion_values_must_be_string_literal_expressions:i(2837,e.DiagnosticCategory.Error,"Import_assertion_values_must_be_string_literal_expressions_2837","Import assertion values must be string literal expressions."),All_declarations_of_0_must_have_identical_constraints:i(2838,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_constraints_2838","All declarations of '{0}' must have identical constraints."),This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value:i(2839,e.DiagnosticCategory.Error,"This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839","This condition will always return '{0}' since JavaScript compares objects by reference, not value."),An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes:i(2840,e.DiagnosticCategory.Error,"An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_clas_2840","An interface cannot extend a primitive type like '{0}'; an interface can only extend named types and classes"),The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(2841,e.DiagnosticCategory.Error,"The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_2841","The type of this expression cannot be named without a 'resolution-mode' assertion, which is an unstable feature. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation:i(2842,e.DiagnosticCategory.Error,"_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842","'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"),We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here:i(2843,e.DiagnosticCategory.Error,"We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843","We can only write a type for '{0}' by adding a type for the entire parameter here."),Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:i(2844,e.DiagnosticCategory.Error,"Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844","Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),This_condition_will_always_return_0:i(2845,e.DiagnosticCategory.Error,"This_condition_will_always_return_0_2845","This condition will always return '{0}'."),Import_declaration_0_is_using_private_name_1:i(4e3,e.DiagnosticCategory.Error,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:i(4002,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:i(4004,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:i(4006,e.DiagnosticCategory.Error,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:i(4008,e.DiagnosticCategory.Error,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:i(4010,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i(4012,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:i(4014,e.DiagnosticCategory.Error,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:i(4016,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:i(4019,e.DiagnosticCategory.Error,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:i(4020,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:i(4021,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:i(4022,e.DiagnosticCategory.Error,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4023,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:i(4024,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:i(4025,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4026,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4027,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:i(4028,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4029,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4030,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:i(4031,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4032,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:i(4033,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4034,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:i(4035,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4036,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:i(4037,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4038,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4039,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:i(4040,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4041,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4042,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:i(4043,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4044,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:i(4045,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4046,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:i(4047,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4048,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:i(4049,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4050,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i(4051,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:i(4052,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4053,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i(4054,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:i(4055,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4056,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:i(4057,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4058,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:i(4059,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:i(4060,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4061,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4062,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:i(4063,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4064,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:i(4065,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4066,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:i(4067,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4068,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4069,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:i(4070,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4071,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4072,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i(4073,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4074,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:i(4075,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4076,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:i(4077,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:i(4078,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:i(4081,e.DiagnosticCategory.Error,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:i(4082,e.DiagnosticCategory.Error,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:i(4083,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:i(4084,e.DiagnosticCategory.Error,"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084","Exported type alias '{0}' has or is using private name '{1}' from module {2}."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:i(4090,e.DiagnosticCategory.Error,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4091,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:i(4092,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:i(4094,e.DiagnosticCategory.Error,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4095,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4096,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:i(4097,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4098,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4099,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:i(4100,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4101,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:i(4102,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:i(4103,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:i(4104,e.DiagnosticCategory.Error,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:i(4105,e.DiagnosticCategory.Error,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:i(4106,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:i(4107,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4108,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:i(4109,e.DiagnosticCategory.Error,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:i(4110,e.DiagnosticCategory.Error,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:i(4111,e.DiagnosticCategory.Error,"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111","Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:i(4112,e.DiagnosticCategory.Error,"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112","This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:i(4113,e.DiagnosticCategory.Error,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:i(4114,e.DiagnosticCategory.Error,"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114","This member must have an 'override' modifier because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:i(4115,e.DiagnosticCategory.Error,"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115","This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:i(4116,e.DiagnosticCategory.Error,"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116","This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:i(4117,e.DiagnosticCategory.Error,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?"),The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized:i(4118,e.DiagnosticCategory.Error,"The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118","The type of this node cannot be serialized because its property '{0}' cannot be serialized."),This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:i(4119,e.DiagnosticCategory.Error,"This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119","This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:i(4120,e.DiagnosticCategory.Error,"This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120","This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:i(4121,e.DiagnosticCategory.Error,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121","This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:i(4122,e.DiagnosticCategory.Error,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122","This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:i(4123,e.DiagnosticCategory.Error,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123","This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"),Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(4124,e.DiagnosticCategory.Error,"Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124","Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(4125,e.DiagnosticCategory.Error,"resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125","'resolution-mode' assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),The_current_host_does_not_support_the_0_option:i(5001,e.DiagnosticCategory.Error,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:i(5009,e.DiagnosticCategory.Error,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:i(5010,e.DiagnosticCategory.Error,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:i(5012,e.DiagnosticCategory.Error,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:i(5014,e.DiagnosticCategory.Error,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:i(5023,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:i(5024,e.DiagnosticCategory.Error,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:i(5025,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:i(5033,e.DiagnosticCategory.Error,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:i(5042,e.DiagnosticCategory.Error,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:i(5047,e.DiagnosticCategory.Error,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_cannot_be_specified_when_option_target_is_ES3:i(5048,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_when_option_target_is_ES3_5048","Option '{0}' cannot be specified when option 'target' is 'ES3'."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:i(5051,e.DiagnosticCategory.Error,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:i(5052,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:i(5053,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:i(5054,e.DiagnosticCategory.Error,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:i(5055,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:i(5056,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:i(5057,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:i(5058,e.DiagnosticCategory.Error,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:i(5059,e.DiagnosticCategory.Error,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Pattern_0_can_have_at_most_one_Asterisk_character:i(5061,e.DiagnosticCategory.Error,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:i(5062,e.DiagnosticCategory.Error,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:i(5063,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:i(5064,e.DiagnosticCategory.Error,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:i(5065,e.DiagnosticCategory.Error,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:i(5066,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:i(5067,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:i(5068,e.DiagnosticCategory.Error,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:i(5069,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy:i(5070,e.DiagnosticCategory.Error,"Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy_5070","Option '--resolveJsonModule' cannot be specified without 'node' module resolution strategy."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:i(5071,e.DiagnosticCategory.Error,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:i(5072,e.DiagnosticCategory.Error,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:i(5073,e.DiagnosticCategory.Error,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:i(5074,e.DiagnosticCategory.Error,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:i(5075,e.DiagnosticCategory.Error,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:i(5076,e.DiagnosticCategory.Error,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:i(5077,e.DiagnosticCategory.Error,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:i(5078,e.DiagnosticCategory.Error,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:i(5079,e.DiagnosticCategory.Error,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:i(5080,e.DiagnosticCategory.Error,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:i(5081,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:i(5082,e.DiagnosticCategory.Error,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:i(5083,e.DiagnosticCategory.Error,"Cannot_read_file_0_5083","Cannot read file '{0}'."),Tuple_members_must_all_have_names_or_all_not_have_names:i(5084,e.DiagnosticCategory.Error,"Tuple_members_must_all_have_names_or_all_not_have_names_5084","Tuple members must all have names or all not have names."),A_tuple_member_cannot_be_both_optional_and_rest:i(5085,e.DiagnosticCategory.Error,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:i(5086,e.DiagnosticCategory.Error,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:i(5087,e.DiagnosticCategory.Error,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:i(5088,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Option_0_cannot_be_specified_when_option_jsx_is_1:i(5089,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_when_option_jsx_is_1_5089","Option '{0}' cannot be specified when option 'jsx' is '{1}'."),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:i(5090,e.DiagnosticCategory.Error,"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090","Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled:i(5091,e.DiagnosticCategory.Error,"Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled_5091","Option 'preserveConstEnums' cannot be disabled when 'isolatedModules' is enabled."),The_root_value_of_a_0_file_must_be_an_object:i(5092,e.DiagnosticCategory.Error,"The_root_value_of_a_0_file_must_be_an_object_5092","The root value of a '{0}' file must be an object."),Compiler_option_0_may_only_be_used_with_build:i(5093,e.DiagnosticCategory.Error,"Compiler_option_0_may_only_be_used_with_build_5093","Compiler option '--{0}' may only be used with '--build'."),Compiler_option_0_may_not_be_used_with_build:i(5094,e.DiagnosticCategory.Error,"Compiler_option_0_may_not_be_used_with_build_5094","Compiler option '--{0}' may not be used with '--build'."),Option_preserveValueImports_can_only_be_used_when_module_is_set_to_es2015_or_later:i(5095,e.DiagnosticCategory.Error,"Option_preserveValueImports_can_only_be_used_when_module_is_set_to_es2015_or_later_5095","Option 'preserveValueImports' can only be used when 'module' is set to 'es2015' or later."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:i(6e3,e.DiagnosticCategory.Message,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:i(6001,e.DiagnosticCategory.Message,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:i(6002,e.DiagnosticCategory.Message,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:i(6004,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:i(6005,e.DiagnosticCategory.Message,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:i(6006,e.DiagnosticCategory.Message,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:i(6007,e.DiagnosticCategory.Message,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:i(6008,e.DiagnosticCategory.Message,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:i(6009,e.DiagnosticCategory.Message,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:i(6010,e.DiagnosticCategory.Message,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:i(6011,e.DiagnosticCategory.Message,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:i(6012,e.DiagnosticCategory.Message,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:i(6013,e.DiagnosticCategory.Message,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:i(6014,e.DiagnosticCategory.Message,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version:i(6015,e.DiagnosticCategory.Message,"Specify_ECMAScript_target_version_6015","Specify ECMAScript target version."),Specify_module_code_generation:i(6016,e.DiagnosticCategory.Message,"Specify_module_code_generation_6016","Specify module code generation."),Print_this_message:i(6017,e.DiagnosticCategory.Message,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:i(6019,e.DiagnosticCategory.Message,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:i(6020,e.DiagnosticCategory.Message,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:i(6023,e.DiagnosticCategory.Message,"Syntax_Colon_0_6023","Syntax: {0}"),options:i(6024,e.DiagnosticCategory.Message,"options_6024","options"),file:i(6025,e.DiagnosticCategory.Message,"file_6025","file"),Examples_Colon_0:i(6026,e.DiagnosticCategory.Message,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:i(6027,e.DiagnosticCategory.Message,"Options_Colon_6027","Options:"),Version_0:i(6029,e.DiagnosticCategory.Message,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:i(6030,e.DiagnosticCategory.Message,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:i(6031,e.DiagnosticCategory.Message,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:i(6032,e.DiagnosticCategory.Message,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:i(6034,e.DiagnosticCategory.Message,"KIND_6034","KIND"),FILE:i(6035,e.DiagnosticCategory.Message,"FILE_6035","FILE"),VERSION:i(6036,e.DiagnosticCategory.Message,"VERSION_6036","VERSION"),LOCATION:i(6037,e.DiagnosticCategory.Message,"LOCATION_6037","LOCATION"),DIRECTORY:i(6038,e.DiagnosticCategory.Message,"DIRECTORY_6038","DIRECTORY"),STRATEGY:i(6039,e.DiagnosticCategory.Message,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:i(6040,e.DiagnosticCategory.Message,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Errors_Files:i(6041,e.DiagnosticCategory.Message,"Errors_Files_6041","Errors Files"),Generates_corresponding_map_file:i(6043,e.DiagnosticCategory.Message,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:i(6044,e.DiagnosticCategory.Error,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:i(6045,e.DiagnosticCategory.Error,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:i(6046,e.DiagnosticCategory.Error,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:i(6048,e.DiagnosticCategory.Error,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unable_to_open_file_0:i(6050,e.DiagnosticCategory.Error,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:i(6051,e.DiagnosticCategory.Error,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:i(6052,e.DiagnosticCategory.Message,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:i(6053,e.DiagnosticCategory.Error,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:i(6054,e.DiagnosticCategory.Error,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:i(6055,e.DiagnosticCategory.Message,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:i(6056,e.DiagnosticCategory.Message,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:i(6058,e.DiagnosticCategory.Message,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:i(6059,e.DiagnosticCategory.Error,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:i(6060,e.DiagnosticCategory.Message,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:i(6061,e.DiagnosticCategory.Message,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:i(6064,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:i(6065,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:i(6066,e.DiagnosticCategory.Message,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:i(6069,e.DiagnosticCategory.Message,"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069","Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:i(6070,e.DiagnosticCategory.Message,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:i(6071,e.DiagnosticCategory.Message,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:i(6072,e.DiagnosticCategory.Message,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:i(6073,e.DiagnosticCategory.Message,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:i(6074,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:i(6075,e.DiagnosticCategory.Message,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:i(6076,e.DiagnosticCategory.Message,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:i(6077,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:i(6078,e.DiagnosticCategory.Message,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:i(6079,e.DiagnosticCategory.Message,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation:i(6080,e.DiagnosticCategory.Message,"Specify_JSX_code_generation_6080","Specify JSX code generation."),File_0_has_an_unsupported_extension_so_skipping_it:i(6081,e.DiagnosticCategory.Message,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:i(6082,e.DiagnosticCategory.Error,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:i(6083,e.DiagnosticCategory.Message,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:i(6084,e.DiagnosticCategory.Message,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:i(6085,e.DiagnosticCategory.Message,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:i(6086,e.DiagnosticCategory.Message,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:i(6087,e.DiagnosticCategory.Message,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:i(6088,e.DiagnosticCategory.Message,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:i(6089,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:i(6090,e.DiagnosticCategory.Message,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:i(6091,e.DiagnosticCategory.Message,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:i(6092,e.DiagnosticCategory.Message,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:i(6093,e.DiagnosticCategory.Message,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:i(6094,e.DiagnosticCategory.Message,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:i(6095,e.DiagnosticCategory.Message,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095","Loading module as file / folder, candidate module location '{0}', target file type '{1}'."),File_0_does_not_exist:i(6096,e.DiagnosticCategory.Message,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exist_use_it_as_a_name_resolution_result:i(6097,e.DiagnosticCategory.Message,"File_0_exist_use_it_as_a_name_resolution_result_6097","File '{0}' exist - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_type_1:i(6098,e.DiagnosticCategory.Message,"Loading_module_0_from_node_modules_folder_target_file_type_1_6098","Loading module '{0}' from 'node_modules' folder, target file type '{1}'."),Found_package_json_at_0:i(6099,e.DiagnosticCategory.Message,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:i(6100,e.DiagnosticCategory.Message,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:i(6101,e.DiagnosticCategory.Message,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:i(6102,e.DiagnosticCategory.Message,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:i(6104,e.DiagnosticCategory.Message,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:i(6105,e.DiagnosticCategory.Message,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:i(6106,e.DiagnosticCategory.Message,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:i(6107,e.DiagnosticCategory.Message,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:i(6108,e.DiagnosticCategory.Message,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:i(6109,e.DiagnosticCategory.Message,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:i(6110,e.DiagnosticCategory.Message,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:i(6111,e.DiagnosticCategory.Message,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:i(6112,e.DiagnosticCategory.Message,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:i(6113,e.DiagnosticCategory.Message,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:i(6114,e.DiagnosticCategory.Error,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:i(6115,e.DiagnosticCategory.Message,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:i(6116,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:i(6119,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:i(6120,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:i(6121,e.DiagnosticCategory.Message,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:i(6122,e.DiagnosticCategory.Message,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:i(6123,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:i(6124,e.DiagnosticCategory.Message,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:i(6125,e.DiagnosticCategory.Message,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:i(6126,e.DiagnosticCategory.Message,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:i(6127,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:i(6128,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:i(6130,e.DiagnosticCategory.Message,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:i(6131,e.DiagnosticCategory.Error,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:i(6132,e.DiagnosticCategory.Message,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:i(6133,e.DiagnosticCategory.Error,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:i(6134,e.DiagnosticCategory.Message,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:i(6135,e.DiagnosticCategory.Message,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:i(6136,e.DiagnosticCategory.Message,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:i(6137,e.DiagnosticCategory.Error,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:i(6138,e.DiagnosticCategory.Error,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:i(6139,e.DiagnosticCategory.Message,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:i(6140,e.DiagnosticCategory.Error,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:i(6141,e.DiagnosticCategory.Message,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:i(6142,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:i(6144,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:i(6145,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:i(6146,e.DiagnosticCategory.Message,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:i(6147,e.DiagnosticCategory.Message,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:i(6148,e.DiagnosticCategory.Message,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:i(6149,e.DiagnosticCategory.Message,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:i(6150,e.DiagnosticCategory.Message,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:i(6151,e.DiagnosticCategory.Message,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:i(6152,e.DiagnosticCategory.Message,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:i(6153,e.DiagnosticCategory.Message,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:i(6154,e.DiagnosticCategory.Message,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:i(6155,e.DiagnosticCategory.Message,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:i(6156,e.DiagnosticCategory.Message,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:i(6157,e.DiagnosticCategory.Message,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:i(6158,e.DiagnosticCategory.Message,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:i(6159,e.DiagnosticCategory.Message,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:i(6160,e.DiagnosticCategory.Message,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:i(6161,e.DiagnosticCategory.Message,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:i(6162,e.DiagnosticCategory.Message,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:i(6163,e.DiagnosticCategory.Message,"The_character_set_of_the_input_files_6163","The character set of the input files."),Do_not_truncate_error_messages:i(6165,e.DiagnosticCategory.Message,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:i(6166,e.DiagnosticCategory.Message,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:i(6167,e.DiagnosticCategory.Message,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:i(6168,e.DiagnosticCategory.Message,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:i(6169,e.DiagnosticCategory.Message,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:i(6170,e.DiagnosticCategory.Message,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:i(6171,e.DiagnosticCategory.Message,"Command_line_Options_6171","Command-line Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:i(6179,e.DiagnosticCategory.Message,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:i(6180,e.DiagnosticCategory.Message,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),Scoped_package_detected_looking_in_0:i(6182,e.DiagnosticCategory.Message,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:i(6183,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:i(6184,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Enable_strict_checking_of_function_types:i(6186,e.DiagnosticCategory.Message,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:i(6187,e.DiagnosticCategory.Message,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:i(6188,e.DiagnosticCategory.Error,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:i(6189,e.DiagnosticCategory.Error,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:i(6191,e.DiagnosticCategory.Message,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:i(6192,e.DiagnosticCategory.Error,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:i(6193,e.DiagnosticCategory.Message,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:i(6194,e.DiagnosticCategory.Message,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:i(6195,e.DiagnosticCategory.Message,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:i(6196,e.DiagnosticCategory.Error,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:i(6197,e.DiagnosticCategory.Message,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:i(6198,e.DiagnosticCategory.Error,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:i(6199,e.DiagnosticCategory.Error,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:i(6200,e.DiagnosticCategory.Error,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:i(6201,e.DiagnosticCategory.Message,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:i(6202,e.DiagnosticCategory.Error,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:i(6203,e.DiagnosticCategory.Message,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:i(6204,e.DiagnosticCategory.Message,"and_here_6204","and here."),All_type_parameters_are_unused:i(6205,e.DiagnosticCategory.Error,"All_type_parameters_are_unused_6205","All type parameters are unused."),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:i(6206,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:i(6207,e.DiagnosticCategory.Message,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:i(6208,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:i(6209,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:i(6210,e.DiagnosticCategory.Message,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:i(6211,e.DiagnosticCategory.Message,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:i(6212,e.DiagnosticCategory.Message,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:i(6213,e.DiagnosticCategory.Message,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:i(6214,e.DiagnosticCategory.Message,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:i(6215,e.DiagnosticCategory.Message,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:i(6216,e.DiagnosticCategory.Message,"Found_1_error_6216","Found 1 error."),Found_0_errors:i(6217,e.DiagnosticCategory.Message,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:i(6218,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:i(6219,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:i(6220,e.DiagnosticCategory.Message,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:i(6221,e.DiagnosticCategory.Message,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:i(6222,e.DiagnosticCategory.Message,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:i(6223,e.DiagnosticCategory.Message,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:i(6224,e.DiagnosticCategory.Message,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:i(6225,e.DiagnosticCategory.Message,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:i(6226,e.DiagnosticCategory.Message,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:i(6227,e.DiagnosticCategory.Message,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:i(6229,e.DiagnosticCategory.Error,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:i(6230,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:i(6231,e.DiagnosticCategory.Error,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:i(6232,e.DiagnosticCategory.Error,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:i(6233,e.DiagnosticCategory.Error,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:i(6234,e.DiagnosticCategory.Error,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:i(6235,e.DiagnosticCategory.Message,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:i(6236,e.DiagnosticCategory.Error,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Generates_an_event_trace_and_a_list_of_types:i(6237,e.DiagnosticCategory.Message,"Generates_an_event_trace_and_a_list_of_types_6237","Generates an event trace and a list of types."),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:i(6238,e.DiagnosticCategory.Error,"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238","Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"),File_0_exists_according_to_earlier_cached_lookups:i(6239,e.DiagnosticCategory.Message,"File_0_exists_according_to_earlier_cached_lookups_6239","File '{0}' exists according to earlier cached lookups."),File_0_does_not_exist_according_to_earlier_cached_lookups:i(6240,e.DiagnosticCategory.Message,"File_0_does_not_exist_according_to_earlier_cached_lookups_6240","File '{0}' does not exist according to earlier cached lookups."),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:i(6241,e.DiagnosticCategory.Message,"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241","Resolution for type reference directive '{0}' was found in cache from location '{1}'."),Resolving_type_reference_directive_0_containing_file_1:i(6242,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_6242","======== Resolving type reference directive '{0}', containing file '{1}'. ========"),Interpret_optional_property_types_as_written_rather_than_adding_undefined:i(6243,e.DiagnosticCategory.Message,"Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243","Interpret optional property types as written, rather than adding 'undefined'."),Modules:i(6244,e.DiagnosticCategory.Message,"Modules_6244","Modules"),File_Management:i(6245,e.DiagnosticCategory.Message,"File_Management_6245","File Management"),Emit:i(6246,e.DiagnosticCategory.Message,"Emit_6246","Emit"),JavaScript_Support:i(6247,e.DiagnosticCategory.Message,"JavaScript_Support_6247","JavaScript Support"),Type_Checking:i(6248,e.DiagnosticCategory.Message,"Type_Checking_6248","Type Checking"),Editor_Support:i(6249,e.DiagnosticCategory.Message,"Editor_Support_6249","Editor Support"),Watch_and_Build_Modes:i(6250,e.DiagnosticCategory.Message,"Watch_and_Build_Modes_6250","Watch and Build Modes"),Compiler_Diagnostics:i(6251,e.DiagnosticCategory.Message,"Compiler_Diagnostics_6251","Compiler Diagnostics"),Interop_Constraints:i(6252,e.DiagnosticCategory.Message,"Interop_Constraints_6252","Interop Constraints"),Backwards_Compatibility:i(6253,e.DiagnosticCategory.Message,"Backwards_Compatibility_6253","Backwards Compatibility"),Language_and_Environment:i(6254,e.DiagnosticCategory.Message,"Language_and_Environment_6254","Language and Environment"),Projects:i(6255,e.DiagnosticCategory.Message,"Projects_6255","Projects"),Output_Formatting:i(6256,e.DiagnosticCategory.Message,"Output_Formatting_6256","Output Formatting"),Completeness:i(6257,e.DiagnosticCategory.Message,"Completeness_6257","Completeness"),_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file:i(6258,e.DiagnosticCategory.Error,"_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258","'{0}' should be set inside the 'compilerOptions' object of the config json file"),Found_1_error_in_1:i(6259,e.DiagnosticCategory.Message,"Found_1_error_in_1_6259","Found 1 error in {1}"),Found_0_errors_in_the_same_file_starting_at_Colon_1:i(6260,e.DiagnosticCategory.Message,"Found_0_errors_in_the_same_file_starting_at_Colon_1_6260","Found {0} errors in the same file, starting at: {1}"),Found_0_errors_in_1_files:i(6261,e.DiagnosticCategory.Message,"Found_0_errors_in_1_files_6261","Found {0} errors in {1} files."),Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve:i(6270,e.DiagnosticCategory.Message,"Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270","Directory '{0}' has no containing package.json scope. Imports will not resolve."),Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1:i(6271,e.DiagnosticCategory.Message,"Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271","Import specifier '{0}' does not exist in package.json scope at path '{1}'."),Invalid_import_specifier_0_has_no_possible_resolutions:i(6272,e.DiagnosticCategory.Message,"Invalid_import_specifier_0_has_no_possible_resolutions_6272","Invalid import specifier '{0}' has no possible resolutions."),package_json_scope_0_has_no_imports_defined:i(6273,e.DiagnosticCategory.Message,"package_json_scope_0_has_no_imports_defined_6273","package.json scope '{0}' has no imports defined."),package_json_scope_0_explicitly_maps_specifier_1_to_null:i(6274,e.DiagnosticCategory.Message,"package_json_scope_0_explicitly_maps_specifier_1_to_null_6274","package.json scope '{0}' explicitly maps specifier '{1}' to null."),package_json_scope_0_has_invalid_type_for_target_of_specifier_1:i(6275,e.DiagnosticCategory.Message,"package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275","package.json scope '{0}' has invalid type for target of specifier '{1}'"),Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1:i(6276,e.DiagnosticCategory.Message,"Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276","Export specifier '{0}' does not exist in package.json scope at path '{1}'."),Enable_project_compilation:i(6302,e.DiagnosticCategory.Message,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:i(6304,e.DiagnosticCategory.Error,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:i(6305,e.DiagnosticCategory.Error,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:i(6306,e.DiagnosticCategory.Error,"Referenced_project_0_must_have_setting_composite_Colon_true_6306",`Referenced project '{0}' must have setting "composite": true.`),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:i(6307,e.DiagnosticCategory.Error,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:i(6308,e.DiagnosticCategory.Error,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:i(6309,e.DiagnosticCategory.Error,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Referenced_project_0_may_not_disable_emit:i(6310,e.DiagnosticCategory.Error,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_output_1_is_older_than_input_2:i(6350,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350","Project '{0}' is out of date because output '{1}' is older than input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2:i(6351,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:i(6352,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:i(6353,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:i(6354,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:i(6355,e.DiagnosticCategory.Message,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:i(6356,e.DiagnosticCategory.Message,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:i(6357,e.DiagnosticCategory.Message,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:i(6358,e.DiagnosticCategory.Message,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:i(6359,e.DiagnosticCategory.Message,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),Project_0_is_up_to_date:i(6361,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:i(6362,e.DiagnosticCategory.Message,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:i(6363,e.DiagnosticCategory.Message,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:i(6364,e.DiagnosticCategory.Message,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:i(6365,e.DiagnosticCategory.Message,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects."),Show_what_would_be_built_or_deleted_if_specified_with_clean:i(6367,e.DiagnosticCategory.Message,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Option_build_must_be_the_first_command_line_argument:i(6369,e.DiagnosticCategory.Error,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:i(6370,e.DiagnosticCategory.Error,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:i(6371,e.DiagnosticCategory.Message,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:i(6372,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372","Project '{0}' is out of date because output of its dependency '{1}' has changed"),Updating_output_of_project_0:i(6373,e.DiagnosticCategory.Message,"Updating_output_of_project_0_6373","Updating output of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:i(6374,e.DiagnosticCategory.Message,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),A_non_dry_build_would_update_output_of_project_0:i(6375,e.DiagnosticCategory.Message,"A_non_dry_build_would_update_output_of_project_0_6375","A non-dry build would update output of project '{0}'"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:i(6376,e.DiagnosticCategory.Message,"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376","Cannot update output of project '{0}' because there was error reading file '{1}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:i(6377,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Composite_projects_may_not_disable_incremental_compilation:i(6379,e.DiagnosticCategory.Error,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:i(6380,e.DiagnosticCategory.Message,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:i(6381,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:i(6382,e.DiagnosticCategory.Message,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:i(6383,e.DiagnosticCategory.Message,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:i(6384,e.DiagnosticCategory.Message,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:i(6385,e.DiagnosticCategory.Suggestion,"_0_is_deprecated_6385","'{0}' is deprecated.",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:i(6386,e.DiagnosticCategory.Message,"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386","Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),The_signature_0_of_1_is_deprecated:i(6387,e.DiagnosticCategory.Suggestion,"The_signature_0_of_1_is_deprecated_6387","The signature '{0}' of '{1}' is deprecated.",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:i(6388,e.DiagnosticCategory.Message,"Project_0_is_being_forcibly_rebuilt_6388","Project '{0}' is being forcibly rebuilt"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:i(6389,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389","Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:i(6390,e.DiagnosticCategory.Message,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:i(6391,e.DiagnosticCategory.Message,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved:i(6392,e.DiagnosticCategory.Message,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:i(6393,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:i(6394,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:i(6395,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:i(6396,e.DiagnosticCategory.Message,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:i(6397,e.DiagnosticCategory.Message,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:i(6398,e.DiagnosticCategory.Message,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted:i(6399,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399","Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"),Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files:i(6400,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400","Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"),Project_0_is_out_of_date_because_there_was_error_reading_file_1:i(6401,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401","Project '{0}' is out of date because there was error reading file '{1}'"),Resolving_in_0_mode_with_conditions_1:i(6402,e.DiagnosticCategory.Message,"Resolving_in_0_mode_with_conditions_1_6402","Resolving in {0} mode with conditions {1}."),Matched_0_condition_1:i(6403,e.DiagnosticCategory.Message,"Matched_0_condition_1_6403","Matched '{0}' condition '{1}'."),Using_0_subpath_1_with_target_2:i(6404,e.DiagnosticCategory.Message,"Using_0_subpath_1_with_target_2_6404","Using '{0}' subpath '{1}' with target '{2}'."),Saw_non_matching_condition_0:i(6405,e.DiagnosticCategory.Message,"Saw_non_matching_condition_0_6405","Saw non-matching condition '{0}'."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:i(6500,e.DiagnosticCategory.Message,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:i(6501,e.DiagnosticCategory.Message,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:i(6502,e.DiagnosticCategory.Message,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:i(6503,e.DiagnosticCategory.Message,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:i(6504,e.DiagnosticCategory.Error,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:i(6505,e.DiagnosticCategory.Message,"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505","Print names of files and the reason they are part of the compilation."),Consider_adding_a_declare_modifier_to_this_class:i(6506,e.DiagnosticCategory.Message,"Consider_adding_a_declare_modifier_to_this_class_6506","Consider adding a 'declare' modifier to this class."),Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files:i(6600,e.DiagnosticCategory.Message,"Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600","Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files."),Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export:i(6601,e.DiagnosticCategory.Message,"Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601","Allow 'import x from y' when a module doesn't have a default export."),Allow_accessing_UMD_globals_from_modules:i(6602,e.DiagnosticCategory.Message,"Allow_accessing_UMD_globals_from_modules_6602","Allow accessing UMD globals from modules."),Disable_error_reporting_for_unreachable_code:i(6603,e.DiagnosticCategory.Message,"Disable_error_reporting_for_unreachable_code_6603","Disable error reporting for unreachable code."),Disable_error_reporting_for_unused_labels:i(6604,e.DiagnosticCategory.Message,"Disable_error_reporting_for_unused_labels_6604","Disable error reporting for unused labels."),Ensure_use_strict_is_always_emitted:i(6605,e.DiagnosticCategory.Message,"Ensure_use_strict_is_always_emitted_6605","Ensure 'use strict' is always emitted."),Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:i(6606,e.DiagnosticCategory.Message,"Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606","Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it."),Specify_the_base_directory_to_resolve_non_relative_module_names:i(6607,e.DiagnosticCategory.Message,"Specify_the_base_directory_to_resolve_non_relative_module_names_6607","Specify the base directory to resolve non-relative module names."),No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files:i(6608,e.DiagnosticCategory.Message,"No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608","No longer supported. In early versions, manually set the text encoding for reading files."),Enable_error_reporting_in_type_checked_JavaScript_files:i(6609,e.DiagnosticCategory.Message,"Enable_error_reporting_in_type_checked_JavaScript_files_6609","Enable error reporting in type-checked JavaScript files."),Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references:i(6611,e.DiagnosticCategory.Message,"Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611","Enable constraints that allow a TypeScript project to be used with project references."),Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project:i(6612,e.DiagnosticCategory.Message,"Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612","Generate .d.ts files from TypeScript and JavaScript files in your project."),Specify_the_output_directory_for_generated_declaration_files:i(6613,e.DiagnosticCategory.Message,"Specify_the_output_directory_for_generated_declaration_files_6613","Specify the output directory for generated declaration files."),Create_sourcemaps_for_d_ts_files:i(6614,e.DiagnosticCategory.Message,"Create_sourcemaps_for_d_ts_files_6614","Create sourcemaps for d.ts files."),Output_compiler_performance_information_after_building:i(6615,e.DiagnosticCategory.Message,"Output_compiler_performance_information_after_building_6615","Output compiler performance information after building."),Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project:i(6616,e.DiagnosticCategory.Message,"Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616","Disables inference for type acquisition by looking at filenames in a project."),Reduce_the_number_of_projects_loaded_automatically_by_TypeScript:i(6617,e.DiagnosticCategory.Message,"Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617","Reduce the number of projects loaded automatically by TypeScript."),Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server:i(6618,e.DiagnosticCategory.Message,"Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618","Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."),Opt_a_project_out_of_multi_project_reference_checking_when_editing:i(6619,e.DiagnosticCategory.Message,"Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619","Opt a project out of multi-project reference checking when editing."),Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects:i(6620,e.DiagnosticCategory.Message,"Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620","Disable preferring source files instead of declaration files when referencing composite projects."),Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration:i(6621,e.DiagnosticCategory.Message,"Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621","Emit more compliant, but verbose and less performant JavaScript for iteration."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:i(6622,e.DiagnosticCategory.Message,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Only_output_d_ts_files_and_not_JavaScript_files:i(6623,e.DiagnosticCategory.Message,"Only_output_d_ts_files_and_not_JavaScript_files_6623","Only output d.ts files and not JavaScript files."),Emit_design_type_metadata_for_decorated_declarations_in_source_files:i(6624,e.DiagnosticCategory.Message,"Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624","Emit design-type metadata for decorated declarations in source files."),Disable_the_type_acquisition_for_JavaScript_projects:i(6625,e.DiagnosticCategory.Message,"Disable_the_type_acquisition_for_JavaScript_projects_6625","Disable the type acquisition for JavaScript projects"),Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility:i(6626,e.DiagnosticCategory.Message,"Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626","Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility."),Filters_results_from_the_include_option:i(6627,e.DiagnosticCategory.Message,"Filters_results_from_the_include_option_6627","Filters results from the `include` option."),Remove_a_list_of_directories_from_the_watch_process:i(6628,e.DiagnosticCategory.Message,"Remove_a_list_of_directories_from_the_watch_process_6628","Remove a list of directories from the watch process."),Remove_a_list_of_files_from_the_watch_mode_s_processing:i(6629,e.DiagnosticCategory.Message,"Remove_a_list_of_files_from_the_watch_mode_s_processing_6629","Remove a list of files from the watch mode's processing."),Enable_experimental_support_for_TC39_stage_2_draft_decorators:i(6630,e.DiagnosticCategory.Message,"Enable_experimental_support_for_TC39_stage_2_draft_decorators_6630","Enable experimental support for TC39 stage 2 draft decorators."),Print_files_read_during_the_compilation_including_why_it_was_included:i(6631,e.DiagnosticCategory.Message,"Print_files_read_during_the_compilation_including_why_it_was_included_6631","Print files read during the compilation including why it was included."),Output_more_detailed_compiler_performance_information_after_building:i(6632,e.DiagnosticCategory.Message,"Output_more_detailed_compiler_performance_information_after_building_6632","Output more detailed compiler performance information after building."),Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited:i(6633,e.DiagnosticCategory.Message,"Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633","Specify one or more path or node module references to base configuration files from which settings are inherited."),Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers:i(6634,e.DiagnosticCategory.Message,"Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634","Specify what approach the watcher should use if the system runs out of native file watchers."),Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include:i(6635,e.DiagnosticCategory.Message,"Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635","Include a list of files. This does not support glob patterns, as opposed to `include`."),Build_all_projects_including_those_that_appear_to_be_up_to_date:i(6636,e.DiagnosticCategory.Message,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6636","Build all projects, including those that appear to be up to date."),Ensure_that_casing_is_correct_in_imports:i(6637,e.DiagnosticCategory.Message,"Ensure_that_casing_is_correct_in_imports_6637","Ensure that casing is correct in imports."),Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging:i(6638,e.DiagnosticCategory.Message,"Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638","Emit a v8 CPU profile of the compiler run for debugging."),Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file:i(6639,e.DiagnosticCategory.Message,"Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639","Allow importing helper functions from tslib once per project, instead of including them per-file."),Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation:i(6641,e.DiagnosticCategory.Message,"Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641","Specify a list of glob patterns that match files to be included in compilation."),Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects:i(6642,e.DiagnosticCategory.Message,"Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642","Save .tsbuildinfo files to allow for incremental compilation of projects."),Include_sourcemap_files_inside_the_emitted_JavaScript:i(6643,e.DiagnosticCategory.Message,"Include_sourcemap_files_inside_the_emitted_JavaScript_6643","Include sourcemap files inside the emitted JavaScript."),Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript:i(6644,e.DiagnosticCategory.Message,"Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644","Include source code in the sourcemaps inside the emitted JavaScript."),Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports:i(6645,e.DiagnosticCategory.Message,"Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645","Ensure that each file can be safely transpiled without relying on other imports."),Specify_what_JSX_code_is_generated:i(6646,e.DiagnosticCategory.Message,"Specify_what_JSX_code_is_generated_6646","Specify what JSX code is generated."),Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h:i(6647,e.DiagnosticCategory.Message,"Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647","Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'."),Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment:i(6648,e.DiagnosticCategory.Message,"Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648","Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."),Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk:i(6649,e.DiagnosticCategory.Message,"Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649","Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'."),Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option:i(6650,e.DiagnosticCategory.Message,"Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650","Make keyof only return strings instead of string, numbers or symbols. Legacy option."),Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment:i(6651,e.DiagnosticCategory.Message,"Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651","Specify a set of bundled library declaration files that describe the target runtime environment."),Print_the_names_of_emitted_files_after_a_compilation:i(6652,e.DiagnosticCategory.Message,"Print_the_names_of_emitted_files_after_a_compilation_6652","Print the names of emitted files after a compilation."),Print_all_of_the_files_read_during_the_compilation:i(6653,e.DiagnosticCategory.Message,"Print_all_of_the_files_read_during_the_compilation_6653","Print all of the files read during the compilation."),Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit:i(6654,e.DiagnosticCategory.Message,"Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654","Set the language of the messaging from TypeScript. This does not affect emit."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:i(6655,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs:i(6656,e.DiagnosticCategory.Message,"Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656","Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'."),Specify_what_module_code_is_generated:i(6657,e.DiagnosticCategory.Message,"Specify_what_module_code_is_generated_6657","Specify what module code is generated."),Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier:i(6658,e.DiagnosticCategory.Message,"Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658","Specify how TypeScript looks up a file from a given module specifier."),Set_the_newline_character_for_emitting_files:i(6659,e.DiagnosticCategory.Message,"Set_the_newline_character_for_emitting_files_6659","Set the newline character for emitting files."),Disable_emitting_files_from_a_compilation:i(6660,e.DiagnosticCategory.Message,"Disable_emitting_files_from_a_compilation_6660","Disable emitting files from a compilation."),Disable_generating_custom_helper_functions_like_extends_in_compiled_output:i(6661,e.DiagnosticCategory.Message,"Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661","Disable generating custom helper functions like '__extends' in compiled output."),Disable_emitting_files_if_any_type_checking_errors_are_reported:i(6662,e.DiagnosticCategory.Message,"Disable_emitting_files_if_any_type_checking_errors_are_reported_6662","Disable emitting files if any type checking errors are reported."),Disable_truncating_types_in_error_messages:i(6663,e.DiagnosticCategory.Message,"Disable_truncating_types_in_error_messages_6663","Disable truncating types in error messages."),Enable_error_reporting_for_fallthrough_cases_in_switch_statements:i(6664,e.DiagnosticCategory.Message,"Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664","Enable error reporting for fallthrough cases in switch statements."),Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type:i(6665,e.DiagnosticCategory.Message,"Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665","Enable error reporting for expressions and declarations with an implied 'any' type."),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:i(6666,e.DiagnosticCategory.Message,"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666","Ensure overriding members in derived classes are marked with an override modifier."),Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function:i(6667,e.DiagnosticCategory.Message,"Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667","Enable error reporting for codepaths that do not explicitly return in a function."),Enable_error_reporting_when_this_is_given_the_type_any:i(6668,e.DiagnosticCategory.Message,"Enable_error_reporting_when_this_is_given_the_type_any_6668","Enable error reporting when 'this' is given the type 'any'."),Disable_adding_use_strict_directives_in_emitted_JavaScript_files:i(6669,e.DiagnosticCategory.Message,"Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669","Disable adding 'use strict' directives in emitted JavaScript files."),Disable_including_any_library_files_including_the_default_lib_d_ts:i(6670,e.DiagnosticCategory.Message,"Disable_including_any_library_files_including_the_default_lib_d_ts_6670","Disable including any library files, including the default lib.d.ts."),Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type:i(6671,e.DiagnosticCategory.Message,"Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671","Enforces using indexed accessors for keys declared using an indexed type."),Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project:i(6672,e.DiagnosticCategory.Message,"Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672","Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project."),Disable_strict_checking_of_generic_signatures_in_function_types:i(6673,e.DiagnosticCategory.Message,"Disable_strict_checking_of_generic_signatures_in_function_types_6673","Disable strict checking of generic signatures in function types."),Add_undefined_to_a_type_when_accessed_using_an_index:i(6674,e.DiagnosticCategory.Message,"Add_undefined_to_a_type_when_accessed_using_an_index_6674","Add 'undefined' to a type when accessed using an index."),Enable_error_reporting_when_local_variables_aren_t_read:i(6675,e.DiagnosticCategory.Message,"Enable_error_reporting_when_local_variables_aren_t_read_6675","Enable error reporting when local variables aren't read."),Raise_an_error_when_a_function_parameter_isn_t_read:i(6676,e.DiagnosticCategory.Message,"Raise_an_error_when_a_function_parameter_isn_t_read_6676","Raise an error when a function parameter isn't read."),Deprecated_setting_Use_outFile_instead:i(6677,e.DiagnosticCategory.Message,"Deprecated_setting_Use_outFile_instead_6677","Deprecated setting. Use 'outFile' instead."),Specify_an_output_folder_for_all_emitted_files:i(6678,e.DiagnosticCategory.Message,"Specify_an_output_folder_for_all_emitted_files_6678","Specify an output folder for all emitted files."),Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output:i(6679,e.DiagnosticCategory.Message,"Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679","Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output."),Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations:i(6680,e.DiagnosticCategory.Message,"Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680","Specify a set of entries that re-map imports to additional lookup locations."),Specify_a_list_of_language_service_plugins_to_include:i(6681,e.DiagnosticCategory.Message,"Specify_a_list_of_language_service_plugins_to_include_6681","Specify a list of language service plugins to include."),Disable_erasing_const_enum_declarations_in_generated_code:i(6682,e.DiagnosticCategory.Message,"Disable_erasing_const_enum_declarations_in_generated_code_6682","Disable erasing 'const enum' declarations in generated code."),Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node:i(6683,e.DiagnosticCategory.Message,"Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683","Disable resolving symlinks to their realpath. This correlates to the same flag in node."),Disable_wiping_the_console_in_watch_mode:i(6684,e.DiagnosticCategory.Message,"Disable_wiping_the_console_in_watch_mode_6684","Disable wiping the console in watch mode."),Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read:i(6685,e.DiagnosticCategory.Message,"Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685","Enable color and formatting in TypeScript's output to make compiler errors easier to read."),Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit:i(6686,e.DiagnosticCategory.Message,"Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686","Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit."),Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references:i(6687,e.DiagnosticCategory.Message,"Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687","Specify an array of objects that specify paths for projects. Used in project references."),Disable_emitting_comments:i(6688,e.DiagnosticCategory.Message,"Disable_emitting_comments_6688","Disable emitting comments."),Enable_importing_json_files:i(6689,e.DiagnosticCategory.Message,"Enable_importing_json_files_6689","Enable importing .json files."),Specify_the_root_folder_within_your_source_files:i(6690,e.DiagnosticCategory.Message,"Specify_the_root_folder_within_your_source_files_6690","Specify the root folder within your source files."),Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules:i(6691,e.DiagnosticCategory.Message,"Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691","Allow multiple folders to be treated as one when resolving modules."),Skip_type_checking_d_ts_files_that_are_included_with_TypeScript:i(6692,e.DiagnosticCategory.Message,"Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692","Skip type checking .d.ts files that are included with TypeScript."),Skip_type_checking_all_d_ts_files:i(6693,e.DiagnosticCategory.Message,"Skip_type_checking_all_d_ts_files_6693","Skip type checking all .d.ts files."),Create_source_map_files_for_emitted_JavaScript_files:i(6694,e.DiagnosticCategory.Message,"Create_source_map_files_for_emitted_JavaScript_files_6694","Create source map files for emitted JavaScript files."),Specify_the_root_path_for_debuggers_to_find_the_reference_source_code:i(6695,e.DiagnosticCategory.Message,"Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695","Specify the root path for debuggers to find the reference source code."),Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function:i(6697,e.DiagnosticCategory.Message,"Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697","Check that the arguments for 'bind', 'call', and 'apply' methods match the original function."),When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible:i(6698,e.DiagnosticCategory.Message,"When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698","When assigning functions, check to ensure parameters and the return values are subtype-compatible."),When_type_checking_take_into_account_null_and_undefined:i(6699,e.DiagnosticCategory.Message,"When_type_checking_take_into_account_null_and_undefined_6699","When type checking, take into account 'null' and 'undefined'."),Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor:i(6700,e.DiagnosticCategory.Message,"Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700","Check for class properties that are declared but not set in the constructor."),Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments:i(6701,e.DiagnosticCategory.Message,"Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701","Disable emitting declarations that have '@internal' in their JSDoc comments."),Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals:i(6702,e.DiagnosticCategory.Message,"Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702","Disable reporting of excess property errors during the creation of object literals."),Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures:i(6703,e.DiagnosticCategory.Message,"Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703","Suppress 'noImplicitAny' errors when indexing objects that lack index signatures."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:i(6704,e.DiagnosticCategory.Message,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704","Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."),Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations:i(6705,e.DiagnosticCategory.Message,"Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705","Set the JavaScript language version for emitted JavaScript and include compatible library declarations."),Log_paths_used_during_the_moduleResolution_process:i(6706,e.DiagnosticCategory.Message,"Log_paths_used_during_the_moduleResolution_process_6706","Log paths used during the 'moduleResolution' process."),Specify_the_path_to_tsbuildinfo_incremental_compilation_file:i(6707,e.DiagnosticCategory.Message,"Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707","Specify the path to .tsbuildinfo incremental compilation file."),Specify_options_for_automatic_acquisition_of_declaration_files:i(6709,e.DiagnosticCategory.Message,"Specify_options_for_automatic_acquisition_of_declaration_files_6709","Specify options for automatic acquisition of declaration files."),Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types:i(6710,e.DiagnosticCategory.Message,"Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710","Specify multiple folders that act like './node_modules/@types'."),Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file:i(6711,e.DiagnosticCategory.Message,"Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711","Specify type package names to be included without being referenced in a source file."),Emit_ECMAScript_standard_compliant_class_fields:i(6712,e.DiagnosticCategory.Message,"Emit_ECMAScript_standard_compliant_class_fields_6712","Emit ECMAScript-standard-compliant class fields."),Enable_verbose_logging:i(6713,e.DiagnosticCategory.Message,"Enable_verbose_logging_6713","Enable verbose logging."),Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality:i(6714,e.DiagnosticCategory.Message,"Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714","Specify how directories are watched on systems that lack recursive file-watching functionality."),Specify_how_the_TypeScript_watch_mode_works:i(6715,e.DiagnosticCategory.Message,"Specify_how_the_TypeScript_watch_mode_works_6715","Specify how the TypeScript watch mode works."),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:i(6717,e.DiagnosticCategory.Message,"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717","Require undeclared properties from index signatures to use element accesses."),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:i(6718,e.DiagnosticCategory.Message,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718","Specify emit/checking behavior for imports that are only used for types."),Default_catch_clause_variables_as_unknown_instead_of_any:i(6803,e.DiagnosticCategory.Message,"Default_catch_clause_variables_as_unknown_instead_of_any_6803","Default catch clause variables as 'unknown' instead of 'any'."),one_of_Colon:i(6900,e.DiagnosticCategory.Message,"one_of_Colon_6900","one of:"),one_or_more_Colon:i(6901,e.DiagnosticCategory.Message,"one_or_more_Colon_6901","one or more:"),type_Colon:i(6902,e.DiagnosticCategory.Message,"type_Colon_6902","type:"),default_Colon:i(6903,e.DiagnosticCategory.Message,"default_Colon_6903","default:"),module_system_or_esModuleInterop:i(6904,e.DiagnosticCategory.Message,"module_system_or_esModuleInterop_6904",'module === "system" or esModuleInterop'),false_unless_strict_is_set:i(6905,e.DiagnosticCategory.Message,"false_unless_strict_is_set_6905","`false`, unless `strict` is set"),false_unless_composite_is_set:i(6906,e.DiagnosticCategory.Message,"false_unless_composite_is_set_6906","`false`, unless `composite` is set"),node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified:i(6907,e.DiagnosticCategory.Message,"node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907",'`["node_modules", "bower_components", "jspm_packages"]`, plus the value of `outDir` if one is specified.'),if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk:i(6908,e.DiagnosticCategory.Message,"if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908",'`[]` if `files` is specified, otherwise `["**/*"]`'),true_if_composite_false_otherwise:i(6909,e.DiagnosticCategory.Message,"true_if_composite_false_otherwise_6909","`true` if `composite`, `false` otherwise"),module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node:i(69010,e.DiagnosticCategory.Message,"module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010","module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`"),Computed_from_the_list_of_input_files:i(6911,e.DiagnosticCategory.Message,"Computed_from_the_list_of_input_files_6911","Computed from the list of input files"),Platform_specific:i(6912,e.DiagnosticCategory.Message,"Platform_specific_6912","Platform specific"),You_can_learn_about_all_of_the_compiler_options_at_0:i(6913,e.DiagnosticCategory.Message,"You_can_learn_about_all_of_the_compiler_options_at_0_6913","You can learn about all of the compiler options at {0}"),Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon:i(6914,e.DiagnosticCategory.Message,"Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914","Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:"),Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0:i(6915,e.DiagnosticCategory.Message,"Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915","Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}"),COMMON_COMMANDS:i(6916,e.DiagnosticCategory.Message,"COMMON_COMMANDS_6916","COMMON COMMANDS"),ALL_COMPILER_OPTIONS:i(6917,e.DiagnosticCategory.Message,"ALL_COMPILER_OPTIONS_6917","ALL COMPILER OPTIONS"),WATCH_OPTIONS:i(6918,e.DiagnosticCategory.Message,"WATCH_OPTIONS_6918","WATCH OPTIONS"),BUILD_OPTIONS:i(6919,e.DiagnosticCategory.Message,"BUILD_OPTIONS_6919","BUILD OPTIONS"),COMMON_COMPILER_OPTIONS:i(6920,e.DiagnosticCategory.Message,"COMMON_COMPILER_OPTIONS_6920","COMMON COMPILER OPTIONS"),COMMAND_LINE_FLAGS:i(6921,e.DiagnosticCategory.Message,"COMMAND_LINE_FLAGS_6921","COMMAND LINE FLAGS"),tsc_Colon_The_TypeScript_Compiler:i(6922,e.DiagnosticCategory.Message,"tsc_Colon_The_TypeScript_Compiler_6922","tsc: The TypeScript Compiler"),Compiles_the_current_project_tsconfig_json_in_the_working_directory:i(6923,e.DiagnosticCategory.Message,"Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923","Compiles the current project (tsconfig.json in the working directory.)"),Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options:i(6924,e.DiagnosticCategory.Message,"Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924","Ignoring tsconfig.json, compiles the specified files with default compiler options."),Build_a_composite_project_in_the_working_directory:i(6925,e.DiagnosticCategory.Message,"Build_a_composite_project_in_the_working_directory_6925","Build a composite project in the working directory."),Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory:i(6926,e.DiagnosticCategory.Message,"Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926","Creates a tsconfig.json with the recommended settings in the working directory."),Compiles_the_TypeScript_project_located_at_the_specified_path:i(6927,e.DiagnosticCategory.Message,"Compiles_the_TypeScript_project_located_at_the_specified_path_6927","Compiles the TypeScript project located at the specified path."),An_expanded_version_of_this_information_showing_all_possible_compiler_options:i(6928,e.DiagnosticCategory.Message,"An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928","An expanded version of this information, showing all possible compiler options"),Compiles_the_current_project_with_additional_settings:i(6929,e.DiagnosticCategory.Message,"Compiles_the_current_project_with_additional_settings_6929","Compiles the current project, with additional settings."),true_for_ES2022_and_above_including_ESNext:i(6930,e.DiagnosticCategory.Message,"true_for_ES2022_and_above_including_ESNext_6930","`true` for ES2022 and above, including ESNext."),List_of_file_name_suffixes_to_search_when_resolving_a_module:i(6931,e.DiagnosticCategory.Error,"List_of_file_name_suffixes_to_search_when_resolving_a_module_6931","List of file name suffixes to search when resolving a module."),Variable_0_implicitly_has_an_1_type:i(7005,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:i(7006,e.DiagnosticCategory.Error,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:i(7008,e.DiagnosticCategory.Error,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:i(7009,e.DiagnosticCategory.Error,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:i(7010,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:i(7011,e.DiagnosticCategory.Error,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:i(7013,e.DiagnosticCategory.Error,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:i(7014,e.DiagnosticCategory.Error,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:i(7015,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:i(7016,e.DiagnosticCategory.Error,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:i(7017,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:i(7018,e.DiagnosticCategory.Error,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:i(7019,e.DiagnosticCategory.Error,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:i(7020,e.DiagnosticCategory.Error,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:i(7022,e.DiagnosticCategory.Error,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:i(7023,e.DiagnosticCategory.Error,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:i(7024,e.DiagnosticCategory.Error,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:i(7025,e.DiagnosticCategory.Error,"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025","Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:i(7026,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:i(7027,e.DiagnosticCategory.Error,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:i(7028,e.DiagnosticCategory.Error,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:i(7029,e.DiagnosticCategory.Error,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:i(7030,e.DiagnosticCategory.Error,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:i(7031,e.DiagnosticCategory.Error,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:i(7032,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:i(7033,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:i(7034,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:i(7035,e.DiagnosticCategory.Error,"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035","Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:i(7036,e.DiagnosticCategory.Error,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:i(7037,e.DiagnosticCategory.Message,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:i(7038,e.DiagnosticCategory.Message,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:i(7039,e.DiagnosticCategory.Error,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:i(7040,e.DiagnosticCategory.Error,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"),The_containing_arrow_function_captures_the_global_value_of_this:i(7041,e.DiagnosticCategory.Error,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:i(7042,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7043,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7044,e.DiagnosticCategory.Suggestion,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7045,e.DiagnosticCategory.Suggestion,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:i(7046,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:i(7047,e.DiagnosticCategory.Suggestion,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:i(7048,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:i(7049,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:i(7050,e.DiagnosticCategory.Suggestion,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:i(7051,e.DiagnosticCategory.Error,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:i(7052,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:i(7053,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:i(7054,e.DiagnosticCategory.Error,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:i(7055,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:i(7056,e.DiagnosticCategory.Error,"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056","The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:i(7057,e.DiagnosticCategory.Error,"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057","'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1:i(7058,e.DiagnosticCategory.Error,"If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058","If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead:i(7059,e.DiagnosticCategory.Error,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059","This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint:i(7060,e.DiagnosticCategory.Error,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060","This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."),A_mapped_type_may_not_declare_properties_or_methods:i(7061,e.DiagnosticCategory.Error,"A_mapped_type_may_not_declare_properties_or_methods_7061","A mapped type may not declare properties or methods."),You_cannot_rename_this_element:i(8e3,e.DiagnosticCategory.Error,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:i(8001,e.DiagnosticCategory.Error,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:i(8002,e.DiagnosticCategory.Error,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:i(8003,e.DiagnosticCategory.Error,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:i(8004,e.DiagnosticCategory.Error,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:i(8005,e.DiagnosticCategory.Error,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:i(8006,e.DiagnosticCategory.Error,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:i(8008,e.DiagnosticCategory.Error,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:i(8009,e.DiagnosticCategory.Error,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:i(8010,e.DiagnosticCategory.Error,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:i(8011,e.DiagnosticCategory.Error,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:i(8012,e.DiagnosticCategory.Error,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:i(8013,e.DiagnosticCategory.Error,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:i(8016,e.DiagnosticCategory.Error,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:i(8017,e.DiagnosticCategory.Error,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:i(8018,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:i(8019,e.DiagnosticCategory.Message,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:i(8020,e.DiagnosticCategory.Error,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:i(8021,e.DiagnosticCategory.Error,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:i(8022,e.DiagnosticCategory.Error,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:i(8023,e.DiagnosticCategory.Error,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:i(8024,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:i(8025,e.DiagnosticCategory.Error,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one '@augments' or '@extends' tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:i(8026,e.DiagnosticCategory.Error,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:i(8027,e.DiagnosticCategory.Error,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:i(8028,e.DiagnosticCategory.Error,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:i(8029,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:i(8030,e.DiagnosticCategory.Error,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:i(8031,e.DiagnosticCategory.Error,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:i(8032,e.DiagnosticCategory.Error,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:i(8033,e.DiagnosticCategory.Error,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:i(8034,e.DiagnosticCategory.Error,"The_tag_was_first_specified_here_8034","The tag was first specified here."),You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:i(8035,e.DiagnosticCategory.Error,"You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035","You cannot rename elements that are defined in a 'node_modules' folder."),You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder:i(8036,e.DiagnosticCategory.Error,"You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036","You cannot rename elements that are defined in another 'node_modules' folder."),Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files:i(8037,e.DiagnosticCategory.Error,"Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037","Type satisfaction expressions can only be used in TypeScript files."),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:i(9005,e.DiagnosticCategory.Error,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:i(9006,e.DiagnosticCategory.Error,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:i(17e3,e.DiagnosticCategory.Error,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:i(17001,e.DiagnosticCategory.Error,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:i(17002,e.DiagnosticCategory.Error,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:i(17004,e.DiagnosticCategory.Error,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:i(17005,e.DiagnosticCategory.Error,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:i(17006,e.DiagnosticCategory.Error,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:i(17007,e.DiagnosticCategory.Error,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:i(17008,e.DiagnosticCategory.Error,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:i(17009,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:i(17010,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:i(17011,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:i(17012,e.DiagnosticCategory.Error,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:i(17013,e.DiagnosticCategory.Error,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:i(17014,e.DiagnosticCategory.Error,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:i(17015,e.DiagnosticCategory.Error,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:i(17016,e.DiagnosticCategory.Error,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:i(17017,e.DiagnosticCategory.Error,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:i(17018,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),Circularity_detected_while_resolving_configuration_Colon_0:i(18e3,e.DiagnosticCategory.Error,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),The_files_list_in_config_file_0_is_empty:i(18002,e.DiagnosticCategory.Error,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:i(18003,e.DiagnosticCategory.Error,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module:i(80001,e.DiagnosticCategory.Suggestion,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001","File is a CommonJS module; it may be converted to an ES module."),This_constructor_function_may_be_converted_to_a_class_declaration:i(80002,e.DiagnosticCategory.Suggestion,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:i(80003,e.DiagnosticCategory.Suggestion,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:i(80004,e.DiagnosticCategory.Suggestion,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:i(80005,e.DiagnosticCategory.Suggestion,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:i(80006,e.DiagnosticCategory.Suggestion,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:i(80007,e.DiagnosticCategory.Suggestion,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:i(80008,e.DiagnosticCategory.Suggestion,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),Add_missing_super_call:i(90001,e.DiagnosticCategory.Message,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:i(90002,e.DiagnosticCategory.Message,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:i(90003,e.DiagnosticCategory.Message,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:i(90004,e.DiagnosticCategory.Message,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:i(90005,e.DiagnosticCategory.Message,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:i(90006,e.DiagnosticCategory.Message,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:i(90007,e.DiagnosticCategory.Message,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:i(90008,e.DiagnosticCategory.Message,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:i(90010,e.DiagnosticCategory.Message,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:i(90011,e.DiagnosticCategory.Message,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:i(90012,e.DiagnosticCategory.Message,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_1:i(90013,e.DiagnosticCategory.Message,"Import_0_from_1_90013",`Import '{0}' from "{1}"`),Change_0_to_1:i(90014,e.DiagnosticCategory.Message,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Declare_property_0:i(90016,e.DiagnosticCategory.Message,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:i(90017,e.DiagnosticCategory.Message,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:i(90018,e.DiagnosticCategory.Message,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:i(90019,e.DiagnosticCategory.Message,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:i(90020,e.DiagnosticCategory.Message,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:i(90021,e.DiagnosticCategory.Message,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:i(90022,e.DiagnosticCategory.Message,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:i(90023,e.DiagnosticCategory.Message,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:i(90024,e.DiagnosticCategory.Message,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:i(90025,e.DiagnosticCategory.Message,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:i(90026,e.DiagnosticCategory.Message,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:i(90027,e.DiagnosticCategory.Message,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:i(90028,e.DiagnosticCategory.Message,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:i(90029,e.DiagnosticCategory.Message,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:i(90030,e.DiagnosticCategory.Message,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:i(90031,e.DiagnosticCategory.Message,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Add_parameter_name:i(90034,e.DiagnosticCategory.Message,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:i(90035,e.DiagnosticCategory.Message,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:i(90036,e.DiagnosticCategory.Message,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:i(90037,e.DiagnosticCategory.Message,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:i(90038,e.DiagnosticCategory.Message,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:i(90039,e.DiagnosticCategory.Message,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:i(90041,e.DiagnosticCategory.Message,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:i(90053,e.DiagnosticCategory.Message,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Includes_imports_of_types_referenced_by_0:i(90054,e.DiagnosticCategory.Message,"Includes_imports_of_types_referenced_by_0_90054","Includes imports of types referenced by '{0}'"),Remove_type_from_import_declaration_from_0:i(90055,e.DiagnosticCategory.Message,"Remove_type_from_import_declaration_from_0_90055",`Remove 'type' from import declaration from "{0}"`),Remove_type_from_import_of_0_from_1:i(90056,e.DiagnosticCategory.Message,"Remove_type_from_import_of_0_from_1_90056",`Remove 'type' from import of '{0}' from "{1}"`),Add_import_from_0:i(90057,e.DiagnosticCategory.Message,"Add_import_from_0_90057",'Add import from "{0}"'),Update_import_from_0:i(90058,e.DiagnosticCategory.Message,"Update_import_from_0_90058",'Update import from "{0}"'),Export_0_from_module_1:i(90059,e.DiagnosticCategory.Message,"Export_0_from_module_1_90059","Export '{0}' from module '{1}'"),Export_all_referenced_locals:i(90060,e.DiagnosticCategory.Message,"Export_all_referenced_locals_90060","Export all referenced locals"),Convert_function_to_an_ES2015_class:i(95001,e.DiagnosticCategory.Message,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_0_to_1_in_0:i(95003,e.DiagnosticCategory.Message,"Convert_0_to_1_in_0_95003","Convert '{0}' to '{1} in {0}'"),Extract_to_0_in_1:i(95004,e.DiagnosticCategory.Message,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:i(95005,e.DiagnosticCategory.Message,"Extract_function_95005","Extract function"),Extract_constant:i(95006,e.DiagnosticCategory.Message,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:i(95007,e.DiagnosticCategory.Message,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:i(95008,e.DiagnosticCategory.Message,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:i(95009,e.DiagnosticCategory.Message,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Infer_type_of_0_from_usage:i(95011,e.DiagnosticCategory.Message,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:i(95012,e.DiagnosticCategory.Message,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:i(95013,e.DiagnosticCategory.Message,"Convert_to_default_import_95013","Convert to default import"),Install_0:i(95014,e.DiagnosticCategory.Message,"Install_0_95014","Install '{0}'"),Replace_import_with_0:i(95015,e.DiagnosticCategory.Message,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:i(95016,e.DiagnosticCategory.Message,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES_module:i(95017,e.DiagnosticCategory.Message,"Convert_to_ES_module_95017","Convert to ES module"),Add_undefined_type_to_property_0:i(95018,e.DiagnosticCategory.Message,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:i(95019,e.DiagnosticCategory.Message,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:i(95020,e.DiagnosticCategory.Message,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Convert_all_type_literals_to_mapped_type:i(95021,e.DiagnosticCategory.Message,"Convert_all_type_literals_to_mapped_type_95021","Convert all type literals to mapped type"),Add_all_missing_members:i(95022,e.DiagnosticCategory.Message,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:i(95023,e.DiagnosticCategory.Message,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:i(95024,e.DiagnosticCategory.Message,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:i(95025,e.DiagnosticCategory.Message,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:i(95026,e.DiagnosticCategory.Message,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:i(95027,e.DiagnosticCategory.Message,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:i(95028,e.DiagnosticCategory.Message,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:i(95029,e.DiagnosticCategory.Message,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:i(95030,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:i(95031,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:i(95032,e.DiagnosticCategory.Message,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:i(95033,e.DiagnosticCategory.Message,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:i(95034,e.DiagnosticCategory.Message,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:i(95035,e.DiagnosticCategory.Message,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:i(95036,e.DiagnosticCategory.Message,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:i(95037,e.DiagnosticCategory.Message,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:i(95038,e.DiagnosticCategory.Message,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:i(95039,e.DiagnosticCategory.Message,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:i(95040,e.DiagnosticCategory.Message,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:i(95041,e.DiagnosticCategory.Message,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:i(95042,e.DiagnosticCategory.Message,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:i(95043,e.DiagnosticCategory.Message,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:i(95044,e.DiagnosticCategory.Message,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:i(95045,e.DiagnosticCategory.Message,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:i(95046,e.DiagnosticCategory.Message,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:i(95047,e.DiagnosticCategory.Message,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:i(95048,e.DiagnosticCategory.Message,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:i(95049,e.DiagnosticCategory.Message,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:i(95050,e.DiagnosticCategory.Message,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:i(95051,e.DiagnosticCategory.Message,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:i(95052,e.DiagnosticCategory.Message,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:i(95053,e.DiagnosticCategory.Message,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:i(95054,e.DiagnosticCategory.Message,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:i(95055,e.DiagnosticCategory.Message,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:i(95056,e.DiagnosticCategory.Message,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:i(95057,e.DiagnosticCategory.Message,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:i(95058,e.DiagnosticCategory.Message,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:i(95059,e.DiagnosticCategory.Message,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:i(95060,e.DiagnosticCategory.Message,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:i(95061,e.DiagnosticCategory.Message,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:i(95062,e.DiagnosticCategory.Message,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:i(95063,e.DiagnosticCategory.Message,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:i(95064,e.DiagnosticCategory.Message,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:i(95065,e.DiagnosticCategory.Message,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:i(95066,e.DiagnosticCategory.Message,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:i(95067,e.DiagnosticCategory.Message,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:i(95068,e.DiagnosticCategory.Message,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:i(95069,e.DiagnosticCategory.Message,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:i(95070,e.DiagnosticCategory.Message,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:i(95071,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:i(95072,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:i(95073,e.DiagnosticCategory.Message,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:i(95074,e.DiagnosticCategory.Message,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:i(95075,e.DiagnosticCategory.Message,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Extract_type:i(95077,e.DiagnosticCategory.Message,"Extract_type_95077","Extract type"),Extract_to_type_alias:i(95078,e.DiagnosticCategory.Message,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:i(95079,e.DiagnosticCategory.Message,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:i(95080,e.DiagnosticCategory.Message,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:i(95081,e.DiagnosticCategory.Message,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:i(95082,e.DiagnosticCategory.Message,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:i(95083,e.DiagnosticCategory.Message,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:i(95084,e.DiagnosticCategory.Message,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:i(95085,e.DiagnosticCategory.Message,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:i(95086,e.DiagnosticCategory.Message,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:i(95087,e.DiagnosticCategory.Message,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:i(95088,e.DiagnosticCategory.Message,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:i(95089,e.DiagnosticCategory.Message,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:i(95090,e.DiagnosticCategory.Message,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:i(95091,e.DiagnosticCategory.Message,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:i(95092,e.DiagnosticCategory.Message,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:i(95093,e.DiagnosticCategory.Message,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:i(95094,e.DiagnosticCategory.Message,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:i(95095,e.DiagnosticCategory.Message,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:i(95096,e.DiagnosticCategory.Message,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:i(95097,e.DiagnosticCategory.Message,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:i(95098,e.DiagnosticCategory.Message,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:i(95099,e.DiagnosticCategory.Message,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:i(95100,e.DiagnosticCategory.Message,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:i(95101,e.DiagnosticCategory.Message,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Convert_all_const_to_let:i(95102,e.DiagnosticCategory.Message,"Convert_all_const_to_let_95102","Convert all 'const' to 'let'"),Convert_function_expression_0_to_arrow_function:i(95105,e.DiagnosticCategory.Message,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:i(95106,e.DiagnosticCategory.Message,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:i(95107,e.DiagnosticCategory.Message,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:i(95108,e.DiagnosticCategory.Message,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:i(95109,e.DiagnosticCategory.Message,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file:i(95110,e.DiagnosticCategory.Message,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig to read more about this file"),Add_a_return_statement:i(95111,e.DiagnosticCategory.Message,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:i(95112,e.DiagnosticCategory.Message,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:i(95113,e.DiagnosticCategory.Message,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:i(95114,e.DiagnosticCategory.Message,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:i(95115,e.DiagnosticCategory.Message,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:i(95116,e.DiagnosticCategory.Message,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:i(95117,e.DiagnosticCategory.Message,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:i(95118,e.DiagnosticCategory.Message,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:i(95119,e.DiagnosticCategory.Message,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:i(95120,e.DiagnosticCategory.Message,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:i(95121,e.DiagnosticCategory.Message,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:i(95122,e.DiagnosticCategory.Message,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:i(95123,e.DiagnosticCategory.Message,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:i(95124,e.DiagnosticCategory.Message,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:i(95125,e.DiagnosticCategory.Message,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:i(95126,e.DiagnosticCategory.Message,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:i(95127,e.DiagnosticCategory.Message,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:i(95128,e.DiagnosticCategory.Message,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:i(95129,e.DiagnosticCategory.Message,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:i(95130,e.DiagnosticCategory.Message,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:i(95131,e.DiagnosticCategory.Message,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:i(95132,e.DiagnosticCategory.Message,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:i(95133,e.DiagnosticCategory.Message,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:i(95134,e.DiagnosticCategory.Message,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:i(95135,e.DiagnosticCategory.Message,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:i(95136,e.DiagnosticCategory.Message,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:i(95137,e.DiagnosticCategory.Message,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:i(95138,e.DiagnosticCategory.Message,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:i(95139,e.DiagnosticCategory.Message,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:i(95140,e.DiagnosticCategory.Message,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:i(95141,e.DiagnosticCategory.Message,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:i(95142,e.DiagnosticCategory.Message,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),Add_void_to_Promise_resolved_without_a_value:i(95143,e.DiagnosticCategory.Message,"Add_void_to_Promise_resolved_without_a_value_95143","Add 'void' to Promise resolved without a value"),Add_void_to_all_Promises_resolved_without_a_value:i(95144,e.DiagnosticCategory.Message,"Add_void_to_all_Promises_resolved_without_a_value_95144","Add 'void' to all Promises resolved without a value"),Use_element_access_for_0:i(95145,e.DiagnosticCategory.Message,"Use_element_access_for_0_95145","Use element access for '{0}'"),Use_element_access_for_all_undeclared_properties:i(95146,e.DiagnosticCategory.Message,"Use_element_access_for_all_undeclared_properties_95146","Use element access for all undeclared properties."),Delete_all_unused_imports:i(95147,e.DiagnosticCategory.Message,"Delete_all_unused_imports_95147","Delete all unused imports"),Infer_function_return_type:i(95148,e.DiagnosticCategory.Message,"Infer_function_return_type_95148","Infer function return type"),Return_type_must_be_inferred_from_a_function:i(95149,e.DiagnosticCategory.Message,"Return_type_must_be_inferred_from_a_function_95149","Return type must be inferred from a function"),Could_not_determine_function_return_type:i(95150,e.DiagnosticCategory.Message,"Could_not_determine_function_return_type_95150","Could not determine function return type"),Could_not_convert_to_arrow_function:i(95151,e.DiagnosticCategory.Message,"Could_not_convert_to_arrow_function_95151","Could not convert to arrow function"),Could_not_convert_to_named_function:i(95152,e.DiagnosticCategory.Message,"Could_not_convert_to_named_function_95152","Could not convert to named function"),Could_not_convert_to_anonymous_function:i(95153,e.DiagnosticCategory.Message,"Could_not_convert_to_anonymous_function_95153","Could not convert to anonymous function"),Can_only_convert_string_concatenation:i(95154,e.DiagnosticCategory.Message,"Can_only_convert_string_concatenation_95154","Can only convert string concatenation"),Selection_is_not_a_valid_statement_or_statements:i(95155,e.DiagnosticCategory.Message,"Selection_is_not_a_valid_statement_or_statements_95155","Selection is not a valid statement or statements"),Add_missing_function_declaration_0:i(95156,e.DiagnosticCategory.Message,"Add_missing_function_declaration_0_95156","Add missing function declaration '{0}'"),Add_all_missing_function_declarations:i(95157,e.DiagnosticCategory.Message,"Add_all_missing_function_declarations_95157","Add all missing function declarations"),Method_not_implemented:i(95158,e.DiagnosticCategory.Message,"Method_not_implemented_95158","Method not implemented."),Function_not_implemented:i(95159,e.DiagnosticCategory.Message,"Function_not_implemented_95159","Function not implemented."),Add_override_modifier:i(95160,e.DiagnosticCategory.Message,"Add_override_modifier_95160","Add 'override' modifier"),Remove_override_modifier:i(95161,e.DiagnosticCategory.Message,"Remove_override_modifier_95161","Remove 'override' modifier"),Add_all_missing_override_modifiers:i(95162,e.DiagnosticCategory.Message,"Add_all_missing_override_modifiers_95162","Add all missing 'override' modifiers"),Remove_all_unnecessary_override_modifiers:i(95163,e.DiagnosticCategory.Message,"Remove_all_unnecessary_override_modifiers_95163","Remove all unnecessary 'override' modifiers"),Can_only_convert_named_export:i(95164,e.DiagnosticCategory.Message,"Can_only_convert_named_export_95164","Can only convert named export"),Add_missing_properties:i(95165,e.DiagnosticCategory.Message,"Add_missing_properties_95165","Add missing properties"),Add_all_missing_properties:i(95166,e.DiagnosticCategory.Message,"Add_all_missing_properties_95166","Add all missing properties"),Add_missing_attributes:i(95167,e.DiagnosticCategory.Message,"Add_missing_attributes_95167","Add missing attributes"),Add_all_missing_attributes:i(95168,e.DiagnosticCategory.Message,"Add_all_missing_attributes_95168","Add all missing attributes"),Add_undefined_to_optional_property_type:i(95169,e.DiagnosticCategory.Message,"Add_undefined_to_optional_property_type_95169","Add 'undefined' to optional property type"),Convert_named_imports_to_default_import:i(95170,e.DiagnosticCategory.Message,"Convert_named_imports_to_default_import_95170","Convert named imports to default import"),Delete_unused_param_tag_0:i(95171,e.DiagnosticCategory.Message,"Delete_unused_param_tag_0_95171","Delete unused '@param' tag '{0}'"),Delete_all_unused_param_tags:i(95172,e.DiagnosticCategory.Message,"Delete_all_unused_param_tags_95172","Delete all unused '@param' tags"),Rename_param_tag_name_0_to_1:i(95173,e.DiagnosticCategory.Message,"Rename_param_tag_name_0_to_1_95173","Rename '@param' tag name '{0}' to '{1}'"),Use_0:i(95174,e.DiagnosticCategory.Message,"Use_0_95174","Use `{0}`."),Use_Number_isNaN_in_all_conditions:i(95175,e.DiagnosticCategory.Message,"Use_Number_isNaN_in_all_conditions_95175","Use `Number.isNaN` in all conditions."),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:i(18004,e.DiagnosticCategory.Error,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:i(18006,e.DiagnosticCategory.Error,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:i(18007,e.DiagnosticCategory.Error,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:i(18009,e.DiagnosticCategory.Error,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters."),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:i(18010,e.DiagnosticCategory.Error,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:i(18011,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:i(18012,e.DiagnosticCategory.Error,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:i(18013,e.DiagnosticCategory.Error,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:i(18014,e.DiagnosticCategory.Error,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:i(18015,e.DiagnosticCategory.Error,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:i(18016,e.DiagnosticCategory.Error,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:i(18017,e.DiagnosticCategory.Error,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:i(18018,e.DiagnosticCategory.Error,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:i(18019,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:i(18024,e.DiagnosticCategory.Error,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:i(18026,e.DiagnosticCategory.Error,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:i(18027,e.DiagnosticCategory.Error,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:i(18028,e.DiagnosticCategory.Error,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:i(18029,e.DiagnosticCategory.Error,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:i(18030,e.DiagnosticCategory.Error,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:i(18031,e.DiagnosticCategory.Error,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:i(18032,e.DiagnosticCategory.Error,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhaustiveness_checks_consider_using_an_object_literal_instead:i(18033,e.DiagnosticCategory.Error,"Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhau_18033","Only numeric enums can have computed members, but this expression has type '{0}'. If you do not need exhaustiveness checks, consider using an object literal instead."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:i(18034,e.DiagnosticCategory.Message,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:i(18035,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:i(18036,e.DiagnosticCategory.Error,"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036","Class decorators can't be used with static private identifier. Consider removing the experimental decorator."),Await_expression_cannot_be_used_inside_a_class_static_block:i(18037,e.DiagnosticCategory.Error,"Await_expression_cannot_be_used_inside_a_class_static_block_18037","Await expression cannot be used inside a class static block."),For_await_loops_cannot_be_used_inside_a_class_static_block:i(18038,e.DiagnosticCategory.Error,"For_await_loops_cannot_be_used_inside_a_class_static_block_18038","'For await' loops cannot be used inside a class static block."),Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block:i(18039,e.DiagnosticCategory.Error,"Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039","Invalid use of '{0}'. It cannot be used inside a class static block."),A_return_statement_cannot_be_used_inside_a_class_static_block:i(18041,e.DiagnosticCategory.Error,"A_return_statement_cannot_be_used_inside_a_class_static_block_18041","A 'return' statement cannot be used inside a class static block."),_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation:i(18042,e.DiagnosticCategory.Error,"_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042","'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."),Types_cannot_appear_in_export_declarations_in_JavaScript_files:i(18043,e.DiagnosticCategory.Error,"Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043","Types cannot appear in export declarations in JavaScript files."),_0_is_automatically_exported_here:i(18044,e.DiagnosticCategory.Message,"_0_is_automatically_exported_here_18044","'{0}' is automatically exported here."),Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher:i(18045,e.DiagnosticCategory.Error,"Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045","Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher."),_0_is_of_type_unknown:i(18046,e.DiagnosticCategory.Error,"_0_is_of_type_unknown_18046","'{0}' is of type 'unknown'."),_0_is_possibly_null:i(18047,e.DiagnosticCategory.Error,"_0_is_possibly_null_18047","'{0}' is possibly 'null'."),_0_is_possibly_undefined:i(18048,e.DiagnosticCategory.Error,"_0_is_possibly_undefined_18048","'{0}' is possibly 'undefined'."),_0_is_possibly_null_or_undefined:i(18049,e.DiagnosticCategory.Error,"_0_is_possibly_null_or_undefined_18049","'{0}' is possibly 'null' or 'undefined'."),The_value_0_cannot_be_used_here:i(18050,e.DiagnosticCategory.Error,"The_value_0_cannot_be_used_here_18050","The value '{0}' cannot be used here.")}})(fr||(fr={}));var fr;(function(e){var i;function l(y){return y>=79}e.tokenIsIdentifierOrKeyword=l;function _(y){return y===31||l(y)}e.tokenIsIdentifierOrKeywordOrGreaterThan=_,e.textToKeywordObj=(i={abstract:126,accessor:127,any:131,as:128,asserts:129,assert:130,bigint:160,boolean:134,break:81,case:82,catch:83,class:84,continue:86,const:85},i["constructor"]=135,i.debugger=87,i.declare=136,i.default=88,i.delete=89,i.do=90,i.else=91,i.enum=92,i.export=93,i.extends=94,i.false=95,i.finally=96,i.for=97,i.from=158,i.function=98,i.get=137,i.if=99,i.implements=117,i.import=100,i.in=101,i.infer=138,i.instanceof=102,i.interface=118,i.intrinsic=139,i.is=140,i.keyof=141,i.let=119,i.module=142,i.namespace=143,i.never=144,i.new=103,i.null=104,i.number=148,i.object=149,i.package=120,i.private=121,i.protected=122,i.public=123,i.override=161,i.out=145,i.readonly=146,i.require=147,i.global=159,i.return=105,i.satisfies=150,i.set=151,i.static=124,i.string=152,i.super=106,i.switch=107,i.symbol=153,i.this=108,i.throw=109,i.true=110,i.try=111,i.type=154,i.typeof=112,i.undefined=155,i.unique=156,i.unknown=157,i.var=113,i.void=114,i.while=115,i.with=116,i.yield=125,i.async=132,i.await=133,i.of=162,i);var h=new e.Map(e.getEntries(e.textToKeywordObj)),p=new e.Map(e.getEntries(Ri(Ri({},e.textToKeywordObj),{"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":29,">":31,"<=":32,">=":33,"==":34,"!=":35,"===":36,"!==":37,"=>":38,"+":39,"-":40,"**":42,"*":41,"/":43,"%":44,"++":45,"--":46,"<<":47,">":48,">>>":49,"&":50,"|":51,"^":52,"!":53,"~":54,"&&":55,"||":56,"?":57,"??":60,"?.":28,":":58,"=":63,"+=":64,"-=":65,"*=":66,"**=":67,"/=":68,"%=":69,"<<=":70,">>=":71,">>>=":72,"&=":73,"|=":74,"^=":78,"||=":75,"&&=":76,"??=":77,"@":59,"#":62,"`":61}))),P=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],z=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],U=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],g=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],v=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],Y=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],ce=/^\/\/\/?\s*@(ts-expect-error|ts-ignore)/,Z=/^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/;function ie(y,X){if(y=2?ie(y,v):X===1?ie(y,U):ie(y,P)}e.isUnicodeIdentifierStart=te;function x(y,X){return X>=2?ie(y,Y):X===1?ie(y,g):ie(y,z)}function J(y){var X=[];return y.forEach(function(Ae,Te){X[Ae]=Te}),X}var d=J(p);function D(y){return d[y]}e.tokenToString=D;function C(y){return p.get(y)}e.stringToToken=C;function k(y){for(var X=[],Ae=0,Te=0;Ae127&&F(Je)&&(X.push(Te),Te=Ae);break}}return X.push(Te),X}e.computeLineStarts=k;function R(y,X,Ae,Te){return y.getPositionOfLineAndCharacter?y.getPositionOfLineAndCharacter(X,Ae,Te):M(ge(y),X,Ae,y.text,Te)}e.getPositionOfLineAndCharacter=R;function M(y,X,Ae,Te,Je){(X<0||X>=y.length)&&(Je?X=X<0?0:X>=y.length?y.length-1:X:e.Debug.fail("Bad line number. Line: ".concat(X,", lineStarts.length: ").concat(y.length," , line map is correct? ").concat(Te!==void 0?e.arraysEqual(y,k(Te)):"unknown")));var er=y[X]+Ae;return Je?er>y[X+1]?y[X+1]:typeof Te=="string"&&er>Te.length?Te.length:er:(X=8192&&y<=8203||y===8239||y===8287||y===12288||y===65279}e.isWhiteSpaceSingleLine=b;function F(y){return y===10||y===13||y===8232||y===8233}e.isLineBreak=F;function Q(y){return y>=48&&y<=57}function j(y){return Q(y)||y>=65&&y<=70||y>=97&&y<=102}function I(y){return y<=1114111}function L(y){return y>=48&&y<=55}e.isOctalDigit=L;function V(y,X){var Ae=y.charCodeAt(X);switch(Ae){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return X===0;default:return Ae>127}}e.couldStartTrivia=V;function ne(y,X,Ae,Te,Je){if(e.positionIsSynthesized(X))return X;for(var er=!1;;){var wr=y.charCodeAt(X);switch(wr){case 13:y.charCodeAt(X+1)===10&&X++;case 10:if(X++,Ae)return X;er=!!Je;continue;case 9:case 11:case 12:case 32:X++;continue;case 47:if(Te)break;if(y.charCodeAt(X+1)===47){for(X+=2;X127&&q(wr)){X++;continue}break}return X}}e.skipTrivia=ne;var se=7;function De(y,X){if(e.Debug.assert(X>=0),X===0||F(y.charCodeAt(X-1))){var Ae=y.charCodeAt(X);if(X+se=0&&Ae127&&q(jr)){ln&&F(jr)&&(qr=!0),Ae++;continue}break e}}return ln&&(vr=Je(mr,We,a,qr,er,vr)),vr}function u(y,X,Ae,Te){return W(!1,y,X,!1,Ae,Te)}e.forEachLeadingCommentRange=u;function O(y,X,Ae,Te){return W(!1,y,X,!0,Ae,Te)}e.forEachTrailingCommentRange=O;function B(y,X,Ae,Te,Je){return W(!0,y,X,!1,Ae,Te,Je)}e.reduceEachLeadingCommentRange=B;function G(y,X,Ae,Te,Je){return W(!0,y,X,!0,Ae,Te,Je)}e.reduceEachTrailingCommentRange=G;function $(y,X,Ae,Te,Je,er){return er||(er=[]),er.push({kind:Ae,pos:y,end:X,hasTrailingNewLine:Te}),er}function me(y,X){return B(y,X,$,void 0,void 0)}e.getLeadingCommentRanges=me;function ae(y,X){return G(y,X,$,void 0,void 0)}e.getTrailingCommentRanges=ae;function Me(y){var X=w.exec(y);if(X)return X[0]}e.getShebang=Me;function Oe(y,X){return y>=65&&y<=90||y>=97&&y<=122||y===36||y===95||y>127&&te(y,X)}e.isIdentifierStart=Oe;function xe(y,X,Ae){return y>=65&&y<=90||y>=97&&y<=122||y>=48&&y<=57||y===36||y===95||(Ae===1?y===45||y===58:!1)||y>127&&x(y,X)}e.isIdentifierPart=xe;function Se(y,X,Ae){var Te=ze(y,0);if(!Oe(Te,X))return!1;for(var Je=Ee(Te);Je116},isReservedWord:function(){return dr>=81&&dr<=116},isUnterminated:function(){return(kr&4)!==0},getCommentDirectives:function(){return jr},getNumericLiteralFlags:function(){return kr&1008},getTokenFlags:function(){return kr},reScanGreaterToken:Dr,reScanAsteriskEqualsToken:Pr,reScanSlashToken:Jr,reScanTemplateToken:br,reScanTemplateHeadOrNoSubstitutionTemplate:Ne,scanJsxIdentifier:Sr,scanJsxAttributeValue:pr,reScanJsxAttributeValue:Fr,reScanJsxToken:Ze,reScanLessThanToken:Qe,reScanHashToken:pe,reScanQuestionToken:Xe,reScanInvalidIdentifier:Zn,scanJsxToken:ar,scanJsDocToken:Vr,scan:Nn,getText:qn,clearCommentDirectives:hn,setText:Kn,setScriptTarget:ai,setLanguageVariant:Ki,setOnError:Ai,setTextPos:Ni,setInJSDocType:mi,tryScan:bn,lookAhead:Wn,scanRange:Wr};return e.Debug.isDebugging&&Object.defineProperty(en,"__debugShowCurrentPositionInText",{get:function(){var Pn=en.getText();return Pn.slice(0,en.getStartPos())+"\u2551"+Pn.slice(en.getStartPos())}}),en;function Lr(Pn,we,Ir){if(we===void 0&&(we=We),Je){var Re=We;We=we,Je(Pn,Ir||0),We=Re}}function pn(){for(var Pn=We,we=!1,Ir=!1,Re="";;){var yn=mr.charCodeAt(We);if(yn===95){kr|=512,we?(we=!1,Ir=!0,Re+=mr.substring(Pn,We)):Lr(Ir?e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted:e.Diagnostics.Numeric_separators_are_not_allowed_here,We,1),We++,Pn=We;continue}if(Q(yn)){we=!0,Ir=!1,We++;continue}break}return mr.charCodeAt(We-1)===95&&Lr(e.Diagnostics.Numeric_separators_are_not_allowed_here,We-1,1),Re+mr.substring(Pn,We)}function ye(){var Pn=We,we=pn(),Ir,Re;mr.charCodeAt(We)===46&&(We++,Ir=pn());var yn=We;if(mr.charCodeAt(We)===69||mr.charCodeAt(We)===101){We++,kr|=16,(mr.charCodeAt(We)===43||mr.charCodeAt(We)===45)&&We++;var Un=We,gn=pn();gn?(Re=mr.substring(yn,Un)+gn,yn=We):Lr(e.Diagnostics.Digit_expected)}var rn;if(kr&512?(rn=we,Ir&&(rn+="."+Ir),Re&&(rn+=Re)):rn=mr.substring(Pn,yn),Ir!==void 0||kr&16)return or(Pn,Ir===void 0&&!!(kr&16)),{type:8,value:""+ +rn};vr=rn;var xn=En();return or(Pn),{type:xn,value:vr}}function or(Pn,we){if(Oe(ze(mr,We),y)){var Ir=We,Re=Ge().length;Re===1&&mr[Ir]==="n"?Lr(we?e.Diagnostics.A_bigint_literal_cannot_use_exponential_notation:e.Diagnostics.A_bigint_literal_must_be_an_integer,Pn,Ir-Pn+1):(Lr(e.Diagnostics.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal,Ir,Re),We=Ir)}}function Pe(){for(var Pn=We;L(mr.charCodeAt(We));)We++;return+mr.substring(Pn,We)}function Ve(Pn,we){var Ir=ke(Pn,!1,we);return Ir?parseInt(Ir,16):-1}function Ar(Pn,we){return ke(Pn,!0,we)}function ke(Pn,we,Ir){for(var Re=[],yn=!1,Un=!1;Re.length=65&&gn<=70)gn+=97-65;else if(!(gn>=48&&gn<=57||gn>=97&&gn<=102))break;Re.push(gn),We++,Un=!1}return Re.length=a){Ir+=mr.substring(Re,We),kr|=4,Lr(e.Diagnostics.Unterminated_string_literal);break}var yn=mr.charCodeAt(We);if(yn===we){Ir+=mr.substring(Re,We),We++;break}if(yn===92&&!Pn){Ir+=mr.substring(Re,We),Ir+=Rr(),Re=We;continue}if(F(yn)&&!Pn){Ir+=mr.substring(Re,We),kr|=4,Lr(e.Diagnostics.Unterminated_string_literal);break}We++}return Ir}function Mr(Pn){var we=mr.charCodeAt(We)===96;We++;for(var Ir=We,Re="",yn;;){if(We>=a){Re+=mr.substring(Ir,We),kr|=4,Lr(e.Diagnostics.Unterminated_template_literal),yn=we?14:17;break}var Un=mr.charCodeAt(We);if(Un===96){Re+=mr.substring(Ir,We),We++,yn=we?14:17;break}if(Un===36&&We+1=a)return Lr(e.Diagnostics.Unexpected_end_of_text),"";var Ir=mr.charCodeAt(We);switch(We++,Ir){case 48:return Pn&&We=0?String.fromCharCode(we):(Lr(e.Diagnostics.Hexadecimal_digit_expected),"")}function nn(){var Pn=Ar(1,!1),we=Pn?parseInt(Pn,16):-1,Ir=!1;return we<0?(Lr(e.Diagnostics.Hexadecimal_digit_expected),Ir=!0):we>1114111&&(Lr(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),Ir=!0),We>=a?(Lr(e.Diagnostics.Unexpected_end_of_text),Ir=!0):mr.charCodeAt(We)===125?We++:(Lr(e.Diagnostics.Unterminated_Unicode_escape_sequence),Ir=!0),Ir?"":ue(we)}function vn(){if(We+5=0&&xe(Ir,y)){We+=3,kr|=8,Pn+=nn(),we=We;continue}if(Ir=vn(),!(Ir>=0&&xe(Ir,y)))break;kr|=1024,Pn+=mr.substring(we,We),Pn+=ue(Ir),We+=6,we=We}else break}return Pn+=mr.substring(we,We),Pn}function xr(){var Pn=vr.length;if(Pn>=2&&Pn<=12){var we=vr.charCodeAt(0);if(we>=97&&we<=122){var Ir=h.get(vr);if(Ir!==void 0)return dr=Ir}}return dr=79}function Ur(Pn){for(var we="",Ir=!1,Re=!1;;){var yn=mr.charCodeAt(We);if(yn===95){kr|=512,Ir?(Ir=!1,Re=!0):Lr(Re?e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted:e.Diagnostics.Numeric_separators_are_not_allowed_here,We,1),We++;continue}if(Ir=!0,!Q(yn)||yn-48>=Pn)break;we+=mr[We],We++,Re=!1}return mr.charCodeAt(We-1)===95&&Lr(e.Diagnostics.Numeric_separators_are_not_allowed_here,We-1,1),we}function En(){if(mr.charCodeAt(We)===110)return vr+="n",kr&384&&(vr=e.parsePseudoBigInt(vr)+"n"),We++,9;var Pn=kr&128?parseInt(vr.slice(2),2):kr&256?parseInt(vr.slice(2),8):+vr;return vr=""+Pn,8}function Nn(){var Pn;qr=We,kr=0;for(var we=!1;;){if(ln=We,We>=a)return dr=1;var Ir=ze(mr,We);if(Ir===35&&We===0&&A(mr,We)){if(We=oe(mr,We),X)continue;return dr=6}switch(Ir){case 10:case 13:if(kr|=1,X){We++;continue}else return Ir===13&&We+1=0&&Oe(gn,y))return We+=3,kr|=8,vr=nn()+Ge(),dr=xr();var rn=vn();return rn>=0&&Oe(rn,y)?(We+=6,kr|=1024,vr=String.fromCharCode(rn)+Ge(),dr=xr()):(Lr(e.Diagnostics.Invalid_character),We++,dr=0);case 35:if(We!==0&&mr[We+1]==="!")return Lr(e.Diagnostics.can_only_be_used_at_the_start_of_a_file),We++,dr=0;var xn=ze(mr,We+1);if(xn===92){We++;var Dn=Fe();if(Dn>=0&&Oe(Dn,y))return We+=3,kr|=8,vr="#"+nn()+Ge(),dr=80;var On=vn();if(On>=0&&Oe(On,y))return We+=6,kr|=1024,vr="#"+String.fromCharCode(On)+Ge(),dr=80;We--}return Oe(xn,y)?(We++,fi(xn,y)):(vr="#",Lr(e.Diagnostics.Invalid_character,We++,Ee(Ir))),dr=80;default:var Qn=fi(Ir,y);if(Qn)return dr=Qn;if(b(Ir)){We+=Ee(Ir);continue}else if(F(Ir)){kr|=1,We+=Ee(Ir);continue}var Ke=Ee(Ir);return Lr(e.Diagnostics.Invalid_character,We,Ke),We+=Ke,dr=0}}}function Zn(){e.Debug.assert(dr===0,"'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."),We=ln=qr,kr=0;var Pn=ze(mr,We),we=fi(Pn,99);return we?dr=we:(We+=Ee(Pn),dr)}function fi(Pn,we){var Ir=Pn;if(Oe(Ir,we)){for(We+=Ee(Ir);We=a)return dr=1;var we=mr.charCodeAt(We);if(we===60)return mr.charCodeAt(We+1)===47?(We+=2,dr=30):(We++,dr=29);if(we===123)return We++,dr=18;for(var Ir=0;We0)break;q(we)||(Ir=We)}We++}return vr=mr.substring(qr,We),Ir===-1?12:11}function Sr(){if(l(dr)){for(var Pn=!1;We=a)return dr=1;var Pn=ze(mr,We);switch(We+=Ee(Pn),Pn){case 9:case 11:case 12:case 32:for(;We=0&&Oe(we,y))return We+=3,kr|=8,vr=nn()+Ge(),dr=xr();var Ir=vn();return Ir>=0&&Oe(Ir,y)?(We+=6,kr|=1024,vr=String.fromCharCode(Ir)+Ge(),dr=xr()):(We++,dr=0)}if(Oe(Pn,y)){for(var Re=Pn;We=0),We=Pn,qr=Pn,ln=Pn,dr=0,vr=void 0,kr=0}function mi(Pn){Cr+=Pn?1:-1}}e.createScanner=Ce;var ze=String.prototype.codePointAt?function(y,X){return y.codePointAt(X)}:function(X,Ae){var Te=X.length;if(!(Ae<0||Ae>=Te)){var Je=X.charCodeAt(Ae);if(Je>=55296&&Je<=56319&&Te>Ae+1){var er=X.charCodeAt(Ae+1);if(er>=56320&&er<=57343)return(Je-55296)*1024+er-56320+65536}return Je}};function Ee(y){return y>=65536?2:1}function Le(y){if(e.Debug.assert(0<=y&&y<=1114111),y<=65535)return String.fromCharCode(y);var X=Math.floor((y-65536)/1024)+55296,Ae=(y-65536)%1024+56320;return String.fromCharCode(X,Ae)}var be=String.fromCodePoint?function(y){return String.fromCodePoint(y)}:Le;function ue(y){return be(y)}e.utf16EncodeAsString=ue})(fr||(fr={}));var fr;(function(e){function i(He){return e.pathIsRelative(He)||e.isRootedDiskPath(He)}e.isExternalModuleNameRelative=i;function l(He){return e.sortAndDeduplicate(He,e.compareDiagnostics)}e.sortAndDeduplicateDiagnostics=l;function _(He){switch(e.getEmitScriptTarget(He)){case 99:return"lib.esnext.full.d.ts";case 9:return"lib.es2022.full.d.ts";case 8:return"lib.es2021.full.d.ts";case 7:return"lib.es2020.full.d.ts";case 6:return"lib.es2019.full.d.ts";case 5:return"lib.es2018.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}}e.getDefaultLibFileName=_;function h(He){return He.start+He.length}e.textSpanEnd=h;function p(He){return He.length===0}e.textSpanIsEmpty=p;function P(He,Cn){return Cn>=He.start&&Cn=He.pos&&Cn<=He.end}e.textRangeContainsPositionInclusive=z;function U(He,Cn){return Cn.start>=He.start&&h(Cn)<=h(He)}e.textSpanContainsTextSpan=U;function g(He,Cn){return v(He,Cn)!==void 0}e.textSpanOverlapsWith=g;function v(He,Cn){var Nr=te(He,Cn);return Nr&&Nr.length===0?void 0:Nr}e.textSpanOverlap=v;function Y(He,Cn){return Z(He.start,He.length,Cn.start,Cn.length)}e.textSpanIntersectsWithTextSpan=Y;function ce(He,Cn,Nr){return Z(He.start,He.length,Cn,Nr)}e.textSpanIntersectsWith=ce;function Z(He,Cn,Nr,ma){var Ca=He+Cn,lo=Nr+ma;return Nr<=Ca&&lo>=He}e.decodedTextSpanIntersectsWith=Z;function ie(He,Cn){return Cn<=h(He)&&Cn>=He.start}e.textSpanIntersectsWithPosition=ie;function te(He,Cn){var Nr=Math.max(He.start,Cn.start),ma=Math.min(h(He),h(Cn));return Nr<=ma?J(Nr,ma):void 0}e.textSpanIntersection=te;function x(He,Cn){if(He<0)throw new Error("start < 0");if(Cn<0)throw new Error("length < 0");return{start:He,length:Cn}}e.createTextSpan=x;function J(He,Cn){return x(He,Cn-He)}e.createTextSpanFromBounds=J;function d(He){return x(He.span.start,He.newLength)}e.textChangeRangeNewSpan=d;function D(He){return p(He.span)&&He.newLength===0}e.textChangeRangeIsUnchanged=D;function C(He,Cn){if(Cn<0)throw new Error("newLength < 0");return{span:He,newLength:Cn}}e.createTextChangeRange=C,e.unchangedTextChangeRange=C(x(0,0),0);function k(He){if(He.length===0)return e.unchangedTextChangeRange;if(He.length===1)return He[0];for(var Cn=He[0],Nr=Cn.span.start,ma=h(Cn.span),Ca=Nr+Cn.newLength,lo=1;lo=2&&He.charCodeAt(0)===95&&He.charCodeAt(1)===95?"_"+He:He}e.escapeLeadingUnderscores=V;function ne(He){var Cn=He;return Cn.length>=3&&Cn.charCodeAt(0)===95&&Cn.charCodeAt(1)===95&&Cn.charCodeAt(2)===95?Cn.substr(1):Cn}e.unescapeLeadingUnderscores=ne;function se(He){return ne(He.escapedText)}e.idText=se;function De(He){return He.valueDeclaration&&hn(He.valueDeclaration)?se(He.valueDeclaration.name):ne(He.escapedName)}e.symbolName=De;function T(He){var Cn=He.parent.parent;if(Cn){if(fa(Cn))return w(Cn);switch(Cn.kind){case 240:if(Cn.declarationList&&Cn.declarationList.declarations[0])return w(Cn.declarationList.declarations[0]);break;case 241:var Nr=Cn.expression;switch(Nr.kind===223&&Nr.operatorToken.kind===63&&(Nr=Nr.left),Nr.kind){case 208:return Nr.name;case 209:var ma=Nr.argumentExpression;if(e.isIdentifier(ma))return ma}break;case 214:return w(Cn.expression);case 253:{if(fa(Cn.statement)||No(Cn.statement))return w(Cn.statement);break}}}}function w(He){var Cn=O(He);return Cn&&e.isIdentifier(Cn)?Cn:void 0}function A(He,Cn){return!!(W(He)&&e.isIdentifier(He.name)&&se(He.name)===se(Cn)||e.isVariableStatement(He)&&e.some(He.declarationList.declarations,function(Nr){return A(Nr,Cn)}))}e.nodeHasName=A;function oe(He){return He.name||T(He)}e.getNameOfJSDocTypedef=oe;function W(He){return!!He.name}e.isNamedDeclaration=W;function u(He){switch(He.kind){case 79:return He;case 350:case 343:{var Cn=He.name;if(Cn.kind===163)return Cn.right;break}case 210:case 223:{var Nr=He;switch(e.getAssignmentDeclarationKind(Nr)){case 1:case 4:case 5:case 3:return e.getElementOrPropertyAccessArgumentExpressionOrName(Nr.left);case 7:case 8:case 9:return Nr.arguments[1];default:return}}case 348:return oe(He);case 342:return T(He);case 274:{var ma=He.expression;return e.isIdentifier(ma)?ma:void 0}case 209:var Ca=He;if(e.isBindableStaticElementAccessExpression(Ca))return Ca.argumentExpression}return He.name}e.getNonAssignedNameOfDeclaration=u;function O(He){if(He!==void 0)return u(He)||(e.isFunctionExpression(He)||e.isArrowFunction(He)||e.isClassExpression(He)?B(He):void 0)}e.getNameOfDeclaration=O;function B(He){if(He.parent){if(e.isPropertyAssignment(He.parent)||e.isBindingElement(He.parent))return He.parent.name;if(e.isBinaryExpression(He.parent)&&He===He.parent.right){if(e.isIdentifier(He.parent.left))return He.parent.left;if(e.isAccessExpression(He.parent.left))return e.getElementOrPropertyAccessArgumentExpressionOrName(He.parent.left)}else if(e.isVariableDeclaration(He.parent)&&e.isIdentifier(He.parent.name))return He.parent.name}else return}e.getAssignedName=B;function G(He){if(e.hasDecorators(He))return e.filter(He.modifiers,e.isDecorator)}e.getDecorators=G;function $(He){if(e.hasSyntacticModifier(He,126975))return e.filter(He.modifiers,Ni)}e.getModifiers=$;function me(He,Cn){if(He.name)if(e.isIdentifier(He.name)){var Nr=He.name.escapedText;return Cr(He.parent,Cn).filter(function(lo){return e.isJSDocParameterTag(lo)&&e.isIdentifier(lo.name)&&lo.name.escapedText===Nr})}else{var ma=He.parent.parameters.indexOf(He);e.Debug.assert(ma>-1,"Parameters should always be in their parents' parameter list");var Ca=Cr(He.parent,Cn).filter(e.isJSDocParameterTag);if(ma=163}e.isNodeKind=br;function Ne(He){return He>=0&&He<=162}e.isTokenKind=Ne;function Ze(He){return Ne(He.kind)}e.isToken=Ze;function Qe(He){return e.hasProperty(He,"pos")&&e.hasProperty(He,"end")}e.isNodeArray=Qe;function pe(He){return 8<=He&&He<=14}e.isLiteralKind=pe;function Xe(He){return pe(He.kind)}e.isLiteralExpression=Xe;function ar(He){switch(He.kind){case 207:case 206:case 13:case 215:case 228:return!0}return!1}e.isLiteralExpressionOfObject=ar;function Sr(He){return 14<=He&&He<=17}e.isTemplateLiteralKind=Sr;function pr(He){return Sr(He.kind)}e.isTemplateLiteralToken=pr;function Fr(He){var Cn=He.kind;return Cn===16||Cn===17}e.isTemplateMiddleOrTemplateTail=Fr;function Vr(He){return e.isImportSpecifier(He)||e.isExportSpecifier(He)}e.isImportOrExportSpecifier=Vr;function fn(He){switch(He.kind){case 273:case 278:return He.isTypeOnly||He.parent.parent.isTypeOnly;case 271:return He.parent.isTypeOnly;case 270:case 268:return He.isTypeOnly;default:return!1}}e.isTypeOnlyImportOrExportDeclaration=fn;function Wr(He){return e.isStringLiteral(He)||e.isIdentifier(He)}e.isAssertionKey=Wr;function Wn(He){return He.kind===10||Sr(He.kind)}e.isStringTextContainingNode=Wn;function bn(He){return e.isIdentifier(He)&&(He.autoGenerateFlags&7)>0}e.isGeneratedIdentifier=bn;function qn(He){return e.isPrivateIdentifier(He)&&(He.autoGenerateFlags&7)>0}e.isGeneratedPrivateIdentifier=qn;function hn(He){return(e.isPropertyDeclaration(He)||cn(He))&&e.isPrivateIdentifier(He.name)}e.isPrivateIdentifierClassElementDeclaration=hn;function Kn(He){return e.isPropertyAccessExpression(He)&&e.isPrivateIdentifier(He.name)}e.isPrivateIdentifierPropertyAccessExpression=Kn;function Ai(He){switch(He){case 126:case 127:case 132:case 85:case 136:case 88:case 93:case 101:case 123:case 121:case 122:case 146:case 124:case 145:case 161:return!0}return!1}e.isModifierKind=Ai;function ai(He){return!!(e.modifierToFlag(He)&16476)}e.isParameterPropertyModifier=ai;function Ki(He){return ai(He)||He===124||He===161||He===127}e.isClassMemberModifier=Ki;function Ni(He){return Ai(He.kind)}e.isModifier=Ni;function mi(He){var Cn=He.kind;return Cn===163||Cn===79}e.isEntityName=mi;function Pn(He){var Cn=He.kind;return Cn===79||Cn===80||Cn===10||Cn===8||Cn===164}e.isPropertyName=Pn;function we(He){var Cn=He.kind;return Cn===79||Cn===203||Cn===204}e.isBindingName=we;function Ir(He){return!!He&&rn(He.kind)}e.isFunctionLike=Ir;function Re(He){return!!He&&(rn(He.kind)||e.isClassStaticBlockDeclaration(He))}e.isFunctionLikeOrClassStaticBlockDeclaration=Re;function yn(He){return He&&gn(He.kind)}e.isFunctionLikeDeclaration=yn;function Un(He){return He.kind===110||He.kind===95}e.isBooleanLiteral=Un;function gn(He){switch(He){case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function rn(He){switch(He){case 170:case 176:case 326:case 177:case 178:case 181:case 320:case 182:return!0;default:return gn(He)}}e.isFunctionLikeKind=rn;function xn(He){return e.isSourceFile(He)||e.isModuleBlock(He)||e.isBlock(He)&&Ir(He.parent)}e.isFunctionOrModuleBlock=xn;function Dn(He){var Cn=He.kind;return Cn===173||Cn===169||Cn===171||Cn===174||Cn===175||Cn===178||Cn===172||Cn===237}e.isClassElement=Dn;function On(He){return He&&(He.kind===260||He.kind===228)}e.isClassLike=On;function Qn(He){return He&&(He.kind===174||He.kind===175)}e.isAccessor=Qn;function Ke(He){return e.isPropertyDeclaration(He)&&e.hasAccessorModifier(He)}e.isAutoAccessorPropertyDeclaration=Ke;function cn(He){switch(He.kind){case 171:case 174:case 175:return!0;default:return!1}}e.isMethodOrAccessor=cn;function Vn(He){switch(He.kind){case 171:case 174:case 175:case 169:return!0;default:return!1}}e.isNamedClassElement=Vn;function $i(He){return Ni(He)||e.isDecorator(He)}e.isModifierLike=$i;function pt(He){var Cn=He.kind;return Cn===177||Cn===176||Cn===168||Cn===170||Cn===178||Cn===174||Cn===175}e.isTypeElement=pt;function Hi(He){return pt(He)||Dn(He)}e.isClassOrTypeElement=Hi;function Ci(He){var Cn=He.kind;return Cn===299||Cn===300||Cn===301||Cn===171||Cn===174||Cn===175}e.isObjectLiteralElementLike=Ci;function Tt(He){return e.isTypeNodeKind(He.kind)}e.isTypeNode=Tt;function st(He){switch(He.kind){case 181:case 182:return!0}return!1}e.isFunctionOrConstructorTypeNode=st;function Yi(He){if(He){var Cn=He.kind;return Cn===204||Cn===203}return!1}e.isBindingPattern=Yi;function ii(He){var Cn=He.kind;return Cn===206||Cn===207}e.isAssignmentPattern=ii;function qa(He){var Cn=He.kind;return Cn===205||Cn===229}e.isArrayBindingElement=qa;function za(He){switch(He.kind){case 257:case 166:case 205:return!0}return!1}e.isDeclarationBindingElement=za;function Wa(He){return Ao(He)||So(He)}e.isBindingOrAssignmentPattern=Wa;function Ao(He){switch(He.kind){case 203:case 207:return!0}return!1}e.isObjectBindingOrAssignmentPattern=Ao;function ka(He){switch(He.kind){case 205:case 299:case 300:case 301:return!0}return!1}e.isObjectBindingOrAssignmentElement=ka;function So(He){switch(He.kind){case 204:case 206:return!0}return!1}e.isArrayBindingOrAssignmentPattern=So;function Na(He){var Cn=He.kind;return Cn===208||Cn===163||Cn===202}e.isPropertyAccessOrQualifiedNameOrImportTypeNode=Na;function qi(He){var Cn=He.kind;return Cn===208||Cn===163}e.isPropertyAccessOrQualifiedName=qi;function Xi(He){switch(He.kind){case 283:case 282:case 210:case 211:case 212:case 167:return!0;default:return!1}}e.isCallLikeExpression=Xi;function so(He){return He.kind===210||He.kind===211}e.isCallOrNewExpression=so;function po(He){var Cn=He.kind;return Cn===225||Cn===14}e.isTemplateLiteral=po;function ws(He){return uo(Nn(He).kind)}e.isLeftHandSideExpression=ws;function uo(He){switch(He){case 208:case 209:case 211:case 210:case 281:case 282:case 285:case 212:case 206:case 214:case 207:case 228:case 215:case 79:case 80:case 13:case 8:case 9:case 10:case 14:case 225:case 95:case 104:case 108:case 110:case 106:case 232:case 230:case 233:case 100:return!0;default:return!1}}function ns(He){return Yo(Nn(He).kind)}e.isUnaryExpression=ns;function Yo(He){switch(He){case 221:case 222:case 217:case 218:case 219:case 220:case 213:return!0;default:return uo(He)}}function is(He){switch(He.kind){case 222:return!0;case 221:return He.operator===45||He.operator===46;default:return!1}}e.isUnaryExpressionWithWrite=is;function No(He){return _r(Nn(He).kind)}e.isExpression=No;function _r(He){switch(He){case 224:case 226:case 216:case 223:case 227:case 231:case 229:case 354:case 353:case 235:return!0;default:return Yo(He)}}function Or(He){var Cn=He.kind;return Cn===213||Cn===231}e.isAssertionExpression=Or;function hi(He){return e.isNotEmittedStatement(He)||e.isPartiallyEmittedExpression(He)}e.isNotEmittedOrPartiallyEmittedNode=hi;function bt(He,Cn){switch(He.kind){case 245:case 246:case 247:case 243:case 244:return!0;case 253:return Cn&&bt(He.statement,Cn)}return!1}e.isIterationStatement=bt;function Mt(He){return e.isExportAssignment(He)||e.isExportDeclaration(He)}e.isScopeMarker=Mt;function Ia(He){return e.some(He,Mt)}e.hasScopeMarker=Ia;function qe(He){return!e.isAnyImportOrReExport(He)&&!e.isExportAssignment(He)&&!e.hasSyntacticModifier(He,1)&&!e.isAmbientModule(He)}e.needsScopeMarker=qe;function tn(He){return e.isAnyImportOrReExport(He)||e.isExportAssignment(He)||e.hasSyntacticModifier(He,1)}e.isExternalModuleIndicator=tn;function An(He){return He.kind===246||He.kind===247}e.isForInOrOfStatement=An;function wn(He){return e.isBlock(He)||No(He)}e.isConciseBody=wn;function je(He){return e.isBlock(He)}e.isFunctionBody=je;function ur(He){return e.isVariableDeclarationList(He)||No(He)}e.isForInitializer=ur;function hr(He){var Cn=He.kind;return Cn===265||Cn===264||Cn===79}e.isModuleBody=hr;function Br(He){var Cn=He.kind;return Cn===265||Cn===264}e.isNamespaceBody=Br;function Mn(He){var Cn=He.kind;return Cn===79||Cn===264}e.isJSDocNamespaceBody=Mn;function di(He){var Cn=He.kind;return Cn===272||Cn===271}e.isNamedImportBindings=di;function pi(He){return He.kind===264||He.kind===263}e.isModuleOrEnumDeclaration=pi;function _i(He){return He===216||He===205||He===260||He===228||He===172||He===173||He===263||He===302||He===278||He===259||He===215||He===174||He===270||He===268||He===273||He===261||He===288||He===171||He===170||He===264||He===267||He===271||He===277||He===166||He===299||He===169||He===168||He===175||He===300||He===262||He===165||He===257||He===348||He===341||He===350}function Pt(He){return He===259||He===279||He===260||He===261||He===262||He===263||He===264||He===269||He===268||He===275||He===274||He===267}function Gt(He){return He===249||He===248||He===256||He===243||He===241||He===239||He===246||He===247||He===245||He===242||He===253||He===250||He===252||He===254||He===255||He===240||He===244||He===251||He===352||He===356||He===355}function fa(He){return He.kind===165?He.parent&&He.parent.kind!==347||e.isInJSFile(He):_i(He.kind)}e.isDeclaration=fa;function ia(He){return Pt(He.kind)}e.isDeclarationStatement=ia;function wa(He){return Gt(He.kind)}e.isStatementButNotDeclaration=wa;function Es(He){var Cn=He.kind;return Gt(Cn)||Pt(Cn)||vs(He)}e.isStatement=Es;function vs(He){return He.kind!==238||He.parent!==void 0&&(He.parent.kind===255||He.parent.kind===295)?!1:!e.isFunctionBlock(He)}function hs(He){var Cn=He.kind;return Gt(Cn)||Pt(Cn)||Cn===238}e.isStatementOrBlock=hs;function cc(He){var Cn=He.kind;return Cn===280||Cn===163||Cn===79}e.isModuleReference=cc;function Ps(He){var Cn=He.kind;return Cn===108||Cn===79||Cn===208}e.isJsxTagNameExpression=Ps;function cs(He){var Cn=He.kind;return Cn===281||Cn===291||Cn===282||Cn===11||Cn===285}e.isJsxChild=cs;function mc(He){var Cn=He.kind;return Cn===288||Cn===290}e.isJsxAttributeLike=mc;function nc(He){var Cn=He.kind;return Cn===10||Cn===291}e.isStringLiteralOrJsxExpression=nc;function vc(He){var Cn=He.kind;return Cn===283||Cn===282}e.isJsxOpeningLikeElement=vc;function Ws(He){var Cn=He.kind;return Cn===292||Cn===293}e.isCaseOrDefaultClause=Ws;function Ec(He){return He.kind>=312&&He.kind<=350}e.isJSDocNode=Ec;function Zo(He){return He.kind===323||He.kind===322||He.kind===324||Kt(He)||Jc(He)||e.isJSDocTypeLiteral(He)||e.isJSDocSignature(He)}e.isJSDocCommentContainingNode=Zo;function Jc(He){return He.kind>=330&&He.kind<=350}e.isJSDocTag=Jc;function Gs(He){return He.kind===175}e.isSetAccessor=Gs;function uc(He){return He.kind===174}e.isGetAccessor=uc;function Ts(He){var Cn=He.jsDoc;return!!Cn&&Cn.length>0}e.hasJSDocNodes=Ts;function le(He){return!!He.type}e.hasType=le;function Tr(He){return!!He.initializer}e.hasInitializer=Tr;function un(He){switch(He.kind){case 257:case 166:case 205:case 169:case 299:case 302:return!0;default:return!1}}e.hasOnlyExpressionInitializer=un;function ei(He){return He.kind===288||He.kind===290||Ci(He)}e.isObjectLiteralElement=ei;function Ii(He){return He.kind===180||He.kind===230}e.isTypeReferenceType=Ii;var ot=1073741823;function ji(He){for(var Cn=ot,Nr=0,ma=He;Nr=0),e.getLineStarts(fe)[c]}e.getStartPositionOfLine=j;function I(c){var fe=q(c),lr=e.getLineAndCharacterOfPosition(fe,c.pos);return"".concat(fe.fileName,"(").concat(lr.line+1,",").concat(lr.character+1,")")}e.nodePosToString=I;function L(c,fe){e.Debug.assert(c>=0);var lr=e.getLineStarts(fe),Kr=c,Gn=fe.text;if(Kr+1===lr.length)return Gn.length-1;var Gi=lr[Kr],tt=lr[Kr+1]-1;for(e.Debug.assert(e.isLineBreak(Gn.charCodeAt(tt)));Gi<=tt&&e.isLineBreak(Gn.charCodeAt(tt));)tt--;return tt}e.getEndLinePosition=L;function V(c,fe,lr){return!(lr&&lr(fe))&&!c.identifiers.has(fe)}e.isFileLevelUniqueName=V;function ne(c){return c===void 0?!0:c.pos===c.end&&c.pos>=0&&c.kind!==1}e.nodeIsMissing=ne;function se(c){return!ne(c)}e.nodeIsPresent=se;function De(c,fe,lr){if(fe===void 0||fe.length===0)return c;for(var Kr=0;Kr0?$(c._children[0],fe,lr):e.skipTrivia((fe||q(c)).text,c.pos,!1,!1,fa(c))}e.getTokenPosOfNode=$;function me(c,fe){var lr=!ne(c)&&e.canHaveModifiers(c)?e.findLast(c.modifiers,e.isDecorator):void 0;return lr?e.skipTrivia((fe||q(c)).text,lr.end):$(c,fe)}e.getNonDecoratorTokenPosOfNode=me;function ae(c,fe,lr){return lr===void 0&&(lr=!1),xe(c.text,fe,lr)}e.getSourceTextOfNodeFromSourceFile=ae;function Me(c){return!!e.findAncestor(c,e.isJSDocTypeExpression)}function Oe(c){return!!(e.isExportDeclaration(c)&&c.exportClause&&e.isNamespaceExport(c.exportClause)&&c.exportClause.name.escapedText==="default")}e.isExportNamespaceAsDefaultDeclaration=Oe;function xe(c,fe,lr){if(lr===void 0&&(lr=!1),ne(fe))return"";var Kr=c.substring(lr?fe.pos:e.skipTrivia(c,fe.pos),fe.end);return Me(fe)&&(Kr=Kr.split(/\r\n|\n|\r/).map(function(Gn){return e.trimStringStart(Gn.replace(/^\s*\*/,""))}).join(` +`)),Kr}e.getTextOfNodeFromSourceText=xe;function Se(c,fe){return fe===void 0&&(fe=!1),ae(q(c),c,fe)}e.getTextOfNode=Se;function Ce(c){return c.pos}function ze(c,fe){return e.binarySearch(c,fe,Ce,e.compareValues)}e.indexOfNode=ze;function Ee(c){var fe=c.emitNode;return fe&&fe.flags||0}e.getEmitFlags=Ee;function Le(){return{es2015:{Array:["find","findIndex","fill","copyWithin","entries","keys","values"],RegExp:["flags","sticky","unicode"],Reflect:["apply","construct","defineProperty","deleteProperty","get"," getOwnPropertyDescriptor","getPrototypeOf","has","isExtensible","ownKeys","preventExtensions","set","setPrototypeOf"],ArrayConstructor:["from","of"],ObjectConstructor:["assign","getOwnPropertySymbols","keys","is","setPrototypeOf"],NumberConstructor:["isFinite","isInteger","isNaN","isSafeInteger","parseFloat","parseInt"],Math:["clz32","imul","sign","log10","log2","log1p","expm1","cosh","sinh","tanh","acosh","asinh","atanh","hypot","trunc","fround","cbrt"],Map:["entries","keys","values"],Set:["entries","keys","values"],Promise:e.emptyArray,PromiseConstructor:["all","race","reject","resolve"],Symbol:["for","keyFor"],WeakMap:["entries","keys","values"],WeakSet:["entries","keys","values"],Iterator:e.emptyArray,AsyncIterator:e.emptyArray,String:["codePointAt","includes","endsWith","normalize","repeat","startsWith","anchor","big","blink","bold","fixed","fontcolor","fontsize","italics","link","small","strike","sub","sup"],StringConstructor:["fromCodePoint","raw"]},es2016:{Array:["includes"]},es2017:{Atomics:e.emptyArray,SharedArrayBuffer:e.emptyArray,String:["padStart","padEnd"],ObjectConstructor:["values","entries","getOwnPropertyDescriptors"],DateTimeFormat:["formatToParts"]},es2018:{Promise:["finally"],RegExpMatchArray:["groups"],RegExpExecArray:["groups"],RegExp:["dotAll"],Intl:["PluralRules"],AsyncIterable:e.emptyArray,AsyncIterableIterator:e.emptyArray,AsyncGenerator:e.emptyArray,AsyncGeneratorFunction:e.emptyArray,NumberFormat:["formatToParts"]},es2019:{Array:["flat","flatMap"],ObjectConstructor:["fromEntries"],String:["trimStart","trimEnd","trimLeft","trimRight"],Symbol:["description"]},es2020:{BigInt:e.emptyArray,BigInt64Array:e.emptyArray,BigUint64Array:e.emptyArray,PromiseConstructor:["allSettled"],SymbolConstructor:["matchAll"],String:["matchAll"],DataView:["setBigInt64","setBigUint64","getBigInt64","getBigUint64"],RelativeTimeFormat:["format","formatToParts","resolvedOptions"]},es2021:{PromiseConstructor:["any"],String:["replaceAll"]},es2022:{Array:["at"],String:["at"],Int8Array:["at"],Uint8Array:["at"],Uint8ClampedArray:["at"],Int16Array:["at"],Uint16Array:["at"],Int32Array:["at"],Uint32Array:["at"],Float32Array:["at"],Float64Array:["at"],BigInt64Array:["at"],BigUint64Array:["at"],ObjectConstructor:["hasOwn"],Error:["cause"]}}}e.getScriptTargetFeatures=Le;var be;(function(c){c[c.None=0]="None",c[c.NeverAsciiEscape=1]="NeverAsciiEscape",c[c.JsxAttributeEscape=2]="JsxAttributeEscape",c[c.TerminateUnterminatedLiterals=4]="TerminateUnterminatedLiterals",c[c.AllowNumericSeparator=8]="AllowNumericSeparator"})(be=e.GetLiteralTextFlags||(e.GetLiteralTextFlags={}));function ue(c,fe,lr){var Kr;if(fe&&y(c,lr))return ae(fe,c);switch(c.kind){case 10:{var Gn=lr&2?hf:lr&1||Ee(c)&16777216?U_:s_;return c.singleQuote?"'"+Gn(c.text,39)+"'":'"'+Gn(c.text,34)+'"'}case 14:case 15:case 16:case 17:{var Gn=lr&1||Ee(c)&16777216?U_:s_,Gi=(Kr=c.rawText)!==null&&Kr!==void 0?Kr:cp(Gn(c.text,96));switch(c.kind){case 14:return"`"+Gi+"`";case 15:return"`"+Gi+"${";case 16:return"}"+Gi+"${";case 17:return"}"+Gi+"`"}break}case 8:case 9:return c.text;case 13:return lr&4&&c.isUnterminated?c.text+(c.text.charCodeAt(c.text.length-1)===92?" /":"/"):c.text}return e.Debug.fail("Literal kind '".concat(c.kind,"' not accounted for."))}e.getLiteralText=ue;function y(c,fe){return Dc(c)||!c.parent||fe&4&&c.isUnterminated?!1:e.isNumericLiteral(c)&&c.numericLiteralFlags&512?!!(fe&8):!e.isBigIntLiteral(c)}function X(c){return e.isString(c)?'"'+s_(c)+'"':""+c}e.getTextOfConstantValue=X;function Ae(c){return e.getBaseFileName(c).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}e.makeIdentifierFromModuleName=Ae;function Te(c){return(e.getCombinedNodeFlags(c)&3)!==0||Je(c)}e.isBlockOrCatchScoped=Te;function Je(c){var fe=sl(c);return fe.kind===257&&fe.parent.kind===295}e.isCatchClauseVariableDeclarationOrBindingElement=Je;function er(c){return e.isModuleDeclaration(c)&&(c.name.kind===10||dr(c))}e.isAmbientModule=er;function wr(c){return e.isModuleDeclaration(c)&&c.name.kind===10}e.isModuleWithStringLiteralName=wr;function mr(c){return e.isModuleDeclaration(c)&&e.isStringLiteral(c.name)}e.isNonGlobalAmbientModule=mr;function We(c){return e.isModuleDeclaration(c)||e.isIdentifier(c)}e.isEffectiveModuleDeclaration=We;function a(c){return qr(c.valueDeclaration)}e.isShorthandAmbientModuleSymbol=a;function qr(c){return!!c&&c.kind===264&&!c.body}function ln(c){return c.kind===308||c.kind===264||e.isFunctionLikeOrClassStaticBlockDeclaration(c)}e.isBlockScopedContainerTopLevel=ln;function dr(c){return!!(c.flags&1024)}e.isGlobalScopeAugmentation=dr;function vr(c){return er(c)&&kr(c)}e.isExternalModuleAugmentation=vr;function kr(c){switch(c.parent.kind){case 308:return e.isExternalModule(c.parent);case 265:return er(c.parent.parent)&&e.isSourceFile(c.parent.parent.parent)&&!e.isExternalModule(c.parent.parent.parent)}return!1}e.isModuleAugmentationExternal=kr;function jr(c){var fe;return(fe=c.declarations)===null||fe===void 0?void 0:fe.find(function(lr){return!vr(lr)&&!(e.isModuleDeclaration(lr)&&dr(lr))})}e.getNonAugmentationDeclaration=jr;function Cr(c){return c===e.ModuleKind.CommonJS||c===e.ModuleKind.Node16||c===e.ModuleKind.NodeNext}function en(c,fe){return e.isExternalModule(c)||fe.isolatedModules||Cr(fc(fe))&&!!c.commonJsModuleIndicator}e.isEffectiveExternalModule=en;function Lr(c,fe){switch(c.scriptKind){case 1:case 3:case 2:case 4:break;default:return!1}return c.isDeclarationFile?!1:Fg(fe,"alwaysStrict")||e.startsWithUseStrict(c.statements)?!0:e.isExternalModule(c)||fe.isolatedModules?fc(fe)>=e.ModuleKind.ES2015?!0:!fe.noImplicitUseStrict:!1}e.isEffectiveStrictModeSourceFile=Lr;function pn(c){return!!(c.flags&16777216)||Js(c,2)}e.isAmbientPropertyDeclaration=pn;function ye(c,fe){switch(c.kind){case 308:case 266:case 295:case 264:case 245:case 246:case 247:case 173:case 171:case 174:case 175:case 259:case 215:case 216:case 169:case 172:return!0;case 238:return!e.isFunctionLikeOrClassStaticBlockDeclaration(fe)}return!1}e.isBlockScope=ye;function or(c){switch(c.kind){case 341:case 348:case 326:return!0;default:return e.assertType(c),Pe(c)}}e.isDeclarationWithTypeParameters=or;function Pe(c){switch(c.kind){case 176:case 177:case 170:case 178:case 181:case 182:case 320:case 260:case 228:case 261:case 262:case 347:case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return e.assertType(c),!1}}e.isDeclarationWithTypeParameterChildren=Pe;function Ve(c){switch(c.kind){case 269:case 268:return!0;default:return!1}}e.isAnyImportSyntax=Ve;function Ar(c){return Ve(c)||vs(c)}e.isAnyImportOrBareOrAccessedRequire=Ar;function ke(c){switch(c.kind){case 269:case 268:case 240:case 260:case 259:case 264:case 262:case 261:case 263:return!0;default:return!1}}e.isLateVisibilityPaintedStatement=ke;function cr(c){return Mr(c)||e.isModuleDeclaration(c)||e.isImportTypeNode(c)||Vr(c)}e.hasPossibleExternalModuleReference=cr;function Mr(c){return Ve(c)||e.isExportDeclaration(c)}e.isAnyImportOrReExport=Mr;function Rr(c){return e.findAncestor(c.parent,function(fe){return ye(fe,fe.parent)})}e.getEnclosingBlockScopeContainer=Rr;function $r(c,fe){for(var lr=Rr(c);lr;)fe(lr),lr=Rr(lr)}e.forEachEnclosingBlockScopeContainer=$r;function nn(c){return!c||x(c)===0?"(Missing)":Se(c)}e.declarationNameToString=nn;function vn(c){return c.declaration?nn(c.declaration.parameters[0].name):void 0}e.getNameFromIndexInfo=vn;function Fe(c){return c.kind===164&&!pf(c.expression)}e.isComputedNonLiteralName=Fe;function Ge(c){switch(c.kind){case 79:case 80:return c.autoGenerateFlags?void 0:c.escapedText;case 10:case 8:case 14:return e.escapeLeadingUnderscores(c.text);case 164:return pf(c.expression)?e.escapeLeadingUnderscores(c.expression.text):void 0;default:return e.Debug.assertNever(c)}}e.tryGetTextOfPropertyName=Ge;function xr(c){return e.Debug.checkDefined(Ge(c))}e.getTextOfPropertyName=xr;function Ur(c){switch(c.kind){case 108:return"this";case 80:case 79:return x(c)===0?e.idText(c):Se(c);case 163:return Ur(c.left)+"."+Ur(c.right);case 208:return e.isIdentifier(c.name)||e.isPrivateIdentifier(c.name)?Ur(c.expression)+"."+Ur(c.name):e.Debug.assertNever(c.name);case 314:return Ur(c.left)+Ur(c.right);default:return e.Debug.assertNever(c)}}e.entityNameToString=Ur;function En(c,fe,lr,Kr,Gn,Gi){var tt=q(c);return Zn(tt,c,fe,lr,Kr,Gn,Gi)}e.createDiagnosticForNode=En;function Nn(c,fe,lr,Kr,Gn,Gi,tt){var ut=e.skipTrivia(c.text,fe.pos);return ja(c,ut,fe.end-ut,lr,Kr,Gn,Gi,tt)}e.createDiagnosticForNodeArray=Nn;function Zn(c,fe,lr,Kr,Gn,Gi,tt){var ut=Ze(c,fe);return ja(c,ut.start,ut.length,lr,Kr,Gn,Gi,tt)}e.createDiagnosticForNodeInSourceFile=Zn;function fi(c,fe,lr){var Kr=q(c),Gn=Ze(Kr,c);return Pr(Kr,Gn.start,Gn.length,fe,lr)}e.createDiagnosticForNodeFromMessageChain=fi;function Dr(c,fe,lr){e.Debug.assertGreaterThanOrEqual(fe,0),e.Debug.assertGreaterThanOrEqual(lr,0),c&&(e.Debug.assertLessThanOrEqual(fe,c.text.length),e.Debug.assertLessThanOrEqual(fe+lr,c.text.length))}function Pr(c,fe,lr,Kr,Gn){return Dr(c,fe,lr),{file:c,start:fe,length:lr,code:Kr.code,category:Kr.category,messageText:Kr.next?Kr:Kr.messageText,relatedInformation:Gn}}e.createFileDiagnosticFromMessageChain=Pr;function Jr(c,fe,lr){return{file:c,start:0,length:0,code:fe.code,category:fe.category,messageText:fe.next?fe:fe.messageText,relatedInformation:lr}}e.createDiagnosticForFileFromMessageChain=Jr;function sn(c){return typeof c.messageText=="string"?{code:c.code,category:c.category,messageText:c.messageText,next:c.next}:c.messageText}e.createDiagnosticMessageChainFromDiagnostic=sn;function Ue(c,fe,lr){return{file:c,start:fe.pos,length:fe.end-fe.pos,code:lr.code,category:lr.category,messageText:lr.message}}e.createDiagnosticForRange=Ue;function br(c,fe){var lr=e.createScanner(c.languageVersion,!0,c.languageVariant,c.text,void 0,fe);lr.scan();var Kr=lr.getTokenPos();return e.createTextSpanFromBounds(Kr,lr.getTextPos())}e.getSpanOfTokenAtPosition=br;function Ne(c,fe){var lr=e.skipTrivia(c.text,fe.pos);if(fe.body&&fe.body.kind===238){var Kr=e.getLineAndCharacterOfPosition(c,fe.body.pos).line,Gn=e.getLineAndCharacterOfPosition(c,fe.body.end).line;if(Kr0?fe.statements[0].pos:fe.end;return e.createTextSpanFromBounds(Gn,Gi)}if(lr===void 0)return br(c,fe.pos);e.Debug.assert(!e.isJSDoc(lr));var tt=ne(lr),ut=tt||e.isJsxText(fe)?lr.pos:e.skipTrivia(c.text,lr.pos);return tt?(e.Debug.assert(ut===lr.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),e.Debug.assert(ut===lr.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")):(e.Debug.assert(ut>=lr.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),e.Debug.assert(ut<=lr.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),e.createTextSpanFromBounds(ut,lr.end)}e.getErrorSpanForNode=Ze;function Qe(c){return(c.externalModuleIndicator||c.commonJsModuleIndicator)!==void 0}e.isExternalOrCommonJsModule=Qe;function pe(c){return c.scriptKind===6}e.isJsonSourceFile=pe;function Xe(c){return!!(e.getCombinedModifierFlags(c)&2048)}e.isEnumConst=Xe;function ar(c){return!!(e.getCombinedModifierFlags(c)&64&&!e.isParameterPropertyDeclaration(c,c.parent))}e.isDeclarationReadonly=ar;function Sr(c){return!!(e.getCombinedNodeFlags(c)&2)}e.isVarConst=Sr;function pr(c){return!!(e.getCombinedNodeFlags(c)&1)}e.isLet=pr;function Fr(c){return c.kind===210&&c.expression.kind===106}e.isSuperCall=Fr;function Vr(c){return c.kind===210&&c.expression.kind===100}e.isImportCall=Vr;function fn(c){return e.isMetaProperty(c)&&c.keywordToken===100&&c.name.escapedText==="meta"}e.isImportMeta=fn;function Wr(c){return e.isImportTypeNode(c)&&e.isLiteralTypeNode(c.argument)&&e.isStringLiteral(c.argument.literal)}e.isLiteralImportTypeNode=Wr;function Wn(c){return c.kind===241&&c.expression.kind===10}e.isPrologueDirective=Wn;function bn(c){return!!(Ee(c)&1048576)}e.isCustomPrologue=bn;function qn(c){return bn(c)&&e.isFunctionDeclaration(c)}e.isHoistedFunction=qn;function hn(c){return e.isIdentifier(c.name)&&!c.initializer}function Kn(c){return bn(c)&&e.isVariableStatement(c)&&e.every(c.declarationList.declarations,hn)}e.isHoistedVariableStatement=Kn;function Ai(c,fe){return c.kind!==11?e.getLeadingCommentRanges(fe.text,c.pos):void 0}e.getLeadingCommentRangesOfNode=Ai;function ai(c,fe){var lr=c.kind===166||c.kind===165||c.kind===215||c.kind===216||c.kind===214||c.kind===257||c.kind===278?e.concatenate(e.getTrailingCommentRanges(fe,c.pos),e.getLeadingCommentRanges(fe,c.pos)):e.getLeadingCommentRanges(fe,c.pos);return e.filter(lr,function(Kr){return fe.charCodeAt(Kr.pos+1)===42&&fe.charCodeAt(Kr.pos+2)===42&&fe.charCodeAt(Kr.pos+3)!==47})}e.getJSDocCommentRanges=ai,e.fullTripleSlashReferencePathRegEx=/^(\/\/\/\s*/;var Ki=/^(\/\/\/\s*/;e.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/;var Ni=/^(\/\/\/\s*/;function mi(c){if(179<=c.kind&&c.kind<=202)return!0;switch(c.kind){case 131:case 157:case 148:case 160:case 152:case 134:case 153:case 149:case 155:case 144:return!0;case 114:return c.parent.kind!==219;case 230:return e.isHeritageClause(c.parent)&&!gu(c);case 165:return c.parent.kind===197||c.parent.kind===192;case 79:(c.parent.kind===163&&c.parent.right===c||c.parent.kind===208&&c.parent.name===c)&&(c=c.parent),e.Debug.assert(c.kind===79||c.kind===163||c.kind===208,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 163:case 208:case 108:{var fe=c.parent;if(fe.kind===183)return!1;if(fe.kind===202)return!fe.isTypeOf;if(179<=fe.kind&&fe.kind<=202)return!0;switch(fe.kind){case 230:return e.isHeritageClause(fe.parent)&&!gu(fe);case 165:return c===fe.constraint;case 347:return c===fe.constraint;case 169:case 168:case 166:case 257:return c===fe.type;case 259:case 215:case 216:case 173:case 171:case 170:case 174:case 175:return c===fe.type;case 176:case 177:case 178:return c===fe.type;case 213:return c===fe.type;case 210:case 211:return e.contains(fe.typeArguments,c);case 212:return!1}}}return!1}e.isPartOfTypeNode=mi;function Pn(c,fe){for(;c;){if(c.kind===fe)return!0;c=c.parent}return!1}e.isChildOfNodeWithKind=Pn;function we(c,fe){return lr(c);function lr(Kr){switch(Kr.kind){case 250:return fe(Kr);case 266:case 238:case 242:case 243:case 244:case 245:case 246:case 247:case 251:case 252:case 292:case 293:case 253:case 255:case 295:return e.forEachChild(Kr,lr)}}}e.forEachReturnStatement=we;function Ir(c,fe){return lr(c);function lr(Kr){switch(Kr.kind){case 226:fe(Kr);var Gn=Kr.expression;Gn&&lr(Gn);return;case 263:case 261:case 264:case 262:return;default:if(e.isFunctionLike(Kr)){if(Kr.name&&Kr.name.kind===164){lr(Kr.name.expression);return}}else mi(Kr)||e.forEachChild(Kr,lr)}}}e.forEachYieldExpression=Ir;function Re(c){return c&&c.kind===185?c.elementType:c&&c.kind===180?e.singleOrUndefined(c.typeArguments):void 0}e.getRestParameterElementType=Re;function yn(c){switch(c.kind){case 261:case 260:case 228:case 184:return c.members;case 207:return c.properties}}e.getMembersOfDeclaration=yn;function Un(c){if(c)switch(c.kind){case 205:case 302:case 166:case 299:case 169:case 168:case 300:case 257:return!0}return!1}e.isVariableLike=Un;function gn(c){return Un(c)||e.isAccessor(c)}e.isVariableLikeOrAccessor=gn;function rn(c){return c.parent.kind===258&&c.parent.parent.kind===240}e.isVariableDeclarationInVariableStatement=rn;function xn(c){return _i(c)?e.isObjectLiteralExpression(c.parent)&&e.isBinaryExpression(c.parent.parent)&&Ii(c.parent.parent)===2||Dn(c.parent):!1}e.isCommonJsExportedExpression=xn;function Dn(c){return _i(c)?e.isBinaryExpression(c)&&Ii(c)===1:!1}e.isCommonJsExportPropertyAssignment=Dn;function On(c){return(e.isVariableDeclaration(c)?Sr(c)&&e.isIdentifier(c.name)&&rn(c):e.isPropertyDeclaration(c)?f_(c)&&q_(c):e.isPropertySignature(c)&&f_(c))||Dn(c)}e.isValidESSymbolDeclaration=On;function Qn(c){switch(c.kind){case 171:case 170:case 173:case 174:case 175:case 259:case 215:return!0}return!1}e.introducesArgumentsExoticObject=Qn;function Ke(c,fe){for(;;){if(fe&&fe(c),c.statement.kind!==253)return c.statement;c=c.statement}}e.unwrapInnermostStatementOfLabel=Ke;function cn(c){return c&&c.kind===238&&e.isFunctionLike(c.parent)}e.isFunctionBlock=cn;function Vn(c){return c&&c.kind===171&&c.parent.kind===207}e.isObjectLiteralMethod=Vn;function $i(c){return(c.kind===171||c.kind===174||c.kind===175)&&(c.parent.kind===207||c.parent.kind===228)}e.isObjectLiteralOrClassExpressionMethodOrAccessor=$i;function pt(c){return c&&c.kind===1}e.isIdentifierTypePredicate=pt;function Hi(c){return c&&c.kind===0}e.isThisTypePredicate=Hi;function Ci(c,fe,lr){return c.properties.filter(function(Kr){if(Kr.kind===299){var Gn=Ge(Kr.name);return fe===Gn||!!lr&&lr===Gn}return!1})}e.getPropertyAssignment=Ci;function Tt(c,fe,lr){return e.firstDefined(Ci(c,fe),function(Kr){return e.isArrayLiteralExpression(Kr.initializer)?e.find(Kr.initializer.elements,function(Gn){return e.isStringLiteral(Gn)&&Gn.text===lr}):void 0})}e.getPropertyArrayElementValue=Tt;function st(c){if(c&&c.statements.length){var fe=c.statements[0].expression;return e.tryCast(fe,e.isObjectLiteralExpression)}}e.getTsConfigObjectLiteralExpression=st;function Yi(c,fe,lr){return e.firstDefined(ii(c,fe),function(Kr){return e.isArrayLiteralExpression(Kr.initializer)?e.find(Kr.initializer.elements,function(Gn){return e.isStringLiteral(Gn)&&Gn.text===lr}):void 0})}e.getTsConfigPropArrayElementValue=Yi;function ii(c,fe){var lr=st(c);return lr?Ci(lr,fe):e.emptyArray}e.getTsConfigPropArray=ii;function qa(c){return e.findAncestor(c.parent,e.isFunctionLike)}e.getContainingFunction=qa;function za(c){return e.findAncestor(c.parent,e.isFunctionLikeDeclaration)}e.getContainingFunctionDeclaration=za;function Wa(c){return e.findAncestor(c.parent,e.isClassLike)}e.getContainingClass=Wa;function Ao(c){return e.findAncestor(c.parent,function(fe){return e.isClassLike(fe)||e.isFunctionLike(fe)?"quit":e.isClassStaticBlockDeclaration(fe)})}e.getContainingClassStaticBlock=Ao;function ka(c){return e.findAncestor(c.parent,e.isFunctionLikeOrClassStaticBlockDeclaration)}e.getContainingFunctionOrClassStaticBlock=ka;function So(c,fe){for(e.Debug.assert(c.kind!==308);;){if(c=c.parent,!c)return e.Debug.fail();switch(c.kind){case 164:if(e.isClassLike(c.parent.parent))return c;c=c.parent;break;case 167:c.parent.kind===166&&e.isClassElement(c.parent.parent)?c=c.parent.parent:e.isClassElement(c.parent)&&(c=c.parent);break;case 216:if(!fe)continue;case 259:case 215:case 264:case 172:case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 176:case 177:case 178:case 263:case 308:return c}}}e.getThisContainer=So;function Na(c){switch(c.kind){case 216:case 259:case 215:case 169:return!0;case 238:switch(c.parent.kind){case 173:case 171:case 174:case 175:return!0;default:return!1}default:return!1}}e.isThisContainerOrFunctionBlock=Na;function qi(c){e.isIdentifier(c)&&(e.isClassDeclaration(c.parent)||e.isFunctionDeclaration(c.parent))&&c.parent.name===c&&(c=c.parent);var fe=So(c,!0);return e.isSourceFile(fe)}e.isInTopLevelContext=qi;function Xi(c){var fe=So(c,!1);if(fe)switch(fe.kind){case 173:case 259:case 215:return fe}}e.getNewTargetContainer=Xi;function so(c,fe){for(;;){if(c=c.parent,!c)return c;switch(c.kind){case 164:c=c.parent;break;case 259:case 215:case 216:if(!fe)continue;case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 172:return c;case 167:c.parent.kind===166&&e.isClassElement(c.parent.parent)?c=c.parent.parent:e.isClassElement(c.parent)&&(c=c.parent);break}}}e.getSuperContainer=so;function po(c){if(c.kind===215||c.kind===216){for(var fe=c,lr=c.parent;lr.kind===214;)fe=lr,lr=lr.parent;if(lr.kind===210&&lr.expression===fe)return lr}}e.getImmediatelyInvokedFunctionExpression=po;function ws(c){return c.kind===106||uo(c)}e.isSuperOrSuperProperty=ws;function uo(c){var fe=c.kind;return(fe===208||fe===209)&&c.expression.kind===106}e.isSuperProperty=uo;function ns(c){var fe=c.kind;return(fe===208||fe===209)&&c.expression.kind===108}e.isThisProperty=ns;function Yo(c){var fe;return!!c&&e.isVariableDeclaration(c)&&((fe=c.initializer)===null||fe===void 0?void 0:fe.kind)===108}e.isThisInitializedDeclaration=Yo;function is(c){return!!c&&(e.isShorthandPropertyAssignment(c)||e.isPropertyAssignment(c))&&e.isBinaryExpression(c.parent.parent)&&c.parent.parent.operatorToken.kind===63&&c.parent.parent.right.kind===108}e.isThisInitializedObjectBindingExpression=is;function No(c){switch(c.kind){case 180:return c.typeName;case 230:return Du(c.expression)?c.expression:void 0;case 79:case 163:return c}}e.getEntityNameFromTypeNode=No;function _r(c){switch(c.kind){case 212:return c.tag;case 283:case 282:return c.tagName;default:return c.expression}}e.getInvokedExpression=_r;function Or(c,fe,lr){if(e.isNamedDeclaration(c)&&e.isPrivateIdentifier(c.name))return!1;switch(c.kind){case 260:return!0;case 169:return fe.kind===260;case 174:case 175:case 171:return c.body!==void 0&&fe.kind===260;case 166:return fe.body!==void 0&&(fe.kind===173||fe.kind===171||fe.kind===175)&&lr.kind===260}return!1}e.nodeCanBeDecorated=Or;function hi(c,fe,lr){return Cf(c)&&Or(c,fe,lr)}e.nodeIsDecorated=hi;function bt(c,fe,lr){return hi(c,fe,lr)||Mt(c,fe)}e.nodeOrChildIsDecorated=bt;function Mt(c,fe){switch(c.kind){case 260:return e.some(c.members,function(lr){return bt(lr,c,fe)});case 171:case 175:case 173:return e.some(c.parameters,function(lr){return hi(lr,c,fe)});default:return!1}}e.childIsDecorated=Mt;function Ia(c){if(hi(c))return!0;var fe=Pc(c);return!!fe&&Mt(fe,c)}e.classOrConstructorParameterIsDecorated=Ia;function qe(c){var fe=c.parent;return fe.kind===283||fe.kind===282||fe.kind===284?fe.tagName===c:!1}e.isJSXTagName=qe;function tn(c){switch(c.kind){case 106:case 104:case 110:case 95:case 13:case 206:case 207:case 208:case 209:case 210:case 211:case 212:case 231:case 213:case 235:case 232:case 214:case 215:case 228:case 216:case 219:case 217:case 218:case 221:case 222:case 223:case 224:case 227:case 225:case 229:case 281:case 282:case 285:case 226:case 220:case 233:return!0;case 230:return!e.isHeritageClause(c.parent);case 163:for(;c.parent.kind===163;)c=c.parent;return c.parent.kind===183||e.isJSDocLinkLike(c.parent)||e.isJSDocNameReference(c.parent)||e.isJSDocMemberName(c.parent)||qe(c);case 314:for(;e.isJSDocMemberName(c.parent);)c=c.parent;return c.parent.kind===183||e.isJSDocLinkLike(c.parent)||e.isJSDocNameReference(c.parent)||e.isJSDocMemberName(c.parent)||qe(c);case 80:return e.isBinaryExpression(c.parent)&&c.parent.left===c&&c.parent.operatorToken.kind===101;case 79:if(c.parent.kind===183||e.isJSDocLinkLike(c.parent)||e.isJSDocNameReference(c.parent)||e.isJSDocMemberName(c.parent)||qe(c))return!0;case 8:case 9:case 10:case 14:case 108:return An(c);default:return!1}}e.isExpressionNode=tn;function An(c){var fe=c.parent;switch(fe.kind){case 257:case 166:case 169:case 168:case 302:case 299:case 205:return fe.initializer===c;case 241:case 242:case 243:case 244:case 250:case 251:case 252:case 292:case 254:return fe.expression===c;case 245:var lr=fe;return lr.initializer===c&&lr.initializer.kind!==258||lr.condition===c||lr.incrementor===c;case 246:case 247:var Kr=fe;return Kr.initializer===c&&Kr.initializer.kind!==258||Kr.expression===c;case 213:case 231:return c===fe.expression;case 236:return c===fe.expression;case 164:return c===fe.expression;case 167:case 291:case 290:case 301:return!0;case 230:return fe.expression===c&&!mi(fe);case 300:return fe.objectAssignmentInitializer===c;case 235:return c===fe.expression;default:return tn(fe)}}e.isInExpressionContext=An;function wn(c){for(;c.kind===163||c.kind===79;)c=c.parent;return c.kind===183}e.isPartOfTypeQuery=wn;function je(c){return e.isNamespaceExport(c)&&!!c.parent.moduleSpecifier}e.isNamespaceReexportDeclaration=je;function ur(c){return c.kind===268&&c.moduleReference.kind===280}e.isExternalModuleImportEqualsDeclaration=ur;function hr(c){return e.Debug.assert(ur(c)),c.moduleReference.expression}e.getExternalModuleImportEqualsDeclarationExpression=hr;function Br(c){return vs(c)&&Co(c.initializer).arguments[0]}e.getExternalModuleRequireArgument=Br;function Mn(c){return c.kind===268&&c.moduleReference.kind!==280}e.isInternalModuleImportEqualsDeclaration=Mn;function di(c){return _i(c)}e.isSourceFileJS=di;function pi(c){return!_i(c)}e.isSourceFileNotJS=pi;function _i(c){return!!c&&!!(c.flags&262144)}e.isInJSFile=_i;function Pt(c){return!!c&&!!(c.flags&67108864)}e.isInJsonFile=Pt;function Gt(c){return!pe(c)}e.isSourceFileNotJson=Gt;function fa(c){return!!c&&!!(c.flags&8388608)}e.isInJSDoc=fa;function ia(c){return e.isTypeReferenceNode(c)&&e.isIdentifier(c.typeName)&&c.typeName.escapedText==="Object"&&c.typeArguments&&c.typeArguments.length===2&&(c.typeArguments[0].kind===152||c.typeArguments[0].kind===148)}e.isJSDocIndexSignature=ia;function wa(c,fe){if(c.kind!==210)return!1;var lr=c,Kr=lr.expression,Gn=lr.arguments;if(Kr.kind!==79||Kr.escapedText!=="require"||Gn.length!==1)return!1;var Gi=Gn[0];return!fe||e.isStringLiteralLike(Gi)}e.isRequireCall=wa;function Es(c){return hs(c,!1)}e.isVariableDeclarationInitializedToRequire=Es;function vs(c){return hs(c,!0)}e.isVariableDeclarationInitializedToBareOrAccessedRequire=vs;function hs(c,fe){return e.isVariableDeclaration(c)&&!!c.initializer&&wa(fe?Co(c.initializer):c.initializer,!0)}function cc(c){return e.isVariableStatement(c)&&c.declarationList.declarations.length>0&&e.every(c.declarationList.declarations,function(fe){return Es(fe)})}e.isRequireVariableStatement=cc;function Ps(c){return c===39||c===34}e.isSingleOrDoubleQuote=Ps;function cs(c,fe){return ae(fe,c).charCodeAt(0)===34}e.isStringDoubleQuoted=cs;function mc(c){return e.isBinaryExpression(c)||vt(c)||e.isIdentifier(c)||e.isCallExpression(c)}e.isAssignmentDeclaration=mc;function nc(c){return _i(c)&&c.initializer&&e.isBinaryExpression(c.initializer)&&(c.initializer.operatorToken.kind===56||c.initializer.operatorToken.kind===60)&&c.name&&Du(c.name)&&Ts(c.name,c.initializer.left)?c.initializer.right:c.initializer}e.getEffectiveInitializer=nc;function vc(c){var fe=nc(c);return fe&&Zo(fe,Mu(c.name))}e.getDeclaredExpandoInitializer=vc;function Ws(c,fe){return e.forEach(c.properties,function(lr){return e.isPropertyAssignment(lr)&&e.isIdentifier(lr.name)&&lr.name.escapedText==="value"&&lr.initializer&&Zo(lr.initializer,fe)})}function Ec(c){if(c&&c.parent&&e.isBinaryExpression(c.parent)&&c.parent.operatorToken.kind===63){var fe=Mu(c.parent.left);return Zo(c.parent.right,fe)||Jc(c.parent.left,c.parent.right,fe)}if(c&&e.isCallExpression(c)&&ot(c)){var lr=Ws(c.arguments[2],c.arguments[1].text==="prototype");if(lr)return lr}}e.getAssignedExpandoInitializer=Ec;function Zo(c,fe){if(e.isCallExpression(c)){var lr=Ut(c.expression);return lr.kind===215||lr.kind===216?c:void 0}if(c.kind===215||c.kind===228||c.kind===216||e.isObjectLiteralExpression(c)&&(c.properties.length===0||fe))return c}e.getExpandoInitializer=Zo;function Jc(c,fe,lr){var Kr=e.isBinaryExpression(fe)&&(fe.operatorToken.kind===56||fe.operatorToken.kind===60)&&Zo(fe.right,lr);if(Kr&&Ts(c,fe.left))return Kr}function Gs(c){var fe=e.isVariableDeclaration(c.parent)?c.parent.name:e.isBinaryExpression(c.parent)&&c.parent.operatorToken.kind===63?c.parent.left:void 0;return fe&&Zo(c.right,Mu(fe))&&Du(fe)&&Ts(fe,c.left)}e.isDefaultedExpandoInitializer=Gs;function uc(c){if(e.isBinaryExpression(c.parent)){var fe=(c.parent.operatorToken.kind===56||c.parent.operatorToken.kind===60)&&e.isBinaryExpression(c.parent.parent)?c.parent.parent:c.parent;if(fe.operatorToken.kind===63&&e.isIdentifier(fe.left))return fe.left}else if(e.isVariableDeclaration(c.parent))return c.parent.name}e.getNameOfExpando=uc;function Ts(c,fe){return Nt(c)&&Nt(fe)?Iu(c)===Iu(fe):e.isMemberName(c)&&ji(fe)&&(fe.expression.kind===108||e.isIdentifier(fe.expression)&&(fe.expression.escapedText==="window"||fe.expression.escapedText==="self"||fe.expression.escapedText==="global"))?Ts(c,He(fe)):ji(c)&&ji(fe)?Ca(c)===Ca(fe)&&Ts(c.expression,fe.expression):!1}e.isSameEntityName=Ts;function le(c){for(;ts(c,!0);)c=c.right;return c}e.getRightMostAssignedExpression=le;function Tr(c){return e.isIdentifier(c)&&c.escapedText==="exports"}e.isExportsIdentifier=Tr;function un(c){return e.isIdentifier(c)&&c.escapedText==="module"}e.isModuleIdentifier=un;function ei(c){return(e.isPropertyAccessExpression(c)||dt(c))&&un(c.expression)&&Ca(c)==="exports"}e.isModuleExportsAccessExpression=ei;function Ii(c){var fe=Cn(c);return fe===5||_i(c)?fe:0}e.getAssignmentDeclarationKind=Ii;function ot(c){return e.length(c.arguments)===3&&e.isPropertyAccessExpression(c.expression)&&e.isIdentifier(c.expression.expression)&&e.idText(c.expression.expression)==="Object"&&e.idText(c.expression.name)==="defineProperty"&&pf(c.arguments[1])&&ha(c.arguments[0],!0)}e.isBindableObjectDefinePropertyCall=ot;function ji(c){return e.isPropertyAccessExpression(c)||dt(c)}e.isLiteralLikeAccess=ji;function dt(c){return e.isElementAccessExpression(c)&&pf(c.argumentExpression)}e.isLiteralLikeElementAccess=dt;function Kt(c,fe){return e.isPropertyAccessExpression(c)&&(!fe&&c.expression.kind===108||e.isIdentifier(c.name)&&ha(c.expression,!0))||Bt(c,fe)}e.isBindableStaticAccessExpression=Kt;function Bt(c,fe){return dt(c)&&(!fe&&c.expression.kind===108||Du(c.expression)||Kt(c.expression,!0))}e.isBindableStaticElementAccessExpression=Bt;function ha(c,fe){return Du(c)||Kt(c,fe)}e.isBindableStaticNameExpression=ha;function He(c){return e.isPropertyAccessExpression(c)?c.name:c.argumentExpression}e.getNameOrArgument=He;function Cn(c){if(e.isCallExpression(c)){if(!ot(c))return 0;var fe=c.arguments[0];return Tr(fe)||ei(fe)?8:Kt(fe)&&Ca(fe)==="prototype"?9:7}return c.operatorToken.kind!==63||!vt(c.left)||Nr(le(c))?0:ha(c.left.expression,!0)&&Ca(c.left)==="prototype"&&e.isObjectLiteralExpression(ys(c))?6:lo(c.left)}function Nr(c){return e.isVoidExpression(c)&&e.isNumericLiteral(c.expression)&&c.expression.text==="0"}function ma(c){if(e.isPropertyAccessExpression(c))return c.name;var fe=Ut(c.argumentExpression);return e.isNumericLiteral(fe)||e.isStringLiteralLike(fe)?fe:c}e.getElementOrPropertyAccessArgumentExpressionOrName=ma;function Ca(c){var fe=ma(c);if(fe){if(e.isIdentifier(fe))return fe.escapedText;if(e.isStringLiteralLike(fe)||e.isNumericLiteral(fe))return e.escapeLeadingUnderscores(fe.text)}}e.getElementOrPropertyAccessName=Ca;function lo(c){if(c.expression.kind===108)return 4;if(ei(c))return 2;if(ha(c.expression,!0)){if(Mu(c.expression))return 3;for(var fe=c;!e.isIdentifier(fe.expression);)fe=fe.expression;var lr=fe.expression;if((lr.escapedText==="exports"||lr.escapedText==="module"&&Ca(fe)==="exports")&&Kt(c))return 1;if(ha(c,!0)||e.isElementAccessExpression(c)&&R_(c))return 5}return 0}e.getAssignmentDeclarationPropertyAccessKind=lo;function ys(c){for(;e.isBinaryExpression(c.right);)c=c.right;return c.right}e.getInitializerOfBinaryExpression=ys;function hc(c){return e.isBinaryExpression(c)&&Ii(c)===3}e.isPrototypePropertyAssignment=hc;function Ms(c){return _i(c)&&c.parent&&c.parent.kind===241&&(!e.isElementAccessExpression(c)||dt(c))&&!!e.getJSDocTypeTag(c.parent)}e.isSpecialPropertyDeclaration=Ms;function jc(c,fe){var lr=c.valueDeclaration;(!lr||!(fe.flags&16777216&&!(lr.flags&16777216))&&mc(lr)&&!mc(fe)||lr.kind!==fe.kind&&We(lr))&&(c.valueDeclaration=fe)}e.setValueDeclaration=jc;function Ks(c){if(!c||!c.valueDeclaration)return!1;var fe=c.valueDeclaration;return fe.kind===259||e.isVariableDeclaration(fe)&&fe.initializer&&e.isFunctionLike(fe.initializer)}e.isFunctionSymbol=Ks;function ic(c){var fe,lr;switch(c.kind){case 257:return(fe=e.findAncestor(c.initializer,function(Kr){return wa(Kr,!0)}))===null||fe===void 0?void 0:fe.arguments[0];case 269:return e.tryCast(c.moduleSpecifier,e.isStringLiteralLike);case 268:return e.tryCast((lr=e.tryCast(c.moduleReference,e.isExternalModuleReference))===null||lr===void 0?void 0:lr.expression,e.isStringLiteralLike);default:e.Debug.assertNever(c)}}e.tryGetModuleSpecifierFromDeclaration=ic;function Uc(c){return go(c)||e.Debug.failBadSyntaxKind(c.parent)}e.importFromModuleSpecifier=Uc;function go(c){switch(c.parent.kind){case 269:case 275:return c.parent;case 280:return c.parent.parent;case 210:return Vr(c.parent)||wa(c.parent,!1)?c.parent:void 0;case 198:return e.Debug.assert(e.isStringLiteral(c)),e.tryCast(c.parent.parent,e.isImportTypeNode);default:return}}e.tryGetImportFromModuleSpecifier=go;function $s(c){switch(c.kind){case 269:case 275:return c.moduleSpecifier;case 268:return c.moduleReference.kind===280?c.moduleReference.expression:void 0;case 202:return Wr(c)?c.argument.literal:void 0;case 210:return c.arguments[0];case 264:return c.name.kind===10?c.name:void 0;default:return e.Debug.assertNever(c)}}e.getExternalModuleName=$s;function yc(c){switch(c.kind){case 269:return c.importClause&&e.tryCast(c.importClause.namedBindings,e.isNamespaceImport);case 268:return c;case 275:return c.exportClause&&e.tryCast(c.exportClause,e.isNamespaceExport);default:return e.Debug.assertNever(c)}}e.getNamespaceDeclarationNode=yc;function Fl(c){return c.kind===269&&!!c.importClause&&!!c.importClause.name}e.isDefaultImport=Fl;function tu(c,fe){if(c.name){var lr=fe(c);if(lr)return lr}if(c.namedBindings){var lr=e.isNamespaceImport(c.namedBindings)?fe(c.namedBindings):e.forEach(c.namedBindings.elements,fe);if(lr)return lr}}e.forEachImportClauseDeclaration=tu;function tl(c){if(c)switch(c.kind){case 166:case 171:case 170:case 300:case 299:case 169:case 168:return c.questionToken!==void 0}return!1}e.hasQuestionToken=tl;function wf(c){var fe=e.isJSDocFunctionType(c)?e.firstOrUndefined(c.parameters):void 0,lr=e.tryCast(fe&&fe.name,e.isIdentifier);return!!lr&&lr.escapedText==="new"}e.isJSDocConstructSignature=wf;function al(c){return c.kind===348||c.kind===341||c.kind===342}e.isJSDocTypeAlias=al;function Hc(c){return al(c)||e.isTypeAliasDeclaration(c)}e.isTypeAlias=Hc;function ol(c){return e.isExpressionStatement(c)&&e.isBinaryExpression(c.expression)&&c.expression.operatorToken.kind===63?le(c.expression):void 0}function Gr(c){return e.isExpressionStatement(c)&&e.isBinaryExpression(c.expression)&&Ii(c.expression)!==0&&e.isBinaryExpression(c.expression.right)&&(c.expression.right.operatorToken.kind===56||c.expression.right.operatorToken.kind===60)?c.expression.right.right:void 0}function Hr(c){switch(c.kind){case 240:var fe=Jn(c);return fe&&fe.initializer;case 169:return c.initializer;case 299:return c.initializer}}e.getSingleInitializerOfVariableStatementOrPropertyDeclaration=Hr;function Jn(c){return e.isVariableStatement(c)?e.firstOrUndefined(c.declarationList.declarations):void 0}e.getSingleVariableOfVariableStatement=Jn;function ui(c){return e.isModuleDeclaration(c)&&c.body&&c.body.kind===264?c.body:void 0}function yi(c,fe){var lr;Un(c)&&e.hasInitializer(c)&&e.hasJSDocNodes(c.initializer)&&(lr=e.addRange(lr,Ti(c,e.last(c.initializer.jsDoc))));for(var Kr=c;Kr&&Kr.parent;){if(e.hasJSDocNodes(Kr)&&(lr=e.addRange(lr,Ti(c,e.last(Kr.jsDoc)))),Kr.kind===166){lr=e.addRange(lr,(fe?e.getJSDocParameterTagsNoCache:e.getJSDocParameterTags)(Kr));break}if(Kr.kind===165){lr=e.addRange(lr,(fe?e.getJSDocTypeParameterTagsNoCache:e.getJSDocTypeParameterTags)(Kr));break}Kr=Ji(Kr)}return lr||e.emptyArray}e.getJSDocCommentsAndTags=yi;function Ti(c,fe){if(e.isJSDoc(fe)){var lr=e.filter(fe.tags,function(Kr){return ct(c,Kr)});return fe.tags===lr?[fe]:lr}return ct(c,fe)?[fe]:void 0}function ct(c,fe){return!e.isJSDocTypeTag(fe)||!fe.parent||!e.isJSDoc(fe.parent)||!e.isParenthesizedExpression(fe.parent.parent)||fe.parent.parent===c}function Ji(c){var fe=c.parent;if(fe.kind===299||fe.kind===274||fe.kind===169||fe.kind===241&&c.kind===208||fe.kind===250||ui(fe)||e.isBinaryExpression(c)&&c.operatorToken.kind===63)return fe;if(fe.parent&&(Jn(fe.parent)===c||e.isBinaryExpression(fe)&&fe.operatorToken.kind===63))return fe.parent;if(fe.parent&&fe.parent.parent&&(Jn(fe.parent.parent)||Hr(fe.parent.parent)===c||Gr(fe.parent.parent)))return fe.parent.parent}e.getNextJSDocCommentLocation=Ji;function jt(c){if(c.symbol)return c.symbol;if(e.isIdentifier(c.name)){var fe=c.name.escapedText,lr=Zt(c);if(lr){var Kr=e.find(lr.parameters,function(Gn){return Gn.name.kind===79&&Gn.name.escapedText===fe});return Kr&&Kr.symbol}}}e.getParameterSymbolFromJSDoc=jt;function Ea(c){if(e.isJSDoc(c.parent)&&c.parent.tags){var fe=e.find(c.parent.tags,al);if(fe)return fe}return Zt(c)}e.getEffectiveContainerForJSDocTemplateTag=Ea;function Zt(c){var fe=Vt(c);if(fe)return e.isPropertySignature(fe)&&fe.type&&e.isFunctionLike(fe.type)?fe.type:e.isFunctionLike(fe)?fe:void 0}e.getHostSignatureFromJSDoc=Zt;function Vt(c){var fe=Ga(c);if(fe)return Gr(fe)||ol(fe)||Hr(fe)||Jn(fe)||ui(fe)||fe}e.getEffectiveJSDocHost=Vt;function Ga(c){var fe=ea(c);if(fe){var lr=fe.parent;if(lr&&lr.jsDoc&&fe===e.lastOrUndefined(lr.jsDoc))return lr}}e.getJSDocHost=Ga;function ea(c){return e.findAncestor(c.parent,e.isJSDoc)}e.getJSDocRoot=ea;function mo(c){var fe=c.name.escapedText,lr=c.parent.parent.parent.typeParameters;return lr&&e.find(lr,function(Kr){return Kr.name.escapedText===fe})}e.getTypeParameterFromJsDoc=mo;function xo(c){return!!c.typeArguments}e.hasTypeArguments=xo;var Os;(function(c){c[c.None=0]="None",c[c.Definite=1]="Definite",c[c.Compound=2]="Compound"})(Os=e.AssignmentKind||(e.AssignmentKind={}));function Vo(c){for(var fe=c.parent;;){switch(fe.kind){case 223:var lr=fe.operatorToken.kind;return Wl(lr)&&fe.left===c?lr===63||Uf(lr)?1:2:0;case 221:case 222:var Kr=fe.operator;return Kr===45||Kr===46?2:0;case 246:case 247:return fe.initializer===c?1:0;case 214:case 206:case 227:case 232:c=fe;break;case 301:c=fe.parent;break;case 300:if(fe.name!==c)return 0;c=fe.parent;break;case 299:if(fe.name===c)return 0;c=fe.parent;break;default:return 0}fe=c.parent}}e.getAssignmentTargetKind=Vo;function Ss(c){return Vo(c)!==0}e.isAssignmentTarget=Ss;function $o(c){switch(c.kind){case 238:case 240:case 251:case 242:case 252:case 266:case 292:case 293:case 253:case 245:case 246:case 247:case 243:case 244:case 255:case 295:return!0}return!1}e.isNodeWithPossibleHoistedDeclaration=$o;function de(c){return e.isFunctionExpression(c)||e.isArrowFunction(c)||e.isMethodOrAccessor(c)||e.isFunctionDeclaration(c)||e.isConstructorDeclaration(c)}e.isValueSignatureDeclaration=de;function sr(c,fe){for(;c&&c.kind===fe;)c=c.parent;return c}function Er(c){return sr(c,193)}e.walkUpParenthesizedTypes=Er;function Fn(c){return sr(c,214)}e.walkUpParenthesizedExpressions=Fn;function Si(c){for(var fe;c&&c.kind===193;)fe=c,c=c.parent;return[fe,c]}e.walkUpParenthesizedTypesAndGetParentAndChild=Si;function mt(c){for(;e.isParenthesizedTypeNode(c);)c=c.type;return c}e.skipTypeParentheses=mt;function Ut(c,fe){var lr=fe?17:1;return e.skipOuterExpressions(c,lr)}e.skipParentheses=Ut;function _a(c){return c.kind!==208&&c.kind!==209?!1:(c=Fn(c.parent),c&&c.kind===217)}e.isDeleteTarget=_a;function $a(c,fe){for(;c;){if(c===fe)return!0;c=c.parent}return!1}e.isNodeDescendantOf=$a;function io(c){return!e.isSourceFile(c)&&!e.isBindingPattern(c)&&e.isDeclaration(c.parent)&&c.parent.name===c}e.isDeclarationName=io;function Po(c){var fe=c.parent;switch(c.kind){case 10:case 14:case 8:if(e.isComputedPropertyName(fe))return fe.parent;case 79:if(e.isDeclaration(fe))return fe.name===c?fe:void 0;if(e.isQualifiedName(fe)){var lr=fe.parent;return e.isJSDocParameterTag(lr)&&lr.name===fe?lr:void 0}else{var Kr=fe.parent;return e.isBinaryExpression(Kr)&&Ii(Kr)!==0&&(Kr.left.symbol||Kr.symbol)&&e.getNameOfDeclaration(Kr)===c?Kr:void 0}case 80:return e.isDeclaration(fe)&&fe.name===c?fe:void 0;default:return}}e.getDeclarationFromName=Po;function Ma(c){return pf(c)&&c.parent.kind===164&&e.isDeclaration(c.parent.parent)}e.isLiteralComputedPropertyDeclarationName=Ma;function Qa(c){var fe=c.parent;switch(fe.kind){case 169:case 168:case 171:case 170:case 174:case 175:case 302:case 299:case 208:return fe.name===c;case 163:return fe.right===c;case 205:case 273:return fe.propertyName===c;case 278:case 288:case 282:case 283:case 284:return!0}return!1}e.isIdentifierName=Qa;function Go(c){return c.kind===268||c.kind===267||c.kind===270&&c.name||c.kind===271||c.kind===277||c.kind===273||c.kind===278||c.kind===274&&Tc(c)?!0:_i(c)&&(e.isBinaryExpression(c)&&Ii(c)===2&&Tc(c)||e.isPropertyAccessExpression(c)&&e.isBinaryExpression(c.parent)&&c.parent.left===c&&c.parent.operatorToken.kind===63&&Ds(c.parent.right))}e.isAliasSymbolDeclaration=Go;function qo(c){switch(c.parent.kind){case 270:case 273:case 271:case 278:case 274:case 268:case 277:return c.parent;case 163:do c=c.parent;while(c.parent.kind===163);return qo(c)}}e.getAliasDeclarationFromName=qo;function Ds(c){return Du(c)||e.isClassExpression(c)}e.isAliasableExpression=Ds;function Tc(c){var fe=Ls(c);return Ds(fe)}e.exportAssignmentIsAlias=Tc;function Ls(c){return e.isExportAssignment(c)?c.expression:c.right}e.getExportAssignmentExpression=Ls;function Ml(c){return c.kind===300?c.name:c.kind===299?c.initializer:c.parent.right}e.getPropertyAssignmentAliasLikeExpression=Ml;function M_(c){var fe=xl(c);if(fe&&_i(c)){var lr=e.getJSDocAugmentsTag(c);if(lr)return lr.class}return fe}e.getEffectiveBaseTypeNode=M_;function xl(c){var fe=Pu(c.heritageClauses,94);return fe&&fe.types.length>0?fe.types[0]:void 0}e.getClassExtendsHeritageElement=xl;function lf(c){if(_i(c))return e.getJSDocImplementsTags(c).map(function(lr){return lr.class});var fe=Pu(c.heritageClauses,117);return fe==null?void 0:fe.types}e.getEffectiveImplementsTypeNodes=lf;function Xr(c){return e.isInterfaceDeclaration(c)?ff(c)||e.emptyArray:e.isClassLike(c)&&e.concatenate(e.singleElementArray(M_(c)),lf(c))||e.emptyArray}e.getAllSuperTypeNodes=Xr;function ff(c){var fe=Pu(c.heritageClauses,94);return fe?fe.types:void 0}e.getInterfaceBaseTypeNodes=ff;function Pu(c,fe){if(c)for(var lr=0,Kr=c;lr=0)return aa[Fo]}}function Gi(Da){var aa;Da.file?(aa=lr.get(Da.file.fileName),aa||(aa=[],lr.set(Da.file.fileName,aa),e.insertSorted(fe,Da.file.fileName,e.compareStringsCaseSensitive))):(Kr&&(Kr=!1,c=c.slice()),aa=c),e.insertSorted(aa,Da,Bd)}function tt(){return Kr=!0,c}function ut(Da){if(Da)return lr.get(Da)||[];var aa=e.flatMapToMutable(fe,function(Fo){return lr.get(Fo)});return c.length&&aa.unshift.apply(aa,c),aa}}e.createDiagnosticCollection=Jl;var B_=/\$\{/g;function cp(c){return c.replace(B_,"\\${")}function Yp(c){return c&&!!(e.isNoSubstitutionTemplateLiteral(c)?c.templateFlags:c.head.templateFlags||e.some(c.templateSpans,function(fe){return!!fe.literal.templateFlags}))}e.hasInvalidEscape=Yp;var up=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,J_=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,Vu=/\r\n|[\\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g,gf=new e.Map(e.getEntries({" ":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"}));function Dd(c){var fe=c.toString(16).toUpperCase(),lr=("0000"+fe).slice(-4);return"\\u"+lr}function j_(c,fe,lr){if(c.charCodeAt(0)===0){var Kr=lr.charCodeAt(fe+c.length);return Kr>=48&&Kr<=57?"\\x00":"\\0"}return gf.get(c)||Dd(c.charCodeAt(0))}function U_(c,fe){var lr=fe===96?Vu:fe===39?J_:up;return c.replace(lr,j_)}e.escapeString=U_;var Mf=/[^\u0000-\u007F]/g;function s_(c,fe){return c=U_(c,fe),Mf.test(c)?c.replace(Mf,function(lr){return Dd(lr.charCodeAt(0))}):c}e.escapeNonAsciiString=s_;var mf=/[\"\u0000-\u001f\u2028\u2029\u0085]/g,bd=/[\'\u0000-\u001f\u2028\u2029\u0085]/g,vf=new e.Map(e.getEntries({'"':""","'":"'"}));function Ac(c){var fe=c.toString(16).toUpperCase();return"&#x"+fe+";"}function cl(c){return c.charCodeAt(0)===0?"�":vf.get(c)||Ac(c.charCodeAt(0))}function hf(c,fe){var lr=fe===39?bd:mf;return c.replace(lr,cl)}e.escapeJsxAttributeString=hf;function Sd(c){var fe=c.length;return fe>=2&&c.charCodeAt(0)===c.charCodeAt(fe-1)&&z_(c.charCodeAt(0))?c.substring(1,fe-1):c}e.stripQuotes=Sd;function z_(c){return c===39||c===34||c===96}function wu(c){var fe=c.charCodeAt(0);return fe>=97&&fe<=122||e.stringContains(c,"-")||e.stringContains(c,":")}e.isIntrinsicJsxName=wu;var Lf=[""," "];function ul(c){for(var fe=Lf[1],lr=Lf.length;lr<=c;lr++)Lf.push(Lf[lr-1]+fe);return Lf[c]}e.getIndentString=ul;function qu(){return Lf[1].length}e.getIndentSize=qu;function Hu(){return e.stringContains(e.version,"-dev")||e.stringContains(e.version,"-insiders")}e.isNightly=Hu;function Gu(c){var fe,lr,Kr,Gn,Gi,tt=!1;function ut(bs){var Al=e.computeLineStarts(bs);Al.length>1?(Gn=Gn+Al.length-1,Gi=fe.length-bs.length+e.last(Al),Kr=Gi-fe.length===0):Kr=!1}function Da(bs){bs&&bs.length&&(Kr&&(bs=ul(lr)+bs,Kr=!1),fe+=bs,ut(bs))}function aa(bs){bs&&(tt=!1),Da(bs)}function Fo(bs){bs&&(tt=!0),Da(bs)}function os(){fe="",lr=0,Kr=!0,Gn=0,Gi=0,tt=!1}function ac(bs){bs!==void 0&&(fe+=bs,ut(bs),tt=!1)}function Yt(bs){bs&&bs.length&&aa(bs)}function Ns(bs){(!Kr||bs)&&(fe+=c,Gn++,Gi=fe.length,Kr=!0,tt=!1)}function da(){return Kr?fe.length:fe.length+c.length}return os(),{write:aa,rawWrite:ac,writeLiteral:Yt,writeLine:Ns,increaseIndent:function(){lr++},decreaseIndent:function(){lr--},getIndent:function(){return lr},getTextPos:function(){return fe.length},getLine:function(){return Gn},getColumn:function(){return Kr?lr*qu():fe.length-Gi},getText:function(){return fe},isAtStartOfLine:function(){return Kr},hasTrailingComment:function(){return tt},hasTrailingWhitespace:function(){return!!fe.length&&e.isWhiteSpaceLike(fe.charCodeAt(fe.length-1))},clear:os,reportInaccessibleThisError:e.noop,reportPrivateInBaseOfClassExpression:e.noop,reportInaccessibleUniqueSymbolError:e.noop,trackSymbol:function(){return!1},writeKeyword:aa,writeOperator:aa,writeParameter:aa,writeProperty:aa,writePunctuation:aa,writeSpace:aa,writeStringLiteral:aa,writeSymbol:function(bs,Al){return aa(bs)},writeTrailingSemicolon:aa,writeComment:Fo,getTextPosWithWriteLine:da}}e.createTextWriter=Gu;function Ou(c){var fe=!1;function lr(){fe&&(c.writeTrailingSemicolon(";"),fe=!1)}return Ri(Ri({},c),{writeTrailingSemicolon:function(){fe=!0},writeLiteral:function(Kr){lr(),c.writeLiteral(Kr)},writeStringLiteral:function(Kr){lr(),c.writeStringLiteral(Kr)},writeSymbol:function(Kr,Gn){lr(),c.writeSymbol(Kr,Gn)},writePunctuation:function(Kr){lr(),c.writePunctuation(Kr)},writeKeyword:function(Kr){lr(),c.writeKeyword(Kr)},writeOperator:function(Kr){lr(),c.writeOperator(Kr)},writeParameter:function(Kr){lr(),c.writeParameter(Kr)},writeSpace:function(Kr){lr(),c.writeSpace(Kr)},writeProperty:function(Kr){lr(),c.writeProperty(Kr)},writeComment:function(Kr){lr(),c.writeComment(Kr)},writeLine:function(){lr(),c.writeLine()},increaseIndent:function(){lr(),c.increaseIndent()},decreaseIndent:function(){lr(),c.decreaseIndent()}})}e.getTrailingSemicolonDeferringWriter=Ou;function Zp(c){return c.useCaseSensitiveFileNames?c.useCaseSensitiveFileNames():!1}e.hostUsesCaseSensitiveFileNames=Zp;function xd(c){return e.createGetCanonicalFileName(Zp(c))}e.hostGetCanonicalFileName=xd;function lp(c,fe,lr){return fe.moduleName||yf(c,fe.fileName,lr&&lr.fileName)}e.getResolvedExternalModuleName=lp;function Cd(c,fe){return c.getCanonicalFileName(e.getNormalizedAbsolutePath(fe,c.getCurrentDirectory()))}function Bo(c,fe,lr){var Kr=fe.getExternalModuleFileFromDeclaration(lr);if(!(!Kr||Kr.isDeclarationFile)){var Gn=$s(lr);if(!(Gn&&e.isStringLiteralLike(Gn)&&!e.pathIsRelative(Gn.text)&&Cd(c,Kr.path).indexOf(Cd(c,e.ensureTrailingDirectorySeparator(c.getCommonSourceDirectory())))===-1))return lp(c,Kr)}}e.getExternalModuleNameFromDeclaration=Bo;function yf(c,fe,lr){var Kr=function(Da){return c.getCanonicalFileName(Da)},Gn=e.toPath(lr?e.getDirectoryPath(lr):c.getCommonSourceDirectory(),c.getCurrentDirectory(),Kr),Gi=e.getNormalizedAbsolutePath(fe,c.getCurrentDirectory()),tt=e.getRelativePathToDirectoryOrUrl(Gn,Gi,Gn,Kr,!1),ut=Dp(tt);return lr?e.ensurePathIsNonModuleName(ut):ut}e.getExternalModuleNameFromPath=yf;function fp(c,fe,lr){var Kr=fe.getCompilerOptions(),Gn;return Kr.outDir?Gn=Dp(Qs(c,fe,Kr.outDir)):Gn=Dp(c),Gn+lr}e.getOwnEmitOutputFilePath=fp;function W_(c,fe){return c_(c,fe.getCompilerOptions(),fe.getCurrentDirectory(),fe.getCommonSourceDirectory(),function(lr){return fe.getCanonicalFileName(lr)})}e.getDeclarationEmitOutputFilePath=W_;function c_(c,fe,lr,Kr,Gn){var Gi=fe.declarationDir||fe.outDir,tt=Gi?Ed(c,Gi,lr,Kr,Gn):c,ut=Rf(tt);return Dp(tt)+ut}e.getDeclarationEmitOutputFilePathWorker=c_;function Rf(c){return e.fileExtensionIsOneOf(c,[".mjs",".mts"])?".d.mts":e.fileExtensionIsOneOf(c,[".cjs",".cts"])?".d.cts":e.fileExtensionIsOneOf(c,[".json"])?".json.d.ts":".d.ts"}e.getDeclarationEmitExtensionForPath=Rf;function _p(c){return e.fileExtensionIsOneOf(c,[".d.mts",".mjs",".mts"])?[".mts",".mjs"]:e.fileExtensionIsOneOf(c,[".d.cts",".cjs",".cts"])?[".cts",".cjs"]:e.fileExtensionIsOneOf(c,[".json.d.ts"])?[".json"]:[".tsx",".ts",".jsx",".js"]}e.getPossibleOriginalInputExtensionForExtension=_p;function _s(c){return c.outFile||c.out}e.outFile=_s;function wi(c,fe){var lr,Kr;if(c.paths)return(lr=c.baseUrl)!==null&&lr!==void 0?lr:e.Debug.checkDefined(c.pathsBasePath||((Kr=fe.getCurrentDirectory)===null||Kr===void 0?void 0:Kr.call(fe)),"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.")}e.getPathsBasePath=wi;function Rs(c,fe,lr){var Kr=c.getCompilerOptions();if(_s(Kr)){var Gn=fc(Kr),Gi=Kr.emitDeclarationOnly||Gn===e.ModuleKind.AMD||Gn===e.ModuleKind.System;return e.filter(c.getSourceFiles(),function(ut){return(Gi||!e.isExternalModule(ut))&&$t(ut,c,lr)})}else{var tt=fe===void 0?c.getSourceFiles():[fe];return e.filter(tt,function(ut){return $t(ut,c,lr)})}}e.getSourceFilesToEmit=Rs;function $t(c,fe,lr){var Kr=fe.getCompilerOptions();return!(Kr.noEmitForJsFiles&&di(c))&&!c.isDeclarationFile&&!fe.isSourceFileFromExternalLibrary(c)&&(lr||!(pe(c)&&fe.getResolvedProjectReferenceToRedirect(c.fileName))&&!fe.isSourceOfProjectReferenceRedirect(c.fileName))}e.sourceFileMayBeEmitted=$t;function Qs(c,fe,lr){return Ed(c,lr,fe.getCurrentDirectory(),fe.getCommonSourceDirectory(),function(Kr){return fe.getCanonicalFileName(Kr)})}e.getSourceFilePathInNewDir=Qs;function Ed(c,fe,lr,Kr,Gn){var Gi=e.getNormalizedAbsolutePath(c,lr),tt=Gn(Gi).indexOf(Gn(Kr))===0;return Gi=tt?Gi.substring(Kr.length):Gi,e.combinePaths(fe,Gi)}e.getSourceFilePathInNewDirWorker=Ed;function Nc(c,fe,lr,Kr,Gn,Gi,tt){c.writeFile(lr,Kr,Gn,function(ut){fe.add(Li(e.Diagnostics.Could_not_write_file_0_Colon_1,lr,ut))},Gi,tt)}e.writeFile=Nc;function Ui(c,fe,lr){if(c.length>e.getRootLength(c)&&!lr(c)){var Kr=e.getDirectoryPath(c);Ui(Kr,fe,lr),fe(c)}}function _u(c,fe,lr,Kr,Gn,Gi){try{Kr(c,fe,lr)}catch{Ui(e.getDirectoryPath(e.normalizePath(c)),Gn,Gi),Kr(c,fe,lr)}}e.writeFileEnsuringDirectories=_u;function du(c,fe){var lr=e.getLineStarts(c);return e.computeLineOfPosition(lr,fe)}e.getLineOfLocalPosition=du;function Ko(c,fe){return e.computeLineOfPosition(c,fe)}e.getLineOfLocalPositionFromLineMap=Ko;function Pc(c){return e.find(c.members,function(fe){return e.isConstructorDeclaration(fe)&&se(fe.body)})}e.getFirstConstructorWithBody=Pc;function Kc(c){if(c&&c.parameters.length>0){var fe=c.parameters.length===2&&Cl(c.parameters[0]);return c.parameters[fe?1:0]}}e.getSetAccessorValueParameter=Kc;function Td(c){var fe=Kc(c);return fe&&fe.type}e.getSetAccessorTypeAnnotationNode=Td;function ls(c){if(c.parameters.length&&!e.isJSDocSignature(c)){var fe=c.parameters[0];if(Cl(fe))return fe}}e.getThisParameter=ls;function Cl(c){return Bf(c.name)}e.parameterIsThisKeyword=Cl;function Bf(c){return!!c&&c.kind===79&&ll(c)}e.isThisIdentifier=Bf;function V_(c){if(!Bf(c))return!1;for(;e.isQualifiedName(c.parent)&&c.parent.left===c;)c=c.parent;return c.parent.kind===183}e.isThisInTypeQuery=V_;function ll(c){return c.originalKeywordKind===108}e.identifierIsThisKeyword=ll;function Bs(c,fe){var lr,Kr,Gn,Gi;return md(fe)?(lr=fe,fe.kind===174?Gn=fe:fe.kind===175?Gi=fe:e.Debug.fail("Accessor has wrong kind")):e.forEach(c,function(tt){if(e.isAccessor(tt)&&xf(tt)===xf(fe)){var ut=Qt(tt.name),Da=Qt(fe.name);ut===Da&&(lr?Kr||(Kr=tt):lr=tt,tt.kind===174&&!Gn&&(Gn=tt),tt.kind===175&&!Gi&&(Gi=tt))}}),{firstAccessor:lr,secondAccessor:Kr,getAccessor:Gn,setAccessor:Gi}}e.getAllAccessorDeclarations=Bs;function El(c){if(!(!_i(c)&&e.isFunctionDeclaration(c))){var fe=c.type;return fe||!_i(c)?fe:e.isJSDocPropertyLikeTag(c)?c.typeExpression&&c.typeExpression.type:e.getJSDocType(c)}}e.getEffectiveTypeAnnotationNode=El;function u_(c){return c.type}e.getTypeAnnotationNode=u_;function l_(c){return e.isJSDocSignature(c)?c.type&&c.type.typeExpression&&c.type.typeExpression.type:c.type||(_i(c)?e.getJSDocReturnType(c):void 0)}e.getEffectiveReturnTypeNode=l_;function jl(c){return e.flatMap(e.getJSDocTags(c),function(fe){return eg(fe)?fe.typeParameters:void 0})}e.getJSDocTypeParameterDeclarations=jl;function eg(c){return e.isJSDocTemplateTag(c)&&!(c.parent.kind===323&&c.parent.tags.some(al))}function Vs(c){var fe=Kc(c);return fe&&El(fe)}e.getEffectiveSetAccessorTypeAnnotationNode=Vs;function Df(c,fe,lr,Kr){au(c,fe,lr.pos,Kr)}e.emitNewLineBeforeLeadingComments=Df;function au(c,fe,lr,Kr){Kr&&Kr.length&&lr!==Kr[0].pos&&Ko(c,lr)!==Ko(c,Kr[0].pos)&&fe.writeLine()}e.emitNewLineBeforeLeadingCommentsOfPosition=au;function dp(c,fe,lr,Kr){lr!==Kr&&Ko(c,lr)!==Ko(c,Kr)&&fe.writeLine()}e.emitNewLineBeforeLeadingCommentOfPosition=dp;function bf(c,fe,lr,Kr,Gn,Gi,tt,ut){if(Kr&&Kr.length>0){Gn&&lr.writeSpace(" ");for(var Da=!1,aa=0,Fo=Kr;aa=Ns+2)break}aa.push(Yt),Fo=Yt}if(aa.length){var Ns=Ko(fe,e.last(aa).end),bs=Ko(fe,e.skipTrivia(c,Gn.pos));bs>=Ns+2&&(Df(fe,lr,Gn,ut),bf(c,fe,lr,aa,!1,!0,Gi,Kr),Da={nodePos:Gn.pos,detachedCommentEndPos:e.last(aa).end})}}return Da;function Al(Xl){return B(c,Xl.pos)}}e.emitDetachedComments=Sf;function kd(c,fe,lr,Kr,Gn,Gi){if(c.charCodeAt(Kr+1)===42)for(var tt=e.computeLineAndCharacterOfPosition(fe,Kr),ut=fe.length,Da=void 0,aa=Kr,Fo=tt.line;aa0){var Ns=Yt%qu(),da=ul((Yt-Ns)/qu());for(lr.rawWrite(da);Ns;)lr.rawWrite(" "),Ns--}else lr.rawWrite("")}Ul(c,Gn,lr,Gi,aa,os),aa=os}else lr.writeComment(c.substring(Kr,Gn))}e.writeCommentRange=kd;function Ul(c,fe,lr,Kr,Gn,Gi){var tt=Math.min(fe,Gi-1),ut=e.trimString(c.substring(Gn,tt));ut?(lr.writeComment(ut),tt!==fe&&lr.writeLine()):lr.rawWrite(Kr)}function fl(c,fe,lr){for(var Kr=0;fe=0&&c.kind<=162?0:(c.modifierFlagsCache&536870912||(c.modifierFlagsCache=Io(c)|536870912),fe&&!(c.modifierFlagsCache&4096)&&(lr||_i(c))&&c.parent&&(c.modifierFlagsCache|=$c(c)|4096),c.modifierFlagsCache&-536875009)}function _l(c){return Fu(c,!0)}e.getEffectiveModifierFlags=_l;function zl(c){return Fu(c,!0,!0)}e.getEffectiveModifierFlagsAlwaysIncludeJSDoc=zl;function Jf(c){return Fu(c,!1)}e.getSyntacticModifierFlags=Jf;function $c(c){var fe=0;return c.parent&&!e.isParameter(c)&&(_i(c)&&(e.getJSDocPublicTagNoCache(c)&&(fe|=4),e.getJSDocPrivateTagNoCache(c)&&(fe|=8),e.getJSDocProtectedTagNoCache(c)&&(fe|=16),e.getJSDocReadonlyTagNoCache(c)&&(fe|=64),e.getJSDocOverrideTagNoCache(c)&&(fe|=16384)),e.getJSDocDeprecatedTagNoCache(c)&&(fe|=8192)),fe}function rg(c){return Io(c)|$c(c)}e.getEffectiveModifierFlagsNoCache=rg;function Io(c){var fe=e.canHaveModifiers(c)?Qc(c.modifiers):0;return(c.flags&4||c.kind===79&&c.isInJSDocNamespace)&&(fe|=1),fe}e.getSyntacticModifierFlagsNoCache=Io;function Qc(c){var fe=0;if(c)for(var lr=0,Kr=c;lr=63&&c<=78}e.isAssignmentOperator=Wl;function ng(c){var fe=Xc(c);return fe&&!fe.isImplements?fe.class:void 0}e.tryGetClassExtendingExpressionWithTypeArguments=ng;function Xc(c){return e.isExpressionWithTypeArguments(c)&&e.isHeritageClause(c.parent)&&e.isClassLike(c.parent.parent)?{class:c.parent.parent,isImplements:c.parent.token===117}:void 0}e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments=Xc;function ts(c,fe){return e.isBinaryExpression(c)&&(fe?c.operatorToken.kind===63:Wl(c.operatorToken.kind))&&e.isLeftHandSideExpression(c.left)}e.isAssignmentExpression=ts;function pp(c){return ts(c.parent)&&c.parent.left===c}e.isLeftHandSideOfAssignment=pp;function p_(c){if(ts(c,!0)){var fe=c.left.kind;return fe===207||fe===206}return!1}e.isDestructuringAssignment=p_;function gu(c){return ng(c)!==void 0}e.isExpressionWithTypeArgumentsInClassExtendsClause=gu;function Du(c){return c.kind===79||zf(c)}e.isEntityNameExpression=Du;function H_(c){switch(c.kind){case 79:return c;case 163:do c=c.left;while(c.kind!==79);return c;case 208:do c=c.expression;while(c.kind!==79);return c}}e.getFirstIdentifier=H_;function Nd(c){return c.kind===79||c.kind===108||c.kind===106||c.kind===233||c.kind===208&&Nd(c.expression)||c.kind===214&&Nd(c.expression)}e.isDottedName=Nd;function zf(c){return e.isPropertyAccessExpression(c)&&e.isIdentifier(c.name)&&Du(c.expression)}e.isPropertyAccessEntityNameExpression=zf;function Vl(c){if(e.isPropertyAccessExpression(c)){var fe=Vl(c.expression);if(fe!==void 0)return fe+"."+Ur(c.name)}else if(e.isElementAccessExpression(c)){var fe=Vl(c.expression);if(fe!==void 0&&e.isPropertyName(c.argumentExpression))return fe+"."+Qt(c.argumentExpression)}else if(e.isIdentifier(c))return e.unescapeLeadingUnderscores(c.escapedText)}e.tryGetPropertyAccessOrIdentifierToString=Vl;function Mu(c){return Kt(c)&&Ca(c)==="prototype"}e.isPrototypeAccess=Mu;function ig(c){return c.parent.kind===163&&c.parent.right===c||c.parent.kind===208&&c.parent.name===c}e.isRightSideOfQualifiedNameOrPropertyAccess=ig;function ql(c){return e.isPropertyAccessExpression(c.parent)&&c.parent.name===c||e.isElementAccessExpression(c.parent)&&c.parent.argumentExpression===c}e.isRightSideOfAccessExpression=ql;function dl(c){return e.isQualifiedName(c.parent)&&c.parent.right===c||e.isPropertyAccessExpression(c.parent)&&c.parent.name===c||e.isJSDocMemberName(c.parent)&&c.parent.right===c}e.isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName=dl;function g_(c){return c.kind===207&&c.properties.length===0}e.isEmptyObjectLiteral=g_;function tg(c){return c.kind===206&&c.elements.length===0}e.isEmptyArrayLiteral=tg;function bu(c){if(!(!Pd(c)||!c.declarations))for(var fe=0,lr=c.declarations;fe0&&Js(c.declarations[0],1024)}function Ng(c){return e.find(AD,function(fe){return e.fileExtensionIs(c,fe)})}e.tryExtractTSExtension=Ng;function Xt(c){for(var fe=[],lr=c.length,Kr=0;Kr>6|192),fe.push(Gn&63|128)):Gn<65536?(fe.push(Gn>>12|224),fe.push(Gn>>6&63|128),fe.push(Gn&63|128)):Gn<131072?(fe.push(Gn>>18|240),fe.push(Gn>>12&63|128),fe.push(Gn>>6&63|128),fe.push(Gn&63|128)):e.Debug.assert(!1,"Unexpected code point")}return fe}var ou="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Oi(c){for(var fe="",lr=Xt(c),Kr=0,Gn=lr.length,Gi,tt,ut,Da;Kr>2,tt=(lr[Kr]&3)<<4|lr[Kr+1]>>4,ut=(lr[Kr+1]&15)<<2|lr[Kr+2]>>6,Da=lr[Kr+2]&63,Kr+1>=Gn?ut=Da=64:Kr+2>=Gn&&(Da=64),fe+=ou.charAt(Gi)+ou.charAt(tt)+ou.charAt(ut)+ou.charAt(Da),Kr+=3;return fe}e.convertToBase64=Oi;function Hl(c){for(var fe="",lr=0,Kr=c.length;lr>4&3,Fo=(tt&15)<<4|ut>>2&15,os=(ut&3)<<6|Da&63;Fo===0&&ut!==0?Kr.push(aa):os===0&&Da!==0?Kr.push(aa,Fo):Kr.push(aa,Fo,os),Gn+=4}return Hl(Kr)}e.base64decode=pl;function Ku(c,fe){var lr=e.isString(fe)?fe:fe.readFile(c);if(lr){var Kr=e.parseConfigFileTextToJson(c,lr);return Kr.error?void 0:Kr.config}}e.readJsonOrUndefined=Ku;function wd(c,fe){return Ku(c,fe)||{}}e.readJson=wd;function gp(c,fe){return!fe.directoryExists||fe.directoryExists(c)}e.directoryProbablyExists=gp;var bc=`\r +`,G_=` +`;function m_(c,fe){switch(c.newLine){case 0:return bc;case 1:return G_}return fe?fe():e.sys?e.sys.newLine:bc}e.getNewLineCharacter=m_;function K_(c,fe){return fe===void 0&&(fe=c),e.Debug.assert(fe>=c||fe===-1),{pos:c,end:fe}}e.createRange=K_;function ag(c,fe){return K_(c.pos,fe)}e.moveRangeEnd=ag;function v_(c,fe){return K_(fe,c.end)}e.moveRangePos=v_;function E(c){var fe=e.canHaveModifiers(c)?e.findLast(c.modifiers,e.isDecorator):void 0;return fe&&!dm(fe.end)?v_(c,fe.end):c}e.moveRangePastDecorators=E;function $e(c){var fe=e.canHaveModifiers(c)?e.lastOrUndefined(c.modifiers):void 0;return fe&&!dm(fe.end)?v_(c,fe.end):E(c)}e.moveRangePastModifiers=$e;function _n(c){return c.pos===c.end}e.isCollapsedRange=_n;function Xn(c,fe){return K_(c,c+e.tokenToString(fe).length)}e.createTokenRange=Xn;function et(c,fe){return Ot(c,c,fe)}e.rangeIsOnSingleLine=et;function At(c,fe,lr){return Ja(ua(c,lr,!1),ua(fe,lr,!1),lr)}e.rangeStartPositionsAreOnSameLine=At;function Lt(c,fe,lr){return Ja(c.end,fe.end,lr)}e.rangeEndPositionsAreOnSameLine=Lt;function Ot(c,fe,lr){return Ja(ua(c,lr,!1),fe.end,lr)}e.rangeStartIsOnSameLineAsRangeEnd=Ot;function Va(c,fe,lr){return Ja(c.end,ua(fe,lr,!1),lr)}e.rangeEndIsOnSameLineAsRangeStart=Va;function jo(c,fe,lr,Kr){var Gn=ua(fe,lr,Kr);return e.getLinesBetweenPositions(lr,c.end,Gn)}e.getLinesBetweenRangeEndAndRangeStart=jo;function Pa(c,fe,lr){return e.getLinesBetweenPositions(lr,c.end,fe.end)}e.getLinesBetweenRangeEndPositions=Pa;function Oc(c,fe){return!Ja(c.pos,c.end,fe)}e.isNodeArrayMultiLine=Oc;function Ja(c,fe,lr){return e.getLinesBetweenPositions(lr,c,fe)===0}e.positionsAreOnSameLine=Ja;function ua(c,fe,lr){return dm(c.pos)?-1:e.skipTrivia(fe.text,c.pos,!1,lr)}e.getStartPositionOfRange=ua;function zc(c,fe,lr,Kr){var Gn=e.skipTrivia(lr.text,c,!1,Kr),Gi=Wf(Gn,fe,lr);return e.getLinesBetweenPositions(lr,Gi??fe,Gn)}e.getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter=zc;function Su(c,fe,lr,Kr){var Gn=e.skipTrivia(lr.text,c,!1,Kr);return e.getLinesBetweenPositions(lr,c,Math.min(fe,Gn))}e.getLinesBetweenPositionAndNextNonWhitespaceCharacter=Su;function Wf(c,fe,lr){for(fe===void 0&&(fe=0);c-- >fe;)if(!e.isWhiteSpaceLike(lr.text.charCodeAt(c)))return c}function Lu(c){var fe=e.getParseTreeNode(c);if(fe)switch(fe.parent.kind){case 263:case 264:return fe===fe.parent.name}return!1}e.isDeclarationNameOfEnumOrNamespace=Lu;function $_(c){return e.filter(c.declarations,mp)}e.getInitializedVariables=$_;function mp(c){return c.initializer!==void 0}function vp(c){return c.watch&&e.hasProperty(c,"watch")}e.isWatchSet=vp;function Gl(c){c.close()}e.closeFileWatcher=Gl;function Od(c){return c.flags&33554432?c.checkFlags:0}e.getCheckFlags=Od;function og(c,fe){if(fe===void 0&&(fe=!1),c.valueDeclaration){var lr=fe&&c.declarations&&e.find(c.declarations,e.isSetAccessorDeclaration)||c.flags&32768&&e.find(c.declarations,e.isGetAccessorDeclaration)||c.valueDeclaration,Kr=e.getCombinedModifierFlags(lr);return c.parent&&c.parent.flags&32?Kr:Kr&-29}if(Od(c)&6){var Gn=c.checkFlags,Gi=Gn&1024?8:Gn&256?4:16,tt=Gn&2048?32:0;return Gi|tt}return c.flags&4194304?36:0}e.getDeclarationModifierFlagsFromSymbol=og;function Pg(c,fe){return c.flags&2097152?fe.getAliasedSymbol(c):c}e.skipAlias=Pg;function Fd(c){return c.exportSymbol?c.exportSymbol.flags|c.flags:c.flags}e.getCombinedLocalAndExportSymbolFlags=Fd;function Ym(c){return kl(c)===1}e.isWriteOnlyAccess=Ym;function Md(c){return kl(c)!==0}e.isWriteAccess=Md;var mu;(function(c){c[c.Read=0]="Read",c[c.Write=1]="Write",c[c.ReadWrite=2]="ReadWrite"})(mu||(mu={}));function kl(c){var fe=c.parent;if(!fe)return 0;switch(fe.kind){case 214:return kl(fe);case 222:case 221:var lr=fe.operator;return lr===45||lr===46?ut():0;case 223:var Kr=fe,Gn=Kr.left,Gi=Kr.operatorToken;return Gn===c&&Wl(Gi.kind)?Gi.kind===63?1:ut():0;case 208:return fe.name!==c?0:kl(fe);case 299:{var tt=kl(fe.parent);return c===fe.name?nm(tt):tt}case 300:return c===fe.objectAssignmentInitializer?0:kl(fe.parent);case 206:return kl(fe);default:return 0}function ut(){return fe.parent&&Fn(fe.parent).kind===241?1:2}}function nm(c){switch(c){case 0:return 1;case 1:return 0;case 2:return 2;default:return e.Debug.assertNever(c)}}function h_(c,fe){if(!c||!fe||Object.keys(c).length!==Object.keys(fe).length)return!1;for(var lr in c)if(typeof c[lr]=="object"){if(!h_(c[lr],fe[lr]))return!1}else if(typeof c[lr]!="function"&&c[lr]!==fe[lr])return!1;return!0}e.compareDataObjects=h_;function sg(c,fe){c.forEach(fe),c.clear()}e.clearMap=sg;function im(c,fe,lr){var Kr=lr.onDeleteValue,Gn=lr.onExistingValue;c.forEach(function(Gi,tt){var ut=fe.get(tt);ut===void 0?(c.delete(tt),Kr(Gi,tt)):Gn&&Gn(Gi,ut,tt)})}e.mutateMapSkippingNewValues=im;function Zm(c,fe,lr){im(c,fe,lr);var Kr=lr.createNewValue;fe.forEach(function(Gn,Gi){c.has(Gi)||c.set(Gi,Kr(Gi,Gn))})}e.mutateMap=Zm;function Ig(c){if(c.flags&32){var fe=Ld(c);return!!fe&&Js(fe,256)}return!1}e.isAbstractConstructorSymbol=Ig;function Ld(c){var fe;return(fe=c.declarations)===null||fe===void 0?void 0:fe.find(e.isClassLike)}e.getClassLikeDeclarationOfSymbol=Ld;function Rd(c){return c.flags&3899393?c.objectFlags:0}e.getObjectFlags=Rd;function wg(c,fe){return fe.getSignaturesOfType(c,0).length!==0||fe.getSignaturesOfType(c,1).length!==0}e.typeHasCallOrConstructSignatures=wg;function Be(c,fe){return!!e.forEachAncestorDirectory(c,function(lr){return fe(lr)?!0:void 0})}e.forSomeAncestorDirectory=Be;function gr(c){return!!c&&!!c.declarations&&!!c.declarations[0]&&e.isNamespaceExportDeclaration(c.declarations[0])}e.isUMDExportSymbol=gr;function Yr(c){var fe=c.moduleSpecifier;return e.isStringLiteral(fe)?fe.text:Se(fe)}e.showModuleSpecifier=Yr;function mn(c){var fe;return e.forEachChild(c,function(lr){se(lr)&&(fe=lr)},function(lr){for(var Kr=lr.length-1;Kr>=0;Kr--)if(se(lr[Kr])){fe=lr[Kr];break}}),fe}e.getLastChild=mn;function zn(c,fe,lr){return lr===void 0&&(lr=!0),c.has(fe)?!1:(c.set(fe,lr),!0)}e.addToSeen=zn;function ci(c){return e.isClassLike(c)||e.isInterfaceDeclaration(c)||e.isTypeLiteralNode(c)}e.isObjectTypeDeclaration=ci;function at(c){return c>=179&&c<=202||c===131||c===157||c===148||c===160||c===149||c===134||c===152||c===153||c===114||c===155||c===144||c===230||c===315||c===316||c===317||c===318||c===319||c===320||c===321}e.isTypeNodeKind=at;function vt(c){return c.kind===208||c.kind===209}e.isAccessExpression=vt;function St(c){return c.kind===208?c.name:(e.Debug.assert(c.kind===209),c.argumentExpression)}e.getNameOfAccessExpression=St;function Rt(c){switch(c.kind){case"text":case"internal":return!0;default:return!1}}e.isBundleFileTextLike=Rt;function Fa(c){return c.kind===272||c.kind===276}e.isNamedImportsOrExports=Fa;function Co(c){for(;vt(c);)c=c.expression;return c}e.getLeftmostAccessExpression=Co;function ho(c,fe){if(vt(c.parent)&&ql(c))return lr(c.parent);function lr(Kr){if(Kr.kind===208){var Gn=fe(Kr.name);if(Gn!==void 0)return Gn}else if(Kr.kind===209)if(e.isIdentifier(Kr.argumentExpression)||e.isStringLiteralLike(Kr.argumentExpression)){var Gn=fe(Kr.argumentExpression);if(Gn!==void 0)return Gn}else return;if(vt(Kr.expression))return lr(Kr.expression);if(e.isIdentifier(Kr.expression))return fe(Kr.expression)}}e.forEachNameInAccessChainWalkingLeft=ho;function Mo(c,fe){for(;;){switch(c.kind){case 222:c=c.operand;continue;case 223:c=c.left;continue;case 224:c=c.condition;continue;case 212:c=c.tag;continue;case 210:if(fe)return c;case 231:case 209:case 208:case 232:case 353:case 235:c=c.expression;continue}return c}}e.getLeftmostExpression=Mo;function As(c,fe){this.flags=c,this.escapedName=fe,this.declarations=void 0,this.valueDeclaration=void 0,this.id=void 0,this.mergeId=void 0,this.parent=void 0}function Sc(c,fe){this.flags=fe,(e.Debug.isDebugging||e.tracing)&&(this.checker=c)}function as(c,fe){this.flags=fe,e.Debug.isDebugging&&(this.checker=c)}function xu(c,fe,lr){this.pos=fe,this.end=lr,this.kind=c,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0}function Yc(c,fe,lr){this.pos=fe,this.end=lr,this.kind=c,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0}function Xs(c,fe,lr){this.pos=fe,this.end=lr,this.kind=c,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.flowNode=void 0}function Fc(c,fe,lr){this.fileName=c,this.text=fe,this.skipTrivia=lr||function(Kr){return Kr}}e.objectAllocator={getNodeConstructor:function(){return xu},getTokenConstructor:function(){return Yc},getIdentifierConstructor:function(){return Xs},getPrivateIdentifierConstructor:function(){return xu},getSourceFileConstructor:function(){return xu},getSymbolConstructor:function(){return As},getTypeConstructor:function(){return Sc},getSignatureConstructor:function(){return as},getSourceMapSourceConstructor:function(){return Fc}};function gl(c){Object.assign(e.objectAllocator,c)}e.setObjectAllocator=gl;function y_(c,fe,lr){return lr===void 0&&(lr=0),c.replace(/{(\d+)}/g,function(Kr,Gn){return""+e.Debug.checkDefined(fe[+Gn+lr])})}e.formatStringFromArgs=y_;var zs;function m(c){zs=c}e.setLocalizedDiagnosticMessages=m;function H(c){!zs&&c&&(zs=c())}e.maybeSetLocalizedDiagnosticMessages=H;function he(c){return zs&&zs[c.key]||c.message}e.getLocaleSpecificMessage=he;function nr(c,fe,lr,Kr){Dr(void 0,fe,lr);var Gn=he(Kr);return arguments.length>4&&(Gn=y_(Gn,arguments,4)),{file:void 0,start:fe,length:lr,messageText:Gn,category:Kr.category,code:Kr.code,reportsUnnecessary:Kr.reportsUnnecessary,fileName:c}}e.createDetachedDiagnostic=nr;function Zr(c){return c.file===void 0&&c.start!==void 0&&c.length!==void 0&&typeof c.fileName=="string"}function oi(c,fe){var lr=fe.fileName||"",Kr=fe.text.length;e.Debug.assertEqual(c.fileName,lr),e.Debug.assertLessThanOrEqual(c.start,Kr),e.Debug.assertLessThanOrEqual(c.start+c.length,Kr);var Gn={file:fe,start:c.start,length:c.length,messageText:c.messageText,category:c.category,code:c.code,reportsUnnecessary:c.reportsUnnecessary};if(c.relatedInformation){Gn.relatedInformation=[];for(var Gi=0,tt=c.relatedInformation;Gi4&&(Gn=y_(Gn,arguments,4)),{file:c,start:fe,length:lr,messageText:Gn,category:Kr.category,code:Kr.code,reportsUnnecessary:Kr.reportsUnnecessary,reportsDeprecated:Kr.reportsDeprecated}}e.createFileDiagnostic=ja;function js(c,fe){var lr=he(fe);return arguments.length>2&&(lr=y_(lr,arguments,2)),lr}e.formatMessage=js;function Li(c){var fe=he(c);return arguments.length>1&&(fe=y_(fe,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:fe,category:c.category,code:c.code,reportsUnnecessary:c.reportsUnnecessary,reportsDeprecated:c.reportsDeprecated}}e.createCompilerDiagnostic=Li;function $u(c,fe){return{file:void 0,start:void 0,length:void 0,code:c.code,category:c.category,messageText:c.next?c:c.messageText,relatedInformation:fe}}e.createCompilerDiagnosticFromMessageChain=$u;function Cu(c,fe){var lr=he(fe);return arguments.length>2&&(lr=y_(lr,arguments,2)),{messageText:lr,category:fe.category,code:fe.code,next:c===void 0||Array.isArray(c)?c:[c]}}e.chainDiagnosticMessages=Cu;function Vf(c,fe){for(var lr=c;lr.next;)lr=lr.next[0];lr.next=[fe]}e.concatenateDiagnosticMessageChains=Vf;function qf(c){return c.file?c.file.path:void 0}function tm(c,fe){return Bd(c,fe)||ev(c,fe)||0}e.compareDiagnostics=tm;function Bd(c,fe){return e.compareStringsCaseSensitive(qf(c),qf(fe))||e.compareValues(c.start,fe.start)||e.compareValues(c.length,fe.length)||e.compareValues(c.code,fe.code)||Ef(c.messageText,fe.messageText)||0}e.compareDiagnosticsSkipRelatedInformation=Bd;function ev(c,fe){return!c.relatedInformation&&!fe.relatedInformation?0:c.relatedInformation&&fe.relatedInformation?e.compareValues(c.relatedInformation.length,fe.relatedInformation.length)||e.forEach(c.relatedInformation,function(lr,Kr){var Gn=fe.relatedInformation[Kr];return tm(lr,Gn)})||0:c.relatedInformation?-1:1}function Ef(c,fe){if(typeof c=="string"&&typeof fe=="string")return e.compareStringsCaseSensitive(c,fe);if(typeof c=="string")return-1;if(typeof fe=="string")return 1;var lr=e.compareStringsCaseSensitive(c.messageText,fe.messageText);if(lr)return lr;if(!c.next&&!fe.next)return 0;if(!c.next)return-1;if(!fe.next)return 1;for(var Kr=Math.min(c.next.length,fe.next.length),Gn=0;Gnfe.next.length?1:0}function ry(c){return c===4||c===2||c===1||c===6?1:0}e.getLanguageVariant=ry;function am(c){if(c.transformFlags&2)return e.isJsxOpeningLikeElement(c)||e.isJsxFragment(c)?c:e.forEachChild(c,am)}function om(c){return c.isDeclarationFile?void 0:am(c)}function sm(c){return(c.impliedNodeFormat===e.ModuleKind.ESNext||e.fileExtensionIsOneOf(c.fileName,[".cjs",".cts",".mjs",".mts"]))&&!c.isDeclarationFile?!0:void 0}function rv(c){switch(nv(c)){case e.ModuleDetectionKind.Force:return function(Gn){Gn.externalModuleIndicator=e.isFileProbablyExternalModule(Gn)||!Gn.isDeclarationFile||void 0};case e.ModuleDetectionKind.Legacy:return function(Gn){Gn.externalModuleIndicator=e.isFileProbablyExternalModule(Gn)};case e.ModuleDetectionKind.Auto:var fe=[e.isFileProbablyExternalModule];(c.jsx===4||c.jsx===5)&&fe.push(om),fe.push(sm);var lr=e.or.apply(void 0,fe),Kr=function(Gn){return void(Gn.externalModuleIndicator=lr(Gn))};return Kr}}e.getSetExternalModuleIndicator=rv;function Og(c){return c.target||c.module===e.ModuleKind.Node16&&9||c.module===e.ModuleKind.NodeNext&&99||0}e.getEmitScriptTarget=Og;function fc(c){return typeof c.module=="number"?c.module:Og(c)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}e.getEmitModuleKind=fc;function ny(c){var fe=c.moduleResolution;if(fe===void 0)switch(fc(c)){case e.ModuleKind.CommonJS:fe=e.ModuleResolutionKind.NodeJs;break;case e.ModuleKind.Node16:fe=e.ModuleResolutionKind.Node16;break;case e.ModuleKind.NodeNext:fe=e.ModuleResolutionKind.NodeNext;break;default:fe=e.ModuleResolutionKind.Classic;break}return fe}e.getEmitModuleResolutionKind=ny;function nv(c){return c.moduleDetection||(fc(c)===e.ModuleKind.Node16||fc(c)===e.ModuleKind.NodeNext?e.ModuleDetectionKind.Force:e.ModuleDetectionKind.Auto)}e.getEmitModuleDetectionKind=nv;function su(c){switch(fc(c)){case e.ModuleKind.CommonJS:case e.ModuleKind.AMD:case e.ModuleKind.ES2015:case e.ModuleKind.ES2020:case e.ModuleKind.ES2022:case e.ModuleKind.ESNext:case e.ModuleKind.Node16:case e.ModuleKind.NodeNext:return!0;default:return!1}}e.hasJsonModuleEmitEnabled=su;function iv(c){return c.allowUnreachableCode===!1}e.unreachableCodeIsError=iv;function iy(c){return c.allowUnusedLabels===!1}e.unusedLabelIsError=iy;function ty(c){return!!(cm(c)&&c.declarationMap)}e.getAreDeclarationMapsEnabled=ty;function cg(c){if(c.esModuleInterop!==void 0)return c.esModuleInterop;switch(fc(c)){case e.ModuleKind.Node16:case e.ModuleKind.NodeNext:return!0}}e.getESModuleInterop=cg;function ay(c){var fe=fc(c);return c.allowSyntheticDefaultImports!==void 0?c.allowSyntheticDefaultImports:cg(c)||fe===e.ModuleKind.System}e.getAllowSyntheticDefaultImports=ay;function cm(c){return!!(c.declaration||c.composite)}e.getEmitDeclarations=cm;function vu(c){return!!(c.preserveConstEnums||c.isolatedModules)}e.shouldPreserveConstEnums=vu;function Yv(c){return!!(c.incremental||c.composite)}e.isIncrementalCompilation=Yv;function Fg(c,fe){return c[fe]===void 0?!!c.strict:!!c[fe]}e.getStrictOptionValue=Fg;function tv(c){return c.allowJs===void 0?!!c.checkJs:c.allowJs}e.getAllowJSCompilerOption=tv;function D_(c){return c.useDefineForClassFields===void 0?Og(c)>=9:c.useDefineForClassFields}e.getUseDefineForClassFields=D_;function um(c,fe){return v(fe,c,e.semanticDiagnosticsOptionDeclarations)}e.compilerOptionsAffectSemanticDiagnostics=um;function Q_(c,fe){return v(fe,c,e.affectsEmitOptionDeclarations)}e.compilerOptionsAffectEmit=Q_;function Pi(c,fe){return v(fe,c,e.affectsDeclarationPathOptionDeclarations)}e.compilerOptionsAffectDeclarationPath=Pi;function kt(c,fe){return fe.strictFlag?Fg(c,fe.name):c[fe.name]}e.getCompilerOptionValue=kt;function wt(c){var fe=c.jsx;return fe===2||fe===4||fe===5}e.getJSXTransformEnabled=wt;function it(c,fe){var lr=fe==null?void 0:fe.pragmas.get("jsximportsource"),Kr=e.isArray(lr)?lr[lr.length-1]:lr;return c.jsx===4||c.jsx===5||c.jsxImportSource||Kr?(Kr==null?void 0:Kr.arguments.factory)||c.jsxImportSource||"react":void 0}e.getJSXImplicitImportBase=it;function va(c,fe){return c?"".concat(c,"/").concat(fe.jsx===5?"jsx-dev-runtime":"jsx-runtime"):void 0}e.getJSXRuntimeImport=va;function Za(c){for(var fe=!1,lr=0;lr=2&&Gi.length>=2&&!Lc(Gn[Gn.length-2],Kr)&&!Lc(Gi[Gi.length-2],Kr)&&Kr(Gn[Gn.length-1])===Kr(Gi[Gi.length-1]);)Gn.pop(),Gi.pop(),tt=!0;return tt?[e.getPathFromPathComponents(Gn),e.getPathFromPathComponents(Gi)]:void 0}function Lc(c,fe){return c!==void 0&&(fe(c)==="node_modules"||e.startsWith(c,"@"))}function Qu(c){return e.isAnyDirectorySeparator(c.charCodeAt(0))?c.slice(1):void 0}function cu(c,fe,lr){var Kr=e.tryRemovePrefix(c,fe,lr);return Kr===void 0?void 0:Qu(Kr)}e.tryRemoveDirectoryPrefix=cu;var Kl=/[^\w\s\/]/g;function hp(c){return c.replace(Kl,ug)}e.regExpEscape=hp;function ug(c){return"\\"+c}var Eu=[42,63];e.commonPackageFolders=["node_modules","bower_components","jspm_packages"];var Jd="(?!(".concat(e.commonPackageFolders.join("|"),")(/|$))"),yp={singleAsteriskRegexFragment:"([^./]|(\\.(?!min\\.js$))?)*",doubleAsteriskRegexFragment:"(/".concat(Jd,"[^/.][^/]*)*?"),replaceWildcardCharacter:function(c){return fm(c,yp.singleAsteriskRegexFragment)}},lm={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:"(/".concat(Jd,"[^/.][^/]*)*?"),replaceWildcardCharacter:function(c){return fm(c,lm.singleAsteriskRegexFragment)}},lg={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:"(/.+?)?",replaceWildcardCharacter:function(c){return fm(c,lg.singleAsteriskRegexFragment)}},R0={files:yp,directories:lm,exclude:lg};function Tu(c,fe,lr){var Kr=oy(c,fe,lr);if(!(!Kr||!Kr.length)){var Gn=Kr.map(function(tt){return"(".concat(tt,")")}).join("|"),Gi=lr==="exclude"?"($|/)":"$";return"^(".concat(Gn,")").concat(Gi)}}e.getRegularExpressionForWildcard=Tu;function oy(c,fe,lr){if(!(c===void 0||c.length===0))return e.flatMap(c,function(Kr){return Kr&&Tf(Kr,fe,lr,R0[lr])})}e.getRegularExpressionsForWildcards=oy;function sy(c){return!/[.*?]/.test(c)}e.isImplicitGlob=sy;function cy(c,fe,lr){var Kr=c&&Tf(c,fe,lr,R0[lr]);return Kr&&"^(".concat(Kr,")").concat(lr==="exclude"?"($|/)":"$")}e.getPatternFromSpec=cy;function Tf(c,fe,lr,Kr){var Gn=Kr.singleAsteriskRegexFragment,Gi=Kr.doubleAsteriskRegexFragment,tt=Kr.replaceWildcardCharacter,ut="",Da=!1,aa=e.getNormalizedPathComponents(c,fe),Fo=e.last(aa);if(!(lr!=="exclude"&&Fo==="**")){aa[0]=e.removeTrailingDirectorySeparator(aa[0]),sy(Fo)&&aa.push("**","*");for(var os=0,ac=0,Yt=aa;ac0;)ut+=")?",os--;return ut}}function fm(c,fe){return c==="*"?fe:c==="?"?"[^/]":"\\"+c}function Zc(c,fe,lr,Kr,Gn){c=e.normalizePath(c),Gn=e.normalizePath(Gn);var Gi=e.combinePaths(Gn,c);return{includeFilePatterns:e.map(oy(lr,Gi,"files"),function(tt){return"^".concat(tt,"$")}),includeFilePattern:Tu(lr,Gi,"files"),includeDirectoryPattern:Tu(lr,Gi,"directories"),excludePattern:Tu(fe,Gi,"exclude"),basePaths:TD(c,lr,Kr)}}e.getFileMatcherPatterns=Zc;function av(c,fe){return new RegExp(c,fe?"":"i")}e.getRegexFromPattern=av;function ED(c,fe,lr,Kr,Gn,Gi,tt,ut,Da){c=e.normalizePath(c),Gi=e.normalizePath(Gi);for(var aa=Zc(c,lr,Kr,Gn,Gi),Fo=aa.includeFilePatterns&&aa.includeFilePatterns.map(function(xs){return av(xs,Gn)}),os=aa.includeDirectoryPattern&&av(aa.includeDirectoryPattern,Gn),ac=aa.excludePattern&&av(aa.excludePattern,Gn),Yt=Fo?Fo.map(function(){return[]}):[[]],Ns=new e.Map,da=e.createGetCanonicalFileName(Gn),bs=0,Al=aa.basePaths;bs=0)}e.positionIsSynthesized=dm;function V0(c){return c===".ts"||c===".tsx"||c===".d.ts"||c===".cts"||c===".mts"||c===".d.mts"||c===".d.cts"}e.extensionIsTS=V0;function OD(c){return V0(c)||c===".json"}e.resolutionExtensionIsTSOrJson=OD;function sv(c){var fe=cv(c);return fe!==void 0?fe:e.Debug.fail("File ".concat(c," has unknown extension."))}e.extensionFromPath=sv;function py(c){return cv(c)!==void 0}e.isAnySupportedFileExtension=py;function cv(c){return e.find(fy,function(fe){return e.fileExtensionIs(c,fe)})}e.tryGetExtensionFromPath=cv;function FD(c,fe){return c.checkJsDirective?c.checkJsDirective.enabled:fe.checkJs}e.isCheckJsEnabledForFile=FD,e.emptyFileSystemEntries={files:e.emptyArray,directories:e.emptyArray};function MD(c,fe){for(var lr=[],Kr=0,Gn=c;KrKr&&(Kr=Gi)}return{min:lr,max:Kr}}e.minAndMax=Hf;function Ql(c){return{pos:$(c),end:c.end}}e.rangeOfNode=Ql;function q0(c,fe){var lr=fe.pos-1,Kr=e.skipTrivia(c.text,fe.end)+1;return{pos:lr,end:Kr}}e.rangeOfTypeParameters=q0;function pm(c,fe,lr){return fe.skipLibCheck&&c.isDeclarationFile||fe.skipDefaultLibCheck&&c.hasNoDefaultLib||lr.isSourceOfProjectReferenceRedirect(c.fileName)}e.skipTypeChecking=pm;function bp(c,fe){return c===fe||typeof c=="object"&&c!==null&&typeof fe=="object"&&fe!==null&&e.equalOwnProperties(c,fe,bp)}e.isJsonEqual=bp;function ml(c){var fe;switch(c.charCodeAt(1)){case 98:case 66:fe=1;break;case 111:case 79:fe=3;break;case 120:case 88:fe=4;break;default:for(var lr=c.length-1,Kr=0;c.charCodeAt(Kr)===48;)Kr++;return c.slice(Kr,lr)||"0"}for(var Gn=2,Gi=c.length-1,tt=(Gi-Gn)*fe,ut=new Uint16Array((tt>>>4)+(tt&15?1:0)),Da=Gi-1,aa=0;Da>=Gn;Da--,aa+=fe){var Fo=aa>>>4,os=c.charCodeAt(Da),ac=os<=57?os-48:10+os-(os<=70?65:97),Yt=ac<<(aa&15);ut[Fo]|=Yt;var Ns=Yt>>>16;Ns&&(ut[Fo+1]|=Ns)}for(var da="",bs=ut.length-1,Al=!0;Al;){var Xl=0;Al=!1;for(var Fo=bs;Fo>=0;Fo--){var Mg=Xl<<16|ut[Fo],xs=Mg/10|0;ut[Fo]=xs,Xl=Mg-xs*10,xs&&!Al&&(bs=Fo,Al=!0)}da=Xl+da}return da}e.parsePseudoBigInt=ml;function H0(c){var fe=c.negative,lr=c.base10Value;return(fe&&lr!=="0"?"-":"")+lr}e.pseudoBigIntToString=H0;function gy(c){return!!(c.flags&16777216)||wn(c)||Bu(c)||eu(c)||!(tn(c)||LD(c))}e.isValidTypeOnlyAliasUseSite=gy;function LD(c){return e.isIdentifier(c)&&e.isShorthandPropertyAssignment(c.parent)&&c.parent.name===c}function eu(c){for(;c.kind===79||c.kind===208;)c=c.parent;if(c.kind!==164)return!1;if(Js(c.parent,256))return!0;var fe=c.parent.parent.kind;return fe===261||fe===184}function Bu(c){if(c.kind!==79)return!1;var fe=e.findAncestor(c.parent,function(lr){switch(lr.kind){case 294:return!0;case 208:case 230:return!1;default:return"quit"}});return(fe==null?void 0:fe.token)===117||(fe==null?void 0:fe.parent.kind)===261}function Gf(c){return e.isTypeReferenceNode(c)&&e.isIdentifier(c.typeName)}e.isIdentifierTypeReference=Gf;function X_(c,fe){if(fe===void 0&&(fe=e.equateValues),c.length<2)return!0;for(var lr=c[0],Kr=1,Gn=c.length;Kr=0?e.factory.createNumericLiteral(+c):e.factory.createStringLiteral(c,!!lr)}e.createPropertyNameNodeForIdentifierOrLiteral=Dy;function jd(c){return!!(c.flags&262144&&c.isThisType)}e.isThisTypeParameter=jd;function WD(c){var fe=0,lr=0,Kr=0,Gn=0,Gi;(function(aa){aa[aa.BeforeNodeModules=0]="BeforeNodeModules",aa[aa.NodeModules=1]="NodeModules",aa[aa.Scope=2]="Scope",aa[aa.PackageContent=3]="PackageContent"})(Gi||(Gi={}));for(var tt=0,ut=0,Da=0;ut>=0;)switch(tt=ut,ut=c.indexOf("/",tt+1),Da){case 0:c.indexOf(e.nodeModulesPathPart,tt)===tt&&(fe=tt,lr=ut,Da=1);break;case 1:case 2:Da===1&&c.charAt(tt+1)==="@"?Da=2:(Kr=ut,Da=3);break;case 3:c.indexOf(e.nodeModulesPathPart,tt)===tt?Da=1:Da=3;break}return Gn=tt,Da>1?{topLevelNodeModulesIndex:fe,topLevelPackageNameIndex:lr,packageRootIndex:Kr,fileNameIndex:Gn}:void 0}e.getNodeModulePathParts=WD;function Q0(c){var fe;return c.kind===343?(fe=c.typeExpression)===null||fe===void 0?void 0:fe.type:c.type}e.getParameterTypeNode=Q0;function X0(c){switch(c.kind){case 165:case 260:case 261:case 262:case 263:case 348:case 341:case 342:return!0;case 270:return c.isTypeOnly;case 273:case 278:return c.parent.parent.isTypeOnly;default:return!1}}e.isTypeDeclaration=X0;function VD(c){return e.isEnumDeclaration(c)||e.isVariableStatement(c)||e.isFunctionDeclaration(c)||e.isClassDeclaration(c)||e.isInterfaceDeclaration(c)||X0(c)||e.isModuleDeclaration(c)&&!vr(c)&&!dr(c)}e.canHaveExportModifier=VD})(fr||(fr={}));var fr;(function(e){function i(){var l,_,h,p,P;return{createBaseSourceFileNode:z,createBaseIdentifierNode:U,createBasePrivateIdentifierNode:g,createBaseTokenNode:v,createBaseNode:Y};function z(ce){return new(P||(P=e.objectAllocator.getSourceFileConstructor()))(ce,-1,-1)}function U(ce){return new(h||(h=e.objectAllocator.getIdentifierConstructor()))(ce,-1,-1)}function g(ce){return new(p||(p=e.objectAllocator.getPrivateIdentifierConstructor()))(ce,-1,-1)}function v(ce){return new(_||(_=e.objectAllocator.getTokenConstructor()))(ce,-1,-1)}function Y(ce){return new(l||(l=e.objectAllocator.getNodeConstructor()))(ce,-1,-1)}}e.createBaseNodeFactory=i})(fr||(fr={}));var fr;(function(e){function i(l){var _,h;return{getParenthesizeLeftSideOfBinaryForOperator:p,getParenthesizeRightSideOfBinaryForOperator:P,parenthesizeLeftSideOfBinary:Y,parenthesizeRightSideOfBinary:ce,parenthesizeExpressionOfComputedPropertyName:Z,parenthesizeConditionOfConditionalExpression:ie,parenthesizeBranchOfConditionalExpression:te,parenthesizeExpressionOfExportDefault:x,parenthesizeExpressionOfNew:J,parenthesizeLeftSideOfAccess:d,parenthesizeOperandOfPostfixUnary:D,parenthesizeOperandOfPrefixUnary:C,parenthesizeExpressionsOfCommaDelimitedList:k,parenthesizeExpressionForDisallowedComma:R,parenthesizeExpressionOfExpressionStatement:M,parenthesizeConciseBodyOfArrowFunction:ge,parenthesizeCheckTypeOfConditionalType:ve,parenthesizeExtendsTypeOfConditionalType:re,parenthesizeConstituentTypesOfUnionType:K,parenthesizeConstituentTypeOfUnionType:N,parenthesizeConstituentTypesOfIntersectionType:b,parenthesizeConstituentTypeOfIntersectionType:q,parenthesizeOperandOfTypeOperator:F,parenthesizeOperandOfReadonlyTypeOperator:Q,parenthesizeNonArrayTypeOfPostfixType:j,parenthesizeElementTypesOfTupleType:I,parenthesizeElementTypeOfTupleType:L,parenthesizeTypeOfOptionalType:ne,parenthesizeTypeArguments:T,parenthesizeLeadingTypeArgument:se};function p(w){_||(_=new e.Map);var A=_.get(w);return A||(A=function(oe){return Y(w,oe)},_.set(w,A)),A}function P(w){h||(h=new e.Map);var A=h.get(w);return A||(A=function(oe){return ce(w,void 0,oe)},h.set(w,A)),A}function z(w,A,oe,W){var u=e.getOperatorPrecedence(223,w),O=e.getOperatorAssociativity(223,w),B=e.skipPartiallyEmittedExpressions(A);if(!oe&&A.kind===216&&u>3)return!0;var G=e.getExpressionPrecedence(B);switch(e.compareValues(G,u)){case-1:return!(!oe&&O===1&&A.kind===226);case 1:return!1;case 0:if(oe)return O===1;if(e.isBinaryExpression(B)&&B.operatorToken.kind===w){if(U(w))return!1;if(w===39){var $=W?g(W):0;if(e.isLiteralKind($)&&$===g(B))return!1}}var me=e.getExpressionAssociativity(B);return me===0}}function U(w){return w===41||w===51||w===50||w===52||w===27}function g(w){if(w=e.skipPartiallyEmittedExpressions(w),e.isLiteralKind(w.kind))return w.kind;if(w.kind===223&&w.operatorToken.kind===39){if(w.cachedLiteralKind!==void 0)return w.cachedLiteralKind;var A=g(w.left),oe=e.isLiteralKind(A)&&A===g(w.right)?A:0;return w.cachedLiteralKind=oe,oe}return 0}function v(w,A,oe,W){var u=e.skipPartiallyEmittedExpressions(A);return u.kind===214?A:z(w,A,oe,W)?l.createParenthesizedExpression(A):A}function Y(w,A){return v(w,A,!0)}function ce(w,A,oe){return v(w,oe,!1,A)}function Z(w){return e.isCommaSequence(w)?l.createParenthesizedExpression(w):w}function ie(w){var A=e.getOperatorPrecedence(224,57),oe=e.skipPartiallyEmittedExpressions(w),W=e.getExpressionPrecedence(oe);return e.compareValues(W,A)!==1?l.createParenthesizedExpression(w):w}function te(w){var A=e.skipPartiallyEmittedExpressions(w);return e.isCommaSequence(A)?l.createParenthesizedExpression(w):w}function x(w){var A=e.skipPartiallyEmittedExpressions(w),oe=e.isCommaSequence(A);if(!oe)switch(e.getLeftmostExpression(A,!1).kind){case 228:case 215:oe=!0}return oe?l.createParenthesizedExpression(w):w}function J(w){var A=e.getLeftmostExpression(w,!0);switch(A.kind){case 210:return l.createParenthesizedExpression(w);case 211:return A.arguments?w:l.createParenthesizedExpression(w)}return d(w)}function d(w,A){var oe=e.skipPartiallyEmittedExpressions(w);return e.isLeftHandSideExpression(oe)&&(oe.kind!==211||oe.arguments)&&(A||!e.isOptionalChain(oe))?w:e.setTextRange(l.createParenthesizedExpression(w),w)}function D(w){return e.isLeftHandSideExpression(w)?w:e.setTextRange(l.createParenthesizedExpression(w),w)}function C(w){return e.isUnaryExpression(w)?w:e.setTextRange(l.createParenthesizedExpression(w),w)}function k(w){var A=e.sameMap(w,R);return e.setTextRange(l.createNodeArray(A,w.hasTrailingComma),w)}function R(w){var A=e.skipPartiallyEmittedExpressions(w),oe=e.getExpressionPrecedence(A),W=e.getOperatorPrecedence(223,27);return oe>W?w:e.setTextRange(l.createParenthesizedExpression(w),w)}function M(w){var A=e.skipPartiallyEmittedExpressions(w);if(e.isCallExpression(A)){var oe=A.expression,W=e.skipPartiallyEmittedExpressions(oe).kind;if(W===215||W===216){var u=l.updateCallExpression(A,e.setTextRange(l.createParenthesizedExpression(oe),oe),A.typeArguments,A.arguments);return l.restoreOuterExpressions(w,u,8)}}var O=e.getLeftmostExpression(A,!1).kind;return O===207||O===215?e.setTextRange(l.createParenthesizedExpression(w),w):w}function ge(w){return!e.isBlock(w)&&(e.isCommaSequence(w)||e.getLeftmostExpression(w,!1).kind===207)?e.setTextRange(l.createParenthesizedExpression(w),w):w}function ve(w){switch(w.kind){case 181:case 182:case 191:return l.createParenthesizedType(w)}return w}function re(w){switch(w.kind){case 191:return l.createParenthesizedType(w)}return w}function N(w){switch(w.kind){case 189:case 190:return l.createParenthesizedType(w)}return ve(w)}function K(w){return l.createNodeArray(e.sameMap(w,N))}function q(w){switch(w.kind){case 189:case 190:return l.createParenthesizedType(w)}return N(w)}function b(w){return l.createNodeArray(e.sameMap(w,q))}function F(w){switch(w.kind){case 190:return l.createParenthesizedType(w)}return q(w)}function Q(w){switch(w.kind){case 195:return l.createParenthesizedType(w)}return F(w)}function j(w){switch(w.kind){case 192:case 195:case 183:return l.createParenthesizedType(w)}return F(w)}function I(w){return l.createNodeArray(e.sameMap(w,L))}function L(w){return V(w)?l.createParenthesizedType(w):w}function V(w){return e.isJSDocNullableType(w)?w.postfix:e.isNamedTupleMember(w)||e.isFunctionTypeNode(w)||e.isConstructorTypeNode(w)||e.isTypeOperatorNode(w)?V(w.type):e.isConditionalTypeNode(w)?V(w.falseType):e.isUnionTypeNode(w)||e.isIntersectionTypeNode(w)?V(e.last(w.types)):e.isInferTypeNode(w)?!!w.typeParameter.constraint&&V(w.typeParameter.constraint):!1}function ne(w){return V(w)?l.createParenthesizedType(w):j(w)}function se(w){return e.isFunctionOrConstructorTypeNode(w)&&w.typeParameters?l.createParenthesizedType(w):w}function De(w,A){return A===0?se(w):w}function T(w){if(e.some(w))return l.createNodeArray(e.sameMap(w,De))}}e.createParenthesizerRules=i,e.nullParenthesizerRules={getParenthesizeLeftSideOfBinaryForOperator:function(l){return e.identity},getParenthesizeRightSideOfBinaryForOperator:function(l){return e.identity},parenthesizeLeftSideOfBinary:function(l,_){return _},parenthesizeRightSideOfBinary:function(l,_,h){return h},parenthesizeExpressionOfComputedPropertyName:e.identity,parenthesizeConditionOfConditionalExpression:e.identity,parenthesizeBranchOfConditionalExpression:e.identity,parenthesizeExpressionOfExportDefault:e.identity,parenthesizeExpressionOfNew:function(l){return e.cast(l,e.isLeftHandSideExpression)},parenthesizeLeftSideOfAccess:function(l){return e.cast(l,e.isLeftHandSideExpression)},parenthesizeOperandOfPostfixUnary:function(l){return e.cast(l,e.isLeftHandSideExpression)},parenthesizeOperandOfPrefixUnary:function(l){return e.cast(l,e.isUnaryExpression)},parenthesizeExpressionsOfCommaDelimitedList:function(l){return e.cast(l,e.isNodeArray)},parenthesizeExpressionForDisallowedComma:e.identity,parenthesizeExpressionOfExpressionStatement:e.identity,parenthesizeConciseBodyOfArrowFunction:e.identity,parenthesizeCheckTypeOfConditionalType:e.identity,parenthesizeExtendsTypeOfConditionalType:e.identity,parenthesizeConstituentTypesOfUnionType:function(l){return e.cast(l,e.isNodeArray)},parenthesizeConstituentTypeOfUnionType:e.identity,parenthesizeConstituentTypesOfIntersectionType:function(l){return e.cast(l,e.isNodeArray)},parenthesizeConstituentTypeOfIntersectionType:e.identity,parenthesizeOperandOfTypeOperator:e.identity,parenthesizeOperandOfReadonlyTypeOperator:e.identity,parenthesizeNonArrayTypeOfPostfixType:e.identity,parenthesizeElementTypesOfTupleType:function(l){return e.cast(l,e.isNodeArray)},parenthesizeElementTypeOfTupleType:e.identity,parenthesizeTypeOfOptionalType:e.identity,parenthesizeTypeArguments:function(l){return l&&e.cast(l,e.isNodeArray)},parenthesizeLeadingTypeArgument:e.identity}})(fr||(fr={}));var fr;(function(e){function i(l){return{convertToFunctionBlock:_,convertToFunctionExpression:h,convertToArrayAssignmentElement:p,convertToObjectAssignmentElement:P,convertToAssignmentPattern:z,convertToObjectAssignmentPattern:U,convertToArrayAssignmentPattern:g,convertToAssignmentElementTarget:v};function _(Y,ce){if(e.isBlock(Y))return Y;var Z=l.createReturnStatement(Y);e.setTextRange(Z,Y);var ie=l.createBlock([Z],ce);return e.setTextRange(ie,Y),ie}function h(Y){if(!Y.body)return e.Debug.fail("Cannot convert a FunctionDeclaration without a body");var ce=l.createFunctionExpression(Y.modifiers,Y.asteriskToken,Y.name,Y.typeParameters,Y.parameters,Y.type,Y.body);return e.setOriginalNode(ce,Y),e.setTextRange(ce,Y),e.getStartsOnNewLine(Y)&&e.setStartsOnNewLine(ce,!0),ce}function p(Y){if(e.isBindingElement(Y)){if(Y.dotDotDotToken)return e.Debug.assertNode(Y.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(l.createSpreadElement(Y.name),Y),Y);var ce=v(Y.name);return Y.initializer?e.setOriginalNode(e.setTextRange(l.createAssignment(ce,Y.initializer),Y),Y):ce}return e.cast(Y,e.isExpression)}function P(Y){if(e.isBindingElement(Y)){if(Y.dotDotDotToken)return e.Debug.assertNode(Y.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(l.createSpreadAssignment(Y.name),Y),Y);if(Y.propertyName){var ce=v(Y.name);return e.setOriginalNode(e.setTextRange(l.createPropertyAssignment(Y.propertyName,Y.initializer?l.createAssignment(ce,Y.initializer):ce),Y),Y)}return e.Debug.assertNode(Y.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(l.createShorthandPropertyAssignment(Y.name,Y.initializer),Y),Y)}return e.cast(Y,e.isObjectLiteralElementLike)}function z(Y){switch(Y.kind){case 204:case 206:return g(Y);case 203:case 207:return U(Y)}}function U(Y){return e.isObjectBindingPattern(Y)?e.setOriginalNode(e.setTextRange(l.createObjectLiteralExpression(e.map(Y.elements,P)),Y),Y):e.cast(Y,e.isObjectLiteralExpression)}function g(Y){return e.isArrayBindingPattern(Y)?e.setOriginalNode(e.setTextRange(l.createArrayLiteralExpression(e.map(Y.elements,p)),Y),Y):e.cast(Y,e.isArrayLiteralExpression)}function v(Y){return e.isBindingPattern(Y)?z(Y):e.cast(Y,e.isExpression)}}e.createNodeConverters=i,e.nullNodeConverters={convertToFunctionBlock:e.notImplemented,convertToFunctionExpression:e.notImplemented,convertToArrayAssignmentElement:e.notImplemented,convertToObjectAssignmentElement:e.notImplemented,convertToAssignmentPattern:e.notImplemented,convertToObjectAssignmentPattern:e.notImplemented,convertToArrayAssignmentPattern:e.notImplemented,convertToAssignmentElementTarget:e.notImplemented}})(fr||(fr={}));var fr;(function(e){var i=0,l;(function(K){K[K.None=0]="None",K[K.NoParenthesizerRules=1]="NoParenthesizerRules",K[K.NoNodeConverters=2]="NoNodeConverters",K[K.NoIndentationOnFreshPropertyAccess=4]="NoIndentationOnFreshPropertyAccess",K[K.NoOriginalNode=8]="NoOriginalNode"})(l=e.NodeFactoryFlags||(e.NodeFactoryFlags={}));function _(K,q){var b=K&8?h:p,F=e.memoize(function(){return K&1?e.nullParenthesizerRules:e.createParenthesizerRules(u)}),Q=e.memoize(function(){return K&2?e.nullNodeConverters:e.createNodeConverters(u)}),j=e.memoizeOne(function(m){return function(H,he){return Ms(H,m,he)}}),I=e.memoizeOne(function(m){return function(H){return Ca(m,H)}}),L=e.memoizeOne(function(m){return function(H){return ys(H,m)}}),V=e.memoizeOne(function(m){return function(){return fp(m)}}),ne=e.memoizeOne(function(m){return function(H){return c_(m,H)}}),se=e.memoizeOne(function(m){return function(H,he){return _p(m,H,he)}}),De=e.memoizeOne(function(m){return function(H,he){return W_(m,H,he)}}),T=e.memoizeOne(function(m){return function(H,he){return Rf(m,H,he)}}),w=e.memoizeOne(function(m){return function(H,he){return Ic(m,H,he)}}),A=e.memoizeOne(function(m){return function(H,he,nr){return Js(m,H,he,nr)}}),oe=e.memoizeOne(function(m){return function(H,he,nr){return xf(m,H,he,nr)}}),W=e.memoizeOne(function(m){return function(H,he,nr,Zr){return q_(m,H,he,nr,Zr)}}),u={get parenthesizer(){return F()},get converters(){return Q()},baseFactory:q,flags:K,createNodeArray:O,createNumericLiteral:Le,createBigIntLiteral:be,createStringLiteral:y,createStringLiteralFromNode:X,createRegularExpressionLiteral:Ae,createLiteralLikeNode:Te,createIdentifier:wr,updateIdentifier:mr,createTempVariable:We,createLoopVariable:a,createUniqueName:qr,getGeneratedNameForNode:ln,createPrivateIdentifier:vr,createUniquePrivateName:jr,getGeneratedPrivateNameForNode:Cr,createToken:Lr,createSuper:pn,createThis:ye,createNull:or,createTrue:Pe,createFalse:Ve,createModifier:Ar,createModifiersFromModifierFlags:ke,createQualifiedName:cr,updateQualifiedName:Mr,createComputedPropertyName:Rr,updateComputedPropertyName:$r,createTypeParameterDeclaration:nn,updateTypeParameterDeclaration:vn,createParameterDeclaration:Fe,updateParameterDeclaration:Ge,createDecorator:xr,updateDecorator:Ur,createPropertySignature:En,updatePropertySignature:Nn,createPropertyDeclaration:fi,updatePropertyDeclaration:Dr,createMethodSignature:Pr,updateMethodSignature:Jr,createMethodDeclaration:sn,updateMethodDeclaration:Ue,createConstructorDeclaration:pe,updateConstructorDeclaration:Xe,createGetAccessorDeclaration:Sr,updateGetAccessorDeclaration:pr,createSetAccessorDeclaration:Vr,updateSetAccessorDeclaration:fn,createCallSignature:Wn,updateCallSignature:bn,createConstructSignature:qn,updateConstructSignature:hn,createIndexSignature:Kn,updateIndexSignature:Ai,createClassStaticBlockDeclaration:Ne,updateClassStaticBlockDeclaration:Ze,createTemplateLiteralTypeSpan:ai,updateTemplateLiteralTypeSpan:Ki,createKeywordTypeNode:Ni,createTypePredicateNode:mi,updateTypePredicateNode:Pn,createTypeReferenceNode:we,updateTypeReferenceNode:Ir,createFunctionTypeNode:Re,updateFunctionTypeNode:yn,createConstructorTypeNode:gn,updateConstructorTypeNode:Dn,createTypeQueryNode:Ke,updateTypeQueryNode:cn,createTypeLiteralNode:Vn,updateTypeLiteralNode:$i,createArrayTypeNode:pt,updateArrayTypeNode:Hi,createTupleTypeNode:Ci,updateTupleTypeNode:Tt,createNamedTupleMember:st,updateNamedTupleMember:Yi,createOptionalTypeNode:ii,updateOptionalTypeNode:qa,createRestTypeNode:za,updateRestTypeNode:Wa,createUnionTypeNode:So,updateUnionTypeNode:Na,createIntersectionTypeNode:qi,updateIntersectionTypeNode:Xi,createConditionalTypeNode:so,updateConditionalTypeNode:po,createInferTypeNode:ws,updateInferTypeNode:uo,createImportTypeNode:is,updateImportTypeNode:No,createParenthesizedType:_r,updateParenthesizedType:Or,createThisTypeNode:hi,createTypeOperatorNode:bt,updateTypeOperatorNode:Mt,createIndexedAccessTypeNode:Ia,updateIndexedAccessTypeNode:qe,createMappedTypeNode:tn,updateMappedTypeNode:An,createLiteralTypeNode:wn,updateLiteralTypeNode:je,createTemplateLiteralType:ns,updateTemplateLiteralType:Yo,createObjectBindingPattern:ur,updateObjectBindingPattern:hr,createArrayBindingPattern:Br,updateArrayBindingPattern:Mn,createBindingElement:di,updateBindingElement:pi,createArrayLiteralExpression:Pt,updateArrayLiteralExpression:Gt,createObjectLiteralExpression:fa,updateObjectLiteralExpression:ia,createPropertyAccessExpression:K&4?function(m,H){return e.setEmitFlags(wa(m,H),131072)}:wa,updatePropertyAccessExpression:Es,createPropertyAccessChain:K&4?function(m,H,he){return e.setEmitFlags(vs(m,H,he),131072)}:vs,updatePropertyAccessChain:hs,createElementAccessExpression:cc,updateElementAccessExpression:Ps,createElementAccessChain:cs,updateElementAccessChain:mc,createCallExpression:nc,updateCallExpression:vc,createCallChain:Ws,updateCallChain:Ec,createNewExpression:Zo,updateNewExpression:Jc,createTaggedTemplateExpression:Gs,updateTaggedTemplateExpression:uc,createTypeAssertion:Ts,updateTypeAssertion:le,createParenthesizedExpression:Tr,updateParenthesizedExpression:un,createFunctionExpression:ei,updateFunctionExpression:Ii,createArrowFunction:ot,updateArrowFunction:ji,createDeleteExpression:dt,updateDeleteExpression:Kt,createTypeOfExpression:Bt,updateTypeOfExpression:ha,createVoidExpression:He,updateVoidExpression:Cn,createAwaitExpression:Nr,updateAwaitExpression:ma,createPrefixUnaryExpression:Ca,updatePrefixUnaryExpression:lo,createPostfixUnaryExpression:ys,updatePostfixUnaryExpression:hc,createBinaryExpression:Ms,updateBinaryExpression:Ks,createConditionalExpression:ic,updateConditionalExpression:Uc,createTemplateExpression:go,updateTemplateExpression:$s,createTemplateHead:tu,createTemplateMiddle:tl,createTemplateTail:wf,createNoSubstitutionTemplateLiteral:al,createTemplateLiteralLikeNode:Fl,createYieldExpression:Hc,updateYieldExpression:ol,createSpreadElement:Gr,updateSpreadElement:Hr,createClassExpression:Jn,updateClassExpression:ui,createOmittedExpression:yi,createExpressionWithTypeArguments:Ti,updateExpressionWithTypeArguments:ct,createAsExpression:Ji,updateAsExpression:jt,createNonNullExpression:Ea,updateNonNullExpression:Zt,createSatisfiesExpression:Vt,updateSatisfiesExpression:Ga,createNonNullChain:ea,updateNonNullChain:mo,createMetaProperty:xo,updateMetaProperty:Os,createTemplateSpan:Vo,updateTemplateSpan:Ss,createSemicolonClassElement:$o,createBlock:de,updateBlock:sr,createVariableStatement:Er,updateVariableStatement:Fn,createEmptyStatement:Si,createExpressionStatement:mt,updateExpressionStatement:Ut,createIfStatement:_a,updateIfStatement:$a,createDoStatement:io,updateDoStatement:Po,createWhileStatement:Ma,updateWhileStatement:Qa,createForStatement:Go,updateForStatement:qo,createForInStatement:Ds,updateForInStatement:Tc,createForOfStatement:Ls,updateForOfStatement:Ml,createContinueStatement:M_,updateContinueStatement:xl,createBreakStatement:lf,updateBreakStatement:Xr,createReturnStatement:ff,updateReturnStatement:Pu,createWithStatement:_f,updateWithStatement:a_,createSwitchStatement:df,updateSwitchStatement:Ll,createLabeledStatement:ap,updateLabeledStatement:vo,createThrowStatement:dd,updateThrowStatement:Of,createTryStatement:pd,updateTryStatement:o_,createDebuggerStatement:gd,createVariableDeclaration:L_,updateVariableDeclaration:pf,createVariableDeclarationList:fu,updateVariableDeclarationList:md,createFunctionDeclaration:R_,updateFunctionDeclaration:Qt,createClassDeclaration:Iu,updateClassDeclaration:Gc,createInterfaceDeclaration:vd,updateInterfaceDeclaration:Ff,createTypeAliasDeclaration:op,updateTypeAliasDeclaration:us,createEnumDeclaration:ks,updateEnumDeclaration:sl,createModuleDeclaration:Dc,updateModuleDeclaration:$p,createModuleBlock:Rl,updateModuleBlock:kc,createCaseBlock:Qp,updateCaseBlock:sp,createNamespaceExportDeclaration:hd,updateNamespaceExportDeclaration:yd,createImportEqualsDeclaration:Bl,updateImportEqualsDeclaration:Jl,createImportDeclaration:cp,updateImportDeclaration:Yp,createImportClause:J_,updateImportClause:Vu,createAssertClause:gf,updateAssertClause:Dd,createAssertEntry:j_,updateAssertEntry:U_,createImportTypeAssertionContainer:Mf,updateImportTypeAssertionContainer:s_,createNamespaceImport:mf,updateNamespaceImport:bd,createNamespaceExport:vf,updateNamespaceExport:Ac,createNamedImports:cl,updateNamedImports:hf,createImportSpecifier:Sd,updateImportSpecifier:z_,createExportAssignment:wu,updateExportAssignment:Lf,createExportDeclaration:qu,updateExportDeclaration:Hu,createNamedExports:Ou,updateNamedExports:Zp,createExportSpecifier:xd,updateExportSpecifier:lp,createMissingDeclaration:Cd,createExternalModuleReference:Bo,updateExternalModuleReference:yf,get createJSDocAllType(){return V(315)},get createJSDocUnknownType(){return V(316)},get createJSDocNonNullableType(){return De(318)},get updateJSDocNonNullableType(){return T(318)},get createJSDocNullableType(){return De(317)},get updateJSDocNullableType(){return T(317)},get createJSDocOptionalType(){return ne(319)},get updateJSDocOptionalType(){return se(319)},get createJSDocVariadicType(){return ne(321)},get updateJSDocVariadicType(){return se(321)},get createJSDocNamepathType(){return ne(322)},get updateJSDocNamepathType(){return se(322)},createJSDocFunctionType:_s,updateJSDocFunctionType:wi,createJSDocTypeLiteral:Rs,updateJSDocTypeLiteral:$t,createJSDocTypeExpression:Qs,updateJSDocTypeExpression:Ed,createJSDocSignature:Nc,updateJSDocSignature:Ui,createJSDocTemplateTag:Ko,updateJSDocTemplateTag:Pc,createJSDocTypedefTag:Kc,updateJSDocTypedefTag:Td,createJSDocParameterTag:ls,updateJSDocParameterTag:Cl,createJSDocPropertyTag:Bf,updateJSDocPropertyTag:V_,createJSDocCallbackTag:ll,updateJSDocCallbackTag:Bs,createJSDocAugmentsTag:El,updateJSDocAugmentsTag:u_,createJSDocImplementsTag:l_,updateJSDocImplementsTag:Is,createJSDocSeeTag:jl,updateJSDocSeeTag:eg,createJSDocNameReference:Vs,updateJSDocNameReference:Df,createJSDocMemberName:au,updateJSDocMemberName:dp,createJSDocLink:bf,updateJSDocLink:Sf,createJSDocLinkCode:kd,updateJSDocLinkCode:Ul,createJSDocLinkPlain:fl,updateJSDocLinkPlain:Ad,get createJSDocTypeTag(){return oe(346)},get updateJSDocTypeTag(){return W(346)},get createJSDocReturnTag(){return oe(344)},get updateJSDocReturnTag(){return W(344)},get createJSDocThisTag(){return oe(345)},get updateJSDocThisTag(){return W(345)},get createJSDocEnumTag(){return oe(342)},get updateJSDocEnumTag(){return W(342)},get createJSDocAuthorTag(){return w(333)},get updateJSDocAuthorTag(){return A(333)},get createJSDocClassTag(){return w(335)},get updateJSDocClassTag(){return A(335)},get createJSDocPublicTag(){return w(336)},get updateJSDocPublicTag(){return A(336)},get createJSDocPrivateTag(){return w(337)},get updateJSDocPrivateTag(){return A(337)},get createJSDocProtectedTag(){return w(338)},get updateJSDocProtectedTag(){return A(338)},get createJSDocReadonlyTag(){return w(339)},get updateJSDocReadonlyTag(){return A(339)},get createJSDocOverrideTag(){return w(340)},get updateJSDocOverrideTag(){return A(340)},get createJSDocDeprecatedTag(){return w(334)},get updateJSDocDeprecatedTag(){return A(334)},createJSDocUnknownTag:Ya,updateJSDocUnknownTag:Wi,createJSDocText:wc,updateJSDocText:Ag,createJSDocComment:f_,updateJSDocComment:Cf,createJsxElement:Tl,updateJsxElement:__,createJsxSelfClosingElement:Fu,updateJsxSelfClosingElement:_l,createJsxOpeningElement:zl,updateJsxOpeningElement:Jf,createJsxClosingElement:$c,updateJsxClosingElement:rg,createJsxFragment:Io,createJsxText:jf,updateJsxText:pu,createJsxOpeningFragment:Uf,createJsxJsxClosingFragment:d_,updateJsxFragment:Qc,createJsxAttribute:Wl,updateJsxAttribute:ng,createJsxAttributes:Xc,updateJsxAttributes:ts,createJsxSpreadAttribute:pp,updateJsxSpreadAttribute:p_,createJsxExpression:gu,updateJsxExpression:Du,createCaseClause:H_,updateCaseClause:Nd,createDefaultClause:zf,updateDefaultClause:Vl,createHeritageClause:Mu,updateHeritageClause:ig,createCatchClause:ql,updateCatchClause:dl,createPropertyAssignment:g_,updatePropertyAssignment:tg,createShorthandPropertyAssignment:Pd,updateShorthandPropertyAssignment:Ng,createSpreadAssignment:ou,updateSpreadAssignment:Oi,createEnumMember:Hl,updateEnumMember:Id,createSourceFile:pl,updateSourceFile:wd,createBundle:gp,updateBundle:bc,createUnparsedSource:G_,createUnparsedPrologue:K_,createUnparsedPrepend:ag,createUnparsedTextLike:v_,createUnparsedSyntheticReference:E,createInputFiles:$e,createSyntheticExpression:_n,createSyntaxList:Xn,createNotEmittedStatement:et,createPartiallyEmittedExpression:At,updatePartiallyEmittedExpression:Lt,createCommaListExpression:Va,updateCommaListExpression:jo,createEndOfDeclarationMarker:Pa,createMergeDeclarationMarker:Oc,createSyntheticReferenceExpression:Ja,updateSyntheticReferenceExpression:ua,cloneNode:zc,get createComma(){return j(27)},get createAssignment(){return j(63)},get createLogicalOr(){return j(56)},get createLogicalAnd(){return j(55)},get createBitwiseOr(){return j(51)},get createBitwiseXor(){return j(52)},get createBitwiseAnd(){return j(50)},get createStrictEquality(){return j(36)},get createStrictInequality(){return j(37)},get createEquality(){return j(34)},get createInequality(){return j(35)},get createLessThan(){return j(29)},get createLessThanEquals(){return j(32)},get createGreaterThan(){return j(31)},get createGreaterThanEquals(){return j(33)},get createLeftShift(){return j(47)},get createRightShift(){return j(48)},get createUnsignedRightShift(){return j(49)},get createAdd(){return j(39)},get createSubtract(){return j(40)},get createMultiply(){return j(41)},get createDivide(){return j(43)},get createModulo(){return j(44)},get createExponent(){return j(42)},get createPrefixPlus(){return I(39)},get createPrefixMinus(){return I(40)},get createPrefixIncrement(){return I(45)},get createPrefixDecrement(){return I(46)},get createBitwiseNot(){return I(54)},get createLogicalNot(){return I(53)},get createPostfixIncrement(){return L(45)},get createPostfixDecrement(){return L(46)},createImmediatelyInvokedFunctionExpression:Su,createImmediatelyInvokedArrowFunction:Wf,createVoidZero:Lu,createExportDefault:$_,createExternalModuleExport:mp,createTypeCheck:vp,createMethodCall:Gl,createGlobalMethodCall:Fd,createFunctionBindCall:Od,createFunctionCallCall:og,createFunctionApplyCall:Pg,createArraySliceCall:Ym,createArrayConcatCall:Md,createObjectDefinePropertyCall:mu,createReflectGetCall:kl,createReflectSetCall:nm,createPropertyDescriptor:sg,createCallBinding:wg,createAssignmentTargetWrapper:Be,inlineExpressions:gr,getInternalName:mn,getLocalName:zn,getExportName:ci,getDeclarationName:at,getNamespaceMemberName:vt,getExternalModuleOrNamespaceExportName:St,restoreOuterExpressions:Ig,restoreEnclosingLabel:Ld,createUseStrictPrologue:Co,copyPrologue:Rt,copyStandardPrologue:ho,copyCustomPrologue:Mo,ensureUseStrict:As,liftToBlock:Sc,mergeLexicalEnvironment:xu,updateModifiers:Yc};return u;function O(m,H){if(m===void 0||m===e.emptyArray)m=[];else if(e.isNodeArray(m)){if(H===void 0||m.hasTrailingComma===H)return m.transformFlags===void 0&&ie(m),e.Debug.attachNodeArrayDebugInfo(m),m;var he=m.slice();return he.pos=m.pos,he.end=m.end,he.hasTrailingComma=H,he.transformFlags=m.transformFlags,e.Debug.attachNodeArrayDebugInfo(he),he}var nr=m.length,Zr=nr>=1&&nr<=4?m.slice():m;return e.setTextRangePosEnd(Zr,-1,-1),Zr.hasTrailingComma=!!H,ie(Zr),e.Debug.attachNodeArrayDebugInfo(Zr),Zr}function B(m){return q.createBaseNode(m)}function G(m){var H=B(m);return H.symbol=void 0,H.localSymbol=void 0,H.locals=void 0,H.nextContainer=void 0,H}function $(m,H,he){var nr=G(m);if(he=Fc(he),nr.name=he,e.canHaveModifiers(nr)&&(nr.modifiers=Xs(H),nr.transformFlags|=Z(nr.modifiers)),he)switch(nr.kind){case 171:case 174:case 175:case 169:case 299:if(e.isIdentifier(he)){nr.transformFlags|=v(he);break}default:nr.transformFlags|=ce(he);break}return nr}function me(m,H,he,nr){var Zr=$(m,H,he);return Zr.typeParameters=Xs(nr),Zr.transformFlags|=Z(Zr.typeParameters),nr&&(Zr.transformFlags|=1),Zr}function ae(m,H,he,nr,Zr,oi){var _t=me(m,H,he,nr);return _t.parameters=O(Zr),_t.type=oi,_t.transformFlags|=Z(_t.parameters)|ce(_t.type),oi&&(_t.transformFlags|=1),_t.typeArguments=void 0,_t}function Me(m,H){return m!==H&&(m.typeArguments=H.typeArguments),b(m,H)}function Oe(m,H,he,nr,Zr,oi,_t){var ja=ae(m,H,he,nr,Zr,oi);return ja.body=_t,ja.transformFlags|=ce(ja.body)&-67108865,_t||(ja.transformFlags|=1),ja}function xe(m,H,he,nr,Zr){var oi=me(m,H,he,nr);return oi.heritageClauses=Xs(Zr),oi.transformFlags|=Z(oi.heritageClauses),oi}function Se(m,H,he,nr,Zr,oi){var _t=xe(m,H,he,nr,Zr);return _t.members=O(oi),_t.transformFlags|=Z(_t.members),_t}function Ce(m,H,he,nr){var Zr=$(m,H,he);return Zr.initializer=nr,Zr.transformFlags|=ce(Zr.initializer),Zr}function ze(m,H,he,nr,Zr){var oi=Ce(m,H,he,Zr);return oi.type=nr,oi.transformFlags|=ce(nr),nr&&(oi.transformFlags|=1),oi}function Ee(m,H){var he=en(m);return he.text=H,he}function Le(m,H){H===void 0&&(H=0);var he=Ee(8,typeof m=="number"?m+"":m);return he.numericLiteralFlags=H,H&384&&(he.transformFlags|=1024),he}function be(m){var H=Ee(9,typeof m=="string"?m:e.pseudoBigIntToString(m)+"n");return H.transformFlags|=4,H}function ue(m,H){var he=Ee(10,m);return he.singleQuote=H,he}function y(m,H,he){var nr=ue(m,H);return nr.hasExtendedUnicodeEscape=he,he&&(nr.transformFlags|=1024),nr}function X(m){var H=ue(e.getTextOfIdentifierOrLiteral(m),void 0);return H.textSourceNode=m,H}function Ae(m){var H=Ee(13,m);return H}function Te(m,H){switch(m){case 8:return Le(H,0);case 9:return be(H);case 10:return y(H,void 0);case 11:return jf(H,!1);case 12:return jf(H,!0);case 13:return Ae(H);case 14:return Fl(m,H,void 0,0)}}function Je(m,H){H===void 0&&m&&(H=e.stringToToken(m)),H===79&&(H=void 0);var he=q.createBaseIdentifierNode(79);return he.originalKeywordKind=H,he.escapedText=e.escapeLeadingUnderscores(m),he}function er(m,H,he,nr){var Zr=Je(m,void 0);return Zr.autoGenerateFlags=H,Zr.autoGenerateId=i,Zr.autoGeneratePrefix=he,Zr.autoGenerateSuffix=nr,i++,Zr}function wr(m,H,he,nr){var Zr=Je(m,he);return H&&(Zr.typeArguments=O(H)),Zr.originalKeywordKind===133&&(Zr.transformFlags|=67108864),nr&&(Zr.hasExtendedUnicodeEscape=nr,Zr.transformFlags|=1024),Zr}function mr(m,H){return m.typeArguments!==H?b(wr(e.idText(m),H),m):m}function We(m,H,he,nr){var Zr=1;H&&(Zr|=8);var oi=er("",Zr,he,nr);return m&&m(oi),oi}function a(m){var H=2;return m&&(H|=8),er("",H,void 0,void 0)}function qr(m,H,he,nr){return H===void 0&&(H=0),e.Debug.assert(!(H&7),"Argument out of range: flags"),e.Debug.assert((H&48)!==32,"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"),er(m,3|H,he,nr)}function ln(m,H,he,nr){H===void 0&&(H=0),e.Debug.assert(!(H&7),"Argument out of range: flags");var Zr=m?e.isMemberName(m)?e.formatGeneratedName(!1,he,m,nr,e.idText):"generated@".concat(e.getNodeId(m)):"";(he||nr)&&(H|=16);var oi=er(Zr,4|H,he,nr);return oi.original=m,oi}function dr(m){var H=q.createBasePrivateIdentifierNode(80);return H.escapedText=e.escapeLeadingUnderscores(m),H.transformFlags|=16777216,H}function vr(m){return e.startsWith(m,"#")||e.Debug.fail("First character of private identifier must be #: "+m),dr(m)}function kr(m,H,he,nr){var Zr=dr(m);return Zr.autoGenerateFlags=H,Zr.autoGenerateId=i,Zr.autoGeneratePrefix=he,Zr.autoGenerateSuffix=nr,i++,Zr}function jr(m,H,he){m&&!e.startsWith(m,"#")&&e.Debug.fail("First character of private identifier must be #: "+m);var nr=8|(m?3:1);return kr(m??"",nr,H,he)}function Cr(m,H,he){var nr=e.isMemberName(m)?e.formatGeneratedName(!0,H,m,he,e.idText):"#generated@".concat(e.getNodeId(m)),Zr=H||he?16:0,oi=kr(nr,4|Zr,H,he);return oi.original=m,oi}function en(m){return q.createBaseTokenNode(m)}function Lr(m){e.Debug.assert(m>=0&&m<=162,"Invalid token"),e.Debug.assert(m<=14||m>=17,"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."),e.Debug.assert(m<=8||m>=14,"Invalid token. Use 'createLiteralLikeNode' to create literals."),e.Debug.assert(m!==79,"Invalid token. Use 'createIdentifier' to create identifiers");var H=en(m),he=0;switch(m){case 132:he=384;break;case 123:case 121:case 122:case 146:case 126:case 136:case 85:case 131:case 148:case 160:case 144:case 149:case 101:case 145:case 161:case 152:case 134:case 153:case 114:case 157:case 155:he=1;break;case 106:he=134218752;break;case 124:he=1024;break;case 127:he=16777216;break;case 108:he=16384;break}return he&&(H.transformFlags|=he),H}function pn(){return Lr(106)}function ye(){return Lr(108)}function or(){return Lr(104)}function Pe(){return Lr(110)}function Ve(){return Lr(95)}function Ar(m){return Lr(m)}function ke(m){var H=[];return m&1&&H.push(Ar(93)),m&2&&H.push(Ar(136)),m&1024&&H.push(Ar(88)),m&2048&&H.push(Ar(85)),m&4&&H.push(Ar(123)),m&8&&H.push(Ar(121)),m&16&&H.push(Ar(122)),m&256&&H.push(Ar(126)),m&32&&H.push(Ar(124)),m&16384&&H.push(Ar(161)),m&64&&H.push(Ar(146)),m&128&&H.push(Ar(127)),m&512&&H.push(Ar(132)),m&32768&&H.push(Ar(101)),m&65536&&H.push(Ar(145)),H.length?H:void 0}function cr(m,H){var he=B(163);return he.left=m,he.right=Fc(H),he.transformFlags|=ce(he.left)|v(he.right),he}function Mr(m,H,he){return m.left!==H||m.right!==he?b(cr(H,he),m):m}function Rr(m){var H=B(164);return H.expression=F().parenthesizeExpressionOfComputedPropertyName(m),H.transformFlags|=ce(H.expression)|1024|131072,H}function $r(m,H){return m.expression!==H?b(Rr(H),m):m}function nn(m,H,he,nr){var Zr=$(165,m,H);return Zr.constraint=he,Zr.default=nr,Zr.transformFlags=1,Zr}function vn(m,H,he,nr,Zr){return m.modifiers!==H||m.name!==he||m.constraint!==nr||m.default!==Zr?b(nn(H,he,nr,Zr),m):m}function Fe(m,H,he,nr,Zr,oi){var _t=ze(166,m,he,Zr,oi&&F().parenthesizeExpressionForDisallowedComma(oi));return _t.dotDotDotToken=H,_t.questionToken=nr,e.isThisIdentifier(_t.name)?_t.transformFlags=1:(_t.transformFlags|=ce(_t.dotDotDotToken)|ce(_t.questionToken),nr&&(_t.transformFlags|=1),e.modifiersToFlags(_t.modifiers)&16476&&(_t.transformFlags|=8192),(oi||H)&&(_t.transformFlags|=1024)),_t}function Ge(m,H,he,nr,Zr,oi,_t){return m.modifiers!==H||m.dotDotDotToken!==he||m.name!==nr||m.questionToken!==Zr||m.type!==oi||m.initializer!==_t?b(Fe(H,he,nr,Zr,oi,_t),m):m}function xr(m){var H=B(167);return H.expression=F().parenthesizeLeftSideOfAccess(m,!1),H.transformFlags|=ce(H.expression)|1|8192|33554432,H}function Ur(m,H){return m.expression!==H?b(xr(H),m):m}function En(m,H,he,nr){var Zr=$(168,m,H);return Zr.type=nr,Zr.questionToken=he,Zr.transformFlags=1,Zr.initializer=void 0,Zr}function Nn(m,H,he,nr,Zr){return m.modifiers!==H||m.name!==he||m.questionToken!==nr||m.type!==Zr?Zn(En(H,he,nr,Zr),m):m}function Zn(m,H){return m!==H&&(m.initializer=H.initializer),b(m,H)}function fi(m,H,he,nr,Zr){var oi=ze(169,m,H,nr,Zr);return oi.questionToken=he&&e.isQuestionToken(he)?he:void 0,oi.exclamationToken=he&&e.isExclamationToken(he)?he:void 0,oi.transformFlags|=ce(oi.questionToken)|ce(oi.exclamationToken)|16777216,(e.isComputedPropertyName(oi.name)||e.hasStaticModifier(oi)&&oi.initializer)&&(oi.transformFlags|=8192),(he||e.modifiersToFlags(oi.modifiers)&2)&&(oi.transformFlags|=1),oi}function Dr(m,H,he,nr,Zr,oi){return m.modifiers!==H||m.name!==he||m.questionToken!==(nr!==void 0&&e.isQuestionToken(nr)?nr:void 0)||m.exclamationToken!==(nr!==void 0&&e.isExclamationToken(nr)?nr:void 0)||m.type!==Zr||m.initializer!==oi?b(fi(H,he,nr,Zr,oi),m):m}function Pr(m,H,he,nr,Zr,oi){var _t=ae(170,m,H,nr,Zr,oi);return _t.questionToken=he,_t.transformFlags=1,_t}function Jr(m,H,he,nr,Zr,oi,_t){return m.modifiers!==H||m.name!==he||m.questionToken!==nr||m.typeParameters!==Zr||m.parameters!==oi||m.type!==_t?Me(Pr(H,he,nr,Zr,oi,_t),m):m}function sn(m,H,he,nr,Zr,oi,_t,ja){var js=Oe(171,m,he,Zr,oi,_t,ja);return js.asteriskToken=H,js.questionToken=nr,js.transformFlags|=ce(js.asteriskToken)|ce(js.questionToken)|1024,nr&&(js.transformFlags|=1),e.modifiersToFlags(js.modifiers)&512?H?js.transformFlags|=128:js.transformFlags|=256:H&&(js.transformFlags|=2048),js.exclamationToken=void 0,js}function Ue(m,H,he,nr,Zr,oi,_t,ja,js){return m.modifiers!==H||m.asteriskToken!==he||m.name!==nr||m.questionToken!==Zr||m.typeParameters!==oi||m.parameters!==_t||m.type!==ja||m.body!==js?br(sn(H,he,nr,Zr,oi,_t,ja,js),m):m}function br(m,H){return m!==H&&(m.exclamationToken=H.exclamationToken),b(m,H)}function Ne(m){var H=me(172,void 0,void 0,void 0);return H.body=m,H.transformFlags=ce(m)|16777216,H.illegalDecorators=void 0,H.modifiers=void 0,H}function Ze(m,H){return m.body!==H?Qe(Ne(H),m):m}function Qe(m,H){return m!==H&&(m.illegalDecorators=H.illegalDecorators,m.modifiers=H.modifiers),b(m,H)}function pe(m,H,he){var nr=Oe(173,m,void 0,void 0,H,void 0,he);return nr.transformFlags|=1024,nr.illegalDecorators=void 0,nr.typeParameters=void 0,nr.type=void 0,nr}function Xe(m,H,he,nr){return m.modifiers!==H||m.parameters!==he||m.body!==nr?ar(pe(H,he,nr),m):m}function ar(m,H){return m!==H&&(m.illegalDecorators=H.illegalDecorators,m.typeParameters=H.typeParameters,m.type=H.type),Me(m,H)}function Sr(m,H,he,nr,Zr){var oi=Oe(174,m,H,void 0,he,nr,Zr);return oi.typeParameters=void 0,oi}function pr(m,H,he,nr,Zr,oi){return m.modifiers!==H||m.name!==he||m.parameters!==nr||m.type!==Zr||m.body!==oi?Fr(Sr(H,he,nr,Zr,oi),m):m}function Fr(m,H){return m!==H&&(m.typeParameters=H.typeParameters),Me(m,H)}function Vr(m,H,he,nr){var Zr=Oe(175,m,H,void 0,he,void 0,nr);return Zr.typeParameters=void 0,Zr.type=void 0,Zr}function fn(m,H,he,nr,Zr){return m.modifiers!==H||m.name!==he||m.parameters!==nr||m.body!==Zr?Wr(Vr(H,he,nr,Zr),m):m}function Wr(m,H){return m!==H&&(m.typeParameters=H.typeParameters,m.type=H.type),Me(m,H)}function Wn(m,H,he){var nr=ae(176,void 0,void 0,m,H,he);return nr.transformFlags=1,nr}function bn(m,H,he,nr){return m.typeParameters!==H||m.parameters!==he||m.type!==nr?Me(Wn(H,he,nr),m):m}function qn(m,H,he){var nr=ae(177,void 0,void 0,m,H,he);return nr.transformFlags=1,nr}function hn(m,H,he,nr){return m.typeParameters!==H||m.parameters!==he||m.type!==nr?Me(qn(H,he,nr),m):m}function Kn(m,H,he){var nr=ae(178,m,void 0,void 0,H,he);return nr.transformFlags=1,nr}function Ai(m,H,he,nr){return m.parameters!==he||m.type!==nr||m.modifiers!==H?Me(Kn(H,he,nr),m):m}function ai(m,H){var he=B(201);return he.type=m,he.literal=H,he.transformFlags=1,he}function Ki(m,H,he){return m.type!==H||m.literal!==he?b(ai(H,he),m):m}function Ni(m){return Lr(m)}function mi(m,H,he){var nr=B(179);return nr.assertsModifier=m,nr.parameterName=Fc(H),nr.type=he,nr.transformFlags=1,nr}function Pn(m,H,he,nr){return m.assertsModifier!==H||m.parameterName!==he||m.type!==nr?b(mi(H,he,nr),m):m}function we(m,H){var he=B(180);return he.typeName=Fc(m),he.typeArguments=H&&F().parenthesizeTypeArguments(O(H)),he.transformFlags=1,he}function Ir(m,H,he){return m.typeName!==H||m.typeArguments!==he?b(we(H,he),m):m}function Re(m,H,he){var nr=ae(181,void 0,void 0,m,H,he);return nr.transformFlags=1,nr.modifiers=void 0,nr}function yn(m,H,he,nr){return m.typeParameters!==H||m.parameters!==he||m.type!==nr?Un(Re(H,he,nr),m):m}function Un(m,H){return m!==H&&(m.modifiers=H.modifiers),Me(m,H)}function gn(){for(var m=[],H=0;H0;default:return!0}}function wg(m,H,he,nr){nr===void 0&&(nr=!1);var Zr=e.skipOuterExpressions(m,15),oi,_t;return e.isSuperProperty(Zr)?(oi=ye(),_t=Zr):e.isSuperKeyword(Zr)?(oi=ye(),_t=he!==void 0&&he<2?e.setTextRange(wr("_super"),Zr):Zr):e.getEmitFlags(Zr)&4096?(oi=Lu(),_t=F().parenthesizeLeftSideOfAccess(Zr,!1)):e.isPropertyAccessExpression(Zr)?Rd(Zr.expression,nr)?(oi=We(H),_t=wa(e.setTextRange(u.createAssignment(oi,Zr.expression),Zr.expression),Zr.name),e.setTextRange(_t,Zr)):(oi=Zr.expression,_t=Zr):e.isElementAccessExpression(Zr)?Rd(Zr.expression,nr)?(oi=We(H),_t=cc(e.setTextRange(u.createAssignment(oi,Zr.expression),Zr.expression),Zr.argumentExpression),e.setTextRange(_t,Zr)):(oi=Zr.expression,_t=Zr):(oi=Lu(),_t=F().parenthesizeLeftSideOfAccess(m,!1)),{target:_t,thisArg:oi}}function Be(m,H){return wa(Tr(fa([Vr(void 0,"value",[Fe(void 0,void 0,m,void 0,void 0,void 0)],de([mt(H)]))])),"value")}function gr(m){return m.length>10?Va(m):e.reduceLeft(m,u.createComma)}function Yr(m,H,he,nr){nr===void 0&&(nr=0);var Zr=e.getNameOfDeclaration(m);if(Zr&&e.isIdentifier(Zr)&&!e.isGeneratedIdentifier(Zr)){var oi=e.setParent(e.setTextRange(zc(Zr),Zr),Zr.parent);return nr|=e.getEmitFlags(Zr),he||(nr|=48),H||(nr|=1536),nr&&e.setEmitFlags(oi,nr),oi}return ln(m)}function mn(m,H,he){return Yr(m,H,he,49152)}function zn(m,H,he){return Yr(m,H,he,16384)}function ci(m,H,he){return Yr(m,H,he,8192)}function at(m,H,he){return Yr(m,H,he)}function vt(m,H,he,nr){var Zr=wa(m,e.nodeIsSynthesized(H)?H:zc(H));e.setTextRange(Zr,H);var oi=0;return nr||(oi|=48),he||(oi|=1536),oi&&e.setEmitFlags(Zr,oi),Zr}function St(m,H,he,nr){return m&&e.hasSyntacticModifier(H,1)?vt(m,Yr(H),he,nr):ci(H,he,nr)}function Rt(m,H,he,nr){var Zr=ho(m,H,0,he);return Mo(m,H,Zr,nr)}function Fa(m){return e.isStringLiteral(m.expression)&&m.expression.text==="use strict"}function Co(){return e.startOnNewLine(mt(y("use strict")))}function ho(m,H,he,nr){he===void 0&&(he=0),e.Debug.assert(H.length===0,"Prologue directives should be at the first statement in the target statements array");for(var Zr=!1,oi=m.length;heja&&Li.splice.apply(Li,Hn([Zr,0],H.slice(ja,js),!1)),ja>_t&&Li.splice.apply(Li,Hn([nr,0],H.slice(_t,ja),!1)),_t>oi&&Li.splice.apply(Li,Hn([he,0],H.slice(oi,_t),!1)),oi>0)if(he===0)Li.splice.apply(Li,Hn([0,0],H.slice(0,oi),!1));else{for(var $u=new e.Map,Cu=0;Cu=0;Cu--){var qf=H[Cu];$u.has(qf.expression.text)||Li.unshift(qf)}}return e.isNodeArray(m)?e.setTextRange(O(Li,m.hasTrailingComma),m):m}function Yc(m,H){var he,nr;return typeof H=="number"?nr=ke(H):nr=H,e.isTypeParameterDeclaration(m)?vn(m,nr,m.name,m.constraint,m.default):e.isParameter(m)?Ge(m,nr,m.dotDotDotToken,m.name,m.questionToken,m.type,m.initializer):e.isConstructorTypeNode(m)?On(m,nr,m.typeParameters,m.parameters,m.type):e.isPropertySignature(m)?Nn(m,nr,m.name,m.questionToken,m.type):e.isPropertyDeclaration(m)?Dr(m,nr,m.name,(he=m.questionToken)!==null&&he!==void 0?he:m.exclamationToken,m.type,m.initializer):e.isMethodSignature(m)?Jr(m,nr,m.name,m.questionToken,m.typeParameters,m.parameters,m.type):e.isMethodDeclaration(m)?Ue(m,nr,m.asteriskToken,m.name,m.questionToken,m.typeParameters,m.parameters,m.type,m.body):e.isConstructorDeclaration(m)?Xe(m,nr,m.parameters,m.body):e.isGetAccessorDeclaration(m)?pr(m,nr,m.name,m.parameters,m.type,m.body):e.isSetAccessorDeclaration(m)?fn(m,nr,m.name,m.parameters,m.body):e.isIndexSignatureDeclaration(m)?Ai(m,nr,m.parameters,m.type):e.isFunctionExpression(m)?Ii(m,nr,m.asteriskToken,m.name,m.typeParameters,m.parameters,m.type,m.body):e.isArrowFunction(m)?ji(m,nr,m.typeParameters,m.parameters,m.type,m.equalsGreaterThanToken,m.body):e.isClassExpression(m)?ui(m,nr,m.name,m.typeParameters,m.heritageClauses,m.members):e.isVariableStatement(m)?Fn(m,nr,m.declarationList):e.isFunctionDeclaration(m)?Qt(m,nr,m.asteriskToken,m.name,m.typeParameters,m.parameters,m.type,m.body):e.isClassDeclaration(m)?Gc(m,nr,m.name,m.typeParameters,m.heritageClauses,m.members):e.isInterfaceDeclaration(m)?Ff(m,nr,m.name,m.typeParameters,m.heritageClauses,m.members):e.isTypeAliasDeclaration(m)?us(m,nr,m.name,m.typeParameters,m.type):e.isEnumDeclaration(m)?sl(m,nr,m.name,m.members):e.isModuleDeclaration(m)?$p(m,nr,m.name,m.body):e.isImportEqualsDeclaration(m)?Jl(m,nr,m.isTypeOnly,m.name,m.moduleReference):e.isImportDeclaration(m)?Yp(m,nr,m.importClause,m.moduleSpecifier,m.assertClause):e.isExportAssignment(m)?Lf(m,nr,m.expression):e.isExportDeclaration(m)?Hu(m,nr,m.isTypeOnly,m.exportClause,m.moduleSpecifier,m.assertClause):e.Debug.assertNever(m)}function Xs(m){return m?O(m):void 0}function Fc(m){return typeof m=="string"?wr(m):m}function gl(m){return typeof m=="string"?y(m):typeof m=="number"?Le(m):typeof m=="boolean"?m?Pe():Ve():m}function y_(m){return typeof m=="number"?Lr(m):m}function zs(m){return m&&e.isNotEmittedStatement(m)?e.setTextRange(ve(Si(),m),m):m}}e.createNodeFactory=_;function h(K,q){return K!==q&&e.setTextRange(K,q),K}function p(K,q){return K!==q&&(ve(K,q),e.setTextRange(K,q)),K}function P(K){switch(K){case 346:return"type";case 344:return"returns";case 345:return"this";case 342:return"enum";case 333:return"author";case 335:return"class";case 336:return"public";case 337:return"private";case 338:return"protected";case 339:return"readonly";case 340:return"override";case 347:return"template";case 348:return"typedef";case 343:return"param";case 350:return"prop";case 341:return"callback";case 331:return"augments";case 332:return"implements";default:return e.Debug.fail("Unsupported kind: ".concat(e.Debug.formatSyntaxKind(K)))}}var z,U={};function g(K,q){switch(z||(z=e.createScanner(99,!1,0)),K){case 14:z.setText("`"+q+"`");break;case 15:z.setText("`"+q+"${");break;case 16:z.setText("}"+q+"${");break;case 17:z.setText("}"+q+"`");break}var b=z.scan();if(b===19&&(b=z.reScanTemplateToken(!1)),z.isUnterminated())return z.setText(void 0),U;var F;switch(b){case 14:case 15:case 16:case 17:F=z.getTokenValue();break}return F===void 0||z.scan()!==1?(z.setText(void 0),U):(z.setText(void 0),F)}function v(K){return ce(K)&-67108865}function Y(K,q){return q|K.transformFlags&134234112}function ce(K){if(!K)return 0;var q=K.transformFlags&~te(K.kind);return e.isNamedDeclaration(K)&&e.isPropertyName(K.name)?Y(K.name,q):q}function Z(K){return K?K.transformFlags:0}function ie(K){for(var q=0,b=0,F=K;b=179&&K<=202)return-2;switch(K){case 210:case 211:case 206:return-2147450880;case 264:return-1941676032;case 166:return-2147483648;case 216:return-2072174592;case 215:case 259:return-1937940480;case 258:return-2146893824;case 260:case 228:return-2147344384;case 173:return-1937948672;case 169:return-2013249536;case 171:case 174:case 175:return-2005057536;case 131:case 148:case 160:case 144:case 152:case 149:case 134:case 153:case 114:case 165:case 168:case 170:case 176:case 177:case 178:case 261:case 262:return-2;case 207:return-2147278848;case 295:return-2147418112;case 203:case 204:return-2147450880;case 213:case 235:case 231:case 353:case 214:case 106:return-2147483648;case 208:case 209:return-2147483648;default:return-2147483648}}e.getTransformFlagsSubtreeExclusions=te;var x=e.createBaseNodeFactory();function J(K){return K.flags|=8,K}var d={createBaseSourceFileNode:function(K){return J(x.createBaseSourceFileNode(K))},createBaseIdentifierNode:function(K){return J(x.createBaseIdentifierNode(K))},createBasePrivateIdentifierNode:function(K){return J(x.createBasePrivateIdentifierNode(K))},createBaseTokenNode:function(K){return J(x.createBaseTokenNode(K))},createBaseNode:function(K){return J(x.createBaseNode(K))}};e.factory=_(4,d);function D(K,q,b){var F,Q,j,I,L,V,ne,se,De,T;e.isString(K)?(j="",I=K,L=K.length,V=q,ne=b):(e.Debug.assert(q==="js"||q==="dts"),j=(q==="js"?K.javascriptPath:K.declarationPath)||"",V=q==="js"?K.javascriptMapPath:K.declarationMapPath,se=function(){return q==="js"?K.javascriptText:K.declarationText},De=function(){return q==="js"?K.javascriptMapText:K.declarationMapText},L=function(){return se().length},K.buildInfo&&K.buildInfo.bundle&&(e.Debug.assert(b===void 0||typeof b=="boolean"),F=b,Q=q==="js"?K.buildInfo.bundle.js:K.buildInfo.bundle.dts,T=K.oldFileOfCurrentEmit));var w=T?k(e.Debug.checkDefined(Q)):C(Q,F,L);return w.fileName=j,w.sourceMapPath=V,w.oldFileOfCurrentEmit=T,se&&De?(Object.defineProperty(w,"text",{get:se}),Object.defineProperty(w,"sourceMapText",{get:De})):(e.Debug.assert(!T),w.text=I??"",w.sourceMapText=ne),w}e.createUnparsedSourceFile=D;function C(K,q,b){for(var F,Q,j,I,L,V,ne,se,De=0,T=K?K.sections:e.emptyArray;De0&&(ne[T-De]=w)}De>0&&(ne.length-=De)}}e.moveEmitHelpers=N;function K(j){var I;return(I=j.emitNode)===null||I===void 0?void 0:I.snippetElement}e.getSnippetElement=K;function q(j,I){var L=i(j);return L.snippetElement=I,j}e.setSnippetElement=q;function b(j){return i(j).flags|=134217728,j}e.ignoreSourceNewlines=b;function F(j,I){var L=i(j);return L.typeNode=I,j}e.setTypeNode=F;function Q(j){var I;return(I=j.emitNode)===null||I===void 0?void 0:I.typeNode}e.getTypeNode=Q})(fr||(fr={}));var fr;(function(e){function i(z){var U=z.factory,g=e.memoize(function(){return e.setEmitFlags(U.createTrue(),268435456)}),v=e.memoize(function(){return e.setEmitFlags(U.createFalse(),268435456)});return{getUnscopedHelperName:Y,createDecorateHelper:ce,createMetadataHelper:Z,createParamHelper:ie,createAssignHelper:te,createAwaitHelper:x,createAsyncGeneratorHelper:J,createAsyncDelegatorHelper:d,createAsyncValuesHelper:D,createRestHelper:C,createAwaiterHelper:k,createExtendsHelper:R,createTemplateObjectHelper:M,createSpreadArrayHelper:ge,createValuesHelper:ve,createReadHelper:re,createGeneratorHelper:N,createCreateBindingHelper:K,createImportStarHelper:q,createImportStarCallbackHelper:b,createImportDefaultHelper:F,createExportStarHelper:Q,createClassPrivateFieldGetHelper:j,createClassPrivateFieldSetHelper:I,createClassPrivateFieldInHelper:L};function Y(V){return e.setEmitFlags(U.createIdentifier(V),4098)}function ce(V,ne,se,De){z.requestEmitHelper(e.decorateHelper);var T=[];return T.push(U.createArrayLiteralExpression(V,!0)),T.push(ne),se&&(T.push(se),De&&T.push(De)),U.createCallExpression(Y("__decorate"),void 0,T)}function Z(V,ne){return z.requestEmitHelper(e.metadataHelper),U.createCallExpression(Y("__metadata"),void 0,[U.createStringLiteral(V),ne])}function ie(V,ne,se){return z.requestEmitHelper(e.paramHelper),e.setTextRange(U.createCallExpression(Y("__param"),void 0,[U.createNumericLiteral(ne+""),V]),se)}function te(V){return e.getEmitScriptTarget(z.getCompilerOptions())>=2?U.createCallExpression(U.createPropertyAccessExpression(U.createIdentifier("Object"),"assign"),void 0,V):(z.requestEmitHelper(e.assignHelper),U.createCallExpression(Y("__assign"),void 0,V))}function x(V){return z.requestEmitHelper(e.awaitHelper),U.createCallExpression(Y("__await"),void 0,[V])}function J(V,ne){return z.requestEmitHelper(e.awaitHelper),z.requestEmitHelper(e.asyncGeneratorHelper),(V.emitNode||(V.emitNode={})).flags|=786432,U.createCallExpression(Y("__asyncGenerator"),void 0,[ne?U.createThis():U.createVoidZero(),U.createIdentifier("arguments"),V])}function d(V){return z.requestEmitHelper(e.awaitHelper),z.requestEmitHelper(e.asyncDelegator),U.createCallExpression(Y("__asyncDelegator"),void 0,[V])}function D(V){return z.requestEmitHelper(e.asyncValues),U.createCallExpression(Y("__asyncValues"),void 0,[V])}function C(V,ne,se,De){z.requestEmitHelper(e.restHelper);for(var T=[],w=0,A=0;A= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + };`},e.metadataHelper={name:"typescript:metadata",importName:"__metadata",scoped:!1,priority:3,text:` + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + };`},e.paramHelper={name:"typescript:param",importName:"__param",scoped:!1,priority:4,text:` + var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + };`},e.assignHelper={name:"typescript:assign",importName:"__assign",scoped:!1,priority:1,text:` + var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + };`},e.awaitHelper={name:"typescript:await",importName:"__await",scoped:!1,text:` + var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }`},e.asyncGeneratorHelper={name:"typescript:asyncGenerator",importName:"__asyncGenerator",scoped:!1,dependencies:[e.awaitHelper],text:` + var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + };`},e.asyncDelegator={name:"typescript:asyncDelegator",importName:"__asyncDelegator",scoped:!1,dependencies:[e.awaitHelper],text:` + var __asyncDelegator = (this && this.__asyncDelegator) || function (o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + };`},e.asyncValues={name:"typescript:asyncValues",importName:"__asyncValues",scoped:!1,text:` + var __asyncValues = (this && this.__asyncValues) || function (o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + };`},e.restHelper={name:"typescript:rest",importName:"__rest",scoped:!1,text:` + var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + };`},e.awaiterHelper={name:"typescript:awaiter",importName:"__awaiter",scoped:!1,priority:5,text:` + var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + };`},e.extendsHelper={name:"typescript:extends",importName:"__extends",scoped:!1,priority:0,text:` + var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })();`},e.templateObjectHelper={name:"typescript:makeTemplateObject",importName:"__makeTemplateObject",scoped:!1,priority:0,text:` + var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + };`},e.readHelper={name:"typescript:read",importName:"__read",scoped:!1,text:` + var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; + };`},e.spreadArrayHelper={name:"typescript:spreadArray",importName:"__spreadArray",scoped:!1,text:` + var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); + };`},e.valuesHelper={name:"typescript:values",importName:"__values",scoped:!1,text:` + var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + };`},e.generatorHelper={name:"typescript:generator",importName:"__generator",scoped:!1,priority:6,text:` + var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + };`},e.createBindingHelper={name:"typescript:commonjscreatebinding",importName:"__createBinding",scoped:!1,priority:1,text:` + var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; + }));`},e.setModuleDefaultHelper={name:"typescript:commonjscreatevalue",importName:"__setModuleDefault",scoped:!1,priority:1,text:` + var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + });`},e.importStarHelper={name:"typescript:commonjsimportstar",importName:"__importStar",scoped:!1,dependencies:[e.createBindingHelper,e.setModuleDefaultHelper],priority:2,text:` + var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; + };`},e.importDefaultHelper={name:"typescript:commonjsimportdefault",importName:"__importDefault",scoped:!1,text:` + var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; + };`},e.exportStarHelper={name:"typescript:export-star",importName:"__exportStar",scoped:!1,dependencies:[e.createBindingHelper],priority:2,text:` + var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + };`},e.classPrivateFieldGetHelper={name:"typescript:classPrivateFieldGet",importName:"__classPrivateFieldGet",scoped:!1,text:` + var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); + };`},e.classPrivateFieldSetHelper={name:"typescript:classPrivateFieldSet",importName:"__classPrivateFieldSet",scoped:!1,text:` + var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; + };`},e.classPrivateFieldInHelper={name:"typescript:classPrivateFieldIn",importName:"__classPrivateFieldIn",scoped:!1,text:` + var __classPrivateFieldIn = (this && this.__classPrivateFieldIn) || function(state, receiver) { + if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); + return typeof state === "function" ? receiver === state : state.has(receiver); + };`};var h;function p(){return h||(h=e.arrayToMap([e.decorateHelper,e.metadataHelper,e.paramHelper,e.assignHelper,e.awaitHelper,e.asyncGeneratorHelper,e.asyncDelegator,e.asyncValues,e.restHelper,e.awaiterHelper,e.extendsHelper,e.templateObjectHelper,e.spreadArrayHelper,e.valuesHelper,e.readHelper,e.generatorHelper,e.importStarHelper,e.importDefaultHelper,e.exportStarHelper,e.classPrivateFieldGetHelper,e.classPrivateFieldSetHelper,e.classPrivateFieldInHelper,e.createBindingHelper,e.setModuleDefaultHelper],function(z){return z.name}))}e.getAllUnscopedEmitHelpers=p,e.asyncSuperHelper={name:"typescript:async-super",scoped:!0,text:_(PI([` + const `," = name => super[name];"],[` + const `," = name => super[name];"]),"_superIndex")},e.advancedAsyncSuperHelper={name:"typescript:advanced-async-super",scoped:!0,text:_(PI([` + const `,` = (function (geti, seti) { + const cache = Object.create(null); + return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } }); + })(name => super[name], (name, value) => super[name] = value);`],[` + const `,` = (function (geti, seti) { + const cache = Object.create(null); + return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } }); + })(name => super[name], (name, value) => super[name] = value);`]),"_superIndex")};function P(z,U){return e.isCallExpression(z)&&e.isIdentifier(z.expression)&&(e.getEmitFlags(z.expression)&4096)!==0&&z.expression.escapedText===U}e.isCallToHelper=P})(fr||(fr={}));var fr;(function(e){function i(Nr){return Nr.kind===8}e.isNumericLiteral=i;function l(Nr){return Nr.kind===9}e.isBigIntLiteral=l;function _(Nr){return Nr.kind===10}e.isStringLiteral=_;function h(Nr){return Nr.kind===11}e.isJsxText=h;function p(Nr){return Nr.kind===13}e.isRegularExpressionLiteral=p;function P(Nr){return Nr.kind===14}e.isNoSubstitutionTemplateLiteral=P;function z(Nr){return Nr.kind===15}e.isTemplateHead=z;function U(Nr){return Nr.kind===16}e.isTemplateMiddle=U;function g(Nr){return Nr.kind===17}e.isTemplateTail=g;function v(Nr){return Nr.kind===25}e.isDotDotDotToken=v;function Y(Nr){return Nr.kind===27}e.isCommaToken=Y;function ce(Nr){return Nr.kind===39}e.isPlusToken=ce;function Z(Nr){return Nr.kind===40}e.isMinusToken=Z;function ie(Nr){return Nr.kind===41}e.isAsteriskToken=ie;function te(Nr){return Nr.kind===53}e.isExclamationToken=te;function x(Nr){return Nr.kind===57}e.isQuestionToken=x;function J(Nr){return Nr.kind===58}e.isColonToken=J;function d(Nr){return Nr.kind===28}e.isQuestionDotToken=d;function D(Nr){return Nr.kind===38}e.isEqualsGreaterThanToken=D;function C(Nr){return Nr.kind===79}e.isIdentifier=C;function k(Nr){return Nr.kind===80}e.isPrivateIdentifier=k;function R(Nr){return Nr.kind===93}e.isExportModifier=R;function M(Nr){return Nr.kind===132}e.isAsyncModifier=M;function ge(Nr){return Nr.kind===129}e.isAssertsKeyword=ge;function ve(Nr){return Nr.kind===133}e.isAwaitKeyword=ve;function re(Nr){return Nr.kind===146}e.isReadonlyKeyword=re;function N(Nr){return Nr.kind===124}e.isStaticModifier=N;function K(Nr){return Nr.kind===126}e.isAbstractModifier=K;function q(Nr){return Nr.kind===161}e.isOverrideModifier=q;function b(Nr){return Nr.kind===127}e.isAccessorModifier=b;function F(Nr){return Nr.kind===106}e.isSuperKeyword=F;function Q(Nr){return Nr.kind===100}e.isImportKeyword=Q;function j(Nr){return Nr.kind===163}e.isQualifiedName=j;function I(Nr){return Nr.kind===164}e.isComputedPropertyName=I;function L(Nr){return Nr.kind===165}e.isTypeParameterDeclaration=L;function V(Nr){return Nr.kind===166}e.isParameter=V;function ne(Nr){return Nr.kind===167}e.isDecorator=ne;function se(Nr){return Nr.kind===168}e.isPropertySignature=se;function De(Nr){return Nr.kind===169}e.isPropertyDeclaration=De;function T(Nr){return Nr.kind===170}e.isMethodSignature=T;function w(Nr){return Nr.kind===171}e.isMethodDeclaration=w;function A(Nr){return Nr.kind===172}e.isClassStaticBlockDeclaration=A;function oe(Nr){return Nr.kind===173}e.isConstructorDeclaration=oe;function W(Nr){return Nr.kind===174}e.isGetAccessorDeclaration=W;function u(Nr){return Nr.kind===175}e.isSetAccessorDeclaration=u;function O(Nr){return Nr.kind===176}e.isCallSignatureDeclaration=O;function B(Nr){return Nr.kind===177}e.isConstructSignatureDeclaration=B;function G(Nr){return Nr.kind===178}e.isIndexSignatureDeclaration=G;function $(Nr){return Nr.kind===179}e.isTypePredicateNode=$;function me(Nr){return Nr.kind===180}e.isTypeReferenceNode=me;function ae(Nr){return Nr.kind===181}e.isFunctionTypeNode=ae;function Me(Nr){return Nr.kind===182}e.isConstructorTypeNode=Me;function Oe(Nr){return Nr.kind===183}e.isTypeQueryNode=Oe;function xe(Nr){return Nr.kind===184}e.isTypeLiteralNode=xe;function Se(Nr){return Nr.kind===185}e.isArrayTypeNode=Se;function Ce(Nr){return Nr.kind===186}e.isTupleTypeNode=Ce;function ze(Nr){return Nr.kind===199}e.isNamedTupleMember=ze;function Ee(Nr){return Nr.kind===187}e.isOptionalTypeNode=Ee;function Le(Nr){return Nr.kind===188}e.isRestTypeNode=Le;function be(Nr){return Nr.kind===189}e.isUnionTypeNode=be;function ue(Nr){return Nr.kind===190}e.isIntersectionTypeNode=ue;function y(Nr){return Nr.kind===191}e.isConditionalTypeNode=y;function X(Nr){return Nr.kind===192}e.isInferTypeNode=X;function Ae(Nr){return Nr.kind===193}e.isParenthesizedTypeNode=Ae;function Te(Nr){return Nr.kind===194}e.isThisTypeNode=Te;function Je(Nr){return Nr.kind===195}e.isTypeOperatorNode=Je;function er(Nr){return Nr.kind===196}e.isIndexedAccessTypeNode=er;function wr(Nr){return Nr.kind===197}e.isMappedTypeNode=wr;function mr(Nr){return Nr.kind===198}e.isLiteralTypeNode=mr;function We(Nr){return Nr.kind===202}e.isImportTypeNode=We;function a(Nr){return Nr.kind===201}e.isTemplateLiteralTypeSpan=a;function qr(Nr){return Nr.kind===200}e.isTemplateLiteralTypeNode=qr;function ln(Nr){return Nr.kind===203}e.isObjectBindingPattern=ln;function dr(Nr){return Nr.kind===204}e.isArrayBindingPattern=dr;function vr(Nr){return Nr.kind===205}e.isBindingElement=vr;function kr(Nr){return Nr.kind===206}e.isArrayLiteralExpression=kr;function jr(Nr){return Nr.kind===207}e.isObjectLiteralExpression=jr;function Cr(Nr){return Nr.kind===208}e.isPropertyAccessExpression=Cr;function en(Nr){return Nr.kind===209}e.isElementAccessExpression=en;function Lr(Nr){return Nr.kind===210}e.isCallExpression=Lr;function pn(Nr){return Nr.kind===211}e.isNewExpression=pn;function ye(Nr){return Nr.kind===212}e.isTaggedTemplateExpression=ye;function or(Nr){return Nr.kind===213}e.isTypeAssertionExpression=or;function Pe(Nr){return Nr.kind===214}e.isParenthesizedExpression=Pe;function Ve(Nr){return Nr.kind===215}e.isFunctionExpression=Ve;function Ar(Nr){return Nr.kind===216}e.isArrowFunction=Ar;function ke(Nr){return Nr.kind===217}e.isDeleteExpression=ke;function cr(Nr){return Nr.kind===218}e.isTypeOfExpression=cr;function Mr(Nr){return Nr.kind===219}e.isVoidExpression=Mr;function Rr(Nr){return Nr.kind===220}e.isAwaitExpression=Rr;function $r(Nr){return Nr.kind===221}e.isPrefixUnaryExpression=$r;function nn(Nr){return Nr.kind===222}e.isPostfixUnaryExpression=nn;function vn(Nr){return Nr.kind===223}e.isBinaryExpression=vn;function Fe(Nr){return Nr.kind===224}e.isConditionalExpression=Fe;function Ge(Nr){return Nr.kind===225}e.isTemplateExpression=Ge;function xr(Nr){return Nr.kind===226}e.isYieldExpression=xr;function Ur(Nr){return Nr.kind===227}e.isSpreadElement=Ur;function En(Nr){return Nr.kind===228}e.isClassExpression=En;function Nn(Nr){return Nr.kind===229}e.isOmittedExpression=Nn;function Zn(Nr){return Nr.kind===230}e.isExpressionWithTypeArguments=Zn;function fi(Nr){return Nr.kind===231}e.isAsExpression=fi;function Dr(Nr){return Nr.kind===235}e.isSatisfiesExpression=Dr;function Pr(Nr){return Nr.kind===232}e.isNonNullExpression=Pr;function Jr(Nr){return Nr.kind===233}e.isMetaProperty=Jr;function sn(Nr){return Nr.kind===234}e.isSyntheticExpression=sn;function Ue(Nr){return Nr.kind===353}e.isPartiallyEmittedExpression=Ue;function br(Nr){return Nr.kind===354}e.isCommaListExpression=br;function Ne(Nr){return Nr.kind===236}e.isTemplateSpan=Ne;function Ze(Nr){return Nr.kind===237}e.isSemicolonClassElement=Ze;function Qe(Nr){return Nr.kind===238}e.isBlock=Qe;function pe(Nr){return Nr.kind===240}e.isVariableStatement=pe;function Xe(Nr){return Nr.kind===239}e.isEmptyStatement=Xe;function ar(Nr){return Nr.kind===241}e.isExpressionStatement=ar;function Sr(Nr){return Nr.kind===242}e.isIfStatement=Sr;function pr(Nr){return Nr.kind===243}e.isDoStatement=pr;function Fr(Nr){return Nr.kind===244}e.isWhileStatement=Fr;function Vr(Nr){return Nr.kind===245}e.isForStatement=Vr;function fn(Nr){return Nr.kind===246}e.isForInStatement=fn;function Wr(Nr){return Nr.kind===247}e.isForOfStatement=Wr;function Wn(Nr){return Nr.kind===248}e.isContinueStatement=Wn;function bn(Nr){return Nr.kind===249}e.isBreakStatement=bn;function qn(Nr){return Nr.kind===250}e.isReturnStatement=qn;function hn(Nr){return Nr.kind===251}e.isWithStatement=hn;function Kn(Nr){return Nr.kind===252}e.isSwitchStatement=Kn;function Ai(Nr){return Nr.kind===253}e.isLabeledStatement=Ai;function ai(Nr){return Nr.kind===254}e.isThrowStatement=ai;function Ki(Nr){return Nr.kind===255}e.isTryStatement=Ki;function Ni(Nr){return Nr.kind===256}e.isDebuggerStatement=Ni;function mi(Nr){return Nr.kind===257}e.isVariableDeclaration=mi;function Pn(Nr){return Nr.kind===258}e.isVariableDeclarationList=Pn;function we(Nr){return Nr.kind===259}e.isFunctionDeclaration=we;function Ir(Nr){return Nr.kind===260}e.isClassDeclaration=Ir;function Re(Nr){return Nr.kind===261}e.isInterfaceDeclaration=Re;function yn(Nr){return Nr.kind===262}e.isTypeAliasDeclaration=yn;function Un(Nr){return Nr.kind===263}e.isEnumDeclaration=Un;function gn(Nr){return Nr.kind===264}e.isModuleDeclaration=gn;function rn(Nr){return Nr.kind===265}e.isModuleBlock=rn;function xn(Nr){return Nr.kind===266}e.isCaseBlock=xn;function Dn(Nr){return Nr.kind===267}e.isNamespaceExportDeclaration=Dn;function On(Nr){return Nr.kind===268}e.isImportEqualsDeclaration=On;function Qn(Nr){return Nr.kind===269}e.isImportDeclaration=Qn;function Ke(Nr){return Nr.kind===270}e.isImportClause=Ke;function cn(Nr){return Nr.kind===298}e.isImportTypeAssertionContainer=cn;function Vn(Nr){return Nr.kind===296}e.isAssertClause=Vn;function $i(Nr){return Nr.kind===297}e.isAssertEntry=$i;function pt(Nr){return Nr.kind===271}e.isNamespaceImport=pt;function Hi(Nr){return Nr.kind===277}e.isNamespaceExport=Hi;function Ci(Nr){return Nr.kind===272}e.isNamedImports=Ci;function Tt(Nr){return Nr.kind===273}e.isImportSpecifier=Tt;function st(Nr){return Nr.kind===274}e.isExportAssignment=st;function Yi(Nr){return Nr.kind===275}e.isExportDeclaration=Yi;function ii(Nr){return Nr.kind===276}e.isNamedExports=ii;function qa(Nr){return Nr.kind===278}e.isExportSpecifier=qa;function za(Nr){return Nr.kind===279}e.isMissingDeclaration=za;function Wa(Nr){return Nr.kind===352}e.isNotEmittedStatement=Wa;function Ao(Nr){return Nr.kind===357}e.isSyntheticReference=Ao;function ka(Nr){return Nr.kind===355}e.isMergeDeclarationMarker=ka;function So(Nr){return Nr.kind===356}e.isEndOfDeclarationMarker=So;function Na(Nr){return Nr.kind===280}e.isExternalModuleReference=Na;function qi(Nr){return Nr.kind===281}e.isJsxElement=qi;function Xi(Nr){return Nr.kind===282}e.isJsxSelfClosingElement=Xi;function so(Nr){return Nr.kind===283}e.isJsxOpeningElement=so;function po(Nr){return Nr.kind===284}e.isJsxClosingElement=po;function ws(Nr){return Nr.kind===285}e.isJsxFragment=ws;function uo(Nr){return Nr.kind===286}e.isJsxOpeningFragment=uo;function ns(Nr){return Nr.kind===287}e.isJsxClosingFragment=ns;function Yo(Nr){return Nr.kind===288}e.isJsxAttribute=Yo;function is(Nr){return Nr.kind===289}e.isJsxAttributes=is;function No(Nr){return Nr.kind===290}e.isJsxSpreadAttribute=No;function _r(Nr){return Nr.kind===291}e.isJsxExpression=_r;function Or(Nr){return Nr.kind===292}e.isCaseClause=Or;function hi(Nr){return Nr.kind===293}e.isDefaultClause=hi;function bt(Nr){return Nr.kind===294}e.isHeritageClause=bt;function Mt(Nr){return Nr.kind===295}e.isCatchClause=Mt;function Ia(Nr){return Nr.kind===299}e.isPropertyAssignment=Ia;function qe(Nr){return Nr.kind===300}e.isShorthandPropertyAssignment=qe;function tn(Nr){return Nr.kind===301}e.isSpreadAssignment=tn;function An(Nr){return Nr.kind===302}e.isEnumMember=An;function wn(Nr){return Nr.kind===304}e.isUnparsedPrepend=wn;function je(Nr){return Nr.kind===308}e.isSourceFile=je;function ur(Nr){return Nr.kind===309}e.isBundle=ur;function hr(Nr){return Nr.kind===310}e.isUnparsedSource=hr;function Br(Nr){return Nr.kind===312}e.isJSDocTypeExpression=Br;function Mn(Nr){return Nr.kind===313}e.isJSDocNameReference=Mn;function di(Nr){return Nr.kind===314}e.isJSDocMemberName=di;function pi(Nr){return Nr.kind===327}e.isJSDocLink=pi;function _i(Nr){return Nr.kind===328}e.isJSDocLinkCode=_i;function Pt(Nr){return Nr.kind===329}e.isJSDocLinkPlain=Pt;function Gt(Nr){return Nr.kind===315}e.isJSDocAllType=Gt;function fa(Nr){return Nr.kind===316}e.isJSDocUnknownType=fa;function ia(Nr){return Nr.kind===317}e.isJSDocNullableType=ia;function wa(Nr){return Nr.kind===318}e.isJSDocNonNullableType=wa;function Es(Nr){return Nr.kind===319}e.isJSDocOptionalType=Es;function vs(Nr){return Nr.kind===320}e.isJSDocFunctionType=vs;function hs(Nr){return Nr.kind===321}e.isJSDocVariadicType=hs;function cc(Nr){return Nr.kind===322}e.isJSDocNamepathType=cc;function Ps(Nr){return Nr.kind===323}e.isJSDoc=Ps;function cs(Nr){return Nr.kind===325}e.isJSDocTypeLiteral=cs;function mc(Nr){return Nr.kind===326}e.isJSDocSignature=mc;function nc(Nr){return Nr.kind===331}e.isJSDocAugmentsTag=nc;function vc(Nr){return Nr.kind===333}e.isJSDocAuthorTag=vc;function Ws(Nr){return Nr.kind===335}e.isJSDocClassTag=Ws;function Ec(Nr){return Nr.kind===341}e.isJSDocCallbackTag=Ec;function Zo(Nr){return Nr.kind===336}e.isJSDocPublicTag=Zo;function Jc(Nr){return Nr.kind===337}e.isJSDocPrivateTag=Jc;function Gs(Nr){return Nr.kind===338}e.isJSDocProtectedTag=Gs;function uc(Nr){return Nr.kind===339}e.isJSDocReadonlyTag=uc;function Ts(Nr){return Nr.kind===340}e.isJSDocOverrideTag=Ts;function le(Nr){return Nr.kind===334}e.isJSDocDeprecatedTag=le;function Tr(Nr){return Nr.kind===349}e.isJSDocSeeTag=Tr;function un(Nr){return Nr.kind===342}e.isJSDocEnumTag=un;function ei(Nr){return Nr.kind===343}e.isJSDocParameterTag=ei;function Ii(Nr){return Nr.kind===344}e.isJSDocReturnTag=Ii;function ot(Nr){return Nr.kind===345}e.isJSDocThisTag=ot;function ji(Nr){return Nr.kind===346}e.isJSDocTypeTag=ji;function dt(Nr){return Nr.kind===347}e.isJSDocTemplateTag=dt;function Kt(Nr){return Nr.kind===348}e.isJSDocTypedefTag=Kt;function Bt(Nr){return Nr.kind===330}e.isJSDocUnknownTag=Bt;function ha(Nr){return Nr.kind===350}e.isJSDocPropertyTag=ha;function He(Nr){return Nr.kind===332}e.isJSDocImplementsTag=He;function Cn(Nr){return Nr.kind===351}e.isSyntaxList=Cn})(fr||(fr={}));var fr;(function(e){function i(Pe){return Pe.createExportDeclaration(void 0,!1,Pe.createNamedExports([]),void 0)}e.createEmptyExports=i;function l(Pe,Ve,Ar,ke){if(e.isComputedPropertyName(Ar))return e.setTextRange(Pe.createElementAccessExpression(Ve,Ar.expression),ke);var cr=e.setTextRange(e.isMemberName(Ar)?Pe.createPropertyAccessExpression(Ve,Ar):Pe.createElementAccessExpression(Ve,Ar),Ar);return e.getOrCreateEmitNode(cr).flags|=64,cr}e.createMemberAccessForPropertyName=l;function _(Pe,Ve){var Ar=e.parseNodeFactory.createIdentifier(Pe||"React");return e.setParent(Ar,e.getParseTreeNode(Ve)),Ar}function h(Pe,Ve,Ar){if(e.isQualifiedName(Ve)){var ke=h(Pe,Ve.left,Ar),cr=Pe.createIdentifier(e.idText(Ve.right));return cr.escapedText=Ve.right.escapedText,Pe.createPropertyAccessExpression(ke,cr)}else return _(e.idText(Ve),Ar)}function p(Pe,Ve,Ar,ke){return Ve?h(Pe,Ve,ke):Pe.createPropertyAccessExpression(_(Ar,ke),"createElement")}e.createJsxFactoryExpression=p;function P(Pe,Ve,Ar,ke){return Ve?h(Pe,Ve,ke):Pe.createPropertyAccessExpression(_(Ar,ke),"Fragment")}function z(Pe,Ve,Ar,ke,cr,Mr){var Rr=[Ar];if(ke&&Rr.push(ke),cr&&cr.length>0)if(ke||Rr.push(Pe.createNull()),cr.length>1)for(var $r=0,nn=cr;$r0)if(cr.length>1)for(var vn=0,Fe=cr;vn=e.ModuleKind.ES2015&&nn<=e.ModuleKind.ESNext||Ar.impliedNodeFormat===e.ModuleKind.ESNext){var vn=e.getEmitHelpers(Ar);if(vn){for(var Fe=[],Ge=0,xr=vn;Ge0?En[Ge-1]:void 0;return e.Debug.assertEqual(xr[Ge],Ve),En[Ge]=Fe.onEnter(Ur[Ge],fi,Zn),xr[Ge]=$r(Fe,Ve),Ge}Pe.enter=Ve;function Ar(Fe,Ge,xr,Ur,En,Nn,Zn){e.Debug.assertEqual(xr[Ge],Ar),e.Debug.assertIsDefined(Fe.onLeft),xr[Ge]=$r(Fe,Ar);var fi=Fe.onLeft(Ur[Ge].left,En[Ge],Ur[Ge]);return fi?(vn(Ge,Ur,fi),nn(Ge,xr,Ur,En,fi)):Ge}Pe.left=Ar;function ke(Fe,Ge,xr,Ur,En,Nn,Zn){return e.Debug.assertEqual(xr[Ge],ke),e.Debug.assertIsDefined(Fe.onOperator),xr[Ge]=$r(Fe,ke),Fe.onOperator(Ur[Ge].operatorToken,En[Ge],Ur[Ge]),Ge}Pe.operator=ke;function cr(Fe,Ge,xr,Ur,En,Nn,Zn){e.Debug.assertEqual(xr[Ge],cr),e.Debug.assertIsDefined(Fe.onRight),xr[Ge]=$r(Fe,cr);var fi=Fe.onRight(Ur[Ge].right,En[Ge],Ur[Ge]);return fi?(vn(Ge,Ur,fi),nn(Ge,xr,Ur,En,fi)):Ge}Pe.right=cr;function Mr(Fe,Ge,xr,Ur,En,Nn,Zn){e.Debug.assertEqual(xr[Ge],Mr),xr[Ge]=$r(Fe,Mr);var fi=Fe.onExit(Ur[Ge],En[Ge]);if(Ge>0){if(Ge--,Fe.foldState){var Dr=xr[Ge]===Mr?"right":"left";En[Ge]=Fe.foldState(En[Ge],fi,Dr)}}else Nn.value=fi;return Ge}Pe.exit=Mr;function Rr(Fe,Ge,xr,Ur,En,Nn,Zn){return e.Debug.assertEqual(xr[Ge],Rr),Ge}Pe.done=Rr;function $r(Fe,Ge){switch(Ge){case Ve:if(Fe.onLeft)return Ar;case Ar:if(Fe.onOperator)return ke;case ke:if(Fe.onRight)return cr;case cr:return Mr;case Mr:return Rr;case Rr:return Rr;default:e.Debug.fail("Invalid state")}}Pe.nextState=$r;function nn(Fe,Ge,xr,Ur,En){return Fe++,Ge[Fe]=Ve,xr[Fe]=En,Ur[Fe]=void 0,Fe}function vn(Fe,Ge,xr){if(e.Debug.shouldAssert(2))for(;Fe>=0;)e.Debug.assert(Ge[Fe]!==xr,"Circular traversal detected."),Fe--}})(qr||(qr={}));var ln=function(){function Pe(Ve,Ar,ke,cr,Mr,Rr){this.onEnter=Ve,this.onLeft=Ar,this.onOperator=ke,this.onRight=cr,this.onExit=Mr,this.foldState=Rr}return Pe}();function dr(Pe,Ve,Ar,ke,cr,Mr){var Rr=new ln(Pe,Ve,Ar,ke,cr,Mr);return $r;function $r(nn,vn){for(var Fe={value:void 0},Ge=[qr.enter],xr=[nn],Ur=[void 0],En=0;Ge[En]!==qr.done;)En=Ge[En](Rr,En,Ge,xr,Ur,Fe,vn);return e.Debug.assertEqual(En,0),Fe.value}}e.createBinaryExpressionTrampoline=dr;function vr(Pe,Ve){if(Ve!==void 0)return Ve.length===0?Ve:e.setTextRange(Pe.createNodeArray([],Ve.hasTrailingComma),Ve)}e.elideNodes=vr;function kr(Pe){if(Pe.autoGenerateFlags&4){for(var Ve=Pe.autoGenerateId,Ar=Pe,ke=Ar.original;ke&&(Ar=ke,!(e.isMemberName(Ar)&&Ar.autoGenerateFlags&4&&Ar.autoGenerateId!==Ve));)ke=Ar.original;return Ar}return Pe}e.getNodeForGeneratedName=kr;function jr(Pe,Ve){return typeof Pe=="object"?Lr(!1,Pe.prefix,Pe.node,Pe.suffix,Ve):typeof Pe=="string"?Pe.length>0&&Pe.charCodeAt(0)===35?Pe.slice(1):Pe:""}e.formatGeneratedNamePart=jr;function Cr(Pe,Ve){return typeof Pe=="string"?Pe:en(Pe,e.Debug.checkDefined(Ve))}function en(Pe,Ve){return e.isGeneratedPrivateIdentifier(Pe)?Ve(Pe).slice(1):e.isGeneratedIdentifier(Pe)?Ve(Pe):e.isPrivateIdentifier(Pe)?Pe.escapedText.slice(1):e.idText(Pe)}function Lr(Pe,Ve,Ar,ke,cr){return Ve=jr(Ve,cr),ke=jr(ke,cr),Ar=Cr(Ar,cr),"".concat(Pe?"#":"").concat(Ve).concat(Ar).concat(ke)}e.formatGeneratedName=Lr;function pn(Pe,Ve,Ar,ke){return Pe.updatePropertyDeclaration(Ve,Ar,Pe.getGeneratedPrivateNameForNode(Ve.name,void 0,"_accessor_storage"),void 0,void 0,ke)}e.createAccessorPropertyBackingField=pn;function ye(Pe,Ve,Ar,ke){return Pe.createGetAccessorDeclaration(Ar,ke,[],void 0,Pe.createBlock([Pe.createReturnStatement(Pe.createPropertyAccessExpression(Pe.createThis(),Pe.getGeneratedPrivateNameForNode(Ve.name,void 0,"_accessor_storage")))]))}e.createAccessorPropertyGetRedirector=ye;function or(Pe,Ve,Ar,ke){return Pe.createSetAccessorDeclaration(Ar,ke,[Pe.createParameterDeclaration(void 0,void 0,"value")],Pe.createBlock([Pe.createExpressionStatement(Pe.createAssignment(Pe.createPropertyAccessExpression(Pe.createThis(),Pe.getGeneratedPrivateNameForNode(Ve.name,void 0,"_accessor_storage")),Pe.createIdentifier("value")))]))}e.createAccessorPropertySetRedirector=or})(fr||(fr={}));var fr;(function(e){function i(h,p){return p?e.setTextRangePosEnd(h,p.pos,p.end):h}e.setTextRange=i;function l(h){var p=h.kind;return p===165||p===166||p===168||p===169||p===170||p===171||p===173||p===174||p===175||p===178||p===182||p===215||p===216||p===228||p===240||p===259||p===260||p===261||p===262||p===263||p===264||p===268||p===269||p===274||p===275}e.canHaveModifiers=l;function _(h){var p=h.kind;return p===166||p===169||p===171||p===174||p===175||p===228||p===260}e.canHaveDecorators=_})(fr||(fr={}));var fr;(function(e){var i,l;(function(ue){ue[ue.None=0]="None",ue[ue.Yield=1]="Yield",ue[ue.Await=2]="Await",ue[ue.Type=4]="Type",ue[ue.IgnoreMissingOpenBrace=16]="IgnoreMissingOpenBrace",ue[ue.JSDoc=32]="JSDoc"})(l||(l={}));var _;(function(ue){ue[ue.TryParse=0]="TryParse",ue[ue.Lookahead=1]="Lookahead",ue[ue.Reparse=2]="Reparse"})(_||(_={}));var h,p,P,z,U;e.parseBaseNodeFactory={createBaseSourceFileNode:function(ue){return new(U||(U=e.objectAllocator.getSourceFileConstructor()))(ue,-1,-1)},createBaseIdentifierNode:function(ue){return new(P||(P=e.objectAllocator.getIdentifierConstructor()))(ue,-1,-1)},createBasePrivateIdentifierNode:function(ue){return new(z||(z=e.objectAllocator.getPrivateIdentifierConstructor()))(ue,-1,-1)},createBaseTokenNode:function(ue){return new(p||(p=e.objectAllocator.getTokenConstructor()))(ue,-1,-1)},createBaseNode:function(ue){return new(h||(h=e.objectAllocator.getNodeConstructor()))(ue,-1,-1)}},e.parseNodeFactory=e.createNodeFactory(1,e.parseBaseNodeFactory);function g(ue,y){return y&&ue(y)}function v(ue,y,X){if(X){if(y)return y(X);for(var Ae=0,Te=X;Ae=0;--mr)Ae.push(Je[mr]),Te.push(er)}else{var wr=y(Je,er);if(wr){if(wr==="skip")continue;return wr}if(Je.kind>=163)for(var We=0,a=se(Je);We=As.pos}),xu=as>=0?e.findIndex(zn,function(Yc){return Yc.start>=Sc.pos},as):-1;as>=0&&e.addRange(Cr,zn,as,xu>=0?xu:void 0),Hi(function(){var Yc=cr;for(cr|=32768,y.setTextPos(Sc.pos),gn();Re()!==1;){var Xs=y.getStartPos(),Fc=Jc(0,Io);if(mn.push(Fc),Xs===y.getStartPos()&&gn(),ci>=0){var gl=Be.statements[ci];if(Fc.end===gl.pos)break;Fc.end>gl.pos&&(ci=ho(Be.statements,ci+1))}}cr=Yc},2),at=ci>=0?Co(Be.statements,ci):-1};at!==-1;)vt();if(ci>=0){var St=Be.statements[ci];e.addRange(mn,Be.statements,ci);var Rt=e.findIndex(zn,function(As){return As.start>=St.pos});Rt>=0&&e.addRange(Cr,zn,Rt)}return Lr=gr,a.updateSourceFile(Be,e.setTextRange(a.createNodeArray(mn),Be.statements));function Fa(As){return!(As.flags&32768)&&!!(As.transformFlags&67108864)}function Co(As,Sc){for(var as=Sc;as116}function Yi(){return Re()===79?!0:Re()===125&&bn()||Re()===133&&Ai()?!1:Re()>116}function ii(Be,gr,Yr){return Yr===void 0&&(Yr=!0),Re()===Be?(Yr&&gn(),!0):(gr?ai(gr):ai(e.Diagnostics._0_expected,e.tokenToString(Be)),!1)}var qa=Object.keys(e.textToKeywordObj).filter(function(Be){return Be.length>2});function za(Be){var gr;if(e.isTaggedTemplateExpression(Be)){Ni(e.skipTrivia(dr,Be.template.pos),Be.template.end,e.Diagnostics.Module_declaration_names_may_only_use_or_quoted_strings);return}var Yr=e.isIdentifier(Be)?e.idText(Be):void 0;if(!Yr||!e.isIdentifierText(Yr,vr)){ai(e.Diagnostics._0_expected,e.tokenToString(26));return}var mn=e.skipTrivia(dr,Be.pos);switch(Yr){case"const":case"let":case"var":Ni(mn,Be.end,e.Diagnostics.Variable_declaration_not_allowed_at_this_location);return;case"declare":return;case"interface":Wa(e.Diagnostics.Interface_name_cannot_be_0,e.Diagnostics.Interface_must_be_given_a_name,18);return;case"is":Ni(mn,y.getTextPos(),e.Diagnostics.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);return;case"module":case"namespace":Wa(e.Diagnostics.Namespace_name_cannot_be_0,e.Diagnostics.Namespace_must_be_given_a_name,18);return;case"type":Wa(e.Diagnostics.Type_alias_name_cannot_be_0,e.Diagnostics.Type_alias_must_be_given_a_name,63);return}var zn=(gr=e.getSpellingSuggestion(Yr,qa,function(ci){return ci}))!==null&&gr!==void 0?gr:Ao(Yr);if(zn){Ni(mn,Be.end,e.Diagnostics.Unknown_keyword_or_identifier_Did_you_mean_0,zn);return}Re()!==0&&Ni(mn,Be.end,e.Diagnostics.Unexpected_keyword_or_identifier)}function Wa(Be,gr,Yr){Re()===Yr?ai(gr):ai(Be,y.getTokenValue())}function Ao(Be){for(var gr=0,Yr=qa;grmn.length+2&&e.startsWith(Be,mn))return"".concat(mn," ").concat(Be.slice(mn.length))}}function ka(Be,gr,Yr){if(Re()===59&&!y.hasPrecedingLineBreak()){ai(e.Diagnostics.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations);return}if(Re()===20){ai(e.Diagnostics.Cannot_start_a_function_call_in_a_type_annotation),gn();return}if(gr&&!Yo()){Yr?ai(e.Diagnostics._0_expected,e.tokenToString(26)):ai(e.Diagnostics.Expected_for_property_initializer);return}if(!is()){if(Yr){ai(e.Diagnostics._0_expected,e.tokenToString(26));return}za(Be)}}function So(Be){return Re()===Be?(rn(),!0):(ai(e.Diagnostics._0_expected,e.tokenToString(Be)),!1)}function Na(Be,gr,Yr,mn){if(Re()===gr){gn();return}var zn=ai(e.Diagnostics._0_expected,e.tokenToString(gr));Yr&&zn&&e.addRelatedInfo(zn,e.createDetachedDiagnostic(qr,mn,1,e.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here,e.tokenToString(Be),e.tokenToString(gr)))}function qi(Be){return Re()===Be?(gn(),!0):!1}function Xi(Be){if(Re()===Be)return uo()}function so(Be){if(Re()===Be)return ns()}function po(Be,gr,Yr){return Xi(Be)||hi(Be,!1,gr||e.Diagnostics._0_expected,Yr||e.tokenToString(Be))}function ws(Be){return so(Be)||hi(Be,!1,e.Diagnostics._0_expected,e.tokenToString(Be))}function uo(){var Be=we(),gr=Re();return gn(),Or(a.createToken(gr),Be)}function ns(){var Be=we(),gr=Re();return rn(),Or(a.createToken(gr),Be)}function Yo(){return Re()===26?!0:Re()===19||Re()===1||y.hasPrecedingLineBreak()}function is(){return Yo()?(Re()===26&&gn(),!0):!1}function No(){return is()||ii(26)}function _r(Be,gr,Yr,mn){var zn=a.createNodeArray(Be,mn);return e.setTextRangePosEnd(zn,gr,Yr??y.getStartPos()),zn}function Or(Be,gr,Yr){return e.setTextRangePosEnd(Be,gr,Yr??y.getStartPos()),cr&&(Be.flags|=cr),Rr&&(Rr=!1,Be.flags|=131072),Be}function hi(Be,gr,Yr,mn){gr?Ki(y.getStartPos(),0,Yr,mn):Yr&&ai(Yr,mn);var zn=we(),ci=Be===79?a.createIdentifier("",void 0,void 0):e.isTemplateLiteralKind(Be)?a.createTemplateLiteralLikeNode(Be,"","",void 0):Be===8?a.createNumericLiteral("",void 0):Be===10?a.createStringLiteral("",void 0):Be===279?a.createMissingDeclaration():a.createToken(Be);return Or(ci,zn)}function bt(Be){var gr=or.get(Be);return gr===void 0&&or.set(Be,gr=Be),gr}function Mt(Be,gr,Yr){if(Be){Ve++;var mn=we(),zn=Re(),ci=bt(y.getTokenValue()),at=y.hasExtendedUnicodeEscape();return yn(),Or(a.createIdentifier(ci,void 0,zn,at),mn)}if(Re()===80)return ai(Yr||e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),Mt(!0);if(Re()===0&&y.tryScan(function(){return y.reScanInvalidIdentifier()===79}))return Mt(!0);Ve++;var vt=Re()===1,St=y.isReservedWord(),Rt=y.getTokenText(),Fa=St?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:e.Diagnostics.Identifier_expected;return hi(79,vt,gr||Fa,Rt)}function Ia(Be){return Mt(st(),void 0,Be)}function qe(Be,gr){return Mt(Yi(),Be,gr)}function tn(Be){return Mt(e.tokenIsIdentifierOrKeyword(Re()),Be)}function An(){return e.tokenIsIdentifierOrKeyword(Re())||Re()===10||Re()===8}function wn(){return e.tokenIsIdentifierOrKeyword(Re())||Re()===10}function je(Be){if(Re()===10||Re()===8){var gr=$s();return gr.text=bt(gr.text),gr}return Be&&Re()===22?hr():Re()===80?Mn():tn()}function ur(){return je(!0)}function hr(){var Be=we();ii(22);var gr=Qe(lc);return ii(23),Or(a.createComputedPropertyName(gr),Be)}function Br(Be){var gr=Pe.get(Be);return gr===void 0&&Pe.set(Be,gr=Be),gr}function Mn(){var Be=we(),gr=a.createPrivateIdentifier(Br(y.getTokenValue()));return gn(),Or(gr,Be)}function di(Be){return Re()===Be&&Tt(_i)}function pi(){return gn(),y.hasPrecedingLineBreak()?!1:ia()}function _i(){switch(Re()){case 85:return gn()===92;case 93:return gn(),Re()===88?Ci(wa):Re()===154?Ci(Gt):Pt();case 88:return wa();case 127:case 124:case 137:case 151:return gn(),ia();default:return pi()}}function Pt(){return Re()!==41&&Re()!==128&&Re()!==18&&ia()}function Gt(){return gn(),Pt()}function fa(){return e.isModifierKind(Re())&&Tt(_i)}function ia(){return Re()===22||Re()===18||Re()===41||Re()===25||An()}function wa(){return gn(),Re()===84||Re()===98||Re()===118||Re()===126&&Ci(Tl)||Re()===132&&Ci(__)}function Es(Be,gr){var Yr=Gs(Be);if(Yr)return!0;switch(Be){case 0:case 1:case 3:return!(Re()===26&&gr)&&Jf();case 2:return Re()===82||Re()===88;case 4:return Ci(_a);case 5:return Ci(Pd)||Re()===26&&!gr;case 6:return Re()===22||An();case 12:switch(Re()){case 22:case 41:case 25:case 24:return!0;default:return An()}case 18:return An();case 9:return Re()===22||Re()===25||An();case 24:return wn();case 7:return Re()===18?Ci(vs):gr?Yi()&&!cs():Kp()&&!cs();case 8:return p_();case 10:return Re()===27||Re()===25||p_();case 19:return Re()===101||Yi();case 15:switch(Re()){case 27:case 24:return!0}case 11:return Re()===25||Dc();case 16:return Vt(!1);case 17:return Vt(!0);case 20:case 21:return Re()===27||Of();case 22:return Xn();case 23:return e.tokenIsIdentifierOrKeyword(Re());case 13:return e.tokenIsIdentifierOrKeyword(Re())||Re()===18;case 14:return!0}return e.Debug.fail("Non-exhaustive case in 'isListElement'.")}function vs(){if(e.Debug.assert(Re()===18),gn()===19){var Be=gn();return Be===27||Be===18||Be===94||Be===117}return!0}function hs(){return gn(),Yi()}function cc(){return gn(),e.tokenIsIdentifierOrKeyword(Re())}function Ps(){return gn(),e.tokenIsIdentifierOrKeywordOrGreaterThan(Re())}function cs(){return Re()===117||Re()===94?Ci(mc):!1}function mc(){return gn(),Dc()}function nc(){return gn(),Of()}function vc(Be){if(Re()===1)return!0;switch(Be){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:case 24:return Re()===19;case 3:return Re()===19||Re()===82||Re()===88;case 7:return Re()===18||Re()===94||Re()===117;case 8:return Ws();case 19:return Re()===31||Re()===20||Re()===18||Re()===94||Re()===117;case 11:return Re()===21||Re()===26;case 15:case 21:case 10:return Re()===23;case 17:case 16:case 18:return Re()===21||Re()===23;case 20:return Re()!==27;case 22:return Re()===18||Re()===19;case 13:return Re()===31||Re()===43;case 14:return Re()===29&&Ci(Wf);default:return!1}}function Ws(){return!!(Yo()||Dd(Re())||Re()===38)}function Ec(){for(var Be=0;Be<25;Be++)if(Ar&1<=0)}function He(Be){return Be===6?e.Diagnostics.An_enum_member_name_must_be_followed_by_a_or:void 0}function Cn(){var Be=_r([],we());return Be.isMissingList=!0,Be}function Nr(Be){return!!Be.isMissingList}function ma(Be,gr,Yr,mn){if(ii(Yr)){var zn=ha(Be,gr);return ii(mn),zn}return Cn()}function Ca(Be,gr){for(var Yr=we(),mn=Be?tn(gr):qe(gr),zn=we();qi(24);){if(Re()===29){mn.jsdocDotPos=zn;break}zn=we(),mn=Or(a.createQualifiedName(mn,ys(Be,!1)),Yr)}return mn}function lo(Be,gr){return Or(a.createQualifiedName(Be,gr),Be.pos)}function ys(Be,gr){if(y.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(Re())){var Yr=Ci(Cf);if(Yr)return hi(79,!0,e.Diagnostics.Identifier_expected)}if(Re()===80){var mn=Mn();return gr?mn:hi(79,!0,e.Diagnostics.Identifier_expected)}return Be?tn():qe()}function hc(Be){var gr=we(),Yr=[],mn;do mn=go(Be),Yr.push(mn);while(mn.literal.kind===16);return _r(Yr,gr)}function Ms(Be){var gr=we();return Or(a.createTemplateExpression(yc(Be),hc(Be)),gr)}function jc(){var Be=we();return Or(a.createTemplateLiteralType(yc(!1),Ks()),Be)}function Ks(){var Be=we(),gr=[],Yr;do Yr=ic(),gr.push(Yr);while(Yr.literal.kind===16);return _r(gr,Be)}function ic(){var Be=we();return Or(a.createTemplateLiteralTypeSpan(ks(),Uc(!1)),Be)}function Uc(Be){return Re()===19?(On(Be),Fl()):po(17,e.Diagnostics._0_expected,e.tokenToString(19))}function go(Be){var gr=we();return Or(a.createTemplateSpan(Qe(lc),Uc(Be)),gr)}function $s(){return tl(Re())}function yc(Be){Be&&Qn();var gr=tl(Re());return e.Debug.assert(gr.kind===15,"Template head has wrong token kind"),gr}function Fl(){var Be=tl(Re());return e.Debug.assert(Be.kind===16||Be.kind===17,"Template fragment has wrong token kind"),Be}function tu(Be){var gr=Be===14||Be===17,Yr=y.getTokenText();return Yr.substring(1,Yr.length-(y.isUnterminated()?0:gr?1:2))}function tl(Be){var gr=we(),Yr=e.isTemplateLiteralKind(Be)?a.createTemplateLiteralLikeNode(Be,y.getTokenValue(),tu(Be),y.getTokenFlags()&2048):Be===8?a.createNumericLiteral(y.getTokenValue(),y.getNumericLiteralFlags()):Be===10?a.createStringLiteral(y.getTokenValue(),void 0,y.hasExtendedUnicodeEscape()):e.isLiteralKind(Be)?a.createLiteralLikeNode(Be,y.getTokenValue()):e.Debug.fail();return y.hasExtendedUnicodeEscape()&&(Yr.hasExtendedUnicodeEscape=!0),y.isUnterminated()&&(Yr.isUnterminated=!0),gn(),Or(Yr,gr)}function wf(){return Ca(!0,e.Diagnostics.Type_expected)}function al(){if(!y.hasPrecedingLineBreak()&&Ke()===29)return ma(20,ks,29,31)}function Hc(){var Be=we();return Or(a.createTypeReferenceNode(wf(),al()),Be)}function ol(Be){switch(Be.kind){case 180:return e.nodeIsMissing(Be.typeName);case 181:case 182:{var gr=Be,Yr=gr.parameters,mn=gr.type;return Nr(Yr)||ol(mn)}case 193:return ol(Be.type);default:return!1}}function Gr(Be){return gn(),Or(a.createTypePredicateNode(void 0,Be,ks()),Be.pos)}function Hr(){var Be=we();return gn(),Or(a.createThisTypeNode(),Be)}function Jn(){var Be=we();return gn(),Or(a.createJSDocAllType(),Be)}function ui(){var Be=we();return gn(),Or(a.createJSDocNonNullableType(dd(),!1),Be)}function yi(){var Be=we();return gn(),Re()===27||Re()===19||Re()===21||Re()===31||Re()===63||Re()===51?Or(a.createJSDocUnknownType(),Be):Or(a.createJSDocNullableType(ks(),!1),Be)}function Ti(){var Be=we(),gr=Ir();if(Ci(zc)){gn();var Yr=de(36),mn=Vo(58,!1);return Ur(Or(a.createJSDocFunctionType(Yr,mn),Be),gr)}return Or(a.createTypeReferenceNode(tn(),void 0),Be)}function ct(){var Be=we(),gr;return(Re()===108||Re()===103)&&(gr=tn(),ii(58)),Or(a.createParameterDeclaration(void 0,void 0,gr,void 0,Ji(),void 0),Be)}function Ji(){y.setInJSDocType(!0);var Be=we();if(qi(142)){var gr=a.createJSDocNamepathType(void 0);e:for(;;)switch(Re()){case 19:case 1:case 27:case 5:break e;default:rn()}return y.setInJSDocType(!1),Or(gr,Be)}var Yr=qi(25),mn=op();return y.setInJSDocType(!1),Yr&&(mn=Or(a.createJSDocVariadicType(mn),Be)),Re()===63?(gn(),Or(a.createJSDocOptionalType(mn),Be)):mn}function jt(){var Be=we();ii(112);var gr=Ca(!0),Yr=y.hasPrecedingLineBreak()?void 0:_n();return Or(a.createTypeQueryNode(gr,Yr),Be)}function Ea(){var Be=we(),gr=Ku(),Yr=qe(),mn,zn;qi(94)&&(Of()||!Dc()?mn=ks():zn=z_());var ci=qi(63)?ks():void 0,at=a.createTypeParameterDeclaration(gr,Yr,mn,ci);return at.expression=zn,Or(at,Be)}function Zt(){if(Re()===29)return ma(19,Ea,29,31)}function Vt(Be){return Re()===25||p_()||e.isModifierKind(Re())||Re()===59||Of(!Be)}function Ga(Be){var gr=gu(e.Diagnostics.Private_identifiers_cannot_be_used_as_parameters);return e.getFullWidth(gr)===0&&!e.some(Be)&&e.isModifierKind(Re())&&gn(),gr}function ea(){return st()||Re()===22||Re()===18}function mo(Be){return Os(Be)}function xo(Be){return Os(Be,!1)}function Os(Be,gr){gr===void 0&&(gr=!0);var Yr=we(),mn=Ir(),zn=Be?Fr(Hl):Vr(Hl);if(Re()===108){var ci=a.createParameterDeclaration(zn,void 0,Mt(!0),void 0,sl(),void 0);return zn&&mi(zn[0],e.Diagnostics.Decorators_may_not_be_applied_to_this_parameters),Ur(Or(ci,Yr),mn)}var at=Mr;Mr=!1;var vt=pl(zn,Ku()),St=Xi(25);if(!(!gr&&!ea())){var Rt=Ur(Or(a.createParameterDeclaration(vt,St,Ga(vt),Xi(57),sl(),Rl()),Yr),mn);return Mr=at,Rt}}function Vo(Be,gr){if(Ss(Be,gr))return Xe(op)}function Ss(Be,gr){return Be===38?(ii(Be),!0):qi(58)?!0:gr&&Re()===38?(ai(e.Diagnostics._0_expected,e.tokenToString(58)),gn(),!0):!1}function $o(Be,gr){var Yr=bn(),mn=Ai();sn(!!(Be&1)),br(!!(Be&2));var zn=Be&32?ha(17,ct):ha(16,function(){return gr?mo(mn):xo(mn)});return sn(Yr),br(mn),zn}function de(Be){if(!ii(20))return Cn();var gr=$o(Be,!0);return ii(21),gr}function sr(){qi(27)||No()}function Er(Be){var gr=we(),Yr=Ir();Be===177&&ii(103);var mn=Zt(),zn=de(4),ci=Vo(58,!0);sr();var at=Be===176?a.createCallSignature(mn,zn,ci):a.createConstructSignature(mn,zn,ci);return Ur(Or(at,gr),Yr)}function Fn(){return Re()===22&&Ci(Si)}function Si(){if(gn(),Re()===25||Re()===23)return!0;if(e.isModifierKind(Re())){if(gn(),Yi())return!0}else if(Yi())gn();else return!1;return Re()===58||Re()===27?!0:Re()!==57?!1:(gn(),Re()===58||Re()===27||Re()===23)}function mt(Be,gr,Yr,mn){var zn=ma(16,function(){return mo(!1)},22,23),ci=sl();sr();var at=a.createIndexSignature(mn,zn,ci);return at.illegalDecorators=Yr,Ur(Or(at,Be),gr)}function Ut(Be,gr,Yr){var mn=ur(),zn=Xi(57),ci;if(Re()===20||Re()===29){var at=Zt(),vt=de(4),St=Vo(58,!0);ci=a.createMethodSignature(Yr,mn,zn,at,vt,St)}else{var St=sl();ci=a.createPropertySignature(Yr,mn,zn,St),Re()===63&&(ci.initializer=Rl())}return sr(),Ur(Or(ci,Be),gr)}function _a(){if(Re()===20||Re()===29||Re()===137||Re()===151)return!0;for(var Be=!1;e.isModifierKind(Re());)Be=!0,gn();return Re()===22?!0:(An()&&(Be=!0,gn()),Be?Re()===20||Re()===29||Re()===57||Re()===58||Re()===27||Yo():!1)}function $a(){if(Re()===20||Re()===29)return Er(176);if(Re()===103&&Ci(io))return Er(177);var Be=we(),gr=Ir(),Yr=Ku();return di(137)?bu(Be,gr,void 0,Yr,174,4):di(151)?bu(Be,gr,void 0,Yr,175,4):Fn()?mt(Be,gr,void 0,Yr):Ut(Be,gr,Yr)}function io(){return gn(),Re()===20||Re()===29}function Po(){return gn()===24}function Ma(){switch(gn()){case 20:case 29:case 24:return!0}return!1}function Qa(){var Be=we();return Or(a.createTypeLiteralNode(Go()),Be)}function Go(){var Be;return ii(18)?(Be=Zo(4,$a),ii(19)):Be=Cn(),Be}function qo(){return gn(),Re()===39||Re()===40?gn()===146:(Re()===146&&gn(),Re()===22&&hs()&&gn()===101)}function Ds(){var Be=we(),gr=tn();ii(101);var Yr=ks();return Or(a.createTypeParameterDeclaration(void 0,gr,Yr,void 0),Be)}function Tc(){var Be=we();ii(18);var gr;(Re()===146||Re()===39||Re()===40)&&(gr=uo(),gr.kind!==146&&ii(146)),ii(22);var Yr=Ds(),mn=qi(128)?ks():void 0;ii(23);var zn;(Re()===57||Re()===39||Re()===40)&&(zn=uo(),zn.kind!==57&&ii(57));var ci=sl();No();var at=Zo(4,$a);return ii(19),Or(a.createMappedTypeNode(gr,Yr,mn,zn,ci,at),Be)}function Ls(){var Be=we();if(qi(25))return Or(a.createRestTypeNode(ks()),Be);var gr=ks();if(e.isJSDocNullableType(gr)&&gr.pos===gr.type.pos){var Yr=a.createOptionalTypeNode(gr.type);return e.setTextRange(Yr,gr),Yr.flags=gr.flags,Yr}return gr}function Ml(){return gn()===58||Re()===57&&gn()===58}function M_(){return Re()===25?e.tokenIsIdentifierOrKeyword(gn())&&Ml():e.tokenIsIdentifierOrKeyword(Re())&&Ml()}function xl(){if(Ci(M_)){var Be=we(),gr=Ir(),Yr=Xi(25),mn=tn(),zn=Xi(57);ii(58);var ci=Ls(),at=a.createNamedTupleMember(Yr,mn,zn,ci);return Ur(Or(at,Be),gr)}return Ls()}function lf(){var Be=we();return Or(a.createTupleTypeNode(ma(21,xl,22,23)),Be)}function Xr(){var Be=we();ii(20);var gr=ks();return ii(21),Or(a.createParenthesizedType(gr),Be)}function ff(){var Be;if(Re()===126){var gr=we();gn();var Yr=Or(a.createToken(126),gr);Be=_r([Yr],gr)}return Be}function Pu(){var Be=we(),gr=Ir(),Yr=ff(),mn=qi(103),zn=Zt(),ci=de(4),at=Vo(38,!1),vt=mn?a.createConstructorTypeNode(Yr,zn,ci,at):a.createFunctionTypeNode(zn,ci,at);return mn||(vt.modifiers=Yr),Ur(Or(vt,Be),gr)}function _f(){var Be=uo();return Re()===24?void 0:Be}function a_(Be){var gr=we();Be&&gn();var Yr=Re()===110||Re()===95||Re()===104?uo():tl(Re());return Be&&(Yr=Or(a.createPrefixUnaryExpression(40,Yr),gr)),Or(a.createLiteralTypeNode(Yr),gr)}function df(){return gn(),Re()===100}function Ll(){var Be=we(),gr=y.getTokenPos();ii(18);var Yr=y.hasPrecedingLineBreak();ii(130),ii(58);var mn=vp(!0);if(!ii(19)){var zn=e.lastOrUndefined(Cr);zn&&zn.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(zn,e.createDetachedDiagnostic(qr,gr,1,e.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return Or(a.createImportTypeAssertionContainer(mn,Yr),Be)}function ap(){ln|=2097152;var Be=we(),gr=qi(112);ii(100),ii(20);var Yr=ks(),mn;qi(27)&&(mn=Ll()),ii(21);var zn=qi(24)?wf():void 0,ci=al();return Or(a.createImportTypeNode(Yr,mn,zn,ci,gr),Be)}function vo(){return gn(),Re()===8||Re()===9}function dd(){switch(Re()){case 131:case 157:case 152:case 148:case 160:case 153:case 134:case 155:case 144:case 149:return Tt(_f)||Hc();case 66:y.reScanAsteriskEqualsToken();case 41:return Jn();case 60:y.reScanQuestionToken();case 57:return yi();case 98:return Ti();case 53:return ui();case 14:case 10:case 8:case 9:case 110:case 95:case 104:return a_();case 40:return Ci(vo)?a_(!0):Hc();case 114:return uo();case 108:{var Be=Hr();return Re()===140&&!y.hasPrecedingLineBreak()?Gr(Be):Be}case 112:return Ci(df)?ap():jt();case 18:return Ci(qo)?Tc():Qa();case 22:return lf();case 20:return Xr();case 100:return ap();case 129:return Ci(Cf)?Gp():Hc();case 15:return jc();default:return Hc()}}function Of(Be){switch(Re()){case 131:case 157:case 152:case 148:case 160:case 134:case 146:case 153:case 156:case 114:case 155:case 104:case 108:case 112:case 144:case 18:case 22:case 29:case 51:case 50:case 103:case 10:case 8:case 9:case 110:case 95:case 149:case 41:case 57:case 53:case 25:case 138:case 100:case 129:case 14:case 15:return!0;case 98:return!Be;case 40:return!Be&&Ci(vo);case 20:return!Be&&Ci(pd);default:return Yi()}}function pd(){return gn(),Re()===21||Vt(!1)||Of()}function o_(){for(var Be=we(),gr=dd();!y.hasPrecedingLineBreak();)switch(Re()){case 53:gn(),gr=Or(a.createJSDocNonNullableType(gr,!0),Be);break;case 57:if(Ci(nc))return gr;gn(),gr=Or(a.createJSDocNullableType(gr,!0),Be);break;case 22:if(ii(22),Of()){var Yr=ks();ii(23),gr=Or(a.createIndexedAccessTypeNode(gr,Yr),Be)}else ii(23),gr=Or(a.createArrayTypeNode(gr),Be);break;default:return gr}return gr}function gd(Be){var gr=we();return ii(Be),Or(a.createTypeOperatorNode(Be,md()),gr)}function L_(){if(qi(94)){var Be=ar(ks);if(hn()||Re()!==57)return Be}}function pf(){var Be=we(),gr=qe(),Yr=Tt(L_),mn=a.createTypeParameterDeclaration(void 0,gr,Yr);return Or(mn,Be)}function fu(){var Be=we();return ii(138),Or(a.createInferTypeNode(pf()),Be)}function md(){var Be=Re();switch(Be){case 141:case 156:case 146:return gd(Be);case 138:return fu()}return Xe(o_)}function R_(Be){if(vd()){var gr=Pu(),Yr=void 0;return e.isFunctionTypeNode(gr)?Yr=Be?e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:Yr=Be?e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type,mi(gr,Yr),gr}}function Qt(Be,gr,Yr){var mn=we(),zn=Be===51,ci=qi(Be),at=ci&&R_(zn)||gr();if(Re()===Be||ci){for(var vt=[at];qi(Be);)vt.push(R_(zn)||gr());at=Or(Yr(_r(vt,mn)),mn)}return at}function Nt(){return Qt(50,md,a.createIntersectionTypeNode)}function Iu(){return Qt(51,Nt,a.createUnionTypeNode)}function Gc(){return gn(),Re()===103}function vd(){return Re()===29||Re()===20&&Ci(kg)?!0:Re()===103||Re()===126&&Ci(Gc)}function Ff(){if(e.isModifierKind(Re())&&Ku(),Yi()||Re()===108)return gn(),!0;if(Re()===22||Re()===18){var Be=Cr.length;return gu(),Be===Cr.length}return!1}function kg(){return gn(),!!(Re()===21||Re()===25||Ff()&&(Re()===58||Re()===27||Re()===57||Re()===63||Re()===21&&(gn(),Re()===38)))}function op(){var Be=we(),gr=Yi()&&Tt(us),Yr=ks();return gr?Or(a.createTypePredicateNode(void 0,gr,Yr),Be):Yr}function us(){var Be=qe();if(Re()===140&&!y.hasPrecedingLineBreak())return gn(),Be}function Gp(){var Be=we(),gr=po(129),Yr=Re()===108?Hr():qe(),mn=qi(140)?ks():void 0;return Or(a.createTypePredicateNode(gr,Yr,mn),Be)}function ks(){if(cr&40960)return Ne(40960,ks);if(vd())return Pu();var Be=we(),gr=Iu();if(!hn()&&!y.hasPrecedingLineBreak()&&qi(94)){var Yr=ar(ks);ii(57);var mn=Xe(ks);ii(58);var zn=Xe(ks);return Or(a.createConditionalTypeNode(gr,Yr,mn,zn),Be)}return gr}function sl(){return qi(58)?ks():void 0}function Kp(){switch(Re()){case 108:case 106:case 104:case 110:case 95:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 98:case 84:case 103:case 43:case 68:case 79:return!0;case 100:return Ci(Ma);default:return Yi()}}function Dc(){if(Kp())return!0;switch(Re()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 45:case 46:case 29:case 133:case 125:case 80:return!0;default:return U_()?!0:Yi()}}function $p(){return Re()!==18&&Re()!==98&&Re()!==84&&Re()!==59&&Dc()}function lc(){var Be=Kn();Be&&Ue(!1);for(var gr=we(),Yr=kc(!0),mn;mn=Xi(27);)Yr=s_(Yr,mn,kc(!0),gr);return Be&&Ue(!0),Yr}function Rl(){return qi(63)?kc(!0):void 0}function kc(Be){if(Qp())return hd();var gr=Xp(Be)||cp(Be);if(gr)return gr;var Yr=we(),mn=gf(0);return mn.kind===79&&Re()===38?yd(Yr,mn,Be,void 0):e.isLeftHandSideExpression(mn)&&e.isAssignmentOperator(xn())?s_(mn,uo(),kc(Be),Yr):Vu(mn,Yr,Be)}function Qp(){return Re()===125?bn()?!0:Ci(Fu):!1}function sp(){return gn(),!y.hasPrecedingLineBreak()&&Yi()}function hd(){var Be=we();return gn(),!y.hasPrecedingLineBreak()&&(Re()===41||Dc())?Or(a.createYieldExpression(Xi(41),kc(!0)),Be):Or(a.createYieldExpression(void 0,void 0),Be)}function yd(Be,gr,Yr,mn){e.Debug.assert(Re()===38,"parseSimpleArrowFunctionExpression should only have been called if we had a =>");var zn=a.createParameterDeclaration(void 0,void 0,gr,void 0,void 0,void 0);Or(zn,gr.pos);var ci=_r([zn],zn.pos,zn.end),at=po(38),vt=J_(!!mn,Yr),St=a.createArrowFunction(mn,void 0,ci,void 0,at,vt);return Nn(Or(St,Be))}function Xp(Be){var gr=Bl();if(gr!==0)return gr===1?up(!0,!0):Tt(function(){return B_(Be)})}function Bl(){return Re()===20||Re()===29||Re()===132?Ci(Jl):Re()===38?1:0}function Jl(){if(Re()===132&&(gn(),y.hasPrecedingLineBreak()||Re()!==20&&Re()!==29))return 0;var Be=Re(),gr=gn();if(Be===20){if(gr===21){var Yr=gn();switch(Yr){case 38:case 58:case 18:return 1;default:return 0}}if(gr===22||gr===18)return 2;if(gr===25)return 1;if(e.isModifierKind(gr)&&gr!==132&&Ci(hs))return gn()===128?0:1;if(!Yi()&&gr!==108)return 0;switch(gn()){case 58:return 1;case 57:return gn(),Re()===58||Re()===27||Re()===63||Re()===21?1:0;case 27:case 63:case 21:return 2}return 0}else{if(e.Debug.assert(Be===29),!Yi())return 0;if(jr===1){var mn=Ci(function(){var zn=gn();if(zn===94){var ci=gn();switch(ci){case 63:case 31:return!1;default:return!0}}else if(zn===27||zn===63)return!0;return!1});return mn?1:0}return 2}}function B_(Be){var gr=y.getTokenPos();if(!(ke!=null&&ke.has(gr))){var Yr=up(!1,Be);return Yr||(ke||(ke=new e.Set)).add(gr),Yr}}function cp(Be){if(Re()===132&&Ci(Yp)===1){var gr=we(),Yr=wd(),mn=gf(0);return yd(gr,mn,Be,Yr)}}function Yp(){if(Re()===132){if(gn(),y.hasPrecedingLineBreak()||Re()===38)return 0;var Be=gf(0);if(!y.hasPrecedingLineBreak()&&Be.kind===79&&Re()===38)return 1}return 0}function up(Be,gr){var Yr=we(),mn=Ir(),zn=wd(),ci=e.some(zn,e.isAsyncModifier)?2:0,at=Zt(),vt;if(ii(20)){if(Be)vt=$o(ci,Be);else{var St=$o(ci,Be);if(!St)return;vt=St}if(!ii(21)&&!Be)return}else{if(!Be)return;vt=Cn()}var Rt=Re()===58,Fa=Vo(58,!1);if(!(Fa&&!Be&&ol(Fa))){for(var Co=Fa;(Co==null?void 0:Co.kind)===193;)Co=Co.type;var ho=Co&&e.isJSDocFunctionType(Co);if(!(!Be&&Re()!==38&&(ho||Re()!==18))){var Mo=Re(),As=po(38),Sc=Mo===38||Mo===18?J_(e.some(zn,e.isAsyncModifier),gr):qe();if(!(!gr&&Rt&&Re()!==58)){var as=a.createArrowFunction(zn,at,vt,Fa,As,Sc);return Ur(Or(as,Yr),mn)}}}}function J_(Be,gr){if(Re()===18)return Df(Be?2:0);if(Re()!==26&&Re()!==98&&Re()!==84&&Jf()&&!$p())return Df(16|(Be?2:0));var Yr=Mr;Mr=!1;var mn=Be?Fr(function(){return kc(gr)}):Vr(function(){return kc(gr)});return Mr=Yr,mn}function Vu(Be,gr,Yr){var mn=Xi(57);if(!mn)return Be;var zn;return Or(a.createConditionalExpression(Be,mn,Ne(X,function(){return kc(!1)}),zn=po(58),e.nodeIsPresent(zn)?kc(Yr):hi(79,!1,e.Diagnostics._0_expected,e.tokenToString(58))),gr)}function gf(Be){var gr=we(),Yr=z_();return j_(Be,Yr,gr)}function Dd(Be){return Be===101||Be===162}function j_(Be,gr,Yr){for(;;){xn();var mn=e.getBinaryOperatorPrecedence(Re()),zn=Re()===42?mn>=Be:mn>Be;if(!zn||Re()===101&&qn())break;if(Re()===128||Re()===150){if(y.hasPrecedingLineBreak())break;var ci=Re();gn(),gr=ci===150?Mf(gr,ks()):mf(gr,ks())}else gr=s_(gr,uo(),gf(mn),Yr)}return gr}function U_(){return qn()&&Re()===101?!1:e.getBinaryOperatorPrecedence(Re())>0}function Mf(Be,gr){return Or(a.createSatisfiesExpression(Be,gr),Be.pos)}function s_(Be,gr,Yr,mn){return Or(a.createBinaryExpression(Be,gr,Yr),mn)}function mf(Be,gr){return Or(a.createAsExpression(Be,gr),Be.pos)}function bd(){var Be=we();return Or(a.createPrefixUnaryExpression(Re(),Un(wu)),Be)}function vf(){var Be=we();return Or(a.createDeleteExpression(Un(wu)),Be)}function Ac(){var Be=we();return Or(a.createTypeOfExpression(Un(wu)),Be)}function cl(){var Be=we();return Or(a.createVoidExpression(Un(wu)),Be)}function hf(){return Re()===133?Ai()?!0:Ci(Fu):!1}function Sd(){var Be=we();return Or(a.createAwaitExpression(Un(wu)),Be)}function z_(){if(Lf()){var Be=we(),gr=ul();return Re()===42?j_(e.getBinaryOperatorPrecedence(Re()),gr,Be):gr}var Yr=Re(),mn=wu();if(Re()===42){var Be=e.skipTrivia(dr,mn.pos),zn=mn.end;mn.kind===213?Ni(Be,zn,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):Ni(Be,zn,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(Yr))}return mn}function wu(){switch(Re()){case 39:case 40:case 54:case 53:return bd();case 89:return vf();case 112:return Ac();case 114:return cl();case 29:return wi();case 133:if(hf())return Sd();default:return ul()}}function Lf(){switch(Re()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 133:return!1;case 29:if(jr!==1)return!1;default:return!0}}function ul(){if(Re()===45||Re()===46){var Be=we();return Or(a.createPrefixUnaryExpression(Re(),Un(qu)),Be)}else if(jr===1&&Re()===29&&Ci(Ps))return Ou(!0);var gr=qu();if(e.Debug.assert(e.isLeftHandSideExpression(gr)),(Re()===45||Re()===46)&&!y.hasPrecedingLineBreak()){var Yr=Re();return gn(),Or(a.createPostfixUnaryExpression(gr,Yr),gr.pos)}return gr}function qu(){var Be=we(),gr;return Re()===100?Ci(io)?(ln|=2097152,gr=uo()):Ci(Po)?(gn(),gn(),gr=Or(a.createMetaProperty(100,tn()),Be),ln|=4194304):gr=Hu():gr=Re()===106?Gu():Hu(),Ko(Be,gr)}function Hu(){var Be=we(),gr=ls();return Ui(Be,gr,!0)}function Gu(){var Be=we(),gr=uo();if(Re()===29){var Yr=we(),mn=Tt(Kc);mn!==void 0&&(Ni(Yr,we(),e.Diagnostics.super_may_not_use_type_arguments),_u()||(gr=a.createExpressionWithTypeArguments(gr,mn)))}return Re()===20||Re()===24||Re()===22?gr:(po(24,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access),Or(a.createPropertyAccessExpression(gr,ys(!0,!0)),Be))}function Ou(Be,gr,Yr){var mn=we(),zn=Bo(Be),ci;if(zn.kind===283){var at=lp(zn),vt=void 0,St=at[at.length-1];if((St==null?void 0:St.kind)===281&&!be(St.openingElement.tagName,St.closingElement.tagName)&&be(zn.tagName,St.closingElement.tagName)){var Rt=St.children.end,Fa=Or(a.createJsxElement(St.openingElement,St.children,Or(a.createJsxClosingElement(Or(a.createIdentifier(""),Rt,Rt)),Rt,Rt)),St.openingElement.pos,Rt);at=_r(Hn(Hn([],at.slice(0,at.length-1),!0),[Fa],!1),at.pos,Rt),vt=St.closingElement}else vt=_p(zn,Be),be(zn.tagName,vt.tagName)||(Yr&&e.isJsxOpeningElement(Yr)&&be(vt.tagName,Yr.tagName)?mi(zn.tagName,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(dr,zn.tagName)):mi(vt.tagName,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(dr,zn.tagName)));ci=Or(a.createJsxElement(zn,at,vt),mn)}else zn.kind===286?ci=Or(a.createJsxFragment(zn,lp(zn),_s(Be)),mn):(e.Debug.assert(zn.kind===282),ci=zn);if(Be&&Re()===29){var Co=typeof gr>"u"?ci.pos:gr,ho=Tt(function(){return Ou(!0,Co)});if(ho){var Mo=hi(27,!1);return e.setTextRangePosWidth(Mo,ho.pos,0),Ni(e.skipTrivia(dr,Co),ho.end,e.Diagnostics.JSX_expressions_must_have_one_parent_element),Or(a.createBinaryExpression(ci,Mo,ho),mn)}}return ci}function Zp(){var Be=we(),gr=a.createJsxText(y.getTokenValue(),pn===12);return pn=y.scanJsxToken(),Or(gr,Be)}function xd(Be,gr){switch(gr){case 1:if(e.isJsxOpeningFragment(Be))mi(Be,e.Diagnostics.JSX_fragment_has_no_corresponding_closing_tag);else{var Yr=Be.tagName,mn=e.skipTrivia(dr,Yr.pos);Ni(mn,Yr.end,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(dr,Be.tagName))}return;case 30:case 7:return;case 11:case 12:return Zp();case 18:return fp(!1);case 29:return Ou(!1,void 0,Be);default:return e.Debug.assertNever(gr)}}function lp(Be){var gr=[],Yr=we(),mn=Ar;for(Ar|=1<<14;;){var zn=xd(Be,pn=y.reScanJsxToken());if(!zn||(gr.push(zn),e.isJsxOpeningElement(Be)&&(zn==null?void 0:zn.kind)===281&&!be(zn.openingElement.tagName,zn.closingElement.tagName)&&be(Be.tagName,zn.closingElement.tagName)))break}return Ar=mn,_r(gr,Yr)}function Cd(){var Be=we();return Or(a.createJsxAttributes(Zo(13,W_)),Be)}function Bo(Be){var gr=we();if(ii(29),Re()===31)return $i(),Or(a.createJsxOpeningFragment(),gr);var Yr=yf(),mn=cr&262144?void 0:_n(),zn=Cd(),ci;return Re()===31?($i(),ci=a.createJsxOpeningElement(Yr,mn,zn)):(ii(43),ii(31,void 0,!1)&&(Be?gn():$i()),ci=a.createJsxSelfClosingElement(Yr,mn,zn)),Or(ci,gr)}function yf(){var Be=we();Vn();for(var gr=Re()===108?uo():tn();qi(24);)gr=Or(a.createPropertyAccessExpression(gr,ys(!0,!1)),Be);return gr}function fp(Be){var gr=we();if(ii(18)){var Yr,mn;return Re()!==19&&(Yr=Xi(25),mn=lc()),Be?ii(19):ii(19,void 0,!1)&&$i(),Or(a.createJsxExpression(Yr,mn),gr)}}function W_(){if(Re()===18)return Rf();Vn();var Be=we();return Or(a.createJsxAttribute(tn(),c_()),Be)}function c_(){if(Re()===63){if(pt()===10)return $s();if(Re()===18)return fp(!0);if(Re()===29)return Ou(!0);ai(e.Diagnostics.or_JSX_element_expected)}}function Rf(){var Be=we();ii(18),ii(25);var gr=lc();return ii(19),Or(a.createJsxSpreadAttribute(gr),Be)}function _p(Be,gr){var Yr=we();ii(30);var mn=yf();return ii(31,void 0,!1)&&(gr||!be(Be.tagName,mn)?gn():$i()),Or(a.createJsxClosingElement(mn),Yr)}function _s(Be){var gr=we();return ii(30),e.tokenIsIdentifierOrKeyword(Re())&&mi(yf(),e.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment),ii(31,void 0,!1)&&(Be?gn():$i()),Or(a.createJsxJsxClosingFragment(),gr)}function wi(){var Be=we();ii(29);var gr=ks();ii(31);var Yr=wu();return Or(a.createTypeAssertion(gr,Yr),Be)}function Rs(){return gn(),e.tokenIsIdentifierOrKeyword(Re())||Re()===22||_u()}function $t(){return Re()===28&&Ci(Rs)}function Qs(Be){if(Be.flags&32)return!0;if(e.isNonNullExpression(Be)){for(var gr=Be.expression;e.isNonNullExpression(gr)&&!(gr.flags&32);)gr=gr.expression;if(gr.flags&32){for(;e.isNonNullExpression(Be);)Be.flags|=32,Be=Be.expression;return!0}}return!1}function Ed(Be,gr,Yr){var mn=ys(!0,!0),zn=Yr||Qs(gr),ci=zn?a.createPropertyAccessChain(gr,Yr,mn):a.createPropertyAccessExpression(gr,mn);if(zn&&e.isPrivateIdentifier(ci.name)&&mi(ci.name,e.Diagnostics.An_optional_chain_cannot_contain_private_identifiers),e.isExpressionWithTypeArguments(gr)&&gr.typeArguments){var at=gr.typeArguments.pos-1,vt=e.skipTrivia(dr,gr.typeArguments.end)+1;Ni(at,vt,e.Diagnostics.An_instantiation_expression_cannot_be_followed_by_a_property_access)}return Or(ci,Be)}function Nc(Be,gr,Yr){var mn;if(Re()===23)mn=hi(79,!0,e.Diagnostics.An_element_access_expression_should_take_an_argument);else{var zn=Qe(lc);e.isStringOrNumericLiteralLike(zn)&&(zn.text=bt(zn.text)),mn=zn}ii(23);var ci=Yr||Qs(gr)?a.createElementAccessChain(gr,Yr,mn):a.createElementAccessExpression(gr,mn);return Or(ci,Be)}function Ui(Be,gr,Yr){for(;;){var mn=void 0,zn=!1;if(Yr&&$t()?(mn=po(28),zn=e.tokenIsIdentifierOrKeyword(Re())):zn=qi(24),zn){gr=Ed(Be,gr,mn);continue}if((mn||!Kn())&&qi(22)){gr=Nc(Be,gr,mn);continue}if(_u()){gr=!mn&&gr.kind===230?du(Be,gr.expression,mn,gr.typeArguments):du(Be,gr,mn,void 0);continue}if(!mn){if(Re()===53&&!y.hasPrecedingLineBreak()){gn(),gr=Or(a.createNonNullExpression(gr),Be);continue}var ci=Tt(Kc);if(ci){gr=Or(a.createExpressionWithTypeArguments(gr,ci),Be);continue}}return gr}}function _u(){return Re()===14||Re()===15}function du(Be,gr,Yr,mn){var zn=a.createTaggedTemplateExpression(gr,mn,Re()===14?(Qn(),$s()):Ms(!0));return(Yr||gr.flags&32)&&(zn.flags|=32),zn.questionDotToken=Yr,Or(zn,Be)}function Ko(Be,gr){for(;;){gr=Ui(Be,gr,!0);var Yr=void 0,mn=Xi(28);if(mn&&(Yr=Tt(Kc),_u())){gr=du(Be,gr,mn,Yr);continue}if(Yr||Re()===20){!mn&&gr.kind===230&&(Yr=gr.typeArguments,gr=gr.expression);var zn=Pc(),ci=mn||Qs(gr)?a.createCallChain(gr,mn,Yr,zn):a.createCallExpression(gr,Yr,zn);gr=Or(ci,Be);continue}if(mn){var at=hi(79,!1,e.Diagnostics.Identifier_expected);gr=Or(a.createPropertyAccessChain(gr,mn,at),Be)}break}return gr}function Pc(){ii(20);var Be=ha(11,ll);return ii(21),Be}function Kc(){if(!(cr&262144)&&Ke()===29){gn();var Be=ha(20,ks);if(xn()===31)return gn(),Be&&Td()?Be:void 0}}function Td(){switch(Re()){case 20:case 14:case 15:return!0;case 29:case 31:case 39:case 40:return!1}return y.hasPrecedingLineBreak()||U_()||!Dc()}function ls(){switch(Re()){case 8:case 9:case 10:case 14:return $s();case 108:case 106:case 104:case 110:case 95:return uo();case 20:return Cl();case 22:return Bs();case 18:return u_();case 132:if(!Ci(__))break;return l_();case 84:return bc();case 98:return l_();case 103:return eg();case 43:case 68:if(Dn()===13)return $s();break;case 15:return Ms(!1);case 80:return Mn()}return qe(e.Diagnostics.Expression_expected)}function Cl(){var Be=we(),gr=Ir();ii(20);var Yr=Qe(lc);return ii(21),Ur(Or(a.createParenthesizedExpression(Yr),Be),gr)}function Bf(){var Be=we();ii(25);var gr=kc(!0);return Or(a.createSpreadElement(gr),Be)}function V_(){return Re()===25?Bf():Re()===27?Or(a.createOmittedExpression(),we()):kc(!0)}function ll(){return Ne(X,V_)}function Bs(){var Be=we(),gr=y.getTokenPos(),Yr=ii(22),mn=y.hasPrecedingLineBreak(),zn=ha(15,V_);return Na(22,23,Yr,gr),Or(a.createArrayLiteralExpression(zn,mn),Be)}function El(){var Be=we(),gr=Ir();if(Xi(25)){var Yr=kc(!0);return Ur(Or(a.createSpreadAssignment(Yr),Be),gr)}var mn=Hl(),zn=Ku();if(di(137))return bu(Be,gr,mn,zn,174,0);if(di(151))return bu(Be,gr,mn,zn,175,0);var ci=Xi(41),at=Yi(),vt=ur(),St=Xi(57),Rt=Xi(53);if(ci||Re()===20||Re()===29)return dl(Be,gr,mn,zn,ci,vt,St,Rt);var Fa,Co=at&&Re()!==58;if(Co){var ho=Xi(63),Mo=ho?Qe(function(){return kc(!0)}):void 0;Fa=a.createShorthandPropertyAssignment(vt,Mo),Fa.equalsToken=ho}else{ii(58);var As=Qe(function(){return kc(!0)});Fa=a.createPropertyAssignment(vt,As)}return Fa.illegalDecorators=mn,Fa.modifiers=zn,Fa.questionToken=St,Fa.exclamationToken=Rt,Ur(Or(Fa,Be),gr)}function u_(){var Be=we(),gr=y.getTokenPos(),Yr=ii(18),mn=y.hasPrecedingLineBreak(),zn=ha(12,El,!0);return Na(18,19,Yr,gr),Or(a.createObjectLiteralExpression(zn,mn),Be)}function l_(){var Be=Kn();Ue(!1);var gr=we(),Yr=Ir(),mn=Ku();ii(98);var zn=Xi(41),ci=zn?1:0,at=e.some(mn,e.isAsyncModifier)?2:0,vt=ci&&at?fn(jl):ci?Sr(jl):at?Fr(jl):jl(),St=Zt(),Rt=de(ci|at),Fa=Vo(58,!1),Co=Df(ci|at);Ue(Be);var ho=a.createFunctionExpression(mn,zn,vt,St,Rt,Fa,Co);return Ur(Or(ho,gr),Yr)}function jl(){return st()?Ia():void 0}function eg(){var Be=we();if(ii(103),qi(24)){var gr=tn();return Or(a.createMetaProperty(103,gr),Be)}var Yr=we(),mn=Ui(Yr,ls(),!1),zn;mn.kind===230&&(zn=mn.typeArguments,mn=mn.expression),Re()===28&&ai(e.Diagnostics.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0,e.getTextOfNodeFromSourceText(dr,mn));var ci=Re()===20?Pc():void 0;return Or(a.createNewExpression(mn,zn,ci),Be)}function Vs(Be,gr){var Yr=we(),mn=Ir(),zn=y.getTokenPos(),ci=ii(18,gr);if(ci||Be){var at=y.hasPrecedingLineBreak(),vt=Zo(1,Io);Na(18,19,ci,zn);var St=Ur(Or(a.createBlock(vt,at),Yr),mn);return Re()===63&&(ai(e.Diagnostics.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses),gn()),St}else{var vt=Cn();return Ur(Or(a.createBlock(vt,void 0),Yr),mn)}}function Df(Be,gr){var Yr=bn();sn(!!(Be&1));var mn=Ai();br(!!(Be&2));var zn=Mr;Mr=!1;var ci=Kn();ci&&Ue(!1);var at=Vs(!!(Be&16),gr);return ci&&Ue(!0),Mr=zn,sn(Yr),br(mn),at}function au(){var Be=we(),gr=Ir();return ii(26),Ur(Or(a.createEmptyStatement(),Be),gr)}function dp(){var Be=we(),gr=Ir();ii(99);var Yr=y.getTokenPos(),mn=ii(20),zn=Qe(lc);Na(20,21,mn,Yr);var ci=Io(),at=qi(91)?Io():void 0;return Ur(Or(a.createIfStatement(zn,ci,at),Be),gr)}function bf(){var Be=we(),gr=Ir();ii(90);var Yr=Io();ii(115);var mn=y.getTokenPos(),zn=ii(20),ci=Qe(lc);return Na(20,21,zn,mn),qi(26),Ur(Or(a.createDoStatement(Yr,ci),Be),gr)}function Sf(){var Be=we(),gr=Ir();ii(115);var Yr=y.getTokenPos(),mn=ii(20),zn=Qe(lc);Na(20,21,mn,Yr);var ci=Io();return Ur(Or(a.createWhileStatement(zn,ci),Be),gr)}function kd(){var Be=we(),gr=Ir();ii(97);var Yr=Xi(133);ii(20);var mn;Re()!==26&&(Re()===113||Re()===119||Re()===85?mn=Nd(!0):mn=pe(lc));var zn;if(Yr?ii(162):qi(162)){var ci=Qe(function(){return kc(!0)});ii(21),zn=a.createForOfStatement(Yr,mn,ci,Io())}else if(qi(101)){var ci=Qe(lc);ii(21),zn=a.createForInStatement(mn,ci,Io())}else{ii(26);var at=Re()!==26&&Re()!==21?Qe(lc):void 0;ii(26);var vt=Re()!==21?Qe(lc):void 0;ii(21),zn=a.createForStatement(mn,at,vt,Io())}return Ur(Or(zn,Be),gr)}function Ul(Be){var gr=we(),Yr=Ir();ii(Be===249?81:86);var mn=Yo()?void 0:qe();No();var zn=Be===249?a.createBreakStatement(mn):a.createContinueStatement(mn);return Ur(Or(zn,gr),Yr)}function fl(){var Be=we(),gr=Ir();ii(105);var Yr=Yo()?void 0:Qe(lc);return No(),Ur(Or(a.createReturnStatement(Yr),Be),gr)}function Ad(){var Be=we(),gr=Ir();ii(116);var Yr=y.getTokenPos(),mn=ii(20),zn=Qe(lc);Na(20,21,mn,Yr);var ci=Ze(33554432,Io);return Ur(Or(a.createWithStatement(zn,ci),Be),gr)}function Is(){var Be=we(),gr=Ir();ii(82);var Yr=Qe(lc);ii(58);var mn=Zo(3,Io);return Ur(Or(a.createCaseClause(Yr,mn),Be),gr)}function Ic(){var Be=we();ii(88),ii(58);var gr=Zo(3,Io);return Or(a.createDefaultClause(gr),Be)}function Js(){return Re()===82?Is():Ic()}function xf(){var Be=we();ii(18);var gr=Zo(2,Js);return ii(19),Or(a.createCaseBlock(gr),Be)}function q_(){var Be=we(),gr=Ir();ii(107),ii(20);var Yr=Qe(lc);ii(21);var mn=xf();return Ur(Or(a.createSwitchStatement(Yr,mn),Be),gr)}function Ya(){var Be=we(),gr=Ir();ii(109);var Yr=y.hasPrecedingLineBreak()?void 0:Qe(lc);return Yr===void 0&&(Ve++,Yr=Or(a.createIdentifier(""),we())),is()||za(Yr),Ur(Or(a.createThrowStatement(Yr),Be),gr)}function Wi(){var Be=we(),gr=Ir();ii(111);var Yr=Vs(!1),mn=Re()===83?wc():void 0,zn;return(!mn||Re()===96)&&(ii(96,e.Diagnostics.catch_or_finally_expected),zn=Vs(!1)),Ur(Or(a.createTryStatement(Yr,mn,zn),Be),gr)}function wc(){var Be=we();ii(83);var gr;qi(20)?(gr=H_(),ii(21)):gr=void 0;var Yr=Vs(!1);return Or(a.createCatchClause(gr,Yr),Be)}function Ag(){var Be=we(),gr=Ir();return ii(87),No(),Ur(Or(a.createDebuggerStatement(),Be),gr)}function f_(){var Be=we(),gr=Ir(),Yr,mn=Re()===20,zn=Qe(lc);return e.isIdentifier(zn)&&qi(58)?Yr=a.createLabeledStatement(zn,Io()):(is()||za(zn),Yr=a.createExpressionStatement(zn),mn&&(gr=!1)),Ur(Or(Yr,Be),gr)}function Cf(){return gn(),e.tokenIsIdentifierOrKeyword(Re())&&!y.hasPrecedingLineBreak()}function Tl(){return gn(),Re()===84&&!y.hasPrecedingLineBreak()}function __(){return gn(),Re()===98&&!y.hasPrecedingLineBreak()}function Fu(){return gn(),(e.tokenIsIdentifierOrKeyword(Re())||Re()===8||Re()===9||Re()===10)&&!y.hasPrecedingLineBreak()}function _l(){for(;;)switch(Re()){case 113:case 119:case 85:case 98:case 84:case 92:return!0;case 118:case 154:return sp();case 142:case 143:return d_();case 126:case 127:case 132:case 136:case 121:case 122:case 123:case 146:if(gn(),y.hasPrecedingLineBreak())return!1;continue;case 159:return gn(),Re()===18||Re()===79||Re()===93;case 100:return gn(),Re()===10||Re()===41||Re()===18||e.tokenIsIdentifierOrKeyword(Re());case 93:var Be=gn();if(Be===154&&(Be=Ci(gn)),Be===63||Be===41||Be===18||Be===88||Be===128)return!0;continue;case 124:gn();continue;default:return!1}}function zl(){return Ci(_l)}function Jf(){switch(Re()){case 59:case 26:case 18:case 113:case 119:case 98:case 84:case 92:case 99:case 90:case 115:case 97:case 86:case 81:case 105:case 116:case 107:case 109:case 111:case 87:case 83:case 96:return!0;case 100:return zl()||Ci(Ma);case 85:case 93:return zl();case 132:case 136:case 118:case 142:case 143:case 154:case 159:return!0;case 127:case 123:case 121:case 122:case 124:case 146:return zl()||!Ci(Cf);default:return Dc()}}function $c(){return gn(),st()||Re()===18||Re()===22}function rg(){return Ci($c)}function Io(){switch(Re()){case 26:return au();case 18:return Vs(!1);case 113:return Vl(we(),Ir(),void 0,void 0);case 119:if(rg())return Vl(we(),Ir(),void 0,void 0);break;case 98:return Mu(we(),Ir(),void 0,void 0);case 84:return G_(we(),Ir(),void 0,void 0);case 99:return dp();case 90:return bf();case 115:return Sf();case 97:return kd();case 86:return Ul(248);case 81:return Ul(249);case 105:return fl();case 116:return Ad();case 107:return q_();case 109:return Ya();case 111:case 83:case 96:return Wi();case 87:return Ag();case 59:return jf();case 132:case 118:case 154:case 142:case 143:case 136:case 85:case 92:case 93:case 100:case 121:case 122:case 123:case 126:case 127:case 124:case 146:case 159:if(zl())return jf();break}return f_()}function Qc(Be){return Be.kind===136}function jf(){var Be=we(),gr=Ir(),Yr=Hl(),mn=Ku(),zn=e.some(mn,Qc);if(zn){var ci=pu(Be);if(ci)return ci;for(var at=0,vt=mn;at=0),e.Debug.assert(Rt<=ho),e.Debug.assert(ho<=Co.length),!Y(Co,Rt))return;var Mo,As,Sc,as,xu,Yc=[],Xs=[];return y.scanRange(Rt+3,Fa-5,function(){var Pi=1,kt,wt=Rt-(Co.lastIndexOf(` +`,Rt)+1)+4;function it(cu){kt||(kt=wt),Yc.push(cu),wt+=cu.length}for(rn();D_(5););D_(4)&&(Pi=0,wt=0);e:for(;;){switch(Re()){case 59:Pi===0||Pi===1?(gl(Yc),xu||(xu=we()),Li(H(wt)),Pi=0,kt=void 0):it(y.getTokenText());break;case 4:Yc.push(y.getTokenText()),Pi=0,wt=0;break;case 41:var va=y.getTokenText();Pi===1||Pi===2?(Pi=2,it(va)):(Pi=1,wt+=va.length);break;case 5:var Za=y.getTokenText();Pi===2?Yc.push(Za):kt!==void 0&&wt+Za.length>kt&&Yc.push(Za.slice(kt-wt)),wt+=Za.length;break;case 1:break e;case 18:Pi=2;var ds=y.getStartPos(),Mc=y.getTextPos()-1,Lc=oi(Mc);if(Lc){as||Fc(Yc),Xs.push(Or(a.createJSDocText(Yc.join("")),as??Rt,ds)),Xs.push(Lc),Yc=[],as=y.getTextPos();break}default:Pi=2,it(y.getTokenText());break}rn()}gl(Yc),Xs.length&&Yc.length&&Xs.push(Or(a.createJSDocText(Yc.join("")),as??Rt,xu)),Xs.length&&Mo&&e.Debug.assertIsDefined(xu,"having parsed tags implies that the end of the comment span should be set");var Qu=Mo&&_r(Mo,As,Sc);return Or(a.createJSDocComment(Xs.length?_r(Xs,Rt,xu):Yc.length?Yc.join(""):void 0,Qu),Rt,ho)});function Fc(Pi){for(;Pi.length&&(Pi[0]===` +`||Pi[0]==="\r");)Pi.shift()}function gl(Pi){for(;Pi.length&&Pi[Pi.length-1].trim()==="";)Pi.pop()}function y_(){for(;;){if(rn(),Re()===1)return!0;if(!(Re()===5||Re()===4))return!1}}function zs(){if(!((Re()===5||Re()===4)&&Ci(y_)))for(;Re()===5||Re()===4;)rn()}function m(){if((Re()===5||Re()===4)&&Ci(y_))return"";for(var Pi=y.hasPrecedingLineBreak(),kt=!1,wt="";Pi&&Re()===41||Re()===5||Re()===4;)wt+=y.getTokenText(),Re()===4?(Pi=!0,kt=!0,wt=""):Re()===41&&(Pi=!1),rn();return kt?wt:""}function H(Pi){e.Debug.assert(Re()===59);var kt=y.getTokenPos();rn();var wt=Q_(void 0),it=m(),va;switch(wt.escapedText){case"author":va=ry(kt,wt,Pi,it);break;case"implements":va=om(kt,wt,Pi,it);break;case"augments":case"extends":va=sm(kt,wt,Pi,it);break;case"class":case"constructor":va=fc(kt,a.createJSDocClassTag,wt,Pi,it);break;case"public":va=fc(kt,a.createJSDocPublicTag,wt,Pi,it);break;case"private":va=fc(kt,a.createJSDocPrivateTag,wt,Pi,it);break;case"protected":va=fc(kt,a.createJSDocProtectedTag,wt,Pi,it);break;case"readonly":va=fc(kt,a.createJSDocReadonlyTag,wt,Pi,it);break;case"override":va=fc(kt,a.createJSDocOverrideTag,wt,Pi,it);break;case"deprecated":En=!0,va=fc(kt,a.createJSDocDeprecatedTag,wt,Pi,it);break;case"this":va=ny(kt,wt,Pi,it);break;case"enum":va=nv(kt,wt,Pi,it);break;case"arg":case"argument":case"param":return qf(kt,wt,2,Pi);case"return":case"returns":va=Bd(kt,wt,Pi,it);break;case"template":va=tv(kt,wt,Pi,it);break;case"type":va=ev(kt,wt,Pi,it);break;case"typedef":va=su(kt,wt,Pi,it);break;case"callback":va=ty(kt,wt,Pi,it);break;case"see":va=Ef(kt,wt,Pi,it);break;default:va=js(kt,wt,Pi,it);break}return va}function he(Pi,kt,wt,it){return it||(wt+=kt-Pi),nr(wt,it.slice(wt))}function nr(Pi,kt){var wt=we(),it=[],va=[],Za,ds=0,Mc=!0,Lc;function Qu(Jd){Lc||(Lc=Pi),it.push(Jd),Pi+=Jd.length}kt!==void 0&&(kt!==""&&Qu(kt),ds=1);var cu=Re();e:for(;;){switch(cu){case 4:ds=0,it.push(y.getTokenText()),Pi=0;break;case 59:if(ds===3||ds===2&&(!Mc||Ci(Zr))){it.push(y.getTokenText());break}y.setTextPos(y.getTextPos()-1);case 1:break e;case 5:if(ds===2||ds===3)Qu(y.getTokenText());else{var Kl=y.getTokenText();Lc!==void 0&&Pi+Kl.length>Lc&&it.push(Kl.slice(Lc-Pi)),Pi+=Kl.length}break;case 18:ds=2;var hp=y.getStartPos(),ug=y.getTextPos()-1,Eu=oi(ug);Eu?(va.push(Or(a.createJSDocText(it.join("")),Za??wt,hp)),va.push(Eu),it=[],Za=y.getTextPos()):Qu(y.getTokenText());break;case 61:ds===3?ds=2:ds=3,Qu(y.getTokenText());break;case 41:if(ds===0){ds=1,Pi+=1;break}default:ds!==3&&(ds=2),Qu(y.getTokenText());break}Mc=Re()===5,cu=rn()}if(Fc(it),gl(it),va.length)return it.length&&va.push(Or(a.createJSDocText(it.join("")),Za??wt)),_r(va,wt,y.getTextPos());if(it.length)return it.join("")}function Zr(){var Pi=rn();return Pi===5||Pi===4}function oi(Pi){var kt=Tt(_t);if(kt){rn(),zs();var wt=we(),it=e.tokenIsIdentifierOrKeyword(Re())?Ca(!0):void 0;if(it)for(;Re()===80;)cn(),rn(),it=Or(a.createJSDocMemberName(it,qe()),wt);for(var va=[];Re()!==19&&Re()!==4&&Re()!==1;)va.push(y.getTokenText()),rn();var Za=kt==="link"?a.createJSDocLink:kt==="linkcode"?a.createJSDocLinkCode:a.createJSDocLinkPlain;return Or(Za(it,va.join("")),Pi,y.getTextPos())}}function _t(){if(m(),Re()===18&&rn()===59&&e.tokenIsIdentifierOrKeyword(rn())){var Pi=y.getTokenValue();if(ja(Pi))return Pi}}function ja(Pi){return Pi==="link"||Pi==="linkcode"||Pi==="linkplain"}function js(Pi,kt,wt,it){return Or(a.createJSDocUnknownTag(kt,he(Pi,we(),wt,it)),Pi)}function Li(Pi){Pi&&(Mo?Mo.push(Pi):(Mo=[Pi],As=Pi.pos),Sc=Pi.end)}function $u(){return m(),Re()===18?Yr():void 0}function Cu(){var Pi=D_(22);Pi&&zs();var kt=D_(61),wt=um();return kt&&ws(61),Pi&&(zs(),Xi(63)&&lc(),ii(23)),{name:wt,isBracketed:Pi}}function Vf(Pi){switch(Pi.kind){case 149:return!0;case 185:return Vf(Pi.elementType);default:return e.isTypeReferenceNode(Pi)&&e.isIdentifier(Pi.typeName)&&Pi.typeName.escapedText==="Object"&&!Pi.typeArguments}}function qf(Pi,kt,wt,it){var va=$u(),Za=!va;m();var ds=Cu(),Mc=ds.name,Lc=ds.isBracketed,Qu=m();Za&&!Ci(_t)&&(va=$u());var cu=he(Pi,we(),it,Qu),Kl=wt!==4&&tm(va,Mc,wt,it);Kl&&(va=Kl,Za=!0);var hp=wt===1?a.createJSDocPropertyTag(kt,Mc,Lc,va,Za,cu):a.createJSDocParameterTag(kt,Mc,Lc,va,Za,cu);return Or(hp,Pi)}function tm(Pi,kt,wt,it){if(Pi&&Vf(Pi.type)){for(var va=we(),Za=void 0,ds=void 0;Za=Tt(function(){return cm(wt,it,kt)});)(Za.kind===343||Za.kind===350)&&(ds=e.append(ds,Za));if(ds){var Mc=Or(a.createJSDocTypeLiteral(ds,Pi.type.kind===185),va);return Or(a.createJSDocTypeExpression(Mc),va)}}}function Bd(Pi,kt,wt,it){e.some(Mo,e.isJSDocReturnTag)&&Ni(kt.pos,y.getTokenPos(),e.Diagnostics._0_tag_already_specified,kt.escapedText);var va=$u();return Or(a.createJSDocReturnTag(kt,va,he(Pi,we(),wt,it)),Pi)}function ev(Pi,kt,wt,it){e.some(Mo,e.isJSDocTypeTag)&&Ni(kt.pos,y.getTokenPos(),e.Diagnostics._0_tag_already_specified,kt.escapedText);var va=Yr(!0),Za=wt!==void 0&&it!==void 0?he(Pi,we(),wt,it):void 0;return Or(a.createJSDocTypeTag(kt,va,Za),Pi)}function Ef(Pi,kt,wt,it){var va=Re()===22||Ci(function(){return rn()===59&&e.tokenIsIdentifierOrKeyword(rn())&&ja(y.getTokenValue())}),Za=va?void 0:mn(),ds=wt!==void 0&&it!==void 0?he(Pi,we(),wt,it):void 0;return Or(a.createJSDocSeeTag(kt,Za,ds),Pi)}function ry(Pi,kt,wt,it){var va=we(),Za=am(),ds=y.getStartPos(),Mc=he(Pi,ds,wt,it);Mc||(ds=y.getStartPos());var Lc=typeof Mc!="string"?_r(e.concatenate([Or(Za,va,ds)],Mc),va):Za.text+Mc;return Or(a.createJSDocAuthorTag(kt,Lc),Pi)}function am(){for(var Pi=[],kt=!1,wt=y.getToken();wt!==1&&wt!==4;){if(wt===29)kt=!0;else{if(wt===59&&!kt)break;if(wt===31&&kt){Pi.push(y.getTokenText()),y.setTextPos(y.getTokenPos()+1);break}}Pi.push(y.getTokenText()),wt=rn()}return a.createJSDocText(Pi.join(""))}function om(Pi,kt,wt,it){var va=rv();return Or(a.createJSDocImplementsTag(kt,va,he(Pi,we(),wt,it)),Pi)}function sm(Pi,kt,wt,it){var va=rv();return Or(a.createJSDocAugmentsTag(kt,va,he(Pi,we(),wt,it)),Pi)}function rv(){var Pi=qi(18),kt=we(),wt=Og(),it=_n(),va=a.createExpressionWithTypeArguments(wt,it),Za=Or(va,kt);return Pi&&ii(19),Za}function Og(){for(var Pi=we(),kt=Q_();qi(24);){var wt=Q_();kt=Or(a.createPropertyAccessExpression(kt,wt),Pi)}return kt}function fc(Pi,kt,wt,it,va){return Or(kt(wt,he(Pi,we(),it,va)),Pi)}function ny(Pi,kt,wt,it){var va=Yr(!0);return zs(),Or(a.createJSDocThisTag(kt,va,he(Pi,we(),wt,it)),Pi)}function nv(Pi,kt,wt,it){var va=Yr(!0);return zs(),Or(a.createJSDocEnumTag(kt,va,he(Pi,we(),wt,it)),Pi)}function su(Pi,kt,wt,it){var va,Za=$u();m();var ds=iv();zs();var Mc=nr(wt),Lc;if(!Za||Vf(Za.type)){for(var Qu=void 0,cu=void 0,Kl=void 0,hp=!1;Qu=Tt(function(){return ay(wt)});)if(hp=!0,Qu.kind===346)if(cu){var ug=ai(e.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);ug&&e.addRelatedInfo(ug,e.createDetachedDiagnostic(qr,0,0,e.Diagnostics.The_tag_was_first_specified_here));break}else cu=Qu;else Kl=e.append(Kl,Qu);if(hp){var Eu=Za&&Za.type.kind===185,Jd=a.createJSDocTypeLiteral(Kl,Eu);Za=cu&&cu.typeExpression&&!Vf(cu.typeExpression.type)?cu.typeExpression:Or(Jd,Pi),Lc=Za.end}}Lc=Lc||Mc!==void 0?we():((va=ds??Za)!==null&&va!==void 0?va:kt).end,Mc||(Mc=he(Pi,Lc,wt,it));var yp=a.createJSDocTypedefTag(kt,Za,ds,Mc);return Or(yp,Pi,Lc)}function iv(Pi){var kt=y.getTokenPos();if(e.tokenIsIdentifierOrKeyword(Re())){var wt=Q_();if(qi(24)){var it=iv(!0),va=a.createModuleDeclaration(void 0,wt,it,Pi?4:void 0);return Or(va,kt)}return Pi&&(wt.isInJSDocNamespace=!0),wt}}function iy(Pi){for(var kt=we(),wt,it;wt=Tt(function(){return cm(4,Pi)});)it=e.append(it,wt);return _r(it||[],kt)}function ty(Pi,kt,wt,it){var va=iv();zs();var Za=nr(wt),ds=iy(wt),Mc=Tt(function(){if(D_(59)){var cu=H(wt);if(cu&&cu.kind===344)return cu}}),Lc=Or(a.createJSDocSignature(void 0,ds,Mc),Pi);Za||(Za=he(Pi,we(),wt,it));var Qu=Za!==void 0?we():Lc.end;return Or(a.createJSDocCallbackTag(kt,Lc,va,Za),Pi,Qu)}function cg(Pi,kt){for(;!e.isIdentifier(Pi)||!e.isIdentifier(kt);)if(!e.isIdentifier(Pi)&&!e.isIdentifier(kt)&&Pi.right.escapedText===kt.right.escapedText)Pi=Pi.left,kt=kt.left;else return!1;return Pi.escapedText===kt.escapedText}function ay(Pi){return cm(1,Pi)}function cm(Pi,kt,wt){for(var it=!0,va=!1;;)switch(rn()){case 59:if(it){var Za=vu(Pi,kt);return Za&&(Za.kind===343||Za.kind===350)&&Pi!==4&&wt&&(e.isIdentifier(Za.name)||!cg(wt,Za.name.left))?!1:Za}va=!1;break;case 4:it=!0,va=!1;break;case 41:va&&(it=!1),va=!0;break;case 79:it=!1;break;case 1:return!1}}function vu(Pi,kt){e.Debug.assert(Re()===59);var wt=y.getStartPos();rn();var it=Q_();zs();var va;switch(it.escapedText){case"type":return Pi===1&&ev(wt,it);case"prop":case"property":va=1;break;case"arg":case"argument":case"param":va=6;break;default:return!1}return Pi&va?qf(wt,it,Pi,kt):!1}function Yv(){var Pi=we(),kt=D_(22);kt&&zs();var wt=Q_(e.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces),it;if(kt&&(zs(),ii(63),it=Ze(8388608,Ji),ii(23)),!e.nodeIsMissing(wt))return Or(a.createTypeParameterDeclaration(void 0,wt,void 0,it),Pi)}function Fg(){var Pi=we(),kt=[];do{zs();var wt=Yv();wt!==void 0&&kt.push(wt),m()}while(D_(27));return _r(kt,Pi)}function tv(Pi,kt,wt,it){var va=Re()===18?Yr():void 0,Za=Fg();return Or(a.createJSDocTemplateTag(kt,va,Za,he(Pi,we(),wt,it)),Pi)}function D_(Pi){return Re()===Pi?(rn(),!0):!1}function um(){var Pi=Q_();for(qi(22)&&ii(23);qi(24);){var kt=Q_();qi(22)&&ii(23),Pi=lo(Pi,kt)}return Pi}function Q_(Pi){if(!e.tokenIsIdentifierOrKeyword(Re()))return hi(79,!Pi,Pi||e.Diagnostics.Identifier_expected);Ve++;var kt=y.getTokenPos(),wt=y.getTextPos(),it=Re(),va=bt(y.getTokenValue()),Za=Or(a.createIdentifier(va,void 0,it),kt,wt);return rn(),Za}}})(wg=ue.JSDocParser||(ue.JSDocParser={}))})(B||(B={}));var G;(function(ue){function y(dr,vr,kr,jr){if(jr=jr||e.Debug.shouldAssert(2),a(dr,vr,kr,jr),e.textChangeRangeIsUnchanged(kr))return dr;if(dr.statements.length===0)return B.parseSourceFile(dr.fileName,vr,dr.languageVersion,void 0,!0,dr.scriptKind,dr.setExternalModuleIndicator);var Cr=dr;e.Debug.assert(!Cr.hasBeenIncrementallyParsed),Cr.hasBeenIncrementallyParsed=!0,B.fixupParentReferences(Cr);var en=dr.text,Lr=qr(dr),pn=mr(dr,kr);a(dr,vr,pn,jr),e.Debug.assert(pn.span.start<=kr.span.start),e.Debug.assert(e.textSpanEnd(pn.span)===e.textSpanEnd(kr.span)),e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(pn))===e.textSpanEnd(e.textChangeRangeNewSpan(kr)));var ye=e.textChangeRangeNewSpan(pn).length-pn.span.length;wr(Cr,pn.span.start,e.textSpanEnd(pn.span),e.textSpanEnd(e.textChangeRangeNewSpan(pn)),ye,en,vr,jr);var or=B.parseSourceFile(dr.fileName,vr,dr.languageVersion,Lr,!0,dr.scriptKind,dr.setExternalModuleIndicator);return or.commentDirectives=X(dr.commentDirectives,or.commentDirectives,pn.span.start,e.textSpanEnd(pn.span),ye,en,vr,jr),or.impliedNodeFormat=dr.impliedNodeFormat,or}ue.updateSourceFile=y;function X(dr,vr,kr,jr,Cr,en,Lr,pn){if(!dr)return vr;for(var ye,or=!1,Pe=0,Ve=dr;Pejr){Rr();var Mr={range:{pos:ke.pos+Cr,end:ke.end+Cr},type:cr};ye=e.append(ye,Mr),pn&&e.Debug.assert(en.substring(ke.pos,ke.end)===Lr.substring(Mr.range.pos,Mr.range.end))}}return Rr(),ye;function Rr(){or||(or=!0,ye?vr&&ye.push.apply(ye,vr):ye=vr)}}function Ae(dr,vr,kr,jr,Cr,en){vr?pn(dr):Lr(dr);return;function Lr(ye){var or="";if(en&&Te(ye)&&(or=jr.substring(ye.pos,ye.end)),ye._children&&(ye._children=void 0),e.setTextRangePosEnd(ye,ye.pos+kr,ye.end+kr),en&&Te(ye)&&e.Debug.assert(or===Cr.substring(ye.pos,ye.end)),V(ye,Lr,pn),e.hasJSDocNodes(ye))for(var Pe=0,Ve=ye.jsDoc;Pe=vr,"Adjusting an element that was entirely before the change range"),e.Debug.assert(dr.pos<=kr,"Adjusting an element that was entirely after the change range"),e.Debug.assert(dr.pos<=dr.end);var en=Math.min(dr.pos,jr),Lr=dr.end>=kr?dr.end+Cr:Math.min(dr.end,jr);e.Debug.assert(en<=Lr),dr.parent&&(e.Debug.assertGreaterThanOrEqual(en,dr.parent.pos),e.Debug.assertLessThanOrEqual(Lr,dr.parent.end)),e.setTextRangePosEnd(dr,en,Lr)}function er(dr,vr){if(vr){var kr=dr.pos,jr=function(pn){e.Debug.assert(pn.pos>=kr),kr=pn.end};if(e.hasJSDocNodes(dr))for(var Cr=0,en=dr.jsDoc;Crkr){Ae(Pe,!1,Cr,en,Lr,pn);return}var Ve=Pe.end;if(Ve>=vr){if(Pe.intersectsChange=!0,Pe._children=void 0,Je(Pe,vr,kr,jr,Cr),V(Pe,ye,or),e.hasJSDocNodes(Pe))for(var Ar=0,ke=Pe.jsDoc;Arkr){Ae(Pe,!0,Cr,en,Lr,pn);return}var Ve=Pe.end;if(Ve>=vr){Pe.intersectsChange=!0,Pe._children=void 0,Je(Pe,vr,kr,jr,Cr);for(var Ar=0,ke=Pe;Ar0&&Cr<=kr;Cr++){var en=We(dr,jr);e.Debug.assert(en.pos<=jr);var Lr=en.pos;jr=Math.max(0,Lr-1)}var pn=e.createTextSpanFromBounds(jr,e.textSpanEnd(vr.span)),ye=vr.newLength+(vr.span.start-jr);return e.createTextChangeRange(pn,ye)}function We(dr,vr){var kr=dr,jr;if(V(dr,Lr),jr){var Cr=en(jr);Cr.pos>kr.pos&&(kr=Cr)}return kr;function en(pn){for(;;){var ye=e.getLastChild(pn);if(ye)pn=ye;else return pn}}function Lr(pn){if(!e.nodeIsMissing(pn))if(pn.pos<=vr){if(pn.pos>=kr.pos&&(kr=pn),vrvr),!0}}function a(dr,vr,kr,jr){var Cr=dr.text;if(kr&&(e.Debug.assert(Cr.length-kr.span.length+kr.newLength===vr.length),jr||e.Debug.shouldAssert(3))){var en=Cr.substr(0,kr.span.start),Lr=vr.substr(0,kr.span.start);e.Debug.assert(en===Lr);var pn=Cr.substring(e.textSpanEnd(kr.span),Cr.length),ye=vr.substring(e.textSpanEnd(e.textChangeRangeNewSpan(kr)),vr.length);e.Debug.assert(pn===ye)}}function qr(dr){var vr=dr.statements,kr=0;e.Debug.assert(kr=or.pos&&Lr=or.pos&&Lrue.checkJsDirective.pos)&&(ue.checkJsDirective={enabled:Ae==="ts-check",end:a.range.end,pos:a.range.pos})});break}case"jsx":case"jsxfrag":case"jsximportsource":case"jsxruntime":return;default:e.Debug.fail("Unhandled pragma kind")}})}e.processPragmasIntoFields=Me;var Oe=new e.Map;function xe(ue){if(Oe.has(ue))return Oe.get(ue);var y=new RegExp("(\\s".concat(ue,`\\s*=\\s*)(?:(?:'([^']*)')|(?:"([^"]*)"))`),"im");return Oe.set(ue,y),y}var Se=/^\/\/\/\s*<(\S+)\s.*?\/>/im,Ce=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im;function ze(ue,y,X){var Ae=y.kind===2&&Se.exec(X);if(Ae){var Te=Ae[1].toLowerCase(),Je=e.commentPragmas[Te];if(!Je||!(Je.kind&1))return;if(Je.args){for(var er={},wr=0,mr=Je.args;wr=bn.length)break;var Kn=hn;if(bn.charCodeAt(Kn)===34){for(hn++;hn32;)hn++;qn.push(bn.substring(Kn,hn))}}fn(qn)}}e.parseCommandLineWorker=te;function x(pe,Xe,ar,Sr,pr,Fr){if(Sr.isTSConfigOnly){var Vr=pe[Xe];Vr==="null"?(pr[Sr.name]=void 0,Xe++):Sr.type==="boolean"?Vr==="false"?(pr[Sr.name]=nn(Sr,!1,Fr),Xe++):(Vr==="true"&&Xe++,Fr.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line,Sr.name))):(Fr.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line,Sr.name)),Vr&&!e.startsWith(Vr,"-")&&Xe++)}else if(!pe[Xe]&&Sr.type!=="boolean"&&Fr.push(e.createCompilerDiagnostic(ar.optionTypeMismatchDiagnostic,Sr.name,B(Sr))),pe[Xe]!=="null")switch(Sr.type){case"number":pr[Sr.name]=nn(Sr,parseInt(pe[Xe]),Fr),Xe++;break;case"boolean":var Vr=pe[Xe];pr[Sr.name]=nn(Sr,Vr!=="false",Fr),(Vr==="false"||Vr==="true")&&Xe++;break;case"string":pr[Sr.name]=nn(Sr,pe[Xe]||"",Fr),Xe++;break;case"list":var fn=ce(Sr,pe[Xe],Fr);pr[Sr.name]=fn||[],fn&&Xe++;break;default:pr[Sr.name]=Y(Sr,pe[Xe],Fr),Xe++;break}else pr[Sr.name]=void 0,Xe++;return Xe}e.compilerOptionsDidYouMeanDiagnostics={alternateMode:z,getOptionsNameMap:P,optionDeclarations:e.optionDeclarations,unknownOptionDiagnostic:e.Diagnostics.Unknown_compiler_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_compiler_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Compiler_option_0_expects_an_argument};function J(pe,Xe){return te(e.compilerOptionsDidYouMeanDiagnostics,pe,Xe)}e.parseCommandLine=J;function d(pe,Xe){return D(P,pe,Xe)}e.getOptionFromName=d;function D(pe,Xe,ar){ar===void 0&&(ar=!1),Xe=Xe.toLowerCase();var Sr=pe(),pr=Sr.optionsNameMap,Fr=Sr.shortOptionNames;if(ar){var Vr=Fr.get(Xe);Vr!==void 0&&(Xe=Vr)}return pr.get(Xe)}var C;function k(){return C||(C=h(e.buildOpts))}var R={diagnostic:e.Diagnostics.Compiler_option_0_may_not_be_used_with_build,getOptionsNameMap:P},M={alternateMode:R,getOptionsNameMap:k,optionDeclarations:e.buildOpts,unknownOptionDiagnostic:e.Diagnostics.Unknown_build_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_build_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Build_option_0_requires_a_value_of_type_1};function ge(pe){var Xe=te(M,pe),ar=Xe.options,Sr=Xe.watchOptions,pr=Xe.fileNames,Fr=Xe.errors,Vr=ar;return pr.length===0&&pr.push("."),Vr.clean&&Vr.force&&Fr.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","force")),Vr.clean&&Vr.verbose&&Fr.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","verbose")),Vr.clean&&Vr.watch&&Fr.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","watch")),Vr.watch&&Vr.dry&&Fr.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"watch","dry")),{buildOptions:Vr,watchOptions:Sr,projects:pr,errors:Fr}}e.parseBuildCommand=ge;function ve(pe){for(var Xe=[],ar=1;ar=0)return Vr.push(e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,Hn(Hn([],Fr,!0),[Wn],!1).join(" -> "))),{raw:pe||u(Xe,Vr)};var bn=pe?kr(pe,ar,Sr,pr,Vr):jr(Xe,ar,Sr,pr,Vr);if(!((Wr=bn.options)===null||Wr===void 0)&&Wr.paths&&(bn.options.pathsBasePath=Sr),bn.extendedConfigPath){Fr=Fr.concat([Wn]);var qn=en(Xe,bn.extendedConfigPath,ar,Fr,Vr,fn);if(qn&&dr(qn)){var hn=qn.raw,Kn=bn.raw,Ai,ai=function(Ki){!Kn[Ki]&&hn[Ki]&&(Kn[Ki]=e.map(hn[Ki],function(Ni){return e.isRootedDiskPath(Ni)?Ni:e.combinePaths(Ai||(Ai=e.convertToRelativePath(e.getDirectoryPath(bn.extendedConfigPath),Sr,e.createGetCanonicalFileName(ar.useCaseSensitiveFileNames))),Ni)}))};ai("include"),ai("exclude"),ai("files"),Kn.compileOnSave===void 0&&(Kn.compileOnSave=hn.compileOnSave),bn.options=e.assign({},qn.options,bn.options),bn.watchOptions=bn.watchOptions&&qn.watchOptions?e.assign({},qn.watchOptions,bn.watchOptions):bn.watchOptions||qn.watchOptions}}return bn}function kr(pe,Xe,ar,Sr,pr){e.hasProperty(pe,"excludes")&&pr.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude));var Fr=Pe(pe.compilerOptions,ar,pr,Sr),Vr=Ar(pe.typeAcquisition||pe.typingOptions,ar,pr,Sr),fn=ke(pe.watchOptions,ar,pr);pe.compileOnSave=Lr(pe,ar,pr);var Wr;if(pe.extends)if(!e.isString(pe.extends))pr.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"extends","string"));else{var Wn=Sr?er(Sr,ar):ar;Wr=Cr(pe.extends,Xe,Wn,pr,e.createCompilerDiagnostic)}return{raw:pe,options:Fr,watchOptions:fn,typeAcquisition:Vr,extendedConfigPath:Wr}}function jr(pe,Xe,ar,Sr,pr){var Fr=or(Sr),Vr,fn,Wr,Wn,bn,qn={onSetValidOptionKeyValueInParent:function(Kn,Ai,ai){var Ki;switch(Kn){case"compilerOptions":Ki=Fr;break;case"watchOptions":Ki=Wr||(Wr={});break;case"typeAcquisition":Ki=Vr||(Vr=Ve(Sr));break;case"typingOptions":Ki=fn||(fn=Ve(Sr));break;default:e.Debug.fail("Unknown option")}Ki[Ai.name]=Rr(Ai,ar,ai)},onSetValidOptionKeyValueInRoot:function(Kn,Ai,ai,Ki){switch(Kn){case"extends":var Ni=Sr?er(Sr,ar):ar;Wn=Cr(ai,Xe,Ni,pr,function(mi,Pn){return e.createDiagnosticForNodeInSourceFile(pe,Ki,mi,Pn)});return}},onSetUnknownOptionKeyValueInRoot:function(Kn,Ai,ai,Ki){Kn==="excludes"&&pr.push(e.createDiagnosticForNodeInSourceFile(pe,Ai,e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude)),e.find(_,function(Ni){return Ni.name===Kn})&&(bn=e.append(bn,Ai))}},hn=W(pe,pr,!0,qn);return Vr||(fn?Vr=fn.enableAutoDiscovery!==void 0?{enable:fn.enableAutoDiscovery,include:fn.include,exclude:fn.exclude}:fn:Vr=Ve(Sr)),bn&&hn&&hn.compilerOptions===void 0&&pr.push(e.createDiagnosticForNodeInSourceFile(pe,bn[0],e.Diagnostics._0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file,e.getTextOfPropertyName(bn[0]))),{raw:hn,options:Fr,watchOptions:Wr,typeAcquisition:Vr,extendedConfigPath:Wn}}function Cr(pe,Xe,ar,Sr,pr){if(pe=e.normalizeSlashes(pe),e.isRootedDiskPath(pe)||e.startsWith(pe,"./")||e.startsWith(pe,"../")){var Fr=e.getNormalizedAbsolutePath(pe,ar);if(!Xe.fileExists(Fr)&&!e.endsWith(Fr,".json")&&(Fr="".concat(Fr,".json"),!Xe.fileExists(Fr))){Sr.push(pr(e.Diagnostics.File_0_not_found,pe));return}return Fr}var Vr=e.nodeModuleNameResolver(pe,e.combinePaths(ar,"tsconfig.json"),{moduleResolution:e.ModuleResolutionKind.NodeJs},Xe,void 0,void 0,!0);if(Vr.resolvedModule)return Vr.resolvedModule.resolvedFileName;Sr.push(pr(e.Diagnostics.File_0_not_found,pe))}function en(pe,Xe,ar,Sr,pr,Fr){var Vr,fn=ar.useCaseSensitiveFileNames?Xe:e.toFileNameLowerCase(Xe),Wr,Wn,bn;if(Fr&&(Wr=Fr.get(fn))?(Wn=Wr.extendedResult,bn=Wr.extendedConfig):(Wn=q(Xe,function(qn){return ar.readFile(qn)}),Wn.parseDiagnostics.length||(bn=vr(void 0,Wn,ar,e.getDirectoryPath(Xe),e.getBaseFileName(Xe),Sr,pr,Fr)),Fr&&Fr.set(fn,{extendedResult:Wn,extendedConfig:bn})),pe&&(pe.extendedSourceFiles=[Wn.fileName],Wn.extendedSourceFiles&&(Vr=pe.extendedSourceFiles).push.apply(Vr,Wn.extendedSourceFiles)),Wn.parseDiagnostics.length){pr.push.apply(pr,Wn.parseDiagnostics);return}return bn}function Lr(pe,Xe,ar){if(!e.hasProperty(pe,e.compileOnSaveCommandLineOption.name))return!1;var Sr=Mr(e.compileOnSaveCommandLineOption,pe.compileOnSave,Xe,ar);return typeof Sr=="boolean"&&Sr}function pn(pe,Xe,ar){var Sr=[],pr=Pe(pe,Xe,Sr,ar);return{options:pr,errors:Sr}}e.convertCompilerOptionsFromJson=pn;function ye(pe,Xe,ar){var Sr=[],pr=Ar(pe,Xe,Sr,ar);return{options:pr,errors:Sr}}e.convertTypeAcquisitionFromJson=ye;function or(pe){var Xe=pe&&e.getBaseFileName(pe)==="jsconfig.json"?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0,noEmit:!0}:{};return Xe}function Pe(pe,Xe,ar,Sr){var pr=or(Sr);return cr(ne(),pe,Xe,pr,e.compilerOptionsDidYouMeanDiagnostics,ar),Sr&&(pr.configFilePath=e.normalizeSlashes(Sr)),pr}function Ve(pe){return{enable:!!pe&&e.getBaseFileName(pe)==="jsconfig.json",include:[],exclude:[]}}function Ar(pe,Xe,ar,Sr){var pr=Ve(Sr),Fr=U(pe);return cr(w(),Fr,Xe,pr,Q,ar),pr}function ke(pe,Xe,ar){return cr(De(),pe,Xe,void 0,L,ar)}function cr(pe,Xe,ar,Sr,pr,Fr){if(Xe){for(var Vr in Xe){var fn=pe.get(Vr);fn?(Sr||(Sr={}))[fn.name]=Mr(fn,Xe[Vr],ar,Fr):Fr.push(ie(Vr,pr,e.createCompilerDiagnostic))}return Sr}}function Mr(pe,Xe,ar,Sr){if(G(pe,Xe)){var pr=pe.type;if(pr==="list"&&e.isArray(Xe))return Fe(pe,Xe,ar,Sr);if(!e.isString(pr))return vn(pe,Xe,Sr);var Fr=nn(pe,Xe,Sr);return Je(Fr)?Fr:$r(pe,ar,Fr)}else Sr.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,pe.name,B(pe)))}e.convertJsonOption=Mr;function Rr(pe,Xe,ar){if(!Je(ar)){if(pe.type==="list"){var Sr=pe;return Sr.element.isFilePath||!e.isString(Sr.element.type)?e.filter(e.map(ar,function(pr){return Rr(Sr.element,Xe,pr)}),function(pr){return Sr.listPreserveFalsyValues?!0:!!pr}):ar}else if(!e.isString(pe.type))return pe.type.get(e.isString(ar)?ar.toLowerCase():ar);return $r(pe,Xe,ar)}}function $r(pe,Xe,ar){return pe.isFilePath&&(ar=e.getNormalizedAbsolutePath(ar,Xe),ar===""&&(ar=".")),ar}function nn(pe,Xe,ar){var Sr;if(!Je(Xe)){var pr=(Sr=pe.extraValidation)===null||Sr===void 0?void 0:Sr.call(pe,Xe);if(!pr)return Xe;ar.push(e.createCompilerDiagnostic.apply(void 0,pr))}}function vn(pe,Xe,ar){if(!Je(Xe)){var Sr=Xe.toLowerCase(),pr=pe.type.get(Sr);if(pr!==void 0)return nn(pe,pr,ar);ar.push(g(pe))}}function Fe(pe,Xe,ar,Sr){return e.filter(e.map(Xe,function(pr){return Mr(pe.element,pr,ar,Sr)}),function(pr){return pe.listPreserveFalsyValues?!0:!!pr})}var Ge=/(^|\/)\*\*\/?$/,xr=/^[^*?]*(?=\/[^/]*[*?])/;function Ur(pe,Xe,ar,Sr,pr){pr===void 0&&(pr=e.emptyArray),Xe=e.normalizePath(Xe);var Fr=e.createGetCanonicalFileName(Sr.useCaseSensitiveFileNames),Vr=new e.Map,fn=new e.Map,Wr=new e.Map,Wn=pe.validatedFilesSpec,bn=pe.validatedIncludeSpecs,qn=pe.validatedExcludeSpecs,hn=e.getSupportedExtensions(ar,pr),Kn=e.getSupportedExtensionsWithJsonIfResolveJsonModule(ar,hn);if(Wn)for(var Ai=0,ai=Wn;Ai0)for(var Pn=function(Un){if(e.fileExtensionIs(Un,".json")){if(!mi){var gn=bn.filter(function(Qn){return e.endsWith(Qn,".json")}),rn=e.map(e.getRegularExpressionsForWildcards(gn,Xe,"files"),function(Qn){return"^".concat(Qn,"$")});mi=rn?rn.map(function(Qn){return e.getRegexFromPattern(Qn,Sr.useCaseSensitiveFileNames)}):e.emptyArray}var xn=e.findIndex(mi,function(Qn){return Qn.test(Un)});if(xn!==-1){var Dn=Fr(Un);!Vr.has(Dn)&&!Wr.has(Dn)&&Wr.set(Dn,Un)}return"continue"}if(Ue(Un,Vr,fn,hn,Fr))return"continue";br(Un,fn,hn,Fr);var On=Fr(Un);!Vr.has(On)&&!fn.has(On)&&fn.set(On,Un)},we=0,Ir=Sr.readDirectory(Xe,e.flatten(Kn),qn,bn,void 0);weXe}function Zn(pe,Xe,ar,Sr){return fi(pe,e.filter(Xe,function(pr){return!Nn(pr)}),ar,Sr)}e.matchesExclude=Zn;function fi(pe,Xe,ar,Sr,pr){var Fr=e.getRegularExpressionForWildcard(Xe,e.combinePaths(e.normalizePath(Sr),pr),"exclude"),Vr=Fr&&e.getRegexFromPattern(Fr,ar);return Vr?Vr.test(pe)?!0:!e.hasExtension(pe)&&Vr.test(e.ensureTrailingDirectorySeparator(pe)):!1}function Dr(pe,Xe,ar,Sr,pr){return pe.filter(function(Vr){if(!e.isString(Vr))return!1;var fn=Pr(Vr,ar);return fn!==void 0&&Xe.push(Fr.apply(void 0,fn)),fn===void 0});function Fr(Vr,fn){var Wr=e.getTsConfigPropArrayElementValue(Sr,pr,fn);return Wr?e.createDiagnosticForNodeInSourceFile(Sr,Wr,Vr,fn):e.createCompilerDiagnostic(Vr,fn)}}function Pr(pe,Xe){if(Xe&&Ge.test(pe))return[e.Diagnostics.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,pe];if(Nn(pe))return[e.Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,pe]}function Jr(pe,Xe,ar){var Sr=pe.validatedIncludeSpecs,pr=pe.validatedExcludeSpecs,Fr=e.getRegularExpressionForWildcard(pr,Xe,"exclude"),Vr=Fr&&new RegExp(Fr,ar?"":"i"),fn={};if(Sr!==void 0){for(var Wr=[],Wn=0,bn=Sr;Wn=0;Fr--){var Vr=pr[Fr];if(e.fileExtensionIs(pe,Vr))return;var fn=Sr(e.changeExtension(pe,Vr));Xe.delete(fn)}}function Ne(pe){var Xe={};for(var ar in pe)if(e.hasProperty(pe,ar)){var Sr=d(ar);Sr!==void 0&&(Xe[ar]=Ze(pe[ar],Sr))}return Xe}e.convertCompilerOptionsForTelemetry=Ne;function Ze(pe,Xe){switch(Xe.type){case"object":return"";case"string":return"";case"number":return typeof pe=="number"?pe:"";case"boolean":return typeof pe=="boolean"?pe:"";case"list":var ar=Xe.element;return e.isArray(pe)?pe.map(function(Sr){return Ze(Sr,ar)}):"";default:return e.forEachEntry(Xe.type,function(Sr,pr){if(Sr===pe)return pr})}}function Qe(pe){switch(pe.type){case"number":return 1;case"boolean":return!0;case"string":var Xe=pe.defaultValueDescription;return pe.isFilePath?"./".concat(Xe&&typeof Xe=="string"?Xe:""):"";case"list":return[];case"object":return{};default:var ar=pe.type.keys().next();return ar.done?e.Debug.fail("Expected 'option.type' to have entries."):ar.value}}})(fr||(fr={}));var fr;(function(e){function i(Dr){Dr.trace(e.formatMessage.apply(void 0,arguments))}e.trace=i;function l(Dr,Pr){return!!Dr.traceResolution&&Pr.trace!==void 0}e.isTraceEnabled=l;function _(Dr,Pr){var Jr;if(Pr&&Dr){var sn=Dr.contents.packageJsonContent;typeof sn.name=="string"&&typeof sn.version=="string"&&(Jr={name:sn.name,subModuleName:Pr.path.slice(Dr.packageDirectory.length+e.directorySeparator.length),version:sn.version})}return Pr&&{path:Pr.path,extension:Pr.ext,packageId:Jr}}function h(Dr){return _(void 0,Dr)}function p(Dr){if(Dr)return e.Debug.assert(Dr.packageId===void 0),{path:Dr.path,ext:Dr.extension}}var P;(function(Dr){Dr[Dr.TypeScript=0]="TypeScript",Dr[Dr.JavaScript=1]="JavaScript",Dr[Dr.Json=2]="Json",Dr[Dr.TSConfig=3]="TSConfig",Dr[Dr.DtsOnly=4]="DtsOnly",Dr[Dr.TsOnly=5]="TsOnly"})(P||(P={}));function z(Dr){if(Dr)return e.Debug.assert(e.extensionIsTS(Dr.extension)),{fileName:Dr.path,packageId:Dr.packageId}}function U(Dr,Pr,Jr,sn,Ue,br){var Ne,Ze;return br?((Ne=br.failedLookupLocations).push.apply(Ne,Jr),(Ze=br.affectingLocations).push.apply(Ze,sn),br):{resolvedModule:Dr&&{resolvedFileName:Dr.path,originalPath:Dr.originalPath===!0?void 0:Dr.originalPath,extension:Dr.extension,isExternalLibraryImport:Pr,packageId:Dr.packageId},failedLookupLocations:Jr,affectingLocations:sn,resolutionDiagnostics:Ue}}function g(Dr,Pr,Jr,sn){if(!e.hasProperty(Dr,Pr)){sn.traceEnabled&&i(sn.host,e.Diagnostics.package_json_does_not_have_a_0_field,Pr);return}var Ue=Dr[Pr];if(typeof Ue!==Jr||Ue===null){sn.traceEnabled&&i(sn.host,e.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2,Pr,Jr,Ue===null?"null":typeof Ue);return}return Ue}function v(Dr,Pr,Jr,sn){var Ue=g(Dr,Pr,"string",sn);if(Ue!==void 0){if(!Ue){sn.traceEnabled&&i(sn.host,e.Diagnostics.package_json_had_a_falsy_0_field,Pr);return}var br=e.normalizePath(e.combinePaths(Jr,Ue));return sn.traceEnabled&&i(sn.host,e.Diagnostics.package_json_has_0_field_1_that_references_2,Pr,Ue,br),br}}function Y(Dr,Pr,Jr){return v(Dr,"typings",Pr,Jr)||v(Dr,"types",Pr,Jr)}function ce(Dr,Pr,Jr){return v(Dr,"tsconfig",Pr,Jr)}function Z(Dr,Pr,Jr){return v(Dr,"main",Pr,Jr)}function ie(Dr,Pr){var Jr=g(Dr,"typesVersions","object",Pr);if(Jr!==void 0)return Pr.traceEnabled&&i(Pr.host,e.Diagnostics.package_json_has_a_typesVersions_field_with_version_specific_path_mappings),Jr}function te(Dr,Pr){var Jr=ie(Dr,Pr);if(Jr!==void 0){if(Pr.traceEnabled)for(var sn in Jr)e.hasProperty(Jr,sn)&&!e.VersionRange.tryParse(sn)&&i(Pr.host,e.Diagnostics.package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range,sn);var Ue=J(Jr);if(!Ue){Pr.traceEnabled&&i(Pr.host,e.Diagnostics.package_json_does_not_have_a_typesVersions_entry_that_matches_version_0,e.versionMajorMinor);return}var br=Ue.version,Ne=Ue.paths;if(typeof Ne!="object"){Pr.traceEnabled&&i(Pr.host,e.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2,"typesVersions['".concat(br,"']"),"object",typeof Ne);return}return Ue}}var x;function J(Dr){x||(x=new e.Version(e.version));for(var Pr in Dr)if(e.hasProperty(Dr,Pr)){var Jr=e.VersionRange.tryParse(Pr);if(Jr!==void 0&&Jr.test(x))return{version:Pr,paths:Dr[Pr]}}}e.getPackageJsonTypesVersionsPaths=J;function d(Dr,Pr){if(Dr.typeRoots)return Dr.typeRoots;var Jr;if(Dr.configFilePath?Jr=e.getDirectoryPath(Dr.configFilePath):Pr.getCurrentDirectory&&(Jr=Pr.getCurrentDirectory()),Jr!==void 0)return D(Jr,Pr)}e.getEffectiveTypeRoots=d;function D(Dr,Pr){if(!Pr.directoryExists)return[e.combinePaths(Dr,C)];var Jr;return e.forEachAncestorDirectory(e.normalizePath(Dr),function(sn){var Ue=e.combinePaths(sn,C);Pr.directoryExists(Ue)&&(Jr||(Jr=[])).push(Ue)}),Jr}var C=e.combinePaths("node_modules","@types");function k(Dr,Pr,Jr){var sn=typeof Jr.useCaseSensitiveFileNames=="function"?Jr.useCaseSensitiveFileNames():Jr.useCaseSensitiveFileNames;return e.comparePaths(Dr,Pr,!sn)===0}function R(Dr,Pr,Jr,sn,Ue,br,Ne){e.Debug.assert(typeof Dr=="string","Non-string value passed to `ts.resolveTypeReferenceDirective`, likely by a wrapping package working with an outdated `resolveTypeReferenceDirectives` signature. This is probably not a problem in TS itself.");var Ze=l(Jr,sn);Ue&&(Jr=Ue.commandLine.options);var Qe=Pr?e.getDirectoryPath(Pr):void 0,pe=Qe?br&&br.getOrCreateCacheForDirectory(Qe,Ue):void 0,Xe=pe&&pe.get(Dr,Ne);if(Xe)return Ze&&(i(sn,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_1,Dr,Pr),Ue&&i(sn,e.Diagnostics.Using_compiler_options_of_project_reference_redirect_0,Ue.sourceFile.fileName),i(sn,e.Diagnostics.Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1,Dr,Qe),Ki(Xe)),Xe;var ar=d(Jr,sn);Ze&&(Pr===void 0?ar===void 0?i(sn,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set,Dr):i(sn,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1,Dr,ar):ar===void 0?i(sn,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set,Dr,Pr):i(sn,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_1_root_directory_2,Dr,Pr,ar),Ue&&i(sn,e.Diagnostics.Using_compiler_options_of_project_reference_redirect_0,Ue.sourceFile.fileName));var Sr=[],pr=[],Fr=M(Jr);Ne===e.ModuleKind.ESNext&&(e.getEmitModuleResolutionKind(Jr)===e.ModuleResolutionKind.Node16||e.getEmitModuleResolutionKind(Jr)===e.ModuleResolutionKind.NodeNext)&&(Fr|=A.EsmMode);var Vr=Fr&A.Exports?Fr&A.EsmMode?["node","import","types"]:["node","require","types"]:[],fn=[],Wr={compilerOptions:Jr,host:sn,traceEnabled:Ze,failedLookupLocations:Sr,affectingLocations:pr,packageJsonInfoCache:br,features:Fr,conditions:Vr,requestContainingDirectory:Qe,reportDiagnostic:function(Pn){return void fn.push(Pn)}},Wn=Ni(),bn=!0;Wn||(Wn=mi(),bn=!1);var qn;if(Wn){var hn=Wn.fileName,Kn=Wn.packageId,Ai=Jr.preserveSymlinks?hn:xe(hn,sn,Ze),ai=k(hn,Ai,sn);qn={primary:bn,resolvedFileName:ai?hn:Ai,originalPath:ai?void 0:hn,packageId:Kn,isExternalLibraryImport:Ce(hn)}}return Xe={resolvedTypeReferenceDirective:qn,failedLookupLocations:Sr,affectingLocations:pr,resolutionDiagnostics:fn},pe==null||pe.set(Dr,Ne,Xe),Ze&&Ki(Xe),Xe;function Ki(Pn){var we;!((we=Pn.resolvedTypeReferenceDirective)===null||we===void 0)&&we.resolvedFileName?Pn.resolvedTypeReferenceDirective.packageId?i(sn,e.Diagnostics.Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3,Dr,Pn.resolvedTypeReferenceDirective.resolvedFileName,e.packageIdToString(Pn.resolvedTypeReferenceDirective.packageId),Pn.resolvedTypeReferenceDirective.primary):i(sn,e.Diagnostics.Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2,Dr,Pn.resolvedTypeReferenceDirective.resolvedFileName,Pn.resolvedTypeReferenceDirective.primary):i(sn,e.Diagnostics.Type_reference_directive_0_was_not_resolved,Dr)}function Ni(){if(ar&&ar.length)return Ze&&i(sn,e.Diagnostics.Resolving_with_primary_search_path_0,ar.join(", ")),e.firstDefined(ar,function(Pn){var we=e.combinePaths(Pn,Dr),Ir=e.getDirectoryPath(we),Re=e.directoryProbablyExists(Ir,sn);return!Re&&Ze&&i(sn,e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,Ir),z(Je(P.DtsOnly,we,!Re,Wr))});Ze&&i(sn,e.Diagnostics.Root_directory_cannot_be_determined_skipping_primary_search_paths)}function mi(){var Pn=Pr&&e.getDirectoryPath(Pr);if(Pn!==void 0){Ze&&i(sn,e.Diagnostics.Looking_up_in_node_modules_folder_initial_location_0,Pn);var we;if(e.isExternalModuleNameRelative(Dr)){var Re=Oe(Pn,Dr).path;we=Se(P.DtsOnly,Re,!1,Wr,!0)}else{var Ir=Ve(P.DtsOnly,Dr,Pn,Wr,void 0,void 0);we=Ir&&Ir.value}return z(we)}else Ze&&i(sn,e.Diagnostics.Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder)}}e.resolveTypeReferenceDirective=R;function M(Dr){return e.getEmitModuleResolutionKind(Dr)===e.ModuleResolutionKind.Node16?A.Node16Default:e.getEmitModuleResolutionKind(Dr)===e.ModuleResolutionKind.NodeNext?A.NodeNextDefault:A.None}function ge(Dr,Pr,Jr,sn,Ue){var br=mr(Ue==null?void 0:Ue.getPackageJsonInfoCache(),sn,Jr);return e.forEachAncestorDirectory(Pr,function(Ne){if(e.getBaseFileName(Ne)!=="node_modules"){var Ze=e.combinePaths(Ne,"node_modules"),Qe=e.combinePaths(Ze,Dr);return a(Qe,!1,br)}})}e.resolvePackageNameToPackageJson=ge;function ve(Dr,Pr){if(Dr.types)return Dr.types;var Jr=[];if(Pr.directoryExists&&Pr.getDirectories){var sn=d(Dr,Pr);if(sn)for(var Ue=0,br=sn;Ue0);var sn={sourceFile:Dr.configFile,commandLine:{options:Dr}};Pr.setOwnMap(Pr.getOrCreateMapOfCacheRedirects(sn)),Jr==null||Jr.setOwnMap(Jr.getOrCreateMapOfCacheRedirects(sn))}Pr.setOwnOptions(Dr),Jr==null||Jr.setOwnOptions(Dr)}}function b(Dr,Pr,Jr){return{getOrCreateCacheForDirectory:br,clear:sn,update:Ue};function sn(){Jr.clear()}function Ue(Ne){q(Ne,Jr)}function br(Ne,Ze){var Qe=e.toPath(Ne,Dr,Pr);return K(Jr,Ze,Qe,function(){return F()})}}function F(){var Dr=new e.Map,Pr=new e.Map,Jr={get:function(Ue,br){return Dr.get(sn(Ue,br))},set:function(Ue,br,Ne){return Dr.set(sn(Ue,br),Ne),Jr},delete:function(Ue,br){return Dr.delete(sn(Ue,br)),Jr},has:function(Ue,br){return Dr.has(sn(Ue,br))},forEach:function(Ue){return Dr.forEach(function(br,Ne){var Ze=Pr.get(Ne),Qe=Ze[0],pe=Ze[1];return Ue(br,Qe,pe)})},size:function(){return Dr.size}};return Jr;function sn(Ue,br){var Ne=br===void 0?Ue:"".concat(br,"|").concat(Ue);return Pr.set(Ne,[Ue,br]),Ne}}e.createModeAwareCache=F;function Q(Dr,Pr,Jr){e.Debug.assert(Pr.length===Jr.length);for(var sn=F(),Ue=0;Ue=e.ModuleResolutionKind.Node16&&e.getEmitModuleResolutionKind(sn)<=e.ModuleResolutionKind.NodeNext&&i(Ue,e.Diagnostics.Resolving_in_0_mode_with_conditions_1,Dr&A.EsmMode?"ESM":"CJS",pr.map(function(Wn){return"'".concat(Wn,"'")}).join(", "));var fn=e.forEach(Ne,function(Wn){return Wr(Wn)});return U((Qe=fn==null?void 0:fn.value)===null||Qe===void 0?void 0:Qe.resolved,(pe=fn==null?void 0:fn.value)===null||pe===void 0?void 0:pe.isExternalLibraryImport,ar,Sr,Fr,Vr.resultFromCache);function Wr(Wn){var bn=function(Ir,Re,yn,Un){return Se(Ir,Re,yn,Un,!0)},qn=ne(Wn,Pr,Jr,bn,Vr);if(qn)return Zn({resolved:qn,isExternalLibraryImport:Ce(qn.path)});if(e.isExternalModuleNameRelative(Pr)){var Ni=Oe(Jr,Pr),mi=Ni.path,Pn=Ni.parts,we=Se(Wn,mi,!1,Vr,!0);return we&&Zn({resolved:we,isExternalLibraryImport:e.contains(Pn,"node_modules")})}else{var hn;if(Dr&A.Imports&&e.startsWith(Pr,"#")&&(hn=Lr(Wn,Pr,Jr,Vr,br,Ze)),!hn&&Dr&A.SelfName&&(hn=Cr(Wn,Pr,Jr,Vr,br,Ze)),hn||(Xe&&i(Ue,e.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1,Pr,P[Wn]),hn=Ve(Wn,Pr,Jr,Vr,br,Ze)),!hn)return;var Kn=hn.value;if(!sn.preserveSymlinks&&Kn&&!Kn.originalPath){var Ai=xe(Kn.path,Ue,Xe),ai=k(Ai,Kn.path,Ue),Ki=ai?void 0:Kn.path;Kn=Ri(Ri({},Kn),{path:ai?Kn.path:Ai,originalPath:Ki})}return{value:Kn&&{resolved:Kn,isExternalLibraryImport:!0}}}}}function Oe(Dr,Pr){var Jr=e.combinePaths(Dr,Pr),sn=e.getPathComponents(Jr),Ue=e.lastOrUndefined(sn),br=Ue==="."||Ue===".."?e.ensureTrailingDirectorySeparator(e.normalizePath(Jr)):e.normalizePath(Jr);return{path:br,parts:sn}}function xe(Dr,Pr,Jr){if(!Pr.realpath)return Dr;var sn=e.normalizePath(Pr.realpath(Dr));return Jr&&i(Pr,e.Diagnostics.Resolving_real_path_for_0_result_1,Dr,sn),e.Debug.assert(Pr.fileExists(sn),"".concat(Dr," linked to nonexistent file ").concat(sn)),sn}function Se(Dr,Pr,Jr,sn,Ue){if(sn.traceEnabled&&i(sn.host,e.Diagnostics.Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1,Pr,P[Dr]),!e.hasTrailingDirectorySeparator(Pr)){if(!Jr){var br=e.getDirectoryPath(Pr);e.directoryProbablyExists(br,sn.host)||(sn.traceEnabled&&i(sn.host,e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,br),Jr=!0)}var Ne=be(Dr,Pr,Jr,sn);if(Ne){var Ze=Ue?ze(Ne.path):void 0,Qe=Ze?a(Ze,!1,sn):void 0;return _(Qe,Ne)}}if(!Jr){var pe=e.directoryProbablyExists(Pr,sn.host);pe||(sn.traceEnabled&&i(sn.host,e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,Pr),Jr=!0)}if(!(sn.features&A.EsmMode))return Je(Dr,Pr,Jr,sn,Ue)}e.nodeModulesPathPart="/node_modules/";function Ce(Dr){return e.stringContains(Dr,e.nodeModulesPathPart)}e.pathContainsNodeModules=Ce;function ze(Dr){var Pr=e.normalizePath(Dr),Jr=Pr.lastIndexOf(e.nodeModulesPathPart);if(Jr!==-1){var sn=Jr+e.nodeModulesPathPart.length,Ue=Ee(Pr,sn);return Pr.charCodeAt(sn)===64&&(Ue=Ee(Pr,Ue)),Pr.slice(0,Ue)}}e.parseNodeModuleFromPath=ze;function Ee(Dr,Pr){var Jr=Dr.indexOf(e.directorySeparator,Pr+1);return Jr===-1?Pr:Jr}function Le(Dr,Pr,Jr,sn){return h(be(Dr,Pr,Jr,sn))}function be(Dr,Pr,Jr,sn){if(Dr===P.Json||Dr===P.TSConfig){var Ue=e.tryRemoveExtension(Pr,".json"),br=Ue?Pr.substring(Ue.length):"";return Ue===void 0&&Dr===P.Json?void 0:X(Ue||Pr,Dr,br,Jr,sn)}if(!(sn.features&A.EsmMode)){var Ne=X(Pr,Dr,"",Jr,sn);if(Ne)return Ne}return ue(Dr,Pr,Jr,sn)}function ue(Dr,Pr,Jr,sn){if(e.hasJSFileExtension(Pr)||e.fileExtensionIs(Pr,".json")&&sn.compilerOptions.resolveJsonModule){var Ue=e.removeFileExtension(Pr),br=Pr.substring(Ue.length);return sn.traceEnabled&&i(sn.host,e.Diagnostics.File_name_0_has_a_1_extension_stripping_it,Pr,br),X(Ue,Dr,br,Jr,sn)}}function y(Dr,Pr,Jr,sn){if((Dr===P.TypeScript||Dr===P.DtsOnly)&&e.fileExtensionIsOneOf(Pr,e.supportedTSExtensionsFlat)){var Ue=Ae(Pr,Jr,sn);return Ue!==void 0?{path:Pr,ext:e.tryExtractTSExtension(Pr)}:void 0}return ue(Dr,Pr,Jr,sn)}function X(Dr,Pr,Jr,sn,Ue){if(!sn){var br=e.getDirectoryPath(Dr);br&&(sn=!e.directoryProbablyExists(br,Ue.host))}switch(Pr){case P.DtsOnly:switch(Jr){case".mjs":case".mts":case".d.mts":return Ze(".d.mts");case".cjs":case".cts":case".d.cts":return Ze(".d.cts");case".json":return Dr+=".json",Ze(".d.ts");default:return Ze(".d.ts")}case P.TypeScript:case P.TsOnly:var Ne=Pr===P.TypeScript;switch(Jr){case".mjs":case".mts":case".d.mts":return Ze(".mts")||(Ne?Ze(".d.mts"):void 0);case".cjs":case".cts":case".d.cts":return Ze(".cts")||(Ne?Ze(".d.cts"):void 0);case".json":return Dr+=".json",Ne?Ze(".d.ts"):void 0;default:return Ze(".ts")||Ze(".tsx")||(Ne?Ze(".d.ts"):void 0)}case P.JavaScript:switch(Jr){case".mjs":case".mts":case".d.mts":return Ze(".mjs");case".cjs":case".cts":case".d.cts":return Ze(".cjs");case".json":return Ze(".json");default:return Ze(".js")||Ze(".jsx")}case P.TSConfig:case P.Json:return Ze(".json")}function Ze(Qe){var pe=Ae(Dr+Qe,sn,Ue);return pe===void 0?void 0:{path:pe,ext:Qe}}}function Ae(Dr,Pr,Jr){var sn,Ue;if(!(!((sn=Jr.compilerOptions.moduleSuffixes)===null||sn===void 0)&&sn.length))return Te(Dr,Pr,Jr);var br=(Ue=e.tryGetExtensionFromPath(Dr))!==null&&Ue!==void 0?Ue:"",Ne=br?e.removeExtension(Dr,br):Dr;return e.forEach(Jr.compilerOptions.moduleSuffixes,function(Ze){return Te(Ne+Ze+br,Pr,Jr)})}function Te(Dr,Pr,Jr){if(!Pr){if(Jr.host.fileExists(Dr))return Jr.traceEnabled&&i(Jr.host,e.Diagnostics.File_0_exist_use_it_as_a_name_resolution_result,Dr),Dr;Jr.traceEnabled&&i(Jr.host,e.Diagnostics.File_0_does_not_exist,Dr)}Jr.failedLookupLocations.push(Dr)}function Je(Dr,Pr,Jr,sn,Ue){Ue===void 0&&(Ue=!0);var br=Ue?a(Pr,Jr,sn):void 0,Ne=br&&br.contents.packageJsonContent,Ze=br&&br.contents.versionPaths;return _(br,qr(Dr,Pr,Jr,sn,Ne,Ze))}function er(Dr,Pr,Jr,sn,Ue){if(!Ue&&Dr.contents.resolvedEntrypoints!==void 0)return Dr.contents.resolvedEntrypoints;var br,Ne=Ue?P.JavaScript:P.TypeScript,Ze=M(Pr),Qe=mr(sn==null?void 0:sn.getPackageJsonInfoCache(),Jr,Pr);Qe.conditions=["node","require","types"],Qe.requestContainingDirectory=Dr.packageDirectory;var pe=qr(Ne,Dr.packageDirectory,!1,Qe,Dr.contents.packageJsonContent,Dr.contents.versionPaths);if(br=e.append(br,pe==null?void 0:pe.path),Ze&A.Exports&&Dr.contents.packageJsonContent.exports)for(var Xe=0,ar=[["node","import","types"],["node","require","types"]];Xe=0||pr.indexOf(".")>=0||pr.indexOf("node_modules")>=0)return!1;var Fr=e.combinePaths(Dr.packageDirectory,Xe),Vr=e.getNormalizedAbsolutePath(Fr,(Sr=(ar=Jr.host).getCurrentDirectory)===null||Sr===void 0?void 0:Sr.call(ar)),fn=y(sn,Vr,!1,Jr);if(fn)return Ue=e.appendIfUnique(Ue,fn,function(hn,Kn){return hn.path===Kn.path}),!0}else if(Array.isArray(Xe))for(var Wr=0,Wn=Xe;Wr0;){var sn=a(e.getPathFromPathComponents(Jr),!1,Pr);if(sn)return sn;Jr.pop()}}e.getPackageScopeForPath=We;function a(Dr,Pr,Jr){var sn,Ue,br,Ne=Jr.host,Ze=Jr.traceEnabled,Qe=e.combinePaths(Dr,"package.json");if(Pr){Jr.failedLookupLocations.push(Qe);return}var pe=(sn=Jr.packageJsonInfoCache)===null||sn===void 0?void 0:sn.getPackageJsonInfo(Qe);if(pe!==void 0){if(typeof pe!="boolean")return Ze&&i(Ne,e.Diagnostics.File_0_exists_according_to_earlier_cached_lookups,Qe),Jr.affectingLocations.push(Qe),pe.packageDirectory===Dr?pe:{packageDirectory:Dr,contents:pe.contents};pe&&Ze&&i(Ne,e.Diagnostics.File_0_does_not_exist_according_to_earlier_cached_lookups,Qe),Jr.failedLookupLocations.push(Qe);return}var Xe=e.directoryProbablyExists(Dr,Ne);if(Xe&&Ne.fileExists(Qe)){var ar=e.readJson(Qe,Ne);Ze&&i(Ne,e.Diagnostics.Found_package_json_at_0,Qe);var Sr=te(ar,Jr),pr={packageDirectory:Dr,contents:{packageJsonContent:ar,versionPaths:Sr,resolvedEntrypoints:void 0}};return(Ue=Jr.packageJsonInfoCache)===null||Ue===void 0||Ue.setPackageJsonInfo(Qe,pr),Jr.affectingLocations.push(Qe),pr}else Xe&&Ze&&i(Ne,e.Diagnostics.File_0_does_not_exist,Qe),(br=Jr.packageJsonInfoCache)===null||br===void 0||br.setPackageJsonInfo(Qe,Xe),Jr.failedLookupLocations.push(Qe)}e.getPackageJsonInfo=a;function qr(Dr,Pr,Jr,sn,Ue,br){var Ne;if(Ue)switch(Dr){case P.JavaScript:case P.Json:case P.TsOnly:Ne=Z(Ue,Pr,sn);break;case P.TypeScript:Ne=Y(Ue,Pr,sn)||Z(Ue,Pr,sn);break;case P.DtsOnly:Ne=Y(Ue,Pr,sn);break;case P.TSConfig:Ne=ce(Ue,Pr,sn);break;default:return e.Debug.assertNever(Dr)}var Ze=function(Fr,Vr,fn,Wr){var Wn=Ae(Vr,fn,Wr);if(Wn){var bn=ln(Fr,Wn);if(bn)return h(bn);Wr.traceEnabled&&i(Wr.host,e.Diagnostics.File_0_has_an_unsupported_extension_so_skipping_it,Wn)}var qn=Fr===P.DtsOnly?P.TypeScript:Fr,hn=Wr.features;(Ue==null?void 0:Ue.type)!=="module"&&(Wr.features&=~A.EsmMode);var Kn=Se(qn,Vr,fn,Wr,!1);return Wr.features=hn,Kn},Qe=Ne?!e.directoryProbablyExists(e.getDirectoryPath(Ne),sn.host):void 0,pe=Jr||!e.directoryProbablyExists(Pr,sn.host),Xe=e.combinePaths(Pr,Dr===P.TSConfig?"tsconfig":"index");if(br&&(!Ne||e.containsPath(Pr,Ne))){var ar=e.getRelativePathFromDirectory(Pr,Ne||Xe,!1);sn.traceEnabled&&i(sn.host,e.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,br.version,e.version,ar);var Sr=Rr(Dr,ar,Pr,br.paths,void 0,Ze,Qe||pe,sn);if(Sr)return p(Sr.value)}var pr=Ne&&p(Ze(Dr,Ne,Qe,sn));if(pr)return pr;if(!(sn.features&A.EsmMode))return be(Dr,Xe,pe,sn)}function ln(Dr,Pr){var Jr=e.tryGetExtensionFromPath(Pr);return Jr!==void 0&&dr(Dr,Jr)?{path:Pr,ext:Jr}:void 0}function dr(Dr,Pr){switch(Dr){case P.JavaScript:return Pr===".js"||Pr===".jsx"||Pr===".mjs"||Pr===".cjs";case P.TSConfig:case P.Json:return Pr===".json";case P.TypeScript:return Pr===".ts"||Pr===".tsx"||Pr===".mts"||Pr===".cts"||Pr===".d.ts"||Pr===".d.mts"||Pr===".d.cts";case P.TsOnly:return Pr===".ts"||Pr===".tsx"||Pr===".mts"||Pr===".cts";case P.DtsOnly:return Pr===".d.ts"||Pr===".d.mts"||Pr===".d.cts"}}function vr(Dr){var Pr=Dr.indexOf(e.directorySeparator);return Dr[0]==="@"&&(Pr=Dr.indexOf(e.directorySeparator,Pr+1)),Pr===-1?{packageName:Dr,rest:""}:{packageName:Dr.slice(0,Pr),rest:Dr.slice(Pr+1)}}e.parsePackageName=vr;function kr(Dr){return e.every(e.getOwnKeys(Dr),function(Pr){return e.startsWith(Pr,".")})}e.allKeysStartWithDot=kr;function jr(Dr){return!e.some(e.getOwnKeys(Dr),function(Pr){return e.startsWith(Pr,".")})}function Cr(Dr,Pr,Jr,sn,Ue,br){var Ne,Ze,Qe=e.getNormalizedAbsolutePath(e.combinePaths(Jr,"dummy"),(Ze=(Ne=sn.host).getCurrentDirectory)===null||Ze===void 0?void 0:Ze.call(Ne)),pe=We(Qe,sn);if(!(!pe||!pe.contents.packageJsonContent.exports)&&typeof pe.contents.packageJsonContent.name=="string"){var Xe=e.getPathComponents(Pr),ar=e.getPathComponents(pe.contents.packageJsonContent.name);if(e.every(ar,function(pr,Fr){return Xe[Fr]===pr})){var Sr=Xe.slice(ar.length);return en(pe,Dr,e.length(Sr)?".".concat(e.directorySeparator).concat(Sr.join(e.directorySeparator)):".",sn,Ue,br)}}}function en(Dr,Pr,Jr,sn,Ue,br){if(Dr.contents.packageJsonContent.exports){if(Jr==="."){var Ne=void 0;if(typeof Dr.contents.packageJsonContent.exports=="string"||Array.isArray(Dr.contents.packageJsonContent.exports)||typeof Dr.contents.packageJsonContent.exports=="object"&&jr(Dr.contents.packageJsonContent.exports)?Ne=Dr.contents.packageJsonContent.exports:e.hasProperty(Dr.contents.packageJsonContent.exports,".")&&(Ne=Dr.contents.packageJsonContent.exports["."]),Ne){var Ze=or(Pr,sn,Ue,br,Jr,Dr,!1);return Ze(Ne,"",!1,".")}}else if(kr(Dr.contents.packageJsonContent.exports)){if(typeof Dr.contents.packageJsonContent.exports!="object")return sn.traceEnabled&&i(sn.host,e.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1,Jr,Dr.packageDirectory),Zn(void 0);var Qe=ye(Pr,sn,Ue,br,Jr,Dr.contents.packageJsonContent.exports,Dr,!1);if(Qe)return Qe}return sn.traceEnabled&&i(sn.host,e.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1,Jr,Dr.packageDirectory),Zn(void 0)}}function Lr(Dr,Pr,Jr,sn,Ue,br){var Ne,Ze;if(Pr==="#"||e.startsWith(Pr,"#/"))return sn.traceEnabled&&i(sn.host,e.Diagnostics.Invalid_import_specifier_0_has_no_possible_resolutions,Pr),Zn(void 0);var Qe=e.getNormalizedAbsolutePath(e.combinePaths(Jr,"dummy"),(Ze=(Ne=sn.host).getCurrentDirectory)===null||Ze===void 0?void 0:Ze.call(Ne)),pe=We(Qe,sn);if(!pe)return sn.traceEnabled&&i(sn.host,e.Diagnostics.Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve,Qe),Zn(void 0);if(!pe.contents.packageJsonContent.imports)return sn.traceEnabled&&i(sn.host,e.Diagnostics.package_json_scope_0_has_no_imports_defined,pe.packageDirectory),Zn(void 0);var Xe=ye(Dr,sn,Ue,br,Pr,pe.contents.packageJsonContent.imports,pe,!0);return Xe||(sn.traceEnabled&&i(sn.host,e.Diagnostics.Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1,Pr,pe.packageDirectory),Zn(void 0))}function pn(Dr,Pr){var Jr=Dr.indexOf("*"),sn=Pr.indexOf("*"),Ue=Jr===-1?Dr.length:Jr+1,br=sn===-1?Pr.length:sn+1;return Ue>br?-1:br>Ue||Jr===-1?1:sn===-1||Dr.length>Pr.length?-1:Pr.length>Dr.length?1:0}e.comparePatternKeys=pn;function ye(Dr,Pr,Jr,sn,Ue,br,Ne,Ze){var Qe=or(Dr,Pr,Jr,sn,Ue,Ne,Ze);if(!e.endsWith(Ue,e.directorySeparator)&&Ue.indexOf("*")===-1&&e.hasProperty(br,Ue)){var pe=br[Ue];return Qe(pe,"",!1,Ue)}for(var Xe=e.sort(e.filter(e.getOwnKeys(br),function(Wr){return Wr.indexOf("*")!==-1||e.endsWith(Wr,"/")}),pn),ar=0,Sr=Xe;ar0&&!e.endsWith(Qe,"/"))return Pr.traceEnabled&&i(Pr.host,e.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,br.packageDirectory,Ue),Zn(void 0);if(!e.startsWith(Qe,"./")){if(Ne&&!e.startsWith(Qe,"../")&&!e.startsWith(Qe,"/")&&!e.isRootedDiskPath(Qe)){var Sr=Xe?Qe.replace(/\*/g,pe):Qe+pe;fi(Pr,e.Diagnostics.Using_0_subpath_1_with_target_2,"imports",ar,Sr),fi(Pr,e.Diagnostics.Resolving_module_0_from_1,Sr,br.packageDirectory+"/");var pr=Me(Pr.features,Sr,br.packageDirectory+"/",Pr.compilerOptions,Pr.host,Jr,[Dr],sn);return Zn(pr.resolvedModule?{path:pr.resolvedModule.resolvedFileName,extension:pr.resolvedModule.extension,packageId:pr.resolvedModule.packageId,originalPath:pr.resolvedModule.originalPath}:void 0)}return Pr.traceEnabled&&i(Pr.host,e.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,br.packageDirectory,Ue),Zn(void 0)}var Fr=e.pathIsRelative(Qe)?e.getPathComponents(Qe).slice(1):e.getPathComponents(Qe),Vr=Fr.slice(1);if(Vr.indexOf("..")>=0||Vr.indexOf(".")>=0||Vr.indexOf("node_modules")>=0)return Pr.traceEnabled&&i(Pr.host,e.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,br.packageDirectory,Ue),Zn(void 0);var fn=e.combinePaths(br.packageDirectory,Qe),Wr=e.getPathComponents(pe);if(Wr.indexOf("..")>=0||Wr.indexOf(".")>=0||Wr.indexOf("node_modules")>=0)return Pr.traceEnabled&&i(Pr.host,e.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,br.packageDirectory,Ue),Zn(void 0);Pr.traceEnabled&&i(Pr.host,e.Diagnostics.Using_0_subpath_1_with_target_2,Ne?"imports":"exports",ar,Xe?Qe.replace(/\*/g,pe):Qe+pe);var Wn=mi(Xe?fn.replace(/\*/g,pe):fn+pe),bn=Ir(Wn,pe,e.combinePaths(br.packageDirectory,"package.json"),Ne);return bn||Zn(_(br,y(Dr,Wn,!1,Pr)))}else if(typeof Qe=="object"&&Qe!==null)if(Array.isArray(Qe)){if(!e.length(Qe))return Pr.traceEnabled&&i(Pr.host,e.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,br.packageDirectory,Ue),Zn(void 0);for(var ai=0,Ki=Qe;ai=0||Pe(Pr.conditions,Kn)){fi(Pr,e.Diagnostics.Matched_0_condition_1,Ne?"imports":"exports",Kn);var Ai=Qe[Kn],pr=Ze(Ai,pe,Xe,ar);if(pr)return pr}else fi(Pr,e.Diagnostics.Saw_non_matching_condition_0,Kn)}return}else if(Qe===null)return Pr.traceEnabled&&i(Pr.host,e.Diagnostics.package_json_scope_0_explicitly_maps_specifier_1_to_null,br.packageDirectory,Ue),Zn(void 0);return Pr.traceEnabled&&i(Pr.host,e.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,br.packageDirectory,Ue),Zn(void 0);function mi(Re){var yn,Un;return Re===void 0?Re:e.getNormalizedAbsolutePath(Re,(Un=(yn=Pr.host).getCurrentDirectory)===null||Un===void 0?void 0:Un.call(yn))}function Pn(Re,yn){return e.ensureTrailingDirectorySeparator(e.combinePaths(Re,yn))}function we(){return Pr.host.useCaseSensitiveFileNames?typeof Pr.host.useCaseSensitiveFileNames=="boolean"?Pr.host.useCaseSensitiveFileNames:Pr.host.useCaseSensitiveFileNames():!0}function Ir(Re,yn,Un,gn){var rn,xn,Dn,On;if((Dr===P.TypeScript||Dr===P.JavaScript||Dr===P.Json)&&(Pr.compilerOptions.declarationDir||Pr.compilerOptions.outDir)&&Re.indexOf("/node_modules/")===-1&&(!Pr.compilerOptions.configFile||e.containsPath(br.packageDirectory,mi(Pr.compilerOptions.configFile.fileName),!we()))){var Qn=e.hostGetCanonicalFileName({useCaseSensitiveFileNames:we}),Ke=[];if(Pr.compilerOptions.rootDir||Pr.compilerOptions.composite&&Pr.compilerOptions.configFilePath){var cn=mi(e.getCommonSourceDirectory(Pr.compilerOptions,function(){return[]},((xn=(rn=Pr.host).getCurrentDirectory)===null||xn===void 0?void 0:xn.call(rn))||"",Qn));Ke.push(cn)}else if(Pr.requestContainingDirectory){var Vn=mi(e.combinePaths(Pr.requestContainingDirectory,"index.ts")),cn=mi(e.getCommonSourceDirectory(Pr.compilerOptions,function(){return[Vn,mi(Un)]},((On=(Dn=Pr.host).getCurrentDirectory)===null||On===void 0?void 0:On.call(Dn))||"",Qn));Ke.push(cn);for(var $i=e.ensureTrailingDirectorySeparator(cn);$i&&$i.length>1;){var pt=e.getPathComponents($i);pt.pop();var Hi=e.getPathFromPathComponents(pt);Ke.unshift(Hi),$i=e.ensureTrailingDirectorySeparator(Hi)}}Ke.length>1&&Pr.reportDiagnostic(e.createCompilerDiagnostic(gn?e.Diagnostics.The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:e.Diagnostics.The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate,yn===""?".":yn,Un));for(var Ci=0,Tt=Ke;CiD&&(D=M),D===1)return D}return D}break;case 265:{var ge=0;return e.forEachChild(x,function(ve){var re=_(ve,J);switch(re){case 0:return;case 2:ge=2;return;case 1:return ge=1,!0;default:e.Debug.assertNever(re)}}),ge}case 264:return l(x,J);case 79:if(x.isInJSDocNamespace)return 0}return 1}function p(x,J){for(var d=x.propertyName||x.name,D=x.parent;D;){if(e.isBlock(D)||e.isModuleBlock(D)||e.isSourceFile(D)){for(var C=D.statements,k=void 0,R=0,M=C;Rk)&&(k=ve),k===1)return k}}if(k!==void 0)return k}D=D.parent}return 1}var P;(function(x){x[x.None=0]="None",x[x.IsContainer=1]="IsContainer",x[x.IsBlockScopedContainer=2]="IsBlockScopedContainer",x[x.IsControlFlowContainer=4]="IsControlFlowContainer",x[x.IsFunctionLike=8]="IsFunctionLike",x[x.IsFunctionExpression=16]="IsFunctionExpression",x[x.HasLocals=32]="HasLocals",x[x.IsInterface=64]="IsInterface",x[x.IsObjectLiteralOrClassExpressionMethodOrAccessor=128]="IsObjectLiteralOrClassExpressionMethodOrAccessor"})(P||(P={}));function z(x){return e.Debug.attachFlowNodeDebugInfo(x),x}var U=v();function g(x,J){e.performance.mark("beforeBind"),e.perfLogger.logStartBindFile(""+x.fileName),U(x,J),e.perfLogger.logStopBindFile(),e.performance.mark("afterBind"),e.performance.measure("Bind","beforeBind","afterBind")}e.bindSourceFile=g;function v(){var x,J,d,D,C,k,R,M,ge,ve,re,N,K,q,b,F,Q,j,I,L,V,ne,se=!1,De=0,T,w,A={flags:1},oe={flags:1},W=br();function u(le,Tr,un,ei,Ii){return e.createDiagnosticForNodeInSourceFile(e.getSourceFileOfNode(le)||x,le,Tr,un,ei,Ii)}function O(le,Tr){x=le,J=Tr,d=e.getEmitScriptTarget(J),ne=B(x,Tr),w=new e.Set,De=0,T=e.objectAllocator.getSymbolConstructor(),e.Debug.attachFlowNodeDebugInfo(A),e.Debug.attachFlowNodeDebugInfo(oe),x.locals||(e.tracing===null||e.tracing===void 0||e.tracing.push("bind","bindSourceFile",{path:x.path},!0),Xi(x),e.tracing===null||e.tracing===void 0||e.tracing.pop(),x.symbolCount=De,x.classifiableNames=w,Dn()),x=void 0,J=void 0,d=void 0,D=void 0,C=void 0,k=void 0,R=void 0,M=void 0,ge=void 0,ve=!1,re=void 0,N=void 0,K=void 0,q=void 0,b=void 0,F=void 0,Q=void 0,I=void 0,L=!1,se=!1,V=0}return O;function B(le,Tr){return e.getStrictOptionValue(Tr,"alwaysStrict")&&!le.isDeclarationFile?!0:!!le.externalModuleIndicator}function G(le,Tr){return De++,new T(le,Tr)}function $(le,Tr,un){le.flags|=un,Tr.symbol=le,le.declarations=e.appendIfUnique(le.declarations,Tr),un&1955&&!le.exports&&(le.exports=e.createSymbolTable()),un&6240&&!le.members&&(le.members=e.createSymbolTable()),le.constEnumOnlyModule&&le.flags&304&&(le.constEnumOnlyModule=!1),un&111551&&e.setValueDeclaration(le,Tr)}function me(le){if(le.kind===274)return le.isExportEquals?"export=":"default";var Tr=e.getNameOfDeclaration(le);if(Tr){if(e.isAmbientModule(le)){var un=e.getTextOfIdentifierOrLiteral(Tr);return e.isGlobalScopeAugmentation(le)?"__global":'"'.concat(un,'"')}if(Tr.kind===164){var ei=Tr.expression;if(e.isStringOrNumericLiteralLike(ei))return e.escapeLeadingUnderscores(ei.text);if(e.isSignedNumericLiteral(ei))return e.tokenToString(ei.operator)+ei.operand.text;e.Debug.fail("Only computed properties with literal names have declaration names")}if(e.isPrivateIdentifier(Tr)){var Ii=e.getContainingClass(le);if(!Ii)return;var ot=Ii.symbol;return e.getSymbolNameForPrivateIdentifier(ot,Tr.escapedText)}return e.isPropertyNameLiteral(Tr)?e.getEscapedTextOfIdentifierOrLiteral(Tr):void 0}switch(le.kind){case 173:return"__constructor";case 181:case 176:case 326:return"__call";case 182:case 177:return"__new";case 178:return"__index";case 275:return"__export";case 308:return"export=";case 223:if(e.getAssignmentDeclarationKind(le)===2)return"export=";e.Debug.fail("Unknown binary declaration kind");break;case 320:return e.isJSDocConstructSignature(le)?"__new":"__call";case 166:e.Debug.assert(le.parent.kind===320,"Impossible parameter parent kind",function(){return"parent is: ".concat(e.Debug.formatSyntaxKind(le.parent.kind),", expected JSDocFunctionType")});var ji=le.parent,dt=ji.parameters.indexOf(le);return"arg"+dt}}function ae(le){return e.isNamedDeclaration(le)?e.declarationNameToString(le.name):e.unescapeLeadingUnderscores(e.Debug.checkDefined(me(le)))}function Me(le,Tr,un,ei,Ii,ot,ji){e.Debug.assert(ji||!e.hasDynamicName(un));var dt=e.hasSyntacticModifier(un,1024)||e.isExportSpecifier(un)&&un.name.escapedText==="default",Kt=ji?"__computed":dt&&Tr?"default":me(un),Bt;if(Kt===void 0)Bt=G(0,"__missing");else if(Bt=le.get(Kt),ei&2885600&&w.add(Kt),!Bt)le.set(Kt,Bt=G(0,Kt)),ot&&(Bt.isReplaceableByMethod=!0);else{if(ot&&!Bt.isReplaceableByMethod)return Bt;if(Bt.flags&Ii){if(Bt.isReplaceableByMethod)le.set(Kt,Bt=G(0,Kt));else if(!(ei&3&&Bt.flags&67108864)){e.isNamedDeclaration(un)&&e.setParent(un.name,un);var ha=Bt.flags&2?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0,He=!0;(Bt.flags&384||ei&384)&&(ha=e.Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations,He=!1);var Cn=!1;e.length(Bt.declarations)&&(dt||Bt.declarations&&Bt.declarations.length&&un.kind===274&&!un.isExportEquals)&&(ha=e.Diagnostics.A_module_cannot_have_multiple_default_exports,He=!1,Cn=!0);var Nr=[];e.isTypeAliasDeclaration(un)&&e.nodeIsMissing(un.type)&&e.hasSyntacticModifier(un,1)&&Bt.flags&2887656&&Nr.push(u(un,e.Diagnostics.Did_you_mean_0,"export type { ".concat(e.unescapeLeadingUnderscores(un.name.escapedText)," }")));var ma=e.getNameOfDeclaration(un)||un;e.forEach(Bt.declarations,function(lo,ys){var hc=e.getNameOfDeclaration(lo)||lo,Ms=u(hc,ha,He?ae(lo):void 0);x.bindDiagnostics.push(Cn?e.addRelatedInfo(Ms,u(ma,ys===0?e.Diagnostics.Another_export_default_is_here:e.Diagnostics.and_here)):Ms),Cn&&Nr.push(u(hc,e.Diagnostics.The_first_export_default_is_here))});var Ca=u(ma,ha,He?ae(un):void 0);x.bindDiagnostics.push(e.addRelatedInfo.apply(void 0,Hn([Ca],Nr,!1))),Bt=G(0,Kt)}}}return $(Bt,un,ei),Bt.parent?e.Debug.assert(Bt.parent===Tr,"Existing symbol parent should match new one"):Bt.parent=Tr,Bt}function Oe(le,Tr,un){var ei=!!(e.getCombinedModifierFlags(le)&1)||xe(le);if(Tr&2097152)return le.kind===278||le.kind===268&&ei?Me(C.symbol.exports,C.symbol,le,Tr,un):Me(C.locals,void 0,le,Tr,un);if(e.isJSDocTypeAlias(le)&&e.Debug.assert(e.isInJSFile(le)),!e.isAmbientModule(le)&&(ei||C.flags&64)){if(!C.locals||e.hasSyntacticModifier(le,1024)&&!me(le))return Me(C.symbol.exports,C.symbol,le,Tr,un);var Ii=Tr&111551?1048576:0,ot=Me(C.locals,void 0,le,Ii,un);return ot.exportSymbol=Me(C.symbol.exports,C.symbol,le,Tr,un),le.localSymbol=ot,ot}else return Me(C.locals,void 0,le,Tr,un)}function xe(le){if(le.parent&&e.isModuleDeclaration(le)&&(le=le.parent),!e.isJSDocTypeAlias(le))return!1;if(!e.isJSDocEnumTag(le)&&le.fullName)return!0;var Tr=e.getNameOfDeclaration(le);return Tr?!!(e.isPropertyAccessEntityNameExpression(Tr.parent)&&ia(Tr.parent)||e.isDeclaration(Tr.parent)&&e.getCombinedModifierFlags(Tr.parent)&1):!1}function Se(le,Tr){var un=C,ei=k,Ii=R;if(Tr&1?(le.kind!==216&&(k=C),C=R=le,Tr&32&&(C.locals=e.createSymbolTable()),Ai(C)):Tr&2&&(R=le,R.locals=void 0),Tr&4){var ot=re,ji=N,dt=K,Kt=q,Bt=Q,ha=I,He=L,Cn=Tr&16&&!e.hasSyntacticModifier(le,512)&&!le.asteriskToken&&!!e.getImmediatelyInvokedFunctionExpression(le)||le.kind===172;Cn||(re=z({flags:2}),Tr&144&&(re.node=le)),q=Cn||le.kind===173||e.isInJSFile(le)&&(le.kind===259||le.kind===215)?er():void 0,Q=void 0,N=void 0,K=void 0,I=void 0,L=!1,Le(le),le.flags&=-2817,!(re.flags&1)&&Tr&8&&e.nodeIsPresent(le.body)&&(le.flags|=256,L&&(le.flags|=512),le.endFlowNode=re),le.kind===308&&(le.flags|=V,le.endFlowNode=re),q&&(a(q,re),re=kr(q),(le.kind===173||le.kind===172||e.isInJSFile(le)&&(le.kind===259||le.kind===215))&&(le.returnFlowNode=re)),Cn||(re=ot),N=ji,K=dt,q=Kt,Q=Bt,I=ha,L=He}else Tr&64?(ve=!1,Le(le),le.flags=ve?le.flags|128:le.flags&-129):Le(le);C=un,k=ei,R=Ii}function Ce(le){ze(le,function(Tr){return Tr.kind===259?Xi(Tr):void 0}),ze(le,function(Tr){return Tr.kind!==259?Xi(Tr):void 0})}function ze(le,Tr){Tr===void 0&&(Tr=Xi),le!==void 0&&e.forEach(le,Tr)}function Ee(le){e.forEachChild(le,Xi,ze)}function Le(le){var Tr=se;if(se=!1,Ts(le)){Ee(le),so(le),se=Tr;return}switch(le.kind>=240&&le.kind<=256&&!J.allowUnreachableCode&&(le.flowNode=re),le.kind){case 244:Ve(le);break;case 243:Ar(le);break;case 245:ke(le);break;case 246:case 247:cr(le);break;case 242:Mr(le);break;case 250:case 254:Rr(le);break;case 249:case 248:vn(le);break;case 255:Fe(le);break;case 252:Ge(le);break;case 266:xr(le);break;case 292:Ur(le);break;case 241:En(le);break;case 253:Zn(le);break;case 221:Jr(le);break;case 222:sn(le);break;case 223:if(e.isDestructuringAssignment(le)){se=Tr,Ue(le);return}W(le);break;case 217:Ne(le);break;case 224:Ze(le);break;case 257:pe(le);break;case 208:case 209:qn(le);break;case 210:hn(le);break;case 232:bn(le);break;case 348:case 341:case 342:pr(le);break;case 308:{Ce(le.statements),Xi(le.endOfFileToken);break}case 238:case 265:Ce(le.statements);break;case 205:Xe(le);break;case 166:ar(le);break;case 207:case 206:case 299:case 227:se=Tr;default:Ee(le);break}so(le),se=Tr}function be(le){switch(le.kind){case 79:case 80:case 108:case 208:case 209:return y(le);case 210:return X(le);case 214:case 232:return be(le.expression);case 223:return Te(le);case 221:return le.operator===53&&be(le.operand);case 218:return be(le.expression)}return!1}function ue(le){return e.isDottedName(le)||(e.isPropertyAccessExpression(le)||e.isNonNullExpression(le)||e.isParenthesizedExpression(le))&&ue(le.expression)||e.isBinaryExpression(le)&&le.operatorToken.kind===27&&ue(le.right)||e.isElementAccessExpression(le)&&(e.isStringOrNumericLiteralLike(le.argumentExpression)||e.isEntityNameExpression(le.argumentExpression))&&ue(le.expression)||e.isAssignmentExpression(le)&&ue(le.left)}function y(le){return ue(le)||e.isOptionalChain(le)&&y(le.expression)}function X(le){if(le.arguments)for(var Tr=0,un=le.arguments;Tr=117&&le.originalKeywordKind<=125?x.bindDiagnostics.push(u(le,Qn(le),e.declarationNameToString(le))):le.originalKeywordKind===133?e.isExternalModule(x)&&e.isInTopLevelContext(le)?x.bindDiagnostics.push(u(le,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module,e.declarationNameToString(le))):le.flags&32768&&x.bindDiagnostics.push(u(le,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(le))):le.originalKeywordKind===125&&le.flags&8192&&x.bindDiagnostics.push(u(le,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(le))))}function Qn(le){return e.getContainingClass(le)?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:x.externalModuleIndicator?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}function Ke(le){le.escapedText==="#constructor"&&(x.parseDiagnostics.length||x.bindDiagnostics.push(u(le,e.Diagnostics.constructor_is_a_reserved_word,e.declarationNameToString(le))))}function cn(le){ne&&e.isLeftHandSideExpression(le.left)&&e.isAssignmentOperator(le.operatorToken.kind)&&Hi(le,le.left)}function Vn(le){ne&&le.variableDeclaration&&Hi(le,le.variableDeclaration.name)}function $i(le){if(ne&&le.expression.kind===79){var Tr=e.getErrorSpanForNode(x,le.expression);x.bindDiagnostics.push(e.createFileDiagnostic(x,Tr.start,Tr.length,e.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode))}}function pt(le){return e.isIdentifier(le)&&(le.escapedText==="eval"||le.escapedText==="arguments")}function Hi(le,Tr){if(Tr&&Tr.kind===79){var un=Tr;if(pt(un)){var ei=e.getErrorSpanForNode(x,Tr);x.bindDiagnostics.push(e.createFileDiagnostic(x,ei.start,ei.length,Ci(le),e.idText(un)))}}}function Ci(le){return e.getContainingClass(le)?e.Diagnostics.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:x.externalModuleIndicator?e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode:e.Diagnostics.Invalid_use_of_0_in_strict_mode}function Tt(le){ne&&Hi(le,le.name)}function st(le){return e.getContainingClass(le)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:x.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}function Yi(le){if(d<2&&R.kind!==308&&R.kind!==264&&!e.isFunctionLikeOrClassStaticBlockDeclaration(R)){var Tr=e.getErrorSpanForNode(x,le);x.bindDiagnostics.push(e.createFileDiagnostic(x,Tr.start,Tr.length,st(le)))}}function ii(le){d<1&&ne&&le.numericLiteralFlags&32&&x.bindDiagnostics.push(u(le,e.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode))}function qa(le){ne&&Hi(le,le.operand)}function za(le){ne&&(le.operator===45||le.operator===46)&&Hi(le,le.operand)}function Wa(le){ne&&ka(le,e.Diagnostics.with_statements_are_not_allowed_in_strict_mode)}function Ao(le){ne&&e.getEmitScriptTarget(J)>=2&&(e.isDeclarationStatement(le.statement)||e.isVariableStatement(le.statement))&&ka(le.label,e.Diagnostics.A_label_is_not_allowed_here)}function ka(le,Tr,un,ei,Ii){var ot=e.getSpanOfTokenAtPosition(x,le.pos);x.bindDiagnostics.push(e.createFileDiagnostic(x,ot.start,ot.length,Tr,un,ei,Ii))}function So(le,Tr,un){Na(le,Tr,Tr,un)}function Na(le,Tr,un,ei){qi(le,{pos:e.getTokenPosOfNode(Tr,x),end:un.end},ei)}function qi(le,Tr,un){var ei=e.createFileDiagnostic(x,Tr.pos,Tr.end-Tr.pos,un);le?x.bindDiagnostics.push(ei):x.bindSuggestionDiagnostics=e.append(x.bindSuggestionDiagnostics,Ri(Ri({},ei),{category:e.DiagnosticCategory.Suggestion}))}function Xi(le){if(le){e.setParent(le,D),e.tracing&&(le.tracingPath=x.path);var Tr=ne;if(uo(le),le.kind>162){var un=D;D=le;var ei=Kn(le);ei===0?Le(le):Se(le,ei),D=un}else{var un=D;le.kind===1&&(D=le),so(le),D=un}ne=Tr}}function so(le){if(e.hasJSDocNodes(le))if(e.isInJSFile(le))for(var Tr=0,un=le.jsDoc;Tr>",0,Ne),is=$l(void 0,void 0,void 0,e.emptyArray,Ne,void 0,0,0),No=$l(void 0,void 0,void 0,e.emptyArray,pe,void 0,0,0),_r=$l(void 0,void 0,void 0,e.emptyArray,Ne,void 0,0,0),Or=$l(void 0,void 0,void 0,e.emptyArray,yn,void 0,0,0),hi=Yl(Kn,hn,!0),bt=new e.Map,Mt={get yieldType(){return e.Debug.fail("Not supported")},get returnType(){return e.Debug.fail("Not supported")},get nextType(){return e.Debug.fail("Not supported")}},Ia=N_(Ne,Ne,Ne),qe=N_(Ne,Ne,pr),tn=N_(Re,Ne,Vr),An={iterableCacheKey:"iterationTypesOfAsyncIterable",iteratorCacheKey:"iterationTypesOfAsyncIterator",iteratorSymbolName:"asyncIterator",getGlobalIteratorType:f8,getGlobalIterableType:c1,getGlobalIterableIteratorType:_8,getGlobalGeneratorType:d8,resolveIterationType:Gg,mustHaveANextMethodDiagnostic:e.Diagnostics.An_async_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property},wn={iterableCacheKey:"iterationTypesOfIterable",iteratorCacheKey:"iterationTypesOfIterator",iteratorSymbolName:"iterator",getGlobalIteratorType:p8,getGlobalIterableType:FE,getGlobalIterableIteratorType:g8,getGlobalGeneratorType:m8,resolveIterationType:function(r,n){return r},mustHaveANextMethodDiagnostic:e.Diagnostics.An_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property},je,ur=new e.Map,hr=!1,Br,Mn,di,pi,_i,Pt,Gt,fa,ia,wa,Es,vs,hs,cc,Ps,cs,mc,nc,vc,Ws,Ec,Zo,Jc,Gs,uc,Ts,le,Tr,un,ei,Ii,ot,ji,dt,Kt,Bt,ha,He,Cn,Nr,ma,Ca,lo,ys,hc,Ms,jc=new e.Map,Ks=0,ic=0,Uc=0,go=!1,$s=0,yc,Fl,tu,tl=ju(""),wf=rf(0),al=d1({negative:!1,base10Value:"0"}),Hc=[],ol=[],Gr=[],Hr=0,Jn=10,ui=[],yi=[],Ti=[],ct=[],Ji=[],jt=[],Ea=[],Zt=[],Vt=[],Ga=[],ea=[],mo=[],xo=[],Os=[],Vo=[],Ss=[],$o=[],de=e.createDiagnosticCollection(),sr=e.createDiagnosticCollection(),Er=jf(),Fn,Si,mt=new e.Map,Ut=new e.Map,_a=new e.Map,$a=new e.Map,io=new e.Map,Po=new e.Map,Ma=e.createSymbolTable();Ma.set(Lr.escapedName,Lr);var Qa=[[".mts",".mjs"],[".ts",".js"],[".cts",".cjs"],[".mjs",".mjs"],[".js",".js"],[".cjs",".cjs"],[".tsx",ue.jsx===1?".jsx":".js"],[".jsx",".jsx"],[".json",".json"]];return RR(),Ve;function Go(r){return r?Zn.get(r):void 0}function qo(r,n){return r&&Zn.set(r,n),n}function Ds(r){if(r){var n=e.getSourceFileOfNode(r);if(n)if(e.isJsxOpeningFragment(r)){if(n.localJsxFragmentNamespace)return n.localJsxFragmentNamespace;var t=n.pragmas.get("jsxfrag");if(t){var o=e.isArray(t)?t[0]:t;if(n.localJsxFragmentFactory=e.parseIsolatedEntityName(o.arguments.factory,y),e.visitNode(n.localJsxFragmentFactory,Ls),n.localJsxFragmentFactory)return n.localJsxFragmentNamespace=e.getFirstIdentifier(n.localJsxFragmentFactory).escapedText}var s=Lx(r);if(s)return n.localJsxFragmentFactory=s,n.localJsxFragmentNamespace=e.getFirstIdentifier(s).escapedText}else{var f=Tc(n);if(f)return n.localJsxNamespace=f}}return Fn||(Fn="React",ue.jsxFactory?(Si=e.parseIsolatedEntityName(ue.jsxFactory,y),e.visitNode(Si,Ls),Si&&(Fn=e.getFirstIdentifier(Si).escapedText)):ue.reactNamespace&&(Fn=e.escapeLeadingUnderscores(ue.reactNamespace))),Si||(Si=e.factory.createQualifiedName(e.factory.createIdentifier(e.unescapeLeadingUnderscores(Fn)),"createElement")),Fn}function Tc(r){if(r.localJsxNamespace)return r.localJsxNamespace;var n=r.pragmas.get("jsx");if(n){var t=e.isArray(n)?n[0]:n;if(r.localJsxFactory=e.parseIsolatedEntityName(t.arguments.factory,y),e.visitNode(r.localJsxFactory,Ls),r.localJsxFactory)return r.localJsxNamespace=e.getFirstIdentifier(r.localJsxFactory).escapedText}}function Ls(r){return e.setTextRangePosEnd(r,-1,-1),e.visitEachChild(r,Ls,e.nullTransformationContext)}function Ml(r,n){return u4(r,n),jr}function M_(r,n,t,o,s,f){var S=r?e.createDiagnosticForNode(r,n,t,o,s,f):e.createCompilerDiagnostic(n,t,o,s,f),ee=de.lookup(S);return ee||(de.add(S),S)}function xl(r,n,t,o,s,f,S){var ee=Xr(n,t,o,s,f,S);return ee.skippedOn=r,ee}function lf(r,n,t,o,s,f){return r?e.createDiagnosticForNode(r,n,t,o,s,f):e.createCompilerDiagnostic(n,t,o,s,f)}function Xr(r,n,t,o,s,f){var S=lf(r,n,t,o,s,f);return de.add(S),S}function ff(r,n){r?de.add(n):sr.add(Ri(Ri({},n),{category:e.DiagnosticCategory.Suggestion}))}function Pu(r,n,t,o,s,f,S){if(n.pos<0||n.end<0){if(!r)return;var ee=e.getSourceFileOfNode(n);ff(r,"message"in t?e.createFileDiagnostic(ee,0,0,t,o,s,f,S):e.createDiagnosticForFileFromMessageChain(ee,t));return}ff(r,"message"in t?e.createDiagnosticForNode(n,t,o,s,f,S):e.createDiagnosticForNodeFromMessageChain(n,t))}function _f(r,n,t,o,s,f,S){var ee=Xr(r,t,o,s,f,S);if(n){var _e=e.createDiagnosticForNode(r,e.Diagnostics.Did_you_forget_to_use_await);e.addRelatedInfo(ee,_e)}return ee}function a_(r,n){var t=Array.isArray(r)?e.forEach(r,e.getJSDocDeprecatedTag):e.getJSDocDeprecatedTag(r);return t&&e.addRelatedInfo(n,e.createDiagnosticForNode(t,e.Diagnostics.The_declaration_was_marked_as_deprecated_here)),sr.add(n),n}function df(r){return!!(Y1(r)&268435456)}function Ll(r,n,t){var o=e.createDiagnosticForNode(r,e.Diagnostics._0_is_deprecated,t);return a_(n,o)}function ap(r,n,t,o){var s=t?e.createDiagnosticForNode(r,e.Diagnostics.The_signature_0_of_1_is_deprecated,o,t):e.createDiagnosticForNode(r,e.Diagnostics._0_is_deprecated,o);return a_(n,s)}function vo(r,n,t){ae++;var o=new B(r|33554432,n);return o.checkFlags=t||0,o}function dd(r){var n=0;return r&2&&(n|=111551),r&1&&(n|=111550),r&4&&(n|=0),r&8&&(n|=900095),r&16&&(n|=110991),r&32&&(n|=899503),r&64&&(n|=788872),r&256&&(n|=899327),r&128&&(n|=899967),r&512&&(n|=110735),r&8192&&(n|=103359),r&32768&&(n|=46015),r&65536&&(n|=78783),r&262144&&(n|=526824),r&524288&&(n|=788968),r&2097152&&(n|=2097152),n}function Of(r,n){n.mergeId||(n.mergeId=p,p++),ui[n.mergeId]=r}function pd(r){var n=vo(r.flags,r.escapedName);return n.declarations=r.declarations?r.declarations.slice():[],n.parent=r.parent,r.valueDeclaration&&(n.valueDeclaration=r.valueDeclaration),r.constEnumOnlyModule&&(n.constEnumOnlyModule=!0),r.members&&(n.members=new e.Map(r.members)),r.exports&&(n.exports=new e.Map(r.exports)),Of(n,r),n}function o_(r,n,t){if(t===void 0&&(t=!1),!(r.flags&dd(n.flags))||(n.flags|r.flags)&67108864){if(n===r)return r;if(!(r.flags&33554432)){var o=_s(r);if(o===Jr)return n;r=pd(o)}n.flags&512&&r.flags&512&&r.constEnumOnlyModule&&!n.constEnumOnlyModule&&(r.constEnumOnlyModule=!1),r.flags|=n.flags,n.valueDeclaration&&e.setValueDeclaration(r,n.valueDeclaration),e.addRange(r.declarations,n.declarations),n.members&&(r.members||(r.members=e.createSymbolTable()),fu(r.members,n.members,t)),n.exports&&(r.exports||(r.exports=e.createSymbolTable()),fu(r.exports,n.exports,t)),t||Of(r,n)}else if(r.flags&1024)r!==pn&&Xr(n.declarations&&e.getNameOfDeclaration(n.declarations[0]),e.Diagnostics.Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity,Xt(r));else{var s=!!(r.flags&384||n.flags&384),f=!!(r.flags&2||n.flags&2),S=s?e.Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:f?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0,ee=n.declarations&&e.getSourceFileOfNode(n.declarations[0]),_e=r.declarations&&e.getSourceFileOfNode(r.declarations[0]),Ie=e.isPlainJsFile(ee,ue.checkJs),rr=e.isPlainJsFile(_e,ue.checkJs),Ye=Xt(n);if(ee&&_e&&je&&!s&&ee!==_e){var tr=e.comparePaths(ee.path,_e.path)===-1?ee:_e,ir=tr===ee?_e:ee,zr=e.getOrUpdate(je,"".concat(tr.path,"|").concat(ir.path),function(){return{firstFile:tr,secondFile:ir,conflictingSymbols:new e.Map}}),on=e.getOrUpdate(zr.conflictingSymbols,Ye,function(){return{isBlockScoped:f,firstFileLocations:[],secondFileLocations:[]}});Ie||In(on.firstFileLocations,n),rr||In(on.secondFileLocations,r)}else Ie||gd(n,S,Ye,r),rr||gd(r,S,Ye,n)}return r;function In(Sn,$n){if($n.declarations)for(var ri=0,Ei=$n.declarations;ri=5||e.some(f.relatedInformation,function(zr){return e.compareDiagnostics(zr,ir)===0||e.compareDiagnostics(zr,tr)===0}))return"continue";e.addRelatedInfo(f,e.length(f.relatedInformation)?ir:tr)},ee=0,_e=o||e.emptyArray;ee<_e.length;ee++){var Ie=_e[ee];S(Ie)}}function pf(r,n){if(!(r!=null&&r.size))return n;if(!(n!=null&&n.size))return r;var t=e.createSymbolTable();return fu(t,r),fu(t,n),t}function fu(r,n,t){t===void 0&&(t=!1),n.forEach(function(o,s){var f=r.get(s);r.set(s,f?o_(f,o,t):Ya(o))})}function md(r){var n,t,o,s=r.parent;if(((n=s.symbol.declarations)===null||n===void 0?void 0:n[0])!==s){e.Debug.assert(s.symbol.declarations.length>1);return}if(e.isGlobalScopeAugmentation(s))fu(en,s.symbol.exports);else{var f=r.parent.parent.flags&16777216?void 0:e.Diagnostics.Invalid_module_name_in_augmentation_module_0_cannot_be_found,S=El(r,r,f,!0);if(!S)return;if(S=Vs(S),S.flags&1920)if(e.some(Mn,function(zr){return S===zr.symbol})){var ee=o_(s.symbol,S,!0);di||(di=new e.Map),di.set(r.text,ee)}else{if(!((t=S.exports)===null||t===void 0)&&t.get("__export")&&(!((o=s.symbol.exports)===null||o===void 0)&&o.size))for(var _e=cy(S,"resolvedExports"),Ie=0,rr=e.arrayFrom(s.symbol.exports.entries());IeYe.end)return!1;var zr=e.findAncestor(tr,function(on){if(on===Ye)return"quit";switch(on.kind){case 216:return!0;case 169:return ir&&(e.isPropertyDeclaration(Ye)&&on.parent===Ye.parent||e.isParameterPropertyDeclaration(Ye,Ye.parent)&&on.parent===Ye.parent.parent)?"quit":!0;case 238:switch(on.parent.kind){case 174:case 171:case 175:return!0;default:return!1}default:return!1}});return zr===void 0}}function kg(r,n,t){var o=e.getEmitScriptTarget(ue),s=n;if(e.isParameter(t)&&s.body&&r.valueDeclaration&&r.valueDeclaration.pos>=s.body.pos&&r.valueDeclaration.end<=s.body.end&&o>=2){var f=Nt(s);return f.declarationRequiresScopeChange===void 0&&(f.declarationRequiresScopeChange=e.forEach(s.parameters,S)||!1),!f.declarationRequiresScopeChange}return!1;function S(_e){return ee(_e.name)||!!_e.initializer&&ee(_e.initializer)}function ee(_e){switch(_e.kind){case 216:case 215:case 259:case 173:return!1;case 171:case 174:case 175:case 299:return ee(_e.name);case 169:return e.hasStaticModifier(_e)?o<99||!Ae:ee(_e.name);default:return e.isNullishCoalesce(_e)||e.isOptionalChain(_e)?o<7:e.isBindingElement(_e)&&_e.dotDotDotToken&&e.isObjectBindingPattern(_e.parent)?o<4:e.isTypeNode(_e)?!1:e.forEachChild(_e,ee)||!1}}}function op(r){return e.isAssertionExpression(r)&&e.isConstTypeReference(r.type)||e.isJSDocTypeTag(r)&&e.isConstTypeReference(r.typeExpression)}function us(r,n,t,o,s,f,S,ee){return S===void 0&&(S=!1),ee===void 0&&(ee=!0),Gp(r,n,t,o,s,f,S,ee,Gc)}function Gp(r,n,t,o,s,f,S,ee,_e){var Ie,rr,Ye,tr=r,ir,zr,on,In,Sn,$n=!1,ri=r,Ei,Bi=!1;e:for(;r;){if(n==="const"&&op(r))return;if(r.locals&&!Iu(r)&&(ir=_e(r.locals,n,t))){var gt=!0;if(e.isFunctionLike(r)&&zr&&zr!==r.body?(t&ir.flags&788968&&zr.kind!==323&&(gt=ir.flags&262144?zr===r.type||zr.kind===166||zr.kind===343||zr.kind===344||zr.kind===165:!1),t&ir.flags&3&&(kg(ir,r,zr)?gt=!1:ir.flags&1&&(gt=zr.kind===166||zr===r.type&&!!e.findAncestor(ir.valueDeclaration,e.isParameter)))):r.kind===191&&(gt=zr===r.trueType),gt)break e;ir=void 0}switch($n=$n||sl(r,zr),r.kind){case 308:if(!e.isExternalOrCommonJsModule(r))break;Bi=!0;case 264:var nt=((Ie=Wi(r))===null||Ie===void 0?void 0:Ie.exports)||Le;if(r.kind===308||e.isModuleDeclaration(r)&&r.flags&16777216&&!e.isGlobalScopeAugmentation(r)){if(ir=nt.get("default")){var ba=e.getLocalSymbolForExportDefault(ir);if(ba&&ir.flags&t&&ba.escapedName===n)break e;ir=void 0}var xt=nt.get(n);if(xt&&xt.flags===2097152&&(e.getDeclarationOfKind(xt,278)||e.getDeclarationOfKind(xt,277)))break}if(n!=="default"&&(ir=_e(nt,n,t&2623475)))if(e.isSourceFile(r)&&r.commonJsModuleIndicator&&!(!((rr=ir.declarations)===null||rr===void 0)&&rr.some(e.isJSDocTypeAlias)))ir=void 0;else break e;break;case 263:if(ir=_e(((Ye=Wi(r))===null||Ye===void 0?void 0:Ye.exports)||Le,n,t&8))break e;break;case 169:if(!e.isStatic(r)){var Sa=Jf(r.parent);Sa&&Sa.locals&&_e(Sa.locals,n,t&111551)&&(e.Debug.assertNode(r,e.isPropertyDeclaration),In=r)}break;case 260:case 228:case 261:if(ir=_e(Wi(r).members||Le,n,t&788968)){if(!$p(ir,r)){ir=void 0;break}if(zr&&e.isStatic(zr)){o&&Xr(ri,e.Diagnostics.Static_members_cannot_reference_class_type_parameters);return}break e}if(r.kind===228&&t&32){var Ta=r.name;if(Ta&&n===Ta.escapedText){ir=r.symbol;break e}}break;case 230:if(zr===r.expression&&r.parent.token===94){var Oa=r.parent.parent;if(e.isClassLike(Oa)&&(ir=_e(Wi(Oa).members,n,t&788968))){o&&Xr(ri,e.Diagnostics.Base_class_expressions_cannot_reference_class_type_parameters);return}}break;case 164:if(Ei=r.parent.parent,(e.isClassLike(Ei)||Ei.kind===261)&&(ir=_e(Wi(Ei).members,n,t&788968))){o&&Xr(ri,e.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);return}break;case 216:if(e.getEmitScriptTarget(ue)>=2)break;case 171:case 173:case 174:case 175:case 259:if(t&3&&n==="arguments"){ir=ye;break e}break;case 215:if(t&3&&n==="arguments"){ir=ye;break e}if(t&16){var Eo=r.name;if(Eo&&n===Eo.escapedText){ir=r.symbol;break e}}break;case 167:r.parent&&r.parent.kind===166&&(r=r.parent),r.parent&&(e.isClassElement(r.parent)||r.parent.kind===260)&&(r=r.parent);break;case 348:case 341:case 342:var To=e.getJSDocRoot(r);To&&(r=To.parent);break;case 166:zr&&(zr===r.initializer||zr===r.name&&e.isBindingPattern(zr))&&(Sn||(Sn=r));break;case 205:zr&&(zr===r.initializer||zr===r.name&&e.isBindingPattern(zr))&&e.isParameterDeclaration(r)&&!Sn&&(Sn=r);break;case 192:if(t&262144){var fo=r.typeParameter.name;if(fo&&n===fo.escapedText){ir=r.typeParameter.symbol;break e}}break}Kp(r)&&(on=r),zr=r,r=e.isJSDocTemplateTag(r)?e.getEffectiveContainerForJSDocTemplateTag(r)||r.parent:(e.isJSDocParameterTag(r)||e.isJSDocReturnTag(r))&&e.getHostSignatureFromJSDoc(r)||r.parent}if(f&&ir&&(!on||ir!==on.symbol)&&(ir.isReferenced|=t),!ir){if(zr&&(e.Debug.assert(zr.kind===308),zr.commonJsModuleIndicator&&n==="exports"&&t&zr.symbol.flags))return zr.symbol;S||(ir=_e(en,n,t))}if(!ir&&tr&&e.isInJSFile(tr)&&tr.parent&&e.isRequireCall(tr.parent,!1))return or;function ca(){return In&&!(Ae&&e.getEmitScriptTarget(ue)>=9)?(Xr(ri,ri&&In.type&&e.textRangeContainsPositionInclusive(In.type,ri.pos)?e.Diagnostics.Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:e.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,e.declarationNameToString(In.name),Dc(s)),!0):!1}if(ir){if(o&&ca())return}else{o&&oe(function(){if(!ri||!lc(ri,n,s)&&!ca()&&!Rl(ri)&&!Qp(ri,n,t)&&!yd(ri,n)&&!cp(ri,n,t)&&!Xp(ri,n,t)&&!sp(ri,n,t)){var si=void 0,Bn=void 0;if(s&&(Bn=WO(s),Bn&&Xr(ri,o,Dc(s),Bn)),!Bn&&ee&&HrSn.pos&&It.parent.locals&&_e(It.parent.locals,lt.escapedName,t)===lt&&Xr(ri,e.Diagnostics.Parameter_0_cannot_reference_identifier_1_declared_after_it,e.declarationNameToString(Sn.name),e.declarationNameToString(ri))}if(ir&&ri&&t&111551&&ir.flags&2097152&&!(ir.flags&111551)&&!e.isValidTypeOnlyAliasUseSite(ri)){var ra=Nc(ir,111551);if(ra){var Zi=ra.kind===278?e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type,Aa=e.unescapeLeadingUnderscores(n);ks(Xr(ri,Zi,Aa),ra,Aa)}}}),ir}function ks(r,n,t){return n?e.addRelatedInfo(r,e.createDiagnosticForNode(n,n.kind===278?e.Diagnostics._0_was_exported_here:e.Diagnostics._0_was_imported_here,t)):r}function sl(r,n){return r.kind!==216&&r.kind!==215?e.isTypeQueryNode(r)||(e.isFunctionLikeDeclaration(r)||r.kind===169&&!e.isStatic(r))&&(!n||n!==r.name):n&&n===r.name?!1:r.asteriskToken||e.hasSyntacticModifier(r,512)?!0:!e.getImmediatelyInvokedFunctionExpression(r)}function Kp(r){switch(r.kind){case 259:case 260:case 261:case 263:case 262:case 264:return!0;default:return!1}}function Dc(r){return e.isString(r)?e.unescapeLeadingUnderscores(r):e.declarationNameToString(r)}function $p(r,n){if(r.declarations)for(var t=0,o=r.declarations;t=e.ModuleKind.ES2015?"allowSyntheticDefaultImports":"esModuleInterop",rr=r.exports.get("export="),Ye=rr.valueDeclaration,tr=Xr(n.name,e.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag,Xt(r),Ie);Ye&&e.addRelatedInfo(tr,e.createDiagnosticForNode(Ye,e.Diagnostics.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,Ie))}else e.isImportClause(n)?z_(r,n):Ou(r,r,n,e.isImportOrExportSpecifier(n)&&n.propertyName||n.name);else if(_e||ee){var ir=Vs(r,t)||_s(r,t);return Qs(n,r,ir,!1),ir}return Qs(n,s,void 0,!1),s}function Sd(r){switch(r.kind){case 270:return r.parent.moduleSpecifier;case 268:return e.isExternalModuleReference(r.moduleReference)?r.moduleReference.expression:void 0;case 271:return r.parent.parent.moduleSpecifier;case 273:return r.parent.parent.parent.moduleSpecifier;case 278:return r.parent.parent.moduleSpecifier;default:return e.Debug.assertNever(r)}}function z_(r,n){var t,o,s;if(!((t=r.exports)===null||t===void 0)&&t.has(n.symbol.escapedName))Xr(n.name,e.Diagnostics.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,Xt(r),Xt(n.symbol));else{var f=Xr(n.name,e.Diagnostics.Module_0_has_no_default_export,Xt(r)),S=(o=r.exports)===null||o===void 0?void 0:o.get("__export");if(S){var ee=(s=S.declarations)===null||s===void 0?void 0:s.find(function(_e){var Ie,rr;return!!(e.isExportDeclaration(_e)&&_e.moduleSpecifier&&(!((rr=(Ie=Bs(_e,_e.moduleSpecifier))===null||Ie===void 0?void 0:Ie.exports)===null||rr===void 0)&&rr.has("default")))});ee&&e.addRelatedInfo(f,e.createDiagnosticForNode(ee,e.Diagnostics.export_Asterisk_does_not_re_export_a_default))}}}function wu(r,n){var t=r.parent.parent.moduleSpecifier,o=Bs(r,t),s=au(o,t,n,!1);return Qs(r,o,s,!1),s}function Lf(r,n){var t=r.parent.moduleSpecifier,o=t&&Bs(r,t),s=t&&au(o,t,n,!1);return Qs(r,o,s,!1),s}function ul(r,n){if(r===Jr&&n===Jr)return Jr;if(r.flags&790504)return r;var t=vo(r.flags|n.flags,r.escapedName);return t.declarations=e.deduplicate(e.concatenate(r.declarations,n.declarations),e.equateValues),t.parent=r.parent||n.parent,r.valueDeclaration&&(t.valueDeclaration=r.valueDeclaration),n.members&&(t.members=new e.Map(n.members)),r.exports&&(t.exports=new e.Map(r.exports)),t}function qu(r,n,t,o){if(r.flags&1536){var s=Ic(r).get(n.escapedText),f=_s(s,o);return Qs(t,s,f,!1),f}}function Hu(r,n){if(r.flags&3){var t=r.valueDeclaration.type;if(t)return _s(Yt(Wt(t),n))}}function Gu(r,n,t){var o;t===void 0&&(t=!1);var s=e.getExternalModuleRequireArgument(r)||r.moduleSpecifier,f=Bs(r,s),S=!e.isPropertyAccessExpression(n)&&n.propertyName||n.name;if(e.isIdentifier(S)){var ee=S.escapedText==="default"&&!!(ue.allowSyntheticDefaultImports||e.getESModuleInterop(ue)),_e=au(f,s,!1,ee);if(_e&&S.escapedText){if(e.isShorthandAmbientModuleSymbol(f))return f;var Ie=void 0;f&&f.exports&&f.exports.get("export=")?Ie=Yt(Li(_e),S.escapedText,!0):Ie=Hu(_e,S.escapedText),Ie=_s(Ie,t);var rr=qu(_e,S,n,t);if(rr===void 0&&S.escapedText==="default"){var Ye=(o=f.declarations)===null||o===void 0?void 0:o.find(e.isSourceFile);(vf(s)||Ac(Ye,f,t,s))&&(rr=Vs(f,t)||_s(f,t))}var tr=rr&&Ie&&rr!==Ie?ul(Ie,rr):rr||Ie;return tr||Ou(f,_e,r,S),tr}}}function Ou(r,n,t,o){var s,f=Pc(r,t),S=e.declarationNameToString(o),ee=n2(o,n);if(ee!==void 0){var _e=Xt(ee),Ie=Xr(o,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,f,S,_e);ee.valueDeclaration&&e.addRelatedInfo(Ie,e.createDiagnosticForNode(ee.valueDeclaration,e.Diagnostics._0_is_declared_here,_e))}else!((s=r.exports)===null||s===void 0)&&s.has("default")?Xr(o,e.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,f,S):Zp(t,o,S,r,f)}function Zp(r,n,t,o,s){var f,S,ee=(S=(f=o.valueDeclaration)===null||f===void 0?void 0:f.locals)===null||S===void 0?void 0:S.get(n.escapedText),_e=o.exports;if(ee){var Ie=_e==null?void 0:_e.get("export=");if(Ie)Fu(Ie,ee)?xd(r,n,t,s):Xr(n,e.Diagnostics.Module_0_has_no_exported_member_1,s,t);else{var rr=_e?e.find(by(_e),function(tr){return!!Fu(tr,ee)}):void 0,Ye=rr?Xr(n,e.Diagnostics.Module_0_declares_1_locally_but_it_is_exported_as_2,s,t,Xt(rr)):Xr(n,e.Diagnostics.Module_0_declares_1_locally_but_it_is_not_exported,s,t);ee.declarations&&e.addRelatedInfo.apply(void 0,Hn([Ye],e.map(ee.declarations,function(tr,ir){return e.createDiagnosticForNode(tr,ir===0?e.Diagnostics._0_is_declared_here:e.Diagnostics.and_here,t)}),!1))}}else Xr(n,e.Diagnostics.Module_0_has_no_exported_member_1,s,t)}function xd(r,n,t,o){if(X>=e.ModuleKind.ES2015){var s=e.getESModuleInterop(ue)?e.Diagnostics._0_can_only_be_imported_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;Xr(n,s,t)}else if(e.isInJSFile(r)){var s=e.getESModuleInterop(ue)?e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;Xr(n,s,t)}else{var s=e.getESModuleInterop(ue)?e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;Xr(n,s,t,t,o)}}function lp(r,n){if(e.isImportSpecifier(r)&&e.idText(r.propertyName||r.name)==="default"){var t=Sd(r),o=t&&Bs(r,t);if(o)return hf(o,r,n)}var s=e.isBindingElement(r)?e.getRootDeclaration(r):r.parent.parent.parent,f=Cd(s),S=Gu(s,f||r,n),ee=r.propertyName||r.name;return f&&S&&e.isIdentifier(ee)?_s(Yt(Li(S),ee.escapedText),n):(Qs(r,void 0,S,!1),S)}function Cd(r){if(e.isVariableDeclaration(r)&&r.initializer&&e.isPropertyAccessExpression(r.initializer))return r.initializer}function Bo(r,n){var t=Vs(r.parent.symbol,n);return Qs(r,void 0,t,!1),t}function yf(r,n,t){if(e.idText(r.propertyName||r.name)==="default"){var o=Sd(r),s=o&&Bs(r,o);if(s)return hf(s,r,!!t)}var f=r.parent.parent.moduleSpecifier?Gu(r.parent.parent,r,t):ls(r.propertyName||r.name,n,!1,t);return Qs(r,void 0,f,!1),f}function fp(r,n){var t=e.isExportAssignment(r)?r.expression:r.right,o=W_(t,n);return Qs(r,void 0,o,!1),o}function W_(r,n){if(e.isClassExpression(r))return Cs(r).symbol;if(!(!e.isEntityName(r)&&!e.isEntityNameExpression(r))){var t=ls(r,901119,!0,n);return t||(Cs(r),Nt(r).resolvedSymbol)}}function c_(r,n){if(e.isBinaryExpression(r.parent)&&r.parent.left===r&&r.parent.operatorToken.kind===63)return W_(r.parent.right,n)}function Rf(r,n){switch(n===void 0&&(n=!1),r.kind){case 268:case 257:return j_(r,n);case 270:return cl(r,n);case 271:return wu(r,n);case 277:return Lf(r,n);case 273:case 205:return lp(r,n);case 278:return yf(r,901119,n);case 274:case 223:return fp(r,n);case 267:return Bo(r,n);case 300:return ls(r.name,901119,!0,n);case 299:return W_(r.initializer,n);case 209:case 208:return c_(r,n);default:return e.Debug.fail()}}function _p(r,n){return n===void 0&&(n=901119),r?(r.flags&(2097152|n))===2097152||!!(r.flags&2097152&&r.flags&67108864):!1}function _s(r,n){return!n&&_p(r)?wi(r):r}function wi(r){e.Debug.assert((r.flags&2097152)!==0,"Should only get Alias here.");var n=Qt(r);if(n.aliasTarget)n.aliasTarget===sn&&(n.aliasTarget=Jr);else{n.aliasTarget=sn;var t=Vu(r);if(!t)return e.Debug.fail();var o=Rf(t);n.aliasTarget===sn?n.aliasTarget=o||Jr:Xr(t,e.Diagnostics.Circular_definition_of_import_alias_0,Xt(r))}return n.aliasTarget}function Rs(r){var n=Qt(r);if(n.aliasTarget!==sn)return wi(r)}function $t(r){for(var n=r.flags,t;r.flags&2097152;){var o=wi(r);if(o===Jr)return 67108863;if(o===r||t!=null&&t.has(o))break;o.flags&2097152&&(t?t.add(o):t=new e.Set([r,o])),n|=o.flags,r=o}return n}function Qs(r,n,t,o){if(!r||e.isPropertyAccessExpression(r))return!1;var s=Wi(r);if(e.isTypeOnlyImportOrExportDeclaration(r)){var f=Qt(s);return f.typeOnlyDeclaration=r,!0}var S=Qt(s);return Ed(S,n,o)||Ed(S,t,o)}function Ed(r,n,t){var o,s,f;if(n&&(r.typeOnlyDeclaration===void 0||t&&r.typeOnlyDeclaration===!1)){var S=(s=(o=n.exports)===null||o===void 0?void 0:o.get("export="))!==null&&s!==void 0?s:n,ee=S.declarations&&e.find(S.declarations,e.isTypeOnlyImportOrExportDeclaration);r.typeOnlyDeclaration=(f=ee??Qt(S).typeOnlyDeclaration)!==null&&f!==void 0?f:!1}return!!r.typeOnlyDeclaration}function Nc(r,n){if(r.flags&2097152){var t=Qt(r);if(n===void 0)return t.typeOnlyDeclaration||void 0;if(t.typeOnlyDeclaration)return $t(wi(t.typeOnlyDeclaration.symbol))&n?t.typeOnlyDeclaration:void 0}}function Ui(r){var n=Wi(r),t=wi(n);if(t){var o=t===Jr||$t(t)&111551&&!Rh(t)&&!Nc(n,111551);o&&_u(n)}}function _u(r){var n=Qt(r);if(!n.referenced){n.referenced=!0;var t=Vu(r);if(!t)return e.Debug.fail();e.isInternalModuleImportEqualsDeclaration(t)&&$t(_s(r))&111551&&Cs(t.moduleReference)}}function du(r){var n=Qt(r);n.constEnumReferenced||(n.constEnumReferenced=!0)}function Ko(r,n){return r.kind===79&&e.isRightSideOfQualifiedNameOrPropertyAccess(r)&&(r=r.parent),r.kind===79||r.parent.kind===163?ls(r,1920,!1,n):(e.Debug.assert(r.parent.kind===268),ls(r,901119,!1,n))}function Pc(r,n){return r.parent?Pc(r.parent,n)+"."+Xt(r):Xt(r,n,void 0,36)}function Kc(r){for(;e.isQualifiedName(r.parent);)r=r.parent;return r}function Td(r){var n=e.getFirstIdentifier(r),t=us(n,n.escapedText,111551,void 0,n,!0);if(t){for(;e.isQualifiedName(n.parent);){var o=Li(t);if(t=Yt(o,n.parent.right.escapedText),!t)return;n=n.parent}return t}}function ls(r,n,t,o,s){if(!e.nodeIsMissing(r)){var f=1920|(e.isInJSFile(r)?n&111551:0),S;if(r.kind===79){var ee=n===f||e.nodeIsSynthesized(r)?e.Diagnostics.Cannot_find_namespace_0:nk(e.getFirstIdentifier(r)),_e=e.isInJSFile(r)&&!e.nodeIsSynthesized(r)?Cl(r,n):void 0;if(S=Ya(us(s||r,r.escapedText,n,t||_e?void 0:ee,r,!0,!1)),!S)return Ya(_e)}else if(r.kind===163||r.kind===208){var Ie=r.kind===163?r.left:r.expression,rr=r.kind===163?r.right:r.name,Ye=ls(Ie,f,t,!1,s);if(!Ye||e.nodeIsMissing(rr))return;if(Ye===Jr)return Ye;if(Ye.valueDeclaration&&e.isInJSFile(Ye.valueDeclaration)&&e.isVariableDeclaration(Ye.valueDeclaration)&&Ye.valueDeclaration.initializer&&M6(Ye.valueDeclaration.initializer)){var tr=Ye.valueDeclaration.initializer.arguments[0],ir=Bs(tr,tr);if(ir){var zr=Vs(ir);zr&&(Ye=zr)}}if(S=Ya(Gc(Ic(Ye),rr.escapedText,n)),!S){if(!t){var on=Pc(Ye),In=e.declarationNameToString(rr),Sn=n2(rr,Ye);if(Sn){Xr(rr,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,on,In,Xt(Sn));return}var $n=e.isQualifiedName(r)&&Kc(r),ri=pi&&n&788968&&$n&&!e.isTypeOfExpression($n.parent)&&Td($n);if(ri){Xr($n,e.Diagnostics._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,e.entityNameToString($n));return}if(n&1920&&e.isQualifiedName(r.parent)){var Ei=Ya(Gc(Ic(Ye),rr.escapedText,788968));if(Ei){Xr(r.parent.right,e.Diagnostics.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,Xt(Ei),e.unescapeLeadingUnderscores(r.parent.right.escapedText));return}}Xr(rr,e.Diagnostics.Namespace_0_has_no_exported_member_1,on,In)}return}}else throw e.Debug.assertNever(r,"Unknown entity name kind.");return e.Debug.assert((e.getCheckFlags(S)&1)===0,"Should never get an instantiated symbol here."),!e.nodeIsSynthesized(r)&&e.isEntityName(r)&&(S.flags&2097152||r.parent.kind===274)&&Qs(e.getAliasDeclarationFromName(r),S,void 0,!0),S.flags&n||o?S:wi(S)}}function Cl(r,n){if(a1(r.parent)){var t=Bf(r.parent);if(t)return us(t,r.escapedText,n,void 0,r,!0)}}function Bf(r){var n=e.findAncestor(r,function(f){return e.isJSDocNode(f)||f.flags&8388608?e.isJSDocTypeAlias(f):"quit"});if(!n){var t=e.getJSDocHost(r);if(t&&e.isExpressionStatement(t)&&e.isPrototypePropertyAssignment(t.expression)){var o=Wi(t.expression.left);if(o)return V_(o)}if(t&&e.isFunctionExpression(t)&&e.isPrototypePropertyAssignment(t.parent)&&e.isExpressionStatement(t.parent.parent)){var o=Wi(t.parent.left);if(o)return V_(o)}if(t&&(e.isObjectLiteralMethod(t)||e.isPropertyAssignment(t))&&e.isBinaryExpression(t.parent.parent)&&e.getAssignmentDeclarationKind(t.parent.parent)===6){var o=Wi(t.parent.parent.left);if(o)return V_(o)}var s=e.getEffectiveJSDocHost(r);if(s&&e.isFunctionLike(s)){var o=Wi(s);return o&&o.valueDeclaration}}}function V_(r){var n=r.parent.valueDeclaration;if(n){var t=e.isAssignmentDeclaration(n)?e.getAssignedExpandoInitializer(n):e.hasOnlyExpressionInitializer(n)?e.getDeclaredExpandoInitializer(n):void 0;return t||n}}function ll(r){var n=r.valueDeclaration;if(!(!n||!e.isInJSFile(n)||r.flags&524288||e.getExpandoInitializer(n,!1))){var t=e.isVariableDeclaration(n)?e.getDeclaredExpandoInitializer(n):e.getAssignedExpandoInitializer(n);if(t){var o=Wi(t);if(o)return ZS(o,r)}}}function Bs(r,n,t){var o=e.getEmitModuleResolutionKind(ue)===e.ModuleResolutionKind.Classic,s=o?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations;return El(r,n,t?void 0:s)}function El(r,n,t,o){return o===void 0&&(o=!1),e.isStringLiteralLike(n)?u_(r,n.text,t,n,o):void 0}function u_(r,n,t,o,s){var f,S,ee,_e,Ie,rr,Ye,tr;if(s===void 0&&(s=!1),e.startsWith(n,"@types/")){var ir=e.Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1,zr=e.removePrefix(n,"@types/");Xr(o,ir,zr,n)}var on=rh(n,!0);if(on)return on;var In=e.getSourceFileOfNode(r),Sn=e.isStringLiteralLike(r)?r:((f=e.findAncestor(r,e.isImportCall))===null||f===void 0?void 0:f.arguments[0])||((S=e.findAncestor(r,e.isImportDeclaration))===null||S===void 0?void 0:S.moduleSpecifier)||((ee=e.findAncestor(r,e.isExternalModuleImportEqualsDeclaration))===null||ee===void 0?void 0:ee.moduleReference.expression)||((_e=e.findAncestor(r,e.isExportDeclaration))===null||_e===void 0?void 0:_e.moduleSpecifier)||((Ie=e.isModuleDeclaration(r)?r:r.parent&&e.isModuleDeclaration(r.parent)&&r.parent.name===r?r.parent:void 0)===null||Ie===void 0?void 0:Ie.name)||((rr=e.isLiteralImportTypeNode(r)?r:void 0)===null||rr===void 0?void 0:rr.argument.literal),$n=Sn&&e.isStringLiteralLike(Sn)?e.getModeForUsageLocation(In,Sn):In.impliedNodeFormat,ri=e.getResolvedModule(In,n,$n),Ei=ri&&e.getResolutionDiagnostic(ue,ri),Bi=ri&&(!Ei||Ei===e.Diagnostics.Module_0_was_resolved_to_1_but_jsx_is_not_set)&&T.getSourceFile(ri.resolvedFileName);if(Bi){if(Ei&&Xr(o,Ei,n,ri.resolvedFileName),Bi.symbol){if(ri.isExternalLibraryImport&&!e.resolutionExtensionIsTSOrJson(ri.extension)&&l_(!1,o,ri,n),e.getEmitModuleResolutionKind(ue)===e.ModuleResolutionKind.Node16||e.getEmitModuleResolutionKind(ue)===e.ModuleResolutionKind.NodeNext){var gt=In.impliedNodeFormat===e.ModuleKind.CommonJS&&!e.findAncestor(r,e.isImportCall)||!!e.findAncestor(r,e.isImportEqualsDeclaration),nt=e.findAncestor(r,function(oa){return e.isImportTypeNode(oa)||e.isExportDeclaration(oa)||e.isImportDeclaration(oa)}),ba=nt&&e.isImportTypeNode(nt)?(Ye=nt.assertions)===null||Ye===void 0?void 0:Ye.assertClause:nt==null?void 0:nt.assertClause;if(gt&&Bi.impliedNodeFormat===e.ModuleKind.ESNext&&!e.getResolutionModeOverrideForClause(ba))if(e.findAncestor(r,e.isImportEqualsDeclaration))Xr(o,e.Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead,n);else{var xt=void 0,Sa=e.tryGetExtensionFromPath(In.fileName);if(Sa===".ts"||Sa===".js"||Sa===".tsx"||Sa===".jsx"){var Ta=In.packageJsonScope,Oa=Sa===".ts"?".mts":Sa===".js"?".mjs":void 0;Ta&&!Ta.contents.packageJsonContent.type?Oa?xt=e.chainDiagnosticMessages(void 0,e.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1,Oa,e.combinePaths(Ta.packageDirectory,"package.json")):xt=e.chainDiagnosticMessages(void 0,e.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0,e.combinePaths(Ta.packageDirectory,"package.json")):Oa?xt=e.chainDiagnosticMessages(void 0,e.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module,Oa):xt=e.chainDiagnosticMessages(void 0,e.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module)}de.add(e.createDiagnosticForNodeFromMessageChain(o,e.chainDiagnosticMessages(xt,e.Diagnostics.The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead,n)))}}return Ya(Bi.symbol)}t&&Xr(o,e.Diagnostics.File_0_is_not_a_module,Bi.fileName);return}if(Mn){var Eo=e.findBestPatternMatch(Mn,function(oa){return oa.pattern},n);if(Eo){var To=di&&di.get(n);return Ya(To||Eo.symbol)}}if(ri&&!e.resolutionExtensionIsTSOrJson(ri.extension)&&Ei===void 0||Ei===e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type){if(s){var ir=e.Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented;Xr(o,ir,n,ri.resolvedFileName)}else l_(We&&!!t,o,ri,n);return}if(t){if(ri){var fo=T.getProjectReferenceRedirect(ri.resolvedFileName);if(fo){Xr(o,e.Diagnostics.Output_file_0_has_not_been_built_from_source_file_1,fo,ri.resolvedFileName);return}}if(Ei)Xr(o,Ei,n,ri.resolvedFileName);else{var ca=e.tryExtractTSExtension(n),si=e.pathIsRelative(n)&&!e.hasExtension(n),Bn=e.getEmitModuleResolutionKind(ue),lt=Bn===e.ModuleResolutionKind.Node16||Bn===e.ModuleResolutionKind.NodeNext;if(ca){var ir=e.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead,It=e.removeExtension(n,ca),ra=It;X>=e.ModuleKind.ES2015&&(ra+=ca===".mts"?".mjs":ca===".cts"?".cjs":".js"),Xr(o,ir,ca,ra)}else if(!ue.resolveJsonModule&&e.fileExtensionIs(n,".json")&&e.getEmitModuleResolutionKind(ue)!==e.ModuleResolutionKind.Classic&&e.hasJsonModuleEmitEnabled(ue))Xr(o,e.Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,n);else if($n===e.ModuleKind.ESNext&<&&si){var Zi=e.getNormalizedAbsolutePath(n,e.getDirectoryPath(In.path)),Aa=(tr=Qa.find(function(oa){var La=oa[0],Ra=oa[1];return T.fileExists(Zi+La)}))===null||tr===void 0?void 0:tr[1];Aa?Xr(o,e.Diagnostics.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0,n+Aa):Xr(o,e.Diagnostics.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path)}else Xr(o,t,n)}}}function l_(r,n,t,o){var s=t.packageId,f=t.resolvedFileName,S=!e.isExternalModuleNameRelative(o)&&s?jl(s.name)?e.chainDiagnosticMessages(void 0,e.Diagnostics.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,s.name,e.mangleScopedPackageName(s.name)):eg(s.name)?e.chainDiagnosticMessages(void 0,e.Diagnostics.If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1,s.name,o):e.chainDiagnosticMessages(void 0,e.Diagnostics.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,o,e.mangleScopedPackageName(s.name)):void 0;Pu(r,n,e.chainDiagnosticMessages(S,e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,o,f))}function jl(r){return w().has(e.getTypesPackageName(r))}function eg(r){return!!w().get(r)}function Vs(r,n){if(r!=null&&r.exports){var t=_s(r.exports.get("export="),n),o=Df(Ya(t),Ya(r));return Ya(o)||r}}function Df(r,n){if(!r||r===Jr||r===n||n.exports.size===1||r.flags&2097152)return r;var t=Qt(r);if(t.cjsExportMerged)return t.cjsExportMerged;var o=r.flags&33554432?r:pd(r);return o.flags=o.flags|512,o.exports===void 0&&(o.exports=e.createSymbolTable()),n.exports.forEach(function(s,f){f!=="export="&&o.exports.set(f,o.exports.has(f)?o_(o.exports.get(f),s):s)}),Qt(o).cjsExportMerged=o,t.cjsExportMerged=o}function au(r,n,t,o){var s,f=Vs(r,t);if(!t&&f){if(!o&&!(f.flags&1539)&&!e.getDeclarationOfKind(f,308)){var S=X>=e.ModuleKind.ES2015?"allowSyntheticDefaultImports":"esModuleInterop";return Xr(n,e.Diagnostics.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export,S),f}var ee=n.parent;if(e.isImportDeclaration(ee)&&e.getNamespaceDeclarationNode(ee)||e.isImportCall(ee)){var _e=e.isImportCall(ee)?ee.arguments[0]:ee.moduleSpecifier,Ie=Li(f),rr=O6(Ie,f,r,_e);if(rr)return dp(f,rr,ee);var Ye=(s=r==null?void 0:r.declarations)===null||s===void 0?void 0:s.find(e.isSourceFile),tr=Ye&&bd(mf(_e),Ye.impliedNodeFormat);if(e.getESModuleInterop(ue)||tr){var ir=Ns(Ie,0);if((!ir||!ir.length)&&(ir=Ns(Ie,1)),ir&&ir.length||Yt(Ie,"default",!0)||tr){var zr=F6(Ie,f,r,_e);return dp(f,zr,ee)}}}}return f}function dp(r,n,t){var o=vo(r.flags,r.escapedName);o.declarations=r.declarations?r.declarations.slice():[],o.parent=r.parent,o.target=r,o.originatingImport=t,r.valueDeclaration&&(o.valueDeclaration=r.valueDeclaration),r.constEnumOnlyModule&&(o.constEnumOnlyModule=!0),r.members&&(o.members=new e.Map(r.members)),r.exports&&(o.exports=new e.Map(r.exports));var s=Bu(n);return o.type=ts(o,s.members,e.emptyArray,e.emptyArray,s.indexInfos),o}function bf(r){return r.exports.get("export=")!==void 0}function Sf(r){return by(Js(r))}function kd(r){var n=Sf(r),t=Vs(r);if(t!==r){var o=Li(t);Is(o)&&e.addRange(n,yo(o))}return n}function Ul(r,n){var t=Js(r);t.forEach(function(f,S){Uf(S)||n(f,S)});var o=Vs(r);if(o!==r){var s=Li(o);Is(s)&&G0(s,function(f,S){n(f,S)})}}function fl(r,n){var t=Js(n);if(t)return t.get(r)}function Ad(r,n){var t=fl(r,n);if(t)return t;var o=Vs(n);if(o!==n){var s=Li(o);return Is(s)?Yt(s,r):void 0}}function Is(r){return!(r.flags&131068||e.getObjectFlags(r)&1||Uu(r)||Xa(r))}function Ic(r){return r.flags&6256?cy(r,"resolvedExports"):r.flags&1536?Js(r):r.exports||Le}function Js(r){var n=Qt(r);return n.resolvedExports||(n.resolvedExports=q_(r))}function xf(r,n,t,o){n&&n.forEach(function(s,f){if(f!=="default"){var S=r.get(f);if(!S)r.set(f,s),t&&o&&t.set(f,{specifierText:e.getTextOfNode(o.moduleSpecifier)});else if(t&&o&&S&&_s(S)!==_s(s)){var ee=t.get(f);ee.exportsWithDuplicate?ee.exportsWithDuplicate.push(o):ee.exportsWithDuplicate=[o]}}})}function q_(r){var n=[];return r=Vs(r),t(r)||Le;function t(o){if(o&&o.exports&&e.pushIfUnique(n,o)){var s=new e.Map(o.exports),f=o.exports.get("__export");if(f){var S=e.createSymbolTable(),ee=new e.Map;if(f.declarations)for(var _e=0,Ie=f.declarations;_e=rr?Ie.substr(0,rr-3)+"...":Ie}function Hl(r,n){var t=pl(r.symbol)?Oi(r,r.symbol.valueDeclaration):Oi(r),o=pl(n.symbol)?Oi(n,n.symbol.valueDeclaration):Oi(n);return t===o&&(t=Id(r),o=Id(n)),[t,o]}function Id(r){return Oi(r,void 0,64)}function pl(r){return r&&!!r.valueDeclaration&&e.isExpression(r.valueDeclaration)&&!rl(r.valueDeclaration)}function Ku(r){return r===void 0&&(r=0),r&848330091}function wd(r){return!!r.symbol&&!!(r.symbol.flags&32)&&(r===vu(r.symbol)||!!(r.flags&524288)&&!!(e.getObjectFlags(r)&16777216))}function gp(){return{typeToTypeNode:function(an,yr,Fi,li){return n(yr,Fi,li,function(rt){return s(an,rt)})},indexInfoToIndexSignatureDeclaration:function(an,yr,Fi,li){return n(yr,Fi,li,function(rt){return Ye(an,rt,void 0)})},signatureToSignatureDeclaration:function(an,yr,Fi,li,rt){return n(Fi,li,rt,function(ki){return tr(an,yr,ki)})},symbolToEntityName:function(an,yr,Fi,li,rt){return n(Fi,li,rt,function(ki){return Oa(an,ki,yr,!1)})},symbolToExpression:function(an,yr,Fi,li,rt){return n(Fi,li,rt,function(ki){return Eo(an,ki,yr)})},symbolToTypeParameterDeclarations:function(an,yr,Fi,li){return n(yr,Fi,li,function(rt){return Ei(an,rt)})},symbolToParameterDeclaration:function(an,yr,Fi,li){return n(yr,Fi,li,function(rt){return In(an,rt)})},typeParameterToDeclaration:function(an,yr,Fi,li){return n(yr,Fi,li,function(rt){return on(an,rt)})},symbolTableToDeclarationStatements:function(an,yr,Fi,li,rt){return n(yr,Fi,li,function(ki){return Ra(an,ki,rt)})},symbolToNode:function(an,yr,Fi,li,rt){return n(Fi,li,rt,function(ki){return r(an,ki,yr)})}};function r(an,yr,Fi){if(yr.flags&1073741824){if(an.valueDeclaration){var li=e.getNameOfDeclaration(an.valueDeclaration);if(li&&e.isComputedPropertyName(li))return li}var rt=Qt(an).nameType;if(rt&&rt.flags&9216)return yr.enclosingDeclaration=rt.symbol.valueDeclaration,e.factory.createComputedPropertyName(Eo(rt.symbol,yr,Fi))}return Eo(an,yr,Fi)}function n(an,yr,Fi,li){var rt,ki;e.Debug.assert(an===void 0||(an.flags&8)===0);var Mi={enclosingDeclaration:an,flags:yr||0,tracker:Fi&&Fi.trackSymbol?Fi:{trackSymbol:function(){return!1},moduleResolverHost:yr&134217728?{getCommonSourceDirectory:T.getCommonSourceDirectory?function(){return T.getCommonSourceDirectory()}:function(){return""},getCurrentDirectory:function(){return T.getCurrentDirectory()},getSymlinkCache:e.maybeBind(T,T.getSymlinkCache),getPackageJsonInfoCache:function(){var Qr;return(Qr=T.getPackageJsonInfoCache)===null||Qr===void 0?void 0:Qr.call(T)},useCaseSensitiveFileNames:e.maybeBind(T,T.useCaseSensitiveFileNames),redirectTargetsMap:T.redirectTargetsMap,getProjectReferenceRedirect:function(Qr){return T.getProjectReferenceRedirect(Qr)},isSourceOfProjectReferenceRedirect:function(Qr){return T.isSourceOfProjectReferenceRedirect(Qr)},fileExists:function(Qr){return T.fileExists(Qr)},getFileIncludeReasons:function(){return T.getFileIncludeReasons()},readFile:T.readFile?function(Qr){return T.readFile(Qr)}:void 0}:void 0},encounteredError:!1,reportedDiagnostic:!1,visitedTypes:void 0,symbolDepth:void 0,inferTypeParameters:void 0,approximateLength:0};Mi.tracker=t(Mi,Mi.tracker);var ht=li(Mi);return Mi.truncating&&Mi.flags&1&&((ki=(rt=Mi.tracker)===null||rt===void 0?void 0:rt.reportTruncationError)===null||ki===void 0||ki.call(rt)),Mi.encounteredError?void 0:ht}function t(an,yr){var Fi=yr.trackSymbol;return Ri(Ri({},yr),{reportCyclicStructureError:li(yr.reportCyclicStructureError),reportInaccessibleThisError:li(yr.reportInaccessibleThisError),reportInaccessibleUniqueSymbolError:li(yr.reportInaccessibleUniqueSymbolError),reportLikelyUnsafeImportRequiredError:li(yr.reportLikelyUnsafeImportRequiredError),reportNonlocalAugmentation:li(yr.reportNonlocalAugmentation),reportPrivateInBaseOfClassExpression:li(yr.reportPrivateInBaseOfClassExpression),reportNonSerializableProperty:li(yr.reportNonSerializableProperty),trackSymbol:Fi&&function(){for(var rt=[],ki=0;ki(an.flags&1?e.noTruncationMaximumTruncationLength:e.defaultMaximumTruncationLength)}function s(an,yr){var Fi=yr.flags,li=f(an,yr);return yr.flags=Fi,li}function f(an,yr){W&&W.throwIfCancellationRequested&&W.throwIfCancellationRequested();var Fi=yr.flags&8388608;if(yr.flags&=-8388609,!an){if(!(yr.flags&262144)){yr.encounteredError=!0;return}return yr.approximateLength+=3,e.factory.createKeywordTypeNode(131)}if(yr.flags&536870912||(an=ut(an)),an.flags&1)return an.aliasSymbol?e.factory.createTypeReferenceNode(ba(an.aliasSymbol),Ie(an.aliasTypeArguments,yr)):an===Xe?e.addSyntheticLeadingComment(e.factory.createKeywordTypeNode(131),3,"unresolved"):(yr.approximateLength+=3,e.factory.createKeywordTypeNode(an===Sr?139:131));if(an.flags&2)return e.factory.createKeywordTypeNode(157);if(an.flags&4)return yr.approximateLength+=6,e.factory.createKeywordTypeNode(152);if(an.flags&8)return yr.approximateLength+=6,e.factory.createKeywordTypeNode(148);if(an.flags&64)return yr.approximateLength+=6,e.factory.createKeywordTypeNode(160);if(an.flags&16&&!an.aliasSymbol)return yr.approximateLength+=7,e.factory.createKeywordTypeNode(134);if(an.flags&1024&&!(an.flags&1048576)){var li=wc(an.symbol),rt=xt(li,yr,788968);if(it(li)===an)return rt;var ki=e.symbolName(an.symbol);return e.isIdentifierText(ki,0)?dn(rt,e.factory.createTypeReferenceNode(ki,void 0)):e.isImportTypeNode(rt)?(rt.isTypeOf=!0,e.factory.createIndexedAccessTypeNode(rt,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(ki)))):e.isTypeReferenceNode(rt)?e.factory.createIndexedAccessTypeNode(e.factory.createTypeQueryNode(rt.typeName),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(ki))):e.Debug.fail("Unhandled type node kind returned from `symbolToTypeNode`.")}if(an.flags&1056)return xt(an.symbol,yr,788968);if(an.flags&128)return yr.approximateLength+=an.value.length+2,e.factory.createLiteralTypeNode(e.setEmitFlags(e.factory.createStringLiteral(an.value,!!(yr.flags&268435456)),16777216));if(an.flags&256){var Mi=an.value;return yr.approximateLength+=(""+Mi).length,e.factory.createLiteralTypeNode(Mi<0?e.factory.createPrefixUnaryExpression(40,e.factory.createNumericLiteral(-Mi)):e.factory.createNumericLiteral(Mi))}if(an.flags&2048)return yr.approximateLength+=e.pseudoBigIntToString(an.value).length+1,e.factory.createLiteralTypeNode(e.factory.createBigIntLiteral(an.value));if(an.flags&512)return yr.approximateLength+=an.intrinsicName.length,e.factory.createLiteralTypeNode(an.intrinsicName==="true"?e.factory.createTrue():e.factory.createFalse());if(an.flags&8192){if(!(yr.flags&1048576)){if(Vl(an.symbol,yr.enclosingDeclaration))return yr.approximateLength+=6,xt(an.symbol,yr,111551);yr.tracker.reportInaccessibleUniqueSymbolError&&yr.tracker.reportInaccessibleUniqueSymbolError()}return yr.approximateLength+=13,e.factory.createTypeOperatorNode(156,e.factory.createKeywordTypeNode(153))}if(an.flags&16384)return yr.approximateLength+=4,e.factory.createKeywordTypeNode(114);if(an.flags&32768)return yr.approximateLength+=9,e.factory.createKeywordTypeNode(155);if(an.flags&65536)return yr.approximateLength+=4,e.factory.createLiteralTypeNode(e.factory.createNull());if(an.flags&131072)return yr.approximateLength+=5,e.factory.createKeywordTypeNode(144);if(an.flags&4096)return yr.approximateLength+=6,e.factory.createKeywordTypeNode(153);if(an.flags&67108864)return yr.approximateLength+=6,e.factory.createKeywordTypeNode(149);if(e.isThisTypeParameter(an))return yr.flags&4194304&&(!yr.encounteredError&&!(yr.flags&32768)&&(yr.encounteredError=!0),yr.tracker.reportInaccessibleThisError&&yr.tracker.reportInaccessibleThisError()),yr.approximateLength+=4,e.factory.createThisTypeNode();if(!Fi&&an.aliasSymbol&&(yr.flags&16384||zf(an.aliasSymbol,yr.enclosingDeclaration))){var ht=Ie(an.aliasTypeArguments,yr);return Uf(an.aliasSymbol.escapedName)&&!(an.aliasSymbol.flags&32)?e.factory.createTypeReferenceNode(e.factory.createIdentifier(""),ht):e.length(ht)===1&&an.aliasSymbol===fa.symbol?e.factory.createArrayTypeNode(ht[0]):xt(an.aliasSymbol,yr,788968,ht)}var Qr=e.getObjectFlags(an);if(Qr&4)return e.Debug.assert(!!(an.flags&524288)),an.node?sf(an,cf):cf(an);if(an.flags&262144||Qr&3){if(an.flags&262144&&e.contains(yr.inferTypeParameters,an)){yr.approximateLength+=e.symbolName(an.symbol).length+6;var jn=void 0,Yn=tc(an);if(Yn){var Di=mE(an,!0);Di&&Kf(Yn,Di)||(yr.approximateLength+=9,jn=Yn&&s(Yn,yr))}return e.factory.createInferTypeNode(zr(an,yr,jn))}if(yr.flags&4&&an.flags&262144&&!zf(an.symbol,yr.enclosingDeclaration)){var bi=Ta(an,yr);return yr.approximateLength+=e.idText(bi).length,e.factory.createTypeReferenceNode(e.factory.createIdentifier(e.idText(bi)),void 0)}if(an.symbol)return xt(an.symbol,yr,788968);var Qi=(an===uo||an===ns)&&Ee&&Ee.symbol?(an===ns?"sub-":"super-")+e.symbolName(Ee.symbol):"?";return e.factory.createTypeReferenceNode(e.factory.createIdentifier(Qi),void 0)}if(an.flags&1048576&&an.origin&&(an=an.origin),an.flags&3145728){var Ct=an.flags&1048576?G_(an.types):an.types;if(e.length(Ct)===1)return s(Ct[0],yr);var qt=Ie(Ct,yr,!0);if(qt&&qt.length>0)return an.flags&1048576?e.factory.createUnionTypeNode(qt):e.factory.createIntersectionTypeNode(qt);!yr.encounteredError&&!(yr.flags&262144)&&(yr.encounteredError=!0);return}if(Qr&48)return e.Debug.assert(!!(an.flags&524288)),Up(an);if(an.flags&4194304){var Ka=an.type;yr.approximateLength+=6;var Ht=s(Ka,yr);return e.factory.createTypeOperatorNode(141,Ht)}if(an.flags&134217728){var _o=an.texts,oo=an.types,Jo=e.factory.createTemplateHead(_o[0]),ec=e.factory.createNodeArray(e.map(oo,function(Rn,xi){return e.factory.createTemplateLiteralTypeSpan(s(Rn,yr),(xi10)return S(yr);yr.symbolDepth.set(Dt,Ua+1)}yr.visitedTypes.add(Vi);var Do=yr.approximateLength,Ha=xi(Rn),Wo=yr.approximateLength-Do;return!yr.reportedDiagnostic&&!yr.encounteredError&&(yr.truncating&&(Ha.truncating=!0),Ha.addedLength=Wo,(gi=Jt==null?void 0:Jt.serializedTypes)===null||gi===void 0||gi.set(ga,Ha)),yr.visitedTypes.delete(Vi),Dt&&yr.symbolDepth.set(Dt,Ua),Ha;function zo(Uo){return!e.nodeIsSynthesized(Uo)&&e.getParseTreeNode(Uo)===Uo?Uo:e.setTextRange(e.factory.cloneNode(e.visitEachChild(Uo,zo,e.nullTransformationContext,xc)),Uo)}function xc(Uo,gs,Tn,zi,zt){return Uo&&Uo.length===0?e.setTextRange(e.factory.createNodeArray(void 0,Uo.hasTrailingComma),Uo):e.visitNodes(Uo,gs,Tn,zi,zt)}}function P_(Rn){if(eu(Rn)||Rn.containsError)return jp(Rn);var xi=Bu(Rn);if(!xi.properties.length&&!xi.indexInfos.length){if(!xi.callSignatures.length&&!xi.constructSignatures.length)return yr.approximateLength+=2,e.setEmitFlags(e.factory.createTypeLiteralNode(void 0),1);if(xi.callSignatures.length===1&&!xi.constructSignatures.length){var ni=xi.callSignatures[0],gi=tr(ni,181,yr);return gi}if(xi.constructSignatures.length===1&&!xi.callSignatures.length){var ni=xi.constructSignatures[0],gi=tr(ni,182,yr);return gi}}var Vi=e.filter(xi.constructSignatures,function(Ua){return!!(Ua.flags&4)});if(e.some(Vi)){var yt=e.map(Vi,lv),Dt=xi.callSignatures.length+(xi.constructSignatures.length-Vi.length)+xi.indexInfos.length+(yr.flags&2048?e.countWhere(xi.properties,function(Ua){return!(Ua.flags&4194304)}):e.length(xi.properties));return Dt&&yt.push(pp(xi)),s(ro(yt),yr)}var Jt=yr.flags;yr.flags|=4194304;var ga=ti(xi);yr.flags=Jt;var la=e.factory.createTypeLiteralNode(ga);return yr.approximateLength+=2,e.setEmitFlags(la,yr.flags&1024?0:1),la}function cf(Rn){var xi=Oo(Rn);if(Rn.target===fa||Rn.target===ia){if(yr.flags&2){var ni=s(xi[0],yr);return e.factory.createTypeReferenceNode(Rn.target===fa?"Array":"ReadonlyArray",[ni])}var gi=s(xi[0],yr),Vi=e.factory.createArrayTypeNode(gi);return Rn.target===fa?Vi:e.factory.createTypeOperatorNode(146,Vi)}else if(Rn.target.objectFlags&8){if(xi=e.sameMap(xi,function(ft,Et){return km(ft,!!(Rn.target.elementFlags[Et]&2))}),xi.length>0){var yt=zd(Rn),Dt=Ie(xi.slice(0,yt),yr);if(Dt){if(Rn.target.labeledElementDeclarations)for(var Jt=0;Jt0){var zi=(Rn.target.typeParameters||e.emptyArray).length;Tn=Ie(xi.slice(Jt,zi),yr)}var ga=yr.flags;yr.flags|=16;var zt=xt(Rn.symbol,yr,788968,Tn);return yr.flags=ga,Do?dn(Do,zt):zt}}function dn(Rn,xi){if(e.isImportTypeNode(Rn)){var ni=Rn.typeArguments,gi=Rn.qualifier;gi&&(e.isIdentifier(gi)?gi=e.factory.updateIdentifier(gi,ni):gi=e.factory.updateQualifiedName(gi,gi.left,e.factory.updateIdentifier(gi.right,ni))),ni=xi.typeArguments;for(var Vi=kn(xi),yt=0,Dt=Vi;yt2)return[s(an[0],yr),e.factory.createTypeReferenceNode("... ".concat(an.length-2," more ..."),void 0),s(an[an.length-1],yr)]}else return[e.factory.createTypeReferenceNode("...",void 0)];for(var li=!(yr.flags&64),rt=li?e.createUnderscoreEscapedMultiMap():void 0,ki=[],Mi=0,ht=0,Qr=an;ht0)):rt=[an],rt;function Mi(ht,Qr,jn){var Yn=Du(ht,yr.enclosingDeclaration,Qr,!!(yr.flags&128)),Di;if(!Yn||H_(Yn[0],yr.enclosingDeclaration,Yn.length===1?Qr:gu(Qr))){var bi=f_(Yn?Yn[0]:ht,yr.enclosingDeclaration,Qr);if(e.length(bi)){Di=bi.map(function(Jo){return e.some(Jo.declarations,bu)?nt(Jo,yr):void 0});var Qi=bi.map(function(Jo,ec){return ec});Qi.sort(oo);for(var Ct=Qi.map(function(Jo){return bi[Jo]}),qt=0,Ka=Ct;qt1?hu(Qr,Qr.length-1,1):void 0,Di=li||Bi(Qr,0,yr),bi=e.getSourceFileOfNode(e.getOriginalNode(yr.enclosingDeclaration)),Qi=e.getSourceFileOfModule(Qr[0]),Ct=void 0,qt=void 0;if((e.getEmitModuleResolutionKind(ue)===e.ModuleResolutionKind.Node16||e.getEmitModuleResolutionKind(ue)===e.ModuleResolutionKind.NodeNext)&&(Qi==null?void 0:Qi.impliedNodeFormat)===e.ModuleKind.ESNext&&Qi.impliedNodeFormat!==(bi==null?void 0:bi.impliedNodeFormat)&&(Ct=nt(Qr[0],yr,e.ModuleKind.ESNext),qt=e.factory.createImportTypeAssertionContainer(e.factory.createAssertClause(e.factory.createNodeArray([e.factory.createAssertEntry(e.factory.createStringLiteral("resolution-mode"),e.factory.createStringLiteral("import"))]))),(ki=(rt=yr.tracker).reportImportTypeNodeResolutionModeOverride)===null||ki===void 0||ki.call(rt)),Ct||(Ct=nt(Qr[0],yr)),!(yr.flags&67108864)&&e.getEmitModuleResolutionKind(ue)!==e.ModuleResolutionKind.Classic&&Ct.indexOf("/node_modules/")>=0){var Ka=Ct;if(e.getEmitModuleResolutionKind(ue)===e.ModuleResolutionKind.Node16||e.getEmitModuleResolutionKind(ue)===e.ModuleResolutionKind.NodeNext){var Ht=(bi==null?void 0:bi.impliedNodeFormat)===e.ModuleKind.ESNext?e.ModuleKind.CommonJS:e.ModuleKind.ESNext;Ct=nt(Qr[0],yr,Ht),Ct.indexOf("/node_modules/")>=0?Ct=Ka:(qt=e.factory.createImportTypeAssertionContainer(e.factory.createAssertClause(e.factory.createNodeArray([e.factory.createAssertEntry(e.factory.createStringLiteral("resolution-mode"),e.factory.createStringLiteral(Ht===e.ModuleKind.ESNext?"import":"require"))]))),(ht=(Mi=yr.tracker).reportImportTypeNodeResolutionModeOverride)===null||ht===void 0||ht.call(Mi))}qt||(yr.encounteredError=!0,yr.tracker.reportLikelyUnsafeImportRequiredError&&yr.tracker.reportLikelyUnsafeImportRequiredError(Ka))}var _o=e.factory.createLiteralTypeNode(e.factory.createStringLiteral(Ct));if(yr.tracker.trackExternalModuleSymbolOfImportTypeNode&&yr.tracker.trackExternalModuleSymbolOfImportTypeNode(Qr[0]),yr.approximateLength+=Ct.length+10,!Yn||e.isEntityName(Yn)){if(Yn){var oo=e.isIdentifier(Yn)?Yn:Yn.right;oo.typeArguments=void 0}return e.factory.createImportTypeNode(_o,qt,Yn,Di,jn)}else{var Jo=gt(Yn),ec=Jo.objectType.typeName;return e.factory.createIndexedAccessTypeNode(e.factory.createImportTypeNode(_o,qt,ec,Di,jn),Jo.indexType)}}var rc=hu(Qr,Qr.length-1,0);if(e.isIndexedAccessTypeNode(rc))return rc;if(jn)return e.factory.createTypeQueryNode(rc);var oo=e.isIdentifier(rc)?rc:rc.right,ps=oo.typeArguments;return oo.typeArguments=void 0,e.factory.createTypeReferenceNode(rc,ps);function hu(Qo,Pf,jp){var Up=Pf===Qo.length-1?li:Bi(Qo,Pf,yr),sf=Qo[Pf],P_=Qo[Pf-1],cf;if(Pf===0)yr.flags|=16777216,cf=$e(sf,yr),yr.approximateLength+=(cf?cf.length:0)+1,yr.flags^=16777216;else if(P_&&Ic(P_)){var dn=Ic(P_);e.forEachEntry(dn,function(xi,ni){if(Fu(xi,sf)&&!yp(ni)&&ni!=="export=")return cf=e.unescapeLeadingUnderscores(ni),!0})}if(cf===void 0){var kn=e.firstDefined(sf.declarations,e.getNameOfDeclaration);if(kn&&e.isComputedPropertyName(kn)&&e.isEntityName(kn.expression)){var ti=hu(Qo,Pf-1,jp);return e.isEntityName(ti)?e.factory.createIndexedAccessTypeNode(e.factory.createParenthesizedType(e.factory.createTypeQueryNode(ti)),e.factory.createTypeQueryNode(kn.expression)):ti}cf=$e(sf,yr)}if(yr.approximateLength+=cf.length+1,!(yr.flags&16)&&P_&&Tf(P_)&&Tf(P_).get(sf.escapedName)&&Fu(Tf(P_).get(sf.escapedName),sf)){var ti=hu(Qo,Pf-1,jp);return e.isIndexedAccessTypeNode(ti)?e.factory.createIndexedAccessTypeNode(ti,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(cf))):e.factory.createIndexedAccessTypeNode(e.factory.createTypeReferenceNode(ti,Up),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(cf)))}var Rn=e.setEmitFlags(e.factory.createIdentifier(cf,Up),16777216);if(Rn.symbol=sf,Pf>jp){var ti=hu(Qo,Pf-1,jp);return e.isEntityName(ti)?e.factory.createQualifiedName(ti,Rn):e.Debug.fail("Impossible construct - an export of an indexed access cannot be reachable")}return Rn}}function Sa(an,yr,Fi){var li=us(yr.enclosingDeclaration,an,788968,void 0,an,!1);return li?!(li.flags&262144&&li===Fi.symbol):!1}function Ta(an,yr){var Fi,li;if(yr.flags&4&&yr.typeParameterNames){var rt=yr.typeParameterNames.get(sc(an));if(rt)return rt}var ki=Oa(an.symbol,yr,788968,!0);if(!(ki.kind&79))return e.factory.createIdentifier("(Missing type parameter)");if(yr.flags&4){for(var Mi=ki.escapedText,ht=((Fi=yr.typeParameterNamesByTextNextNameCount)===null||Fi===void 0?void 0:Fi.get(Mi))||0,Qr=Mi;!((li=yr.typeParameterNamesByText)===null||li===void 0)&&li.has(Qr)||Sa(Qr,yr,an);)ht++,Qr="".concat(Mi,"_").concat(ht);Qr!==Mi&&(ki=e.factory.createIdentifier(Qr,ki.typeArguments)),(yr.typeParameterNamesByTextNextNameCount||(yr.typeParameterNamesByTextNextNameCount=new e.Map)).set(Mi,ht),(yr.typeParameterNames||(yr.typeParameterNames=new e.Map)).set(sc(an),ki),(yr.typeParameterNamesByText||(yr.typeParameterNamesByText=new e.Set)).add(Mi)}return ki}function Oa(an,yr,Fi,li){var rt=$n(an,yr,Fi);return li&&rt.length!==1&&!yr.encounteredError&&!(yr.flags&65536)&&(yr.encounteredError=!0),ki(rt,rt.length-1);function ki(Mi,ht){var Qr=Bi(Mi,ht,yr),jn=Mi[ht];ht===0&&(yr.flags|=16777216);var Yn=$e(jn,yr);ht===0&&(yr.flags^=16777216);var Di=e.setEmitFlags(e.factory.createIdentifier(Yn,Qr),16777216);return Di.symbol=jn,ht>0?e.factory.createQualifiedName(ki(Mi,ht-1),Di):Di}}function Eo(an,yr,Fi){var li=$n(an,yr,Fi);return rt(li,li.length-1);function rt(ki,Mi){var ht=Bi(ki,Mi,yr),Qr=ki[Mi];Mi===0&&(yr.flags|=16777216);var jn=$e(Qr,yr);Mi===0&&(yr.flags^=16777216);var Yn=jn.charCodeAt(0);if(e.isSingleOrDoubleQuote(Yn)&&e.some(Qr.declarations,bu))return e.factory.createStringLiteral(nt(Qr,yr));var Di=Yn===35?jn.length>1&&e.isIdentifierStart(jn.charCodeAt(1),y):e.isIdentifierStart(Yn,y);if(Mi===0||Di){var bi=e.setEmitFlags(e.factory.createIdentifier(jn,ht),16777216);return bi.symbol=Qr,Mi>0?e.factory.createPropertyAccessExpression(rt(ki,Mi-1),bi):bi}else{Yn===91&&(jn=jn.substring(1,jn.length-1),Yn=jn.charCodeAt(0));var Qi=void 0;return e.isSingleOrDoubleQuote(Yn)&&!(Qr.flags&8)?Qi=e.factory.createStringLiteral(e.stripQuotes(jn).replace(/\\./g,function(Ct){return Ct.substring(1)}),Yn===39):""+ +jn===jn&&(Qi=e.factory.createNumericLiteral(+jn)),Qi||(Qi=e.setEmitFlags(e.factory.createIdentifier(jn,ht),16777216),Qi.symbol=Qr),e.factory.createElementAccessExpression(rt(ki,Mi-1),Qi)}}}function To(an){var yr=e.getNameOfDeclaration(an);return!!yr&&e.isStringLiteral(yr)}function fo(an){var yr=e.getNameOfDeclaration(an);return!!(yr&&e.isStringLiteral(yr)&&(yr.singleQuote||!e.nodeIsSynthesized(yr)&&e.startsWith(e.getTextOfNode(yr,!1),"'")))}function ca(an,yr){var Fi=!!e.length(an.declarations)&&e.every(an.declarations,fo),li=si(an,yr,Fi);if(li)return li;var rt=e.unescapeLeadingUnderscores(an.escapedName),ki=!!e.length(an.declarations)&&e.every(an.declarations,To);return e.createPropertyNameNodeForIdentifierOrLiteral(rt,e.getEmitScriptTarget(ue),Fi,ki)}function si(an,yr,Fi){var li=Qt(an).nameType;if(li){if(li.flags&384){var rt=""+li.value;return!e.isIdentifierText(rt,e.getEmitScriptTarget(ue))&&!e.isNumericLiteralName(rt)?e.factory.createStringLiteral(rt,!!Fi):e.isNumericLiteralName(rt)&&e.startsWith(rt,"-")?e.factory.createComputedPropertyName(e.factory.createNumericLiteral(+rt)):e.createPropertyNameNodeForIdentifierOrLiteral(rt,e.getEmitScriptTarget(ue))}if(li.flags&8192)return e.factory.createComputedPropertyName(Eo(li.symbol,yr,111551))}}function Bn(an){var yr=Ri({},an);return yr.typeParameterNames&&(yr.typeParameterNames=new e.Map(yr.typeParameterNames)),yr.typeParameterNamesByText&&(yr.typeParameterNamesByText=new e.Set(yr.typeParameterNamesByText)),yr.typeParameterSymbolList&&(yr.typeParameterSymbolList=new e.Set(yr.typeParameterSymbolList)),yr.tracker=t(yr,yr.tracker),yr}function lt(an,yr){return an.declarations&&e.find(an.declarations,function(Fi){return!!e.getEffectiveTypeAnnotationNode(Fi)&&(!yr||!!e.findAncestor(Fi,function(li){return li===yr}))})}function It(an,yr){return!(e.getObjectFlags(yr)&4)||!e.isTypeReferenceNode(an)||e.length(an.typeArguments)>=hl(yr.target.typeParameters)}function ra(an,yr,Fi,li,rt,ki){if(!ua(yr)&&li){var Mi=lt(Fi,li);if(Mi&&!e.isFunctionLikeDeclaration(Mi)&&!e.isGetAccessorDeclaration(Mi)){var ht=e.getEffectiveTypeAnnotationNode(Mi);if(Zi(ht,Mi,yr)&&It(ht,yr)){var Qr=La(an,ht,rt,ki);if(Qr)return Qr}}}var jn=an.flags;yr.flags&8192&&yr.symbol===Fi&&(!an.enclosingDeclaration||e.some(Fi.declarations,function(Di){return e.getSourceFileOfNode(Di)===e.getSourceFileOfNode(an.enclosingDeclaration)}))&&(an.flags|=1048576);var Yn=s(yr,an);return an.flags=jn,Yn}function Zi(an,yr,Fi){var li=Wt(an);return li===Fi?!0:e.isParameter(yr)&&yr.questionToken?ku(Fi,524288)===li:!1}function Aa(an,yr,Fi,li,rt){if(!ua(yr)&&an.enclosingDeclaration){var ki=Fi.declaration&&e.getEffectiveReturnTypeNode(Fi.declaration);if(e.findAncestor(ki,function(jn){return jn===an.enclosingDeclaration})&&ki){var Mi=Wt(ki),ht=Mi.flags&262144&&Mi.isThisType?na(Mi,Fi.mapper):Mi;if(ht===yr&&It(ki,yr)){var Qr=La(an,ki,li,rt);if(Qr)return Qr}}}return s(yr,an)}function oa(an,yr,Fi){var li,rt,ki=!1,Mi=e.getFirstIdentifier(an);if(e.isInJSFile(an)&&(e.isExportsIdentifier(Mi)||e.isModuleExportsAccessExpression(Mi.parent)||e.isQualifiedName(Mi.parent)&&e.isModuleIdentifier(Mi.parent.left)&&e.isExportsIdentifier(Mi.parent.right)))return ki=!0,{introducesError:ki,node:an};var ht=ls(Mi,67108863,!0,!0);if(ht&&(ql(ht,yr.enclosingDeclaration,67108863,!1).accessibility!==0?ki=!0:((rt=(li=yr.tracker)===null||li===void 0?void 0:li.trackSymbol)===null||rt===void 0||rt.call(li,ht,yr.enclosingDeclaration,67108863),Fi==null||Fi(ht)),e.isIdentifier(an))){var Qr=it(ht),jn=ht.flags&262144&&!zf(Qr.symbol,yr.enclosingDeclaration)?Ta(Qr,yr):e.factory.cloneNode(an);return jn.symbol=ht,{introducesError:ki,node:e.setEmitFlags(e.setOriginalNode(jn,an),16777216)}}return{introducesError:ki,node:an}}function La(an,yr,Fi,li){W&&W.throwIfCancellationRequested&&W.throwIfCancellationRequested();var rt=!1,ki=e.getSourceFileOfNode(yr),Mi=e.visitNode(yr,ht);if(rt)return;return Mi===yr?e.setTextRange(e.factory.cloneNode(yr),yr):Mi;function ht(Qr){if(e.isJSDocAllType(Qr)||Qr.kind===322)return e.factory.createKeywordTypeNode(131);if(e.isJSDocUnknownType(Qr))return e.factory.createKeywordTypeNode(157);if(e.isJSDocNullableType(Qr))return e.factory.createUnionTypeNode([e.visitNode(Qr.type,ht),e.factory.createLiteralTypeNode(e.factory.createNull())]);if(e.isJSDocOptionalType(Qr))return e.factory.createUnionTypeNode([e.visitNode(Qr.type,ht),e.factory.createKeywordTypeNode(155)]);if(e.isJSDocNonNullableType(Qr))return e.visitNode(Qr.type,ht);if(e.isJSDocVariadicType(Qr))return e.factory.createArrayTypeNode(e.visitNode(Qr.type,ht));if(e.isJSDocTypeLiteral(Qr))return e.factory.createTypeLiteralNode(e.map(Qr.jsDocPropertyTags,function(Ht){var _o=e.isIdentifier(Ht.name)?Ht.name:Ht.name.right,oo=Pa(Wt(Qr),_o.escapedText),Jo=oo&&Ht.typeExpression&&Wt(Ht.typeExpression.type)!==oo?s(oo,an):void 0;return e.factory.createPropertySignature(void 0,_o,Ht.isBracketed||Ht.typeExpression&&e.isJSDocOptionalType(Ht.typeExpression.type)?e.factory.createToken(57):void 0,Jo||Ht.typeExpression&&e.visitNode(Ht.typeExpression.type,ht)||e.factory.createKeywordTypeNode(131))}));if(e.isTypeReferenceNode(Qr)&&e.isIdentifier(Qr.typeName)&&Qr.typeName.escapedText==="")return e.setOriginalNode(e.factory.createKeywordTypeNode(131),Qr);if((e.isExpressionWithTypeArguments(Qr)||e.isTypeReferenceNode(Qr))&&e.isJSDocIndexSignature(Qr))return e.factory.createTypeLiteralNode([e.factory.createIndexSignature(void 0,[e.factory.createParameterDeclaration(void 0,void 0,"x",void 0,e.visitNode(Qr.typeArguments[0],ht))],e.visitNode(Qr.typeArguments[1],ht))]);if(e.isJSDocFunctionType(Qr))if(e.isJSDocConstructSignature(Qr)){var jn;return e.factory.createConstructorTypeNode(void 0,e.visitNodes(Qr.typeParameters,ht),e.mapDefined(Qr.parameters,function(Ht,_o){return Ht.name&&e.isIdentifier(Ht.name)&&Ht.name.escapedText==="new"?(jn=Ht.type,void 0):e.factory.createParameterDeclaration(void 0,Ct(Ht),qt(Ht,_o),Ht.questionToken,e.visitNode(Ht.type,ht),void 0)}),e.visitNode(jn||Qr.type,ht)||e.factory.createKeywordTypeNode(131))}else return e.factory.createFunctionTypeNode(e.visitNodes(Qr.typeParameters,ht),e.map(Qr.parameters,function(Ht,_o){return e.factory.createParameterDeclaration(void 0,Ct(Ht),qt(Ht,_o),Ht.questionToken,e.visitNode(Ht.type,ht),void 0)}),e.visitNode(Qr.type,ht)||e.factory.createKeywordTypeNode(131));if(e.isTypeReferenceNode(Qr)&&e.isInJSDoc(Qr)&&(!It(Qr,Wt(Qr))||CE(Qr)||Jr===_v(Qr,788968,!0)))return e.setOriginalNode(s(Wt(Qr),an),Qr);if(e.isLiteralImportTypeNode(Qr)){var Yn=Nt(Qr).resolvedSymbol;return e.isInJSDoc(Qr)&&Yn&&(!Qr.isTypeOf&&!(Yn.flags&788968)||!(e.length(Qr.typeArguments)>=hl(Ef(Yn))))?e.setOriginalNode(s(Wt(Qr),an),Qr):e.factory.updateImportTypeNode(Qr,e.factory.updateLiteralTypeNode(Qr.argument,Ka(Qr,Qr.argument.literal)),Qr.assertions,Qr.qualifier,e.visitNodes(Qr.typeArguments,ht,e.isTypeNode),Qr.isTypeOf)}if(e.isEntityName(Qr)||e.isEntityNameExpression(Qr)){var Di=oa(Qr,an,Fi),bi=Di.introducesError,Qi=Di.node;if(rt=rt||bi,Qi!==Qr)return Qi}return ki&&e.isTupleTypeNode(Qr)&&e.getLineAndCharacterOfPosition(ki,Qr.pos).line===e.getLineAndCharacterOfPosition(ki,Qr.end).line&&e.setEmitFlags(Qr,1),e.visitEachChild(Qr,ht,e.nullTransformationContext);function Ct(Ht){return Ht.dotDotDotToken||(Ht.type&&e.isJSDocVariadicType(Ht.type)?e.factory.createToken(25):void 0)}function qt(Ht,_o){return Ht.name&&e.isIdentifier(Ht.name)&&Ht.name.escapedText==="this"?"this":Ct(Ht)?"args":"arg".concat(_o)}function Ka(Ht,_o){if(li){if(an.tracker&&an.tracker.moduleResolverHost){var oo=Rx(Ht);if(oo){var Jo=e.createGetCanonicalFileName(!!T.useCaseSensitiveFileNames),ec={getCanonicalFileName:Jo,getCurrentDirectory:function(){return an.tracker.moduleResolverHost.getCurrentDirectory()},getCommonSourceDirectory:function(){return an.tracker.moduleResolverHost.getCommonSourceDirectory()}},rc=e.getResolvedExternalModuleName(ec,oo);return e.factory.createStringLiteral(rc)}}}else if(an.tracker&&an.tracker.trackExternalModuleSymbolOfImportTypeNode){var ps=El(_o,_o,void 0);ps&&an.tracker.trackExternalModuleSymbolOfImportTypeNode(ps)}return _o}}}function Ra(an,yr,Fi){var li=ga(e.factory.createPropertyDeclaration,171,!0),rt=ga(function(Tn,zi,zt,ft){return e.factory.createPropertySignature(Tn,zi,zt,ft)},170,!1),ki=yr.enclosingDeclaration,Mi=[],ht=new e.Set,Qr=[],jn=yr;yr=Ri(Ri({},jn),{usedSymbolNames:new e.Set(jn.usedSymbolNames),remappedSymbolNames:new e.Map,tracker:Ri(Ri({},jn.tracker),{trackSymbol:function(Tn,zi,zt){var ft=ql(Tn,zi,zt,!1);if(ft.accessibility===0){var Et=ri(Tn,yr,zt);Tn.flags&4||ps(Et[0])}else if(jn.tracker&&jn.tracker.trackSymbol)return jn.tracker.trackSymbol(Tn,zi,zt);return!1}})}),yr.tracker=t(yr,yr.tracker),e.forEachEntry(an,function(Tn,zi){var zt=e.unescapeLeadingUnderscores(zi);gs(Tn,zt)});var Yn=!Fi,Di=an.get("export=");return Di&&an.size>1&&Di.flags&2097152&&(an=e.createSymbolTable(),an.set("export=",Di)),Jo(an),Ht(Mi);function bi(Tn){return!!Tn&&Tn.kind===79}function Qi(Tn){return e.isVariableStatement(Tn)?e.filter(e.map(Tn.declarationList.declarations,e.getNameOfDeclaration),bi):e.filter([e.getNameOfDeclaration(Tn)],bi)}function Ct(Tn){var zi=e.find(Tn,e.isExportAssignment),zt=e.findIndex(Tn,e.isModuleDeclaration),ft=zt!==-1?Tn[zt]:void 0;if(ft&&zi&&zi.isExportEquals&&e.isIdentifier(zi.expression)&&e.isIdentifier(ft.name)&&e.idText(ft.name)===e.idText(zi.expression)&&ft.body&&e.isModuleBlock(ft.body)){var Et=e.filter(Tn,function(ta){return!!(e.getEffectiveModifierFlags(ta)&1)}),Ba=ft.name,sa=ft.body;if(e.length(Et)&&(ft=e.factory.updateModuleDeclaration(ft,ft.modifiers,ft.name,sa=e.factory.updateModuleBlock(sa,e.factory.createNodeArray(Hn(Hn([],ft.body.statements,!0),[e.factory.createExportDeclaration(void 0,!1,e.factory.createNamedExports(e.map(e.flatMap(Et,function(ta){return Qi(ta)}),function(ta){return e.factory.createExportSpecifier(!1,void 0,ta)})),void 0)],!1)))),Tn=Hn(Hn(Hn([],Tn.slice(0,zt),!0),[ft],!1),Tn.slice(zt+1),!0)),!e.find(Tn,function(ta){return ta!==ft&&e.nodeHasName(ta,Ba)})){Mi=[];var xa=!e.some(sa.statements,function(ta){return e.hasSyntacticModifier(ta,1)||e.isExportAssignment(ta)||e.isExportDeclaration(ta)});e.forEach(sa.statements,function(ta){Qo(ta,xa?1:0)}),Tn=Hn(Hn([],e.filter(Tn,function(ta){return ta!==ft&&ta!==zi}),!0),Mi,!0)}}return Tn}function qt(Tn){var zi=e.filter(Tn,function(pa){return e.isExportDeclaration(pa)&&!pa.moduleSpecifier&&!!pa.exportClause&&e.isNamedExports(pa.exportClause)});if(e.length(zi)>1){var zt=e.filter(Tn,function(pa){return!e.isExportDeclaration(pa)||!!pa.moduleSpecifier||!pa.exportClause});Tn=Hn(Hn([],zt,!0),[e.factory.createExportDeclaration(void 0,!1,e.factory.createNamedExports(e.flatMap(zi,function(pa){return e.cast(pa.exportClause,e.isNamedExports).elements})),void 0)],!1)}var ft=e.filter(Tn,function(pa){return e.isExportDeclaration(pa)&&!!pa.moduleSpecifier&&!!pa.exportClause&&e.isNamedExports(pa.exportClause)});if(e.length(ft)>1){var Et=e.group(ft,function(pa){return e.isStringLiteral(pa.moduleSpecifier)?">"+pa.moduleSpecifier.text:">"});if(Et.length!==ft.length)for(var Ba=function(pa){pa.length>1&&(Tn=Hn(Hn([],e.filter(Tn,function(Lo){return pa.indexOf(Lo)===-1}),!0),[e.factory.createExportDeclaration(void 0,!1,e.factory.createNamedExports(e.flatMap(pa,function(Lo){return e.cast(Lo.exportClause,e.isNamedExports).elements})),pa[0].moduleSpecifier)],!1))},sa=0,xa=Et;sa=0){var zt=Tn[zi],ft=e.mapDefined(zt.exportClause.elements,function(Et){if(!Et.propertyName){var Ba=e.indicesOf(Tn),sa=e.filter(Ba,function(Lo){return e.nodeHasName(Tn[Lo],Et.name)});if(e.length(sa)&&e.every(sa,function(Lo){return e.canHaveExportModifier(Tn[Lo])})){for(var xa=0,ta=sa;xa0&&e.isSingleOrDoubleQuote(ft.charCodeAt(0))?e.stripQuotes(ft):ft}return zi==="default"?zi="_default":zi==="export="&&(zi="_exports"),zi=e.isIdentifierText(zi,y)&&!e.isStringANonContextualKeyword(zi)?zi:"_"+zi.replace(/[^a-zA-Z0-9]/g,"_"),zi}function gs(Tn,zi){var zt=b(Tn);return yr.remappedSymbolNames.has(zt)?yr.remappedSymbolNames.get(zt):(zi=Uo(Tn,zi),yr.remappedSymbolNames.set(zt,zi),zi)}}}function bc(r,n,t,o){return t===void 0&&(t=16384),o?s(o).getText():e.usingSingleLineStringWriter(s);function s(f){var S=e.factory.createTypePredicateNode(r.kind===2||r.kind===3?e.factory.createToken(129):void 0,r.kind===1||r.kind===3?e.factory.createIdentifier(r.parameterName):e.factory.createThisTypeNode(),r.type&&Cr.typeToTypeNode(r.type,n,Ku(t)|70221824|512)),ee=e.createPrinter({removeComments:!0}),_e=n&&e.getSourceFileOfNode(n);return ee.writeNode(4,S,_e,f),f}}function G_(r){for(var n=[],t=0,o=0;o=0){for(var o=Hc.length,s=t;s=0;t--){if(Lt(Hc[t],Gr[t]))return-1;if(Hc[t]===r&&Gr[t]===n)return t}return-1}function Lt(r,n){switch(n){case 0:return!!Qt(r).type;case 5:return!!Nt(r).resolvedEnumType;case 2:return!!Qt(r).declaredType;case 1:return!!r.resolvedBaseConstructorType;case 3:return!!r.resolvedReturnType;case 4:return!!r.immediateBaseConstraint;case 6:return!!r.resolvedTypeArguments;case 7:return!!r.baseTypesResolved;case 8:return!!Qt(r).writeType}return e.Debug.assertNever(n)}function Ot(){return Hc.pop(),Gr.pop(),ol.pop()}function Va(r){return e.findAncestor(e.getRootDeclaration(r),function(n){switch(n.kind){case 257:case 258:case 273:case 272:case 271:case 270:return!1;default:return!0}}).parent}function jo(r){var n=it(wc(r));return n.typeParameters?Z_(n,e.map(n.typeParameters,function(t){return Ne})):n}function Pa(r,n){var t=Yt(r,n);return t?Li(t):void 0}function Oc(r,n){var t;return Pa(r,n)||((t=fg(r,n))===null||t===void 0?void 0:t.type)||pr}function Ja(r){return r&&(r.flags&1)!==0}function ua(r){return r===pe||!!(r.flags&1&&r.aliasSymbol)}function zc(r,n){if(n!==0)return kl(r,!1,n);var t=Wi(r);return t&&Qt(t).type||kl(r,!1,n)}function Su(r,n,t){if(r=Ys(r,function(on){return!(on.flags&98304)}),r.flags&131072)return Yi;if(r.flags&1048576)return es(r,function(on){return Su(on,n,t)});for(var o=Ft(e.map(n,rd)),s=[],f=[],S=0,ee=yo(r);S=2?C8(Ne):Ps;var S=e.map(o,function(rr){return e.isOmittedExpression(rr)?Ne:ci(rr,n,t)}),ee=e.findLastIndex(o,function(rr){return!(rr===f||e.isOmittedExpression(rr)||yv(rr))},o.length-1)+1,_e=e.map(o,function(rr,Ye){return rr===f?4:Ye>=ee?2:1}),Ie=Zl(S,_e);return n&&(Ie=hE(Ie),Ie.pattern=r,Ie.objectFlags|=131072),Ie}function St(r,n,t){return n===void 0&&(n=!1),t===void 0&&(t=!1),r.kind===203?at(r,n,t):vt(r,n,t)}function Rt(r,n){return Co(kl(r,!0,0),r,n)}function Fa(r){var n=Wi(r),t=u8(!1);return t&&n&&n===t}function Co(r,n,t){return r?(r.flags&4096&&Fa(n.parent)&&(r=Sb(n)),t&&F1(n,r),r.flags&8192&&(e.isBindingElement(n)||!n.type)&&r.symbol!==Wi(n)&&(r=we),uu(r)):(r=e.isParameter(n)&&n.dotDotDotToken?Ps:Ne,t&&(ho(n)||wp(n,r)),r)}function ho(r){var n=e.getRootDeclaration(r),t=n.kind===166?n.parent:n;return c0(t)}function Mo(r){var n=e.getEffectiveTypeAnnotationNode(r);if(n)return Wt(n)}function As(r){var n=Qt(r);if(!n.type){var t=Sc(r);n.type||(n.type=t)}return n.type}function Sc(r){if(r.flags&4194304)return jo(r);if(r===or)return Ne;if(r.flags&134217728&&r.valueDeclaration){var n=Wi(e.getSourceFileOfNode(r.valueDeclaration)),t=vo(n.flags,"exports");t.declarations=n.declarations?n.declarations.slice():[],t.parent=r,t.target=n,n.valueDeclaration&&(t.valueDeclaration=n.valueDeclaration),n.members&&(t.members=new e.Map(n.members)),n.exports&&(t.exports=new e.Map(n.exports));var o=e.createSymbolTable();return o.set("exports",t),ts(r,o,e.emptyArray,e.emptyArray,e.emptyArray)}e.Debug.assertIsDefined(r.valueDeclaration);var s=r.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(s)){var f=e.getEffectiveTypeAnnotationNode(s);if(f===void 0)return qr?pr:Ne;var S=Kg(f);return Ja(S)||S===pr?S:pe}if(e.isSourceFile(s)&&e.isJsonSourceFile(s))return s.statements.length?uu(Ip(ya(s.statements[0].expression))):Yi;if(e.isAccessor(s))return Fc(r);if(!et(r,0))return r.flags&512&&!(r.flags&67108864)?zs(r):oi(r);var ee;if(s.kind===274)ee=Co(Mo(s)||Cs(s.expression),s);else if(e.isBinaryExpression(s)||e.isInJSFile(s)&&(e.isCallExpression(s)||(e.isPropertyAccessExpression(s)||e.isBindableStaticElementAccessExpression(s))&&e.isBinaryExpression(s.parent)))ee=Rd(r);else if(e.isPropertyAccessExpression(s)||e.isElementAccessExpression(s)||e.isIdentifier(s)||e.isStringLiteralLike(s)||e.isNumericLiteral(s)||e.isClassDeclaration(s)||e.isFunctionDeclaration(s)||e.isMethodDeclaration(s)&&!e.isObjectLiteralMethod(s)||e.isMethodSignature(s)||e.isSourceFile(s)){if(r.flags&9136)return zs(r);ee=e.isBinaryExpression(s.parent)?Rd(r):Mo(s)||Ne}else if(e.isPropertyAssignment(s))ee=Mo(s)||iA(s);else if(e.isJsxAttribute(s))ee=Mo(s)||Vk(s);else if(e.isShorthandPropertyAssignment(s))ee=Mo(s)||Ev(s.name,0);else if(e.isObjectLiteralMethod(s))ee=Mo(s)||tA(s,0);else if(e.isParameter(s)||e.isPropertyDeclaration(s)||e.isPropertySignature(s)||e.isVariableDeclaration(s)||e.isBindingElement(s)||e.isJSDocPropertyLikeTag(s))ee=Rt(s,!0);else if(e.isEnumDeclaration(s))ee=zs(r);else if(e.isEnumMember(s))ee=H(r);else return e.Debug.fail("Unhandled declaration kind! "+e.Debug.formatSyntaxKind(s.kind)+" for "+e.Debug.formatSymbol(r));return Ot()?ee:r.flags&512&&!(r.flags&67108864)?zs(r):oi(r)}function as(r){if(r)switch(r.kind){case 174:var n=e.getEffectiveReturnTypeNode(r);return n;case 175:var t=e.getEffectiveSetAccessorTypeAnnotationNode(r);return t;case 169:e.Debug.assert(e.hasAccessorModifier(r));var o=e.getEffectiveTypeAnnotationNode(r);return o}}function xu(r){var n=as(r);return n&&Wt(n)}function Yc(r){var n=Ux(r);return n&&n.symbol}function Xs(r){return Cp(Zu(r))}function Fc(r){var n=Qt(r);if(!n.type){if(!et(r,0))return pe;var t=e.getDeclarationOfKind(r,174),o=e.getDeclarationOfKind(r,175),s=e.tryCast(e.getDeclarationOfKind(r,169),e.isAutoAccessorPropertyDeclaration),f=t&&e.isInJSFile(t)&&Fd(t)||xu(t)||xu(o)||xu(s)||t&&t.body&&f2(t)||s&&s.initializer&&Rt(s,!0);f||(o&&!c0(o)?Pu(We,o,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,Xt(r)):t&&!c0(t)?Pu(We,t,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,Xt(r)):s&&!c0(s)&&Pu(We,s,e.Diagnostics.Member_0_implicitly_has_an_1_type,Xt(r),"any"),f=Ne),Ot()||(as(t)?Xr(t,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,Xt(r)):as(o)||as(s)?Xr(o,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,Xt(r)):t&&We&&Xr(t,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,Xt(r)),f=Ne),n.type=f}return n.type}function gl(r){var n,t=Qt(r);if(!t.writeType){if(!et(r,8))return pe;var o=(n=e.getDeclarationOfKind(r,175))!==null&&n!==void 0?n:e.tryCast(e.getDeclarationOfKind(r,169),e.isAutoAccessorPropertyDeclaration),s=xu(o);Ot()||(as(o)&&Xr(o,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,Xt(r)),s=Ne),t.writeType=s||Fc(r)}return t.writeType}function y_(r){var n=fc(vu(r));return n.flags&8650752?n:n.flags&2097152?e.find(n.types,function(t){return!!(t.flags&8650752)}):void 0}function zs(r){var n=Qt(r),t=n;if(!n.type){var o=r.valueDeclaration&&c2(r.valueDeclaration,!1);if(o){var s=ZS(r,o);s&&(r=n=s)}t.type=n.type=m(r)}return n.type}function m(r){var n=r.valueDeclaration;if(r.flags&1536&&e.isShorthandAmbientModuleSymbol(r))return Ne;if(n&&(n.kind===223||e.isAccessExpression(n)&&n.parent.kind===223))return Rd(r);if(r.flags&512&&n&&e.isSourceFile(n)&&n.commonJsModuleIndicator){var t=Vs(r);if(t!==r){if(!et(r,0))return pe;var o=Ya(r.exports.get("export=")),s=Rd(o,o===t?void 0:t);return Ot()?s:oi(r)}}var f=Qc(16,r);if(r.flags&32){var S=y_(r);return S?ro([f,S]):f}else return Je&&r.flags&16777216?E_(f):f}function H(r){var n=Qt(r);return n.type||(n.type=Pi(r))}function he(r){var n=Qt(r);if(!n.type){var t=wi(r),o=r.declarations&&Rf(Vu(r),!0),s=e.firstDefined(o==null?void 0:o.declarations,function(f){return e.isExportAssignment(f)?Mo(f):void 0});n.type=o!=null&&o.declarations&&T2(o.declarations)&&r.declarations.length?im(o):T2(r.declarations)?Ze:s||($t(t)&111551?Li(t):pe)}return n.type}function nr(r){var n=Qt(r);return n.type||(n.type=na(Li(n.target),n.mapper))}function Zr(r){var n=Qt(r);return n.writeType||(n.writeType=na(js(n.target),n.mapper))}function oi(r){var n=r.valueDeclaration;return e.getEffectiveTypeAnnotationNode(n)?(Xr(r.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,Xt(r)),pe):(We&&(n.kind!==166||n.initializer)&&Xr(r.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,Xt(r)),Ne)}function _t(r){var n=Qt(r);return n.type||(e.Debug.assertIsDefined(n.deferralParent),e.Debug.assertIsDefined(n.deferralConstituents),n.type=n.deferralParent.flags&1048576?Ft(n.deferralConstituents):ro(n.deferralConstituents)),n.type}function ja(r){var n=Qt(r);return!n.writeType&&n.deferralWriteConstituents&&(e.Debug.assertIsDefined(n.deferralParent),e.Debug.assertIsDefined(n.deferralConstituents),n.writeType=n.deferralParent.flags&1048576?Ft(n.deferralWriteConstituents):ro(n.deferralWriteConstituents)),n.writeType}function js(r){var n=e.getCheckFlags(r);return r.flags&4?n&2?n&65536?ja(r)||_t(r):r.writeType||r.type:Li(r):r.flags&98304?n&1?Zr(r):gl(r):Li(r)}function Li(r){var n=e.getCheckFlags(r);return n&65536?_t(r):n&1?nr(r):n&262144?MD(r):n&8192?F5(r):r.flags&7?As(r):r.flags&9136?zs(r):r.flags&8?H(r):r.flags&98304?Fc(r):r.flags&2097152?he(r):pe}function $u(r){return km(Li(r),!!(r.flags&16777216))}function Cu(r,n){return r!==void 0&&n!==void 0&&(e.getObjectFlags(r)&4)!==0&&r.target===n}function Vf(r){return e.getObjectFlags(r)&4?r.target:r}function qf(r,n){return t(r);function t(o){if(e.getObjectFlags(o)&7){var s=Vf(o);return s===n||e.some(su(s),t)}else if(o.flags&2097152)return e.some(o.types,t);return!1}}function tm(r,n){for(var t=0,o=n;t0)return!0;if(r.flags&8650752){var n=_c(r);return!!n&&am(n)}return!1}function sm(r){var n=e.getClassLikeDeclarationOfSymbol(r.symbol);return n&&e.getEffectiveBaseTypeNode(n)}function rv(r,n,t){var o=e.length(n),s=e.isInJSFile(t);return e.filter(da(r,1),function(f){return(s||o>=hl(f.typeParameters))&&o<=e.length(f.typeParameters)})}function Og(r,n,t){var o=rv(r,n,t),s=e.map(n,Wt);return e.sameMap(o,function(f){return e.some(f.typeParameters)?ih(f,s,e.isInJSFile(t)):f})}function fc(r){if(!r.resolvedBaseConstructorType){var n=e.getClassLikeDeclarationOfSymbol(r.symbol),t=n&&e.getEffectiveBaseTypeNode(n),o=sm(r);if(!o)return r.resolvedBaseConstructorType=Vr;if(!et(r,1))return pe;var s=ya(o.expression);if(t&&o!==t&&(e.Debug.assert(!t.typeArguments),ya(t.expression)),s.flags&2621440&&Bu(s),!Ot())return Xr(r.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,Xt(r.symbol)),r.resolvedBaseConstructorType=pe;if(!(s.flags&1)&&s!==qn&&!om(s)){var f=Xr(o.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,Oi(s));if(s.flags&262144){var S=fv(s),ee=pr;if(S){var _e=da(S,1);_e[0]&&(ee=wo(_e[0]))}s.symbol.declarations&&e.addRelatedInfo(f,e.createDiagnosticForNode(s.symbol.declarations[0],e.Diagnostics.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,Xt(s.symbol),Oi(ee)))}return r.resolvedBaseConstructorType=pe}r.resolvedBaseConstructorType=s}return r.resolvedBaseConstructorType}function ny(r){var n=e.emptyArray;if(r.symbol.declarations)for(var t=0,o=r.symbol.declarations;t=ir&&_e<=zr){var on=zr?e1(tr,Ud(ee,tr.typeParameters,ir,S)):_m(tr);on.typeParameters=r.localTypeParameters,on.resolvedReturnType=r,on.flags=s?on.flags|4:on.flags&-5,Ie.push(on)}}return Ie}function Zv(r,n,t,o,s){for(var f=0,S=r;f0)return;for(var o=1;o1&&(t=t===void 0?o:-1);for(var s=0,f=r[o];s1){var Ie=S.thisParameter,rr=e.forEach(ee,function(ri){return ri.thisParameter});if(rr){var Ye=ro(e.mapDefined(ee,function(ri){return ri.thisParameter&&Li(ri.thisParameter)}));Ie=Vg(rr,Ye)}_e=uy(S,ee),_e.thisParameter=Ie}(n||(n=[])).push(_e)}}}}if(!e.length(n)&&t!==-1){for(var tr=r[t!==void 0?t:0],ir=tr.slice(),zr=function(ri){if(ri!==tr){var Ei=ri[0];if(e.Debug.assert(!!Ei,"getUnionSignatures bails early on empty signature lists and should not have empty lists on second pass"),ir=Ei.typeParameters&&e.some(ir,function(Bi){return!!Bi.typeParameters&&!J0(Ei.typeParameters,Bi.typeParameters)})?void 0:e.map(ir,function(Bi){return j0(Bi,Ei)}),!ir)return"break"}},on=0,In=r;on=s?r:n,S=f===r?n:r,ee=f===r?o:s,_e=of(r)||of(n),Ie=_e&&!of(f),rr=new Array(ee+(Ie?1:0)),Ye=0;Ye=af(f)&&Ye>=af(S),Sn=Ye>=o?void 0:xv(r,Ye),$n=Ye>=s?void 0:xv(n,Ye),ri=Sn===$n?Sn:Sn?$n?void 0:Sn:$n,Ei=vo(1|(In&&!on?16777216:0),ri||"arg".concat(Ye));Ei.type=on?oc(zr):zr,rr[Ye]=Ei}if(Ie){var Bi=vo(1,"args");Bi.type=oc(Dl(S,ee)),S===n&&(Bi.type=na(Bi.type,t)),rr[ee]=Bi}return rr}function j0(r,n){var t=r.typeParameters||n.typeParameters,o;r.typeParameters&&n.typeParameters&&(o=Vc(n.typeParameters,r.typeParameters));var s=r.declaration,f=ID(r,n,o),S=PD(r.thisParameter,n.thisParameter,o),ee=Math.max(r.minArgumentCount,n.minArgumentCount),_e=$l(s,t,S,f,void 0,void 0,ee,(r.flags|n.flags)&39);return _e.compositeKind=1048576,_e.compositeSignatures=e.concatenate(r.compositeKind!==2097152&&r.compositeSignatures||[r],[n]),o&&(_e.mapper=r.compositeKind!==2097152&&r.mapper&&r.compositeSignatures?$d(r.mapper,o):o),_e}function U0(r){var n=xs(r[0]);if(n){for(var t=[],o=function(ee){var _e=ee.keyType;e.every(r,function(Ie){return!!Yu(Ie,_e)})&&t.push(Yl(_e,Ft(e.map(r,function(Ie){return vl(Ie,_e)})),e.some(r,function(Ie){return Yu(Ie,_e).isReadonly})))},s=0,f=n;s0}),t=e.map(r,am);if(n>0&&n===e.countWhere(t,function(s){return s})){var o=t.indexOf(!0);t[o]=!1}return t}function z0(r,n,t,o){for(var s=[],f=0;f0&&(Ye=e.map(Ye,function(tr){var ir=_m(tr);return ir.resolvedReturnType=z0(wo(tr),s,f,Ie),ir})),t=dy(t,Ye)}n=dy(n,da(rr,0)),o=e.reduceLeft(xs(rr),function(tr,ir){return W0(tr,ir,!1)},o)},_e=0;_e2?(Bn.checkFlags|=65536,Bn.deferralParent=r,Bn.deferralConstituents=Ta,Bn.deferralWriteConstituents=Oa):(Bn.type=_e?Ft(Ta):ro(Ta),Oa&&(Bn.writeType=_e?Ft(Oa):ro(Oa))),Bn}}function Gn(r,n,t){var o,s,f=!((o=r.propertyCacheWithoutObjectFunctionPropertyAugment)===null||o===void 0)&&o.get(n)||!t?(s=r.propertyCache)===null||s===void 0?void 0:s.get(n):void 0;if(!f&&(f=Kr(r,n,t),f)){var S=t?r.propertyCacheWithoutObjectFunctionPropertyAugment||(r.propertyCacheWithoutObjectFunctionPropertyAugment=e.createSymbolTable()):r.propertyCache||(r.propertyCache=e.createSymbolTable());S.set(n,f)}return f}function Gi(r){for(var n,t=function(ee){if(!ee.declarations)return{value:void 0};if(!n)return n=new e.Set(ee.declarations),"continue";if(n.forEach(function(_e){e.contains(ee.declarations,_e)||n.delete(_e)}),n.size===0)return{value:void 0}},o=0,s=r;o=0),t>=af(n,3)}var o=e.getImmediatelyInvokedFunctionExpression(r.parent);return o?!r.type&&!r.dotDotDotToken&&r.parent.parameters.indexOf(r)>=o.arguments.length:!1}function Sy(r){return e.isPropertyDeclaration(r)&&!e.hasAccessorModifier(r)&&r.questionToken}function nh(r){if(!e.isJSDocPropertyLikeTag(r))return!1;var n=r.isBracketed,t=r.typeExpression;return n||!!t&&t.type.kind===319}function uv(r,n,t,o){return{kind:r,parameterName:n,parameterIndex:t,type:o}}function hl(r){var n=0;if(r)for(var t=0;t=t&&f<=s){for(var S=r?r.slice():[],ee=f;eeee.arguments.length&&!ir||Lg(Ye);on||(s=t.length)}if((r.kind===174||r.kind===175)&&lg(r)&&(!S||!f)){var In=r.kind===174?175:174,Sn=e.getDeclarationOfKind(Wi(r),In);Sn&&(f=Yc(Sn))}var $n=r.kind===173?vu(Ya(r.parent.symbol)):void 0,ri=$n?$n.localTypeParameters:Y0(r);(e.hasRestParameter(r)||e.isInJSFile(r)&&Z0(r,t))&&(o|=1),(e.isConstructorTypeNode(r)&&e.hasSyntacticModifier(r,256)||e.isConstructorDeclaration(r)&&e.hasSyntacticModifier(r.parent,256))&&(o|=4),n.resolvedSignature=$l(r,ri,f,t,void 0,void 0,s,o)}return n.resolvedSignature}function Z0(r,n){if(e.isJSDocSignature(r)||!HD(r))return!1;var t=e.lastOrUndefined(r.parameters),o=t?e.getJSDocParameterTags(t):e.getJSDocTags(r).filter(e.isJSDocParameterTag),s=e.firstDefined(o,function(S){return S.typeExpression&&e.isJSDocVariadicType(S.typeExpression.type)?S.typeExpression.type:void 0}),f=vo(3,"args",32768);return s?f.type=oc(Wt(s.type)):(f.checkFlags|=65536,f.deferralParent=Re,f.deferralConstituents=[Ps],f.deferralWriteConstituents=[Ps]),s&&n.pop(),n.push(f),!0}function Rg(r){if(e.isInJSFile(r)&&e.isFunctionLikeDeclaration(r)){var n=e.getJSDocTypeTag(r);return(n==null?void 0:n.typeExpression)&&Hg(Wt(n.typeExpression))}}function qD(r,n){var t=Rg(r);if(t){var o=r.parameters.indexOf(n);return n.dotDotDotToken?Th(t,o):Dl(t,o)}}function KI(r){var n=Rg(r);return n&&wo(n)}function HD(r){var n=Nt(r);return n.containsArgumentsReference===void 0&&(n.flags&8192?n.containsArgumentsReference=!0:n.containsArgumentsReference=t(r.body)),n.containsArgumentsReference;function t(o){if(!o)return!1;switch(o.kind){case 79:return o.escapedText===ye.escapedName&&v0(o)===ye;case 169:case 171:case 174:case 175:return o.name.kind===164&&t(o.name);case 208:case 209:return t(o.expression);case 299:return t(o.initializer);default:return!e.nodeStartsNewLexicalEnvironment(o)&&!e.isPartOfTypeNode(o)&&!!e.forEachChild(o,t)}}}function xp(r){if(!r||!r.declarations)return e.emptyArray;for(var n=[],t=0;t0&&o.body){var s=r.declarations[t-1];if(o.parent===s.parent&&o.kind===s.kind&&o.pos===s.end)continue}n.push(!e.isFunctionExpressionOrArrowFunction(o)&&!e.isObjectLiteralMethod(o)&&Rg(o)||Zu(o))}}return n}function fE(r){var n=Bs(r,r);if(n){var t=Vs(n);if(t)return Li(t)}return Ne}function Cp(r){if(r.thisParameter)return Li(r.thisParameter)}function el(r){if(!r.resolvedTypePredicate){if(r.target){var n=el(r.target);r.resolvedTypePredicate=n?xw(n,r.mapper):Yo}else if(r.compositeSignatures)r.resolvedTypePredicate=M8(r.compositeSignatures,r.compositeKind)||Yo;else{var t=r.declaration&&e.getEffectiveReturnTypeNode(r.declaration),o=void 0;if(!t){var s=Rg(r.declaration);s&&r!==s&&(o=el(s))}r.resolvedTypePredicate=t&&e.isTypePredicateNode(t)?$I(t,r):o||Yo}e.Debug.assert(!!r.resolvedTypePredicate)}return r.resolvedTypePredicate===Yo?void 0:r.resolvedTypePredicate}function $I(r,n){var t=r.parameterName,o=r.type&&Wt(r.type);return t.kind===194?uv(r.assertsModifier?2:0,void 0,void 0,o):uv(r.assertsModifier?3:1,t.escapedText,e.findIndex(n.parameters,function(s){return s.escapedName===t.escapedText}),o)}function _E(r,n,t){return n!==2097152?Ft(r,t):ro(r)}function wo(r){if(!r.resolvedReturnType){if(!et(r,3))return pe;var n=r.target?na(wo(r.target),r.mapper):r.compositeSignatures?na(_E(e.map(r.compositeSignatures,wo),r.compositeKind,2),r.mapper):hm(r.declaration)||(e.nodeIsMissing(r.declaration.body)?Ne:f2(r.declaration));if(r.flags&8?n=WT(n):r.flags&16&&(n=E_(n)),!Ot()){if(r.declaration){var t=e.getEffectiveReturnTypeNode(r.declaration);if(t)Xr(t,e.Diagnostics.Return_type_annotation_circularly_references_itself);else if(We){var o=r.declaration,s=e.getNameOfDeclaration(o);s?Xr(s,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,e.declarationNameToString(s)):Xr(o,e.Diagnostics.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions)}}n=Ne}r.resolvedReturnType=n}return r.resolvedReturnType}function hm(r){if(r.kind===173)return vu(Ya(r.parent.symbol));if(e.isJSDocConstructSignature(r))return Wt(r.parameters[0].type);var n=e.getEffectiveReturnTypeNode(r);if(n)return Wt(n);if(r.kind===174&&lg(r)){var t=e.isInJSFile(r)&&Fd(r);if(t)return t;var o=e.getDeclarationOfKind(Wi(r),175),s=xu(o);if(s)return s}return KI(r)}function GD(r){return!r.resolvedReturnType&&At(r,3)>=0}function QI(r){return dE(r)||Ne}function dE(r){if(se(r)){var n=Li(r.parameters[r.parameters.length-1]),t=Xa(n)?gh(n):n;return t&&vl(t,Kn)}}function ih(r,n,t,o){var s=KD(r,Ud(n,r.typeParameters,hl(r.typeParameters),t));if(o){var f=v6(wo(s));if(f){var S=_m(f);S.typeParameters=o;var ee=_m(s);return ee.resolvedReturnType=lv(S),ee}}return s}function KD(r,n){var t=r.instantiations||(r.instantiations=new e.Map),o=Ju(n),s=t.get(o);return s||t.set(o,s=e1(r,n)),s}function e1(r,n){return Cm(r,XI(r,n),!0)}function XI(r,n){return Vc(r.typeParameters,n)}function th(r){return r.typeParameters?r.erasedSignatureCache||(r.erasedSignatureCache=YI(r)):r}function YI(r){return Cm(r,vT(r.typeParameters),!0)}function ZI(r){return r.typeParameters?r.canonicalSignatureCache||(r.canonicalSignatureCache=e8(r)):r}function e8(r){return ih(r,e.map(r.typeParameters,function(n){return n.target&&!tc(n.target)?n.target:n}),e.isInJSFile(r.declaration))}function r8(r){var n=r.typeParameters;if(n){if(r.baseSignatureCache)return r.baseSignatureCache;for(var t=vT(n),o=Vc(n,e.map(n,function(S){return tc(S)||pr})),s=e.map(n,function(S){return na(S,o)||pr}),f=0;f1&&(n+=":"+f),o+=f}return n}function ym(r,n){return r?"@".concat(b(r))+(n?":".concat(Ju(n)):""):""}function n1(r,n){for(var t=0,o=0,s=r;oo.length)){var _e=S&&e.isExpressionWithTypeArguments(r)&&!e.isJSDocAugmentsTag(r.parent),Ie=f===o.length?_e?e.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_1_type_argument_s:_e?e.Diagnostics.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,rr=Oi(t,void 0,2);if(Xr(r,Ie,rr,f,o.length),!S)return pe}if(r.kind===180&&BE(r,e.length(r.typeArguments)!==o.length))return YD(t,r,void 0);var Ye=e.concatenate(t.outerTypeParameters,Ud(o1(r),o,f,S));return Z_(t,Ye)}return Ep(r,n)?t:pe}function Dm(r,n,t,o){var s=it(r);if(s===Sr&&re.has(r.escapedName)&&n&&n.length===1)return Bg(r,n[0]);var f=Qt(r),S=f.typeParameters,ee=Ju(n)+ym(t,o),_e=f.instantiations.get(ee);return _e||f.instantiations.set(ee,_e=DT(s,Vc(S,Ud(n,S,hl(S),e.isInJSFile(r.valueDeclaration))),t,o)),_e}function n8(r,n){if(e.getCheckFlags(n)&1048576){var t=o1(r),o=ym(n,t),s=br.get(o);return s||(s=Io(1,"error"),s.aliasSymbol=n,s.aliasTypeArguments=t,br.set(o,s)),s}var f=it(n),S=Qt(n).typeParameters;if(S){var ee=e.length(r.typeArguments),_e=hl(S);if(ee<_e||ee>S.length)return Xr(r,_e===S.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,Xt(n),_e,S.length),pe;var Ie=jg(r),rr=Ie&&(DE(n)||!DE(Ie))?Ie:void 0;return Dm(n,o1(r),rr,Sm(rr))}return Ep(r,n)?f:pe}function DE(r){var n,t=(n=r.declarations)===null||n===void 0?void 0:n.find(e.isTypeAlias);return!!(t&&e.getContainingFunction(t))}function i8(r){switch(r.kind){case 180:return r.typeName;case 230:var n=r.expression;if(e.isEntityNameExpression(n))return n}}function bE(r){return r.parent?"".concat(bE(r.parent),".").concat(r.escapedName):r.escapedName}function i1(r){var n=r.kind===163?r.right:r.kind===208?r.name:r,t=n.escapedText;if(t){var o=r.kind===163?i1(r.left):r.kind===208?i1(r.expression):void 0,s=o?"".concat(bE(o),".").concat(t):t,f=Ue.get(s);return f||(Ue.set(s,f=vo(524288,t,1048576)),f.parent=o,f.declaredType=Xe),f}return Jr}function _v(r,n,t){var o=i8(r);if(!o)return Jr;var s=ls(o,n,t);return s&&s!==Jr?s:t?Jr:i1(o)}function t1(r,n){if(n===Jr)return pe;if(n=ll(n)||n,n.flags&96)return yE(r,n);if(n.flags&524288)return n8(r,n);var t=va(n);if(t)return Ep(r,n)?Wc(t):pe;if(n.flags&111551&&a1(r)){var o=t8(r,n);return o||(_v(r,788968),Li(n))}return pe}function t8(r,n){var t=Nt(r);if(!t.resolvedJSDocType){var o=Li(n),s=o;if(n.valueDeclaration){var f=r.kind===202&&r.qualifier;o.symbol&&o.symbol!==n&&f&&(s=t1(r,o.symbol))}t.resolvedJSDocType=s}return t.resolvedJSDocType}function ZD(r,n){if(n.flags&3||n===r||!Jg(r)&&!Jg(n))return r;var t="".concat(sc(r),">").concat(sc(n)),o=En.get(t);if(o)return o;var s=$c(33554432);return s.baseType=r,s.constraint=n,En.set(t,s),s}function eb(r){return ro([r.constraint,r.baseType])}function SE(r){return r.kind===186&&r.elements.length===1}function xE(r,n,t){return SE(n)&&SE(t)?xE(r,n.elements[0],t.elements[0]):qd(Wt(n))===qd(r)?Wt(t):void 0}function a8(r,n){for(var t,o=!0;n&&!e.isStatement(n)&&n.kind!==323;){var s=n.parent;if(s.kind===166&&(o=!o),(o||r.flags&8650752)&&s.kind===191&&n===s.trueType){var f=xE(r,s.checkType,s.extendsType);f&&(t=e.append(t,f))}else if(r.flags&262144&&s.kind===197&&n===s.type){var S=Wt(s);if(Ru(S)===qd(r)){var ee=y1(S);if(ee){var f=tc(ee);f&&Af(f,pg)&&(t=e.append(t,Ft([Kn,cn])))}}}n=s}return t?ZD(r,ro(t)):r}function a1(r){return!!(r.flags&8388608)&&(r.kind===180||r.kind===202)}function Ep(r,n){return r.typeArguments?(Xr(r,e.Diagnostics.Type_0_is_not_generic,n?Xt(n):r.typeName?e.declarationNameToString(r.typeName):l),!1):!0}function CE(r){if(e.isIdentifier(r.typeName)){var n=r.typeArguments;switch(r.typeName.escapedText){case"String":return Ep(r),hn;case"Number":return Ep(r),Kn;case"Boolean":return Ep(r),Pn;case"Void":return Ep(r),Ir;case"Undefined":return Ep(r),Vr;case"Null":return Ep(r),bn;case"Function":case"function":return Ep(r),_i;case"array":return(!n||!n.length)&&!We?Ps:void 0;case"promise":return(!n||!n.length)&&!We?r0(Ne):void 0;case"Object":if(n&&n.length===2){if(e.isJSDocIndexSignature(r)){var t=Wt(n[0]),o=Wt(n[1]),s=t===hn||t===Kn?[Yl(t,o,!1)]:e.emptyArray;return ts(void 0,Le,e.emptyArray,e.emptyArray,s)}return Ne}return Ep(r),We?void 0:Ne}}}function o8(r){var n=Wt(r.type);return Je?N1(n,65536):n}function xy(r){var n=Nt(r);if(!n.resolvedType){if(e.isConstTypeReference(r)&&e.isAssertionExpression(r.parent))return n.resolvedSymbol=Jr,n.resolvedType=Cs(r.parent.expression);var t=void 0,o=void 0,s=788968;a1(r)&&(o=CE(r),o||(t=_v(r,s,!0),t===Jr?t=_v(r,s|111551):_v(r,s),o=t1(r,t))),o||(t=_v(r,s),o=t1(r,t)),n.resolvedSymbol=t,n.resolvedType=o}return n.resolvedType}function o1(r){return e.map(r.typeArguments,Wt)}function EE(r){var n=Nt(r);if(!n.resolvedType){var t=B6(r);n.resolvedType=Wc(uu(t))}return n.resolvedType}function TE(r,n){function t(s){var f=s.declarations;if(f)for(var S=0,ee=f;S=0)return Ey(e.map(n,function(Sn,$n){return r.elementFlags[$n]&8?Sn:pr}))?es(n[f],function(Sn){return jE(r,e.replaceElement(n,f,Sn))}):pe}for(var S=[],ee=[],_e=[],Ie=-1,rr=-1,Ye=-1,tr=function(Sn){var $n=n[Sn],ri=r.elementFlags[Sn];if(ri&8)if($n.flags&58982400||eu($n))In($n,8,(t=r.labeledElementDeclarations)===null||t===void 0?void 0:t[Sn]);else if(Xa($n)){var Ei=Oo($n);if(Ei.length+S.length>=1e4)return Xr(ze,e.isPartOfTypeNode(ze)?e.Diagnostics.Type_produces_a_tuple_type_that_is_too_large_to_represent:e.Diagnostics.Expression_produces_a_tuple_type_that_is_too_large_to_represent),{value:pe};e.forEach(Ei,function(Bi,gt){var nt;return In(Bi,$n.target.elementFlags[gt],(nt=$n.target.labeledElementDeclarations)===null||nt===void 0?void 0:nt[gt])})}else In(Xd($n)&&vl($n,Kn)||pe,4,(o=r.labeledElementDeclarations)===null||o===void 0?void 0:o[Sn]);else In($n,ri,(s=r.labeledElementDeclarations)===null||s===void 0?void 0:s[Sn])},ir=0;ir=0&&rro.fixedLength?m5(r)||Zl(e.emptyArray):Zl(Oo(r).slice(n,s),o.elementFlags.slice(n,s),!1,o.labeledElementDeclarations&&o.labeledElementDeclarations.slice(n,s))}function UE(r){return Ft(e.append(e.arrayOf(r.target.fixedLength,function(n){return ju(""+n)}),ef(r.target.readonly?ia:fa)))}function zE(r,n){var t=e.findIndex(r.elementFlags,function(o){return!(o&n)});return t>=0?t:r.elementFlags.length}function u1(r,n){return r.elementFlags.length-e.findLastIndex(r.elementFlags,function(t){return!(t&n)})-1}function N8(r){return mu(Wt(r.type),!0)}function sc(r){return r.id}function S_(r,n){return e.binarySearch(r,n,sc,e.compareValues)>=0}function sb(r,n){var t=e.binarySearch(r,n,sc,e.compareValues);return t<0?(r.splice(~t,0,n),!0):!1}function P8(r,n,t){var o=t.flags;if(o&1048576)return WE(r,n|(F8(t)?1048576:0),t.types);if(!(o&131072))if(n|=o&205258751,o&465829888&&(n|=33554432),t===Qe&&(n|=8388608),!Je&&o&98304)e.getObjectFlags(t)&65536||(n|=4194304);else{var s=r.length,f=s&&t.id>r[s-1].id?~s:e.binarySearch(r,t,sc,e.compareValues);f<0&&r.splice(~f,0,t)}return n}function WE(r,n,t){for(var o=0,s=t;o0;){S--;var _e=r[S];if(s||_e.flags&469499904)for(var Ie=_e.flags&61603840?e.find(yo(_e),function(In){return yl(Li(In))}):void 0,rr=Ie&&Wc(Li(Ie)),Ye=0,tr=r;Ye1e6){e.tracing===null||e.tracing===void 0||e.tracing.instant("checkTypes","removeSubtypes_DepthLimit",{typeIds:r.map(function(In){return In.id})}),Xr(ze,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent);return}}if(ee++,Ie&&ir.flags&61603840){var on=Pa(ir,Ie.escapedName);if(on&&yl(on)&&Wc(on)!==rr)continue}if(kf(_e,ir,Ut)&&(!(e.getObjectFlags(Vf(_e))&1)||!(e.getObjectFlags(Vf(ir))&1)||zg(_e,ir))){e.orderedRemoveItemAt(r,S);break}}}}return Nn.set(t,r),r}function w8(r,n,t){for(var o=r.length;o>0;){o--;var s=r[o],f=s.flags,S=f&402653312&&n&4||f&256&&n&8||f&2048&&n&64||f&8192&&n&4096||t&&f&32768&&n&16384||Ap(s)&&S_(r,s.regularType);S&&e.orderedRemoveItemAt(r,o)}}function O8(r){var n=e.filter(r,bm);if(n.length)for(var t=r.length,o=function(){t--;var s=r[t];s.flags&128&&e.some(n,function(f){return aS(s,f)})&&e.orderedRemoveItemAt(r,t)};t>0;)o()}function F8(r){return!!(r.flags&1048576&&(r.aliasSymbol||r.origin))}function VE(r,n){for(var t=0,o=n;t=0&&S_(f,Vr)&&e.orderedRemoveItemAt(f,ee)}if((S&402664320||S&16384&&S&32768)&&w8(f,S,!!(n&2)),S&128&&S&134217728&&O8(f),n===2&&(f=I8(f,!!(S&524288)),!f))return pe;if(f.length===0)return S&65536?S&4194304?bn:qn:S&32768?S&4194304?Vr:fn:Re}if(!s&&S&1048576){var _e=[];VE(_e,r);for(var Ie=[],rr=function($n){e.some(_e,function(ri){return S_(ri.types,$n)})||Ie.push($n)},Ye=0,tr=f;Ye0;){t--;var o=r[t],s=o.flags&4&&n&402653312||o.flags&8&&n&256||o.flags&64&&n&2048||o.flags&4096&&n&8192||o.flags&16384&&n&32768||Pp(o)&&n&470302716;s&&e.orderedRemoveItemAt(r,t)}}function J8(r,n){for(var t=0,o=r;t0;){n--;var o=r[n];if(o.flags&134217728)for(var s=0,f=t;sfb(S)?cb(2097152,S):void 0;_e=Ft(rr,1,n,t,Ye)}else _e=z8(S,n,t);Rr.set(ee,_e)}return _e}function KE(r){return e.reduceLeft(r,function(n,t){return t.flags&1048576?n*t.types.length:t.flags&131072?0:n},1)}function Ey(r){var n=KE(r);return n>=1e5?(e.tracing===null||e.tracing===void 0||e.tracing.instant("checkTypes","checkCrossProductUnion_DepthLimit",{typeIds:r.map(function(t){return t.id}),size:n}),Xr(ze,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1):!0}function W8(r){for(var n=KE(r),t=[],o=0;o=0;S--)if(r[S].flags&1048576){var ee=r[S].types,_e=ee.length;s[S]=ee[f%_e],f=Math.floor(f/_e)}var Ie=ro(s);Ie.flags&131072||t.push(Ie)}return t}function $E(r){return!(r.flags&3145728)||r.aliasSymbol?1:r.flags&1048576&&r.origin?$E(r.origin):fb(r.types)}function fb(r){return e.reduceLeft(r,function(n,t){return n+$E(t)},0)}function V8(r){var n=Nt(r);if(!n.resolvedType){var t=jg(r),o=e.map(r.types,Wt),s=o.length===2&&!!(o[0].flags&76)&&o[1]===za;n.resolvedType=ro(o,t,Sm(t),s)}return n.resolvedType}function QE(r,n){var t=$c(4194304);return t.type=r,t.stringsOnly=n,t}function q8(r){var n=rg(4194304);return n.type=r,n}function XE(r,n){return n?r.resolvedStringIndexType||(r.resolvedStringIndexType=QE(r,!0)):r.resolvedIndexType||(r.resolvedIndexType=QE(r,!1))}function H8(r,n,t){var o=Ru(r),s=Xu(r),f=Hf(r.target||r);if(!f&&!t)return s;var S=[];if(pm(r)){if(Wd(s))return XE(r,n);var ee=fe(bp(r));cv(ee,8576,n,Ie)}else vg(sv(s),Ie);Wd(s)&&vg(s,Ie);var _e=t?Ys(Ft(S),function(rr){return!(rr.flags&5)}):Ft(S);if(_e.flags&1048576&&s.flags&1048576&&Ju(_e.types)===Ju(s.types))return s;return _e;function Ie(rr){var Ye=f?na(f,lh(r.mapper,o,rr)):rr;S.push(Ye===hn?xn:Ye)}}function G8(r){var n=Ru(r);return t(Hf(r)||n);function t(o){return o.flags&68157439?!0:o.flags&16777216?o.root.isDistributive&&o.checkType===n:o.flags&137363456?e.every(o.types,t):o.flags&8388608?t(o.objectType)&&t(o.indexType):o.flags&33554432?t(o.baseType)&&t(o.constraint):o.flags&268435456?t(o.type):!1}}function rd(r){return e.isPrivateIdentifier(r)?Re:e.isIdentifier(r)?ju(e.unescapeLeadingUnderscores(r.escapedText)):Wc(e.isComputedPropertyName(r)?k_(r):ya(r))}function dv(r,n,t){if(t||!(e.getDeclarationModifierFlagsFromSymbol(r)&24)){var o=Qt(fm(r)).nameType;if(!o){var s=e.getNameOfDeclaration(r.valueDeclaration);o=r.escapedName==="default"?ju("default"):s&&rd(s)||(e.isKnownSymbol(r)?void 0:ju(e.symbolName(r)))}if(o&&o.flags&n)return o}return Re}function YE(r,n){return!!(r.flags&n||r.flags&2097152&&e.some(r.types,function(t){return YE(t,n)}))}function K8(r,n,t){var o=t&&(e.getObjectFlags(r)&7||r.aliasSymbol)?q8(r):void 0,s=e.map(yo(r),function(S){return dv(S,n)}),f=e.map(xs(r),function(S){return S!==hi&&YE(S.keyType,n)?S.keyType===hn&&n&8?xn:S.keyType:Re});return Ft(e.concatenate(s,f),1,void 0,void 0,o)}function $8(r){var n=Iw(r);return ut(n)!==n}function ZE(r){return!!(r.flags&58982400||mv(r)||eu(r)&&!G8(r)||r.flags&1048576&&e.some(r.types,$8)||r.flags&2097152&&ss(r,465829888)&&e.some(r.types,Pp))}function ef(r,n,t){return n===void 0&&(n=ln),r=ut(r),ZE(r)?XE(r,n):r.flags&1048576?ro(e.map(r.types,function(o){return ef(o,n,t)})):r.flags&2097152?Ft(e.map(r.types,function(o){return ef(o,n,t)})):e.getObjectFlags(r)&32?H8(r,n,t):r===Qe?Qe:r.flags&2?Re:r.flags&131073?On:K8(r,(t?128:402653316)|(n?0:12584),n===ln&&!t)}function eT(r){if(ln)return r;var n=y8();return n?Dm(n,[r,hn]):hn}function Q8(r){var n=eT(ef(r));return n.flags&131072?hn:n}function X8(r){var n=Nt(r);if(!n.resolvedType)switch(r.operator){case 141:n.resolvedType=ef(Wt(r.type));break;case 156:n.resolvedType=r.type.kind===153?Sb(e.walkUpParenthesizedTypes(r.parent)):pe;break;case 146:n.resolvedType=Wt(r.type);break;default:throw e.Debug.assertNever(r.operator)}return n.resolvedType}function Y8(r){var n=Nt(r);return n.resolvedType||(n.resolvedType=_g(Hn([r.head.text],e.map(r.templateSpans,function(t){return t.literal.text}),!0),e.map(r.templateSpans,function(t){return Wt(t.type)}))),n.resolvedType}function _g(r,n){var t=e.findIndex(n,function(Ie){return!!(Ie.flags&1179648)});if(t>=0)return Ey(n)?es(n[t],function(Ie){return _g(r,e.replaceElement(n,t,Ie))}):pe;if(e.contains(n,Qe))return Qe;var o=[],s=[],f=r[0];if(!_e(r,n))return hn;if(o.length===0)return ju(f);if(s.push(f),e.every(s,function(Ie){return Ie===""})){if(e.every(o,function(Ie){return!!(Ie.flags&4)}))return hn;if(o.length===1&&bm(o[0]))return o[0]}var S="".concat(Ju(o),"|").concat(e.map(s,function(Ie){return Ie.length}).join(","),"|").concat(s.join("")),ee=xr.get(S);return ee||xr.set(S,ee=ew(s,o)),ee;function _e(Ie,rr){for(var Ye=e.isArray(Ie),tr=0;tr=0)return Bi(Yu(n,Kn)),es(n,function(gt){var nt=gh(gt)||Vr;return f&1?Ft([nt,Vr]):nt})}}if(!(t.flags&98304)&&Us(t,402665900)){if(n.flags&131073)return n;var zr=vm(n,t)||Yu(n,hn);if(zr){if(f&2&&zr.keyType!==Kn){ee&&Xr(ee,e.Diagnostics.Type_0_cannot_be_used_to_index_type_1,Oi(t),Oi(r));return}if(s&&zr.keyType===hn&&!Us(t,12)){var ir=pb(s);return Xr(ir,e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,Oi(t)),f&1?Ft([zr.type,Vr]):zr.type}return Bi(zr),f&1&&!(n.symbol&&n.symbol.flags&384&&t.symbol&&t.flags&1024&&wc(t.symbol)===n.symbol)?Ft([zr.type,Vr]):zr.type}if(t.flags&131072)return Re;if(ch(n))return Ne;if(ee&&!ax(n)){if(Op(n)){if(We&&t.flags&384)return de.add(e.createDiagnosticForNode(ee,e.Diagnostics.Property_0_does_not_exist_on_type_1,t.value,Oi(n))),Vr;if(t.flags&12){var on=e.map(n.properties,function(gt){return Li(gt)});return Ft(e.append(on,Vr))}}if(n.symbol===pn&&_e!==void 0&&pn.exports.has(_e)&&pn.exports.get(_e).flags&418)Xr(ee,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(_e),Oi(n));else if(We&&!ue.suppressImplicitAnyIndexErrors&&!(f&128))if(_e!==void 0&&u6(_e,n)){var In=Oi(n);Xr(ee,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead,_e,In,In+"["+e.getTextOfNode(ee.argumentExpression)+"]")}else if(vl(n,Kn))Xr(ee.argumentExpression,e.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number);else{var Sn=void 0;if(_e!==void 0&&(Sn=zS(_e,n)))Sn!==void 0&&Xr(ee.argumentExpression,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2,_e,Oi(n),Sn);else{var $n=GO(n,ee,t);if($n!==void 0)Xr(ee,e.Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1,Oi(n),$n);else{var ri=void 0;if(t.flags&1024)ri=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,"["+Oi(t)+"]",Oi(n));else if(t.flags&8192){var Ei=Pc(t.symbol,ee);ri=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,"["+Ei+"]",Oi(n))}else t.flags&128||t.flags&256?ri=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,t.value,Oi(n)):t.flags&12&&(ri=e.chainDiagnosticMessages(void 0,e.Diagnostics.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1,Oi(t),Oi(n)));ri=e.chainDiagnosticMessages(ri,e.Diagnostics.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1,Oi(o),Oi(n)),de.add(e.createDiagnosticForNodeFromMessageChain(ee,ri))}}}return}}if(ch(n))return Ne;if(s){var ir=pb(s);t.flags&384?Xr(ir,e.Diagnostics.Property_0_does_not_exist_on_type_1,""+t.value,Oi(n)):t.flags&12?Xr(ir,e.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1,Oi(n),Oi(t)):Xr(ir,e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,Oi(t))}if(Ja(t))return t;return;function Bi(gt){gt&>.isReadonly&&ee&&(e.isAssignmentTarget(ee)||e.isDeleteTarget(ee))&&Xr(ee,e.Diagnostics.Index_signature_in_type_0_only_permits_reading,Oi(n))}}function pb(r){return r.kind===209?r.argumentExpression:r.kind===196?r.indexType:r.kind===164?r.expression:r}function l1(r){return!!(r.flags&77)||bm(r)}function bm(r){return!!(r.flags&134217728)&&e.every(r.types,l1)||!!(r.flags&268435456)&&l1(r.type)}function Jg(r){return!!uh(r)}function Tp(r){return!!(uh(r)&4194304)}function Wd(r){return!!(uh(r)&8388608)}function uh(r){return r.flags&3145728?(r.objectFlags&2097152||(r.objectFlags|=2097152|e.reduceLeft(r.types,function(n,t){return n|uh(t)},0)),r.objectFlags&12582912):r.flags&33554432?(r.objectFlags&2097152||(r.objectFlags|=2097152|uh(r.baseType)|uh(r.constraint)),r.objectFlags&12582912):(r.flags&58982400||eu(r)||mv(r)?4194304:0)|(r.flags&465829888&&!bm(r)?8388608:0)}function x_(r,n){return r.flags&8388608?aw(r,n):r.flags&16777216?ow(r,n):r}function tT(r,n,t){if(r.flags&1048576||r.flags&2097152&&!ZE(r)){var o=e.map(r.types,function(s){return x_(ru(s,n),t)});return r.flags&2097152||t?ro(o):Ft(o)}}function tw(r,n,t){if(n.flags&1048576){var o=e.map(n.types,function(s){return x_(ru(r,s),t)});return t?ro(o):Ft(o)}}function aw(r,n){var t=n?"simplifiedForWriting":"simplifiedForReading";if(r[t])return r[t]===qi?r:r[t];r[t]=qi;var o=x_(r.objectType,n),s=x_(r.indexType,n),f=tw(o,s,n);if(f)return r[t]=f;if(!(s.flags&465829888)){var S=tT(o,s,n);if(S)return r[t]=S}if(mv(o)&&s.flags&296){var ee=A1(o,s.flags&8?0:o.target.fixedLength,0,n);if(ee)return r[t]=ee}if(eu(o)){var _e=Hf(o);if(!_e||to(_e,Ru(o)))return r[t]=es(f1(o,r.indexType),function(Ie){return x_(Ie,n)})}return r[t]=r}function ow(r,n){var t=r.checkType,o=r.extendsType,s=Hd(r),f=Gd(r);if(f.flags&131072&&qd(s)===qd(t)){if(t.flags&1||to(dg(t),dg(o)))return x_(s,n);if(aT(t,o))return Re}else if(s.flags&131072&&qd(f)===qd(t)){if(!(t.flags&1)&&to(dg(t),dg(o)))return Re;if(t.flags&1||aT(t,o))return x_(f,n)}return r}function aT(r,n){return!!(Ft([Dp(r,n),Re]).flags&131072)}function f1(r,n){var t=Vc([Ru(r)],[n]),o=$d(r.mapper,t);return na(Ql(r.target||r),o)}function ru(r,n,t,o,s,f){return t===void 0&&(t=0),Vd(r,n,t,o,s,f)||(o?pe:pr)}function oT(r,n){return Af(r,function(t){if(t.flags&384){var o=Tu(t);if(e.isNumericLiteralName(o)){var s=+o;return s>=0&&s=5e6)return e.tracing===null||e.tracing===void 0||e.tracing.instant("checkTypes","instantiateType_DepthLimit",{typeId:r.id,instantiationDepth:Se,instantiationCount:xe}),Xr(ze,e.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite),pe;Oe++,xe++,Se++;var s=Nw(r,n,t,o);return Se--,s}function Nw(r,n,t,o){var s=r.flags;if(s&262144)return Kd(r,n);if(s&524288){var f=r.objectFlags;if(f&52){if(f&4&&!r.node){var S=r.resolvedTypeArguments,ee=C_(S,n);return ee!==S?ob(r.target,ee):r}return f&1024?Pw(r,n):Cw(r,n,t,o)}return r}if(s&3145728){var _e=r.flags&1048576?r.origin:void 0,Ie=_e&&_e.flags&3145728?_e.types:r.types,rr=C_(Ie,n);if(rr===Ie&&t===r.aliasSymbol)return r;var Ye=t||r.aliasSymbol,tr=t?o:C_(r.aliasTypeArguments,n);return s&2097152||_e&&_e.flags&2097152?ro(rr,Ye,tr):Ft(rr,1,Ye,tr)}if(s&4194304)return ef(na(r.type,n));if(s&134217728)return _g(r.texts,C_(r.types,n));if(s&268435456)return Bg(r.symbol,na(r.type,n));if(s&8388608){var Ye=t||r.aliasSymbol,tr=t?o:C_(r.aliasTypeArguments,n);return ru(na(r.objectType,n),na(r.indexType,n),r.accessFlags,void 0,Ye,tr)}if(s&16777216)return kb(r,$d(r.mapper,n),t,o);if(s&33554432){var ir=na(r.baseType,n),zr=na(r.constraint,n);return ir.flags&8650752&&Jg(zr)?ZD(ir,zr):zr.flags&3||to(dg(ir),dg(zr))?ir:ir.flags&8650752?ZD(ir,zr):ro([zr,ir])}return r}function Pw(r,n){var t=na(r.mappedType,n);if(!(e.getObjectFlags(t)&32))return r;var o=na(r.constraintType,n);if(!(o.flags&4194304))return r;var s=$T(na(r.source,n),t,o);return s||r}function Iw(r){return r.flags&262143?r:r.uniqueLiteralFilledInstantiation||(r.uniqueLiteralFilledInstantiation=na(r,Hi))}function D1(r){return r.flags&262143?r:r.permissiveInstantiation||(r.permissiveInstantiation=na(r,$i))}function dg(r){return r.flags&262143?r:(r.restrictiveInstantiation||(r.restrictiveInstantiation=na(r,Vn),r.restrictiveInstantiation.restrictiveInstantiation=r.restrictiveInstantiation),r.restrictiveInstantiation)}function ww(r,n){return Yl(r.keyType,na(r.type,n),r.isReadonly,r.declaration)}function rl(r){switch(e.Debug.assert(r.kind!==171||e.isObjectLiteralMethod(r)),r.kind){case 215:case 216:case 171:case 259:return bT(r);case 207:return e.some(r.properties,rl);case 206:return e.some(r.elements,rl);case 224:return rl(r.whenTrue)||rl(r.whenFalse);case 223:return(r.operatorToken.kind===56||r.operatorToken.kind===60)&&(rl(r.left)||rl(r.right));case 299:return rl(r.initializer);case 214:return rl(r.expression);case 289:return e.some(r.properties,rl)||e.isJsxOpeningElement(r.parent)&&e.some(r.parent.parent.children,rl);case 288:{var n=r.initializer;return!!n&&rl(n)}case 291:{var t=r.expression;return!!t&&rl(t)}}return!1}function bT(r){return e.hasContextSensitiveParameters(r)||Ow(r)}function Ow(r){return!r.typeParameters&&!e.getEffectiveReturnTypeNode(r)&&!!r.body&&r.body.kind!==238&&rl(r.body)}function Ab(r){return(e.isFunctionExpressionOrArrowFunction(r)||e.isObjectLiteralMethod(r))&&bT(r)}function ST(r){if(r.flags&524288){var n=Bu(r);if(n.constructSignatures.length||n.callSignatures.length){var t=Qc(16,r.symbol);return t.members=n.members,t.properties=n.properties,t.callSignatures=e.emptyArray,t.constructSignatures=e.emptyArray,t.indexInfos=e.emptyArray,t}}else if(r.flags&2097152)return ro(e.map(r.types,ST));return r}function Kf(r,n){return kf(r,n,io)}function fh(r,n){return kf(r,n,io)?-1:0}function Nb(r,n){return kf(r,n,_a)?-1:0}function Fw(r,n){return kf(r,n,mt)?-1:0}function Qd(r,n){return kf(r,n,mt)}function to(r,n){return kf(r,n,_a)}function zg(r,n){return r.flags&1048576?e.every(r.types,function(t){return zg(t,n)}):n.flags&1048576?e.some(n.types,function(t){return zg(r,t)}):r.flags&58982400?zg(_c(r)||pr,n):n===pi?!!(r.flags&67633152):n===_i?!!(r.flags&524288)&&fS(r):qf(r,Vf(n))||Uu(n)&&!gv(n)&&zg(r,ia)}function _h(r,n){return kf(r,n,$a)}function b1(r,n){return _h(r,n)||_h(n,r)}function Rc(r,n,t,o,s,f){return Nl(r,n,_a,t,o,s,f)}function nd(r,n,t,o,s,f){return Pb(r,n,_a,t,o,s,f,void 0)}function Pb(r,n,t,o,s,f,S,ee){return kf(r,n,t)?!0:!o||!Py(s,r,n,t,f,S,ee)?Nl(r,n,t,o,f,S,ee):!1}function xT(r){return!!(r.flags&16777216||r.flags&2097152&&e.some(r.types,xT))}function Py(r,n,t,o,s,f,S){if(!r||xT(t))return!1;if(!Nl(n,t,o,void 0)&&Mw(r,n,t,o,s,f,S))return!0;switch(r.kind){case 291:case 214:return Py(r.expression,n,t,o,s,f,S);case 223:switch(r.operatorToken.kind){case 63:case 27:return Py(r.right,n,t,o,s,f,S)}break;case 207:return Vw(r,n,t,o,f,S);case 206:return zw(r,n,t,o,f,S);case 289:return Uw(r,n,t,o,f,S);case 216:return Lw(r,n,t,o,f,S)}return!1}function Mw(r,n,t,o,s,f,S){for(var ee=da(n,0),_e=da(n,1),Ie=0,rr=[_e,ee];Ie1,on=Ys(tr,RT),In=Ys(tr,function(nt){return!RT(nt)});if(zr){if(on!==Re){var Sn=Zl(Q1(_e,0)),$n=jw(_e,gt);S=dh($n,Sn,on,o,s,f)||S}else if(!kf(ru(n,Ye),tr,o)){S=!0;var ri=Xr(_e.openingElement.tagName,e.Diagnostics.This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided,rr,Oi(tr));f&&f.skipLogging&&(f.errors||(f.errors=[])).push(ri)}}else if(In!==Re){var Ei=ir[0],Bi=CT(Ei,Ye,gt);Bi&&(S=dh(function(){return Zh(this,function(nt){switch(nt.label){case 0:return[4,Bi];case 1:return nt.sent(),[2]}})}(),n,t,o,s,f)||S)}else if(!kf(ru(n,Ye),tr,o)){S=!0;var ri=Xr(_e.openingElement.tagName,e.Diagnostics.This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided,rr,Oi(tr));f&&f.skipLogging&&(f.errors||(f.errors=[])).push(ri)}}return S;function gt(){if(!ee){var nt=e.getTextOfNode(r.parent.tagName),ba=X1(wm(r)),xt=ba===void 0?"children":e.unescapeLeadingUnderscores(ba),Sa=ru(t,ju(xt)),Ta=e.Diagnostics._0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2;ee=Ri(Ri({},Ta),{key:"!!ALREADY FORMATTED!!",message:e.formatMessage(void 0,Ta,nt,xt,Oi(Sa))})}return ee}}function ET(r,n){var t,o,s,f;return Zh(this,function(S){switch(S.label){case 0:if(t=e.length(r.elements),!t)return[2];o=0,S.label=1;case 1:return o_e:af(r)>_e);if(Ie)return 0;r.typeParameters&&r.typeParameters!==n.typeParameters&&(n=ZI(n),r=h6(r,n,void 0,S));var rr=lu(r),Ye=Ah(r),tr=Ah(n);(Ye||tr)&&na(Ye||tr,ee);var ir=n.declaration?n.declaration.kind:0,zr=!(t&3)&&er&&ir!==171&&ir!==170&&ir!==173,on=-1,In=Cp(r);if(In&&In!==Ir){var Sn=Cp(n);if(Sn){var $n=!zr&&S(In,Sn,!1)||S(Sn,In,o);if(!$n)return o&&s(e.Diagnostics.The_this_types_of_each_signature_are_incompatible),0;on&=$n}}for(var ri=Ye||tr?Math.min(rr,_e):Math.max(rr,_e),Ei=Ye||tr?ri-1:-1,Bi=0;Bi=af(r)&&Bi=3&&n[0].flags&32768&&n[1].flags&65536&&e.some(n,Pp)?67108864:0)}return!!(r.objectFlags&67108864)}return!1}function pv(r){return!!((r.flags&1048576?r.types[0]:r).flags&32768)}function kT(r){return r.flags&524288&&!eu(r)&&yo(r).length===0&&xs(r).length===1&&!!Yu(r,hn)||r.flags&3145728&&e.every(r.types,kT)||!1}function Ob(r,n,t){if(r===n)return!0;var o=b(r)+","+b(n),s=Po.get(o);if(s!==void 0&&!(!(s&4)&&s&2&&t))return!!(s&1);if(r.escapedName!==n.escapedName||!(r.flags&256)||!(n.flags&256))return Po.set(o,6),!1;for(var f=Li(n),S=0,ee=yo(Li(r));S0||Ox(gi)),la=!!(e.getObjectFlags(gi)&2048);if(ga&&!Yw(gi,Vi,la)){if(Rn){var Ua=Oi(dn.aliasSymbol?dn:gi),Do=Oi(kn.aliasSymbol?kn:Vi),Ha=da(gi,0),Wo=da(gi,1);Ha.length>0&&Zi(wo(Ha[0]),Vi,1,!1)||Wo.length>0&&Zi(wo(Wo[0]),Vi,1,!1)?ca(e.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,Ua,Do):ca(e.Diagnostics.Type_0_has_no_properties_in_common_with_type_1,Ua,Do)}return 0}oa(gi,Vi);var zo=gi.flags&1048576&&gi.types.length<4&&!(Vi.flags&1048576)||Vi.flags&1048576&&Vi.types.length<4&&!(gi.flags&469499904),xc=zo?yr(gi,Vi,Rn,ni):jn(gi,Vi,Rn,ni,ti);if(xc)return xc}return Rn&&Aa(dn,kn,gi,Vi,xi),0}function Aa(dn,kn,ti,Rn,xi){var ni,gi,Vi=!!zb(dn),yt=!!zb(kn);ti=dn.aliasSymbol||Vi?dn:ti,Rn=kn.aliasSymbol||yt?kn:Rn;var Dt=Sn>0;if(Dt&&Sn--,ti.flags&524288&&Rn.flags&524288){var Jt=ee;It(ti,Rn,!0),ee!==Jt&&(Dt=!!ee)}if(ti.flags&524288&&Rn.flags&131068)lt(ti,Rn);else if(ti.symbol&&ti.flags&524288&&pi===ti)ca(e.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);else if(e.getObjectFlags(ti)&2048&&Rn.flags&2097152){var ga=Rn.types,la=Lp(V.IntrinsicAttributes,o),Ua=Lp(V.IntrinsicClassAttributes,o);if(!ua(la)&&!ua(Ua)&&(e.contains(ga,la)||e.contains(ga,Ua)))return}else ee=ac(ee,kn);if(!xi&&Dt){$n=[ti,Rn];return}if(Bn(xi,ti,Rn),ti.flags&262144&&(!((gi=(ni=ti.symbol)===null||ni===void 0?void 0:ni.declarations)===null||gi===void 0)&&gi[0])&&!b_(ti)){var Do=h1(ti);if(Do.constraint=na(Rn,Np(ti,Do)),mm(Do)){var Ha=Oi(Rn,ti.symbol.declarations[0]);si(e.createDiagnosticForNode(ti.symbol.declarations[0],e.Diagnostics.This_type_parameter_might_need_an_extends_0_constraint,Ha))}}}function oa(dn,kn){if(e.tracing&&dn.flags&3145728&&kn.flags&3145728){var ti=dn,Rn=kn;if(ti.objectFlags&Rn.objectFlags&32768)return;var xi=ti.types.length,ni=Rn.types.length;xi*ni>1e6&&e.tracing.instant("checkTypes","traceUnionsOrIntersectionsTooLarge_DepthLimit",{sourceId:dn.id,sourceSize:xi,targetId:kn.id,targetSize:ni,pos:o==null?void 0:o.pos,end:o==null?void 0:o.end})}}function La(dn,kn){var ti=function(Rn,xi){var ni;xi=fe(xi);var gi=xi.flags&3145728?tt(xi,kn):X_(xi,kn),Vi=gi&&Li(gi)||((ni=fg(xi,kn))===null||ni===void 0?void 0:ni.type)||Vr;return e.append(Rn,Vi)};return Ft(e.reduceLeft(dn,ti,void 0)||e.emptyArray)}function Ra(dn,kn,ti){var Rn;if(!Ky(kn)||!We&&e.getObjectFlags(kn)&4096)return!1;var xi=!!(e.getObjectFlags(dn)&2048);if((t===_a||t===$a)&&(Jy(pi,kn)||!xi&&$f(kn)))return!1;var ni=kn,gi;kn.flags&1048576&&(ni=F4(dn,kn,Zi)||wB(kn),gi=ni.flags&1048576?ni.types:[ni]);for(var Vi=function(la){if(an(la,dn.symbol)&&!AT(dn,la)){if(!FS(ni,la.escapedName,xi)){if(ti){var Ua=Ys(ni,Ky);if(!o)return{value:e.Debug.fail()};if(e.isJsxAttributes(o)||e.isJsxOpeningLikeElement(o)||e.isJsxOpeningLikeElement(o.parent)){la.valueDeclaration&&e.isJsxAttribute(la.valueDeclaration)&&e.getSourceFileOfNode(o)===e.getSourceFileOfNode(la.valueDeclaration.name)&&(o=la.valueDeclaration.name);var Do=Xt(la),Ha=f6(Do,Ua),Wo=Ha?Xt(Ha):void 0;Wo?ca(e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2,Do,Oi(Ua),Wo):ca(e.Diagnostics.Property_0_does_not_exist_on_type_1,Do,Oi(Ua))}else{var zo=((Rn=dn.symbol)===null||Rn===void 0?void 0:Rn.declarations)&&e.firstOrUndefined(dn.symbol.declarations),Wo=void 0;if(la.valueDeclaration&&e.findAncestor(la.valueDeclaration,function(Tn){return Tn===zo})&&e.getSourceFileOfNode(zo)===e.getSourceFileOfNode(o)){var xc=la.valueDeclaration;e.Debug.assertNode(xc,e.isObjectLiteralElementLike),o=xc;var Uo=xc.name;e.isIdentifier(Uo)&&(Wo=zS(Uo,Ua))}Wo!==void 0?ca(e.Diagnostics.Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2,Xt(la),Oi(Ua),Wo):ca(e.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,Xt(la),Oi(Ua))}}return{value:!0}}if(gi&&!Zi(Li(la),La(gi,la.escapedName),3,ti))return ti&&To(e.Diagnostics.Types_of_property_0_are_incompatible,Xt(la)),{value:!0}}},yt=0,Dt=yo(dn);yt=gi.types.length&&ni.length%gi.types.length===0){var Dt=Zi(yt,gi.types[Vi%gi.types.length],3,!1,void 0,Rn);if(Dt){xi&=Dt;continue}}var Jt=Zi(yt,kn,1,ti,void 0,Rn);if(!Jt)return 0;xi&=Jt}return xi}function Qr(dn,kn,ti,Rn,xi){if(dn===void 0&&(dn=e.emptyArray),kn===void 0&&(kn=e.emptyArray),ti===void 0&&(ti=e.emptyArray),dn.length!==kn.length&&t===io)return 0;for(var ni=dn.length<=kn.length?dn.length:kn.length,gi=-1,Vi=0;Vi25)return e.tracing===null||e.tracing===void 0||e.tracing.instant("checkTypes","typeRelatedToDiscriminatedType_DepthLimit",{sourceId:dn.id,targetId:kn.id,numCombinations:xi}),0}for(var yt=new Array(Rn.length),Dt=new e.Set,Jt=0;Jt5?ca(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more,Oi(dn),Oi(kn),e.map(Dt.slice(0,4),function(ga){return Xt(ga)}).join(", "),Dt.length-4):ca(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2,Oi(dn),Oi(kn),e.map(Dt,function(ga){return Xt(ga)}).join(", ")),xi&&ee&&Sn++)}function _o(dn,kn,ti,Rn,xi){if(t===io)return oo(dn,kn,Rn);var ni=-1;if(Xa(kn)){if(pg(dn)){if(!kn.target.readonly&&(gv(dn)||Xa(dn)&&dn.target.readonly))return 0;var gi=zd(dn),Vi=zd(kn),yt=Xa(dn)?dn.target.combinedFlags&4:4,Dt=kn.target.combinedFlags&4,Jt=Xa(dn)?dn.target.minLength:0,ga=kn.target.minLength;if(!yt&&gi=Vi-Ha)?dn.target.elementFlags[xc]:4,gs=kn.target.elementFlags[zo];if(gs&8&&!(Uo&8))return ti&&ca(e.Diagnostics.Source_provides_no_match_for_variadic_element_at_position_0_in_target,zo),0;if(Uo&8&&!(gs&12))return ti&&ca(e.Diagnostics.Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target,xc,zo),0;if(gs&1&&!(Uo&1))return ti&&ca(e.Diagnostics.Source_provides_no_match_for_required_element_at_position_0_in_target,zo),0;if(!(Wo&&((Uo&12||gs&12)&&(Wo=!1),Wo&&(Rn!=null&&Rn.has(""+zo))))){var Tn=Xa(dn)?zo=Vi-Ha?km(la[xc],!!(Uo&gs&2)):A1(dn,Do,Ha)||Re:la[0],zi=Ua[zo],zt=Uo&8&&gs&4?oc(zi):km(zi,!!(gs&2)),ft=Zi(Tn,zt,3,ti,void 0,xi);if(!ft)return ti&&(Vi>1||gi>1)&&(zo=Vi-Ha||gi-Do-Ha===1?To(e.Diagnostics.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target,xc,zo):To(e.Diagnostics.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target,Do,gi-Ha-1,zo)),0;ni&=ft}}return ni}if(kn.target.combinedFlags&12)return 0}var Et=(t===mt||t===Ut)&&!Op(dn)&&!k1(dn)&&!Xa(dn),Ba=nS(dn,kn,Et,!1);if(Ba)return ti&&ec(dn,kn)&&Ht(dn,kn,Ba,Et),0;if(Op(kn))for(var sa=0,xa=Ct(yo(dn),Rn);sa0&&e.every(n.properties,function(t){return!!(t.flags&16777216)})}return r.flags&2097152?e.every(r.types,IT):!1}function Yw(r,n,t){for(var o=0,s=yo(r);o";continue}Ye+="-"+zr.id}return Ye}}function Jb(r,n,t,o,s){if(o===io&&r.id>n.id){var f=r;r=n,n=f}var S=t?":"+t:"";return x1(r)&&x1(n)?n5(r,n,S,s):"".concat(r.id,",").concat(n.id).concat(S)}function Fy(r,n){if(e.getCheckFlags(r)&6){for(var t=0,o=r.containingType.types;t=o)for(var s=ph(r),f=0,S=0,ee=0;ee=S&&(f++,f>=o))return!0;S=_e.id}}return!1}function ph(r){if(r.flags&524288&&!oS(r)){if(e.getObjectFlags(r)&&r.node)return r.node;if(r.symbol&&!(e.getObjectFlags(r)&16&&r.symbol.flags&32))return r.symbol;if(Xa(r))return r.target}if(r.flags&262144)return r.symbol;if(r.flags&8388608){do r=r.objectType;while(r.flags&8388608);return r}return r.flags&16777216?r.root:r}function a5(r,n){return jb(r,n,fh)!==0}function jb(r,n,t){if(r===n)return-1;var o=e.getDeclarationModifierFlagsFromSymbol(r)&24,s=e.getDeclarationModifierFlagsFromSymbol(n)&24;if(o!==s)return 0;if(o){if(Bm(r)!==Bm(n))return 0}else if((r.flags&16777216)!==(n.flags&16777216))return 0;return bl(r)!==bl(n)?0:t(Li(r),Li(n))}function o5(r,n,t){var o=lu(r),s=lu(n),f=af(r),S=af(n),ee=of(r),_e=of(n);return!!(o===s&&f===S&&ee===_e||t&&f<=S)}function My(r,n,t,o,s,f){if(r===n)return-1;if(!o5(r,n,t)||e.length(r.typeParameters)!==e.length(n.typeParameters))return 0;if(n.typeParameters){for(var S=Vc(r.typeParameters,n.typeParameters),ee=0;eee.length(n.typeParameters)&&(s=Zc(s,e.last(Oo(r)))),r.objectFlags|=67108864,r.cachedEquivalentBaseType=s}}}function LT(r){return Je?r===Un:r===fn}function k1(r){var n=Ub(r);return!!n&<(n)}function Em(r){return Xa(r)||!!Yt(r,"0")}function RT(r){return Xd(r)||Em(r)}function f5(r,n){var t=Pa(r,""+n);if(t)return t;if(Af(r,Xa))return es(r,function(o){return gh(o)||Vr})}function _5(r){return!(r.flags&240512)}function yl(r){return!!(r.flags&109440)}function BT(r){var n=Y_(r);return n.flags&2097152?e.some(n.types,yl):yl(n)}function d5(r){return r.flags&2097152&&e.find(r.types,yl)||r}function Tm(r){return r.flags&16?!0:r.flags&1048576?r.flags&1024?!0:e.every(r.types,yl):yl(r)}function nf(r){return r.flags&1024?um(r):r.flags&402653312?hn:r.flags&256?Kn:r.flags&2048?Ai:r.flags&512?Pn:r.flags&1048576?p5(r):r}function p5(r){var n,t="B".concat(sc(r));return(n=Go(t))!==null&&n!==void 0?n:qo(t,es(r,nf))}function Ip(r){return r.flags&1024&&Ap(r)?um(r):r.flags&128&&Ap(r)?hn:r.flags&256&&Ap(r)?Kn:r.flags&2048&&Ap(r)?Ai:r.flags&512&&Ap(r)?Pn:r.flags&1048576?es(r,Ip):r}function JT(r){return r.flags&8192?we:r.flags&1048576?es(r,JT):r}function Wb(r,n){return d2(r,n)||(r=JT(Ip(r))),Wc(r)}function g5(r,n,t){if(r&&yl(r)){var o=n?t?Oh(n):n:void 0;r=Wb(r,o)}return r}function Vb(r,n,t,o){if(r&&yl(r)){var s=n?Bp(t,n,o):void 0;r=Wb(r,s)}return r}function Xa(r){return!!(e.getObjectFlags(r)&4&&r.target.objectFlags&8)}function mv(r){return Xa(r)&&!!(r.target.combinedFlags&8)}function jT(r){return mv(r)&&r.target.elementFlags.length===1}function gh(r){return A1(r,r.target.fixedLength)}function m5(r){var n=gh(r);return n&&oc(n)}function A1(r,n,t,o){t===void 0&&(t=0),o===void 0&&(o=!1);var s=zd(r)-t;if(n-1&&(us(f,f.name.escapedText,788968,void 0,f.name.escapedText,!0)||f.name.originalKeywordKind&&e.isTypeNodeKind(f.name.originalKeywordKind))){var S="arg"+f.parent.parameters.indexOf(f),ee=e.declarationNameToString(f.name)+(f.dotDotDotToken?"[]":"");Pu(We,r,e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1,S,ee);return}s=r.dotDotDotToken?We?e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type:e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:We?e.Diagnostics.Parameter_0_implicitly_has_an_1_type:e.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 205:if(s=e.Diagnostics.Binding_element_0_implicitly_has_an_1_type,!We)return;break;case 320:Xr(r,e.Diagnostics.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,o);return;case 259:case 171:case 170:case 174:case 175:case 215:case 216:if(We&&!r.name){t===3?Xr(r,e.Diagnostics.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation,o):Xr(r,e.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,o);return}s=We?t===3?e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:e.Diagnostics._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;break;case 197:We&&Xr(r,e.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type);return;default:s=We?e.Diagnostics.Variable_0_implicitly_has_an_1_type:e.Diagnostics.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage}Pu(We,r,s,e.declarationNameToString(e.getNameOfDeclaration(r)),o)}}function F1(r,n,t){oe(function(){We&&e.getObjectFlags(n)&65536&&(!t||!kS(r))&&(O1(n)||wp(r,n,t))})}function Kb(r,n,t){var o=lu(r),s=lu(n),f=kh(r),S=kh(n),ee=S?s-1:s,_e=f?ee:Math.min(o,ee),Ie=Cp(r);if(Ie){var rr=Cp(n);rr&&t(Ie,rr)}for(var Ye=0;Ye<_e;Ye++)t(Dl(r,Ye),Dl(n,Ye));S&&t(Th(r,_e),S)}function $b(r,n,t){var o=el(r),s=el(n);o&&s&&ub(o,s)&&o.type&&s.type?t(o.type,s.type):t(wo(r),wo(n))}function hh(r,n,t,o){return Qb(r.map(Xb),n,t,o||Nb)}function k5(r,n){return n===void 0&&(n=0),r&&Qb(e.map(r.inferences,GT),r.signature,r.flags|n,r.compareTypes)}function Qb(r,n,t,o){var s={inferences:r,signature:n,flags:t,compareTypes:o,mapper:st,nonFixingMapper:st};return s.mapper=A5(s),s.nonFixingMapper=N5(s),s}function A5(r){return xb(e.map(r.inferences,function(n){return n.typeParameter}),e.map(r.inferences,function(n,t){return function(){return n.isFixed||(P5(r),M1(r.inferences),n.isFixed=!0),sS(r,t)}}))}function N5(r){return xb(e.map(r.inferences,function(n){return n.typeParameter}),e.map(r.inferences,function(n,t){return function(){return sS(r,t)}}))}function M1(r){for(var n=0,t=r;nr.target.minLength||!n.target.hasRestElement&&(r.target.hasRestElement||n.target.fixedLength0){for(var In=tr,Sn=ir;Sn=$n(In).indexOf(on,Sn),!(Sn>=0);){if(In++,In===r.length)return;Sn=0}ri(In,Sn),ir+=on.length}else if(ir<$n(tr).length)ri(tr,ir+1);else if(tr0)for(var ht=0,Qr=Bn;ht1){var n=e.filter(r,oS);if(n.length){var t=Ft(n,2);return e.concatenate(e.filter(r,function(o){return!oS(o)}),[t])}}return r}function q5(r){return r.priority&416?ro(r.contraCandidates):l5(r.contraCandidates)}function H5(r,n){var t=V5(r.candidates),o=W5(r.typeParameter),s=!o&&r.topLevel&&(r.isFixed||!Zb(wo(n),r.typeParameter)),f=o?e.sameMap(t,Wc):s?e.sameMap(t,Ip):t,S=r.priority&416?Ft(f,2):u5(f);return uu(S)}function sS(r,n){var t=r.inferences[n];if(!t.inferredType){var o=void 0,s=r.signature;if(s){var f=t.candidates?H5(t,s):void 0;if(t.contraCandidates)o=f&&!(f.flags&131072)&&e.some(t.contraCandidates,function(Ie){return Qd(f,Ie)})?f:q5(t);else if(f)o=f;else if(r.flags&1)o=yn;else{var S=jd(t.typeParameter);S&&(o=na(S,bw(Dw(r,n),r.nonFixingMapper)))}}else o=QT(t);t.inferredType=o||cS(!!(r.flags&2));var ee=tc(t.typeParameter);if(ee){var _e=na(ee,r.nonFixingMapper);(!o||!r.compareTypes(o,Zc(_e,o)))&&(t.inferredType=o=_e)}}return t.inferredType}function cS(r){return r?Ne:pr}function uS(r){for(var n=[],t=0;t=10&&o*2>=r.length?t:void 0}function Ly(r){var n=r.types;if(!(n.length<10||e.getObjectFlags(r)&32768||e.countWhere(n,function(s){return!!(s.flags&59506688)})<10)){if(r.keyPropertyName===void 0){var t=e.forEach(n,function(s){return s.flags&59506688?e.forEach(yo(s),function(f){return yl(Li(f))?f.escapedName:void 0}):void 0}),o=t&&K5(n,t);r.keyPropertyName=o?t:"",r.constituentMap=o}return r.keyPropertyName.length?r.keyPropertyName:void 0}}function Ry(r,n){var t,o=(t=r.constituentMap)===null||t===void 0?void 0:t.get(sc(Wc(n)));return o!==pr?o:void 0}function ok(r,n){var t=Ly(r),o=t&&Pa(n,t);return o&&Ry(r,o)}function $5(r,n){var t=Ly(r),o=t&&e.find(n.properties,function(f){return f.symbol&&f.kind===299&&f.symbol.escapedName===t&&qy(f.initializer)}),s=o&&s0(o.initializer);return s&&Ry(r,s)}function sk(r,n){return qs(r,n)||tk(r,n)}function ck(r,n){if(r.arguments)for(var t=0,o=r.arguments;t=0&&Yn.parameterIndex=Yn&&Qi=2){var o=t.parent.parent;if(o.kind===257&&e.getCombinedNodeFlags(t)&2||o.kind===166){var s=Nt(o);if(!(s.flags&268435456)){s.flags|=268435456;var f=zc(o,0),S=f&&es(f,Y_);if(s.flags&=-268435457,S&&S.flags&1048576&&!(o.kind===166&&V1(r))){var ee=t.parent,_e=Yd(ee,S,S,void 0,n.flowNode);return _e.flags&131072?Re:Pg(t,_e)}}}}if(e.isParameter(t)&&!t.type&&!t.initializer&&!t.dotDotDotToken){var Ie=t.parent;if(Ie.parameters.length>=2&&Ab(Ie)){var rr=xh(Ie);if(rr&&rr.parameters.length===1&&se(rr)){var Ye=lr(Li(rr.parameters[0]));if(Ye.flags&1048576&&Af(Ye,Xa)&&!V1(r)){var _e=Yd(Ie,Ye,Ye,void 0,n.flowNode),tr=Ie.parameters.indexOf(t)-(e.getThisParameter(Ie)?1:0);return ru(_e,rf(tr))}}}}}return Li(r)}function T7(r,n){if(e.isThisInTypeQuery(r))return Vy(r);var t=nl(r);if(t===Jr)return pe;if(t===ye){if(s6(r))return Xr(r,e.Diagnostics.arguments_cannot_be_referenced_in_property_initializers),pe;var o=e.getContainingFunction(r);return y<2&&(o.kind===216?Xr(r,e.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression):e.hasSyntacticModifier(o,512)&&Xr(r,e.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method)),Nt(o).flags|=8192,Li(t)}A7(r)&&q1(t,r);var s=_l(t),f=n4(s,r);df(f)&&db(r,f)&&f.declarations&&Ll(r,f.declarations,r.escapedText);var S=s.valueDeclaration;if(S&&s.flags&32){if(S.kind===260&&e.nodeIsDecorated(S))for(var o=e.getContainingClass(r);o!==void 0;){if(o===S&&o.name!==r){Nt(S).flags|=16777216,Nt(r).flags|=33554432;break}o=e.getContainingClass(o)}else if(S.kind===228)for(var o=e.getThisContainer(r,!1);o.kind!==308;){if(o.parent===S){(e.isPropertyDeclaration(o)&&e.isStatic(o)||e.isClassStaticBlockDeclaration(o))&&(Nt(S).flags|=16777216,Nt(r).flags|=33554432);break}o=e.getThisContainer(o,!1)}}I7(r,t);var ee=E7(s,r),_e=e.getAssignmentTargetKind(r);if(_e){if(!(s.flags&3)&&!(e.isInJSFile(r)&&s.flags&512)){var Ie=s.flags&384?e.Diagnostics.Cannot_assign_to_0_because_it_is_an_enum:s.flags&32?e.Diagnostics.Cannot_assign_to_0_because_it_is_a_class:s.flags&1536?e.Diagnostics.Cannot_assign_to_0_because_it_is_a_namespace:s.flags&16?e.Diagnostics.Cannot_assign_to_0_because_it_is_a_function:s.flags&2097152?e.Diagnostics.Cannot_assign_to_0_because_it_is_an_import:e.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable;return Xr(r,Ie,Xt(t)),pe}if(bl(s))return s.flags&3?Xr(r,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant,Xt(t)):Xr(r,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property,Xt(t)),pe}var rr=s.flags&2097152;if(s.flags&3){if(_e===1)return ee}else if(rr)S=Vu(t);else return ee;if(!S)return ee;ee=gS(ee,r,n);for(var Ye=e.getRootDeclaration(S).kind===166,tr=bh(S),ir=bh(r),zr=ir!==tr,on=r.parent&&r.parent.parent&&e.isSpreadAssignment(r.parent)&&dS(r.parent.parent),In=t.flags&134217728;ir!==tr&&(ir.kind===215||ir.kind===216||e.isObjectLiteralOrClassExpressionMethodOrAccessor(ir))&&(Sh(s)&&ee!==cs||Ye&&!V1(s));)ir=bh(ir);var Sn=Ye||rr||zr||on||In||k7(r,S)||ee!==Ze&&ee!==cs&&(!Je||(ee.flags&16387)!==0||vv(r)||r.parent.kind===278)||r.parent.kind===232||S.kind===257&&S.exclamationToken||S.flags&16777216,$n=Sn?Ye?S7(ee,S):ee:ee===Ze||ee===cs?Vr:E_(ee),ri=Yd(r,ee,$n,ir);if(!bk(r)&&(ee===Ze||ee===cs)){if(ri===Ze||ri===cs)return We&&(Xr(e.getNameOfDeclaration(S),e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined,Xt(t),Oi(ri)),Xr(r,e.Diagnostics.Variable_0_implicitly_has_an_1_type,Xt(t),Oi(ri))),Lh(ri)}else if(!Sn&&!pv(ee)&&pv(ri))return Xr(r,e.Diagnostics.Variable_0_is_used_before_being_assigned,Xt(t)),ee;return _e?nf(ri):ri}function k7(r,n){if(e.isBindingElement(n)){var t=e.findAncestor(r,e.isBindingElement);return t&&e.getRootDeclaration(t)===e.getRootDeclaration(n)}}function A7(r){var n,t=r.parent;if(t){if(e.isPropertyAccessExpression(t)&&t.expression===r||e.isExportSpecifier(t)&&t.isTypeOnly)return!1;var o=(n=t.parent)===null||n===void 0?void 0:n.parent;if(o&&e.isExportDeclaration(o)&&o.isTypeOnly)return!1}return!0}function N7(r,n){return!!e.findAncestor(r,function(t){return t===n?"quit":e.isFunctionLike(t)||t.parent&&e.isPropertyDeclaration(t.parent)&&!e.hasStaticModifier(t.parent)&&t.parent.initializer===t})}function P7(r,n){return e.findAncestor(r,function(t){return t===n?"quit":t===n.initializer||t===n.condition||t===n.incrementor||t===n.statement})}function mS(r){return e.findAncestor(r,function(n){return!n||e.nodeStartsNewLexicalEnvironment(n)?"quit":e.isIterationStatement(n,!1)})}function I7(r,n){if(!(y>=2||!(n.flags&34)||!n.valueDeclaration||e.isSourceFile(n.valueDeclaration)||n.valueDeclaration.parent.kind===295)){var t=e.getEnclosingBlockScopeContainer(n.valueDeclaration),o=N7(r,t),s=mS(t);if(s){if(o){var f=!0;if(e.isForStatement(t)){var S=e.getAncestor(n.valueDeclaration,258);if(S&&S.parent===t){var ee=P7(r.parent,t);if(ee){var _e=Nt(ee);_e.flags|=131072;var Ie=_e.capturedBlockScopeBindings||(_e.capturedBlockScopeBindings=[]);e.pushIfUnique(Ie,n),ee===t.initializer&&(f=!1)}}}f&&(Nt(s).flags|=65536)}if(e.isForStatement(t)){var S=e.getAncestor(n.valueDeclaration,258);S&&S.parent===t&&O7(r,t)&&(Nt(n.valueDeclaration).flags|=4194304)}Nt(n.valueDeclaration).flags|=524288}o&&(Nt(n.valueDeclaration).flags|=262144)}}function w7(r,n){var t=Nt(r);return!!t&&e.contains(t.capturedBlockScopeBindings,Wi(n))}function O7(r,n){for(var t=r;t.parent.kind===214;)t=t.parent;var o=!1;if(e.isAssignmentTarget(t))o=!0;else if(t.parent.kind===221||t.parent.kind===222){var s=t.parent;o=s.operator===45||s.operator===46}return o?!!e.findAncestor(t,function(f){return f===n?"quit":f===n.statement}):!1}function vS(r,n){if(Nt(r).flags|=2,n.kind===169||n.kind===173){var t=n.parent;Nt(t).flags|=4}else Nt(n).flags|=4}function Ak(r){return e.isSuperCall(r)?r:e.isFunctionLike(r)?void 0:e.forEachChild(r,Ak)}function Nk(r){var n=Wi(r),t=it(n),o=fc(t);return o===qn}function Pk(r,n,t){var o=n.parent,s=e.getClassExtendsHeritageElement(o);s&&!Nk(o)&&r.flowNode&&!W1(r.flowNode,!1)&&Xr(r,t)}function F7(r,n){e.isPropertyDeclaration(n)&&e.hasStaticModifier(n)&&n.initializer&&e.textRangeContainsPositionInclusive(n.initializer,r.pos)&&e.hasDecorators(n.parent)&&Xr(r,e.Diagnostics.Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class)}function Vy(r){var n=vv(r),t=e.getThisContainer(r,!0),o=!1;switch(t.kind===173&&Pk(r,t,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class),t.kind===216&&(t=e.getThisContainer(t,!1),o=!0),F7(r,t),t.kind){case 264:Xr(r,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 263:Xr(r,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 173:Ik(r,t)&&Xr(r,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 164:Xr(r,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name);break}!n&&o&&y<2&&vS(r,t);var s=hS(r,!0,t);if(a){var f=Li(pn);if(s===f&&o)Xr(r,e.Diagnostics.The_containing_arrow_function_captures_the_global_value_of_this);else if(!s){var S=Xr(r,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);if(!e.isSourceFile(t)){var ee=hS(t);ee&&ee!==f&&e.addRelatedInfo(S,e.createDiagnosticForNode(t,e.Diagnostics.An_outer_value_of_this_is_shadowed_by_this_container))}}}return s||Ne}function hS(r,n,t){n===void 0&&(n=!0),t===void 0&&(t=e.getThisContainer(r,!1));var o=e.isInJSFile(r);if(e.isFunctionLike(t)&&(!bS(r)||e.getThisParameter(t))){var s=Xs(t)||o&&R7(t);if(!s){var f=L7(t);if(o&&f){var S=ya(f).symbol;S&&S.members&&S.flags&16&&(s=it(S).thisType)}else Il(t)&&(s=it(Ya(t.symbol)).thisType);s||(s=Ok(t))}if(s)return Yd(r,s)}if(e.isClassLike(t.parent)){var ee=Wi(t.parent),_e=e.isStatic(t)?Li(ee):it(ee).thisType;return Yd(r,_e)}if(e.isSourceFile(t))if(t.commonJsModuleIndicator){var Ie=Wi(t);return Ie&&Li(Ie)}else{if(t.externalModuleIndicator)return Vr;if(n)return Li(pn)}}function M7(r){var n=e.getThisContainer(r,!1);if(e.isFunctionLike(n)){var t=Zu(n);if(t.thisParameter)return j1(t.thisParameter)}if(e.isClassLike(n.parent)){var o=Wi(n.parent);return e.isStatic(n)?Li(o):it(o).thisType}}function L7(r){if(r.kind===215&&e.isBinaryExpression(r.parent)&&e.getAssignmentDeclarationKind(r.parent)===3)return r.parent.left.expression.expression;if(r.kind===171&&r.parent.kind===207&&e.isBinaryExpression(r.parent.parent)&&e.getAssignmentDeclarationKind(r.parent.parent)===6)return r.parent.parent.left.expression;if(r.kind===215&&r.parent.kind===299&&r.parent.parent.kind===207&&e.isBinaryExpression(r.parent.parent.parent)&&e.getAssignmentDeclarationKind(r.parent.parent.parent)===6)return r.parent.parent.parent.left.expression;if(r.kind===215&&e.isPropertyAssignment(r.parent)&&e.isIdentifier(r.parent.name)&&(r.parent.name.escapedText==="value"||r.parent.name.escapedText==="get"||r.parent.name.escapedText==="set")&&e.isObjectLiteralExpression(r.parent.parent)&&e.isCallExpression(r.parent.parent.parent)&&r.parent.parent.parent.arguments[2]===r.parent.parent&&e.getAssignmentDeclarationKind(r.parent.parent.parent)===9)return r.parent.parent.parent.arguments[0].expression;if(e.isMethodDeclaration(r)&&e.isIdentifier(r.name)&&(r.name.escapedText==="value"||r.name.escapedText==="get"||r.name.escapedText==="set")&&e.isObjectLiteralExpression(r.parent)&&e.isCallExpression(r.parent.parent)&&r.parent.parent.arguments[2]===r.parent&&e.getAssignmentDeclarationKind(r.parent.parent)===9)return r.parent.parent.arguments[0].expression}function R7(r){var n=e.getJSDocType(r);if(n&&n.kind===320){var t=n;if(t.parameters.length>0&&t.parameters[0].name&&t.parameters[0].name.escapedText==="this")return Wt(t.parameters[0].type)}var o=e.getJSDocThisTag(r);if(o&&o.typeExpression)return Wt(o.typeExpression)}function Ik(r,n){return!!e.findAncestor(r,function(t){return e.isFunctionLikeDeclaration(t)?"quit":t.kind===166&&t.parent===n})}function yS(r){var n=r.parent.kind===210&&r.parent.expression===r,t=e.getSuperContainer(r,!0),o=t,s=!1,f=!1;if(!n){for(;o&&o.kind===216;)e.hasSyntacticModifier(o,512)&&(f=!0),o=e.getSuperContainer(o,!0),s=y<2;o&&e.hasSyntacticModifier(o,512)&&(f=!0)}var S=tr(o),ee=0;if(!S){var _e=e.findAncestor(r,function(ir){return ir===o?"quit":ir.kind===164});return _e&&_e.kind===164?Xr(r,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):n?Xr(r,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):!o||!o.parent||!(e.isClassLike(o.parent)||o.parent.kind===207)?Xr(r,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions):Xr(r,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class),pe}if(!n&&t.kind===173&&Pk(r,o,e.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),e.isStatic(o)||n?(ee=512,!n&&y>=2&&y<=8&&(e.isPropertyDeclaration(o)||e.isClassStaticBlockDeclaration(o))&&e.forEachEnclosingBlockScopeContainer(r.parent,function(ir){(!e.isSourceFile(ir)||e.isExternalOrCommonJsModule(ir))&&(Nt(ir).flags|=134217728)})):ee=256,Nt(r).flags|=ee,o.kind===171&&f&&(e.isSuperProperty(r.parent)&&e.isAssignmentTarget(r.parent)?Nt(o).flags|=4096:Nt(o).flags|=2048),s&&vS(r.parent,o),o.parent.kind===207)return y<2?(Xr(r,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),pe):Ne;var Ie=o.parent;if(!e.getClassExtendsHeritageElement(Ie))return Xr(r,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class),pe;var rr=it(Wi(Ie)),Ye=rr&&su(rr)[0];if(!Ye)return pe;if(o.kind===173&&Ik(r,o))return Xr(r,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments),pe;return ee===512?fc(rr):Zc(Ye,rr.thisType);function tr(ir){return ir?n?ir.kind===173:e.isClassLike(ir.parent)||ir.parent.kind===207?e.isStatic(ir)?ir.kind===171||ir.kind===170||ir.kind===174||ir.kind===175||ir.kind===169||ir.kind===172:ir.kind===171||ir.kind===170||ir.kind===174||ir.kind===175||ir.kind===169||ir.kind===168||ir.kind===173:!1:!1}}function B7(r){return(r.kind===171||r.kind===174||r.kind===175)&&r.parent.kind===207?r.parent:r.kind===215&&r.parent.kind===299?r.parent.parent:void 0}function wk(r){return e.getObjectFlags(r)&4&&r.target===cc?Oo(r)[0]:void 0}function J7(r){return es(r,function(n){return n.flags&2097152?e.forEach(n.types,wk):wk(n)})}function Ok(r){if(r.kind!==216){if(Ab(r)){var n=xh(r);if(n){var t=n.thisParameter;if(t)return Li(t)}}var o=e.isInJSFile(r);if(a||o){var s=B7(r);if(s){for(var f=Mp(s,void 0),S=s,ee=f;ee;){var _e=J7(ee);if(_e)return na(_e,Yb(Im(s)));if(S.parent.kind!==299)break;S=S.parent.parent,ee=Mp(S,void 0)}return uu(f?T_(f):Cs(s))}var Ie=e.walkUpParenthesizedExpressions(r.parent);if(Ie.kind===223&&Ie.operatorToken.kind===63){var rr=Ie.left;if(e.isAccessExpression(rr)){var Ye=rr.expression;if(o&&e.isIdentifier(Ye)){var tr=e.getSourceFileOfNode(Ie);if(tr.commonJsModuleIndicator&&nl(Ye)===tr.symbol)return}return uu(Cs(Ye))}}}}}function Fk(r){var n=r.parent;if(Ab(n)){var t=e.getImmediatelyInvokedFunctionExpression(n);if(t&&t.arguments){var o=QS(t),s=n.parameters.indexOf(r);if(r.dotDotDotToken)return KS(o,s,o.length,Ne,void 0,0);var f=Nt(t),S=f.resolvedSignature;f.resolvedSignature=is;var ee=s0)return St(t.name,!0,!1)}}function W7(r,n){var t=e.getContainingFunction(r);if(t){var o=SS(t,n);if(o){var s=e.getFunctionFlags(t);if(s&1){var f=(s&2)!==0;o.flags&1048576&&(o=Ys(o,function(_e){return!!Bp(1,_e,f)}));var S=Bp(1,o,(s&2)!==0);if(!S)return;o=S}if(s&2){var ee=es(o,A_);return ee&&Ft([ee,W6(ee)])}return o}}}function V7(r,n){var t=nu(r,n);if(t){var o=A_(t);return o&&Ft([o,W6(o)])}}function q7(r,n){var t=e.getContainingFunction(r);if(t){var o=e.getFunctionFlags(t),s=SS(t,n);if(s){var f=(o&2)!==0;return!r.asteriskToken&&s.flags&1048576&&(s=Ys(s,function(S){return!!Bp(1,S,f)})),r.asteriskToken?s:Bp(0,s,f)}}}function bS(r){for(var n=!1;r.parent&&!e.isFunctionLike(r.parent);){if(e.isParameter(r.parent)&&(n||r.parent.initializer===r))return!0;e.isBindingElement(r.parent)&&r.parent.initializer===r&&(n=!0),r=r.parent}return!1}function Mk(r,n){var t=!!(e.getFunctionFlags(n)&2),o=SS(n,void 0);if(o)return Bp(r,o,t)||void 0}function SS(r,n){var t=hm(r);if(t)return t;var o=kS(r);if(o&&!GD(o))return wo(o);var s=e.getImmediatelyInvokedFunctionExpression(r);if(s)return nu(s,n)}function Lk(r,n){var t=QS(r),o=t.indexOf(n);return o===-1?void 0:xS(r,o)}function xS(r,n){if(e.isImportCall(r))return n===0?hn:n===1?PE(!1):Ne;var t=Nt(r).resolvedSignature===_r?_r:Fm(r);if(e.isJsxOpeningLikeElement(r)&&n===0)return $1(t,r);var o=t.parameters.length-1;return se(t)&&n>=o?ru(Li(t.parameters[o]),rf(n-o),256):Dl(t,n)}function H7(r,n){if(r.parent.kind===212)return Lk(r.parent,n)}function G7(r,n){var t=r.parent,o=t.left,s=t.operatorToken,f=t.right;switch(s.kind){case 63:case 76:case 75:case 77:return r===f?$7(t):void 0;case 56:case 60:var S=nu(t,n);return r===f&&(S&&S.pattern||!S&&!e.isDefaultedExpandoInitializer(t))?Zs(o):S;case 55:case 27:return r===f?nu(t,n):void 0;default:return}}function K7(r){if(r.symbol)return r.symbol;if(e.isIdentifier(r))return nl(r);if(e.isPropertyAccessExpression(r)){var n=Zs(r.expression);return e.isPrivateIdentifier(r.name)?o(n,r.name):Yt(n,r.name.escapedText)}if(e.isElementAccessExpression(r)){var t=Cs(r.argumentExpression);if(!Eu(t))return;var n=Zs(r.expression);return Yt(n,Tu(t))}return;function o(s,f){var S=e2(f.escapedText,f);return S&&BS(s,S)}}function $7(r){var n,t,o=e.getAssignmentDeclarationKind(r);switch(o){case 0:case 4:var s=K7(r.left),f=s&&s.valueDeclaration;if(f&&(e.isPropertyDeclaration(f)||e.isPropertySignature(f))){var S=e.getEffectiveTypeAnnotationNode(f);return S&&na(Wt(S),Qt(s).mapper)||(e.isPropertyDeclaration(f)?f.initializer&&Zs(r.left):void 0)}return o===0?Zs(r.left):Rk(r);case 5:if(H1(r,o))return Rk(r);if(r.left.symbol){var ee=r.left.symbol.valueDeclaration;if(!ee)return;var _e=e.cast(r.left,e.isAccessExpression),S=e.getEffectiveTypeAnnotationNode(ee);if(S)return Wt(S);if(e.isIdentifier(_e.expression)){var Ie=_e.expression,rr=us(Ie,Ie.escapedText,111551,void 0,Ie.escapedText,!0);if(rr){var Ye=rr.valueDeclaration&&e.getEffectiveTypeAnnotationNode(rr.valueDeclaration);if(Ye){var tr=e.getElementOrPropertyAccessName(_e);if(tr!==void 0)return yg(Wt(Ye),tr)}return}}return e.isInJSFile(ee)?void 0:Zs(r.left)}else return Zs(r.left);case 1:case 6:case 3:case 2:var ir=void 0;o!==2&&(ir=(n=r.left.symbol)===null||n===void 0?void 0:n.valueDeclaration),ir||(ir=(t=r.symbol)===null||t===void 0?void 0:t.valueDeclaration);var zr=ir&&e.getEffectiveTypeAnnotationNode(ir);return zr?Wt(zr):void 0;case 7:case 8:case 9:return e.Debug.fail("Does not apply");default:return e.Debug.assertNever(o)}}function H1(r,n){if(n===void 0&&(n=e.getAssignmentDeclarationKind(r)),n===4)return!0;if(!e.isInJSFile(r)||n!==5||!e.isIdentifier(r.left.expression))return!1;var t=r.left.expression.escapedText,o=us(r.left,t,111551,void 0,void 0,!0,!0);return e.isThisInitializedDeclaration(o==null?void 0:o.valueDeclaration)}function Rk(r){if(!r.symbol)return Zs(r.left);if(r.symbol.valueDeclaration){var n=e.getEffectiveTypeAnnotationNode(r.symbol.valueDeclaration);if(n){var t=Wt(n);if(t)return t}}var o=e.cast(r.left,e.isAccessExpression);if(e.isObjectLiteralMethod(e.getThisContainer(o.expression,!1))){var s=Vy(o.expression),f=e.getElementOrPropertyAccessName(o);return f!==void 0&&yg(s,f)||void 0}}function Q7(r){return!!(e.getCheckFlags(r)&262144&&!r.type&&At(r,0)>=0)}function yg(r,n,t){return es(r,function(o){var s;if(eu(o)&&!o.declaration.nameType){var f=Xu(o),S=_c(f)||f,ee=t||ju(e.unescapeLeadingUnderscores(n));if(to(ee,S))return f1(o,ee)}else if(o.flags&3670016){var _e=Yt(o,n);if(_e)return Q7(_e)?void 0:Li(_e);if(Xa(o)){var Ie=gh(o);if(Ie&&e.isNumericLiteralName(n)&&+n>=0)return Ie}return(s=Al(Mg(o),t||ju(e.unescapeLeadingUnderscores(n))))===null||s===void 0?void 0:s.type}},!0)}function Bk(r,n){if(e.Debug.assert(e.isObjectLiteralMethod(r)),!(r.flags&33554432))return CS(r,n)}function CS(r,n){var t=r.parent,o=e.isPropertyAssignment(r)&&DS(r,n);if(o)return o;var s=Mp(t,n);if(s){if(lg(r)){var f=Wi(r);return yg(s,f.escapedName,Qt(f).nameType)}if(r.name){var S=rd(r.name);return es(s,function(ee){var _e;return(_e=Al(Mg(ee),S))===null||_e===void 0?void 0:_e.type},!0)}}}function ES(r,n){return r&&(yg(r,""+n)||es(r,function(t){return Dx(1,t,Vr,void 0,!1)},!0))}function X7(r,n){var t=r.parent;return r===t.whenTrue||r===t.whenFalse?nu(t,n):void 0}function Y7(r,n,t){var o=Mp(r.openingElement.tagName,t),s=X1(wm(r));if(o&&!Ja(o)&&s&&s!==""){var f=e.getSemanticJsxChildren(r.children),S=f.indexOf(n),ee=yg(o,s);return ee&&(f.length===1?ee:es(ee,function(_e){return Xd(_e)?ru(_e,rf(S)):_e},!0))}}function Z7(r,n){var t=r.parent;return e.isJsxAttributeLike(t)?nu(r,n):e.isJsxElement(t)?Y7(t,r,n):void 0}function Jk(r,n){if(e.isJsxAttribute(r)){var t=Mp(r.parent,n);return!t||Ja(t)?void 0:yg(t,r.name.escapedText)}else return nu(r.parent,n)}function qy(r){switch(r.kind){case 10:case 8:case 9:case 14:case 110:case 95:case 104:case 79:case 155:return!0;case 208:case 214:return qy(r.expression);case 291:return!r.expression||qy(r.expression)}return!1}function eO(r,n){return $5(n,r)||Lb(n,e.concatenate(e.map(e.filter(r.properties,function(t){return!!t.symbol&&t.kind===299&&qy(t.initializer)&&yh(n,t.symbol.escapedName)}),function(t){return[function(){return s0(t.initializer)},t.symbol.escapedName]}),e.map(e.filter(yo(n),function(t){var o;return!!(t.flags&16777216)&&!!(!((o=r==null?void 0:r.symbol)===null||o===void 0)&&o.members)&&!r.symbol.members.has(t.escapedName)&&yh(n,t.escapedName)}),function(t){return[function(){return Vr},t.escapedName]})),to,n)}function rO(r,n){return Lb(n,e.concatenate(e.map(e.filter(r.properties,function(t){return!!t.symbol&&t.kind===288&&yh(n,t.symbol.escapedName)&&(!t.initializer||qy(t.initializer))}),function(t){return[t.initializer?function(){return s0(t.initializer)}:function(){return Ni},t.symbol.escapedName]}),e.map(e.filter(yo(n),function(t){var o;return!!(t.flags&16777216)&&!!(!((o=r==null?void 0:r.symbol)===null||o===void 0)&&o.members)&&!r.symbol.members.has(t.escapedName)&&yh(n,t.escapedName)}),function(t){return[function(){return Vr},t.escapedName]})),to,n)}function Mp(r,n){var t=e.isObjectLiteralMethod(r)?Bk(r,n):nu(r,n),o=G1(t,r,n);if(o&&!(n&&n&2&&o.flags&8650752)){var s=es(o,fe,!0);return s.flags&1048576&&e.isObjectLiteralExpression(r)?eO(r,s):s.flags&1048576&&e.isJsxAttributes(r)?rO(r,s):s}}function G1(r,n,t){if(r&&ss(r,465829888)){var o=Im(n);if(o&&t&1&&e.some(o.inferences,hM))return K1(r,o.nonFixingMapper);if(o!=null&&o.returnMapper){var s=K1(r,o.returnMapper);return s.flags&1048576&&S_(s.types,Ki)&&S_(s.types,mi)?Ys(s,function(f){return f!==Ki&&f!==mi}):s}}return r}function K1(r,n){return r.flags&465829888?na(r,n):r.flags&1048576?Ft(e.map(r.types,function(t){return K1(t,n)}),0):r.flags&2097152?ro(e.map(r.types,function(t){return K1(t,n)})):r}function nu(r,n){if(r.flags&33554432)return;if(r.contextualType)return r.contextualType;var t=r.parent;switch(t.kind){case 257:case 166:case 169:case 168:case 205:return z7(r,n);case 216:case 250:return W7(r,n);case 226:return q7(t,n);case 220:return V7(t,n);case 210:case 211:return Lk(t,r);case 213:case 231:return e.isConstTypeReference(t.type)?S(t):Wt(t.type);case 223:return G7(r,n);case 299:case 300:return CS(t,n);case 301:return nu(t.parent,n);case 206:{var o=t,s=Mp(o,n);return ES(s,e.indexOfNode(o.elements,r))}case 224:return X7(r,n);case 236:return e.Debug.assert(t.parent.kind===225),H7(t.parent,r);case 214:{var f=e.isInJSFile(t)?e.getJSDocTypeTag(t):void 0;return f?e.isJSDocTypeTag(f)&&e.isConstTypeReference(f.typeExpression.type)?S(t):Wt(f.typeExpression.type):nu(t,n)}case 232:return nu(t,n);case 235:return Wt(t.type);case 274:return Mo(t);case 291:return Z7(t,n);case 288:case 290:return Jk(t,n);case 283:case 282:return nO(t,n)}return;function S(ee){return nu(ee,n)}}function Im(r){var n=e.findAncestor(r,function(t){return!!t.inferenceContext});return n&&n.inferenceContext}function nO(r,n){return e.isJsxOpeningElement(r)&&r.parent.contextualType&&n!==4?r.parent.contextualType:xS(r,0)}function $1(r,n){return b6(n)!==0?iO(r,n):oO(r,n)}function iO(r,n){var t=nx(r,pr);t=jk(n,wm(n),t);var o=Lp(V.IntrinsicAttributes,n);return ua(o)||(t=Dp(o,t)),t}function tO(r,n){if(r.compositeSignatures){for(var t=[],o=0,s=r.compositeSignatures;o=2){var ee=Ud([f,t],S,2,e.isInJSFile(r));return Dm(o,ee)}}if(e.length(s.typeParameters)>=2){var ee=Ud([f,t],s.typeParameters,2,e.isInJSFile(r));return Z_(s,ee)}}return t}function oO(r,n){var t=wm(n),o=TO(t),s=o===void 0?nx(r,pr):o===""?wo(r):tO(r,o);if(!s)return o&&e.length(n.attributes.properties)&&Xr(n,e.Diagnostics.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property,e.unescapeLeadingUnderscores(o)),pr;if(s=jk(n,t,s),Ja(s))return s;var f=s,S=Lp(V.IntrinsicClassAttributes,n);if(!ua(S)){var ee=Ef(S.symbol),_e=wo(r),Ie=void 0;if(ee){var rr=Ud([_e],ee,hl(ee),e.isInJSFile(n));Ie=na(S,Vc(ee,rr))}else Ie=S;f=Dp(Ie,f)}var Ye=Lp(V.IntrinsicAttributes,n);return ua(Ye)||(f=Dp(Ye,f)),f}function sO(r){return e.getStrictOptionValue(ue,"noImplicitAny")?e.reduceLeft(r,function(n,t){return n===t||!n?n:J0(n.typeParameters,t.typeParameters)?lO(n,t):void 0}):void 0}function cO(r,n,t){if(!r||!n)return r||n;var o=Ft([Li(r),na(Li(n),t)]);return Vg(r,o)}function uO(r,n,t){for(var o=lu(r),s=lu(n),f=o>=s?r:n,S=f===r?n:r,ee=f===r?o:s,_e=of(r)||of(n),Ie=_e&&!of(f),rr=new Array(ee+(Ie?1:0)),Ye=0;Ye=af(f)&&Ye>=af(S),Sn=Ye>=o?void 0:xv(r,Ye),$n=Ye>=s?void 0:xv(n,Ye),ri=Sn===$n?Sn:Sn?$n?void 0:Sn:$n,Ei=vo(1|(In&&!on?16777216:0),ri||"arg".concat(Ye));Ei.type=on?oc(zr):zr,rr[Ye]=Ei}if(Ie){var Bi=vo(1,"args");Bi.type=oc(Dl(S,ee)),S===n&&(Bi.type=na(Bi.type,t)),rr[ee]=Bi}return rr}function lO(r,n){var t=r.typeParameters||n.typeParameters,o;r.typeParameters&&n.typeParameters&&(o=Vc(n.typeParameters,r.typeParameters));var s=r.declaration,f=uO(r,n,o),S=cO(r.thisParameter,n.thisParameter,o),ee=Math.max(r.minArgumentCount,n.minArgumentCount),_e=$l(s,t,S,f,void 0,void 0,ee,(r.flags|n.flags)&39);return _e.compositeKind=2097152,_e.compositeSignatures=e.concatenate(r.compositeKind===2097152&&r.compositeSignatures||[r],[n]),o&&(_e.mapper=r.compositeKind===2097152&&r.mapper&&r.compositeSignatures?$d(r.mapper,o):o),_e}function TS(r,n){var t=da(r,0),o=e.filter(t,function(s){return!fO(s,n)});return o.length===1?o[0]:sO(o)}function fO(r,n){for(var t=0;t0&&(S=kp(S,La(),r.symbol,zr,Ie),f=[],s=e.createSymbolTable(),In=!1,Sn=!1,$n=!1);var Oa=ut(ya(xt.expression));if(Hy(Oa)){var It=Db(Oa,Ie);if(o&&qk(It,o,xt),gt=f.length,ua(S))continue;S=kp(S,It,r.symbol,zr,Ie)}else Xr(xt,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),S=pe;continue}else e.Debug.assert(xt.kind===174||xt.kind===175),Pv(xt);Ta&&!(Ta.flags&8576)?to(Ta,Dn)&&(to(Ta,Kn)?Sn=!0:to(Ta,we)?$n=!0:In=!0,t&&(on=!0)):s.set(Sa.escapedName,Sa),f.push(Sa)}if(_e){var ra=e.findAncestor(ee.pattern.parent,function(Ra){return Ra.kind===257||Ra.kind===223||Ra.kind===166}),Zi=e.findAncestor(r,function(Ra){return Ra===ra||Ra.kind===301});if(Zi.kind!==301)for(var Aa=0,oa=yo(ee);Aa0&&(S=kp(S,La(),r.symbol,zr,Ie),f=[],s=e.createSymbolTable(),In=!1,Sn=!1),es(S,function(Ra){return Ra===Yi?La():Ra});return La();function La(){var Ra=[];In&&Ra.push(AS(r,gt,f,hn)),Sn&&Ra.push(AS(r,gt,f,Kn)),$n&&Ra.push(AS(r,gt,f,we));var an=ts(r.symbol,s,e.emptyArray,e.emptyArray,Ra);return an.objectFlags|=zr|128|131072,ir&&(an.objectFlags|=4096),on&&(an.objectFlags|=512),t&&(an.pattern=r),an}}function Hy(r){var n=zT(es(r,Y_));return!!(n.flags&126615553||n.flags&3145728&&e.every(n.types,Hy))}function hO(r){OS(r)}function yO(r,n){return Pv(r),Gy(r)||Ne}function DO(r){OS(r.openingElement),Dv(r.closingElement.tagName)?IS(r.closingElement):ya(r.closingElement.tagName),Q1(r)}function bO(r,n){return Pv(r),Gy(r)||Ne}function SO(r){OS(r.openingFragment);var n=e.getSourceFileOfNode(r);return e.getJSXTransformEnabled(ue)&&(ue.jsxFactory||n.pragmas.has("jsx"))&&!ue.jsxFragmentFactory&&!n.pragmas.has("jsxfrag")&&Xr(r,ue.jsxFactory?e.Diagnostics.The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:e.Diagnostics.An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments),Q1(r),Gy(r)||Ne}function PS(r){return e.stringContains(r,"-")}function Dv(r){return r.kind===79&&e.isIntrinsicJsxName(r.escapedText)}function Vk(r,n){return r.initializer?Ev(r.initializer,n):Ni}function xO(r,n){for(var t=r.attributes,o=nu(t,0),s=Je?e.createSymbolTable():void 0,f=e.createSymbolTable(),S=ii,ee=!1,_e,Ie=!1,rr=2048,Ye=X1(wm(r)),tr=0,ir=t.properties;tr0&&(S=kp(S,xt(),t.symbol,rr,!1),f=e.createSymbolTable());var In=ut(Cs(zr.expression,n));Ja(In)&&(ee=!0),Hy(In)?(S=kp(S,In,t.symbol,rr,!1),s&&qk(In,s,zr)):(Xr(zr.expression,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),_e=_e?ro([_e,In]):In)}}ee||f.size>0&&(S=kp(S,xt(),t.symbol,rr,!1));var ri=r.parent.kind===281?r.parent:void 0;if(ri&&ri.openingElement===r&&ri.children.length>0){var Ei=Q1(ri,n);if(!ee&&Ye&&Ye!==""){Ie&&Xr(t,e.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,e.unescapeLeadingUnderscores(Ye));var Bi=Mp(r.attributes,void 0),gt=Bi&&yg(Bi,Ye),nt=vo(4,Ye);nt.type=Ei.length===1?Ei[0]:gt&&Xf(gt,Em)?Zl(Ei):oc(Ft(Ei)),nt.valueDeclaration=e.factory.createPropertySignature(void 0,e.unescapeLeadingUnderscores(Ye),void 0,void 0),e.setParent(nt.valueDeclaration,t),nt.valueDeclaration.symbol=nt;var ba=e.createSymbolTable();ba.set(Ye,nt),S=kp(S,ts(t.symbol,ba,e.emptyArray,e.emptyArray,e.emptyArray),t.symbol,rr,!1)}}if(ee)return Ne;if(_e&&S!==ii)return ro([_e,S]);return _e||(S===ii?xt():S);function xt(){rr|=dr;var Sa=ts(t.symbol,f,e.emptyArray,e.emptyArray,e.emptyArray);return Sa.objectFlags|=rr|128|131072,Sa}}function Q1(r,n){for(var t=[],o=0,s=r.children;o1&&t.declarations&&Xr(t.declarations[0],e.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property,e.unescapeLeadingUnderscores(r))}}function EO(r){return r&&Gc(r.exports,V.LibraryManagedAttributes,788968)}function TO(r){return Hk(V.ElementAttributesPropertyNameContainer,r)}function X1(r){return Hk(V.ElementChildrenAttributeNameContainer,r)}function Gk(r,n){if(r.flags&4)return[is];if(r.flags&128){var t=Kk(r,n);if(t){var o=s2(n,t);return[o]}else return Xr(n,e.Diagnostics.Property_0_does_not_exist_on_type_1,r.value,"JSX."+V.IntrinsicElements),e.emptyArray}var s=fe(r),f=da(s,1);return f.length===0&&(f=da(s,0)),f.length===0&&s.flags&1048576&&(f=ly(e.map(s.types,function(S){return Gk(S,n)}))),f}function Kk(r,n){var t=Lp(V.IntrinsicElements,n);if(!ua(t)){var o=r.value,s=Yt(t,e.escapeLeadingUnderscores(o));if(s)return Li(s);var f=vl(t,hn);return f||void 0}return Ne}function kO(r,n,t){if(r===1){var o=Xk(t);o&&Nl(n,o,_a,t.tagName,e.Diagnostics.Its_return_type_0_is_not_a_valid_JSX_element,S)}else if(r===0){var s=Qk(t);s&&Nl(n,s,_a,t.tagName,e.Diagnostics.Its_instance_type_0_is_not_a_valid_JSX_element,S)}else{var o=Xk(t),s=Qk(t);if(!o||!s)return;var f=Ft([o,s]);Nl(n,f,_a,t.tagName,e.Diagnostics.Its_element_type_0_is_not_a_valid_JSX_element,S)}function S(){var ee=e.getTextOfNode(t.tagName);return e.chainDiagnosticMessages(void 0,e.Diagnostics._0_cannot_be_used_as_a_JSX_component,ee)}}function $k(r){e.Debug.assert(Dv(r.tagName));var n=Nt(r);if(!n.resolvedJsxElementAttributesType){var t=IS(r);return n.jsxFlags&1?n.resolvedJsxElementAttributesType=Li(t)||pe:n.jsxFlags&2?n.resolvedJsxElementAttributesType=vl(Lp(V.IntrinsicElements,r),hn)||pe:n.resolvedJsxElementAttributesType=pe}return n.resolvedJsxElementAttributesType}function Qk(r){var n=Lp(V.ElementClass,r);if(!ua(n))return n}function Gy(r){return Lp(V.Element,r)}function Xk(r){var n=Gy(r);if(n)return Ft([n,bn])}function AO(r){var n=Lp(V.IntrinsicElements,r);return n?yo(n):e.emptyArray}function NO(r){(ue.jsx||0)===0&&Xr(r,e.Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided),Gy(r)===void 0&&We&&Xr(r,e.Diagnostics.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist)}function OS(r){var n=e.isJsxOpeningLikeElement(r);if(n&&nB(r),NO(r),!wS(r)){var t=de&&ue.jsx===2?e.Diagnostics.Cannot_find_name_0:void 0,o=Ds(r),s=n?r.tagName:r,f=void 0;if(e.isJsxOpeningFragment(r)&&o==="null"||(f=us(s,o,111551,t,o,!0)),f&&(f.isReferenced=67108863,f.flags&2097152&&!Nc(f)&&_u(f)),e.isJsxOpeningFragment(r)){var S=e.getSourceFileOfNode(r),ee=Tc(S);ee&&us(s,ee,111551,t,ee,!0)}}if(n){var _e=r,Ie=Fm(_e);u2(Ie,r),kO(b6(_e),wo(Ie),_e)}}function FS(r,n,t){if(r.flags&524288){if(X_(r,n)||fg(r,n)||yp(n)&&Yu(r,hn)||t&&PS(n))return!0}else if(r.flags&3145728&&Ky(r))for(var o=0,s=r.types;o=1&&to(t,Dl(_e,0))}return!1}var s=e.isAssignmentTarget(n)?"set":"get";if(o(s)){var f=e.tryGetPropertyAccessOrIdentifierToString(n.expression);return f===void 0?f=s:f+="."+s,f}}function KO(r,n){var t=n.types.filter(function(o){return!!(o.flags&128)});return e.getSpellingSuggestion(r.value,t,function(o){return o.value})}function $y(r,n,t){return e.getSpellingSuggestion(r,n,o);function o(s){var f=e.symbolName(s);if(!e.startsWith(f,'"')){if(s.flags&t)return f;if(s.flags&2097152){var S=Rs(s);if(S&&S.flags&t)return f}}}}function Qy(r,n,t){var o=r&&r.flags&106500&&r.valueDeclaration;if(o){var s=e.hasEffectiveModifier(o,8),f=r.valueDeclaration&&e.isNamedDeclaration(r.valueDeclaration)&&e.isPrivateIdentifier(r.valueDeclaration.name);if(!(!s&&!f)&&!(n&&e.isWriteOnlyAccess(n)&&!(r.flags&65536))){if(t){var S=e.findAncestor(n,e.isFunctionLikeDeclaration);if(S&&S.symbol===r)return}(e.getCheckFlags(r)&1?Qt(r).target:r).isReferenced=67108863}}}function _6(r,n){return r.kind===108||!!n&&e.isEntityNameExpression(r)&&n===nl(e.getFirstIdentifier(r))}function $O(r,n){switch(r.kind){case 208:return VS(r,r.expression.kind===106,n,uu(ya(r.expression)));case 163:return VS(r,!1,n,uu(ya(r.left)));case 202:return VS(r,!1,n,Wt(r))}}function d6(r,n,t){return qS(r,r.kind===208&&r.expression.kind===106,!1,n,t)}function VS(r,n,t,o){if(Ja(o))return!0;var s=Yt(o,t);return!!s&&qS(r,n,!1,o,s)}function qS(r,n,t,o,s){if(Ja(o))return!0;if(s.valueDeclaration&&e.isPrivateIdentifierClassElementDeclaration(s.valueDeclaration)){var f=e.getContainingClass(s.valueDeclaration);return!e.isOptionalChain(r)&&!!e.findAncestor(r,function(S){return S===f})}return Yk(r,n,t,o,s)}function QO(r){var n=r.initializer;if(n.kind===258){var t=n.declarations[0];if(t&&!e.isBindingPattern(t.name))return Wi(t)}else if(n.kind===79)return nl(n)}function XO(r){return xs(r).length===1&&!!Yu(r,Kn)}function YO(r){var n=e.skipParentheses(r);if(n.kind===79){var t=nl(n);if(t.flags&3)for(var o=r,s=r.parent;s;){if(s.kind===246&&o===s.statement&&QO(s)===t&&XO(Zs(s.expression)))return!0;o=s,s=s.parent}}return!1}function ZO(r,n){return r.flags&32?eF(r,n):p6(r,bv(r.expression),n)}function eF(r,n){var t=ya(r.expression),o=mh(t,r.expression);return P1(p6(r,Pl(o,r.expression),n),r,o!==t)}function p6(r,n,t){var o=e.getAssignmentTargetKind(r)!==0||t6(r)?uu(n):n,s=r.argumentExpression,f=ya(s);if(ua(o)||o===yn)return o;if(ax(o)&&!e.isStringLiteralLike(s))return Xr(s,e.Diagnostics.A_const_enum_member_can_only_be_accessed_using_a_string_literal),pe;var S=YO(s)?Kn:f,ee=e.isAssignmentTarget(r)?4|(Tp(o)&&!e.isThisTypeParameter(o)?2:0):32,_e=Vd(o,S,ee,r)||pe;return vA(o6(r,Nt(r).resolvedSymbol,_e,s,t),r)}function g6(r){return e.isCallOrNewExpression(r)||e.isTaggedTemplateExpression(r)||e.isJsxOpeningLikeElement(r)}function Om(r){return g6(r)&&e.forEach(r.typeArguments,eo),r.kind===212?ya(r.template):e.isJsxOpeningLikeElement(r)?ya(r.attributes):r.kind!==167&&e.forEach(r.arguments,function(n){ya(n)}),is}function tf(r){return Om(r),No}function rF(r,n,t){var o,s,f=0,S,ee=-1,_e;e.Debug.assert(!n.length);for(var Ie=0,rr=r;Ie=0)return rr>=af(t)&&(of(t)||rrS)return!1;if(f||s>=ee)return!0;for(var Ye=s;Ye=o&&n.length<=t}function Hg(r){return Ch(r,0,!1)}function v6(r){return Ch(r,0,!1)||Ch(r,1,!1)}function Ch(r,n,t){if(r.flags&524288){var o=Bu(r);if(t||o.properties.length===0&&o.indexInfos.length===0){if(n===0&&o.callSignatures.length===1&&o.constructSignatures.length===0)return o.callSignatures[0];if(n===1&&o.constructSignatures.length===1&&o.callSignatures.length===0)return o.constructSignatures[0]}}}function h6(r,n,t,o){var s=hh(r.typeParameters,r,0,o),f=kh(n),S=t&&(f&&f.flags&262144?t.nonFixingMapper:t.mapper),ee=S?Cm(n,S):n;return Kb(ee,r,function(_e,Ie){Qf(s.inferences,_e,Ie)}),t||$b(n,r,function(_e,Ie){Qf(s.inferences,_e,Ie,128)}),ih(r,uS(s),e.isInJSFile(n.declaration))}function iF(r,n,t,o){var s=$1(n,r),f=Mm(r.attributes,s,o,t);return Qf(o.inferences,f,s),uS(o)}function y6(r){if(!r)return Ir;var n=ya(r);return e.isOptionalChainRoot(r.parent)?T_(n):e.isOptionalChain(r.parent)?qb(n):n}function GS(r,n,t,o,s){if(e.isJsxOpeningLikeElement(r))return iF(r,n,o,s);if(r.kind!==167){var f=e.every(n.typeParameters,function(Sa){return!!jd(Sa)}),S=nu(r,f?8:0);if(S){var ee=wo(n);if(gg(ee)){var _e=Im(r),Ie=!f&&nu(r,8)!==S;if(!Ie){var rr=Yb(k5(_e,1)),Ye=na(S,rr),tr=Hg(Ye),ir=tr&&tr.typeParameters?lv(KD(tr,tr.typeParameters)):Ye;Qf(s.inferences,ir,ee,128)}var zr=hh(n.typeParameters,n,s.flags),on=na(S,_e&&_e.returnMapper);Qf(zr.inferences,on,ee),s.returnMapper=e.some(zr.inferences,Lm)?Yb(I5(zr)):void 0}}}var In=Ah(n),Sn=In?Math.min(lu(n)-1,t.length):t.length;if(In&&In.flags&262144){var $n=e.find(s.inferences,function(Sa){return Sa.typeParameter===In});$n&&($n.impliedArity=e.findIndex(t,i2,Sn)<0?t.length-Sn:void 0)}var ri=Cp(n);if(ri&&gg(ri)){var Ei=S6(r);Qf(s.inferences,y6(Ei),ri)}for(var Bi=0;Bi=t-1){var S=r[t-1];if(i2(S))return D6(S.kind===234?S.type:Mm(S.expression,o,s,f))}for(var ee=[],_e=[],Ie=[],rr=n;rr$n&&($n=Ta)}}if(!Sn)return!0;for(var Oa=1/0,Eo=0,To=tr;Eo0||e.isJsxOpeningElement(r)&&r.parent.children.length>0?[r.attributes]:e.emptyArray;var o=r.arguments||e.emptyArray,s=t2(o);if(s>=0){for(var f=o.slice(0,s),S=function(_e){var Ie=o[_e],rr=Ie.kind===227&&(ic?ya(Ie.expression):Cs(Ie.expression));rr&&Xa(rr)?e.forEach(Oo(rr),function(Ye,tr){var ir,zr=rr.target.elementFlags[tr],on=Rp(Ie,zr&4?oc(Ye):Ye,!!(zr&12),(ir=rr.target.labeledElementDeclarations)===null||ir===void 0?void 0:ir[tr]);f.push(on)}):f.push(Ie)},ee=s;ee-1)return e.createDiagnosticForNode(t[s],e.Diagnostics.A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter);for(var f=Number.POSITIVE_INFINITY,S=Number.NEGATIVE_INFINITY,ee=Number.NEGATIVE_INFINITY,_e=Number.POSITIVE_INFINITY,Ie,rr=0,Ye=n;rree&&(ee=ir),t.lengtho?_e=Math.min(_e,Ye):S1&&($n=Fi(Ye,mt,ir,ri)),$n||($n=Fi(Ye,_a,ir,ri)),$n)return $n;if($n=cF(r,Ye,tr,!!t,o),Nt(r).resolvedSignature=$n,Ie)if(on)if(on.length===1||on.length>3){var Ei=on[on.length-1],Bi;on.length>3&&(Bi=e.chainDiagnosticMessages(Bi,e.Diagnostics.The_last_overload_gave_the_following_error),Bi=e.chainDiagnosticMessages(Bi,e.Diagnostics.No_overload_matches_this_call));var gt=Xy(r,tr,Ei,_a,0,!0,function(){return Bi});if(gt)for(var nt=0,ba=gt;nt3&&e.addRelatedInfo(xt,e.createDiagnosticForNode(Ei.declaration,e.Diagnostics.The_last_overload_is_declared_here)),yr(Ei,xt),de.add(xt)}else e.Debug.fail("No error for last overload signature")}else{for(var Sa=[],Ta=0,Oa=Number.MAX_VALUE,Eo=0,To=0,fo=function(li){var rt=function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.Overload_0_of_1_2_gave_the_following_error,To+1,Ye.length,ou(li))},ki=Xy(r,tr,li,_a,0,!0,rt);ki?(ki.length<=Oa&&(Oa=ki.length,Eo=To),Ta=Math.max(Ta,ki.length),Sa.push(ki)):e.Debug.fail("No error for 3 or fewer overload signatures"),To++},ca=0,si=on;ca1?Sa[Eo]:e.flatten(Sa);e.Debug.assert(lt.length>0,"No errors reported for 3 or fewer overload signatures");var It=e.chainDiagnosticMessages(e.map(lt,e.createDiagnosticMessageChainFromDiagnostic),e.Diagnostics.No_overload_matches_this_call),ra=Hn([],e.flatMap(lt,function(li){return li.relatedInformation}),!0),Zi=void 0;if(e.every(lt,function(li){return li.start===lt[0].start&&li.length===lt[0].length&&li.file===lt[0].file})){var Aa=lt[0],oa=Aa.file,La=Aa.start,Ra=Aa.length;Zi={file:oa,start:La,length:Ra,code:It.code,category:It.category,messageText:It,relatedInformation:ra}}else Zi=e.createDiagnosticForNodeFromMessageChain(r,It,ra);yr(on[0],Zi),de.add(Zi)}else if(In)de.add(E6(r,[In],tr));else if(Sn)$S(Sn,r.typeArguments,!0,f);else{var an=e.filter(n,function(li){return HS(li,rr)});an.length===0?de.add(sF(r,n,rr)):ee?f&&de.add(Yy(r,f)):de.add(E6(r,an,tr))}return $n;function yr(li,rt){var ki,Mi,ht=on,Qr=In,jn=Sn,Yn=((Mi=(ki=li.declaration)===null||ki===void 0?void 0:ki.symbol)===null||Mi===void 0?void 0:Mi.declarations)||e.emptyArray,Di=Yn.length>1,bi=Di?e.find(Yn,function(qt){return e.isFunctionLikeDeclaration(qt)&&e.nodeIsPresent(qt.body)}):void 0;if(bi){var Qi=Zu(bi),Ct=!Qi.typeParameters;Fi([Qi],_a,Ct)&&e.addRelatedInfo(rt,e.createDiagnosticForNode(bi,e.Diagnostics.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible))}on=ht,In=Qr,Sn=jn}function Fi(li,rt,ki,Mi){if(Mi===void 0&&(Mi=!1),on=void 0,In=void 0,Sn=void 0,ki){var ht=li[0];if(e.some(rr)||!a2(r,tr,ht,Mi))return;if(Xy(r,tr,ht,rt,0,!1,void 0)){on=[ht];return}return ht}for(var Qr=0;Qr0),Pv(r),o||n.length===1||n.some(function(f){return!!f.typeParameters})?fF(r,n,t,s):uF(n)}function uF(r){var n=e.mapDefined(r,function(tr){return tr.thisParameter}),t;n.length&&(t=T6(n,n.map(Eh)));for(var o=e.minAndMax(r,lF),s=o.min,f=o.max,S=[],ee=function(tr){var ir=e.mapDefined(r,function(zr){return se(zr)?trn.length;)o.pop();for(;o.length=n)return s;S>o&&(o=S,t=s)}return t}function gF(r,n,t){if(r.expression.kind===106){var o=yS(r.expression);if(Ja(o)){for(var s=0,f=r.arguments;s=0&&Xr(r.arguments[o],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}var s=bv(r.expression);if(s===yn)return Or;if(s=fe(s),ua(s))return tf(r);if(Ja(s))return r.typeArguments&&Xr(r,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),Om(r);var f=da(s,1);if(f.length){if(!hF(r,f[0]))return tf(r);if(A6(f,function(Ie){return!!(Ie.flags&4)}))return Xr(r,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class),tf(r);var S=s.symbol&&e.getClassLikeDeclarationOfSymbol(s.symbol);return S&&e.hasSyntacticModifier(S,256)?(Xr(r,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class),tf(r)):Sv(r,f,n,t,0)}var ee=da(s,0);if(ee.length){var _e=Sv(r,ee,n,t,0);return We||(_e.declaration&&!Il(_e.declaration)&&wo(_e)!==Ir&&Xr(r,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword),Cp(_e)===Ir&&Xr(r,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)),_e}return YS(r.expression,s,1),tf(r)}function A6(r,n){return e.isArray(r)?e.some(r,function(t){return A6(t,n)}):r.compositeKind===1048576?e.some(r.compositeSignatures,n):n(r)}function XS(r,n){var t=su(n);if(!e.length(t))return!1;var o=t[0];if(o.flags&2097152){for(var s=o.types,f=_y(s),S=0,ee=0,_e=o.types;ee<_e.length;ee++){var Ie=_e[ee];if(!f[S]&&e.getObjectFlags(Ie)&3&&(Ie.symbol===r||XS(r,Ie)))return!0;S++}return!1}return o.symbol===r?!0:XS(r,o)}function hF(r,n){if(!n||!n.declaration)return!0;var t=n.declaration,o=e.getSelectedEffectiveModifierFlags(t,24);if(!o||t.kind!==173)return!0;var s=e.getClassLikeDeclarationOfSymbol(t.parent.symbol),f=it(t.parent.symbol);if(!Ix(r,s)){var S=e.getContainingClass(r);if(S&&o&16){var ee=Kg(S);if(XS(t.parent.symbol,ee))return!0}return o&8&&Xr(r,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,Oi(f)),o&16&&Xr(r,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,Oi(f)),!1}return!0}function N6(r,n,t){var o,s=t===0,f=Gg(n),S=f&&da(f,t).length>0;if(n.flags&1048576){for(var ee=n.types,_e=!1,Ie=0,rr=ee;Ie1?Cs(r.arguments[1]):void 0,s=2;s=t-1)return n===t-1?s:oc(ru(s,Kn));for(var f=[],S=[],ee=[],_e=n;_e0&&(s=r.parameters.length-1+ee)}}if(s===void 0){if(!t&&r.flags&32)return 0;s=r.minArgumentCount}if(o)return s;for(var _e=s-1;_e>=0;_e--){var Ie=Dl(r,_e);if(Ys(Ie,m6).flags&131072)break;s=_e}r.resolvedMinArgumentCount=s}return r.resolvedMinArgumentCount}function of(r){if(se(r)){var n=Li(r.parameters[r.parameters.length-1]);return!Xa(n)||n.target.hasRestElement}return!1}function kh(r){if(se(r)){var n=Li(r.parameters[r.parameters.length-1]);if(!Xa(n))return n;if(n.target.hasRestElement)return sh(n,n.target.fixedLength)}}function Ah(r){var n=kh(r);return n&&!Uu(n)&&!Ja(n)&&!(ut(n).flags&131072)?n:void 0}function rx(r){return nx(r,Re)}function nx(r,n){return r.parameters.length>0?Dl(r,0):n}function BF(r,n,t){for(var o=r.parameters.length-(se(r)?1:0),s=0;s0&&(f=Ft(Ie,2)):_e=Re;var rr=zF(r,n),Ye=rr.yieldTypes,tr=rr.nextTypes;S=e.some(Ye)?Ft(Ye,2):void 0,ee=e.some(tr)?ro(tr):void 0}else{var ir=$6(r,n);if(!ir)return t&2?n0(r,Re):Re;if(ir.length===0)return t&2?n0(r,Ir):Ir;f=Ft(ir,2)}if(f||S||ee){if(S&&F1(r,S,3),f&&F1(r,f,1),ee&&F1(r,ee,2),f&&yl(f)||S&&yl(S)||ee&&yl(ee)){var zr=kS(r),on=zr?zr===Zu(r)?s?void 0:f:G1(wo(zr),r,void 0):void 0;s?(S=Vb(S,on,0,o),f=Vb(f,on,1,o),ee=Vb(ee,on,2,o)):f=g5(f,on,o)}S&&(S=uu(S)),f&&(f=uu(f)),ee&&(ee=uu(ee))}return s?V6(S||Re,f||_e,ee||Mk(2,r)||pr,o):o?r0(f||_e):f||_e}function V6(r,n,t,o){var s=o?An:wn,f=s.getGlobalGeneratorType(!1);if(r=s.resolveIterationType(r,void 0)||pr,n=s.resolveIterationType(n,void 0)||pr,t=s.resolveIterationType(t,void 0)||pr,f===ka){var S=s.getGlobalIterableIteratorType(!1),ee=S!==ka?LA(S,s):void 0,_e=ee?ee.returnType:Ne,Ie=ee?ee.nextType:Vr;return to(n,_e)&&to(Ie,t)?S!==ka?oh(S,[r]):(s.getGlobalIterableIteratorType(!0),Yi):(s.getGlobalGeneratorType(!0),Yi)}return oh(f,[r,n,t])}function zF(r,n){var t=[],o=[],s=(e.getFunctionFlags(r)&2)!==0;return e.forEachYieldExpression(r.body,function(f){var S=f.expression?ya(f.expression,n):fn;e.pushIfUnique(t,q6(f,S,Ne,s));var ee;if(f.asteriskToken){var _e=b2(S,s?19:17,f.expression);ee=_e&&_e.nextType}else ee=nu(f,void 0);ee&&e.pushIfUnique(o,ee)}),{yieldTypes:t,nextTypes:o}}function q6(r,n,t,o){var s=r.expression||r,f=r.asteriskToken?td(o?19:17,n,t,s):n;return o?Gg(f,s,r.asteriskToken?e.Diagnostics.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:e.Diagnostics.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):f}function H6(r,n,t){for(var o=0,s=0;s=n?t[s]:void 0;o|=f!==void 0?Y.get(f)||32768:0}return o}function G6(r){var n=Nt(r);if(n.isExhaustive===void 0){n.isExhaustive=0;var t=WF(r);n.isExhaustive===0&&(n.isExhaustive=t)}else n.isExhaustive===0&&(n.isExhaustive=!1);return n.isExhaustive}function WF(r){if(r.expression.kind===218){var n=vk(r);if(!n)return!1;var t=Y_(Cs(r.expression.expression)),o=H6(0,0,n);return t.flags&3?(556800&o)===556800:!Xf(t,function(S){return(pc(S)&o)===o})}var s=Cs(r.expression);if(!Tm(s))return!1;var f=B1(r);return!f.length||e.some(f,_5)?!1:c7(es(s,Wc),f)}function K6(r){return r.endFlowNode&&zy(r.endFlowNode)}function $6(r,n){var t=e.getFunctionFlags(r),o=[],s=K6(r),f=!1;if(e.forEachReturnStatement(r.body,function(S){var ee=S.expression;if(ee){var _e=Cs(ee,n&&n&-9);t&2&&(_e=Tv(Fh(_e,!1,r,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member))),_e.flags&131072&&(f=!0),e.pushIfUnique(o,_e)}else s=!0}),!(o.length===0&&!s&&(f||VF(r))))return Je&&o.length&&s&&!(Il(r)&&o.some(function(S){return S.symbol===r.symbol}))&&e.pushIfUnique(o,Vr),o}function VF(r){switch(r.kind){case 215:case 216:return!0;case 171:return r.parent.kind===207;default:return!1}}function ix(r,n){oe(t);return;function t(){var o=e.getFunctionFlags(r),s=n&&S2(n,o);if(!(s&&ss(s,16385))&&!(r.kind===170||e.nodeIsMissing(r.body)||r.body.kind!==238||!K6(r))){var f=r.flags&512,S=e.getEffectiveReturnTypeNode(r)||r;if(s&&s.flags&131072)Xr(S,e.Diagnostics.A_function_returning_never_cannot_have_a_reachable_end_point);else if(s&&!f)Xr(S,e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value);else if(s&&Je&&!to(Vr,s))Xr(S,e.Diagnostics.Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined);else if(ue.noImplicitReturns){if(!s){if(!f)return;var ee=wo(Zu(r));if(WA(r,ee))return}Xr(S,e.Diagnostics.Not_all_code_paths_return_a_value)}}}}function Q6(r,n){if(e.Debug.assert(r.kind!==171||e.isObjectLiteralMethod(r)),Pv(r),e.isFunctionExpression(r)&&Av(r,r.name),n&&n&4&&rl(r)){if(!e.getEffectiveReturnTypeNode(r)&&!e.hasContextSensitiveParameters(r)){var t=xh(r);if(t&&gg(wo(t))){var o=Nt(r);if(o.contextFreeType)return o.contextFreeType;var s=f2(r,n),f=$l(void 0,void 0,void 0,e.emptyArray,s,void 0,0,0),S=ts(r.symbol,Le,[f],e.emptyArray,e.emptyArray);return S.objectFlags|=262144,o.contextFreeType=S}}return So}var ee=w2(r);return!ee&&r.kind===215&&Jx(r),qF(r,n),Li(Wi(r))}function qF(r,n){var t=Nt(r);if(!(t.flags&1024)){var o=xh(r);if(!(t.flags&1024)){t.flags|=1024;var s=e.firstOrUndefined(da(Li(Wi(r)),0));if(!s)return;if(rl(r))if(o){var f=Im(r),S=void 0;if(n&&n&2){BF(s,o,f);var ee=kh(o);ee&&ee.flags&262144&&(S=Cm(o,f.nonFixingMapper))}S||(S=f?Cm(o,f.mapper):o),JF(s,S)}else jF(s);if(o&&!hm(r)&&!s.resolvedReturnType){var _e=f2(r,n);s.resolvedReturnType||(s.resolvedReturnType=_e)}Ph(r)}}}function HF(r){e.Debug.assert(r.kind!==171||e.isObjectLiteralMethod(r));var n=e.getFunctionFlags(r),t=hm(r);if(ix(r,t),r.body)if(e.getEffectiveReturnTypeNode(r)||wo(Zu(r)),r.body.kind===238)eo(r.body);else{var o=ya(r.body),s=t&&S2(t,n);if(s)if((n&3)===2){var f=Fh(o,!1,r.body,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);nd(f,s,r.body,r.body)}else nd(o,s,r.body,r.body)}}function _2(r,n,t,o){if(o===void 0&&(o=!1),!to(n,Qn)){var s=o&&wh(n);return _f(r,!!s&&to(s,Qn),t),!1}return!0}function GF(r){if(!e.isCallExpression(r)||!e.isBindableObjectDefinePropertyCall(r))return!1;var n=Cs(r.arguments[2]),t=Pa(n,"value");if(t){var o=Yt(n,"writable"),s=o&&Li(o);if(!s||s===ai||s===Ki)return!0;if(o&&o.valueDeclaration&&e.isPropertyAssignment(o.valueDeclaration)){var f=o.valueDeclaration.initializer,S=ya(f);if(S===ai||S===Ki)return!0}return!1}var ee=Yt(n,"set");return!ee}function bl(r){return!!(e.getCheckFlags(r)&8||r.flags&4&&e.getDeclarationModifierFlagsFromSymbol(r)&64||r.flags&3&&Y1(r)&2||r.flags&98304&&!(r.flags&65536)||r.flags&8||e.some(r.declarations,GF))}function X6(r,n,t){var o,s;if(t===0)return!1;if(bl(n)){if(n.flags&4&&e.isAccessExpression(r)&&r.expression.kind===108){var f=e.getContainingFunction(r);if(!(f&&(f.kind===173||Il(f))))return!0;if(n.valueDeclaration){var S=e.isBinaryExpression(n.valueDeclaration),ee=f.parent===n.valueDeclaration.parent,_e=f===n.valueDeclaration.parent,Ie=S&&((o=n.parent)===null||o===void 0?void 0:o.valueDeclaration)===f.parent,rr=S&&((s=n.parent)===null||s===void 0?void 0:s.valueDeclaration)===f,Ye=ee||_e||Ie||rr;return!Ye}}return!0}if(e.isAccessExpression(r)){var tr=e.skipParentheses(r.expression);if(tr.kind===79){var ir=Nt(tr).resolvedSymbol;if(ir.flags&2097152){var zr=Vu(ir);return!!zr&&zr.kind===271}}}return!1}function Nh(r,n,t){var o=e.skipOuterExpressions(r,7);return o.kind!==79&&!e.isAccessExpression(o)?(Xr(r,n),!1):o.flags&32?(Xr(r,t),!1):!0}function KF(r){ya(r.expression);var n=e.skipParentheses(r.expression);if(!e.isAccessExpression(n))return Xr(n,e.Diagnostics.The_operand_of_a_delete_operator_must_be_a_property_reference),Pn;e.isPropertyAccessExpression(n)&&e.isPrivateIdentifier(n.name)&&Xr(n,e.Diagnostics.The_operand_of_a_delete_operator_cannot_be_a_private_identifier);var t=Nt(n),o=_l(t.resolvedSymbol);return o&&(bl(o)&&Xr(n,e.Diagnostics.The_operand_of_a_delete_operator_cannot_be_a_read_only_property),$F(n,o)),Pn}function $F(r,n){var t=Li(n);Je&&!(t.flags&131075)&&!(vr?n.flags&16777216:pc(t)&16777216)&&Xr(r,e.Diagnostics.The_operand_of_a_delete_operator_must_be_optional)}function QF(r){return ya(r.expression),Er}function XF(r){return ya(r.expression),fn}function YF(r){var n=e.getContainingFunctionOrClassStaticBlock(r);if(n&&e.isClassStaticBlockDeclaration(n))Xr(r,e.Diagnostics.Await_expression_cannot_be_used_inside_a_class_static_block);else if(!(r.flags&32768))if(e.isInTopLevelContext(r)){var t=e.getSourceFileOfNode(r);if(!Sg(t)){var o=void 0;if(!e.isEffectiveExternalModule(t,ue)){o??(o=e.getSpanOfTokenAtPosition(t,r.pos));var s=e.createFileDiagnostic(t,o.start,o.length,e.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module);de.add(s)}switch(X){case e.ModuleKind.Node16:case e.ModuleKind.NodeNext:if(t.impliedNodeFormat===e.ModuleKind.CommonJS){o??(o=e.getSpanOfTokenAtPosition(t,r.pos)),de.add(e.createFileDiagnostic(t,o.start,o.length,e.Diagnostics.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level));break}case e.ModuleKind.ES2022:case e.ModuleKind.ESNext:case e.ModuleKind.System:if(y>=4)break;default:o??(o=e.getSpanOfTokenAtPosition(t,r.pos)),de.add(e.createFileDiagnostic(t,o.start,o.length,e.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher));break}}}else{var t=e.getSourceFileOfNode(r);if(!Sg(t)){var o=e.getSpanOfTokenAtPosition(t,r.pos),s=e.createFileDiagnostic(t,o.start,o.length,e.Diagnostics.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules);if(n&&n.kind!==173&&!(e.getFunctionFlags(n)&2)){var f=e.createDiagnosticForNode(n,e.Diagnostics.Did_you_mean_to_mark_this_function_as_async);e.addRelatedInfo(s,f)}de.add(s)}}bS(r)&&Xr(r,e.Diagnostics.await_expressions_cannot_be_used_in_a_parameter_initializer)}function ZF(r){oe(function(){return YF(r)});var n=ya(r.expression),t=Fh(n,!0,r,e.Diagnostics.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);return t===n&&!ua(t)&&!(n.flags&3)&&ff(!1,e.createDiagnosticForNode(r,e.Diagnostics.await_has_no_effect_on_the_type_of_this_expression)),t}function eM(r){var n=ya(r.operand);if(n===yn)return yn;switch(r.operand.kind){case 8:switch(r.operator){case 40:return xm(rf(-r.operand.text));case 39:return xm(rf(+r.operand.text))}break;case 9:if(r.operator===40)return xm(d1({negative:!0,base10Value:e.parsePseudoBigInt(r.operand.text)}))}switch(r.operator){case 39:case 40:case 54:return Pl(n,r.operand),i0(n,12288)&&Xr(r.operand,e.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol,e.tokenToString(r.operator)),r.operator===39?(i0(n,2112)&&Xr(r.operand,e.Diagnostics.Operator_0_cannot_be_applied_to_type_1,e.tokenToString(r.operator),Oi(nf(n))),Kn):tx(n);case 53:Rm(r.operand);var t=pc(n)&12582912;return t===4194304?ai:t===8388608?Ni:Pn;case 45:case 46:var o=_2(r.operand,Pl(n,r.operand),e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type);return o&&Nh(r.operand,e.Diagnostics.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,e.Diagnostics.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access),tx(n)}return pe}function rM(r){var n=ya(r.operand);if(n===yn)return yn;var t=_2(r.operand,Pl(n,r.operand),e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type);return t&&Nh(r.operand,e.Diagnostics.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,e.Diagnostics.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access),tx(n)}function tx(r){return ss(r,2112)?Us(r,3)||ss(r,296)?Qn:Ai:Kn}function i0(r,n){if(ss(r,n))return!0;var t=Y_(r);return!!t&&ss(t,n)}function ss(r,n){if(r.flags&n)return!0;if(r.flags&3145728)for(var t=r.types,o=0,s=t;o1&&n.charCodeAt(t-1)>=48&&n.charCodeAt(t-1)<=57;)t--;for(var o=n.slice(0,t),s=1;;s++){var f=o+s;if(!ux(r,f))return f}}function sA(r){var n=Hg(r);if(n&&!n.typeParameters)return wo(n)}function xM(r){var n=ya(r.expression),t=mh(n,r.expression),o=sA(n);return o&&P1(o,r,t!==n)}function Zs(r){var n=cA(r);if(n)return n;if(r.flags&134217728&&tu){var t=tu[q(r)];if(t)return t}var o=$s,s=ya(r);if($s!==o){var f=tu||(tu=[]);f[q(r)]=s,e.setNodeFlags(r,r.flags|134217728)}return s}function cA(r){var n=e.skipParentheses(r,!0);if(e.isJSDocTypeAssertion(n)){var t=e.getJSDocTypeAssertionType(n);if(!e.isConstTypeReference(t))return Wt(t)}if(n=e.skipParentheses(r),e.isCallExpression(n)&&n.expression.kind!==106&&!e.isRequireCall(n,!0)&&!I6(n)){var t=e.isCallChain(n)?xM(n):sA(bv(n.expression));if(t)return t}else{if(e.isAssertionExpression(n)&&!e.isConstTypeReference(n.type))return Wt(n.type);if(r.kind===8||r.kind===10||r.kind===110||r.kind===95)return ya(r)}}function s0(r){var n=Nt(r);if(n.contextFreeType)return n.contextFreeType;var t=r.contextualType;r.contextualType=Ne;try{var o=n.contextFreeType=ya(r,4);return o}finally{r.contextualType=t}}function ya(r,n,t){e.tracing===null||e.tracing===void 0||e.tracing.push("check","checkExpression",{kind:r.kind,pos:r.pos,end:r.end,path:r.tracingPath});var o=ze;ze=r,xe=0;var s=TM(r,n,t),f=aA(r,s,n);return ax(f)&&CM(r,f),ze=o,e.tracing===null||e.tracing===void 0||e.tracing.pop(),f}function CM(r,n){var t=r.parent.kind===208&&r.parent.expression===r||r.parent.kind===209&&r.parent.expression===r||(r.kind===79||r.kind===163)&&k2(r)||r.parent.kind===183&&r.parent.exprName===r||r.parent.kind===278;if(t||Xr(r,e.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query),ue.isolatedModules){e.Debug.assert(!!(n.symbol.flags&128));var o=n.symbol.valueDeclaration;o.flags&16777216&&Xr(r,e.Diagnostics.Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided)}}function EM(r,n){if(e.hasJSDocNodes(r)&&e.isJSDocTypeAssertion(r)){var t=e.getJSDocTypeAssertionType(r);return R6(t,t,r.expression,n)}return ya(r.expression,n)}function TM(r,n,t){var o=r.kind;if(W)switch(o){case 228:case 215:case 216:W.throwIfCancellationRequested()}switch(o){case 79:return T7(r,n);case 80:return RO(r);case 108:return Vy(r);case 106:return yS(r);case 104:return qn;case 14:case 10:return xm(ju(r.text));case 8:return Wx(r),xm(rf(+r.text));case 9:return xB(r),xm(d1({negative:!1,base10Value:e.parsePseudoBigInt(r.text)}));case 110:return Ni;case 95:return ai;case 225:return pM(r);case 13:return hs;case 206:return Uk(r,n,t);case 207:return vO(r,n);case 208:return n6(r,n);case 163:return i6(r,n);case 209:return ZO(r,n);case 210:if(r.expression.kind===100)return AF(r);case 211:return kF(r,n);case 212:return NF(r);case 214:return EM(r,n);case 228:return uL(r);case 215:case 216:return Q6(r,n);case 218:return QF(r);case 213:case 231:return PF(r);case 232:return wF(r);case 230:return B6(r);case 235:return OF(r);case 233:return FF(r);case 217:return KF(r);case 219:return XF(r);case 220:return ZF(r);case 221:return eM(r);case 222:return rM(r);case 223:return kr(r,n);case 224:return dM(r,n);case 227:return _O(r,n);case 229:return fn;case 226:return _M(r);case 234:return dO(r);case 291:return PO(r,n);case 281:return bO(r,n);case 282:return yO(r,n);case 285:return SO(r);case 289:return CO(r,n);case 283:e.Debug.fail("Shouldn't ever directly check a JsxOpeningElement")}return pe}function uA(r){b4(r),r.expression&&Hs(r.expression,e.Diagnostics.Type_expected),eo(r.constraint),eo(r.default);var n=kt(Wi(r));_c(n),WD(n)||Xr(r.default,e.Diagnostics.Type_parameter_0_has_a_circular_default,Oi(n));var t=tc(n),o=jd(n);t&&o&&Rc(o,Zc(na(t,Np(n,o)),o),r.default,e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1),Pv(r),oe(function(){return Nv(r.name,e.Diagnostics.Type_parameter_name_cannot_be_0)})}function kM(r){if(e.isInterfaceDeclaration(r.parent)||e.isClassLike(r.parent)||e.isTypeAliasDeclaration(r.parent)){var n=kt(Wi(r)),t=Bb(n);if(t){var o=Wi(r.parent);if(e.isTypeAliasDeclaration(r.parent)&&!(e.getObjectFlags(it(o))&48))Xr(r,e.Diagnostics.Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types);else if(t===32768||t===65536){e.tracing===null||e.tracing===void 0||e.tracing.push("checkTypes","checkTypeParameterDeferred",{parent:sc(it(o)),id:sc(n)});var s=Oy(o,n,t===65536?ns:uo),f=Oy(o,n,t===65536?uo:ns),S=n;Ee=n,Rc(s,f,r,e.Diagnostics.Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation),Ee=S,e.tracing===null||e.tracing===void 0||e.tracing.pop()}}}}function lA(r){Yf(r),y2(r);var n=e.getContainingFunction(r);e.hasSyntacticModifier(r,16476)&&(n.kind===173&&e.nodeIsPresent(n.body)||Xr(r,e.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation),n.kind===173&&e.isIdentifier(r.name)&&r.name.escapedText==="constructor"&&Xr(r.name,e.Diagnostics.constructor_cannot_be_used_as_a_parameter_property_name)),(r.questionToken||Lg(r))&&e.isBindingPattern(r.name)&&n.body&&Xr(r,e.Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature),r.name&&e.isIdentifier(r.name)&&(r.name.escapedText==="this"||r.name.escapedText==="new")&&(n.parameters.indexOf(r)!==0&&Xr(r,e.Diagnostics.A_0_parameter_must_be_the_first_parameter,r.name.escapedText),(n.kind===173||n.kind===177||n.kind===182)&&Xr(r,e.Diagnostics.A_constructor_cannot_have_a_this_parameter),n.kind===216&&Xr(r,e.Diagnostics.An_arrow_function_cannot_have_a_this_parameter),(n.kind===174||n.kind===175)&&Xr(r,e.Diagnostics.get_and_set_accessors_cannot_declare_this_parameters)),r.dotDotDotToken&&!e.isBindingPattern(r.name)&&!to(ut(Li(r.symbol)),mc)&&Xr(r,e.Diagnostics.A_rest_parameter_must_be_of_an_array_type)}function AM(r){var n=NM(r);if(!n){Xr(r,e.Diagnostics.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);return}var t=Zu(n),o=el(t);if(o){eo(r.type);var s=r.parameterName;if(o.kind===0||o.kind===2)p1(s);else if(o.parameterIndex>=0){if(se(t)&&o.parameterIndex===t.parameters.length-1)Xr(s,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter);else if(o.type){var f=function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type)};Rc(o.type,Li(t.parameters[o.parameterIndex]),r.type,void 0,f)}}else if(s){for(var S=!1,ee=0,_e=n.parameters;ee<_e.length;ee++){var Ie=_e[ee].name;if(e.isBindingPattern(Ie)&&fA(Ie,s,o.parameterName)){S=!0;break}}S||Xr(r.parameterName,e.Diagnostics.Cannot_find_parameter_0,o.parameterName)}}}function NM(r){switch(r.parent.kind){case 216:case 176:case 259:case 215:case 181:case 171:case 170:var n=r.parent;if(r===n.type)return n}}function fA(r,n,t){for(var o=0,s=r.elements;o0&&n.declarations[0]!==r)return}var t=pE(Wi(r));if(t!=null&&t.declarations){for(var o=new e.Map,s=function(_e){_e.parameters.length===1&&_e.parameters[0].type&&vg(Wt(_e.parameters[0].type),function(Ie){var rr=o.get(sc(Ie));rr?rr.declarations.push(_e):o.set(sc(Ie),{type:Ie,declarations:[_e]})})},f=0,S=t.declarations;f1)for(var Ie=0,rr=_e.declarations;Ie1){var t=Qt(n);if(!t.typeParametersChecked){t.typeParametersChecked=!0;var o=kt(n),s=e.getDeclarationsOfKind(n,165);if(!HA(s,[o],function(Ie){return[Ie]}))for(var f=Xt(n),S=0,ee=s;S0}function px(r){var n;if(r.flags&16777216){var t=ib(!1);return!!t&&r.aliasSymbol===t&&((n=r.aliasTypeArguments)===null||n===void 0?void 0:n.length)===1}return!1}function Tv(r){return r.flags&1048576?es(r,Tv):px(r)?r.aliasTypeArguments[0]:r}function yA(r){if(Ja(r)||px(r))return!1;if(Tp(r)){var n=_c(r);if(n?n.flags&3||$f(n)||Xf(n,hA):ss(r,8650752))return!0}return!1}function i9(r){var n=ib(!0);if(n)return Dm(n,[Tv(r)])}function t9(r){if(yA(r)){var n=i9(r);if(n)return n}return e.Debug.assert(Oh(r)===void 0,"type provided should not be a non-generic 'promise'-like."),r}function Gg(r,n,t,o){var s=A_(r,n,t,o);return s&&t9(s)}function A_(r,n,t,o){if(Ja(r)||px(r))return r;var s=r;if(s.awaitedTypeOfType)return s.awaitedTypeOfType;if(r.flags&1048576){if($o.lastIndexOf(r.id)>=0){n&&Xr(n,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method);return}var f=n?function(Ye){return A_(Ye,n,t,o)}:A_;$o.push(r.id);var S=es(r,f);return $o.pop(),s.awaitedTypeOfType=S}if(yA(r))return s.awaitedTypeOfType=r;var ee={value:void 0},_e=Oh(r,void 0,ee);if(_e){if(r.id===_e.id||$o.lastIndexOf(_e.id)>=0){n&&Xr(n,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method);return}$o.push(r.id);var Ie=A_(_e,n,t,o);return $o.pop(),Ie?s.awaitedTypeOfType=Ie:void 0}if(hA(r)){if(n){e.Debug.assertIsDefined(t);var rr=void 0;ee.value&&(rr=e.chainDiagnosticMessages(rr,e.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1,Oi(r),Oi(ee.value))),rr=e.chainDiagnosticMessages(rr,t,o),de.add(e.createDiagnosticForNodeFromMessageChain(n,rr))}return}return s.awaitedTypeOfType=r}function a9(r,n){var t=Wt(n);if(y>=2){if(ua(t))return;var o=Cy(!0);if(o!==ka&&!Cu(t,o)){Xr(n,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0,Oi(A_(t)||Ir));return}}else{if(s9(n),ua(t))return;var s=e.getEntityNameFromTypeNode(n);if(s===void 0){Xr(n,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,Oi(t));return}var f=ls(s,111551,!0),S=f?Li(f):pe;if(ua(S)){s.kind===79&&s.escapedText==="Promise"&&Vf(t)===Cy(!1)?Xr(n,e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):Xr(n,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(s));return}var ee=l8(!0);if(ee===Yi){Xr(n,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(s));return}if(!Rc(S,ee,n,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value))return;var _e=s&&e.getFirstIdentifier(s),Ie=Gc(r.locals,_e.escapedText,111551);if(Ie){Xr(Ie.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,e.idText(_e),e.entityNameToString(s));return}}Fh(t,!1,r,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}function o9(r){var n=Fm(r);u2(n,r);var t=wo(n);if(!(t.flags&1)){var o,s;switch(r.parent.kind){case 260:o=e.Diagnostics.Decorator_function_return_type_0_is_not_assignable_to_type_1;var f=Wi(r.parent),S=Li(f);s=Ft([S,Ir]);break;case 169:case 166:o=e.Diagnostics.Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any,s=Ir;break;case 171:case 174:case 175:o=e.Diagnostics.Decorator_function_return_type_0_is_not_assignable_to_type_1;var ee=Kg(r.parent),_e=LE(ee);s=Ft([_e,Ir]);break;default:return e.Debug.fail()}Rc(t,s,r,o)}}function s9(r){DA(r&&e.getEntityNameFromTypeNode(r),!1)}function DA(r,n){if(r){var t=e.getFirstIdentifier(r),o=(r.kind===79?788968:1920)|2097152,s=us(t,t.escapedText,o,void 0,void 0,!0);if(s&&s.flags&2097152){if(zl(s)&&!Rh(wi(s))&&!Nc(s))_u(s);else if(n&&ue.isolatedModules&&e.getEmitModuleKind(ue)>=e.ModuleKind.ES2015&&!zl(s)&&!e.some(s.declarations,e.isTypeOnlyImportOrExportDeclaration)){var f=Xr(r,e.Diagnostics.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled),S=e.find(s.declarations||e.emptyArray,gf);S&&e.addRelatedInfo(f,e.createDiagnosticForNode(S,e.Diagnostics._0_was_imported_here,e.idText(t)))}}}}function kv(r){var n=gx(r);n&&e.isEntityName(n)&&DA(n,!0)}function gx(r){if(r)switch(r.kind){case 190:case 189:return bA(r.types);case 191:return bA([r.trueType,r.falseType]);case 193:case 199:return gx(r.type);case 180:return r.typeName}}function bA(r){for(var n,t=0,o=r;t0),t.length>1&&Xr(t[1],e.Diagnostics.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);var o=SA(r.class.expression),s=e.getClassExtendsHeritageElement(n);if(s){var f=SA(s.expression);f&&o.escapedText!==f.escapedText&&Xr(o,e.Diagnostics.JSDoc_0_1_does_not_match_the_extends_2_clause,e.idText(r.tagName),e.idText(o),e.idText(f))}}function h9(r){var n=e.getJSDocHost(r);n&&e.isPrivateIdentifierClassElementDeclaration(n)&&Xr(r,e.Diagnostics.An_accessibility_modifier_cannot_be_used_with_a_private_identifier)}function SA(r){switch(r.kind){case 79:return r;case 208:return r.name;default:return}}function xA(r){var n;u0(r),Ph(r);var t=e.getFunctionFlags(r);if(r.name&&r.name.kind===164&&k_(r.name),lg(r)){var o=Wi(r),s=r.localSymbol||o,f=(n=s.declarations)===null||n===void 0?void 0:n.find(function(Ie){return Ie.kind===r.kind&&!(Ie.flags&262144)});r===f&&m2(s),o.parent&&m2(o)}var S=r.kind===170?void 0:r.body;if(eo(S),ix(r,hm(r)),oe(_e),e.isInJSFile(r)){var ee=e.getJSDocTypeTag(r);ee&&ee.typeExpression&&!TS(Wt(ee.typeExpression),r)&&Xr(ee.typeExpression.type,e.Diagnostics.The_type_of_a_function_declaration_must_match_the_function_s_signature)}function _e(){e.getEffectiveReturnTypeNode(r)||(e.nodeIsMissing(S)&&!c0(r)&&wp(r,Ne),t&1&&e.nodeIsPresent(S)&&wo(Zu(r)))}}function id(r){oe(n);function n(){var t=e.getSourceFileOfNode(r),o=jc.get(t.path);o||(o=[],jc.set(t.path,o)),o.push(r)}}function CA(r,n){for(var t=0,o=r;t=2||!e.hasRestParameter(r)||r.flags&16777216||e.nodeIsMissing(r.body)||e.forEach(r.parameters,function(n){n.name&&!e.isBindingPattern(n.name)&&n.name.escapedText===ye.escapedName&&xl("noEmit",n,e.Diagnostics.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters)})}function Mh(r,n,t){if((n==null?void 0:n.escapedText)!==t||r.kind===169||r.kind===168||r.kind===171||r.kind===170||r.kind===174||r.kind===175||r.kind===299||r.flags&16777216||(e.isImportClause(r)||e.isImportEqualsDeclaration(r)||e.isImportSpecifier(r))&&e.isTypeOnlyImportOrExportDeclaration(r))return!1;var o=e.getRootDeclaration(r);return!(e.isParameter(o)&&e.nodeIsMissing(o.parent.body))}function E9(r){e.findAncestor(r,function(n){if(Jm(n)&4){var t=r.kind!==79;return t?Xr(e.getNameOfDeclaration(r),e.Diagnostics.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference):Xr(r,e.Diagnostics.Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference),!0}return!1})}function T9(r){e.findAncestor(r,function(n){if(Jm(n)&8){var t=r.kind!==79;return t?Xr(e.getNameOfDeclaration(r),e.Diagnostics.Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference):Xr(r,e.Diagnostics.Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference),!0}return!1})}function k9(r,n){if(!(X>=e.ModuleKind.ES2015&&!(X>=e.ModuleKind.Node16&&e.getSourceFileOfNode(r).impliedNodeFormat===e.ModuleKind.CommonJS))&&!(!n||!Mh(r,n,"require")&&!Mh(r,n,"exports"))&&!(e.isModuleDeclaration(r)&&e.getModuleInstanceState(r)!==1)){var t=Va(r);t.kind===308&&e.isExternalOrCommonJsModule(t)&&xl("noEmit",n,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(n),e.declarationNameToString(n))}}function A9(r,n){if(!(!n||y>=4||!Mh(r,n,"Promise"))&&!(e.isModuleDeclaration(r)&&e.getModuleInstanceState(r)!==1)){var t=Va(r);t.kind===308&&e.isExternalOrCommonJsModule(t)&&t.flags&2048&&xl("noEmit",n,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(n),e.declarationNameToString(n))}}function N9(r,n){y<=8&&(Mh(r,n,"WeakMap")||Mh(r,n,"WeakSet"))&&Os.push(r)}function P9(r){var n=e.getEnclosingBlockScopeContainer(r);Jm(n)&67108864&&(e.Debug.assert(e.isNamedDeclaration(r)&&e.isIdentifier(r.name)&&typeof r.name.escapedText=="string","The target of a WeakMap/WeakSet collision check should be an identifier"),xl("noEmit",r,e.Diagnostics.Compiler_reserves_name_0_when_emitting_private_identifier_downlevel,r.name.escapedText))}function I9(r,n){n&&y>=2&&y<=8&&Mh(r,n,"Reflect")&&Vo.push(r)}function w9(r){var n=!1;if(e.isClassExpression(r))for(var t=0,o=r.members;t1&&e.some(ir.declarations,function($n){return $n!==r&&e.isVariableLike($n)&&!PA($n,r)})&&Xr(r.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(r.name))}else{var Sn=Lh(Rt(r));!ua(zr)&&!ua(Sn)&&!Kf(zr,Sn)&&!(ir.flags&67108864)&&NA(ir.valueDeclaration,zr,r,Sn),e.hasOnlyExpressionInitializer(r)&&r.initializer&&nd(Cs(r.initializer),Sn,r,r.initializer,void 0),ir.valueDeclaration&&!PA(r,ir.valueDeclaration)&&Xr(r.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(r.name))}r.kind!==169&&r.kind!==168&&(Ih(r),(r.kind===257||r.kind===205)&&O9(r),Av(r,r.name))}}function NA(r,n,t,o){var s=e.getNameOfDeclaration(t),f=t.kind===169||t.kind===168?e.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:e.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2,S=e.declarationNameToString(s),ee=Xr(s,f,S,Oi(n),Oi(o));r&&e.addRelatedInfo(ee,e.createDiagnosticForNode(r,e.Diagnostics._0_was_also_declared_here,S))}function PA(r,n){if(r.kind===166&&n.kind===257||r.kind===257&&n.kind===166)return!0;if(e.hasQuestionToken(r)!==e.hasQuestionToken(n))return!1;var t=888;return e.getSelectedEffectiveModifierFlags(r,t)===e.getSelectedEffectiveModifierFlags(n,t)}function hx(r){e.tracing===null||e.tracing===void 0||e.tracing.push("check","checkVariableDeclaration",{kind:r.kind,pos:r.pos,end:r.end,path:r.tracingPath}),_B(r),y2(r),e.tracing===null||e.tracing===void 0||e.tracing.pop()}function F9(r){return uB(r),y2(r)}function M9(r){!Yf(r)&&!zx(r.declarationList)&&dB(r),e.forEach(r.declarationList.declarations,eo)}function L9(r){Zf(r),ya(r.expression)}function R9(r){Zf(r);var n=Rm(r.expression);yx(r.expression,n,r.thenStatement),eo(r.thenStatement),r.thenStatement.kind===239&&Xr(r.thenStatement,e.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement),eo(r.elseStatement)}function yx(r,n,t){if(!Je)return;for(o(r,t);e.isBinaryExpression(r)&&r.operatorToken.kind===56;)r=r.left,o(r,t);function o(s,f){var S=e.isBinaryExpression(s)&&(s.operatorToken.kind===56||s.operatorToken.kind===55)?s.right:s;if(!e.isModuleExportsAccessExpression(S)){var ee=S===s?n:Rm(S),_e=e.isPropertyAccessExpression(S)&&nA(S.expression);if(!(!(pc(ee)&4194304)||_e)){var Ie=da(ee,0),rr=!!wh(ee);if(!(Ie.length===0&&!rr)){var Ye=e.isIdentifier(S)?S:e.isPropertyAccessExpression(S)?S.name:e.isBinaryExpression(S)&&e.isIdentifier(S.right)?S.right:void 0,tr=Ye&&il(Ye);if(!(!tr&&!rr)){var ir=tr&&e.isBinaryExpression(s.parent)&&J9(s.parent,tr)||tr&&f&&B9(s,f,Ye,tr);ir||(rr?_f(S,!0,e.Diagnostics.This_condition_will_always_return_true_since_this_0_is_always_defined,Id(ee)):Xr(S,e.Diagnostics.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead))}}}}}}function B9(r,n,t,o){return!!e.forEachChild(n,function s(f){if(e.isIdentifier(f)){var S=il(f);if(S&&S===o){if(e.isIdentifier(r)||e.isIdentifier(t)&&e.isBinaryExpression(t.parent))return!0;for(var ee=t.parent,_e=f.parent;ee&&_e;){if(e.isIdentifier(ee)&&e.isIdentifier(_e)||ee.kind===108&&_e.kind===108)return il(ee)===il(_e);if(e.isPropertyAccessExpression(ee)&&e.isPropertyAccessExpression(_e)){if(il(ee.name)!==il(_e.name))return!1;_e=_e.expression,ee=ee.expression}else if(e.isCallExpression(ee)&&e.isCallExpression(_e))_e=_e.expression,ee=ee.expression;else return!1}}}return e.forEachChild(f,s)})}function J9(r,n){for(;e.isBinaryExpression(r)&&r.operatorToken.kind===55;){var t=e.forEachChild(r.right,function o(s){if(e.isIdentifier(s)){var f=il(s);if(f&&f===n)return!0}return e.forEachChild(s,o)});if(t)return!0;r=r.parent}return!1}function j9(r){Zf(r),eo(r.statement),Rm(r.expression)}function U9(r){Zf(r),Rm(r.expression),eo(r.statement)}function IA(r,n){return r.flags&16384&&Xr(n,e.Diagnostics.An_expression_of_type_void_cannot_be_tested_for_truthiness),r}function Rm(r,n){return IA(ya(r,n),r)}function z9(r){Zf(r)||r.initializer&&r.initializer.kind===258&&zx(r.initializer),r.initializer&&(r.initializer.kind===258?e.forEach(r.initializer.declarations,hx):ya(r.initializer)),r.condition&&Rm(r.condition),r.incrementor&&ya(r.incrementor),eo(r.statement),r.locals&&id(r)}function W9(r){T4(r);var n=e.getContainingFunctionOrClassStaticBlock(r);if(r.awaitModifier)if(n&&e.isClassStaticBlockDeclaration(n))vi(r.awaitModifier,e.Diagnostics.For_await_loops_cannot_be_used_inside_a_class_static_block);else{var t=e.getFunctionFlags(n);(t&6)===2&&y<99&&gc(r,16384)}else ue.downlevelIteration&&y<2&&gc(r,256);if(r.initializer.kind===258)wA(r);else{var o=r.initializer,s=d0(r);if(o.kind===206||o.kind===207)bg(o,s||pe);else{var f=ya(o);Nh(o,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access),s&&nd(s,f,o,r.expression)}}eo(r.statement),r.locals&&id(r)}function V9(r){T4(r);var n=RS(ya(r.expression));if(r.initializer.kind===258){var t=r.initializer.declarations[0];t&&e.isBindingPattern(t.name)&&Xr(t.name,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern),wA(r)}else{var o=r.initializer,s=ya(o);o.kind===206||o.kind===207?Xr(o,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern):to(Q8(n),s)?Nh(o,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access):Xr(o,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any)}(n===Re||!Us(n,126091264))&&Xr(r.expression,e.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0,Oi(n)),eo(r.statement),r.locals&&id(r)}function wA(r){var n=r.initializer;if(n.declarations.length>=1){var t=n.declarations[0];hx(t)}}function d0(r){var n=r.awaitModifier?15:13;return td(n,bv(r.expression),Vr,r.expression)}function td(r,n,t,o){return Ja(n)?n:Dx(r,n,t,o,!0)||Ne}function Dx(r,n,t,o,s){var f=(r&2)!==0;if(n===Re){Cx(o,n,f);return}var S=y>=2,ee=!S&&ue.downlevelIteration,_e=ue.noUncheckedIndexedAccess&&!!(r&128);if(S||ee||f){var Ie=b2(n,r,S?o:void 0);if(s&&Ie){var rr=r&8?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:r&32?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:r&64?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:r&16?e.Diagnostics.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:void 0;rr&&Rc(t,Ie.nextType,o,rr)}if(Ie||S)return _e?Dh(Ie&&Ie.yieldType):Ie&&Ie.yieldType}var Ye=n,tr=!1,ir=!1;if(r&4){if(Ye.flags&1048576){var zr=n.types,on=e.filter(zr,function(gt){return!(gt.flags&402653316)});on!==zr&&(Ye=Ft(on,2))}else Ye.flags&402653316&&(Ye=Re);if(ir=Ye!==n,ir&&(y<1&&o&&(Xr(o,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),tr=!0),Ye.flags&131072))return _e?Dh(hn):hn}if(!Xd(Ye)){if(o&&!tr){var In=!!(r&4)&&!ir,Sn=Bi(In,ee),$n=Sn[0],ri=Sn[1];_f(o,ri&&!!wh(Ye),$n,Oi(Ye))}return ir?_e?Dh(hn):hn:void 0}var Ei=vl(Ye,Kn);if(ir&&Ei)return Ei.flags&402653316&&!ue.noUncheckedIndexedAccess?hn:Ft(_e?[Ei,hn,Vr]:[Ei,hn],2);return r&128?Dh(Ei):Ei;function Bi(gt,nt){var ba;if(nt)return gt?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:[e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0];var xt=OA(r,0,n,void 0);return xt?[e.Diagnostics.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher,!1]:q9((ba=n.symbol)===null||ba===void 0?void 0:ba.escapedName)?[e.Diagnostics.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher,!0]:gt?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type,!0]:[e.Diagnostics.Type_0_is_not_an_array_type,!0]}}function q9(r){switch(r){case"Float32Array":case"Float64Array":case"Int16Array":case"Int32Array":case"Int8Array":case"NodeList":case"Uint16Array":case"Uint32Array":case"Uint8Array":case"Uint8ClampedArray":return!0}return!1}function OA(r,n,t,o){if(!Ja(t)){var s=b2(t,r,o);return s&&s[ne(n)]}}function N_(r,n,t){if(r===void 0&&(r=Re),n===void 0&&(n=Re),t===void 0&&(t=pr),r.flags&67359327&&n.flags&180227&&t.flags&180227){var o=Ju([r,n,t]),s=bt.get(o);return s||(s={yieldType:r,returnType:n,nextType:t},bt.set(o,s)),s}return{yieldType:r,returnType:n,nextType:t}}function FA(r){for(var n,t,o,s=0,f=r;s1)for(var tr=0,ir=o;tr=1&&r.escapedText==="Object"&&(Xo)return!1;for(var rr=0;rr=o&&ee.pos<=s){var _e=e.factory.createPropertyAccessExpression(e.factory.createThis(),r);e.setParent(_e.expression,_e),e.setParent(_e,ee),_e.flowNode=ee.returnFlowNode;var Ie=Yd(_e,n,E_(n));if(!pv(Ie))return!0}}return!1}function ZA(r,n,t){var o=e.isComputedPropertyName(r)?e.factory.createElementAccessExpression(e.factory.createThis(),r.expression):e.factory.createPropertyAccessExpression(e.factory.createThis(),r);e.setParent(o.expression,o),e.setParent(o,t),o.flowNode=t.returnFlowNode;var s=Yd(o,n,E_(n));return!pv(s)}function bL(r){Yf(r)||eB(r),p0(r.typeParameters),oe(function(){Nv(r.name,e.Diagnostics.Interface_name_cannot_be_0),Ih(r);var n=Wi(r);qA(n);var t=e.getDeclarationOfKind(n,261);if(r===t){var o=it(n),s=Zc(o);if(hL(o,r.name)){for(var f=0,S=su(o);f>Ye;case 49:return rr>>>Ye;case 47:return rr<1){var o=e.isEnumConst(r);e.forEach(n.declarations,function(f){e.isEnumDeclaration(f)&&e.isEnumConst(f)!==o&&Xr(e.getNameOfDeclaration(f),e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)})}var s=!1;e.forEach(n.declarations,function(f){if(f.kind!==263)return!1;var S=f;if(!S.members.length)return!1;var ee=S.members[0];ee.initializer||(s?Xr(ee.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):s=!0)})}}function kL(r){e.isPrivateIdentifier(r.name)&&Xr(r,e.Diagnostics.An_enum_member_cannot_be_named_with_a_private_identifier)}function AL(r){var n=r.declarations;if(n)for(var t=0,o=n;t1&&F(r,e.shouldPreserveConstEnums(ue))){var ee=AL(S);ee&&(e.getSourceFileOfNode(r)!==e.getSourceFileOfNode(ee)?Xr(r.name,e.Diagnostics.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged):r.pos=e.ModuleKind.ES2015&&e.getSourceFileOfNode(r).impliedNodeFormat===void 0&&!r.isTypeOnly&&!(r.flags&16777216)&&vi(r,e.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}function FL(r){if(!g0(r,e.isInJSFile(r)?e.Diagnostics.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:e.Diagnostics.An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)){if(!Yf(r)&&e.hasSyntacticModifiers(r)&&Hs(r,e.Diagnostics.An_export_declaration_cannot_have_modifiers),r.moduleSpecifier&&r.exportClause&&e.isNamedExports(r.exportClause)&&e.length(r.exportClause.elements)&&y===0&&gc(r,4194304),ML(r),!r.moduleSpecifier||Ax(r))if(r.exportClause&&!e.isNamespaceExport(r.exportClause)){e.forEach(r.exportClause.elements,UL);var n=r.parent.kind===265&&e.isAmbientModule(r.parent.parent),t=!n&&r.parent.kind===265&&!r.moduleSpecifier&&r.flags&16777216;r.parent.kind!==308&&!n&&!t&&Xr(r,e.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace)}else{var o=Bs(r,r.moduleSpecifier);o&&bf(o)?Xr(r.moduleSpecifier,e.Diagnostics.Module_0_uses_export_and_cannot_be_used_with_export_Asterisk,Xt(o)):r.exportClause&&C2(r.exportClause),X!==e.ModuleKind.System&&(X=e.ModuleKind.ES2015&&e.getSourceFileOfNode(r).impliedNodeFormat!==e.ModuleKind.CommonJS?vi(r,e.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead):X===e.ModuleKind.System&&vi(r,e.Diagnostics.Export_assignment_is_not_supported_when_module_flag_is_system))}}function WL(r){return e.forEachEntry(r.exports,function(n,t){return t!=="export="})}function t4(r){var n=Wi(r),t=Qt(n);if(!t.exportsChecked){var o=n.exports.get("export=");if(o&&WL(n)){var s=Vu(o)||o.valueDeclaration;s&&!ag(s)&&!e.isInJSFile(s)&&Xr(s,e.Diagnostics.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements)}var f=Js(n);f&&f.forEach(function(S,ee){var _e=S.declarations,Ie=S.flags;if(ee!=="__export"&&!(Ie&1920)){var rr=e.countWhere(_e,e.and(k,e.not(e.isInterfaceDeclaration)));if(!(Ie&524288&&rr<=2)&&rr>1&&!T2(_e))for(var Ye=0,tr=_e;Ye1&&r.every(function(n){return e.isInJSFile(n)&&e.isAccessExpression(n)&&(e.isExportsIdentifier(n.expression)||e.isModuleExportsAccessExpression(n.expression))})}function eo(r){if(r){var n=ze;ze=r,xe=0,VL(r),ze=n}}function VL(r){e.forEach(r.jsDoc,function(t){var o=t.comment,s=t.tags;a4(o),e.forEach(s,function(f){a4(f.comment),e.isInJSFile(r)&&eo(f)})});var n=r.kind;if(W)switch(n){case 264:case 260:case 261:case 259:W.throwIfCancellationRequested()}switch(n>=240&&n<=256&&r.flowNode&&!zy(r.flowNode)&&Pu(ue.allowUnreachableCode===!1,r,e.Diagnostics.Unreachable_code_detected),n){case 165:return uA(r);case 166:return lA(r);case 169:return dA(r);case 168:return wM(r);case 182:case 181:case 176:case 177:case 178:return Ph(r);case 171:case 170:return OM(r);case 172:return FM(r);case 173:return MM(r);case 174:case 175:return gA(r);case 180:return dx(r);case 179:return AM(r);case 183:return jM(r);case 184:return UM(r);case 185:return zM(r);case 186:return WM(r);case 189:case 190:return VM(r);case 193:case 187:case 188:return eo(r.type);case 194:return KM(r);case 195:return $M(r);case 191:return QM(r);case 192:return XM(r);case 200:return YM(r);case 202:return ZM(r);case 199:return e9(r);case 331:return v9(r);case 332:return m9(r);case 348:case 341:case 342:return u9(r);case 347:return l9(r);case 346:return f9(r);case 327:case 328:case 329:return _9(r);case 343:return d9(r);case 350:return p9(r);case 320:g9(r);case 318:case 317:case 315:case 316:case 325:o4(r),e.forEachChild(r,eo);return;case 321:qL(r);return;case 312:return eo(r.type);case 336:case 338:case 337:return h9(r);case 196:return qM(r);case 197:return HM(r);case 259:return c9(r);case 238:case 265:return h2(r);case 240:return M9(r);case 241:return L9(r);case 242:return R9(r);case 243:return j9(r);case 244:return U9(r);case 245:return z9(r);case 246:return V9(r);case 247:return W9(r);case 248:case 249:return Y9(r);case 250:return Z9(r);case 251:return eL(r);case 252:return rL(r);case 253:return nL(r);case 254:return iL(r);case 255:return tL(r);case 257:return hx(r);case 205:return F9(r);case 260:return fL(r);case 261:return bL(r);case 262:return SL(r);case 263:return EL(r);case 264:return PL(r);case 269:return wL(r);case 268:return OL(r);case 275:return FL(r);case 274:return zL(r);case 239:case 256:Zf(r);return;case 279:return RM(r)}}function a4(r){e.isArray(r)&&e.forEach(r,function(n){e.isJSDocLinkLike(n)&&eo(n)})}function o4(r){e.isInJSFile(r)||vi(r,e.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments)}function qL(r){o4(r),eo(r.type);var n=r.parent;if(e.isParameter(n)&&e.isJSDocFunctionType(n.parent)){e.last(n.parent.parameters)!==n&&Xr(r,e.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list);return}e.isJSDocTypeExpression(n)||Xr(r,e.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);var t=r.parent.parent;if(!e.isJSDocParameterTag(t)){Xr(r,e.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);return}var o=e.getParameterSymbolFromJSDoc(t);if(o){var s=e.getHostSignatureFromJSDoc(t);(!s||e.last(s.parameters).symbol!==o)&&Xr(r,e.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list)}}function HL(r){var n=Wt(r.type),t=r.parent,o=r.parent.parent;if(e.isJSDocTypeExpression(r.parent)&&e.isJSDocParameterTag(o)){var s=e.getHostSignatureFromJSDoc(o),f=e.isJSDocCallbackTag(o.parent.parent);if(s||f){var S=f?e.lastOrUndefined(o.parent.parent.typeExpression.parameters):e.lastOrUndefined(s.parameters),ee=e.getParameterSymbolFromJSDoc(o);if(!S||ee&&S.symbol===ee&&e.isRestParameter(S))return oc(n)}}return e.isParameter(t)&&e.isJSDocFunctionType(t.parent)?oc(n):mu(n)}function Pv(r){var n=e.getSourceFileOfNode(r),t=Nt(n);t.flags&1||(t.deferredNodes||(t.deferredNodes=new e.Set),t.deferredNodes.add(r))}function GL(r){var n=Nt(r);n.deferredNodes&&n.deferredNodes.forEach(KL)}function KL(r){e.tracing===null||e.tracing===void 0||e.tracing.push("check","checkDeferredNode",{kind:r.kind,pos:r.pos,end:r.end,path:r.tracingPath});var n=ze;switch(ze=r,xe=0,r.kind){case 210:case 211:case 212:case 167:case 283:Om(r);break;case 215:case 216:case 171:case 170:HF(r);break;case 174:case 175:gA(r);break;case 228:lL(r);break;case 165:kM(r);break;case 282:hO(r);break;case 281:DO(r);break}ze=n,e.tracing===null||e.tracing===void 0||e.tracing.pop()}function $L(r){e.tracing===null||e.tracing===void 0||e.tracing.push("check","checkSourceFile",{path:r.path},!0),e.performance.mark("beforeCheck"),QL(r),e.performance.mark("afterCheck"),e.performance.measure("Check","beforeCheck","afterCheck"),e.tracing===null||e.tracing===void 0||e.tracing.pop()}function s4(r,n){if(n)return!1;switch(r){case 0:return!!ue.noUnusedLocals;case 1:return!!ue.noUnusedParameters;default:return e.Debug.assertNever(r)}}function c4(r){return jc.get(r.path)||e.emptyArray}function QL(r){var n=Nt(r);if(!(n.flags&1)){if(e.skipTypeChecking(r,ue,T))return;bB(r),e.clear(mo),e.clear(xo),e.clear(Os),e.clear(Vo),e.clear(Ss),e.forEach(r.statements,eo),eo(r.endOfFileToken),GL(r),e.isExternalOrCommonJsModule(r)&&id(r),oe(function(){!r.isDeclarationFile&&(ue.noUnusedLocals||ue.noUnusedParameters)&&CA(c4(r),function(t,o,s){!e.containsParseError(t)&&s4(o,!!(t.flags&16777216))&&de.add(s)}),r.isDeclarationFile||S9()}),ue.importsNotUsedAsValues===2&&!r.isDeclarationFile&&e.isExternalModule(r)&&jL(r),e.isExternalOrCommonJsModule(r)&&t4(r),mo.length&&(e.forEach(mo,E9),e.clear(mo)),xo.length&&(e.forEach(xo,T9),e.clear(xo)),Os.length&&(e.forEach(Os,P9),e.clear(Os)),Vo.length&&(e.forEach(Vo,w9),e.clear(Vo)),n.flags|=1}}function u4(r,n){try{return W=n,XL(r)}finally{W=void 0}}function Nx(){for(var r=0,n=A;r0)return e.concatenate(s,o);return o}return e.forEach(T.getSourceFiles(),Px),de.getDiagnostics()}function YL(){return Nx(),de.getGlobalDiagnostics()}function ZL(r,n){if(r.flags&33554432)return[];var t=e.createSymbolTable(),o=!1;return s(),t.delete("this"),by(t);function s(){for(;r;){switch(r.locals&&!Iu(r)&&S(r.locals,n),r.kind){case 308:if(!e.isExternalModule(r))break;case 264:ee(Wi(r).exports,n&2623475);break;case 263:S(Wi(r).exports,n&8);break;case 228:var _e=r.name;_e&&f(r.symbol,n);case 260:case 261:o||S(Tf(Wi(r)),n&788968);break;case 215:var Ie=r.name;Ie&&f(r.symbol,n);break}e.introducesArgumentsExoticObject(r)&&f(ye,n),o=e.isStatic(r),r=r.parent}S(en,n)}function f(_e,Ie){if(e.getCombinedLocalAndExportSymbolFlags(_e)&Ie){var rr=_e.escapedName;t.has(rr)||t.set(rr,_e)}}function S(_e,Ie){Ie&&_e.forEach(function(rr){f(rr,Ie)})}function ee(_e,Ie){Ie&&_e.forEach(function(rr){!e.getDeclarationOfKind(rr,278)&&!e.getDeclarationOfKind(rr,277)&&f(rr,Ie)})}}function eR(r){return r.kind===79&&e.isTypeDeclaration(r.parent)&&e.getNameOfDeclaration(r.parent)===r}function l4(r){for(;r.parent.kind===163;)r=r.parent;return r.parent.kind===180}function rR(r){for(;r.parent.kind===208;)r=r.parent;return r.parent.kind===230}function f4(r,n){for(var t;r=e.getContainingClass(r),!(!r||(t=n(r))););return t}function nR(r){return!!e.findAncestor(r,function(n){return e.isConstructorDeclaration(n)&&e.nodeIsPresent(n.body)||e.isPropertyDeclaration(n)?!0:e.isClassLike(n)||e.isFunctionLikeDeclaration(n)?"quit":!1})}function Ix(r,n){return!!f4(r,function(t){return t===n})}function iR(r){for(;r.parent.kind===163;)r=r.parent;if(r.parent.kind===268)return r.parent.moduleReference===r?r.parent:void 0;if(r.parent.kind===274)return r.parent.expression===r?r.parent:void 0}function k2(r){return iR(r)!==void 0}function tR(r){var n=e.getAssignmentDeclarationKind(r.parent.parent);switch(n){case 1:case 3:return Wi(r.parent);case 4:case 2:case 5:return Wi(r.parent.parent)}}function aR(r){for(var n=r.parent;e.isQualifiedName(n);)r=n,n=n.parent;if(n&&n.kind===202&&n.qualifier===r)return n}function _4(r){if(e.isDeclarationName(r))return Wi(r.parent);if(e.isInJSFile(r)&&r.parent.kind===208&&r.parent===r.parent.parent.left&&!e.isPrivateIdentifier(r)&&!e.isJSDocMemberName(r)){var n=tR(r);if(n)return n}if(r.parent.kind===274&&e.isEntityNameExpression(r)){var t=ls(r,2998271,!0);if(t&&t!==Jr)return t}else if(e.isEntityName(r)&&k2(r)){var o=e.getAncestor(r,268);return e.Debug.assert(o!==void 0),Ko(r,!0)}if(e.isEntityName(r)){var s=aR(r);if(s){Wt(s);var f=Nt(r).resolvedSymbol;return f===Jr?void 0:f}}for(;e.isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName(r);)r=r.parent;if(rR(r)){var S=0;r.parent.kind===230?(S=788968,e.isExpressionWithTypeArgumentsInClassExtendsClause(r.parent)&&(S|=111551)):S=1920,S|=2097152;var ee=e.isEntityNameExpression(r)?ls(r,S):void 0;if(ee)return ee}if(r.parent.kind===343)return e.getParameterSymbolFromJSDoc(r.parent);if(r.parent.kind===165&&r.parent.parent.kind===347){e.Debug.assert(!e.isInJSFile(r));var _e=e.getTypeParameterFromJsDoc(r.parent);return _e&&_e.symbol}if(e.isExpressionNode(r)){if(e.nodeIsMissing(r))return;var Ie=e.findAncestor(r,e.or(e.isJSDocLinkLike,e.isJSDocNameReference,e.isJSDocMemberName)),S=Ie?901119:111551;if(r.kind===79){if(e.isJSXTagName(r)&&Dv(r)){var rr=IS(r.parent);return rr===Jr?void 0:rr}var Ye=ls(r,S,!1,!0,e.getHostSignatureFromJSDoc(r));if(!Ye&&Ie){var tr=e.findAncestor(r,e.or(e.isClassLike,e.isInterfaceDeclaration));if(tr)return m0(r,!1,Wi(tr))}if(Ye&&Ie){var tr=e.getJSDocHost(r);if(tr&&e.isEnumMember(tr)&&tr===Ye.valueDeclaration)return ls(r,S,!0,!0,e.getSourceFileOfNode(tr))||Ye}return Ye}else{if(e.isPrivateIdentifier(r))return r2(r);if(r.kind===208||r.kind===163){var ir=Nt(r);if(ir.resolvedSymbol)return ir.resolvedSymbol;if(r.kind===208){if(n6(r,0),!ir.resolvedSymbol){var zr=Cs(r.expression),on=eh(zr,rd(r.name));if(on.length&&zr.members){var In=Bu(zr),rr=In.members.get("__index");if(on===xs(zr))ir.resolvedSymbol=rr;else if(rr){var Sn=Qt(rr),$n=e.mapDefined(on,function(nt){return nt.declaration}),ri=e.map($n,q).join(",");if(Sn.filteredIndexSymbolCache||(Sn.filteredIndexSymbolCache=new e.Map),Sn.filteredIndexSymbolCache.has(ri))ir.resolvedSymbol=Sn.filteredIndexSymbolCache.get(ri);else{var Ei=vo(131072,"__index");Ei.declarations=e.mapDefined(on,function(nt){return nt.declaration}),Ei.parent=zr.aliasSymbol?zr.aliasSymbol:zr.symbol?zr.symbol:il(Ei.declarations[0].parent),Sn.filteredIndexSymbolCache.set(ri,Ei),ir.resolvedSymbol=Sn.filteredIndexSymbolCache.get(ri)}}}}}else i6(r,0);return!ir.resolvedSymbol&&Ie&&e.isQualifiedName(r)?m0(r):ir.resolvedSymbol}else if(e.isJSDocMemberName(r))return m0(r)}}else if(l4(r)){var S=r.parent.kind===180?788968:1920,rr=ls(r,S,!1,!0);return rr&&rr!==Jr?rr:i1(r)}if(r.parent.kind===179)return ls(r,1)}function m0(r,n,t){if(e.isEntityName(r)){var o=901119,s=ls(r,o,n,!0,e.getHostSignatureFromJSDoc(r));if(!s&&e.isIdentifier(r)&&t&&(s=Ya(Gc(Ic(t),r.escapedText,o))),s)return s}var f=e.isIdentifier(r)?t:m0(r.left,n,t),S=e.isIdentifier(r)?r.escapedText:r.right.escapedText;if(f){var ee=f.flags&111551&&Yt(Li(f),"prototype"),_e=ee?Li(ee):it(f);return Yt(_e,S)}}function il(r,n){if(r.kind===308)return e.isExternalModule(r)?Ya(r.symbol):void 0;var t=r.parent,o=t.parent;if(!(r.flags&33554432)){if(L(r)){var s=Wi(t);return e.isImportOrExportSpecifier(r.parent)&&r.parent.propertyName===r?NS(s):s}else if(e.isLiteralComputedPropertyDeclarationName(r))return Wi(t.parent);if(r.kind===79){if(k2(r))return _4(r);if(t.kind===205&&o.kind===203&&r===t.propertyName){var f=Kg(o),S=Yt(f,r.escapedText);if(S)return S}else if(e.isMetaProperty(t)&&t.name===r)return t.keywordToken===103&&e.idText(r)==="target"?ex(t).symbol:t.keywordToken===100&&e.idText(r)==="meta"?NE().members.get("meta"):void 0}switch(r.kind){case 79:case 80:case 208:case 163:if(!e.isThisInTypeQuery(r))return _4(r);case 108:var ee=e.getThisContainer(r,!1);if(e.isFunctionLike(ee)){var _e=Zu(ee);if(_e.thisParameter)return _e.thisParameter}if(e.isInExpressionContext(r))return ya(r).symbol;case 194:return p1(r).symbol;case 106:return ya(r).symbol;case 135:var Ie=r.parent;return Ie&&Ie.kind===173?Ie.parent.symbol:void 0;case 10:case 14:if(e.isExternalModuleImportEqualsDeclaration(r.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(r.parent.parent)===r||(r.parent.kind===269||r.parent.kind===275)&&r.parent.moduleSpecifier===r||e.isInJSFile(r)&&e.isRequireCall(r.parent,!1)||e.isImportCall(r.parent)||e.isLiteralTypeNode(r.parent)&&e.isLiteralImportTypeNode(r.parent.parent)&&r.parent.parent.argument===r.parent)return Bs(r,r,n);if(e.isCallExpression(t)&&e.isBindableObjectDefinePropertyCall(t)&&t.arguments[1]===r)return Wi(t);case 8:var rr=e.isElementAccessExpression(t)?t.argumentExpression===r?Zs(t.expression):void 0:e.isLiteralTypeNode(t)&&e.isIndexedAccessTypeNode(o)?Wt(o.objectType):void 0;return rr&&Yt(rr,e.escapeLeadingUnderscores(r.text));case 88:case 98:case 38:case 84:return Wi(r.parent);case 202:return e.isLiteralImportTypeNode(r)?il(r.argument.literal,n):void 0;case 93:return e.isExportAssignment(r.parent)?e.Debug.checkDefined(r.parent.symbol):void 0;case 100:case 103:return e.isMetaProperty(r.parent)?J6(r.parent).symbol:void 0;case 233:return ya(r).symbol;default:return}}}function oR(r){if(e.isIdentifier(r)&&e.isPropertyAccessExpression(r.parent)&&r.parent.name===r){var n=rd(r),t=Zs(r.parent.expression),o=t.flags&1048576?t.types:[t];return e.flatMap(o,function(s){return e.filter(xs(s),function(f){return Xl(n,f.keyType)})})}}function sR(r){if(r&&r.kind===300)return ls(r.name,2208703)}function cR(r){return e.isExportSpecifier(r)?r.parent.parent.moduleSpecifier?Gu(r.parent.parent,r):ls(r.propertyName||r.name,2998271):ls(r,2998271)}function Kg(r){if(e.isSourceFile(r)&&!e.isExternalModule(r)||r.flags&33554432)return pe;var n=e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments(r),t=n&&vu(Wi(n.class));if(e.isPartOfTypeNode(r)){var o=Wt(r);return t?Zc(o,t.thisType):o}if(e.isExpressionNode(r))return d4(r);if(t&&!n.isImplements){var s=e.firstOrUndefined(su(t));return s?Zc(s,t.thisType):pe}if(e.isTypeDeclaration(r)){var f=Wi(r);return it(f)}if(eR(r)){var f=il(r);return f?it(f):pe}if(e.isDeclaration(r)){var f=Wi(r);return f?Li(f):pe}if(L(r)){var f=il(r);return f?Li(f):pe}if(e.isBindingPattern(r))return kl(r.parent,!0,0)||pe;if(k2(r)){var f=il(r);if(f){var S=it(f);return ua(S)?Li(f):S}}return e.isMetaProperty(r.parent)&&r.parent.keywordToken===r.kind?J6(r.parent):pe}function A2(r){if(e.Debug.assert(r.kind===207||r.kind===206),r.parent.kind===247){var n=d0(r.parent);return bg(r,n||pe)}if(r.parent.kind===223){var n=Zs(r.parent.right);return bg(r,n||pe)}if(r.parent.kind===299){var t=e.cast(r.parent.parent,e.isObjectLiteralExpression),o=A2(t)||pe,s=e.indexOfNode(t.properties,r.parent);return Y6(t,o,s)}var f=e.cast(r.parent,e.isArrayLiteralExpression),S=A2(f)||pe,ee=td(65,S,Vr,r.parent)||pe;return Z6(f,S,f.elements.indexOf(r),ee)}function uR(r){var n=A2(e.cast(r.parent.parent,e.isAssignmentPattern));return n&&Yt(n,r.escapedText)}function d4(r){return e.isRightSideOfQualifiedNameOrPropertyAccess(r)&&(r=r.parent),Wc(Zs(r))}function lR(r){var n=Wi(r.parent);return e.isStatic(r)?Li(n):it(n)}function fR(r){var n=r.name;switch(n.kind){case 79:return ju(e.idText(n));case 8:case 10:return ju(n.text);case 164:var t=k_(n);return Us(t,12288)?t:hn;default:return e.Debug.fail("Unsupported property name.")}}function wx(r){r=fe(r);var n=e.createSymbolTable(yo(r)),t=da(r,0).length?Pt:da(r,1).length?Gt:void 0;return t&&e.forEach(yo(t),function(o){n.has(o.escapedName)||n.set(o.escapedName,o)}),d_(n)}function Ox(r){return e.typeHasCallOrConstructSignatures(r,Ve)}function p4(r){var n=_R(r);return n?e.flatMap(n,p4):[r]}function _R(r){if(e.getCheckFlags(r)&6)return e.mapDefined(Qt(r).containingType.types,function(f){return Yt(f,r.escapedName)});if(r.flags&33554432){var n=r,t=n.leftSpread,o=n.rightSpread,s=n.syntheticOrigin;return t?[t,o]:s?[s]:e.singleElementArray(dR(r))}}function dR(r){for(var n,t=r;t=Qt(t).target;)n=t;return n}function pR(r){if(e.isGeneratedIdentifier(r))return!1;var n=e.getParseTreeNode(r,e.isIdentifier);if(!n)return!1;var t=n.parent;if(!t)return!1;var o=(e.isPropertyAccessExpression(t)||e.isPropertyAssignment(t))&&t.name===n;return!o&&v0(n)===ye}function gR(r){var n=Bs(r.parent,r);if(!n||e.isShorthandAmbientModuleSymbol(n))return!0;var t=bf(n);n=Vs(n);var o=Qt(n);return o.exportsSomeValue===void 0&&(o.exportsSomeValue=t?!!(n.flags&111551):e.forEachEntry(Js(n),s)),o.exportsSomeValue;function s(f){return f=_s(f),f&&!!($t(f)&111551)}}function mR(r){return e.isModuleOrEnumDeclaration(r.parent)&&r===r.parent.name}function vR(r,n){var t,o=e.getParseTreeNode(r,e.isIdentifier);if(o){var s=v0(o,mR(o));if(s){if(s.flags&1048576){var f=Ya(s.exportSymbol);if(!n&&f.flags&944&&!(f.flags&3))return;s=f}var S=wc(s);if(S){if(S.flags&512&&((t=S.valueDeclaration)===null||t===void 0?void 0:t.kind)===308){var ee=S.valueDeclaration,_e=e.getSourceFileOfNode(o),Ie=ee!==_e;return Ie?void 0:ee}return e.findAncestor(o.parent,function(rr){return e.isModuleOrEnumDeclaration(rr)&&Wi(rr)===S})}}}}function hR(r){if(r.generatedImportReference)return r.generatedImportReference;var n=e.getParseTreeNode(r,e.isIdentifier);if(n){var t=IR(n);if(_p(t,111551)&&!Nc(t,111551))return Vu(t)}}function yR(r){return r.valueDeclaration&&e.isBindingElement(r.valueDeclaration)&&e.walkUpBindingElementsAndPatterns(r.valueDeclaration).parent.kind===295}function g4(r){if(r.flags&418&&r.valueDeclaration&&!e.isSourceFile(r.valueDeclaration)){var n=Qt(r);if(n.isDeclarationWithCollidingName===void 0){var t=e.getEnclosingBlockScopeContainer(r.valueDeclaration);if(e.isStatementWithLocals(t)||yR(r)){var o=Nt(r.valueDeclaration);if(us(t.parent,r.escapedName,111551,void 0,void 0,!1))n.isDeclarationWithCollidingName=!0;else if(o.flags&262144){var s=o.flags&524288,f=e.isIterationStatement(t,!1),S=t.kind===238&&e.isIterationStatement(t.parent,!1);n.isDeclarationWithCollidingName=!e.isBlockScopedContainerTopLevel(t)&&(!s||!f&&!S)}else n.isDeclarationWithCollidingName=!1}}return n.isDeclarationWithCollidingName}return!1}function DR(r){if(!e.isGeneratedIdentifier(r)){var n=e.getParseTreeNode(r,e.isIdentifier);if(n){var t=v0(n);if(t&&g4(t))return t.valueDeclaration}}}function bR(r){var n=e.getParseTreeNode(r,e.isDeclaration);if(n){var t=Wi(n);if(t)return g4(t)}return!1}function m4(r){switch(r.kind){case 268:return N2(Wi(r));case 270:case 271:case 273:case 278:var n=Wi(r);return!!n&&N2(n)&&!Nc(n,111551);case 275:var t=r.exportClause;return!!t&&(e.isNamespaceExport(t)||e.some(t.elements,m4));case 274:return r.expression&&r.expression.kind===79?N2(Wi(r)):!0}return!1}function SR(r){var n=e.getParseTreeNode(r,e.isImportEqualsDeclaration);if(n===void 0||n.parent.kind!==308||!e.isInternalModuleImportEqualsDeclaration(n))return!1;var t=N2(Wi(n));return t&&n.moduleReference&&!e.nodeIsMissing(n.moduleReference)}function N2(r){var n;if(!r)return!1;var t=_l(wi(r));return t===Jr?!0:!!(((n=$t(t))!==null&&n!==void 0?n:-1)&111551)&&(e.shouldPreserveConstEnums(ue)||!Rh(t))}function Rh(r){return ox(r)||!!r.constEnumOnlyModule}function P2(r,n){if(gf(r)){var t=Wi(r),o=t&&Qt(t);if(o!=null&&o.referenced)return!0;var s=Qt(t).aliasTarget;if(s&&e.getEffectiveModifierFlags(r)&1&&$t(s)&111551&&(e.shouldPreserveConstEnums(ue)||!Rh(s)))return!0}return n?!!e.forEachChild(r,function(f){return P2(f,n)}):!1}function v4(r){if(e.nodeIsPresent(r.body)){if(e.isGetAccessor(r)||e.isSetAccessor(r))return!1;var n=Wi(r),t=xp(n);return t.length>1||t.length===1&&t[0].declaration!==r}return!1}function h4(r){return!!Je&&!Sp(r)&&!e.isJSDocParameterTag(r)&&!!r.initializer&&!e.hasSyntacticModifier(r,16476)}function xR(r){return Je&&Sp(r)&&!r.initializer&&e.hasSyntacticModifier(r,16476)}function CR(r){var n=e.getParseTreeNode(r,e.isFunctionDeclaration);if(!n)return!1;var t=Wi(n);return!t||!(t.flags&16)?!1:!!e.forEachEntry(Ic(t),function(o){return o.flags&111551&&o.valueDeclaration&&e.isPropertyAccessExpression(o.valueDeclaration)})}function ER(r){var n=e.getParseTreeNode(r,e.isFunctionDeclaration);if(!n)return e.emptyArray;var t=Wi(n);return t&&yo(Li(t))||e.emptyArray}function Jm(r){var n,t=r.id||0;return t<0||t>=Ti.length?0:((n=Ti[t])===null||n===void 0?void 0:n.flags)||0}function I2(r){return e4(r.parent),Nt(r).enumMemberValue}function y4(r){switch(r.kind){case 302:case 208:case 209:return!0}return!1}function Fx(r){if(r.kind===302)return I2(r);var n=Nt(r).resolvedSymbol;if(n&&n.flags&8){var t=n.valueDeclaration;if(e.isEnumConst(t.parent))return I2(t)}}function Mx(r){return!!(r.flags&524288)&&da(r,0).length>0}function TR(r,n){var t,o,s=e.getParseTreeNode(r,e.isEntityName);if(!s||n&&(n=e.getParseTreeNode(n),!n))return e.TypeReferenceSerializationKind.Unknown;var f=!1;if(e.isQualifiedName(s)){var S=ls(e.getFirstIdentifier(s),111551,!0,!0,n);f=!!(!((t=S==null?void 0:S.declarations)===null||t===void 0)&&t.every(e.isTypeOnlyImportOrExportDeclaration))}var ee=ls(s,111551,!0,!0,n),_e=ee&&ee.flags&2097152?wi(ee):ee;f||(f=!!(!((o=ee==null?void 0:ee.declarations)===null||o===void 0)&&o.every(e.isTypeOnlyImportOrExportDeclaration)));var Ie=ls(s,788968,!0,!1,n);if(_e&&_e===Ie){var rr=nb(!1);if(rr&&_e===rr)return e.TypeReferenceSerializationKind.Promise;var Ye=Li(_e);if(Ye&&om(Ye))return f?e.TypeReferenceSerializationKind.TypeWithCallSignature:e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue}if(!Ie)return f?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown;var tr=it(Ie);return ua(tr)?f?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown:tr.flags&3?e.TypeReferenceSerializationKind.ObjectType:Us(tr,245760)?e.TypeReferenceSerializationKind.VoidNullableOrNeverType:Us(tr,528)?e.TypeReferenceSerializationKind.BooleanType:Us(tr,296)?e.TypeReferenceSerializationKind.NumberLikeType:Us(tr,2112)?e.TypeReferenceSerializationKind.BigIntLikeType:Us(tr,402653316)?e.TypeReferenceSerializationKind.StringLikeType:Xa(tr)?e.TypeReferenceSerializationKind.ArrayLikeType:Us(tr,12288)?e.TypeReferenceSerializationKind.ESSymbolType:Mx(tr)?e.TypeReferenceSerializationKind.TypeWithCallSignature:Uu(tr)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function kR(r,n,t,o,s){var f=e.getParseTreeNode(r,e.isVariableLikeOrAccessor);if(!f)return e.factory.createToken(131);var S=Wi(f),ee=S&&!(S.flags&133120)?Ip(Li(S)):pe;return ee.flags&8192&&ee.symbol===S&&(t|=1048576),s&&(ee=E_(ee)),Cr.typeToTypeNode(ee,n,t|1024,o)}function AR(r,n,t,o){var s=e.getParseTreeNode(r,e.isFunctionLike);if(!s)return e.factory.createToken(131);var f=Zu(s);return Cr.typeToTypeNode(wo(f),n,t|1024,o)}function NR(r,n,t,o){var s=e.getParseTreeNode(r,e.isExpression);if(!s)return e.factory.createToken(131);var f=uu(d4(s));return Cr.typeToTypeNode(f,n,t|1024,o)}function PR(r){return en.has(e.escapeLeadingUnderscores(r))}function v0(r,n){var t=Nt(r).resolvedSymbol;if(t)return t;var o=r;if(n){var s=r.parent;e.isDeclaration(s)&&r===s.name&&(o=Va(s))}return us(o,r.escapedText,3257279,void 0,void 0,!0)}function IR(r){var n=Nt(r).resolvedSymbol;return n&&n!==Jr?n:us(r,r.escapedText,3257279,void 0,void 0,!0,void 0,void 0)}function wR(r){if(!e.isGeneratedIdentifier(r)){var n=e.getParseTreeNode(r,e.isIdentifier);if(n){var t=v0(n);if(t)return _l(t).valueDeclaration}}}function OR(r){return e.isDeclarationReadonly(r)||e.isVariableDeclaration(r)&&e.isVarConst(r)?Ap(Li(Wi(r))):!1}function FR(r,n,t){var o=r.flags&1024?Cr.symbolToExpression(r.symbol,111551,n,void 0,t):r===Ni?e.factory.createTrue():r===ai&&e.factory.createFalse();if(o)return o;var s=r.value;return typeof s=="object"?e.factory.createBigIntLiteral(s):typeof s=="number"?e.factory.createNumericLiteral(s):e.factory.createStringLiteral(s)}function MR(r,n){var t=Li(Wi(r));return FR(t,r,n)}function D4(r){return r?(Ds(r),e.getSourceFileOfNode(r).localJsxFactory||Si):Si}function Lx(r){if(r){var n=e.getSourceFileOfNode(r);if(n){if(n.localJsxFragmentFactory)return n.localJsxFragmentFactory;var t=n.pragmas.get("jsxfrag"),o=e.isArray(t)?t[0]:t;if(o)return n.localJsxFragmentFactory=e.parseIsolatedEntityName(o.arguments.factory,y),n.localJsxFragmentFactory}}if(ue.jsxFragmentFactory)return e.parseIsolatedEntityName(ue.jsxFragmentFactory,y)}function LR(){var r=T.getResolvedTypeReferenceDirectives(),n;return r&&(n=new e.Map,r.forEach(function(_e,Ie,rr){if(!(!_e||!_e.resolvedFileName)){var Ye=T.getSourceFile(_e.resolvedFileName);Ye&&ee(Ye,Ie,rr)}})),{getReferencedExportContainer:vR,getReferencedImportDeclaration:hR,getReferencedDeclarationWithCollidingName:DR,isDeclarationWithCollidingName:bR,isValueAliasDeclaration:function(_e){var Ie=e.getParseTreeNode(_e);return Ie?m4(Ie):!0},hasGlobalName:PR,isReferencedAliasDeclaration:function(_e,Ie){var rr=e.getParseTreeNode(_e);return rr?P2(rr,Ie):!0},getNodeCheckFlags:function(_e){var Ie=e.getParseTreeNode(_e);return Ie?Jm(Ie):0},isTopLevelValueImportEqualsWithEntityName:SR,isDeclarationVisible:_n,isImplementationOfOverload:v4,isRequiredInitializedParameter:h4,isOptionalUninitializedParameterProperty:xR,isExpandoFunctionDeclaration:CR,getPropertiesOfContainerFunction:ER,createTypeOfDeclaration:kR,createReturnTypeOfSignatureDeclaration:AR,createTypeOfExpression:NR,createLiteralConstValue:MR,isSymbolAccessible:ql,isEntityNameVisible:Ng,getConstantValue:function(_e){var Ie=e.getParseTreeNode(_e,y4);return Ie?Fx(Ie):void 0},collectLinkedAliases:Xn,getReferencedValueDeclaration:wR,getTypeReferenceSerializationKind:TR,isOptionalParameter:Sp,moduleExportsSomeValue:gR,isArgumentsLocalBinding:pR,getExternalModuleFileFromDeclaration:function(_e){var Ie=e.getParseTreeNode(_e,e.hasPossibleExternalModuleReference);return Ie&&Rx(Ie)},getTypeReferenceDirectivesForEntityName:s,getTypeReferenceDirectivesForSymbol:f,isLiteralConstDeclaration:OR,isLateBound:function(_e){var Ie=e.getParseTreeNode(_e,e.isDeclaration),rr=Ie&&Wi(Ie);return!!(rr&&e.getCheckFlags(rr)&4096)},getJsxFactoryEntity:D4,getJsxFragmentFactoryEntity:Lx,getAllAccessorDeclarations:function(_e){_e=e.getParseTreeNode(_e,e.isGetOrSetAccessorDeclaration);var Ie=_e.kind===175?174:175,rr=e.getDeclarationOfKind(Wi(_e),Ie),Ye=rr&&rr.pos<_e.pos?rr:_e,tr=rr&&rr.pos<_e.pos?_e:rr,ir=_e.kind===175?_e:rr,zr=_e.kind===174?_e:rr;return{firstAccessor:Ye,secondAccessor:tr,setAccessor:ir,getAccessor:zr}},getSymbolOfExternalModuleSpecifier:function(_e){return El(_e,_e,void 0)},isBindingCapturedByNode:function(_e,Ie){var rr=e.getParseTreeNode(_e),Ye=e.getParseTreeNode(Ie);return!!rr&&!!Ye&&(e.isVariableDeclaration(Ye)||e.isBindingElement(Ye))&&w7(rr,Ye)},getDeclarationStatementsForSourceFile:function(_e,Ie,rr,Ye){var tr=e.getParseTreeNode(_e);e.Debug.assert(tr&&tr.kind===308,"Non-sourcefile node passed into getDeclarationsForSourceFile");var ir=Wi(_e);return ir?ir.exports?Cr.symbolTableToDeclarationStatements(ir.exports,_e,Ie,rr,Ye):[]:_e.locals?Cr.symbolTableToDeclarationStatements(_e.locals,_e,Ie,rr,Ye):[]},isImportRequiredByAugmentation:t};function t(_e){var Ie=e.getSourceFileOfNode(_e);if(!Ie.symbol)return!1;var rr=Rx(_e);if(!rr||rr===Ie)return!1;for(var Ye=Js(Ie.symbol),tr=0,ir=e.arrayFrom(Ye.values());tr3})||Xr(r,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,S,4):f&1048576?e.some(xp(ee),function(_e){return lu(_e)>4})||Xr(r,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,S,5):f&1024&&(e.some(xp(ee),function(_e){return lu(_e)>2})||Xr(r,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,S,3)):Xr(r,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,S)}}u|=n}}}function BR(r){switch(r){case 1:return"__extends";case 2:return"__assign";case 4:return"__rest";case 8:return"__decorate";case 16:return"__metadata";case 32:return"__param";case 64:return"__awaiter";case 128:return"__generator";case 256:return"__values";case 512:return"__read";case 1024:return"__spreadArray";case 2048:return"__await";case 4096:return"__asyncGenerator";case 8192:return"__asyncDelegator";case 16384:return"__asyncValues";case 32768:return"__exportStar";case 65536:return"__importStar";case 131072:return"__importDefault";case 262144:return"__makeTemplateObject";case 524288:return"__classPrivateFieldGet";case 1048576:return"__classPrivateFieldSet";case 2097152:return"__classPrivateFieldIn";case 4194304:return"__createBinding";default:return e.Debug.fail("Unrecognized helper")}}function JR(r,n){return O||(O=u_(r,e.externalHelpersModuleNameText,e.Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,n)||Jr),O}function Yf(r){return jR(r)||b4(r)}function jR(r){if(e.canHaveIllegalDecorators(r)&&e.some(r.illegalDecorators))return Hs(r,e.Diagnostics.Decorators_are_not_valid_here);if(!e.canHaveDecorators(r)||!e.hasDecorators(r))return!1;if(e.nodeCanBeDecorated(r,r.parent,r.parent.parent)){if(r.kind===174||r.kind===175){var n=e.getAllAccessorDeclarations(r.parent.members,r);if(e.hasDecorators(n.firstAccessor)&&r===n.secondAccessor)return Hs(r,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}}else return r.kind===171&&!e.nodeIsPresent(r.body)?Hs(r,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload):Hs(r,e.Diagnostics.Decorators_are_not_valid_here);return!1}function b4(r){var n=UR(r);if(n!==void 0)return n;for(var t,o,s,f,S=0,ee=0,_e=r.modifiers;ee<_e.length;ee++){var Ie=_e[ee];if(!e.isDecorator(Ie)){if(Ie.kind!==146){if(r.kind===168||r.kind===170)return vi(Ie,e.Diagnostics._0_modifier_cannot_appear_on_a_type_member,e.tokenToString(Ie.kind));if(r.kind===178&&(Ie.kind!==124||!e.isClassLike(r.parent)))return vi(Ie,e.Diagnostics._0_modifier_cannot_appear_on_an_index_signature,e.tokenToString(Ie.kind))}if(Ie.kind!==101&&Ie.kind!==145&&r.kind===165)return vi(Ie,e.Diagnostics._0_modifier_cannot_appear_on_a_type_parameter,e.tokenToString(Ie.kind));switch(Ie.kind){case 85:if(r.kind!==263)return vi(r,e.Diagnostics.A_class_member_cannot_have_the_0_keyword,e.tokenToString(85));break;case 161:if(S&16384)return vi(Ie,e.Diagnostics._0_modifier_already_seen,"override");if(S&2)return vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,"override","declare");if(S&64)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"override","readonly");if(S&128)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"override","accessor");if(S&512)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"override","async");S|=16384,f=Ie;break;case 123:case 122:case 121:var rr=m_(e.modifierToFlag(Ie.kind));if(S&28)return vi(Ie,e.Diagnostics.Accessibility_modifier_already_seen);if(S&16384)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,rr,"override");if(S&32)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,rr,"static");if(S&128)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,rr,"accessor");if(S&64)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,rr,"readonly");if(S&512)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,rr,"async");if(r.parent.kind===265||r.parent.kind===308)return vi(Ie,e.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element,rr);if(S&256)return Ie.kind===121?vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,rr,"abstract"):vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,rr,"abstract");if(e.isPrivateIdentifierClassElementDeclaration(r))return vi(Ie,e.Diagnostics.An_accessibility_modifier_cannot_be_used_with_a_private_identifier);S|=e.modifierToFlag(Ie.kind);break;case 124:if(S&32)return vi(Ie,e.Diagnostics._0_modifier_already_seen,"static");if(S&64)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"static","readonly");if(S&512)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"static","async");if(S&128)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"static","accessor");if(r.parent.kind===265||r.parent.kind===308)return vi(Ie,e.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element,"static");if(r.kind===166)return vi(Ie,e.Diagnostics._0_modifier_cannot_appear_on_a_parameter,"static");if(S&256)return vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,"static","abstract");if(S&16384)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"static","override");S|=32,t=Ie;break;case 127:if(S&128)return vi(Ie,e.Diagnostics._0_modifier_already_seen,"accessor");if(S&64)return vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,"accessor","readonly");if(S&2)return vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,"accessor","declare");if(r.kind!==169)return vi(Ie,e.Diagnostics.accessor_modifier_can_only_appear_on_a_property_declaration);S|=128;break;case 146:if(S&64)return vi(Ie,e.Diagnostics._0_modifier_already_seen,"readonly");if(r.kind!==169&&r.kind!==168&&r.kind!==178&&r.kind!==166)return vi(Ie,e.Diagnostics.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature);S|=64;break;case 93:if(S&1)return vi(Ie,e.Diagnostics._0_modifier_already_seen,"export");if(S&2)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"export","declare");if(S&256)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"export","abstract");if(S&512)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"export","async");if(e.isClassLike(r.parent))return vi(Ie,e.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind,"export");if(r.kind===166)return vi(Ie,e.Diagnostics._0_modifier_cannot_appear_on_a_parameter,"export");S|=1;break;case 88:var Ye=r.parent.kind===308?r.parent:r.parent.parent;if(Ye.kind===264&&!e.isAmbientModule(Ye))return vi(Ie,e.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module);if(!(S&1))return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"export","default");S|=1024;break;case 136:if(S&2)return vi(Ie,e.Diagnostics._0_modifier_already_seen,"declare");if(S&512)return vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context,"async");if(S&16384)return vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context,"override");if(e.isClassLike(r.parent)&&!e.isPropertyDeclaration(r))return vi(Ie,e.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind,"declare");if(r.kind===166)return vi(Ie,e.Diagnostics._0_modifier_cannot_appear_on_a_parameter,"declare");if(r.parent.flags&16777216&&r.parent.kind===265)return vi(Ie,e.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context);if(e.isPrivateIdentifierClassElementDeclaration(r))return vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_with_a_private_identifier,"declare");S|=2,o=Ie;break;case 126:if(S&256)return vi(Ie,e.Diagnostics._0_modifier_already_seen,"abstract");if(r.kind!==260&&r.kind!==182){if(r.kind!==171&&r.kind!==169&&r.kind!==174&&r.kind!==175)return vi(Ie,e.Diagnostics.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration);if(!(r.parent.kind===260&&e.hasSyntacticModifier(r.parent,256)))return vi(Ie,e.Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class);if(S&32)return vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,"static","abstract");if(S&8)return vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,"private","abstract");if(S&512&&s)return vi(s,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,"async","abstract");if(S&16384)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"abstract","override");if(S&128)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"abstract","accessor")}if(e.isNamedDeclaration(r)&&r.name.kind===80)return vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_with_a_private_identifier,"abstract");S|=256;break;case 132:if(S&512)return vi(Ie,e.Diagnostics._0_modifier_already_seen,"async");if(S&2||r.parent.flags&16777216)return vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context,"async");if(r.kind===166)return vi(Ie,e.Diagnostics._0_modifier_cannot_appear_on_a_parameter,"async");if(S&256)return vi(Ie,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,"async","abstract");S|=512,s=Ie;break;case 101:case 145:var tr=Ie.kind===101?32768:65536,ir=Ie.kind===101?"in":"out";if(r.kind!==165||!(e.isInterfaceDeclaration(r.parent)||e.isClassLike(r.parent)||e.isTypeAliasDeclaration(r.parent)))return vi(Ie,e.Diagnostics._0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias,ir);if(S&tr)return vi(Ie,e.Diagnostics._0_modifier_already_seen,ir);if(tr&32768&&S&65536)return vi(Ie,e.Diagnostics._0_modifier_must_precede_1_modifier,"in","out");S|=tr;break}}}return r.kind===173?S&32?vi(t,e.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration,"static"):S&16384?vi(f,e.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration,"override"):S&512?vi(s,e.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration,"async"):!1:(r.kind===269||r.kind===268)&&S&2?vi(o,e.Diagnostics.A_0_modifier_cannot_be_used_with_an_import_declaration,"declare"):r.kind===166&&S&16476&&e.isBindingPattern(r.name)?vi(r,e.Diagnostics.A_parameter_property_may_not_be_declared_using_a_binding_pattern):r.kind===166&&S&16476&&r.dotDotDotToken?vi(r,e.Diagnostics.A_parameter_property_cannot_be_declared_using_a_rest_parameter):S&512?WR(r,s):!1}function UR(r){return r.modifiers?zR(r)?Hs(r,e.Diagnostics.Modifiers_cannot_appear_here):void 0:!1}function zR(r){switch(r.kind){case 174:case 175:case 173:case 169:case 168:case 171:case 170:case 178:case 264:case 269:case 268:case 275:case 274:case 215:case 216:case 166:case 165:return!1;case 172:case 299:case 300:case 267:case 181:case 279:return!0;default:if(r.parent.kind===265||r.parent.kind===308)return!1;switch(r.kind){case 259:return Bx(r,132);case 260:case 182:return Bx(r,126);case 228:case 261:case 240:case 262:return!0;case 263:return Bx(r,85);default:e.Debug.assertNever(r)}}}function Bx(r,n){for(var t=0,o=r.modifiers;t=3){var n=r.body&&e.isBlock(r.body)&&e.findUseStrictPrologue(r.body.statements);if(n){var t=qR(r.parameters);if(e.length(t)){e.forEach(t,function(s){e.addRelatedInfo(Xr(s,e.Diagnostics.This_parameter_is_not_allowed_with_use_strict_directive),e.createDiagnosticForNode(n,e.Diagnostics.use_strict_directive_used_here))});var o=t.map(function(s,f){return f===0?e.createDiagnosticForNode(s,e.Diagnostics.Non_simple_parameter_declared_here):e.createDiagnosticForNode(s,e.Diagnostics.and_here)});return e.addRelatedInfo.apply(void 0,Hn([Xr(n,e.Diagnostics.use_strict_directive_cannot_be_used_with_non_simple_parameter_list)],o,!1)),!0}}}return!1}function w2(r){var n=e.getSourceFileOfNode(r);return Yf(r)||S4(r.typeParameters,n)||VR(r.parameters)||KR(r,n)||e.isFunctionLikeDeclaration(r)&&HR(r)}function GR(r){var n=e.getSourceFileOfNode(r);return ZR(r)||S4(r.typeParameters,n)}function KR(r,n){if(!e.isArrowFunction(r))return!1;r.typeParameters&&!(e.length(r.typeParameters)>1||r.typeParameters.hasTrailingComma||r.typeParameters[0].constraint)&&n&&e.fileExtensionIsOneOf(n.fileName,[".mts",".cts"])&&vi(r.typeParameters[0],e.Diagnostics.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint);var t=r.equalsGreaterThanToken,o=e.getLineAndCharacterOfPosition(n,t.pos).line,s=e.getLineAndCharacterOfPosition(n,t.end).line;return o!==s&&vi(t,e.Diagnostics.Line_terminator_not_permitted_before_arrow)}function $R(r){var n=r.parameters[0];if(r.parameters.length!==1)return vi(n?n.name:r,e.Diagnostics.An_index_signature_must_have_exactly_one_parameter);if($g(r.parameters,e.Diagnostics.An_index_signature_cannot_have_a_trailing_comma),n.dotDotDotToken)return vi(n.dotDotDotToken,e.Diagnostics.An_index_signature_cannot_have_a_rest_parameter);if(e.hasEffectiveModifiers(n))return vi(n.name,e.Diagnostics.An_index_signature_parameter_cannot_have_an_accessibility_modifier);if(n.questionToken)return vi(n.questionToken,e.Diagnostics.An_index_signature_parameter_cannot_have_a_question_mark);if(n.initializer)return vi(n.name,e.Diagnostics.An_index_signature_parameter_cannot_have_an_initializer);if(!n.type)return vi(n.name,e.Diagnostics.An_index_signature_parameter_must_have_a_type_annotation);var t=Wt(n.type);return Xf(t,function(o){return!!(o.flags&8576)})||Jg(t)?vi(n.name,e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead):Af(t,r1)?r.type?!1:vi(r,e.Diagnostics.An_index_signature_must_have_a_type_annotation):vi(n.name,e.Diagnostics.An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type)}function QR(r){return Yf(r)||$R(r)}function XR(r,n){if(n&&n.length===0){var t=e.getSourceFileOfNode(r),o=n.pos-1,s=e.skipTrivia(t.text,n.end)+1;return Jp(t,o,s-o,e.Diagnostics.Type_argument_list_cannot_be_empty)}return!1}function h0(r,n){return $g(n)||XR(r,n)}function YR(r){return r.questionDotToken||r.flags&32?vi(r.template,e.Diagnostics.Tagged_template_expressions_are_not_permitted_in_an_optional_chain):!1}function x4(r){var n=r.types;if($g(n))return!0;if(n&&n.length===0){var t=e.tokenToString(r.token);return Jp(r,n.pos,0,e.Diagnostics._0_list_cannot_be_empty,t)}return e.some(n,C4)}function C4(r){return e.isExpressionWithTypeArguments(r)&&e.isImportKeyword(r.expression)&&r.typeArguments?vi(r,e.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments):h0(r,r.typeArguments)}function ZR(r){var n=!1,t=!1;if(!Yf(r)&&r.heritageClauses)for(var o=0,s=r.heritageClauses;o1)return Hs(f.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);n=!0}else{if(e.Debug.assert(f.token===117),t)return Hs(f,e.Diagnostics.implements_clause_already_seen);t=!0}x4(f)}}function eB(r){var n=!1;if(r.heritageClauses)for(var t=0,o=r.heritageClauses;t=4)break;default:de.add(e.createDiagnosticForNode(r.awaitModifier,e.Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher));break}}else if(!Sg(n)){var t=e.createDiagnosticForNode(r.awaitModifier,e.Diagnostics.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules),o=e.getContainingFunction(r);if(o&&o.kind!==173){e.Debug.assert((e.getFunctionFlags(o)&2)===0,"Enclosing function should never be an async function.");var s=e.createDiagnosticForNode(o,e.Diagnostics.Did_you_mean_to_mark_this_function_as_async);e.addRelatedInfo(t,s)}return de.add(t),!0}return!1}if(e.isForOfStatement(r)&&!(r.flags&32768)&&e.isIdentifier(r.initializer)&&r.initializer.escapedText==="async")return vi(r.initializer,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_may_not_be_async),!1;if(r.initializer.kind===258){var f=r.initializer;if(!zx(f)){var S=f.declarations;if(!S.length)return!1;if(S.length>1){var t=r.kind===246?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return Hs(f.declarations[1],t)}var ee=S[0];if(ee.initializer){var t=r.kind===246?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return vi(ee.name,t)}if(ee.type){var t=r.kind===246?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation;return vi(ee,t)}}}return!1}function aB(r){if(!(r.flags&16777216)&&r.parent.kind!==184&&r.parent.kind!==261){if(y<1)return vi(r.name,e.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher);if(y<2&&e.isPrivateIdentifier(r.name))return vi(r.name,e.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(r.body===void 0&&!e.hasSyntacticModifier(r,256))return Jp(r,r.end-1,1,e.Diagnostics._0_expected,"{")}if(r.body){if(e.hasSyntacticModifier(r,256))return vi(r,e.Diagnostics.An_abstract_accessor_cannot_have_an_implementation);if(r.parent.kind===184||r.parent.kind===261)return vi(r.body,e.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts)}if(r.typeParameters)return vi(r.name,e.Diagnostics.An_accessor_cannot_have_type_parameters);if(!oB(r))return vi(r.name,r.kind===174?e.Diagnostics.A_get_accessor_cannot_have_parameters:e.Diagnostics.A_set_accessor_must_have_exactly_one_parameter);if(r.kind===175){if(r.type)return vi(r.name,e.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation);var n=e.Debug.checkDefined(e.getSetAccessorValueParameter(r),"Return value does not match parameter count assertion.");if(n.dotDotDotToken)return vi(n.dotDotDotToken,e.Diagnostics.A_set_accessor_cannot_have_rest_parameter);if(n.questionToken)return vi(n.questionToken,e.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter);if(n.initializer)return vi(r.name,e.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer)}return!1}function oB(r){return Ux(r)||r.parameters.length===(r.kind===174?0:1)}function Ux(r){if(r.parameters.length===(r.kind===174?1:2))return e.getThisParameter(r)}function sB(r){if(r.operator===156){if(r.type.kind!==153)return vi(r.type,e.Diagnostics._0_expected,e.tokenToString(153));var n=e.walkUpParenthesizedTypes(r.parent);if(e.isInJSFile(n)&&e.isJSDocTypeExpression(n)){var t=e.getJSDocHost(n);t&&(n=e.getSingleVariableOfVariableStatement(t)||t)}switch(n.kind){case 257:var o=n;if(o.name.kind!==79)return vi(r,e.Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name);if(!e.isVariableDeclarationInVariableStatement(o))return vi(r,e.Diagnostics.unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement);if(!(o.parent.flags&2))return vi(n.name,e.Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const);break;case 169:if(!e.isStatic(n)||!e.hasEffectiveReadonlyModifier(n))return vi(n.name,e.Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly);break;case 168:if(!e.hasSyntacticModifier(n,64))return vi(n.name,e.Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly);break;default:return vi(r,e.Diagnostics.unique_symbol_types_are_not_allowed_here)}}else if(r.operator===146&&r.type.kind!==185&&r.type.kind!==186)return Hs(r,e.Diagnostics.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types,e.tokenToString(153))}function Iv(r,n){if(R0(r))return vi(r,n)}function k4(r){if(w2(r))return!0;if(r.kind===171){if(r.parent.kind===207){if(r.modifiers&&!(r.modifiers.length===1&&e.first(r.modifiers).kind===132))return Hs(r,e.Diagnostics.Modifiers_cannot_appear_here);if(jx(r.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional))return!0;if(E4(r.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context))return!0;if(r.body===void 0)return Jp(r,r.end-1,1,e.Diagnostics._0_expected,"{")}if(Jx(r))return!0}if(e.isClassLike(r.parent)){if(y<2&&e.isPrivateIdentifier(r.name))return vi(r.name,e.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(r.flags&16777216)return Iv(r.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(r.kind===171&&!r.body)return Iv(r.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else{if(r.parent.kind===261)return Iv(r.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(r.parent.kind===184)return Iv(r.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function cB(r){for(var n=r;n;){if(e.isFunctionLikeOrClassStaticBlockDeclaration(n))return vi(r,e.Diagnostics.Jump_target_cannot_cross_function_boundary);switch(n.kind){case 253:if(r.label&&n.label.escapedText===r.label.escapedText){var t=r.kind===248&&!e.isIterationStatement(n.statement,!0);return t?vi(r,e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement):!1}break;case 252:if(r.kind===249&&!r.label)return!1;break;default:if(e.isIterationStatement(n,!1)&&!r.label)return!1;break}n=n.parent}if(r.label){var o=r.kind===249?e.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement;return vi(r,o)}else{var o=r.kind===249?e.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:e.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement;return vi(r,o)}}function uB(r){if(r.dotDotDotToken){var n=r.parent.elements;if(r!==e.last(n))return vi(r,e.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern);if($g(n,e.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),r.propertyName)return vi(r.name,e.Diagnostics.A_rest_element_cannot_have_a_property_name)}if(r.dotDotDotToken&&r.initializer)return Jp(r,r.initializer.pos-1,1,e.Diagnostics.A_rest_element_cannot_have_an_initializer)}function A4(r){return e.isStringOrNumericLiteralLike(r)||r.kind===221&&r.operator===40&&r.operand.kind===8}function lB(r){return r.kind===9||r.kind===221&&r.operator===40&&r.operand.kind===9}function fB(r){if((e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r)&&A4(r.argumentExpression))&&e.isEntityNameExpression(r.expression))return!!(Cs(r).flags&1024)}function N4(r){var n=r.initializer;if(n){var t=!(A4(n)||fB(n)||n.kind===110||n.kind===95||lB(n)),o=e.isDeclarationReadonly(r)||e.isVariableDeclaration(r)&&e.isVarConst(r);if(o&&!r.type){if(t)return vi(n,e.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference)}else return vi(n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}function _B(r){if(r.parent.parent.kind!==246&&r.parent.parent.kind!==247){if(r.flags&16777216)N4(r);else if(!r.initializer){if(e.isBindingPattern(r.name)&&!e.isBindingPattern(r.parent))return vi(r,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(e.isVarConst(r))return vi(r,e.Diagnostics.const_declarations_must_be_initialized)}}if(r.exclamationToken&&(r.parent.parent.kind!==240||!r.type||r.initializer||r.flags&16777216)){var n=r.initializer?e.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:r.type?e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context:e.Diagnostics.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return vi(r.exclamationToken,n)}(X0}function Hs(r,n,t,o,s){var f=e.getSourceFileOfNode(r);if(!Sg(f)){var S=e.getSpanOfTokenAtPosition(f,r.pos);return de.add(e.createFileDiagnostic(f,S.start,S.length,n,t,o,s)),!0}return!1}function Jp(r,n,t,o,s,f,S){var ee=e.getSourceFileOfNode(r);return Sg(ee)?!1:(de.add(e.createFileDiagnostic(ee,n,t,o,s,f,S)),!0)}function gB(r,n,t,o,s,f){var S=e.getSourceFileOfNode(n);return Sg(S)?!1:(xl(r,n,t,o,s,f),!0)}function vi(r,n,t,o,s){var f=e.getSourceFileOfNode(r);return Sg(f)?!1:(de.add(e.createDiagnosticForNode(r,n,t,o,s)),!0)}function mB(r){var n=e.isInJSFile(r)?e.getJSDocTypeParameterDeclarations(r):void 0,t=r.typeParameters||n&&e.firstOrUndefined(n);if(t){var o=t.pos===t.end?t.pos:e.skipTrivia(e.getSourceFileOfNode(r).text,t.pos);return Jp(r,o,t.end-o,e.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration)}}function vB(r){var n=r.type||e.getEffectiveReturnTypeNode(r);if(n)return vi(n,e.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration)}function hB(r){if(e.isComputedPropertyName(r.name)&&e.isBinaryExpression(r.name.expression)&&r.name.expression.operatorToken.kind===101)return vi(r.parent.members[0],e.Diagnostics.A_mapped_type_may_not_declare_properties_or_methods);if(e.isClassLike(r.parent)){if(e.isStringLiteral(r.name)&&r.name.text==="constructor")return vi(r.name,e.Diagnostics.Classes_may_not_have_a_field_named_constructor);if(Iv(r.name,e.Diagnostics.A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type))return!0;if(y<2&&e.isPrivateIdentifier(r.name))return vi(r.name,e.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(y<2&&e.isAutoAccessorPropertyDeclaration(r))return vi(r.name,e.Diagnostics.Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(e.isAutoAccessorPropertyDeclaration(r)&&jx(r.questionToken,e.Diagnostics.An_accessor_property_cannot_be_declared_optional))return!0}else if(r.parent.kind===261){if(Iv(r.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type))return!0;if(e.Debug.assertNode(r,e.isPropertySignature),r.initializer)return vi(r.initializer,e.Diagnostics.An_interface_property_cannot_have_an_initializer)}else if(e.isTypeLiteralNode(r.parent)){if(Iv(r.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type))return!0;if(e.Debug.assertNode(r,e.isPropertySignature),r.initializer)return vi(r.initializer,e.Diagnostics.A_type_literal_property_cannot_have_an_initializer)}if(r.flags&16777216&&N4(r),e.isPropertyDeclaration(r)&&r.exclamationToken&&(!e.isClassLike(r.parent)||!r.type||r.initializer||r.flags&16777216||e.isStatic(r)||e.hasAbstractModifier(r))){var n=r.initializer?e.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:r.type?e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context:e.Diagnostics.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return vi(r.exclamationToken,n)}}function yB(r){return r.kind===261||r.kind===262||r.kind===269||r.kind===268||r.kind===275||r.kind===274||r.kind===267||e.hasSyntacticModifier(r,1027)?!1:Hs(r,e.Diagnostics.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier)}function DB(r){for(var n=0,t=r.statements;n=1?n=e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:e.isChildOfNodeWithKind(r,198)?n=e.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:e.isChildOfNodeWithKind(r,302)&&(n=e.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0),n){var t=e.isPrefixUnaryExpression(r.parent)&&r.parent.operator===40,o=(t?"-":"")+"0o"+r.text;return vi(t?r.parent:r,n,o)}}return SB(r),!1}function SB(r){var n=e.getTextOfNode(r).indexOf(".")!==-1,t=r.numericLiteralFlags&16;if(!(n||t)){var o=+r.text;o<=Math.pow(2,53)-1||ff(!1,e.createDiagnosticForNode(r,e.Diagnostics.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers))}}function xB(r){var n=e.isLiteralTypeNode(r.parent)||e.isPrefixUnaryExpression(r.parent)&&e.isLiteralTypeNode(r.parent.parent);return!!(!n&&y<7&&vi(r,e.Diagnostics.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020))}function CB(r,n,t,o,s){var f=e.getSourceFileOfNode(r);if(!Sg(f)){var S=e.getSpanOfTokenAtPosition(f,r.pos);return de.add(e.createFileDiagnostic(f,e.textSpanEnd(S),0,n,t,o,s)),!0}return!1}function EB(){return Br||(Br=[],en.forEach(function(r,n){i.test(n)&&Br.push(r)})),Br}function TB(r){var n;return r.isTypeOnly&&r.name&&r.namedBindings?vi(r,e.Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both):r.isTypeOnly&&((n=r.namedBindings)===null||n===void 0?void 0:n.kind)===272?O4(r.namedBindings):!1}function O4(r){return!!e.forEach(r.elements,function(n){if(n.isTypeOnly)return Hs(n,n.kind===273?e.Diagnostics.The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:e.Diagnostics.The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement)})}function kB(r){if(X===e.ModuleKind.ES2015)return vi(r,e.Diagnostics.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext);if(r.typeArguments)return vi(r,e.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments);var n=r.arguments;if(X!==e.ModuleKind.ESNext&&X!==e.ModuleKind.NodeNext&&X!==e.ModuleKind.Node16&&($g(n),n.length>1)){var t=n[1];return vi(t,e.Diagnostics.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext)}if(n.length===0||n.length>2)return vi(r,e.Diagnostics.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments);var o=e.find(n,e.isSpreadElement);return o?vi(o,e.Diagnostics.Argument_of_dynamic_import_cannot_be_spread_element):!1}function AB(r,n){var t=e.getObjectFlags(r);if(t&20&&n.flags&1048576)return e.find(n.types,function(o){if(o.flags&524288){var s=t&e.getObjectFlags(o);if(s&4)return r.target===o.target;if(s&16)return!!r.aliasSymbol&&r.aliasSymbol===o.aliasSymbol}return!1})}function NB(r,n){if(e.getObjectFlags(r)&128&&Xf(n,Xd))return e.find(n.types,function(t){return!Xd(t)})}function PB(r,n){var t=0,o=da(r,t).length>0||(t=1,da(r,t).length>0);if(o)return e.find(n.types,function(s){return da(s,t).length>0})}function IB(r,n){var t;if(!(r.flags&406978556))for(var o=0,s=0,f=n.types;s=o&&(t=S,o=_e)}}}return t}function wB(r){if(ss(r,67108864)){var n=Ys(r,function(t){return!(t.flags&131068)});if(!(n.flags&131072))return n}return r}function F4(r,n,t,o){if(n.flags&1048576&&r.flags&2621440){var s=ok(n,r);if(s)return s;var f=yo(r);if(f){var S=ak(f,n);if(S)return Lb(n,e.map(S,function(ee){return[function(){return Li(ee)},ee.escapedName]}),t,void 0,o)}}}}e.createTypeChecker=Q;function j(T){return!e.isAccessor(T)}function I(T){return T.kind!==259&&T.kind!==171||!!T.body}function L(T){switch(T.parent.kind){case 273:case 278:return e.isIdentifier(T);default:return e.isDeclarationName(T)}}var V;(function(T){T.JSX="JSX",T.IntrinsicElements="IntrinsicElements",T.ElementClass="ElementClass",T.ElementAttributesPropertyNameContainer="ElementAttributesProperty",T.ElementChildrenAttributeNameContainer="ElementChildrenAttribute",T.Element="Element",T.IntrinsicAttributes="IntrinsicAttributes",T.IntrinsicClassAttributes="IntrinsicClassAttributes",T.LibraryManagedAttributes="LibraryManagedAttributes"})(V||(V={}));function ne(T){switch(T){case 0:return"yieldType";case 1:return"returnType";case 2:return"nextType"}}function se(T){return!!(T.flags&1)}e.signatureHasRestParameter=se;function De(T){return!!(T.flags&2)}e.signatureHasLiteralTypes=De})(fr||(fr={}));var fr;(function(e){var i;function l(J,d,D,C){if(J===void 0||d===void 0)return J;var k=d(J);if(k===J)return J;var R;if(k!==void 0)return e.isArray(k)?R=(C||x)(k):R=k,e.Debug.assertNode(R,D),R}e.visitNode=l;function _(J,d,D,C,k){if(J===void 0||d===void 0)return J;var R=J.length;(C===void 0||C<0)&&(C=0),(k===void 0||k>R-C)&&(k=R-C);var M,ge=-1,ve=-1;C>0||kR-C)&&(k=R-C),p(J,d,D,C,k)}e.visitArray=h;function p(J,d,D,C,k){var R,M=J.length;(C>0||k=2&&(k=U(k,D)),D.setLexicalEnvironmentFlags(1,!1)),D.suspendLexicalEnvironment(),k}e.visitParameterList=z;function U(J,d){for(var D,C=0;Cer||B===er&&G>wr)}function Ee(Je,er,wr,mr,We,a){e.Debug.assert(Je>=W,"generatedLine cannot backtrack"),e.Debug.assert(er>=0,"generatedCharacter cannot be negative"),e.Debug.assert(wr===void 0||wr>=0,"sourceIndex cannot be negative"),e.Debug.assert(mr===void 0||mr>=0,"sourceLine cannot be negative"),e.Debug.assert(We===void 0||We>=0,"sourceCharacter cannot be negative"),N(),(Ce(Je,er)||ze(wr,mr,We))&&(y(),W=Je,u=er,ae=!1,Me=!1,me=!0),wr!==void 0&&mr!==void 0&&We!==void 0&&(O=wr,B=mr,G=We,ae=!0,a!==void 0&&($=a,Me=!0)),K()}function Le(Je,er,wr,mr,We,a){e.Debug.assert(Je>=W,"generatedLine cannot backtrack"),e.Debug.assert(er>=0,"generatedCharacter cannot be negative"),N();for(var qr=[],ln,dr=g(wr.mappings),vr=dr.next();!vr.done;vr=dr.next()){var kr=vr.value;if(a&&(kr.generatedLine>a.line||kr.generatedLine===a.line&&kr.generatedCharacter>a.character))break;if(!(We&&(kr.generatedLine=1024&&X()}function y(){if(!(!me||!be())){if(N(),ne0&&(V+=String.fromCharCode.apply(void 0,L),L.length=0)}function Ae(){return y(),X(),{version:3,file:R,sourceRoot:M,sources:b,names:j,mappings:V,sourcesContent:Q}}function Te(Je){Je<0?Je=(-Je<<1)+1:Je=Je<<1;do{var er=Je&31;Je=Je>>5,Je>0&&(er=er|32),ue(ce(er))}while(Je>0)}}e.createSourceMapGenerator=i;var l=/^\/\/[@#] source[M]appingURL=(.+)\r?\n?$/,_=/^\s*(\/\/[@#] .*)?$/;function h(k,R){return{getLineCount:function(){return R.length},getLineText:function(M){return k.substring(R[M],R[M+1])}}}e.getLineInfo=h;function p(k){for(var R=k.getLineCount()-1;R>=0;R--){var M=k.getLineText(R),ge=l.exec(M);if(ge)return e.trimStringEnd(ge[1]);if(!M.match(_))break}}e.tryGetSourceMappingURL=p;function P(k){return typeof k=="string"||k===null}function z(k){return k!==null&&typeof k=="object"&&k.version===3&&typeof k.file=="string"&&typeof k.mappings=="string"&&e.isArray(k.sources)&&e.every(k.sources,e.isString)&&(k.sourceRoot===void 0||k.sourceRoot===null||typeof k.sourceRoot=="string")&&(k.sourcesContent===void 0||k.sourcesContent===null||e.isArray(k.sourcesContent)&&e.every(k.sourcesContent,P))&&(k.names===void 0||k.names===null||e.isArray(k.names)&&e.every(k.names,e.isString))}e.isRawSourceMap=z;function U(k){try{var R=JSON.parse(k);if(z(R))return R}catch{}}e.tryParseRawSourceMap=U;function g(k){var R=!1,M=0,ge=0,ve=0,re=0,N=0,K=0,q=0,b;return{get pos(){return M},get error(){return b},get state(){return F(!0,!0)},next:function(){for(;!R&&M=k.length)return j("Error in decoding base64VLQFormatDecode, past the mapping string"),-1;var w=Z(k.charCodeAt(M));if(w===-1)return j("Invalid character in VLQ"),-1;se=(w&32)!==0,T=T|(w&31)<>1,T=-T):T=T>>1,T}}e.decodeMappings=g;function v(k,R){return k===R||k.generatedLine===R.generatedLine&&k.generatedCharacter===R.generatedCharacter&&k.sourceIndex===R.sourceIndex&&k.sourceLine===R.sourceLine&&k.sourceCharacter===R.sourceCharacter&&k.nameIndex===R.nameIndex}e.sameMapping=v;function Y(k){return k.sourceIndex!==void 0&&k.sourceLine!==void 0&&k.sourceCharacter!==void 0}e.isSourceMapping=Y;function ce(k){return k>=0&&k<26?65+k:k>=26&&k<52?97+k-26:k>=52&&k<62?48+k-52:k===62?43:k===63?47:e.Debug.fail("".concat(k,": not a base64 value"))}function Z(k){return k>=65&&k<=90?k-65:k>=97&&k<=122?k-97+26:k>=48&&k<=57?k-48+52:k===43?62:k===47?63:-1}function ie(k){return k.sourceIndex!==void 0&&k.sourcePosition!==void 0}function te(k,R){return k.generatedPosition===R.generatedPosition&&k.sourceIndex===R.sourceIndex&&k.sourcePosition===R.sourcePosition}function x(k,R){return e.Debug.assert(k.sourceIndex===R.sourceIndex),e.compareValues(k.sourcePosition,R.sourcePosition)}function J(k,R){return e.compareValues(k.generatedPosition,R.generatedPosition)}function d(k){return k.sourcePosition}function D(k){return k.generatedPosition}function C(k,R,M){var ge=e.getDirectoryPath(M),ve=R.sourceRoot?e.getNormalizedAbsolutePath(R.sourceRoot,ge):ge,re=e.getNormalizedAbsolutePath(R.file,ge),N=k.getSourceFileLike(re),K=R.sources.map(function(De){return e.getNormalizedAbsolutePath(De,ve)}),q=new e.Map(K.map(function(De,T){return[k.getCanonicalFileName(De),T]})),b,F,Q;return{getSourcePosition:se,getGeneratedPosition:ne};function j(De){var T=N!==void 0?e.getPositionOfLineAndCharacter(N,De.generatedLine,De.generatedCharacter,!0):-1,w,A;if(Y(De)){var oe=k.getSourceFileLike(K[De.sourceIndex]);w=R.sources[De.sourceIndex],A=oe!==void 0?e.getPositionOfLineAndCharacter(oe,De.sourceLine,De.sourceCharacter,!0):-1}return{generatedPosition:T,source:w,sourceIndex:De.sourceIndex,sourcePosition:A,nameIndex:De.nameIndex}}function I(){if(b===void 0){var De=g(R.mappings),T=e.arrayFrom(De,j);De.error!==void 0?(k.log&&k.log("Encountered error while decoding sourcemap: ".concat(De.error)),b=e.emptyArray):b=T}return b}function L(De){if(Q===void 0){for(var T=[],w=0,A=I();w0&&Q!==F.elements.length||!!(F.elements.length-Q)&&e.isDefaultImport(b)}e.getImportNeedsImportStarHelper=P;function z(b){return!P(b)&&(e.isDefaultImport(b)||!!b.importClause&&e.isNamedImports(b.importClause.namedBindings)&&l(b.importClause.namedBindings))}e.getImportNeedsImportDefaultHelper=z;function U(b,F,Q,j){for(var I=[],L=e.createMultiMap(),V=[],ne=new e.Map,se,De=!1,T,w=!1,A=!1,oe=!1,W=0,u=F.statements;W=64&&b<=78}e.isCompoundAssignment=Z;function ie(b){switch(b){case 64:return 39;case 65:return 40;case 66:return 41;case 67:return 42;case 68:return 43;case 69:return 44;case 70:return 47;case 71:return 48;case 72:return 49;case 73:return 50;case 74:return 51;case 78:return 52;case 75:return 56;case 76:return 55;case 77:return 60}}e.getNonAssignmentOperatorForCompoundAssignment=ie;function te(b){if(e.isExpressionStatement(b)){var F=e.skipParentheses(b.expression);return e.isSuperCall(F)?F:void 0}}e.getSuperCallFromStatement=te;function x(b,F){for(var Q=F;Q0&&e.parameterIsThisKeyword(Q[0]),I=j?1:0,L=j?Q.length-1:Q.length,V=0;V=1&&!(Q.transformFlags&98304)&&!(e.getTargetOfBindingOrAssignmentElement(Q).transformFlags&98304)&&!e.isComputedPropertyName(j))q=e.append(q,e.visitNode(Q,k.visitor));else{q&&(k.emitBindingOrAssignment(k.createObjectBindingOrAssignmentPattern(q),ge,ve,M),q=void 0);var I=Z(k,ge,j);e.isComputedPropertyName(j)&&(b=e.append(b,I.argumentExpression)),U(k,Q,I,Q)}}}q&&k.emitBindingOrAssignment(k.createObjectBindingOrAssignmentPattern(q),ge,ve,M)}function v(k,R,M,ge,ve){var re=e.getElementsOfBindingOrAssignmentPattern(M),N=re.length;if(k.level<1&&k.downlevelIteration)ge=ie(k,e.setTextRange(k.context.getEmitHelperFactory().createReadHelper(ge,N>0&&e.getRestIndicatorOfBindingOrAssignmentElement(re[N-1])?void 0:N),ve),!1,ve);else if(N!==1&&(k.level<1||N===0)||e.every(re,e.isOmittedExpression)){var K=!e.isDeclarationBindingElement(R)||N!==0;ge=ie(k,ge,K,ve)}for(var q,b,F=0;F=1)if(Q.transformFlags&65536||k.hasTransformedPriorElement&&!Y(Q)){k.hasTransformedPriorElement=!0;var j=k.context.factory.createTempVariable(void 0);k.hoistTempVariables&&k.context.hoistVariableDeclaration(j),b=e.append(b,[j,Q]),q=e.append(q,k.createArrayBindingOrAssignmentElement(j))}else q=e.append(q,Q);else{if(e.isOmittedExpression(Q))continue;if(e.getRestIndicatorOfBindingOrAssignmentElement(Q)){if(F===N-1){var I=k.context.factory.createArraySliceCall(ge,F);U(k,Q,I,Q)}}else{var I=k.context.factory.createElementAccessExpression(ge,F);U(k,Q,I,Q)}}}if(q&&k.emitBindingOrAssignment(k.createArrayBindingOrAssignmentPattern(q),ge,ve,M),b)for(var L=0,V=b;L=e.ModuleKind.ES2015)&&!e.isJsonSourceFile(Ke);return P.updateSourceFile(Ke,e.visitLexicalEnvironment(Ke.statements,I,p,0,cn))}function O(Ke){return P.updateObjectLiteralExpression(Ke,e.visitNodes(Ke.properties,w(Ke),e.isObjectLiteralElement))}function B(Ke,cn){var Vn=0;e.some(cn)&&(Vn|=1);var $i=e.getEffectiveBaseTypeNode(Ke);return $i&&e.skipOuterExpressions($i.expression).kind!==104&&(Vn|=64),e.classOrConstructorParameterIsDecorated(Ke)&&(Vn|=2),e.childIsDecorated(Ke)&&(Vn|=4),Fr(Ke)?Vn|=8:Wr(Ke)?Vn|=32:fn(Ke)&&(Vn|=16),ie<=1&&Vn&7&&(Vn|=128),Vn}function G(Ke){return!!(Ke.transformFlags&8192)}function $(Ke){return e.hasDecorators(Ke)||e.some(Ke.typeParameters)||e.some(Ke.heritageClauses,G)||e.some(Ke.members,G)}function me(Ke){if(!$(Ke)&&!(C&&e.hasSyntacticModifier(Ke,1)))return P.updateClassDeclaration(Ke,e.visitNodes(Ke.modifiers,oe,e.isModifier),Ke.name,void 0,e.visitNodes(Ke.heritageClauses,Q,e.isHeritageClause),e.visitNodes(Ke.members,De(Ke),e.isClassElement));var cn=e.getProperties(Ke,!0,!0),Vn=B(Ke,cn);Vn&128&&p.startLexicalEnvironment();var $i=Ke.name||(Vn&5?P.getGeneratedNameForNode(Ke):void 0),pt=e.getAllDecoratorsOfClass(Ke),Hi=Oe(Ke,Ke,pt),Ci=Vn&128?e.elideNodes(P,Ke.modifiers):e.visitNodes(Ke.modifiers,oe,e.isModifier),Tt=P.updateClassDeclaration(Ke,e.concatenate(Hi,Ci),$i,void 0,e.visitNodes(Ke.heritageClauses,Q,e.isHeritageClause),Me(Ke)),st=e.getEmitFlags(Ke);Vn&1&&(st|=32),e.setEmitFlags(Tt,st);var Yi=[Tt];if(Vn&128){var ii=e.createTokenRange(e.skipTrivia(D.text,Ke.members.end),19),qa=P.getInternalName(Ke),za=P.createPartiallyEmittedExpression(qa);e.setTextRangeEnd(za,ii.end),e.setEmitFlags(za,1536);var Wa=P.createReturnStatement(za);e.setTextRangePos(Wa,ii.pos),e.setEmitFlags(Wa,1920),Yi.push(Wa),e.insertStatementsAfterStandardPrologue(Yi,p.endLexicalEnvironment());var Ao=P.createImmediatelyInvokedArrowFunction(Yi);e.setEmitFlags(Ao,33554432);var ka=P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(P.getLocalName(Ke,!1,!1),void 0,void 0,Ao)]));e.setOriginalNode(ka,Ke),e.setCommentRange(ka,Ke),e.setSourceMapRange(ka,e.moveRangePastDecorators(Ke)),e.startOnNewLine(ka),Yi=[ka]}return Vn&8?Wn(Yi,Ke):(Vn&128||Vn&2)&&(Vn&32?Yi.push(P.createExportDefault(P.getLocalName(Ke,!1,!0))):Vn&16&&Yi.push(P.createExternalModuleExport(P.getLocalName(Ke,!1,!0)))),Yi.length>1&&(Yi.push(P.createEndOfDeclarationMarker(Ke)),e.setEmitFlags(Tt,e.getEmitFlags(Tt)|4194304)),e.singleOrMany(Yi)}function ae(Ke){var cn=e.getAllDecoratorsOfClass(Ke),Vn=Oe(Ke,Ke,cn);return P.updateClassExpression(Ke,Vn,Ke.name,void 0,e.visitNodes(Ke.heritageClauses,Q,e.isHeritageClause),$(Ke)?Me(Ke):e.visitNodes(Ke.members,De(Ke),e.isClassElement))}function Me(Ke){var cn=[],Vn=e.getFirstConstructorWithBody(Ke),$i=Vn&&e.filter(Vn.parameters,function(Tt){return e.isParameterPropertyDeclaration(Tt,Vn)});if($i)for(var pt=0,Hi=$i;pt=0&&e.addRange($i,e.visitNodes(Ke.statements,Q,e.isStatement,pt,Hi+1-pt));var Ci=e.mapDefined(Vn,mr);Hi>=0?e.addRange($i,Ci):$i=Hn(Hn(Hn([],$i.slice(0,pt),!0),Ci,!0),$i.slice(pt),!0);var Tt=Hi>=0?Hi+1:pt;e.addRange($i,e.visitNodes(Ke.statements,Q,e.isStatement,Tt)),$i=P.mergeLexicalEnvironment($i,v());var st=P.createBlock(e.setTextRange(P.createNodeArray($i),Ke.statements),!0);return e.setTextRange(st,Ke),e.setOriginalNode(st,Ke),st}function mr(Ke){var cn=Ke.name;if(e.isIdentifier(cn)){var Vn=e.setParent(e.setTextRange(P.cloneNode(cn),cn),cn.parent);e.setEmitFlags(Vn,1584);var $i=e.setParent(e.setTextRange(P.cloneNode(cn),cn),cn.parent);return e.setEmitFlags($i,1536),e.startOnNewLine(e.removeAllComments(e.setTextRange(e.setOriginalNode(P.createExpressionStatement(P.createAssignment(e.setTextRange(P.createPropertyAccessExpression(P.createThis(),Vn),Ke.name),$i)),Ke),e.moveRangePos(Ke,-1))))}}function We(Ke,cn){if(!(Ke.transformFlags&1))return Ke;if(Te(Ke)){var Vn=e.isClassLike(cn)?e.getAllDecoratorsOfClassElement(Ke,cn):void 0,$i=e.isClassLike(cn)?Oe(Ke,cn,Vn):void 0;return P.updateMethodDeclaration(Ke,e.concatenate($i,e.visitNodes(Ke.modifiers,oe,e.isModifierLike)),Ke.asteriskToken,y(Ke),void 0,void 0,e.visitParameterList(Ke.parameters,Q,p),void 0,e.visitFunctionBody(Ke.body,Q,p))}}function a(Ke){return!(e.nodeIsMissing(Ke.body)&&e.hasSyntacticModifier(Ke,256))}function qr(Ke,cn){if(!(Ke.transformFlags&1))return Ke;if(a(Ke)){var Vn=e.isClassLike(cn)?Oe(Ke,cn,e.getAllDecoratorsOfClassElement(Ke,cn)):void 0;return P.updateGetAccessorDeclaration(Ke,e.concatenate(Vn,e.visitNodes(Ke.modifiers,oe,e.isModifierLike)),y(Ke),e.visitParameterList(Ke.parameters,Q,p),void 0,e.visitFunctionBody(Ke.body,Q,p)||P.createBlock([]))}}function ln(Ke,cn){if(!(Ke.transformFlags&1))return Ke;if(a(Ke)){var Vn=e.isClassLike(cn)?Oe(Ke,cn,e.getAllDecoratorsOfClassElement(Ke,cn)):void 0;return P.updateSetAccessorDeclaration(Ke,e.concatenate(Vn,e.visitNodes(Ke.modifiers,oe,e.isModifierLike)),y(Ke),e.visitParameterList(Ke.parameters,Q,p),e.visitFunctionBody(Ke.body,Q,p)||P.createBlock([]))}}function dr(Ke){if(!Te(Ke))return P.createNotEmittedStatement(Ke);var cn=P.updateFunctionDeclaration(Ke,e.visitNodes(Ke.modifiers,oe,e.isModifier),Ke.asteriskToken,Ke.name,void 0,e.visitParameterList(Ke.parameters,Q,p),void 0,e.visitFunctionBody(Ke.body,Q,p)||P.createBlock([]));if(Fr(Ke)){var Vn=[cn];return Wn(Vn,Ke),Vn}return cn}function vr(Ke){if(!Te(Ke))return P.createOmittedExpression();var cn=P.updateFunctionExpression(Ke,e.visitNodes(Ke.modifiers,oe,e.isModifier),Ke.asteriskToken,Ke.name,void 0,e.visitParameterList(Ke.parameters,Q,p),void 0,e.visitFunctionBody(Ke.body,Q,p)||P.createBlock([]));return cn}function kr(Ke){var cn=P.updateArrowFunction(Ke,e.visitNodes(Ke.modifiers,oe,e.isModifier),void 0,e.visitParameterList(Ke.parameters,Q,p),void 0,Ke.equalsGreaterThanToken,e.visitFunctionBody(Ke.body,Q,p));return cn}function jr(Ke){if(!e.parameterIsThisKeyword(Ke)){var cn=P.updateParameterDeclaration(Ke,e.elideNodes(P,Ke.modifiers),Ke.dotDotDotToken,e.visitNode(Ke.name,Q,e.isBindingName),void 0,void 0,e.visitNode(Ke.initializer,Q,e.isExpression));return cn!==Ke&&(e.setCommentRange(cn,Ke),e.setTextRange(cn,e.moveRangePastModifiers(Ke)),e.setSourceMapRange(cn,e.moveRangePastModifiers(Ke)),e.setEmitFlags(cn.name,32)),cn}}function Cr(Ke){if(Fr(Ke)){var cn=e.getInitializedVariables(Ke.declarationList);return cn.length===0?void 0:e.setTextRange(P.createExpressionStatement(P.inlineExpressions(e.map(cn,en))),Ke)}else return e.visitEachChild(Ke,Q,p)}function en(Ke){var cn=Ke.name;return e.isBindingPattern(cn)?e.flattenDestructuringAssignment(Ke,Q,p,0,!1,qn):e.setTextRange(P.createAssignment(hn(cn),e.visitNode(Ke.initializer,Q,e.isExpression)),Ke)}function Lr(Ke){var cn=P.updateVariableDeclaration(Ke,e.visitNode(Ke.name,Q,e.isBindingName),void 0,void 0,e.visitNode(Ke.initializer,Q,e.isExpression));return Ke.type&&e.setTypeNode(cn.name,Ke.type),cn}function pn(Ke){var cn=e.skipOuterExpressions(Ke.expression,-7);if(e.isAssertionExpression(cn)){var Vn=e.visitNode(Ke.expression,Q,e.isExpression);return P.createPartiallyEmittedExpression(Vn,Ke)}return e.visitEachChild(Ke,Q,p)}function ye(Ke){var cn=e.visitNode(Ke.expression,Q,e.isExpression);return P.createPartiallyEmittedExpression(cn,Ke)}function or(Ke){var cn=e.visitNode(Ke.expression,Q,e.isLeftHandSideExpression);return P.createPartiallyEmittedExpression(cn,Ke)}function Pe(Ke){var cn=e.visitNode(Ke.expression,Q,e.isExpression);return P.createPartiallyEmittedExpression(cn,Ke)}function Ve(Ke){return P.updateCallExpression(Ke,e.visitNode(Ke.expression,Q,e.isExpression),void 0,e.visitNodes(Ke.arguments,Q,e.isExpression))}function Ar(Ke){return P.updateNewExpression(Ke,e.visitNode(Ke.expression,Q,e.isExpression),void 0,e.visitNodes(Ke.arguments,Q,e.isExpression))}function ke(Ke){return P.updateTaggedTemplateExpression(Ke,e.visitNode(Ke.tag,Q,e.isExpression),void 0,e.visitNode(Ke.template,Q,e.isExpression))}function cr(Ke){return P.updateJsxSelfClosingElement(Ke,e.visitNode(Ke.tagName,Q,e.isJsxTagNameExpression),void 0,e.visitNode(Ke.attributes,Q,e.isJsxAttributes))}function Mr(Ke){return P.updateJsxOpeningElement(Ke,e.visitNode(Ke.tagName,Q,e.isJsxTagNameExpression),void 0,e.visitNode(Ke.attributes,Q,e.isJsxAttributes))}function Rr(Ke){return!e.isEnumConst(Ke)||e.shouldPreserveConstEnums(Z)}function $r(Ke){if(!Rr(Ke))return P.createNotEmittedStatement(Ke);var cn=[],Vn=2,$i=Zn(cn,Ke);$i&&(te!==e.ModuleKind.System||R!==D)&&(Vn|=512);var pt=Kn(Ke),Hi=Ai(Ke),Ci=e.hasSyntacticModifier(Ke,1)?P.getExternalModuleOrNamespaceExportName(k,Ke,!1,!0):P.getLocalName(Ke,!1,!0),Tt=P.createLogicalOr(Ci,P.createAssignment(Ci,P.createObjectLiteralExpression()));if(xr(Ke)){var st=P.getLocalName(Ke,!1,!0);Tt=P.createAssignment(st,Tt)}var Yi=P.createExpressionStatement(P.createCallExpression(P.createFunctionExpression(void 0,void 0,void 0,void 0,[P.createParameterDeclaration(void 0,void 0,pt)],void 0,nn(Ke,Hi)),void 0,[Tt]));return e.setOriginalNode(Yi,Ke),$i&&(e.setSyntheticLeadingComments(Yi,void 0),e.setSyntheticTrailingComments(Yi,void 0)),e.setTextRange(Yi,Ke),e.addEmitFlags(Yi,Vn),cn.push(Yi),cn.push(P.createEndOfDeclarationMarker(Ke)),cn}function nn(Ke,cn){var Vn=k;k=cn;var $i=[];U();var pt=e.map(Ke.members,vn);return e.insertStatementsAfterStandardPrologue($i,v()),e.addRange($i,pt),k=Vn,P.createBlock(e.setTextRange(P.createNodeArray($i),Ke.members),!0)}function vn(Ke){var cn=ue(Ke,!1),Vn=Fe(Ke),$i=P.createAssignment(P.createElementAccessExpression(k,cn),Vn),pt=Vn.kind===10?$i:P.createAssignment(P.createElementAccessExpression(k,$i),cn);return e.setTextRange(P.createExpressionStatement(e.setTextRange(pt,Ke)),Ke)}function Fe(Ke){var cn=ce.getConstantValue(Ke);return cn!==void 0?typeof cn=="string"?P.createStringLiteral(cn):P.createNumericLiteral(cn):(ai(),Ke.initializer?e.visitNode(Ke.initializer,Q,e.isExpression):P.createVoidZero())}function Ge(Ke){var cn=e.getParseTreeNode(Ke,e.isModuleDeclaration);return cn?e.isInstantiatedModule(cn,e.shouldPreserveConstEnums(Z)):!0}function xr(Ke){return Fr(Ke)||Vr(Ke)&&te!==e.ModuleKind.ES2015&&te!==e.ModuleKind.ES2020&&te!==e.ModuleKind.ES2022&&te!==e.ModuleKind.ESNext&&te!==e.ModuleKind.System}function Ur(Ke){M||(M=new e.Map);var cn=Nn(Ke);M.has(cn)||M.set(cn,Ke)}function En(Ke){if(M){var cn=Nn(Ke);return M.get(cn)===Ke}return!0}function Nn(Ke){return e.Debug.assertNode(Ke.name,e.isIdentifier),Ke.name.escapedText}function Zn(Ke,cn){var Vn=P.createVariableStatement(e.visitNodes(cn.modifiers,oe,e.isModifier),P.createVariableDeclarationList([P.createVariableDeclaration(P.getLocalName(cn,!1,!0))],R.kind===308?0:1));if(e.setOriginalNode(Vn,cn),Ur(cn),En(cn))return cn.kind===263?e.setSourceMapRange(Vn.declarationList,cn):e.setSourceMapRange(Vn,cn),e.setCommentRange(Vn,cn),e.addEmitFlags(Vn,4195328),Ke.push(Vn),!0;var $i=P.createMergeDeclarationMarker(Vn);return e.setEmitFlags($i,4195840),Ke.push($i),!1}function fi(Ke){if(!Ge(Ke))return P.createNotEmittedStatement(Ke);e.Debug.assertNode(Ke.name,e.isIdentifier,"A TypeScript namespace should have an Identifier name."),Ki();var cn=[],Vn=2,$i=Zn(cn,Ke);$i&&(te!==e.ModuleKind.System||R!==D)&&(Vn|=512);var pt=Kn(Ke),Hi=Ai(Ke),Ci=e.hasSyntacticModifier(Ke,1)?P.getExternalModuleOrNamespaceExportName(k,Ke,!1,!0):P.getLocalName(Ke,!1,!0),Tt=P.createLogicalOr(Ci,P.createAssignment(Ci,P.createObjectLiteralExpression()));if(xr(Ke)){var st=P.getLocalName(Ke,!1,!0);Tt=P.createAssignment(st,Tt)}var Yi=P.createExpressionStatement(P.createCallExpression(P.createFunctionExpression(void 0,void 0,void 0,void 0,[P.createParameterDeclaration(void 0,void 0,pt)],void 0,Dr(Ke,Hi)),void 0,[Tt]));return e.setOriginalNode(Yi,Ke),$i&&(e.setSyntheticLeadingComments(Yi,void 0),e.setSyntheticTrailingComments(Yi,void 0)),e.setTextRange(Yi,Ke),e.addEmitFlags(Yi,Vn),cn.push(Yi),cn.push(P.createEndOfDeclarationMarker(Ke)),cn}function Dr(Ke,cn){var Vn=k,$i=C,pt=M;k=cn,C=Ke,M=void 0;var Hi=[];U();var Ci,Tt;if(Ke.body)if(Ke.body.kind===265)b(Ke.body,function(qa){return e.addRange(Hi,e.visitNodes(qa.statements,ne,e.isStatement))}),Ci=Ke.body.statements,Tt=Ke.body;else{var st=fi(Ke.body);st&&(e.isArray(st)?e.addRange(Hi,st):Hi.push(st));var Yi=Pr(Ke).body;Ci=e.moveRangePos(Yi.statements,-1)}e.insertStatementsAfterStandardPrologue(Hi,v()),k=Vn,C=$i,M=pt;var ii=P.createBlock(e.setTextRange(P.createNodeArray(Hi),Ci),!0);return e.setTextRange(ii,Tt),(!Ke.body||Ke.body.kind!==265)&&e.setEmitFlags(ii,e.getEmitFlags(ii)|1536),ii}function Pr(Ke){if(Ke.body.kind===264){var cn=Pr(Ke.body);return cn||Ke.body}}function Jr(Ke){if(!Ke.importClause)return Ke;if(!Ke.importClause.isTypeOnly){var cn=e.visitNode(Ke.importClause,sn,e.isImportClause);return cn||Z.importsNotUsedAsValues===1||Z.importsNotUsedAsValues===2?P.updateImportDeclaration(Ke,void 0,cn,Ke.moduleSpecifier,Ke.assertClause):void 0}}function sn(Ke){e.Debug.assert(!Ke.isTypeOnly);var cn=Qn(Ke)?Ke.name:void 0,Vn=e.visitNode(Ke.namedBindings,Ue,e.isNamedImportBindings);return cn||Vn?P.updateImportClause(Ke,!1,cn,Vn):void 0}function Ue(Ke){if(Ke.kind===271)return Qn(Ke)?Ke:void 0;var cn=Z.preserveValueImports&&(Z.importsNotUsedAsValues===1||Z.importsNotUsedAsValues===2),Vn=e.visitNodes(Ke.elements,br,e.isImportSpecifier);return cn||e.some(Vn)?P.updateNamedImports(Ke,Vn):void 0}function br(Ke){return!Ke.isTypeOnly&&Qn(Ke)?Ke:void 0}function Ne(Ke){return ce.isValueAliasDeclaration(Ke)?e.visitEachChild(Ke,Q,p):void 0}function Ze(Ke){if(!Ke.isTypeOnly){if(!Ke.exportClause||e.isNamespaceExport(Ke.exportClause))return Ke;var cn=!!Ke.moduleSpecifier&&(Z.importsNotUsedAsValues===1||Z.importsNotUsedAsValues===2),Vn=e.visitNode(Ke.exportClause,function($i){return Xe($i,cn)},e.isNamedExportBindings);return Vn?P.updateExportDeclaration(Ke,void 0,Ke.isTypeOnly,Vn,Ke.moduleSpecifier,Ke.assertClause):void 0}}function Qe(Ke,cn){var Vn=e.visitNodes(Ke.elements,ar,e.isExportSpecifier);return cn||e.some(Vn)?P.updateNamedExports(Ke,Vn):void 0}function pe(Ke){return P.updateNamespaceExport(Ke,e.visitNode(Ke.name,Q,e.isIdentifier))}function Xe(Ke,cn){return e.isNamespaceExport(Ke)?pe(Ke):Qe(Ke,cn)}function ar(Ke){return!Ke.isTypeOnly&&ce.isValueAliasDeclaration(Ke)?Ke:void 0}function Sr(Ke){return Qn(Ke)||!e.isExternalModule(D)&&ce.isTopLevelValueImportEqualsWithEntityName(Ke)}function pr(Ke){if(!Ke.isTypeOnly){if(e.isExternalModuleImportEqualsDeclaration(Ke)){var cn=Qn(Ke);return!cn&&Z.importsNotUsedAsValues===1?e.setOriginalNode(e.setTextRange(P.createImportDeclaration(void 0,void 0,Ke.moduleReference.expression,void 0),Ke),Ke):cn?e.visitEachChild(Ke,Q,p):void 0}if(Sr(Ke)){var Vn=e.createExpressionFromEntityName(P,Ke.moduleReference);return e.setEmitFlags(Vn,3584),fn(Ke)||!Fr(Ke)?e.setOriginalNode(e.setTextRange(P.createVariableStatement(e.visitNodes(Ke.modifiers,oe,e.isModifier),P.createVariableDeclarationList([e.setOriginalNode(P.createVariableDeclaration(Ke.name,void 0,void 0,Vn),Ke)])),Ke),Ke):e.setOriginalNode(bn(Ke.name,Vn,Ke),Ke)}}}function Fr(Ke){return C!==void 0&&e.hasSyntacticModifier(Ke,1)}function Vr(Ke){return C===void 0&&e.hasSyntacticModifier(Ke,1)}function fn(Ke){return Vr(Ke)&&!e.hasSyntacticModifier(Ke,1024)}function Wr(Ke){return Vr(Ke)&&e.hasSyntacticModifier(Ke,1024)}function Wn(Ke,cn){var Vn=P.createAssignment(P.getExternalModuleOrNamespaceExportName(k,cn,!1,!0),P.getLocalName(cn));e.setSourceMapRange(Vn,e.createRange(cn.name?cn.name.pos:cn.pos,cn.end));var $i=P.createExpressionStatement(Vn);e.setSourceMapRange($i,e.createRange(-1,cn.end)),Ke.push($i)}function bn(Ke,cn,Vn){return e.setTextRange(P.createExpressionStatement(P.createAssignment(P.getNamespaceMemberName(k,Ke,!1,!0),cn)),Vn)}function qn(Ke,cn,Vn){return e.setTextRange(P.createAssignment(hn(Ke),cn),Vn)}function hn(Ke){return P.getNamespaceMemberName(k,Ke,!1,!0)}function Kn(Ke){var cn=P.getGeneratedNameForNode(Ke);return e.setSourceMapRange(cn,Ke.name),cn}function Ai(Ke){return P.getGeneratedNameForNode(Ke)}function ai(){ve&8||(ve|=8,p.enableSubstitution(79))}function Ki(){ve&2||(ve|=2,p.enableSubstitution(79),p.enableSubstitution(300),p.enableEmitNotification(264))}function Ni(Ke){return e.getOriginalNode(Ke).kind===264}function mi(Ke){return e.getOriginalNode(Ke).kind===263}function Pn(Ke,cn,Vn){var $i=re,pt=D;e.isSourceFile(cn)&&(D=cn),ve&2&&Ni(cn)&&(re|=2),ve&8&&mi(cn)&&(re|=8),J(Ke,cn,Vn),re=$i,D=pt}function we(Ke,cn){return cn=d(Ke,cn),Ke===1?Re(cn):e.isShorthandPropertyAssignment(cn)?Ir(cn):cn}function Ir(Ke){if(ve&2){var cn=Ke.name,Vn=Un(cn);if(Vn){if(Ke.objectAssignmentInitializer){var $i=P.createAssignment(Vn,Ke.objectAssignmentInitializer);return e.setTextRange(P.createPropertyAssignment(cn,$i),Ke)}return e.setTextRange(P.createPropertyAssignment(cn,Vn),Ke)}}return Ke}function Re(Ke){switch(Ke.kind){case 79:return yn(Ke);case 208:return gn(Ke);case 209:return rn(Ke)}return Ke}function yn(Ke){return Un(Ke)||Ke}function Un(Ke){if(ve&re&&!e.isGeneratedIdentifier(Ke)&&!e.isLocalName(Ke)){var cn=ce.getReferencedExportContainer(Ke,!1);if(cn&&cn.kind!==308){var Vn=re&2&&cn.kind===264||re&8&&cn.kind===263;if(Vn)return e.setTextRange(P.createPropertyAccessExpression(P.getGeneratedNameForNode(cn),Ke),Ke)}}}function gn(Ke){return Dn(Ke)}function rn(Ke){return Dn(Ke)}function xn(Ke){return Ke.replace(/\*\//g,"*_/")}function Dn(Ke){var cn=On(Ke);if(cn!==void 0){e.setConstantValue(Ke,cn);var Vn=typeof cn=="string"?P.createStringLiteral(cn):P.createNumericLiteral(cn);if(!Z.removeComments){var $i=e.getOriginalNode(Ke,e.isAccessExpression);e.addSyntheticTrailingComment(Vn,3," ".concat(xn(e.getTextOfNode($i))," "))}return Vn}return Ke}function On(Ke){if(!Z.isolatedModules)return e.isPropertyAccessExpression(Ke)||e.isElementAccessExpression(Ke)?ce.getConstantValue(Ke):void 0}function Qn(Ke){return e.isInJSFile(Ke)||(Z.preserveValueImports?ce.isValueAliasDeclaration(Ke):ce.isReferencedAliasDeclaration(Ke))}}e.transformTypeScript=h})(fr||(fr={}));var fr;(function(e){var i;(function(Z){Z[Z.ClassAliases=1]="ClassAliases",Z[Z.ClassStaticThisOrSuperReference=2]="ClassStaticThisOrSuperReference"})(i||(i={}));var l;(function(Z){Z.Field="f",Z.Method="m",Z.Accessor="a"})(l=e.PrivateIdentifierKind||(e.PrivateIdentifierKind={}));var _;(function(Z){Z[Z.None=0]="None",Z[Z.ClassWasDecorated=1]="ClassWasDecorated",Z[Z.NeedsClassConstructorReference=2]="NeedsClassConstructorReference",Z[Z.NeedsClassSuperReference=4]="NeedsClassSuperReference",Z[Z.NeedsSubstitutionForThisInClassStaticField=8]="NeedsSubstitutionForThisInClassStaticField"})(_||(_={}));function h(Z){var ie=Z.factory,te=Z.hoistVariableDeclaration,x=Z.endLexicalEnvironment,J=Z.startLexicalEnvironment,d=Z.resumeLexicalEnvironment,D=Z.addBlockScopedVariable,C=Z.getEmitResolver(),k=Z.getCompilerOptions(),R=e.getEmitScriptTarget(k),M=e.getUseDefineForClassFields(k),ge=!M,ve=M&&R<9,re=ge||ve,N=R<9,K=R<99,q=R<9,b=q&&R>=2,F=re||N||K,Q=Z.onSubstituteNode;Z.onSubstituteNode=Pr;var j=Z.onEmitNode;Z.onEmitNode=Dr;var I,L,V,ne,se=[],De=new e.Map,T,w,A,oe;return e.chainBundle(Z,W);function W(we){if(we.isDeclarationFile||!F)return we;var Ir=e.visitEachChild(we,u,Z);return e.addEmitHelpers(Ir,Z.readEmitHelpers()),Ir}function u(we){if(!(we.transformFlags&16777216)&&!(we.transformFlags&134234112))return we;switch(we.kind){case 127:return K?void 0:we;case 260:return or(we);case 228:return Ve(we);case 172:return ke(we);case 169:return Te(we);case 240:return Se(we);case 80:return Me(we);case 208:return wr(we);case 209:return mr(we);case 221:case 222:return We(we,!1);case 223:return jr(we,!1);case 210:return dr(we);case 241:return qr(we);case 212:return vr(we);case 245:return a(we);case 259:case 215:case 173:case 171:case 174:case 175:return Le(void 0,O,we);default:return O(we)}}function O(we){return e.visitEachChild(we,u,Z)}function B(we){switch(we.kind){case 221:case 222:return We(we,!0);case 223:return jr(we,!0);default:return u(we)}}function G(we){switch(we.kind){case 294:return e.visitEachChild(we,G,Z);case 230:return pn(we);default:return u(we)}}function $(we){switch(we.kind){case 207:case 206:return Pn(we);default:return u(we)}}function me(we){switch(we.kind){case 173:return ze(we);case 174:case 175:case 171:return Le(void 0,Ee,we);case 169:return Le(void 0,Te,we);case 164:return Ce(we);case 237:return we;default:return u(we)}}function ae(we){switch(we.kind){case 169:return Ae(we);case 174:case 175:return me(we);default:e.Debug.assertMissingNode(we,"Expected node to either be a PropertyDeclaration, GetAccessorDeclaration, or SetAccessorDeclaration");break}}function Me(we){return!N||e.isStatement(we.parent)?we:e.setOriginalNode(ie.createIdentifier(""),we)}function Oe(we){return e.isPrivateIdentifier(we.left)&&we.operatorToken.kind===101}function xe(we){var Ir=hn(we.left);if(Ir){var Re=e.visitNode(we.right,u,e.isExpression);return e.setOriginalNode(Z.getEmitHelperFactory().createClassPrivateFieldInHelper(Ir.brandCheckIdentifier,Re),we)}return e.visitEachChild(we,u,Z)}function Se(we){var Ir=ne;ne=[];var Re=e.visitEachChild(we,u,Z),yn=e.some(ne)?Hn([Re],ne,!0):Re;return ne=Ir,yn}function Ce(we){var Ir=e.visitNode(we.expression,u,e.isExpression);return e.some(V)&&(e.isParenthesizedExpression(Ir)?Ir=ie.updateParenthesizedExpression(Ir,ie.inlineExpressions(Hn(Hn([],V,!0),[Ir.expression],!1))):Ir=ie.inlineExpressions(Hn(Hn([],V,!0),[Ir],!1)),V=void 0),ie.updateComputedPropertyName(we,Ir)}function ze(we){return w?$r(we,w):O(we)}function Ee(we){if(e.Debug.assert(!e.hasDecorators(we)),!N||!e.isPrivateIdentifier(we.name))return e.visitEachChild(we,me,Z);var Ir=hn(we.name);if(e.Debug.assert(Ir,"Undeclared private name for property declaration."),!Ir.isValid)return we;var Re=be(we);Re&&ar().push(ie.createAssignment(Re,ie.createFunctionExpression(e.filter(we.modifiers,function(yn){return e.isModifier(yn)&&!e.isStaticModifier(yn)&&!e.isAccessorModifier(yn)}),we.asteriskToken,Re,void 0,e.visitParameterList(we.parameters,u,Z),void 0,e.visitFunctionBody(we.body,u,Z))))}function Le(we,Ir,Re){var yn=oe;oe=we;var Un=Ir(Re);return oe=yn,Un}function be(we){e.Debug.assert(e.isPrivateIdentifier(we.name));var Ir=hn(we.name);if(e.Debug.assert(Ir,"Undeclared private name for property declaration."),Ir.kind==="m")return Ir.methodName;if(Ir.kind==="a"){if(e.isGetAccessor(we))return Ir.getterName;if(e.isSetAccessor(we))return Ir.setterName}}function ue(we){e.Debug.assertEachNode(we.modifiers,e.isModifier);var Ir=e.getCommentRange(we),Re=e.getSourceMapRange(we),yn=we.name,Un=yn,gn=yn;if(e.isComputedPropertyName(yn)&&!e.isSimpleInlineableExpression(yn.expression)){var rn=ie.createTempVariable(te);e.setSourceMapRange(rn,yn.expression);var xn=e.visitNode(yn.expression,u,e.isExpression),Dn=ie.createAssignment(rn,xn);e.setSourceMapRange(Dn,yn.expression),Un=ie.updateComputedPropertyName(yn,ie.inlineExpressions([Dn,rn])),gn=ie.updateComputedPropertyName(yn,rn)}var On=e.createAccessorPropertyBackingField(ie,we,we.modifiers,we.initializer);e.setOriginalNode(On,we),e.setEmitFlags(On,1536),e.setSourceMapRange(On,Re);var Qn=e.createAccessorPropertyGetRedirector(ie,we,we.modifiers,Un);e.setOriginalNode(Qn,we),e.setCommentRange(Qn,Ir),e.setSourceMapRange(Qn,Re);var Ke=e.createAccessorPropertySetRedirector(ie,we,we.modifiers,gn);return e.setOriginalNode(Ke,we),e.setEmitFlags(Ke,1536),e.setSourceMapRange(Ke,Re),e.visitArray([On,Qn,Ke],ae,e.isClassElement)}function y(we){if(N){var Ir=hn(we.name);return e.Debug.assert(Ir,"Undeclared private name for property declaration."),Ir.isValid?void 0:we}return ge&&!e.isStatic(we)?ie.updatePropertyDeclaration(we,e.visitNodes(we.modifiers,u,e.isModifierLike),we.name,void 0,void 0,void 0):e.visitEachChild(we,u,Z)}function X(we){if(re){var Ir=Ne(we.name,!!we.initializer||M);if(Ir&&ar().push(Ir),e.isStatic(we)&&!N){var Re=Fe(we,ie.createThis());if(Re){var yn=ie.createClassStaticBlockDeclaration(ie.createBlock([Re]));return e.setOriginalNode(yn,we),e.setCommentRange(yn,we),e.setCommentRange(Re,{pos:-1,end:-1}),e.setSyntheticLeadingComments(Re,void 0),e.setSyntheticTrailingComments(Re,void 0),yn}}return}return e.visitEachChild(we,me,Z)}function Ae(we){return e.Debug.assert(!e.hasDecorators(we),"Decorators should already have been transformed and elided."),e.isPrivateIdentifierClassElementDeclaration(we)?y(we):X(we)}function Te(we){return K&&e.isAutoAccessorPropertyDeclaration(we)?ue(we):Ae(we)}function Je(we,Ir){return er(we,e.visitNode(Ir,u,e.isExpression))}function er(we,Ir){switch(e.setCommentRange(Ir,e.moveRangePos(Ir,-1)),we.kind){case"a":return Z.getEmitHelperFactory().createClassPrivateFieldGetHelper(Ir,we.brandCheckIdentifier,we.kind,we.getterName);case"m":return Z.getEmitHelperFactory().createClassPrivateFieldGetHelper(Ir,we.brandCheckIdentifier,we.kind,we.methodName);case"f":return Z.getEmitHelperFactory().createClassPrivateFieldGetHelper(Ir,we.brandCheckIdentifier,we.kind,we.variableName);default:e.Debug.assertNever(we,"Unknown private element type")}}function wr(we){if(N&&e.isPrivateIdentifier(we.name)){var Ir=hn(we.name);if(Ir)return e.setTextRange(e.setOriginalNode(Je(Ir,we.expression),we),we)}if(b&&e.isSuperProperty(we)&&e.isIdentifier(we.name)&&oe&&T){var Re=T.classConstructor,yn=T.superClassReference,Un=T.facts;if(Un&1)return fi(we);if(Re&&yn){var gn=ie.createReflectGetCall(yn,ie.createStringLiteralFromNode(we.name),Re);return e.setOriginalNode(gn,we.expression),e.setTextRange(gn,we.expression),gn}}return e.visitEachChild(we,u,Z)}function mr(we){if(b&&e.isSuperProperty(we)&&oe&&T){var Ir=T.classConstructor,Re=T.superClassReference,yn=T.facts;if(yn&1)return fi(we);if(Ir&&Re){var Un=ie.createReflectGetCall(Re,e.visitNode(we.argumentExpression,u,e.isExpression),Ir);return e.setOriginalNode(Un,we.expression),e.setTextRange(Un,we.expression),Un}}return e.visitEachChild(we,u,Z)}function We(we,Ir){if(we.operator===45||we.operator===46){var Re=e.skipParentheses(we.operand);if(N&&e.isPrivateIdentifierPropertyAccessExpression(Re)){var yn=void 0;if(yn=hn(Re.name)){var Un=e.visitNode(Re.expression,u,e.isExpression),gn=ln(Un),rn=gn.readExpression,xn=gn.initializeExpression,Dn=Je(yn,rn),On=e.isPrefixUnaryExpression(we)||Ir?void 0:ie.createTempVariable(te);return Dn=e.expandPreOrPostfixIncrementOrDecrementExpression(ie,we,Dn,te,On),Dn=Cr(yn,xn||rn,Dn,63),e.setOriginalNode(Dn,we),e.setTextRange(Dn,we),On&&(Dn=ie.createComma(Dn,On),e.setTextRange(Dn,we)),Dn}}else if(b&&e.isSuperProperty(Re)&&oe&&T){var Qn=T.classConstructor,Ke=T.superClassReference,cn=T.facts;if(cn&1){var Dn=fi(Re);return e.isPrefixUnaryExpression(we)?ie.updatePrefixUnaryExpression(we,Dn):ie.updatePostfixUnaryExpression(we,Dn)}if(Qn&&Ke){var Vn=void 0,$i=void 0;if(e.isPropertyAccessExpression(Re)?e.isIdentifier(Re.name)&&($i=Vn=ie.createStringLiteralFromNode(Re.name)):e.isSimpleInlineableExpression(Re.argumentExpression)?$i=Vn=Re.argumentExpression:($i=ie.createTempVariable(te),Vn=ie.createAssignment($i,e.visitNode(Re.argumentExpression,u,e.isExpression))),Vn&&$i){var Dn=ie.createReflectGetCall(Ke,$i,Qn);e.setTextRange(Dn,Re);var On=Ir?void 0:ie.createTempVariable(te);return Dn=e.expandPreOrPostfixIncrementOrDecrementExpression(ie,we,Dn,te,On),Dn=ie.createReflectSetCall(Ke,Vn,Dn,Qn),e.setOriginalNode(Dn,we),e.setTextRange(Dn,we),On&&(Dn=ie.createComma(Dn,On),e.setTextRange(Dn,we)),Dn}}}}return e.visitEachChild(we,u,Z)}function a(we){return ie.updateForStatement(we,e.visitNode(we.initializer,B,e.isForInitializer),e.visitNode(we.condition,u,e.isExpression),e.visitNode(we.incrementor,B,e.isExpression),e.visitIterationBody(we.statement,u,Z))}function qr(we){return ie.updateExpressionStatement(we,e.visitNode(we.expression,B,e.isExpression))}function ln(we){var Ir=e.nodeIsSynthesized(we)?we:ie.cloneNode(we);if(e.isSimpleInlineableExpression(we))return{readExpression:Ir,initializeExpression:void 0};var Re=ie.createTempVariable(te),yn=ie.createAssignment(Re,Ir);return{readExpression:Re,initializeExpression:yn}}function dr(we){if(N&&e.isPrivateIdentifierPropertyAccessExpression(we.expression)){var Ir=ie.createCallBinding(we.expression,te,R),Re=Ir.thisArg,yn=Ir.target;return e.isCallChain(we)?ie.updateCallChain(we,ie.createPropertyAccessChain(e.visitNode(yn,u),we.questionDotToken,"call"),void 0,void 0,Hn([e.visitNode(Re,u,e.isExpression)],e.visitNodes(we.arguments,u,e.isExpression),!0)):ie.updateCallExpression(we,ie.createPropertyAccessExpression(e.visitNode(yn,u),"call"),void 0,Hn([e.visitNode(Re,u,e.isExpression)],e.visitNodes(we.arguments,u,e.isExpression),!0))}if(b&&e.isSuperProperty(we.expression)&&oe&&(T!=null&&T.classConstructor)){var Un=ie.createFunctionCallCall(e.visitNode(we.expression,u,e.isExpression),T.classConstructor,e.visitNodes(we.arguments,u,e.isExpression));return e.setOriginalNode(Un,we),e.setTextRange(Un,we),Un}return e.visitEachChild(we,u,Z)}function vr(we){if(N&&e.isPrivateIdentifierPropertyAccessExpression(we.tag)){var Ir=ie.createCallBinding(we.tag,te,R),Re=Ir.thisArg,yn=Ir.target;return ie.updateTaggedTemplateExpression(we,ie.createCallExpression(ie.createPropertyAccessExpression(e.visitNode(yn,u),"bind"),void 0,[e.visitNode(Re,u,e.isExpression)]),void 0,e.visitNode(we.template,u,e.isTemplateLiteral))}if(b&&e.isSuperProperty(we.tag)&&oe&&(T!=null&&T.classConstructor)){var Un=ie.createFunctionBindCall(e.visitNode(we.tag,u,e.isExpression),T.classConstructor,[]);return e.setOriginalNode(Un,we),e.setTextRange(Un,we),ie.updateTaggedTemplateExpression(we,Un,void 0,e.visitNode(we.template,u,e.isTemplateLiteral))}return e.visitEachChild(we,u,Z)}function kr(we){if(N){T&&De.set(e.getOriginalNodeId(we),T),J();var Ir=Le(we,function(yn){return e.visitNodes(yn,u,e.isStatement)},we.body.statements);Ir=ie.mergeLexicalEnvironment(Ir,x());var Re=ie.createImmediatelyInvokedArrowFunction(Ir);return e.setOriginalNode(Re,we),e.setTextRange(Re,we),e.addEmitFlags(Re,2),Re}}function jr(we,Ir){if(e.isDestructuringAssignment(we)){var Re=V;V=void 0,we=ie.updateBinaryExpression(we,e.visitNode(we.left,$),we.operatorToken,e.visitNode(we.right,u));var yn=e.some(V)?ie.inlineExpressions(e.compact(Hn(Hn([],V,!0),[we],!1))):we;return V=Re,yn}if(e.isAssignmentExpression(we)){if(N&&e.isPrivateIdentifierPropertyAccessExpression(we.left)){var Un=hn(we.left.name);if(Un)return e.setTextRange(e.setOriginalNode(Cr(Un,we.left.expression,we.right,we.operatorToken.kind),we),we)}else if(b&&e.isSuperProperty(we.left)&&oe&&T){var gn=T.classConstructor,rn=T.superClassReference,xn=T.facts;if(xn&1)return ie.updateBinaryExpression(we,fi(we.left),we.operatorToken,e.visitNode(we.right,u,e.isExpression));if(gn&&rn){var Dn=e.isElementAccessExpression(we.left)?e.visitNode(we.left.argumentExpression,u,e.isExpression):e.isIdentifier(we.left.name)?ie.createStringLiteralFromNode(we.left.name):void 0;if(Dn){var On=e.visitNode(we.right,u,e.isExpression);if(e.isCompoundAssignment(we.operatorToken.kind)){var Qn=Dn;e.isSimpleInlineableExpression(Dn)||(Qn=ie.createTempVariable(te),Dn=ie.createAssignment(Qn,Dn));var Ke=ie.createReflectGetCall(rn,Qn,gn);e.setOriginalNode(Ke,we.left),e.setTextRange(Ke,we.left),On=ie.createBinaryExpression(Ke,e.getNonAssignmentOperatorForCompoundAssignment(we.operatorToken.kind),On),e.setTextRange(On,we)}var cn=Ir?void 0:ie.createTempVariable(te);return cn&&(On=ie.createAssignment(cn,On),e.setTextRange(cn,we)),On=ie.createReflectSetCall(rn,Dn,On,gn),e.setOriginalNode(On,we),e.setTextRange(On,we),cn&&(On=ie.createComma(On,cn),e.setTextRange(On,we)),On}}}}return N&&Oe(we)?xe(we):e.visitEachChild(we,u,Z)}function Cr(we,Ir,Re,yn){if(Ir=e.visitNode(Ir,u,e.isExpression),Re=e.visitNode(Re,u,e.isExpression),e.isCompoundAssignment(yn)){var Un=ln(Ir),gn=Un.readExpression,rn=Un.initializeExpression;Ir=rn||gn,Re=ie.createBinaryExpression(er(we,gn),e.getNonAssignmentOperatorForCompoundAssignment(yn),Re)}switch(e.setCommentRange(Ir,e.moveRangePos(Ir,-1)),we.kind){case"a":return Z.getEmitHelperFactory().createClassPrivateFieldSetHelper(Ir,we.brandCheckIdentifier,Re,we.kind,we.setterName);case"m":return Z.getEmitHelperFactory().createClassPrivateFieldSetHelper(Ir,we.brandCheckIdentifier,Re,we.kind,void 0);case"f":return Z.getEmitHelperFactory().createClassPrivateFieldSetHelper(Ir,we.brandCheckIdentifier,Re,we.kind,we.variableName);default:e.Debug.assertNever(we,"Unknown private element type")}}function en(we){return e.filter(we.members,e.isNonStaticMethodOrAccessorWithPrivateName)}function Lr(we){var Ir=0,Re=e.getOriginalNode(we);e.isClassDeclaration(Re)&&e.classOrConstructorParameterIsDecorated(Re)&&(Ir|=1);for(var yn=0,Un=we.members;yn=0?(On=Ke+1,cn=Hn(Hn(Hn([],cn.slice(0,Qn),!0),e.visitNodes(Ir.body.statements,u,e.isStatement,Qn,On-Qn),!0),cn.slice(Qn),!0)):Qn>=0&&(On=Qn)),Dn&&cn.push(ie.createExpressionStatement(ie.createCallExpression(ie.createSuper(),void 0,[ie.createSpreadElement(ie.createIdentifier("arguments"))])));var Vn=0;if(Ir!=null&&Ir.body)if(M)cn=cn.filter(function(qa){return!e.isParameterPropertyDeclaration(e.getOriginalNode(qa),Ir)});else{for(var $i=0,pt=Ir.body.statements;$i0){var Ci=e.visitNodes(Ir.body.statements,u,e.isStatement,On,Vn);if(Ke>=0)e.addRange(cn,Ci);else{var Tt=Qn;Dn&&Tt++,cn=Hn(Hn(Hn([],cn.slice(0,Tt),!0),Ci,!0),cn.slice(Tt),!0)}On+=Vn}}var st=ie.createThis();if(Zn(cn,rn,st),vn(cn,gn,st),Ir&&e.addRange(cn,e.visitNodes(Ir.body.statements,ii,e.isStatement,On)),cn=ie.mergeLexicalEnvironment(cn,x()),cn.length===0&&!Ir)return;var Yi=Ir!=null&&Ir.body&&Ir.body.statements.length>=cn.length&&(Un=Ir.body.multiLine)!==null&&Un!==void 0?Un:cn.length>0;return e.setTextRange(ie.createBlock(e.setTextRange(ie.createNodeArray(cn),Ir?Ir.body.statements:we.members),Yi),Ir?Ir.body:void 0);function ii(qa){if(!(M&&e.isParameterPropertyDeclaration(e.getOriginalNode(qa),Ir)))return u(qa)}}function vn(we,Ir,Re){for(var yn=0,Un=Ir;yn=0;--yn){var Un=se[yn];if(Un&&Un.privateIdentifierEnvironment){var Re=we(Un.privateIdentifierEnvironment,Ir);if(Re)return Re}}}function Ki(we){var Ir=ie.getGeneratedNameForNode(we),Re=hn(we.name);if(!Re)return e.visitEachChild(we,u,Z);var yn=we.expression;return(e.isThisProperty(we)||e.isSuperProperty(we)||!e.isSimpleCopiableExpression(we.expression))&&(yn=ie.createTempVariable(te,!0),ar().push(ie.createBinaryExpression(yn,63,e.visitNode(we.expression,u,e.isExpression)))),ie.createAssignmentTargetWrapper(Ir,Cr(Re,yn,Ir,63))}function Ni(we){var Ir=e.getTargetOfBindingOrAssignmentElement(we);if(Ir){var Re=void 0;if(e.isPrivateIdentifierPropertyAccessExpression(Ir))Re=Ki(Ir);else if(b&&e.isSuperProperty(Ir)&&oe&&T){var yn=T.classConstructor,Un=T.superClassReference,gn=T.facts;if(gn&1)Re=fi(Ir);else if(yn&&Un){var rn=e.isElementAccessExpression(Ir)?e.visitNode(Ir.argumentExpression,u,e.isExpression):e.isIdentifier(Ir.name)?ie.createStringLiteralFromNode(Ir.name):void 0;if(rn){var xn=ie.createTempVariable(void 0);Re=ie.createAssignmentTargetWrapper(xn,ie.createReflectSetCall(Un,rn,xn,yn))}}}if(Re)return e.isAssignmentExpression(we)?ie.updateBinaryExpression(we,Re,we.operatorToken,e.visitNode(we.right,u,e.isExpression)):e.isSpreadElement(we)?ie.updateSpreadElement(we,Re):Re}return e.visitNode(we,$)}function mi(we){if(e.isObjectBindingOrAssignmentElement(we)&&!e.isShorthandPropertyAssignment(we)){var Ir=e.getTargetOfBindingOrAssignmentElement(we),Re=void 0;if(Ir){if(e.isPrivateIdentifierPropertyAccessExpression(Ir))Re=Ki(Ir);else if(b&&e.isSuperProperty(Ir)&&oe&&T){var yn=T.classConstructor,Un=T.superClassReference,gn=T.facts;if(gn&1)Re=fi(Ir);else if(yn&&Un){var rn=e.isElementAccessExpression(Ir)?e.visitNode(Ir.argumentExpression,u,e.isExpression):e.isIdentifier(Ir.name)?ie.createStringLiteralFromNode(Ir.name):void 0;if(rn){var xn=ie.createTempVariable(void 0);Re=ie.createAssignmentTargetWrapper(xn,ie.createReflectSetCall(Un,rn,xn,yn))}}}}if(e.isPropertyAssignment(we)){var Dn=e.getInitializerOfBindingOrAssignmentElement(we);return ie.updatePropertyAssignment(we,e.visitNode(we.name,u,e.isPropertyName),Re?Dn?ie.createAssignment(Re,e.visitNode(Dn,u)):Re:e.visitNode(we.initializer,$,e.isExpression))}if(e.isSpreadAssignment(we))return ie.updateSpreadAssignment(we,Re||e.visitNode(we.expression,$,e.isExpression));e.Debug.assert(Re===void 0,"Should not have generated a wrapped target")}return e.visitNode(we,u)}function Pn(we){return e.isArrayLiteralExpression(we)?ie.updateArrayLiteralExpression(we,e.visitNodes(we.elements,Ni,e.isExpression)):ie.updateObjectLiteralExpression(we,e.visitNodes(we.properties,mi,e.isObjectLiteralElementLike))}}e.transformClassFields=h;function p(Z,ie){return e.factory.createAssignment(Z,e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment("value",ie||e.factory.createVoidZero())]))}function P(Z,ie,te){return e.factory.createCallExpression(e.factory.createPropertyAccessExpression(te,"set"),void 0,[Z,ie||e.factory.createVoidZero()])}function z(Z,ie){return e.factory.createCallExpression(e.factory.createPropertyAccessExpression(ie,"add"),void 0,[Z])}function U(Z){return!e.isGeneratedPrivateIdentifier(Z)&&Z.escapedText==="#constructor"}function g(Z,ie){return e.isGeneratedPrivateIdentifier(ie)?ce(Z,e.getNodeForGeneratedName(ie)):Y(Z,ie.escapedText)}function v(Z,ie,te){var x,J;e.isGeneratedPrivateIdentifier(ie)?((x=Z.generatedIdentifiers)!==null&&x!==void 0||(Z.generatedIdentifiers=new e.Map),Z.generatedIdentifiers.set(e.getNodeForGeneratedName(ie),te)):((J=Z.identifiers)!==null&&J!==void 0||(Z.identifiers=new e.Map),Z.identifiers.set(ie.escapedText,te))}function Y(Z,ie){var te;return(te=Z.identifiers)===null||te===void 0?void 0:te.get(ie)}function ce(Z,ie){var te;return(te=Z.generatedIdentifiers)===null||te===void 0?void 0:te.get(ie)}})(fr||(fr={}));var fr;(function(e){function i(l){var _=l.hoistVariableDeclaration,h=l.getEmitResolver(),p=l.getCompilerOptions(),P=e.getEmitScriptTarget(p),z=e.getStrictOptionValue(p,"strictNullChecks"),U,g;return{serializeTypeNode:function(N,K){return v(N,x,K)},serializeTypeOfNode:function(N,K){return v(N,ce,K)},serializeParameterTypesOfNode:function(N,K,q){return v(N,Z,K,q)},serializeReturnTypeOfNode:function(N,K){return v(N,te,K)}};function v(N,K,q,b){var F=U,Q=g;U=N.currentLexicalScope,g=N.currentNameScope;var j=b===void 0?K(q):K(q,b);return U=F,g=Q,j}function Y(N){var K=h.getAllAccessorDeclarations(N);return K.setAccessor&&e.getSetAccessorTypeAnnotationNode(K.setAccessor)||K.getAccessor&&e.getEffectiveReturnTypeNode(K.getAccessor)}function ce(N){switch(N.kind){case 169:case 166:return x(N.type);case 175:case 174:return x(Y(N));case 260:case 228:case 171:return e.factory.createIdentifier("Function");default:return e.factory.createVoidZero()}}function Z(N,K){var q=e.isClassLike(N)?e.getFirstConstructorWithBody(N):e.isFunctionLike(N)&&e.nodeIsPresent(N.body)?N:void 0,b=[];if(q)for(var F=ie(q,K),Q=F.length,j=0;j1&&($.push(_.createEndOfDeclarationMarker(G)),e.setEmitFlags($[0],e.getEmitFlags($[0])|4194304)),e.singleOrMany($)}function te(G){return!!(G.transformFlags&536870912)}function x(G){return e.some(G,te)}function J(G){for(var $=0,me=G.members;$0?e.isPropertyDeclaration($)&&!e.hasAccessorModifier($)?_.createVoidZero():_.createNull():void 0,Se=h().createDecorateHelper(ae,Me,Oe,xe);return e.setEmitFlags(Se,1536),e.setSourceMapRange(Se,e.moveRangePastModifiers($)),Se}}function L(G,$){var me=V($);me&&G.push(e.setOriginalNode(_.createExpressionStatement(me),$))}function V(G){var $=e.getAllDecoratorsOfClass(G),me=q($);if(me){var ae=v&&v[e.getOriginalNodeId(G)],Me=U<=2?_.getInternalName(G,!1,!0):_.getLocalName(G,!1,!0),Oe=h().createDecorateHelper(me,Me),xe=_.createAssignment(Me,ae?_.createAssignment(ae,Oe):Oe);return e.setEmitFlags(xe,1536),e.setSourceMapRange(xe,e.moveRangePastModifiers(G)),xe}}function ne(G){return e.visitNode(G.expression,Z,e.isExpression)}function se(G,$){var me;if(G){me=[];for(var ae=0,Me=G;ae=2&&Y.getNodeCheckFlags(Te)&6144&&(e.getFunctionFlags(mr)&3)!==3;if(We){if(Ce(),J.size){var a=h(P,Y,Te,J);D[e.getNodeId(a)]=!0;var qr=wr.statements.slice();e.insertStatementsAfterStandardPrologue(qr,[a]),wr=P.updateBlock(wr,qr)}d&&(Y.getNodeCheckFlags(Te)&4096?e.addEmitHelper(wr,e.advancedAsyncSuperHelper):Y.getNodeCheckFlags(Te)&2048&&e.addEmitHelper(wr,e.asyncSuperHelper))}return J=Je,d=er,wr}function Oe(Te){U();var Je=e.getOriginalNode(Te,e.isFunctionLike),er=Je.type,wr=Z<2?Se(er):void 0,mr=Te.kind===216,We=(Y.getNodeCheckFlags(Te)&8192)!==0,a=x;x=new e.Set;for(var qr=0,ln=Te.parameters;qr=2&&Y.getNodeCheckFlags(Te)&6144;if(Lr&&(Ce(),J.size)){var pn=h(P,Y,Te,J);D[e.getNodeId(pn)]=!0,e.insertStatementsAfterStandardPrologue(Cr,[pn])}var ye=P.createBlock(Cr,!0);e.setTextRange(ye,Te.body),Lr&&d&&(Y.getNodeCheckFlags(Te)&4096?e.addEmitHelper(ye,e.advancedAsyncSuperHelper):Y.getNodeCheckFlags(Te)&2048&&e.addEmitHelper(ye,e.asyncSuperHelper)),jr=ye}return x=a,mr||(J=vr,d=kr),jr}function xe(Te,Je){return e.isBlock(Te)?P.updateBlock(Te,e.visitNodes(Te.statements,F,e.isStatement,Je)):P.converters.convertToFunctionBlock(e.visitNode(Te,F,e.isConciseBody))}function Se(Te){var Je=Te&&e.getEntityNameFromTypeNode(Te);if(Je&&e.isEntityName(Je)){var er=Y.getTypeReferenceSerializationKind(Je);if(er===e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue||er===e.TypeReferenceSerializationKind.Unknown)return Je}}function Ce(){ie&1||(ie|=1,p.enableSubstitution(210),p.enableSubstitution(208),p.enableSubstitution(209),p.enableEmitNotification(260),p.enableEmitNotification(171),p.enableEmitNotification(174),p.enableEmitNotification(175),p.enableEmitNotification(173),p.enableEmitNotification(240))}function ze(Te,Je,er){if(ie&1&&X(Je)){var wr=Y.getNodeCheckFlags(Je)&6144;if(wr!==te){var mr=te;te=wr,k(Te,Je,er),te=mr;return}}else if(ie&&D[e.getNodeId(Je)]){var mr=te;te=0,k(Te,Je,er),te=mr;return}k(Te,Je,er)}function Ee(Te,Je){return Je=R(Te,Je),Te===1&&te?Le(Je):Je}function Le(Te){switch(Te.kind){case 208:return be(Te);case 209:return ue(Te);case 210:return y(Te)}return Te}function be(Te){return Te.expression.kind===106?e.setTextRange(P.createPropertyAccessExpression(P.createUniqueName("_super",48),Te.name),Te):Te}function ue(Te){return Te.expression.kind===106?Ae(Te.argumentExpression,Te):Te}function y(Te){var Je=Te.expression;if(e.isSuperProperty(Je)){var er=e.isPropertyAccessExpression(Je)?be(Je):ue(Je);return P.createCallExpression(P.createPropertyAccessExpression(er,"call"),void 0,Hn([P.createThis()],Te.arguments,!0))}return Te}function X(Te){var Je=Te.kind;return Je===260||Je===173||Je===171||Je===174||Je===175}function Ae(Te,Je){return te&4096?e.setTextRange(P.createPropertyAccessExpression(P.createCallExpression(P.createUniqueName("_superIndex",48),void 0,[Te]),"value"),Je):e.setTextRange(P.createCallExpression(P.createUniqueName("_superIndex",48),void 0,[Te]),Je)}}e.transformES2017=_;function h(p,P,z,U){var g=(P.getNodeCheckFlags(z)&4096)!==0,v=[];return U.forEach(function(Y,ce){var Z=e.unescapeLeadingUnderscores(ce),ie=[];ie.push(p.createPropertyAssignment("get",p.createArrowFunction(void 0,void 0,[],void 0,void 0,e.setEmitFlags(p.createPropertyAccessExpression(e.setEmitFlags(p.createSuper(),4),Z),4)))),g&&ie.push(p.createPropertyAssignment("set",p.createArrowFunction(void 0,void 0,[p.createParameterDeclaration(void 0,void 0,"v",void 0,void 0,void 0)],void 0,void 0,p.createAssignment(e.setEmitFlags(p.createPropertyAccessExpression(e.setEmitFlags(p.createSuper(),4),Z),4),p.createIdentifier("v"))))),v.push(p.createPropertyAssignment(Z,p.createObjectLiteralExpression(ie)))}),p.createVariableStatement(void 0,p.createVariableDeclarationList([p.createVariableDeclaration(p.createUniqueName("_super",48),void 0,void 0,p.createCallExpression(p.createPropertyAccessExpression(p.createIdentifier("Object"),"create"),void 0,[p.createNull(),p.createObjectLiteralExpression(v,!0)]))],2))}e.createSuperAccessVariableStatement=h})(fr||(fr={}));var fr;(function(e){var i;(function(h){h[h.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper"})(i||(i={}));var l;(function(h){h[h.None=0]="None",h[h.HasLexicalThis=1]="HasLexicalThis",h[h.IterationContainer=2]="IterationContainer",h[h.AncestorFactsMask=3]="AncestorFactsMask",h[h.SourceFileIncludes=1]="SourceFileIncludes",h[h.SourceFileExcludes=2]="SourceFileExcludes",h[h.StrictModeSourceFileIncludes=0]="StrictModeSourceFileIncludes",h[h.ClassOrFunctionIncludes=1]="ClassOrFunctionIncludes",h[h.ClassOrFunctionExcludes=2]="ClassOrFunctionExcludes",h[h.ArrowFunctionIncludes=0]="ArrowFunctionIncludes",h[h.ArrowFunctionExcludes=2]="ArrowFunctionExcludes",h[h.IterationStatementIncludes=2]="IterationStatementIncludes",h[h.IterationStatementExcludes=0]="IterationStatementExcludes"})(l||(l={}));function _(h){var p=h.factory,P=h.getEmitHelperFactory,z=h.resumeLexicalEnvironment,U=h.endLexicalEnvironment,g=h.hoistVariableDeclaration,v=h.getEmitResolver(),Y=h.getCompilerOptions(),ce=e.getEmitScriptTarget(Y),Z=h.onEmitNode;h.onEmitNode=dr;var ie=h.onSubstituteNode;h.onSubstituteNode=vr;var te=!1,x,J,d,D=0,C=0,k,R,M,ge,ve=[];return e.chainBundle(h,b);function re(ye,or){return C!==(C&~ye|or)}function N(ye,or){var Pe=C;return C=(C&~ye|or)&3,Pe}function K(ye){C=ye}function q(ye){R=e.append(R,p.createVariableDeclaration(ye))}function b(ye){if(ye.isDeclarationFile)return ye;k=ye;var or=u(ye);return e.addEmitHelpers(or,h.readEmitHelpers()),k=void 0,R=void 0,or}function F(ye){return V(ye,!1)}function Q(ye){return V(ye,!0)}function j(ye){if(ye.kind!==132)return ye}function I(ye,or,Pe,Ve){if(re(Pe,Ve)){var Ar=N(Pe,Ve),ke=ye(or);return K(Ar),ke}return ye(or)}function L(ye){return e.visitEachChild(ye,F,h)}function V(ye,or){if(!(ye.transformFlags&128))return ye;switch(ye.kind){case 220:return ne(ye);case 226:return se(ye);case 250:return De(ye);case 253:return T(ye);case 207:return A(ye);case 223:return B(ye,or);case 354:return G(ye,or);case 295:return $(ye);case 240:return me(ye);case 257:return ae(ye);case 243:case 244:case 246:return I(L,ye,0,2);case 247:return Se(ye,void 0);case 245:return I(Oe,ye,0,2);case 219:return xe(ye);case 173:return I(X,ye,2,1);case 171:return I(Je,ye,2,1);case 174:return I(Ae,ye,2,1);case 175:return I(Te,ye,2,1);case 259:return I(er,ye,2,1);case 215:return I(mr,ye,2,1);case 216:return I(wr,ye,2,0);case 166:return ue(ye);case 241:return oe(ye);case 214:return W(ye,or);case 212:return O(ye);case 208:return M&&e.isPropertyAccessExpression(ye)&&ye.expression.kind===106&&M.add(ye.name.escapedText),e.visitEachChild(ye,F,h);case 209:return M&&ye.expression.kind===106&&(ge=!0),e.visitEachChild(ye,F,h);case 260:case 228:return I(L,ye,2,1);default:return e.visitEachChild(ye,F,h)}}function ne(ye){return J&2&&J&1?e.setOriginalNode(e.setTextRange(p.createYieldExpression(void 0,P().createAwaitHelper(e.visitNode(ye.expression,F,e.isExpression))),ye),ye):e.visitEachChild(ye,F,h)}function se(ye){if(J&2&&J&1){if(ye.asteriskToken){var or=e.visitNode(e.Debug.checkDefined(ye.expression),F,e.isExpression);return e.setOriginalNode(e.setTextRange(p.createYieldExpression(void 0,P().createAwaitHelper(p.updateYieldExpression(ye,ye.asteriskToken,e.setTextRange(P().createAsyncDelegatorHelper(e.setTextRange(P().createAsyncValuesHelper(or),or)),or)))),ye),ye)}return e.setOriginalNode(e.setTextRange(p.createYieldExpression(void 0,Ee(ye.expression?e.visitNode(ye.expression,F,e.isExpression):p.createVoidZero())),ye),ye)}return e.visitEachChild(ye,F,h)}function De(ye){return J&2&&J&1?p.updateReturnStatement(ye,Ee(ye.expression?e.visitNode(ye.expression,F,e.isExpression):p.createVoidZero())):e.visitEachChild(ye,F,h)}function T(ye){if(J&2){var or=e.unwrapInnermostStatementOfLabel(ye);return or.kind===247&&or.awaitModifier?Se(or,ye):p.restoreEnclosingLabel(e.visitNode(or,F,e.isStatement,p.liftToBlock),ye)}return e.visitEachChild(ye,F,h)}function w(ye){for(var or,Pe=[],Ve=0,Ar=ye;Ve1){for(var Ve=1;Ve=2&&v.getNodeCheckFlags(ye)&6144;if(cr){ln();var Mr=e.createSuperAccessVariableStatement(p,v,ye,M);ve[e.getNodeId(Mr)]=!0,e.insertStatementsAfterStandardPrologue(or,[Mr])}or.push(ke),e.insertStatementsAfterStandardPrologue(or,U());var Rr=p.updateBlock(ye.body,or);return cr&&ge&&(v.getNodeCheckFlags(ye)&4096?e.addEmitHelper(Rr,e.advancedAsyncSuperHelper):v.getNodeCheckFlags(ye)&2048&&e.addEmitHelper(Rr,e.asyncSuperHelper)),M=Ve,ge=Ar,Rr}function a(ye){var or;z();var Pe=0,Ve=[],Ar=(or=e.visitNode(ye.body,F,e.isConciseBody))!==null&&or!==void 0?or:p.createBlock([]);e.isBlock(Ar)&&(Pe=p.copyPrologue(Ar.statements,Ve,!1,F)),e.addRange(Ve,qr(void 0,ye));var ke=U();if(Pe>0||e.some(Ve)||e.some(ke)){var cr=p.converters.convertToFunctionBlock(Ar,!0);return e.insertStatementsAfterStandardPrologue(Ve,ke),e.addRange(Ve,cr.statements.slice(Pe)),p.updateBlock(cr,e.setTextRange(p.createNodeArray(Ve),cr.statements))}return Ar}function qr(ye,or){for(var Pe=!1,Ve=0,Ar=or.parameters;Ve0){var cr=e.flattenDestructuringBinding(ke,F,h,0,p.getGeneratedNameForNode(ke));if(e.some(cr)){var Mr=p.createVariableDeclarationList(cr),Rr=p.createVariableStatement(void 0,Mr);e.setEmitFlags(Rr,1048576),ye=e.append(ye,Rr)}}else if(ke.initializer){var $r=p.getGeneratedNameForNode(ke),nn=e.visitNode(ke.initializer,F,e.isExpression),vn=p.createAssignment($r,nn),Rr=p.createExpressionStatement(vn);e.setEmitFlags(Rr,1048576),ye=e.append(ye,Rr)}}else if(ke.initializer){var $r=p.cloneNode(ke.name);e.setTextRange($r,ke.name),e.setEmitFlags($r,48);var nn=e.visitNode(ke.initializer,F,e.isExpression);e.addEmitFlags(nn,1584);var vn=p.createAssignment($r,nn);e.setTextRange(vn,ke),e.setEmitFlags(vn,1536);var Fe=p.createBlock([p.createExpressionStatement(vn)]);e.setTextRange(Fe,ke),e.setEmitFlags(Fe,1953);var Ge=p.createTypeCheck(p.cloneNode(ke.name),"undefined"),Rr=p.createIfStatement(Ge,Fe);e.startOnNewLine(Rr),e.setTextRange(Rr,ke),e.setEmitFlags(Rr,1050528),ye=e.append(ye,Rr)}}else if(ke.transformFlags&65536){Pe=!0;var cr=e.flattenDestructuringBinding(ke,F,h,1,p.getGeneratedNameForNode(ke),!1,!0);if(e.some(cr)){var Mr=p.createVariableDeclarationList(cr),Rr=p.createVariableStatement(void 0,Mr);e.setEmitFlags(Rr,1048576),ye=e.append(ye,Rr)}}}return ye}function ln(){x&1||(x|=1,h.enableSubstitution(210),h.enableSubstitution(208),h.enableSubstitution(209),h.enableEmitNotification(260),h.enableEmitNotification(171),h.enableEmitNotification(174),h.enableEmitNotification(175),h.enableEmitNotification(173),h.enableEmitNotification(240))}function dr(ye,or,Pe){if(x&1&&Lr(or)){var Ve=v.getNodeCheckFlags(or)&6144;if(Ve!==D){var Ar=D;D=Ve,Z(ye,or,Pe),D=Ar;return}}else if(x&&ve[e.getNodeId(or)]){var Ar=D;D=0,Z(ye,or,Pe),D=Ar;return}Z(ye,or,Pe)}function vr(ye,or){return or=ie(ye,or),ye===1&&D?kr(or):or}function kr(ye){switch(ye.kind){case 208:return jr(ye);case 209:return Cr(ye);case 210:return en(ye)}return ye}function jr(ye){return ye.expression.kind===106?e.setTextRange(p.createPropertyAccessExpression(p.createUniqueName("_super",48),ye.name),ye):ye}function Cr(ye){return ye.expression.kind===106?pn(ye.argumentExpression,ye):ye}function en(ye){var or=ye.expression;if(e.isSuperProperty(or)){var Pe=e.isPropertyAccessExpression(or)?jr(or):Cr(or);return p.createCallExpression(p.createPropertyAccessExpression(Pe,"call"),void 0,Hn([p.createThis()],ye.arguments,!0))}return ye}function Lr(ye){var or=ye.kind;return or===260||or===173||or===171||or===174||or===175}function pn(ye,or){return D&4096?e.setTextRange(p.createPropertyAccessExpression(p.createCallExpression(p.createIdentifier("_superIndex"),void 0,[ye]),"value"),or):e.setTextRange(p.createCallExpression(p.createIdentifier("_superIndex"),void 0,[ye]),or)}}e.transformES2018=_})(fr||(fr={}));var fr;(function(e){function i(l){var _=l.factory;return e.chainBundle(l,h);function h(z){return z.isDeclarationFile?z:e.visitEachChild(z,p,l)}function p(z){if(!(z.transformFlags&64))return z;switch(z.kind){case 295:return P(z);default:return e.visitEachChild(z,p,l)}}function P(z){return z.variableDeclaration?e.visitEachChild(z,p,l):_.updateCatchClause(z,_.createVariableDeclaration(_.createTempVariable(void 0)),e.visitNode(z.block,p,e.isBlock))}}e.transformES2019=i})(fr||(fr={}));var fr;(function(e){function i(l){var _=l.factory,h=l.hoistVariableDeclaration;return e.chainBundle(l,p);function p(x){return x.isDeclarationFile?x:e.visitEachChild(x,P,l)}function P(x){if(!(x.transformFlags&32))return x;switch(x.kind){case 210:{var J=v(x,!1);return e.Debug.assertNotNode(J,e.isSyntheticReference),J}case 208:case 209:if(e.isOptionalChain(x)){var J=ce(x,!1,!1);return e.Debug.assertNotNode(J,e.isSyntheticReference),J}return e.visitEachChild(x,P,l);case 223:return x.operatorToken.kind===60?ie(x):e.visitEachChild(x,P,l);case 217:return te(x);default:return e.visitEachChild(x,P,l)}}function z(x){e.Debug.assertNotNode(x,e.isNonNullChain);for(var J=[x];!x.questionDotToken&&!e.isTaggedTemplateExpression(x);)x=e.cast(e.skipPartiallyEmittedExpressions(x.expression),e.isOptionalChain),e.Debug.assertNotNode(x,e.isNonNullChain),J.unshift(x);return{expression:x.expression,chain:J}}function U(x,J,d){var D=Y(x.expression,J,d);return e.isSyntheticReference(D)?_.createSyntheticReferenceExpression(_.updateParenthesizedExpression(x,D.expression),D.thisArg):_.updateParenthesizedExpression(x,D)}function g(x,J,d){if(e.isOptionalChain(x))return ce(x,J,d);var D=e.visitNode(x.expression,P,e.isExpression);e.Debug.assertNotNode(D,e.isSyntheticReference);var C;return J&&(e.isSimpleCopiableExpression(D)?C=D:(C=_.createTempVariable(h),D=_.createAssignment(C,D))),D=x.kind===208?_.updatePropertyAccessExpression(x,D,e.visitNode(x.name,P,e.isIdentifier)):_.updateElementAccessExpression(x,D,e.visitNode(x.argumentExpression,P,e.isExpression)),C?_.createSyntheticReferenceExpression(D,C):D}function v(x,J){if(e.isOptionalChain(x))return ce(x,J,!1);if(e.isParenthesizedExpression(x.expression)&&e.isOptionalChain(e.skipParentheses(x.expression))){var d=U(x.expression,!0,!1),D=e.visitNodes(x.arguments,P,e.isExpression);return e.isSyntheticReference(d)?e.setTextRange(_.createFunctionCallCall(d.expression,d.thisArg,D),x):_.updateCallExpression(x,d,void 0,D)}return e.visitEachChild(x,P,l)}function Y(x,J,d){switch(x.kind){case 214:return U(x,J,d);case 208:case 209:return g(x,J,d);case 210:return v(x,J);default:return e.visitNode(x,P,e.isExpression)}}function ce(x,J,d){var D=z(x),C=D.expression,k=D.chain,R=Y(e.skipPartiallyEmittedExpressions(C),e.isCallChain(k[0]),!1),M=e.isSyntheticReference(R)?R.thisArg:void 0,ge=e.isSyntheticReference(R)?R.expression:R,ve=_.restoreOuterExpressions(C,ge,8);e.isSimpleCopiableExpression(ge)||(ge=_.createTempVariable(h),ve=_.createAssignment(ge,ve));for(var re=ge,N,K=0;K1||!!(!((ae=Me[0])===null||ae===void 0)&&ae.dotDotDotToken),xe=[u,O];if(B&&xe.push(V(B.initializer)),P.jsx===5){var Se=e.getOriginalNode(z);if(Se&&e.isSourceFile(Se)){B===void 0&&xe.push(h.createVoidZero()),xe.push(Oe?h.createTrue():h.createFalse());var Ce=e.getLineAndCharacterOfPosition(Se,me.pos);xe.push(h.createObjectLiteralExpression([h.createPropertyAssignment("fileName",g()),h.createPropertyAssignment("lineNumber",h.createNumericLiteral(Ce.line+1)),h.createPropertyAssignment("columnNumber",h.createNumericLiteral(Ce.character+1))])),xe.push(h.createThis())}}var ze=e.setTextRange(h.createCallExpression(Y(Oe),void 0,xe),me);return $&&e.startOnNewLine(ze),ze}function N(u,O,B,G){var $=A(u),me=u.attributes.properties,ae=e.length(me)?F(me):h.createNull(),Me=U.importSpecifier===void 0?e.createJsxFactoryExpression(h,_.getEmitResolver().getJsxFactoryEntity(z),P.reactNamespace,u):Z("createElement"),Oe=e.createExpressionForJsxElement(h,Me,$,ae,e.mapDefined(O,J),G);return B&&e.startOnNewLine(Oe),Oe}function K(u,O,B,G){var $;if(O&&O.length){var me=M(O);me&&($=me)}return re(ce(),$||h.createObjectLiteralExpression([]),void 0,O,B,G)}function q(u,O,B,G){var $=e.createExpressionForJsxFragment(h,_.getEmitResolver().getJsxFactoryEntity(z),_.getEmitResolver().getJsxFragmentFactoryEntity(z),P.reactNamespace,e.mapDefined(O,J),u,G);return B&&e.startOnNewLine($),$}function b(u){return h.createSpreadAssignment(e.visitNode(u.expression,te,e.isExpression))}function F(u,O){var B=e.getEmitScriptTarget(P);return B&&B>=5?h.createObjectLiteralExpression(Q(u,O)):j(u,O)}function Q(u,O){var B=e.flatten(e.spanMap(u,e.isJsxSpreadAttribute,function(G,$){return e.map(G,function(me){return $?b(me):L(me)})}));return O&&B.push(O),B}function j(u,O){var B=e.flatten(e.spanMap(u,e.isJsxSpreadAttribute,function(G,$){return $?e.map(G,I):h.createObjectLiteralExpression(e.map(G,L))}));return e.isJsxSpreadAttribute(u[0])&&B.unshift(h.createObjectLiteralExpression()),O&&B.push(h.createObjectLiteralExpression([O])),e.singleOrUndefined(B)||p().createAssignHelper(B)}function I(u){return e.visitNode(u.expression,te,e.isExpression)}function L(u){var O=oe(u),B=V(u.initializer);return h.createPropertyAssignment(O,B)}function V(u){if(u===void 0)return h.createTrue();if(u.kind===10){var O=u.singleQuote!==void 0?u.singleQuote:!e.isStringDoubleQuoted(u,z),B=h.createStringLiteral(w(u.text)||u.text,O);return e.setTextRange(B,u)}return u.kind===291?u.expression===void 0?h.createTrue():e.visitNode(u.expression,te,e.isExpression):e.isJsxElement(u)?C(u,!1):e.isJsxSelfClosingElement(u)?k(u,!1):e.isJsxFragment(u)?R(u,!1):e.Debug.failBadSyntaxKind(u)}function ne(u){var O=se(u.text);return O===void 0?void 0:h.createStringLiteral(O)}function se(u){for(var O,B=0,G=-1,$=0;$0?(e.insertStatementAfterCustomPrologue(qe,e.setEmitFlags(v.createVariableStatement(void 0,v.createVariableDeclarationList(e.flattenDestructuringBinding(tn,j,g,0,v.getGeneratedNameForNode(tn)))),1048576)),!0):wn?(e.insertStatementAfterCustomPrologue(qe,e.setEmitFlags(v.createExpressionStatement(v.createAssignment(v.getGeneratedNameForNode(tn),e.visitNode(wn,j,e.isExpression))),1048576)),!0):!1}function Ae(qe,tn,An,wn){wn=e.visitNode(wn,j,e.isExpression);var je=v.createIfStatement(v.createTypeCheck(v.cloneNode(An),"undefined"),e.setEmitFlags(e.setTextRange(v.createBlock([v.createExpressionStatement(e.setEmitFlags(e.setTextRange(v.createAssignment(e.setEmitFlags(e.setParent(e.setTextRange(v.cloneNode(An),An),An.parent),48),e.setEmitFlags(wn,48|e.getEmitFlags(wn)|1536)),tn),1536))]),tn),1953));e.startOnNewLine(je),e.setTextRange(je,tn),e.setEmitFlags(je,1050528),e.insertStatementAfterCustomPrologue(qe,je)}function Te(qe,tn){return!!(qe&&qe.dotDotDotToken&&!tn)}function Je(qe,tn,An){var wn=[],je=e.lastOrUndefined(tn.parameters);if(!Te(je,An))return!1;var ur=je.name.kind===79?e.setParent(e.setTextRange(v.cloneNode(je.name),je.name),je.name.parent):v.createTempVariable(void 0);e.setEmitFlags(ur,48);var hr=je.name.kind===79?v.cloneNode(je.name):ur,Br=tn.parameters.length-1,Mn=v.createLoopVariable();wn.push(e.setEmitFlags(e.setTextRange(v.createVariableStatement(void 0,v.createVariableDeclarationList([v.createVariableDeclaration(ur,void 0,void 0,v.createArrayLiteralExpression([]))])),je),1048576));var di=v.createForStatement(e.setTextRange(v.createVariableDeclarationList([v.createVariableDeclaration(Mn,void 0,void 0,v.createNumericLiteral(Br))]),je),e.setTextRange(v.createLessThan(Mn,v.createPropertyAccessExpression(v.createIdentifier("arguments"),"length")),je),e.setTextRange(v.createPostfixIncrement(Mn),je),v.createBlock([e.startOnNewLine(e.setTextRange(v.createExpressionStatement(v.createAssignment(v.createElementAccessExpression(hr,Br===0?Mn:v.createSubtract(Mn,v.createNumericLiteral(Br))),v.createElementAccessExpression(v.createIdentifier("arguments"),Mn))),je))]));return e.setEmitFlags(di,1048576),e.startOnNewLine(di),wn.push(di),je.name.kind!==79&&wn.push(e.setEmitFlags(e.setTextRange(v.createVariableStatement(void 0,v.createVariableDeclarationList(e.flattenDestructuringBinding(je,j,g,0,hr))),je),1048576)),e.insertStatementsAfterCustomPrologue(qe,wn),!0}function er(qe,tn){return R&65536&&tn.kind!==216?(mr(qe,tn,v.createThis()),!0):!1}function wr(qe,tn){ns();var An=v.createExpressionStatement(v.createBinaryExpression(v.createThis(),63,tn));e.insertStatementAfterCustomPrologue(qe,An),e.setCommentRange(An,e.getOriginalNode(tn).parent)}function mr(qe,tn,An){ns();var wn=v.createVariableStatement(void 0,v.createVariableDeclarationList([v.createVariableDeclaration(v.createUniqueName("_this",48),void 0,void 0,An)]));e.setEmitFlags(wn,1050112),e.setSourceMapRange(wn,tn),e.insertStatementAfterCustomPrologue(qe,wn)}function We(qe,tn,An){if(R&32768){var wn=void 0;switch(tn.kind){case 216:return qe;case 171:case 174:case 175:wn=v.createVoidZero();break;case 173:wn=v.createPropertyAccessExpression(e.setEmitFlags(v.createThis(),4),"constructor");break;case 259:case 215:wn=v.createConditionalExpression(v.createLogicalAnd(e.setEmitFlags(v.createThis(),4),v.createBinaryExpression(e.setEmitFlags(v.createThis(),4),102,v.getLocalName(tn))),void 0,v.createPropertyAccessExpression(e.setEmitFlags(v.createThis(),4),"constructor"),void 0,v.createVoidZero());break;default:return e.Debug.failBadSyntaxKind(tn)}var je=v.createVariableStatement(void 0,v.createVariableDeclarationList([v.createVariableDeclaration(v.createUniqueName("_newTarget",48),void 0,void 0,wn)]));e.setEmitFlags(je,1050112),An&&(qe=qe.slice()),e.insertStatementAfterCustomPrologue(qe,je)}return qe}function a(qe,tn){for(var An=0,wn=tn.members;An0&&ur.push(v.createStringLiteral(je.literal.text)),tn=v.createCallExpression(v.createPropertyAccessExpression(tn,"concat"),void 0,ur)}return e.setTextRange(tn,qe)}function so(qe){return R&8&&!qe?v.createPropertyAccessExpression(v.createUniqueName("_super",48),"prototype"):v.createUniqueName("_super",48)}function po(qe){return qe.keywordToken===103&&qe.name.escapedText==="target"?(R|=32768,v.createUniqueName("_newTarget",48)):qe}function ws(qe,tn,An){if(re&1&&e.isFunctionLike(tn)){var wn=K(32670,e.getEmitFlags(tn)&8?81:65);D(qe,tn,An),q(wn,0,0);return}D(qe,tn,An)}function uo(){re&2||(re|=2,g.enableSubstitution(79))}function ns(){re&1||(re|=1,g.enableSubstitution(108),g.enableEmitNotification(173),g.enableEmitNotification(171),g.enableEmitNotification(174),g.enableEmitNotification(175),g.enableEmitNotification(216),g.enableEmitNotification(215),g.enableEmitNotification(259))}function Yo(qe,tn){return tn=d(qe,tn),qe===1?_r(tn):e.isIdentifier(tn)?is(tn):tn}function is(qe){if(re&2&&!e.isInternalName(qe)){var tn=e.getParseTreeNode(qe,e.isIdentifier);if(tn&&No(tn))return e.setTextRange(v.getGeneratedNameForNode(tn),qe)}return qe}function No(qe){switch(qe.parent.kind){case 205:case 260:case 263:case 257:return qe.parent.name===qe&&J.isDeclarationWithCollidingName(qe.parent)}return!1}function _r(qe){switch(qe.kind){case 79:return Or(qe);case 108:return bt(qe)}return qe}function Or(qe){if(re&2&&!e.isInternalName(qe)){var tn=J.getReferencedDeclarationWithCollidingName(qe);if(tn&&!(e.isClassLike(tn)&&hi(tn,qe)))return e.setTextRange(v.getGeneratedNameForNode(e.getNameOfDeclaration(tn)),qe)}return qe}function hi(qe,tn){var An=e.getParseTreeNode(tn);if(!An||An===qe||An.end<=qe.pos||An.pos>=qe.end)return!1;for(var wn=e.getEnclosingBlockScopeContainer(qe);An;){if(An===wn||An===qe)return!1;if(e.isClassElement(An)&&An.parent===qe)return!0;An=An.parent}return!1}function bt(qe){return re&1&&R&16?e.setTextRange(v.createUniqueName("_this",48),qe):qe}function Mt(qe,tn){return e.isStatic(tn)?v.getInternalName(qe):v.createPropertyAccessExpression(v.getInternalName(qe),"prototype")}function Ia(qe,tn){if(!qe||!tn||e.some(qe.parameters))return!1;var An=e.firstOrUndefined(qe.body.statements);if(!An||!e.nodeIsSynthesized(An)||An.kind!==241)return!1;var wn=An.expression;if(!e.nodeIsSynthesized(wn)||wn.kind!==210)return!1;var je=wn.expression;if(!e.nodeIsSynthesized(je)||je.kind!==106)return!1;var ur=e.singleOrUndefined(wn.arguments);if(!ur||!e.nodeIsSynthesized(ur)||ur.kind!==227)return!1;var hr=ur.expression;return e.isIdentifier(hr)&&hr.escapedText==="arguments"}}e.transformES2015=U})(fr||(fr={}));var fr;(function(e){function i(l){var _=l.factory,h=l.getCompilerOptions(),p,P;(h.jsx===1||h.jsx===3)&&(p=l.onEmitNode,l.onEmitNode=g,l.enableEmitNotification(283),l.enableEmitNotification(284),l.enableEmitNotification(282),P=[]);var z=l.onSubstituteNode;return l.onSubstituteNode=v,l.enableSubstitution(208),l.enableSubstitution(299),e.chainBundle(l,U);function U(ie){return ie}function g(ie,te,x){switch(te.kind){case 283:case 284:case 282:var J=te.tagName;P[e.getOriginalNodeId(J)]=!0;break}p(ie,te,x)}function v(ie,te){return te.id&&P&&P[te.id]?z(ie,te):(te=z(ie,te),e.isPropertyAccessExpression(te)?Y(te):e.isPropertyAssignment(te)?ce(te):te)}function Y(ie){if(e.isPrivateIdentifier(ie.name))return ie;var te=Z(ie.name);return te?e.setTextRange(_.createElementAccessExpression(ie.expression,te),ie):ie}function ce(ie){var te=e.isIdentifier(ie.name)&&Z(ie.name);return te?_.updatePropertyAssignment(ie,te,ie.initializer):ie}function Z(ie){var te=ie.originalKeywordKind||(e.nodeIsSynthesized(ie)?e.stringToToken(e.idText(ie)):void 0);if(te!==void 0&&te>=81&&te<=116)return e.setTextRange(_.createStringLiteralFromNode(ie),ie)}}e.transformES5=i})(fr||(fr={}));var fr;(function(e){var i;(function(U){U[U.Nop=0]="Nop",U[U.Statement=1]="Statement",U[U.Assign=2]="Assign",U[U.Break=3]="Break",U[U.BreakWhenTrue=4]="BreakWhenTrue",U[U.BreakWhenFalse=5]="BreakWhenFalse",U[U.Yield=6]="Yield",U[U.YieldStar=7]="YieldStar",U[U.Return=8]="Return",U[U.Throw=9]="Throw",U[U.Endfinally=10]="Endfinally"})(i||(i={}));var l;(function(U){U[U.Open=0]="Open",U[U.Close=1]="Close"})(l||(l={}));var _;(function(U){U[U.Exception=0]="Exception",U[U.With=1]="With",U[U.Switch=2]="Switch",U[U.Loop=3]="Loop",U[U.Labeled=4]="Labeled"})(_||(_={}));var h;(function(U){U[U.Try=0]="Try",U[U.Catch=1]="Catch",U[U.Finally=2]="Finally",U[U.Done=3]="Done"})(h||(h={}));var p;(function(U){U[U.Next=0]="Next",U[U.Throw=1]="Throw",U[U.Return=2]="Return",U[U.Break=3]="Break",U[U.Yield=4]="Yield",U[U.YieldStar=5]="YieldStar",U[U.Catch=6]="Catch",U[U.Endfinally=7]="Endfinally"})(p||(p={}));function P(U){switch(U){case 2:return"return";case 3:return"break";case 4:return"yield";case 5:return"yield*";case 7:return"endfinally";default:return}}function z(U){var g=U.factory,v=U.getEmitHelperFactory,Y=U.resumeLexicalEnvironment,ce=U.endLexicalEnvironment,Z=U.hoistFunctionDeclaration,ie=U.hoistVariableDeclaration,te=U.getCompilerOptions(),x=e.getEmitScriptTarget(te),J=U.getEmitResolver(),d=U.onSubstituteNode;U.onSubstituteNode=fi;var D,C,k,R,M,ge,ve,re,N,K,q=1,b,F,Q,j,I=0,L=0,V,ne,se,De,T,w,A,oe;return e.chainBundle(U,W);function W(_r){if(_r.isDeclarationFile||!(_r.transformFlags&2048))return _r;var Or=e.visitEachChild(_r,u,U);return e.addEmitHelpers(Or,U.readEmitHelpers()),Or}function u(_r){var Or=_r.transformFlags;return R?O(_r):k?B(_r):e.isFunctionLikeDeclaration(_r)&&_r.asteriskToken?$(_r):Or&2048?e.visitEachChild(_r,u,U):_r}function O(_r){switch(_r.kind){case 243:return en(_r);case 244:return pn(_r);case 252:return Fe(_r);case 253:return xr(_r);default:return B(_r)}}function B(_r){switch(_r.kind){case 259:return me(_r);case 215:return ae(_r);case 174:case 175:return Me(_r);case 240:return xe(_r);case 245:return or(_r);case 246:return Ve(_r);case 249:return Mr(_r);case 248:return ke(_r);case 250:return $r(_r);default:return _r.transformFlags&1048576?G(_r):_r.transformFlags&4196352?e.visitEachChild(_r,u,U):_r}}function G(_r){switch(_r.kind){case 223:return Se(_r);case 354:return Le(_r);case 224:return ue(_r);case 226:return y(_r);case 206:return X(_r);case 207:return Te(_r);case 209:return Je(_r);case 210:return er(_r);case 211:return wr(_r);default:return e.visitEachChild(_r,u,U)}}function $(_r){switch(_r.kind){case 259:return me(_r);case 215:return ae(_r);default:return e.Debug.failBadSyntaxKind(_r)}}function me(_r){if(_r.asteriskToken)_r=e.setOriginalNode(e.setTextRange(g.createFunctionDeclaration(_r.modifiers,void 0,_r.name,void 0,e.visitParameterList(_r.parameters,u,U),void 0,Oe(_r.body)),_r),_r);else{var Or=k,hi=R;k=!1,R=!1,_r=e.visitEachChild(_r,u,U),k=Or,R=hi}if(k){Z(_r);return}else return _r}function ae(_r){if(_r.asteriskToken)_r=e.setOriginalNode(e.setTextRange(g.createFunctionExpression(void 0,void 0,_r.name,void 0,e.visitParameterList(_r.parameters,u,U),void 0,Oe(_r.body)),_r),_r);else{var Or=k,hi=R;k=!1,R=!1,_r=e.visitEachChild(_r,u,U),k=Or,R=hi}return _r}function Me(_r){var Or=k,hi=R;return k=!1,R=!1,_r=e.visitEachChild(_r,u,U),k=Or,R=hi,_r}function Oe(_r){var Or=[],hi=k,bt=R,Mt=M,Ia=ge,qe=ve,tn=re,An=N,wn=K,je=q,ur=b,hr=F,Br=Q,Mn=j;k=!0,R=!1,M=void 0,ge=void 0,ve=void 0,re=void 0,N=void 0,K=void 0,q=1,b=void 0,F=void 0,Q=void 0,j=g.createTempVariable(void 0),Y();var di=g.copyPrologue(_r.statements,Or,!1,u);mr(_r.statements,di);var pi=st();return e.insertStatementsAfterStandardPrologue(Or,ce()),Or.push(g.createReturnStatement(pi)),k=hi,R=bt,M=Mt,ge=Ia,ve=qe,re=tn,N=An,K=wn,q=je,b=ur,F=hr,Q=Br,j=Mn,e.setTextRange(g.createBlock(Or,_r.multiLine),_r)}function xe(_r){if(_r.transformFlags&1048576){vr(_r.declarationList);return}else{if(e.getEmitFlags(_r)&1048576)return _r;for(var Or=0,hi=_r.declarationList.declarations;Or0&&(Tt(1,[g.createExpressionStatement(g.inlineExpressions(Or))]),Or=[]),Or.push(e.visitNode(bt,u,e.isExpression)))}}function Le(_r){for(var Or=[],hi=0,bt=_r.elements;hi0&&(Tt(1,[g.createExpressionStatement(g.inlineExpressions(Or))]),Or=[]),Or.push(e.visitNode(Mt,u,e.isExpression)))}return g.inlineExpressions(Or)}function be(_r){var Or=Ue(),hi=sn();return On(hi,e.visitNode(_r.left,u,e.isExpression),_r.left),_r.operatorToken.kind===55?cn(Or,hi,_r.left):Ke(Or,hi,_r.left),On(hi,e.visitNode(_r.right,u,e.isExpression),_r.right),br(Or),hi}function ue(_r){if(Nn(_r.whenTrue)||Nn(_r.whenFalse)){var Or=Ue(),hi=Ue(),bt=sn();return cn(Or,e.visitNode(_r.condition,u,e.isExpression),_r.condition),On(bt,e.visitNode(_r.whenTrue,u,e.isExpression),_r.whenTrue),Qn(hi),br(Or),On(bt,e.visitNode(_r.whenFalse,u,e.isExpression),_r.whenFalse),br(hi),bt}return e.visitEachChild(_r,u,U)}function y(_r){var Or=Ue(),hi=e.visitNode(_r.expression,u,e.isExpression);if(_r.asteriskToken){var bt=e.getEmitFlags(_r.expression)&8388608?hi:e.setTextRange(v().createValuesHelper(hi),_r);Vn(bt,_r)}else $i(hi,_r);return br(Or),rn(_r)}function X(_r){return Ae(_r.elements,void 0,void 0,_r.multiLine)}function Ae(_r,Or,hi,bt){var Mt=Zn(_r),Ia;if(Mt>0){Ia=sn();var qe=e.visitNodes(_r,u,e.isExpression,0,Mt);On(Ia,g.createArrayLiteralExpression(Or?Hn([Or],qe,!0):qe)),Or=void 0}var tn=e.reduceLeft(_r,An,[],Mt);return Ia?g.createArrayConcatCall(Ia,[g.createArrayLiteralExpression(tn,bt)]):e.setTextRange(g.createArrayLiteralExpression(Or?Hn([Or],tn,!0):tn,bt),hi);function An(wn,je){if(Nn(je)&&wn.length>0){var ur=Ia!==void 0;Ia||(Ia=sn()),On(Ia,ur?g.createArrayConcatCall(Ia,[g.createArrayLiteralExpression(wn,bt)]):g.createArrayLiteralExpression(Or?Hn([Or],wn,!0):wn,bt)),Or=void 0,wn=[]}return wn.push(e.visitNode(je,u,e.isExpression)),wn}}function Te(_r){var Or=_r.properties,hi=_r.multiLine,bt=Zn(Or),Mt=sn();On(Mt,g.createObjectLiteralExpression(e.visitNodes(Or,u,e.isObjectLiteralElementLike,0,bt),hi));var Ia=e.reduceLeft(Or,qe,[],bt);return Ia.push(hi?e.startOnNewLine(e.setParent(e.setTextRange(g.cloneNode(Mt),Mt),Mt.parent)):Mt),g.inlineExpressions(Ia);function qe(tn,An){Nn(An)&&tn.length>0&&(Dn(g.createExpressionStatement(g.inlineExpressions(tn))),tn=[]);var wn=e.createExpressionForObjectLiteralElementLike(g,_r,An,Mt),je=e.visitNode(wn,u,e.isExpression);return je&&(hi&&e.startOnNewLine(je),tn.push(je)),tn}}function Je(_r){return Nn(_r.argumentExpression)?g.updateElementAccessExpression(_r,Jr(e.visitNode(_r.expression,u,e.isLeftHandSideExpression)),e.visitNode(_r.argumentExpression,u,e.isExpression)):e.visitEachChild(_r,u,U)}function er(_r){if(!e.isImportCall(_r)&&e.forEach(_r.arguments,Nn)){var Or=g.createCallBinding(_r.expression,ie,x,!0),hi=Or.target,bt=Or.thisArg;return e.setOriginalNode(e.setTextRange(g.createFunctionApplyCall(Jr(e.visitNode(hi,u,e.isLeftHandSideExpression)),bt,Ae(_r.arguments)),_r),_r)}return e.visitEachChild(_r,u,U)}function wr(_r){if(e.forEach(_r.arguments,Nn)){var Or=g.createCallBinding(g.createPropertyAccessExpression(_r.expression,"bind"),ie),hi=Or.target,bt=Or.thisArg;return e.setOriginalNode(e.setTextRange(g.createNewExpression(g.createFunctionApplyCall(Jr(e.visitNode(hi,u,e.isExpression)),bt,Ae(_r.arguments,g.createVoidZero())),void 0,[]),_r),_r)}return e.visitEachChild(_r,u,U)}function mr(_r,Or){Or===void 0&&(Or=0);for(var hi=_r.length,bt=Or;bt0)break;An.push(kr(bt))}An.length&&(Dn(g.createExpressionStatement(g.inlineExpressions(An))),tn+=An.length,An=[])}}function kr(_r){return e.setSourceMapRange(g.createAssignment(e.setSourceMapRange(g.cloneNode(_r.name),_r.name),e.visitNode(_r.initializer,u,e.isExpression)),_r)}function jr(_r){if(Nn(_r))if(Nn(_r.thenStatement)||Nn(_r.elseStatement)){var Or=Ue(),hi=_r.elseStatement?Ue():void 0;cn(_r.elseStatement?hi:Or,e.visitNode(_r.expression,u,e.isExpression),_r.expression),We(_r.thenStatement),_r.elseStatement&&(Qn(Or),br(hi),We(_r.elseStatement)),br(Or)}else Dn(e.visitNode(_r,u,e.isStatement));else Dn(e.visitNode(_r,u,e.isStatement))}function Cr(_r){if(Nn(_r)){var Or=Ue(),hi=Ue();Wr(Or),br(hi),We(_r.statement),br(Or),Ke(hi,e.visitNode(_r.expression,u,e.isExpression)),Wn()}else Dn(e.visitNode(_r,u,e.isStatement))}function en(_r){return R?(fn(),_r=e.visitEachChild(_r,u,U),Wn(),_r):e.visitEachChild(_r,u,U)}function Lr(_r){if(Nn(_r)){var Or=Ue(),hi=Wr(Or);br(Or),cn(hi,e.visitNode(_r.expression,u,e.isExpression)),We(_r.statement),Qn(Or),Wn()}else Dn(e.visitNode(_r,u,e.isStatement))}function pn(_r){return R?(fn(),_r=e.visitEachChild(_r,u,U),Wn(),_r):e.visitEachChild(_r,u,U)}function ye(_r){if(Nn(_r)){var Or=Ue(),hi=Ue(),bt=Wr(hi);if(_r.initializer){var Mt=_r.initializer;e.isVariableDeclarationList(Mt)?vr(Mt):Dn(e.setTextRange(g.createExpressionStatement(e.visitNode(Mt,u,e.isExpression)),Mt))}br(Or),_r.condition&&cn(bt,e.visitNode(_r.condition,u,e.isExpression)),We(_r.statement),br(hi),_r.incrementor&&Dn(e.setTextRange(g.createExpressionStatement(e.visitNode(_r.incrementor,u,e.isExpression)),_r.incrementor)),Qn(Or),Wn()}else Dn(e.visitNode(_r,u,e.isStatement))}function or(_r){R&&fn();var Or=_r.initializer;if(Or&&e.isVariableDeclarationList(Or)){for(var hi=0,bt=Or.declarations;hi0?g.inlineExpressions(e.map(Ia,kr)):void 0,e.visitNode(_r.condition,u,e.isExpression),e.visitNode(_r.incrementor,u,e.isExpression),e.visitIterationBody(_r.statement,u,U))}else _r=e.visitEachChild(_r,u,U);return R&&Wn(),_r}function Pe(_r){if(Nn(_r)){var Or=sn(),hi=sn(),bt=sn(),Mt=g.createLoopVariable(),Ia=_r.initializer;ie(Mt),On(Or,e.visitNode(_r.expression,u,e.isExpression)),On(hi,g.createArrayLiteralExpression()),Dn(g.createForInStatement(bt,Or,g.createExpressionStatement(g.createCallExpression(g.createPropertyAccessExpression(hi,"push"),void 0,[bt])))),On(Mt,g.createNumericLiteral(0));var qe=Ue(),tn=Ue(),An=Wr(tn);br(qe),cn(An,g.createLessThan(Mt,g.createPropertyAccessExpression(hi,"length"))),On(bt,g.createElementAccessExpression(hi,Mt)),cn(tn,g.createBinaryExpression(bt,101,Or));var wn=void 0;if(e.isVariableDeclarationList(Ia)){for(var je=0,ur=Ia.declarations;je0?Qn(Or,_r):Dn(_r)}function ke(_r){if(R){var Or=Ir(_r.label&&e.idText(_r.label));if(Or>0)return Un(Or,_r)}return e.visitEachChild(_r,u,U)}function cr(_r){var Or=we(_r.label?e.idText(_r.label):void 0);Or>0?Qn(Or,_r):Dn(_r)}function Mr(_r){if(R){var Or=we(_r.label&&e.idText(_r.label));if(Or>0)return Un(Or,_r)}return e.visitEachChild(_r,u,U)}function Rr(_r){pt(e.visitNode(_r.expression,u,e.isExpression),_r)}function $r(_r){return gn(e.visitNode(_r.expression,u,e.isExpression),_r)}function nn(_r){Nn(_r)?(Xe(Jr(e.visitNode(_r.expression,u,e.isExpression))),We(_r.statement),ar()):Dn(e.visitNode(_r,u,e.isStatement))}function vn(_r){if(Nn(_r.caseBlock)){for(var Or=_r.caseBlock,hi=Or.clauses.length,bt=qn(),Mt=Jr(e.visitNode(_r.expression,u,e.isExpression)),Ia=[],qe=-1,tn=0;tn0)break;je.push(g.createCaseClause(e.visitNode(An.expression,u,e.isExpression),[Un(Ia[tn],An.expression)]))}else ur++}je.length&&(Dn(g.createSwitchStatement(Mt,g.createCaseBlock(je))),wn+=je.length,je=[]),ur>0&&(wn+=ur,ur=0)}qe>=0?Qn(Ia[qe]):Qn(bt);for(var tn=0;tn=0;hi--){var bt=re[hi];if(Ni(bt)){if(bt.labelText===_r)return!0}else break}return!1}function we(_r){if(re)if(_r)for(var Or=re.length-1;Or>=0;Or--){var hi=re[Or];if(Ni(hi)&&hi.labelText===_r)return hi.breakLabel;if(Ki(hi)&&Pn(_r,Or-1))return hi.breakLabel}else for(var Or=re.length-1;Or>=0;Or--){var hi=re[Or];if(Ki(hi))return hi.breakLabel}return 0}function Ir(_r){if(re)if(_r)for(var Or=re.length-1;Or>=0;Or--){var hi=re[Or];if(mi(hi)&&Pn(_r,Or-1))return hi.continueLabel}else for(var Or=re.length-1;Or>=0;Or--){var hi=re[Or];if(mi(hi))return hi.continueLabel}return 0}function Re(_r){if(_r!==void 0&&_r>0){K===void 0&&(K=[]);var Or=g.createNumericLiteral(-1);return K[_r]===void 0?K[_r]=[Or]:K[_r].push(Or),Or}return g.createOmittedExpression()}function yn(_r){var Or=g.createNumericLiteral(_r);return e.addSyntheticTrailingComment(Or,3,P(_r)),Or}function Un(_r,Or){return e.Debug.assertLessThan(0,_r,"Invalid label"),e.setTextRange(g.createReturnStatement(g.createArrayLiteralExpression([yn(3),Re(_r)])),Or)}function gn(_r,Or){return e.setTextRange(g.createReturnStatement(g.createArrayLiteralExpression(_r?[yn(2),_r]:[yn(2)])),Or)}function rn(_r){return e.setTextRange(g.createCallExpression(g.createPropertyAccessExpression(j,"sent"),void 0,[]),_r)}function xn(){Tt(0)}function Dn(_r){_r?Tt(1,[_r]):xn()}function On(_r,Or,hi){Tt(2,[_r,Or],hi)}function Qn(_r,Or){Tt(3,[_r],Or)}function Ke(_r,Or,hi){Tt(4,[_r,Or],hi)}function cn(_r,Or,hi){Tt(5,[_r,Or],hi)}function Vn(_r,Or){Tt(7,[_r],Or)}function $i(_r,Or){Tt(6,[_r],Or)}function pt(_r,Or){Tt(8,[_r],Or)}function Hi(_r,Or){Tt(9,[_r],Or)}function Ci(){Tt(10)}function Tt(_r,Or,hi){b===void 0&&(b=[],F=[],Q=[]),N===void 0&&br(Ue());var bt=b.length;b[bt]=_r,F[bt]=Or,Q[bt]=hi}function st(){I=0,L=0,V=void 0,ne=!1,se=!1,De=void 0,T=void 0,w=void 0,A=void 0,oe=void 0;var _r=Yi();return v().createGeneratorHelper(e.setEmitFlags(g.createFunctionExpression(void 0,void 0,void 0,void 0,[g.createParameterDeclaration(void 0,void 0,j)],void 0,g.createBlock(_r,_r.length>0)),524288))}function Yi(){if(b){for(var _r=0;_r=0;Or--){var hi=oe[Or];T=[g.createWithStatement(hi.expression,g.createBlock(T))]}if(A){var bt=A.startLabel,Mt=A.catchLabel,Ia=A.finallyLabel,qe=A.endLabel;T.unshift(g.createExpressionStatement(g.createCallExpression(g.createPropertyAccessExpression(g.createPropertyAccessExpression(j,"trys"),"push"),void 0,[g.createArrayLiteralExpression([Re(bt),Re(Mt),Re(Ia),Re(qe)])]))),A=void 0}_r&&T.push(g.createExpressionStatement(g.createAssignment(g.createPropertyAccessExpression(j,"label"),g.createNumericLiteral(L+1))))}De.push(g.createCaseClause(g.createNumericLiteral(L),T||[])),T=void 0}function Ao(_r){if(N)for(var Or=0;Or(e.isExportName(ye)?1:0);return!1}function ne(ye,or){return V(ye.left)?e.flattenDestructuringAssignment(ye,I,_,0,!or,ze):e.visitEachChild(ye,I,_)}function se(ye){return p.updateForStatement(ye,e.visitNode(ye.initializer,L,e.isForInitializer),e.visitNode(ye.condition,I,e.isExpression),e.visitNode(ye.incrementor,L,e.isExpression),e.visitIterationBody(ye.statement,I,_))}function De(ye){return p.updateExpressionStatement(ye,e.visitNode(ye.expression,L,e.isExpression))}function T(ye,or){return p.updateParenthesizedExpression(ye,e.visitNode(ye.expression,or?L:I,e.isExpression))}function w(ye,or){return p.updatePartiallyEmittedExpression(ye,e.visitNode(ye.expression,or?L:I,e.isExpression))}function A(ye,or){if((ye.operator===45||ye.operator===46)&&e.isIdentifier(ye.operand)&&!e.isGeneratedIdentifier(ye.operand)&&!e.isLocalName(ye.operand)&&!e.isDeclarationNameOfEnumOrNamespace(ye.operand)){var Pe=pn(ye.operand);if(Pe){var Ve=void 0,Ar=e.visitNode(ye.operand,I,e.isExpression);e.isPrefixUnaryExpression(ye)?Ar=p.updatePrefixUnaryExpression(ye,Ar):(Ar=p.updatePostfixUnaryExpression(ye,Ar),or||(Ve=p.createTempVariable(g),Ar=p.createAssignment(Ve,Ar),e.setTextRange(Ar,ye)),Ar=p.createComma(Ar,p.cloneNode(ye.operand)),e.setTextRange(Ar,ye));for(var ke=0,cr=Pe;ke=2?cr=p.createArrowFunction(void 0,void 0,Ar,void 0,void 0,ke):(cr=p.createFunctionExpression(void 0,void 0,void 0,void 0,Ar,void 0,ke),or&&e.setEmitFlags(cr,8));var Mr=p.createNewExpression(p.createIdentifier("Promise"),void 0,[cr]);return e.getESModuleInterop(v)?p.createCallExpression(p.createPropertyAccessExpression(Mr,p.createIdentifier("then")),void 0,[P().createImportStarCallbackHelper()]):Mr}function O(ye,or){var Pe=ye&&!e.isSimpleInlineableExpression(ye)&&!or?p.createTempVariable(g):void 0,Ve=p.createCallExpression(p.createPropertyAccessExpression(p.createIdentifier("Promise"),"resolve"),void 0,[]),Ar=p.createCallExpression(p.createIdentifier("require"),void 0,Pe?[Pe]:ye?[ye]:[]);e.getESModuleInterop(v)&&(Ar=P().createImportStarHelper(Ar));var ke;Z>=2?ke=p.createArrowFunction(void 0,void 0,[],void 0,void 0,Ar):ke=p.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,p.createBlock([p.createReturnStatement(Ar)]));var cr=p.createCallExpression(p.createPropertyAccessExpression(Ve,"then"),void 0,[ke]);return Pe===void 0?cr:p.createCommaListExpression([p.createAssignment(Pe,ye),cr])}function B(ye,or){return!e.getESModuleInterop(v)||e.getEmitFlags(ye)&67108864?or:e.getExportNeedsImportStarHelper(ye)?P().createImportStarHelper(or):or}function G(ye,or){return!e.getESModuleInterop(v)||e.getEmitFlags(ye)&67108864?or:e.getImportNeedsImportStarHelper(ye)?P().createImportStarHelper(or):e.getImportNeedsImportDefaultHelper(ye)?P().createImportDefaultHelper(or):or}function $(ye){var or,Pe=e.getNamespaceDeclarationNode(ye);if(ie!==e.ModuleKind.AMD)if(ye.importClause){var Ve=[];Pe&&!e.isDefaultImport(ye)?Ve.push(p.createVariableDeclaration(p.cloneNode(Pe.name),void 0,void 0,G(ye,me(ye)))):(Ve.push(p.createVariableDeclaration(p.getGeneratedNameForNode(ye),void 0,void 0,G(ye,me(ye)))),Pe&&e.isDefaultImport(ye)&&Ve.push(p.createVariableDeclaration(p.cloneNode(Pe.name),void 0,void 0,p.getGeneratedNameForNode(ye)))),or=e.append(or,e.setOriginalNode(e.setTextRange(p.createVariableStatement(void 0,p.createVariableDeclarationList(Ve,Z>=2?2:0)),ye),ye))}else return e.setOriginalNode(e.setTextRange(p.createExpressionStatement(me(ye)),ye),ye);else Pe&&e.isDefaultImport(ye)&&(or=e.append(or,p.createVariableStatement(void 0,p.createVariableDeclarationList([e.setOriginalNode(e.setTextRange(p.createVariableDeclaration(p.cloneNode(Pe.name),void 0,void 0,p.getGeneratedNameForNode(ye)),ye),ye)],Z>=2?2:0))));if(be(ye)){var Ar=e.getOriginalNodeId(ye);d[Ar]=y(d[Ar],ye)}else or=y(or,ye);return e.singleOrMany(or)}function me(ye){var or=e.getExternalModuleNameLiteral(p,ye,D,ce,Y,v),Pe=[];return or&&Pe.push(or),p.createCallExpression(p.createIdentifier("require"),void 0,Pe)}function ae(ye){e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(ye),"import= for internal module references should be handled in an earlier transformer.");var or;if(ie!==e.ModuleKind.AMD?e.hasSyntacticModifier(ye,1)?or=e.append(or,e.setOriginalNode(e.setTextRange(p.createExpressionStatement(a(ye.name,me(ye))),ye),ye)):or=e.append(or,e.setOriginalNode(e.setTextRange(p.createVariableStatement(void 0,p.createVariableDeclarationList([p.createVariableDeclaration(p.cloneNode(ye.name),void 0,void 0,me(ye))],Z>=2?2:0)),ye),ye)):e.hasSyntacticModifier(ye,1)&&(or=e.append(or,e.setOriginalNode(e.setTextRange(p.createExpressionStatement(a(p.getExportName(ye),p.getLocalName(ye))),ye),ye))),be(ye)){var Pe=e.getOriginalNodeId(ye);d[Pe]=X(d[Pe],ye)}else or=X(or,ye);return e.singleOrMany(or)}function Me(ye){if(ye.moduleSpecifier){var or=p.getGeneratedNameForNode(ye);if(ye.exportClause&&e.isNamedExports(ye.exportClause)){var Pe=[];ie!==e.ModuleKind.AMD&&Pe.push(e.setOriginalNode(e.setTextRange(p.createVariableStatement(void 0,p.createVariableDeclarationList([p.createVariableDeclaration(or,void 0,void 0,me(ye))])),ye),ye));for(var Ve=0,Ar=ye.exportClause.elements;Ve=e.ModuleKind.Node16?d(ve):void 0;case 274:return C(ve);case 275:var re=ve;return k(re)}return ve}function J(ve){var re=e.getExternalModuleNameLiteral(_,ve,e.Debug.checkDefined(ce),p,P,z),N=[];if(re&&N.push(re),!Z){var K=_.createUniqueName("_createRequire",48),q=_.createImportDeclaration(void 0,_.createImportClause(!1,void 0,_.createNamedImports([_.createImportSpecifier(!1,_.createIdentifier("createRequire"),K)])),_.createStringLiteral("module")),b=_.createUniqueName("__require",48),F=_.createVariableStatement(void 0,_.createVariableDeclarationList([_.createVariableDeclaration(b,void 0,void 0,_.createCallExpression(_.cloneNode(K),void 0,[_.createPropertyAccessExpression(_.createMetaProperty(100,_.createIdentifier("meta")),_.createIdentifier("url"))]))],U>=2?2:0));Z=[q,F]}var Q=Z[1].declarationList.declarations[0].name;return e.Debug.assertNode(Q,e.isIdentifier),_.createCallExpression(_.cloneNode(Q),void 0,N)}function d(ve){e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(ve),"import= for internal module references should be handled in an earlier transformer.");var re;return re=e.append(re,e.setOriginalNode(e.setTextRange(_.createVariableStatement(void 0,_.createVariableDeclarationList([_.createVariableDeclaration(_.cloneNode(ve.name),void 0,void 0,J(ve))],U>=2?2:0)),ve),ve)),re=D(re,ve),e.singleOrMany(re)}function D(ve,re){return e.hasSyntacticModifier(re,1)&&(ve=e.append(ve,_.createExportDeclaration(void 0,re.isTypeOnly,_.createNamedExports([_.createExportSpecifier(!1,void 0,e.idText(re.name))])))),ve}function C(ve){return ve.isExportEquals?void 0:ve}function k(ve){if(z.module!==void 0&&z.module>e.ModuleKind.ES2015||!ve.exportClause||!e.isNamespaceExport(ve.exportClause)||!ve.moduleSpecifier)return ve;var re=ve.exportClause.name,N=_.getGeneratedNameForNode(re),K=_.createImportDeclaration(void 0,_.createImportClause(!1,void 0,_.createNamespaceImport(N)),ve.moduleSpecifier,ve.assertClause);e.setOriginalNode(K,ve.exportClause);var q=e.isExportNamespaceAsDefaultDeclaration(ve)?_.createExportDefault(N):_.createExportDeclaration(void 0,!1,_.createNamedExports([_.createExportSpecifier(!1,N,re)]));return e.setOriginalNode(q,ve),[K,q]}function R(ve,re,N){e.isSourceFile(re)?((e.isExternalModule(re)||z.isolatedModules)&&z.importHelpers&&(Y=new e.Map),g(ve,re,N),Y=void 0):g(ve,re,N)}function M(ve,re){return re=v(ve,re),Y&&e.isIdentifier(re)&&e.getEmitFlags(re)&4096?ge(re):re}function ge(ve){var re=e.idText(ve),N=Y.get(re);return N||Y.set(re,N=_.createUniqueName(re,48)),N}}e.transformECMAScriptModule=i})(fr||(fr={}));var fr;(function(e){function i(l){var _=l.onSubstituteNode,h=l.onEmitNode,p=e.transformECMAScriptModule(l),P=l.onSubstituteNode,z=l.onEmitNode;l.onSubstituteNode=_,l.onEmitNode=h;var U=e.transformModule(l),g=l.onSubstituteNode,v=l.onEmitNode;l.onSubstituteNode=ce,l.onEmitNode=Z,l.enableSubstitution(308),l.enableEmitNotification(308);var Y;return x;function ce(d,D){return e.isSourceFile(D)?(Y=D,_(d,D)):Y?Y.impliedNodeFormat===e.ModuleKind.ESNext?P(d,D):g(d,D):_(d,D)}function Z(d,D,C){return e.isSourceFile(D)&&(Y=D),Y?Y.impliedNodeFormat===e.ModuleKind.ESNext?z(d,D,C):v(d,D,C):h(d,D,C)}function ie(d){return d.impliedNodeFormat===e.ModuleKind.ESNext?p:U}function te(d){if(d.isDeclarationFile)return d;Y=d;var D=ie(d)(d);return Y=void 0,e.Debug.assert(e.isSourceFile(D)),D}function x(d){return d.kind===308?te(d):J(d)}function J(d){return l.factory.createBundle(e.map(d.sourceFiles,te),d.prepends)}}e.transformNodeModule=i})(fr||(fr={}));var fr;(function(e){function i(h){return e.isVariableDeclaration(h)||e.isPropertyDeclaration(h)||e.isPropertySignature(h)||e.isBindingElement(h)||e.isSetAccessor(h)||e.isGetAccessor(h)||e.isConstructSignatureDeclaration(h)||e.isCallSignatureDeclaration(h)||e.isMethodDeclaration(h)||e.isMethodSignature(h)||e.isFunctionDeclaration(h)||e.isParameter(h)||e.isTypeParameterDeclaration(h)||e.isExpressionWithTypeArguments(h)||e.isImportEqualsDeclaration(h)||e.isTypeAliasDeclaration(h)||e.isConstructorDeclaration(h)||e.isIndexSignatureDeclaration(h)||e.isPropertyAccessExpression(h)||e.isJSDocTypeAlias(h)}e.canProduceDiagnostics=i;function l(h){if(e.isSetAccessor(h)||e.isGetAccessor(h))return p;return e.isMethodSignature(h)||e.isMethodDeclaration(h)?z:_(h);function p(g){var v=P(g);return v!==void 0?{diagnosticMessage:v,errorNode:h,typeName:h.name}:void 0}function P(g){return e.isStatic(h)?g.errorModuleName?g.accessibility===2?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:h.parent.kind===260?g.errorModuleName?g.accessibility===2?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:g.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1}function z(g){var v=U(g);return v!==void 0?{diagnosticMessage:v,errorNode:h,typeName:h.name}:void 0}function U(g){return e.isStatic(h)?g.errorModuleName?g.accessibility===2?e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:h.parent.kind===260?g.errorModuleName?g.accessibility===2?e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_private_name_1:g.errorModuleName?e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_private_name_1}}e.createGetSymbolAccessibilityDiagnosticForNodeName=l;function _(h){if(e.isVariableDeclaration(h)||e.isPropertyDeclaration(h)||e.isPropertySignature(h)||e.isPropertyAccessExpression(h)||e.isBindingElement(h)||e.isConstructorDeclaration(h))return P;return e.isSetAccessor(h)||e.isGetAccessor(h)?z:e.isConstructSignatureDeclaration(h)||e.isCallSignatureDeclaration(h)||e.isMethodDeclaration(h)||e.isMethodSignature(h)||e.isFunctionDeclaration(h)||e.isIndexSignatureDeclaration(h)?U:e.isParameter(h)?e.isParameterPropertyDeclaration(h,h.parent)&&e.hasSyntacticModifier(h.parent,8)?P:g:e.isTypeParameterDeclaration(h)?Y:e.isExpressionWithTypeArguments(h)?ce:e.isImportEqualsDeclaration(h)?Z:e.isTypeAliasDeclaration(h)||e.isJSDocTypeAlias(h)?ie:e.Debug.assertNever(h,"Attempted to set a declaration diagnostic context for unhandled node kind: ".concat(e.Debug.formatSyntaxKind(h.kind)));function p(te){if(h.kind===257||h.kind===205)return te.errorModuleName?te.accessibility===2?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1;if(h.kind===169||h.kind===208||h.kind===168||h.kind===166&&e.hasSyntacticModifier(h.parent,8))return e.isStatic(h)?te.errorModuleName?te.accessibility===2?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:h.parent.kind===260||h.kind===166?te.errorModuleName?te.accessibility===2?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:te.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1}function P(te){var x=p(te);return x!==void 0?{diagnosticMessage:x,errorNode:h,typeName:h.name}:void 0}function z(te){var x;return h.kind===175?e.isStatic(h)?x=te.errorModuleName?e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:x=te.errorModuleName?e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:e.isStatic(h)?x=te.errorModuleName?te.accessibility===2?e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:x=te.errorModuleName?te.accessibility===2?e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1,{diagnosticMessage:x,errorNode:h.name,typeName:h.name}}function U(te){var x;switch(h.kind){case 177:x=te.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 176:x=te.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 178:x=te.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 171:case 170:e.isStatic(h)?x=te.errorModuleName?te.accessibility===2?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:h.parent.kind===260?x=te.errorModuleName?te.accessibility===2?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:x=te.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 259:x=te.errorModuleName?te.accessibility===2?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:return e.Debug.fail("This is unknown kind for signature: "+h.kind)}return{diagnosticMessage:x,errorNode:h.name||h}}function g(te){var x=v(te);return x!==void 0?{diagnosticMessage:x,errorNode:h,typeName:h.name}:void 0}function v(te){switch(h.parent.kind){case 173:return te.errorModuleName?te.accessibility===2?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 177:case 182:return te.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 176:return te.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 178:return te.errorModuleName?e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 171:case 170:return e.isStatic(h.parent)?te.errorModuleName?te.accessibility===2?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:h.parent.parent.kind===260?te.errorModuleName?te.accessibility===2?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:te.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 259:case 181:return te.errorModuleName?te.accessibility===2?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;case 175:case 174:return te.errorModuleName?te.accessibility===2?e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1;default:return e.Debug.fail("Unknown parent for parameter: ".concat(e.Debug.formatSyntaxKind(h.parent.kind)))}}function Y(){var te;switch(h.parent.kind){case 260:te=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 261:te=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 197:te=e.Diagnostics.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;break;case 182:case 177:te=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 176:te=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 171:case 170:e.isStatic(h.parent)?te=e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:h.parent.parent.kind===260?te=e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:te=e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 181:case 259:te=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 262:te=e.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:return e.Debug.fail("This is unknown parent for type parameter: "+h.parent.kind)}return{diagnosticMessage:te,errorNode:h,typeName:h.name}}function ce(){var te;return e.isClassDeclaration(h.parent.parent)?te=e.isHeritageClause(h.parent)&&h.parent.token===117?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:h.parent.parent.name?e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_class_has_or_is_using_private_name_0:te=e.Diagnostics.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1,{diagnosticMessage:te,errorNode:h,typeName:e.getNameOfDeclaration(h.parent.parent)}}function Z(){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:h,typeName:h.name}}function ie(te){return{diagnosticMessage:te.errorModuleName?e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:e.isJSDocTypeAlias(h)?e.Debug.checkDefined(h.typeExpression):h.type,typeName:e.isJSDocTypeAlias(h)?e.getNameOfDeclaration(h):h.name}}}e.createGetSymbolAccessibilityDiagnosticForNode=_})(fr||(fr={}));var fr;(function(e){function i(Z,ie,te){var x=Z.getCompilerOptions(),J=e.transformNodes(ie,Z,e.factory,x,te?[te]:e.filter(Z.getSourceFiles(),e.isSourceFileNotJson),[p],!1);return J.diagnostics}e.getDeclarationDiagnostics=i;function l(Z,ie){var te=ie.text.substring(Z.pos,Z.end);return e.stringContains(te,"@internal")}function _(Z,ie){var te=e.getParseTreeNode(Z);if(te&&te.kind===166){var x=te.parent.parameters.indexOf(te),J=x>0?te.parent.parameters[x-1]:void 0,d=ie.text,D=J?e.concatenate(e.getTrailingCommentRanges(d,e.skipTrivia(d,J.end+1,!1,!0)),e.getLeadingCommentRanges(d,Z.pos)):e.getTrailingCommentRanges(d,e.skipTrivia(d,Z.pos,!1,!0));return D&&D.length&&l(e.last(D),ie)}var C=te&&e.getLeadingCommentRangesOfNode(te,ie);return!!e.forEach(C,function(k){return l(k,ie)})}e.isInternalDeclaration=_;var h=531469;function p(Z){var ie=function(){return e.Debug.fail("Diagnostic emitted without context")},te=ie,x=!0,J=!1,d=!1,D=!1,C=!1,k,R,M,ge,ve,re,N=Z.factory,K=Z.getEmitHost(),q={trackSymbol:W,reportInaccessibleThisError:$,reportInaccessibleUniqueSymbolError:B,reportCyclicStructureError:G,reportPrivateInBaseOfClassExpression:u,reportLikelyUnsafeImportRequiredError:me,reportTruncationError:ae,moduleResolverHost:K,trackReferencedAmbientModule:w,trackExternalModuleSymbolOfImportTypeNode:oe,reportNonlocalAugmentation:Me,reportNonSerializableProperty:Oe,reportImportTypeNodeResolutionModeOverride:xe},b,F,Q,j,I,L,V=Z.getEmitResolver(),ne=Z.getCompilerOptions(),se=ne.noResolve,De=ne.stripInternal;return Ce;function T(Fe){if(Fe){R=R||new e.Set;for(var Ge=0,xr=Fe;Ge0?Z.parameters[0].type:void 0}function v(Z){switch(Z.kind){case 169:case 168:return!e.hasEffectiveModifier(Z,8);case 166:case 257:return!0}return!1}function Y(Z){switch(Z.kind){case 259:case 264:case 268:case 261:case 260:case 262:case 263:case 240:case 269:case 275:case 274:return!0}return!1}function ce(Z){switch(Z.kind){case 177:case 173:case 171:case 174:case 175:case 169:case 168:case 170:case 176:case 178:case 257:case 165:case 230:case 180:case 191:case 181:case 182:case 202:return!0}return!1}})(fr||(fr={}));var fr;(function(e){function i(ie){switch(ie){case e.ModuleKind.ESNext:case e.ModuleKind.ES2022:case e.ModuleKind.ES2020:case e.ModuleKind.ES2015:return e.transformECMAScriptModule;case e.ModuleKind.System:return e.transformSystemModule;case e.ModuleKind.Node16:case e.ModuleKind.NodeNext:return e.transformNodeModule;default:return e.transformModule}}var l;(function(ie){ie[ie.Uninitialized=0]="Uninitialized",ie[ie.Initialized=1]="Initialized",ie[ie.Completed=2]="Completed",ie[ie.Disposed=3]="Disposed"})(l||(l={}));var _;(function(ie){ie[ie.Substitution=1]="Substitution",ie[ie.EmitNotifications=2]="EmitNotifications"})(_||(_={})),e.noTransformers={scriptTransformers:e.emptyArray,declarationTransformers:e.emptyArray};function h(ie,te,x){return{scriptTransformers:p(ie,te,x),declarationTransformers:P(te)}}e.getTransformers=h;function p(ie,te,x){if(x)return e.emptyArray;var J=e.getEmitScriptTarget(ie),d=e.getEmitModuleKind(ie),D=[];return e.addRange(D,te&&e.map(te.before,g)),D.push(e.transformTypeScript),D.push(e.transformLegacyDecorators),D.push(e.transformClassFields),e.getJSXTransformEnabled(ie)&&D.push(e.transformJsx),J<99&&D.push(e.transformESNext),J<8&&D.push(e.transformES2021),J<7&&D.push(e.transformES2020),J<6&&D.push(e.transformES2019),J<5&&D.push(e.transformES2018),J<4&&D.push(e.transformES2017),J<3&&D.push(e.transformES2016),J<2&&(D.push(e.transformES2015),D.push(e.transformGenerators)),D.push(i(d)),J<1&&D.push(e.transformES5),e.addRange(D,te&&e.map(te.after,g)),D}function P(ie){var te=[];return te.push(e.transformDeclarations),e.addRange(te,ie&&e.map(ie.afterDeclarations,v)),te}function z(ie){return function(te){return e.isBundle(te)?ie.transformBundle(te):ie.transformSourceFile(te)}}function U(ie,te){return function(x){var J=ie(x);return typeof J=="function"?te(x,J):z(J)}}function g(ie){return U(ie,e.chainBundle)}function v(ie){return U(ie,function(te,x){return x})}function Y(ie,te){return te}e.noEmitSubstitution=Y;function ce(ie,te,x){x(ie,te)}e.noEmitNotification=ce;function Z(ie,te,x,J,d,D,C){for(var k=new Array(358),R,M,ge,ve=0,re=[],N=[],K=[],q=[],b=0,F=!1,Q=[],j=0,I,L,V=Y,ne=ce,se=0,De=[],T={factory:x,getCompilerOptions:function(){return J},getEmitResolver:function(){return ie},getEmitHost:function(){return te},getEmitHelperFactory:e.memoize(function(){return e.createEmitHelperFactory(T)}),startLexicalEnvironment:Le,suspendLexicalEnvironment:be,resumeLexicalEnvironment:ue,endLexicalEnvironment:y,setLexicalEnvironmentFlags:X,getLexicalEnvironmentFlags:Ae,hoistVariableDeclaration:Ce,hoistFunctionDeclaration:ze,addInitializationStatement:Ee,startBlockScope:Te,endBlockScope:Je,addBlockScopedVariable:er,requestEmitHelper:wr,readEmitHelpers:mr,enableSubstitution:me,enableEmitNotification:Oe,isSubstitutionEnabled:ae,isEmitNotificationEnabled:xe,get onSubstituteNode(){return V},set onSubstituteNode(a){e.Debug.assert(se<1,"Cannot modify transformation hooks after initialization has completed."),e.Debug.assert(a!==void 0,"Value must not be 'undefined'"),V=a},get onEmitNode(){return ne},set onEmitNode(a){e.Debug.assert(se<1,"Cannot modify transformation hooks after initialization has completed."),e.Debug.assert(a!==void 0,"Value must not be 'undefined'"),ne=a},addDiagnostic:function(a){De.push(a)}},w=0,A=d;w0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(se<2,"Cannot modify the lexical environment after transformation has completed.");var qr=e.setEmitFlags(x.createVariableDeclaration(a),64);R?R.push(qr):R=[qr],ve&1&&(ve|=2)}function ze(a){e.Debug.assert(se>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(se<2,"Cannot modify the lexical environment after transformation has completed."),e.setEmitFlags(a,1048576),M?M.push(a):M=[a]}function Ee(a){e.Debug.assert(se>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(se<2,"Cannot modify the lexical environment after transformation has completed."),e.setEmitFlags(a,1048576),ge?ge.push(a):ge=[a]}function Le(){e.Debug.assert(se>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(se<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!F,"Lexical environment is suspended."),re[b]=R,N[b]=M,K[b]=ge,q[b]=ve,b++,R=void 0,M=void 0,ge=void 0,ve=0}function be(){e.Debug.assert(se>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(se<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!F,"Lexical environment is already suspended."),F=!0}function ue(){e.Debug.assert(se>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(se<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(F,"Lexical environment is not suspended."),F=!1}function y(){e.Debug.assert(se>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(se<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!F,"Lexical environment is suspended.");var a;if(R||M||ge){if(M&&(a=Hn([],M,!0)),R){var qr=x.createVariableStatement(void 0,x.createVariableDeclarationList(R));e.setEmitFlags(qr,1048576),a?a.push(qr):a=[qr]}ge&&(a?a=Hn(Hn([],a,!0),ge,!0):a=Hn([],ge,!0))}return b--,R=re[b],M=N[b],ge=K[b],ve=q[b],b===0&&(re=[],N=[],K=[],q=[]),a}function X(a,qr){ve=qr?ve|a:ve&~a}function Ae(){return ve}function Te(){e.Debug.assert(se>0,"Cannot start a block scope during initialization."),e.Debug.assert(se<2,"Cannot start a block scope after transformation has completed."),Q[j]=I,j++,I=void 0}function Je(){e.Debug.assert(se>0,"Cannot end a block scope during initialization."),e.Debug.assert(se<2,"Cannot end a block scope after transformation has completed.");var a=e.some(I)?[x.createVariableStatement(void 0,x.createVariableDeclarationList(I.map(function(qr){return x.createVariableDeclaration(qr)}),1))]:void 0;return j--,I=Q[j],j===0&&(Q=[]),a}function er(a){e.Debug.assert(j>0,"Cannot add a block scoped variable outside of an iteration body."),(I||(I=[])).push(a)}function wr(a){if(e.Debug.assert(se>0,"Cannot modify the transformation context during initialization."),e.Debug.assert(se<2,"Cannot modify the transformation context after transformation has completed."),e.Debug.assert(!a.scoped,"Cannot request a scoped emit helper."),a.dependencies)for(var qr=0,ln=a.dependencies;qr0,"Cannot modify the transformation context during initialization."),e.Debug.assert(se<2,"Cannot modify the transformation context after transformation has completed.");var a=L;return L=void 0,a}function We(){if(se<3){for(var a=0,qr=d;a"),Ui(),Wr(E.type),fl(E)}function _r(E){$t("function"),Ou(E,E.parameters),wi(":"),Wr(E.type)}function Or(E){wi("?"),Wr(E.type)}function hi(E){wi("!"),Wr(E.type)}function bt(E){Wr(E.type),wi("=")}function Mt(E){Ul(E),Ac(E,E.modifiers),$t("new"),Ui(),Gu(E,E.typeParameters),Ou(E,E.parameters),Ui(),wi("=>"),Ui(),Wr(E.type),fl(E)}function Ia(E){$t("typeof"),Ui(),Wr(E.exprName),Hu(E,E.typeArguments)}function qe(E){wi("{");var $e=e.getEmitFlags(E)&1?768:32897;Bo(E,E.members,$e|524288),wi("}")}function tn(E){Wr(E.elementType,Fe.parenthesizeNonArrayTypeOfPostfixType),wi("["),wi("]")}function An(E){wi("..."),Wr(E.type)}function wn(E){Hr(22,E.pos,wi,E);var $e=e.getEmitFlags(E)&1?528:657;Bo(E,E.elements,$e|524288,Fe.parenthesizeElementTypeOfTupleType),Hr(23,E.elements.end,wi,E)}function je(E){Wr(E.dotDotDotToken),Wr(E.name),Wr(E.questionToken),Hr(58,E.name.end,wi,E),Ui(),Wr(E.type)}function ur(E){Wr(E.type,Fe.parenthesizeTypeOfOptionalType),wi("?")}function hr(E){Bo(E,E.types,516,Fe.parenthesizeConstituentTypeOfUnionType)}function Br(E){Bo(E,E.types,520,Fe.parenthesizeConstituentTypeOfIntersectionType)}function Mn(E){Wr(E.checkType,Fe.parenthesizeCheckTypeOfConditionalType),Ui(),$t("extends"),Ui(),Wr(E.extendsType,Fe.parenthesizeExtendsTypeOfConditionalType),Ui(),wi("?"),Ui(),Wr(E.trueType),Ui(),wi(":"),Ui(),Wr(E.falseType)}function di(E){$t("infer"),Ui(),Wr(E.typeParameter)}function pi(E){wi("("),Wr(E.type),wi(")")}function _i(){$t("this")}function Pt(E){Cl(E.operator,$t),Ui();var $e=E.operator===146?Fe.parenthesizeOperandOfReadonlyTypeOperator:Fe.parenthesizeOperandOfTypeOperator;Wr(E.type,$e)}function Gt(E){Wr(E.objectType,Fe.parenthesizeNonArrayTypeOfPostfixType),wi("["),Wr(E.indexType),wi("]")}function fa(E){var $e=e.getEmitFlags(E);wi("{"),$e&1?Ui():(Ko(),Pc()),E.readonlyToken&&(Wr(E.readonlyToken),E.readonlyToken.kind!==146&&$t("readonly"),Ui()),wi("["),Ai(3,E.typeParameter),E.nameType&&(Ui(),$t("as"),Ui(),Wr(E.nameType)),wi("]"),E.questionToken&&(Wr(E.questionToken),E.questionToken.kind!==57&&wi("?")),wi(":"),Ui(),Wr(E.type),Rs(),$e&1?Ui():(Ko(),Kc()),Bo(E,E.members,2),wi("}")}function ia(E){bn(E.literal)}function wa(E){Wr(E.head),Bo(E,E.templateSpans,262144)}function Es(E){if(E.isTypeOf&&($t("typeof"),Ui()),$t("import"),wi("("),Wr(E.argument),E.assertions){wi(","),Ui(),wi("{"),Ui(),$t("assert"),wi(":"),Ui();var $e=E.assertions.assertClause.elements;Bo(E.assertions.assertClause,$e,526226),Ui(),wi("}")}wi(")"),E.qualifier&&(wi("."),Wr(E.qualifier)),Hu(E,E.typeArguments)}function vs(E){wi("{"),Bo(E,E.elements,525136),wi("}")}function hs(E){wi("["),Bo(E,E.elements,524880),wi("]")}function cc(E){Wr(E.dotDotDotToken),E.propertyName&&(Wr(E.propertyName),wi(":"),Ui()),Wr(E.name),hf(E.initializer,E.name.end,E,Fe.parenthesizeExpressionForDisallowedComma)}function Ps(E){var $e=E.elements,_n=E.multiLine?65536:0;yf(E,$e,8914|_n,Fe.parenthesizeExpressionForDisallowedComma)}function cs(E){e.forEach(E.properties,Ic);var $e=e.getEmitFlags(E)&65536;$e&&Pc();var _n=E.multiLine?65536:0,Xn=Oe&&Oe.languageVersion>=1&&!e.isJsonSourceFile(Oe)?64:0;Bo(E,E.properties,526226|Xn|_n),$e&&Kc()}function mc(E){bn(E.expression,Fe.parenthesizeLeftSideOfAccess);var $e=E.questionDotToken||e.setTextRangePosEnd(e.factory.createToken(24),E.expression.end,E.name.pos),_n=au(E,E.expression,$e),Xn=au(E,$e,E.name);ll(_n,!1);var et=$e.kind!==28&&nc(E.expression)&&!er.hasTrailingComment()&&!er.hasTrailingWhitespace();et&&wi("."),E.questionDotToken?Wr($e):Hr($e.kind,E.expression.end,wi,E),ll(Xn,!1),Wr(E.name),Bs(_n,Xn)}function nc(E){if(E=e.skipPartiallyEmittedExpressions(E),e.isNumericLiteral(E)){var $e=kd(E,!0,!1);return!E.numericLiteralFlags&&!e.stringContains($e,e.tokenToString(24))}else if(e.isAccessExpression(E)){var _n=e.getConstantValue(E);return typeof _n=="number"&&isFinite(_n)&&Math.floor(_n)===_n}}function vc(E){bn(E.expression,Fe.parenthesizeLeftSideOfAccess),Wr(E.questionDotToken),Hr(22,E.expression.end,wi,E),bn(E.argumentExpression),Hr(23,E.argumentExpression.end,wi,E)}function Ws(E){var $e=e.getEmitFlags(E)&536870912;$e&&(wi("("),c_("0"),wi(","),Ui()),bn(E.expression,Fe.parenthesizeLeftSideOfAccess),$e&&wi(")"),Wr(E.questionDotToken),Hu(E,E.typeArguments),yf(E,E.arguments,2576,Fe.parenthesizeExpressionForDisallowedComma)}function Ec(E){Hr(103,E.pos,$t,E),Ui(),bn(E.expression,Fe.parenthesizeExpressionOfNew),Hu(E,E.typeArguments),yf(E,E.arguments,18960,Fe.parenthesizeExpressionForDisallowedComma)}function Zo(E){var $e=e.getEmitFlags(E)&536870912;$e&&(wi("("),c_("0"),wi(","),Ui()),bn(E.tag,Fe.parenthesizeLeftSideOfAccess),$e&&wi(")"),Hu(E,E.typeArguments),Ui(),bn(E.template)}function Jc(E){wi("<"),Wr(E.type),wi(">"),bn(E.expression,Fe.parenthesizeOperandOfPrefixUnary)}function Gs(E){var $e=Hr(20,E.pos,wi,E),_n=eg(E.expression,E);bn(E.expression,void 0),Vs(E.expression,E),Bs(_n),Hr(21,E.expression?E.expression.end:$e,wi,E)}function uc(E){Js(E.name),Os(E)}function Ts(E){Ac(E,E.modifiers),Vo(E,le)}function le(E){Gu(E,E.typeParameters),xd(E,E.parameters),cl(E.type),Ui(),Wr(E.equalsGreaterThanToken)}function Tr(E){Hr(89,E.pos,$t,E),Ui(),bn(E.expression,Fe.parenthesizeOperandOfPrefixUnary)}function un(E){Hr(112,E.pos,$t,E),Ui(),bn(E.expression,Fe.parenthesizeOperandOfPrefixUnary)}function ei(E){Hr(114,E.pos,$t,E),Ui(),bn(E.expression,Fe.parenthesizeOperandOfPrefixUnary)}function Ii(E){Hr(133,E.pos,$t,E),Ui(),bn(E.expression,Fe.parenthesizeOperandOfPrefixUnary)}function ot(E){Cl(E.operator,Qs),ji(E)&&Ui(),bn(E.operand,Fe.parenthesizeOperandOfPrefixUnary)}function ji(E){var $e=E.operand;return $e.kind===221&&(E.operator===39&&($e.operator===39||$e.operator===45)||E.operator===40&&($e.operator===40||$e.operator===46))}function dt(E){bn(E.operand,Fe.parenthesizeOperandOfPostfixUnary),Cl(E.operator,Qs)}function Kt(){return e.createBinaryExpressionTrampoline(E,$e,_n,Xn,et,void 0);function E(Lt,Ot){if(Ot){Ot.stackIndex++,Ot.preserveSourceNewlinesStack[Ot.stackIndex]=Te,Ot.containerPosStack[Ot.stackIndex]=ye,Ot.containerEndStack[Ot.stackIndex]=or,Ot.declarationListContainerEndStack[Ot.stackIndex]=Pe;var Va=Ot.shouldEmitCommentsStack[Ot.stackIndex]=ai(Lt),jo=Ot.shouldEmitSourceMapsStack[Ot.stackIndex]=Ki(Lt);oe==null||oe(Lt),Va&&jf(Lt),jo&&Ku(Lt),hn(Lt)}else Ot={stackIndex:0,preserveSourceNewlinesStack:[void 0],containerPosStack:[-1],containerEndStack:[-1],declarationListContainerEndStack:[-1],shouldEmitCommentsStack:[!1],shouldEmitSourceMapsStack:[!1]};return Ot}function $e(Lt,Ot,Va){return At(Lt,Va,"left")}function _n(Lt,Ot,Va){var jo=Lt.kind!==27,Pa=au(Va,Va.left,Lt),Oc=au(Va,Lt,Va.right);ll(Pa,jo),Mu(Lt.pos),ls(Lt,Lt.kind===101?$t:Qs),dl(Lt.end,!0),ll(Oc,!0)}function Xn(Lt,Ot,Va){return At(Lt,Va,"right")}function et(Lt,Ot){var Va=au(Lt,Lt.left,Lt.operatorToken),jo=au(Lt,Lt.operatorToken,Lt.right);if(Bs(Va,jo),Ot.stackIndex>0){var Pa=Ot.preserveSourceNewlinesStack[Ot.stackIndex],Oc=Ot.containerPosStack[Ot.stackIndex],Ja=Ot.containerEndStack[Ot.stackIndex],ua=Ot.declarationListContainerEndStack[Ot.stackIndex],zc=Ot.shouldEmitCommentsStack[Ot.stackIndex],Su=Ot.shouldEmitSourceMapsStack[Ot.stackIndex];Kn(Pa),Su&&wd(Lt),zc&&pu(Lt,Oc,Ja,ua),W==null||W(Lt),Ot.stackIndex--}}function At(Lt,Ot,Va){var jo=Va==="left"?Fe.getParenthesizeLeftSideOfBinaryForOperator(Ot.operatorToken.kind):Fe.getParenthesizeRightSideOfBinaryForOperator(Ot.operatorToken.kind),Pa=Ni(0,1,Lt);if(Pa===yn&&(e.Debug.assertIsDefined(Mr),Lt=jo(e.cast(Mr,e.isExpression)),Pa=mi(1,1,Lt),Mr=void 0),(Pa===Qc||Pa===pl||Pa===we)&&e.isBinaryExpression(Lt))return Lt;Rr=jo,Pa(1,Lt)}}function Bt(E){var $e=au(E,E.condition,E.questionToken),_n=au(E,E.questionToken,E.whenTrue),Xn=au(E,E.whenTrue,E.colonToken),et=au(E,E.colonToken,E.whenFalse);bn(E.condition,Fe.parenthesizeConditionOfConditionalExpression),ll($e,!0),Wr(E.questionToken),ll(_n,!0),bn(E.whenTrue,Fe.parenthesizeBranchOfConditionalExpression),Bs($e,_n),ll(Xn,!0),Wr(E.colonToken),ll(et,!0),bn(E.whenFalse,Fe.parenthesizeBranchOfConditionalExpression),Bs(Xn,et)}function ha(E){Wr(E.head),Bo(E,E.templateSpans,262144)}function He(E){Hr(125,E.pos,$t,E),Wr(E.asteriskToken),wu(E.expression&&yi(E.expression),Ti)}function Cn(E){Hr(25,E.pos,wi,E),bn(E.expression,Fe.parenthesizeExpressionForDisallowedComma)}function Nr(E){Js(E.name),Si(E)}function ma(E){bn(E.expression,Fe.parenthesizeLeftSideOfAccess),Hu(E,E.typeArguments)}function Ca(E){bn(E.expression,void 0),E.type&&(Ui(),$t("as"),Ui(),Wr(E.type))}function lo(E){bn(E.expression,Fe.parenthesizeLeftSideOfAccess),Qs("!")}function ys(E){bn(E.expression,void 0),E.type&&(Ui(),$t("satisfies"),Ui(),Wr(E.type))}function hc(E){Td(E.keywordToken,E.pos,wi),wi("."),Wr(E.name)}function Ms(E){bn(E.expression),Wr(E.literal)}function jc(E){Ks(E,!E.multiLine&&dp(E))}function Ks(E,$e){Hr(18,E.pos,wi,E);var _n=$e||e.getEmitFlags(E)&1?768:129;Bo(E,E.statements,_n),Hr(19,E.statements.end,wi,E,!!(_n&1))}function ic(E){Ac(E,E.modifiers),Wr(E.declarationList),Rs()}function Uc(E){E?wi(";"):Rs()}function go(E){bn(E.expression,Fe.parenthesizeExpressionOfExpressionStatement),(!Oe||!e.isJsonSourceFile(Oe)||e.nodeIsSynthesized(E.expression))&&Rs()}function $s(E){var $e=Hr(99,E.pos,$t,E);Ui(),Hr(20,$e,wi,E),bn(E.expression),Hr(21,E.expression.end,wi,E),ul(E,E.thenStatement),E.elseStatement&&(Bf(E,E.thenStatement,E.elseStatement),Hr(91,E.thenStatement.end,$t,E),E.elseStatement.kind===242?(Ui(),Wr(E.elseStatement)):ul(E,E.elseStatement))}function yc(E,$e){var _n=Hr(115,$e,$t,E);Ui(),Hr(20,_n,wi,E),bn(E.expression),Hr(21,E.expression.end,wi,E)}function Fl(E){Hr(90,E.pos,$t,E),ul(E,E.statement),e.isBlock(E.statement)&&!Te?Ui():Bf(E,E.statement,E.expression),yc(E,E.statement.end),Rs()}function tu(E){yc(E,E.pos),ul(E,E.statement)}function tl(E){var $e=Hr(97,E.pos,$t,E);Ui();var _n=Hr(20,$e,wi,E);Hc(E.initializer),_n=Hr(26,E.initializer?E.initializer.end:_n,wi,E),wu(E.condition),_n=Hr(26,E.condition?E.condition.end:_n,wi,E),wu(E.incrementor),Hr(21,E.incrementor?E.incrementor.end:_n,wi,E),ul(E,E.statement)}function wf(E){var $e=Hr(97,E.pos,$t,E);Ui(),Hr(20,$e,wi,E),Hc(E.initializer),Ui(),Hr(101,E.initializer.end,$t,E),Ui(),bn(E.expression),Hr(21,E.expression.end,wi,E),ul(E,E.statement)}function al(E){var $e=Hr(97,E.pos,$t,E);Ui(),Lf(E.awaitModifier),Hr(20,$e,wi,E),Hc(E.initializer),Ui(),Hr(162,E.initializer.end,$t,E),Ui(),bn(E.expression),Hr(21,E.expression.end,wi,E),ul(E,E.statement)}function Hc(E){E!==void 0&&(E.kind===258?Wr(E):bn(E))}function ol(E){Hr(86,E.pos,$t,E),z_(E.label),Rs()}function Gr(E){Hr(81,E.pos,$t,E),z_(E.label),Rs()}function Hr(E,$e,_n,Xn,et){var At=e.getParseTreeNode(Xn),Lt=At&&At.kind===Xn.kind,Ot=$e;if(Lt&&Oe&&($e=e.skipTrivia(Oe.text,$e)),Lt&&Xn.pos!==Ot){var Va=et&&Oe&&!e.positionsAreOnSameLine(Ot,$e,Oe);Va&&Pc(),Mu(Ot),Va&&Kc()}if($e=Cl(E,_n,$e),Lt&&Xn.end!==$e){var jo=Xn.kind===291;dl($e,!jo,jo)}return $e}function Jn(E){return E.kind===2||!!E.hasTrailingNewLine}function ui(E){return Oe?e.some(e.getLeadingCommentRanges(Oe.text,E.pos),Jn)||e.some(e.getSyntheticLeadingComments(E),Jn)?!0:e.isPartiallyEmittedExpression(E)?E.pos!==E.expression.pos&&e.some(e.getTrailingCommentRanges(Oe.text,E.expression.pos),Jn)?!0:ui(E.expression):!1:!1}function yi(E){if(!cr&&e.isPartiallyEmittedExpression(E)&&ui(E)){var $e=e.getParseTreeNode(E);if($e&&e.isParenthesizedExpression($e)){var _n=e.factory.createParenthesizedExpression(E.expression);return e.setOriginalNode(_n,E),e.setTextRange(_n,$e),_n}return e.factory.createParenthesizedExpression(E)}return E}function Ti(E){return yi(Fe.parenthesizeExpressionForDisallowedComma(E))}function ct(E){Hr(105,E.pos,$t,E),wu(E.expression&&yi(E.expression),yi),Rs()}function Ji(E){var $e=Hr(116,E.pos,$t,E);Ui(),Hr(20,$e,wi,E),bn(E.expression),Hr(21,E.expression.end,wi,E),ul(E,E.statement)}function jt(E){var $e=Hr(107,E.pos,$t,E);Ui(),Hr(20,$e,wi,E),bn(E.expression),Hr(21,E.expression.end,wi,E),Ui(),Wr(E.caseBlock)}function Ea(E){Wr(E.label),Hr(58,E.label.end,wi,E),Ui(),Wr(E.statement)}function Zt(E){Hr(109,E.pos,$t,E),wu(yi(E.expression),yi),Rs()}function Vt(E){Hr(111,E.pos,$t,E),Ui(),Wr(E.tryBlock),E.catchClause&&(Bf(E,E.tryBlock,E.catchClause),Wr(E.catchClause)),E.finallyBlock&&(Bf(E,E.catchClause||E.tryBlock,E.finallyBlock),Hr(96,(E.catchClause||E.tryBlock).end,$t,E),Ui(),Wr(E.finallyBlock))}function Ga(E){Td(87,E.pos,$t),Rs()}function ea(E){var $e,_n,Xn,et,At;Wr(E.name),Wr(E.exclamationToken),cl(E.type),hf(E.initializer,(At=(_n=($e=E.type)===null||$e===void 0?void 0:$e.end)!==null&&_n!==void 0?_n:(et=(Xn=E.name.emitNode)===null||Xn===void 0?void 0:Xn.typeNode)===null||et===void 0?void 0:et.end)!==null&&At!==void 0?At:E.name.end,E,Fe.parenthesizeExpressionForDisallowedComma)}function mo(E){$t(e.isLet(E)?"let":e.isVarConst(E)?"const":"var"),Ui(),Bo(E,E.declarations,528)}function xo(E){Os(E)}function Os(E){Ac(E,E.modifiers),$t("function"),Wr(E.asteriskToken),Ui(),Wn(E.name),Vo(E,Ss)}function Vo(E,$e){var _n=E.body;if(_n)if(e.isBlock(_n)){var Xn=e.getEmitFlags(E)&65536;Xn&&Pc(),Ul(E),e.forEach(E.parameters,Is),Is(E.body),$e(E),de(_n),fl(E),Xn&&Kc()}else $e(E),Ui(),bn(_n,Fe.parenthesizeConciseBodyOfArrowFunction);else $e(E),Rs()}function Ss(E){Gu(E,E.typeParameters),Ou(E,E.parameters),cl(E.type)}function $o(E){if(e.getEmitFlags(E)&1)return!0;if(E.multiLine||!e.nodeIsSynthesized(E)&&Oe&&!e.rangeIsOnSingleLine(E,Oe)||El(E,e.firstOrUndefined(E.statements),2)||l_(E,e.lastOrUndefined(E.statements),2,E.statements))return!1;for(var $e,_n=0,Xn=E.statements;_n0)return!1;$e=et}return!0}function de(E){oe==null||oe(E),Ui(),wi("{"),Pc();var $e=$o(E)?sr:Er;pp(E,E.statements,$e),Kc(),Td(19,E.statements.end,wi,E),W==null||W(E)}function sr(E){Er(E,!0)}function Er(E,$e){var _n=j_(E.statements),Xn=er.getTextPos();gn(E),_n===0&&Xn===er.getTextPos()&&$e?(Kc(),Bo(E,E.statements,768),Pc()):Bo(E,E.statements,1,void 0,_n)}function Fn(E){Si(E)}function Si(E){e.forEach(E.members,Ic),vf(E,E.modifiers),$t("class"),E.name&&(Ui(),Wn(E.name));var $e=e.getEmitFlags(E)&65536;$e&&Pc(),Gu(E,E.typeParameters),Bo(E,E.heritageClauses,0),Ui(),wi("{"),Bo(E,E.members,129),wi("}"),$e&&Kc()}function mt(E){Ac(E,E.modifiers),$t("interface"),Ui(),Wr(E.name),Gu(E,E.typeParameters),Bo(E,E.heritageClauses,512),Ui(),wi("{"),Bo(E,E.members,129),wi("}")}function Ut(E){Ac(E,E.modifiers),$t("type"),Ui(),Wr(E.name),Gu(E,E.typeParameters),Ui(),wi("="),Ui(),Wr(E.type),Rs()}function _a(E){Ac(E,E.modifiers),$t("enum"),Ui(),Wr(E.name),Ui(),wi("{"),Bo(E,E.members,145),wi("}")}function $a(E){Ac(E,E.modifiers),~E.flags&1024&&($t(E.flags&16?"namespace":"module"),Ui()),Wr(E.name);var $e=E.body;if(!$e)return Rs();for(;$e&&e.isModuleDeclaration($e);)wi("."),Wr($e.name),$e=$e.body;Ui(),Wr($e)}function io(E){Ul(E),e.forEach(E.statements,Is),Ks(E,dp(E)),fl(E)}function Po(E){Hr(18,E.pos,wi,E),Bo(E,E.clauses,129),Hr(19,E.clauses.end,wi,E,!0)}function Ma(E){Ac(E,E.modifiers),Hr(100,E.modifiers?E.modifiers.end:E.pos,$t,E),Ui(),E.isTypeOnly&&(Hr(154,E.pos,$t,E),Ui()),Wr(E.name),Ui(),Hr(63,E.name.end,wi,E),Ui(),Qa(E.moduleReference),Rs()}function Qa(E){E.kind===79?bn(E):Wr(E)}function Go(E){Ac(E,E.modifiers),Hr(100,E.modifiers?E.modifiers.end:E.pos,$t,E),Ui(),E.importClause&&(Wr(E.importClause),Ui(),Hr(158,E.importClause.end,$t,E),Ui()),bn(E.moduleSpecifier),E.assertClause&&z_(E.assertClause),Rs()}function qo(E){E.isTypeOnly&&(Hr(154,E.pos,$t,E),Ui()),Wr(E.name),E.name&&E.namedBindings&&(Hr(27,E.name.end,wi,E),Ui()),Wr(E.namedBindings)}function Ds(E){var $e=Hr(41,E.pos,wi,E);Ui(),Hr(128,$e,$t,E),Ui(),Wr(E.name)}function Tc(E){a_(E)}function Ls(E){df(E)}function Ml(E){var $e=Hr(93,E.pos,$t,E);Ui(),E.isExportEquals?Hr(63,$e,Qs,E):Hr(88,$e,$t,E),Ui(),bn(E.expression,E.isExportEquals?Fe.getParenthesizeRightSideOfBinaryForOperator(63):Fe.parenthesizeExpressionOfExportDefault),Rs()}function M_(E){Ac(E,E.modifiers);var $e=Hr(93,E.pos,$t,E);if(Ui(),E.isTypeOnly&&($e=Hr(154,$e,$t,E),Ui()),E.exportClause?Wr(E.exportClause):$e=Hr(41,$e,wi,E),E.moduleSpecifier){Ui();var _n=E.exportClause?E.exportClause.end:$e;Hr(158,_n,$t,E),Ui(),bn(E.moduleSpecifier)}E.assertClause&&z_(E.assertClause),Rs()}function xl(E){Hr(130,E.pos,$t,E),Ui();var $e=E.elements;Bo(E,$e,526226)}function lf(E){Wr(E.name),wi(":"),Ui();var $e=E.value;if(!(e.getEmitFlags($e)&512)){var _n=e.getCommentRange($e);dl(_n.pos)}Wr($e)}function Xr(E){var $e=Hr(93,E.pos,$t,E);Ui(),$e=Hr(128,$e,$t,E),Ui(),$e=Hr(143,$e,$t,E),Ui(),Wr(E.name),Rs()}function ff(E){var $e=Hr(41,E.pos,wi,E);Ui(),Hr(128,$e,$t,E),Ui(),Wr(E.name)}function Pu(E){a_(E)}function _f(E){df(E)}function a_(E){wi("{"),Bo(E,E.elements,525136),wi("}")}function df(E){E.isTypeOnly&&($t("type"),Ui()),E.propertyName&&(Wr(E.propertyName),Ui(),Hr(128,E.propertyName.end,$t,E),Ui()),Wr(E.name)}function Ll(E){$t("require"),wi("("),bn(E.expression),wi(")")}function ap(E){Wr(E.openingElement),Bo(E,E.children,262144),Wr(E.closingElement)}function vo(E){wi("<"),Nt(E.tagName),Hu(E,E.typeArguments),Ui(),Wr(E.attributes),wi("/>")}function dd(E){Wr(E.openingFragment),Bo(E,E.children,262144),Wr(E.closingFragment)}function Of(E){if(wi("<"),e.isJsxOpeningElement(E)){var $e=eg(E.tagName,E);Nt(E.tagName),Hu(E,E.typeArguments),E.attributes.properties&&E.attributes.properties.length>0&&Ui(),Wr(E.attributes),Vs(E.attributes,E),Bs($e)}wi(">")}function pd(E){er.writeLiteral(E.text)}function o_(E){wi("")}function gd(E){Bo(E,E.properties,262656)}function L_(E){Wr(E.name),Sd("=",wi,E.initializer,qn)}function pf(E){wi("{..."),bn(E.expression),wi("}")}function fu(E){var $e=!1;return e.forEachTrailingCommentRange((Oe==null?void 0:Oe.text)||"",E+1,function(){return $e=!0}),$e}function md(E){var $e=!1;return e.forEachLeadingCommentRange((Oe==null?void 0:Oe.text)||"",E+1,function(){return $e=!0}),$e}function R_(E){return fu(E)||md(E)}function Qt(E){var $e;if(E.expression||!cr&&!e.nodeIsSynthesized(E)&&R_(E.pos)){var _n=Oe&&!e.nodeIsSynthesized(E)&&e.getLineAndCharacterOfPosition(Oe,E.pos).line!==e.getLineAndCharacterOfPosition(Oe,E.end).line;_n&&er.increaseIndent();var Xn=Hr(18,E.pos,wi,E);Wr(E.dotDotDotToken),bn(E.expression),Hr(19,(($e=E.expression)===null||$e===void 0?void 0:$e.end)||Xn,wi,E),_n&&er.decreaseIndent()}}function Nt(E){E.kind===79?bn(E):Wr(E)}function Iu(E){Hr(82,E.pos,$t,E),Ui(),bn(E.expression,Fe.parenthesizeExpressionForDisallowedComma),vd(E,E.statements,E.expression.end)}function Gc(E){var $e=Hr(88,E.pos,$t,E);vd(E,E.statements,$e)}function vd(E,$e,_n){var Xn=$e.length===1&&(!Oe||e.nodeIsSynthesized(E)||e.nodeIsSynthesized($e[0])||e.rangeStartPositionsAreOnSameLine(E,$e[0],Oe)),et=163969;Xn?(Td(58,_n,wi,E),Ui(),et&=-130):Hr(58,_n,wi,E),Bo(E,$e,et)}function Ff(E){Ui(),Cl(E.token,$t),Ui(),Bo(E,E.types,528)}function kg(E){var $e=Hr(83,E.pos,$t,E);Ui(),E.variableDeclaration&&(Hr(20,$e,wi,E),Wr(E.variableDeclaration),Hr(21,E.variableDeclaration.end,wi,E),Ui()),Wr(E.block)}function op(E){Wr(E.name),wi(":"),Ui();var $e=E.initializer;if(!(e.getEmitFlags($e)&512)){var _n=e.getCommentRange($e);dl(_n.pos)}bn($e,Fe.parenthesizeExpressionForDisallowedComma)}function us(E){Wr(E.name),E.objectAssignmentInitializer&&(Ui(),wi("="),Ui(),bn(E.objectAssignmentInitializer,Fe.parenthesizeExpressionForDisallowedComma))}function Gp(E){E.expression&&(Hr(25,E.pos,wi,E),bn(E.expression,Fe.parenthesizeExpressionForDisallowedComma))}function ks(E){Wr(E.name),hf(E.initializer,E.name.end,E,Fe.parenthesizeExpressionForDisallowedComma)}function sl(E){if(mr("/**"),E.comment){var $e=e.getTextOfJSDocComment(E.comment);if($e)for(var _n=$e.split(/\r\n?|\n/g),Xn=0,et=_n;Xn'),a&&a.sections.push({pos:et,end:er.getTextPos(),kind:"no-default-lib"}),Ko()}if(Oe&&Oe.moduleName&&(Nc('/// ')),Ko()),Oe&&Oe.amdDependencies)for(var At=0,Lt=Oe.amdDependencies;At')):Nc('/// ')),Ko()}for(var Va=0,jo=$e;Va')),a&&a.sections.push({pos:et,end:er.getTextPos(),kind:"reference",data:Pa.fileName}),Ko()}for(var Oc=0,Ja=_n;Oc")),a&&a.sections.push({pos:et,end:er.getTextPos(),kind:Pa.resolutionMode?Pa.resolutionMode===e.ModuleKind.ESNext?"type-import":"type-require":"type",data:Pa.fileName}),Ko()}for(var zc=0,Su=Xn;zc')),a&&a.sections.push({pos:et,end:er.getTextPos(),kind:"lib",data:Pa.fileName}),Ko()}}function Vu(E){var $e=E.statements;Ul(E),e.forEach(E.statements,Is),gn(E);var _n=e.findIndex($e,function(Xn){return!e.isPrologueDirective(Xn)});up(E),Bo(E,$e,1,void 0,_n===-1?$e.length:_n),fl(E)}function gf(E){var $e=e.getEmitFlags(E);!($e&512)&&E.pos!==E.expression.pos&&dl(E.expression.pos),bn(E.expression),!($e&1024)&&E.end!==E.expression.end&&Mu(E.expression.end)}function Dd(E){yf(E,E.elements,528,void 0)}function j_(E,$e,_n,Xn){for(var et=!!$e,At=0;At=_n.length||Lt===0;if(Va&&Xn&32768){u==null||u(_n),O==null||O(_n);return}Xn&15360&&(wi(K(Xn)),Va&&_n&&dl(_n.pos,!0)),u==null||u(_n),Va?Xn&1&&!(Te&&(!$e||Oe&&e.rangeIsOnSingleLine($e,Oe)))?Ko():Xn&256&&!(Xn&524288)&&Ui():W_(E,$e,_n,Xn,et,At,Lt,_n.hasTrailingComma,_n),O==null||O(_n),Xn&15360&&(Va&&_n&&Mu(_n.end),wi(q(Xn)))}}function W_(E,$e,_n,Xn,et,At,Lt,Ot,Va){var jo=(Xn&262144)===0,Pa=jo,Oc=El($e,_n[At],Xn);Oc?(Ko(Oc),Pa=!1):Xn&256&&Ui(),Xn&128&&Pc();for(var Ja=I(E,et),ua,zc,Su=!1,Wf=0;Wf0?(Xn&131||(Pc(),Su=!0),Ko($_),Pa=!1):ua&&Xn&512&&Ui()}if(zc=Ue(Lu),Pa){var mp=e.getCommentRange(Lu);dl(mp.pos)}else Pa=jo;Je=Lu.pos,Ja(Lu,E,et,Wf),Su&&(Kc(),Su=!1),ua=Lu}var vp=ua?e.getEmitFlags(ua):0,Gl=cr||!!(vp&1024),Od=Ot&&Xn&64&&Xn&16;Od&&(ua&&!Gl?Hr(27,ua.end,wi,ua):wi(",")),ua&&($e?$e.end:-1)!==ua.end&&Xn&60&&!Gl&&Mu(Od&&(Va!=null&&Va.end)?Va.end:ua.end),Xn&128&&Kc(),br(zc);var og=l_($e,_n[At+Lt-1],Xn,Va);og?Ko(og):Xn&2097408&&Ui()}function c_(E){er.writeLiteral(E)}function Rf(E){er.writeStringLiteral(E)}function _p(E){er.write(E)}function _s(E,$e){er.writeSymbol(E,$e)}function wi(E){er.writePunctuation(E)}function Rs(){er.writeTrailingSemicolon(";")}function $t(E){er.writeKeyword(E)}function Qs(E){er.writeOperator(E)}function Ed(E){er.writeParameter(E)}function Nc(E){er.writeComment(E)}function Ui(){er.writeSpace(" ")}function _u(E){er.writeProperty(E)}function du(E){er.nonEscapingWrite?er.nonEscapingWrite(E):er.write(E)}function Ko(E){E===void 0&&(E=1);for(var $e=0;$e0)}function Pc(){er.increaseIndent()}function Kc(){er.decreaseIndent()}function Td(E,$e,_n,Xn){return kr?Cl(E,_n,$e):m_(Xn,E,_n,$e,Cl)}function ls(E,$e){B&&B(E),$e(e.tokenToString(E.kind)),G&&G(E)}function Cl(E,$e,_n){var Xn=e.tokenToString(E);return $e(Xn),_n<0?_n:_n+Xn.length}function Bf(E,$e,_n){if(e.getEmitFlags(E)&1)Ui();else if(Te){var Xn=au(E,$e,_n);Xn?Ko(Xn):Ui()}else Ko()}function V_(E){for(var $e=E.split(/\r\n?|\n/g),_n=e.guessIndentation($e),Xn=0,et=$e;Xn0&&Xn.charCodeAt(0)===35&&(Xn=Xn.slice(1));var At=e.formatGeneratedName(_n,Xn,"",et),Lt=Ag(At);if(E&&!(Lt&E)){var Ot=E===268435456?"_i":"_n",Va=e.formatGeneratedName(_n,Xn,Ot,et);if(Ya(Va))return Lt|=E,$e&&Ad(Va),f_(At,Lt),Va}for(;;){var jo=Lt&268435455;if(Lt++,jo!==8&&jo!==13){var Ot=jo<26?"_"+String.fromCharCode(97+jo):"_"+(jo-26),Va=e.formatGeneratedName(_n,Xn,Ot,et);if(Ya(Va))return $e&&Ad(Va),f_(At,Lt),Va}}}function Tl(E,$e,_n,Xn,et,At,Lt){if($e===void 0&&($e=Ya),E.length>0&&E.charCodeAt(0)===35&&(E=E.slice(1)),At.length>0&&At.charCodeAt(0)===35&&(At=At.slice(1)),_n){var Ot=e.formatGeneratedName(et,At,E,Lt);if($e(Ot))return Xn?Ad(Ot):Ce.add(Ot),Ot}E.charCodeAt(E.length-1)!==95&&(E+="_");for(var Va=1;;){var Ot=e.formatGeneratedName(et,At,E+Va,Lt);if($e(Ot))return Xn?Ad(Ot):Ce.add(Ot),Ot;Va++}}function __(E){return Tl(E,Wi,!0,!1,!1,"","")}function Fu(E){var $e=Sf(E.name);return wc($e,E)?$e:Tl($e,Ya,!1,!1,!1,"","")}function _l(E){var $e=e.getExternalModuleName(E),_n=e.isStringLiteral($e)?e.makeIdentifierFromModuleName($e.text):"module";return Tl(_n,Ya,!1,!1,!1,"","")}function zl(){return Tl("default",Ya,!1,!1,!1,"","")}function Jf(){return Tl("class",Ya,!1,!1,!1,"","")}function $c(E,$e,_n,Xn){return e.isIdentifier(E.name)?q_(E.name,$e):Cf(0,!1,$e,_n,Xn)}function rg(E,$e,_n,Xn,et){switch(E.kind){case 79:case 80:return Tl(Sf(E),Ya,!!(_n&16),!!(_n&8),$e,Xn,et);case 264:case 263:return e.Debug.assert(!Xn&&!et&&!$e),Fu(E);case 269:case 275:return e.Debug.assert(!Xn&&!et&&!$e),_l(E);case 259:case 260:case 274:return e.Debug.assert(!Xn&&!et&&!$e),zl();case 228:return e.Debug.assert(!Xn&&!et&&!$e),Jf();case 171:case 174:case 175:return $c(E,$e,Xn,et);case 164:return Cf(0,!0,$e,Xn,et);default:return Cf(0,!1,$e,Xn,et)}}function Io(E){var $e=e.formatGeneratedNamePart(E.autoGeneratePrefix,xf),_n=e.formatGeneratedNamePart(E.autoGenerateSuffix);switch(E.autoGenerateFlags&7){case 1:return Cf(0,!!(E.autoGenerateFlags&8),e.isPrivateIdentifier(E),$e,_n);case 2:return e.Debug.assertNode(E,e.isIdentifier),Cf(268435456,!!(E.autoGenerateFlags&8),!1,$e,_n);case 3:return Tl(e.idText(E),E.autoGenerateFlags&32?Wi:Ya,!!(E.autoGenerateFlags&16),!!(E.autoGenerateFlags&8),e.isPrivateIdentifier(E),$e,_n)}return e.Debug.fail("Unsupported GeneratedIdentifierKind: ".concat(e.Debug.formatEnum(E.autoGenerateFlags&7,e.GeneratedIdentifierFlags,!0),"."))}function Qc(E,$e){var _n=mi(2,E,$e),Xn=ye,et=or,At=Pe;jf($e),_n(E,$e),pu($e,Xn,et,At)}function jf(E){var $e=e.getEmitFlags(E),_n=e.getCommentRange(E);Uf(E,$e,_n.pos,_n.end),$e&2048&&(cr=!0)}function pu(E,$e,_n,Xn){var et=e.getEmitFlags(E),At=e.getCommentRange(E);et&2048&&(cr=!1),d_(E,et,At.pos,At.end,$e,_n,Xn);var Lt=e.getTypeNode(E);Lt&&d_(E,et,Lt.pos,Lt.end,$e,_n,Xn)}function Uf(E,$e,_n,Xn){nn(),ke=!1;var et=_n<0||($e&512)!==0||E.kind===11,At=Xn<0||($e&1024)!==0||E.kind===11;(_n>0||Xn>0)&&_n!==Xn&&(et||Du(_n,E.kind!==352),(!et||_n>=0&&$e&512)&&(ye=_n),(!At||Xn>=0&&$e&1024)&&(or=Xn,E.kind===258&&(Pe=Xn))),e.forEach(e.getSyntheticLeadingComments(E),Wl),vn()}function d_(E,$e,_n,Xn,et,At,Lt){nn();var Ot=Xn<0||($e&1024)!==0||E.kind===11;e.forEach(e.getSyntheticTrailingComments(E),ng),(_n>0||Xn>0)&&_n!==Xn&&(ye=et,or=At,Pe=Lt,!Ot&&E.kind!==352&&ig(Xn)),vn()}function Wl(E){(E.hasLeadingNewline||E.kind===2)&&er.writeLine(),Xc(E),E.hasTrailingNewLine||E.kind===2?er.writeLine():er.writeSpace(" ")}function ng(E){er.isAtStartOfLine()||er.writeSpace(" "),Xc(E),E.hasTrailingNewLine&&er.writeLine()}function Xc(E){var $e=ts(E),_n=E.kind===3?e.computeLineStarts($e):void 0;e.writeCommentRange($e,_n,er,0,$e.length,me)}function ts(E){return E.kind===3?"/*".concat(E.text,"*/"):"//".concat(E.text)}function pp(E,$e,_n){nn();var Xn=$e.pos,et=$e.end,At=e.getEmitFlags(E),Lt=Xn<0||(At&512)!==0,Ot=cr||et<0||(At&1024)!==0;Lt||ou($e),vn(),At&2048&&!cr?(cr=!0,_n(E),cr=!1):_n(E),nn(),Ot||(Du($e.end,!0),ke&&!er.isAtStartOfLine()&&er.writeLine()),vn()}function p_(E,$e){return E=e.getOriginalNode(E),E.parent&&E.parent===e.getOriginalNode($e).parent}function gu(E,$e){if($e.pos-1&&Xn.indexOf($e)===et+1}function Du(E,$e){ke=!1,$e?E===0&&(Oe!=null&&Oe.isDeclarationFile)?bu(E,Nd):bu(E,Vl):E===0&&bu(E,H_)}function H_(E,$e,_n,Xn,et){Hl(E,$e)&&Vl(E,$e,_n,Xn,et)}function Nd(E,$e,_n,Xn,et){Hl(E,$e)||Vl(E,$e,_n,Xn,et)}function zf(E,$e){return L.onlyPrintJsDocStyle?e.isJSDocLikeText(E,$e)||e.isPinnedComment(E,$e):!0}function Vl(E,$e,_n,Xn,et){!Oe||!zf(Oe.text,E)||(ke||(e.emitNewLineBeforeLeadingCommentOfPosition(fn(),er,et,E),ke=!0),bc(E),e.writeCommentRange(Oe.text,fn(),er,E,$e,me),bc($e),Xn?er.writeLine():_n===3&&er.writeSpace(" "))}function Mu(E){cr||E===-1||Du(E,!0)}function ig(E){Pd(E,ql)}function ql(E,$e,_n,Xn){!Oe||!zf(Oe.text,E)||(er.isAtStartOfLine()||er.writeSpace(" "),bc(E),e.writeCommentRange(Oe.text,fn(),er,E,$e,me),bc($e),Xn&&er.writeLine())}function dl(E,$e,_n){cr||(nn(),Pd(E,$e?ql:_n?g_:tg),vn())}function g_(E,$e,_n){Oe&&(bc(E),e.writeCommentRange(Oe.text,fn(),er,E,$e,me),bc($e),_n===2&&er.writeLine())}function tg(E,$e,_n,Xn){Oe&&(bc(E),e.writeCommentRange(Oe.text,fn(),er,E,$e,me),bc($e),Xn?er.writeLine():er.writeSpace(" "))}function bu(E,$e){Oe&&(ye===-1||E!==ye)&&(Ng(E)?Xt($e):e.forEachLeadingCommentRange(Oe.text,E,$e,E))}function Pd(E,$e){Oe&&(or===-1||E!==or&&E!==Pe)&&e.forEachTrailingCommentRange(Oe.text,E,$e)}function Ng(E){return Ar!==void 0&&e.last(Ar).nodePos===E}function Xt(E){if(Oe){var $e=e.last(Ar).detachedCommentEndPos;Ar.length-1?Ar.pop():Ar=void 0,e.forEachLeadingCommentRange(Oe.text,$e,E,$e)}}function ou(E){var $e=Oe&&e.emitDetachedComments(Oe.text,fn(),er,Oi,E,me,cr);$e&&(Ar?Ar.push($e):Ar=[$e])}function Oi(E,$e,_n,Xn,et,At){!Oe||!zf(Oe.text,Xn)||(bc(Xn),e.writeCommentRange(E,$e,_n,Xn,et,At),bc(et))}function Hl(E,$e){return!!Oe&&e.isRecognizedTripleSlashComment(Oe.text,E,$e)}function Id(E){return E.parsedSourceMap===void 0&&E.sourceMapText!==void 0&&(E.parsedSourceMap=e.tryParseRawSourceMap(E.sourceMapText)||!1),E.parsedSourceMap||void 0}function pl(E,$e){var _n=mi(3,E,$e);Ku($e),_n(E,$e),wd($e)}function Ku(E){var $e=e.getEmitFlags(E),_n=e.getSourceMapRange(E);if(e.isUnparsedNode(E)){e.Debug.assertIsDefined(E.parent,"UnparsedNodes must have parent pointers");var Xn=Id(E.parent);Xn&&jr&&jr.appendSourceMap(er.getLine(),er.getColumn(),Xn,E.parent.sourceMapPath,E.parent.getLineAndCharacterOfPosition(E.pos),E.parent.getLineAndCharacterOfPosition(E.end))}else{var et=_n.source||Cr;E.kind!==352&&!($e&16)&&_n.pos>=0&&G_(_n.source||Cr,gp(et,_n.pos)),$e&64&&(kr=!0)}}function wd(E){var $e=e.getEmitFlags(E),_n=e.getSourceMapRange(E);e.isUnparsedNode(E)||($e&64&&(kr=!1),E.kind!==352&&!($e&32)&&_n.end>=0&&G_(_n.source||Cr,_n.end))}function gp(E,$e){return E.skipTrivia?E.skipTrivia($e):e.skipTrivia(E.text,$e)}function bc(E){if(!(kr||e.positionIsSynthesized(E)||v_(Cr))){var $e=e.getLineAndCharacterOfPosition(Cr,E),_n=$e.line,Xn=$e.character;jr.addMapping(er.getLine(),er.getColumn(),en,_n,Xn,void 0)}}function G_(E,$e){if(E!==Cr){var _n=Cr,Xn=en;K_(E),bc($e),ag(_n,Xn)}else bc($e)}function m_(E,$e,_n,Xn,et){if(kr||E&&e.isInJsonFile(E))return et($e,_n,Xn);var At=E&&E.emitNode,Lt=At&&At.flags||0,Ot=At&&At.tokenSourceMapRanges&&At.tokenSourceMapRanges[$e],Va=Ot&&Ot.source||Cr;return Xn=gp(Va,Ot?Ot.pos:Xn),!(Lt&128)&&Xn>=0&&G_(Va,Xn),Xn=et($e,_n,Xn),Ot&&(Xn=Ot.end),!(Lt&256)&&Xn>=0&&G_(Va,Xn),Xn}function K_(E){if(!kr){if(Cr=E,E===Lr){en=pn;return}v_(E)||(en=jr.addSource(E.fileName),L.inlineSources&&jr.setSourceContent(en,E.text),Lr=E,pn=en)}}function ag(E,$e){Cr=E,en=$e}function v_(E){return e.fileExtensionIs(E.fileName,".json")}}e.createPrinter=re;function N(){var L=[];return L[1024]=["{","}"],L[2048]=["(",")"],L[4096]=["<",">"],L[8192]=["[","]"],L}function K(L){return i[L&15360][0]}function q(L){return i[L&15360][1]}var b;(function(L){L[L.Auto=0]="Auto",L[L.CountMask=268435455]="CountMask",L[L._i=268435456]="_i"})(b||(b={}));function F(L,V,ne,se){V(L)}function Q(L,V,ne,se){V(L,ne.select(se))}function j(L,V,ne,se){V(L,ne)}function I(L,V){return L.length===1?F:typeof V=="object"?Q:j}})(fr||(fr={}));var fr;(function(e){function i(x,J,d){if(!x.getDirectories||!x.readDirectory)return;var D=new e.Map,C=e.createGetCanonicalFileName(d);return{useCaseSensitiveFileNames:d,fileExists:q,readFile:function(De,T){return x.readFile(De,T)},directoryExists:x.directoryExists&&b,getDirectories:Q,readDirectory:j,createDirectory:x.createDirectory&&F,writeFile:x.writeFile&&K,addOrDeleteFileOrDirectory:L,addOrDeleteFile:V,clearCache:se,realpath:x.realpath&&I};function k(De){return e.toPath(De,J,C)}function R(De){return D.get(e.ensureTrailingDirectorySeparator(De))}function M(De){var T=R(e.getDirectoryPath(De));return T&&(T.sortedAndCanonicalizedFiles||(T.sortedAndCanonicalizedFiles=T.files.map(C).sort(),T.sortedAndCanonicalizedDirectories=T.directories.map(C).sort()),T)}function ge(De){return e.getBaseFileName(e.normalizePath(De))}function ve(De,T){var w;if(!x.realpath||e.ensureTrailingDirectorySeparator(k(x.realpath(De)))===T){var A={files:e.map(x.readDirectory(De,void 0,void 0,["*.*"]),ge)||[],directories:x.getDirectories(De)||[]};return D.set(e.ensureTrailingDirectorySeparator(T),A),A}if(!((w=x.directoryExists)===null||w===void 0)&&w.call(x,De))return D.set(T,!1),!1}function re(De,T){T=e.ensureTrailingDirectorySeparator(T);var w=R(T);if(w)return w;try{return ve(De,T)}catch{e.Debug.assert(!D.has(e.ensureTrailingDirectorySeparator(T)));return}}function N(De,T){var w=e.binarySearch(De,T,e.identity,e.compareStringsCaseSensitive);return w>=0}function K(De,T,w){var A=k(De),oe=M(A);return oe&&ne(oe,ge(De),!0),x.writeFile(De,T,w)}function q(De){var T=k(De),w=M(T);return w&&N(w.sortedAndCanonicalizedFiles,C(ge(De)))||x.fileExists(De)}function b(De){var T=k(De);return D.has(e.ensureTrailingDirectorySeparator(T))||x.directoryExists(De)}function F(De){var T=k(De),w=M(T);if(w){var A=ge(De),oe=C(A),W=w.sortedAndCanonicalizedDirectories;e.insertSorted(W,oe,e.compareStringsCaseSensitive)&&w.directories.push(A)}x.createDirectory(De)}function Q(De){var T=k(De),w=re(De,T);return w?w.directories.slice():x.getDirectories(De)}function j(De,T,w,A,oe){var W=k(De),u=re(De,W),O;if(u!==void 0)return e.matchFiles(De,T,w,A,d,J,oe,B,I);return x.readDirectory(De,T,w,A,oe);function B($){var me=k($);if(me===W)return u||G($,me);var ae=re($,me);return ae!==void 0?ae||G($,me):e.emptyFileSystemEntries}function G($,me){if(O&&me===W)return O;var ae={files:e.map(x.readDirectory($,void 0,void 0,["*.*"]),ge)||e.emptyArray,directories:x.getDirectories($)||e.emptyArray};return me===W&&(O=ae),ae}}function I(De){return x.realpath?x.realpath(De):De}function L(De,T){var w=R(T);if(w!==void 0){se();return}var A=M(T);if(A){if(!x.directoryExists){se();return}var oe=ge(De),W={fileExists:x.fileExists(T),directoryExists:x.directoryExists(T)};return W.directoryExists||N(A.sortedAndCanonicalizedDirectories,C(oe))?se():ne(A,oe,W.fileExists),W}}function V(De,T,w){if(w!==e.FileWatcherEventKind.Changed){var A=M(T);A&&ne(A,ge(De),w===e.FileWatcherEventKind.Created)}}function ne(De,T,w){var A=De.sortedAndCanonicalizedFiles,oe=C(T);if(w)e.insertSorted(A,oe,e.compareStringsCaseSensitive)&&De.files.push(T);else{var W=e.binarySearch(A,oe,e.identity,e.compareStringsCaseSensitive);if(W>=0){A.splice(W,1);var u=De.files.findIndex(function(O){return C(O)===oe});De.files.splice(u,1)}}}function se(){D.clear()}}e.createCachedDirectoryStructureHost=i;var l;(function(x){x[x.None=0]="None",x[x.Partial=1]="Partial",x[x.Full=2]="Full"})(l=e.ConfigFileProgramReloadLevel||(e.ConfigFileProgramReloadLevel={}));function _(x,J,d,D,C){var k,R=e.arrayToMap(((k=J==null?void 0:J.configFile)===null||k===void 0?void 0:k.extendedSourceFiles)||e.emptyArray,C);d.forEach(function(M,ge){R.has(ge)||(M.projects.delete(x),M.close())}),R.forEach(function(M,ge){var ve=d.get(ge);ve?ve.projects.add(x):d.set(ge,{projects:new e.Set([x]),watcher:D(M,ge),close:function(){var re=d.get(ge);!re||re.projects.size!==0||(re.watcher.close(),d.delete(ge))}})})}e.updateSharedExtendedConfigFileWatcher=_;function h(x,J){J.forEach(function(d){d.projects.delete(x)&&d.close()})}e.clearSharedExtendedConfigFileWatcher=h;function p(x,J,d){x.delete(J)&&x.forEach(function(D,C){var k,R=D.extendedResult;!((k=R.extendedSourceFiles)===null||k===void 0)&&k.some(function(M){return d(M)===J})&&p(x,C,d)})}e.cleanExtendedConfigCache=p;function P(x,J,d){var D=new e.Map(x);e.mutateMap(J,D,{createNewValue:d,onDeleteValue:e.closeFileWatcher})}e.updatePackageJsonWatch=P;function z(x,J,d){var D=x.getMissingFilePaths(),C=e.arrayToMap(D,e.identity,e.returnTrue);e.mutateMap(J,C,{createNewValue:d,onDeleteValue:e.closeFileWatcher})}e.updateMissingFilePathsWatch=z;function U(x,J,d){e.mutateMap(x,J,{createNewValue:D,onDeleteValue:te,onExistingValue:C});function D(k,R){return{watcher:d(k,R),flags:R}}function C(k,R,M){k.flags!==R&&(k.watcher.close(),x.set(M,D(M,R)))}}e.updateWatchingWildcardDirectories=U;function g(x){var J=x.watchedDirPath,d=x.fileOrDirectory,D=x.fileOrDirectoryPath,C=x.configFileName,k=x.options,R=x.program,M=x.extraFileExtensions,ge=x.currentDirectory,ve=x.useCaseSensitiveFileNames,re=x.writeLog,N=x.toPath,K=e.removeIgnoredPath(D);if(!K)return re("Project: ".concat(C," Detected ignored path: ").concat(d)),!0;if(D=K,D===J)return!1;if(e.hasExtension(D)&&!e.isSupportedSourceFileName(d,k,M))return re("Project: ".concat(C," Detected file add/remove of non supported extension: ").concat(d)),!0;if(e.isExcludedFile(d,k.configFile.configFileSpecs,e.getNormalizedAbsolutePath(e.getDirectoryPath(C),ge),ve,ge))return re("Project: ".concat(C," Detected excluded file: ").concat(d)),!0;if(!R||e.outFile(k)||k.outDir)return!1;if(e.isDeclarationFileName(D)){if(k.declarationDir)return!1}else if(!e.fileExtensionIsOneOf(D,e.supportedJSExtensionsFlat))return!1;var q=e.removeFileExtension(D),b=e.isArray(R)?void 0:v(R)?R.getProgramOrUndefined():R,F=!b&&!e.isArray(R)?R:void 0;if(Q(q+".ts")||Q(q+".tsx"))return re("Project: ".concat(C," Detected output file: ").concat(d)),!0;return!1;function Q(j){return b?!!b.getSourceFileByPath(j):F?F.getState().fileInfos.has(j):!!e.find(R,function(I){return N(I)===j})}}e.isIgnoredFileFromWildCardWatching=g;function v(x){return!!x.getState}function Y(x,J){return x?x.isEmittedFile(J):!1}e.isEmittedFileOfProgram=Y;var ce;(function(x){x[x.None=0]="None",x[x.TriggerOnly=1]="TriggerOnly",x[x.Verbose=2]="Verbose"})(ce=e.WatchLogLevel||(e.WatchLogLevel={}));function Z(x,J,d,D){e.setSysLog(J===ce.Verbose?d:e.noop);var C={watchFile:function(F,Q,j,I){return x.watchFile(F,Q,j,I)},watchDirectory:function(F,Q,j,I){return x.watchDirectory(F,Q,(j&1)!==0,I)}},k=J!==ce.None?{watchFile:q("watchFile"),watchDirectory:q("watchDirectory")}:void 0,R=J===ce.Verbose?{watchFile:N,watchDirectory:K}:k||C,M=J===ce.Verbose?re:e.returnNoopFileWatcher;return{watchFile:ge("watchFile"),watchDirectory:ge("watchDirectory")};function ge(F){return function(Q,j,I,L,V,ne){var se;return e.matchesExclude(Q,F==="watchFile"?L==null?void 0:L.excludeFiles:L==null?void 0:L.excludeDirectories,ve(),((se=x.getCurrentDirectory)===null||se===void 0?void 0:se.call(x))||"")?M(Q,I,L,V,ne):R[F].call(void 0,Q,j,I,L,V,ne)}}function ve(){return typeof x.useCaseSensitiveFileNames=="boolean"?x.useCaseSensitiveFileNames:x.useCaseSensitiveFileNames()}function re(F,Q,j,I,L){return d("ExcludeWatcher:: Added:: ".concat(b(F,Q,j,I,L,D))),{close:function(){return d("ExcludeWatcher:: Close:: ".concat(b(F,Q,j,I,L,D)))}}}function N(F,Q,j,I,L,V){d("FileWatcher:: Added:: ".concat(b(F,j,I,L,V,D)));var ne=k.watchFile(F,Q,j,I,L,V);return{close:function(){d("FileWatcher:: Close:: ".concat(b(F,j,I,L,V,D))),ne.close()}}}function K(F,Q,j,I,L,V){var ne="DirectoryWatcher:: Added:: ".concat(b(F,j,I,L,V,D));d(ne);var se=e.timestamp(),De=k.watchDirectory(F,Q,j,I,L,V),T=e.timestamp()-se;return d("Elapsed:: ".concat(T,"ms ").concat(ne)),{close:function(){var w="DirectoryWatcher:: Close:: ".concat(b(F,j,I,L,V,D));d(w);var A=e.timestamp();De.close();var oe=e.timestamp()-A;d("Elapsed:: ".concat(oe,"ms ").concat(w))}}}function q(F){return function(Q,j,I,L,V,ne){return C[F].call(void 0,Q,function(){for(var se=[],De=0;De=4,Te=(ue+1+"").length;Ae&&(Te=Math.max(ie.length,Te));for(var Je="",er=Ee;er<=ue;er++){Je+=Ce.getNewLine(),Ae&&Ee+1=e.length(Jn==null?void 0:Jn.imports)+e.length(Jn==null?void 0:Jn.moduleAugmentations))return!1;var de=e.getResolvedModule(Jn,Ss,Jn&&ve(Jn,$o)),sr=de&&Te.getSourceFile(de.resolvedFileName);if(de&&sr)return!1;var Er=ln.get(Ss);return Er?(e.isTraceEnabled(y,or)&&e.trace(or,e.Diagnostics.Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified,Ss,Er),!0):!1}}function $i(){return!F(Te.getProjectReferences(),Te.getResolvedProjectReferences(),function(Gr,Hr,Jn){var ui=(Hr?Hr.commandLine.projectReferences:Ae)[Jn],yi=He(ui);return Gr?!yi||yi.sourceFile!==Gr.sourceFile||!e.arrayIsEqualTo(Gr.commandLine.fileNames,yi.commandLine.fileNames):yi!==void 0},function(Gr,Hr){var Jn=Hr?Tr(Hr.sourceFile.path).commandLine.projectReferences:Ae;return!e.arrayIsEqualTo(Gr,Jn,e.projectReferenceIsEqualTo)})}function pt(){var Gr,Hr;if(!Te)return 0;var Jn=Te.getCompilerOptions();if(e.changesAffectModuleResolution(Jn,y))return 0;var ui=Te.getRootFileNames();if(!e.arrayIsEqualTo(ui,ue)||!$i())return 0;Ae&&(Ne=Ae.map(He));var yi=[],Ti=[];if(Wr=2,Te.getMissingFilePaths().some(function(Ls){return or.fileExists(Ls)}))return 0;var ct=Te.getSourceFiles(),Ji;(function(Ls){Ls[Ls.Exists=0]="Exists",Ls[Ls.Modified=1]="Modified"})(Ji||(Ji={}));for(var jt=new e.Map,Ea=0,Zt=ct;Ea=0;){if(Hr.markUsed(Ti))return Ti;var ct=Jn.text.slice(yi[Ti],yi[Ti+1]).trim();if(ct!==""&&!/^(\s*)\/\/(.*)$/.test(ct))return-1;Ti--}return-1}function tn(Gr){return No(function(){var Hr=[];return Jn(Gr,Gr),e.forEachChildRecursively(Gr,Jn,ui),Hr;function Jn(Ji,jt){switch(jt.kind){case 166:case 169:case 171:if(jt.questionToken===Ji)return Hr.push(ct(Ji,e.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files,"?")),"skip";case 170:case 173:case 174:case 175:case 215:case 259:case 216:case 257:if(jt.type===Ji)return Hr.push(ct(Ji,e.Diagnostics.Type_annotations_can_only_be_used_in_TypeScript_files)),"skip"}switch(Ji.kind){case 270:if(Ji.isTypeOnly)return Hr.push(ct(jt,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,"import type")),"skip";break;case 275:if(Ji.isTypeOnly)return Hr.push(ct(Ji,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,"export type")),"skip";break;case 273:case 278:if(Ji.isTypeOnly)return Hr.push(ct(Ji,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,e.isImportSpecifier(Ji)?"import...type":"export...type")),"skip";break;case 268:return Hr.push(ct(Ji,e.Diagnostics.import_can_only_be_used_in_TypeScript_files)),"skip";case 274:if(Ji.isExportEquals)return Hr.push(ct(Ji,e.Diagnostics.export_can_only_be_used_in_TypeScript_files)),"skip";break;case 294:var Ea=Ji;if(Ea.token===117)return Hr.push(ct(Ji,e.Diagnostics.implements_clauses_can_only_be_used_in_TypeScript_files)),"skip";break;case 261:var Zt=e.tokenToString(118);return e.Debug.assertIsDefined(Zt),Hr.push(ct(Ji,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,Zt)),"skip";case 264:var Vt=Ji.flags&16?e.tokenToString(143):e.tokenToString(142);return e.Debug.assertIsDefined(Vt),Hr.push(ct(Ji,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,Vt)),"skip";case 262:return Hr.push(ct(Ji,e.Diagnostics.Type_aliases_can_only_be_used_in_TypeScript_files)),"skip";case 263:var Ga=e.Debug.checkDefined(e.tokenToString(92));return Hr.push(ct(Ji,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,Ga)),"skip";case 232:return Hr.push(ct(Ji,e.Diagnostics.Non_null_assertions_can_only_be_used_in_TypeScript_files)),"skip";case 231:return Hr.push(ct(Ji.type,e.Diagnostics.Type_assertion_expressions_can_only_be_used_in_TypeScript_files)),"skip";case 235:return Hr.push(ct(Ji.type,e.Diagnostics.Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files)),"skip";case 213:e.Debug.fail()}}function ui(Ji,jt){switch(e.canHaveModifiers(jt)&&jt.modifiers===Ji&&e.some(Ji,e.isDecorator)&&!y.experimentalDecorators&&Hr.push(ct(jt,e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning)),jt.kind){case 260:case 228:case 171:case 173:case 174:case 175:case 215:case 259:case 216:if(Ji===jt.typeParameters)return Hr.push(Ti(Ji,e.Diagnostics.Type_parameter_declarations_can_only_be_used_in_TypeScript_files)),"skip";case 240:if(Ji===jt.modifiers)return yi(jt.modifiers,jt.kind===240),"skip";break;case 169:if(Ji===jt.modifiers){for(var Ea=0,Zt=Ji;Ea=1&&e.isStringLiteralLike(xo.arguments[0])?(e.setParentRecursive(xo,!1),ui=e.append(ui,xo.arguments[0])):e.isLiteralImportTypeNode(xo)&&(e.setParentRecursive(xo,!1),ui=e.append(ui,xo.argument.literal))}}function Ga(ea,mo){for(var xo=ea,Os=function(Ss){if(Ss.pos<=mo&&(mo0),Object.defineProperties(jt,{id:{get:function(){return this.redirectInfo.redirectTarget.id},set:function(Ea){this.redirectInfo.redirectTarget.id=Ea}},symbol:{get:function(){return this.redirectInfo.redirectTarget.symbol},set:function(Ea){this.redirectInfo.redirectTarget.symbol=Ea}}}),jt}function cs(Gr,Hr,Jn,ui,yi){e.tracing===null||e.tracing===void 0||e.tracing.push("program","findSourceFile",{fileName:Gr,isDefaultLib:Hr||void 0,fileIncludeKind:e.FileIncludeKind[ui.kind]});var Ti=nc(Gr,Hr,Jn,ui,yi);return e.tracing===null||e.tracing===void 0||e.tracing.pop(),Ti}function mc(Gr,Hr,Jn,ui){var yi=se(e.getNormalizedAbsolutePath(Gr,Mr),Hr==null?void 0:Hr.getPackageJsonInfoCache(),Jn,ui),Ti=e.getEmitScriptTarget(ui),ct=e.getSetExternalModuleIndicator(ui);return typeof yi=="object"?Ri(Ri({},yi),{languageVersion:Ti,setExternalModuleIndicator:ct}):{languageVersion:Ti,impliedNodeFormat:yi,setExternalModuleIndicator:ct}}function nc(Gr,Hr,Jn,ui,yi){var Ti,ct,Ji=Qn(Gr);if(Xe){var jt=Ts(Ji);if(!jt&&or.realpath&&y.preserveSymlinks&&e.isDeclarationFileName(Gr)&&e.stringContains(Gr,e.nodeModulesPathPart)){var Ea=Qn(or.realpath(Gr));Ea!==Ji&&(jt=Ts(Ea))}if(jt){var Zt=e.isString(jt)?cs(jt,Hr,Jn,ui,yi):void 0;return Zt&&Ws(Zt,Ji,void 0),Zt}}var Vt=Gr;if(sn.has(Ji)){var Ga=sn.get(Ji);if(vc(Ga||void 0,ui),Ga&&y.forceConsistentCasingInFileNames){var ea=Ga.fileName,mo=Qn(ea)!==Qn(Gr);mo&&(Gr=Ec(Gr)||Gr);var xo=e.getNormalizedAbsolutePathWithoutRoot(ea,Mr),Os=e.getNormalizedAbsolutePathWithoutRoot(Gr,Mr);xo!==Os&&cc(Gr,Ga,ui)}return Ga&&ye.get(Ga.path)&&Lr===0?(ye.set(Ga.path,!1),y.noResolve||(un(Ga,Hr),ei(Ga)),y.noLib||dt(Ga),pn.set(Ga.path,!1),Bt(Ga)):Ga&&pn.get(Ga.path)&&Lr0),sr.fileName=Gr,sr.path=Ji,sr.resolvedPath=Qn(Gr),sr.originalFileName=Vt,sr.packageJsonLocations=!((ct=de.packageJsonLocations)===null||ct===void 0)&&ct.length?de.packageJsonLocations:void 0,sr.packageJsonScope=de.packageJsonScope,vc(sr,ui),or.useCaseSensitiveFileNames()){var mt=e.toFileNameLowerCase(Ji),Ut=br.get(mt);Ut?cc(Gr,Ut,ui):br.set(mt,sr)}Ve=Ve||sr.hasNoDefaultLib&&!Jn,y.noResolve||(un(sr,Hr),ei(sr)),y.noLib||dt(sr),Bt(sr),Hr?Je.push(sr):er.push(sr)}return sr}function vc(Gr,Hr){Gr&&dr.add(Gr.path,Hr)}function Ws(Gr,Hr,Jn){Jn?(sn.set(Jn,Gr),sn.set(Hr,Gr||!1)):sn.set(Hr,Gr)}function Ec(Gr){var Hr=Zo(Gr);return Hr&&Jc(Hr,Gr)}function Zo(Gr){if(!(!Ne||!Ne.length||e.isDeclarationFileName(Gr)||e.fileExtensionIs(Gr,".json")))return Gs(Gr)}function Jc(Gr,Hr){var Jn=e.outFile(Gr.commandLine.options);return Jn?e.changeExtension(Jn,".d.ts"):e.getOutputDeclarationFileName(Hr,Gr.commandLine,!or.useCaseSensitiveFileNames())}function Gs(Gr){Qe===void 0&&(Qe=new e.Map,uc(function(Jn){Qn(y.configFilePath)!==Jn.sourceFile.path&&Jn.commandLine.fileNames.forEach(function(ui){return Qe.set(Qn(ui),Jn.sourceFile.path)})}));var Hr=Qe.get(Qn(Gr));return Hr&&Tr(Hr)}function uc(Gr){return e.forEachResolvedProjectReference(Ne,Gr)}function Ts(Gr){if(e.isDeclarationFileName(Gr))return pe===void 0&&(pe=new e.Map,uc(function(Hr){var Jn=e.outFile(Hr.commandLine.options);if(Jn){var ui=e.changeExtension(Jn,".d.ts");pe.set(Qn(ui),!0)}else{var yi=e.memoize(function(){return e.getCommonSourceDirectoryOfConfig(Hr.commandLine,!or.useCaseSensitiveFileNames())});e.forEach(Hr.commandLine.fileNames,function(Ti){if(!e.isDeclarationFileName(Ti)&&!e.fileExtensionIs(Ti,".json")){var ct=e.getOutputDeclarationFileName(Ti,Hr.commandLine,!or.useCaseSensitiveFileNames(),yi);pe.set(Qn(ct),Ti)}})}})),pe.get(Gr)}function le(Gr){return Xe&&!!Gs(Gr)}function Tr(Gr){if(Ze)return Ze.get(Gr)||void 0}function un(Gr,Hr){e.forEach(Gr.referencedFiles,function(Jn,ui){vs(l(Jn.fileName,Gr.fileName),Hr,!1,void 0,{kind:e.FileIncludeKind.ReferenceFile,file:Gr.path,index:ui})})}function ei(Gr){var Hr=Gr.typeReferenceDirectives;if(Hr)for(var Jn=Un(Hr,Gr),ui=0;uien,Ga=Zt&&!G(yi,ct)&&!yi.noResolve&&Ti1})&&go(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files,"outDir")}if(y.useDefineForClassFields&&Zt===0&&go(e.Diagnostics.Option_0_cannot_be_specified_when_option_target_is_ES3,"useDefineForClassFields"),y.checkJs&&!e.getAllowJSCompilerOption(y)&&cr.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"checkJs","allowJs")),y.emitDeclarationOnly&&(e.getEmitDeclarations(y)||go(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"emitDeclarationOnly","declaration","composite"),y.noEmit&&go(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"emitDeclarationOnly","noEmit")),y.emitDecoratorMetadata&&!y.experimentalDecorators&&go(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators"),y.jsxFactory?(y.reactNamespace&&go(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"reactNamespace","jsxFactory"),(y.jsx===4||y.jsx===5)&&go(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxFactory",e.inverseJsxOptionMap.get(""+y.jsx)),e.parseIsolatedEntityName(y.jsxFactory,Zt)||$s("jsxFactory",e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,y.jsxFactory)):y.reactNamespace&&!e.isIdentifierText(y.reactNamespace,Zt)&&$s("reactNamespace",e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,y.reactNamespace),y.jsxFragmentFactory&&(y.jsxFactory||go(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"jsxFragmentFactory","jsxFactory"),(y.jsx===4||y.jsx===5)&&go(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxFragmentFactory",e.inverseJsxOptionMap.get(""+y.jsx)),e.parseIsolatedEntityName(y.jsxFragmentFactory,Zt)||$s("jsxFragmentFactory",e.Diagnostics.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name,y.jsxFragmentFactory)),y.reactNamespace&&(y.jsx===4||y.jsx===5)&&go(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"reactNamespace",e.inverseJsxOptionMap.get(""+y.jsx)),y.jsxImportSource&&y.jsx===2&&go(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxImportSource",e.inverseJsxOptionMap.get(""+y.jsx)),y.preserveValueImports&&e.getEmitModuleKind(y)Vt?e.createDiagnosticForNodeInSourceFile(Zt,Ga.elements[Vt],Gr.kind===e.FileIncludeKind.OutputFromProjectReference?e.Diagnostics.File_is_output_from_referenced_project_specified_here:e.Diagnostics.File_is_source_from_referenced_project_specified_here):void 0;case e.FileIncludeKind.AutomaticTypeDirectiveFile:if(!y.types)return;ui=Uc("types",Gr.typeReference),yi=e.Diagnostics.File_is_entry_point_of_type_library_specified_here;break;case e.FileIncludeKind.LibFile:if(Gr.index!==void 0){ui=Uc("lib",y.lib[Gr.index]),yi=e.Diagnostics.File_is_library_specified_here;break}var ea=e.forEachEntry(e.targetOptionDeclaration.type,function(mo,xo){return mo===e.getEmitScriptTarget(y)?xo:void 0});ui=ea?ic("target",ea):void 0,yi=e.Diagnostics.File_is_default_library_for_target_specified_here;break;default:e.Debug.assertNever(Gr)}return ui&&e.createDiagnosticForNodeInSourceFile(y.configFile,ui,yi)}}function ys(){var Gr=y.suppressOutputPathCheck?void 0:e.getTsBuildInfoEmitOutputFilePath(y);F(Ae,Ne,function(Hr,Jn,ui){var yi=(Jn?Jn.commandLine.projectReferences:Ae)[ui],Ti=Jn&&Jn.sourceFile;if(!Hr){yc(Ti,ui,e.Diagnostics.File_0_not_found,yi.path);return}var ct=Hr.commandLine.options;if(!ct.composite||ct.noEmit){var Ji=Jn?Jn.commandLine.fileNames:ue;Ji.length&&(ct.composite||yc(Ti,ui,e.Diagnostics.Referenced_project_0_must_have_setting_composite_Colon_true,yi.path),ct.noEmit&&yc(Ti,ui,e.Diagnostics.Referenced_project_0_may_not_disable_emit,yi.path))}if(yi.prepend){var jt=e.outFile(ct);jt?or.fileExists(jt)||yc(Ti,ui,e.Diagnostics.Output_file_0_from_project_1_does_not_exist,jt,yi.path):yc(Ti,ui,e.Diagnostics.Cannot_prepend_project_0_because_it_does_not_have_outFile_set,yi.path)}!Jn&&Gr&&Gr===e.getTsBuildInfoEmitOutputFilePath(ct)&&(yc(Ti,ui,e.Diagnostics.Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1,Gr,yi.path),nn.set(Qn(Gr),!0))})}function hc(Gr,Hr,Jn,ui,yi,Ti){for(var ct=!0,Ji=Ks(),jt=0,Ea=Ji;jtHr&&(cr.add(e.createDiagnosticForNodeInSourceFile(y.configFile,mo.elements[Hr],Jn,ui,yi,Ti)),ct=!1)}}ct&&cr.add(e.createCompilerDiagnostic(Jn,ui,yi,Ti))}function Ms(Gr,Hr,Jn,ui){for(var yi=!0,Ti=Ks(),ct=0,Ji=Ti;ctHr?cr.add(e.createDiagnosticForNodeInSourceFile(Gr||y.configFile,Ti.elements[Hr],Jn,ui,yi)):cr.add(e.createCompilerDiagnostic(Jn,ui,yi))}function Fl(Gr,Hr,Jn,ui,yi,Ti,ct){var Ji=tu(),jt=!Ji||!tl(Ji,Gr,Hr,Jn,ui,yi,Ti,ct);jt&&cr.add(e.createCompilerDiagnostic(ui,yi,Ti,ct))}function tu(){if(vn===void 0){vn=!1;var Gr=e.getTsConfigObjectLiteralExpression(y.configFile);if(Gr)for(var Hr=0,Jn=e.getPropertyAssignment(Gr,"compilerOptions");Hr0)for(var Q=K.getTypeChecker(),j=0,I=q.imports;j0)for(var se=0,De=q.referencedFiles;se1&&$(G)}return F;function $(ae){if(ae.declarations)for(var Me=0,Oe=ae.declarations;Me0;){var ne=V.pop();if(!L.has(ne)){var se=q.getSourceFileByPath(ne);L.set(ne,se),se&&J(K,q,se,F,Q,j)&&V.push.apply(V,k(K,se.resolvedPath))}}return e.arrayFrom(e.mapDefinedIterator(L.values(),function(De){return De}))}})(l=e.BuilderState||(e.BuilderState={}))})(fr||(fr={}));var fr;(function(e){var i;(function(A){A[A.DtsOnly=0]="DtsOnly",A[A.Full=1]="Full"})(i=e.BuilderFileEmit||(e.BuilderFileEmit={}));function l(A,oe){return A===oe||A!==void 0&&oe!==void 0&&A.size===oe.size&&!e.forEachKey(A,function(W){return!oe.has(W)})}function _(A,oe,W,u){var O,B,G=e.BuilderState.create(A,oe,W,u);G.program=A;var $=A.getCompilerOptions();G.compilerOptions=$;var me=e.outFile($);me?$.composite&&(W!=null&&W.outSignature)&&me===e.outFile(W==null?void 0:W.compilerOptions)&&(G.outSignature=W==null?void 0:W.outSignature):G.semanticDiagnosticsPerFile=new e.Map,G.changedFilesSet=new e.Set,G.latestChangedDtsFile=$.composite?W==null?void 0:W.latestChangedDtsFile:void 0;var ae=e.BuilderState.canReuseOldState(G.referencedMap,W),Me=ae?W.compilerOptions:void 0,Oe=ae&&W.semanticDiagnosticsPerFile&&!!G.semanticDiagnosticsPerFile&&!e.compilerOptionsAffectSemanticDiagnostics($,Me),xe=$.composite&&(W==null?void 0:W.emitSignatures)&&!me&&!e.compilerOptionsAffectDeclarationPath($,W.compilerOptions);ae&&((O=W.changedFilesSet)===null||O===void 0||O.forEach(function(Le){return G.changedFilesSet.add(Le)}),!me&&W.affectedFilesPendingEmit&&(G.affectedFilesPendingEmit=W.affectedFilesPendingEmit.slice(),G.affectedFilesPendingEmitKind=W.affectedFilesPendingEmitKind&&new e.Map(W.affectedFilesPendingEmitKind),G.affectedFilesPendingEmitIndex=W.affectedFilesPendingEmitIndex,G.seenAffectedFiles=new e.Set));var Se=G.referencedMap,Ce=ae?W.referencedMap:void 0,ze=Oe&&!$.skipLibCheck==!Me.skipLibCheck,Ee=ze&&!$.skipDefaultLibCheck==!Me.skipDefaultLibCheck;return G.fileInfos.forEach(function(Le,be){var ue,y;if(!ae||!(ue=W.fileInfos.get(be))||ue.version!==Le.version||ue.impliedFormat!==Le.impliedFormat||!l(y=Se&&Se.getValues(be),Ce&&Ce.getValues(be))||y&&e.forEachKey(y,function(Je){return!G.fileInfos.has(Je)&&W.fileInfos.has(Je)}))G.changedFilesSet.add(be);else if(Oe){var X=A.getSourceFileByPath(be);if(X.isDeclarationFile&&!ze||X.hasNoDefaultLib&&!Ee)return;var Ae=W.semanticDiagnosticsPerFile.get(be);Ae&&(G.semanticDiagnosticsPerFile.set(be,W.hasReusableDiagnostic?h(Ae,A,oe):Ae),G.semanticDiagnosticsFromOldState||(G.semanticDiagnosticsFromOldState=new e.Set),G.semanticDiagnosticsFromOldState.add(be))}if(xe){var Te=W.emitSignatures.get(be);Te&&(G.emitSignatures||(G.emitSignatures=new e.Map)).set(be,Te)}}),ae&&e.forEachEntry(W.fileInfos,function(Le,be){return Le.affectsGlobalScope&&!G.fileInfos.has(be)})?e.BuilderState.getAllFilesExcludingDefaultLibraryFile(G,A,void 0).forEach(function(Le){return G.changedFilesSet.add(Le.resolvedPath)}):Me&&!me&&e.compilerOptionsAffectEmit($,Me)&&(A.getSourceFiles().forEach(function(Le){return ne(G,Le.resolvedPath,1)}),e.Debug.assert(!G.seenAffectedFiles||!G.seenAffectedFiles.size),G.seenAffectedFiles=G.seenAffectedFiles||new e.Set),G.buildInfoEmitPending=!ae||G.changedFilesSet.size!==(((B=W.changedFilesSet)===null||B===void 0?void 0:B.size)||0),G}function h(A,oe,W){if(!A.length)return e.emptyArray;var u=e.getDirectoryPath(e.getNormalizedAbsolutePath(e.getTsBuildInfoEmitOutputFilePath(oe.getCompilerOptions()),oe.getCurrentDirectory()));return A.map(function(B){var G=p(B,oe,O);G.reportsUnnecessary=B.reportsUnnecessary,G.reportsDeprecated=B.reportDeprecated,G.source=B.source,G.skippedOn=B.skippedOn;var $=B.relatedInformation;return G.relatedInformation=$?$.length?$.map(function(me){return p(me,oe,O)}):[]:void 0,G});function O(B){return e.toPath(B,u,W)}}function p(A,oe,W){var u=A.file;return Ri(Ri({},A),{file:u?oe.getSourceFileByPath(W(u)):void 0})}function P(A){e.BuilderState.releaseCache(A),A.program=void 0}function z(A){var oe=e.outFile(A.compilerOptions);return e.Debug.assert(!A.changedFilesSet.size||oe),{affectedFilesPendingEmit:A.affectedFilesPendingEmit&&A.affectedFilesPendingEmit.slice(),affectedFilesPendingEmitKind:A.affectedFilesPendingEmitKind&&new e.Map(A.affectedFilesPendingEmitKind),affectedFilesPendingEmitIndex:A.affectedFilesPendingEmitIndex,seenEmittedFiles:A.seenEmittedFiles&&new e.Map(A.seenEmittedFiles),programEmitComplete:A.programEmitComplete,emitSignatures:A.emitSignatures&&new e.Map(A.emitSignatures),outSignature:A.outSignature,latestChangedDtsFile:A.latestChangedDtsFile,hasChangedEmitSignature:A.hasChangedEmitSignature,changedFilesSet:oe?new e.Set(A.changedFilesSet):void 0}}function U(A,oe){A.affectedFilesPendingEmit=oe.affectedFilesPendingEmit,A.affectedFilesPendingEmitKind=oe.affectedFilesPendingEmitKind,A.affectedFilesPendingEmitIndex=oe.affectedFilesPendingEmitIndex,A.seenEmittedFiles=oe.seenEmittedFiles,A.programEmitComplete=oe.programEmitComplete,A.emitSignatures=oe.emitSignatures,A.outSignature=oe.outSignature,A.latestChangedDtsFile=oe.latestChangedDtsFile,A.hasChangedEmitSignature=oe.hasChangedEmitSignature,oe.changedFilesSet&&(A.changedFilesSet=oe.changedFilesSet)}function g(A,oe){e.Debug.assert(!oe||!A.affectedFiles||A.affectedFiles[A.affectedFilesIndex-1]!==oe||!A.semanticDiagnosticsPerFile.has(oe.resolvedPath))}function v(A,oe,W,u,O){for(var B,G;;){var $=A.affectedFiles;if($){for(var me=A.seenAffectedFiles,ae=A.affectedFilesIndex;ae<$.length;){var Me=$[ae];if(!me.has(Me.resolvedPath))return A.affectedFilesIndex=ae,ie(A,Me,oe,W,u,O),Me;ae++}A.changedFilesSet.delete(A.currentChangedFilePath),A.currentChangedFilePath=void 0,(B=A.oldSignatures)===null||B===void 0||B.clear(),(G=A.oldExportedModulesMap)===null||G===void 0||G.clear(),A.affectedFiles=void 0}var Oe=A.changedFilesSet.keys().next();if(Oe.done)return;var xe=e.Debug.checkDefined(A.program),Se=xe.getCompilerOptions();if(e.outFile(Se))return e.Debug.assert(!A.semanticDiagnosticsPerFile),xe;A.affectedFiles=e.BuilderState.getFilesAffectedByWithOldState(A,xe,Oe.value,oe,W,u),A.currentChangedFilePath=Oe.value,A.affectedFilesIndex=0,A.seenAffectedFiles||(A.seenAffectedFiles=new e.Set)}}function Y(A){A.affectedFilesPendingEmit=void 0,A.affectedFilesPendingEmitKind=void 0,A.affectedFilesPendingEmitIndex=void 0}function ce(A){var oe=A.affectedFilesPendingEmit;if(oe){for(var W=A.seenEmittedFiles||(A.seenEmittedFiles=new e.Map),u=A.affectedFilesPendingEmitIndex;u0;){var ae=me.pop();if(!$.has(ae)){if($.set(ae,!0),d(A,ae,W,u,O,B))return;if(te(A,ae,W,u,O,B),J(A,ae)){var Me=e.Debug.checkDefined(A.program).getSourceFileByPath(ae);me.push.apply(me,e.BuilderState.getReferencedByPaths(A,Me.resolvedPath))}}}}var Oe=new e.Set;(G=A.exportedModulesMap.getKeys(oe.resolvedPath))===null||G===void 0||G.forEach(function(xe){if(d(A,xe,W,u,O,B))return!0;var Se=A.referencedMap.getKeys(xe);return Se&&e.forEachKey(Se,function(Ce){return C(A,Ce,Oe,W,u,O,B)})})}}function C(A,oe,W,u,O,B,G){var $,me;if(e.tryAddToSet(W,oe)){if(d(A,oe,u,O,B,G))return!0;te(A,oe,u,O,B,G),($=A.exportedModulesMap.getKeys(oe))===null||$===void 0||$.forEach(function(ae){return C(A,ae,W,u,O,B,G)}),(me=A.referencedMap.getKeys(oe))===null||me===void 0||me.forEach(function(ae){return!W.has(ae)&&te(A,ae,u,O,B,G)})}}function k(A,oe,W,u,O){O?A.buildInfoEmitPending=!1:oe===A.program?(A.changedFilesSet.clear(),A.programEmitComplete=!0):(A.seenAffectedFiles.add(oe.resolvedPath),A.buildInfoEmitPending=!0,W!==void 0&&(A.seenEmittedFiles||(A.seenEmittedFiles=new e.Map)).set(oe.resolvedPath,W),u?A.affectedFilesPendingEmitIndex++:A.affectedFilesIndex++)}function R(A,oe,W){return k(A,W),{result:oe,affected:W}}function M(A,oe,W,u,O,B){return k(A,W,u,O,B),{result:oe,affected:W}}function ge(A,oe,W){return e.concatenate(ve(A,oe,W),e.Debug.checkDefined(A.program).getProgramDiagnostics(oe))}function ve(A,oe,W){var u=oe.resolvedPath;if(A.semanticDiagnosticsPerFile){var O=A.semanticDiagnosticsPerFile.get(u);if(O)return e.filterSemanticDiagnostics(O,A.compilerOptions)}var B=e.Debug.checkDefined(A.program).getBindAndCheckDiagnostics(oe,W);return A.semanticDiagnosticsPerFile&&A.semanticDiagnosticsPerFile.set(u,B),e.filterSemanticDiagnostics(B,A.compilerOptions)}function re(A){return!!e.outFile(A.options||{})}e.isProgramBundleEmitBuildInfo=re;function N(A,oe){var W=e.outFile(A.compilerOptions);if(W&&!A.compilerOptions.composite)return;var u=e.Debug.checkDefined(A.program).getCurrentDirectory(),O=e.getDirectoryPath(e.getNormalizedAbsolutePath(e.getTsBuildInfoEmitOutputFilePath(A.compilerOptions),u)),B=A.latestChangedDtsFile?ln(A.latestChangedDtsFile):void 0;if(W){var G=[],$=[];A.program.getRootFileNames().forEach(function(Cr){var en=A.program.getSourceFile(Cr);en&&(G.push(dr(en.resolvedPath)),$.push(en.version))});var me={fileNames:G,fileInfos:$,options:jr(A.compilerOptions,"affectsBundleEmitBuildInfo"),outSignature:A.outSignature,latestChangedDtsFile:B};return me}var ae=[],Me=new e.Map,Oe,xe,Se,Ce=e.arrayFrom(A.fileInfos.entries(),function(Cr){var en,Lr,pn=Cr[0],ye=Cr[1],or=vr(pn);e.Debug.assert(ae[or-1]===dr(pn));var Pe=(en=A.oldSignatures)===null||en===void 0?void 0:en.get(pn),Ve=Pe!==void 0?Pe||void 0:ye.signature;if(A.compilerOptions.composite){var Ar=A.program.getSourceFileByPath(pn);if(!e.isJsonSourceFile(Ar)&&e.sourceFileMayBeEmitted(Ar,A.program)){var ke=(Lr=A.emitSignatures)===null||Lr===void 0?void 0:Lr.get(pn);ke!==Ve&&(Se||(Se=[])).push(ke===void 0?or:[or,ke])}}return ye.version===Ve?ye.affectsGlobalScope||ye.impliedFormat?{version:ye.version,signature:void 0,affectsGlobalScope:ye.affectsGlobalScope,impliedFormat:ye.impliedFormat}:ye.version:Ve!==void 0?Pe===void 0?ye:{version:ye.version,signature:Ve,affectsGlobalScope:ye.affectsGlobalScope,impliedFormat:ye.impliedFormat}:{version:ye.version,signature:!1,affectsGlobalScope:ye.affectsGlobalScope,impliedFormat:ye.impliedFormat}}),ze;A.referencedMap&&(ze=e.arrayFrom(A.referencedMap.keys()).sort(e.compareStringsCaseSensitive).map(function(Cr){return[vr(Cr),kr(A.referencedMap.getValues(Cr))]}));var Ee;A.exportedModulesMap&&(Ee=e.mapDefined(e.arrayFrom(A.exportedModulesMap.keys()).sort(e.compareStringsCaseSensitive),function(Cr){var en,Lr=(en=A.oldExportedModulesMap)===null||en===void 0?void 0:en.get(Cr);if(Lr===void 0)return[vr(Cr),kr(A.exportedModulesMap.getValues(Cr))];if(Lr)return[vr(Cr),kr(Lr)]}));var Le;if(A.semanticDiagnosticsPerFile)for(var be=0,ue=e.arrayFrom(A.semanticDiagnosticsPerFile.keys()).sort(e.compareStringsCaseSensitive);be1||p.charCodeAt(0)!==47;if(g&&p.search(/[a-zA-Z]:/)!==0&&U.search(/[a-zA-Z]\$\//)===0){if(z=p.indexOf(e.directorySeparator,z+1),z===-1)return!1;U=p.substring(P+U.length,z+1)}if(g&&U.search(/users\//i)!==0)return!0;for(var v=z+1,Y=2;Y>0;Y--)if(v=p.indexOf(e.directorySeparator,v)+1,v===0)return!1;return!0}e.canWatchDirectoryOrFile=l;function _(p,P,z){var U,g,v,Y=e.createMultiMap(),ce=[],Z=[],ie=e.createMultiMap(),te=new e.Map,x=!1,J,d,D,C,k,R=e.memoize(function(){return p.getCurrentDirectory()}),M=p.getCachedDirectoryStructureHost(),ge=new e.Map,ve=e.createCacheWithRedirects(),re=e.createCacheWithRedirects(),N=e.createModuleResolutionCache(R(),p.getCanonicalFileName,void 0,ve,re),K=new e.Map,q=e.createCacheWithRedirects(),b=e.createTypeReferenceDirectiveResolutionCache(R(),p.getCanonicalFileName,void 0,N.getPackageJsonInfoCache(),q),F=[".ts",".tsx",".js",".jsx",".json"],Q=new e.Map,j=new e.Map,I=new e.Map,L=P&&e.removeTrailingDirectorySeparator(e.getNormalizedAbsolutePath(P,R())),V=L&&p.toPath(L),ne=V!==void 0?V.split(e.directorySeparator).length:0,se=new e.Map;return{getModuleResolutionCache:function(){return N},startRecordingFilesWithChangedResolutions:oe,finishRecordingFilesWithChangedResolutions:W,startCachingPerDirectoryResolution:B,finishCachingPerDirectoryResolution:G,resolveModuleNames:Oe,getResolvedModuleWithFailedLookupLocationsFromCache:xe,resolveTypeReferenceDirectives:Me,removeResolutionsFromProjectReferenceRedirects:mr,removeResolutionsOfFile:We,hasChangedAutomaticTypeDirectiveNames:function(){return x},invalidateResolutionOfFile:qr,invalidateResolutionsOfFailedLookupLocations:vr,setFilesWithInvalidatedNonRelativeUnresolvedImports:ln,createHasInvalidatedResolutions:O,isFileWithInvalidatedNonRelativeUnresolvedImports:u,updateTypeRootsWatch:ye,closeTypeRootsWatch:en,clear:A};function De(Pe){return Pe.resolvedModule}function T(Pe){return Pe.resolvedTypeReferenceDirective}function w(Pe,Ve){return Pe===void 0||Ve.length<=Pe.length?!1:e.startsWith(Ve,Pe)&&Ve[Pe.length]===e.directorySeparator}function A(){e.clearMap(j,e.closeFileWatcherOf),e.clearMap(I,e.closeFileWatcherOf),Q.clear(),Y.clear(),en(),ge.clear(),K.clear(),ie.clear(),ce.length=0,Z.length=0,D=void 0,C=void 0,k=void 0,d=void 0,J=void 0,N.clear(),b.clear(),te.clear(),x=!1}function oe(){U=[]}function W(){var Pe=U;return U=void 0,Pe}function u(Pe){if(!v)return!1;var Ve=v.get(Pe);return!!Ve&&!!Ve.length}function O(Pe){vr();var Ve=g;return g=void 0,function(Ar){return Pe(Ar)||!!(Ve!=null&&Ve.has(Ar))||u(Ar)}}function B(){N.clearAllExceptPackageJsonInfoCache(),b.clearAllExceptPackageJsonInfoCache(),Y.forEach(X),Y.clear()}function G(Pe,Ve){v=void 0,Y.forEach(X),Y.clear(),Pe!==Ve&&(Pe==null||Pe.getSourceFiles().forEach(function(Ar){for(var ke,cr,Mr,Rr=e.isExternalOrCommonJsModule(Ar)&&(cr=(ke=Ar.packageJsonLocations)===null||ke===void 0?void 0:ke.length)!==null&&cr!==void 0?cr:0,$r=(Mr=te.get(Ar.path))!==null&&Mr!==void 0?Mr:e.emptyArray,nn=$r.length;nnRr)for(var nn=Rr;nn<$r.length;nn++)I.get($r[nn]).files--;Rr?te.set(Ar.path,Ar.packageJsonLocations):te.delete(Ar.path)}),te.forEach(function(Ar,ke){Pe!=null&&Pe.getSourceFileByPath(ke)||(Ar.forEach(function(cr){return I.get(cr).files--}),te.delete(ke))})),j.forEach(function(Ar,ke){Ar.refCount===0&&(j.delete(ke),Ar.watcher.close())}),I.forEach(function(Ar,ke){Ar.files===0&&Ar.resolutions===0&&(I.delete(ke),Ar.watcher.close())}),x=!1}function $(Pe,Ve,Ar,ke,cr,Mr,Rr){var $r,nn,vn=e.resolveModuleName(Pe,Ve,Ar,ke,N,cr,Rr);if(!p.getGlobalCache)return vn;var Fe=p.getGlobalCache();if(Fe!==void 0&&!e.isExternalModuleNameRelative(Pe)&&!(vn.resolvedModule&&e.extensionIsTS(vn.resolvedModule.extension))){var Ge=e.loadModuleFromGlobalCache(e.Debug.checkDefined(p.globalCacheResolutionModuleName)(Pe),p.projectName,Ar,ke,Fe,N),xr=Ge.resolvedModule,Ur=Ge.failedLookupLocations,En=Ge.affectingLocations;if(xr)return vn.resolvedModule=xr,($r=vn.failedLookupLocations).push.apply($r,Ur),(nn=vn.affectingLocations).push.apply(nn,En),vn}return vn}function me(Pe,Ve,Ar,ke,cr,Mr,Rr){return e.resolveTypeReferenceDirective(Pe,Ve,Ar,ke,cr,b,Rr)}function ae(Pe){var Ve,Ar,ke,cr=Pe.names,Mr=Pe.containingFile,Rr=Pe.redirectedReference,$r=Pe.cache,nn=Pe.perDirectoryCacheWithRedirects,vn=Pe.loader,Fe=Pe.getResolutionWithResolvedFileName,Ge=Pe.shouldRetryResolution,xr=Pe.reusedNames,Ur=Pe.logChanges,En=Pe.containingSourceFile,Nn=Pe.containingSourceFileMode,Zn=p.toPath(Mr),fi=$r.get(Zn)||$r.set(Zn,e.createModeAwareCache()).get(Zn),Dr=e.getDirectoryPath(Zn),Pr=nn.getOrCreateMapOfCacheRedirects(Rr),Jr=Pr.get(Dr);Jr||(Jr=e.createModeAwareCache(),Pr.set(Dr,Jr));for(var sn=[],Ue=p.getCompilationSettings(),br=Ur&&u(Zn),Ne=p.getCurrentProgram(),Ze=Ne&&Ne.getResolvedProjectReferenceToRedirect(Mr),Qe=Ze?!Rr||Rr.sourceFile.path!==Ze.sourceFile.path:!!Rr,pe=e.createModeAwareCache(),Xe=0,ar=0,Sr=cr;arne+1?{dir:ke.slice(0,ne+1).join(e.directorySeparator),dirPath:Ar.slice(0,ne+1).join(e.directorySeparator)}:{dir:L,dirPath:V,nonRecursive:!1}}return ze(e.getDirectoryPath(e.getNormalizedAbsolutePath(Pe,R())),e.getDirectoryPath(Ve))}function ze(Pe,Ve){for(;e.pathContainsNodeModules(Ve);)Pe=e.getDirectoryPath(Pe),Ve=e.getDirectoryPath(Ve);if(e.isNodeModulesDirectory(Ve))return l(e.getDirectoryPath(Ve))?{dir:Pe,dirPath:Ve}:void 0;var Ar=!0,ke,cr;if(V!==void 0)for(;!w(Ve,V);){var Mr=e.getDirectoryPath(Ve);if(Mr===Ve)break;Ar=!1,ke=Ve,cr=Pe,Ve=Mr,Pe=e.getDirectoryPath(Pe)}return l(Ve)?{dir:cr||Pe,dirPath:ke||Ve,nonRecursive:Ar}:void 0}function Ee(Pe){return e.fileExtensionIsOneOf(Pe,F)}function Le(Pe,Ve,Ar,ke){if(Ve.refCount)Ve.refCount++,e.Debug.assertIsDefined(Ve.files);else{Ve.refCount=1,e.Debug.assert(e.length(Ve.files)===0),e.isExternalModuleNameRelative(Pe)?be(Ve):Y.add(Pe,Ve);var cr=ke(Ve);cr&&cr.resolvedFileName&&ie.add(p.toPath(cr.resolvedFileName),Ve)}(Ve.files||(Ve.files=[])).push(Ar)}function be(Pe){e.Debug.assert(!!Pe.refCount);var Ve=Pe.failedLookupLocations,Ar=Pe.affectingLocations;if(!(!Ve.length&&!Ar.length)){Ve.length&&ce.push(Pe);for(var ke=!1,cr=0,Mr=Ve;cr1),Q.set(Fe,Ur-1))),xr===V?Rr=!0:Je(xr)}}Rr&&Je(V)}else Mr.length&&e.unorderedRemoveItem(Z,Pe);for(var En=0,Nn=Mr;En1&&Se.sort(R),B.push.apply(B,Se));var Ce=e.getDirectoryPath(Oe);if(Ce===Oe)return $=Oe,"break";Oe=Ce,$=Oe},$,me=e.getDirectoryPath(w);u.size!==0;){var ae=G(me);if(me=$,ae==="break")break}if(u.size){var Me=e.arrayFrom(u.values());Me.length>1&&Me.sort(R),B.push.apply(B,Me)}return B}function N(w,A){var oe,W=(oe=w.declarations)===null||oe===void 0?void 0:oe.find(function(B){return e.isNonGlobalAmbientModule(B)&&(!e.isExternalModuleAugmentation(B)||!e.isExternalModuleNameRelative(e.getTextOfIdentifierOrLiteral(B.name)))});if(W)return W.name.text;var u=e.mapDefined(w.declarations,function(B){var G,$,me,ae;if(!e.isModuleDeclaration(B))return;var Me=Ce(B);if(!(!((G=Me==null?void 0:Me.parent)===null||G===void 0)&&G.parent&&e.isModuleBlock(Me.parent)&&e.isAmbientModule(Me.parent.parent)&&e.isSourceFile(Me.parent.parent.parent)))return;var Oe=(ae=(me=($=Me.parent.parent.symbol.exports)===null||$===void 0?void 0:$.get("export="))===null||me===void 0?void 0:me.valueDeclaration)===null||ae===void 0?void 0:ae.expression;if(!Oe)return;var xe=A.getSymbolAtLocation(Oe);if(!xe)return;var Se=(xe==null?void 0:xe.flags)&2097152?A.getAliasedSymbol(xe):xe;if(Se===B.symbol)return Me.parent.parent;function Ce(ze){for(;ze.flags&4;)ze=ze.parent;return ze}}),O=u[0];if(O)return O.name.text}function K(w,A,oe){if(e.getEmitModuleResolutionKind(A)>=e.ModuleResolutionKind.Node16&&oe===e.ModuleKind.ESNext)return[2];switch(w){case 2:return[2,0,1];case 1:return[1,0,2];case 0:return[0,1,2];default:e.Debug.assertNever(w)}}function q(w,A,oe,W,u){for(var O in A)for(var B=function(Oe){var xe=e.normalizePath(Oe),Se=xe.indexOf("*"),Ce=oe.map(function(Te){return{ending:Te,value:V(w,Te,u)}});if(e.tryGetExtensionFromPath(xe)&&Ce.push({ending:void 0,value:w}),Se!==-1)for(var ze=xe.substring(0,Se),Ee=xe.substring(Se+1),Le=0,be=Ce;Le=ze.length+Ee.length&&e.startsWith(X,ze)&&e.endsWith(X,Ee)&&Me({ending:y,value:X})){var Ae=X.substring(ze.length,X.length-Ee.length);return{value:O.replace("*",Ae)}}}else if(e.some(Ce,function(Te){return Te.ending!==0&&xe===Te.value})||e.some(Ce,function(Te){return Te.ending===0&&xe===Te.value&&Me(Te)}))return{value:O}},G=0,$=A[O];G<$.length;G++){var me=$[G],ae=B(me);if(typeof ae=="object")return ae.value}function Me(Oe){var xe=Oe.ending,Se=Oe.value;return xe!==0||Se===V(w,xe,u,W)}}var b;(function(w){w[w.Exact=0]="Exact",w[w.Directory=1]="Directory",w[w.Pattern=2]="Pattern"})(b||(b={}));function F(w,A,oe,W,u,O,B){if(B===void 0&&(B=0),typeof u=="string"){var G=e.getNormalizedAbsolutePath(e.combinePaths(oe,u),void 0),$=e.hasTSFileExtension(A)?e.removeFileExtension(A)+se(A,w):void 0;switch(B){case 0:if(e.comparePaths(A,G)===0||$&&e.comparePaths($,G)===0)return{moduleFileToTry:W};break;case 1:if(e.containsPath(G,A)){var me=e.getRelativePathFromDirectory(G,A,!1);return{moduleFileToTry:e.getNormalizedAbsolutePath(e.combinePaths(e.combinePaths(W,u),me),void 0)}}break;case 2:var ae=G.indexOf("*"),Me=G.slice(0,ae),Oe=G.slice(ae+1);if(e.startsWith(A,Me)&&e.endsWith(A,Oe)){var xe=A.slice(Me.length,A.length-Oe.length);return{moduleFileToTry:W.replace("*",xe)}}if($&&e.startsWith($,Me)&&e.endsWith($,Oe)){var xe=$.slice(Me.length,$.length-Oe.length);return{moduleFileToTry:W.replace("*",xe)}}break}}else{if(Array.isArray(u))return e.forEach(u,function(be){return F(w,A,oe,W,be,O)});if(typeof u=="object"&&u!==null){if(e.allKeysStartWithDot(u))return e.forEach(e.getOwnKeys(u),function(be){var ue=e.getNormalizedAbsolutePath(e.combinePaths(W,be),void 0),y=e.endsWith(be,"/")?1:e.stringContains(be,"*")?2:0;return F(w,A,oe,ue,u[be],O,y)});for(var Se=0,Ce=e.getOwnKeys(u);Se=0||e.isApplicableVersionedTypesKey(O,ze)){var Ee=u[ze],Le=F(w,A,oe,W,Ee,O);if(Le)return Le}}}}}function Q(w,A,oe,W,u,O){var B=L(A,w,W);if(B!==void 0){var G=L(oe,w,W),$=e.flatMap(G,function(ae){return e.map(B,function(Me){return e.ensurePathIsNonModuleName(e.getRelativePathFromDirectory(ae,Me,W))})}),me=e.min($,e.compareNumberOfDirectorySeparators);if(me)return e.getEmitModuleResolutionKind(O)===e.ModuleResolutionKind.NodeJs?V(me,u,O):e.removeFileExtension(me)}}function j(w,A,oe,W,u,O,B,G){var $=w.path,me=w.isRedirect,ae=A.getCanonicalFileName,Me=A.sourceDirectory;if(!W.fileExists||!W.readFile)return;var Oe=e.getNodeModulePathParts($);if(!Oe)return;var xe=p(W,O,u,oe),Se=$,Ce=!1;if(!B)for(var ze=Oe.packageRootIndex,Ee=void 0;;){var Le=wr(ze),be=Le.moduleFileToTry,ue=Le.packageRootPath,y=Le.blockedByExports,X=Le.verbatimFromExports;if(e.getEmitModuleResolutionKind(u)!==e.ModuleResolutionKind.Classic){if(y)return;if(X)return be}if(ue){Se=ue,Ce=!0;break}if(Ee||(Ee=be),ze=$.indexOf(e.directorySeparator,ze+1),ze===-1){Se=V(Ee,xe.ending,u,W);break}}if(me&&!Ce)return;var Ae=W.getGlobalTypingsCacheLocation&&W.getGlobalTypingsCacheLocation(),Te=ae(Se.substring(0,Oe.topLevelNodeModulesIndex));if(!(e.startsWith(Me,Te)||Ae&&e.startsWith(ae(Ae),Te)))return;var Je=Se.substring(Oe.topLevelPackageNameIndex+1),er=e.getPackageNameFromTypesPackageName(Je);return e.getEmitModuleResolutionKind(u)===e.ModuleResolutionKind.Classic&&er===Je?void 0:er;function wr(mr){var We,a,qr=$.substring(0,mr),ln=e.combinePaths(qr,"package.json"),dr=$,vr=!1,kr=(a=(We=W.getPackageJsonInfoCache)===null||We===void 0?void 0:We.call(W))===null||a===void 0?void 0:a.getPackageJsonInfo(ln);if(typeof kr=="object"||kr===void 0&&W.fileExists(ln)){var jr=(kr==null?void 0:kr.contents.packageJsonContent)||JSON.parse(W.readFile(ln)),Cr=G||oe.impliedNodeFormat;if(e.getEmitModuleResolutionKind(u)===e.ModuleResolutionKind.Node16||e.getEmitModuleResolutionKind(u)===e.ModuleResolutionKind.NodeNext){var en=["node",Cr===e.ModuleKind.ESNext?"import":"require","types"],Lr=jr.exports&&typeof jr.name=="string"?F(u,$,qr,e.getPackageNameFromTypesPackageName(jr.name),jr.exports,en):void 0;if(Lr){var pn=e.hasTSFileExtension(Lr.moduleFileToTry)?{moduleFileToTry:e.removeFileExtension(Lr.moduleFileToTry)+se(Lr.moduleFileToTry,u)}:Lr;return Ri(Ri({},pn),{verbatimFromExports:!0})}if(jr.exports)return{moduleFileToTry:$,blockedByExports:!0}}var ye=jr.typesVersions?e.getPackageJsonTypesVersionsPaths(jr.typesVersions):void 0;if(ye){var or=$.slice(qr.length+1),Pe=q(or,ye.paths,K(xe.ending,u,Cr),W,u);Pe===void 0?vr=!0:dr=e.combinePaths(qr,Pe)}var Ve=jr.typings||jr.types||jr.main||"index.js";if(e.isString(Ve)&&!(vr&&e.matchPatternOrExact(e.tryParsePatterns(ye.paths),Ve))){var Ar=e.toPath(Ve,qr,ae);if(e.removeFileExtension(Ar)===e.removeFileExtension(ae(dr)))return{packageRootPath:qr,moduleFileToTry:dr}}}else{var ke=ae(dr.substring(Oe.packageRootIndex+1));if(ke==="index.d.ts"||ke==="index.js"||ke==="index.ts"||ke==="index.tsx")return{moduleFileToTry:dr,packageRootPath:qr}}return{moduleFileToTry:dr}}}function I(w,A){if(w.fileExists)for(var oe=e.flatten(e.getSupportedExtensions({allowJs:!0},[{extension:"node",isMixedContent:!1},{extension:"json",isMixedContent:!1,scriptKind:6}])),W=0,u=oe;W1?Z(se,ne):"";return"".concat(V).concat(e.flattenDiagnosticMessageText(w.messageText,V)).concat(V).concat(V).concat(A)}e.getErrorSummaryText=ce;function Z(I,L){var V=I.filter(function(u,O,B){return O===B.findIndex(function(G){return(G==null?void 0:G.fileName)===(u==null?void 0:u.fileName)})});if(V.length===0)return"";var ne=function(u){return Math.log(u)*Math.LOG10E+1},se=V.map(function(u){return[u,e.countWhere(I,function(O){return O.fileName===u.fileName})]}),De=se.reduce(function(u,O){return Math.max(u,O[1]||0)},0),T=e.Diagnostics.Errors_Files.message,w=T.split(" ")[0].length,A=Math.max(w,ne(De)),oe=Math.max(ne(De)-w,0),W="";return W+=" ".repeat(oe)+T+` +`,se.forEach(function(u){var O=u[0],B=u[1],G=Math.log(B)*Math.LOG10E+1|0,$=G0?e.ExitStatus.DiagnosticsPresent_OutputsSkipped:W.length>0?e.ExitStatus.DiagnosticsPresent_OutputsGenerated:e.ExitStatus.Success}e.emitFilesAndReportErrorsAndGetExitStatus=M,e.noopFileWatcher={close:e.noop},e.returnNoopFileWatcher=function(){return e.noopFileWatcher};function ge(I,L){I===void 0&&(I=e.sys);var V=L||P(I);return{onWatchStatusChange:V,watchFile:e.maybeBind(I,I.watchFile)||e.returnNoopFileWatcher,watchDirectory:e.maybeBind(I,I.watchDirectory)||e.returnNoopFileWatcher,setTimeout:e.maybeBind(I,I.setTimeout)||e.noop,clearTimeout:e.maybeBind(I,I.clearTimeout)||e.noop}}e.createWatchHost=ge,e.WatchType={ConfigFile:"Config file",ExtendedConfigFile:"Extended config file",SourceFile:"Source file",MissingFile:"Missing file",WildcardDirectory:"Wild card directory",FailedLookupLocations:"Failed Lookup Locations",AffectingFileLocation:"File location affecting resolution",TypeRoots:"Type roots",ConfigFileOfReferencedProject:"Config file of referened project",ExtendedConfigOfReferencedProject:"Extended config file of referenced project",WildcardDirectoryOfReferencedProject:"Wild card directory of referenced project",PackageJson:"package.json file",ClosedScriptInfo:"Closed Script info",ConfigFileForInferredRoot:"Config file for the inferred project root",NodeModules:"node_modules for closed script infos and package.jsons affecting module specifier cache",MissingSourceMapFile:"Missing source map file",NoopConfigFileForInferredRoot:"Noop Config file for the inferred project root",MissingGeneratedFile:"Missing generated file",NodeModulesForModuleSpecifierCache:"node_modules for module specifier cache invalidation"};function ve(I,L){var V=I.trace?L.extendedDiagnostics?e.WatchLogLevel.Verbose:L.diagnostics?e.WatchLogLevel.TriggerOnly:e.WatchLogLevel.None:e.WatchLogLevel.None,ne=V!==e.WatchLogLevel.None?function(De){return I.trace(De)}:e.noop,se=e.getWatchFactory(I,V,ne);return se.writeLog=ne,se}e.createWatchFactory=ve;function re(I,L,V){V===void 0&&(V=I);var ne=I.useCaseSensitiveFileNames(),se=e.memoize(function(){return I.getNewLine()}),De={getSourceFile:function(w,A,oe){var W;try{e.performance.mark("beforeIORead");var u=L().charset;W=u?I.readFile(w,u):De.readFile(w),e.performance.mark("afterIORead"),e.performance.measure("I/O Read","beforeIORead","afterIORead")}catch(O){oe&&oe(O.message),W=""}return W!==void 0?e.createSourceFile(w,W,A):void 0},getDefaultLibLocation:e.maybeBind(I,I.getDefaultLibLocation),getDefaultLibFileName:function(w){return I.getDefaultLibFileName(w)},writeFile:T,getCurrentDirectory:e.memoize(function(){return I.getCurrentDirectory()}),useCaseSensitiveFileNames:function(){return ne},getCanonicalFileName:e.createGetCanonicalFileName(ne),getNewLine:function(){return e.getNewLineCharacter(L(),se)},fileExists:function(w){return I.fileExists(w)},readFile:function(w){return I.readFile(w)},trace:e.maybeBind(I,I.trace),directoryExists:e.maybeBind(V,V.directoryExists),getDirectories:e.maybeBind(V,V.getDirectories),realpath:e.maybeBind(I,I.realpath),getEnvironmentVariable:e.maybeBind(I,I.getEnvironmentVariable)||function(){return""},createHash:e.maybeBind(I,I.createHash),readDirectory:e.maybeBind(I,I.readDirectory),disableUseFileVersionAsSignature:I.disableUseFileVersionAsSignature,storeFilesChangingSignatureDuringEmit:I.storeFilesChangingSignatureDuringEmit};return De;function T(w,A,oe,W){try{e.performance.mark("beforeIOWrite"),e.writeFileEnsuringDirectories(w,A,oe,function(u,O,B){return I.writeFile(u,O,B)},function(u){return I.createDirectory(u)},function(u){return I.directoryExists(u)}),e.performance.mark("afterIOWrite"),e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite")}catch(u){W&&W(u.message)}}}e.createCompilerHostFromProgramHost=re;function N(I){var L=I.getSourceFile,V=e.maybeBind(I,I.createHash)||e.generateDjb2Hash;I.getSourceFile=function(){for(var ne=[],se=0;seSr)}}}function ne(ke,cr,Mr){var Rr=ke.options;return cr.type!==e.UpToDateStatusType.OutOfDateWithPrepend||Rr.force?!0:Mr.fileNames.length===0||!!e.getConfigFileParsingDiagnostics(Mr).length||!e.isIncrementalCompilation(Mr.options)}function se(ke,cr,Mr){if(ke.projectPendingBuild.size&&!z(cr))for(var Rr=ke.options,$r=ke.projectPendingBuild,nn=0;nnpe&&(Qe=pr,pe=Fr)}if(!Dr)for(var Wn=e.getAllProjectOutputs(cr,!fi.useCaseSensitiveFileNames()),bn=G(ke,Mr),qn=0,hn=Wn;qn=0}l.hasArgument=h;function p(z){var U=e.sys.args.indexOf(z);return U>=0&&Uv)return 2;if(te.charCodeAt(0)===46)return 3;if(te.charCodeAt(0)===95)return 4;if(x){var J=/^@([^/]+)\/([^/]+)$/.exec(te);if(J){var d=ce(J[1],!1);if(d!==0)return{name:J[1],isScopeName:!0,result:d};var D=ce(J[2],!1);return D!==0?{name:J[2],isScopeName:!1,result:D}:0}}return encodeURIComponent(te)!==te?5:0}function Z(te,x){return typeof te=="object"?ie(x,te.result,te.name,te.isScopeName):ie(x,te,x,!1)}l.renderPackageNameValidationFailure=Z;function ie(te,x,J,d){var D=d?"Scope":"Package";switch(x){case 1:return"'".concat(te,"':: ").concat(D," name '").concat(J,"' cannot be empty");case 2:return"'".concat(te,"':: ").concat(D," name '").concat(J,"' should be less than ").concat(v," characters");case 3:return"'".concat(te,"':: ").concat(D," name '").concat(J,"' cannot start with '.'");case 4:return"'".concat(te,"':: ").concat(D," name '").concat(J,"' cannot start with '_'");case 5:return"'".concat(te,"':: ").concat(D," name '").concat(J,"' contains non URI safe characters");case 0:return e.Debug.fail();default:throw e.Debug.assertNever(x)}}})(i=e.JsTyping||(e.JsTyping={}))})(fr||(fr={}));var fr;(function(e){var i;(function(M){var ge=function(){function re(N){this.text=N}return re.prototype.getText=function(N,K){return N===0&&K===this.text.length?this.text:this.text.substring(N,K)},re.prototype.getLength=function(){return this.text.length},re.prototype.getChangeRange=function(){},re}();function ve(re){return new ge(re)}M.fromString=ve})(i=e.ScriptSnapshot||(e.ScriptSnapshot={}));var l;(function(M){M[M.Dependencies=1]="Dependencies",M[M.DevDependencies=2]="DevDependencies",M[M.PeerDependencies=4]="PeerDependencies",M[M.OptionalDependencies=8]="OptionalDependencies",M[M.All=15]="All"})(l=e.PackageJsonDependencyGroup||(e.PackageJsonDependencyGroup={}));var _;(function(M){M[M.Off=0]="Off",M[M.On=1]="On",M[M.Auto=2]="Auto"})(_=e.PackageJsonAutoImportPreference||(e.PackageJsonAutoImportPreference={}));var h;(function(M){M[M.Semantic=0]="Semantic",M[M.PartialSemantic=1]="PartialSemantic",M[M.Syntactic=2]="Syntactic"})(h=e.LanguageServiceMode||(e.LanguageServiceMode={})),e.emptyOptions={};var p;(function(M){M.Original="original",M.TwentyTwenty="2020"})(p=e.SemanticClassificationFormat||(e.SemanticClassificationFormat={}));var P;(function(M){M.All="All",M.SortAndCombine="SortAndCombine",M.RemoveUnused="RemoveUnused"})(P=e.OrganizeImportsMode||(e.OrganizeImportsMode={}));var z;(function(M){M[M.Invoked=1]="Invoked",M[M.TriggerCharacter=2]="TriggerCharacter",M[M.TriggerForIncompleteCompletions=3]="TriggerForIncompleteCompletions"})(z=e.CompletionTriggerKind||(e.CompletionTriggerKind={}));var U;(function(M){M.Type="Type",M.Parameter="Parameter",M.Enum="Enum"})(U=e.InlayHintKind||(e.InlayHintKind={}));var g;(function(M){M.none="none",M.definition="definition",M.reference="reference",M.writtenReference="writtenReference"})(g=e.HighlightSpanKind||(e.HighlightSpanKind={}));var v;(function(M){M[M.None=0]="None",M[M.Block=1]="Block",M[M.Smart=2]="Smart"})(v=e.IndentStyle||(e.IndentStyle={}));var Y;(function(M){M.Ignore="ignore",M.Insert="insert",M.Remove="remove"})(Y=e.SemicolonPreference||(e.SemicolonPreference={}));function ce(M){return{indentSize:4,tabSize:4,newLineCharacter:M||` +`,convertTabsToSpaces:!0,indentStyle:v.Smart,insertSpaceAfterConstructor:!1,insertSpaceAfterCommaDelimiter:!0,insertSpaceAfterSemicolonInForStatements:!0,insertSpaceBeforeAndAfterBinaryOperators:!0,insertSpaceAfterKeywordsInControlFlowStatements:!0,insertSpaceAfterFunctionKeywordForAnonymousFunctions:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:!0,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:!1,insertSpaceBeforeFunctionParenthesis:!1,placeOpenBraceOnNewLineForFunctions:!1,placeOpenBraceOnNewLineForControlBlocks:!1,semicolons:Y.Ignore,trimTrailingWhitespace:!0}}e.getDefaultFormatCodeSettings=ce,e.testFormatSettings=ce(` +`);var Z;(function(M){M[M.aliasName=0]="aliasName",M[M.className=1]="className",M[M.enumName=2]="enumName",M[M.fieldName=3]="fieldName",M[M.interfaceName=4]="interfaceName",M[M.keyword=5]="keyword",M[M.lineBreak=6]="lineBreak",M[M.numericLiteral=7]="numericLiteral",M[M.stringLiteral=8]="stringLiteral",M[M.localName=9]="localName",M[M.methodName=10]="methodName",M[M.moduleName=11]="moduleName",M[M.operator=12]="operator",M[M.parameterName=13]="parameterName",M[M.propertyName=14]="propertyName",M[M.punctuation=15]="punctuation",M[M.space=16]="space",M[M.text=17]="text",M[M.typeParameterName=18]="typeParameterName",M[M.enumMemberName=19]="enumMemberName",M[M.functionName=20]="functionName",M[M.regularExpressionLiteral=21]="regularExpressionLiteral",M[M.link=22]="link",M[M.linkName=23]="linkName",M[M.linkText=24]="linkText"})(Z=e.SymbolDisplayPartKind||(e.SymbolDisplayPartKind={}));var ie;(function(M){M[M.None=0]="None",M[M.MayIncludeAutoImports=1]="MayIncludeAutoImports",M[M.IsImportStatementCompletion=2]="IsImportStatementCompletion",M[M.IsContinuation=4]="IsContinuation",M[M.ResolvedModuleSpecifiers=8]="ResolvedModuleSpecifiers",M[M.ResolvedModuleSpecifiersBeyondLimit=16]="ResolvedModuleSpecifiersBeyondLimit",M[M.MayIncludeMethodSnippets=32]="MayIncludeMethodSnippets"})(ie=e.CompletionInfoFlags||(e.CompletionInfoFlags={}));var te;(function(M){M.Comment="comment",M.Region="region",M.Code="code",M.Imports="imports"})(te=e.OutliningSpanKind||(e.OutliningSpanKind={}));var x;(function(M){M[M.JavaScript=0]="JavaScript",M[M.SourceMap=1]="SourceMap",M[M.Declaration=2]="Declaration"})(x=e.OutputFileType||(e.OutputFileType={}));var J;(function(M){M[M.None=0]="None",M[M.InMultiLineCommentTrivia=1]="InMultiLineCommentTrivia",M[M.InSingleQuoteStringLiteral=2]="InSingleQuoteStringLiteral",M[M.InDoubleQuoteStringLiteral=3]="InDoubleQuoteStringLiteral",M[M.InTemplateHeadOrNoSubstitutionTemplate=4]="InTemplateHeadOrNoSubstitutionTemplate",M[M.InTemplateMiddleOrTail=5]="InTemplateMiddleOrTail",M[M.InTemplateSubstitutionPosition=6]="InTemplateSubstitutionPosition"})(J=e.EndOfLineState||(e.EndOfLineState={}));var d;(function(M){M[M.Punctuation=0]="Punctuation",M[M.Keyword=1]="Keyword",M[M.Operator=2]="Operator",M[M.Comment=3]="Comment",M[M.Whitespace=4]="Whitespace",M[M.Identifier=5]="Identifier",M[M.NumberLiteral=6]="NumberLiteral",M[M.BigIntLiteral=7]="BigIntLiteral",M[M.StringLiteral=8]="StringLiteral",M[M.RegExpLiteral=9]="RegExpLiteral"})(d=e.TokenClass||(e.TokenClass={}));var D;(function(M){M.unknown="",M.warning="warning",M.keyword="keyword",M.scriptElement="script",M.moduleElement="module",M.classElement="class",M.localClassElement="local class",M.interfaceElement="interface",M.typeElement="type",M.enumElement="enum",M.enumMemberElement="enum member",M.variableElement="var",M.localVariableElement="local var",M.functionElement="function",M.localFunctionElement="local function",M.memberFunctionElement="method",M.memberGetAccessorElement="getter",M.memberSetAccessorElement="setter",M.memberVariableElement="property",M.memberAccessorVariableElement="accessor",M.constructorImplementationElement="constructor",M.callSignatureElement="call",M.indexSignatureElement="index",M.constructSignatureElement="construct",M.parameterElement="parameter",M.typeParameterElement="type parameter",M.primitiveType="primitive type",M.label="label",M.alias="alias",M.constElement="const",M.letElement="let",M.directory="directory",M.externalModuleName="external module name",M.jsxAttribute="JSX attribute",M.string="string",M.link="link",M.linkName="link name",M.linkText="link text"})(D=e.ScriptElementKind||(e.ScriptElementKind={}));var C;(function(M){M.none="",M.publicMemberModifier="public",M.privateMemberModifier="private",M.protectedMemberModifier="protected",M.exportedModifier="export",M.ambientModifier="declare",M.staticModifier="static",M.abstractModifier="abstract",M.optionalModifier="optional",M.deprecatedModifier="deprecated",M.dtsModifier=".d.ts",M.tsModifier=".ts",M.tsxModifier=".tsx",M.jsModifier=".js",M.jsxModifier=".jsx",M.jsonModifier=".json",M.dmtsModifier=".d.mts",M.mtsModifier=".mts",M.mjsModifier=".mjs",M.dctsModifier=".d.cts",M.ctsModifier=".cts",M.cjsModifier=".cjs"})(C=e.ScriptElementKindModifier||(e.ScriptElementKindModifier={}));var k;(function(M){M.comment="comment",M.identifier="identifier",M.keyword="keyword",M.numericLiteral="number",M.bigintLiteral="bigint",M.operator="operator",M.stringLiteral="string",M.whiteSpace="whitespace",M.text="text",M.punctuation="punctuation",M.className="class name",M.enumName="enum name",M.interfaceName="interface name",M.moduleName="module name",M.typeParameterName="type parameter name",M.typeAliasName="type alias name",M.parameterName="parameter name",M.docCommentTagName="doc comment tag name",M.jsxOpenTagName="jsx open tag name",M.jsxCloseTagName="jsx close tag name",M.jsxSelfClosingTagName="jsx self closing tag name",M.jsxAttribute="jsx attribute",M.jsxText="jsx text",M.jsxAttributeStringLiteralValue="jsx attribute string literal value"})(k=e.ClassificationTypeNames||(e.ClassificationTypeNames={}));var R;(function(M){M[M.comment=1]="comment",M[M.identifier=2]="identifier",M[M.keyword=3]="keyword",M[M.numericLiteral=4]="numericLiteral",M[M.operator=5]="operator",M[M.stringLiteral=6]="stringLiteral",M[M.regularExpressionLiteral=7]="regularExpressionLiteral",M[M.whiteSpace=8]="whiteSpace",M[M.text=9]="text",M[M.punctuation=10]="punctuation",M[M.className=11]="className",M[M.enumName=12]="enumName",M[M.interfaceName=13]="interfaceName",M[M.moduleName=14]="moduleName",M[M.typeParameterName=15]="typeParameterName",M[M.typeAliasName=16]="typeAliasName",M[M.parameterName=17]="parameterName",M[M.docCommentTagName=18]="docCommentTagName",M[M.jsxOpenTagName=19]="jsxOpenTagName",M[M.jsxCloseTagName=20]="jsxCloseTagName",M[M.jsxSelfClosingTagName=21]="jsxSelfClosingTagName",M[M.jsxAttribute=22]="jsxAttribute",M[M.jsxText=23]="jsxText",M[M.jsxAttributeStringLiteralValue=24]="jsxAttributeStringLiteralValue",M[M.bigintLiteral=25]="bigintLiteral"})(R=e.ClassificationType||(e.ClassificationType={}))})(fr||(fr={}));var fr;(function(e){e.scanner=e.createScanner(99,!0);var i;(function(de){de[de.None=0]="None",de[de.Value=1]="Value",de[de.Type=2]="Type",de[de.Namespace=4]="Namespace",de[de.All=7]="All"})(i=e.SemanticMeaning||(e.SemanticMeaning={}));function l(de){switch(de.kind){case 257:return e.isInJSFile(de)&&e.getJSDocEnumTag(de)?7:1;case 166:case 205:case 169:case 168:case 299:case 300:case 171:case 170:case 173:case 174:case 175:case 259:case 215:case 216:case 295:case 288:return 1;case 165:case 261:case 262:case 184:return 2;case 348:return de.name===void 0?3:2;case 302:case 260:return 3;case 264:return e.isAmbientModule(de)||e.getModuleInstanceState(de)===1?5:4;case 263:case 272:case 273:case 268:case 269:case 274:case 275:return 7;case 308:return 5}return 7}e.getMeaningFromDeclaration=l;function _(de){de=wr(de);var sr=de.parent;return de.kind===308?1:e.isExportAssignment(sr)||e.isExportSpecifier(sr)||e.isExternalModuleReference(sr)||e.isImportSpecifier(sr)||e.isImportClause(sr)||e.isImportEqualsDeclaration(sr)&&de===sr.name?7:p(de)?h(de):e.isDeclarationName(de)?l(sr):e.isEntityName(de)&&e.findAncestor(de,e.or(e.isJSDocNameReference,e.isJSDocLinkLike,e.isJSDocMemberName))?7:g(de)?2:P(de)?4:e.isTypeParameterDeclaration(sr)?(e.Debug.assert(e.isJSDocTemplateTag(sr.parent)),2):e.isLiteralTypeNode(sr)?3:1}e.getMeaningFromLocation=_;function h(de){var sr=de.kind===163?de:e.isQualifiedName(de.parent)&&de.parent.right===de?de.parent:void 0;return sr&&sr.parent.kind===268?7:4}function p(de){for(;de.parent.kind===163;)de=de.parent;return e.isInternalModuleImportEqualsDeclaration(de.parent)&&de.parent.moduleReference===de}e.isInRightSideOfInternalImportEqualsDeclaration=p;function P(de){return z(de)||U(de)}function z(de){var sr=de,Er=!0;if(sr.parent.kind===163){for(;sr.parent&&sr.parent.kind===163;)sr=sr.parent;Er=sr.right===de}return sr.parent.kind===180&&!Er}function U(de){var sr=de,Er=!0;if(sr.parent.kind===208){for(;sr.parent&&sr.parent.kind===208;)sr=sr.parent;Er=sr.name===de}if(!Er&&sr.parent.kind===230&&sr.parent.parent.kind===294){var Fn=sr.parent.parent.parent;return Fn.kind===260&&sr.parent.parent.token===117||Fn.kind===261&&sr.parent.parent.token===94}return!1}function g(de){switch(e.isRightSideOfQualifiedNameOrPropertyAccess(de)&&(de=de.parent),de.kind){case 108:return!e.isExpressionNode(de);case 194:return!0}switch(de.parent.kind){case 180:return!0;case 202:return!de.parent.isTypeOf;case 230:return e.isPartOfTypeNode(de.parent)}return!1}function v(de,sr,Er){return sr===void 0&&(sr=!1),Er===void 0&&(Er=!1),D(de,e.isCallExpression,x,sr,Er)}e.isCallExpressionTarget=v;function Y(de,sr,Er){return sr===void 0&&(sr=!1),Er===void 0&&(Er=!1),D(de,e.isNewExpression,x,sr,Er)}e.isNewExpressionTarget=Y;function ce(de,sr,Er){return sr===void 0&&(sr=!1),Er===void 0&&(Er=!1),D(de,e.isCallOrNewExpression,x,sr,Er)}e.isCallOrNewExpressionTarget=ce;function Z(de,sr,Er){return sr===void 0&&(sr=!1),Er===void 0&&(Er=!1),D(de,e.isTaggedTemplateExpression,J,sr,Er)}e.isTaggedTemplateTag=Z;function ie(de,sr,Er){return sr===void 0&&(sr=!1),Er===void 0&&(Er=!1),D(de,e.isDecorator,x,sr,Er)}e.isDecoratorTarget=ie;function te(de,sr,Er){return sr===void 0&&(sr=!1),Er===void 0&&(Er=!1),D(de,e.isJsxOpeningLikeElement,d,sr,Er)}e.isJsxOpeningLikeElementTagName=te;function x(de){return de.expression}function J(de){return de.tag}function d(de){return de.tagName}function D(de,sr,Er,Fn,Si){var mt=Fn?k(de):C(de);return Si&&(mt=e.skipOuterExpressions(mt)),!!mt&&!!mt.parent&&sr(mt.parent)&&Er(mt.parent)===mt}function C(de){return q(de)?de.parent:de}e.climbPastPropertyAccess=C;function k(de){return q(de)||b(de)?de.parent:de}e.climbPastPropertyOrElementAccess=k;function R(de,sr){for(;de;){if(de.kind===253&&de.label.escapedText===sr)return de.label;de=de.parent}}e.getTargetLabel=R;function M(de,sr){return e.isPropertyAccessExpression(de.expression)?de.expression.name.text===sr:!1}e.hasPropertyAccessExpressionWithName=M;function ge(de){var sr;return e.isIdentifier(de)&&((sr=e.tryCast(de.parent,e.isBreakOrContinueStatement))===null||sr===void 0?void 0:sr.label)===de}e.isJumpStatementTarget=ge;function ve(de){var sr;return e.isIdentifier(de)&&((sr=e.tryCast(de.parent,e.isLabeledStatement))===null||sr===void 0?void 0:sr.label)===de}e.isLabelOfLabeledStatement=ve;function re(de){return ve(de)||ge(de)}e.isLabelName=re;function N(de){var sr;return((sr=e.tryCast(de.parent,e.isJSDocTag))===null||sr===void 0?void 0:sr.tagName)===de}e.isTagName=N;function K(de){var sr;return((sr=e.tryCast(de.parent,e.isQualifiedName))===null||sr===void 0?void 0:sr.right)===de}e.isRightSideOfQualifiedName=K;function q(de){var sr;return((sr=e.tryCast(de.parent,e.isPropertyAccessExpression))===null||sr===void 0?void 0:sr.name)===de}e.isRightSideOfPropertyAccess=q;function b(de){var sr;return((sr=e.tryCast(de.parent,e.isElementAccessExpression))===null||sr===void 0?void 0:sr.argumentExpression)===de}e.isArgumentExpressionOfElementAccess=b;function F(de){var sr;return((sr=e.tryCast(de.parent,e.isModuleDeclaration))===null||sr===void 0?void 0:sr.name)===de}e.isNameOfModuleDeclaration=F;function Q(de){var sr;return e.isIdentifier(de)&&((sr=e.tryCast(de.parent,e.isFunctionLike))===null||sr===void 0?void 0:sr.name)===de}e.isNameOfFunctionDeclaration=Q;function j(de){switch(de.parent.kind){case 169:case 168:case 299:case 302:case 171:case 170:case 174:case 175:case 264:return e.getNameOfDeclaration(de.parent)===de;case 209:return de.parent.argumentExpression===de;case 164:return!0;case 198:return de.parent.parent.kind===196;default:return!1}}e.isLiteralNameOfPropertyDeclarationOrIndexAccess=j;function I(de){return e.isExternalModuleImportEqualsDeclaration(de.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(de.parent.parent)===de}e.isExpressionOfExternalModuleImportEqualsDeclaration=I;function L(de){for(e.isJSDocTypeAlias(de)&&(de=de.parent.parent);;){if(de=de.parent,!de)return;switch(de.kind){case 308:case 171:case 170:case 259:case 215:case 174:case 175:case 260:case 261:case 263:case 264:return de}}}e.getContainerNode=L;function V(de){switch(de.kind){case 308:return e.isExternalModule(de)?"module":"script";case 264:return"module";case 260:case 228:return"class";case 261:return"interface";case 262:case 341:case 348:return"type";case 263:return"enum";case 257:return Ut(de);case 205:return Ut(e.getRootDeclaration(de));case 216:case 259:case 215:return"function";case 174:return"getter";case 175:return"setter";case 171:case 170:return"method";case 299:var sr=de.initializer;return e.isFunctionLike(sr)?"method":"property";case 169:case 168:case 300:case 301:return"property";case 178:return"index";case 177:return"construct";case 176:return"call";case 173:case 172:return"constructor";case 165:return"type parameter";case 302:return"enum member";case 166:return e.hasSyntacticModifier(de,16476)?"property":"parameter";case 268:case 273:case 278:case 271:case 277:return"alias";case 223:var Er=e.getAssignmentDeclarationKind(de),Fn=de.right;switch(Er){case 7:case 8:case 9:case 0:return"";case 1:case 2:var Si=V(Fn);return Si===""?"const":Si;case 3:return e.isFunctionExpression(Fn)?"method":"property";case 4:return"property";case 5:return e.isFunctionExpression(Fn)?"method":"property";case 6:return"local class";default:return e.assertType(Er),""}case 79:return e.isImportClause(de.parent)?"alias":"";case 274:var mt=V(de.expression);return mt===""?"const":mt;default:return""}function Ut(_a){return e.isVarConst(_a)?"const":e.isLet(_a)?"let":"var"}}e.getNodeKind=V;function ne(de){switch(de.kind){case 108:return!0;case 79:return e.identifierIsThisKeyword(de)&&de.parent.kind===166;default:return!1}}e.isThis=ne;var se=/^\/\/\/\s*=Er.end}e.startEndContainsRange=W;function u(de,sr,Er){return de.pos<=sr&&de.end>=Er}e.rangeContainsStartEnd=u;function O(de,sr,Er){return G(de.pos,de.end,sr,Er)}e.rangeOverlapsWithStartEnd=O;function B(de,sr,Er,Fn){return G(de.getStart(sr),de.end,Er,Fn)}e.nodeOverlapsWithStartEnd=B;function G(de,sr,Er,Fn){var Si=Math.max(de,Er),mt=Math.min(sr,Fn);return Sisr?1:io(Po[Qa],Ds,qo)?Po[Qa-1]&&io(Po[Qa-1])?1:0:Fn&&Ds===sr&&Po[Qa-1]&&Po[Qa-1].getEnd()===sr&&io(Po[Qa-1])?1:-1});return Ut?{value:Ut}:Ma>=0&&Po[Ma]?(mt=Po[Ma],"continue-outer"):{value:mt}};e:for(;;){var $a=_a();if(typeof $a=="object")return $a.value;switch($a){case"continue-outer":continue e}}function io(Po,Ma,Qa){if(Qa??(Qa=Po.getEnd()),Qasr))return!1;if(srEr.getStart(de)&&srde.end||mt.pos===de.end;return Ut&&Fe(mt,Er)?Fn(mt):void 0})}}e.findNextToken=kr;function jr(de,sr,Er,Fn){var Si=mt(Er||sr);return e.Debug.assert(!(Si&&or(Si))),Si;function mt(Ut){if(Cr(Ut)&&Ut.kind!==1)return Ut;var _a=Ut.getChildren(sr),$a=e.binarySearchKey(_a,de,function(qo,Ds){return Ds},function(qo,Ds){return de<_a[qo].end?!_a[qo-1]||de>=_a[qo-1].end?0:1:-1});if($a>=0&&_a[$a]){var io=_a[$a];if(de=de||!Fe(io,sr)||or(io);if(Ma){var Qa=Lr(_a,$a,sr,Ut.kind);return Qa&&en(Qa,sr)}else return mt(io)}}e.Debug.assert(Er!==void 0||Ut.kind===308||Ut.kind===1||e.isJSDocCommentContainingNode(Ut));var Go=Lr(_a,_a.length,sr,Ut.kind);return Go&&en(Go,sr)}}e.findPrecedingToken=jr;function Cr(de){return e.isToken(de)&&!or(de)}function en(de,sr){if(Cr(de))return de;var Er=de.getChildren(sr);if(Er.length===0)return de;var Fn=Lr(Er,Er.length,sr,de.kind);return Fn&&en(Fn,sr)}function Lr(de,sr,Er,Fn){for(var Si=sr-1;Si>=0;Si--){var mt=de[Si];if(or(mt))Si===0&&(Fn===11||Fn===282)&&e.Debug.fail("`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`");else if(Fe(de[Si],Er))return de[Si]}}function pn(de,sr,Er){if(Er===void 0&&(Er=jr(sr,de)),Er&&e.isStringTextContainingNode(Er)){var Fn=Er.getStart(de),Si=Er.getEnd();if(FnEr.getStart(de)}e.isInTemplateString=Pe;function Ve(de,sr){var Er=qr(de,sr);return!!(e.isJsxText(Er)||Er.kind===18&&e.isJsxExpression(Er.parent)&&e.isJsxElement(Er.parent.parent)||Er.kind===29&&e.isJsxOpeningLikeElement(Er.parent)&&e.isJsxElement(Er.parent.parent))}e.isInJSXText=Ve;function Ar(de,sr){function Er(Fn){for(;Fn;)if(Fn.kind>=282&&Fn.kind<=291||Fn.kind===11||Fn.kind===29||Fn.kind===31||Fn.kind===79||Fn.kind===19||Fn.kind===18||Fn.kind===43)Fn=Fn.parent;else if(Fn.kind===281){if(sr>Fn.getStart(de))return!0;Fn=Fn.parent}else return!1;return!1}return Er(qr(de,sr))}e.isInsideJsxElement=Ar;function ke(de,sr,Er){var Fn=e.tokenToString(de.kind),Si=e.tokenToString(sr),mt=de.getFullStart(),Ut=Er.text.lastIndexOf(Si,mt);if(Ut!==-1){if(Er.text.lastIndexOf(Fn,mt-1)=sr})}e.getPossibleGenericSignatures=Rr;function $r(de,sr){if(sr.text.lastIndexOf("<",de?de.pos:sr.text.length)!==-1)for(var Er=de,Fn=0,Si=0;Er;){switch(Er.kind){case 29:if(Er=jr(Er.getFullStart(),sr),Er&&Er.kind===28&&(Er=jr(Er.getFullStart(),sr)),!Er||!e.isIdentifier(Er))return;if(!Fn)return e.isDeclarationName(Er)?void 0:{called:Er,nTypeArguments:Si};Fn--;break;case 49:Fn=3;break;case 48:Fn=2;break;case 31:Fn++;break;case 19:if(Er=ke(Er,18,sr),!Er)return;break;case 21:if(Er=ke(Er,20,sr),!Er)return;break;case 23:if(Er=ke(Er,22,sr),!Er)return;break;case 27:Si++;break;case 38:case 79:case 10:case 8:case 9:case 110:case 95:case 112:case 94:case 141:case 24:case 51:case 57:case 58:break;default:if(e.isTypeNode(Er))break;return}Er=jr(Er.getFullStart(),sr)}}e.getPossibleTypeArgumentsInfo=$r;function nn(de,sr,Er){return e.formatting.getRangeOfEnclosingComment(de,sr,void 0,Er)}e.isInComment=nn;function vn(de,sr){var Er=qr(de,sr);return!!e.findAncestor(Er,e.isJSDoc)}e.hasDocComment=vn;function Fe(de,sr){return de.kind===1?!!de.jsDoc:de.getWidth(sr)!==0}function Ge(de,sr){sr===void 0&&(sr=0);var Er=[],Fn=e.isDeclaration(de)?e.getCombinedNodeFlagsAlwaysIncludeJSDoc(de)&~sr:0;return Fn&8&&Er.push("private"),Fn&16&&Er.push("protected"),Fn&4&&Er.push("public"),(Fn&32||e.isClassStaticBlockDeclaration(de))&&Er.push("static"),Fn&256&&Er.push("abstract"),Fn&1&&Er.push("export"),Fn&8192&&Er.push("deprecated"),de.flags&16777216&&Er.push("declare"),de.kind===274&&Er.push("export"),Er.length>0?Er.join(","):""}e.getNodeModifiers=Ge;function xr(de){if(de.kind===180||de.kind===210)return de.typeArguments;if(e.isFunctionLike(de)||de.kind===260||de.kind===261)return de.typeParameters}e.getTypeArgumentOrTypeParameterList=xr;function Ur(de){return de===2||de===3}e.isComment=Ur;function En(de){return!!(de===10||de===13||e.isTemplateLiteralKind(de))}e.isStringOrRegularExpressionOrTemplateLiteral=En;function Nn(de){return 18<=de&&de<=78}e.isPunctuation=Nn;function Zn(de,sr,Er){return e.isTemplateLiteralKind(de.kind)&&de.getStart(Er)=2||!!de.noEmit}e.compilerOptionsIndicateEsModules=ai;function Ki(de,sr){return{fileExists:function(Er){return de.fileExists(Er)},getCurrentDirectory:function(){return sr.getCurrentDirectory()},readFile:e.maybeBind(sr,sr.readFile),useCaseSensitiveFileNames:e.maybeBind(sr,sr.useCaseSensitiveFileNames),getSymlinkCache:e.maybeBind(sr,sr.getSymlinkCache)||de.getSymlinkCache,getModuleSpecifierCache:e.maybeBind(sr,sr.getModuleSpecifierCache),getPackageJsonInfoCache:function(){var Er;return(Er=de.getModuleResolutionCache())===null||Er===void 0?void 0:Er.getPackageJsonInfoCache()},getGlobalTypingsCacheLocation:e.maybeBind(sr,sr.getGlobalTypingsCacheLocation),redirectTargetsMap:de.redirectTargetsMap,getProjectReferenceRedirect:function(Er){return de.getProjectReferenceRedirect(Er)},isSourceOfProjectReferenceRedirect:function(Er){return de.isSourceOfProjectReferenceRedirect(Er)},getNearestAncestorDirectoryWithPackageJson:e.maybeBind(sr,sr.getNearestAncestorDirectoryWithPackageJson),getFileIncludeReasons:function(){return de.getFileIncludeReasons()}}}e.createModuleSpecifierResolutionHost=Ki;function Ni(de,sr){return Ri(Ri({},Ki(de,sr)),{getCommonSourceDirectory:function(){return de.getCommonSourceDirectory()}})}e.getModuleSpecifierResolverHost=Ni;function mi(de){return de>=e.ModuleResolutionKind.Node16&&de<=e.ModuleResolutionKind.NodeNext}e.moduleResolutionRespectsExports=mi;function Pn(de){return de===e.ModuleResolutionKind.NodeJs||de>=e.ModuleResolutionKind.Node16&&de<=e.ModuleResolutionKind.NodeNext}e.moduleResolutionUsesNodeModules=Pn;function we(de,sr,Er,Fn){return de||sr&&sr.length?Ir(de,sr,Er,Fn):void 0}e.makeImportIfNecessary=we;function Ir(de,sr,Er,Fn,Si){return e.factory.createImportDeclaration(void 0,de||sr?e.factory.createImportClause(!!Si,de,sr&&sr.length?e.factory.createNamedImports(sr):void 0):void 0,typeof Er=="string"?Re(Er,Fn):Er,void 0)}e.makeImport=Ir;function Re(de,sr){return e.factory.createStringLiteral(de,sr===0)}e.makeStringLiteral=Re;var yn;(function(de){de[de.Single=0]="Single",de[de.Double=1]="Double"})(yn=e.QuotePreference||(e.QuotePreference={}));function Un(de,sr){return e.isStringDoubleQuoted(de,sr)?1:0}e.quotePreferenceFromString=Un;function gn(de,sr){if(sr.quotePreference&&sr.quotePreference!=="auto")return sr.quotePreference==="single"?0:1;var Er=de.imports&&e.find(de.imports,function(Fn){return e.isStringLiteral(Fn)&&!e.nodeIsSynthesized(Fn.parent)});return Er?Un(Er,de):1}e.getQuotePreference=gn;function rn(de){switch(de){case 0:return"'";case 1:return'"';default:return e.Debug.assertNever(de)}}e.getQuoteFromPreference=rn;function xn(de){var sr=Dn(de);return sr===void 0?void 0:e.unescapeLeadingUnderscores(sr)}e.symbolNameNoDefault=xn;function Dn(de){return de.escapedName!=="default"?de.escapedName:e.firstDefined(de.declarations,function(sr){var Er=e.getNameOfDeclaration(sr);return Er&&Er.kind===79?Er.escapedText:void 0})}e.symbolEscapedNameNoDefault=Dn;function On(de){return e.isStringLiteralLike(de)&&(e.isExternalModuleReference(de.parent)||e.isImportDeclaration(de.parent)||e.isRequireCall(de.parent,!1)&&de.parent.arguments[0]===de||e.isImportCall(de.parent)&&de.parent.arguments[0]===de)}e.isModuleSpecifierLike=On;function Qn(de){return e.isBindingElement(de)&&e.isObjectBindingPattern(de.parent)&&e.isIdentifier(de.name)&&!de.propertyName}e.isObjectBindingElementWithoutPropertyName=Qn;function Ke(de,sr){var Er=de.getTypeAtLocation(sr.parent);return Er&&de.getPropertyOfType(Er,sr.name.text)}e.getPropertySymbolFromBindingElement=Ke;function cn(de,sr,Er){if(de)for(;de.parent;){if(e.isSourceFile(de.parent)||!Vn(Er,de.parent,sr))return de;de=de.parent}}e.getParentNodeInSpan=cn;function Vn(de,sr,Er){return e.textSpanContainsPosition(de,sr.getStart(Er))&&sr.getEnd()<=e.textSpanEnd(de)}function $i(de,sr){return e.canHaveModifiers(de)?e.find(de.modifiers,function(Er){return Er.kind===sr}):void 0}e.findModifier=$i;function pt(de,sr,Er,Fn){var Si=e.isArray(Er)?Er[0]:Er,mt=Si.kind===240?e.isRequireVariableStatement:e.isAnyImportSyntax,Ut=e.filter(sr.statements,mt),_a=e.isArray(Er)?e.stableSort(Er,e.OrganizeImports.compareImportsOrRequireStatements):[Er];if(!Ut.length)de.insertNodesAtTopOfFile(sr,_a,Fn);else if(Ut&&e.OrganizeImports.importsAreSorted(Ut))for(var $a=0,io=_a;$ade&&Ma&&Ma!=="..."&&(e.isWhiteSpaceLike(Ma.charCodeAt(Ma.length-1))||sr.push(Na(" ",e.SymbolDisplayPartKind.space)),sr.push(Na("...",e.SymbolDisplayPartKind.punctuation))),sr},writeKeyword:function(Ma){return _a(Ma,e.SymbolDisplayPartKind.keyword)},writeOperator:function(Ma){return _a(Ma,e.SymbolDisplayPartKind.operator)},writePunctuation:function(Ma){return _a(Ma,e.SymbolDisplayPartKind.punctuation)},writeTrailingSemicolon:function(Ma){return _a(Ma,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(Ma){return _a(Ma,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(Ma){return _a(Ma,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(Ma){return _a(Ma,e.SymbolDisplayPartKind.parameterName)},writeProperty:function(Ma){return _a(Ma,e.SymbolDisplayPartKind.propertyName)},writeLiteral:function(Ma){return _a(Ma,e.SymbolDisplayPartKind.stringLiteral)},writeSymbol:$a,writeLine:io,write:mt,writeComment:mt,getText:function(){return""},getTextPos:function(){return 0},getColumn:function(){return 0},getLine:function(){return 0},isAtStartOfLine:function(){return!1},hasTrailingWhitespace:function(){return!1},hasTrailingComment:function(){return!1},rawWrite:e.notImplemented,getIndent:function(){return Fn},increaseIndent:function(){Fn++},decreaseIndent:function(){Fn--},clear:Po,trackSymbol:function(){return!1},reportInaccessibleThisError:e.noop,reportInaccessibleUniqueSymbolError:e.noop,reportPrivateInBaseOfClassExpression:e.noop};function Ut(){if(!(Si>de)&&Er){var Ma=e.getIndentString(Fn);Ma&&(Si+=Ma.length,sr.push(Na(Ma,e.SymbolDisplayPartKind.space))),Er=!1}}function _a(Ma,Qa){Si>de||(Ut(),Si+=Ma.length,sr.push(Na(Ma,Qa)))}function $a(Ma,Qa){Si>de||(Ut(),Si+=Ma.length,sr.push(So(Ma,Qa)))}function io(){Si>de||(Si+=1,sr.push(An()),Er=!0)}function Po(){sr=[],Er=!0,Fn=0,Si=0}}function So(de,sr){return Na(de,Er(sr));function Er(Fn){var Si=Fn.flags;return Si&3?Wa(Fn)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName:Si&4||Si&32768||Si&65536?e.SymbolDisplayPartKind.propertyName:Si&8?e.SymbolDisplayPartKind.enumMemberName:Si&16?e.SymbolDisplayPartKind.functionName:Si&32?e.SymbolDisplayPartKind.className:Si&64?e.SymbolDisplayPartKind.interfaceName:Si&384?e.SymbolDisplayPartKind.enumName:Si&1536?e.SymbolDisplayPartKind.moduleName:Si&8192?e.SymbolDisplayPartKind.methodName:Si&262144?e.SymbolDisplayPartKind.typeParameterName:Si&524288||Si&2097152?e.SymbolDisplayPartKind.aliasName:e.SymbolDisplayPartKind.text}}e.symbolPart=So;function Na(de,sr){return{text:de,kind:e.SymbolDisplayPartKind[sr]}}e.displayPart=Na;function qi(){return Na(" ",e.SymbolDisplayPartKind.space)}e.spacePart=qi;function Xi(de){return Na(e.tokenToString(de),e.SymbolDisplayPartKind.keyword)}e.keywordPart=Xi;function so(de){return Na(e.tokenToString(de),e.SymbolDisplayPartKind.punctuation)}e.punctuationPart=so;function po(de){return Na(e.tokenToString(de),e.SymbolDisplayPartKind.operator)}e.operatorPart=po;function ws(de){return Na(de,e.SymbolDisplayPartKind.parameterName)}e.parameterNamePart=ws;function uo(de){return Na(de,e.SymbolDisplayPartKind.propertyName)}e.propertyNamePart=uo;function ns(de){var sr=e.stringToToken(de);return sr===void 0?Yo(de):Xi(sr)}e.textOrKeywordPart=ns;function Yo(de){return Na(de,e.SymbolDisplayPartKind.text)}e.textPart=Yo;function is(de){return Na(de,e.SymbolDisplayPartKind.aliasName)}e.typeAliasNamePart=is;function No(de){return Na(de,e.SymbolDisplayPartKind.typeParameterName)}e.typeParameterNamePart=No;function _r(de){return Na(de,e.SymbolDisplayPartKind.linkText)}e.linkTextPart=_r;function Or(de,sr){return{text:de,kind:e.SymbolDisplayPartKind[e.SymbolDisplayPartKind.linkName],target:{fileName:e.getSourceFileOfNode(sr).fileName,textSpan:Ne(sr)}}}e.linkNamePart=Or;function hi(de){return Na(de,e.SymbolDisplayPartKind.link)}e.linkPart=hi;function bt(de,sr){var Er,Fn=e.isJSDocLink(de)?"link":e.isJSDocLinkCode(de)?"linkcode":"linkplain",Si=[hi("{@".concat(Fn," "))];if(!de.name)de.text&&Si.push(_r(de.text));else{var mt=sr==null?void 0:sr.getSymbolAtLocation(de.name),Ut=Ia(de.text),_a=e.getTextOfNode(de.name)+de.text.slice(0,Ut),$a=Mt(de.text.slice(Ut)),io=(mt==null?void 0:mt.valueDeclaration)||((Er=mt==null?void 0:mt.declarations)===null||Er===void 0?void 0:Er[0]);io?(Si.push(Or(_a,io)),$a&&Si.push(_r($a))):Si.push(_r(_a+(Ut||$a.indexOf("://")===0?"":" ")+$a))}return Si.push(hi("}")),Si}e.buildLinkParts=bt;function Mt(de){var sr=0;if(de.charCodeAt(sr++)===124){for(;sr"&&sr--,Er++,!sr)return Er;return 0}var qe=`\r +`;function tn(de,sr){var Er;return(sr==null?void 0:sr.newLineCharacter)||((Er=de.getNewLine)===null||Er===void 0?void 0:Er.call(de))||qe}e.getNewLineOrDefaultFromHost=tn;function An(){return Na(` +`,e.SymbolDisplayPartKind.lineBreak)}e.lineBreakPart=An;function wn(de){try{return de(Ao),Ao.displayParts()}finally{Ao.clear()}}e.mapToDisplayParts=wn;function je(de,sr,Er,Fn){return Fn===void 0&&(Fn=0),wn(function(Si){de.writeType(sr,Er,Fn|1024|16384,Si)})}e.typeToDisplayParts=je;function ur(de,sr,Er,Fn,Si){return Si===void 0&&(Si=0),wn(function(mt){de.writeSymbol(sr,Er,Fn,Si|8,mt)})}e.symbolToDisplayParts=ur;function hr(de,sr,Er,Fn){return Fn===void 0&&(Fn=0),Fn|=25632,wn(function(Si){de.writeSignature(sr,Er,Fn,void 0,Si)})}e.signatureToDisplayParts=hr;function Br(de,sr){var Er=sr.getSourceFile();return wn(function(Fn){var Si=e.createPrinter({removeComments:!0,omitTrailingSemicolon:!0});Si.writeNode(4,de,Er,Fn)})}e.nodeToDisplayParts=Br;function Mn(de){return!!de.parent&&e.isImportOrExportSpecifier(de.parent)&&de.parent.propertyName===de}e.isImportOrExportSpecifierName=Mn;function di(de,sr){return e.ensureScriptKind(de,sr.getScriptKind&&sr.getScriptKind(de))}e.getScriptKind=di;function pi(de,sr){for(var Er=de;Pt(Er)||_i(Er)&&Er.target;)_i(Er)&&Er.target?Er=Er.target:Er=e.skipAlias(Er,sr);return Er}e.getSymbolTarget=pi;function _i(de){return(de.flags&33554432)!==0}function Pt(de){return(de.flags&2097152)!==0}function Gt(de,sr){return e.getSymbolId(e.skipAlias(de,sr))}e.getUniqueSymbolId=Gt;function fa(de,sr){for(;e.isWhiteSpaceLike(de.charCodeAt(sr));)sr+=1;return sr}e.getFirstNonSpaceCharacterPosition=fa;function ia(de,sr){for(;sr>-1&&e.isWhiteSpaceSingleLine(de.charCodeAt(sr));)sr-=1;return sr+1}e.getPrecedingNonSpaceCharacterPosition=ia;function wa(de,sr){sr===void 0&&(sr=!0);var Er=de&&vs(de);return Er&&!sr&&Ps(Er),Er}e.getSynthesizedDeepClone=wa;function Es(de,sr,Er){var Fn=Er(de);return Fn?e.setOriginalNode(Fn,de):Fn=vs(de,Er),Fn&&!sr&&Ps(Fn),Fn}e.getSynthesizedDeepCloneWithReplacements=Es;function vs(de,sr){var Er=sr?function(Ut){return Es(Ut,!0,sr)}:wa,Fn=sr?function(Ut){return Ut&&cc(Ut,!0,sr)}:function(Ut){return Ut&&hs(Ut)},Si=e.visitEachChild(de,Er,e.nullTransformationContext,Fn,Er);if(Si===de){var mt=e.isStringLiteral(de)?e.setOriginalNode(e.factory.createStringLiteralFromNode(de),de):e.isNumericLiteral(de)?e.setOriginalNode(e.factory.createNumericLiteral(de.text,de.numericLiteralFlags),de):e.factory.cloneNode(de);return e.setTextRange(mt,de)}return Si.parent=void 0,Si}function hs(de,sr){return sr===void 0&&(sr=!0),de&&e.factory.createNodeArray(de.map(function(Er){return wa(Er,sr)}),de.hasTrailingComma)}e.getSynthesizedDeepClones=hs;function cc(de,sr,Er){return e.factory.createNodeArray(de.map(function(Fn){return Es(Fn,sr,Er)}),de.hasTrailingComma)}e.getSynthesizedDeepClonesWithReplacements=cc;function Ps(de){cs(de),mc(de)}e.suppressLeadingAndTrailingTrivia=Ps;function cs(de){Ws(de,512,Ec)}e.suppressLeadingTrivia=cs;function mc(de){Ws(de,1024,e.getLastChild)}e.suppressTrailingTrivia=mc;function nc(de,sr){var Er=de.getSourceFile(),Fn=Er.text;vc(de,Fn)?Gs(de,sr,Er):Ts(de,sr,Er),uc(de,sr,Er)}e.copyComments=nc;function vc(de,sr){for(var Er=de.getFullStart(),Fn=de.getStart(),Si=Er;Si=0),mt}e.getRenameLocation=Jc;function Gs(de,sr,Er,Fn,Si){e.forEachLeadingCommentRange(Er.text,de.pos,le(sr,Er,Fn,Si,e.addSyntheticLeadingComment))}e.copyLeadingComments=Gs;function uc(de,sr,Er,Fn,Si){e.forEachTrailingCommentRange(Er.text,de.end,le(sr,Er,Fn,Si,e.addSyntheticTrailingComment))}e.copyTrailingComments=uc;function Ts(de,sr,Er,Fn,Si){e.forEachTrailingCommentRange(Er.text,de.pos,le(sr,Er,Fn,Si,e.addSyntheticLeadingComment))}e.copyTrailingAsLeadingComments=Ts;function le(de,sr,Er,Fn,Si){return function(mt,Ut,_a,$a){_a===3?(mt+=2,Ut-=2):mt+=2,Si(de,Er||_a,sr.text.slice(mt,Ut),Fn!==void 0?Fn:$a)}}function Tr(de,sr){if(e.startsWith(de,sr))return 0;var Er=de.indexOf(" "+sr);return Er===-1&&(Er=de.indexOf("."+sr)),Er===-1&&(Er=de.indexOf('"'+sr)),Er===-1?-1:Er+1}function un(de){return e.isBinaryExpression(de)&&de.operatorToken.kind===27||e.isObjectLiteralExpression(de)||e.isAsExpression(de)&&e.isObjectLiteralExpression(de.expression)}e.needsParentheses=un;function ei(de,sr){var Er=de.parent;switch(Er.kind){case 211:return sr.getContextualType(Er);case 223:{var Fn=Er,Si=Fn.left,mt=Fn.operatorToken,Ut=Fn.right;return ot(mt.kind)?sr.getTypeAtLocation(de===Ut?Si:Ut):sr.getContextualType(de)}case 292:return Er.expression===de?Kt(Er,sr):void 0;default:return sr.getContextualType(de)}}e.getContextualTypeFromParent=ei;function Ii(de,sr,Er){var Fn=gn(de,sr),Si=JSON.stringify(Er);return Fn===0?"'".concat(e.stripQuotes(Si).replace(/'/g,"\\'").replace(/\\"/g,'"'),"'"):Si}e.quote=Ii;function ot(de){switch(de){case 36:case 34:case 37:case 35:return!0;default:return!1}}e.isEqualityOperatorKind=ot;function ji(de){switch(de.kind){case 10:case 14:case 225:case 212:return!0;default:return!1}}e.isStringLiteralOrTemplate=ji;function dt(de){return!!de.getStringIndexType()||!!de.getNumberIndexType()}e.hasIndexSignature=dt;function Kt(de,sr){return sr.getTypeAtLocation(de.parent.parent.expression)}e.getSwitchedType=Kt,e.ANONYMOUS="anonymous function";function Bt(de,sr,Er,Fn){var Si=Er.getTypeChecker(),mt=!0,Ut=function(){return mt=!1},_a=Si.typeToTypeNode(de,sr,1,{trackSymbol:function($a,io,Po){return mt=mt&&Si.isSymbolAccessible($a,io,Po,!1).accessibility===0,!mt},reportInaccessibleThisError:Ut,reportPrivateInBaseOfClassExpression:Ut,reportInaccessibleUniqueSymbolError:Ut,moduleResolverHost:Ni(Er,Fn)});return mt?_a:void 0}e.getTypeNodeIfAccessible=Bt;function ha(de){return de===176||de===177||de===178||de===168||de===170}function He(de){return de===259||de===173||de===171||de===174||de===175}function Cn(de){return de===264}function Nr(de){return de===240||de===241||de===243||de===248||de===249||de===250||de===254||de===256||de===169||de===262||de===269||de===268||de===275||de===267||de===274}e.syntaxRequiresTrailingSemicolonOrASI=Nr,e.syntaxMayBeASICandidate=e.or(ha,He,Cn,Nr);function ma(de,sr){var Er=de.getLastToken(sr);if(Er&&Er.kind===26)return!1;if(ha(de.kind)){if(Er&&Er.kind===27)return!1}else if(Cn(de.kind)){var Fn=e.last(de.getChildren(sr));if(Fn&&e.isModuleBlock(Fn))return!1}else if(He(de.kind)){var Fn=e.last(de.getChildren(sr));if(Fn&&e.isFunctionBlock(Fn))return!1}else if(!Nr(de.kind))return!1;if(de.kind===243)return!0;var Si=e.findAncestor(de,function($a){return!$a.parent}),mt=kr(de,Si,sr);if(!mt||mt.kind===19)return!0;var Ut=sr.getLineAndCharacterOfPosition(de.getEnd()).line,_a=sr.getLineAndCharacterOfPosition(mt.getStart(sr)).line;return Ut!==_a}function Ca(de,sr,Er){var Fn=e.findAncestor(sr,function(Si){return Si.end!==de?"quit":e.syntaxMayBeASICandidate(Si.kind)});return!!Fn&&ma(Fn,Er)}e.positionIsASICandidate=Ca;function lo(de){var sr=0,Er=0,Fn=5;return e.forEachChild(de,function Si(mt){if(Nr(mt.kind)){var Ut=mt.getLastToken(de);(Ut==null?void 0:Ut.kind)===26?sr++:Er++}else if(ha(mt.kind)){var Ut=mt.getLastToken(de);if((Ut==null?void 0:Ut.kind)===26)sr++;else if(Ut&&Ut.kind!==27){var _a=e.getLineAndCharacterOfPosition(de,Ut.getStart(de)).line,$a=e.getLineAndCharacterOfPosition(de,e.getSpanOfTokenAtPosition(de,Ut.end).start).line;_a!==$a&&Er++}}return sr+Er>=Fn?!0:e.forEachChild(mt,Si)}),sr===0&&Er<=1?!0:sr/Er>1/Fn}e.probablyUsesSemicolons=lo;function ys(de,sr){return ic(de,de.getDirectories,sr)||[]}e.tryGetDirectories=ys;function hc(de,sr,Er,Fn,Si){return ic(de,de.readDirectory,sr,Er,Fn,Si)||e.emptyArray}e.tryReadDirectory=hc;function Ms(de,sr){return ic(de,de.fileExists,sr)}e.tryFileExists=Ms;function jc(de,sr){return Ks(function(){return e.directoryProbablyExists(sr,de)})||!1}e.tryDirectoryExists=jc;function Ks(de){try{return de()}catch{return}}e.tryAndIgnoreErrors=Ks;function ic(de,sr){for(var Er=[],Fn=2;Fn"u")return!0;var Tc=e.stripQuotes(Qa.getName());return io(Tc)?!0:mt(Ds)||mt(Tc)}function _a(Qa,Go){if(!Fn.length)return!0;var qo=Po(Qa.fileName,Go);return qo?mt(qo):!0}function $a(Qa){return!Fn.length||io(Qa)||e.pathIsRelative(Qa)||e.isRootedDiskPath(Qa)?!0:mt(Qa)}function io(Qa){return!!(e.isSourceFileJS(de)&&e.JsTyping.nodeCoreModules.has(Qa)&&(Si===void 0&&(Si=tl(de)),Si))}function Po(Qa,Go){if(e.stringContains(Qa,"node_modules")){var qo=e.moduleSpecifiers.getNodeModulesPackageName(Er.getCompilationSettings(),de,Qa,Go,sr);if(qo&&!e.pathIsRelative(qo)&&!e.isRootedDiskPath(qo))return Ma(qo)}}function Ma(Qa){var Go=e.getPathComponents(e.getPackageNameFromTypesPackageName(Qa)).slice(1);return e.startsWith(Go[0],"@")?"".concat(Go[0],"/").concat(Go[1]):Go[0]}}e.createPackageJsonImportFilter=Fl;function tu(de){try{return JSON.parse(de)}catch{return}}function tl(de){return e.some(de.imports,function(sr){var Er=sr.text;return e.JsTyping.nodeCoreModules.has(Er)})}e.consumesNodeCoreModules=tl;function wf(de){return e.contains(e.getPathComponents(de),"node_modules")}e.isInsideNodeModules=wf;function al(de){return de.file!==void 0&&de.start!==void 0&&de.length!==void 0}e.isDiagnosticWithLocation=al;function Hc(de,sr){var Er=Ne(de),Fn=e.binarySearchKey(sr,Er,e.identity,e.compareTextSpans);if(Fn>=0){var Si=sr[Fn];return e.Debug.assertEqual(Si.file,de.getSourceFile(),"Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile"),e.cast(Si,al)}}e.findDiagnosticForNode=Hc;function ol(de,sr){var Er,Fn=e.binarySearchKey(sr,de.start,function(_a){return _a.start},e.compareValues);for(Fn<0&&(Fn=~Fn);((Er=sr[Fn-1])===null||Er===void 0?void 0:Er.start)===de.start;)Fn--;for(var Si=[],mt=e.textSpanEnd(de);;){var Ut=e.tryCast(sr[Fn],al);if(!Ut||Ut.start>mt)break;e.textSpanContainsTextSpan(de,Ut)&&Si.push(Ut),Fn++}return Si}e.getDiagnosticsWithinSpan=ol;function Gr(de){var sr=de.startPosition,Er=de.endPosition;return e.createTextSpanFromBounds(sr,Er===void 0?sr:Er)}e.getRefactorContextSpan=Gr;function Hr(de,sr){var Er=qr(de,sr.start),Fn=e.findAncestor(Er,function(Si){return Si.getStart(de)e.textSpanEnd(sr)?"quit":e.isExpression(Si)&&Ci(sr,Ne(Si,de))});return Fn}e.getFixableErrorSpanExpression=Hr;function Jn(de,sr,Er){return Er===void 0&&(Er=e.identity),de?e.isArray(de)?Er(e.map(de,sr)):sr(de,0):void 0}e.mapOneOrMany=Jn;function ui(de){return e.isArray(de)?e.first(de):de}e.firstOrOnly=ui;function yi(de,sr){if(ct(de)){var Er=Ji(de);if(Er)return Er;var Fn=e.codefix.moduleSymbolToValidIdentifier(jt(de),sr,!1),Si=e.codefix.moduleSymbolToValidIdentifier(jt(de),sr,!0);return Fn===Si?Fn:[Fn,Si]}return de.name}e.getNamesForExportedSymbol=yi;function Ti(de,sr,Er){return ct(de)?Ji(de)||e.codefix.moduleSymbolToValidIdentifier(jt(de),sr,!!Er):de.name}e.getNameForExportedSymbol=Ti;function ct(de){return!(de.flags&33554432)&&(de.escapedName==="export="||de.escapedName==="default")}function Ji(de){return e.firstDefined(de.declarations,function(sr){var Er;return e.isExportAssignment(sr)?(Er=e.tryCast(e.skipOuterExpressions(sr.expression),e.isIdentifier))===null||Er===void 0?void 0:Er.text:void 0})}function jt(de){var sr;return e.Debug.checkDefined(de.parent,"Symbol parent was undefined. Flags: ".concat(e.Debug.formatSymbolFlags(de.flags),". ")+"Declarations: ".concat((sr=de.declarations)===null||sr===void 0?void 0:sr.map(function(Er){var Fn=e.Debug.formatSyntaxKind(Er.kind),Si=e.isInJSFile(Er),mt=Er.expression;return(Si?"[JS]":"")+Fn+(mt?" (expression: ".concat(e.Debug.formatSyntaxKind(mt.kind),")"):"")}).join(", "),"."))}function Ea(de,sr,Er){var Fn=sr.length;if(Fn+Er>de.length)return!1;for(var Si=0;SiA&&d.set(L,w)}else d.set(L,w)}}}var oe=Q===1,W=oe&&e.getLocalSymbolForExportDefault(K)||K,u=Q===0||e.isExternalModuleSymbol(W)?e.unescapeLeadingUnderscores(q):e.getNamesForExportedSymbol(W,void 0),O=typeof u=="string"?u:u[0],B=typeof u=="string"?void 0:u[1],G=e.stripQuotes(b.name),$=te++,me=e.skipAlias(K,I),ae=K.flags&33554432?void 0:K,Me=b.flags&33554432?void 0:b;(!ae||!Me)&&J.set($,[K,b]),x.add(R(O,K,e.isExternalModuleNameRelative(G)?void 0:G,I),{id:$,symbolTableKey:q,symbolName:O,capitalizedSymbolName:B,moduleName:G,moduleFile:F,moduleFileName:F==null?void 0:F.fileName,packageName:L,exportKind:Q,targetFlags:me.flags,isFromPackageJson:j,symbol:ae,moduleSymbol:Me})},get:function(N,K){if(N===D){var q=x.get(K);return q==null?void 0:q.map(k)}},search:function(N,K,q,b){if(N===D)return e.forEachEntry(x,function(F,Q){var j=M(Q),I=j.symbolName,L=j.ambientModuleName,V=K&&F[0].capitalizedSymbolName||I;if(q(V,F[0].targetFlags)){var ne=F.map(k),se=ne.filter(function(T,w){return re(T,F[w].packageName)});if(se.length){var De=b(se,V,!!L,Q);if(De!==void 0)return De}}})},releaseSymbols:function(){J.clear()},onFileChanged:function(N,K,q){return ge(N)&&ge(K)?!1:D&&D!==K.path||q&&e.consumesNodeCoreModules(N)!==e.consumesNodeCoreModules(K)||!e.arrayIsEqualTo(N.moduleAugmentations,K.moduleAugmentations)||!ve(N,K)?(C.clear(),!0):(D=K.path,!1)}};return e.Debug.isDebugging&&Object.defineProperty(C,"__cache",{get:function(){return x}}),C;function k(N){if(N.symbol&&N.moduleSymbol)return N;var K=N.id,q=N.exportKind,b=N.targetFlags,F=N.isFromPackageJson,Q=N.moduleFileName,j=J.get(K)||e.emptyArray,I=j[0],L=j[1];if(I&&L)return{symbol:I,moduleSymbol:L,moduleFileName:Q,exportKind:q,targetFlags:b,isFromPackageJson:F};var V=(F?ie.getPackageJsonAutoImportProvider():ie.getCurrentProgram()).getTypeChecker(),ne=N.moduleSymbol||L||e.Debug.checkDefined(N.moduleFile?V.getMergedSymbol(N.moduleFile.symbol):V.tryFindAmbientModule(N.moduleName)),se=N.symbol||I||e.Debug.checkDefined(q===2?V.resolveExternalModuleSymbol(ne):V.tryGetMemberInModuleExportsAndProperties(e.unescapeLeadingUnderscores(N.symbolTableKey),ne),"Could not find symbol '".concat(N.symbolName,"' by key '").concat(N.symbolTableKey,"' in module ").concat(ne.name));return J.set(K,[se,ne]),{symbol:se,moduleSymbol:ne,moduleFileName:Q,exportKind:q,targetFlags:b,isFromPackageJson:F}}function R(N,K,q,b){var F=q||"";return"".concat(N,"|").concat(e.getSymbolId(e.skipAlias(K,b)),"|").concat(F)}function M(N){var K=N.substring(0,N.indexOf("|")),q=N.substring(N.lastIndexOf("|")+1),b=q===""?void 0:q;return{symbolName:K,ambientModuleName:b}}function ge(N){return!N.commonJsModuleIndicator&&!N.externalModuleIndicator&&!N.moduleAugmentations&&!N.ambientModuleNames}function ve(N,K){if(!e.arrayIsEqualTo(N.ambientModuleNames,K.ambientModuleNames))return!1;for(var q=-1,b=-1,F=function(V){var ne=function(se){return e.isNonGlobalAmbientModule(se)&&se.name.text===V};if(q=e.findIndex(N.statements,ne,q+1),b=e.findIndex(K.statements,ne,b+1),N.statements[q]!==K.statements[b])return{value:!1}},Q=0,j=K.ambientModuleNames;Q=ge.length){var se=_(k,N,e.lastOrUndefined(q));se!==void 0&&(I=se)}}while(N!==1);function De(){switch(N){case 43:case 68:!l[K]&&k.reScanSlashToken()===13&&(N=13);break;case 29:K===79&&V++;break;case 31:V>0&&V--;break;case 131:case 152:case 148:case 134:case 153:V>0&&!re&&(N=79);break;case 15:q.push(N);break;case 18:q.length>0&&q.push(N);break;case 19:if(q.length>0){var T=e.lastOrUndefined(q);T===15?(N=k.reScanTemplateToken(!1),N===17?q.pop():e.Debug.assertEqual(N,16,"Should have been a template middle.")):(e.Debug.assertEqual(T,18,"Should have been an open brace"),q.pop())}break;default:if(!e.isKeyword(N))break;(K===24||e.isKeyword(K)&&e.isKeyword(N)&&!z(K,N))&&(N=79)}}return{endOfLineState:I,spans:L}}return{getClassificationsForLine:R,getEncodedLexicalClassifications:M}}e.createClassifier=i;var l=e.arrayToNumericMap([79,10,8,9,13,108,45,46,21,23,19,110,95],function(k){return k},function(){return!0});function _(k,R,M){switch(R){case 10:{if(!k.isUnterminated())return;for(var ge=k.getTokenText(),ve=ge.length-1,re=0;ge.charCodeAt(ve-re)===92;)re++;return re&1?ge.charCodeAt(0)===34?3:2:void 0}case 3:return k.isUnterminated()?1:void 0;default:if(e.isTemplateLiteralKind(R)){if(!k.isUnterminated())return;switch(R){case 17:return 5;case 14:return 4;default:return e.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+R)}}return M===15?6:void 0}}function h(k,R,M,ge,ve){if(ge!==8){k===0&&M>0&&(k+=M);var re=R-k;re>0&&ve.push(k-M,re,ge)}}function p(k,R){for(var M=[],ge=k.spans,ve=0,re=0;re=0){var b=N-ve;b>0&&M.push({length:b,classification:e.TokenClass.Whitespace})}M.push({length:K,classification:P(q)}),ve=N+K}var F=R.length-ve;return F>0&&M.push({length:F,classification:e.TokenClass.Whitespace}),{entries:M,finalLexState:k.endOfLineState}}function P(k){switch(k){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 25:return e.TokenClass.BigIntLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return e.TokenClass.Identifier;default:return}}function z(k,R){if(!e.isAccessibilityModifier(k))return!0;switch(R){case 137:case 151:case 135:case 124:case 127:return!0;default:return!1}}function U(k){switch(k){case 3:return{prefix:`"\\ +`};case 2:return{prefix:`'\\ +`};case 1:return{prefix:`/* +`};case 4:return{prefix:"`\n"};case 5:return{prefix:`} +`,pushTemplate:!0};case 6:return{prefix:"",pushTemplate:!0};case 0:return{prefix:""};default:return e.Debug.assertNever(k)}}function g(k){switch(k){case 41:case 43:case 44:case 39:case 40:case 47:case 48:case 49:case 29:case 31:case 32:case 33:case 102:case 101:case 128:case 150:case 34:case 35:case 36:case 37:case 50:case 52:case 51:case 55:case 56:case 74:case 73:case 78:case 70:case 71:case 72:case 64:case 65:case 66:case 68:case 69:case 63:case 27:case 60:case 75:case 76:case 77:return!0;default:return!1}}function v(k){switch(k){case 39:case 40:case 54:case 53:case 45:case 46:return!0;default:return!1}}function Y(k){if(e.isKeyword(k))return 3;if(g(k)||v(k))return 5;if(k>=18&&k<=78)return 10;switch(k){case 8:return 4;case 9:return 25;case 10:return 6;case 13:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 79:default:return e.isTemplateLiteralKind(k)?6:2}}function ce(k,R,M,ge,ve){return d(ie(k,R,M,ge,ve))}e.getSemanticClassifications=ce;function Z(k,R){switch(R){case 264:case 260:case 261:case 259:case 228:case 215:case 216:k.throwIfCancellationRequested()}}function ie(k,R,M,ge,ve){var re=[];return M.forEachChild(function K(q){if(!(!q||!e.textSpanIntersectsWith(ve,q.pos,q.getFullWidth()))){if(Z(R,q.kind),e.isIdentifier(q)&&!e.nodeIsMissing(q)&&ge.has(q.escapedText)){var b=k.getSymbolAtLocation(q),F=b&&te(b,e.getMeaningFromLocation(q),k);F&&N(q.getStart(M),q.getEnd(),F)}q.forEachChild(K)}}),{spans:re,endOfLineState:0};function N(K,q,b){var F=q-K;e.Debug.assert(F>0,"Classification had non-positive length of ".concat(F)),re.push(K),re.push(F),re.push(b)}}e.getEncodedSemanticClassifications=ie;function te(k,R,M){var ge=k.getFlags();if(ge&2885600)return ge&32?11:ge&384?12:ge&524288?16:ge&1536?R&4||R&1&&x(k)?14:void 0:ge&2097152?te(M.getAliasedSymbol(k),R,M):R&2?ge&64?13:ge&262144?15:void 0:void 0}function x(k){return e.some(k.declarations,function(R){return e.isModuleDeclaration(R)&&e.getModuleInstanceState(R)===1})}function J(k){switch(k){case 1:return"comment";case 2:return"identifier";case 3:return"keyword";case 4:return"number";case 25:return"bigint";case 5:return"operator";case 6:return"string";case 8:return"whitespace";case 9:return"text";case 10:return"punctuation";case 11:return"class name";case 12:return"enum name";case 13:return"interface name";case 14:return"module name";case 15:return"type parameter name";case 16:return"type alias name";case 17:return"parameter name";case 18:return"doc comment tag name";case 19:return"jsx open tag name";case 20:return"jsx close tag name";case 21:return"jsx self closing tag name";case 22:return"jsx attribute";case 23:return"jsx text";case 24:return"jsx attribute string literal value";default:return}}function d(k){e.Debug.assert(k.spans.length%3===0);for(var R=k.spans,M=[],ge=0;ge])*)(\/>)?)?/im,u=/(\s)(\S+)(\s*)(=)(\s*)('[^']+'|"[^"]+")/img,O=R.text.substr(A,oe),B=W.exec(O);if(!B||!B[3]||!(B[3]in e.commentPragmas))return!1;var G=A;Q(G,B[1].length),G+=B[1].length,q(G,B[2].length,10),G+=B[2].length,q(G,B[3].length,21),G+=B[3].length;for(var $=B[4],me=G;;){var ae=u.exec($);if(!ae)break;var Me=G+ae.index+ae[1].length;Me>me&&(Q(me,Me-me),me=Me),q(me,ae[2].length,22),me+=ae[2].length,ae[3].length&&(Q(me,ae[3].length),me+=ae[3].length),q(me,ae[4].length,5),me+=ae[4].length,ae[5].length&&(Q(me,ae[5].length),me+=ae[5].length),q(me,ae[6].length,24),me+=ae[6].length}G+=B[4].length,G>me&&Q(me,G-me),B[5]&&(q(G,B[5].length,10),G+=B[5].length);var Oe=A+oe;return G=0),u>0){var O=oe||T(A.kind,A);O&&q(W,u,O)}return!0}function De(A){switch(A.parent&&A.parent.kind){case 283:if(A.parent.tagName===A)return 19;break;case 284:if(A.parent.tagName===A)return 20;break;case 282:if(A.parent.tagName===A)return 21;break;case 288:if(A.parent.name===A)return 22;break}}function T(A,oe){if(e.isKeyword(A))return 3;if((A===29||A===31)&&oe&&e.getTypeArgumentOrTypeParameterList(oe.parent))return 10;if(e.isPunctuation(A)){if(oe){var W=oe.parent;if(A===63&&(W.kind===257||W.kind===169||W.kind===166||W.kind===288)||W.kind===223||W.kind===221||W.kind===222||W.kind===224)return 5}return 10}else{if(A===8)return 4;if(A===9)return 25;if(A===10)return oe&&oe.parent.kind===288?24:6;if(A===13)return 6;if(e.isTemplateLiteralKind(A))return 6;if(A===11)return 23;if(A===79){if(oe){switch(oe.parent.kind){case 260:return oe.parent.name===oe?11:void 0;case 165:return oe.parent.name===oe?15:void 0;case 261:return oe.parent.name===oe?13:void 0;case 263:return oe.parent.name===oe?12:void 0;case 264:return oe.parent.name===oe?14:void 0;case 166:return oe.parent.name===oe?e.isThisIdentifier(oe)?3:17:void 0}if(e.isConstTypeReference(oe.parent))return 3}return 2}}}function w(A){if(A&&e.decodedTextSpanIntersectsWith(ge,ve,A.pos,A.getFullWidth())){Z(k,A.kind);for(var oe=0,W=A.getChildren(R);oe0}))return 0;if(ge(function(ve){return ve.getCallSignatures().length>0})&&!ge(function(ve){return ve.getProperties().length>0})||J(k))return R===9?11:10}}return R}function ie(C,k){return e.isBindingElement(C)&&(C=te(C)),e.isVariableDeclaration(C)?(!e.isSourceFile(C.parent.parent.parent)||e.isCatchClause(C.parent))&&C.getSourceFile()===k:e.isFunctionDeclaration(C)?!e.isSourceFile(C.parent)&&C.getSourceFile()===k:!1}function te(C){for(;;)if(e.isBindingElement(C.parent.parent))C=C.parent.parent;else return C.parent.parent}function x(C){var k=C.parent;return k&&(e.isImportClause(k)||e.isImportSpecifier(k)||e.isNamespaceImport(k))}function J(C){for(;d(C);)C=C.parent;return e.isCallExpression(C.parent)&&C.parent.expression===C}function d(C){return e.isQualifiedName(C.parent)&&C.parent.right===C||e.isPropertyAccessExpression(C.parent)&&C.parent.name===C}var D=new e.Map([[257,7],[166,6],[169,9],[264,3],[263,1],[302,8],[260,0],[171,11],[259,10],[215,10],[170,11],[174,9],[175,9],[168,9],[261,2],[262,5],[165,4],[299,9],[300,9]])})(_=l.v2020||(l.v2020={}))})(i=e.classifier||(e.classifier={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _;(function(h){var p,P=(p={},p.directory=0,p.script=1,p["external module name"]=2,p);function z(){var Ce=new e.Map;function ze(Ee){var Le=Ce.get(Ee.name);(!Le||P[Le.kind]Te.parameters.length)){var Je=Te.getTypeParameterAtPosition(Ee.argumentIndex);if(e.isJsxOpeningLikeElement(Ce)){var er=Le.getTypeOfPropertyOfType(Je,X.name.text);er&&(Je=er)}return be=be||!!(Je.flags&4),k(Je,ue)}});return e.length(Ae)?{kind:2,types:Ae,isNewIdentifier:be}:void 0}function D(Ce){return Ce&&{kind:1,symbols:e.filter(Ce.getApparentProperties(),function(ze){return!(ze.valueDeclaration&&e.isPrivateIdentifierClassElementDeclaration(ze.valueDeclaration))}),hasIndexSignature:e.hasIndexSignature(Ce)}}function C(Ce,ze){var Ee=Ce.getContextualType(ze);if(Ee){var Le=Ce.getContextualType(ze,4),be=l.getPropertiesForObjectExpression(Ee,Le,ze,Ce);return{kind:1,symbols:be,hasIndexSignature:e.hasIndexSignature(Ee)}}}function k(Ce,ze){return ze===void 0&&(ze=new e.Map),Ce?(Ce=e.skipConstraint(Ce),Ce.isUnion()?e.flatMap(Ce.types,function(Ee){return k(Ee,ze)}):Ce.isStringLiteral()&&!(Ce.flags&1024)&&e.addToSeen(ze,Ce.value)?[Ce]:e.emptyArray):e.emptyArray}function R(Ce,ze,Ee){return{name:Ce,kind:ze,extension:Ee}}function M(Ce){return R(Ce,"directory",void 0)}function ge(Ce,ze,Ee){var Le=me(Ce,ze),be=Ce.length===0?void 0:e.createTextSpan(ze,Ce.length);return Ee.map(function(ue){var y=ue.name,X=ue.kind,Ae=ue.extension;return Math.max(y.indexOf(e.directorySeparator),y.indexOf(e.altDirectorySeparator))!==-1?{name:y,kind:X,extension:Ae,span:be}:{name:y,kind:X,extension:Ae,span:Le}})}function ve(Ce,ze,Ee,Le,be,ue){return ge(ze.text,ze.getStart(Ce)+1,re(Ce,ze,Ee,Le,be,ue))}function re(Ce,ze,Ee,Le,be,ue){var y=e.normalizeSlashes(ze.text),X=e.isStringLiteralLike(ze)?e.getModeForUsageLocation(Ce,ze):void 0,Ae=Ce.path,Te=e.getDirectoryPath(Ae);return ae(y)||!Ee.baseUrl&&(e.isRootedDiskPath(y)||e.isUrl(y))?K(y,Te,Ee,Le,Ae,Je()):De(y,Te,X,Ee,Le,Je(),be);function Je(){var er=e.isStringLiteralLike(ze)?e.getModeForUsageLocation(Ce,ze):void 0;return ue.importModuleSpecifierEnding==="js"||er===e.ModuleKind.ESNext?2:0}}function N(Ce,ze){return ze===void 0&&(ze=0),{extensions:e.flatten(F(Ce)),includeExtensionsOption:ze}}function K(Ce,ze,Ee,Le,be,ue){var y=N(Ee,ue);return Ee.rootDirs?j(Ee.rootDirs,Ce,ze,y,Ee,Le,be):e.arrayFrom(L(Ce,ze,y,Le,be).values())}function q(Ce){return e.getEmitModuleResolutionKind(Ce)===e.ModuleResolutionKind.NodeJs||e.getEmitModuleResolutionKind(Ce)===e.ModuleResolutionKind.Node16||e.getEmitModuleResolutionKind(Ce)===e.ModuleResolutionKind.NodeNext}function b(Ce){return e.getEmitModuleResolutionKind(Ce)===e.ModuleResolutionKind.Node16||e.getEmitModuleResolutionKind(Ce)===e.ModuleResolutionKind.NodeNext}function F(Ce){var ze=e.getSupportedExtensions(Ce);return q(Ce)?e.getSupportedExtensionsWithJsonIfResolveJsonModule(Ce,ze):ze}function Q(Ce,ze,Ee,Le){Ce=Ce.map(function(ue){return e.normalizePath(e.isRootedDiskPath(ue)?ue:e.combinePaths(ze,ue))});var be=e.firstDefined(Ce,function(ue){return e.containsPath(ue,Ee,ze,Le)?Ee.substr(ue.length):void 0});return e.deduplicate(Hn(Hn([],Ce.map(function(ue){return e.combinePaths(ue,be)}),!0),[Ee],!1),e.equateStringsCaseSensitive,e.compareStringsCaseSensitive)}function j(Ce,ze,Ee,Le,be,ue,y){var X=be.project||ue.getCurrentDirectory(),Ae=!(ue.useCaseSensitiveFileNames&&ue.useCaseSensitiveFileNames()),Te=Q(Ce,X,Ee,Ae);return e.flatMap(Te,function(Je){return e.arrayFrom(L(ze,Je,Le,ue,y).values())})}var I;(function(Ce){Ce[Ce.Exclude=0]="Exclude",Ce[Ce.Include=1]="Include",Ce[Ce.ModuleSpecifierCompletion=2]="ModuleSpecifierCompletion"})(I||(I={}));function L(Ce,ze,Ee,Le,be,ue){var y;ue===void 0&&(ue=z()),Ce===void 0&&(Ce=""),Ce=e.normalizeSlashes(Ce),e.hasTrailingDirectorySeparator(Ce)||(Ce=e.getDirectoryPath(Ce)),Ce===""&&(Ce="."+e.directorySeparator),Ce=e.ensureTrailingDirectorySeparator(Ce);var X=e.resolvePath(ze,Ce),Ae=e.hasTrailingDirectorySeparator(X)?X:e.getDirectoryPath(X),Te=e.findPackageJson(Ae,Le);if(Te){var Je=e.readJson(Te,Le),er=Je.typesVersions;if(typeof er=="object"){var wr=(y=e.getPackageJsonTypesVersionsPaths(er))===null||y===void 0?void 0:y.paths;if(wr){var mr=e.getDirectoryPath(Te),We=X.slice(e.ensureTrailingDirectorySeparator(mr).length);if(ne(ue,We,mr,Ee,Le,wr))return ue}}}var a=!(Le.useCaseSensitiveFileNames&&Le.useCaseSensitiveFileNames());if(!e.tryDirectoryExists(Le,Ae))return ue;var qr=e.tryReadDirectory(Le,Ae,Ee.extensions,void 0,["./*"]);if(qr)for(var ln=0,dr=qr;ln-1||e.isApplicableVersionedTypesKey(ze,Ee)){var Le=Ce[Ee];return T(Le,ze)}}}function w(Ce){return xe(Ce)?e.hasTrailingDirectorySeparator(Ce)?Ce:e.getDirectoryPath(Ce):void 0}function A(Ce,ze,Ee,Le,be,ue){if(!e.endsWith(Ce,"*"))return e.stringContains(Ce,"*")?e.emptyArray:Te(Ce,"script");var y=Ce.slice(0,Ce.length-1),X=e.tryRemovePrefix(Ee,y);if(X===void 0){var Ae=Ce[Ce.length-2]==="/";return Ae?Te(y,"directory"):e.flatMap(ze,function(Je){var er;return(er=oe("",Le,Je,be,ue))===null||er===void 0?void 0:er.map(function(wr){var mr=wr.name,We=sE(wr,["name"]);return Ri({name:y+mr},We)})})}return e.flatMap(ze,function(Je){return oe(X,Le,Je,be,ue)});function Te(Je,er){return e.startsWith(Je,Ee)?[{name:e.removeTrailingDirectorySeparator(Je),kind:er,extension:void 0}]:e.emptyArray}}function oe(Ce,ze,Ee,Le,be){if(!be.readDirectory)return;var ue=e.tryParsePattern(Ee);if(ue===void 0||e.isString(ue))return;var y=e.resolvePath(ue.prefix),X=e.hasTrailingDirectorySeparator(ue.prefix)?y:e.getDirectoryPath(y),Ae=e.hasTrailingDirectorySeparator(ue.prefix)?"":e.getBaseFileName(y),Te=xe(Ce),Je=Te?e.hasTrailingDirectorySeparator(Ce)?Ce:e.getDirectoryPath(Ce):void 0,er=Te?e.combinePaths(X,Ae+Je):X,wr=e.normalizePath(ue.suffix),mr=e.normalizePath(e.combinePaths(ze,er)),We=Te?mr:e.ensureTrailingDirectorySeparator(mr)+Ae,a=wr?"**/*"+wr:"./*",qr=e.mapDefined(e.tryReadDirectory(be,mr,Le.extensions,void 0,[a]),function(vr){var kr=dr(vr);if(kr){if(xe(kr))return M(e.getPathComponents(u(kr))[1]);var jr=V(kr,be.getCompilationSettings(),Le.includeExtensionsOption),Cr=jr.name,en=jr.extension;return R(Cr,"script",en)}}),ln=wr?e.emptyArray:e.mapDefined(e.tryGetDirectories(be,mr),function(vr){return vr==="node_modules"?void 0:M(vr)});return Hn(Hn([],qr,!0),ln,!0);function dr(vr){var kr=W(e.normalizePath(vr),We,wr);return kr===void 0?void 0:u(kr)}}function W(Ce,ze,Ee){return e.startsWith(Ce,ze)&&e.endsWith(Ce,Ee)?Ce.slice(ze.length,Ce.length-Ee.length):void 0}function u(Ce){return Ce[0]===e.directorySeparator?Ce.slice(1):Ce}function O(Ce,ze,Ee){var Le=Ee.getAmbientModules().map(function(y){return e.stripQuotes(y.name)}),be=Le.filter(function(y){return e.startsWith(y,Ce)});if(ze!==void 0){var ue=e.ensureTrailingDirectorySeparator(ze);return be.map(function(y){return e.removePrefix(y,ue)})}return be}function B(Ce,ze,Ee,Le){var be=e.getTokenAtPosition(Ce,ze),ue=e.getLeadingCommentRanges(Ce.text,be.pos),y=ue&&e.find(ue,function(We){return ze>=We.pos&&ze<=We.end});if(y){var X=Ce.text.slice(y.pos,ze),Ae=Me.exec(X);if(Ae){var Te=Ae[1],Je=Ae[2],er=Ae[3],wr=e.getDirectoryPath(Ce.path),mr=Je==="path"?L(er,wr,N(Ee,1),Le,Ce.path):Je==="types"?G(Le,Ee,wr,w(er),N(Ee)):e.Debug.fail();return ge(er,y.pos+Te.length,e.arrayFrom(mr.values()))}}}function G(Ce,ze,Ee,Le,be,ue){ue===void 0&&(ue=z());for(var y=new e.Map,X=e.tryAndIgnoreErrors(function(){return e.getEffectiveTypeRoots(ze,Ce)})||e.emptyArray,Ae=0,Te=X;Ae=2&&Ce.charCodeAt(0)===46){var ze=Ce.length>=3&&Ce.charCodeAt(1)===46?2:1,Ee=Ce.charCodeAt(ze);return Ee===47||Ee===92}return!1}var Me=/^(\/\/\/\s*0},resolvedBeyondLimit:function(){return qn>l.moduleSpecifierResolutionLimit}}),ai=Kn?" (".concat((hn/Kn*100).toFixed(1),"% hit rate)"):"";return(pr=br.log)===null||pr===void 0||pr.call(br,"".concat(Ue,": resolved ").concat(qn," module specifiers, plus ").concat(bn," ambient and ").concat(hn," from cache").concat(ai)),(Fr=br.log)===null||Fr===void 0||Fr.call(br,"".concat(Ue,": response is ").concat(Wn?"incomplete":"complete")),(Vr=br.log)===null||Vr===void 0||Vr.call(br,"".concat(Ue,": ").concat(e.timestamp()-fn)),Ai;function Ki(Ni,mi,Pn){if(Pn){var we=Ne.getModuleSpecifierForBestExportInfo(Ni,mi,Qe,ar);return we&&bn++,we||"failed"}var Ir=Wr||pe.allowIncompleteCompletions&&qn"),ar=e.createTextSpanFromNode(Ne.tagName),Sr={name:Xe,kind:"class",kindModifiers:void 0,sortText:l.SortText.LocationPriority};return{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:!1,optionalReplacementSpan:ar,entries:[Sr]}}}function Q(Ue,br,Ne,Ze,Qe){e.getNameTable(Ue).forEach(function(pe,Xe){if(pe!==br){var ar=e.unescapeLeadingUnderscores(Xe);!Ne.has(ar)&&e.isIdentifierText(ar,Ze)&&(Ne.add(ar),e.insertSorted(Qe,{name:ar,kind:"warning",kindModifiers:"",sortText:l.SortText.JavascriptIdentifiers,isFromUncheckedFile:!0},D))}})}function j(Ue,br,Ne){return typeof Ne=="object"?e.pseudoBigIntToString(Ne)+"n":e.isString(Ne)?e.quote(Ue,br,Ne):JSON.stringify(Ne)}function I(Ue,br,Ne){return{name:j(Ue,br,Ne),kind:"string",kindModifiers:"",sortText:l.SortText.LocationPriority}}function L(Ue,br,Ne,Ze,Qe,pe,Xe,ar,Sr,pr,Fr,Vr,fn,Wr,Wn,bn,qn,hn,Kn,Ai,ai,Ki){var Ni,mi,Pn,we=e.getReplacementSpanForContextToken(Ne),Ir,Re,yn=G(Fr),Un,gn,rn,xn=ar.getTypeChecker(),Dn=Fr&&ce(Fr),On=Fr&&P(Fr)||pr;if(Fr&&p(Fr))Pn=pr?"this".concat(Dn?"?.":"","[").concat(O(pe,hn,Sr),"]"):"this".concat(Dn?"?.":".").concat(Sr);else if((On||Dn)&&fn){Pn=On?pr?"[".concat(O(pe,hn,Sr),"]"):"[".concat(Sr,"]"):Sr,(Dn||fn.questionDotToken)&&(Pn="?.".concat(Pn));var Qn=e.findChildOfKind(fn,24,pe)||e.findChildOfKind(fn,28,pe);if(!Qn)return;var Ke=e.startsWith(Sr,fn.name.text)?fn.name.end:Qn.end;we=e.createTextSpanFromBounds(Qn.getStart(pe),Ke)}if(Wr&&(Pn===void 0&&(Pn=Sr),Pn="{".concat(Pn,"}"),typeof Wr!="boolean"&&(we=e.createTextSpanFromNode(Wr,pe))),Fr&&Y(Fr)&&fn){Pn===void 0&&(Pn=Sr);var cn=e.findPrecedingToken(fn.pos,pe),Vn="";cn&&e.positionIsASICandidate(cn.end,cn.parent,pe)&&(Vn=";"),Vn+="(await ".concat(fn.expression.getText(),")"),Pn=pr?"".concat(Vn).concat(Pn):"".concat(Vn).concat(Dn?"?.":".").concat(Pn),we=e.createTextSpanFromBounds(fn.getStart(pe),fn.end)}if(U(Fr)&&(Un=[e.textPart(Fr.moduleSpecifier)],Wn&&(Ni=u(Sr,Wn,Fr,bn,pe,qn,hn),Pn=Ni.insertText,we=Ni.replacementSpan,Re=hn.includeCompletionsWithSnippetText?!0:void 0)),(Fr==null?void 0:Fr.kind)===64&&(gn=!0),hn.includeCompletionsWithClassMemberSnippets&&hn.includeCompletionsWithInsertText&&Kn===3&&V(Ue,Qe,pe)){var $i=void 0;mi=ne(Xe,ar,qn,hn,Sr,Ue,Qe,Ze,Ai),Pn=mi.insertText,Re=mi.isSnippet,$i=mi.importAdder,we=mi.replacementSpan,br=l.SortText.ClassMemberSnippets,$i!=null&&$i.hasFixes()&&(gn=!0,yn=_.ClassMemberSnippet)}if(Fr&&ie(Fr)&&(Pn=Fr.insertText,Re=Fr.isSnippet,rn=Fr.labelDetails,hn.useLabelDetailsInCompletionEntries||(Sr=Sr+rn.detail,rn=void 0),yn=_.ObjectLiteralMethodSnippet,br=l.SortText.SortBelow(br)),ai&&!Ki&&hn.includeCompletionsWithSnippetText&&hn.jsxAttributeCompletionStyle&&hn.jsxAttributeCompletionStyle!=="none"){var pt=hn.jsxAttributeCompletionStyle==="braces",Hi=xn.getTypeOfSymbolAtLocation(Ue,Qe);hn.jsxAttributeCompletionStyle==="auto"&&!(Hi.flags&528)&&!(Hi.flags&1048576&&e.find(Hi.types,function(Ci){return!!(Ci.flags&528)}))&&(Hi.flags&402653316||Hi.flags&1048576&&e.every(Hi.types,function(Ci){return!!(Ci.flags&402686084)})?(Pn="".concat(e.escapeSnippetText(Sr),"=").concat(e.quote(pe,hn,"$1")),Re=!0):pt=!0),pt&&(Pn="".concat(e.escapeSnippetText(Sr),"={$1}"),Re=!0)}if(!(Pn!==void 0&&!hn.includeCompletionsWithInsertText))return(z(Fr)||U(Fr))&&(Ir=oe(Fr),gn=!Wn),{name:Sr,kind:e.SymbolDisplay.getSymbolKind(xn,Ue,Qe),kindModifiers:e.SymbolDisplay.getSymbolModifiers(xn,Ue),sortText:br,source:yn,hasAction:gn?!0:void 0,isRecommended:B(Ue,Vr,xn)||void 0,insertText:Pn,replacementSpan:we,sourceDisplay:Un,labelDetails:rn,isSnippet:Re,isPackageJsonImport:v(Fr)||void 0,isImportStatementCompletion:!!Wn||void 0,data:Ir}}function V(Ue,br,Ne){if(e.isInJSFile(br))return!1;var Ze=106500;return!!(Ue.flags&Ze)&&(e.isClassLike(br)||br.parent&&br.parent.parent&&e.isClassElement(br.parent)&&br===br.parent.name&&br.parent.getLastToken(Ne)===br.parent.name&&e.isClassLike(br.parent.parent)||br.parent&&e.isSyntaxList(br)&&e.isClassLike(br.parent))}function ne(Ue,br,Ne,Ze,Qe,pe,Xe,ar,Sr){var pr=e.findAncestor(Xe,e.isClassLike);if(!pr)return{insertText:Qe};var Fr,Vr,fn=Qe,Wr=br.getTypeChecker(),Wn=Xe.getSourceFile(),bn=A({removeComments:!0,module:Ne.module,target:Ne.target,omitTrailingSemicolon:!1,newLine:e.getNewLineKind(e.getNewLineCharacter(Ne,e.maybeBind(Ue,Ue.getNewLine)))}),qn=e.codefix.createImportAdder(Wn,br,Ze,Ue),hn;if(Ze.includeCompletionsWithSnippetText){Fr=!0;var Kn=e.factory.createEmptyStatement();hn=e.factory.createBlock([Kn],!0),e.setSnippetElement(Kn,{kind:0,order:0})}else hn=e.factory.createBlock([],!0);var Ai=0,ai=se(ar),Ki=ai.modifiers,Ni=ai.span,mi=!!(Ki&256),Pn=[];if(e.codefix.addNewNodeForMemberSymbol(pe,pr,Wn,{program:br,host:Ue},Ze,qn,function(Ir){var Re=0;mi&&(Re|=256),e.isClassElement(Ir)&&Wr.getMemberOverrideModifierStatus(pr,Ir)===1&&(Re|=16384),Pn.length||(Ai=Ir.modifierFlagsCache|Re|Ki),Ir=e.factory.updateModifiers(Ir,Ai),Pn.push(Ir)},hn,2,mi),Pn.length){var we=131073;Vr=Ni,Sr?fn=bn.printAndFormatSnippetList(we,e.factory.createNodeArray(Pn),Wn,Sr):fn=bn.printSnippetList(we,e.factory.createNodeArray(Pn),Wn)}return{insertText:fn,isSnippet:Fr,importAdder:qn,replacementSpan:Vr}}function se(Ue){if(!Ue)return{modifiers:0};var br=0,Ne,Ze;return(Ze=De(Ue))&&(br|=e.modifierToFlag(Ze),Ne=e.createTextSpanFromNode(Ue)),e.isPropertyDeclaration(Ue.parent)&&(br|=e.modifiersToFlags(Ue.parent.modifiers)&126975,Ne=e.createTextSpanFromNode(Ue.parent)),{modifiers:br,span:Ne}}function De(Ue){if(e.isModifier(Ue))return Ue.kind;if(e.isIdentifier(Ue)&&Ue.originalKeywordKind&&e.isModifierKind(Ue.originalKeywordKind))return Ue.originalKeywordKind}function T(Ue,br,Ne,Ze,Qe,pe,Xe,ar){var Sr=Xe.includeCompletionsWithSnippetText||void 0,pr=br,Fr=Ne.getSourceFile(),Vr=w(Ue,Ne,Fr,Ze,Qe,Xe);if(Vr){var fn=A({removeComments:!0,module:pe.module,target:pe.target,omitTrailingSemicolon:!1,newLine:e.getNewLineKind(e.getNewLineCharacter(pe,e.maybeBind(Qe,Qe.getNewLine)))});ar?pr=fn.printAndFormatSnippetList(80,e.factory.createNodeArray([Vr],!0),Fr,ar):pr=fn.printSnippetList(80,e.factory.createNodeArray([Vr],!0),Fr);var Wr=e.createPrinter({removeComments:!0,module:pe.module,target:pe.target,omitTrailingSemicolon:!0}),Wn=e.factory.createMethodSignature(void 0,"",Vr.questionToken,Vr.typeParameters,Vr.parameters,Vr.type),bn={detail:Wr.printNode(4,Wn,Fr)};return{isSnippet:Sr,insertText:pr,labelDetails:bn}}}function w(Ue,br,Ne,Ze,Qe,pe){var Xe=Ue.getDeclarations();if(Xe&&Xe.length){var ar=Ze.getTypeChecker(),Sr=Xe[0],pr=e.getSynthesizedDeepClone(e.getNameOfDeclaration(Sr),!1),Fr=ar.getWidenedType(ar.getTypeOfSymbolAtLocation(Ue,br)),Vr=e.getQuotePreference(Ne,pe),fn=33554432|(Vr===0?268435456:0);switch(Sr.kind){case 168:case 169:case 170:case 171:{var Wr=Fr.flags&1048576&&Fr.types.length<10?ar.getUnionType(Fr.types,2):Fr;if(Wr.flags&1048576){var Wn=e.filter(Wr.types,function(ai){return ar.getSignaturesOfType(ai,0).length>0});if(Wn.length===1)Wr=Wn[0];else return}var bn=ar.getSignaturesOfType(Wr,0);if(bn.length!==1)return;var qn=ar.typeToTypeNode(Wr,br,fn,e.codefix.getNoopSymbolTrackerWithResolver({program:Ze,host:Qe}));if(!qn||!e.isFunctionTypeNode(qn))return;var hn=void 0;if(pe.includeCompletionsWithSnippetText){var Kn=e.factory.createEmptyStatement();hn=e.factory.createBlock([Kn],!0),e.setSnippetElement(Kn,{kind:0,order:0})}else hn=e.factory.createBlock([],!0);var Ai=qn.parameters.map(function(ai){return e.factory.createParameterDeclaration(void 0,ai.dotDotDotToken,ai.name,void 0,void 0,ai.initializer)});return e.factory.createMethodDeclaration(void 0,void 0,pr,void 0,void 0,Ai,void 0,hn)}default:return}}}function A(Ue){var br,Ne=e.textChanges.createWriter(e.getNewLineCharacter(Ue)),Ze=e.createPrinter(Ue,Ne),Qe=Ri(Ri({},Ne),{write:function(pr){return pe(pr,function(){return Ne.write(pr)})},nonEscapingWrite:Ne.write,writeLiteral:function(pr){return pe(pr,function(){return Ne.writeLiteral(pr)})},writeStringLiteral:function(pr){return pe(pr,function(){return Ne.writeStringLiteral(pr)})},writeSymbol:function(pr,Fr){return pe(pr,function(){return Ne.writeSymbol(pr,Fr)})},writeParameter:function(pr){return pe(pr,function(){return Ne.writeParameter(pr)})},writeComment:function(pr){return pe(pr,function(){return Ne.writeComment(pr)})},writeProperty:function(pr){return pe(pr,function(){return Ne.writeProperty(pr)})}});return{printSnippetList:Xe,printAndFormatSnippetList:Sr};function pe(pr,Fr){var Vr=e.escapeSnippetText(pr);if(Vr!==pr){var fn=Ne.getTextPos();Fr();var Wr=Ne.getTextPos();br=e.append(br||(br=[]),{newText:Vr,span:{start:fn,length:Wr-fn}})}else Fr()}function Xe(pr,Fr,Vr){var fn=ar(pr,Fr,Vr);return br?e.textChanges.applyChanges(fn,br):fn}function ar(pr,Fr,Vr){return br=void 0,Qe.clear(),Ze.writeList(pr,Fr,Vr,Qe),Qe.getText()}function Sr(pr,Fr,Vr,fn){var Wr={text:ar(pr,Fr,Vr),getLineAndCharacterOfPosition:function(hn){return e.getLineAndCharacterOfPosition(this,hn)}},Wn=e.getFormatCodeSettingsForWriting(fn,Vr),bn=e.flatMap(Fr,function(hn){var Kn=e.textChanges.assignPositionsToNode(hn);return e.formatting.formatNodeGivenIndentation(Kn,Wr,Vr.languageVariant,0,0,Ri(Ri({},fn),{options:Wn}))}),qn=br?e.stableSort(e.concatenate(bn,br),function(hn,Kn){return e.compareTextSpans(hn.span,Kn.span)}):bn;return e.textChanges.applyChanges(Wr.text,qn)}}function oe(Ue){var br=Ue.fileName?void 0:e.stripQuotes(Ue.moduleSymbol.name),Ne=Ue.isFromPackageJson?!0:void 0;if(U(Ue)){var Ze={exportName:Ue.exportName,moduleSpecifier:Ue.moduleSpecifier,ambientModuleName:br,fileName:Ue.fileName,isPackageJsonImport:Ne};return Ze}var Qe={exportName:Ue.exportName,exportMapKey:Ue.exportMapKey,fileName:Ue.fileName,ambientModuleName:Ue.fileName?void 0:e.stripQuotes(Ue.moduleSymbol.name),isPackageJsonImport:Ue.isFromPackageJson?!0:void 0};return Qe}function W(Ue,br,Ne){var Ze=Ue.exportName==="default",Qe=!!Ue.isPackageJsonImport;if(C(Ue)){var pe={kind:32,exportName:Ue.exportName,moduleSpecifier:Ue.moduleSpecifier,symbolName:br,fileName:Ue.fileName,moduleSymbol:Ne,isDefaultExport:Ze,isFromPackageJson:Qe};return pe}var Xe={kind:4,exportName:Ue.exportName,exportMapKey:Ue.exportMapKey,symbolName:br,fileName:Ue.fileName,moduleSymbol:Ne,isDefaultExport:Ze,isFromPackageJson:Qe};return Xe}function u(Ue,br,Ne,Ze,Qe,pe,Xe){var ar=br.replacementSpan,Sr=e.quote(Qe,Xe,Ne.moduleSpecifier),pr=Ne.isDefaultExport?1:Ne.exportName==="export="?2:0,Fr=Xe.includeCompletionsWithSnippetText?"$1":"",Vr=e.codefix.getImportKind(Qe,pr,pe,!0),fn=br.couldBeTypeOnlyImportSpecifier,Wr=br.isTopLevelTypeOnly?" ".concat(e.tokenToString(154)," "):" ",Wn=fn?"".concat(e.tokenToString(154)," "):"",bn=Ze?";":"";switch(Vr){case 3:return{replacementSpan:ar,insertText:"import".concat(Wr).concat(e.escapeSnippetText(Ue)).concat(Fr," = require(").concat(Sr,")").concat(bn)};case 1:return{replacementSpan:ar,insertText:"import".concat(Wr).concat(e.escapeSnippetText(Ue)).concat(Fr," from ").concat(Sr).concat(bn)};case 2:return{replacementSpan:ar,insertText:"import".concat(Wr,"* as ").concat(e.escapeSnippetText(Ue)," from ").concat(Sr).concat(bn)};case 0:return{replacementSpan:ar,insertText:"import".concat(Wr,"{ ").concat(Wn).concat(e.escapeSnippetText(Ue)).concat(Fr," } from ").concat(Sr).concat(bn)}}}function O(Ue,br,Ne){return/^\d+$/.test(Ne)?Ne:e.quote(Ue,br,Ne)}function B(Ue,br,Ne){return Ue===br||!!(Ue.flags&1048576)&&Ne.getExportSymbolOfSymbol(Ue)===br}function G(Ue){if(z(Ue))return e.stripQuotes(Ue.moduleSymbol.name);if(U(Ue))return Ue.moduleSpecifier;if((Ue==null?void 0:Ue.kind)===1)return _.ThisProperty;if((Ue==null?void 0:Ue.kind)===64)return _.TypeOnlyAlias}function $(Ue,br,Ne,Ze,Qe,pe,Xe,ar,Sr,pr,Fr,Vr,fn,Wr,Wn,bn,qn,hn,Kn,Ai,ai,Ki,Ni,mi){for(var Pn,we=e.timestamp(),Ir=Zn(Qe),Re=e.probablyUsesSemicolons(pe),yn=ar.getTypeChecker(),Un=new e.Map,gn=0;gn90)?!1:Xe?!0:Jr(ha,ei)},function(ha,He,Cn,Nr){var ma;if(!(Xe&&!e.some(ha,function(Ks){return Xe.source===e.stripQuotes(Ks.moduleSymbol.name)}))){var Ca=e.find(ha,Kt);if(Ca){var lo=Bt.tryResolve(ha,He,Cn)||{};if(lo!=="failed"){var ys=Ca,hc;lo!=="skipped"&&(ma=lo.exportInfo,ys=ma===void 0?Ca:ma,hc=lo.moduleSpecifier);var Ms=ys.exportKind===1,jc=Ms&&e.getLocalSymbolForExportDefault(ys.symbol)||ys.symbol;wn(jc,{kind:hc?32:4,moduleSpecifier:hc,symbolName:He,exportMapKey:Nr,exportName:ys.exportKind===2?"export=":ys.symbol.name,fileName:ys.moduleFileName,isDefaultExport:Ms,moduleSymbol:ys.moduleSymbol,isFromPackageJson:ys.isFromPackageJson})}}}}),Tt=Bt.skippedAny(),Ke|=Bt.resolvedAny()?8:0,Ke|=Bt.resolvedBeyondLimit()?16:0});function Kt(Bt){var ha=e.tryCast(Bt.moduleSymbol.valueDeclaration,e.isSourceFile);if(!ha){var He=e.stripQuotes(Bt.moduleSymbol.name);return e.JsTyping.nodeCoreModules.has(He)&&e.startsWith(He,"node:")!==e.shouldUseUriStyleNodeCoreModules(Ne,Ue)?!1:dt?dt.allowsImportingAmbientModule(Bt.moduleSymbol,Ao(Bt.isFromPackageJson)):!0}return e.isImportableFile(Bt.isFromPackageJson?ji:Ue,Ne,ha,pe,dt,Ao(Bt.isFromPackageJson),Ii)}}function wn(le,Tr){var un=e.getSymbolId(le);qa[un]!==l.SortText.GlobalsOrKeywords&&(ii[st.length]=Tr,qa[un]=xn?l.SortText.LocationPriority:l.SortText.AutoImportSuggestions,st.push(le))}function je(le,Tr){e.isInJSFile(Dn)||le.forEach(function(un){if(ur(un)){var ei=mr(un,e.getEmitScriptTarget(Ze),void 0,0,!1);if(ei){var Ii=ei.name,ot=T(un,Ii,Tr,Ue,ar,Ze,pe,Sr);if(ot){var ji=Ri({kind:128},ot);Ke|=32,ii[st.length]=ji,st.push(un)}}}})}function ur(le){return!!(le.flags&8196)}function hr(le,Tr,un){for(var ei=le;ei&&!e.positionBelongsToNode(ei,Tr,un);)ei=ei.parent;return ei}function Br(le){var Tr=e.timestamp(),un=pi(le)||cc(le)||mc(le)||Mn(le)||e.isBigIntLiteral(le);return br("getCompletionsAtPosition: isCompletionListBlocker: "+(e.timestamp()-Tr)),un}function Mn(le){if(le.kind===11)return!0;if(le.kind===31&&le.parent){if(Dn===le.parent&&(Dn.kind===283||Dn.kind===282))return!1;if(le.parent.kind===283)return Dn.parent.kind!==283;if(le.parent.kind===284||le.parent.kind===282)return!!le.parent.parent&&le.parent.parent.kind===281}return!1}function di(){if(mi){var le=mi.parent.kind,Tr=Cr(mi);switch(Tr){case 27:return le===210||le===173||le===211||le===206||le===223||le===181||le===207;case 20:return le===210||le===173||le===211||le===214||le===193;case 22:return le===206||le===178||le===164;case 142:case 143:case 100:return!0;case 24:return le===264;case 18:return le===260||le===207;case 63:return le===257||le===223;case 15:return le===225;case 16:return le===236;case 132:return le===171||le===300;case 41:return le===171}if(kr(Tr))return!0}return!1}function pi(le){return(e.isRegularExpressionLiteral(le)||e.isStringTextContainingNode(le))&&(e.rangeContainsPositionExclusive(e.createTextRangeFromSpan(e.createTextSpanFromNode(le)),Qe)||Qe===le.end&&(!!le.isUnterminated||e.isRegularExpressionLiteral(le)))}function _i(){var le=Ar(mi);if(!le)return 0;var Tr=e.isIntersectionTypeNode(le.parent)?le.parent:void 0,un=Tr||le,ei=ke(un,Fr);if(!ei)return 0;var Ii=Fr.getTypeFromTypeNode(un),ot=Pe(ei,Fr),ji=Pe(Ii,Fr),dt=new e.Set;return ji.forEach(function(Kt){return dt.add(Kt.escapedName)}),st=e.concatenate(st,e.filter(ot,function(Kt){return!dt.has(Kt.escapedName)})),Hi=0,Qn=!0,1}function Pt(){var le=st.length,Tr=Je(mi);if(!Tr)return 0;Hi=0;var un,ei;if(Tr.kind===207){var Ii=vn(Tr,Fr);if(Ii===void 0)return Tr.flags&33554432?2:(Ci=!0,0);var ot=Fr.getContextualType(Tr,4),ji=(ot||Ii).getStringIndexType(),dt=(ot||Ii).getNumberIndexType();if(Qn=!!ji||!!dt,un=pn(Ii,ot,Tr,Fr),ei=Tr.properties,un.length===0&&!dt)return Ci=!0,0}else{e.Debug.assert(Tr.kind===203),Qn=!1;var Kt=e.getRootDeclaration(Tr.parent);if(!e.isVariableLike(Kt))return e.Debug.fail("Root declaration is not variable-like.");var Bt=e.hasInitializer(Kt)||!!e.getEffectiveTypeAnnotationNode(Kt)||Kt.parent.parent.kind===247;if(!Bt&&Kt.kind===166&&(e.isExpression(Kt.parent)?Bt=!!Fr.getContextualType(Kt.parent):(Kt.parent.kind===171||Kt.parent.kind===175)&&(Bt=e.isExpression(Kt.parent.parent)&&!!Fr.getContextualType(Kt.parent.parent))),Bt){var ha=Fr.getTypeAtLocation(Tr);if(!ha)return 2;un=Fr.getPropertiesOfType(ha).filter(function(Cn){return Fr.isPropertyAccessible(Tr,!1,!1,ha,Cn)}),ei=Tr.elements}}if(un&&un.length>0){var He=vc(un,e.Debug.checkDefined(ei));st=e.concatenate(st,He),Ec(),Tr.kind===207&&pe.includeCompletionsWithObjectLiteralMethodSnippets&&pe.includeCompletionsWithInsertText&&(Jc(le),je(He,Tr))}return 1}function Gt(){if(!mi)return 0;var le=mi.kind===18||mi.kind===27?e.tryCast(mi.parent,e.isNamedImportsOrExports):e.isTypeKeywordTokenOrIdentifier(mi)?e.tryCast(mi.parent.parent,e.isNamedImportsOrExports):void 0;if(!le)return 0;e.isTypeKeywordTokenOrIdentifier(mi)||(On=8);var Tr=(le.kind===272?le.parent.parent:le.parent).moduleSpecifier;if(!Tr)return Qn=!0,le.kind===272?2:0;var un=Fr.getSymbolAtLocation(Tr);if(!un)return Qn=!0,2;Hi=3,Qn=!1;var ei=Fr.getExportsAndPropertiesOfModule(un),Ii=new e.Set(le.elements.filter(function(ji){return!Ts(ji)}).map(function(ji){return(ji.propertyName||ji.name).escapedText})),ot=ei.filter(function(ji){return ji.escapedName!=="default"&&!Ii.has(ji.escapedName)});return st=e.concatenate(st,ot),ot.length||(On=0),1}function fa(){var le,Tr=mi&&(mi.kind===18||mi.kind===27)?e.tryCast(mi.parent,e.isNamedExports):void 0;if(!Tr)return 0;var un=e.findAncestor(Tr,e.or(e.isSourceFile,e.isModuleDeclaration));return Hi=5,Qn=!1,(le=un.locals)===null||le===void 0||le.forEach(function(ei,Ii){var ot,ji;st.push(ei),!((ji=(ot=un.symbol)===null||ot===void 0?void 0:ot.exports)===null||ji===void 0)&&ji.has(Ii)&&(qa[e.getSymbolId(ei)]=l.SortText.OptionalMember)}),1}function ia(){var le=Ve(Ne,mi,Dn,Qe);if(!le)return 0;if(Hi=3,Qn=!0,On=mi.kind===41?0:e.isClassLike(le)?2:3,!e.isClassLike(le))return 1;var Tr=mi.kind===26?mi.parent.parent:mi.parent,un=e.isClassElement(Tr)?e.getEffectiveModifierFlags(Tr):0;if(mi.kind===79&&!Ts(mi))switch(mi.getText()){case"private":un=un|8;break;case"static":un=un|32;break;case"override":un=un|16384;break}if(e.isClassStaticBlockDeclaration(Tr)&&(un|=32),!(un&8)){var ei=e.isClassLike(le)&&un&16384?e.singleElementArray(e.getEffectiveBaseTypeNode(le)):e.getAllSuperTypeNodes(le),Ii=e.flatMap(ei,function(ot){var ji=Fr.getTypeAtLocation(ot);return un&32?(ji==null?void 0:ji.symbol)&&Fr.getPropertiesOfType(Fr.getTypeOfSymbolAtLocation(ji.symbol,le)):ji&&Fr.getPropertiesOfType(ji)});st=e.concatenate(st,Gs(Ii,le.members,un))}return 1}function wa(le){return!!le.parent&&e.isParameter(le.parent)&&e.isConstructorDeclaration(le.parent.parent)&&(e.isParameterPropertyModifier(le.kind)||e.isDeclarationName(le))}function Es(le){if(le){var Tr=le.parent;switch(le.kind){case 20:case 27:return e.isConstructorDeclaration(le.parent)?le.parent:void 0;default:if(wa(le))return Tr.parent}}}function vs(le){if(le){var Tr,un=e.findAncestor(le.parent,function(ei){return e.isClassLike(ei)?"quit":e.isFunctionLikeDeclaration(ei)&&Tr===ei.body?!0:(Tr=ei,!1)});return un&&un}}function hs(le){if(le){var Tr=le.parent;switch(le.kind){case 31:case 30:case 43:case 79:case 208:case 289:case 288:case 290:if(Tr&&(Tr.kind===282||Tr.kind===283)){if(le.kind===31){var un=e.findPrecedingToken(le.pos,Ne,void 0);if(!Tr.typeArguments||un&&un.kind===43)break}return Tr}else if(Tr.kind===288)return Tr.parent.parent;break;case 10:if(Tr&&(Tr.kind===288||Tr.kind===290))return Tr.parent.parent;break;case 19:if(Tr&&Tr.kind===291&&Tr.parent&&Tr.parent.kind===288)return Tr.parent.parent.parent;if(Tr&&Tr.kind===290)return Tr.parent.parent;break}}}function cc(le){var Tr=le.parent,un=Tr.kind;switch(le.kind){case 27:return un===257||nc(le)||un===240||un===263||cs(un)||un===261||un===204||un===262||e.isClassLike(Tr)&&!!Tr.typeParameters&&Tr.typeParameters.end>=le.pos;case 24:return un===204;case 58:return un===205;case 22:return un===204;case 20:return un===295||cs(un);case 18:return un===263;case 29:return un===260||un===228||un===261||un===262||e.isFunctionLikeKind(un);case 124:return un===169&&!e.isClassLike(Tr.parent);case 25:return un===166||!!Tr.parent&&Tr.parent.kind===204;case 123:case 121:case 122:return un===166&&!e.isConstructorDeclaration(Tr.parent);case 128:return un===273||un===278||un===271;case 137:case 151:return!cr(le);case 79:if(un===273&&le===Tr.name&&le.text==="type")return!1;break;case 84:case 92:case 118:case 98:case 113:case 100:case 119:case 85:case 138:return!0;case 154:return un!==273;case 41:return e.isFunctionLike(le.parent)&&!e.isMethodDeclaration(le.parent)}if(kr(Cr(le))&&cr(le)||wa(le)&&(!e.isIdentifier(le)||e.isParameterPropertyModifier(Cr(le))||Ts(le)))return!1;switch(Cr(le)){case 126:case 84:case 85:case 136:case 92:case 98:case 118:case 119:case 121:case 122:case 123:case 124:case 113:return!0;case 132:return e.isPropertyDeclaration(le.parent)}var ei=e.findAncestor(le.parent,e.isClassLike);if(ei&&le===Ni&&Ps(le,Qe))return!1;var Ii=e.getAncestor(le.parent,169);if(Ii&&le!==Ni&&e.isClassLike(Ni.parent.parent)&&Qe<=Ni.end){if(Ps(le,Ni.end))return!1;if(le.kind!==63&&(e.isInitializedProperty(Ii)||e.hasType(Ii)))return!0}return e.isDeclarationName(le)&&!e.isShorthandPropertyAssignment(le.parent)&&!e.isJsxAttribute(le.parent)&&!(e.isClassLike(le.parent)&&(le!==Ni||Qe>Ni.end))}function Ps(le,Tr){return le.kind!==63&&(le.kind===26||!e.positionsAreOnSameLine(le.end,Tr,Ne))}function cs(le){return e.isFunctionLikeKind(le)&&le!==173}function mc(le){if(le.kind===8){var Tr=le.getFullText();return Tr.charAt(Tr.length-1)==="."}return!1}function nc(le){return le.parent.kind===258&&!e.isPossiblyTypeArgumentPosition(le,Ne,Fr)}function vc(le,Tr){if(Tr.length===0)return le;for(var un=new e.Set,ei=new e.Set,Ii=0,ot=Tr;Ii=0&&!x(b,F[Q],115);Q--);return e.forEach(v(q.statement),function(j){ce(q,j)&&x(b,j.getFirstToken(),81,86)}),b}function d(q){var b=Z(q);if(b)switch(b.kind){case 245:case 246:case 247:case 243:case 244:return J(b);case 252:return D(b)}}function D(q){var b=[];return x(b,q.getFirstToken(),107),e.forEach(q.caseBlock.clauses,function(F){x(b,F.getFirstToken(),82,88),e.forEach(v(F),function(Q){ce(q,Q)&&x(b,Q.getFirstToken(),81)})}),b}function C(q,b){var F=[];if(x(F,q.getFirstToken(),111),q.catchClause&&x(F,q.catchClause.getFirstToken(),83),q.finallyBlock){var Q=e.findChildOfKind(q,96,b);x(F,Q,96)}return F}function k(q,b){var F=g(q);if(F){var Q=[];return e.forEach(U(F),function(j){Q.push(e.findChildOfKind(j,109,b))}),e.isFunctionBlock(F)&&e.forEachReturnStatement(F,function(j){Q.push(e.findChildOfKind(j,105,b))}),Q}}function R(q,b){var F=e.getContainingFunction(q);if(F){var Q=[];return e.forEachReturnStatement(e.cast(F.body,e.isBlock),function(j){Q.push(e.findChildOfKind(j,105,b))}),e.forEach(U(F.body),function(j){Q.push(e.findChildOfKind(j,109,b))}),Q}}function M(q){var b=e.getContainingFunction(q);if(b){var F=[];return b.modifiers&&b.modifiers.forEach(function(Q){x(F,Q,132)}),e.forEachChild(b,function(Q){ve(Q,function(j){e.isAwaitExpression(j)&&x(F,j.getFirstToken(),133)})}),F}}function ge(q){var b=e.getContainingFunction(q);if(b){var F=[];return e.forEachChild(b,function(Q){ve(Q,function(j){e.isYieldExpression(j)&&x(F,j.getFirstToken(),125)})}),F}}function ve(q,b){b(q),!e.isFunctionLike(q)&&!e.isClassLike(q)&&!e.isInterfaceDeclaration(q)&&!e.isModuleDeclaration(q)&&!e.isTypeAliasDeclaration(q)&&!e.isTypeNode(q)&&e.forEachChild(q,function(F){return ve(F,b)})}function re(q,b){for(var F=N(q,b),Q=[],j=0;j=I.end;ne--)if(!e.isWhiteSpaceSingleLine(b.text.charCodeAt(ne))){V=!1;break}if(V){Q.push({fileName:b.fileName,textSpan:e.createTextSpanFromBounds(I.getStart(),L.end),kind:"reference"}),j++;continue}}Q.push(h(F[j],b))}return Q}function N(q,b){for(var F=[];e.isIfStatement(q.parent)&&q.parent.elseStatement===q;)q=q.parent;for(;;){var Q=q.getChildren(b);x(F,Q[0],99);for(var j=Q.length-1;j>=0&&!x(F,Q[j],91);j--);if(!q.elseStatement||!e.isIfStatement(q.elseStatement))break;q=q.elseStatement}return F}function K(q,b){return!!e.findAncestor(q.parent,function(F){return e.isLabeledStatement(F)?F.label.escapedText===b:"quit"})}})(i=e.DocumentHighlights||(e.DocumentHighlights={}))})(fr||(fr={}));var fr;(function(e){function i(z){return!!z.sourceFile}function l(z,U){return _(z,U)}e.createDocumentRegistry=l;function _(z,U,g){U===void 0&&(U="");var v=new e.Map,Y=e.createGetCanonicalFileName(!!z);function ce(){var M=e.arrayFrom(v.keys()).filter(function(ge){return ge&&ge.charAt(0)==="_"}).map(function(ge){var ve=v.get(ge),re=[];return ve.forEach(function(N,K){i(N)?re.push({name:K,scriptKind:N.sourceFile.scriptKind,refCount:N.languageServiceRefCount}):N.forEach(function(q,b){return re.push({name:K,scriptKind:b,refCount:q.languageServiceRefCount})})}),re.sort(function(N,K){return K.refCount-N.refCount}),{bucket:ge,sourceFiles:re}});return JSON.stringify(M,void 0,2)}function Z(M){return typeof M.getCompilationSettings=="function"?M.getCompilationSettings():M}function ie(M,ge,ve,re,N,K){var q=e.toPath(M,U,Y),b=p(Z(ge));return te(M,q,ge,b,ve,re,N,K)}function te(M,ge,ve,re,N,K,q,b){return D(M,ge,ve,re,N,K,!0,q,b)}function x(M,ge,ve,re,N,K){var q=e.toPath(M,U,Y),b=p(Z(ge));return J(M,q,ge,b,ve,re,N,K)}function J(M,ge,ve,re,N,K,q,b){return D(M,ge,Z(ve),re,N,K,!1,q,b)}function d(M,ge){var ve=i(M)?M:M.get(e.Debug.checkDefined(ge,"If there are more than one scriptKind's for same document the scriptKind should be provided"));return e.Debug.assert(ge===void 0||!ve||ve.sourceFile.scriptKind===ge,"Script kind should match provided ScriptKind:".concat(ge," and sourceFile.scriptKind: ").concat(ve==null?void 0:ve.sourceFile.scriptKind,", !entry: ").concat(!ve)),ve}function D(M,ge,ve,re,N,K,q,b,F){var Q,j,I,L;b=e.ensureScriptKind(M,b);var V=Z(ve),ne=ve===V?void 0:ve,se=b===6?100:e.getEmitScriptTarget(V),De=typeof F=="object"?F:{languageVersion:se,impliedNodeFormat:ne&&e.getImpliedNodeFormatForFile(ge,(L=(I=(j=(Q=ne.getCompilerHost)===null||Q===void 0?void 0:Q.call(ne))===null||j===void 0?void 0:j.getModuleResolutionCache)===null||I===void 0?void 0:I.call(j))===null||L===void 0?void 0:L.getPackageJsonInfoCache(),ne,V),setExternalModuleIndicator:e.getSetExternalModuleIndicator(V)};De.languageVersion=se;var T=v.size,w=P(re,De.impliedNodeFormat),A=e.getOrUpdate(v,w,function(){return new e.Map});if(e.tracing){v.size>T&&e.tracing.instant("session","createdDocumentRegistryBucket",{configFilePath:V.configFilePath,key:w});var oe=!e.isDeclarationFileName(ge)&&e.forEachEntry(v,function(G,$){return $!==w&&G.has(ge)&&$});oe&&e.tracing.instant("session","documentRegistryBucketOverlap",{path:ge,key1:oe,key2:w})}var W=A.get(ge),u=W&&d(W,b);if(!u&&g){var O=g.getDocument(w,ge);O&&(e.Debug.assert(q),u={sourceFile:O,languageServiceRefCount:0},B())}if(u)u.sourceFile.version!==K&&(u.sourceFile=e.updateLanguageServiceSourceFile(u.sourceFile,N,K,N.getChangeRange(u.sourceFile.scriptSnapshot)),g&&g.setDocument(w,ge,u.sourceFile)),q&&u.languageServiceRefCount++;else{var O=e.createLanguageServiceSourceFile(M,N,De,K,!1,b);g&&g.setDocument(w,ge,O),u={sourceFile:O,languageServiceRefCount:1},B()}return e.Debug.assert(u.languageServiceRefCount!==0),u.sourceFile;function B(){if(!W)A.set(ge,u);else if(i(W)){var G=new e.Map;G.set(W.sourceFile.scriptKind,W),G.set(b,u),A.set(ge,G)}else W.set(b,u)}}function C(M,ge,ve,re){var N=e.toPath(M,U,Y),K=p(ge);return k(N,K,ve,re)}function k(M,ge,ve,re){var N=e.Debug.checkDefined(v.get(P(ge,re))),K=N.get(M),q=d(K,ve);q.languageServiceRefCount--,e.Debug.assert(q.languageServiceRefCount>=0),q.languageServiceRefCount===0&&(i(K)?N.delete(M):(K.delete(ve),K.size===1&&N.set(M,e.firstDefinedIterator(K.values(),e.identity))))}function R(M,ge){return e.arrayFrom(v.entries(),function(ve){var re=ve[0],N=ve[1],K=N.get(M),q=K&&d(K,ge);return[re,q&&q.languageServiceRefCount]})}return{acquireDocument:ie,acquireDocumentWithKey:te,updateDocument:x,updateDocumentWithKey:J,releaseDocument:C,releaseDocumentWithKey:k,getLanguageServiceRefCounts:R,reportStats:ce,getKeyForCompilationSettings:p}}e.createDocumentRegistryInternal=_;function h(z){var U;if(z===null||typeof z!="object")return""+z;if(e.isArray(z))return"[".concat((U=e.map(z,function(Y){return h(Y)}))===null||U===void 0?void 0:U.join(","),"]");var g="{";for(var v in z)e.hasProperty(z,v)&&(g+="".concat(v,": ").concat(h(z[v])));return g+"}"}function p(z){return e.sourceFileAffectingCompilerOptions.map(function(U){return h(e.getCompilerOptionValue(z,U))}).join("|")+(z.pathsBasePath?"|".concat(z.pathsBasePath):void 0)}function P(z,U){return U?"".concat(z,"|").concat(U):z}})(fr||(fr={}));var fr;(function(e){var i;(function(l){function _(M,ge,ve,re){var N=v(M,ve,re);return function(K,q,b){var F=P(M,ge,N,q,ve,re),Q=F.directImports,j=F.indirectUsers;return Ri({indirectUsers:j},z(Q,K,q.exportKind,ve,b))}}l.createImportTracker=_;var h;(function(M){M[M.Named=0]="Named",M[M.Default=1]="Default",M[M.ExportEquals=2]="ExportEquals"})(h=l.ExportKind||(l.ExportKind={}));var p;(function(M){M[M.Import=0]="Import",M[M.Export=1]="Export"})(p=l.ImportExport||(l.ImportExport={}));function P(M,ge,ve,re,N,K){var q=re.exportingModuleSymbol,b=re.exportKind,F=e.nodeSeenTracker(),Q=e.nodeSeenTracker(),j=[],I=!!q.globalExports,L=I?void 0:[];return ne(q),{directImports:j,indirectUsers:V()};function V(){if(I)return M;if(q.declarations)for(var oe=0,W=q.declarations;oe2&&(e.Debug.assert(ne===void 0),se+=1,De-=1),e.createTextSpanFromBounds(se,De)}function b(L){return L.kind===0?L.textSpan:q(L.node,L.node.getSourceFile())}l.getTextSpanOfEntry=b;function F(L){var V=e.getDeclarationFromName(L);return!!V&&j(V)||L.kind===88||e.isWriteAccess(L)}function Q(L,V){var ne;if(!V)return!1;var se=e.getDeclarationFromName(L)||(L.kind===88?L.parent:e.isLiteralComputedPropertyDeclarationName(L)||L.kind===135&&e.isConstructorDeclaration(L.parent)?L.parent.parent:void 0),De=se&&e.isBinaryExpression(se)?se.left:void 0;return!!(se&&(!((ne=V.declarations)===null||ne===void 0)&&ne.some(function(T){return T===se||T===De})))}l.isDeclarationOfSymbol=Q;function j(L){if(L.flags&16777216)return!0;switch(L.kind){case 223:case 205:case 260:case 228:case 88:case 263:case 302:case 278:case 270:case 268:case 273:case 261:case 341:case 348:case 288:case 264:case 267:case 271:case 277:case 166:case 300:case 262:case 165:return!0;case 299:return!e.isArrayLiteralOrObjectLiteralDestructuringPattern(L.parent);case 259:case 215:case 173:case 171:case 174:case 175:return!!L.body;case 257:case 169:return!!L.initializer||e.isCatchClause(L.parent);case 170:case 168:case 350:case 343:return!1;default:return e.Debug.failBadSyntaxKind(L)}}var I;(function(L){function V(Ne,Ze,Qe,pe,Xe,ar,Sr){var pr,Fr;if(ar===void 0&&(ar={}),Sr===void 0&&(Sr=new e.Set(pe.map(function(mi){return mi.fileName}))),Ze=ne(Ze,ar),e.isSourceFile(Ze)){var Vr=e.GoToDefinition.getReferenceAtPosition(Ze,Ne,Qe);if(!(Vr!=null&&Vr.file))return;var fn=Qe.getTypeChecker().getMergedSymbol(Vr.file.symbol);if(fn)return W(Qe,fn,!1,pe,Sr);var Wr=Qe.getFileIncludeReasons();return Wr?[{definition:{type:5,reference:Vr.reference,file:Ze},references:De(Vr.file,Wr,Qe)||e.emptyArray}]:void 0}if(!ar.implementations){var Wn=O(Ze,pe,Xe);if(Wn)return Wn}var bn=Qe.getTypeChecker(),qn=bn.getSymbolAtLocation(e.isConstructorDeclaration(Ze)&&Ze.parent.name||Ze);if(!qn){if(!ar.implementations&&e.isStringLiteralLike(Ze)){if(e.isModuleSpecifierLike(Ze)){var Wr=Qe.getFileIncludeReasons(),hn=(Fr=(pr=Ze.getSourceFile().resolvedModules)===null||pr===void 0?void 0:pr.get(Ze.text,e.getModeForUsageLocation(Ze.getSourceFile(),Ze)))===null||Fr===void 0?void 0:Fr.resolvedFileName,Kn=hn?Qe.getSourceFile(hn):void 0;if(Kn)return[{definition:{type:4,node:Ze},references:De(Kn,Wr,Qe)||e.emptyArray}]}return Ge(Ze,pe,bn,Xe)}return}if(qn.escapedName==="export=")return W(Qe,qn.parent,!1,pe,Sr);var Ai=w(qn,Qe,pe,Xe,ar,Sr);if(Ai&&!(qn.flags&33554432))return Ai;var ai=T(Ze,qn,bn),Ki=ai&&w(ai,Qe,pe,Xe,ar,Sr),Ni=B(qn,Ze,pe,Sr,bn,Xe,ar);return A(Qe,Ai,Ni,Ki)}L.getReferencedSymbolsForNode=V;function ne(Ne,Ze){return Ze.use===1?Ne=e.getAdjustedReferenceLocation(Ne):Ze.use===2&&(Ne=e.getAdjustedRenameLocation(Ne)),Ne}L.getAdjustedNode=ne;function se(Ne,Ze,Qe,pe){var Xe,ar;pe===void 0&&(pe=new e.Set(Qe.map(function(Vr){return Vr.fileName})));var Sr=(Xe=Ze.getSourceFile(Ne))===null||Xe===void 0?void 0:Xe.symbol;if(Sr)return((ar=W(Ze,Sr,!1,Qe,pe)[0])===null||ar===void 0?void 0:ar.references)||e.emptyArray;var pr=Ze.getFileIncludeReasons(),Fr=Ze.getSourceFile(Ne);return Fr&&pr&&De(Fr,pr,Ze)||e.emptyArray}L.getReferencesForFileName=se;function De(Ne,Ze,Qe){for(var pe,Xe=Ze.get(Ne.path)||e.emptyArray,ar=0,Sr=Xe;ar=0&&!(pr>Qe.end);){var Fr=pr+Sr;(pr===0||!e.isIdentifierPart(Xe.charCodeAt(pr-1),99))&&(Fr===ar||!e.isIdentifierPart(Xe.charCodeAt(Fr),99))&&pe.push(pr),pr=Xe.indexOf(Ze,pr+Sr+1)}return pe}function er(Ne,Ze){var Qe=Ne.getSourceFile(),pe=Ze.text,Xe=e.mapDefined(Te(Qe,pe,Ne),function(ar){return ar===Ze||e.isJumpStatementTarget(ar)&&e.getTargetLabel(ar,pe)===Ze?p(ar):void 0});return[{definition:{type:1,node:Ze},references:Xe}]}function wr(Ne,Ze){switch(Ne.kind){case 80:if(e.isJSDocMemberName(Ne.parent))return!0;case 79:return Ne.text.length===Ze.length;case 14:case 10:{var Qe=Ne;return(e.isLiteralNameOfPropertyDeclarationOrIndexAccess(Qe)||e.isNameOfModuleDeclaration(Ne)||e.isExpressionOfExternalModuleImportEqualsDeclaration(Ne)||e.isCallExpression(Ne.parent)&&e.isBindableObjectDefinePropertyCall(Ne.parent)&&Ne.parent.arguments[1]===Ne)&&Qe.text.length===Ze.length}case 8:return e.isLiteralNameOfPropertyDeclarationOrIndexAccess(Ne)&&Ne.text.length===Ze.length;case 88:return Ze.length===7;default:return!1}}function mr(Ne,Ze){var Qe=e.flatMap(Ne,function(pe){return Ze.throwIfCancellationRequested(),e.mapDefined(Te(pe,"meta",pe),function(Xe){var ar=Xe.parent;if(e.isImportMeta(ar))return p(ar)})});return Qe.length?[{definition:{type:2,node:Qe[0].node},references:Qe}]:void 0}function We(Ne,Ze,Qe,pe){var Xe=e.flatMap(Ne,function(ar){return Qe.throwIfCancellationRequested(),e.mapDefined(Te(ar,e.tokenToString(Ze),ar),function(Sr){if(Sr.kind===Ze&&(!pe||pe(Sr)))return p(Sr)})});return Xe.length?[{definition:{type:2,node:Xe[0].node},references:Xe}]:void 0}function a(Ne,Ze,Qe,pe){return pe===void 0&&(pe=!0),Qe.cancellationToken.throwIfCancellationRequested(),qr(Ne,Ne,Ze,Qe,pe)}function qr(Ne,Ze,Qe,pe,Xe){if(pe.markSearchedSymbols(Ze,Qe.allSearchSymbols))for(var ar=0,Sr=Je(Ze,Qe.text,Ne);ar0;X--){var ue=be[X];ve(Ee,ue)}return[be.length-1,be[0]]}function ve(Ee,Le){var be=k(Ee,Le);d(g,be),U.push(g),v.push(Y),Y=void 0,g=be}function re(){g.children&&(F(g.children,g),T(g.children)),g=U.pop(),Y=v.pop()}function N(Ee,Le,be){ve(Ee,be),b(Le),re()}function K(Ee){Ee.initializer&&Ce(Ee.initializer)?(ve(Ee),e.forEachChild(Ee.initializer,b),re()):N(Ee,Ee.initializer)}function q(Ee){return!e.hasDynamicName(Ee)||Ee.kind!==223&&e.isPropertyAccessExpression(Ee.name.expression)&&e.isIdentifier(Ee.name.expression.expression)&&e.idText(Ee.name.expression.expression)==="Symbol"}function b(Ee){var Le;if(P.throwIfCancellationRequested(),!(!Ee||e.isToken(Ee)))switch(Ee.kind){case 173:var be=Ee;N(be,be.body);for(var ue=0,y=be.parameters;ue0&&(ve(en,or),e.forEachChild(en.right,b),re()):e.isFunctionExpression(en.right)||e.isArrowFunction(en.right)?N(Ee,en.right,or):(ve(en,or),N(Ee,en.right,Lr.name),re()),M(ye);return}case 7:case 9:{var Pe=Ee,or=Cr===7?Pe.arguments[0]:Pe.arguments[0].expression,Ve=Pe.arguments[1],Ar=ge(Ee,or),ye=Ar[0],ke=Ar[1];ve(Ee,ke),ve(Ee,e.setTextRange(e.factory.createIdentifier(Ve.text),Ve)),b(Ee.arguments[2]),re(),re(),M(ye);return}case 5:{var en=Ee,Lr=en.left,cr=Lr.expression;if(e.isIdentifier(cr)&&e.getElementOrPropertyAccessName(Lr)!=="prototype"&&Y&&Y.has(cr.text)){e.isFunctionExpression(en.right)||e.isArrowFunction(en.right)?N(Ee,en.right,cr):e.isBindableStaticAccessExpression(Lr)&&(ve(en,cr),N(en.left,en.right,e.getNameOrArgument(Lr)),re());return}break}case 4:case 0:case 8:break;default:e.Debug.assertNever(Cr)}}default:e.hasJSDocNodes(Ee)&&e.forEach(Ee.jsDoc,function(Mr){e.forEach(Mr.tags,function(Rr){e.isJSDocTypeAlias(Rr)&&C(Rr)})}),e.forEachChild(Ee,b)}}function F(Ee,Le){var be=new e.Map;e.filterMutate(Ee,function(ue,y){var X=ue.name||e.getNameOfDeclaration(ue.node),Ae=X&&x(X);if(!Ae)return!0;var Te=be.get(Ae);if(!Te)return be.set(Ae,ue),!0;if(Te instanceof Array){for(var Je=0,er=Te;Je0)return ze(be)}switch(Ee.kind){case 308:var ue=Ee;return e.isExternalModule(ue)?'"'.concat(e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(ue.fileName)))),'"'):"";case 274:return e.isExportAssignment(Ee)&&Ee.isExportEquals?"export=":"default";case 216:case 259:case 215:case 260:case 228:return e.getSyntacticModifierFlags(Ee)&1024?"default":xe(Ee);case 173:return"constructor";case 177:return"new()";case 176:return"()";case 178:return"[]";default:return""}}function W(Ee){var Le=[];function be(y){if(ue(y)&&(Le.push(y),y.children))for(var X=0,Ae=y.children;X0)return ze(e.declarationNameToString(Ee.name));if(e.isVariableDeclaration(Le))return ze(e.declarationNameToString(Le.name));if(e.isBinaryExpression(Le)&&Le.operatorToken.kind===63)return x(Le.left).replace(h,"");if(e.isPropertyAssignment(Le))return x(Le.name);if(e.getSyntacticModifierFlags(Ee)&1024)return"default";if(e.isClassLike(Ee))return"";if(e.isCallExpression(Le)){var be=Se(Le.expression);if(be!==void 0){if(be=ze(be),be.length>p)return"".concat(be," callback");var ue=ze(e.mapDefined(Le.arguments,function(y){return e.isStringLiteralLike(y)?y.getText(z):void 0}).join(", "));return"".concat(be,"(").concat(ue,") callback")}}return""}function Se(Ee){if(e.isIdentifier(Ee))return Ee.text;if(e.isPropertyAccessExpression(Ee)){var Le=Se(Ee.expression),be=Ee.name.text;return Le===void 0?be:"".concat(Le,".").concat(be)}else return}function Ce(Ee){switch(Ee.kind){case 216:case 215:case 228:return!0;default:return!1}}function ze(Ee){return Ee=Ee.length>p?Ee.substring(0,p)+"...":Ee,Ee.replace(/\\?(\r?\n|\r|\u2028|\u2029)/g,"")}})(i=e.NavigationBar||(e.NavigationBar={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){function _(N,K,q,b,F,Q){var j=e.textChanges.ChangeTracker.fromContext({host:q,formatContext:K,preferences:F}),I=Q==="SortAndCombine"||Q==="All",L=I,V=Q==="RemoveUnused"||Q==="All",ne=V?P:e.identity,se=L?g:e.identity,De=function(G){var $=se(ne(G,N,b));return I?e.stableSort($,function(me,ae){return R(me,ae)}):$},T=h(N,N.statements.filter(e.isImportDeclaration));if(T.forEach(function(G){return B(G,De)}),Q!=="RemoveUnused"){var w=N.statements.filter(e.isExportDeclaration);B(w,Y)}for(var A=0,oe=N.statements.filter(e.isAmbientModule);A=2))return!0}return!1}function P(N,K,q){for(var b=q.getTypeChecker(),F=q.getCompilerOptions(),Q=b.getJsxNamespace(K),j=b.getJsxFragmentFactory(K),I=!!(K.transformFlags&2),L=[],V=0,ne=N;V0?se[0]:T[0],Me=me.length===0?O?void 0:e.factory.createNamedImports(e.emptyArray):T.length===0?e.factory.createNamedImports(me):e.factory.updateNamedImports(T[0].importClause.namedBindings,me);ne&&O&&Me?(j.push(ce(ae,O,void 0)),j.push(ce((K=T[0])!==null&&K!==void 0?K:ae,void 0,Me))):j.push(ce(ae,O,Me))}}return j}l.coalesceImports=g;function v(N){for(var K,q={defaultImports:[],namespaceImports:[],namedImports:[]},b={defaultImports:[],namespaceImports:[],namedImports:[]},F=0,Q=N;F1&&D.push(v(k,R,"comment"))}}function g(x,J,d,D){e.isJsxText(x)||U(x.pos,J,d,D)}function v(x,J,d){return ie(e.createTextSpanFromBounds(x,J),d)}function Y(x,J){switch(x.kind){case 238:if(e.isFunctionLike(x.parent))return ce(x.parent,x,J);switch(x.parent.kind){case 243:case 246:case 247:case 245:case 242:case 244:case 251:case 295:return N(x.parent);case 255:var d=x.parent;if(d.tryBlock===x)return N(x.parent);if(d.finallyBlock===x){var D=e.findChildOfKind(d,96,J);if(D)return N(D)}default:return ie(e.createTextSpanFromNode(x,J),"code")}case 265:return N(x.parent);case 260:case 228:case 261:case 263:case 266:case 184:case 203:return N(x);case 186:return N(x,!1,!e.isTupleTypeNode(x.parent),22);case 292:case 293:return K(x.statements);case 207:return re(x);case 206:return re(x,22);case 281:return R(x);case 285:return M(x);case 282:case 283:return ge(x.attributes);case 225:case 14:return ve(x);case 204:return N(x,!1,!e.isBindingElement(x.parent),22);case 216:return k(x);case 210:return C(x);case 214:return q(x)}function C(b){if(b.arguments.length){var F=e.findChildOfKind(b,20,J),Q=e.findChildOfKind(b,21,J);if(!(!F||!Q||e.positionsAreOnSameLine(F.pos,Q.pos,J)))return Z(F,Q,b,J,!1,!0)}}function k(b){if(!(e.isBlock(b.body)||e.isParenthesizedExpression(b.body)||e.positionsAreOnSameLine(b.body.getFullStart(),b.body.getEnd(),J))){var F=e.createTextSpanFromBounds(b.body.getFullStart(),b.body.getEnd());return ie(F,"code",e.createTextSpanFromNode(b))}}function R(b){var F=e.createTextSpanFromBounds(b.openingElement.getStart(J),b.closingElement.getEnd()),Q=b.openingElement.tagName.getText(J),j="<"+Q+">...";return ie(F,"code",F,!1,j)}function M(b){var F=e.createTextSpanFromBounds(b.openingFragment.getStart(J),b.closingFragment.getEnd()),Q="<>...";return ie(F,"code",F,!1,Q)}function ge(b){if(b.properties.length!==0)return v(b.getStart(J),b.getEnd(),"code")}function ve(b){if(!(b.kind===14&&b.text.length===0))return v(b.getStart(J),b.getEnd(),"code")}function re(b,F){return F===void 0&&(F=18),N(b,!1,!e.isArrayLiteralExpression(b.parent)&&!e.isCallExpression(b.parent),F)}function N(b,F,Q,j,I){F===void 0&&(F=!1),Q===void 0&&(Q=!0),j===void 0&&(j=18),I===void 0&&(I=j===18?19:23);var L=e.findChildOfKind(x,j,J),V=e.findChildOfKind(x,I,J);return L&&V&&Z(L,V,b,J,F,Q)}function K(b){return b.length?ie(e.createTextSpanFromRange(b),"code"):void 0}function q(b){if(!e.positionsAreOnSameLine(b.getStart(),b.getEnd(),J)){var F=e.createTextSpanFromBounds(b.getStart(),b.getEnd());return ie(F,"code",e.createTextSpanFromNode(b))}}}function ce(x,J,d){var D=te(x,J,d),C=e.findChildOfKind(J,19,d);return D&&C&&Z(D,C,x,d,x.kind!==216)}function Z(x,J,d,D,C,k){C===void 0&&(C=!1),k===void 0&&(k=!0);var R=e.createTextSpanFromBounds(k?x.getFullStart():x.getStart(D),J.getEnd());return ie(R,"code",e.createTextSpanFromNode(d,D),C)}function ie(x,J,d,D,C){return d===void 0&&(d=x),D===void 0&&(D=!1),C===void 0&&(C="..."),{textSpan:x,kind:J,hintSpan:d,bannerText:C,autoCollapse:D}}function te(x,J,d){if(e.isNodeArrayMultiLine(x.parameters,d)){var D=e.findChildOfKind(x,20,d);if(D)return D}return e.findChildOfKind(J,18,d)}})(i=e.OutliningElementsCollector||(e.OutliningElementsCollector={}))})(fr||(fr={}));var fr;(function(e){var i;(function(F){F[F.exact=0]="exact",F[F.prefix=1]="prefix",F[F.substring=2]="substring",F[F.camelCase=3]="camelCase"})(i=e.PatternMatchKind||(e.PatternMatchKind={}));function l(F,Q){return{kind:F,isCaseSensitive:Q}}function _(F){var Q=new e.Map,j=F.trim().split(".").map(function(I){return Z(I.trim())});if(!j.some(function(I){return!I.subWordTextChunks.length}))return{getFullMatch:function(I,L){return h(I,L,j,Q)},getMatchForLastSegmentOfPattern:function(I){return z(I,e.last(j),Q)},patternContainsDots:j.length>1}}e.createPatternMatcher=_;function h(F,Q,j,I){var L=z(Q,e.last(j),I);if(L&&!(j.length-1>F.length)){for(var V,ne=j.length-2,se=F.length-1;ne>=0;ne-=1,se-=1)V=U(V,z(F[se],j[ne],I));return V}}function p(F,Q){var j=Q.get(F);return j||Q.set(F,j=M(F)),j}function P(F,Q,j){var I=x(F,Q.textLowerCase);if(I===0)return l(Q.text.length===F.length?i.exact:i.prefix,e.startsWith(F,Q.text));if(Q.isLowerCase){if(I===-1)return;for(var L=p(F,j),V=0,ne=L;V0)return l(i.substring,!0);if(Q.characterSpans.length>0){var De=p(F,j),T=ce(F,De,Q,!1)?!0:ce(F,De,Q,!0)?!1:void 0;if(T!==void 0)return l(i.camelCase,T)}}}function z(F,Q,j){if(b(Q.totalTextChunk.text,function(T){return T!==32&&T!==42})){var I=P(F,Q.totalTextChunk,j);if(I)return I}for(var L=Q.subWordTextChunks,V,ne=0,se=L;ne=65&&F<=90)return!0;if(F<127||!e.isUnicodeIdentifierStart(F,99))return!1;var Q=String.fromCharCode(F);return Q===Q.toUpperCase()}function te(F){if(F>=97&&F<=122)return!0;if(F<127||!e.isUnicodeIdentifierStart(F,99))return!1;var Q=String.fromCharCode(F);return Q===Q.toLowerCase()}function x(F,Q){for(var j=F.length-Q.length,I=function(ne){if(b(Q,function(se,De){return J(F.charCodeAt(De+ne))===se}))return{value:ne}},L=0;L<=j;L++){var V=I(L);if(typeof V=="object")return V.value}return-1}function J(F){return F>=65&&F<=90?97+(F-65):F<127?F:String.fromCharCode(F).toLowerCase().charCodeAt(0)}function d(F){return F>=48&&F<=57}function D(F){return ie(F)||te(F)||d(F)||F===95||F===36}function C(F){for(var Q=[],j=0,I=0,L=0;L0&&(Q.push(k(F.substr(j,I))),I=0)}return I>0&&Q.push(k(F.substr(j,I))),Q}function k(F){var Q=F.toLowerCase();return{text:F,textLowerCase:Q,isLowerCase:F===Q,characterSpans:R(F)}}function R(F){return ge(F,!1)}e.breakIntoCharacterSpans=R;function M(F){return ge(F,!0)}e.breakIntoWordSpans=M;function ge(F,Q){for(var j=[],I=0,L=1;LZ)break e;var ge=e.singleOrUndefined(e.getTrailingCommentRanges(ie.text,R.end));if(ge&&ge.kind===2&&Q(ge.pos,ge.end),h(ie,Z,R)){if(e.isFunctionBody(R)&&e.isFunctionLikeDeclaration(d)&&!e.positionsAreOnSameLine(R.getStart(ie),R.getEnd(),ie)&&F(R.getStart(ie),R.getEnd()),e.isBlock(R)||e.isTemplateSpan(R)||e.isTemplateHead(R)||e.isTemplateTail(R)||k&&e.isTemplateHead(k)||e.isVariableDeclarationList(R)&&e.isVariableStatement(d)||e.isSyntaxList(R)&&e.isVariableDeclarationList(d)||e.isVariableDeclaration(R)&&e.isSyntaxList(d)&&D.length===1||e.isJSDocTypeExpression(R)||e.isJSDocSignature(R)||e.isJSDocTypeLiteral(R)){d=R;break}if(e.isTemplateSpan(d)&&M&&e.isTemplateMiddleOrTemplateTail(M)){var ve=R.getFullStart()-2,re=M.getStart()+1;F(ve,re)}var N=e.isSyntaxList(R)&&v(k)&&Y(M)&&!e.positionsAreOnSameLine(k.getStart(),M.getStart(),ie),K=N?k.getEnd():R.getStart(),q=N?M.getStart():ce(ie,R);if(e.hasJSDocNodes(R)&&(!((te=R.jsDoc)===null||te===void 0)&&te.length)&&F(e.first(R.jsDoc).getStart(),q),e.isSyntaxList(R)){var b=R.getChildren()[0];b&&e.hasJSDocNodes(b)&&(!((x=b.jsDoc)===null||x===void 0)&&x.length)&&b.getStart()!==R.pos&&(K=Math.min(K,e.first(b.jsDoc).getStart()))}F(K,q),(e.isStringLiteral(R)||e.isTemplateLiteral(R))&&F(K+1,q-1),d=R;break}if(C===D.length-1)break e}}return J;function F(j,I){if(j!==I){var L=e.createTextSpanFromBounds(j,I);(!J||!e.textSpansEqual(L,J.textSpan)&&e.textSpanIntersectsWithPosition(L,Z))&&(J=Ri({textSpan:L},J&&{parent:J}))}}function Q(j,I){F(j,I);for(var L=j;ie.text.charCodeAt(L)===47;)L++;F(L,I)}}l.getSmartSelectionRange=_;function h(Z,ie,te){if(e.Debug.assert(te.pos<=ie),ie0&&e.last(oe).kind===27&&W++,W}function R(w,A,oe,W){return e.Debug.assert(oe>=A.getStart(),"Assumed 'position' could not occur before node."),e.isTemplateLiteralToken(A)?e.isInsideTemplateLiteral(A,oe,W)?0:w+2:w+1}function M(w,A,oe){var W=e.isNoSubstitutionTemplateLiteral(w.template)?1:w.template.templateSpans.length+1;return A!==0&&e.Debug.assertLessThan(A,W),{isTypeParameterList:!1,invocation:{kind:0,node:w},argumentsSpan:ve(w,oe),argumentIndex:A,argumentCount:W}}function ge(w,A){var oe=w.getFullStart(),W=e.skipTrivia(A.text,w.getEnd(),!1);return e.createTextSpan(oe,W-oe)}function ve(w,A){var oe=w.template,W=oe.getStart(),u=oe.getEnd();if(oe.kind===225){var O=e.last(oe.templateSpans);O.literal.getFullWidth()===0&&(u=e.skipTrivia(A.text,u,!1))}return e.createTextSpan(W,u-W)}function re(w,A,oe,W,u){for(var O=function($){e.Debug.assert(e.rangeContainsRange($.parent,$),"Not a subspan",function(){return"Child: ".concat(e.Debug.formatSyntaxKind($.kind),", parent: ").concat(e.Debug.formatSyntaxKind($.parent.kind))});var me=ie($,A,oe,W);if(me)return{value:me}},B=w;!e.isSourceFile(B)&&(u||!e.isBlock(B));B=B.parent){var G=O(B);if(typeof G=="object")return G.value}}function N(w,A,oe){var W=w.getChildren(oe),u=W.indexOf(A);return e.Debug.assert(u>=0&&W.length>u+1),W[u+1]}function K(w){return w.kind===0?e.getInvokedExpression(w.node):w.called}function q(w){return w.kind===0?w.node:w.kind===1?w.called:w.node}var b=70246400;function F(w,A,oe,W,u,O){var B,G=oe.isTypeParameterList,$=oe.argumentCount,me=oe.argumentsSpan,ae=oe.invocation,Me=oe.argumentIndex,Oe=q(ae),xe=ae.kind===2?ae.symbol:u.getSymbolAtLocation(K(ae))||O&&((B=A.declaration)===null||B===void 0?void 0:B.symbol),Se=xe?e.symbolToDisplayParts(u,xe,O?W:void 0,void 0):e.emptyArray,Ce=e.map(w,function(wr){return L(wr,Se,G,u,Oe,W)});Me!==0&&e.Debug.assertLessThan(Me,$);for(var ze=0,Ee=0,Le=0;Le1))for(var ue=0,y=0,X=be;y=$){ze=Ee+ue;break}ue++}Ee+=be.length}e.Debug.assert(ze!==-1);var Te={items:e.flatMapToMutable(Ce,e.identity),applicableSpan:me,selectedItemIndex:ze,argumentIndex:Me,argumentCount:$},Je=Te.items[ze];if(Je.isVariadic){var er=e.findIndex(Je.parameters,function(wr){return!!wr.isRest});-1De?se.substr(0,De-3)+"...":se}function L(se){var De=71286784,T={removeComments:!0},w=e.createPrinter(T);return e.usingSingleLineStringWriter(function(A){var oe=x.typeToTypeNode(se,void 0,De,A);e.Debug.assertIsDefined(oe,"should always get typenode"),w.writeNode(4,oe,g,A)})}function V(se){return se==="undefined"}function ne(se){if((e.isParameterDeclaration(se)||e.isVariableDeclaration(se)&&e.isVarConst(se))&&se.initializer){var De=e.skipParentheses(se.initializer);return!(q(De)||e.isNewExpression(De)||e.isObjectLiteralExpression(De)||e.isAssertionExpression(De))}return!0}}l.provideInlayHints=z})(i=e.InlayHints||(e.InlayHints={}))})(fr||(fr={}));var fr;(function(e){var i=/^data:(?:application\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+\/=]+)$)?/;function l(P){var z=e.createGetCanonicalFileName(P.useCaseSensitiveFileNames()),U=P.getCurrentDirectory(),g=new e.Map,v=new e.Map;return{tryGetSourcePosition:Z,tryGetGeneratedPosition:ie,toLineColumnOffset:d,clearCache:D};function Y(C){return e.toPath(C,U,z)}function ce(C,k){var R=Y(C),M=v.get(R);if(M)return M;var ge;if(P.getDocumentPositionMapper)ge=P.getDocumentPositionMapper(C,k);else if(P.readFile){var ve=J(C);ge=ve&&e.getDocumentPositionMapper({getSourceFileLike:J,getCanonicalFileName:z,log:function(re){return P.log(re)}},C,e.getLineInfo(ve.text,e.getLineStarts(ve)),function(re){return!P.fileExists||P.fileExists(re)?P.readFile(re):void 0})}return v.set(R,ge||e.identitySourceMapConsumer),ge||e.identitySourceMapConsumer}function Z(C){if(e.isDeclarationFileName(C.fileName)){var k=te(C.fileName);if(k){var R=ce(C.fileName).getSourcePosition(C);return!R||R===C?void 0:Z(R)||R}}}function ie(C){if(!e.isDeclarationFileName(C.fileName)){var k=te(C.fileName);if(k){var R=P.getProgram();if(!R.isSourceOfProjectReferenceRedirect(k.fileName)){var M=R.getCompilerOptions(),ge=e.outFile(M),ve=ge?e.removeFileExtension(ge)+".d.ts":e.getDeclarationEmitOutputFilePathWorker(C.fileName,R.getCompilerOptions(),U,R.getCommonSourceDirectory(),z);if(ve!==void 0){var re=ce(ve,C.fileName).getGeneratedPosition(C);return re===C?void 0:re}}}}}function te(C){var k=P.getProgram();if(k){var R=Y(C),M=k.getSourceFileByPath(R);return M&&M.resolvedPath===R?M:void 0}}function x(C){var k=Y(C),R=g.get(k);if(R!==void 0)return R||void 0;if(!P.readFile||P.fileExists&&!P.fileExists(k)){g.set(k,!1);return}var M=P.readFile(k),ge=M?p(M):!1;return g.set(k,ge),ge||void 0}function J(C){return P.getSourceFileLike?P.getSourceFileLike(C):te(C)||x(C)}function d(C,k){var R=J(C);return R.getLineAndCharacterOfPosition(k)}function D(){g.clear(),v.clear()}}e.getSourceMapper=l;function _(P,z,U,g){var v=e.tryGetSourceMappingURL(U);if(v){var Y=i.exec(v);if(Y){if(Y[1]){var ce=Y[1];return h(P,e.base64decode(e.sys,ce),z)}v=void 0}}var Z=[];v&&Z.push(v),Z.push(z+".map");for(var ie=v&&e.getNormalizedAbsolutePath(v,e.getDirectoryPath(z)),te=0,x=Z;tek?!1:D.arguments.length0?e.arrayFrom(ce.values()).join(","):""}l.getSymbolModifiers=z;function U(v,Y,ce,Z,ie,te,x){var J;te===void 0&&(te=e.getMeaningFromLocation(ie));var d=[],D=[],C=[],k=e.getCombinedLocalAndExportSymbolFlags(Y),R=te&1?p(v,Y,ie):"",M=!1,ge=ie.kind===108&&e.isInExpressionContext(ie)||e.isThisInTypeQuery(ie),ve,re,N,K,q=!1;if(ie.kind===108&&!ge)return{displayParts:[e.keywordPart(108)],documentation:[],symbolKind:"primitive type",tags:void 0};if(R!==""||k&32||k&2097152){if(R==="getter"||R==="setter"){var b=e.find(Y.declarations,function(Ae){return Ae.name===ie});if(b)switch(b.kind){case 174:R="getter";break;case 175:R="setter";break;case 169:R="accessor";break;default:e.Debug.assertNever(b)}else R="property"}var F=void 0;if(ve=ge?v.getTypeAtLocation(ie):v.getTypeOfSymbolAtLocation(Y,ie),ie.parent&&ie.parent.kind===208){var Q=ie.parent.name;(Q===ie||Q&&Q.getFullWidth()===0)&&(ie=ie.parent)}var j=void 0;if(e.isCallOrNewExpression(ie)?j=ie:(e.isCallExpressionTarget(ie)||e.isNewExpressionTarget(ie)||ie.parent&&(e.isJsxOpeningLikeElement(ie.parent)||e.isTaggedTemplateExpression(ie.parent))&&e.isFunctionLike(Y.valueDeclaration))&&(j=ie.parent),j){F=v.getResolvedSignature(j);var I=j.kind===211||e.isCallExpression(j)&&j.expression.kind===106,L=I?ve.getConstructSignatures():ve.getCallSignatures();if(F&&!e.contains(L,F.target)&&!e.contains(L,F)&&(F=L.length?L[0]:void 0),F){switch(I&&k&32?(R="constructor",be(ve.symbol,R)):k&2097152?(R="alias",ue(R),d.push(e.spacePart()),I&&(F.flags&4&&(d.push(e.keywordPart(126)),d.push(e.spacePart())),d.push(e.keywordPart(103)),d.push(e.spacePart())),Le(Y)):be(Y,R),R){case"JSX attribute":case"property":case"var":case"const":case"let":case"parameter":case"local var":d.push(e.punctuationPart(58)),d.push(e.spacePart()),!(e.getObjectFlags(ve)&16)&&ve.symbol&&(e.addRange(d,e.symbolToDisplayParts(v,ve.symbol,Z,void 0,5)),d.push(e.lineBreakPart())),I&&(F.flags&4&&(d.push(e.keywordPart(126)),d.push(e.spacePart())),d.push(e.keywordPart(103)),d.push(e.spacePart())),y(F,L,262144);break;default:y(F,L)}M=!0,q=L.length>1}}else if(e.isNameOfFunctionDeclaration(ie)&&!(k&98304)||ie.kind===135&&ie.parent.kind===173){var V=ie.parent,ne=Y.declarations&&e.find(Y.declarations,function(Ae){return Ae===(ie.kind===135?V.parent:V)});if(ne){var L=V.kind===173?ve.getNonNullableType().getConstructSignatures():ve.getNonNullableType().getCallSignatures();v.isImplementationOfOverload(V)?F=L[0]:F=v.getSignatureFromDeclaration(V),V.kind===173?(R="constructor",be(ve.symbol,R)):be(V.kind===176&&!(ve.symbol.flags&2048||ve.symbol.flags&4096)?ve.symbol:Y,R),F&&y(F,L),M=!0,q=L.length>1}}}if(k&32&&!M&&!ge&&(ze(),e.getDeclarationOfKind(Y,228)?ue("local class"):d.push(e.keywordPart(84)),d.push(e.spacePart()),Le(Y),X(Y,ce)),k&64&&te&2&&(Ce(),d.push(e.keywordPart(118)),d.push(e.spacePart()),Le(Y),X(Y,ce)),k&524288&&te&2&&(Ce(),d.push(e.keywordPart(154)),d.push(e.spacePart()),Le(Y),X(Y,ce),d.push(e.spacePart()),d.push(e.operatorPart(63)),d.push(e.spacePart()),e.addRange(d,e.typeToDisplayParts(v,e.isConstTypeReference(ie.parent)?v.getTypeAtLocation(ie.parent):v.getDeclaredTypeOfSymbol(Y),Z,8388608))),k&384&&(Ce(),e.some(Y.declarations,function(Ae){return e.isEnumDeclaration(Ae)&&e.isEnumConst(Ae)})&&(d.push(e.keywordPart(85)),d.push(e.spacePart())),d.push(e.keywordPart(92)),d.push(e.spacePart()),Le(Y)),k&1536&&!ge){Ce();var b=e.getDeclarationOfKind(Y,264),se=b&&b.name&&b.name.kind===79;d.push(e.keywordPart(se?143:142)),d.push(e.spacePart()),Le(Y)}if(k&262144&&te&2)if(Ce(),d.push(e.punctuationPart(20)),d.push(e.textPart("type parameter")),d.push(e.punctuationPart(21)),d.push(e.spacePart()),Le(Y),Y.parent)Ee(),Le(Y.parent,Z),X(Y.parent,Z);else{var De=e.getDeclarationOfKind(Y,165);if(De===void 0)return e.Debug.fail();var b=De.parent;if(b)if(e.isFunctionLikeKind(b.kind)){Ee();var F=v.getSignatureFromDeclaration(b);b.kind===177?(d.push(e.keywordPart(103)),d.push(e.spacePart())):b.kind!==176&&b.name&&Le(b.symbol),e.addRange(d,e.signatureToDisplayParts(v,F,ce,32))}else b.kind===262&&(Ee(),d.push(e.keywordPart(154)),d.push(e.spacePart()),Le(b.symbol),X(b.symbol,ce))}if(k&8){R="enum member",be(Y,"enum member");var b=(J=Y.declarations)===null||J===void 0?void 0:J[0];if((b==null?void 0:b.kind)===302){var T=v.getConstantValue(b);T!==void 0&&(d.push(e.spacePart()),d.push(e.operatorPart(63)),d.push(e.spacePart()),d.push(e.displayPart(e.getTextOfConstantValue(T),typeof T=="number"?e.SymbolDisplayPartKind.numericLiteral:e.SymbolDisplayPartKind.stringLiteral)))}}if(Y.flags&2097152){if(Ce(),!M){var w=v.getAliasedSymbol(Y);if(w!==Y&&w.declarations&&w.declarations.length>0){var A=w.declarations[0],oe=e.getNameOfDeclaration(A);if(oe){var W=e.isModuleWithStringLiteralName(A)&&e.hasSyntacticModifier(A,2),u=Y.name!=="default"&&!W,O=U(v,w,e.getSourceFileOfNode(A),A,oe,te,u?Y:w);d.push.apply(d,O.displayParts),d.push(e.lineBreakPart()),N=O.documentation,K=O.tags}else N=w.getContextualDocumentationComment(A,v),K=w.getJsDocTags(v)}}if(Y.declarations)switch(Y.declarations[0].kind){case 267:d.push(e.keywordPart(93)),d.push(e.spacePart()),d.push(e.keywordPart(143));break;case 274:d.push(e.keywordPart(93)),d.push(e.spacePart()),d.push(e.keywordPart(Y.declarations[0].isExportEquals?63:88));break;case 278:d.push(e.keywordPart(93));break;default:d.push(e.keywordPart(100))}d.push(e.spacePart()),Le(Y),e.forEach(Y.declarations,function(Ae){if(Ae.kind===268){var Te=Ae;if(e.isExternalModuleImportEqualsDeclaration(Te))d.push(e.spacePart()),d.push(e.operatorPart(63)),d.push(e.spacePart()),d.push(e.keywordPart(147)),d.push(e.punctuationPart(20)),d.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(Te)),e.SymbolDisplayPartKind.stringLiteral)),d.push(e.punctuationPart(21));else{var Je=v.getSymbolAtLocation(Te.moduleReference);Je&&(d.push(e.spacePart()),d.push(e.operatorPart(63)),d.push(e.spacePart()),Le(Je,Z))}return!0}})}if(!M)if(R!==""){if(ve){if(ge?(Ce(),d.push(e.keywordPart(108))):be(Y,R),R==="property"||R==="accessor"||R==="getter"||R==="setter"||R==="JSX attribute"||k&3||R==="local var"||R==="index"||ge){if(d.push(e.punctuationPart(58)),d.push(e.spacePart()),ve.symbol&&ve.symbol.flags&262144&&R!=="index"){var B=e.mapToDisplayParts(function(Ae){var Te=v.typeParameterToDeclaration(ve,Z,_);Se().writeNode(4,Te,e.getSourceFileOfNode(e.getParseTreeNode(Z)),Ae)});e.addRange(d,B)}else e.addRange(d,e.typeToDisplayParts(v,ve,Z));if(Y.target&&Y.target.tupleLabelDeclaration){var G=Y.target.tupleLabelDeclaration;e.Debug.assertNode(G.name,e.isIdentifier),d.push(e.spacePart()),d.push(e.punctuationPart(20)),d.push(e.textPart(e.idText(G.name))),d.push(e.punctuationPart(21))}}else if(k&16||k&8192||k&16384||k&131072||k&98304||R==="method"){var L=ve.getNonNullableType().getCallSignatures();L.length&&(y(L[0],L),q=L.length>1)}}}else R=h(v,Y,ie);if(D.length===0&&!q&&(D=Y.getContextualDocumentationComment(Z,v)),D.length===0&&k&4&&Y.parent&&Y.declarations&&e.forEach(Y.parent.declarations,function(Ae){return Ae.kind===308}))for(var $=0,me=Y.declarations;$0))break}}if(D.length===0&&e.isIdentifier(ie)&&Y.valueDeclaration&&e.isBindingElement(Y.valueDeclaration)){var b=Y.valueDeclaration,Me=b.parent;if(e.isIdentifier(b.name)&&e.isObjectBindingPattern(Me)){var Oe=e.getTextOfIdentifierOrLiteral(b.name),xe=v.getTypeAtLocation(Me);D=e.firstDefined(xe.isUnion()?xe.types:[xe],function(Te){var Je=Te.getProperty(Oe);return Je?Je.getDocumentationComment(v):void 0})||e.emptyArray}}return C.length===0&&!q&&(C=Y.getContextualJsDocTags(Z,v)),D.length===0&&N&&(D=N),C.length===0&&K&&(C=K),{displayParts:d,documentation:D,symbolKind:R,tags:C.length===0?void 0:C};function Se(){return re||(re=e.createPrinter({removeComments:!0})),re}function Ce(){d.length&&d.push(e.lineBreakPart()),ze()}function ze(){x&&(ue("alias"),d.push(e.spacePart()))}function Ee(){d.push(e.spacePart()),d.push(e.keywordPart(101)),d.push(e.spacePart())}function Le(Ae,Te){var Je;x&&Ae===Y&&(Ae=x),R==="index"&&(Je=v.getIndexInfosOfIndexSymbol(Ae));var er=[];Ae.flags&131072&&Je?(Ae.parent&&(er=e.symbolToDisplayParts(v,Ae.parent)),er.push(e.punctuationPart(22)),Je.forEach(function(wr,mr){er.push.apply(er,e.typeToDisplayParts(v,wr.keyType)),mr!==Je.length-1&&(er.push(e.spacePart()),er.push(e.punctuationPart(51)),er.push(e.spacePart()))}),er.push(e.punctuationPart(23))):er=e.symbolToDisplayParts(v,Ae,Te||ce,void 0,7),e.addRange(d,er),Y.flags&16777216&&d.push(e.punctuationPart(57))}function be(Ae,Te){Ce(),Te&&(ue(Te),Ae&&!e.some(Ae.declarations,function(Je){return e.isArrowFunction(Je)||(e.isFunctionExpression(Je)||e.isClassExpression(Je))&&!Je.name})&&(d.push(e.spacePart()),Le(Ae)))}function ue(Ae){switch(Ae){case"var":case"function":case"let":case"const":case"constructor":d.push(e.textOrKeywordPart(Ae));return;default:d.push(e.punctuationPart(20)),d.push(e.textOrKeywordPart(Ae)),d.push(e.punctuationPart(21));return}}function y(Ae,Te,Je){Je===void 0&&(Je=0),e.addRange(d,e.signatureToDisplayParts(v,Ae,Z,Je|32)),Te.length>1&&(d.push(e.spacePart()),d.push(e.punctuationPart(20)),d.push(e.operatorPart(39)),d.push(e.displayPart((Te.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral)),d.push(e.spacePart()),d.push(e.textPart(Te.length===2?"overload":"overloads")),d.push(e.punctuationPart(21))),D=Ae.getDocumentationComment(v),C=Ae.getJsDocTags(),Te.length>1&&D.length===0&&C.length===0&&(D=Te[0].getDocumentationComment(v),C=Te[0].getJsDocTags().filter(function(er){return er.name!=="deprecated"}))}function X(Ae,Te){var Je=e.mapToDisplayParts(function(er){var wr=v.symbolToTypeParameterDeclarations(Ae,Te,_);Se().writeList(53776,wr,e.getSourceFileOfNode(e.getParseTreeNode(Te)),er)});e.addRange(d,Je)}}l.getSymbolDisplayPartsDocumentationAndSymbolKind=U;function g(v){return v.parent?!1:e.forEach(v.declarations,function(Y){if(Y.kind===215)return!0;if(Y.kind!==257&&Y.kind!==259)return!1;for(var ce=Y.parent;!e.isFunctionBlock(ce);ce=ce.parent)if(ce.kind===308||ce.kind===265)return!1;return!0})}})(i=e.SymbolDisplay||(e.SymbolDisplay={}))})(fr||(fr={}));var fr;(function(e){function i(p,P){var z=[],U=P.compilerOptions?h(P.compilerOptions,z):{},g=e.getDefaultCompilerOptions();for(var v in g)e.hasProperty(g,v)&&U[v]===void 0&&(U[v]=g[v]);for(var Y=0,ce=e.transpileOptionValueCompilerOptions;Y>=v;return D}function x(J,d){var D=(J>>d&Y)+1;return e.Debug.assert((D&Y)===D,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules."),J&~(Y<=Q.length)return!1;var V=Q[j];if(L.end<=V.start)return!1;if(e.startEndOverlapsWithStartEnd(L.pos,L.end,V.start,V.start+V.length))return!0;j++}};function I(){return!1}}function x(b,F,Q){var j=b.getStart(Q);if(j===F.pos&&b.end===F.end)return j;var I=e.findPrecedingToken(F.pos,Q);return!I||I.end>=F.pos?b.pos:I.end}function J(b,F,Q){for(var j=-1,I;b;){var L=Q.getLineAndCharacterOfPosition(b.getStart(Q)).line;if(j!==-1&&L!==j)break;if(l.SmartIndenter.shouldIndentChildNode(F,b,I,Q))return F.indentSize;j=L,I=b,b=b.parent}return 0}function d(b,F,Q,j,I,L){var V={pos:b.pos,end:b.end};return l.getFormattingScanner(F.text,Q,V.pos,V.end,function(ne){return k(V,b,j,I,ne,L,1,function(se){return!1},F)})}l.formatNodeGivenIndentation=d;function D(b,F,Q,j){if(!b)return[];var I={pos:e.getLineStartPositionForPosition(b.getStart(F),F),end:b.end};return C(I,F,Q,j)}function C(b,F,Q,j){var I=ie(b,F);return l.getFormattingScanner(F.text,F.languageVariant,x(I,b,F),b.end,function(L){return k(b,I,l.SmartIndenter.getIndentationForNode(I,b,F,Q.options),J(I,Q.options,F),L,Q,j,te(F.parseDiagnostics,b),F)})}function k(b,F,Q,j,I,L,V,ne,se){var De,T=L.options,w=L.getRules,A=L.host,oe=new l.FormattingContext(se,V,T),W,u,O,B,G,$=-1,me=[];if(I.advance(),I.isOnToken()){var ae=se.getLineAndCharacterOfPosition(F.getStart(se)).line,Me=ae;e.hasDecorators(F)&&(Me=se.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(F,se)).line),ue(F,F,ae,Me,Q,j)}if(!I.isOnToken()){var Oe=l.SmartIndenter.nodeWillIndentChild(T,F,void 0,se,!1)?Q+T.indentSize:Q,xe=I.getCurrentLeadingTrivia();xe&&(y(xe,Oe,!1,function(Cr){return Ae(Cr,se.getLineAndCharacterOfPosition(Cr.pos),F,F,void 0)}),T.trimTrailingWhitespace!==!1&&qr(xe))}if(u&&I.getStartPos()>=b.end){var Se=I.isOnEOF()?I.readEOFTokenRange():I.isOnToken()?I.readTokenInfo(F).token:void 0;if(Se&&Se.pos===W){var Ce=((De=e.findPrecedingToken(Se.end,se,F))===null||De===void 0?void 0:De.parent)||O;Te(Se,se.getLineAndCharacterOfPosition(Se.pos).line,Ce,u,B,O,Ce,void 0)}}return me;function ze(Cr,en,Lr,pn,ye){if(e.rangeOverlapsWithStartEnd(pn,Cr,en)||e.rangeContainsStartEnd(pn,Cr,en)){if(ye!==-1)return ye}else{var or=se.getLineAndCharacterOfPosition(Cr).line,Pe=e.getLineStartPositionForPosition(Cr,se),Ve=l.SmartIndenter.findFirstNonWhitespaceColumn(Pe,Cr,se,T);if(or!==Lr||Cr===Ve){var Ar=l.SmartIndenter.getBaseIndentation(T);return Ar>Ve?Ar:Ve}}return-1}function Ee(Cr,en,Lr,pn,ye,or){var Pe=l.SmartIndenter.shouldIndentChildNode(T,Cr)?T.indentSize:0;return or===en?{indentation:en===G?$:ye.getIndentation(),delta:Math.min(T.indentSize,ye.getDelta(Cr)+Pe)}:Lr===-1?Cr.kind===20&&en===G?{indentation:$,delta:ye.getDelta(Cr)}:l.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(pn,Cr,en,se)||l.SmartIndenter.childIsUnindentedBranchOfConditionalExpression(pn,Cr,en,se)||l.SmartIndenter.argumentStartsOnSameLineAsPreviousArgument(pn,Cr,en,se)?{indentation:ye.getIndentation(),delta:Pe}:{indentation:ye.getIndentation()+ye.getDelta(Cr),delta:Pe}:{indentation:Lr,delta:Pe}}function Le(Cr){if(e.canHaveModifiers(Cr)){var en=e.find(Cr.modifiers,e.isModifier,e.findIndex(Cr.modifiers,e.isDecorator));if(en)return en.kind}switch(Cr.kind){case 260:return 84;case 261:return 118;case 259:return 98;case 263:return 263;case 174:return 137;case 175:return 151;case 171:if(Cr.asteriskToken)return 41;case 169:case 166:var Lr=e.getNameOfDeclaration(Cr);if(Lr)return Lr.kind}}function be(Cr,en,Lr,pn){return{getIndentationForComment:function(Pe,Ve,Ar){switch(Pe){case 19:case 23:case 21:return Lr+or(Ar)}return Ve!==-1?Ve:Lr},getIndentationForToken:function(Pe,Ve,Ar,ke){return!ke&&ye(Pe,Ve,Ar)?Lr+or(Ar):Lr},getIndentation:function(){return Lr},getDelta:or,recomputeIndentation:function(Pe,Ve){l.SmartIndenter.shouldIndentChildNode(T,Ve,Cr,se)&&(Lr+=Pe?T.indentSize:-T.indentSize,pn=l.SmartIndenter.shouldIndentChildNode(T,Cr)?T.indentSize:0)}};function ye(Pe,Ve,Ar){switch(Ve){case 18:case 19:case 21:case 91:case 115:case 59:return!1;case 43:case 31:switch(Ar.kind){case 283:case 284:case 282:return!1}break;case 22:case 23:if(Ar.kind!==197)return!1;break}return en!==Pe&&!(e.hasDecorators(Cr)&&Ve===Le(Cr))}function or(Pe){return l.SmartIndenter.nodeWillIndentChild(T,Cr,Pe,se,!0)?pn:0}}function ue(Cr,en,Lr,pn,ye,or){if(!e.rangeOverlapsWithStartEnd(b,Cr.getStart(se),Cr.getEnd()))return;var Pe=be(Cr,Lr,ye,or),Ve=en;for(e.forEachChild(Cr,function(Rr){ke(Rr,-1,Cr,Pe,Lr,pn,!1)},function(Rr){cr(Rr,Cr,Lr,Pe)});I.isOnToken()&&I.getStartPos()Math.min(Cr.end,b.end))break;Mr(Ar,Cr,Pe,Cr)}function ke(Rr,$r,nn,vn,Fe,Ge,xr,Ur){if(e.Debug.assert(!e.nodeIsSynthesized(Rr)),e.nodeIsMissing(Rr))return $r;var En=Rr.getStart(se),Nn=se.getLineAndCharacterOfPosition(En).line,Zn=Nn;e.hasDecorators(Rr)&&(Zn=se.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(Rr,se)).line);var fi=-1;if(xr&&e.rangeContainsRange(b,nn)&&(fi=ze(En,Rr.end,Fe,b,$r),fi!==-1&&($r=fi)),!e.rangeOverlapsWithStartEnd(b,Rr.pos,Rr.end))return Rr.endb.end)return $r;if(Dr.token.end>En){Dr.token.pos>En&&I.skipToStartOf(Rr);break}Mr(Dr,Cr,vn,Cr)}if(!I.isOnToken()||I.getStartPos()>=b.end)return $r;if(e.isToken(Rr)){var Dr=I.readTokenInfo(Rr);if(Rr.kind!==11)return e.Debug.assert(Dr.token.end===Rr.end,"Token end is child end"),Mr(Dr,Cr,vn,Rr),$r}var Pr=Rr.kind===167?Nn:Ge,Jr=Ee(Rr,Nn,fi,Cr,vn,Pr);return ue(Rr,Ve,Nn,Zn,Jr.indentation,Jr.delta),Ve=Cr,Ur&&nn.kind===206&&$r===-1&&($r=Jr.indentation),$r}function cr(Rr,$r,nn,vn){e.Debug.assert(e.isNodeArray(Rr)),e.Debug.assert(!e.nodeIsSynthesized(Rr));var Fe=ge($r,Rr),Ge=vn,xr=nn;if(!e.rangeOverlapsWithStartEnd(b,Rr.pos,Rr.end)){Rr.endRr.pos)break;if(Ur.token.kind===Fe){xr=se.getLineAndCharacterOfPosition(Ur.token.pos).line,Mr(Ur,$r,vn,$r);var En=void 0;if($!==-1)En=$;else{var Nn=e.getLineStartPositionForPosition(Ur.token.pos,se);En=l.SmartIndenter.findFirstNonWhitespaceColumn(Nn,Ur.token.pos,se,T)}Ge=be($r,nn,En,T.indentSize)}else Mr(Ur,$r,vn,$r)}for(var Zn=-1,fi=0;fi0){var xr=q(Ge,T);vr(vn,Fe.character,xr)}else dr(vn,Fe.character)}}}function We(Cr,en,Lr){for(var pn=Cr;pnor)){var Pe=a(ye,or);Pe!==-1&&(e.Debug.assert(Pe===ye||!e.isWhiteSpaceSingleLine(se.text.charCodeAt(Pe-1))),dr(Pe,or+1-Pe))}}}function a(Cr,en){for(var Lr=en;Lr>=Cr&&e.isWhiteSpaceSingleLine(se.text.charCodeAt(Lr));)Lr--;return Lr!==en?Lr+1:-1}function qr(Cr){for(var en=u?u.end:b.pos,Lr=0,pn=Cr;Lrse.text.length)return Y(De);if(De.indentStyle===e.IndentStyle.None)return 0;var w=e.findPrecedingToken(ne,se,void 0,!0),A=l.getRangeOfEnclosingComment(se,ne,w||null);if(A&&A.kind===3)return z(se,ne,De,A);if(!w)return Y(De);var oe=e.isStringOrRegularExpressionOrTemplateLiteral(w.kind);if(oe&&w.getStart(se)<=ne&&ne=0),w<=A)return Q(e.getStartPositionOfLine(A,ne),se,ne,De);var oe=e.getStartPositionOfLine(w,ne),W=F(oe,se,ne,De),u=W.column,O=W.character;if(u===0)return u;var B=ne.text.charCodeAt(oe+O);return B===42?u-1:u}function U(ne,se,De){for(var T=se;T>0;){var w=ne.text.charCodeAt(T);if(!e.isWhiteSpaceLike(w))break;T--}var A=e.getLineStartPositionForPosition(T,ne);return Q(A,T,ne,De)}function g(ne,se,De,T,w,A){for(var oe,W=De;W;){if(e.positionBelongsToNode(W,se,ne)&&L(A,W,oe,ne,!0)){var u=d(W,ne),O=J(De,W,T,ne),B=O!==0?w&&O===2?A.indentSize:0:T!==u.line?A.indentSize:0;return ce(W,u,void 0,B,ne,!0,A)}var G=K(W,ne,A,!0);if(G!==-1)return G;oe=W,W=W.parent}return Y(A)}function v(ne,se,De,T){var w=De.getLineAndCharacterOfPosition(ne.getStart(De));return ce(ne,w,se,0,De,!1,T)}h.getIndentationForNode=v;function Y(ne){return ne.baseIndentSize||0}h.getBaseIndentation=Y;function ce(ne,se,De,T,w,A,oe){for(var W,u=ne.parent;u;){var O=!0;if(De){var B=ne.getStart(w);O=BDe.end}var G=Z(u,ne,w),$=G.line===se.line||C(u,ne,se.line,w);if(O){var me=(W=M(ne,w))===null||W===void 0?void 0:W[0],ae=!!me&&d(me,w).line>G.line,Me=K(ne,w,oe,ae);if(Me!==-1||(Me=te(ne,u,se,$,w,oe),Me!==-1))return Me+T}L(oe,u,ne,w,A)&&!$&&(T+=oe.indentSize);var Oe=D(u,ne,se.line,w);ne=u,u=ne.parent,se=Oe?w.getLineAndCharacterOfPosition(ne.getStart(w)):G}return T+Y(oe)}function Z(ne,se,De){var T=M(se,De),w=T?T.pos:ne.getStart(De);return De.getLineAndCharacterOfPosition(w)}function ie(ne,se,De){var T=e.findListItemInfo(ne);return T&&T.listItemIndex>0?q(T.list.getChildren(),T.listItemIndex-1,se,De):-1}function te(ne,se,De,T,w,A){var oe=(e.isDeclaration(ne)||e.isStatementButNotDeclaration(ne))&&(se.kind===308||!T);return oe?b(De,w,A):-1}var x;(function(ne){ne[ne.Unknown=0]="Unknown",ne[ne.OpenBrace=1]="OpenBrace",ne[ne.CloseBrace=2]="CloseBrace"})(x||(x={}));function J(ne,se,De,T){var w=e.findNextToken(ne,se,T);if(!w)return 0;if(w.kind===18)return 1;if(w.kind===19){var A=d(w,T).line;return De===A?2:0}return 0}function d(ne,se){return se.getLineAndCharacterOfPosition(ne.getStart(se))}function D(ne,se,De,T){if(!(e.isCallExpression(ne)&&e.contains(ne.arguments,se)))return!1;var w=ne.expression.getEnd(),A=e.getLineAndCharacterOfPosition(T,w).line;return A===De}h.isArgumentAndStartLineOverlapsExpressionBeingCalled=D;function C(ne,se,De,T){if(ne.kind===242&&ne.elseStatement===se){var w=e.findChildOfKind(ne,91,T);e.Debug.assert(w!==void 0);var A=d(w,T).line;return A===De}return!1}h.childStartsOnTheSameLineWithElseInIfStatement=C;function k(ne,se,De,T){if(e.isConditionalExpression(ne)&&(se===ne.whenTrue||se===ne.whenFalse)){var w=e.getLineAndCharacterOfPosition(T,ne.condition.end).line;if(se===ne.whenTrue)return De===w;var A=d(ne.whenTrue,T).line,oe=e.getLineAndCharacterOfPosition(T,ne.whenTrue.end).line;return w===A&&oe===De}return!1}h.childIsUnindentedBranchOfConditionalExpression=k;function R(ne,se,De,T){if(e.isCallOrNewExpression(ne)){if(!ne.arguments)return!1;var w=e.find(ne.arguments,function(u){return u.pos===se.pos});if(!w)return!1;var A=ne.arguments.indexOf(w);if(A===0)return!1;var oe=ne.arguments[A-1],W=e.getLineAndCharacterOfPosition(T,oe.getEnd()).line;if(De===W)return!0}return!1}h.argumentStartsOnSameLineAsPreviousArgument=R;function M(ne,se){return ne.parent&&ve(ne.getStart(se),ne.getEnd(),ne.parent,se)}h.getContainingList=M;function ge(ne,se,De){return se&&ve(ne,ne,se,De)}function ve(ne,se,De,T){switch(De.kind){case 180:return w(De.typeArguments);case 207:return w(De.properties);case 206:return w(De.elements);case 184:return w(De.members);case 259:case 215:case 216:case 171:case 170:case 176:case 173:case 182:case 177:return w(De.typeParameters)||w(De.parameters);case 174:return w(De.parameters);case 260:case 228:case 261:case 262:case 347:return w(De.typeParameters);case 211:case 210:return w(De.typeArguments)||w(De.arguments);case 258:return w(De.declarations);case 272:case 276:return w(De.elements);case 203:case 204:return w(De.elements)}function w(A){return A&&e.rangeContainsStartEnd(re(De,A,T),ne,se)?A:void 0}}function re(ne,se,De){for(var T=ne.getChildren(De),w=1;w=0&&se=0;oe--)if(ne[oe].kind!==27){var W=De.getLineAndCharacterOfPosition(ne[oe].end).line;if(W!==A.line)return b(A,De,T);A=d(ne[oe],De)}return-1}function b(ne,se,De){var T=se.getPositionOfLineAndCharacter(ne.line,0);return Q(T,T+ne.character,se,De)}function F(ne,se,De,T){for(var w=0,A=0,oe=ne;oe0?1:0,Ce=e.getStartPositionOfLine(e.getLineOfLocalPosition(T,Me)+Se,T);return Ce=g(T.text,Ce),e.getStartPositionOfLine(e.getLineOfLocalPosition(T,Ce),T)}function te(T,w,A){var oe=w.end,W=A.trailingTriviaOption;if(W===U.Include){var u=e.getTrailingCommentRanges(T.text,oe);if(u)for(var O=e.getLineOfLocalPosition(T,w.end),B=0,G=u;BO)break;var me=e.getLineOfLocalPosition(T,$.end);if(me>O)return e.skipTrivia(T.text,$.end,!0,!0)}}}function x(T,w,A){var oe,W=w.end,u=A.trailingTriviaOption;if(u===U.Exclude)return W;if(u===U.ExcludeWhitespace){var O=e.concatenate(e.getTrailingCommentRanges(T.text,W),e.getLeadingCommentRanges(T.text,W)),B=(oe=O==null?void 0:O[O.length-1])===null||oe===void 0?void 0:oe.end;return B||W}var G=te(T,w,A);if(G)return G;var $=e.skipTrivia(T.text,W,!0);return $!==W&&(u===U.Include||e.isLineBreak(T.text.charCodeAt($-1)))?$:W}function J(T,w){return!!w&&!!T.parent&&(w.kind===27||w.kind===26&&T.parent.kind===207)}function d(T){return e.isFunctionExpression(T)||e.isFunctionDeclaration(T)}l.isThisTypeAnnotatable=d;var D=function(){function T(w,A){this.newLineCharacter=w,this.formatContext=A,this.changes=[],this.newFiles=[],this.classesWithNodesInsertedAtStart=new e.Map,this.deletedNodes=[]}return T.fromContext=function(w){return new T(e.getNewLineOrDefaultFromHost(w.host,w.formatContext.options),w.formatContext)},T.with=function(w,A){var oe=T.fromContext(w);return A(oe),oe.getChanges()},T.prototype.pushRaw=function(w,A){e.Debug.assertEqual(w.fileName,A.fileName);for(var oe=0,W=A.textChanges;oe",joiner:", "})},T.prototype.getOptionsForInsertNodeBefore=function(w,A,oe){return e.isStatement(w)||e.isClassElement(w)?{suffix:oe?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}:e.isVariableDeclaration(w)?{suffix:", "}:e.isParameter(w)?e.isParameter(A)?{suffix:", "}:{}:e.isStringLiteral(w)&&e.isImportDeclaration(w.parent)||e.isNamedImports(w)?{suffix:", "}:e.isImportSpecifier(w)?{suffix:","+(oe?this.newLineCharacter:" ")}:e.Debug.failBadSyntaxKind(w)},T.prototype.insertNodeAtConstructorStart=function(w,A,oe){var W=e.firstOrUndefined(A.body.statements);!W||!A.body.multiLine?this.replaceConstructorBody(w,A,Hn([oe],A.body.statements,!0)):this.insertNodeBefore(w,W,oe)},T.prototype.insertNodeAtConstructorStartAfterSuperCall=function(w,A,oe){var W=e.find(A.body.statements,function(u){return e.isExpressionStatement(u)&&e.isSuperCall(u.expression)});!W||!A.body.multiLine?this.replaceConstructorBody(w,A,Hn(Hn([],A.body.statements,!0),[oe],!1)):this.insertNodeAfter(w,W,oe)},T.prototype.insertNodeAtConstructorEnd=function(w,A,oe){var W=e.lastOrUndefined(A.body.statements);!W||!A.body.multiLine?this.replaceConstructorBody(w,A,Hn(Hn([],A.body.statements,!0),[oe],!1)):this.insertNodeAfter(w,W,oe)},T.prototype.replaceConstructorBody=function(w,A,oe){this.replaceNode(w,A.body,e.factory.createBlock(oe,!0))},T.prototype.insertNodeAtEndOfScope=function(w,A,oe){var W=ie(w,A.getLastToken(),{});this.insertNodeAt(w,W,oe,{prefix:e.isLineBreak(w.text.charCodeAt(A.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})},T.prototype.insertMemberAtStart=function(w,A,oe){this.insertNodeAtStartWorker(w,A,oe)},T.prototype.insertNodeAtObjectStart=function(w,A,oe){this.insertNodeAtStartWorker(w,A,oe)},T.prototype.insertNodeAtStartWorker=function(w,A,oe){var W,u=(W=this.guessIndentationFromExistingMembers(w,A))!==null&&W!==void 0?W:this.computeIndentationForNewMember(w,A);this.insertNodeAt(w,ve(A).pos,oe,this.getInsertNodeAtStartInsertOptions(w,A,u))},T.prototype.guessIndentationFromExistingMembers=function(w,A){for(var oe,W=A,u=0,O=ve(A);u0?{fileName:Me.fileName,textChanges:Ce}:void 0})}T.getTextChangesFromChanges=w;function A(B,G,$,me,ae){var Me=oe(B,e.getScriptKindFromFileName(G),$,me,ae);return{fileName:G,textChanges:[e.createTextChange(e.createTextSpan(0,0),Me)],isNewFile:!0}}T.newFileChanges=A;function oe(B,G,$,me,ae){var Me=$.map(function(Se){return Se===4?"":O(Se,B,me).text}).join(me),Oe=e.createSourceFile("any file name",Me,99,!0,G),xe=e.formatting.formatDocument(Oe,ae);return K(Me,xe)+me}T.newFileChangesWorker=oe;function W(B,G,$,me,ae){var Me;if(B.kind===ce.Remove)return"";if(B.kind===ce.Text)return B.text;var Oe=B.options,xe=Oe===void 0?{}:Oe,Se=B.range.pos,Ce=function(Le){return u(Le,G,Se,xe,$,me,ae)},ze=B.kind===ce.ReplaceWithMultipleNodes?B.nodes.map(function(Le){return e.removeSuffix(Ce(Le),$)}).join(((Me=B.options)===null||Me===void 0?void 0:Me.joiner)||$):Ce(B.node),Ee=xe.indentation!==void 0||e.getLineStartPositionForPosition(Se,G)===Se?ze:ze.replace(/^\s+/,"");return(xe.prefix||"")+Ee+(!xe.suffix||e.endsWith(Ee,xe.suffix)?"":xe.suffix)}function u(B,G,$,me,ae,Me,Oe){var xe=me.indentation,Se=me.prefix,Ce=me.delta,ze=O(B,G,ae),Ee=ze.node,Le=ze.text;Oe&&Oe(Ee,Le);var be=e.getFormatCodeSettingsForWriting(Me,G),ue=xe!==void 0?xe:e.formatting.SmartIndenter.getIndentation($,G,be,Se===ae||e.getLineStartPositionForPosition($,G)===$);Ce===void 0&&(Ce=e.formatting.SmartIndenter.shouldIndentChildNode(be,B)&&be.indentSize||0);var y={text:Le,getLineAndCharacterOfPosition:function(Ae){return e.getLineAndCharacterOfPosition(this,Ae)}},X=e.formatting.formatNodeGivenIndentation(Ee,y,G.languageVariant,ue,Ce,Ri(Ri({},Me),{options:be}));return K(Le,X)}function O(B,G,$){var me=j($),ae=e.getNewLineKind($);return e.createPrinter({newLine:ae,neverAsciiEscape:!0,preserveSourceNewlines:!0,terminateUnterminatedLiterals:!0},me).writeNode(4,B,G,me),{text:me.getText(),node:F(B)}}T.getNonformattedText=O})(N||(N={}));function K(T,w){for(var A=w.length-1;A>=0;A--){var oe=w[A],W=oe.span,u=oe.newText;T="".concat(T.substring(0,W.start)).concat(u).concat(T.substring(e.textSpanEnd(W)))}return T}l.applyChanges=K;function q(T){return e.skipTrivia(T,0)===T.length}var b=Ri(Ri({},e.nullTransformationContext),{factory:e.createNodeFactory(e.nullTransformationContext.factory.flags|1,e.nullTransformationContext.factory.baseFactory)});function F(T){var w=e.visitEachChild(T,F,b,Q,F),A=e.nodeIsSynthesized(w)?w:Object.create(w);return e.setTextRangePosEnd(A,_(T),p(T)),A}l.assignPositionsToNode=F;function Q(T,w,A,oe,W){var u=e.visitNodes(T,w,A,oe,W);if(!u)return u;var O=u===T?e.factory.createNodeArray(u.slice(0)):u;return e.setTextRangePosEnd(O,_(T),p(T)),O}function j(T){var w=0,A=e.createTextWriter(T),oe=function(ln){ln&&h(ln,w)},W=function(ln){ln&&P(ln,w)},u=function(ln){ln&&h(ln,w)},O=function(ln){ln&&P(ln,w)},B=function(ln){ln&&h(ln,w)},G=function(ln){ln&&P(ln,w)};function $(ln,dr){if(dr||!q(ln)){w=A.getTextPos();for(var vr=0;e.isWhiteSpaceLike(ln.charCodeAt(ln.length-vr-1));)vr++;w-=vr}}function me(ln){A.write(ln),$(ln,!1)}function ae(ln){A.writeComment(ln)}function Me(ln){A.writeKeyword(ln),$(ln,!1)}function Oe(ln){A.writeOperator(ln),$(ln,!1)}function xe(ln){A.writePunctuation(ln),$(ln,!1)}function Se(ln){A.writeTrailingSemicolon(ln),$(ln,!1)}function Ce(ln){A.writeParameter(ln),$(ln,!1)}function ze(ln){A.writeProperty(ln),$(ln,!1)}function Ee(ln){A.writeSpace(ln),$(ln,!1)}function Le(ln){A.writeStringLiteral(ln),$(ln,!1)}function be(ln,dr){A.writeSymbol(ln,dr),$(ln,!1)}function ue(ln){A.writeLine(ln)}function y(){A.increaseIndent()}function X(){A.decreaseIndent()}function Ae(){return A.getText()}function Te(ln){A.rawWrite(ln),$(ln,!1)}function Je(ln){A.writeLiteral(ln),$(ln,!0)}function er(){return A.getTextPos()}function wr(){return A.getLine()}function mr(){return A.getColumn()}function We(){return A.getIndent()}function a(){return A.isAtStartOfLine()}function qr(){A.clear(),w=0}return{onBeforeEmitNode:oe,onAfterEmitNode:W,onBeforeEmitNodeArray:u,onAfterEmitNodeArray:O,onBeforeEmitToken:B,onAfterEmitToken:G,write:me,writeComment:ae,writeKeyword:Me,writeOperator:Oe,writePunctuation:xe,writeTrailingSemicolon:Se,writeParameter:Ce,writeProperty:ze,writeSpace:Ee,writeStringLiteral:Le,writeSymbol:be,writeLine:ue,increaseIndent:y,decreaseIndent:X,getText:Ae,rawWrite:Te,writeLiteral:Je,getTextPos:er,getLine:wr,getColumn:mr,getIndent:We,isAtStartOfLine:a,hasTrailingComment:function(){return A.hasTrailingComment()},hasTrailingWhitespace:function(){return A.hasTrailingWhitespace()},clear:qr}}l.createWriter=j;function I(T){for(var w,A=0,oe=T.statements;A=Se+2)break}if(T.statements.length){me===void 0&&(me=T.getLineAndCharacterOfPosition(T.statements[0].getStart()).line);var Ce=T.getLineAndCharacterOfPosition(Oe.end).line;if(me1)break}var re=R<2;return function(N){var K=N.fixId,q=N.fixAllDescription,b=sE(N,["fixId","fixAllDescription"]);return re?b:Ri(Ri({},b),{fixId:K,fixAllDescription:q})}}function ce(D){var C=d(D),k=_.get(String(D.errorCode));return e.flatMap(k,function(R){return e.map(R.getCodeActions(D),Y(R,C))})}l.getFixes=ce;function Z(D){return h.get(e.cast(D.fixId,e.isString)).getAllCodeActions(D)}l.getAllFixes=Z;function ie(D,C){return{changes:D,commands:C}}l.createCombinedCodeActions=ie;function te(D,C){return{fileName:D,textChanges:C}}l.createFileTextChanges=te;function x(D,C,k){var R=[],M=e.textChanges.ChangeTracker.with(D,function(ge){return J(D,C,function(ve){return k(ge,ve,R)})});return ie(M,R.length===0?void 0:R)}l.codeFixAll=x;function J(D,C,k){for(var R=0,M=d(D);Re.textSpanEnd(v)?"quit":(e.isArrowFunction(Z)||e.isMethodDeclaration(Z)||e.isFunctionExpression(Z)||e.isFunctionDeclaration(Z))&&e.textSpansEqual(v,e.createTextSpanFromNode(Z,g))});return ce}}function U(g,v){return function(Y){var ce=Y.start,Z=Y.length,ie=Y.relatedInformation,te=Y.code;return e.isNumber(ce)&&e.isNumber(Z)&&e.textSpansEqual({start:ce,length:Z},g)&&te===v&&!!ie&&e.some(ie,function(x){return x.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})}}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="addMissingAwait",h=e.Diagnostics.Property_0_does_not_exist_on_type_1.code,p=[e.Diagnostics.This_expression_is_not_callable.code,e.Diagnostics.This_expression_is_not_constructable.code],P=Hn([e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.Operator_0_cannot_be_applied_to_type_1.code,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2.code,e.Diagnostics.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap.code,e.Diagnostics.This_condition_will_always_return_true_since_this_0_is_always_defined.code,e.Diagnostics.Type_0_is_not_an_array_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type.code,e.Diagnostics.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,h],p,!0);l.registerCodeFix({fixIds:[_],errorCodes:P,getCodeActions:function(d){var D=d.sourceFile,C=d.errorCode,k=d.span,R=d.cancellationToken,M=d.program,ge=z(D,C,k,R,M);if(ge){var ve=d.program.getTypeChecker(),re=function(N){return e.textChanges.ChangeTracker.with(d,N)};return e.compact([U(d,ge,C,ve,re),g(d,ge,C,ve,re)])}},getAllCodeActions:function(J){var d=J.sourceFile,D=J.program,C=J.cancellationToken,k=J.program.getTypeChecker(),R=new e.Set;return l.codeFixAll(J,P,function(M,ge){var ve=z(d,ge.code,ge,C,D);if(ve){var re=function(N){return N(M),[]};return U(J,ve,ge.code,k,re,R)||g(J,ve,ge.code,k,re,R)}})}});function z(J,d,D,C,k){var R=e.getFixableErrorSpanExpression(J,D);return R&&v(J,d,D,C,k)&&ie(R)?R:void 0}function U(J,d,D,C,k,R){var M=J.sourceFile,ge=J.program,ve=J.cancellationToken,re=Y(d,M,ve,ge,C);if(re){var N=k(function(K){e.forEach(re.initializers,function(q){var b=q.expression;return te(K,D,M,C,b,R)}),R&&re.needsSecondPassForFixAll&&te(K,D,M,C,d,R)});return l.createCodeFixActionWithoutFixAll("addMissingAwaitToInitializer",N,re.initializers.length===1?[e.Diagnostics.Add_await_to_initializer_for_0,re.initializers[0].declarationSymbol.name]:e.Diagnostics.Add_await_to_initializers)}}function g(J,d,D,C,k,R){var M=k(function(ge){return te(ge,D,J.sourceFile,C,d,R)});return l.createCodeFixAction(_,M,e.Diagnostics.Add_await,_,e.Diagnostics.Fix_all_expressions_possibly_missing_await)}function v(J,d,D,C,k){var R=k.getTypeChecker(),M=R.getDiagnostics(J,C);return e.some(M,function(ge){var ve=ge.start,re=ge.length,N=ge.relatedInformation,K=ge.code;return e.isNumber(ve)&&e.isNumber(re)&&e.textSpansEqual({start:ve,length:re},D)&&K===d&&!!N&&e.some(N,function(q){return q.code===e.Diagnostics.Did_you_forget_to_use_await.code})})}function Y(J,d,D,C,k){var R=ce(J,k);if(R){for(var M=R.isCompleteFix,ge,ve=function(q){var b=k.getSymbolAtLocation(q);if(!b)return"continue";var F=e.tryCast(b.valueDeclaration,e.isVariableDeclaration),Q=F&&e.tryCast(F.name,e.isIdentifier),j=e.getAncestor(F,240);if(!F||!j||F.type||!F.initializer||j.getSourceFile()!==d||e.hasSyntacticModifier(j,1)||!Q||!ie(F.initializer))return M=!1,"continue";var I=C.getSemanticDiagnostics(d,D),L=e.FindAllReferences.Core.eachSymbolReferenceInFile(Q,k,d,function(V){return q!==V&&!Z(V,I,d,k)});if(L)return M=!1,"continue";(ge||(ge=[])).push({expression:F.initializer,declarationSymbol:b})},re=0,N=R.identifiers;re0)return[l.createCodeFixAction(_,Z,e.Diagnostics.Add_const_to_unresolved_variable,_,e.Diagnostics.Add_const_to_all_unresolved_variables)]},fixIds:[_],getAllCodeActions:function(Y){var ce=new e.Set;return l.codeFixAll(Y,h,function(Z,ie){return p(Z,ie.file,ie.start,Y.program,ce)})}});function p(Y,ce,Z,ie,te){var x=e.getTokenAtPosition(ce,Z),J=e.findAncestor(x,function(R){return e.isForInOrOfStatement(R.parent)?R.parent.initializer===R:z(R)?!1:"quit"});if(J)return P(Y,J,ce,te);var d=x.parent;if(e.isBinaryExpression(d)&&d.operatorToken.kind===63&&e.isExpressionStatement(d.parent))return P(Y,x,ce,te);if(e.isArrayLiteralExpression(d)){var D=ie.getTypeChecker();return e.every(d.elements,function(R){return U(R,D)})?P(Y,d,ce,te):void 0}var C=e.findAncestor(x,function(R){return e.isExpressionStatement(R.parent)?!0:g(R)?!1:"quit"});if(C){var k=ie.getTypeChecker();return v(C,k)?P(Y,C,ce,te):void 0}}function P(Y,ce,Z,ie){(!ie||e.tryAddToSet(ie,ce))&&Y.insertModifierBefore(Z,85,ce)}function z(Y){switch(Y.kind){case 79:case 206:case 207:case 299:case 300:return!0;default:return!1}}function U(Y,ce){var Z=e.isIdentifier(Y)?Y:e.isAssignmentExpression(Y,!0)&&e.isIdentifier(Y.left)?Y.left:void 0;return!!Z&&!ce.getSymbolAtLocation(Z)}function g(Y){switch(Y.kind){case 79:case 223:case 27:return!0;default:return!1}}function v(Y,ce){return e.isBinaryExpression(Y)?Y.operatorToken.kind===27?e.every([Y.left,Y.right],function(Z){return v(Z,ce)}):Y.operatorToken.kind===63&&e.isIdentifier(Y.left)&&!ce.getSymbolAtLocation(Y.left):!1}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="addMissingDeclareProperty",h=[e.Diagnostics.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(z){var U=e.textChanges.ChangeTracker.with(z,function(g){return p(g,z.sourceFile,z.span.start)});if(U.length>0)return[l.createCodeFixAction(_,U,e.Diagnostics.Prefix_with_declare,_,e.Diagnostics.Prefix_all_incorrect_property_declarations_with_declare)]},fixIds:[_],getAllCodeActions:function(P){var z=new e.Set;return l.codeFixAll(P,h,function(U,g){return p(U,g.file,g.start,z)})}});function p(P,z,U,g){var v=e.getTokenAtPosition(z,U);if(e.isIdentifier(v)){var Y=v.parent;Y.kind===169&&(!g||e.tryAddToSet(g,Y))&&P.insertModifierBefore(z,136,Y)}}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="addMissingInvocationForDecorator",h=[e.Diagnostics._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(z){var U=e.textChanges.ChangeTracker.with(z,function(g){return p(g,z.sourceFile,z.span.start)});return[l.createCodeFixAction(_,U,e.Diagnostics.Call_decorator_expression,_,e.Diagnostics.Add_to_all_uncalled_decorators)]},fixIds:[_],getAllCodeActions:function(P){return l.codeFixAll(P,h,function(z,U){return p(z,U.file,U.start)})}});function p(P,z,U){var g=e.getTokenAtPosition(z,U),v=e.findAncestor(g,e.isDecorator);e.Debug.assert(!!v,"Expected position to be owned by a decorator.");var Y=e.factory.createCallExpression(v.expression,void 0,void 0);P.replaceNode(z,v.expression,Y)}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="addNameToNamelessParameter",h=[e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(z){var U=e.textChanges.ChangeTracker.with(z,function(g){return p(g,z.sourceFile,z.span.start)});return[l.createCodeFixAction(_,U,e.Diagnostics.Add_parameter_name,_,e.Diagnostics.Add_names_to_all_parameters_without_names)]},fixIds:[_],getAllCodeActions:function(P){return l.codeFixAll(P,h,function(z,U){return p(z,U.file,U.start)})}});function p(P,z,U){var g=e.getTokenAtPosition(z,U),v=g.parent;if(!e.isParameter(v))return e.Debug.fail("Tried to add a parameter name to a non-parameter: "+e.Debug.formatSyntaxKind(g.kind));var Y=v.parent.parameters.indexOf(v);e.Debug.assert(!v.type,"Tried to add a parameter name to a parameter that already had one."),e.Debug.assert(Y>-1,"Parameter not found in parent parameter list.");var ce=e.factory.createTypeReferenceNode(v.name,void 0),Z=e.factory.createParameterDeclaration(v.modifiers,v.dotDotDotToken,"arg"+Y,v.questionToken,v.dotDotDotToken?e.factory.createArrayTypeNode(ce):ce,v.initializer);P.replaceNode(z,v,Z)}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="addOptionalPropertyUndefined",h=[e.Diagnostics.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(g){var v=g.program.getTypeChecker(),Y=p(g.sourceFile,g.span,v);if(Y.length){var ce=e.textChanges.ChangeTracker.with(g,function(Z){return U(Z,Y)});return[l.createCodeFixActionWithoutFixAll(_,ce,e.Diagnostics.Add_undefined_to_optional_property_type)]}},fixIds:[_]});function p(g,v,Y){var ce,Z,ie=z(e.getFixableErrorSpanExpression(g,v),Y);if(!ie)return e.emptyArray;var te=ie.source,x=ie.target,J=P(te,x,Y)?Y.getTypeAtLocation(x.expression):Y.getTypeAtLocation(x);return!((Z=(ce=J.symbol)===null||ce===void 0?void 0:ce.declarations)===null||Z===void 0)&&Z.some(function(d){return e.getSourceFileOfNode(d).fileName.match(/\.d\.ts$/)})?e.emptyArray:Y.getExactOptionalProperties(J)}function P(g,v,Y){return e.isPropertyAccessExpression(v)&&!!Y.getExactOptionalProperties(Y.getTypeAtLocation(v.expression)).length&&Y.getTypeAtLocation(g)===Y.getUndefinedType()}function z(g,v){var Y;if(g){if(e.isBinaryExpression(g.parent)&&g.parent.operatorToken.kind===63)return{source:g.parent.right,target:g.parent.left};if(e.isVariableDeclaration(g.parent)&&g.parent.initializer)return{source:g.parent.initializer,target:g.parent.name};if(e.isCallExpression(g.parent)){var ce=v.getSymbolAtLocation(g.parent.expression);if(!(ce!=null&&ce.valueDeclaration)||!e.isFunctionLikeKind(ce.valueDeclaration.kind)||!e.isExpression(g))return;var Z=g.parent.arguments.indexOf(g);if(Z===-1)return;var ie=ce.valueDeclaration.parameters[Z].name;if(e.isIdentifier(ie))return{source:g,target:ie}}else if(e.isPropertyAssignment(g.parent)&&e.isIdentifier(g.parent.name)||e.isShorthandPropertyAssignment(g.parent)){var te=z(g.parent.parent,v);if(!te)return;var x=v.getPropertyOfType(v.getTypeAtLocation(te.target),g.parent.name.text),J=(Y=x==null?void 0:x.declarations)===null||Y===void 0?void 0:Y[0];return J?{source:e.isPropertyAssignment(g.parent)?g.parent.initializer:g.parent.name,target:J}:void 0}}else return}function U(g,v){for(var Y=0,ce=v;Y1?(g.delete(v,x),g.insertNodeAfter(v,d,J)):g.replaceNode(v,d,J)}function D(R){var M=[];return R.exports&&R.exports.forEach(function(re){if(re.name==="prototype"&&re.declarations){var N=re.declarations[0];if(re.declarations.length===1&&e.isPropertyAccessExpression(N)&&e.isBinaryExpression(N.parent)&&N.parent.operatorToken.kind===63&&e.isObjectLiteralExpression(N.parent.right)){var K=N.parent.right;ve(K.symbol,void 0,M)}}else ve(re,[e.factory.createToken(124)],M)}),R.members&&R.members.forEach(function(re,N){var K,q,b,F;if(N==="constructor"&&re.valueDeclaration){var Q=(F=(b=(q=(K=R.exports)===null||K===void 0?void 0:K.get("prototype"))===null||q===void 0?void 0:q.declarations)===null||b===void 0?void 0:b[0])===null||F===void 0?void 0:F.parent;Q&&e.isBinaryExpression(Q)&&e.isObjectLiteralExpression(Q.right)&&e.some(Q.right.properties,z)||g.delete(v,re.valueDeclaration.parent);return}ve(re,void 0,M)}),M;function ge(re,N){return e.isAccessExpression(re)?e.isPropertyAccessExpression(re)&&z(re)?!0:e.isFunctionLike(N):e.every(re.properties,function(K){return!!(e.isMethodDeclaration(K)||e.isGetOrSetAccessorDeclaration(K)||e.isPropertyAssignment(K)&&e.isFunctionExpression(K.initializer)&&K.name||z(K))})}function ve(re,N,K){if(!(re.flags&8192)&&!(re.flags&4096))return;var q=re.valueDeclaration,b=q.parent,F=b.right;if(!ge(q,F)||e.some(K,function(De){var T=e.getNameOfDeclaration(De);return!!(T&&e.isIdentifier(T)&&e.idText(T)===e.symbolName(re))}))return;var Q=b.parent&&b.parent.kind===241?b.parent:b;if(g.delete(v,Q),!F){K.push(e.factory.createPropertyDeclaration(N,re.name,void 0,void 0,void 0));return}if(e.isAccessExpression(q)&&(e.isFunctionExpression(F)||e.isArrowFunction(F))){var j=e.getQuotePreference(v,Z),I=U(q,ie,j);I&&V(K,F,I);return}else if(e.isObjectLiteralExpression(F)){e.forEach(F.properties,function(De){(e.isMethodDeclaration(De)||e.isGetOrSetAccessorDeclaration(De))&&K.push(De),e.isPropertyAssignment(De)&&e.isFunctionExpression(De.initializer)&&V(K,De.initializer,De.name),z(De)});return}else{if(e.isSourceFileJS(v)||!e.isPropertyAccessExpression(q))return;var L=e.factory.createPropertyDeclaration(N,q.name,void 0,void 0,F);e.copyLeadingComments(b.parent,L,v),K.push(L);return}function V(De,T,w){return e.isFunctionExpression(T)?ne(De,T,w):se(De,T,w)}function ne(De,T,w){var A=e.concatenate(N,P(T,132)),oe=e.factory.createMethodDeclaration(A,void 0,w,void 0,void 0,T.parameters,void 0,T.body);e.copyLeadingComments(b,oe,v),De.push(oe)}function se(De,T,w){var A=T.body,oe;A.kind===238?oe=A:oe=e.factory.createBlock([e.factory.createReturnStatement(A)]);var W=e.concatenate(N,P(T,132)),u=e.factory.createMethodDeclaration(W,void 0,w,void 0,void 0,T.parameters,void 0,oe);e.copyLeadingComments(b,u,v),De.push(u)}}}function C(R){var M=R.initializer;if(!(!M||!e.isFunctionExpression(M)||!e.isIdentifier(R.name))){var ge=D(R.symbol);M.body&&ge.unshift(e.factory.createConstructorDeclaration(void 0,M.parameters,M.body));var ve=P(R.parent.parent,93),re=e.factory.createClassDeclaration(ve,R.name,void 0,void 0,ge);return re}}function k(R){var M=D(te);R.body&&M.unshift(e.factory.createConstructorDeclaration(void 0,R.parameters,R.body));var ge=P(R,93),ve=e.factory.createClassDeclaration(ge,R.name,void 0,void 0,M);return ve}}function P(g,v){return e.canHaveModifiers(g)?e.filter(g.modifiers,function(Y){return Y.kind===v}):void 0}function z(g){return g.name?!!(e.isIdentifier(g.name)&&g.name.text==="constructor"):!1}function U(g,v,Y){if(e.isPropertyAccessExpression(g))return g.name;var ce=g.argumentExpression;if(e.isNumericLiteral(ce))return ce;if(e.isStringLiteralLike(ce))return e.isIdentifierText(ce.text,e.getEmitScriptTarget(v))?e.factory.createIdentifier(ce.text):e.isNoSubstitutionTemplateLiteral(ce)?e.factory.createStringLiteral(ce.text,Y===0):ce}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="convertToAsyncFunction",h=[e.Diagnostics.This_may_be_converted_to_an_async_function.code],p=!0;l.registerCodeFix({errorCodes:h,getCodeActions:function(u){p=!0;var O=e.textChanges.ChangeTracker.with(u,function(B){return z(B,u.sourceFile,u.span.start,u.program.getTypeChecker())});return p?[l.createCodeFixAction(_,O,e.Diagnostics.Convert_to_async_function,_,e.Diagnostics.Convert_all_to_async_functions)]:[]},fixIds:[_],getAllCodeActions:function(u){return l.codeFixAll(u,h,function(O,B){return z(O,B.file,B.start,u.program.getTypeChecker())})}});var P;(function(u){u[u.Identifier=0]="Identifier",u[u.BindingPattern=1]="BindingPattern"})(P||(P={}));function z(u,O,B,G){var $=e.getTokenAtPosition(O,B),me;if(e.isIdentifier($)&&e.isVariableDeclaration($.parent)&&$.parent.initializer&&e.isFunctionLikeDeclaration($.parent.initializer)?me=$.parent.initializer:me=e.tryCast(e.getContainingFunction(e.getTokenAtPosition(O,B)),e.canBeConvertedToAsync),!!me){var ae=new e.Map,Me=e.isInJSFile(me),Oe=g(me,G),xe=ie(me,G,ae);if(e.returnsPromise(xe,G)){var Se=xe.body&&e.isBlock(xe.body)?U(xe.body,G):e.emptyArray,Ce={checker:G,synthNamesMap:ae,setOfExpressionsToReturn:Oe,isInJSFile:Me};if(Se.length){var ze=e.skipTrivia(O.text,e.moveRangePastModifiers(me).pos);u.insertModifierAt(O,ze,132,{suffix:" "});for(var Ee=function(X){if(e.forEachChild(X,function Ae(Te){if(e.isCallExpression(Te)){var Je=d(Te,Te,Ce,!1);if(x())return!0;u.replaceNodeWithNodes(O,X,Je)}else if(!e.isFunctionLike(Te)&&(e.forEachChild(Te,Ae),x()))return!0}),x())return{value:void 0}},Le=0,be=Se;Le0)return Te;if(Ee){var Ae=b(me.checker,Ee,ze);if(W($,me))return K(Ae,ce($,u,me.checker));var Je=N(B,Ae,void 0);return B&&B.types.push(me.checker.getAwaitedType(Ee)||Ee),Je}else return J()}}default:return J()}return e.emptyArray}function b(u,O,B){var G=e.getSynthesizedDeepClone(B);return u.getPromisedTypeOfPromise(O)?e.factory.createAwaitExpression(G):G}function F(u,O){var B=O.getSignaturesOfType(u,0);return e.lastOrUndefined(B)}function Q(u,O,B,G){for(var $=[],me=0,ae=u;me0)return}else e.isFunctionLike(ae)||e.forEachChild(ae,me)}),$}function I(u,O){var B=[],G;if(e.isFunctionLikeDeclaration(u)){if(u.parameters.length>0){var $=u.parameters[0].name;G=me($)}}else e.isIdentifier(u)?G=ae(u):e.isPropertyAccessExpression(u)&&e.isIdentifier(u.name)&&(G=ae(u.name));if(!G||"identifier"in G&&G.identifier.text==="undefined")return;return G;function me(xe){if(e.isIdentifier(xe))return ae(xe);var Se=e.flatMap(xe.elements,function(Ce){return e.isOmittedExpression(Ce)?[]:[me(Ce.name)]});return ne(xe,Se)}function ae(xe){var Se=Oe(xe),Ce=Me(Se);if(!Ce)return V(xe,B);var ze=O.synthNamesMap.get(e.getSymbolId(Ce).toString());return ze||V(xe,B)}function Me(xe){return xe.symbol?xe.symbol:O.checker.getSymbolAtLocation(xe)}function Oe(xe){return xe.original?xe.original:xe}}function L(u){return u?A(u)?!u.identifier.text:e.every(u.elements,L):!0}function V(u,O){return O===void 0&&(O=[]),{kind:0,identifier:u,types:O,hasBeenDeclared:!1,hasBeenReferenced:!1}}function ne(u,O,B){return O===void 0&&(O=e.emptyArray),B===void 0&&(B=[]),{kind:1,bindingPattern:u,elements:O,types:B}}function se(u){return u.hasBeenReferenced=!0,u.identifier}function De(u){return A(u)?w(u):T(u)}function T(u){for(var O=0,B=u.elements;O1?[[te(L),x(L)],!0]:[[x(L)],!0]:[[te(L)],!1]}function te(j){return F(void 0,j)}function x(j){return F([e.factory.createExportSpecifier(!1,void 0,"default")],j)}function J(j,I,L){var V=j.left,ne=j.right,se=j.parent,De=V.name.text;if((e.isFunctionExpression(ne)||e.isArrowFunction(ne)||e.isClassExpression(ne))&&(!ne.name||ne.name.text===De)){L.replaceRange(I,{pos:V.getStart(I),end:ne.getStart(I)},e.factory.createToken(93),{suffix:" "}),ne.name||L.insertName(I,ne,De);var T=e.findChildOfKind(se,26,I);T&&L.delete(I,T)}else L.replaceNodeRangeWithNodes(I,V.expression,e.findChildOfKind(V,24,I),[e.factory.createToken(93),e.factory.createToken(85)],{joiner:" ",suffix:" "})}function d(j,I,L){var V=[e.factory.createToken(93)];switch(I.kind){case 215:{var ne=I.name;if(ne&&ne.text!==j)return se()}case 216:return re(j,V,I,L);case 228:return N(j,V,I,L);default:return se()}function se(){return b(V,e.factory.createIdentifier(j),D(I,L))}}function D(j,I){if(!I||!e.some(e.arrayFrom(I.keys()),function(V){return e.rangeContainsRange(j,V)}))return j;return e.isArray(j)?e.getSynthesizedDeepClonesWithReplacements(j,!0,L):e.getSynthesizedDeepCloneWithReplacements(j,!0,L);function L(V){if(V.kind===208){var ne=I.get(V);return I.delete(V),ne}}}function C(j,I,L,V,ne,se){switch(j.kind){case 203:{var De=e.mapAllOrFail(j.elements,function(w){return w.dotDotDotToken||w.initializer||w.propertyName&&!e.isIdentifier(w.propertyName)||!e.isIdentifier(w.name)?void 0:q(w.propertyName&&w.propertyName.text,w.name.text)});if(De)return Q([e.makeImport(void 0,De,I,se)])}case 204:{var T=R(l.moduleSpecifierToValidIdentifier(I.text,ne),V);return Q([e.makeImport(e.factory.createIdentifier(T),void 0,I,se),b(void 0,e.getSynthesizedDeepClone(j),e.factory.createIdentifier(T))])}case 79:return k(j,I,L,V,se);default:return e.Debug.assertNever(j,"Convert to ES module got invalid name kind ".concat(j.kind))}}function k(j,I,L,V,ne){for(var se=L.getSymbolAtLocation(j),De=new e.Map,T=!1,w,A=0,oe=V.original.get(j.text);A0||wr.length>0||mr.size>0||We.size>0}}function z(be,ue,y,X){var Ae=e.createPackageJsonImportFilter(be,X,y),Te=R(ue.getTypeChecker(),be,ue.getCompilerOptions());return{getModuleSpecifierForBestExportInfo:Je};function Je(er,wr,mr,We,a){var qr=x(er,{symbolName:wr,position:mr},We,!1,ue,be,y,X,Te,a),ln=qr.fixes,dr=qr.computedWithoutCacheCount,vr=b(ln,be,ue,Ae,y);return vr&&Ri(Ri({},vr),{computedWithoutCacheCount:dr})}}l.createImportSpecifierResolver=z;var U;(function(be){be[be.UseNamespace=0]="UseNamespace",be[be.JsdocTypeImport=1]="JsdocTypeImport",be[be.AddToExisting=2]="AddToExisting",be[be.AddNew=3]="AddNew",be[be.PromoteTypeOnly=4]="PromoteTypeOnly"})(U||(U={}));var g;(function(be){be[be.Allowed=1]="Allowed",be[be.Required=2]="Required",be[be.NotAllowed=4]="NotAllowed"})(g||(g={}));function v(be,ue,y,X,Ae,Te,Je,er,wr,mr,We){var a=Je.getCompilerOptions(),qr=e.pathIsBareSpecifier(e.stripQuotes(ue.name))?[te(be,ue,Je,Te)]:ie(y,be,X,Ae,Je,Te,mr,We);e.Debug.assertIsDefined(qr);var ln=M(y,Je),dr=e.isValidTypeOnlyAliasUseSite(e.getTokenAtPosition(y,wr)),vr=e.Debug.checkDefined(ce(y,qr,ue,Je,{symbolName:X,position:wr},dr,ln,Te,mr));return{moduleSpecifier:vr.moduleSpecifier,codeAction:Z(u({host:Te,formatContext:er,preferences:mr},y,X,vr,!1,e.getQuotePreference(y,mr),a))}}l.getImportCompletionAction=v;function Y(be,ue,y,X,Ae,Te){var Je=y.getCompilerOptions(),er=e.single(w(be,y.getTypeChecker(),ue,Je)),wr=T(be,ue,er,y),mr=er!==ue.text;return wr&&Z(u({host:X,formatContext:Ae,preferences:Te},be,er,wr,mr,1,Je))}l.getPromoteTypeOnlyCompletionAction=Y;function ce(be,ue,y,X,Ae,Te,Je,er,wr){e.Debug.assert(ue.some(function(We){return We.moduleSymbol===y||We.symbol.parent===y}),"Some exportInfo should match the specified moduleSymbol");var mr=e.createPackageJsonImportFilter(be,wr,er);return b(x(ue,Ae,Te,Je,X,be,er,wr).fixes,be,X,mr,er)}function Z(be){var ue=be.description,y=be.changes,X=be.commands;return{description:ue,changes:y,commands:X}}function ie(be,ue,y,X,Ae,Te,Je,er){var wr=ge(Ae,Te);return e.getExportInfoMap(be,Te,Ae,Je,er).search(be.path,X,function(mr){return mr===y},function(mr){if(e.skipAlias(mr[0].symbol,wr(mr[0].isFromPackageJson))===ue)return mr})}function te(be,ue,y,X){var Ae,Te,Je=y.getCompilerOptions(),er=mr(y.getTypeChecker(),!1);if(er)return er;var wr=(Te=(Ae=X.getPackageJsonAutoImportProvider)===null||Ae===void 0?void 0:Ae.call(X))===null||Te===void 0?void 0:Te.getTypeChecker();return e.Debug.checkDefined(wr&&mr(wr,!0),"Could not find symbol in specified module for code actions");function mr(We,a){var qr=e.getDefaultLikeExportInfo(ue,We,Je);if(qr&&e.skipAlias(qr.symbol,We)===be)return{symbol:qr.symbol,moduleSymbol:ue,moduleFileName:void 0,exportKind:qr.exportKind,targetFlags:e.skipAlias(be,We).flags,isFromPackageJson:a};var ln=We.tryGetMemberInModuleExportsAndProperties(be.name,ue);if(ln&&e.skipAlias(ln,We)===be)return{symbol:ln,moduleSymbol:ue,moduleFileName:void 0,exportKind:0,targetFlags:e.skipAlias(be,We).flags,isFromPackageJson:a}}}function x(be,ue,y,X,Ae,Te,Je,er,wr,mr){wr===void 0&&(wr=R(Ae.getTypeChecker(),Te,Ae.getCompilerOptions()));var We=Ae.getTypeChecker(),a=e.flatMap(be,wr.getImportsForExportInfo),qr=ue&&J(a,ue.symbolName,ue.position,We),ln=k(a,y,We,Ae.getCompilerOptions());if(ln)return{computedWithoutCacheCount:0,fixes:Hn(Hn([],qr?[qr]:e.emptyArray,!0),[ln],!1)};var dr=re(be,a,Ae,Te,ue==null?void 0:ue.position,y,X,Je,er,mr),vr=dr.fixes,kr=dr.computedWithoutCacheCount,jr=kr===void 0?0:kr;return{computedWithoutCacheCount:jr,fixes:Hn(Hn([],qr?[qr]:e.emptyArray,!0),vr,!0)}}function J(be,ue,y,X){return e.firstDefined(be,function(Ae){var Te,Je=Ae.declaration,er=D(Je),wr=(Te=e.tryGetModuleSpecifierFromDeclaration(Je))===null||Te===void 0?void 0:Te.text;if(er&&wr){var mr=d(Je,X);if(mr&&mr.exports.has(e.escapeLeadingUnderscores(ue)))return{kind:0,namespacePrefix:er,position:y,moduleSpecifier:wr}}})}function d(be,ue){var y;switch(be.kind){case 257:return ue.resolveExternalModuleName(be.initializer.arguments[0]);case 268:return ue.getAliasedSymbol(be.symbol);case 269:var X=e.tryCast((y=be.importClause)===null||y===void 0?void 0:y.namedBindings,e.isNamespaceImport);return X&&ue.getAliasedSymbol(X.symbol);default:return e.Debug.assertNever(be)}}function D(be){var ue,y,X;switch(be.kind){case 257:return(ue=e.tryCast(be.name,e.isIdentifier))===null||ue===void 0?void 0:ue.text;case 268:return be.name.text;case 269:return(X=e.tryCast((y=be.importClause)===null||y===void 0?void 0:y.namedBindings,e.isNamespaceImport))===null||X===void 0?void 0:X.name.text;default:return e.Debug.assertNever(be)}}function C(be,ue,y,X,Ae,Te){return be?ue&&Te.importsNotUsedAsValues===2||Te.isolatedModules&&Te.preserveValueImports&&(!(X&111551)||Ae.getTypeOnlyAliasDeclaration(y))?2:1:4}function k(be,ue,y,X){return e.firstDefined(be,function(Ae){var Te=Ae.declaration,Je=Ae.importKind,er=Ae.symbol,wr=Ae.targetFlags;if(!(Je===3||Je===2||Te.kind===268)){if(Te.kind===257)return(Je===0||Je===1)&&Te.name.kind===203?{kind:2,importClauseOrBindingPattern:Te.name,importKind:Je,moduleSpecifier:Te.initializer.arguments[0].text,addAsTypeOnly:4}:void 0;var mr=Te.importClause;if(!(!mr||!e.isStringLiteralLike(Te.moduleSpecifier))){var We=mr.name,a=mr.namedBindings;if(!(mr.isTypeOnly&&!(Je===0&&a))){var qr=C(ue,!1,er,wr,y,X);if(!(Je===1&&(We||qr===2&&a))&&!(Je===0&&(a==null?void 0:a.kind)===271))return{kind:2,importClauseOrBindingPattern:mr,importKind:Je,moduleSpecifier:Te.moduleSpecifier.text,addAsTypeOnly:qr}}}}})}function R(be,ue,y){for(var X,Ae=0,Te=ue.imports;Ae0}:{kind:3,moduleSpecifier:Ve,importKind:ne(ue,jr.exportKind,We),useRequire:Ae,addAsTypeOnly:Pe,exportInfo:jr,isReExport:Cr>0}})});return{computedWithoutCacheCount:vr,fixes:kr}}function re(be,ue,y,X,Ae,Te,Je,er,wr,mr){var We=e.firstDefined(ue,function(a){return N(a,Te,Je,y.getTypeChecker(),y.getCompilerOptions())});return We?{fixes:[We]}:ve(y,X,Ae,Te,Je,be,er,wr,mr)}function N(be,ue,y,X,Ae){var Te,Je=be.declaration,er=be.importKind,wr=be.symbol,mr=be.targetFlags,We=(Te=e.tryGetModuleSpecifierFromDeclaration(Je))===null||Te===void 0?void 0:Te.text;if(We){var a=y?4:C(ue,!0,wr,mr,X,Ae);return{kind:3,moduleSpecifier:We,importKind:er,addAsTypeOnly:a,useRequire:y}}}function K(be,ue,y,X){var Ae=e.getTokenAtPosition(be.sourceFile,y),Te;if(ue===e.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code)Te=L(be,Ae);else if(e.isIdentifier(Ae))if(ue===e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code){var Je=e.single(w(be.sourceFile,be.program.getTypeChecker(),Ae,be.program.getCompilerOptions())),er=T(be.sourceFile,Ae,Je,be.program);return er&&[{fix:er,symbolName:Je,errorIdentifierText:Ae.text}]}else Te=De(be,Ae,X);else return;var wr=e.createPackageJsonImportFilter(be.sourceFile,be.preferences,be.host);return Te&&q(Te,be.sourceFile,be.program,wr,be.host)}function q(be,ue,y,X,Ae){var Te=function(Je){return e.toPath(Je,Ae.getCurrentDirectory(),e.hostGetCanonicalFileName(Ae))};return e.sort(be,function(Je,er){return e.compareBooleans(!!Je.isJsxNamespaceFix,!!er.isJsxNamespaceFix)||e.compareValues(Je.fix.kind,er.fix.kind)||F(Je.fix,er.fix,ue,y,X.allowsImportingSpecifier,Te)})}function b(be,ue,y,X,Ae){if(e.some(be))return be[0].kind===0||be[0].kind===2?be[0]:be.reduce(function(Te,Je){return F(Je,Te,ue,y,X.allowsImportingSpecifier,function(er){return e.toPath(er,Ae.getCurrentDirectory(),e.hostGetCanonicalFileName(Ae))})===-1?Je:Te})}function F(be,ue,y,X,Ae,Te){return be.kind!==0&&ue.kind!==0?e.compareBooleans(Ae(ue.moduleSpecifier),Ae(be.moduleSpecifier))||I(be.moduleSpecifier,ue.moduleSpecifier,y,X)||e.compareBooleans(Q(be,y,X.getCompilerOptions(),Te),Q(ue,y,X.getCompilerOptions(),Te))||e.compareNumberOfDirectorySeparators(be.moduleSpecifier,ue.moduleSpecifier):0}function Q(be,ue,y,X){var Ae;if(be.isReExport&&(!((Ae=be.exportInfo)===null||Ae===void 0)&&Ae.moduleFileName)&&e.getEmitModuleResolutionKind(y)===e.ModuleResolutionKind.NodeJs&&j(be.exportInfo.moduleFileName)){var Te=X(e.getDirectoryPath(be.exportInfo.moduleFileName));return e.startsWith(ue.path,Te)}return!1}function j(be){return e.getBaseFileName(be,[".js",".jsx",".d.ts",".ts",".tsx"],!0)==="index"}function I(be,ue,y,X){return e.startsWith(be,"node:")&&!e.startsWith(ue,"node:")?e.shouldUseUriStyleNodeCoreModules(y,X)?-1:1:e.startsWith(ue,"node:")&&!e.startsWith(be,"node:")?e.shouldUseUriStyleNodeCoreModules(y,X)?1:-1:0}function L(be,ue){var y=be.sourceFile,X=be.program,Ae=be.host,Te=be.preferences,Je=X.getTypeChecker(),er=V(ue,Je);if(er){var wr=Je.getAliasedSymbol(er),mr=er.name,We=[{symbol:er,moduleSymbol:wr,moduleFileName:void 0,exportKind:3,targetFlags:wr.flags,isFromPackageJson:!1}],a=M(y,X),qr=e.isIdentifier(ue)?ue.getStart(y):void 0,ln=x(We,qr?{position:qr,symbolName:mr}:void 0,!1,a,X,y,Ae,Te).fixes;return ln.map(function(dr){var vr;return{fix:dr,symbolName:mr,errorIdentifierText:(vr=e.tryCast(ue,e.isIdentifier))===null||vr===void 0?void 0:vr.text}})}}function V(be,ue){var y=e.isIdentifier(be)?ue.getSymbolAtLocation(be):void 0;if(e.isUMDExportSymbol(y))return y;var X=be.parent;return e.isJsxOpeningLikeElement(X)&&X.tagName===be||e.isJsxOpeningFragment(X)?e.tryCast(ue.resolveName(ue.getJsxNamespace(X),e.isJsxOpeningLikeElement(X)?be:X,111551,!1),e.isUMDExportSymbol):void 0}function ne(be,ue,y,X){switch(ue){case 0:return 0;case 1:return 1;case 2:return W(be,y,!!X);case 3:return se(be,y,!!X);default:return e.Debug.assertNever(ue)}}l.getImportKind=ne;function se(be,ue,y){if(e.getAllowSyntheticDefaultImports(ue))return 1;var X=e.getEmitModuleKind(ue);switch(X){case e.ModuleKind.AMD:case e.ModuleKind.CommonJS:case e.ModuleKind.UMD:return e.isInJSFile(be)&&(e.isExternalModule(be)||y)?2:3;case e.ModuleKind.System:case e.ModuleKind.ES2015:case e.ModuleKind.ES2020:case e.ModuleKind.ES2022:case e.ModuleKind.ESNext:case e.ModuleKind.None:return 2;case e.ModuleKind.Node16:case e.ModuleKind.NodeNext:return be.impliedNodeFormat===e.ModuleKind.ESNext?2:3;default:return e.Debug.assertNever(X,"Unexpected moduleKind ".concat(X))}}function De(be,ue,y){var X=be.sourceFile,Ae=be.program,Te=be.cancellationToken,Je=be.host,er=be.preferences,wr=Ae.getTypeChecker(),mr=Ae.getCompilerOptions();return e.flatMap(w(X,wr,ue,mr),function(We){if(We!=="default"){var a=e.isValidTypeOnlyAliasUseSite(ue),qr=M(X,Ae),ln=oe(We,e.isJSXTagName(ue),e.getMeaningFromLocation(ue),Te,X,Ae,y,Je,er),dr=e.arrayFrom(e.flatMapIterator(ln.entries(),function(vr){var kr=vr[0],jr=vr[1];return x(jr,{symbolName:We,position:ue.getStart(X)},a,qr,Ae,X,Je,er).fixes}));return dr.map(function(vr){return{fix:vr,symbolName:We,errorIdentifierText:ue.text,isJsxNamespaceFix:We!==ue.text}})}})}function T(be,ue,y,X){var Ae=X.getTypeChecker(),Te=Ae.resolveName(y,ue,111551,!0);if(Te){var Je=Ae.getTypeOnlyAliasDeclaration(Te);if(!(!Je||e.getSourceFileOfNode(Je)!==be))return{kind:4,typeOnlyAliasDeclaration:Je}}}function w(be,ue,y,X){var Ae=y.parent;if((e.isJsxOpeningLikeElement(Ae)||e.isJsxClosingElement(Ae))&&Ae.tagName===y&&e.jsxModeNeedsExplicitImport(X.jsx)){var Te=ue.getJsxNamespace(be);if(A(Te,y,ue)){var Je=!e.isIntrinsicJsxName(y.text)&&!ue.resolveName(y.text,y,111551,!1);return Je?[y.text,Te]:[Te]}}return[y.text]}function A(be,ue,y){if(e.isIntrinsicJsxName(ue.text))return!0;var X=y.resolveName(be,ue,111551,!0);return!X||e.some(X.declarations,e.isTypeOnlyImportOrExportDeclaration)&&!(X.flags&111551)}function oe(be,ue,y,X,Ae,Te,Je,er,wr){var mr,We=e.createMultiMap(),a=e.createPackageJsonImportFilter(Ae,wr,er),qr=(mr=er.getModuleSpecifierCache)===null||mr===void 0?void 0:mr.call(er),ln=e.memoizeOne(function(vr){return e.createModuleSpecifierResolutionHost(vr?er.getPackageJsonAutoImportProvider():Te,er)});function dr(vr,kr,jr,Cr,en,Lr){var pn=ln(Lr);if(kr&&e.isImportableFile(en,Ae,kr,wr,a,pn,qr)||!kr&&a.allowsImportingAmbientModule(vr,pn)){var ye=en.getTypeChecker();We.add(e.getUniqueSymbolId(jr,ye).toString(),{symbol:jr,moduleSymbol:vr,moduleFileName:kr==null?void 0:kr.fileName,exportKind:Cr,targetFlags:e.skipAlias(jr,ye).flags,isFromPackageJson:Lr})}}return e.forEachExternalModuleToImportFrom(Te,er,wr,Je,function(vr,kr,jr,Cr){var en=jr.getTypeChecker();X.throwIfCancellationRequested();var Lr=jr.getCompilerOptions(),pn=e.getDefaultLikeExportInfo(vr,en,Lr);pn&&(pn.name===be||Ee(vr,e.getEmitScriptTarget(Lr),ue)===be)&&ze(pn.symbolForMeaning,y)&&dr(vr,kr,pn.symbol,pn.exportKind,jr,Cr);var ye=en.tryGetMemberInModuleExportsAndProperties(be,vr);ye&&ze(ye,y)&&dr(vr,kr,ye,0,jr,Cr)}),We}function W(be,ue,y){var X=e.getAllowSyntheticDefaultImports(ue),Ae=e.isInJSFile(be);if(!Ae&&e.getEmitModuleKind(ue)>=e.ModuleKind.ES2015)return X?1:2;if(Ae)return e.isExternalModule(be)||y?X?1:2:3;for(var Te=0,Je=be.statements;Te1&&e.OrganizeImports.importSpecifiersAreSorted(ue.parent.elements)){be.delete(X,ue);var Te=e.factory.updateImportSpecifier(ue,!1,ue.propertyName,ue.name),Je=e.OrganizeImports.getImportSpecifierInsertionIndex(ue.parent.elements,Te);be.insertImportSpecifierAtIndex(X,Te,ue.parent,Je)}else be.deleteRange(X,ue.getFirstToken());return ue}else return e.Debug.assert(ue.parent.parent.isTypeOnly),er(ue.parent.parent),ue.parent.parent;case 270:return er(ue),ue;case 271:return er(ue.parent),ue.parent;case 268:return be.deleteRange(X,ue.getChildAt(1)),ue;default:e.Debug.failBadSyntaxKind(ue)}function er(wr){if(be.delete(X,e.getTypeKeywordOfTypeOnlyImport(wr,X)),Ae){var mr=e.tryCast(wr.namedBindings,e.isNamedImports);if(mr&&mr.elements.length>1){e.OrganizeImports.importSpecifiersAreSorted(mr.elements)&&ue.kind===273&&mr.elements.indexOf(ue)!==0&&(be.delete(X,ue),be.insertImportSpecifierAtIndex(X,ue,mr,0));for(var We=0,a=mr.elements;We"),[e.Diagnostics.Convert_function_expression_0_to_arrow_function,Z?Z.text:e.ANONYMOUS]):(P.replaceNode(z,ce,e.factory.createToken(85)),P.insertText(z,Z.end," = "),P.insertText(z,ie.pos," =>"),[e.Diagnostics.Convert_function_declaration_0_to_arrow_function,Z.text])}}}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="fixImportNonExportedMember",h=[e.Diagnostics.Module_0_declares_1_locally_but_it_is_not_exported.code];l.registerCodeFix({errorCodes:h,fixIds:[_],getCodeActions:function(Z){var ie=Z.sourceFile,te=Z.span,x=Z.program,J=p(ie,te.start,x);if(J!==void 0){var d=e.textChanges.ChangeTracker.with(Z,function(D){return P(D,x,J)});return[l.createCodeFixAction(_,d,[e.Diagnostics.Export_0_from_module_1,J.exportName.node.text,J.moduleSpecifier],_,e.Diagnostics.Export_all_referenced_locals)]}},getAllCodeActions:function(Z){var ie=Z.program;return l.createCombinedCodeActions(e.textChanges.ChangeTracker.with(Z,function(te){var x=new e.Map;l.eachDiagnostic(Z,h,function(J){var d=p(J.file,J.start,ie);if(d!==void 0){var D=d.exportName,C=d.node,k=d.moduleSourceFile;if(U(k,D.isTypeOnly)===void 0&&e.canHaveExportModifier(C))te.insertExportModifier(k,C);else{var R=x.get(k)||{typeOnlyExports:[],exports:[]};D.isTypeOnly?R.typeOnlyExports.push(D):R.exports.push(D),x.set(k,R)}}}),x.forEach(function(J,d){var D=U(d,!0);D&&D.isTypeOnly?(z(te,ie,d,J.typeOnlyExports,D),z(te,ie,d,J.exports,U(d,!1))):z(te,ie,d,Hn(Hn([],J.exports,!0),J.typeOnlyExports,!0),D)})}))}});function p(Z,ie,te){var x,J=e.getTokenAtPosition(Z,ie);if(e.isIdentifier(J)){var d=e.findAncestor(J,e.isImportDeclaration);if(d===void 0)return;var D=e.isStringLiteral(d.moduleSpecifier)?d.moduleSpecifier.text:void 0;if(D===void 0)return;var C=e.getResolvedModule(Z,D,void 0);if(C===void 0)return;var k=te.getSourceFile(C.resolvedFileName);if(k===void 0||e.isSourceFileFromLibrary(te,k))return;var R=k.symbol,M=(x=R.valueDeclaration)===null||x===void 0?void 0:x.locals;if(M===void 0)return;var ge=M.get(J.escapedText);if(ge===void 0)return;var ve=ce(ge);if(ve===void 0)return;var re={node:J,isTypeOnly:e.isTypeDeclaration(ve)};return{exportName:re,node:ve,moduleSourceFile:k,moduleSpecifier:D}}}function P(Z,ie,te){var x=te.exportName,J=te.node,d=te.moduleSourceFile,D=U(d,x.isTypeOnly);D?g(Z,ie,d,D,[x]):e.canHaveExportModifier(J)?Z.insertExportModifier(d,J):v(Z,ie,d,[x])}function z(Z,ie,te,x,J){e.length(x)&&(J?g(Z,ie,te,J,x):v(Z,ie,te,x))}function U(Z,ie){var te=function(x){return e.isExportDeclaration(x)&&(ie&&x.isTypeOnly||!x.isTypeOnly)};return e.findLast(Z.statements,te)}function g(Z,ie,te,x,J){var d=x.exportClause&&e.isNamedExports(x.exportClause)?x.exportClause.elements:e.factory.createNodeArray([]),D=!x.isTypeOnly&&!!(ie.getCompilerOptions().isolatedModules||e.find(d,function(C){return C.isTypeOnly}));Z.replaceNode(te,x,e.factory.updateExportDeclaration(x,x.modifiers,x.isTypeOnly,e.factory.createNamedExports(e.factory.createNodeArray(Hn(Hn([],d,!0),Y(J,D),!0),d.hasTrailingComma)),x.moduleSpecifier,x.assertClause))}function v(Z,ie,te,x){Z.insertNodeAtEndOfScope(te,te,e.factory.createExportDeclaration(void 0,!1,e.factory.createNamedExports(Y(x,!!ie.getCompilerOptions().isolatedModules)),void 0,void 0))}function Y(Z,ie){return e.factory.createNodeArray(e.map(Z,function(te){return e.factory.createExportSpecifier(ie&&te.isTypeOnly,void 0,te.node)}))}function ce(Z){if(Z.valueDeclaration===void 0)return e.firstOrUndefined(Z.declarations);var ie=Z.valueDeclaration,te=e.isVariableDeclaration(ie)?e.tryCast(ie.parent.parent,e.isVariableStatement):void 0;return te&&e.length(te.declarationList.declarations)===1?te:ie}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="fixIncorrectNamedTupleSyntax",h=[e.Diagnostics.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code,e.Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(U){var g=U.sourceFile,v=U.span,Y=p(g,v.start),ce=e.textChanges.ChangeTracker.with(U,function(Z){return P(Z,g,Y)});return[l.createCodeFixAction(_,ce,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels,_,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels)]},fixIds:[_]});function p(z,U){var g=e.getTokenAtPosition(z,U);return e.findAncestor(g,function(v){return v.kind===199})}function P(z,U,g){if(g){for(var v=g.type,Y=!1,ce=!1;v.kind===187||v.kind===188||v.kind===193;)v.kind===187?Y=!0:v.kind===188&&(ce=!0),v=v.type;var Z=e.factory.updateNamedTupleMember(g,g.dotDotDotToken||(ce?e.factory.createToken(25):void 0),g.name,g.questionToken||(Y?e.factory.createToken(57):void 0),v);Z!==g&&z.replaceNode(U,g,Z)}}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="fixSpelling",h=[e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_1.code,e.Diagnostics.Could_not_find_name_0_Did_you_mean_1.code,e.Diagnostics.Cannot_find_namespace_0_Did_you_mean_1.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2.code,e.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,e.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,e.Diagnostics.No_overload_matches_this_call.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(g){var v=g.sourceFile,Y=g.errorCode,ce=p(v,g.span.start,g,Y);if(ce){var Z=ce.node,ie=ce.suggestedSymbol,te=e.getEmitScriptTarget(g.host.getCompilationSettings()),x=e.textChanges.ChangeTracker.with(g,function(J){return P(J,v,Z,ie,te)});return[l.createCodeFixAction("spelling",x,[e.Diagnostics.Change_spelling_to_0,e.symbolName(ie)],_,e.Diagnostics.Fix_all_detected_spelling_errors)]}},fixIds:[_],getAllCodeActions:function(g){return l.codeFixAll(g,h,function(v,Y){var ce=p(Y.file,Y.start,g,Y.code),Z=e.getEmitScriptTarget(g.host.getCompilationSettings());ce&&P(v,g.sourceFile,ce.node,ce.suggestedSymbol,Z)})}});function p(g,v,Y,ce){var Z=e.getTokenAtPosition(g,v),ie=Z.parent;if(!((ce===e.Diagnostics.No_overload_matches_this_call.code||ce===e.Diagnostics.Type_0_is_not_assignable_to_type_1.code)&&!e.isJsxAttribute(ie))){var te=Y.program.getTypeChecker(),x;if(e.isPropertyAccessExpression(ie)&&ie.name===Z){e.Debug.assert(e.isMemberName(Z),"Expected an identifier for spelling (property access)");var J=te.getTypeAtLocation(ie.expression);ie.flags&32&&(J=te.getNonNullableType(J)),x=te.getSuggestedSymbolForNonexistentProperty(Z,J)}else if(e.isBinaryExpression(ie)&&ie.operatorToken.kind===101&&ie.left===Z&&e.isPrivateIdentifier(Z)){var d=te.getTypeAtLocation(ie.right);x=te.getSuggestedSymbolForNonexistentProperty(Z,d)}else if(e.isQualifiedName(ie)&&ie.right===Z){var D=te.getSymbolAtLocation(ie.left);D&&D.flags&1536&&(x=te.getSuggestedSymbolForNonexistentModule(ie.right,D))}else if(e.isImportSpecifier(ie)&&ie.name===Z){e.Debug.assertNode(Z,e.isIdentifier,"Expected an identifier for spelling (import)");var C=e.findAncestor(Z,e.isImportDeclaration),k=U(g,Y,C);k&&k.symbol&&(x=te.getSuggestedSymbolForNonexistentModule(Z,k.symbol))}else if(e.isJsxAttribute(ie)&&ie.name===Z){e.Debug.assertNode(Z,e.isIdentifier,"Expected an identifier for JSX attribute");var R=e.findAncestor(Z,e.isJsxOpeningLikeElement),M=te.getContextualTypeForArgumentAtIndex(R,0);x=te.getSuggestedSymbolForNonexistentJSXAttribute(Z,M)}else if(e.hasSyntacticModifier(ie,16384)&&e.isClassElement(ie)&&ie.name===Z){var ge=e.findAncestor(Z,e.isClassLike),ve=ge?e.getEffectiveBaseTypeNode(ge):void 0,re=ve?te.getTypeAtLocation(ve):void 0;re&&(x=te.getSuggestedSymbolForNonexistentClassMember(e.getTextOfNode(Z),re))}else{var N=e.getMeaningFromLocation(Z),K=e.getTextOfNode(Z);e.Debug.assert(K!==void 0,"name should be defined"),x=te.getSuggestedSymbolForNonexistentSymbol(Z,K,z(N))}return x===void 0?void 0:{node:Z,suggestedSymbol:x}}}function P(g,v,Y,ce,Z){var ie=e.symbolName(ce);if(!e.isIdentifierText(ie,Z)&&e.isPropertyAccessExpression(Y.parent)){var te=ce.valueDeclaration;te&&e.isNamedDeclaration(te)&&e.isPrivateIdentifier(te.name)?g.replaceNode(v,Y,e.factory.createIdentifier(ie)):g.replaceNode(v,Y.parent,e.factory.createElementAccessExpression(Y.parent.expression,e.factory.createStringLiteral(ie)))}else g.replaceNode(v,Y,e.factory.createIdentifier(ie))}function z(g){var v=0;return g&4&&(v|=1920),g&2&&(v|=788968),g&1&&(v|=111551),v}function U(g,v,Y){if(!(!Y||!e.isStringLiteralLike(Y.moduleSpecifier))){var ce=e.getResolvedModule(g,Y.moduleSpecifier.text,e.getModeForUsageLocation(g,Y.moduleSpecifier));if(ce)return v.program.getSourceFile(ce.resolvedFileName)}}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="returnValueCorrect",h="fixAddReturnStatement",p="fixRemoveBracesFromArrowFunctionBody",P="fixWrapTheBlockWithParen",z=[e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code],U;(function(C){C[C.MissingReturnStatement=0]="MissingReturnStatement",C[C.MissingParentheses=1]="MissingParentheses"})(U||(U={})),l.registerCodeFix({errorCodes:z,fixIds:[h,p,P],getCodeActions:function(k){var R=k.program,M=k.sourceFile,ge=k.span.start,ve=k.errorCode,re=ce(R.getTypeChecker(),M,ge,ve);if(re)return re.kind===U.MissingReturnStatement?e.append([J(k,re.expression,re.statement)],e.isArrowFunction(re.declaration)?d(k,re.declaration,re.expression,re.commentSource):void 0):[D(k,re.declaration,re.expression)]},getAllCodeActions:function(C){return l.codeFixAll(C,z,function(k,R){var M=ce(C.program.getTypeChecker(),R.file,R.start,R.code);if(M)switch(C.fixId){case h:ie(k,R.file,M.expression,M.statement);break;case p:if(!e.isArrowFunction(M.declaration))return;te(k,R.file,M.declaration,M.expression,M.commentSource,!1);break;case P:if(!e.isArrowFunction(M.declaration))return;x(k,R.file,M.declaration,M.expression);break;default:e.Debug.fail(JSON.stringify(C.fixId))}})}});function g(C,k,R){var M=C.createSymbol(4,k.escapedText);M.type=C.getTypeAtLocation(R);var ge=e.createSymbolTable([M]);return C.createAnonymousType(void 0,ge,[],[],[])}function v(C,k,R,M){if(!(!k.body||!e.isBlock(k.body)||e.length(k.body.statements)!==1)){var ge=e.first(k.body.statements);if(e.isExpressionStatement(ge)&&Y(C,k,C.getTypeAtLocation(ge.expression),R,M))return{declaration:k,kind:U.MissingReturnStatement,expression:ge.expression,statement:ge,commentSource:ge.expression};if(e.isLabeledStatement(ge)&&e.isExpressionStatement(ge.statement)){var ve=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(ge.label,ge.statement.expression)]),re=g(C,ge.label,ge.statement.expression);if(Y(C,k,re,R,M))return e.isArrowFunction(k)?{declaration:k,kind:U.MissingParentheses,expression:ve,statement:ge,commentSource:ge.statement.expression}:{declaration:k,kind:U.MissingReturnStatement,expression:ve,statement:ge,commentSource:ge.statement.expression}}else if(e.isBlock(ge)&&e.length(ge.statements)===1){var N=e.first(ge.statements);if(e.isLabeledStatement(N)&&e.isExpressionStatement(N.statement)){var ve=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(N.label,N.statement.expression)]),re=g(C,N.label,N.statement.expression);if(Y(C,k,re,R,M))return{declaration:k,kind:U.MissingReturnStatement,expression:ve,statement:ge,commentSource:N}}}}}function Y(C,k,R,M,ge){if(ge){var ve=C.getSignatureFromDeclaration(k);if(ve){e.hasSyntacticModifier(k,512)&&(R=C.createPromiseType(R));var re=C.createSignature(k,ve.typeParameters,ve.thisParameter,ve.parameters,R,void 0,ve.minArgumentCount,ve.flags);R=C.createAnonymousType(void 0,e.createSymbolTable(),[re],[],[])}else R=C.getAnyType()}return C.isTypeAssignableTo(R,M)}function ce(C,k,R,M){var ge=e.getTokenAtPosition(k,R);if(ge.parent){var ve=e.findAncestor(ge.parent,e.isFunctionLikeDeclaration);switch(M){case e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code:return!ve||!ve.body||!ve.type||!e.rangeContainsRange(ve.type,ge)?void 0:v(C,ve,C.getTypeFromTypeNode(ve.type),!1);case e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:if(!ve||!e.isCallExpression(ve.parent)||!ve.body)return;var re=ve.parent.arguments.indexOf(ve),N=C.getContextualTypeForArgumentAtIndex(ve.parent,re);return N?v(C,ve,N,!0):void 0;case e.Diagnostics.Type_0_is_not_assignable_to_type_1.code:if(!e.isDeclarationName(ge)||!e.isVariableLike(ge.parent)&&!e.isJsxAttribute(ge.parent))return;var K=Z(ge.parent);return!K||!e.isFunctionLikeDeclaration(K)||!K.body?void 0:v(C,K,C.getTypeAtLocation(ge.parent),!0)}}}function Z(C){switch(C.kind){case 257:case 166:case 205:case 169:case 299:return C.initializer;case 288:return C.initializer&&(e.isJsxExpression(C.initializer)?C.initializer.expression:void 0);case 300:case 168:case 302:case 350:case 343:return}}function ie(C,k,R,M){e.suppressLeadingAndTrailingTrivia(R);var ge=e.probablyUsesSemicolons(k);C.replaceNode(k,M,e.factory.createReturnStatement(R),{leadingTriviaOption:e.textChanges.LeadingTriviaOption.Exclude,trailingTriviaOption:e.textChanges.TrailingTriviaOption.Exclude,suffix:ge?";":void 0})}function te(C,k,R,M,ge,ve){var re=ve||e.needsParentheses(M)?e.factory.createParenthesizedExpression(M):M;e.suppressLeadingAndTrailingTrivia(ge),e.copyComments(ge,re),C.replaceNode(k,R.body,re)}function x(C,k,R,M){C.replaceNode(k,R.body,e.factory.createParenthesizedExpression(M))}function J(C,k,R){var M=e.textChanges.ChangeTracker.with(C,function(ge){return ie(ge,C.sourceFile,k,R)});return l.createCodeFixAction(_,M,e.Diagnostics.Add_a_return_statement,h,e.Diagnostics.Add_all_missing_return_statement)}function d(C,k,R,M){var ge=e.textChanges.ChangeTracker.with(C,function(ve){return te(ve,C.sourceFile,k,R,M,!1)});return l.createCodeFixAction(_,ge,e.Diagnostics.Remove_braces_from_arrow_function_body,p,e.Diagnostics.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues)}function D(C,k,R){var M=e.textChanges.ChangeTracker.with(C,function(ge){return x(ge,C.sourceFile,k,R)});return l.createCodeFixAction(_,M,e.Diagnostics.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal,P,e.Diagnostics.Wrap_all_object_literal_with_parentheses)}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="fixMissingMember",h="fixMissingProperties",p="fixMissingAttributes",P="fixMissingFunctionDeclaration",z=[e.Diagnostics.Property_0_does_not_exist_on_type_1.code,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Property_0_is_missing_in_type_1_but_required_in_type_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,e.Diagnostics.Cannot_find_name_0.code],U;(function(Q){Q[Q.TypeLikeDeclaration=0]="TypeLikeDeclaration",Q[Q.Enum=1]="Enum",Q[Q.Function=2]="Function",Q[Q.ObjectLiteral=3]="ObjectLiteral",Q[Q.JsxAttributes=4]="JsxAttributes",Q[Q.Signature=5]="Signature"})(U||(U={})),l.registerCodeFix({errorCodes:z,getCodeActions:function(Q){var j=Q.program.getTypeChecker(),I=g(Q.sourceFile,Q.span.start,Q.errorCode,j,Q.program);if(I){if(I.kind===U.ObjectLiteral){var L=e.textChanges.ChangeTracker.with(Q,function(V){return ge(V,Q,I)});return[l.createCodeFixAction(h,L,e.Diagnostics.Add_missing_properties,h,e.Diagnostics.Add_all_missing_properties)]}if(I.kind===U.JsxAttributes){var L=e.textChanges.ChangeTracker.with(Q,function(ne){return M(ne,Q,I)});return[l.createCodeFixAction(p,L,e.Diagnostics.Add_missing_attributes,p,e.Diagnostics.Add_all_missing_attributes)]}if(I.kind===U.Function||I.kind===U.Signature){var L=e.textChanges.ChangeTracker.with(Q,function(ne){return R(ne,Q,I)});return[l.createCodeFixAction(P,L,[e.Diagnostics.Add_missing_function_declaration_0,I.token.text],P,e.Diagnostics.Add_all_missing_function_declarations)]}if(I.kind===U.Enum){var L=e.textChanges.ChangeTracker.with(Q,function(ne){return k(ne,Q.program.getTypeChecker(),I)});return[l.createCodeFixAction(_,L,[e.Diagnostics.Add_missing_enum_member_0,I.token.text],_,e.Diagnostics.Add_all_missing_members)]}return e.concatenate(D(Q,I),v(Q,I))}},fixIds:[_,P,h,p],getAllCodeActions:function(Q){var j=Q.program,I=Q.fixId,L=j.getTypeChecker(),V=new e.Map,ne=new e.Map;return l.createCombinedCodeActions(e.textChanges.ChangeTracker.with(Q,function(se){l.eachDiagnostic(Q,z,function(De){var T=g(De.file,De.start,De.code,L,Q.program);if(!(!T||!e.addToSeen(V,e.getNodeId(T.parentDeclaration)+"#"+T.token.text))){if(I===P&&(T.kind===U.Function||T.kind===U.Signature))R(se,Q,T);else if(I===h&&T.kind===U.ObjectLiteral)ge(se,Q,T);else if(I===p&&T.kind===U.JsxAttributes)M(se,Q,T);else if(T.kind===U.Enum&&k(se,L,T),T.kind===U.TypeLikeDeclaration){var w=T.parentDeclaration,A=T.token,oe=e.getOrUpdate(ne,w,function(){return[]});oe.some(function(W){return W.token.text===A.text})||oe.push(T)}}}),ne.forEach(function(De,T){for(var w=e.isTypeLiteralNode(T)?void 0:l.getAllSupers(T,L),A=function(O){if(w!=null&&w.some(function(xe){var Se=ne.get(xe);return!!Se&&Se.some(function(Ce){var ze=Ce.token;return ze.text===O.token.text})}))return"continue";var B=O.parentDeclaration,G=O.declSourceFile,$=O.modifierFlags,me=O.token,ae=O.call,Me=O.isJSFile;if(ae&&!e.isPrivateIdentifier(me))C(Q,se,ae,me,$&32,B,G);else if(Me&&!e.isInterfaceDeclaration(B)&&!e.isTypeLiteralNode(B))ce(se,G,B,me,!!($&32));else{var Oe=te(L,B,me);x(se,G,B,me.text,Oe,$&32)}},oe=0,W=De;oe=e.ModuleKind.ES2015&&U99;if(ce){var v=e.textChanges.ChangeTracker.with(h,function(ie){var te=e.getTsConfigObjectLiteralExpression(P);if(te){var x=[["target",e.factory.createStringLiteral("es2017")]];U===e.ModuleKind.CommonJS&&x.push(["module",e.factory.createStringLiteral("commonjs")]),l.setJsonCompilerOptionValues(ie,P,x)}});z.push(l.createCodeFixActionWithoutFixAll("fixTargetOption",v,[e.Diagnostics.Set_the_target_option_in_your_configuration_file_to_0,"es2017"]))}return z.length?z:void 0}}})})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="fixPropertyAssignment",h=[e.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code];l.registerCodeFix({errorCodes:h,fixIds:[_],getCodeActions:function(z){var U=z.sourceFile,g=z.span,v=P(U,g.start),Y=e.textChanges.ChangeTracker.with(z,function(ce){return p(ce,z.sourceFile,v)});return[l.createCodeFixAction(_,Y,[e.Diagnostics.Change_0_to_1,"=",":"],_,[e.Diagnostics.Switch_each_misused_0_to_1,"=",":"])]},getAllCodeActions:function(z){return l.codeFixAll(z,h,function(U,g){return p(U,g.file,P(g.file,g.start))})}});function p(z,U,g){z.replaceNode(U,g,e.factory.createPropertyAssignment(g.name,g.objectAssignmentInitializer))}function P(z,U){return e.cast(e.getTokenAtPosition(z,U).parent,e.isShorthandPropertyAssignment)}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="extendsInterfaceBecomesImplements",h=[e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(z){var U=z.sourceFile,g=p(U,z.span.start);if(g){var v=g.extendsToken,Y=g.heritageClauses,ce=e.textChanges.ChangeTracker.with(z,function(Z){return P(Z,U,v,Y)});return[l.createCodeFixAction(_,ce,e.Diagnostics.Change_extends_to_implements,_,e.Diagnostics.Change_all_extended_interfaces_to_implements)]}},fixIds:[_],getAllCodeActions:function(z){return l.codeFixAll(z,h,function(U,g){var v=p(g.file,g.start);v&&P(U,g.file,v.extendsToken,v.heritageClauses)})}});function p(z,U){var g=e.getTokenAtPosition(z,U),v=e.getContainingClass(g).heritageClauses,Y=v[0].getFirstToken();return Y.kind===94?{extendsToken:Y,heritageClauses:v}:void 0}function P(z,U,g,v){if(z.replaceNode(U,g,e.factory.createToken(117)),v.length===2&&v[0].token===94&&v[1].token===117){var Y=v[1].getFirstToken(),ce=Y.getFullStart();z.replaceRange(U,{pos:ce,end:ce},e.factory.createToken(27));for(var Z=U.text,ie=Y.end;ie":">","}":"}"};function z(g){return e.hasProperty(P,g)}function U(g,v,Y,ce,Z){var ie=Y.getText()[ce];if(z(ie)){var te=Z?P[ie]:"{".concat(e.quote(Y,v,ie),"}");g.replaceRangeWithText(Y,{pos:ce,end:ce+1},te)}}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="deleteUnmatchedParameter",h="renameUnmatchedParameter",p=[e.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name.code];l.registerCodeFix({fixIds:[_,h],errorCodes:p,getCodeActions:function(v){var Y=v.sourceFile,ce=v.span,Z=[],ie=U(Y,ce.start);if(ie)return e.append(Z,P(v,ie)),e.append(Z,z(v,ie)),Z},getAllCodeActions:function(v){var Y=new e.Map;return l.createCombinedCodeActions(e.textChanges.ChangeTracker.with(v,function(ce){l.eachDiagnostic(v,p,function(Z){var ie=Z.file,te=Z.start,x=U(ie,te);x&&Y.set(x.signature,e.append(Y.get(x.signature),x.jsDocParameterTag))}),Y.forEach(function(Z,ie){if(v.fixId===_){var te=new e.Set(Z);ce.filterJSDocTags(ie.getSourceFile(),ie,function(x){return!te.has(x)})}})}))}});function P(g,v){var Y=v.name,ce=v.signature,Z=v.jsDocParameterTag,ie=e.textChanges.ChangeTracker.with(g,function(te){return te.filterJSDocTags(g.sourceFile,ce,function(x){return x!==Z})});return l.createCodeFixAction(_,ie,[e.Diagnostics.Delete_unused_param_tag_0,Y.getText(g.sourceFile)],_,e.Diagnostics.Delete_all_unused_param_tags)}function z(g,v){var Y=v.name,ce=v.signature,Z=v.jsDocParameterTag;if(e.length(ce.parameters)){for(var ie=g.sourceFile,te=e.getJSDocTags(ce),x=new e.Set,J=0,d=te;J1?e.Diagnostics.Remove_unused_declarations_for_Colon_0:e.Diagnostics.Remove_unused_declaration_for_Colon_0,e.map(se,function(oe){return oe.getText(q)}).join(", ")];return[v(e.textChanges.ChangeTracker.with(N,function(oe){return x(oe,q,I.parent)}),De)]}return[v(e.textChanges.ChangeTracker.with(N,function(oe){return oe.delete(q,I.parent.parent)}),e.Diagnostics.Remove_unused_destructuring_declaration)]}if(ie(q,I))return[v(e.textChanges.ChangeTracker.with(N,function(oe){return te(oe,q,I.parent)}),e.Diagnostics.Remove_variable_statement)];var T=[];if(I.kind===138){var L=e.textChanges.ChangeTracker.with(N,function(W){return g(W,q,I)}),w=e.cast(I.parent,e.isInferTypeNode).typeParameter.name.text;T.push(l.createCodeFixAction(_,L,[e.Diagnostics.Replace_infer_0_with_unknown,w],z,e.Diagnostics.Replace_all_unused_infer_with_unknown))}else{var ne=e.textChanges.ChangeTracker.with(N,function(W){return D(q,I,W,Q,j,b,F,!1)});if(ne.length){var w=e.isComputedPropertyName(I.parent)?I.parent:I;T.push(v(ne,[e.Diagnostics.Remove_unused_declaration_for_Colon_0,w.getText(q)]))}}var A=e.textChanges.ChangeTracker.with(N,function(oe){return J(oe,K,q,I)});return A.length&&T.push(l.createCodeFixAction(_,A,[e.Diagnostics.Prefix_0_with_an_underscore,I.getText(q)],h,e.Diagnostics.Prefix_all_unused_declarations_with_where_possible)),T},fixIds:[h,p,P,z],getAllCodeActions:function(N){var K=N.sourceFile,q=N.program,b=N.cancellationToken,F=q.getTypeChecker(),Q=q.getSourceFiles();return l.codeFixAll(N,U,function(j,I){var L=e.getTokenAtPosition(K,I.start);switch(N.fixId){case h:J(j,I.code,K,L);break;case P:{var V=Z(L);V?j.delete(K,V):ce(L)&&D(K,L,j,F,Q,q,b,!0);break}case p:{if(L.kind===138||ce(L))break;if(e.isJSDocTemplateTag(L))j.delete(K,L);else if(L.kind===29)Y(j,K,L);else if(e.isObjectBindingPattern(L.parent)){if(L.parent.parent.initializer)break;(!e.isParameter(L.parent.parent)||R(L.parent.parent,F,Q))&&j.delete(K,L.parent.parent)}else{if(e.isArrayBindingPattern(L.parent.parent)&&L.parent.parent.parent.initializer)break;ie(K,L)?te(j,K,L.parent):D(K,L,j,F,Q,q,b,!0)}break}case z:L.kind===138&&g(j,K,L);break;default:e.Debug.fail(JSON.stringify(N.fixId))}})}});function g(N,K,q){N.replaceNode(K,q.parent,e.factory.createKeywordTypeNode(157))}function v(N,K){return l.createCodeFixAction(_,N,K,p,e.Diagnostics.Delete_all_unused_declarations)}function Y(N,K,q){N.delete(K,e.Debug.checkDefined(e.cast(q.parent,e.isDeclarationWithTypeParameterChildren).typeParameters,"The type parameter to delete should exist"))}function ce(N){return N.kind===100||N.kind===79&&(N.parent.kind===273||N.parent.kind===270)}function Z(N){return N.kind===100?e.tryCast(N.parent,e.isImportDeclaration):void 0}function ie(N,K){return e.isVariableDeclarationList(K.parent)&&e.first(K.parent.getChildren(N))===K}function te(N,K,q){N.delete(K,q.parent.kind===240?q.parent:q)}function x(N,K,q){e.forEach(q.elements,function(b){return N.delete(K,b)})}function J(N,K,q,b){K!==e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code&&(b.kind===138&&(b=e.cast(b.parent,e.isInferTypeNode).typeParameter.name),e.isIdentifier(b)&&d(b)&&(N.replaceNode(q,b,e.factory.createIdentifier("_".concat(b.text))),e.isParameter(b.parent)&&e.getJSDocParameterTags(b.parent).forEach(function(F){e.isIdentifier(F.name)&&N.replaceNode(q,F.name,e.factory.createIdentifier("_".concat(F.name.text)))})))}function d(N){switch(N.parent.kind){case 166:case 165:return!0;case 257:{var K=N.parent;switch(K.parent.parent.kind){case 247:case 246:return!0}}}return!1}function D(N,K,q,b,F,Q,j,I){C(K,q,N,b,F,Q,j,I),e.isIdentifier(K)&&e.FindAllReferences.Core.eachSymbolReferenceInFile(K,b,N,function(L){e.isPropertyAccessExpression(L.parent)&&L.parent.name===L&&(L=L.parent),!I&&re(L)&&q.delete(N,L.parent.parent)})}function C(N,K,q,b,F,Q,j,I){var L=N.parent;if(e.isParameter(L))k(K,q,L,b,F,Q,j,I);else if(!(I&&e.isIdentifier(N)&&e.FindAllReferences.Core.isSymbolReferencedInFile(N,b,q))){var V=e.isImportClause(L)?N:e.isComputedPropertyName(L)?L.parent:L;e.Debug.assert(V!==q,"should not delete whole source file"),K.delete(q,V)}}function k(N,K,q,b,F,Q,j,I){if(I===void 0&&(I=!1),M(b,K,q,F,Q,j,I))if(q.modifiers&&q.modifiers.length>0&&(!e.isIdentifier(q.name)||e.FindAllReferences.Core.isSymbolReferencedInFile(q.name,b,K)))for(var L=0,V=q.modifiers;Lb})}function M(N,K,q,b,F,Q,j){var I=q.parent;switch(I.kind){case 171:case 173:var L=I.parameters.indexOf(q),V=e.isMethodDeclaration(I)?I.name:I,ne=e.FindAllReferences.Core.getReferencedSymbolsForNode(I.pos,V,F,b,Q);if(ne)for(var se=0,De=ne;seL,u=e.isPropertyAccessExpression(oe.node.parent)&&e.isSuperKeyword(oe.node.parent.expression)&&e.isCallExpression(oe.node.parent.parent)&&oe.node.parent.parent.arguments.length>L,O=(e.isMethodDeclaration(oe.node.parent)||e.isMethodSignature(oe.node.parent))&&oe.node.parent!==q.parent&&oe.node.parent.parameters.length>L;if(W||u||O)return!1}}return!0;case 259:return I.name&&ge(N,K,I.name)?ve(I,q,j):!0;case 215:case 216:return ve(I,q,j);case 175:return!1;case 174:return!0;default:return e.Debug.failBadSyntaxKind(I)}}function ge(N,K,q){return!!e.FindAllReferences.Core.eachSymbolReferenceInFile(q,N,K,function(b){return e.isIdentifier(b)&&e.isCallExpression(b.parent)&&b.parent.arguments.indexOf(b)>=0})}function ve(N,K,q){var b=N.parameters,F=b.indexOf(K);return e.Debug.assert(F!==-1,"The parameter should already be in the list"),q?b.slice(F+1).every(function(Q){return e.isIdentifier(Q.name)&&!Q.symbol.isReferenced}):F===b.length-1}function re(N){return(e.isBinaryExpression(N.parent)&&N.parent.left===N||(e.isPostfixUnaryExpression(N.parent)||e.isPrefixUnaryExpression(N.parent))&&N.parent.operand===N)&&e.isExpressionStatement(N.parent.parent)}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="fixUnreachableCode",h=[e.Diagnostics.Unreachable_code_detected.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(z){var U=z.program.getSyntacticDiagnostics(z.sourceFile,z.cancellationToken);if(!U.length){var g=e.textChanges.ChangeTracker.with(z,function(v){return p(v,z.sourceFile,z.span.start,z.span.length,z.errorCode)});return[l.createCodeFixAction(_,g,e.Diagnostics.Remove_unreachable_code,_,e.Diagnostics.Remove_all_unreachable_code)]}},fixIds:[_],getAllCodeActions:function(z){return l.codeFixAll(z,h,function(U,g){return p(U,g.file,g.start,g.length,g.code)})}});function p(z,U,g,v,Y){var ce=e.getTokenAtPosition(U,g),Z=e.findAncestor(ce,e.isStatement);if(Z.getStart(U)!==ce.getStart(U)){var ie=JSON.stringify({statementKind:e.Debug.formatSyntaxKind(Z.kind),tokenKind:e.Debug.formatSyntaxKind(ce.kind),errorCode:Y,start:g,length:v});e.Debug.fail("Token and statement should start at the same point. "+ie)}var te=(e.isBlock(Z.parent)?Z.parent:Z).parent;if(!e.isBlock(Z.parent)||Z===e.first(Z.parent.statements))switch(te.kind){case 242:if(te.elseStatement){if(e.isBlock(Z.parent))break;z.replaceNode(U,Z,e.factory.createBlock(e.emptyArray));return}case 244:case 245:z.delete(U,te);return}if(e.isBlock(Z.parent)){var x=g+v,J=e.Debug.checkDefined(P(e.sliceAfter(Z.parent.statements,Z),function(d){return d.posTe.length){var Je=oe.getSignatureFromDeclaration(w[w.length-1]);mr(Oe,Je,$,We(O),a(ne,Oe))}else e.Debug.assert(w.length===Te.length,"Declarations and signatures should match count"),V(J(oe,j,F,Te,We(O),ae&&!!(se&1),$,Oe,ne));break}function mr(ln,dr,vr,kr,jr){var Cr=z(171,j,ln,dr,jr,kr,vr,ae&&!!(se&1),F,L);Cr&&V(Cr)}function We(ln){return e.getSynthesizedDeepClone(ln,!1)}function a(ln,dr,vr){return vr?void 0:e.getSynthesizedDeepClone(ln,!1)||C(dr)}function qr(ln){return e.getSynthesizedDeepClone(ln,!1)}}l.addNewNodeForMemberSymbol=P;function z(b,F,Q,j,I,L,V,ne,se,De){var T=F.program,w=T.getTypeChecker(),A=e.getEmitScriptTarget(T.getCompilerOptions()),oe=524545|(Q===0?268435456:0),W=w.signatureToSignatureDeclaration(j,b,se,oe,h(F));if(W){var u=W.typeParameters,O=W.parameters,B=W.type;if(De){if(u){var G=e.sameMap(u,function(Oe){var xe=Oe.constraint,Se=Oe.default;if(xe){var Ce=re(xe,A);Ce&&(xe=Ce.typeNode,K(De,Ce.symbols))}if(Se){var Ce=re(Se,A);Ce&&(Se=Ce.typeNode,K(De,Ce.symbols))}return e.factory.updateTypeParameterDeclaration(Oe,Oe.modifiers,Oe.name,xe,Se)});u!==G&&(u=e.setTextRange(e.factory.createNodeArray(G,u.hasTrailingComma),u))}var $=e.sameMap(O,function(Oe){var xe=re(Oe.type,A),Se=Oe.type;return xe&&(Se=xe.typeNode,K(De,xe.symbols)),e.factory.updateParameterDeclaration(Oe,Oe.modifiers,Oe.dotDotDotToken,Oe.name,Oe.questionToken,Se,Oe.initializer)});if(O!==$&&(O=e.setTextRange(e.factory.createNodeArray($,O.hasTrailingComma),O)),B){var me=re(B,A);me&&(B=me.typeNode,K(De,me.symbols))}}var ae=ne?e.factory.createToken(57):void 0,Me=W.asteriskToken;if(e.isFunctionExpression(W))return e.factory.updateFunctionExpression(W,V,W.asteriskToken,e.tryCast(L,e.isIdentifier),u,O,B,I??W.body);if(e.isArrowFunction(W))return e.factory.updateArrowFunction(W,V,u,O,B,W.equalsGreaterThanToken,I??W.body);if(e.isMethodDeclaration(W))return e.factory.updateMethodDeclaration(W,V,Me,L??e.factory.createIdentifier(""),ae,u,O,B,I);if(e.isFunctionDeclaration(W))return e.factory.updateFunctionDeclaration(W,V,W.asteriskToken,e.tryCast(L,e.isIdentifier),u,O,B,I??W.body)}}l.createSignatureDeclarationFromSignature=z;function U(b,F,Q,j,I,L,V){var ne=e.getQuotePreference(F.sourceFile,F.preferences),se=e.getEmitScriptTarget(F.program.getCompilerOptions()),De=h(F),T=F.program.getTypeChecker(),w=e.isInJSFile(V),A=j.typeArguments,oe=j.arguments,W=j.parent,u=w?void 0:T.getContextualType(j),O=e.map(oe,function(Ce){return e.isIdentifier(Ce)?Ce.text:e.isPropertyAccessExpression(Ce)&&e.isIdentifier(Ce.name)?Ce.name.text:void 0}),B=w?[]:e.map(oe,function(Ce){return T.getTypeAtLocation(Ce)}),G=Z(T,Q,B,V,se,void 0,De),$=G.argumentTypeNodes,me=G.argumentTypeParameters,ae=L?e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(L)):void 0,Me=e.isYieldExpression(W)?e.factory.createToken(41):void 0,Oe=w?void 0:g(T,me,A),xe=x(oe.length,O,$,void 0,w),Se=w||u===void 0?void 0:T.typeToTypeNode(u,V,void 0,De);switch(b){case 171:return e.factory.createMethodDeclaration(ae,Me,I,void 0,Oe,xe,Se,C(ne));case 170:return e.factory.createMethodSignature(ae,I,void 0,Oe,xe,Se===void 0?e.factory.createKeywordTypeNode(157):Se);case 259:return e.factory.createFunctionDeclaration(ae,Me,I,Oe,xe,Se,k(e.Diagnostics.Function_not_implemented.message,ne));default:e.Debug.fail("Unexpected kind")}}l.createSignatureDeclarationFromCallExpression=U;function g(b,F,Q){var j=new e.Set(F.map(function(se){return se[0]})),I=new e.Map(F);if(Q)for(var L=Q.filter(function(se){return!F.some(function(De){var T;return b.getTypeAtLocation(se)===((T=De[1])===null||T===void 0?void 0:T.argumentType)})}),V=j.size+L.length,ne=0;j.size=j?e.factory.createToken(57):void 0,I?void 0:(Q==null?void 0:Q[ne])||e.factory.createKeywordTypeNode(157),void 0);L.push(T)}return L}function J(b,F,Q,j,I,L,V,ne,se){for(var De=j[0],T=j[0].minArgumentCount,w=!1,A=0,oe=j;A=De.parameters.length&&(!e.signatureHasRestParameter(W)||e.signatureHasRestParameter(De))&&(De=W)}var u=De.parameters.length-(e.signatureHasRestParameter(De)?1:0),O=De.parameters.map(function($){return $.name}),B=x(u,O,void 0,T,!1);if(w){var G=e.factory.createParameterDeclaration(void 0,e.factory.createToken(25),O[u]||"rest",u>=T?e.factory.createToken(57):void 0,e.factory.createArrayTypeNode(e.factory.createKeywordTypeNode(157)),void 0);B.push(G)}return D(V,I,L,void 0,B,d(j,b,F,Q),ne,se)}function d(b,F,Q,j){if(e.length(b)){var I=F.getUnionType(e.map(b,F.getReturnTypeOfSignature));return F.typeToTypeNode(I,j,void 0,h(Q))}}function D(b,F,Q,j,I,L,V,ne){return e.factory.createMethodDeclaration(b,void 0,F,Q?e.factory.createToken(57):void 0,j,I,L,ne||C(V))}function C(b){return k(e.Diagnostics.Method_not_implemented.message,b)}function k(b,F){return e.factory.createBlock([e.factory.createThrowStatement(e.factory.createNewExpression(e.factory.createIdentifier("Error"),void 0,[e.factory.createStringLiteral(b,F===0)]))],!0)}l.createStubbedBody=k;function R(b,F,Q){var j=e.getTsConfigObjectLiteralExpression(F);if(j){var I=ve(j,"compilerOptions");if(I===void 0){b.insertNodeAtObjectStart(F,j,ge("compilerOptions",e.factory.createObjectLiteralExpression(Q.map(function(A){var oe=A[0],W=A[1];return ge(oe,W)}),!0)));return}var L=I.initializer;if(e.isObjectLiteralExpression(L))for(var V=0,ne=Q;V0)return[l.createCodeFixAction(_,U,e.Diagnostics.Convert_to_a_bigint_numeric_literal,_,e.Diagnostics.Convert_all_to_bigint_numeric_literals)]},fixIds:[_],getAllCodeActions:function(P){return l.codeFixAll(P,h,function(z,U){return p(z,U.file,U)})}});function p(P,z,U){var g=e.tryCast(e.getTokenAtPosition(z,U.start),e.isNumericLiteral);if(g){var v=g.getText(z)+"n";P.replaceNode(z,g,e.factory.createBigIntLiteral(v))}}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="fixAddModuleReferTypeMissingTypeof",h=_,p=[e.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code];l.registerCodeFix({errorCodes:p,getCodeActions:function(g){var v=g.sourceFile,Y=g.span,ce=P(v,Y.start),Z=e.textChanges.ChangeTracker.with(g,function(ie){return z(ie,v,ce)});return[l.createCodeFixAction(h,Z,e.Diagnostics.Add_missing_typeof,h,e.Diagnostics.Add_missing_typeof)]},fixIds:[h],getAllCodeActions:function(U){return l.codeFixAll(U,p,function(g,v){return z(g,U.sourceFile,P(v.file,v.start))})}});function P(U,g){var v=e.getTokenAtPosition(U,g);return e.Debug.assert(v.kind===100,"This token should be an ImportKeyword"),e.Debug.assert(v.parent.kind===202,"Token parent should be an ImportType"),v.parent}function z(U,g,v){var Y=e.factory.updateImportTypeNode(v,v.argument,v.assertions,v.qualifier,v.typeArguments,!0);U.replaceNode(g,v,Y)}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="wrapJsxInFragment",h=[e.Diagnostics.JSX_expressions_must_have_one_parent_element.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(g){var v=g.sourceFile,Y=g.span,ce=p(v,Y.start);if(ce){var Z=e.textChanges.ChangeTracker.with(g,function(ie){return P(ie,v,ce)});return[l.createCodeFixAction(_,Z,e.Diagnostics.Wrap_in_JSX_fragment,_,e.Diagnostics.Wrap_all_unparented_JSX_in_JSX_fragment)]}},fixIds:[_],getAllCodeActions:function(U){return l.codeFixAll(U,h,function(g,v){var Y=p(U.sourceFile,v.start);Y&&P(g,U.sourceFile,Y)})}});function p(U,g){var v=e.getTokenAtPosition(U,g),Y=v.parent,ce=Y.parent;if(!(!e.isBinaryExpression(ce)&&(ce=ce.parent,!e.isBinaryExpression(ce)))&&e.nodeIsMissing(ce.operatorToken))return ce}function P(U,g,v){var Y=z(v);Y&&U.replaceNode(g,v,e.factory.createJsxFragment(e.factory.createJsxOpeningFragment(),Y,e.factory.createJsxJsxClosingFragment()))}function z(U){for(var g=[],v=U;;)if(e.isBinaryExpression(v)&&e.nodeIsMissing(v.operatorToken)&&v.operatorToken.kind===27){if(g.push(v.left),e.isJsxChild(v.right))return g.push(v.right),g;if(e.isBinaryExpression(v.right)){v=v.right;continue}else return}else return}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="fixConvertToMappedObjectType",h=[e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(g){var v=g.sourceFile,Y=g.span,ce=p(v,Y.start);if(ce){var Z=e.textChanges.ChangeTracker.with(g,function(te){return z(te,v,ce)}),ie=e.idText(ce.container.name);return[l.createCodeFixAction(_,Z,[e.Diagnostics.Convert_0_to_mapped_object_type,ie],_,[e.Diagnostics.Convert_0_to_mapped_object_type,ie])]}},fixIds:[_],getAllCodeActions:function(U){return l.codeFixAll(U,h,function(g,v){var Y=p(v.file,v.start);Y&&z(g,v.file,Y)})}});function p(U,g){var v=e.getTokenAtPosition(U,g),Y=e.tryCast(v.parent.parent,e.isIndexSignatureDeclaration);if(Y){var ce=e.isInterfaceDeclaration(Y.parent)?Y.parent:e.tryCast(Y.parent.parent,e.isTypeAliasDeclaration);if(ce)return{indexSignature:Y,container:ce}}}function P(U,g){return e.factory.createTypeAliasDeclaration(U.modifiers,U.name,U.typeParameters,g)}function z(U,g,v){var Y=v.indexSignature,ce=v.container,Z=e.isInterfaceDeclaration(ce)?ce.members:ce.type.members,ie=Z.filter(function(D){return!e.isIndexSignatureDeclaration(D)}),te=e.first(Y.parameters),x=e.factory.createTypeParameterDeclaration(void 0,e.cast(te.name,e.isIdentifier),te.type),J=e.factory.createMappedTypeNode(e.hasEffectiveReadonlyModifier(Y)?e.factory.createModifier(146):void 0,x,void 0,Y.questionToken,Y.type,void 0),d=e.factory.createIntersectionTypeNode(Hn(Hn(Hn([],e.getAllSuperTypeNodes(ce),!0),[J],!1),ie.length?[e.factory.createTypeLiteralNode(ie)]:e.emptyArray,!0));U.replaceNode(g,ce,P(ce,d))}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="removeAccidentalCallParentheses",h=[e.Diagnostics.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(p){var P=e.findAncestor(e.getTokenAtPosition(p.sourceFile,p.span.start),e.isCallExpression);if(P){var z=e.textChanges.ChangeTracker.with(p,function(U){U.deleteRange(p.sourceFile,{pos:P.expression.end,end:P.end})});return[l.createCodeFixActionWithoutFixAll(_,z,e.Diagnostics.Remove_parentheses)]}},fixIds:[_]})})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="removeUnnecessaryAwait",h=[e.Diagnostics.await_has_no_effect_on_the_type_of_this_expression.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(z){var U=e.textChanges.ChangeTracker.with(z,function(g){return p(g,z.sourceFile,z.span)});if(U.length>0)return[l.createCodeFixAction(_,U,e.Diagnostics.Remove_unnecessary_await,_,e.Diagnostics.Remove_all_unnecessary_uses_of_await)]},fixIds:[_],getAllCodeActions:function(P){return l.codeFixAll(P,h,function(z,U){return p(z,U.file,U)})}});function p(P,z,U){var g=e.tryCast(e.getTokenAtPosition(z,U.start),function(te){return te.kind===133}),v=g&&e.tryCast(g.parent,e.isAwaitExpression);if(v){var Y=v,ce=e.isParenthesizedExpression(v.parent);if(ce){var Z=e.getLeftmostExpression(v.expression,!1);if(e.isIdentifier(Z)){var ie=e.findPrecedingToken(v.parent.pos,z);ie&&ie.kind!==103&&(Y=v.parent)}}P.replaceNode(z,Y,v.expression)}}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _=[e.Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code],h="splitTypeOnlyImport";l.registerCodeFix({errorCodes:_,fixIds:[h],getCodeActions:function(U){var g=e.textChanges.ChangeTracker.with(U,function(v){return P(v,p(U.sourceFile,U.span),U)});if(g.length)return[l.createCodeFixAction(h,g,e.Diagnostics.Split_into_two_separate_import_declarations,h,e.Diagnostics.Split_all_invalid_type_only_imports)]},getAllCodeActions:function(z){return l.codeFixAll(z,_,function(U,g){P(U,p(z.sourceFile,g),z)})}});function p(z,U){return e.findAncestor(e.getTokenAtPosition(z,U.start),e.isImportDeclaration)}function P(z,U,g){if(U){var v=e.Debug.checkDefined(U.importClause);z.replaceNode(g.sourceFile,U,e.factory.updateImportDeclaration(U,U.modifiers,e.factory.updateImportClause(v,v.isTypeOnly,v.name,void 0),U.moduleSpecifier,U.assertClause)),z.insertNodeAfter(g.sourceFile,U,e.factory.createImportDeclaration(void 0,e.factory.updateImportClause(v,v.isTypeOnly,void 0,v.namedBindings),U.moduleSpecifier,U.assertClause))}}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="fixConvertConstToLet",h=[e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant.code];l.registerCodeFix({errorCodes:h,getCodeActions:function(U){var g=U.sourceFile,v=U.span,Y=U.program,ce=p(g,v.start,Y);if(ce!==void 0){var Z=e.textChanges.ChangeTracker.with(U,function(ie){return P(ie,g,ce.token)});return[l.createCodeFixActionMaybeFixAll(_,Z,e.Diagnostics.Convert_const_to_let,_,e.Diagnostics.Convert_all_const_to_let)]}},getAllCodeActions:function(z){var U=z.program,g=new e.Map;return l.createCombinedCodeActions(e.textChanges.ChangeTracker.with(z,function(v){l.eachDiagnostic(z,h,function(Y){var ce=p(Y.file,Y.start,U);if(ce&&e.addToSeen(g,e.getSymbolId(ce.symbol)))return P(v,Y.file,ce.token)})}))},fixIds:[_]});function p(z,U,g){var v,Y=g.getTypeChecker(),ce=Y.getSymbolAtLocation(e.getTokenAtPosition(z,U));if(ce!==void 0){var Z=e.tryCast((v=ce==null?void 0:ce.valueDeclaration)===null||v===void 0?void 0:v.parent,e.isVariableDeclarationList);if(Z!==void 0){var ie=e.findChildOfKind(Z,85,z);if(ie!==void 0)return{symbol:ce,token:ie}}}}function P(z,U,g){z.replaceNode(U,g,e.factory.createToken(119))}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="fixExpectedComma",h=e.Diagnostics._0_expected.code,p=[h];l.registerCodeFix({errorCodes:p,getCodeActions:function(U){var g=U.sourceFile,v=P(g,U.span.start,U.errorCode);if(v){var Y=e.textChanges.ChangeTracker.with(U,function(ce){return z(ce,g,v)});return[l.createCodeFixAction(_,Y,[e.Diagnostics.Change_0_to_1,";",","],_,[e.Diagnostics.Change_0_to_1,";",","])]}},fixIds:[_],getAllCodeActions:function(U){return l.codeFixAll(U,p,function(g,v){var Y=P(v.file,v.start,v.code);Y&&z(g,U.sourceFile,Y)})}});function P(U,g,v){var Y=e.getTokenAtPosition(U,g);return Y.kind===26&&Y.parent&&(e.isObjectLiteralExpression(Y.parent)||e.isArrayLiteralExpression(Y.parent))?{node:Y}:void 0}function z(U,g,v){var Y=v.node,ce=e.factory.createToken(27);U.replaceNode(g,Y,ce)}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="addVoidToPromise",h="addVoidToPromise",p=[e.Diagnostics.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments.code,e.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code];l.registerCodeFix({errorCodes:p,fixIds:[h],getCodeActions:function(U){var g=e.textChanges.ChangeTracker.with(U,function(v){return P(v,U.sourceFile,U.span,U.program)});if(g.length>0)return[l.createCodeFixAction(_,g,e.Diagnostics.Add_void_to_Promise_resolved_without_a_value,h,e.Diagnostics.Add_void_to_all_Promises_resolved_without_a_value)]},getAllCodeActions:function(U){return l.codeFixAll(U,p,function(g,v){return P(g,v.file,v,U.program,new e.Set)})}});function P(U,g,v,Y,ce){var Z=e.getTokenAtPosition(g,v.start);if(!(!e.isIdentifier(Z)||!e.isCallExpression(Z.parent)||Z.parent.expression!==Z||Z.parent.arguments.length!==0)){var ie=Y.getTypeChecker(),te=ie.getSymbolAtLocation(Z),x=te==null?void 0:te.valueDeclaration;if(!(!x||!e.isParameter(x)||!e.isNewExpression(x.parent.parent))&&!(ce!=null&&ce.has(x))){ce==null||ce.add(x);var J=z(x.parent.parent);if(e.some(J)){var d=J[0],D=!e.isUnionTypeNode(d)&&!e.isParenthesizedTypeNode(d)&&e.isParenthesizedTypeNode(e.factory.createUnionTypeNode([d,e.factory.createKeywordTypeNode(114)]).types[0]);D&&U.insertText(g,d.pos,"("),U.insertText(g,d.end,D?") | void":" | void")}else{var C=ie.getResolvedSignature(Z.parent),k=C==null?void 0:C.parameters[0],R=k&&ie.getTypeOfSymbolAtLocation(k,x.parent.parent);e.isInJSFile(x)?(!R||R.flags&3)&&(U.insertText(g,x.parent.parent.end,")"),U.insertText(g,e.skipTrivia(g.text,x.parent.parent.pos),"/** @type {Promise} */(")):(!R||R.flags&2)&&U.insertText(g,x.parent.parent.expression.end,"")}}}}function z(U){var g;if(e.isInJSFile(U)){if(e.isParenthesizedExpression(U.parent)){var v=(g=e.getJSDocTypeTag(U.parent))===null||g===void 0?void 0:g.typeExpression.type;if(v&&e.isTypeReferenceNode(v)&&e.isIdentifier(v.typeName)&&e.idText(v.typeName)==="Promise")return v.typeArguments}}else return U.typeArguments}})(i=e.codefix||(e.codefix={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="Convert export",h={name:"Convert default export to named export",description:e.Diagnostics.Convert_default_export_to_named_export.message,kind:"refactor.rewrite.export.named"},p={name:"Convert named export to default export",description:e.Diagnostics.Convert_named_export_to_default_export.message,kind:"refactor.rewrite.export.default"};l.registerRefactor(_,{kinds:[h.kind,p.kind],getAvailableActions:function(x){var J=P(x,x.triggerReason==="invoked");if(!J)return e.emptyArray;if(!l.isRefactorErrorInfo(J)){var d=J.wasDefault?h:p;return[{name:_,description:d.description,actions:[d]}]}return x.preferences.provideRefactorNotApplicableReason?[{name:_,description:e.Diagnostics.Convert_default_export_to_named_export.message,actions:[Ri(Ri({},h),{notApplicableReason:J.error}),Ri(Ri({},p),{notApplicableReason:J.error})]}]:e.emptyArray},getEditsForAction:function(x,J){e.Debug.assert(J===h.name||J===p.name,"Unexpected action name");var d=P(x);e.Debug.assert(d&&!l.isRefactorErrorInfo(d),"Expected applicable refactor info");var D=e.textChanges.ChangeTracker.with(x,function(C){return z(x.file,x.program,d,C,x.cancellationToken)});return{edits:D,renameFilename:void 0,renameLocation:void 0}}});function P(te,x){x===void 0&&(x=!0);var J=te.file,d=te.program,D=e.getRefactorContextSpan(te),C=e.getTokenAtPosition(J,D.start),k=C.parent&&e.getSyntacticModifierFlags(C.parent)&1&&x?C.parent:e.getParentNodeInSpan(C,J,D);if(!k||!e.isSourceFile(k.parent)&&!(e.isModuleBlock(k.parent)&&e.isAmbientModule(k.parent.parent)))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_export_statement)};var R=d.getTypeChecker(),M=ie(k,R),ge=e.getSyntacticModifierFlags(k)||(e.isExportAssignment(k)&&!k.isExportEquals?1025:0),ve=!!(ge&1024);if(!(ge&1)||!ve&&M.exports.has("default"))return{error:e.getLocaleSpecificMessage(e.Diagnostics.This_file_already_has_a_default_export)};var re=function(b){return e.isIdentifier(b)&&R.getSymbolAtLocation(b)?void 0:{error:e.getLocaleSpecificMessage(e.Diagnostics.Can_only_convert_named_export)}};switch(k.kind){case 259:case 260:case 261:case 263:case 262:case 264:{var N=k;return N.name?re(N.name)||{exportNode:N,exportName:N.name,wasDefault:ve,exportingModuleSymbol:M}:void 0}case 240:{var K=k;if(!(K.declarationList.flags&2)||K.declarationList.declarations.length!==1)return;var q=e.first(K.declarationList.declarations);return q.initializer?(e.Debug.assert(!ve,"Can't have a default flag here"),re(q.name)||{exportNode:K,exportName:q.name,wasDefault:ve,exportingModuleSymbol:M}):void 0}case 274:{var N=k;return N.isExportEquals?void 0:re(N.expression)||{exportNode:N,exportName:N.expression,wasDefault:ve,exportingModuleSymbol:M}}default:return}}function z(te,x,J,d,D){U(te,J,d,x.getTypeChecker()),g(x,J,d,D)}function U(te,x,J,d){var D=x.wasDefault,C=x.exportNode,k=x.exportName;if(D)if(e.isExportAssignment(C)&&!C.isExportEquals){var R=C.expression,M=Z(R.text,R.text);J.replaceNode(te,C,e.factory.createExportDeclaration(void 0,!1,e.factory.createNamedExports([M])))}else J.delete(te,e.Debug.checkDefined(e.findModifier(C,88),"Should find a default keyword in modifier list"));else{var ge=e.Debug.checkDefined(e.findModifier(C,93),"Should find an export keyword in modifier list");switch(C.kind){case 259:case 260:case 261:J.insertNodeAfter(te,ge,e.factory.createToken(88));break;case 240:var ve=e.first(C.declarationList.declarations);if(!e.FindAllReferences.Core.isSymbolReferencedInFile(k,d,te)&&!ve.type){J.replaceNode(te,C,e.factory.createExportDefault(e.Debug.checkDefined(ve.initializer,"Initializer was previously known to be present")));break}case 263:case 262:case 264:J.deleteModifier(te,ge),J.insertNodeAfter(te,C,e.factory.createExportDefault(e.factory.createIdentifier(k.text)));break;default:e.Debug.fail("Unexpected exportNode kind ".concat(C.kind))}}}function g(te,x,J,d){var D=x.wasDefault,C=x.exportName,k=x.exportingModuleSymbol,R=te.getTypeChecker(),M=e.Debug.checkDefined(R.getSymbolAtLocation(C),"Export name should resolve to a symbol");e.FindAllReferences.Core.eachExportReference(te.getSourceFiles(),R,d,M,k,C.text,D,function(ge){if(C!==ge){var ve=ge.getSourceFile();D?v(ve,ge,J,C.text):Y(ve,ge,J)}})}function v(te,x,J,d){var D=x.parent;switch(D.kind){case 208:J.replaceNode(te,x,e.factory.createIdentifier(d));break;case 273:case 278:{var C=D;J.replaceNode(te,C,ce(d,C.name.text));break}case 270:{var k=D;e.Debug.assert(k.name===x,"Import clause name should match provided ref");var C=ce(d,x.text),R=k.namedBindings;if(!R)J.replaceNode(te,x,e.factory.createNamedImports([C]));else if(R.kind===271){J.deleteRange(te,{pos:x.getStart(te),end:R.getStart(te)});var M=e.isStringLiteral(k.parent.moduleSpecifier)?e.quotePreferenceFromString(k.parent.moduleSpecifier,te):1,ge=e.makeImport(void 0,[ce(d,x.text)],k.parent.moduleSpecifier,M);J.insertNodeAfter(te,k.parent,ge)}else J.delete(te,x),J.insertNodeAtEndOfList(te,R.elements,C);break}case 202:var ve=D;J.replaceNode(te,D,e.factory.createImportTypeNode(ve.argument,ve.assertions,e.factory.createIdentifier(d),ve.typeArguments,ve.isTypeOf));break;default:e.Debug.failBadSyntaxKind(D)}}function Y(te,x,J){var d=x.parent;switch(d.kind){case 208:J.replaceNode(te,x,e.factory.createIdentifier("default"));break;case 273:{var D=e.factory.createIdentifier(d.name.text);d.parent.elements.length===1?J.replaceNode(te,d.parent,D):(J.delete(te,d),J.insertNodeBefore(te,d.parent,D));break}case 278:{J.replaceNode(te,d,Z("default",d.name.text));break}default:e.Debug.assertNever(d,"Unexpected parent kind ".concat(d.kind))}}function ce(te,x){return e.factory.createImportSpecifier(!1,te===x?void 0:e.factory.createIdentifier(te),e.factory.createIdentifier(x))}function Z(te,x){return e.factory.createExportSpecifier(!1,te===x?void 0:e.factory.createIdentifier(te),e.factory.createIdentifier(x))}function ie(te,x){var J=te.parent;if(e.isSourceFile(J))return J.symbol;var d=J.parent.symbol;return d.valueDeclaration&&e.isExternalModuleAugmentation(d.valueDeclaration)?x.getMergedSymbol(d):d}})(i=e.refactor||(e.refactor={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _,h="Convert import",p=(_={},_[0]={name:"Convert namespace import to named imports",description:e.Diagnostics.Convert_namespace_import_to_named_imports.message,kind:"refactor.rewrite.import.named"},_[2]={name:"Convert named imports to namespace import",description:e.Diagnostics.Convert_named_imports_to_namespace_import.message,kind:"refactor.rewrite.import.namespace"},_[1]={name:"Convert named imports to default import",description:e.Diagnostics.Convert_named_imports_to_default_import.message,kind:"refactor.rewrite.import.default"},_);l.registerRefactor(h,{kinds:e.getOwnValues(p).map(function(te){return te.kind}),getAvailableActions:function(x){var J=P(x,x.triggerReason==="invoked");if(!J)return e.emptyArray;if(!l.isRefactorErrorInfo(J)){var d=p[J.convertTo];return[{name:h,description:d.description,actions:[d]}]}return x.preferences.provideRefactorNotApplicableReason?e.getOwnValues(p).map(function(D){return{name:h,description:D.description,actions:[Ri(Ri({},D),{notApplicableReason:J.error})]}}):e.emptyArray},getEditsForAction:function(x,J){e.Debug.assert(e.some(e.getOwnValues(p),function(C){return C.name===J}),"Unexpected action name");var d=P(x);e.Debug.assert(d&&!l.isRefactorErrorInfo(d),"Expected applicable refactor info");var D=e.textChanges.ChangeTracker.with(x,function(C){return U(x.file,x.program,C,d)});return{edits:D,renameFilename:void 0,renameLocation:void 0}}});function P(te,x){x===void 0&&(x=!0);var J=te.file,d=e.getRefactorContextSpan(te),D=e.getTokenAtPosition(J,d.start),C=x?e.findAncestor(D,e.isImportDeclaration):e.getParentNodeInSpan(D,J,d);if(!C||!e.isImportDeclaration(C))return{error:"Selection is not an import declaration."};var k=d.start+d.length,R=e.findNextToken(C,C.parent,J);if(!(R&&k>R.getStart())){var M=C.importClause;if(!M)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_import_clause)};if(!M.namedBindings)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_namespace_import_or_named_imports)};if(M.namedBindings.kind===271)return{convertTo:0,import:M.namedBindings};var ge=z(te.program,M);return ge?{convertTo:1,import:M.namedBindings}:{convertTo:2,import:M.namedBindings}}}function z(te,x){return e.getAllowSyntheticDefaultImports(te.getCompilerOptions())&&Z(x.parent.moduleSpecifier,te.getTypeChecker())}function U(te,x,J,d){var D=x.getTypeChecker();d.convertTo===0?g(te,D,J,d.import,e.getAllowSyntheticDefaultImports(x.getCompilerOptions())):ce(te,x,J,d.import,d.convertTo===1)}function g(te,x,J,d,D){var C=!1,k=[],R=new e.Map;e.FindAllReferences.Core.eachSymbolReferenceInFile(d.name,x,te,function(F){if(!e.isPropertyAccessOrQualifiedName(F.parent))C=!0;else{var Q=v(F.parent).text;x.resolveName(Q,F,67108863,!0)&&R.set(Q,!0),e.Debug.assert(Y(F.parent)===F,"Parent expression should match id"),k.push(F.parent)}});for(var M=new e.Map,ge=0,ve=k;ge=Q.pos?j.getEnd():Q.getEnd()),L=F?k(Q):C(Q,I),V=L&&ce(L)?R(L):void 0;if(!V)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var ne=q.getTypeChecker();return e.isConditionalExpression(V)?ie(V,ne):te(V)}}function ie(re,N){var K=re.condition,q=M(re.whenTrue);if(!q||N.isNullableType(N.getTypeAtLocation(q)))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};if((e.isPropertyAccessExpression(K)||e.isIdentifier(K))&&J(K,q.expression))return{finalExpression:q,occurrences:[K],expression:re};if(e.isBinaryExpression(K)){var b=x(q.expression,K);return b?{finalExpression:q,occurrences:b,expression:re}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}}function te(re){if(re.operatorToken.kind!==55)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Can_only_convert_logical_AND_access_chains)};var N=M(re.right);if(!N)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var K=x(N.expression,re.left);return K?{finalExpression:N,occurrences:K,expression:re}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}function x(re,N){for(var K=[];e.isBinaryExpression(N)&&N.operatorToken.kind===55;){var q=J(e.skipParentheses(re),e.skipParentheses(N.right));if(!q)break;K.push(q),re=q,N=N.left}var b=J(re,N);return b&&K.push(b),K.length>0?K:void 0}function J(re,N){if(!(!e.isIdentifier(N)&&!e.isPropertyAccessExpression(N)&&!e.isElementAccessExpression(N)))return d(re,N)?N:void 0}function d(re,N){for(;(e.isCallExpression(re)||e.isPropertyAccessExpression(re)||e.isElementAccessExpression(re))&&D(re)!==D(N);)re=re.expression;for(;e.isPropertyAccessExpression(re)&&e.isPropertyAccessExpression(N)||e.isElementAccessExpression(re)&&e.isElementAccessExpression(N);){if(D(re)!==D(N))return!1;re=re.expression,N=N.expression}return e.isIdentifier(re)&&e.isIdentifier(N)&&re.getText()===N.getText()}function D(re){if(e.isIdentifier(re)||e.isStringOrNumericLiteralLike(re))return re.getText();if(e.isPropertyAccessExpression(re))return D(re.name);if(e.isElementAccessExpression(re))return D(re.argumentExpression)}function C(re,N){for(;re.parent;){if(ce(re)&&N.length!==0&&re.end>=N.start+N.length)return re;re=re.parent}}function k(re){for(;re.parent;){if(ce(re)&&!ce(re.parent))return re;re=re.parent}}function R(re){if(v(re))return re;if(e.isVariableStatement(re)){var N=e.getSingleVariableOfVariableStatement(re),K=N==null?void 0:N.initializer;return K&&v(K)?K:void 0}return re.expression&&v(re.expression)?re.expression:void 0}function M(re){if(re=e.skipParentheses(re),e.isBinaryExpression(re))return M(re.left);if((e.isPropertyAccessExpression(re)||e.isElementAccessExpression(re)||e.isCallExpression(re))&&!e.isOptionalChain(re))return re}function ge(re,N,K){if(e.isPropertyAccessExpression(N)||e.isElementAccessExpression(N)||e.isCallExpression(N)){var q=ge(re,N.expression,K),b=K.length>0?K[K.length-1]:void 0,F=(b==null?void 0:b.getText())===N.expression.getText();if(F&&K.pop(),e.isCallExpression(N))return F?e.factory.createCallChain(q,e.factory.createToken(28),N.typeArguments,N.arguments):e.factory.createCallChain(q,N.questionDotToken,N.typeArguments,N.arguments);if(e.isPropertyAccessExpression(N))return F?e.factory.createPropertyAccessChain(q,e.factory.createToken(28),N.name):e.factory.createPropertyAccessChain(q,N.questionDotToken,N.name);if(e.isElementAccessExpression(N))return F?e.factory.createElementAccessChain(q,e.factory.createToken(28),N.argumentExpression):e.factory.createElementAccessChain(q,N.questionDotToken,N.argumentExpression)}return N}function ve(re,N,K,q,b){var F=q.finalExpression,Q=q.occurrences,j=q.expression,I=Q[Q.length-1],L=ge(N,F,Q);L&&(e.isPropertyAccessExpression(L)||e.isElementAccessExpression(L)||e.isCallExpression(L))&&(e.isBinaryExpression(j)?K.replaceNodeRange(re,I,F,L):e.isConditionalExpression(j)&&K.replaceNode(re,j,e.factory.createBinaryExpression(L,e.factory.createToken(60),j.whenFalse)))}})(_=l.convertToOptionalChainExpression||(l.convertToOptionalChainExpression={}))})(i=e.refactor||(e.refactor={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _;(function(h){var p="Convert overload list to single signature",P=e.Diagnostics.Convert_overload_list_to_single_signature.message,z={name:p,description:P,kind:"refactor.rewrite.function.overloadList"};l.registerRefactor(p,{kinds:[z.kind],getEditsForAction:g,getAvailableActions:U});function U(ce){var Z=ce.file,ie=ce.startPosition,te=ce.program,x=Y(Z,ie,te);return x?[{name:p,description:P,actions:[z]}]:e.emptyArray}function g(ce){var Z=ce.file,ie=ce.startPosition,te=ce.program,x=Y(Z,ie,te);if(!x)return;var J=te.getTypeChecker(),d=x[x.length-1],D=d;switch(d.kind){case 170:{D=e.factory.updateMethodSignature(d,d.modifiers,d.name,d.questionToken,d.typeParameters,k(x),d.type);break}case 171:{D=e.factory.updateMethodDeclaration(d,d.modifiers,d.asteriskToken,d.name,d.questionToken,d.typeParameters,k(x),d.type,d.body);break}case 176:{D=e.factory.updateCallSignature(d,d.typeParameters,k(x),d.type);break}case 173:{D=e.factory.updateConstructorDeclaration(d,d.modifiers,k(x),d.body);break}case 177:{D=e.factory.updateConstructSignature(d,d.typeParameters,k(x),d.type);break}case 259:{D=e.factory.updateFunctionDeclaration(d,d.modifiers,d.asteriskToken,d.name,d.typeParameters,k(x),d.type,d.body);break}default:return e.Debug.failBadSyntaxKind(d,"Unhandled signature kind in overload list conversion refactoring")}if(D===d)return;var C=e.textChanges.ChangeTracker.with(ce,function(ge){ge.replaceNodeRange(Z,x[0],x[x.length-1],D)});return{renameFilename:void 0,renameLocation:void 0,edits:C};function k(ge){var ve=ge[ge.length-1];return e.isFunctionLikeDeclaration(ve)&&ve.body&&(ge=ge.slice(0,ge.length-1)),e.factory.createNodeArray([e.factory.createParameterDeclaration(void 0,e.factory.createToken(25),"args",void 0,e.factory.createUnionTypeNode(e.map(ge,R)))])}function R(ge){var ve=e.map(ge.parameters,M);return e.setEmitFlags(e.factory.createTupleTypeNode(ve),e.some(ve,function(re){return!!e.length(e.getSyntheticLeadingComments(re))})?0:1)}function M(ge){e.Debug.assert(e.isIdentifier(ge.name));var ve=e.setTextRange(e.factory.createNamedTupleMember(ge.dotDotDotToken,ge.name,ge.questionToken,ge.type||e.factory.createKeywordTypeNode(131)),ge),re=ge.symbol&&ge.symbol.getDocumentationComment(J);if(re){var N=e.displayPartsToString(re);N.length&&e.setSyntheticLeadingComments(ve,[{text:`* +`.concat(N.split(` +`).map(function(K){return" * ".concat(K)}).join(` +`),` + `),kind:3,pos:-1,end:-1,hasTrailingNewLine:!0,hasLeadingNewline:!0}])}return ve}}function v(ce){switch(ce.kind){case 170:case 171:case 176:case 173:case 177:case 259:return!0}return!1}function Y(ce,Z,ie){var te=e.getTokenAtPosition(ce,Z),x=e.findAncestor(te,v);if(x&&!(e.isFunctionLikeDeclaration(x)&&x.body&&e.rangeContainsPosition(x.body,Z))){var J=ie.getTypeChecker(),d=x.symbol;if(d){var D=d.declarations;if(!(e.length(D)<=1)&&e.every(D,function(ge){return e.getSourceFileOfNode(ge)===ce})&&v(D[0])){var C=D[0].kind;if(e.every(D,function(ge){return ge.kind===C})){var k=D;if(!e.some(k,function(ge){return!!ge.typeParameters||e.some(ge.parameters,function(ve){return!!ve.modifiers||!e.isIdentifier(ve.name)})})){var R=e.mapDefined(k,function(ge){return J.getSignatureFromDeclaration(ge)});if(e.length(R)===e.length(D)){var M=J.getReturnTypeOfSignature(R[0]);if(e.every(R,function(ge){return J.getReturnTypeOfSignature(ge)===M}))return k}}}}}}}})(_=l.addOrRemoveBracesToArrowFunction||(l.addOrRemoveBracesToArrowFunction={}))})(i=e.refactor||(e.refactor={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _;(function(h){var p="Extract Symbol",P={name:"Extract Constant",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_constant),kind:"refactor.extract.constant"},z={name:"Extract Function",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_function),kind:"refactor.extract.function"};l.registerRefactor(p,{kinds:[P.kind,z.kind],getEditsForAction:g,getAvailableActions:U});function U($){var me=$.kind,ae=ce($.file,e.getRefactorContextSpan($),$.triggerReason==="invoked"),Me=ae.targetRange;if(Me===void 0){if(!ae.errors||ae.errors.length===0||!$.preferences.provideRefactorNotApplicableReason)return e.emptyArray;var Oe=[];return l.refactorKindBeginsWith(z.kind,me)&&Oe.push({name:p,description:z.description,actions:[Ri(Ri({},z),{notApplicableReason:mr(ae.errors)})]}),l.refactorKindBeginsWith(P.kind,me)&&Oe.push({name:p,description:P.description,actions:[Ri(Ri({},P),{notApplicableReason:mr(ae.errors)})]}),Oe}var xe=D(Me,$);if(xe===void 0)return e.emptyArray;for(var Se=[],Ce=new e.Map,ze,Ee=[],Le=new e.Map,be,ue=0,y=0,X=xe;y=me.start+me.length)return(vr||(vr=[])).push(e.createDiagnosticForNode(Lr,v.cannotExtractSuper)),!0}else Le|=Y.UsesThis,be=Lr;break;case 216:e.forEachChild(Lr,function Ve(Ar){if(e.isThis(Ar))Le|=Y.UsesThis,be=Lr;else{if(e.isClassLike(Ar)||e.isFunctionLike(Ar)&&!e.isArrowFunction(Ar))return!1;e.forEachChild(Ar,Ve)}});case 260:case 259:e.isSourceFile(Lr.parent)&&Lr.parent.externalModuleIndicator===void 0&&(vr||(vr=[])).push(e.createDiagnosticForNode(Lr,v.functionWillNotBeVisibleInTheNewScope));case 228:case 215:case 171:case 173:case 174:case 175:return!1}var or=kr;switch(Lr.kind){case 242:kr&=-5;break;case 255:kr=0;break;case 238:Lr.parent&&Lr.parent.kind===255&&Lr.parent.finallyBlock===Lr&&(kr=4);break;case 293:case 292:kr|=1;break;default:e.isIterationStatement(Lr,!1)&&(kr|=3);break}switch(Lr.kind){case 194:case 108:Le|=Y.UsesThis,be=Lr;break;case 253:{var Pe=Lr.label;(jr||(jr=[])).push(Pe.escapedText),e.forEachChild(Lr,en),jr.pop();break}case 249:case 248:{var Pe=Lr.label;Pe?e.contains(jr,Pe.escapedText)||(vr||(vr=[])).push(e.createDiagnosticForNode(Lr,v.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)):kr&(Lr.kind===249?1:2)||(vr||(vr=[])).push(e.createDiagnosticForNode(Lr,v.cannotExtractRangeContainingConditionalBreakOrContinueStatements));break}case 220:Le|=Y.IsAsyncFunction;break;case 226:Le|=Y.IsGenerator;break;case 250:kr&4?Le|=Y.HasReturn:(vr||(vr=[])).push(e.createDiagnosticForNode(Lr,v.cannotExtractRangeContainingConditionalReturnStatement));break;default:e.forEachChild(Lr,en);break}kr=or}}}h.getRangeToExtract=ce;function Z($,me,ae){var Me=$.getStart(ae),Oe=me.getEnd();return ae.text.charCodeAt(Oe)===59&&Oe++,{start:Me,length:Oe-Me}}function ie($){if(e.isStatement($))return[$];if(e.isExpressionNode($))return e.isExpressionStatement($.parent)?[$.parent]:$;if(G($))return $}function te($){return e.isArrowFunction($)?e.isFunctionBody($.body):e.isFunctionLikeDeclaration($)||e.isSourceFile($)||e.isModuleBlock($)||e.isClassLike($)}function x($){var me=T($.range)?e.first($.range):$.range;if($.facts&Y.UsesThis&&!($.facts&Y.UsesThisInFunction)){var ae=e.getContainingClass(me);if(ae){var Me=e.findAncestor(me,e.isFunctionLikeDeclaration);return Me?[Me,ae]:[ae]}}for(var Oe=[];;)if(me=me.parent,me.kind===166&&(me=e.findAncestor(me,function(xe){return e.isFunctionLikeDeclaration(xe)}).parent),te(me)&&(Oe.push(me),me.kind===308))return Oe}function J($,me,ae){var Me=C($,me),Oe=Me.scopes,xe=Me.readsAndWrites,Se=xe.target,Ce=xe.usagesPerScope,ze=xe.functionErrorsPerScope,Ee=xe.exposedVariableDeclarations;return e.Debug.assert(!ze[ae].length,"The extraction went missing? How?"),me.cancellationToken.throwIfCancellationRequested(),N(Se,Oe[ae],Ce[ae],Ee,$,me)}function d($,me,ae){var Me=C($,me),Oe=Me.scopes,xe=Me.readsAndWrites,Se=xe.target,Ce=xe.usagesPerScope,ze=xe.constantErrorsPerScope,Ee=xe.exposedVariableDeclarations;e.Debug.assert(!ze[ae].length,"The extraction went missing? How?"),e.Debug.assert(Ee.length===0,"Extract constant accepted a range containing a variable declaration?"),me.cancellationToken.throwIfCancellationRequested();var Le=e.isExpression(Se)?Se:Se.statements[0].expression;return K(Le,Oe[ae],Ce[ae],$.facts,me)}function D($,me){var ae=C($,me),Me=ae.scopes,Oe=ae.readsAndWrites,xe=Oe.functionErrorsPerScope,Se=Oe.constantErrorsPerScope,Ce=Me.map(function(ze,Ee){var Le=k(ze),be=R(ze),ue=e.isFunctionLikeDeclaration(ze)?M(ze):e.isClassLike(ze)?ge(ze):ve(ze),y,X;return ue===1?(y=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[Le,"global"]),X=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[be,"global"])):ue===0?(y=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[Le,"module"]),X=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[be,"module"])):(y=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[Le,ue]),X=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[be,ue])),Ee===0&&!e.isClassLike(ze)&&(X=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_enclosing_scope),[be])),{functionExtraction:{description:y,errors:xe[Ee]},constantExtraction:{description:X,errors:Se[Ee]}}});return Ce}function C($,me){var ae=me.file,Me=x($),Oe=w($,ae),xe=oe($,Me,Oe,ae,me.program.getTypeChecker(),me.cancellationToken);return{scopes:Me,readsAndWrites:xe}}function k($){return e.isFunctionLikeDeclaration($)?"inner function":e.isClassLike($)?"method":"function"}function R($){return e.isClassLike($)?"readonly field":"constant"}function M($){switch($.kind){case 173:return"constructor";case 215:case 259:return $.name?"function '".concat($.name.text,"'"):e.ANONYMOUS;case 216:return"arrow function";case 171:return"method '".concat($.name.getText(),"'");case 174:return"'get ".concat($.name.getText(),"'");case 175:return"'set ".concat($.name.getText(),"'");default:throw e.Debug.assertNever($,"Unexpected scope kind ".concat($.kind))}}function ge($){return $.kind===260?$.name?"class '".concat($.name.text,"'"):"anonymous class declaration":$.name?"class expression '".concat($.name.text,"'"):"anonymous class expression"}function ve($){return $.kind===265?"namespace '".concat($.parent.name.getText(),"'"):$.externalModuleIndicator?0:1}var re;(function($){$[$.Module=0]="Module",$[$.Global=1]="Global"})(re||(re={}));function N($,me,ae,Me,Oe,xe){var Se=ae.usages,Ce=ae.typeParameterUsages,ze=ae.substitutions,Ee=xe.program.getTypeChecker(),Le=e.getEmitScriptTarget(xe.program.getCompilerOptions()),be=e.codefix.createImportAdder(xe.file,xe.program,xe.preferences,xe.host),ue=me.getSourceFile(),y=e.getUniqueName(e.isClassLike(me)?"newMethod":"newFunction",ue),X=e.isInJSFile(me),Ae=e.factory.createIdentifier(y),Te,Je=[],er=[],wr;Se.forEach(function(Jr,sn){var Ue;if(!X){var br=Ee.getTypeOfSymbolAtLocation(Jr.symbol,Jr.node);br=Ee.getBaseTypeOfLiteralType(br),Ue=e.codefix.typeToAutoImportableTypeNode(Ee,be,br,me,Le,1)}var Ne=e.factory.createParameterDeclaration(void 0,void 0,sn,void 0,Ue);Je.push(Ne),Jr.usage===2&&(wr||(wr=[])).push(Jr),er.push(e.factory.createIdentifier(sn))});var mr=e.arrayFrom(Ce.values()).map(function(Jr){return{type:Jr,declaration:b(Jr)}}),We=mr.sort(F),a=We.length===0?void 0:We.map(function(Jr){return Jr.declaration}),qr=a!==void 0?a.map(function(Jr){return e.factory.createTypeReferenceNode(Jr.name,void 0)}):void 0;if(e.isExpression($)&&!X){var ln=Ee.getContextualType($);Te=Ee.typeToTypeNode(ln,me,1)}var dr=j($,Me,wr,ze,!!(Oe.facts&Y.HasReturn)),vr=dr.body,kr=dr.returnValueProperty;e.suppressLeadingAndTrailingTrivia(vr);var jr,Cr=!!(Oe.facts&Y.UsesThisInFunction);if(e.isClassLike(me)){var en=X?[]:[e.factory.createModifier(121)];Oe.facts&Y.InStaticRegion&&en.push(e.factory.createModifier(124)),Oe.facts&Y.IsAsyncFunction&&en.push(e.factory.createModifier(132)),jr=e.factory.createMethodDeclaration(en.length?en:void 0,Oe.facts&Y.IsGenerator?e.factory.createToken(41):void 0,Ae,void 0,a,Je,Te,vr)}else Cr&&Je.unshift(e.factory.createParameterDeclaration(void 0,void 0,"this",void 0,Ee.typeToTypeNode(Ee.getTypeAtLocation(Oe.thisNode),me,1),void 0)),jr=e.factory.createFunctionDeclaration(Oe.facts&Y.IsAsyncFunction?[e.factory.createToken(132)]:void 0,Oe.facts&Y.IsGenerator?e.factory.createToken(41):void 0,Ae,a,Je,Te,vr);var Lr=e.textChanges.ChangeTracker.fromContext(xe),pn=(T(Oe.range)?e.last(Oe.range):Oe.range).end,ye=V(pn,me);ye?Lr.insertNodeBefore(xe.file,ye,jr,!0):Lr.insertNodeAtEndOfScope(xe.file,me,jr),be.writeFixes(Lr);var or=[],Pe=Q(me,Oe,y);Cr&&er.unshift(e.factory.createIdentifier("this"));var Ve=e.factory.createCallExpression(Cr?e.factory.createPropertyAccessExpression(Pe,"call"):Pe,qr,er);if(Oe.facts&Y.IsGenerator&&(Ve=e.factory.createYieldExpression(e.factory.createToken(41),Ve)),Oe.facts&Y.IsAsyncFunction&&(Ve=e.factory.createAwaitExpression(Ve)),B($)&&(Ve=e.factory.createJsxExpression(void 0,Ve)),Me.length&&!wr)if(e.Debug.assert(!kr,"Expected no returnValueProperty"),e.Debug.assert(!(Oe.facts&Y.HasReturn),"Expected RangeFacts.HasReturn flag to be unset"),Me.length===1){var Ar=Me[0];or.push(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(e.getSynthesizedDeepClone(Ar.name),void 0,e.getSynthesizedDeepClone(Ar.type),Ve)],Ar.parent.flags)))}else{for(var ke=[],cr=[],Mr=Me[0].parent.flags,Rr=!1,$r=0,nn=Me;$r1)return $;ae=$,$=$.parent}}function b($){var me,ae=$.symbol;if(ae&&ae.declarations)for(var Me=0,Oe=ae.declarations;Me0;if(e.isBlock($)&&!xe&&Me.size===0)return{body:e.factory.createBlock($.statements,!0),returnValueProperty:void 0};var Se,Ce=!1,ze=e.factory.createNodeArray(e.isBlock($)?$.statements.slice(0):[e.isStatement($)?$:e.factory.createReturnStatement(e.skipParentheses($))]);if(xe||Me.size){var Ee=e.visitNodes(ze,be).slice();if(xe&&!Oe&&e.isStatement($)){var Le=De(me,ae);Le.length===1?Ee.push(e.factory.createReturnStatement(Le[0].name)):Ee.push(e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(Le)))}return{body:e.factory.createBlock(Ee,!0),returnValueProperty:Se}}else return{body:e.factory.createBlock(ze,!0),returnValueProperty:void 0};function be(ue){if(!Ce&&e.isReturnStatement(ue)&&xe){var y=De(me,ae);return ue.expression&&(Se||(Se="__return"),y.unshift(e.factory.createPropertyAssignment(Se,e.visitNode(ue.expression,be)))),y.length===1?e.factory.createReturnStatement(y[0].name):e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(y))}else{var X=Ce;Ce=Ce||e.isFunctionLikeDeclaration(ue)||e.isClassLike(ue);var Ae=Me.get(e.getNodeId(ue).toString()),Te=Ae?e.getSynthesizedDeepClone(Ae):e.visitEachChild(ue,be,e.nullTransformationContext);return Ce=X,Te}}}function I($,me){return me.size?ae($):$;function ae(Me){var Oe=me.get(e.getNodeId(Me).toString());return Oe?e.getSynthesizedDeepClone(Oe):e.visitEachChild(Me,ae,e.nullTransformationContext)}}function L($){if(e.isFunctionLikeDeclaration($)){var me=$.body;if(e.isBlock(me))return me.statements}else{if(e.isModuleBlock($)||e.isSourceFile($))return $.statements;if(e.isClassLike($))return $.members;e.assertType($)}return e.emptyArray}function V($,me){return e.find(L(me),function(ae){return ae.pos>=$&&e.isFunctionLikeDeclaration(ae)&&!e.isConstructorDeclaration(ae)})}function ne($,me){var ae=me.members;e.Debug.assert(ae.length>0,"Found no members");for(var Me,Oe=!0,xe=0,Se=ae;xe$)return Me||ae[0];if(Oe&&!e.isPropertyDeclaration(Ce)){if(Me!==void 0)return Ce;Oe=!1}Me=Ce}return Me===void 0?e.Debug.fail():Me}function se($,me){e.Debug.assert(!e.isClassLike(me));for(var ae,Me=$;Me!==me;Me=Me.parent)te(Me)&&(ae=Me);for(var Me=(ae||$).parent;;Me=Me.parent){if(O(Me)){for(var Oe=void 0,xe=0,Se=Me.statements;xe$.pos)break;Oe=Ce}return!Oe&&e.isCaseClause(Me)?(e.Debug.assert(e.isSwitchStatement(Me.parent.parent),"Grandparent isn't a switch statement"),Me.parent.parent):e.Debug.checkDefined(Oe,"prevStatement failed to get set")}e.Debug.assert(Me!==me,"Didn't encounter a block-like before encountering scope")}}function De($,me){var ae=e.map($,function(Oe){return e.factory.createShorthandPropertyAssignment(Oe.symbol.name)}),Me=e.map(me,function(Oe){return e.factory.createShorthandPropertyAssignment(Oe.symbol.name)});return ae===void 0?Me:Me===void 0?ae:ae.concat(Me)}function T($){return e.isArray($)}function w($,me){return T($.range)?{pos:e.first($.range).getStart(me),end:e.last($.range).getEnd()}:$.range}var A;(function($){$[$.Read=1]="Read",$[$.Write=2]="Write"})(A||(A={}));function oe($,me,ae,Me,Oe,xe){var Se=new e.Map,Ce=[],ze=[],Ee=[],Le=[],be=[],ue=new e.Map,y=[],X,Ae=T($.range)?$.range.length===1&&e.isExpressionStatement($.range[0])?$.range[0].expression:void 0:$.range,Te;if(Ae===void 0){var Je=$.range,er=e.first(Je).getStart(),wr=e.last(Je).end;Te=e.createFileDiagnostic(Me,er,wr-er,v.expressionExpected)}else Oe.getTypeAtLocation(Ae).flags&147456&&(Te=e.createDiagnosticForNode(Ae,v.uselessConstantType));for(var mr=0,We=me;mr0){for(var Cr=new e.Map,en=0,Lr=vr;Lr!==void 0&&en0&&(Ur.usages.size>0||Ur.typeParameterUsages.size>0)){var En=T($.range)?$.range[0]:$.range;Le[xr].push(e.createDiagnosticForNode(En,v.cannotAccessVariablesFromNestedScopes))}$.facts&Y.UsesThisInFunction&&e.isClassLike(me[xr])&&Ee[xr].push(e.createDiagnosticForNode($.thisNode,v.cannotExtractFunctionsContainingThisToMethod));var Nn=!1,Zn;if(Ce[xr].usages.forEach(function(Dr){Dr.usage===2&&(Nn=!0,Dr.symbol.flags&106500&&Dr.symbol.valueDeclaration&&e.hasEffectiveModifier(Dr.symbol.valueDeclaration,64)&&(Zn=Dr.symbol.valueDeclaration))}),e.Debug.assert(T($.range)||y.length===0,"No variable declarations expected if something was extracted"),Nn&&!T($.range)){var fi=e.createDiagnosticForNode($.range,v.cannotWriteInExpression);Ee[xr].push(fi),Le[xr].push(fi)}else if(Zn&&xr>0){var fi=e.createDiagnosticForNode(Zn,v.cannotExtractReadonlyPropertyInitializerOutsideConstructor);Ee[xr].push(fi),Le[xr].push(fi)}else if(X){var fi=e.createDiagnosticForNode(X,v.cannotExtractExportedEntity);Ee[xr].push(fi),Le[xr].push(fi)}},ke=0;ke=Ur)return Zn;if(ln.set(Zn,Ur),fi){for(var Dr=0,Pr=Ce;Dr=0)){var Ur=e.isIdentifier(xr)?Fe(xr):Oe.getSymbolAtLocation(xr);if(Ur){var En=e.find(be,function(Zn){return Zn.symbol===Ur});if(En)if(e.isVariableDeclaration(En)){var Nn=En.symbol.id.toString();ue.has(Nn)||(y.push(En),ue.set(Nn,!0))}else X=X||En}e.forEachChild(xr,vn)}}function Fe(xr){return xr.parent&&e.isShorthandPropertyAssignment(xr.parent)&&xr.parent.name===xr?Oe.getShorthandAssignmentValueSymbol(xr.parent):Oe.getSymbolAtLocation(xr)}function Ge(xr,Ur,En){if(xr){var Nn=xr.getDeclarations();if(Nn&&Nn.some(function(fi){return fi.parent===Ur}))return e.factory.createIdentifier(xr.name);var Zn=Ge(xr.parent,Ur,En);if(Zn!==void 0)return En?e.factory.createQualifiedName(Zn,e.factory.createIdentifier(xr.name)):e.factory.createPropertyAccessExpression(Zn,xr.name)}}}function W($){return e.findAncestor($,function(me){return me.parent&&u(me)&&!e.isBinaryExpression(me.parent)})}function u($){var me=$.parent;switch(me.kind){case 302:return!1}switch($.kind){case 10:return me.kind!==269&&me.kind!==273;case 227:case 203:case 205:return!1;case 79:return me.kind!==205&&me.kind!==273&&me.kind!==278}return!0}function O($){switch($.kind){case 238:case 308:case 265:case 292:return!0;default:return!1}}function B($){return G($)||(e.isJsxElement($)||e.isJsxSelfClosingElement($)||e.isJsxFragment($))&&(e.isJsxElement($.parent)||e.isJsxFragment($.parent))}function G($){return e.isStringLiteral($)&&$.parent&&e.isJsxAttribute($.parent)}})(_=l.extractSymbol||(l.extractSymbol={}))})(i=e.refactor||(e.refactor={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _="Extract type",h={name:"Extract to type alias",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_type_alias),kind:"refactor.extract.type"},p={name:"Extract to interface",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_interface),kind:"refactor.extract.interface"},P={name:"Extract to typedef",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_typedef),kind:"refactor.extract.typedef"};l.registerRefactor(_,{kinds:[h.kind,p.kind,P.kind],getAvailableActions:function(te){var x=z(te,te.triggerReason==="invoked");return x?l.isRefactorErrorInfo(x)?te.preferences.provideRefactorNotApplicableReason?[{name:_,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_type),actions:[Ri(Ri({},P),{notApplicableReason:x.error}),Ri(Ri({},h),{notApplicableReason:x.error}),Ri(Ri({},p),{notApplicableReason:x.error})]}]:e.emptyArray:[{name:_,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_type),actions:x.isJS?[P]:e.append([h],x.typeElements&&p)}]:e.emptyArray},getEditsForAction:function(te,x){var J=te.file,d=z(te);e.Debug.assert(d&&!l.isRefactorErrorInfo(d),"Expected to find a range to extract");var D=e.getUniqueName("NewType",J),C=e.textChanges.ChangeTracker.with(te,function(M){switch(x){case h.name:return e.Debug.assert(!d.isJS,"Invalid actionName/JS combo"),Y(M,J,D,d);case P.name:return e.Debug.assert(d.isJS,"Invalid actionName/JS combo"),Z(M,J,D,d);case p.name:return e.Debug.assert(!d.isJS&&!!d.typeElements,"Invalid actionName/JS combo"),ce(M,J,D,d);default:e.Debug.fail("Unexpected action name")}}),k=J.fileName,R=e.getRenameLocation(C,k,D,!1);return{edits:C,renameFilename:k,renameLocation:R}}});function z(ie,te){te===void 0&&(te=!0);var x=ie.file,J=ie.startPosition,d=e.isSourceFileJS(x),D=e.getTokenAtPosition(x,J),C=e.createTextRangeFromSpan(e.getRefactorContextSpan(ie)),k=C.pos===C.end&&te,R=e.findAncestor(D,function(N){return N.parent&&e.isTypeNode(N)&&!g(C,N.parent,x)&&(k||e.nodeOverlapsWithStartEnd(D,x,C.pos,C.end))});if(!R||!e.isTypeNode(R))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Selection_is_not_a_valid_type_node)};var M=ie.program.getTypeChecker(),ge=e.Debug.checkDefined(e.findAncestor(R,e.isStatement),"Should find a statement"),ve=v(M,R,ge,x);if(!ve)return{error:e.getLocaleSpecificMessage(e.Diagnostics.No_type_could_be_extracted_from_this_type_node)};var re=U(M,R);return{isJS:d,selection:R,firstStatement:ge,typeParameters:ve,typeElements:re}}function U(ie,te){if(te)if(e.isIntersectionTypeNode(te)){for(var x=[],J=new e.Map,d=0,D=te.types;dze.pos});if(Le!==-1){var be=Ee[Le];if(e.isNamedDeclaration(be)&&be.name&&e.rangeContainsRange(be.name,ze))return{toMove:[Ee[Le]],afterLast:Ee[Le+1]};if(!(ze.pos>be.getStart(Ce))){var ue=e.findIndex(Ee,function(y){return y.end>ze.end},Le);if(!(ue!==-1&&(ue===0||Ee[ue].getStart(Ce)=P&&e.every(ne,function(De){return re(De,se)})}function re(ne,se){if(e.isRestParameter(ne)){var De=se.getTypeAtLocation(ne);if(!se.isArrayType(De)&&!se.isTupleType(De))return!1}return!ne.modifiers&&e.isIdentifier(ne.name)}function N(ne){return e.isVariableDeclaration(ne)&&e.isVarConst(ne)&&e.isIdentifier(ne.name)&&!ne.type}function K(ne){return ne.length>0&&e.isThis(ne[0].name)}function q(ne){return K(ne)?ne.length-1:ne.length}function b(ne){return K(ne)&&(ne=e.factory.createNodeArray(ne.slice(1),ne.hasTrailingComma)),ne}function F(ne,se){return e.isIdentifier(se)&&e.getTextOfIdentifierOrLiteral(se)===ne?e.factory.createShorthandPropertyAssignment(ne):e.factory.createPropertyAssignment(ne,se)}function Q(ne,se){var De=b(ne.parameters),T=e.isRestParameter(e.last(De)),w=T?se.slice(0,De.length-1):se,A=e.map(w,function(O,B){var G=I(De[B]),$=F(G,O);return e.suppressLeadingAndTrailingTrivia($.name),e.isPropertyAssignment($)&&e.suppressLeadingAndTrailingTrivia($.initializer),e.copyComments(O,$),$});if(T&&se.length>=De.length){var oe=se.slice(De.length-1),W=e.factory.createPropertyAssignment(I(e.last(De)),e.factory.createArrayLiteralExpression(oe));A.push(W)}var u=e.factory.createObjectLiteralExpression(A,!1);return u}function j(ne,se,De){var T=se.getTypeChecker(),w=b(ne.parameters),A=e.map(w,$),oe=e.factory.createObjectBindingPattern(A),W=me(w),u;e.every(w,Oe)&&(u=e.factory.createObjectLiteralExpression());var O=e.factory.createParameterDeclaration(void 0,void 0,oe,void 0,W,u);if(K(ne.parameters)){var B=ne.parameters[0],G=e.factory.createParameterDeclaration(void 0,void 0,B.name,void 0,B.type);return e.suppressLeadingAndTrailingTrivia(G.name),e.copyComments(B.name,G.name),B.type&&(e.suppressLeadingAndTrailingTrivia(G.type),e.copyComments(B.type,G.type)),e.factory.createNodeArray([G,O])}return e.factory.createNodeArray([O]);function $(xe){var Se=e.factory.createBindingElement(void 0,void 0,I(xe),e.isRestParameter(xe)&&Oe(xe)?e.factory.createArrayLiteralExpression():xe.initializer);return e.suppressLeadingAndTrailingTrivia(Se),xe.initializer&&Se.initializer&&e.copyComments(xe.initializer,Se.initializer),Se}function me(xe){var Se=e.map(xe,ae),Ce=e.addEmitFlags(e.factory.createTypeLiteralNode(Se),1);return Ce}function ae(xe){var Se=xe.type;!Se&&(xe.initializer||e.isRestParameter(xe))&&(Se=Me(xe));var Ce=e.factory.createPropertySignature(void 0,I(xe),Oe(xe)?e.factory.createToken(57):xe.questionToken,Se);return e.suppressLeadingAndTrailingTrivia(Ce),e.copyComments(xe.name,Ce.name),xe.type&&Ce.type&&e.copyComments(xe.type,Ce.type),Ce}function Me(xe){var Se=T.getTypeAtLocation(xe);return e.getTypeNodeIfAccessible(Se,xe,se,De)}function Oe(xe){if(e.isRestParameter(xe)){var Se=T.getTypeAtLocation(xe);return!T.isTupleType(Se)}return T.isOptionalParameter(xe)}}function I(ne){return e.getTextOfIdentifierOrLiteral(ne.name)}function L(ne){switch(ne.parent.kind){case 260:var se=ne.parent;if(se.name)return[se.name];var De=e.Debug.checkDefined(e.findModifier(se,88),"Nameless class declaration should be a default export");return[De];case 228:var T=ne.parent,w=ne.parent.parent,A=T.name;return A?[A,w.name]:[w.name]}}function V(ne){switch(ne.kind){case 259:if(ne.name)return[ne.name];var se=e.Debug.checkDefined(e.findModifier(ne,88),"Nameless function declaration should be a default export");return[se];case 171:return[ne.name];case 173:var De=e.Debug.checkDefined(e.findChildOfKind(ne,135,ne.getSourceFile()),"Constructor declaration should have constructor keyword");if(ne.parent.kind===228){var T=ne.parent.parent;return[T.name,De]}return[De];case 216:return[ne.parent.name];case 215:return ne.name?[ne.name,ne.parent.name]:[ne.parent.name];default:return e.Debug.assertNever(ne,"Unexpected function declaration kind ".concat(ne.kind))}}})(_=l.convertParamsToDestructuredObject||(l.convertParamsToDestructuredObject={}))})(i=e.refactor||(e.refactor={}))})(fr||(fr={}));var fr;(function(e){var i;(function(l){var _;(function(h){var p="Convert to template string",P=e.getLocaleSpecificMessage(e.Diagnostics.Convert_to_template_string),z={name:p,description:P,kind:"refactor.rewrite.string"};l.registerRefactor(p,{kinds:[z.kind],getEditsForAction:v,getAvailableActions:U});function U(M){var ge=M.file,ve=M.startPosition,re=g(ge,ve),N=Z(re),K={name:p,description:P,actions:[]};return e.isBinaryExpression(N)&&ie(N).isValidConcatenation?(K.actions.push(z),[K]):M.preferences.provideRefactorNotApplicableReason?(K.actions.push(Ri(Ri({},z),{notApplicableReason:e.getLocaleSpecificMessage(e.Diagnostics.Can_only_convert_string_concatenation)})),[K]):e.emptyArray}function g(M,ge){var ve=e.getTokenAtPosition(M,ge),re=Z(ve),N=!ie(re).isValidConcatenation;return N&&e.isParenthesizedExpression(re.parent)&&e.isBinaryExpression(re.parent.parent)?re.parent.parent:ve}function v(M,ge){var ve=M.file,re=M.startPosition,N=g(ve,re);switch(ge){case P:return{edits:Y(M,N)};default:return e.Debug.fail("invalid action")}}function Y(M,ge){var ve=Z(ge),re=M.file,N=C(ie(ve),re),K=e.getTrailingCommentRanges(re.text,ve.end);if(K){var q=K[K.length-1],b={pos:K[0].pos,end:q.end};return e.textChanges.ChangeTracker.with(M,function(F){F.deleteRange(re,b),F.replaceNode(re,ve,N)})}else return e.textChanges.ChangeTracker.with(M,function(F){return F.replaceNode(re,ve,N)})}function ce(M){return M.operatorToken.kind!==63}function Z(M){var ge=e.findAncestor(M.parent,function(ve){switch(ve.kind){case 208:case 209:return!1;case 225:case 223:return!(e.isBinaryExpression(ve.parent)&&ce(ve.parent));default:return"quit"}});return ge||M}function ie(M){var ge=function(b){if(!e.isBinaryExpression(b))return{nodes:[b],operators:[],validOperators:!0,hasString:e.isStringLiteral(b)||e.isNoSubstitutionTemplateLiteral(b)};var F=ge(b.left),Q=F.nodes,j=F.operators,I=F.hasString,L=F.validOperators;if(!(I||e.isStringLiteral(b.right)||e.isTemplateExpression(b.right)))return{nodes:[b],operators:[],hasString:!1,validOperators:!0};var V=b.operatorToken.kind===39,ne=L&&V;return Q.push(b.right),j.push(b.operatorToken),{nodes:Q,operators:j,hasString:!0,validOperators:ne}},ve=ge(M),re=ve.nodes,N=ve.operators,K=ve.validOperators,q=ve.hasString;return{nodes:re,operators:N,isValidConcatenation:K&&q}}var te=function(M,ge){return function(ve,re){ve0;){var K=re.shift();e.copyTrailingComments(M[K],N,ge,3,!1),ve(K,N)}}};function J(M){return M.replace(/\\.|[$`]/g,function(ge){return ge[0]==="\\"?ge:"\\"+ge})}function d(M){var ge=e.isTemplateHead(M)||e.isTemplateMiddle(M)?-2:-1;return e.getTextOfNode(M).slice(1,ge)}function D(M,ge){for(var ve=[],re="",N="";M1)return ie.getUnionType(e.mapDefined(x,function(d){return d.getReturnType()}))}var J=ie.getSignatureFromDeclaration(te);if(J)return ie.getReturnTypeOfSignature(J)}})(_=l.inferFunctionReturnType||(l.inferFunctionReturnType={}))})(i=e.refactor||(e.refactor={}))})(fr||(fr={}));var fr;(function(e){e.servicesVersion="0.8";function i(W,u,O,B){var G=e.isNodeKind(W)?new l(W,u,O):W===79?new g(79,u,O):W===80?new v(80,u,O):new U(W,u,O);return G.parent=B,G.flags=B.flags&50720768,G}var l=function(){function W(u,O,B){this.pos=O,this.end=B,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.kind=u}return W.prototype.assertHasRealPosition=function(u){e.Debug.assert(!e.positionIsSynthesized(this.pos)&&!e.positionIsSynthesized(this.end),u||"Node must have a real position for this operation")},W.prototype.getSourceFile=function(){return e.getSourceFileOfNode(this)},W.prototype.getStart=function(u,O){return this.assertHasRealPosition(),e.getTokenPosOfNode(this,u,O)},W.prototype.getFullStart=function(){return this.assertHasRealPosition(),this.pos},W.prototype.getEnd=function(){return this.assertHasRealPosition(),this.end},W.prototype.getWidth=function(u){return this.assertHasRealPosition(),this.getEnd()-this.getStart(u)},W.prototype.getFullWidth=function(){return this.assertHasRealPosition(),this.end-this.pos},W.prototype.getLeadingTriviaWidth=function(u){return this.assertHasRealPosition(),this.getStart(u)-this.pos},W.prototype.getFullText=function(u){return this.assertHasRealPosition(),(u||this.getSourceFile()).text.substring(this.pos,this.end)},W.prototype.getText=function(u){return this.assertHasRealPosition(),u||(u=this.getSourceFile()),u.text.substring(this.getStart(u),this.getEnd())},W.prototype.getChildCount=function(u){return this.getChildren(u).length},W.prototype.getChildAt=function(u,O){return this.getChildren(O)[u]},W.prototype.getChildren=function(u){return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"),this._children||(this._children=_(this,u))},W.prototype.getFirstToken=function(u){this.assertHasRealPosition();var O=this.getChildren(u);if(O.length){var B=e.find(O,function(G){return G.kind<312||G.kind>350});return B.kind<163?B:B.getFirstToken(u)}},W.prototype.getLastToken=function(u){this.assertHasRealPosition();var O=this.getChildren(u),B=e.lastOrUndefined(O);if(B)return B.kind<163?B:B.getLastToken(u)},W.prototype.forEachChild=function(u,O){return e.forEachChild(this,u,O)},W}();function _(W,u){if(!e.isNodeKind(W.kind))return e.emptyArray;var O=[];if(e.isJSDocCommentContainingNode(W))return W.forEachChild(function(me){O.push(me)}),O;e.scanner.setText((u||W.getSourceFile()).text);var B=W.pos,G=function(me){h(O,B,me.pos,W),O.push(me),B=me.end},$=function(me){h(O,B,me.pos,W),O.push(p(me,W)),B=me.end};return e.forEach(W.jsDoc,G),B=W.pos,W.forEachChild(G,$),h(O,B,W.end,W),e.scanner.setText(void 0),O}function h(W,u,O,B){for(e.scanner.setTextPos(u);u=G.length&&($=this.getEnd()),$||($=G[B+1]-1);var me=this.getFullText();return me[$]===` +`&&me[$-1]==="\r"?$-1:$},u.prototype.getNamedDeclarations=function(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations},u.prototype.computeNamedDeclarations=function(){var O=e.createMultiMap();return this.forEachChild(me),O;function B(ae){var Me=$(ae);Me&&O.add(Me,ae)}function G(ae){var Me=O.get(ae);return Me||O.set(ae,Me=[]),Me}function $(ae){var Me=e.getNonAssignedNameOfDeclaration(ae);return Me&&(e.isComputedPropertyName(Me)&&e.isPropertyAccessExpression(Me.expression)?Me.expression.name.text:e.isPropertyName(Me)?e.getNameFromPropertyName(Me):void 0)}function me(ae){switch(ae.kind){case 259:case 215:case 171:case 170:var Me=ae,Oe=$(Me);if(Oe){var xe=G(Oe),Se=e.lastOrUndefined(xe);Se&&Me.parent===Se.parent&&Me.symbol===Se.symbol?Me.body&&!Se.body&&(xe[xe.length-1]=Me):xe.push(Me)}e.forEachChild(ae,me);break;case 260:case 228:case 261:case 262:case 263:case 264:case 268:case 278:case 273:case 270:case 271:case 174:case 175:case 184:B(ae),e.forEachChild(ae,me);break;case 166:if(!e.hasSyntacticModifier(ae,16476))break;case 257:case 205:{var Ce=ae;if(e.isBindingPattern(Ce.name)){e.forEachChild(Ce.name,me);break}Ce.initializer&&me(Ce.initializer)}case 302:case 169:case 168:B(ae);break;case 275:var ze=ae;ze.exportClause&&(e.isNamedExports(ze.exportClause)?e.forEach(ze.exportClause.elements,me):me(ze.exportClause.name));break;case 269:var Ee=ae.importClause;Ee&&(Ee.name&&B(Ee.name),Ee.namedBindings&&(Ee.namedBindings.kind===271?B(Ee.namedBindings):e.forEach(Ee.namedBindings.elements,me)));break;case 223:e.getAssignmentDeclarationKind(ae)!==0&&B(ae);default:e.forEachChild(ae,me)}}},u}(l),d=function(){function W(u,O,B){this.fileName=u,this.text=O,this.skipTrivia=B}return W.prototype.getLineAndCharacterOfPosition=function(u){return e.getLineAndCharacterOfPosition(this,u)},W}();function D(){return{getNodeConstructor:function(){return l},getTokenConstructor:function(){return U},getIdentifierConstructor:function(){return g},getPrivateIdentifierConstructor:function(){return v},getSourceFileConstructor:function(){return J},getSymbolConstructor:function(){return z},getTypeConstructor:function(){return Y},getSignatureConstructor:function(){return ce},getSourceMapSourceConstructor:function(){return d}}}function C(W){var u=!0;for(var O in W)if(e.hasProperty(W,O)&&!k(O)){u=!1;break}if(u)return W;var B={};for(var O in W)if(e.hasProperty(W,O)){var G=k(O)?O:O.charAt(0).toLowerCase()+O.substr(1);B[G]=W[O]}return B}e.toEditorSettings=C;function k(W){return!W.length||W.charAt(0)===W.charAt(0).toLowerCase()}function R(W){return W?e.map(W,function(u){return u.text}).join(""):""}e.displayPartsToString=R;function M(){return{target:1,jsx:1}}e.getDefaultCompilerOptions=M;function ge(){return e.codefix.getSupportedErrorCodes()}e.getSupportedCodeFixes=ge;var ve=function(){function W(u){this.host=u}return W.prototype.getCurrentSourceFile=function(u){var O,B,G,$,me,ae,Me,Oe,xe=this.host.getScriptSnapshot(u);if(!xe)throw new Error("Could not find file: '"+u+"'.");var Se=e.getScriptKind(u,this.host),Ce=this.host.getScriptVersion(u),ze;if(this.currentFileName!==u){var Ee={languageVersion:99,impliedNodeFormat:e.getImpliedNodeFormatForFile(e.toPath(u,this.host.getCurrentDirectory(),((G=(B=(O=this.host).getCompilerHost)===null||B===void 0?void 0:B.call(O))===null||G===void 0?void 0:G.getCanonicalFileName)||e.hostGetCanonicalFileName(this.host)),(Oe=(Me=(ae=(me=($=this.host).getCompilerHost)===null||me===void 0?void 0:me.call($))===null||ae===void 0?void 0:ae.getModuleResolutionCache)===null||Me===void 0?void 0:Me.call(ae))===null||Oe===void 0?void 0:Oe.getPackageJsonInfoCache(),this.host,this.host.getCompilationSettings()),setExternalModuleIndicator:e.getSetExternalModuleIndicator(this.host.getCompilationSettings())};ze=N(u,xe,Ee,Ce,!0,Se)}else if(this.currentFileVersion!==Ce){var Le=xe.getChangeRange(this.currentFileScriptSnapshot);ze=K(this.currentSourceFile,xe,Ce,Le)}return ze&&(this.currentFileVersion=Ce,this.currentFileName=u,this.currentFileScriptSnapshot=xe,this.currentSourceFile=ze),this.currentSourceFile},W}();function re(W,u,O){W.version=O,W.scriptSnapshot=u}function N(W,u,O,B,G,$){var me=e.createSourceFile(W,e.getSnapshotText(u),O,G,$);return re(me,u,B),me}e.createLanguageServiceSourceFile=N;function K(W,u,O,B,G){if(B&&O!==W.version){var $=void 0,me=B.span.start!==0?W.text.substr(0,B.span.start):"",ae=e.textSpanEnd(B.span)!==W.text.length?W.text.substr(e.textSpanEnd(B.span)):"";if(B.newLength===0)$=me&&ae?me+ae:me||ae;else{var Me=u.getText(B.span.start,B.span.start+B.newLength);$=me&&ae?me+Me+ae:me?me+Me:Me+ae}var Oe=e.updateSourceFile(W,$,B,G);return re(Oe,u,O),Oe.nameTable=void 0,W!==Oe&&W.scriptSnapshot&&(W.scriptSnapshot.dispose&&W.scriptSnapshot.dispose(),W.scriptSnapshot=void 0),Oe}var xe={languageVersion:W.languageVersion,impliedNodeFormat:W.impliedNodeFormat,setExternalModuleIndicator:W.setExternalModuleIndicator};return N(W.fileName,u,xe,O,!0,W.scriptKind)}e.updateLanguageServiceSourceFile=K;var q={isCancellationRequested:e.returnFalse,throwIfCancellationRequested:e.noop},b=function(){function W(u){this.cancellationToken=u}return W.prototype.isCancellationRequested=function(){return this.cancellationToken.isCancellationRequested()},W.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw e.tracing===null||e.tracing===void 0||e.tracing.instant("session","cancellationThrown",{kind:"CancellationTokenObject"}),new e.OperationCanceledException},W}(),F=function(){function W(u,O){O===void 0&&(O=20),this.hostCancellationToken=u,this.throttleWaitMilliseconds=O,this.lastCancellationCheckTime=0}return W.prototype.isCancellationRequested=function(){var u=e.timestamp(),O=Math.abs(u-this.lastCancellationCheckTime);return O>=this.throttleWaitMilliseconds?(this.lastCancellationCheckTime=u,this.hostCancellationToken.isCancellationRequested()):!1},W.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw e.tracing===null||e.tracing===void 0||e.tracing.instant("session","cancellationThrown",{kind:"ThrottledCancellationToken"}),new e.OperationCanceledException},W}();e.ThrottledCancellationToken=F;var Q=["getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls","provideInlayHints"],j=Hn(Hn([],Q,!0),["getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getOccurrencesAtPosition","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors"],!1);function I(W,u,O){var B,G;u===void 0&&(u=e.createDocumentRegistry(W.useCaseSensitiveFileNames&&W.useCaseSensitiveFileNames(),W.getCurrentDirectory()));var $;O===void 0?$=e.LanguageServiceMode.Semantic:typeof O=="boolean"?$=O?e.LanguageServiceMode.Syntactic:e.LanguageServiceMode.Semantic:$=O;var me=new ve(W),ae,Me,Oe=0,xe=W.getCancellationToken?new b(W.getCancellationToken()):q,Se=W.getCurrentDirectory();e.maybeSetLocalizedDiagnosticMessages((G=W.getLocalizedDiagnosticMessages)===null||G===void 0?void 0:G.bind(W));function Ce(rn){W.log&&W.log(rn)}var ze=e.hostUsesCaseSensitiveFileNames(W),Ee=e.createGetCanonicalFileName(ze),Le=e.getSourceMapper({useCaseSensitiveFileNames:function(){return ze},getCurrentDirectory:function(){return Se},getProgram:y,fileExists:e.maybeBind(W,W.fileExists),readFile:e.maybeBind(W,W.readFile),getDocumentPositionMapper:e.maybeBind(W,W.getDocumentPositionMapper),getSourceFileLike:e.maybeBind(W,W.getSourceFileLike),log:Ce});function be(rn){var xn=ae.getSourceFile(rn);if(!xn){var Dn=new Error("Could not find source file: '".concat(rn,"'."));throw Dn.ProgramFiles=ae.getSourceFiles().map(function(On){return On.fileName}),Dn}return xn}function ue(){var rn,xn,Dn;if(e.Debug.assert($!==e.LanguageServiceMode.Syntactic),W.getProjectVersion){var On=W.getProjectVersion();if(On){if(Me===On&&!(!((rn=W.hasChangedAutomaticTypeDirectiveNames)===null||rn===void 0)&&rn.call(W)))return;Me=On}}var Qn=W.getTypeRootsVersion?W.getTypeRootsVersion():0;Oe!==Qn&&(Ce("TypeRoots version has changed; provide new program"),ae=void 0,Oe=Qn);var Ke=W.getScriptFileNames().slice(),cn=W.getCompilationSettings()||M(),Vn=W.hasInvalidatedResolutions||e.returnFalse,$i=e.maybeBind(W,W.hasChangedAutomaticTypeDirectiveNames),pt=(xn=W.getProjectReferences)===null||xn===void 0?void 0:xn.call(W),Hi,Ci={getSourceFile:So,getSourceFileByPath:Na,getCancellationToken:function(){return xe},getCanonicalFileName:Ee,useCaseSensitiveFileNames:function(){return ze},getNewLine:function(){return e.getNewLineCharacter(cn,function(){return e.getNewLineOrDefaultFromHost(W)})},getDefaultLibFileName:function(qi){return W.getDefaultLibFileName(qi)},writeFile:e.noop,getCurrentDirectory:function(){return Se},fileExists:function(qi){return W.fileExists(qi)},readFile:function(qi){return W.readFile&&W.readFile(qi)},getSymlinkCache:e.maybeBind(W,W.getSymlinkCache),realpath:e.maybeBind(W,W.realpath),directoryExists:function(qi){return e.directoryProbablyExists(qi,W)},getDirectories:function(qi){return W.getDirectories?W.getDirectories(qi):[]},readDirectory:function(qi,Xi,so,po,ws){return e.Debug.checkDefined(W.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"),W.readDirectory(qi,Xi,so,po,ws)},onReleaseOldSourceFile:ka,onReleaseParsedCommandLine:Ao,hasInvalidatedResolutions:Vn,hasChangedAutomaticTypeDirectiveNames:$i,trace:e.maybeBind(W,W.trace),resolveModuleNames:e.maybeBind(W,W.resolveModuleNames),getModuleResolutionCache:e.maybeBind(W,W.getModuleResolutionCache),resolveTypeReferenceDirectives:e.maybeBind(W,W.resolveTypeReferenceDirectives),useSourceOfProjectReferenceRedirect:e.maybeBind(W,W.useSourceOfProjectReferenceRedirect),getParsedCommandLine:za},Tt=Ci.getSourceFile,st=e.changeCompilerHostLikeToUseCache(Ci,function(qi){return e.toPath(qi,Se,Ee)},function(){for(var qi=[],Xi=0;Xi")};var Ke=On.kind===31&&e.isJsxOpeningFragment(On.parent)?On.parent.parent:e.isJsxText(On)&&e.isJsxFragment(On.parent)?On.parent:void 0;if(Ke&&qn(Ke))return{newText:""}}}function Fr(rn,xn){return{lineStarts:rn.getLineStarts(),firstLine:rn.getLineAndCharacterOfPosition(xn.pos).line,lastLine:rn.getLineAndCharacterOfPosition(xn.end).line}}function Vr(rn,xn,Dn){for(var On=me.getCurrentSourceFile(rn),Qn=[],Ke=Fr(On,xn),cn=Ke.lineStarts,Vn=Ke.firstLine,$i=Ke.lastLine,pt=Dn||!1,Hi=Number.MAX_VALUE,Ci=new e.Map,Tt=new RegExp(/\S/),st=e.isInsideJsxElement(On,cn[Vn]),Yi=st?"{/*":"//",ii=Vn;ii<=$i;ii++){var qa=On.text.substring(cn[ii],On.getLineEndOfPosition(cn[ii])),za=Tt.exec(qa);za&&(Hi=Math.min(Hi,za.index),Ci.set(ii.toString(),za.index),qa.substr(za.index,Yi.length)!==Yi&&(pt=Dn===void 0||Dn))}for(var ii=Vn;ii<=$i;ii++)if(!(Vn!==$i&&cn[ii]===xn.end)){var Wa=Ci.get(ii.toString());Wa!==void 0&&(st?Qn.push.apply(Qn,fn(rn,{pos:cn[ii]+Hi,end:On.getLineEndOfPosition(cn[ii])},pt,st)):pt?Qn.push({newText:Yi,span:{length:0,start:cn[ii]+Hi}}):On.text.substr(cn[ii]+Wa,Yi.length)===Yi&&Qn.push({newText:"",span:{length:Yi.length,start:cn[ii]+Wa}}))}return Qn}function fn(rn,xn,Dn,On){for(var Qn,Ke=me.getCurrentSourceFile(rn),cn=[],Vn=Ke.text,$i=!1,pt=Dn||!1,Hi=[],Ci=xn.pos,Tt=On!==void 0?On:e.isInsideJsxElement(Ke,Ci),st=Tt?"{/*":"/*",Yi=Tt?"*/}":"*/",ii=Tt?"\\{\\/\\*":"\\/\\*",qa=Tt?"\\*\\/\\}":"\\*\\/";Ci<=xn.end;){var za=Vn.substr(Ci,st.length)===st?st.length:0,Wa=e.isInComment(Ke,Ci+za);if(Wa)Tt&&(Wa.pos--,Wa.end++),Hi.push(Wa.pos),Wa.kind===3&&Hi.push(Wa.end),$i=!0,Ci=Wa.end+1;else{var Ao=Vn.substring(Ci,xn.end).search("(".concat(ii,")|(").concat(qa,")"));pt=Dn!==void 0?Dn:pt||!e.isTextWhiteSpaceLike(Vn,Ci,Ao===-1?xn.end:Ci+Ao),Ci=Ao===-1?xn.end+1:Ci+Ao+Yi.length}}if(pt||!$i){((Qn=e.isInComment(Ke,xn.pos))===null||Qn===void 0?void 0:Qn.kind)!==2&&e.insertSorted(Hi,xn.pos,e.compareValues),e.insertSorted(Hi,xn.end,e.compareValues);var ka=Hi[0];Vn.substr(ka,st.length)!==st&&cn.push({newText:st,span:{length:0,start:ka}});for(var So=1;So0?Xi-Yi.length:0,za=Vn.substr(so,Yi.length)===Yi?Yi.length:0;cn.push({newText:"",span:{length:st.length,start:Xi-za}})}return cn}function Wr(rn,xn){var Dn=me.getCurrentSourceFile(rn),On=Fr(Dn,xn),Qn=On.firstLine,Ke=On.lastLine;return Qn===Ke&&xn.pos!==xn.end?fn(rn,xn,!0):Vr(rn,xn,!0)}function Wn(rn,xn){var Dn=me.getCurrentSourceFile(rn),On=[],Qn=xn.pos,Ke=xn.end;Qn===Ke&&(Ke+=e.isInsideJsxElement(Dn,Qn)?2:1);for(var cn=Qn;cn<=Ke;cn++){var Vn=e.isInComment(Dn,cn);if(Vn){switch(Vn.kind){case 2:On.push.apply(On,Vr(rn,{end:Vn.end,pos:Vn.pos+1},!1));break;case 3:On.push.apply(On,fn(rn,{end:Vn.end,pos:Vn.pos+1},!1))}cn=Vn.end+1}}return On}function bn(rn){var xn=rn.openingElement,Dn=rn.closingElement,On=rn.parent;return!e.tagNamesAreEquivalent(xn.tagName,Dn.tagName)||e.isJsxElement(On)&&e.tagNamesAreEquivalent(xn.tagName,On.openingElement.tagName)&&bn(On)}function qn(rn){var xn=rn.closingFragment,Dn=rn.parent;return!!(xn.flags&131072)||e.isJsxFragment(Dn)&&qn(Dn)}function hn(rn,xn,Dn){var On=me.getCurrentSourceFile(rn),Qn=e.formatting.getRangeOfEnclosingComment(On,xn);return Qn&&(!Dn||Qn.kind===3)?e.createTextSpanFromRange(Qn):void 0}function Kn(rn,xn){ue();var Dn=be(rn);xe.throwIfCancellationRequested();var On=Dn.text,Qn=[];if(xn.length>0&&!qa(Dn.fileName))for(var Ke=Yi(),cn=void 0;cn=Ke.exec(On);){xe.throwIfCancellationRequested();var Vn=3;e.Debug.assert(cn.length===xn.length+Vn);var $i=cn[1],pt=cn.index+$i.length;if(e.isInComment(Dn,pt)){for(var Hi=void 0,Ci=0;Ci=97&&za<=122||za>=65&&za<=90||za>=48&&za<=57}function qa(za){return e.stringContains(za,"/node_modules/")}}function Ai(rn,xn,Dn){return ue(),e.Rename.getRenameInfo(ae,be(rn),xn,Dn||{})}function ai(rn,xn,Dn,On,Qn,Ke){var cn=typeof xn=="number"?[xn,void 0]:[xn.pos,xn.end],Vn=cn[0],$i=cn[1];return{file:rn,startPosition:Vn,endPosition:$i,program:y(),host:W,formatContext:e.formatting.getFormatContext(On,W),cancellationToken:xe,preferences:Dn,triggerReason:Qn,kind:Ke}}function Ki(rn,xn,Dn){return{file:rn,program:y(),host:W,span:xn,preferences:Dn,cancellationToken:xe}}function Ni(rn,xn){return e.SmartSelectionRange.getSmartSelectionRange(xn,me.getCurrentSourceFile(rn))}function mi(rn,xn,Dn,On,Qn){Dn===void 0&&(Dn=e.emptyOptions),ue();var Ke=be(rn);return e.refactor.getApplicableRefactors(ai(Ke,xn,Dn,e.emptyOptions,On,Qn))}function Pn(rn,xn,Dn,On,Qn,Ke){Ke===void 0&&(Ke=e.emptyOptions),ue();var cn=be(rn);return e.refactor.getEditsForRefactor(ai(cn,Dn,Ke,xn),On,Qn)}function we(rn,xn){return xn===0?{line:0,character:0}:Le.toLineColumnOffset(rn,xn)}function Ir(rn,xn){ue();var Dn=e.CallHierarchy.resolveCallHierarchyDeclaration(ae,e.getTouchingPropertyName(be(rn),xn));return Dn&&e.mapOneOrMany(Dn,function(On){return e.CallHierarchy.createCallHierarchyItem(ae,On)})}function Re(rn,xn){ue();var Dn=be(rn),On=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(ae,xn===0?Dn:e.getTouchingPropertyName(Dn,xn)));return On?e.CallHierarchy.getIncomingCalls(ae,On,xe):[]}function yn(rn,xn){ue();var Dn=be(rn),On=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(ae,xn===0?Dn:e.getTouchingPropertyName(Dn,xn)));return On?e.CallHierarchy.getOutgoingCalls(ae,On):[]}function Un(rn,xn,Dn){Dn===void 0&&(Dn=e.emptyOptions),ue();var On=be(rn);return e.InlayHints.provideInlayHints(Ki(On,xn,Dn))}var gn={dispose:Je,cleanupSemanticCache:Te,getSyntacticDiagnostics:er,getSemanticDiagnostics:wr,getSuggestionDiagnostics:mr,getCompilerOptionsDiagnostics:We,getSyntacticClassifications:En,getSemanticClassifications:xr,getEncodedSyntacticClassifications:Nn,getEncodedSemanticClassifications:Ur,getCompletionsAtPosition:a,getCompletionEntryDetails:qr,getCompletionEntrySymbol:ln,getSignatureHelpItems:Rr,getQuickInfoAtPosition:dr,getDefinitionAtPosition:jr,getDefinitionAndBoundSpan:Cr,getImplementationAtPosition:Lr,getTypeDefinitionAtPosition:en,getReferencesAtPosition:Pe,findReferences:Ar,getFileReferences:ke,getOccurrencesAtPosition:pn,getDocumentHighlights:ye,getNameOrDottedNameSpan:nn,getBreakpointStatementAtPosition:vn,getNavigateToItems:cr,getRenameInfo:Ai,getSmartSelectionRange:Ni,findRenameLocations:or,getNavigationBarItems:Fe,getNavigationTree:Ge,getOutliningSpans:Zn,getTodoComments:Kn,getBraceMatchingAtPosition:Dr,getIndentationAtPosition:Pr,getFormattingEditsForRange:Jr,getFormattingEditsForDocument:sn,getFormattingEditsAfterKeystroke:Ue,getDocCommentTemplateAtPosition:ar,isValidBraceCompletionAtPosition:Sr,getJsxClosingTagAtPosition:pr,getSpanOfEnclosingComment:hn,getCodeFixesAtPosition:br,getCombinedCodeFix:Ne,applyCodeActionCommand:pe,organizeImports:Ze,getEditsForFileRename:Qe,getEmitOutput:Mr,getNonBoundSourceFile:$r,getProgram:y,getCurrentProgram:function(){return ae},getAutoImportProvider:X,updateIsDefinitionOfReferencedSymbols:Ae,getApplicableRefactors:mi,getEditsForRefactor:Pn,toLineColumnOffset:we,getSourceMapper:function(){return Le},clearSourceMapperCache:function(){return Le.clearCache()},prepareCallHierarchy:Ir,provideCallHierarchyIncomingCalls:Re,provideCallHierarchyOutgoingCalls:yn,toggleLineComment:Vr,toggleMultilineComment:fn,commentSelection:Wr,uncommentSelection:Wn,provideInlayHints:Un};switch($){case e.LanguageServiceMode.Semantic:break;case e.LanguageServiceMode.PartialSemantic:Q.forEach(function(rn){return gn[rn]=function(){throw new Error("LanguageService Operation: ".concat(rn," not allowed in LanguageServiceMode.PartialSemantic"))}});break;case e.LanguageServiceMode.Syntactic:j.forEach(function(rn){return gn[rn]=function(){throw new Error("LanguageService Operation: ".concat(rn," not allowed in LanguageServiceMode.Syntactic"))}});break;default:e.Debug.assertNever($)}return gn}e.createLanguageService=I;function L(W){return W.nameTable||V(W),W.nameTable}e.getNameTable=L;function V(W){var u=W.nameTable=new e.Map;W.forEachChild(function O(B){if(e.isIdentifier(B)&&!e.isTagName(B)&&B.escapedText||e.isStringOrNumericLiteralLike(B)&&ne(B)){var G=e.getEscapedTextOfIdentifierOrLiteral(B);u.set(G,u.get(G)===void 0?B.pos:-1)}else if(e.isPrivateIdentifier(B)){var G=B.escapedText;u.set(G,u.get(G)===void 0?B.pos:-1)}if(e.forEachChild(B,O),e.hasJSDocNodes(B))for(var $=0,me=B.jsDoc;$z){var U=e.findPrecedingToken(P.pos,h);if(!U||h.getLineAndCharacterOfPosition(U.getEnd()).line!==z)return;P=U}if(P.flags&16777216)return;return te(P);function g(x,J){var d=e.canHaveDecorators(x)?e.findLast(x.modifiers,e.isDecorator):void 0,D=d?e.skipTrivia(h.text,d.end):x.getStart(h);return e.createTextSpanFromBounds(D,(J||x).getEnd())}function v(x,J){return g(x,e.findNextToken(J,J.parent,h))}function Y(x,J){return x&&z===h.getLineAndCharacterOfPosition(x.getStart(h)).line?te(x):te(J)}function ce(x,J,d){if(x){var D=x.indexOf(J);if(D>=0){for(var C=D,k=D+1;C>0&&d(x[C-1]);)C--;for(;k0)return te(O.declarations[0])}else return te(u.initializer)}function j(u){if(u.initializer)return Q(u);if(u.condition)return g(u.condition);if(u.incrementor)return g(u.incrementor)}function I(u){var O=e.forEach(u.elements,function(B){return B.kind!==229?B:void 0});return O?te(O):u.parent.kind===205?g(u.parent):ge(u.parent)}function L(u){e.Debug.assert(u.kind!==204&&u.kind!==203);var O=u.kind===206?u.elements:u.properties,B=e.forEach(O,function(G){return G.kind!==229?G:void 0});return B?te(B):g(u.parent.kind===223?u.parent:u)}function V(u){switch(u.parent.kind){case 263:var O=u.parent;return Y(e.findPrecedingToken(u.pos,h,u.parent),O.members.length?O.members[0]:O.getLastToken(h));case 260:var B=u.parent;return Y(e.findPrecedingToken(u.pos,h,u.parent),B.members.length?B.members[0]:B.getLastToken(h));case 266:return Y(u.parent.parent,u.parent.clauses[0])}return te(u.parent)}function ne(u){switch(u.parent.kind){case 265:if(e.getModuleInstanceState(u.parent.parent)!==1)return;case 263:case 260:return g(u);case 238:if(e.isFunctionBlock(u.parent))return g(u);case 295:return te(e.lastOrUndefined(u.parent.statements));case 266:var O=u.parent,B=e.lastOrUndefined(O.clauses);return B?te(e.lastOrUndefined(B.statements)):void 0;case 203:var G=u.parent;return te(e.lastOrUndefined(G.elements)||G);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(u.parent)){var $=u.parent;return g(e.lastOrUndefined($.properties)||$)}return te(u.parent)}}function se(u){switch(u.parent.kind){case 204:var O=u.parent;return g(e.lastOrUndefined(O.elements)||O);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(u.parent)){var B=u.parent;return g(e.lastOrUndefined(B.elements)||B)}return te(u.parent)}}function De(u){return u.parent.kind===243||u.parent.kind===210||u.parent.kind===211?Z(u):u.parent.kind===214?ie(u):te(u.parent)}function T(u){switch(u.parent.kind){case 215:case 259:case 216:case 171:case 170:case 174:case 175:case 173:case 244:case 243:case 245:case 247:case 210:case 211:case 214:return Z(u);default:return te(u.parent)}}function w(u){return e.isFunctionLike(u.parent)||u.parent.kind===299||u.parent.kind===166?Z(u):te(u.parent)}function A(u){return u.parent.kind===213?ie(u):te(u.parent)}function oe(u){return u.parent.kind===243?v(u,u.parent.expression):te(u.parent)}function W(u){return u.parent.kind===247?ie(u):te(u.parent)}}}l.spanInSourceFileAtLocation=_})(i=e.BreakpointResolver||(e.BreakpointResolver={}))})(fr||(fr={}));var fr;(function(e){function i(l,_,h){var p=[];h=e.fixupCompilerOptions(h,p);var P=e.isArray(l)?l:[l],z=e.transformNodes(void 0,void 0,e.factory,h,P,_,!0);return z.diagnostics=e.concatenate(z.diagnostics,p),z}e.transform=i})(fr||(fr={}));var oE=function(){return this}(),fr;(function(e){function i(x,J){x&&x.log("*INTERNAL ERROR* - Exception in typescript services: "+J.message)}var l=function(){function x(J){this.scriptSnapshotShim=J}return x.prototype.getText=function(J,d){return this.scriptSnapshotShim.getText(J,d)},x.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()},x.prototype.getChangeRange=function(J){var d=J,D=this.scriptSnapshotShim.getChangeRange(d.scriptSnapshotShim);if(D===null)return null;var C=JSON.parse(D);return e.createTextChangeRange(e.createTextSpan(C.span.start,C.span.length),C.newLength)},x.prototype.dispose=function(){"dispose"in this.scriptSnapshotShim&&this.scriptSnapshotShim.dispose()},x}(),_=function(){function x(J){var d=this;this.shimHost=J,this.loggingEnabled=!1,this.tracingEnabled=!1,"getModuleResolutionsForFile"in this.shimHost&&(this.resolveModuleNames=function(D,C){var k=JSON.parse(d.shimHost.getModuleResolutionsForFile(C));return e.map(D,function(R){var M=e.getProperty(k,R);return M?{resolvedFileName:M,extension:e.extensionFromPath(M),isExternalLibraryImport:!1}:void 0})}),"directoryExists"in this.shimHost&&(this.directoryExists=function(D){return d.shimHost.directoryExists(D)}),"getTypeReferenceDirectiveResolutionsForFile"in this.shimHost&&(this.resolveTypeReferenceDirectives=function(D,C){var k=JSON.parse(d.shimHost.getTypeReferenceDirectiveResolutionsForFile(C));return e.map(D,function(R){return e.getProperty(k,e.isString(R)?R:R.fileName.toLowerCase())})})}return x.prototype.log=function(J){this.loggingEnabled&&this.shimHost.log(J)},x.prototype.trace=function(J){this.tracingEnabled&&this.shimHost.trace(J)},x.prototype.error=function(J){this.shimHost.error(J)},x.prototype.getProjectVersion=function(){if(this.shimHost.getProjectVersion)return this.shimHost.getProjectVersion()},x.prototype.getTypeRootsVersion=function(){return this.shimHost.getTypeRootsVersion?this.shimHost.getTypeRootsVersion():0},x.prototype.useCaseSensitiveFileNames=function(){return this.shimHost.useCaseSensitiveFileNames?this.shimHost.useCaseSensitiveFileNames():!1},x.prototype.getCompilationSettings=function(){var J=this.shimHost.getCompilationSettings();if(J===null||J==="")throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings");var d=JSON.parse(J);return d.allowNonTsExtensions=!0,d},x.prototype.getScriptFileNames=function(){var J=this.shimHost.getScriptFileNames();return JSON.parse(J)},x.prototype.getScriptSnapshot=function(J){var d=this.shimHost.getScriptSnapshot(J);return d&&new l(d)},x.prototype.getScriptKind=function(J){return"getScriptKind"in this.shimHost?this.shimHost.getScriptKind(J):0},x.prototype.getScriptVersion=function(J){return this.shimHost.getScriptVersion(J)},x.prototype.getLocalizedDiagnosticMessages=function(){var J=this.shimHost.getLocalizedDiagnosticMessages();if(J===null||J==="")return null;try{return JSON.parse(J)}catch(d){return this.log(d.description||"diagnosticMessages.generated.json has invalid JSON format"),null}},x.prototype.getCancellationToken=function(){var J=this.shimHost.getCancellationToken();return new e.ThrottledCancellationToken(J)},x.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()},x.prototype.getDirectories=function(J){return JSON.parse(this.shimHost.getDirectories(J))},x.prototype.getDefaultLibFileName=function(J){return this.shimHost.getDefaultLibFileName(JSON.stringify(J))},x.prototype.readDirectory=function(J,d,D,C,k){var R=e.getFileMatcherPatterns(J,D,C,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(J,JSON.stringify(d),JSON.stringify(R.basePaths),R.excludePattern,R.includeFilePattern,R.includeDirectoryPattern,k))},x.prototype.readFile=function(J,d){return this.shimHost.readFile(J,d)},x.prototype.fileExists=function(J){return this.shimHost.fileExists(J)},x}();e.LanguageServiceShimHostAdapter=_;var h=function(){function x(J){var d=this;this.shimHost=J,this.useCaseSensitiveFileNames=this.shimHost.useCaseSensitiveFileNames?this.shimHost.useCaseSensitiveFileNames():!1,"directoryExists"in this.shimHost?this.directoryExists=function(D){return d.shimHost.directoryExists(D)}:this.directoryExists=void 0,"realpath"in this.shimHost?this.realpath=function(D){return d.shimHost.realpath(D)}:this.realpath=void 0}return x.prototype.readDirectory=function(J,d,D,C,k){var R=e.getFileMatcherPatterns(J,D,C,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(J,JSON.stringify(d),JSON.stringify(R.basePaths),R.excludePattern,R.includeFilePattern,R.includeDirectoryPattern,k))},x.prototype.fileExists=function(J){return this.shimHost.fileExists(J)},x.prototype.readFile=function(J){return this.shimHost.readFile(J)},x.prototype.getDirectories=function(J){return JSON.parse(this.shimHost.getDirectories(J))},x}();e.CoreServicesShimHostAdapter=h;function p(x,J,d,D){var C;D&&(x.log(J),C=e.timestamp());var k=d();if(D){var R=e.timestamp();if(x.log("".concat(J," completed in ").concat(R-C," msec")),e.isString(k)){var M=k;M.length>128&&(M=M.substring(0,128)+"..."),x.log(" result.length=".concat(M.length,", result='").concat(JSON.stringify(M),"'"))}}return k}function P(x,J,d,D){return z(x,J,!0,d,D)}function z(x,J,d,D,C){try{var k=p(x,J,D,C);return d?JSON.stringify({result:k}):k}catch(R){return R instanceof e.OperationCanceledException?JSON.stringify({canceled:!0}):(i(x,R),R.description=J,JSON.stringify({error:R}))}}var U=function(){function x(J){this.factory=J,J.registerShim(this)}return x.prototype.dispose=function(J){this.factory.unregisterShim(this)},x}();function g(x,J){return x.map(function(d){return v(d,J)})}e.realizeDiagnostics=g;function v(x,J){return{message:e.flattenDiagnosticMessageText(x.messageText,J),start:x.start,length:x.length,category:e.diagnosticCategoryName(x),code:x.code,reportsUnnecessary:x.reportsUnnecessary,reportsDeprecated:x.reportsDeprecated}}var Y=function(x){Xv(J,x);function J(d,D,C){var k=x.call(this,d)||this;return k.host=D,k.languageService=C,k.logPerformance=!1,k.logger=k.host,k}return J.prototype.forwardJSONCall=function(d,D){return P(this.logger,d,D,this.logPerformance)},J.prototype.dispose=function(d){this.logger.log("dispose()"),this.languageService.dispose(),this.languageService=null,oE&&oE.CollectGarbage&&(oE.CollectGarbage(),this.logger.log("CollectGarbage()")),this.logger=null,x.prototype.dispose.call(this,d)},J.prototype.refresh=function(d){this.forwardJSONCall("refresh(".concat(d,")"),function(){return null})},J.prototype.cleanupSemanticCache=function(){var d=this;this.forwardJSONCall("cleanupSemanticCache()",function(){return d.languageService.cleanupSemanticCache(),null})},J.prototype.realizeDiagnostics=function(d){var D=e.getNewLineOrDefaultFromHost(this.host);return g(d,D)},J.prototype.getSyntacticClassifications=function(d,D,C){var k=this;return this.forwardJSONCall("getSyntacticClassifications('".concat(d,"', ").concat(D,", ").concat(C,")"),function(){return k.languageService.getSyntacticClassifications(d,e.createTextSpan(D,C))})},J.prototype.getSemanticClassifications=function(d,D,C){var k=this;return this.forwardJSONCall("getSemanticClassifications('".concat(d,"', ").concat(D,", ").concat(C,")"),function(){return k.languageService.getSemanticClassifications(d,e.createTextSpan(D,C))})},J.prototype.getEncodedSyntacticClassifications=function(d,D,C){var k=this;return this.forwardJSONCall("getEncodedSyntacticClassifications('".concat(d,"', ").concat(D,", ").concat(C,")"),function(){return ce(k.languageService.getEncodedSyntacticClassifications(d,e.createTextSpan(D,C)))})},J.prototype.getEncodedSemanticClassifications=function(d,D,C){var k=this;return this.forwardJSONCall("getEncodedSemanticClassifications('".concat(d,"', ").concat(D,", ").concat(C,")"),function(){return ce(k.languageService.getEncodedSemanticClassifications(d,e.createTextSpan(D,C)))})},J.prototype.getSyntacticDiagnostics=function(d){var D=this;return this.forwardJSONCall("getSyntacticDiagnostics('".concat(d,"')"),function(){var C=D.languageService.getSyntacticDiagnostics(d);return D.realizeDiagnostics(C)})},J.prototype.getSemanticDiagnostics=function(d){var D=this;return this.forwardJSONCall("getSemanticDiagnostics('".concat(d,"')"),function(){var C=D.languageService.getSemanticDiagnostics(d);return D.realizeDiagnostics(C)})},J.prototype.getSuggestionDiagnostics=function(d){var D=this;return this.forwardJSONCall("getSuggestionDiagnostics('".concat(d,"')"),function(){return D.realizeDiagnostics(D.languageService.getSuggestionDiagnostics(d))})},J.prototype.getCompilerOptionsDiagnostics=function(){var d=this;return this.forwardJSONCall("getCompilerOptionsDiagnostics()",function(){var D=d.languageService.getCompilerOptionsDiagnostics();return d.realizeDiagnostics(D)})},J.prototype.getQuickInfoAtPosition=function(d,D){var C=this;return this.forwardJSONCall("getQuickInfoAtPosition('".concat(d,"', ").concat(D,")"),function(){return C.languageService.getQuickInfoAtPosition(d,D)})},J.prototype.getNameOrDottedNameSpan=function(d,D,C){var k=this;return this.forwardJSONCall("getNameOrDottedNameSpan('".concat(d,"', ").concat(D,", ").concat(C,")"),function(){return k.languageService.getNameOrDottedNameSpan(d,D,C)})},J.prototype.getBreakpointStatementAtPosition=function(d,D){var C=this;return this.forwardJSONCall("getBreakpointStatementAtPosition('".concat(d,"', ").concat(D,")"),function(){return C.languageService.getBreakpointStatementAtPosition(d,D)})},J.prototype.getSignatureHelpItems=function(d,D,C){var k=this;return this.forwardJSONCall("getSignatureHelpItems('".concat(d,"', ").concat(D,")"),function(){return k.languageService.getSignatureHelpItems(d,D,C)})},J.prototype.getDefinitionAtPosition=function(d,D){var C=this;return this.forwardJSONCall("getDefinitionAtPosition('".concat(d,"', ").concat(D,")"),function(){return C.languageService.getDefinitionAtPosition(d,D)})},J.prototype.getDefinitionAndBoundSpan=function(d,D){var C=this;return this.forwardJSONCall("getDefinitionAndBoundSpan('".concat(d,"', ").concat(D,")"),function(){return C.languageService.getDefinitionAndBoundSpan(d,D)})},J.prototype.getTypeDefinitionAtPosition=function(d,D){var C=this;return this.forwardJSONCall("getTypeDefinitionAtPosition('".concat(d,"', ").concat(D,")"),function(){return C.languageService.getTypeDefinitionAtPosition(d,D)})},J.prototype.getImplementationAtPosition=function(d,D){var C=this;return this.forwardJSONCall("getImplementationAtPosition('".concat(d,"', ").concat(D,")"),function(){return C.languageService.getImplementationAtPosition(d,D)})},J.prototype.getRenameInfo=function(d,D,C){var k=this;return this.forwardJSONCall("getRenameInfo('".concat(d,"', ").concat(D,")"),function(){return k.languageService.getRenameInfo(d,D,C)})},J.prototype.getSmartSelectionRange=function(d,D){var C=this;return this.forwardJSONCall("getSmartSelectionRange('".concat(d,"', ").concat(D,")"),function(){return C.languageService.getSmartSelectionRange(d,D)})},J.prototype.findRenameLocations=function(d,D,C,k,R){var M=this;return this.forwardJSONCall("findRenameLocations('".concat(d,"', ").concat(D,", ").concat(C,", ").concat(k,", ").concat(R,")"),function(){return M.languageService.findRenameLocations(d,D,C,k,R)})},J.prototype.getBraceMatchingAtPosition=function(d,D){var C=this;return this.forwardJSONCall("getBraceMatchingAtPosition('".concat(d,"', ").concat(D,")"),function(){return C.languageService.getBraceMatchingAtPosition(d,D)})},J.prototype.isValidBraceCompletionAtPosition=function(d,D,C){var k=this;return this.forwardJSONCall("isValidBraceCompletionAtPosition('".concat(d,"', ").concat(D,", ").concat(C,")"),function(){return k.languageService.isValidBraceCompletionAtPosition(d,D,C)})},J.prototype.getSpanOfEnclosingComment=function(d,D,C){var k=this;return this.forwardJSONCall("getSpanOfEnclosingComment('".concat(d,"', ").concat(D,")"),function(){return k.languageService.getSpanOfEnclosingComment(d,D,C)})},J.prototype.getIndentationAtPosition=function(d,D,C){var k=this;return this.forwardJSONCall("getIndentationAtPosition('".concat(d,"', ").concat(D,")"),function(){var R=JSON.parse(C);return k.languageService.getIndentationAtPosition(d,D,R)})},J.prototype.getReferencesAtPosition=function(d,D){var C=this;return this.forwardJSONCall("getReferencesAtPosition('".concat(d,"', ").concat(D,")"),function(){return C.languageService.getReferencesAtPosition(d,D)})},J.prototype.findReferences=function(d,D){var C=this;return this.forwardJSONCall("findReferences('".concat(d,"', ").concat(D,")"),function(){return C.languageService.findReferences(d,D)})},J.prototype.getFileReferences=function(d){var D=this;return this.forwardJSONCall("getFileReferences('".concat(d,")"),function(){return D.languageService.getFileReferences(d)})},J.prototype.getOccurrencesAtPosition=function(d,D){var C=this;return this.forwardJSONCall("getOccurrencesAtPosition('".concat(d,"', ").concat(D,")"),function(){return C.languageService.getOccurrencesAtPosition(d,D)})},J.prototype.getDocumentHighlights=function(d,D,C){var k=this;return this.forwardJSONCall("getDocumentHighlights('".concat(d,"', ").concat(D,")"),function(){var R=k.languageService.getDocumentHighlights(d,D,JSON.parse(C)),M=e.toFileNameLowerCase(e.normalizeSlashes(d));return e.filter(R,function(ge){return e.toFileNameLowerCase(e.normalizeSlashes(ge.fileName))===M})})},J.prototype.getCompletionsAtPosition=function(d,D,C,k){var R=this;return this.forwardJSONCall("getCompletionsAtPosition('".concat(d,"', ").concat(D,", ").concat(C,", ").concat(k,")"),function(){return R.languageService.getCompletionsAtPosition(d,D,C,k)})},J.prototype.getCompletionEntryDetails=function(d,D,C,k,R,M,ge){var ve=this;return this.forwardJSONCall("getCompletionEntryDetails('".concat(d,"', ").concat(D,", '").concat(C,"')"),function(){var re=k===void 0?void 0:JSON.parse(k);return ve.languageService.getCompletionEntryDetails(d,D,C,re,R,M,ge)})},J.prototype.getFormattingEditsForRange=function(d,D,C,k){var R=this;return this.forwardJSONCall("getFormattingEditsForRange('".concat(d,"', ").concat(D,", ").concat(C,")"),function(){var M=JSON.parse(k);return R.languageService.getFormattingEditsForRange(d,D,C,M)})},J.prototype.getFormattingEditsForDocument=function(d,D){var C=this;return this.forwardJSONCall("getFormattingEditsForDocument('".concat(d,"')"),function(){var k=JSON.parse(D);return C.languageService.getFormattingEditsForDocument(d,k)})},J.prototype.getFormattingEditsAfterKeystroke=function(d,D,C,k){var R=this;return this.forwardJSONCall("getFormattingEditsAfterKeystroke('".concat(d,"', ").concat(D,", '").concat(C,"')"),function(){var M=JSON.parse(k);return R.languageService.getFormattingEditsAfterKeystroke(d,D,C,M)})},J.prototype.getDocCommentTemplateAtPosition=function(d,D,C){var k=this;return this.forwardJSONCall("getDocCommentTemplateAtPosition('".concat(d,"', ").concat(D,")"),function(){return k.languageService.getDocCommentTemplateAtPosition(d,D,C)})},J.prototype.getNavigateToItems=function(d,D,C){var k=this;return this.forwardJSONCall("getNavigateToItems('".concat(d,"', ").concat(D,", ").concat(C,")"),function(){return k.languageService.getNavigateToItems(d,D,C)})},J.prototype.getNavigationBarItems=function(d){var D=this;return this.forwardJSONCall("getNavigationBarItems('".concat(d,"')"),function(){return D.languageService.getNavigationBarItems(d)})},J.prototype.getNavigationTree=function(d){var D=this;return this.forwardJSONCall("getNavigationTree('".concat(d,"')"),function(){return D.languageService.getNavigationTree(d)})},J.prototype.getOutliningSpans=function(d){var D=this;return this.forwardJSONCall("getOutliningSpans('".concat(d,"')"),function(){return D.languageService.getOutliningSpans(d)})},J.prototype.getTodoComments=function(d,D){var C=this;return this.forwardJSONCall("getTodoComments('".concat(d,"')"),function(){return C.languageService.getTodoComments(d,JSON.parse(D))})},J.prototype.prepareCallHierarchy=function(d,D){var C=this;return this.forwardJSONCall("prepareCallHierarchy('".concat(d,"', ").concat(D,")"),function(){return C.languageService.prepareCallHierarchy(d,D)})},J.prototype.provideCallHierarchyIncomingCalls=function(d,D){var C=this;return this.forwardJSONCall("provideCallHierarchyIncomingCalls('".concat(d,"', ").concat(D,")"),function(){return C.languageService.provideCallHierarchyIncomingCalls(d,D)})},J.prototype.provideCallHierarchyOutgoingCalls=function(d,D){var C=this;return this.forwardJSONCall("provideCallHierarchyOutgoingCalls('".concat(d,"', ").concat(D,")"),function(){return C.languageService.provideCallHierarchyOutgoingCalls(d,D)})},J.prototype.provideInlayHints=function(d,D,C){var k=this;return this.forwardJSONCall("provideInlayHints('".concat(d,"', '").concat(JSON.stringify(D),"', ").concat(JSON.stringify(C),")"),function(){return k.languageService.provideInlayHints(d,D,C)})},J.prototype.getEmitOutput=function(d){var D=this;return this.forwardJSONCall("getEmitOutput('".concat(d,"')"),function(){var C=D.languageService.getEmitOutput(d),k=C.diagnostics,R=sE(C,["diagnostics"]);return Ri(Ri({},R),{diagnostics:D.realizeDiagnostics(k)})})},J.prototype.getEmitOutputObject=function(d){var D=this;return z(this.logger,"getEmitOutput('".concat(d,"')"),!1,function(){return D.languageService.getEmitOutput(d)},this.logPerformance)},J.prototype.toggleLineComment=function(d,D){var C=this;return this.forwardJSONCall("toggleLineComment('".concat(d,"', '").concat(JSON.stringify(D),"')"),function(){return C.languageService.toggleLineComment(d,D)})},J.prototype.toggleMultilineComment=function(d,D){var C=this;return this.forwardJSONCall("toggleMultilineComment('".concat(d,"', '").concat(JSON.stringify(D),"')"),function(){return C.languageService.toggleMultilineComment(d,D)})},J.prototype.commentSelection=function(d,D){var C=this;return this.forwardJSONCall("commentSelection('".concat(d,"', '").concat(JSON.stringify(D),"')"),function(){return C.languageService.commentSelection(d,D)})},J.prototype.uncommentSelection=function(d,D){var C=this;return this.forwardJSONCall("uncommentSelection('".concat(d,"', '").concat(JSON.stringify(D),"')"),function(){return C.languageService.uncommentSelection(d,D)})},J}(U);function ce(x){return{spans:x.spans.join(","),endOfLineState:x.endOfLineState}}var Z=function(x){Xv(J,x);function J(d,D){var C=x.call(this,d)||this;return C.logger=D,C.logPerformance=!1,C.classifier=e.createClassifier(),C}return J.prototype.getEncodedLexicalClassifications=function(d,D,C){var k=this;return C===void 0&&(C=!1),P(this.logger,"getEncodedLexicalClassifications",function(){return ce(k.classifier.getEncodedLexicalClassifications(d,D,C))},this.logPerformance)},J.prototype.getClassificationsForLine=function(d,D,C){C===void 0&&(C=!1);for(var k=this.classifier.getClassificationsForLine(d,D,C),R="",M=0,ge=k.entries;M"u"&&(window.globalThis=window),delete Object.prototype.__magic__}catch{window.globalThis=window}})();(typeof process>"u"||process.browser)&&(globalThis.TypeScript=globalThis.TypeScript||{},globalThis.TypeScript.Services=globalThis.TypeScript.Services||{},globalThis.TypeScript.Services.TypeScriptServicesFactory=fr.TypeScriptServicesFactory,globalThis.toolsVersion=fr.versionMajorMinor);typeof L0<"u"&&L0.exports&&(L0.exports=fr);var fr;(function(e){function i(h,p,P,z){if(Object.defineProperty(Z,"name",Ri(Ri({},Object.getOwnPropertyDescriptor(Z,"name")),{value:h})),z)for(var U=0,g=Object.keys(z);U=1&&arguments.length<=3?e.factory.createVariableDeclaration(_,void 0,h,p):e.Debug.fail("Argument count mismatch")},i),e.updateVariableDeclaration=e.Debug.deprecate(function(_,h,p,P,z){return arguments.length===5?e.factory.updateVariableDeclaration(_,h,p,P,z):arguments.length===4?e.factory.updateVariableDeclaration(_,h,_.exclamationToken,p,P):e.Debug.fail("Argument count mismatch")},i),e.createImportClause=e.Debug.deprecate(function(_,h,p){return p===void 0&&(p=!1),e.factory.createImportClause(p,_,h)},i),e.updateImportClause=e.Debug.deprecate(function(_,h,p,P){return e.factory.updateImportClause(_,P,h,p)},i),e.createExportDeclaration=e.Debug.deprecate(function(_,h,p,P,z){return z===void 0&&(z=!1),e.factory.createExportDeclaration(_,h,z,p,P)},i),e.updateExportDeclaration=e.Debug.deprecate(function(_,h,p,P,z,U){return e.factory.updateExportDeclaration(_,h,p,U,P,z,_.assertClause)},i),e.createJSDocParamTag=e.Debug.deprecate(function(_,h,p,P){return e.factory.createJSDocParameterTag(void 0,_,h,p,!1,P?e.factory.createNodeArray([e.factory.createJSDocText(P)]):void 0)},i),e.createComma=e.Debug.deprecate(function(_,h){return e.factory.createComma(_,h)},i),e.createLessThan=e.Debug.deprecate(function(_,h){return e.factory.createLessThan(_,h)},i),e.createAssignment=e.Debug.deprecate(function(_,h){return e.factory.createAssignment(_,h)},i),e.createStrictEquality=e.Debug.deprecate(function(_,h){return e.factory.createStrictEquality(_,h)},i),e.createStrictInequality=e.Debug.deprecate(function(_,h){return e.factory.createStrictInequality(_,h)},i),e.createAdd=e.Debug.deprecate(function(_,h){return e.factory.createAdd(_,h)},i),e.createSubtract=e.Debug.deprecate(function(_,h){return e.factory.createSubtract(_,h)},i),e.createLogicalAnd=e.Debug.deprecate(function(_,h){return e.factory.createLogicalAnd(_,h)},i),e.createLogicalOr=e.Debug.deprecate(function(_,h){return e.factory.createLogicalOr(_,h)},i),e.createPostfixIncrement=e.Debug.deprecate(function(_){return e.factory.createPostfixIncrement(_)},i),e.createLogicalNot=e.Debug.deprecate(function(_){return e.factory.createLogicalNot(_)},i),e.createNode=e.Debug.deprecate(function(_,h,p){return h===void 0&&(h=0),p===void 0&&(p=0),e.setTextRangePosEnd(_===308?e.parseBaseNodeFactory.createBaseSourceFileNode(_):_===79?e.parseBaseNodeFactory.createBaseIdentifierNode(_):_===80?e.parseBaseNodeFactory.createBasePrivateIdentifierNode(_):e.isNodeKind(_)?e.parseBaseNodeFactory.createBaseNode(_):e.parseBaseNodeFactory.createBaseTokenNode(_),h,p)},{since:"4.0",warnAfter:"4.1",message:"Use an appropriate `factory` method instead."}),e.getMutableClone=e.Debug.deprecate(function(_){var h=e.factory.cloneNode(_);return e.setTextRange(h,_),e.setParent(h,_.parent),h},{since:"4.0",warnAfter:"4.1",message:"Use an appropriate `factory.update...` method instead, use `setCommentRange` or `setSourceMapRange`, and avoid setting `parent`."})})(fr||(fr={}));var fr;(function(e){e.isTypeAssertion=e.Debug.deprecate(function(l){return l.kind===213},{since:"4.0",warnAfter:"4.1",message:"Use `isTypeAssertionExpression` instead."})})(fr||(fr={}));var fr;(function(e){e.isIdentifierOrPrivateIdentifier=e.Debug.deprecate(function(l){return e.isMemberName(l)},{since:"4.2",warnAfter:"4.3",message:"Use `isMemberName` instead."})})(fr||(fr={}));var fr;(function(e){function i(_){var h=_.createConstructorTypeNode,p=_.updateConstructorTypeNode;_.createConstructorTypeNode=e.buildOverload("createConstructorTypeNode").overload({0:function(P,z,U,g){return h(P,z,U,g)},1:function(P,z,U){return h(void 0,P,z,U)}}).bind({0:function(P){return P.length===4},1:function(P){return P.length===3}}).deprecate({1:{since:"4.2",warnAfter:"4.3",message:"Use the overload that accepts 'modifiers'"}}).finish(),_.updateConstructorTypeNode=e.buildOverload("updateConstructorTypeNode").overload({0:function(P,z,U,g,v){return p(P,z,U,g,v)},1:function(P,z,U,g){return p(P,P.modifiers,z,U,g)}}).bind({0:function(P){return P.length===5},1:function(P){return P.length===4}}).deprecate({1:{since:"4.2",warnAfter:"4.3",message:"Use the overload that accepts 'modifiers'"}}).finish()}var l=e.createNodeFactory;e.createNodeFactory=function(_,h){var p=l(_,h);return i(p),p},i(e.factory)})(fr||(fr={}));var fr;(function(e){function i(_){var h=_.createImportTypeNode,p=_.updateImportTypeNode;_.createImportTypeNode=e.buildOverload("createImportTypeNode").overload({0:function(P,z,U,g,v){return h(P,z,U,g,v)},1:function(P,z,U,g){return h(P,void 0,z,U,g)}}).bind({0:function(P){var z=P[1],U=P[2],g=P[3],v=P[4];return(z===void 0||e.isImportTypeAssertionContainer(z))&&(U===void 0||!e.isArray(U))&&(g===void 0||e.isArray(g))&&(v===void 0||typeof v=="boolean")},1:function(P){var z=P[1],U=P[2],g=P[3],v=P[4];return v===void 0&&(z===void 0||e.isEntityName(z))&&(U===void 0||e.isArray(U))&&(g===void 0||typeof g=="boolean")}}).deprecate({1:{since:"4.6",warnAfter:"4.7",message:"Use the overload that accepts 'assertions'"}}).finish(),_.updateImportTypeNode=e.buildOverload("updateImportTypeNode").overload({0:function(P,z,U,g,v,Y){return p(P,z,U,g,v,Y)},1:function(P,z,U,g,v){return p(P,z,P.assertions,U,g,v)}}).bind({0:function(P){var z=P[2],U=P[3],g=P[4],v=P[5];return(z===void 0||e.isImportTypeAssertionContainer(z))&&(U===void 0||!e.isArray(U))&&(g===void 0||e.isArray(g))&&(v===void 0||typeof v=="boolean")},1:function(P){var z=P[2],U=P[3],g=P[4],v=P[5];return v===void 0&&(z===void 0||e.isEntityName(z))&&(U===void 0||e.isArray(U))&&(g===void 0||typeof g=="boolean")}}).deprecate({1:{since:"4.6",warnAfter:"4.7",message:"Use the overload that accepts 'assertions'"}}).finish()}var l=e.createNodeFactory;e.createNodeFactory=function(_,h){var p=l(_,h);return i(p),p},i(e.factory)})(fr||(fr={}));var fr;(function(e){function i(_){var h=_.createTypeParameterDeclaration,p=_.updateTypeParameterDeclaration;_.createTypeParameterDeclaration=e.buildOverload("createTypeParameterDeclaration").overload({0:function(P,z,U,g){return h(P,z,U,g)},1:function(P,z,U){return h(void 0,P,z,U)}}).bind({0:function(P){var z=P[0];return z===void 0||e.isArray(z)},1:function(P){var z=P[0];return z!==void 0&&!e.isArray(z)}}).deprecate({1:{since:"4.7",warnAfter:"4.8",message:"Use the overload that accepts 'modifiers'"}}).finish(),_.updateTypeParameterDeclaration=e.buildOverload("updateTypeParameterDeclaration").overload({0:function(P,z,U,g,v){return p(P,z,U,g,v)},1:function(P,z,U,g){return p(P,P.modifiers,z,U,g)}}).bind({0:function(P){var z=P[1];return z===void 0||e.isArray(z)},1:function(P){var z=P[1];return z!==void 0&&!e.isArray(z)}}).deprecate({1:{since:"4.7",warnAfter:"4.8",message:"Use the overload that accepts 'modifiers'"}}).finish()}var l=e.createNodeFactory;e.createNodeFactory=function(_,h){var p=l(_,h);return i(p),p},i(e.factory)})(fr||(fr={}));var fr;(function(e){var i={since:"4.8",warnAfter:"4.9.0-0",message:"Decorators have been combined with modifiers. Callers should switch to an overload that does not accept a 'decorators' parameter."},l={since:"4.8",warnAfter:"4.9.0-0",message:"Decorators are no longer supported for this function. Callers should switch to an overload that does not accept a 'decorators' parameter."},_={since:"4.8",warnAfter:"4.9.0-0",message:"Decorators and modifiers are no longer supported for this function. Callers should switch to an overload that does not accept the 'decorators' and 'modifiers' parameters."};function h(P){var z=P.createParameterDeclaration,U=P.updateParameterDeclaration,g=P.createPropertyDeclaration,v=P.updatePropertyDeclaration,Y=P.createMethodDeclaration,ce=P.updateMethodDeclaration,Z=P.createConstructorDeclaration,ie=P.updateConstructorDeclaration,te=P.createGetAccessorDeclaration,x=P.updateGetAccessorDeclaration,J=P.createSetAccessorDeclaration,d=P.updateSetAccessorDeclaration,D=P.createIndexSignature,C=P.updateIndexSignature,k=P.createClassStaticBlockDeclaration,R=P.updateClassStaticBlockDeclaration,M=P.createClassExpression,ge=P.updateClassExpression,ve=P.createFunctionDeclaration,re=P.updateFunctionDeclaration,N=P.createClassDeclaration,K=P.updateClassDeclaration,q=P.createInterfaceDeclaration,b=P.updateInterfaceDeclaration,F=P.createTypeAliasDeclaration,Q=P.updateTypeAliasDeclaration,j=P.createEnumDeclaration,I=P.updateEnumDeclaration,L=P.createModuleDeclaration,V=P.updateModuleDeclaration,ne=P.createImportEqualsDeclaration,se=P.updateImportEqualsDeclaration,De=P.createImportDeclaration,T=P.updateImportDeclaration,w=P.createExportAssignment,A=P.updateExportAssignment,oe=P.createExportDeclaration,W=P.updateExportDeclaration;P.createParameterDeclaration=e.buildOverload("createParameterDeclaration").overload({0:function(u,O,B,G,$,me){return z(u,O,B,G,$,me)},1:function(u,O,B,G,$,me,ae){return z(e.concatenate(u,O),B,G,$,me,ae)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5],ae=u[6];return ae===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||typeof B=="string"||e.isBindingName(B))&&(G===void 0||typeof G=="object"&&e.isQuestionToken(G))&&($===void 0||e.isTypeNode($))&&(me===void 0||e.isExpression(me))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5],ae=u[6];return(O===void 0||e.isArray(O))&&(B===void 0||typeof B=="object"&&e.isDotDotDotToken(B))&&(G===void 0||typeof G=="string"||e.isBindingName(G))&&($===void 0||e.isQuestionToken($))&&(me===void 0||e.isTypeNode(me))&&(ae===void 0||e.isExpression(ae))}}).deprecate({1:i}).finish(),P.updateParameterDeclaration=e.buildOverload("updateParameterDeclaration").overload({0:function(u,O,B,G,$,me,ae){return U(u,O,B,G,$,me,ae)},1:function(u,O,B,G,$,me,ae,Me){return U(u,e.concatenate(O,B),G,$,me,ae,Me)}}).bind({0:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6],ae=u[7];return ae===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||typeof B=="string"||e.isBindingName(B))&&(G===void 0||typeof G=="object"&&e.isQuestionToken(G))&&($===void 0||e.isTypeNode($))&&(me===void 0||e.isExpression(me))},1:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6],ae=u[7];return(O===void 0||e.isArray(O))&&(B===void 0||typeof B=="object"&&e.isDotDotDotToken(B))&&(G===void 0||typeof G=="string"||e.isBindingName(G))&&($===void 0||e.isQuestionToken($))&&(me===void 0||e.isTypeNode(me))&&(ae===void 0||e.isExpression(ae))}}).deprecate({1:i}).finish(),P.createPropertyDeclaration=e.buildOverload("createPropertyDeclaration").overload({0:function(u,O,B,G,$){return g(u,O,B,G,$)},1:function(u,O,B,G,$,me){return g(e.concatenate(u,O),B,G,$,me)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return me===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||typeof B=="object"&&e.isQuestionOrExclamationToken(B))&&(G===void 0||e.isTypeNode(G))&&($===void 0||e.isExpression($))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return(O===void 0||e.isArray(O))&&(B===void 0||typeof B=="string"||e.isPropertyName(B))&&(G===void 0||e.isQuestionOrExclamationToken(G))&&($===void 0||e.isTypeNode($))&&(me===void 0||e.isExpression(me))}}).deprecate({1:i}).finish(),P.updatePropertyDeclaration=e.buildOverload("updatePropertyDeclaration").overload({0:function(u,O,B,G,$,me){return v(u,O,B,G,$,me)},1:function(u,O,B,G,$,me,ae){return v(u,e.concatenate(O,B),G,$,me,ae)}}).bind({0:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6];return me===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||typeof B=="object"&&e.isQuestionOrExclamationToken(B))&&(G===void 0||e.isTypeNode(G))&&($===void 0||e.isExpression($))},1:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6];return(O===void 0||e.isArray(O))&&(B===void 0||typeof B=="string"||e.isPropertyName(B))&&(G===void 0||e.isQuestionOrExclamationToken(G))&&($===void 0||e.isTypeNode($))&&(me===void 0||e.isExpression(me))}}).deprecate({1:i}).finish(),P.createMethodDeclaration=e.buildOverload("createMethodDeclaration").overload({0:function(u,O,B,G,$,me,ae,Me){return Y(u,O,B,G,$,me,ae,Me)},1:function(u,O,B,G,$,me,ae,Me,Oe){return Y(e.concatenate(u,O),B,G,$,me,ae,Me,Oe)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5],ae=u[6],Me=u[7],Oe=u[8];return Oe===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||typeof B=="string"||e.isPropertyName(B))&&(G===void 0||typeof G=="object"&&e.isQuestionToken(G))&&($===void 0||e.isArray($))&&(me===void 0||!e.some(me,e.isTypeParameterDeclaration))&&(ae===void 0||!e.isArray(ae))&&(Me===void 0||e.isBlock(Me))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5],ae=u[6],Me=u[7],Oe=u[8];return(O===void 0||e.isArray(O))&&(B===void 0||typeof B=="object"&&e.isAsteriskToken(B))&&(G===void 0||typeof G=="string"||e.isPropertyName(G))&&($===void 0||!e.isArray($))&&(me===void 0||!e.some(me,e.isParameter))&&(ae===void 0||e.isArray(ae))&&(Me===void 0||e.isTypeNode(Me))&&(Oe===void 0||e.isBlock(Oe))}}).deprecate({1:i}).finish(),P.updateMethodDeclaration=e.buildOverload("updateMethodDeclaration").overload({0:function(u,O,B,G,$,me,ae,Me,Oe){return ce(u,O,B,G,$,me,ae,Me,Oe)},1:function(u,O,B,G,$,me,ae,Me,Oe,xe){return ce(u,e.concatenate(O,B),G,$,me,ae,Me,Oe,xe)}}).bind({0:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6],ae=u[7],Me=u[8],Oe=u[9];return Oe===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||typeof B=="string"||e.isPropertyName(B))&&(G===void 0||typeof G=="object"&&e.isQuestionToken(G))&&($===void 0||e.isArray($))&&(me===void 0||!e.some(me,e.isTypeParameterDeclaration))&&(ae===void 0||!e.isArray(ae))&&(Me===void 0||e.isBlock(Me))},1:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6],ae=u[7],Me=u[8],Oe=u[9];return(O===void 0||e.isArray(O))&&(B===void 0||typeof B=="object"&&e.isAsteriskToken(B))&&(G===void 0||typeof G=="string"||e.isPropertyName(G))&&($===void 0||!e.isArray($))&&(me===void 0||!e.some(me,e.isParameter))&&(ae===void 0||e.isArray(ae))&&(Me===void 0||e.isTypeNode(Me))&&(Oe===void 0||e.isBlock(Oe))}}).deprecate({1:i}).finish(),P.createConstructorDeclaration=e.buildOverload("createConstructorDeclaration").overload({0:function(u,O,B){return Z(u,O,B)},1:function(u,O,B,G){return Z(O,B,G)}}).bind({0:function(u){var O=u[0],B=u[1],G=u[2],$=u[3];return $===void 0&&(O===void 0||!e.some(O,e.isDecorator))&&(B===void 0||!e.some(B,e.isModifier))&&(G===void 0||!e.isArray(G))},1:function(u){var O=u[0],B=u[1],G=u[2],$=u[3];return(O===void 0||!e.some(O,e.isModifier))&&(B===void 0||!e.some(B,e.isParameter))&&(G===void 0||e.isArray(G))&&($===void 0||e.isBlock($))}}).deprecate({1:l}).finish(),P.updateConstructorDeclaration=e.buildOverload("updateConstructorDeclaration").overload({0:function(u,O,B,G){return ie(u,O,B,G)},1:function(u,O,B,G,$){return ie(u,B,G,$)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4];return $===void 0&&(O===void 0||!e.some(O,e.isDecorator))&&(B===void 0||!e.some(B,e.isModifier))&&(G===void 0||!e.isArray(G))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4];return(O===void 0||!e.some(O,e.isModifier))&&(B===void 0||!e.some(B,e.isParameter))&&(G===void 0||e.isArray(G))&&($===void 0||e.isBlock($))}}).deprecate({1:l}).finish(),P.createGetAccessorDeclaration=e.buildOverload("createGetAccessorDeclaration").overload({0:function(u,O,B,G,$){return te(u,O,B,G,$)},1:function(u,O,B,G,$,me){return te(e.concatenate(u,O),B,G,$,me)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return me===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||e.isArray(B))&&(G===void 0||!e.isArray(G))&&($===void 0||e.isBlock($))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return(O===void 0||e.isArray(O))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.isArray(G))&&($===void 0||e.isTypeNode($))&&(me===void 0||e.isBlock(me))}}).deprecate({1:i}).finish(),P.updateGetAccessorDeclaration=e.buildOverload("updateGetAccessorDeclaration").overload({0:function(u,O,B,G,$,me){return x(u,O,B,G,$,me)},1:function(u,O,B,G,$,me,ae){return x(u,e.concatenate(O,B),G,$,me,ae)}}).bind({0:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6];return me===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||e.isArray(B))&&(G===void 0||!e.isArray(G))&&($===void 0||e.isBlock($))},1:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6];return(O===void 0||e.isArray(O))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.isArray(G))&&($===void 0||e.isTypeNode($))&&(me===void 0||e.isBlock(me))}}).deprecate({1:i}).finish(),P.createSetAccessorDeclaration=e.buildOverload("createSetAccessorDeclaration").overload({0:function(u,O,B,G){return J(u,O,B,G)},1:function(u,O,B,G,$){return J(e.concatenate(u,O),B,G,$)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4];return $===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||e.isArray(B))&&(G===void 0||!e.isArray(G))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4];return(O===void 0||e.isArray(O))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.isArray(G))&&($===void 0||e.isBlock($))}}).deprecate({1:i}).finish(),P.updateSetAccessorDeclaration=e.buildOverload("updateSetAccessorDeclaration").overload({0:function(u,O,B,G,$){return d(u,O,B,G,$)},1:function(u,O,B,G,$,me){return d(u,e.concatenate(O,B),G,$,me)}}).bind({0:function(u){var O=u[2],B=u[3],G=u[4],$=u[5];return $===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||e.isArray(B))&&(G===void 0||!e.isArray(G))},1:function(u){var O=u[2],B=u[3],G=u[4],$=u[5];return(O===void 0||e.isArray(O))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.isArray(G))&&($===void 0||e.isBlock($))}}).deprecate({1:i}).finish(),P.createIndexSignature=e.buildOverload("createIndexSignature").overload({0:function(u,O,B){return D(u,O,B)},1:function(u,O,B,G){return D(O,B,G)}}).bind({0:function(u){var O=u[0],B=u[1],G=u[2],$=u[3];return $===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||e.every(B,e.isParameter))&&(G===void 0||!e.isArray(G))},1:function(u){var O=u[0],B=u[1],G=u[2],$=u[3];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.every(B,e.isModifier))&&(G===void 0||e.isArray(G))&&($===void 0||e.isTypeNode($))}}).deprecate({1:l}).finish(),P.updateIndexSignature=e.buildOverload("updateIndexSignature").overload({0:function(u,O,B,G){return C(u,O,B,G)},1:function(u,O,B,G,$){return C(u,B,G,$)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4];return $===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||e.every(B,e.isParameter))&&(G===void 0||!e.isArray(G))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.every(B,e.isModifier))&&(G===void 0||e.isArray(G))&&($===void 0||e.isTypeNode($))}}).deprecate({1:l}).finish(),P.createClassStaticBlockDeclaration=e.buildOverload("createClassStaticBlockDeclaration").overload({0:function(u){return k(u)},1:function(u,O,B){return k(B)}}).bind({0:function(u){var O=u[0],B=u[1],G=u[2];return B===void 0&&G===void 0&&(O===void 0||!e.isArray(O))},1:function(u){var O=u[0],B=u[1],G=u[2];return(O===void 0||e.isArray(O))&&(B===void 0||e.isArray(O))&&(G===void 0||e.isBlock(G))}}).deprecate({1:_}).finish(),P.updateClassStaticBlockDeclaration=e.buildOverload("updateClassStaticBlockDeclaration").overload({0:function(u,O){return R(u,O)},1:function(u,O,B,G){return R(u,G)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3];return B===void 0&&G===void 0&&(O===void 0||!e.isArray(O))},1:function(u){var O=u[1],B=u[2],G=u[3];return(O===void 0||e.isArray(O))&&(B===void 0||e.isArray(O))&&(G===void 0||e.isBlock(G))}}).deprecate({1:_}).finish(),P.createClassExpression=e.buildOverload("createClassExpression").overload({0:function(u,O,B,G,$){return M(u,O,B,G,$)},1:function(u,O,B,G,$,me){return M(e.concatenate(u,O),B,G,$,me)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return me===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||e.isArray(B))&&(G===void 0||e.every(G,e.isHeritageClause))&&($===void 0||e.every($,e.isClassElement))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return(O===void 0||e.isArray(O))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.every(G,e.isTypeParameterDeclaration))&&($===void 0||e.every($,e.isHeritageClause))&&(me===void 0||e.isArray(me))}}).deprecate({1:l}).finish(),P.updateClassExpression=e.buildOverload("updateClassExpression").overload({0:function(u,O,B,G,$,me){return ge(u,O,B,G,$,me)},1:function(u,O,B,G,$,me,ae){return ge(u,e.concatenate(O,B),G,$,me,ae)}}).bind({0:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6];return me===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||e.isArray(B))&&(G===void 0||e.every(G,e.isHeritageClause))&&($===void 0||e.every($,e.isClassElement))},1:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6];return(O===void 0||e.isArray(O))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.every(G,e.isTypeParameterDeclaration))&&($===void 0||e.every($,e.isHeritageClause))&&(me===void 0||e.isArray(me))}}).deprecate({1:l}).finish(),P.createFunctionDeclaration=e.buildOverload("createFunctionDeclaration").overload({0:function(u,O,B,G,$,me,ae){return ve(u,O,B,G,$,me,ae)},1:function(u,O,B,G,$,me,ae,Me){return ve(O,B,G,$,me,ae,Me)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5],ae=u[6],Me=u[7];return Me===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||typeof B=="string"||e.isIdentifier(B))&&(G===void 0||e.isArray(G))&&($===void 0||e.every($,e.isParameter))&&(me===void 0||!e.isArray(me))&&(ae===void 0||e.isBlock(ae))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5],ae=u[6],Me=u[7];return(O===void 0||e.isArray(O))&&(B===void 0||typeof B!="string"&&e.isAsteriskToken(B))&&(G===void 0||!e.isArray(G))&&($===void 0||e.every($,e.isTypeParameterDeclaration))&&(me===void 0||e.isArray(me))&&(ae===void 0||e.isTypeNode(ae))&&(Me===void 0||e.isBlock(Me))}}).deprecate({1:l}).finish(),P.updateFunctionDeclaration=e.buildOverload("updateFunctionDeclaration").overload({0:function(u,O,B,G,$,me,ae,Me){return re(u,O,B,G,$,me,ae,Me)},1:function(u,O,B,G,$,me,ae,Me,Oe){return re(u,B,G,$,me,ae,Me,Oe)}}).bind({0:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6],ae=u[7],Me=u[8];return Me===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||e.isIdentifier(B))&&(G===void 0||e.isArray(G))&&($===void 0||e.every($,e.isParameter))&&(me===void 0||!e.isArray(me))&&(ae===void 0||e.isBlock(ae))},1:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6],ae=u[7],Me=u[8];return(O===void 0||e.isArray(O))&&(B===void 0||typeof B!="string"&&e.isAsteriskToken(B))&&(G===void 0||!e.isArray(G))&&($===void 0||e.every($,e.isTypeParameterDeclaration))&&(me===void 0||e.isArray(me))&&(ae===void 0||e.isTypeNode(ae))&&(Me===void 0||e.isBlock(Me))}}).deprecate({1:l}).finish(),P.createClassDeclaration=e.buildOverload("createClassDeclaration").overload({0:function(u,O,B,G,$){return N(u,O,B,G,$)},1:function(u,O,B,G,$,me){return N(e.concatenate(u,O),B,G,$,me)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return me===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||e.isArray(B))&&(G===void 0||e.every(G,e.isHeritageClause))&&($===void 0||e.every($,e.isClassElement))},1:function(){return!0}}).deprecate({1:i}).finish(),P.updateClassDeclaration=e.buildOverload("updateClassDeclaration").overload({0:function(u,O,B,G,$,me){return K(u,O,B,G,$,me)},1:function(u,O,B,G,$,me,ae){return K(u,e.concatenate(O,B),G,$,me,ae)}}).bind({0:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6];return me===void 0&&(O===void 0||!e.isArray(O))&&(B===void 0||e.isArray(B))&&(G===void 0||e.every(G,e.isHeritageClause))&&($===void 0||e.every($,e.isClassElement))},1:function(u){var O=u[2],B=u[3],G=u[4],$=u[5],me=u[6];return(O===void 0||e.isArray(O))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.every(G,e.isTypeParameterDeclaration))&&($===void 0||e.every($,e.isHeritageClause))&&(me===void 0||e.isArray(me))}}).deprecate({1:i}).finish(),P.createInterfaceDeclaration=e.buildOverload("createInterfaceDeclaration").overload({0:function(u,O,B,G,$){return q(u,O,B,G,$)},1:function(u,O,B,G,$,me){return q(O,B,G,$,me)}}).bind({0:function(u){var O=u[0],B=u[1],G=u[2],$=u[3],me=u[4],ae=u[5];return ae===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.isArray(G))&&($===void 0||e.every($,e.isHeritageClause))&&(me===void 0||e.every(me,e.isTypeElement))},1:function(u){var O=u[0],B=u[1],G=u[2],$=u[3],me=u[4],ae=u[5];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&(G===void 0||!e.isArray(G))&&($===void 0||e.every($,e.isTypeParameterDeclaration))&&(me===void 0||e.every(me,e.isHeritageClause))&&(ae===void 0||e.every(ae,e.isTypeElement))}}).deprecate({1:l}).finish(),P.updateInterfaceDeclaration=e.buildOverload("updateInterfaceDeclaration").overload({0:function(u,O,B,G,$,me){return b(u,O,B,G,$,me)},1:function(u,O,B,G,$,me,ae){return b(u,B,G,$,me,ae)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5],ae=u[6];return ae===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.isArray(G))&&($===void 0||e.every($,e.isHeritageClause))&&(me===void 0||e.every(me,e.isTypeElement))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5],ae=u[6];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&(G===void 0||!e.isArray(G))&&($===void 0||e.every($,e.isTypeParameterDeclaration))&&(me===void 0||e.every(me,e.isHeritageClause))&&(ae===void 0||e.every(ae,e.isTypeElement))}}).deprecate({1:l}).finish(),P.createTypeAliasDeclaration=e.buildOverload("createTypeAliasDeclaration").overload({0:function(u,O,B,G){return F(u,O,B,G)},1:function(u,O,B,G,$){return F(O,B,G,$)}}).bind({0:function(u){var O=u[0],B=u[1],G=u[2],$=u[3],me=u[4];return me===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.isArray(G))&&($===void 0||!e.isArray($))},1:function(u){var O=u[0],B=u[1],G=u[2],$=u[3],me=u[4];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&(G===void 0||!e.isArray(G))&&($===void 0||e.isArray($))&&(me===void 0||e.isTypeNode(me))}}).deprecate({1:l}).finish(),P.updateTypeAliasDeclaration=e.buildOverload("updateTypeAliasDeclaration").overload({0:function(u,O,B,G,$){return Q(u,O,B,G,$)},1:function(u,O,B,G,$,me){return Q(u,B,G,$,me)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return me===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.isArray(G))&&($===void 0||!e.isArray($))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&(G===void 0||!e.isArray(G))&&($===void 0||e.isArray($))&&(me===void 0||e.isTypeNode(me))}}).deprecate({1:l}).finish(),P.createEnumDeclaration=e.buildOverload("createEnumDeclaration").overload({0:function(u,O,B){return j(u,O,B)},1:function(u,O,B,G){return j(O,B,G)}}).bind({0:function(u){var O=u[0],B=u[1],G=u[2],$=u[3];return $===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.isArray(G))},1:function(u){var O=u[0],B=u[1],G=u[2],$=u[3];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&(G===void 0||!e.isArray(G))&&($===void 0||e.isArray($))}}).deprecate({1:l}).finish(),P.updateEnumDeclaration=e.buildOverload("updateEnumDeclaration").overload({0:function(u,O,B,G){return I(u,O,B,G)},1:function(u,O,B,G,$){return I(u,B,G,$)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4];return $===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.isArray(G))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&(G===void 0||!e.isArray(G))&&($===void 0||e.isArray($))}}).deprecate({1:l}).finish(),P.createModuleDeclaration=e.buildOverload("createModuleDeclaration").overload({0:function(u,O,B,G){return L(u,O,B,G)},1:function(u,O,B,G,$){return L(O,B,G,$)}}).bind({0:function(u){var O=u[0],B=u[1],G=u[2],$=u[3],me=u[4];return me===void 0&&(O===void 0||e.every(O,e.isModifier))&&B!==void 0&&!e.isArray(B)&&(G===void 0||e.isModuleBody(G))&&($===void 0||typeof $=="number")},1:function(u){var O=u[0],B=u[1],G=u[2],$=u[3],me=u[4];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&G!==void 0&&e.isModuleName(G)&&($===void 0||typeof $=="object")&&(me===void 0||typeof me=="number")}}).deprecate({1:l}).finish(),P.updateModuleDeclaration=e.buildOverload("updateModuleDeclaration").overload({0:function(u,O,B,G){return V(u,O,B,G)},1:function(u,O,B,G,$){return V(u,B,G,$)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4];return $===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.isModuleBody(G))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&G!==void 0&&e.isModuleName(G)&&($===void 0||e.isModuleBody($))}}).deprecate({1:l}).finish(),P.createImportEqualsDeclaration=e.buildOverload("createImportEqualsDeclaration").overload({0:function(u,O,B,G){return ne(u,O,B,G)},1:function(u,O,B,G,$){return ne(O,B,G,$)}}).bind({0:function(u){var O=u[0],B=u[1],G=u[2],$=u[3],me=u[4];return me===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||typeof B=="boolean")&&typeof G!="boolean"&&typeof $!="string"},1:function(u){var O=u[0],B=u[1],G=u[2],$=u[3],me=u[4];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&(G===void 0||typeof G=="boolean")&&(typeof $=="string"||e.isIdentifier($))&&me!==void 0&&e.isModuleReference(me)}}).deprecate({1:l}).finish(),P.updateImportEqualsDeclaration=e.buildOverload("updateImportEqualsDeclaration").overload({0:function(u,O,B,G,$){return se(u,O,B,G,$)},1:function(u,O,B,G,$,me){return se(u,B,G,$,me)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return me===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||typeof B=="boolean")&&typeof G!="boolean"&&typeof $!="string"},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&(G===void 0||typeof G=="boolean")&&(typeof $=="string"||e.isIdentifier($))&&me!==void 0&&e.isModuleReference(me)}}).deprecate({1:l}).finish(),P.createImportDeclaration=e.buildOverload("createImportDeclaration").overload({0:function(u,O,B,G){return De(u,O,B,G)},1:function(u,O,B,G,$){return De(O,B,G,$)}}).bind({0:function(u){var O=u[0],B=u[1],G=u[2],$=u[3],me=u[4];return me===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||!e.isArray(B))&&G!==void 0&&e.isExpression(G)&&($===void 0||e.isAssertClause($))},1:function(u){var O=u[0],B=u[1],G=u[2],$=u[3],me=u[4];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&(G===void 0||e.isImportClause(G))&&$!==void 0&&e.isExpression($)&&(me===void 0||e.isAssertClause(me))}}).deprecate({1:l}).finish(),P.updateImportDeclaration=e.buildOverload("updateImportDeclaration").overload({0:function(u,O,B,G,$){return T(u,O,B,G,$)},1:function(u,O,B,G,$,me){return T(u,B,G,$,me)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return me===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||!e.isArray(B))&&(G===void 0||e.isExpression(G))&&($===void 0||e.isAssertClause($))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&(G===void 0||e.isImportClause(G))&&$!==void 0&&e.isExpression($)&&(me===void 0||e.isAssertClause(me))}}).deprecate({1:l}).finish(),P.createExportAssignment=e.buildOverload("createExportAssignment").overload({0:function(u,O,B){return w(u,O,B)},1:function(u,O,B,G){return w(O,B,G)}}).bind({0:function(u){var O=u[0],B=u[1],G=u[2],$=u[3];return $===void 0&&(O===void 0||e.every(O,e.isModifier))&&(B===void 0||typeof B=="boolean")&&typeof G=="object"},1:function(u){var O=u[0],B=u[1],G=u[2],$=u[3];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&(G===void 0||typeof G=="boolean")&&$!==void 0&&e.isExpression($)}}).deprecate({1:l}).finish(),P.updateExportAssignment=e.buildOverload("updateExportAssignment").overload({0:function(u,O,B){return A(u,O,B)},1:function(u,O,B,G){return A(u,B,G)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3];return G===void 0&&(O===void 0||e.every(O,e.isModifier))&&B!==void 0&&!e.isArray(B)},1:function(u){var O=u[1],B=u[2],G=u[3];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&G!==void 0&&e.isExpression(G)}}).deprecate({1:l}).finish(),P.createExportDeclaration=e.buildOverload("createExportDeclaration").overload({0:function(u,O,B,G,$){return oe(u,O,B,G,$)},1:function(u,O,B,G,$,me){return oe(O,B,G,$,me)}}).bind({0:function(u){var O=u[0],B=u[1],G=u[2],$=u[3],me=u[4],ae=u[5];return ae===void 0&&(O===void 0||e.every(O,e.isModifier))&&typeof B=="boolean"&&typeof G!="boolean"&&($===void 0||e.isExpression($))&&(me===void 0||e.isAssertClause(me))},1:function(u){var O=u[0],B=u[1],G=u[2],$=u[3],me=u[4],ae=u[5];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&typeof G=="boolean"&&($===void 0||e.isNamedExportBindings($))&&(me===void 0||e.isExpression(me))&&(ae===void 0||e.isAssertClause(ae))}}).deprecate({1:l}).finish(),P.updateExportDeclaration=e.buildOverload("updateExportDeclaration").overload({0:function(u,O,B,G,$,me){return W(u,O,B,G,$,me)},1:function(u,O,B,G,$,me,ae){return W(u,B,G,$,me,ae)}}).bind({0:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5],ae=u[6];return ae===void 0&&(O===void 0||e.every(O,e.isModifier))&&typeof B=="boolean"&&typeof G!="boolean"&&($===void 0||e.isExpression($))&&(me===void 0||e.isAssertClause(me))},1:function(u){var O=u[1],B=u[2],G=u[3],$=u[4],me=u[5],ae=u[6];return(O===void 0||e.every(O,e.isDecorator))&&(B===void 0||e.isArray(B))&&typeof G=="boolean"&&($===void 0||e.isNamedExportBindings($))&&(me===void 0||e.isExpression(me))&&(ae===void 0||e.isAssertClause(ae))}}).deprecate({1:l}).finish()}var p=e.createNodeFactory;e.createNodeFactory=function(P,z){var U=p(P,z);return h(U),U},h(e.factory)})(fr||(fr={}));var fr;(function(e){typeof console<"u"&&(e.Debug.loggingHost={log:function(i,l){switch(i){case e.LogLevel.Error:return console.error(l);case e.LogLevel.Warning:return console.warn(l);case e.LogLevel.Info:return console.log(l);case e.LogLevel.Verbose:return console.log(l)}}})})(fr||(fr={}))});var Hx=(e,i=[],l=[],_=null)=>{let h=_||{};for(let p in e)if(typeof e[p]=="object"&&e[p]!==null)Hx(e[p],[...i,p],[...l,Object.prototype.hasOwnProperty.call(e[p],"index")?e[p].index:p],h);else{let P="/"+i.join("/"),z="/"+l.join("/");p==="index"?(h[P]=z,P+="/"+p,z+="/"+p,h[P]=z):(P+="/"+p,z+="/"+e[p],h[P]=z)}return h};import{notStrictEqual as lJ,strictEqual as fJ}from"assert";var jB={right:qB,center:HB},UB=0,M2=1,zB=2,L2=3,Gx=class{constructor(i){var l;this.width=i.width,this.wrap=(l=i.wrap)!==null&&l!==void 0?l:!0,this.rows=[]}span(...i){let l=this.div(...i);l.span=!0}resetOutput(){this.rows=[]}div(...i){if(i.length===0&&this.div(""),this.wrap&&this.shouldApplyLayoutDSL(...i)&&typeof i[0]=="string")return this.applyLayoutDSL(i[0]);let l=i.map(_=>typeof _=="string"?this.colFromString(_):_);return this.rows.push(l),l}shouldApplyLayoutDSL(...i){return i.length===1&&typeof i[0]=="string"&&/[\t\n]/.test(i[0])}applyLayoutDSL(i){let l=i.split(` +`).map(h=>h.split(" ")),_=0;return l.forEach(h=>{h.length>1&&od.stringWidth(h[0])>_&&(_=Math.min(Math.floor(this.width*.5),od.stringWidth(h[0])))}),l.forEach(h=>{this.div(...h.map((p,P)=>({text:p.trim(),padding:this.measurePadding(p),width:P===0&&h.length>1?_:void 0})))}),this.rows[this.rows.length-1]}colFromString(i){return{text:i,padding:this.measurePadding(i)}}measurePadding(i){let l=od.stripAnsi(i);return[0,l.match(/\s*$/)[0].length,0,l.match(/^\s*/)[0].length]}toString(){let i=[];return this.rows.forEach(l=>{this.rowToString(l,i)}),i.filter(l=>!l.hidden).map(l=>l.text).join(` +`)}rowToString(i,l){return this.rasterize(i).forEach((_,h)=>{let p="";_.forEach((P,z)=>{let{width:U}=i[z],g=this.negatePadding(i[z]),v=P;if(g>od.stringWidth(P)&&(v+=" ".repeat(g-od.stringWidth(P))),i[z].align&&i[z].align!=="left"&&this.wrap){let ce=jB[i[z].align];v=ce(v,g),od.stringWidth(v)0&&(p=this.renderInline(p,l[l.length-1]))}),l.push({text:p.replace(/ +$/,""),span:i.span})}),l}renderInline(i,l){let _=i.match(/^ */),h=_?_[0].length:0,p=l.text,P=od.stringWidth(p.trimRight());return l.span?this.wrap?h{p.width=_[P],this.wrap?h=od.wrap(p.text,this.negatePadding(p),{hard:!0}).split(` +`):h=p.text.split(` +`),p.border&&(h.unshift("."+"-".repeat(this.negatePadding(p)+2)+"."),h.push("'"+"-".repeat(this.negatePadding(p)+2)+"'")),p.padding&&(h.unshift(...new Array(p.padding[UB]||0).fill("")),h.push(...new Array(p.padding[zB]||0).fill(""))),h.forEach((z,U)=>{l[U]||l.push([]);let g=l[U];for(let v=0;vP.width||od.stringWidth(P.text));let l=i.length,_=this.width,h=i.map(P=>{if(P.width)return l--,_-=P.width,P.width}),p=l?Math.floor(_/l):0;return h.map((P,z)=>P===void 0?Math.max(p,WB(i[z])):P)}};function J4(e,i,l){return e.border?/[.']-+[.']/.test(i)?"":i.trim().length!==0?l:" ":""}function WB(e){let i=e.padding||[],l=1+(i[L2]||0)+(i[M2]||0);return e.border?l+4:l}function VB(){return typeof process=="object"&&process.stdout&&process.stdout.columns?process.stdout.columns:80}function qB(e,i){e=e.trim();let l=od.stringWidth(e);return l=i?e:" ".repeat(i-l>>1)+e}var od;function j4(e,i){return od=i,new Gx({width:(e==null?void 0:e.width)||VB(),wrap:e==null?void 0:e.wrap})}var U4=new RegExp("\x1B(?:\\[(?:\\d+[ABCDEFGJKSTm]|\\d+;\\d+[Hfm]|\\d+;\\d+;\\d+m|6n|s|u|\\?25[lh])|\\w)","g");function Kx(e){return e.replace(U4,"")}function z4(e,i){let[l,_]=e.match(U4)||["",""];e=Kx(e);let h="";for(let p=0;p[...i].length,stripAnsi:Kx,wrap:z4})}import{dirname as W4,resolve as V4}from"path";import{readdirSync as GB,statSync as KB}from"fs";function q4(e,i){let l=V4(".",e),_;for(KB(l).isDirectory()||(l=W4(l));;){if(_=i(l,GB(l)),_)return V4(l,_);if(l=W4(_=l),_===l)break}}import{inspect as _J}from"util";import{readFileSync as dJ}from"fs";import{fileURLToPath as pJ}from"url";import{format as XB}from"util";import{normalize as YB,resolve as ZB}from"path";function Fv(e){if(e!==e.toLowerCase()&&e!==e.toUpperCase()||(e=e.toLowerCase()),e.indexOf("-")===-1&&e.indexOf("_")===-1)return e;{let l="",_=!1,h=e.match(/^-+/);for(let p=h?h[0].length:0;p0?_+=`${i}${l.charAt(h)}`:_+=P}return _}function B2(e){return e==null?!1:typeof e=="number"||/^0x[0-9a-f]+$/i.test(e)?!0:/^0[^.]/.test(e)?!1:/^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(e)}function H4(e){if(Array.isArray(e))return e.map(P=>typeof P!="string"?P+"":P);e=e.trim();let i=0,l=null,_=null,h=null,p=[];for(let P=0;P{typeof Me=="number"&&(x.nargs[ae]=Me,x.keys.push(ae))}),typeof _.coerce=="object"&&Object.entries(_.coerce).forEach(([ae,Me])=>{typeof Me=="function"&&(x.coercions[ae]=Me,x.keys.push(ae))}),typeof _.config<"u"&&(Array.isArray(_.config)||typeof _.config=="string"?[].concat(_.config).filter(Boolean).forEach(function(ae){x.configs[ae]=!0}):typeof _.config=="object"&&Object.entries(_.config).forEach(([ae,Me])=>{(typeof Me=="boolean"||typeof Me=="function")&&(x.configs[ae]=Me)})),De(_.key,P,_.default,x.arrays),Object.keys(U).forEach(function(ae){(x.aliases[ae]||[]).forEach(function(Me){U[Me]=U[ae]})});let D=null;me();let C=[],k=Object.assign(Object.create(null),{_:[]}),R={};for(let ae=0;ae=3&&(T(ze[1],x.arrays)?ae=ve(ae,ze[1],h,ze[2]):T(ze[1],x.nargs)!==!1?ae=ge(ae,ze[1],h,ze[2]):re(ze[1],ze[2],!0));else if(Me.match(d)&&z["boolean-negation"])ze=Me.match(d),ze!==null&&Array.isArray(ze)&&ze.length>=2&&(Se=ze[1],re(Se,T(Se,x.arrays)?[!1]:!1));else if(Me.match(/^--.+/)||!z["short-option-groups"]&&Me.match(/^-[^-]+/))ze=Me.match(/^--?(.+)/),ze!==null&&Array.isArray(ze)&&ze.length>=2&&(Se=ze[1],T(Se,x.arrays)?ae=ve(ae,Se,h):T(Se,x.nargs)!==!1?ae=ge(ae,Se,h):(Ee=h[ae+1],Ee!==void 0&&(!Ee.match(/^-/)||Ee.match(J))&&!T(Se,x.bools)&&!T(Se,x.counts)||/^(true|false)$/.test(Ee)?(re(Se,Ee),ae++):re(Se,O(Se))));else if(Me.match(/^-.\..+=/))ze=Me.match(/^-([^=]+)=([\s\S]*)$/),ze!==null&&Array.isArray(ze)&&ze.length>=3&&re(ze[1],ze[2]);else if(Me.match(/^-.\..+/)&&!Me.match(J))Ee=h[ae+1],ze=Me.match(/^-(.\..+)/),ze!==null&&Array.isArray(ze)&&ze.length>=2&&(Se=ze[1],Ee!==void 0&&!Ee.match(/^-/)&&!T(Se,x.bools)&&!T(Se,x.counts)?(re(Se,Ee),ae++):re(Se,O(Se)));else if(Me.match(/^-[^-]+/)&&!Me.match(J)){Ce=Me.slice(1,-1).split(""),xe=!1;for(let be=0;beae!=="--"&&ae.includes("-")).forEach(ae=>{delete k[ae]}),z["strip-aliased"]&&[].concat(...Object.keys(P).map(ae=>P[ae])).forEach(ae=>{z["camel-case-expansion"]&&ae.includes("-")&&delete k[ae.split(".").map(Me=>Fv(Me)).join(".")],delete k[ae]});function M(ae){let Me=q("_",ae);(typeof Me=="string"||typeof Me=="number")&&k._.push(Me)}function ge(ae,Me,Oe,xe){let Se,Ce=T(Me,x.nargs);if(Ce=typeof Ce!="number"||isNaN(Ce)?1:Ce,Ce===0)return $(xe)||(D=Error(te("Argument unexpected for: %s",Me))),re(Me,O(Me)),ae;let ze=$(xe)?0:1;if(z["nargs-eats-options"])Oe.length-(ae+1)+ze0&&(re(Me,xe),Ee--),Se=ae+1;Se0||ze&&typeof ze=="number"&&Se.length>=ze||(Ce=Oe[Ee],/^-/.test(Ce)&&!J.test(Ce)&&!W(Ce)));Ee++)ae=Ee,Se.push(K(Me,Ce,p))}return typeof ze=="number"&&(ze&&Se.length1&&z["dot-notation"]&&(x.aliases[Se[0]]||[]).forEach(function(Ce){let ze=Ce.split("."),Ee=[].concat(Se);Ee.shift(),ze=ze.concat(Ee),(x.aliases[ae]||[]).includes(ze.join("."))||se(k,ze,xe)}),T(ae,x.normalize)&&!T(ae,x.arrays)&&[ae].concat(x.aliases[ae]||[]).forEach(function(ze){Object.defineProperty(R,ze,{enumerable:!0,get(){return Me},set(Ee){Me=typeof Ee=="string"?Yg.normalize(Ee):Ee}})})}function N(ae,Me){x.aliases[ae]&&x.aliases[ae].length||(x.aliases[ae]=[Me],Z[Me]=!0),x.aliases[Me]&&x.aliases[Me].length||N(Me,ae)}function K(ae,Me,Oe){Oe&&(Me=QB(Me)),(T(ae,x.bools)||T(ae,x.counts))&&typeof Me=="string"&&(Me=Me==="true");let xe=Array.isArray(Me)?Me.map(function(Se){return q(ae,Se)}):q(ae,Me);return T(ae,x.counts)&&($(xe)||typeof xe=="boolean")&&(xe=Qx()),T(ae,x.normalize)&&T(ae,x.arrays)&&(Array.isArray(Me)?xe=Me.map(Se=>Yg.normalize(Se)):xe=Yg.normalize(Me)),xe}function q(ae,Me){return!z["parse-positional-numbers"]&&ae==="_"||!T(ae,x.strings)&&!T(ae,x.bools)&&!Array.isArray(Me)&&(B2(Me)&&z["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${Me}`)))||!$(Me)&&T(ae,x.numbers))&&(Me=Number(Me)),Me}function b(ae){let Me=Object.create(null);V(Me,x.aliases,U),Object.keys(x.configs).forEach(function(Oe){let xe=ae[Oe]||Me[Oe];if(xe)try{let Se=null,Ce=Yg.resolve(Yg.cwd(),xe),ze=x.configs[Oe];if(typeof ze=="function"){try{Se=ze(Ce)}catch(Ee){Se=Ee}if(Se instanceof Error){D=Se;return}}else Se=Yg.require(Ce);F(Se)}catch(Se){Se.name==="PermissionDenied"?D=Se:ae[Oe]&&(D=Error(te("Invalid JSON config file: %s",xe)))}})}function F(ae,Me){Object.keys(ae).forEach(function(Oe){let xe=ae[Oe],Se=Me?Me+"."+Oe:Oe;typeof xe=="object"&&xe!==null&&!Array.isArray(xe)&&z["dot-notation"]?F(xe,Se):(!ne(k,Se.split("."))||T(Se,x.arrays)&&z["combine-arrays"])&&re(Se,xe)})}function Q(){typeof g<"u"&&g.forEach(function(ae){F(ae)})}function j(ae,Me){if(typeof v>"u")return;let Oe=typeof v=="string"?v:"",xe=Yg.env();Object.keys(xe).forEach(function(Se){if(Oe===""||Se.lastIndexOf(Oe,0)===0){let Ce=Se.split("__").map(function(ze,Ee){return Ee===0&&(ze=ze.substring(Oe.length)),Fv(ze)});(Me&&x.configs[Ce.join(".")]||!Me)&&!ne(ae,Ce)&&re(Ce.join("."),xe[Se])}})}function I(ae){let Me,Oe=new Set;Object.keys(ae).forEach(function(xe){if(!Oe.has(xe)&&(Me=T(xe,x.coercions),typeof Me=="function"))try{let Se=q(xe,Me(ae[xe]));[].concat(x.aliases[xe]||[],xe).forEach(Ce=>{Oe.add(Ce),ae[Ce]=Se})}catch(Se){D=Se}})}function L(ae){return x.keys.forEach(Me=>{~Me.indexOf(".")||typeof ae[Me]>"u"&&(ae[Me]=void 0)}),ae}function V(ae,Me,Oe,xe=!1){Object.keys(Oe).forEach(function(Se){ne(ae,Se.split("."))||(se(ae,Se.split("."),Oe[Se]),xe&&(ie[Se]=!0),(Me[Se]||[]).forEach(function(Ce){ne(ae,Ce.split("."))||se(ae,Ce.split("."),Oe[Se])}))})}function ne(ae,Me){let Oe=ae;z["dot-notation"]||(Me=[Me.join(".")]),Me.slice(0,-1).forEach(function(Se){Oe=Oe[Se]||{}});let xe=Me[Me.length-1];return typeof Oe!="object"?!1:xe in Oe}function se(ae,Me,Oe){let xe=ae;z["dot-notation"]||(Me=[Me.join(".")]),Me.slice(0,-1).forEach(function(Le){Le=G4(Le),typeof xe=="object"&&xe[Le]===void 0&&(xe[Le]={}),typeof xe[Le]!="object"||Array.isArray(xe[Le])?(Array.isArray(xe[Le])?xe[Le].push({}):xe[Le]=[xe[Le],{}],xe=xe[Le][xe[Le].length-1]):xe=xe[Le]});let Se=G4(Me[Me.length-1]),Ce=T(Me.join("."),x.arrays),ze=Array.isArray(Oe),Ee=z["duplicate-arguments-array"];!Ee&&T(Se,x.nargs)&&(Ee=!0,(!$(xe[Se])&&x.nargs[Se]===1||Array.isArray(xe[Se])&&xe[Se].length===x.nargs[Se])&&(xe[Se]=void 0)),Oe===Qx()?xe[Se]=Qx(xe[Se]):Array.isArray(xe[Se])?Ee&&Ce&&ze?xe[Se]=z["flatten-duplicate-arrays"]?xe[Se].concat(Oe):(Array.isArray(xe[Se][0])?xe[Se]:[xe[Se]]).concat([Oe]):!Ee&&!!Ce==!!ze?xe[Se]=Oe:xe[Se]=xe[Se].concat([Oe]):xe[Se]===void 0&&Ce?xe[Se]=ze?Oe:[Oe]:Ee&&!(xe[Se]===void 0||T(Se,x.counts)||T(Se,x.bools))?xe[Se]=[xe[Se],Oe]:xe[Se]=Oe}function De(...ae){ae.forEach(function(Me){Object.keys(Me||{}).forEach(function(Oe){x.aliases[Oe]||(x.aliases[Oe]=[].concat(P[Oe]||[]),x.aliases[Oe].concat(Oe).forEach(function(xe){if(/-/.test(xe)&&z["camel-case-expansion"]){let Se=Fv(xe);Se!==Oe&&x.aliases[Oe].indexOf(Se)===-1&&(x.aliases[Oe].push(Se),Z[Se]=!0)}}),x.aliases[Oe].concat(Oe).forEach(function(xe){if(xe.length>1&&/[A-Z]/.test(xe)&&z["camel-case-expansion"]){let Se=R2(xe,"-");Se!==Oe&&x.aliases[Oe].indexOf(Se)===-1&&(x.aliases[Oe].push(Se),Z[Se]=!0)}}),x.aliases[Oe].forEach(function(xe){x.aliases[xe]=[Oe].concat(x.aliases[Oe].filter(function(Se){return xe!==Se}))}))})})}function T(ae,Me){let Oe=[].concat(x.aliases[ae]||[],ae),xe=Object.keys(Me),Se=Oe.find(Ce=>xe.includes(Ce));return Se?Me[Se]:!1}function w(ae){let Me=Object.keys(x);return[].concat(Me.map(xe=>x[xe])).some(function(xe){return Array.isArray(xe)?xe.includes(ae):xe[ae]})}function A(ae,...Me){return[].concat(...Me).some(function(xe){let Se=ae.match(xe);return Se&&w(Se[1])})}function oe(ae){if(ae.match(J)||!ae.match(/^-[^-]+/))return!1;let Me=!0,Oe,xe=ae.slice(1).split("");for(let Se=0;SeT(ae,x.arrays)?(D=Error(te("Invalid configuration: %s, opts.count excludes opts.array.",ae)),!0):T(ae,x.nargs)?(D=Error(te("Invalid configuration: %s, opts.count excludes opts.narg.",ae)),!0):!1)}return{aliases:Object.assign({},x.aliases),argv:Object.assign(R,k),configuration:z,defaulted:Object.assign({},ie),error:D,newAliases:Object.assign({},Z)}}};function $B(e){let i=[],l=Object.create(null),_=!0;for(Object.keys(e).forEach(function(h){i.push([].concat(e[h],h))});_;){_=!1;for(let h=0;hrJ,format:XB,normalize:YB,resolve:ZB,require:e=>{if(typeof Ro<"u")return Ro(e);if(e.match(/\.json$/))return JSON.parse(eJ(e,"utf8"));throw Error("only .json config files are supported in ESM")}}),y0=function(i,l){return Q4.parse(i.slice(),l).argv};y0.detailed=function(e,i){return Q4.parse(e.slice(),i)};y0.camelCase=Fv;y0.decamelize=R2;y0.looksLikeNumber=B2;var eC=y0;import{basename as gJ,dirname as mJ,extname as vJ,relative as hJ,resolve as nN}from"path";function X4(){return nJ()?0:1}function nJ(){return iJ()&&!process.defaultApp}function iJ(){return!!process.versions.electron}function rC(e){return e.slice(X4()+1)}function Y4(){return process.argv[X4()]}var Bc=class extends Error{constructor(i){super(i||"yargs error"),this.name="YError",Error.captureStackTrace&&Error.captureStackTrace(this,Bc)}};import{readFileSync as tJ,statSync as aJ,writeFile as oJ}from"fs";import{format as sJ}from"util";import{resolve as cJ}from"path";var Z4={fs:{readFileSync:tJ,writeFile:oJ},format:sJ,resolve:cJ,exists:e=>{try{return aJ(e).isFile()}catch{return!1}}};var Vp,nC=class{constructor(i){i=i||{},this.directory=i.directory||"./locales",this.updateFiles=typeof i.updateFiles=="boolean"?i.updateFiles:!0,this.locale=i.locale||"en",this.fallbackToLanguage=typeof i.fallbackToLanguage=="boolean"?i.fallbackToLanguage:!0,this.cache=Object.create(null),this.writeQueue=[]}__(...i){if(typeof arguments[0]!="string")return this._taggedLiteral(arguments[0],...arguments);let l=i.shift(),_=function(){};return typeof i[i.length-1]=="function"&&(_=i.pop()),_=_||function(){},this.cache[this.locale]||this._readLocaleFile(),!this.cache[this.locale][l]&&this.updateFiles?(this.cache[this.locale][l]=l,this._enqueueWrite({directory:this.directory,locale:this.locale,cb:_})):_(),Vp.format.apply(Vp.format,[this.cache[this.locale][l]||l].concat(i))}__n(){let i=Array.prototype.slice.call(arguments),l=i.shift(),_=i.shift(),h=i.shift(),p=function(){};typeof i[i.length-1]=="function"&&(p=i.pop()),this.cache[this.locale]||this._readLocaleFile();let P=h===1?l:_;this.cache[this.locale][l]&&(P=this.cache[this.locale][l][h===1?"one":"other"]),!this.cache[this.locale][l]&&this.updateFiles?(this.cache[this.locale][l]={one:l,other:_},this._enqueueWrite({directory:this.directory,locale:this.locale,cb:p})):p();let z=[P];return~P.indexOf("%d")&&z.push(h),Vp.format.apply(Vp.format,z.concat(i))}setLocale(i){this.locale=i}getLocale(){return this.locale}updateLocale(i){this.cache[this.locale]||this._readLocaleFile();for(let l in i)Object.prototype.hasOwnProperty.call(i,l)&&(this.cache[this.locale][l]=i[l])}_taggedLiteral(i,...l){let _="";return i.forEach(function(h,p){let P=l[p+1];_+=h,typeof P<"u"&&(_+="%s")}),this.__.apply(this,[_].concat([].slice.call(l,1)))}_enqueueWrite(i){this.writeQueue.push(i),this.writeQueue.length===1&&this._processWriteQueue()}_processWriteQueue(){let i=this,l=this.writeQueue[0],_=l.directory,h=l.locale,p=l.cb,P=this._resolveLocaleFile(_,h),z=JSON.stringify(this.cache[h],null,2);Vp.fs.writeFile(P,z,"utf-8",function(U){i.writeQueue.shift(),i.writeQueue.length>0&&i._processWriteQueue(),p(U)})}_readLocaleFile(){let i={},l=this._resolveLocaleFile(this.directory,this.locale);try{Vp.fs.readFileSync&&(i=JSON.parse(Vp.fs.readFileSync(l,"utf-8")))}catch(_){if(_ instanceof SyntaxError&&(_.message="syntax error in "+l),_.code==="ENOENT")i={};else throw _}this.cache[this.locale]=i}_resolveLocaleFile(i,l){let _=Vp.resolve(i,"./",l+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(_)&&~l.lastIndexOf("_")){let h=Vp.resolve(i,"./",l.split("_")[0]+".json");this._fileExistsSync(h)&&(_=h)}return _}_fileExistsSync(i){return Vp.exists(i)}};function eN(e,i){Vp=i;let l=new nC(e);return{__:l.__.bind(l),__n:l.__n.bind(l),setLocale:l.setLocale.bind(l),getLocale:l.getLocale.bind(l),updateLocale:l.updateLocale.bind(l),locale:l.locale}}var uJ=e=>eN(e,Z4),rN=uJ;var yJ="require is not supported by ESM",iN="loading a directory of commands is not supported yet for ESM",D0;try{D0=pJ(import.meta.url)}catch{D0=process.cwd()}var DJ=D0.substring(0,D0.lastIndexOf("node_modules")),iC={assert:{notStrictEqual:lJ,strictEqual:fJ},cliui:$x,findUp:q4,getEnv:e=>process.env[e],inspect:_J,getCallerFile:()=>{throw new Bc(iN)},getProcessArgvBin:Y4,mainFilename:DJ||process.cwd(),Parser:eC,path:{basename:gJ,dirname:mJ,extname:vJ,relative:hJ,resolve:nN},process:{argv:()=>process.argv,cwd:process.cwd,emitWarning:(e,i)=>process.emitWarning(e,i),execPath:()=>process.execPath,exit:process.exit,nextTick:process.nextTick,stdColumns:typeof process.stdout.columns<"u"?process.stdout.columns:null},readFileSync:dJ,require:()=>{throw new Bc(yJ)},requireDirectory:()=>{throw new Bc(iN)},stringWidth:e=>[...e].length,y18n:rN({directory:nN(D0,"../../../locales"),updateFiles:!1})};function r_(e,i,l,_){l.assert.notStrictEqual(e,i,_)}function tC(e,i){i.assert.strictEqual(typeof e,"string")}function Jh(e){return Object.keys(e)}function iu(e){return!!e&&!!e.then&&typeof e.then=="function"}function jm(e){let l=e.replace(/\s{2,}/g," ").split(/\s+(?![^[]*]|[^<]*>)/),_=/\.*[\][<>]/g,h=l.shift();if(!h)throw new Error(`No command found in: ${e}`);let p={cmd:h.replace(_,""),demanded:[],optional:[]};return l.forEach((P,z)=>{let U=!1;P=P.replace(/\s/g,""),/\.+[\]>]/.test(P)&&z===l.length-1&&(U=!0),/^\[/.test(P)?p.optional.push({cmd:P.replace(_,"").split("|"),variadic:U}):p.demanded.push({cmd:P.replace(_,"").split("|"),variadic:U})}),p}var bJ=["first","second","third","fourth","fifth","sixth"];function no(e,i,l){function _(){return typeof e=="object"?[{demanded:[],optional:[]},e,i]:[jm(`cmd ${e}`),i,l]}try{let h=0,[p,P,z]=_(),U=[].slice.call(P);for(;U.length&&U[U.length-1]===void 0;)U.pop();let g=z||U.length;if(gv)throw new Bc(`Too many arguments provided. Expected max ${v} but received ${g}.`);p.demanded.forEach(Y=>{let ce=U.shift(),Z=tN(ce);Y.cmd.filter(te=>te===Z||te==="*").length===0&&aN(Z,Y.cmd,h),h+=1}),p.optional.forEach(Y=>{if(U.length===0)return;let ce=U.shift(),Z=tN(ce);Y.cmd.filter(te=>te===Z||te==="*").length===0&&aN(Z,Y.cmd,h),h+=1})}catch(h){console.warn(h.stack)}}function tN(e){return Array.isArray(e)?"array":e===null?"null":typeof e}function aN(e,i,l){throw new Bc(`Invalid ${bJ[l]||"manyith"} argument. Expected ${i.join(" or ")} but received ${e}.`)}var j2=class{constructor(i){this.globalMiddleware=[],this.frozens=[],this.yargs=i}addMiddleware(i,l,_=!0,h=!1){if(no(" [boolean] [boolean] [boolean]",[i,l,_],arguments.length),Array.isArray(i)){for(let p=0;p{let p=[..._[l]||[],l];return h.option?!p.includes(h.option):!0}),i.option=l,this.addMiddleware(i,!0,!0,!0)}getMiddleware(){return this.globalMiddleware}freeze(){this.frozens.push([...this.globalMiddleware])}unfreeze(){let i=this.frozens.pop();i!==void 0&&(this.globalMiddleware=i)}reset(){this.globalMiddleware=this.globalMiddleware.filter(i=>i.global)}};function oN(e){return e?e.map(i=>(i.applyBeforeValidation=!1,i)):[]}function Mv(e,i,l,_){return l.reduce((h,p)=>{if(p.applyBeforeValidation!==_)return h;if(p.mutates){if(p.applied)return h;p.applied=!0}if(iu(h))return h.then(P=>Promise.all([P,p(P,i)])).then(([P,z])=>Object.assign(P,z));{let P=p(h,i);return iu(P)?P.then(z=>Object.assign(h,z)):Object.assign(h,P)}},e)}function Lv(e,i,l=_=>{throw _}){try{let _=SJ(e)?e():e;return iu(_)?_.then(h=>i(h)):i(_)}catch(_){return l(_)}}function SJ(e){return typeof e=="function"}function aC(e){if(typeof Ro>"u")return null;for(let i=0,l=Object.keys(Ro.cache),_;iP;h.visit=(P,z,U)=>{let g=p(P,z,U);if(g){if(this.requireCache.has(z))return g;this.requireCache.add(z),this.addHandler(g)}return g},this.shim.requireDirectory({require:l,filename:_},i,h)}addHandler(i,l,_,h,p,P){let z=[],U=oN(p);if(h=h||(()=>{}),Array.isArray(i))if(xJ(i))[i,...z]=i;else for(let g of i)this.addHandler(g);else if(EJ(i)){let g=Array.isArray(i.command)||typeof i.command=="string"?i.command:this.moduleName(i);i.aliases&&(g=[].concat(g).concat(i.aliases)),this.addHandler(g,this.extractDesc(i),i.builder,i.handler,i.middlewares,i.deprecated);return}else if(sN(_)){this.addHandler([i].concat(z),l,_.builder,_.handler,_.middlewares,_.deprecated);return}if(typeof i=="string"){let g=jm(i);z=z.map(ce=>jm(ce).cmd);let v=!1,Y=[g.cmd].concat(z).filter(ce=>jh.test(ce)?(v=!0,!1):!0);Y.length===0&&v&&Y.push("$0"),v&&(g.cmd=Y[0],z=Y.slice(1),i=i.replace(jh,g.cmd)),z.forEach(ce=>{this.aliasMap[ce]=g.cmd}),l!==!1&&this.usage.command(i,l,v,z,P),this.handlers[g.cmd]={original:i,description:l,handler:h,builder:_||{},middlewares:U,deprecated:P,demanded:g.demanded,optional:g.optional},v&&(this.defaultCommand=this.handlers[g.cmd])}}getCommandHandlers(){return this.handlers}getCommands(){return Object.keys(this.handlers).concat(Object.keys(this.aliasMap))}hasDefaultCommand(){return!!this.defaultCommand}runCommand(i,l,_,h,p,P){let z=this.handlers[i]||this.handlers[this.aliasMap[i]]||this.defaultCommand,U=l.getInternalMethods().getContext(),g=U.commands.slice(),v=!i;i&&(U.commands.push(i),U.fullCommands.push(z.original));let Y=this.applyBuilderUpdateUsageAndParse(v,z,l,_.aliases,g,h,p,P);return iu(Y)?Y.then(ce=>this.applyMiddlewareAndGetResult(v,z,ce.innerArgv,U,p,ce.aliases,l)):this.applyMiddlewareAndGetResult(v,z,Y.innerArgv,U,p,Y.aliases,l)}applyBuilderUpdateUsageAndParse(i,l,_,h,p,P,z,U){let g=l.builder,v=_;if(U2(g)){_.getInternalMethods().getUsageInstance().freeze();let Y=g(_.getInternalMethods().reset(h),U);if(iu(Y))return Y.then(ce=>(v=uN(ce)?ce:_,this.parseAndUpdateUsage(i,l,v,p,P,z)))}else CJ(g)&&(_.getInternalMethods().getUsageInstance().freeze(),v=_.getInternalMethods().reset(h),Object.keys(l.builder).forEach(Y=>{v.option(Y,g[Y])}));return this.parseAndUpdateUsage(i,l,v,p,P,z)}parseAndUpdateUsage(i,l,_,h,p,P){i&&_.getInternalMethods().getUsageInstance().unfreeze(!0),this.shouldUpdateUsage(_)&&_.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(h,l),l.description);let z=_.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,p,P);return iu(z)?z.then(U=>({aliases:_.parsed.aliases,innerArgv:U})):{aliases:_.parsed.aliases,innerArgv:z}}shouldUpdateUsage(i){return!i.getInternalMethods().getUsageInstance().getUsageDisabled()&&i.getInternalMethods().getUsageInstance().getUsage().length===0}usageFromParentCommandsCommandHandler(i,l){let _=jh.test(l.original)?l.original.replace(jh,"").trim():l.original,h=i.filter(p=>!jh.test(p));return h.push(_),`$0 ${h.join(" ")}`}handleValidationAndGetResult(i,l,_,h,p,P,z,U){if(!P.getInternalMethods().getHasOutput()){let g=P.getInternalMethods().runValidation(p,U,P.parsed.error,i);_=Lv(_,v=>(g(v),v))}if(l.handler&&!P.getInternalMethods().getHasOutput()){P.getInternalMethods().setHasOutput();let g=!!P.getOptions().configuration["populate--"];P.getInternalMethods().postProcess(_,g,!1,!1),_=Mv(_,P,z,!1),_=Lv(_,v=>{let Y=l.handler(v);return iu(Y)?Y.then(()=>v):v}),i||P.getInternalMethods().getUsageInstance().cacheHelpMessage(),iu(_)&&!P.getInternalMethods().hasParseCallback()&&_.catch(v=>{try{P.getInternalMethods().getUsageInstance().fail(null,v)}catch{}})}return i||(h.commands.pop(),h.fullCommands.pop()),_}applyMiddlewareAndGetResult(i,l,_,h,p,P,z){let U={};if(p)return _;z.getInternalMethods().getHasOutput()||(U=this.populatePositionals(l,_,h,z));let g=this.globalMiddleware.getMiddleware().slice(0).concat(l.middlewares),v=Mv(_,z,g,!0);return iu(v)?v.then(Y=>this.handleValidationAndGetResult(i,l,Y,h,P,z,g,U)):this.handleValidationAndGetResult(i,l,v,h,P,z,g,U)}populatePositionals(i,l,_,h){l._=l._.slice(_.commands.length);let p=i.demanded.slice(0),P=i.optional.slice(0),z={};for(this.validation.positionalCount(p.length,l._.length);p.length;){let U=p.shift();this.populatePositional(U,l,z)}for(;P.length;){let U=P.shift();this.populatePositional(U,l,z)}return l._=_.commands.concat(l._.map(U=>""+U)),this.postProcessPositionals(l,z,this.cmdToParseOptions(i.original),h),z}populatePositional(i,l,_){let h=i.cmd[0];i.variadic?_[h]=l._.splice(0).map(String):l._.length&&(_[h]=[String(l._.shift())])}cmdToParseOptions(i){let l={array:[],default:{},alias:{},demand:{}},_=jm(i);return _.demanded.forEach(h=>{let[p,...P]=h.cmd;h.variadic&&(l.array.push(p),l.default[p]=[]),l.alias[p]=P,l.demand[p]=!0}),_.optional.forEach(h=>{let[p,...P]=h.cmd;h.variadic&&(l.array.push(p),l.default[p]=[]),l.alias[p]=P}),l}postProcessPositionals(i,l,_,h){let p=Object.assign({},h.getOptions());p.default=Object.assign(_.default,p.default);for(let g of Object.keys(_.alias))p.alias[g]=(p.alias[g]||[]).concat(_.alias[g]);p.array=p.array.concat(_.array),p.config={};let P=[];if(Object.keys(l).forEach(g=>{l[g].map(v=>{p.configuration["unknown-options-as-args"]&&(p.key[g]=!0),P.push(`--${g}`),P.push(v)})}),!P.length)return;let z=Object.assign({},p.configuration,{"populate--":!1}),U=this.shim.Parser.detailed(P,Object.assign({},p,{configuration:z}));if(U.error)h.getInternalMethods().getUsageInstance().fail(U.error.message,U.error);else{let g=Object.keys(l);Object.keys(l).forEach(v=>{g.push(...U.aliases[v])}),Object.keys(U.argv).forEach(v=>{g.includes(v)&&(l[v]||(l[v]=U.argv[v]),!this.isInConfigs(h,v)&&!this.isDefaulted(h,v)&&Object.prototype.hasOwnProperty.call(i,v)&&Object.prototype.hasOwnProperty.call(U.argv,v)&&(Array.isArray(i[v])||Array.isArray(U.argv[v]))?i[v]=[].concat(i[v],U.argv[v]):i[v]=U.argv[v])})}}isDefaulted(i,l){let{default:_}=i.getOptions();return Object.prototype.hasOwnProperty.call(_,l)||Object.prototype.hasOwnProperty.call(_,this.shim.Parser.camelCase(l))}isInConfigs(i,l){let{configObjects:_}=i.getOptions();return _.some(h=>Object.prototype.hasOwnProperty.call(h,l))||_.some(h=>Object.prototype.hasOwnProperty.call(h,this.shim.Parser.camelCase(l)))}runDefaultBuilderOn(i){if(!this.defaultCommand)return;if(this.shouldUpdateUsage(i)){let _=jh.test(this.defaultCommand.original)?this.defaultCommand.original:this.defaultCommand.original.replace(/^[^[\]<>]*/,"$0 ");i.getInternalMethods().getUsageInstance().usage(_,this.defaultCommand.description)}let l=this.defaultCommand.builder;if(U2(l))return l(i,!0);sN(l)||Object.keys(l).forEach(_=>{i.option(_,l[_])})}moduleName(i){let l=aC(i);if(!l)throw new Error(`No command name given for module: ${this.shim.inspect(i)}`);return this.commandFromFilename(l.filename)}commandFromFilename(i){return this.shim.path.basename(i,this.shim.path.extname(i))}extractDesc({describe:i,description:l,desc:_}){for(let h of[i,l,_]){if(typeof h=="string"||h===!1)return h;r_(h,!0,this.shim)}return!1}freeze(){this.frozens.push({handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand})}unfreeze(){let i=this.frozens.pop();r_(i,void 0,this.shim),{handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand}=i}reset(){return this.handlers={},this.aliasMap={},this.defaultCommand=void 0,this.requireCache=new Set,this}};function cN(e,i,l,_){return new oC(e,i,l,_)}function sN(e){return typeof e=="object"&&!!e.builder&&typeof e.handler=="function"}function xJ(e){return e.every(i=>typeof i=="string")}function U2(e){return typeof e=="function"}function CJ(e){return typeof e=="object"}function EJ(e){return typeof e=="object"&&!Array.isArray(e)}function Um(e={},i=()=>!0){let l={};return Jh(e).forEach(_=>{i(_,e[_])&&(l[_]=e[_])}),l}function zm(e){typeof process>"u"||[process.stdout,process.stderr].forEach(i=>{let l=i;l._handle&&l.isTTY&&typeof l._handle.setBlocking=="function"&&l._handle.setBlocking(e)})}function TJ(e){return typeof e=="boolean"}function fN(e,i){let l=i.y18n.__,_={},h=[];_.failFn=function(K){h.push(K)};let p=null,P=null,z=!0;_.showHelpOnFail=function(K=!0,q){let[b,F]=typeof K=="string"?[!0,K]:[K,q];return e.getInternalMethods().isGlobalContext()&&(P=F),p=F,z=b,_};let U=!1;_.fail=function(K,q){let b=e.getInternalMethods().getLoggerInstance();if(h.length)for(let F=h.length-1;F>=0;--F){let Q=h[F];if(TJ(Q)){if(q)throw q;if(K)throw Error(K)}else Q(K,q,_)}else{if(e.getExitProcess()&&zm(!0),!U){U=!0,z&&(e.showHelp("error"),b.error()),(K||q)&&b.error(K||q);let F=p||P;F&&((K||q)&&b.error(""),b.error(F))}if(q=q||new Bc(K),e.getExitProcess())return e.exit(1);if(e.getInternalMethods().hasParseCallback())return e.exit(1,q);throw q}};let g=[],v=!1;_.usage=(N,K)=>N===null?(v=!0,g=[],_):(v=!1,g.push([N,K||""]),_),_.getUsage=()=>g,_.getUsageDisabled=()=>v,_.getPositionalGroupName=()=>l("Positionals:");let Y=[];_.example=(N,K)=>{Y.push([N,K||""])};let ce=[];_.command=function(K,q,b,F,Q=!1){b&&(ce=ce.map(j=>(j[2]=!1,j))),ce.push([K,q||"",b,F,Q])},_.getCommands=()=>ce;let Z={};_.describe=function(K,q){Array.isArray(K)?K.forEach(b=>{_.describe(b,q)}):typeof K=="object"?Object.keys(K).forEach(b=>{_.describe(b,K[b])}):Z[K]=q},_.getDescriptions=()=>Z;let ie=[];_.epilog=N=>{ie.push(N)};let te=!1,x;_.wrap=N=>{te=!0,x=N},_.getWrap=()=>i.getEnv("YARGS_DISABLE_WRAP")?null:(te||(x=ge(),te=!0),x);let J="__yargsString__:";_.deferY18nLookup=N=>J+N,_.help=function(){if(C)return C;D();let K=e.customScriptName?e.$0:i.path.basename(e.$0),q=e.getDemandedOptions(),b=e.getDemandedCommands(),F=e.getDeprecatedOptions(),Q=e.getGroups(),j=e.getOptions(),I=[];I=I.concat(Object.keys(Z)),I=I.concat(Object.keys(q)),I=I.concat(Object.keys(b)),I=I.concat(Object.keys(j.default)),I=I.filter(R),I=Object.keys(I.reduce((A,oe)=>(oe!=="_"&&(A[oe]=!0),A),{}));let L=_.getWrap(),V=i.cliui({width:L,wrap:!!L});if(!v){if(g.length)g.forEach(A=>{V.div({text:`${A[0].replace(/\$0/g,K)}`}),A[1]&&V.div({text:`${A[1]}`,padding:[1,0,0,0]})}),V.div();else if(ce.length){let A=null;b._?A=`${K} <${l("command")}> +`:A=`${K} [${l("command")}] +`,V.div(`${A}`)}}if(ce.length>1||ce.length===1&&!ce[0][2]){V.div(l("Commands:"));let A=e.getInternalMethods().getContext(),oe=A.commands.length?`${A.commands.join(" ")} `:"";e.getInternalMethods().getParserConfiguration()["sort-commands"]===!0&&(ce=ce.sort((u,O)=>u[0].localeCompare(O[0])));let W=K?`${K} `:"";ce.forEach(u=>{let O=`${W}${oe}${u[0].replace(/^\$0 ?/,"")}`;V.span({text:O,padding:[0,2,0,2],width:d(ce,L,`${K}${oe}`)+4},{text:u[1]});let B=[];u[2]&&B.push(`[${l("default")}]`),u[3]&&u[3].length&&B.push(`[${l("aliases:")} ${u[3].join(", ")}]`),u[4]&&(typeof u[4]=="string"?B.push(`[${l("deprecated: %s",u[4])}]`):B.push(`[${l("deprecated")}]`)),B.length?V.div({text:B.join(" "),padding:[0,0,0,2],align:"right"}):V.div()}),V.div()}let ne=(Object.keys(j.alias)||[]).concat(Object.keys(e.parsed.newAliases)||[]);I=I.filter(A=>!e.parsed.newAliases[A]&&ne.every(oe=>(j.alias[oe]||[]).indexOf(A)===-1));let se=l("Options:");Q[se]||(Q[se]=[]),k(I,j.alias,Q,se);let De=A=>/^--/.test(z2(A)),T=Object.keys(Q).filter(A=>Q[A].length>0).map(A=>{let oe=Q[A].filter(R).map(W=>{if(ne.includes(W))return W;for(let u=0,O;(O=ne[u])!==void 0;u++)if((j.alias[O]||[]).includes(W))return O;return W});return{groupName:A,normalizedKeys:oe}}).filter(({normalizedKeys:A})=>A.length>0).map(({groupName:A,normalizedKeys:oe})=>{let W=oe.reduce((u,O)=>(u[O]=[O].concat(j.alias[O]||[]).map(B=>A===_.getPositionalGroupName()?B:(/^[0-9]$/.test(B)?j.boolean.includes(O)?"-":"--":B.length>1?"--":"-")+B).sort((B,G)=>De(B)===De(G)?0:De(B)?1:-1).join(", "),u),{});return{groupName:A,normalizedKeys:oe,switches:W}});if(T.filter(({groupName:A})=>A!==_.getPositionalGroupName()).some(({normalizedKeys:A,switches:oe})=>!A.every(W=>De(oe[W])))&&T.filter(({groupName:A})=>A!==_.getPositionalGroupName()).forEach(({normalizedKeys:A,switches:oe})=>{A.forEach(W=>{De(oe[W])&&(oe[W]=kJ(oe[W],4))})}),T.forEach(({groupName:A,normalizedKeys:oe,switches:W})=>{V.div(A),oe.forEach(u=>{let O=W[u],B=Z[u]||"",G=null;B.includes(J)&&(B=l(B.substring(J.length))),j.boolean.includes(u)&&(G=`[${l("boolean")}]`),j.count.includes(u)&&(G=`[${l("count")}]`),j.string.includes(u)&&(G=`[${l("string")}]`),j.normalize.includes(u)&&(G=`[${l("string")}]`),j.array.includes(u)&&(G=`[${l("array")}]`),j.number.includes(u)&&(G=`[${l("number")}]`);let $=Me=>typeof Me=="string"?`[${l("deprecated: %s",Me)}]`:`[${l("deprecated")}]`,me=[u in F?$(F[u]):null,G,u in q?`[${l("required")}]`:null,j.choices&&j.choices[u]?`[${l("choices:")} ${_.stringifiedValues(j.choices[u])}]`:null,M(j.default[u],j.defaultDescription[u])].filter(Boolean).join(" ");V.span({text:z2(O),padding:[0,2,0,2+lN(O)],width:d(W,L)+4},B);let ae=e.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;me&&!ae?V.div({text:me,padding:[0,0,0,2],align:"right"}):V.div()}),V.div()}),Y.length&&(V.div(l("Examples:")),Y.forEach(A=>{A[0]=A[0].replace(/\$0/g,K)}),Y.forEach(A=>{A[1]===""?V.div({text:A[0],padding:[0,2,0,2]}):V.div({text:A[0],padding:[0,2,0,2],width:d(Y,L)+4},{text:A[1]})}),V.div()),ie.length>0){let A=ie.map(oe=>oe.replace(/\$0/g,K)).join(` +`);V.div(`${A} +`)}return V.toString().replace(/\s*$/,"")};function d(N,K,q){let b=0;return Array.isArray(N)||(N=Object.values(N).map(F=>[F])),N.forEach(F=>{b=Math.max(i.stringWidth(q?`${q} ${z2(F[0])}`:z2(F[0]))+lN(F[0]),b)}),K&&(b=Math.min(b,parseInt((K*.5).toString(),10))),b}function D(){let N=e.getDemandedOptions(),K=e.getOptions();(Object.keys(K.alias)||[]).forEach(q=>{K.alias[q].forEach(b=>{Z[b]&&_.describe(q,Z[b]),b in N&&e.demandOption(q,N[b]),K.boolean.includes(b)&&e.boolean(q),K.count.includes(b)&&e.count(q),K.string.includes(b)&&e.string(q),K.normalize.includes(b)&&e.normalize(q),K.array.includes(b)&&e.array(q),K.number.includes(b)&&e.number(q)})})}let C;_.cacheHelpMessage=function(){C=this.help()},_.clearCachedHelpMessage=function(){C=void 0},_.hasCachedHelpMessage=function(){return!!C};function k(N,K,q,b){let F=[],Q=null;return Object.keys(q).forEach(j=>{F=F.concat(q[j])}),N.forEach(j=>{Q=[j].concat(K[j]),Q.some(I=>F.indexOf(I)!==-1)||q[b].push(j)}),F}function R(N){return e.getOptions().hiddenOptions.indexOf(N)<0||e.parsed.argv[e.getOptions().showHiddenOpt]}_.showHelp=N=>{let K=e.getInternalMethods().getLoggerInstance();N||(N="error"),(typeof N=="function"?N:K[N])(_.help())},_.functionDescription=N=>["(",N.name?i.Parser.decamelize(N.name,"-"):l("generated-value"),")"].join(""),_.stringifiedValues=function(K,q){let b="",F=q||", ",Q=[].concat(K);return!K||!Q.length||Q.forEach(j=>{b.length&&(b+=F),b+=JSON.stringify(j)}),b};function M(N,K){let q=`[${l("default:")} `;if(N===void 0&&!K)return null;if(K)q+=K;else switch(typeof N){case"string":q+=`"${N}"`;break;case"object":q+=JSON.stringify(N);break;default:q+=N}return`${q}]`}function ge(){return i.process.stdColumns?Math.min(80,i.process.stdColumns):80}let ve=null;_.version=N=>{ve=N},_.showVersion=N=>{let K=e.getInternalMethods().getLoggerInstance();N||(N="error"),(typeof N=="function"?N:K[N])(ve)},_.reset=function(K){return p=null,U=!1,g=[],v=!1,ie=[],Y=[],ce=[],Z=Um(Z,q=>!K[q]),_};let re=[];return _.freeze=function(){re.push({failMessage:p,failureOutput:U,usages:g,usageDisabled:v,epilogs:ie,examples:Y,commands:ce,descriptions:Z})},_.unfreeze=function(K=!1){let q=re.pop();q&&(K?(Z={...q.descriptions,...Z},ce=[...q.commands,...ce],g=[...q.usages,...g],Y=[...q.examples,...Y],ie=[...q.epilogs,...ie]):{failMessage:p,failureOutput:U,usages:g,usageDisabled:v,epilogs:ie,examples:Y,commands:ce,descriptions:Z}=q)},_}function sC(e){return typeof e=="object"}function kJ(e,i){return sC(e)?{text:e.text,indentation:e.indentation+i}:{text:e,indentation:i}}function lN(e){return sC(e)?e.indentation:0}function z2(e){return sC(e)?e.text:e}var _N=`###-begin-{{app_name}}-completions-### +# +# yargs command completion script +# +# Installation: {{app_path}} {{completion_command}} >> ~/.bashrc +# or {{app_path}} {{completion_command}} >> ~/.bash_profile on OSX. +# +_{{app_name}}_yargs_completions() +{ + local cur_word args type_list + + cur_word="\${COMP_WORDS[COMP_CWORD]}" + args=("\${COMP_WORDS[@]}") + + # ask yargs to generate completions. + type_list=$({{app_path}} --get-yargs-completions "\${args[@]}") + + COMPREPLY=( $(compgen -W "\${type_list}" -- \${cur_word}) ) + + # if no match was found, fall back to filename completion + if [ \${#COMPREPLY[@]} -eq 0 ]; then + COMPREPLY=() + fi + + return 0 +} +complete -o bashdefault -o default -F _{{app_name}}_yargs_completions {{app_name}} +###-end-{{app_name}}-completions-### +`,dN=`#compdef {{app_name}} +###-begin-{{app_name}}-completions-### +# +# yargs command completion script +# +# Installation: {{app_path}} {{completion_command}} >> ~/.zshrc +# or {{app_path}} {{completion_command}} >> ~/.zprofile on OSX. +# +_{{app_name}}_yargs_completions() +{ + local reply + local si=$IFS + IFS=$' +' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" {{app_path}} --get-yargs-completions "\${words[@]}")) + IFS=$si + _describe 'values' reply +} +compdef _{{app_name}}_yargs_completions {{app_name}} +###-end-{{app_name}}-completions-### +`;var cC=class{constructor(i,l,_,h){var p,P,z;this.yargs=i,this.usage=l,this.command=_,this.shim=h,this.completionKey="get-yargs-completions",this.aliases=null,this.customCompletionFunction=null,this.indexAfterLastReset=0,this.zshShell=(z=((p=this.shim.getEnv("SHELL"))===null||p===void 0?void 0:p.includes("zsh"))||((P=this.shim.getEnv("ZSH_NAME"))===null||P===void 0?void 0:P.includes("zsh")))!==null&&z!==void 0?z:!1}defaultCompletion(i,l,_,h){let p=this.command.getCommandHandlers();for(let z=0,U=i.length;z{let P=jm(p[0]).cmd;if(l.indexOf(P)===-1)if(!this.zshShell)i.push(P);else{let z=p[1]||"";i.push(P.replace(/:/g,"\\:")+":"+z)}})}optionCompletions(i,l,_,h){if((h.match(/^-/)||h===""&&i.length===0)&&!this.previousArgHasChoices(l)){let p=this.yargs.getOptions(),P=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[];Object.keys(p.key).forEach(z=>{let U=!!p.configuration["boolean-negation"]&&p.boolean.includes(z);!P.includes(z)&&!p.hiddenOptions.includes(z)&&!this.argsContainKey(l,z,U)&&(this.completeOptionKey(z,i,h),U&&p.default[z]&&this.completeOptionKey(`no-${z}`,i,h))})}}choicesFromOptionsCompletions(i,l,_,h){if(this.previousArgHasChoices(l)){let p=this.getPreviousArgChoices(l);p&&p.length>0&&i.push(...p.map(P=>P.replace(/:/g,"\\:")))}}choicesFromPositionalsCompletions(i,l,_,h){if(h===""&&i.length>0&&this.previousArgHasChoices(l))return;let p=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[],P=Math.max(this.indexAfterLastReset,this.yargs.getInternalMethods().getContext().commands.length+1),z=p[_._.length-P-1];if(!z)return;let U=this.yargs.getOptions().choices[z]||[];for(let g of U)g.startsWith(h)&&i.push(g.replace(/:/g,"\\:"))}getPreviousArgChoices(i){if(i.length<1)return;let l=i[i.length-1],_="";if(!l.startsWith("-")&&i.length>1&&(_=l,l=i[i.length-2]),!l.startsWith("-"))return;let h=l.replace(/^-+/,""),p=this.yargs.getOptions(),P=[h,...this.yargs.getAliases()[h]||[]],z;for(let U of P)if(Object.prototype.hasOwnProperty.call(p.key,U)&&Array.isArray(p.choices[U])){z=p.choices[U];break}if(z)return z.filter(U=>!_||U.startsWith(_))}previousArgHasChoices(i){let l=this.getPreviousArgChoices(i);return l!==void 0&&l.length>0}argsContainKey(i,l,_){let h=p=>i.indexOf((/^[^0-9]$/.test(p)?"-":"--")+p)!==-1;if(h(l)||_&&h(`no-${l}`))return!0;if(this.aliases){for(let p of this.aliases[l])if(h(p))return!0}return!1}completeOptionKey(i,l,_){var h,p,P;let z=this.usage.getDescriptions(),U=Y=>/^--/.test(Y),g=Y=>/^[^0-9]$/.test(Y),v=!U(_)&&g(i)?"-":"--";if(!this.zshShell)l.push(v+i);else{let Y=(h=this===null||this===void 0?void 0:this.aliases)===null||h===void 0?void 0:h[i].find(ie=>{let te=z[ie];return typeof te=="string"&&te.length>0}),ce=Y?z[Y]:void 0,Z=(P=(p=z[i])!==null&&p!==void 0?p:ce)!==null&&P!==void 0?P:"";l.push(v+`${i.replace(/:/g,"\\:")}:${Z.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`)}}customCompletion(i,l,_,h){if(r_(this.customCompletionFunction,null,this.shim),NJ(this.customCompletionFunction)){let p=this.customCompletionFunction(_,l);return iu(p)?p.then(P=>{this.shim.process.nextTick(()=>{h(null,P)})}).catch(P=>{this.shim.process.nextTick(()=>{h(P,void 0)})}):h(null,p)}else return PJ(this.customCompletionFunction)?this.customCompletionFunction(_,l,(p=h)=>this.defaultCompletion(i,l,_,p),p=>{h(null,p)}):this.customCompletionFunction(_,l,p=>{h(null,p)})}getCompletion(i,l){let _=i.length?i[i.length-1]:"",h=this.yargs.parse(i,!0),p=this.customCompletionFunction?P=>this.customCompletion(i,P,_,l):P=>this.defaultCompletion(i,P,_,l);return iu(h)?h.then(p):p(h)}generateCompletionScript(i,l){let _=this.zshShell?dN:_N,h=this.shim.path.basename(i);return i.match(/\.js$/)&&(i=`./${i}`),_=_.replace(/{{app_name}}/g,h),_=_.replace(/{{completion_command}}/g,l),_.replace(/{{app_path}}/g,i)}registerFunction(i){this.customCompletionFunction=i}setParsed(i){this.aliases=i.aliases}};function pN(e,i,l,_){return new cC(e,i,l,_)}function NJ(e){return e.length<3}function PJ(e){return e.length>3}function gN(e,i){if(e.length===0)return i.length;if(i.length===0)return e.length;let l=[],_;for(_=0;_<=i.length;_++)l[_]=[_];let h;for(h=0;h<=e.length;h++)l[0][h]=h;for(_=1;_<=i.length;_++)for(h=1;h<=e.length;h++)i.charAt(_-1)===e.charAt(h-1)?l[_][h]=l[_-1][h-1]:_>1&&h>1&&i.charAt(_-2)===e.charAt(h-1)&&i.charAt(_-1)===e.charAt(h-2)?l[_][h]=l[_-2][h-2]+1:l[_][h]=Math.min(l[_-1][h-1]+1,Math.min(l[_][h-1]+1,l[_-1][h]+1));return l[i.length][e.length]}var mN=["$0","--","_"];function vN(e,i,l){let _=l.y18n.__,h=l.y18n.__n,p={};p.nonOptionCount=function(Y){let ce=e.getDemandedCommands(),ie=Y._.length+(Y["--"]?Y["--"].length:0)-e.getInternalMethods().getContext().commands.length;ce._&&(iece._.max)&&(iece._.max&&(ce._.maxMsg!==void 0?i.fail(ce._.maxMsg?ce._.maxMsg.replace(/\$0/g,ie.toString()).replace(/\$1/,ce._.max.toString()):null):i.fail(h("Too many non-option arguments: got %s, maximum of %s","Too many non-option arguments: got %s, maximum of %s",ie,ie.toString(),ce._.max.toString()))))},p.positionalCount=function(Y,ce){ce"u")&&(Z=Z||{},Z[ie]=ce[ie]);if(Z){let ie=[];for(let x of Object.keys(Z)){let J=Z[x];J&&ie.indexOf(J)<0&&ie.push(J)}let te=ie.length?` +${ie.join(` +`)}`:"";i.fail(h("Missing required argument: %s","Missing required arguments: %s",Object.keys(Z).length,Object.keys(Z).join(", ")+te))}},p.unknownArguments=function(Y,ce,Z,ie,te=!0){var x;let J=e.getInternalMethods().getCommandInstance().getCommands(),d=[],D=e.getInternalMethods().getContext();if(Object.keys(Y).forEach(C=>{!mN.includes(C)&&!Object.prototype.hasOwnProperty.call(Z,C)&&!Object.prototype.hasOwnProperty.call(e.getInternalMethods().getParseContext(),C)&&!p.isValidAndSomeAliasIsNotNew(C,ce)&&d.push(C)}),te&&(D.commands.length>0||J.length>0||ie)&&Y._.slice(D.commands.length).forEach(C=>{J.includes(""+C)||d.push(""+C)}),te){let k=((x=e.getDemandedCommands()._)===null||x===void 0?void 0:x.max)||0,R=D.commands.length+k;R{M=String(M),!D.commands.includes(M)&&!d.includes(M)&&d.push(M)})}d.length&&i.fail(h("Unknown argument: %s","Unknown arguments: %s",d.length,d.map(C=>C.trim()?C:`"${C}"`).join(", ")))},p.unknownCommands=function(Y){let ce=e.getInternalMethods().getCommandInstance().getCommands(),Z=[],ie=e.getInternalMethods().getContext();return(ie.commands.length>0||ce.length>0)&&Y._.slice(ie.commands.length).forEach(te=>{ce.includes(""+te)||Z.push(""+te)}),Z.length>0?(i.fail(h("Unknown command: %s","Unknown commands: %s",Z.length,Z.join(", "))),!0):!1},p.isValidAndSomeAliasIsNotNew=function(Y,ce){if(!Object.prototype.hasOwnProperty.call(ce,Y))return!1;let Z=e.parsed.newAliases;return[Y,...ce[Y]].some(ie=>!Object.prototype.hasOwnProperty.call(Z,ie)||!Z[Y])},p.limitedChoices=function(Y){let ce=e.getOptions(),Z={};if(!Object.keys(ce.choices).length)return;Object.keys(Y).forEach(x=>{mN.indexOf(x)===-1&&Object.prototype.hasOwnProperty.call(ce.choices,x)&&[].concat(Y[x]).forEach(J=>{ce.choices[x].indexOf(J)===-1&&J!==void 0&&(Z[x]=(Z[x]||[]).concat(J))})});let ie=Object.keys(Z);if(!ie.length)return;let te=_("Invalid values:");ie.forEach(x=>{te+=` + ${_("Argument: %s, Given: %s, Choices: %s",x,i.stringifiedValues(Z[x]),i.stringifiedValues(ce.choices[x]))}`}),i.fail(te)};let P={};p.implies=function(Y,ce){no(" [array|number|string]",[Y,ce],arguments.length),typeof Y=="object"?Object.keys(Y).forEach(Z=>{p.implies(Z,Y[Z])}):(e.global(Y),P[Y]||(P[Y]=[]),Array.isArray(ce)?ce.forEach(Z=>p.implies(Y,Z)):(r_(ce,void 0,l),P[Y].push(ce)))},p.getImplied=function(){return P};function z(v,Y){let ce=Number(Y);return Y=isNaN(ce)?Y:ce,typeof Y=="number"?Y=v._.length>=Y:Y.match(/^--no-.+/)?(Y=Y.match(/^--no-(.+)/)[1],Y=!Object.prototype.hasOwnProperty.call(v,Y)):Y=Object.prototype.hasOwnProperty.call(v,Y),Y}p.implications=function(Y){let ce=[];if(Object.keys(P).forEach(Z=>{let ie=Z;(P[Z]||[]).forEach(te=>{let x=ie,J=te;x=z(Y,x),te=z(Y,te),x&&!te&&ce.push(` ${ie} -> ${J}`)})}),ce.length){let Z=`${_("Implications failed:")} +`;ce.forEach(ie=>{Z+=ie}),i.fail(Z)}};let U={};p.conflicts=function(Y,ce){no(" [array|string]",[Y,ce],arguments.length),typeof Y=="object"?Object.keys(Y).forEach(Z=>{p.conflicts(Z,Y[Z])}):(e.global(Y),U[Y]||(U[Y]=[]),Array.isArray(ce)?ce.forEach(Z=>p.conflicts(Y,Z)):U[Y].push(ce))},p.getConflicting=()=>U,p.conflicting=function(Y){Object.keys(Y).forEach(ce=>{U[ce]&&U[ce].forEach(Z=>{Z&&Y[ce]!==void 0&&Y[Z]!==void 0&&i.fail(_("Arguments %s and %s are mutually exclusive",ce,Z))})}),e.getInternalMethods().getParserConfiguration()["strip-dashed"]&&Object.keys(U).forEach(ce=>{U[ce].forEach(Z=>{Z&&Y[l.Parser.camelCase(ce)]!==void 0&&Y[l.Parser.camelCase(Z)]!==void 0&&i.fail(_("Arguments %s and %s are mutually exclusive",ce,Z))})})},p.recommendCommands=function(Y,ce){ce=ce.sort((x,J)=>J.length-x.length);let ie=null,te=1/0;for(let x=0,J;(J=ce[x])!==void 0;x++){let d=gN(Y,J);d<=3&&d!Y[ce]),U=Um(U,ce=>!Y[ce]),p};let g=[];return p.freeze=function(){g.push({implied:P,conflicting:U})},p.unfreeze=function(){let Y=g.pop();r_(Y,void 0,l),{implied:P,conflicting:U}=Y},p}var uC=[],b0;function S0(e,i,l,_){b0=_;let h={};if(Object.prototype.hasOwnProperty.call(e,"extends")){if(typeof e.extends!="string")return h;let p=/\.json|\..*rc$/.test(e.extends),P=null;if(p)P=wJ(i,e.extends);else try{P=Ro.resolve(e.extends)}catch{return e}IJ(P),uC.push(P),h=p?JSON.parse(b0.readFileSync(P,"utf8")):Ro(e.extends),delete e.extends,h=S0(h,b0.path.dirname(P),l,b0)}return uC=[],l?hN(h,e):Object.assign({},h,e)}function IJ(e){if(uC.indexOf(e)>-1)throw new Bc(`Circular extended configurations: '${e}'.`)}function wJ(e,i){return b0.path.resolve(e,i)}function hN(e,i){let l={};function _(h){return h&&typeof h=="object"&&!Array.isArray(h)}Object.assign(l,e);for(let h of Object.keys(i))_(i[h])&&_(l[h])?l[h]=hN(e[h],i[h]):l[h]=i[h];return l}var ao=function(e,i,l,_,h){if(_==="m")throw new TypeError("Private method is not writable");if(_==="a"&&!h)throw new TypeError("Private accessor was defined without a setter");if(typeof i=="function"?e!==i||!h:!i.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return _==="a"?h.call(e,l):h?h.value=l:i.set(e,l),l},Ln=function(e,i,l,_){if(l==="a"&&!_)throw new TypeError("Private accessor was defined without a getter");if(typeof i=="function"?e!==i||!_:!i.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return l==="m"?_:l==="a"?_.call(e):_?_.value:i.get(e)},zu,Rv,x0,rp,sd,W2,Wm,Bv,V2,np,q2,ip,xg,cd,tp,H2,Uh,wl,ko,G2,K2,ud,Jv,zh,jv,Vm,$2,Ho,Uv,zv,Wv,rs,Q2,Cg,Nu;function BN(e){return(i=[],l=e.process.cwd(),_)=>{let h=new DC(i,l,_,e);return Object.defineProperty(h,"argv",{get:()=>h.parse(),enumerable:!0}),h.help(),h.version(),h}}var yN=Symbol("copyDoubleDash"),DN=Symbol("copyDoubleDash"),lC=Symbol("deleteFromParserHintObject"),bN=Symbol("emitWarning"),SN=Symbol("freeze"),xN=Symbol("getDollarZero"),Vv=Symbol("getParserConfiguration"),CN=Symbol("getUsageConfiguration"),fC=Symbol("guessLocale"),EN=Symbol("guessVersion"),TN=Symbol("parsePositionalNumbers"),_C=Symbol("pkgUp"),qm=Symbol("populateParserHintArray"),Wh=Symbol("populateParserHintSingleValueDictionary"),dC=Symbol("populateParserHintArrayDictionary"),pC=Symbol("populateParserHintDictionary"),gC=Symbol("sanitizeKey"),mC=Symbol("setKey"),vC=Symbol("unfreeze"),kN=Symbol("validateAsync"),AN=Symbol("getCommandInstance"),NN=Symbol("getContext"),PN=Symbol("getHasOutput"),IN=Symbol("getLoggerInstance"),wN=Symbol("getParseContext"),ON=Symbol("getUsageInstance"),FN=Symbol("getValidationInstance"),X2=Symbol("hasParseCallback"),MN=Symbol("isGlobalContext"),qv=Symbol("postProcess"),LN=Symbol("rebase"),hC=Symbol("reset"),C0=Symbol("runYargsParserAndExecuteCommands"),yC=Symbol("runValidation"),RN=Symbol("setHasOutput"),Hv=Symbol("kTrackManuallySetKeys"),DC=class{constructor(i=[],l,_,h){this.customScriptName=!1,this.parsed=!1,zu.set(this,void 0),Rv.set(this,void 0),x0.set(this,{commands:[],fullCommands:[]}),rp.set(this,null),sd.set(this,null),W2.set(this,"show-hidden"),Wm.set(this,null),Bv.set(this,!0),V2.set(this,{}),np.set(this,!0),q2.set(this,[]),ip.set(this,void 0),xg.set(this,{}),cd.set(this,!1),tp.set(this,null),H2.set(this,!0),Uh.set(this,void 0),wl.set(this,""),ko.set(this,void 0),G2.set(this,void 0),K2.set(this,{}),ud.set(this,null),Jv.set(this,null),zh.set(this,{}),jv.set(this,{}),Vm.set(this,void 0),$2.set(this,!1),Ho.set(this,void 0),Uv.set(this,!1),zv.set(this,!1),Wv.set(this,!1),rs.set(this,void 0),Q2.set(this,{}),Cg.set(this,null),Nu.set(this,void 0),ao(this,Ho,h,"f"),ao(this,Vm,i,"f"),ao(this,Rv,l,"f"),ao(this,G2,_,"f"),ao(this,ip,new j2(this),"f"),this.$0=this[xN](),this[hC](),ao(this,zu,Ln(this,zu,"f"),"f"),ao(this,rs,Ln(this,rs,"f"),"f"),ao(this,Nu,Ln(this,Nu,"f"),"f"),ao(this,ko,Ln(this,ko,"f"),"f"),Ln(this,ko,"f").showHiddenOpt=Ln(this,W2,"f"),ao(this,Uh,this[DN](),"f")}addHelpOpt(i,l){let _="help";return no("[string|boolean] [string]",[i,l],arguments.length),Ln(this,tp,"f")&&(this[lC](Ln(this,tp,"f")),ao(this,tp,null,"f")),i===!1&&l===void 0?this:(ao(this,tp,typeof i=="string"?i:_,"f"),this.boolean(Ln(this,tp,"f")),this.describe(Ln(this,tp,"f"),l||Ln(this,rs,"f").deferY18nLookup("Show help")),this)}help(i,l){return this.addHelpOpt(i,l)}addShowHiddenOpt(i,l){if(no("[string|boolean] [string]",[i,l],arguments.length),i===!1&&l===void 0)return this;let _=typeof i=="string"?i:Ln(this,W2,"f");return this.boolean(_),this.describe(_,l||Ln(this,rs,"f").deferY18nLookup("Show hidden options")),Ln(this,ko,"f").showHiddenOpt=_,this}showHidden(i,l){return this.addShowHiddenOpt(i,l)}alias(i,l){return no(" [string|array]",[i,l],arguments.length),this[dC](this.alias.bind(this),"alias",i,l),this}array(i){return no("",[i],arguments.length),this[qm]("array",i),this[Hv](i),this}boolean(i){return no("",[i],arguments.length),this[qm]("boolean",i),this[Hv](i),this}check(i,l){return no(" [boolean]",[i,l],arguments.length),this.middleware((_,h)=>Lv(()=>i(_,h.getOptions()),p=>(p?(typeof p=="string"||p instanceof Error)&&Ln(this,rs,"f").fail(p.toString(),p):Ln(this,rs,"f").fail(Ln(this,Ho,"f").y18n.__("Argument check failed: %s",i.toString())),_),p=>(Ln(this,rs,"f").fail(p.message?p.message:p.toString(),p),_)),!1,l),this}choices(i,l){return no(" [string|array]",[i,l],arguments.length),this[dC](this.choices.bind(this),"choices",i,l),this}coerce(i,l){if(no(" [function]",[i,l],arguments.length),Array.isArray(i)){if(!l)throw new Bc("coerce callback must be provided");for(let _ of i)this.coerce(_,l);return this}else if(typeof i=="object"){for(let _ of Object.keys(i))this.coerce(_,i[_]);return this}if(!l)throw new Bc("coerce callback must be provided");return Ln(this,ko,"f").key[i]=!0,Ln(this,ip,"f").addCoerceMiddleware((_,h)=>{let p;return Object.prototype.hasOwnProperty.call(_,i)?Lv(()=>(p=h.getAliases(),l(_[i])),z=>{_[i]=z;let U=h.getInternalMethods().getParserConfiguration()["strip-aliased"];if(p[i]&&U!==!0)for(let g of p[i])_[g]=z;return _},z=>{throw new Bc(z.message)}):_},i),this}conflicts(i,l){return no(" [string|array]",[i,l],arguments.length),Ln(this,Nu,"f").conflicts(i,l),this}config(i="config",l,_){return no("[object|string] [string|function] [function]",[i,l,_],arguments.length),typeof i=="object"&&!Array.isArray(i)?(i=S0(i,Ln(this,Rv,"f"),this[Vv]()["deep-merge-config"]||!1,Ln(this,Ho,"f")),Ln(this,ko,"f").configObjects=(Ln(this,ko,"f").configObjects||[]).concat(i),this):(typeof l=="function"&&(_=l,l=void 0),this.describe(i,l||Ln(this,rs,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(i)?i:[i]).forEach(h=>{Ln(this,ko,"f").config[h]=_||!0}),this)}completion(i,l,_){return no("[string] [string|boolean|function] [function]",[i,l,_],arguments.length),typeof l=="function"&&(_=l,l=void 0),ao(this,sd,i||Ln(this,sd,"f")||"completion","f"),!l&&l!==!1&&(l="generate completion script"),this.command(Ln(this,sd,"f"),l),_&&Ln(this,rp,"f").registerFunction(_),this}command(i,l,_,h,p,P){return no(" [string|boolean] [function|object] [function] [array] [boolean|string]",[i,l,_,h,p,P],arguments.length),Ln(this,zu,"f").addHandler(i,l,_,h,p,P),this}commands(i,l,_,h,p,P){return this.command(i,l,_,h,p,P)}commandDir(i,l){no(" [object]",[i,l],arguments.length);let _=Ln(this,G2,"f")||Ln(this,Ho,"f").require;return Ln(this,zu,"f").addDirectory(i,_,Ln(this,Ho,"f").getCallerFile(),l),this}count(i){return no("",[i],arguments.length),this[qm]("count",i),this[Hv](i),this}default(i,l,_){return no(" [*] [string]",[i,l,_],arguments.length),_&&(tC(i,Ln(this,Ho,"f")),Ln(this,ko,"f").defaultDescription[i]=_),typeof l=="function"&&(tC(i,Ln(this,Ho,"f")),Ln(this,ko,"f").defaultDescription[i]||(Ln(this,ko,"f").defaultDescription[i]=Ln(this,rs,"f").functionDescription(l)),l=l.call()),this[Wh](this.default.bind(this),"default",i,l),this}defaults(i,l,_){return this.default(i,l,_)}demandCommand(i=1,l,_,h){return no("[number] [number|string] [string|null|undefined] [string|null|undefined]",[i,l,_,h],arguments.length),typeof l!="number"&&(_=l,l=1/0),this.global("_",!1),Ln(this,ko,"f").demandedCommands._={min:i,max:l,minMsg:_,maxMsg:h},this}demand(i,l,_){return Array.isArray(l)?(l.forEach(h=>{r_(_,!0,Ln(this,Ho,"f")),this.demandOption(h,_)}),l=1/0):typeof l!="number"&&(_=l,l=1/0),typeof i=="number"?(r_(_,!0,Ln(this,Ho,"f")),this.demandCommand(i,l,_,_)):Array.isArray(i)?i.forEach(h=>{r_(_,!0,Ln(this,Ho,"f")),this.demandOption(h,_)}):typeof _=="string"?this.demandOption(i,_):(_===!0||typeof _>"u")&&this.demandOption(i),this}demandOption(i,l){return no(" [string]",[i,l],arguments.length),this[Wh](this.demandOption.bind(this),"demandedOptions",i,l),this}deprecateOption(i,l){return no(" [string|boolean]",[i,l],arguments.length),Ln(this,ko,"f").deprecatedOptions[i]=l,this}describe(i,l){return no(" [string]",[i,l],arguments.length),this[mC](i,!0),Ln(this,rs,"f").describe(i,l),this}detectLocale(i){return no("",[i],arguments.length),ao(this,Bv,i,"f"),this}env(i){return no("[string|boolean]",[i],arguments.length),i===!1?delete Ln(this,ko,"f").envPrefix:Ln(this,ko,"f").envPrefix=i||"",this}epilogue(i){return no("",[i],arguments.length),Ln(this,rs,"f").epilog(i),this}epilog(i){return this.epilogue(i)}example(i,l){return no(" [string]",[i,l],arguments.length),Array.isArray(i)?i.forEach(_=>this.example(..._)):Ln(this,rs,"f").example(i,l),this}exit(i,l){ao(this,cd,!0,"f"),ao(this,Wm,l,"f"),Ln(this,np,"f")&&Ln(this,Ho,"f").process.exit(i)}exitProcess(i=!0){return no("[boolean]",[i],arguments.length),ao(this,np,i,"f"),this}fail(i){if(no("",[i],arguments.length),typeof i=="boolean"&&i!==!1)throw new Bc("Invalid first argument. Expected function or boolean 'false'");return Ln(this,rs,"f").failFn(i),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(i,l){return no(" [function]",[i,l],arguments.length),l?Ln(this,rp,"f").getCompletion(i,l):new Promise((_,h)=>{Ln(this,rp,"f").getCompletion(i,(p,P)=>{p?h(p):_(P)})})}getDemandedOptions(){return no([],0),Ln(this,ko,"f").demandedOptions}getDemandedCommands(){return no([],0),Ln(this,ko,"f").demandedCommands}getDeprecatedOptions(){return no([],0),Ln(this,ko,"f").deprecatedOptions}getDetectLocale(){return Ln(this,Bv,"f")}getExitProcess(){return Ln(this,np,"f")}getGroups(){return Object.assign({},Ln(this,xg,"f"),Ln(this,jv,"f"))}getHelp(){if(ao(this,cd,!0,"f"),!Ln(this,rs,"f").hasCachedHelpMessage()){if(!this.parsed){let l=this[C0](Ln(this,Vm,"f"),void 0,void 0,0,!0);if(iu(l))return l.then(()=>Ln(this,rs,"f").help())}let i=Ln(this,zu,"f").runDefaultBuilderOn(this);if(iu(i))return i.then(()=>Ln(this,rs,"f").help())}return Promise.resolve(Ln(this,rs,"f").help())}getOptions(){return Ln(this,ko,"f")}getStrict(){return Ln(this,Uv,"f")}getStrictCommands(){return Ln(this,zv,"f")}getStrictOptions(){return Ln(this,Wv,"f")}global(i,l){return no(" [boolean]",[i,l],arguments.length),i=[].concat(i),l!==!1?Ln(this,ko,"f").local=Ln(this,ko,"f").local.filter(_=>i.indexOf(_)===-1):i.forEach(_=>{Ln(this,ko,"f").local.includes(_)||Ln(this,ko,"f").local.push(_)}),this}group(i,l){no(" ",[i,l],arguments.length);let _=Ln(this,jv,"f")[l]||Ln(this,xg,"f")[l];Ln(this,jv,"f")[l]&&delete Ln(this,jv,"f")[l];let h={};return Ln(this,xg,"f")[l]=(_||[]).concat(i).filter(p=>h[p]?!1:h[p]=!0),this}hide(i){return no("",[i],arguments.length),Ln(this,ko,"f").hiddenOptions.push(i),this}implies(i,l){return no(" [number|string|array]",[i,l],arguments.length),Ln(this,Nu,"f").implies(i,l),this}locale(i){return no("[string]",[i],arguments.length),i===void 0?(this[fC](),Ln(this,Ho,"f").y18n.getLocale()):(ao(this,Bv,!1,"f"),Ln(this,Ho,"f").y18n.setLocale(i),this)}middleware(i,l,_){return Ln(this,ip,"f").addMiddleware(i,!!l,_)}nargs(i,l){return no(" [number]",[i,l],arguments.length),this[Wh](this.nargs.bind(this),"narg",i,l),this}normalize(i){return no("",[i],arguments.length),this[qm]("normalize",i),this}number(i){return no("",[i],arguments.length),this[qm]("number",i),this[Hv](i),this}option(i,l){if(no(" [object]",[i,l],arguments.length),typeof i=="object")Object.keys(i).forEach(_=>{this.options(_,i[_])});else{typeof l!="object"&&(l={}),this[Hv](i),Ln(this,Cg,"f")&&(i==="version"||(l==null?void 0:l.alias)==="version")&&this[bN](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(` +`),void 0,"versionWarning"),Ln(this,ko,"f").key[i]=!0,l.alias&&this.alias(i,l.alias);let _=l.deprecate||l.deprecated;_&&this.deprecateOption(i,_);let h=l.demand||l.required||l.require;h&&this.demand(i,h),l.demandOption&&this.demandOption(i,typeof l.demandOption=="string"?l.demandOption:void 0),l.conflicts&&this.conflicts(i,l.conflicts),"default"in l&&this.default(i,l.default),l.implies!==void 0&&this.implies(i,l.implies),l.nargs!==void 0&&this.nargs(i,l.nargs),l.config&&this.config(i,l.configParser),l.normalize&&this.normalize(i),l.choices&&this.choices(i,l.choices),l.coerce&&this.coerce(i,l.coerce),l.group&&this.group(i,l.group),(l.boolean||l.type==="boolean")&&(this.boolean(i),l.alias&&this.boolean(l.alias)),(l.array||l.type==="array")&&(this.array(i),l.alias&&this.array(l.alias)),(l.number||l.type==="number")&&(this.number(i),l.alias&&this.number(l.alias)),(l.string||l.type==="string")&&(this.string(i),l.alias&&this.string(l.alias)),(l.count||l.type==="count")&&this.count(i),typeof l.global=="boolean"&&this.global(i,l.global),l.defaultDescription&&(Ln(this,ko,"f").defaultDescription[i]=l.defaultDescription),l.skipValidation&&this.skipValidation(i);let p=l.describe||l.description||l.desc,P=Ln(this,rs,"f").getDescriptions();(!Object.prototype.hasOwnProperty.call(P,i)||typeof p=="string")&&this.describe(i,p),l.hidden&&this.hide(i),l.requiresArg&&this.requiresArg(i)}return this}options(i,l){return this.option(i,l)}parse(i,l,_){no("[string|array] [function|boolean|object] [function]",[i,l,_],arguments.length),this[SN](),typeof i>"u"&&(i=Ln(this,Vm,"f")),typeof l=="object"&&(ao(this,Jv,l,"f"),l=_),typeof l=="function"&&(ao(this,ud,l,"f"),l=!1),l||ao(this,Vm,i,"f"),Ln(this,ud,"f")&&ao(this,np,!1,"f");let h=this[C0](i,!!l),p=this.parsed;return Ln(this,rp,"f").setParsed(this.parsed),iu(h)?h.then(P=>(Ln(this,ud,"f")&&Ln(this,ud,"f").call(this,Ln(this,Wm,"f"),P,Ln(this,wl,"f")),P)).catch(P=>{throw Ln(this,ud,"f")&&Ln(this,ud,"f")(P,this.parsed.argv,Ln(this,wl,"f")),P}).finally(()=>{this[vC](),this.parsed=p}):(Ln(this,ud,"f")&&Ln(this,ud,"f").call(this,Ln(this,Wm,"f"),h,Ln(this,wl,"f")),this[vC](),this.parsed=p,h)}parseAsync(i,l,_){let h=this.parse(i,l,_);return iu(h)?h:Promise.resolve(h)}parseSync(i,l,_){let h=this.parse(i,l,_);if(iu(h))throw new Bc(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return h}parserConfiguration(i){return no("",[i],arguments.length),ao(this,K2,i,"f"),this}pkgConf(i,l){no(" [string]",[i,l],arguments.length);let _=null,h=this[_C](l||Ln(this,Rv,"f"));return h[i]&&typeof h[i]=="object"&&(_=S0(h[i],l||Ln(this,Rv,"f"),this[Vv]()["deep-merge-config"]||!1,Ln(this,Ho,"f")),Ln(this,ko,"f").configObjects=(Ln(this,ko,"f").configObjects||[]).concat(_)),this}positional(i,l){no(" ",[i,l],arguments.length);let _=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];l=Um(l,(P,z)=>P==="type"&&!["string","number","boolean"].includes(z)?!1:_.includes(P));let h=Ln(this,x0,"f").fullCommands[Ln(this,x0,"f").fullCommands.length-1],p=h?Ln(this,zu,"f").cmdToParseOptions(h):{array:[],alias:{},default:{},demand:{}};return Jh(p).forEach(P=>{let z=p[P];Array.isArray(z)?z.indexOf(i)!==-1&&(l[P]=!0):z[i]&&!(P in l)&&(l[P]=z[i])}),this.group(i,Ln(this,rs,"f").getPositionalGroupName()),this.option(i,l)}recommendCommands(i=!0){return no("[boolean]",[i],arguments.length),ao(this,$2,i,"f"),this}required(i,l,_){return this.demand(i,l,_)}require(i,l,_){return this.demand(i,l,_)}requiresArg(i){return no(" [number]",[i],arguments.length),typeof i=="string"&&Ln(this,ko,"f").narg[i]?this:(this[Wh](this.requiresArg.bind(this),"narg",i,NaN),this)}showCompletionScript(i,l){return no("[string] [string]",[i,l],arguments.length),i=i||this.$0,Ln(this,Uh,"f").log(Ln(this,rp,"f").generateCompletionScript(i,l||Ln(this,sd,"f")||"completion")),this}showHelp(i){if(no("[string|function]",[i],arguments.length),ao(this,cd,!0,"f"),!Ln(this,rs,"f").hasCachedHelpMessage()){if(!this.parsed){let _=this[C0](Ln(this,Vm,"f"),void 0,void 0,0,!0);if(iu(_))return _.then(()=>{Ln(this,rs,"f").showHelp(i)}),this}let l=Ln(this,zu,"f").runDefaultBuilderOn(this);if(iu(l))return l.then(()=>{Ln(this,rs,"f").showHelp(i)}),this}return Ln(this,rs,"f").showHelp(i),this}scriptName(i){return this.customScriptName=!0,this.$0=i,this}showHelpOnFail(i,l){return no("[boolean|string] [string]",[i,l],arguments.length),Ln(this,rs,"f").showHelpOnFail(i,l),this}showVersion(i){return no("[string|function]",[i],arguments.length),Ln(this,rs,"f").showVersion(i),this}skipValidation(i){return no("",[i],arguments.length),this[qm]("skipValidation",i),this}strict(i){return no("[boolean]",[i],arguments.length),ao(this,Uv,i!==!1,"f"),this}strictCommands(i){return no("[boolean]",[i],arguments.length),ao(this,zv,i!==!1,"f"),this}strictOptions(i){return no("[boolean]",[i],arguments.length),ao(this,Wv,i!==!1,"f"),this}string(i){return no("",[i],arguments.length),this[qm]("string",i),this[Hv](i),this}terminalWidth(){return no([],0),Ln(this,Ho,"f").process.stdColumns}updateLocale(i){return this.updateStrings(i)}updateStrings(i){return no("",[i],arguments.length),ao(this,Bv,!1,"f"),Ln(this,Ho,"f").y18n.updateLocale(i),this}usage(i,l,_,h){if(no(" [string|boolean] [function|object] [function]",[i,l,_,h],arguments.length),l!==void 0){if(r_(i,null,Ln(this,Ho,"f")),(i||"").match(/^\$0( |$)/))return this.command(i,l,_,h);throw new Bc(".usage() description must start with $0 if being used as alias for .command()")}else return Ln(this,rs,"f").usage(i),this}usageConfiguration(i){return no("",[i],arguments.length),ao(this,Q2,i,"f"),this}version(i,l,_){let h="version";if(no("[boolean|string] [string] [string]",[i,l,_],arguments.length),Ln(this,Cg,"f")&&(this[lC](Ln(this,Cg,"f")),Ln(this,rs,"f").version(void 0),ao(this,Cg,null,"f")),arguments.length===0)_=this[EN](),i=h;else if(arguments.length===1){if(i===!1)return this;_=i,i=h}else arguments.length===2&&(_=l,l=void 0);return ao(this,Cg,typeof i=="string"?i:h,"f"),l=l||Ln(this,rs,"f").deferY18nLookup("Show version number"),Ln(this,rs,"f").version(_||void 0),this.boolean(Ln(this,Cg,"f")),this.describe(Ln(this,Cg,"f"),l),this}wrap(i){return no("",[i],arguments.length),Ln(this,rs,"f").wrap(i),this}[(zu=new WeakMap,Rv=new WeakMap,x0=new WeakMap,rp=new WeakMap,sd=new WeakMap,W2=new WeakMap,Wm=new WeakMap,Bv=new WeakMap,V2=new WeakMap,np=new WeakMap,q2=new WeakMap,ip=new WeakMap,xg=new WeakMap,cd=new WeakMap,tp=new WeakMap,H2=new WeakMap,Uh=new WeakMap,wl=new WeakMap,ko=new WeakMap,G2=new WeakMap,K2=new WeakMap,ud=new WeakMap,Jv=new WeakMap,zh=new WeakMap,jv=new WeakMap,Vm=new WeakMap,$2=new WeakMap,Ho=new WeakMap,Uv=new WeakMap,zv=new WeakMap,Wv=new WeakMap,rs=new WeakMap,Q2=new WeakMap,Cg=new WeakMap,Nu=new WeakMap,yN)](i){if(!i._||!i["--"])return i;i._.push.apply(i._,i["--"]);try{delete i["--"]}catch{}return i}[DN](){return{log:(...i)=>{this[X2]()||console.log(...i),ao(this,cd,!0,"f"),Ln(this,wl,"f").length&&ao(this,wl,Ln(this,wl,"f")+` +`,"f"),ao(this,wl,Ln(this,wl,"f")+i.join(" "),"f")},error:(...i)=>{this[X2]()||console.error(...i),ao(this,cd,!0,"f"),Ln(this,wl,"f").length&&ao(this,wl,Ln(this,wl,"f")+` +`,"f"),ao(this,wl,Ln(this,wl,"f")+i.join(" "),"f")}}}[lC](i){Jh(Ln(this,ko,"f")).forEach(l=>{if((h=>h==="configObjects")(l))return;let _=Ln(this,ko,"f")[l];Array.isArray(_)?_.includes(i)&&_.splice(_.indexOf(i),1):typeof _=="object"&&delete _[i]}),delete Ln(this,rs,"f").getDescriptions()[i]}[bN](i,l,_){Ln(this,V2,"f")[_]||(Ln(this,Ho,"f").process.emitWarning(i,l),Ln(this,V2,"f")[_]=!0)}[SN](){Ln(this,q2,"f").push({options:Ln(this,ko,"f"),configObjects:Ln(this,ko,"f").configObjects.slice(0),exitProcess:Ln(this,np,"f"),groups:Ln(this,xg,"f"),strict:Ln(this,Uv,"f"),strictCommands:Ln(this,zv,"f"),strictOptions:Ln(this,Wv,"f"),completionCommand:Ln(this,sd,"f"),output:Ln(this,wl,"f"),exitError:Ln(this,Wm,"f"),hasOutput:Ln(this,cd,"f"),parsed:this.parsed,parseFn:Ln(this,ud,"f"),parseContext:Ln(this,Jv,"f")}),Ln(this,rs,"f").freeze(),Ln(this,Nu,"f").freeze(),Ln(this,zu,"f").freeze(),Ln(this,ip,"f").freeze()}[xN](){let i="",l;return/\b(node|iojs|electron)(\.exe)?$/.test(Ln(this,Ho,"f").process.argv()[0])?l=Ln(this,Ho,"f").process.argv().slice(1,2):l=Ln(this,Ho,"f").process.argv().slice(0,1),i=l.map(_=>{let h=this[LN](Ln(this,Rv,"f"),_);return _.match(/^(\/|([a-zA-Z]:)?\\)/)&&h.length<_.length?h:_}).join(" ").trim(),Ln(this,Ho,"f").getEnv("_")&&Ln(this,Ho,"f").getProcessArgvBin()===Ln(this,Ho,"f").getEnv("_")&&(i=Ln(this,Ho,"f").getEnv("_").replace(`${Ln(this,Ho,"f").path.dirname(Ln(this,Ho,"f").process.execPath())}/`,"")),i}[Vv](){return Ln(this,K2,"f")}[CN](){return Ln(this,Q2,"f")}[fC](){if(!Ln(this,Bv,"f"))return;let i=Ln(this,Ho,"f").getEnv("LC_ALL")||Ln(this,Ho,"f").getEnv("LC_MESSAGES")||Ln(this,Ho,"f").getEnv("LANG")||Ln(this,Ho,"f").getEnv("LANGUAGE")||"en_US";this.locale(i.replace(/[.:].*/,""))}[EN](){return this[_C]().version||"unknown"}[TN](i){let l=i["--"]?i["--"]:i._;for(let _=0,h;(h=l[_])!==void 0;_++)Ln(this,Ho,"f").Parser.looksLikeNumber(h)&&Number.isSafeInteger(Math.floor(parseFloat(`${h}`)))&&(l[_]=Number(h));return i}[_C](i){let l=i||"*";if(Ln(this,zh,"f")[l])return Ln(this,zh,"f")[l];let _={};try{let h=i||Ln(this,Ho,"f").mainFilename;!i&&Ln(this,Ho,"f").path.extname(h)&&(h=Ln(this,Ho,"f").path.dirname(h));let p=Ln(this,Ho,"f").findUp(h,(P,z)=>{if(z.includes("package.json"))return"package.json"});r_(p,void 0,Ln(this,Ho,"f")),_=JSON.parse(Ln(this,Ho,"f").readFileSync(p,"utf8"))}catch{}return Ln(this,zh,"f")[l]=_||{},Ln(this,zh,"f")[l]}[qm](i,l){l=[].concat(l),l.forEach(_=>{_=this[gC](_),Ln(this,ko,"f")[i].push(_)})}[Wh](i,l,_,h){this[pC](i,l,_,h,(p,P,z)=>{Ln(this,ko,"f")[p][P]=z})}[dC](i,l,_,h){this[pC](i,l,_,h,(p,P,z)=>{Ln(this,ko,"f")[p][P]=(Ln(this,ko,"f")[p][P]||[]).concat(z)})}[pC](i,l,_,h,p){if(Array.isArray(_))_.forEach(P=>{i(P,h)});else if((P=>typeof P=="object")(_))for(let P of Jh(_))i(P,_[P]);else p(l,this[gC](_),h)}[gC](i){return i==="__proto__"?"___proto___":i}[mC](i,l){return this[Wh](this[mC].bind(this),"key",i,l),this}[vC](){var i,l,_,h,p,P,z,U,g,v,Y,ce;let Z=Ln(this,q2,"f").pop();r_(Z,void 0,Ln(this,Ho,"f"));let ie;i=this,l=this,_=this,h=this,p=this,P=this,z=this,U=this,g=this,v=this,Y=this,ce=this,{options:{set value(te){ao(i,ko,te,"f")}}.value,configObjects:ie,exitProcess:{set value(te){ao(l,np,te,"f")}}.value,groups:{set value(te){ao(_,xg,te,"f")}}.value,output:{set value(te){ao(h,wl,te,"f")}}.value,exitError:{set value(te){ao(p,Wm,te,"f")}}.value,hasOutput:{set value(te){ao(P,cd,te,"f")}}.value,parsed:this.parsed,strict:{set value(te){ao(z,Uv,te,"f")}}.value,strictCommands:{set value(te){ao(U,zv,te,"f")}}.value,strictOptions:{set value(te){ao(g,Wv,te,"f")}}.value,completionCommand:{set value(te){ao(v,sd,te,"f")}}.value,parseFn:{set value(te){ao(Y,ud,te,"f")}}.value,parseContext:{set value(te){ao(ce,Jv,te,"f")}}.value}=Z,Ln(this,ko,"f").configObjects=ie,Ln(this,rs,"f").unfreeze(),Ln(this,Nu,"f").unfreeze(),Ln(this,zu,"f").unfreeze(),Ln(this,ip,"f").unfreeze()}[kN](i,l){return Lv(l,_=>(i(_),_))}getInternalMethods(){return{getCommandInstance:this[AN].bind(this),getContext:this[NN].bind(this),getHasOutput:this[PN].bind(this),getLoggerInstance:this[IN].bind(this),getParseContext:this[wN].bind(this),getParserConfiguration:this[Vv].bind(this),getUsageConfiguration:this[CN].bind(this),getUsageInstance:this[ON].bind(this),getValidationInstance:this[FN].bind(this),hasParseCallback:this[X2].bind(this),isGlobalContext:this[MN].bind(this),postProcess:this[qv].bind(this),reset:this[hC].bind(this),runValidation:this[yC].bind(this),runYargsParserAndExecuteCommands:this[C0].bind(this),setHasOutput:this[RN].bind(this)}}[AN](){return Ln(this,zu,"f")}[NN](){return Ln(this,x0,"f")}[PN](){return Ln(this,cd,"f")}[IN](){return Ln(this,Uh,"f")}[wN](){return Ln(this,Jv,"f")||{}}[ON](){return Ln(this,rs,"f")}[FN](){return Ln(this,Nu,"f")}[X2](){return!!Ln(this,ud,"f")}[MN](){return Ln(this,H2,"f")}[qv](i,l,_,h){return _||iu(i)||(l||(i=this[yN](i)),(this[Vv]()["parse-positional-numbers"]||this[Vv]()["parse-positional-numbers"]===void 0)&&(i=this[TN](i)),h&&(i=Mv(i,this,Ln(this,ip,"f").getMiddleware(),!1))),i}[hC](i={}){ao(this,ko,Ln(this,ko,"f")||{},"f");let l={};l.local=Ln(this,ko,"f").local||[],l.configObjects=Ln(this,ko,"f").configObjects||[];let _={};l.local.forEach(P=>{_[P]=!0,(i[P]||[]).forEach(z=>{_[z]=!0})}),Object.assign(Ln(this,jv,"f"),Object.keys(Ln(this,xg,"f")).reduce((P,z)=>{let U=Ln(this,xg,"f")[z].filter(g=>!(g in _));return U.length>0&&(P[z]=U),P},{})),ao(this,xg,{},"f");let h=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],p=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];return h.forEach(P=>{l[P]=(Ln(this,ko,"f")[P]||[]).filter(z=>!_[z])}),p.forEach(P=>{l[P]=Um(Ln(this,ko,"f")[P],z=>!_[z])}),l.envPrefix=Ln(this,ko,"f").envPrefix,ao(this,ko,l,"f"),ao(this,rs,Ln(this,rs,"f")?Ln(this,rs,"f").reset(_):fN(this,Ln(this,Ho,"f")),"f"),ao(this,Nu,Ln(this,Nu,"f")?Ln(this,Nu,"f").reset(_):vN(this,Ln(this,rs,"f"),Ln(this,Ho,"f")),"f"),ao(this,zu,Ln(this,zu,"f")?Ln(this,zu,"f").reset():cN(Ln(this,rs,"f"),Ln(this,Nu,"f"),Ln(this,ip,"f"),Ln(this,Ho,"f")),"f"),Ln(this,rp,"f")||ao(this,rp,pN(this,Ln(this,rs,"f"),Ln(this,zu,"f"),Ln(this,Ho,"f")),"f"),Ln(this,ip,"f").reset(),ao(this,sd,null,"f"),ao(this,wl,"","f"),ao(this,Wm,null,"f"),ao(this,cd,!1,"f"),this.parsed=!1,this}[LN](i,l){return Ln(this,Ho,"f").path.relative(i,l)}[C0](i,l,_,h=0,p=!1){let P=!!_||p;i=i||Ln(this,Vm,"f"),Ln(this,ko,"f").__=Ln(this,Ho,"f").y18n.__,Ln(this,ko,"f").configuration=this[Vv]();let z=!!Ln(this,ko,"f").configuration["populate--"],U=Object.assign({},Ln(this,ko,"f").configuration,{"populate--":!0}),g=Ln(this,Ho,"f").Parser.detailed(i,Object.assign({},Ln(this,ko,"f"),{configuration:{"parse-positional-numbers":!1,...U}})),v=Object.assign(g.argv,Ln(this,Jv,"f")),Y,ce=g.aliases,Z=!1,ie=!1;Object.keys(v).forEach(te=>{te===Ln(this,tp,"f")&&v[te]?Z=!0:te===Ln(this,Cg,"f")&&v[te]&&(ie=!0)}),v.$0=this.$0,this.parsed=g,h===0&&Ln(this,rs,"f").clearCachedHelpMessage();try{if(this[fC](),l)return this[qv](v,z,!!_,!1);Ln(this,tp,"f")&&[Ln(this,tp,"f")].concat(ce[Ln(this,tp,"f")]||[]).filter(D=>D.length>1).includes(""+v._[v._.length-1])&&(v._.pop(),Z=!0),ao(this,H2,!1,"f");let te=Ln(this,zu,"f").getCommands(),x=Ln(this,rp,"f").completionKey in v,J=Z||x||p;if(v._.length){if(te.length){let d;for(let D=h||0,C;v._[D]!==void 0;D++)if(C=String(v._[D]),te.includes(C)&&C!==Ln(this,sd,"f")){let k=Ln(this,zu,"f").runCommand(C,this,g,D+1,p,Z||ie||p);return this[qv](k,z,!!_,!1)}else if(!d&&C!==Ln(this,sd,"f")){d=C;break}!Ln(this,zu,"f").hasDefaultCommand()&&Ln(this,$2,"f")&&d&&!J&&Ln(this,Nu,"f").recommendCommands(d,te)}Ln(this,sd,"f")&&v._.includes(Ln(this,sd,"f"))&&!x&&(Ln(this,np,"f")&&zm(!0),this.showCompletionScript(),this.exit(0))}if(Ln(this,zu,"f").hasDefaultCommand()&&!J){let d=Ln(this,zu,"f").runCommand(null,this,g,0,p,Z||ie||p);return this[qv](d,z,!!_,!1)}if(x){Ln(this,np,"f")&&zm(!0),i=[].concat(i);let d=i.slice(i.indexOf(`--${Ln(this,rp,"f").completionKey}`)+1);return Ln(this,rp,"f").getCompletion(d,(D,C)=>{if(D)throw new Bc(D.message);(C||[]).forEach(k=>{Ln(this,Uh,"f").log(k)}),this.exit(0)}),this[qv](v,!z,!!_,!1)}if(Ln(this,cd,"f")||(Z?(Ln(this,np,"f")&&zm(!0),P=!0,this.showHelp("log"),this.exit(0)):ie&&(Ln(this,np,"f")&&zm(!0),P=!0,Ln(this,rs,"f").showVersion("log"),this.exit(0))),!P&&Ln(this,ko,"f").skipValidation.length>0&&(P=Object.keys(v).some(d=>Ln(this,ko,"f").skipValidation.indexOf(d)>=0&&v[d]===!0)),!P){if(g.error)throw new Bc(g.error.message);if(!x){let d=this[yC](ce,{},g.error);_||(Y=Mv(v,this,Ln(this,ip,"f").getMiddleware(),!0)),Y=this[kN](d,Y??v),iu(Y)&&!_&&(Y=Y.then(()=>Mv(v,this,Ln(this,ip,"f").getMiddleware(),!1)))}}}catch(te){if(te instanceof Bc)Ln(this,rs,"f").fail(te.message,te);else throw te}return this[qv](Y??v,z,!!_,!0)}[yC](i,l,_,h){let p={...this.getDemandedOptions()};return P=>{if(_)throw new Bc(_.message);Ln(this,Nu,"f").nonOptionCount(P),Ln(this,Nu,"f").requiredArguments(P,p);let z=!1;Ln(this,zv,"f")&&(z=Ln(this,Nu,"f").unknownCommands(P)),Ln(this,Uv,"f")&&!z?Ln(this,Nu,"f").unknownArguments(P,i,l,!!h):Ln(this,Wv,"f")&&Ln(this,Nu,"f").unknownArguments(P,i,{},!1,!1),Ln(this,Nu,"f").limitedChoices(P),Ln(this,Nu,"f").implications(P),Ln(this,Nu,"f").conflicting(P)}}[RN](){ao(this,cd,!0,"f")}[Hv](i){if(typeof i=="string")Ln(this,ko,"f").key[i]=!0;else for(let l of i)Ln(this,ko,"f").key[l]=!0}};function uN(e){return!!e&&typeof e.getInternalMethods=="function"}var OJ=BN(iC),JN=OJ;import PW from"fs";function FJ(e=""){return!e||!e.includes("\\")?e:e.replace(/\\/g,"/")}var MJ=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;function LJ(){return typeof process<"u"?process.cwd().replace(/\\/g,"/"):"/"}var E0=function(...e){e=e.map(_=>FJ(_));let i="",l=!1;for(let _=e.length-1;_>=-1&&!l;_--){let h=_>=0?e[_]:LJ();!h||h.length===0||(i=`${h}/${i}`,l=bC(h))}return i=jN(i,!l),l&&!bC(i)?`/${i}`:i.length>0?i:"."};function jN(e,i){let l="",_=0,h=-1,p=0,P=null;for(let z=0;z<=e.length;++z){if(z2){let U=l.lastIndexOf("/");U===-1?(l="",_=0):(l=l.slice(0,U),_=l.length-1-l.lastIndexOf("/")),h=z,p=0;continue}else if(l.length>0){l="",_=0,h=z,p=0;continue}}i&&(l+=l.length>0?"/..":"..",_=2)}else l.length>0?l+=`/${e.slice(h+1,z)}`:l=e.slice(h+1,z),_=z-h-1;h=z,p=0}else P==="."&&p!==-1?++p:p=-1}return l}var bC=function(e){return MJ.test(e)};var wI=F2(IP(),1),OI=F2(NI(),1),ey=F2(cE(),1);import FI from"path";import kW from"fs";var _d=F2(cE(),1),II=e=>i=>{let{factory:l,getCompilerOptions:_}=e,h=!1,{locale:p}=_();function P(Y){if(_d.default.isImportDeclaration(Y)&&_d.default.isStringLiteral(Y.moduleSpecifier)&&Y.moduleSpecifier.text==="i18next"&&_d.default.isImportClause(Y.importClause))return h=!0,Y.importClause.namedBindings?_d.default.isImportClause(Y.importClause)&&_d.default.isNamedImports(Y.importClause.namedBindings)&&!Y.importClause.namedBindings.elements.find(ce=>ce.name.escapedText==="changeLanguage")?l.updateImportDeclaration(Y,Y.modifiers,l.updateImportClause(Y.importClause,!1,Y.importClause.name,l.updateNamedImports(Y.importClause.namedBindings,[...Y.importClause.namedBindings.elements,l.createImportSpecifier(!1,void 0,l.createIdentifier("changeLanguage"))])),Y.moduleSpecifier,Y.assertClause):Y:l.updateImportDeclaration(Y,Y.modifiers,l.createImportClause(Y.importClause.isTypeOnly,Y.importClause.name,l.createNamedImports([l.createImportSpecifier(!1,void 0,l.createIdentifier("changeLanguage"))])),Y.moduleSpecifier,Y.assertClause);if(!(_d.default.isExpressionStatement(Y)&&_d.default.isCallExpression(Y.expression)&&(_d.default.isPropertyAccessExpression(Y.expression.expression)&&Y.expression.expression.name.escapedText==="changeLanguage"||_d.default.isIdentifier(Y.expression.expression)&&Y.expression.expression.escapedText==="changeLanguage")))return _d.default.visitEachChild(Y,P,e)}let z=_d.default.visitNode(i,P),U=[...z.statements];h||U.unshift(l.createImportDeclaration(void 0,l.createImportClause(!1,void 0,l.createNamedImports([l.createImportSpecifier(!1,void 0,l.createIdentifier("changeLanguage"))])),l.createStringLiteral("i18next"),void 0));let v=U.map(Y=>_d.default.isImportDeclaration(Y)).lastIndexOf(!0);return U.splice(v+1,0,l.createIdentifier(` +`)),U.splice(v+1,0,l.createExpressionStatement(l.createCallExpression(l.createIdentifier("changeLanguage"),void 0,[l.createStringLiteral(p)]))),U.splice(v+1,0,l.createIdentifier(` +`)),z=l.updateSourceFile(z,U,z.isDeclarationFile,z.referencedFiles,z.typeReferenceDirectives,z.hasNoDefaultLib,z.libReferenceDirectives),z};var MI=e=>/---.*---/s.test(e),AW=e=>{if(MI(e)){let{groups:{frontmatter:i}}=/---(?(.*))---/s.exec(e);return i}return""},LI=(e,i)=>MI(e)?e.replace(/---[\s\S]*---/g,`--- +${i.trim()} +---`):`--- +${i.trim()} +--- + +`+e,uE=(e,i=1)=>(e.startsWith("./")&&i>0&&(e=e.slice(2)),e.padStart(e.length+i*3,"../")),NW=e=>/((^_)|(\/_))/.test(e),RI=(e,i)=>(e=e.replace(/(import\s+.*["'])(\..*)(["'])/g,(l,_,h,p)=>`${_}${uE(h,i)}${p}`),e=e.replace(/(Astro.glob\(["'])(\..*)(["']\))/g,(l,_,h,p)=>`${_}${uE(h,i)}${p}`),e=e.replace(/(`${_}${uE(h,i)}${p}`),e),BI=e=>ey.default.createSourceFile("x.ts",AW(e),ey.default.ScriptTarget.Latest),JI=(e,i)=>{let l=ey.default.transform(e,[II],{locale:i});return ey.default.createPrinter().printNode(ey.default.EmitHint.Unspecified,l.transformed[0],e)},lE=(e,i=void 0,l=[])=>{let _=new wI.fdir().filter(h=>!NW(h)&&h.endsWith(".astro")).exclude(h=>l.includes(h)).withFullPaths();return i?_.crawl(`${e}${FI.sep}${i}`).sync():_.crawl(e).sync()},jI=e=>{e.forEach(i=>{OI.default.ensureDirSync(FI.dirname(i.path)),kW.writeFileSync(i.path,i.source)})},UI=(e,i=null,l="",_={})=>{if(e=e.replace(/^\/+|\/+$/g,""),l=l.replace(/\/+$/g,""),i===null)return`${l}/${e}`;e=e.replace(/.astro$/,"");let h=`/${i}/${e}`;return Object.prototype.hasOwnProperty.call(_,h)?`${l}${_[h]}.astro`:`${l}/${i}/${e}.astro`};var zI=(e,i,l,_=!1,h,p=e)=>{let P=process.hrtime(),z=_?lE(e,i,l):lE(e,void 0,l),U=[];return z.forEach(async function(g){let v=E0(g).replace(E0(e),""),Y=_?[e,i,v].join("/"):[e,v].join("/"),Z=PW.readFileSync(Y).toString(),ie=BI(Z);l.forEach(te=>{let x=te!==i,J=_?0:Number(x),d=JI(ie,te),D=LI(Z,d);D=RI(D,J);let C=_?!0:x;U.push({path:E0(UI(v,C?te:void 0,p,h)),source:D})})}),jI(U),{filesToGenerate:U,timeToProcess:process.hrtime(P)[1]/1e6}};import{pathToFileURL as wW}from"url";import mG,{t as vG}from"i18next";import{fileURLToPath as WI}from"url";import VI from"@proload/core";import IW from"@proload/plugin-tsm";var qI=async(e,i)=>{let l=WI(e),_;if(i){let h=/^\.*\//.test(i)?i:`./${i}`;_=WI(new URL(h,e))}return VI.use([IW]),await VI("astro-i18next",{mustExist:!1,cwd:l,filePath:_})};var HI=async e=>{let{path:i,config:l}=e,_=await qI(wW(i),l);if(i&&!(_!=null&&_.value))throw new Error(`Could not find a config file at ${JSON.stringify(i)}. Does the file exist?`);return{...e,config:_==null?void 0:_.value}},GI=async e=>{let{path:i}=e;return{...e,path:i.endsWith("/")?i:i+"/"}};JN(rC(process.argv)).usage("usage: $0 ").command("generate [path] [options]","generates localized Astro pages",e=>e.positional("path",{type:"string",description:"Path to the Astro project folder",default:"./"}).option("output",{alias:"o",type:"string",description:"Set the output of the generated pages if different from input"}),async e=>{e.verbose&&console.info(`Generating localized pages: ${e.config.locales}`);let i=e.path+"src/pages",l=Hx(e.config.routes),_=zI(i,e.config.defaultLocale,e.config.locales,e.config.showDefaultLocale,l,e.output);if(e.verbose){let h=_.filesToGenerate.map(p=>p.path);console.log(` +\u2728 ${h.join(` +\u2728 `)} +`)}console.log(`\u{1F9EA} Localized .astro pages were generated successfully, it took ${_.timeToProcess.toFixed()}ms!`)}).middleware([GI,HI],!0).options({config:{alias:"c",type:"string",description:"Set the output of the generated pages if different from input"},verbose:{alias:"v",type:"boolean",description:"Run with verbose logging"}}).parse(); +/*! Bundled license information: + +typescript/lib/typescript.js: + (*! ***************************************************************************** + Copyright (c) Microsoft Corporation. All rights reserved. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of the + License at http://www.apache.org/licenses/LICENSE-2.0 + + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, + MERCHANTABLITY OR NON-INFRINGEMENT. + + See the Apache Version 2.0 License for specific language governing permissions + and limitations under the License. + ***************************************************************************** *) + +yargs-parser/build/lib/string-utils.js: + (** + * @license + * Copyright (c) 2016, Contributors + * SPDX-License-Identifier: ISC + *) + +yargs-parser/build/lib/tokenize-arg-string.js: + (** + * @license + * Copyright (c) 2016, Contributors + * SPDX-License-Identifier: ISC + *) + +yargs-parser/build/lib/yargs-parser-types.js: + (** + * @license + * Copyright (c) 2016, Contributors + * SPDX-License-Identifier: ISC + *) + +yargs-parser/build/lib/yargs-parser.js: + (** + * @license + * Copyright (c) 2016, Contributors + * SPDX-License-Identifier: ISC + *) + +yargs-parser/build/lib/index.js: + (** + * @fileoverview Main entrypoint for libraries using yargs-parser in Node.js + * CJS and ESM environments. + * + * @license + * Copyright (c) 2016, Contributors + * SPDX-License-Identifier: ISC + *) +*/ diff --git a/node_modules/astro-i18next/dist/index.js b/node_modules/astro-i18next/dist/index.js new file mode 100644 index 00000000..5f1e36f8 --- /dev/null +++ b/node_modules/astro-i18next/dist/index.js @@ -0,0 +1,9 @@ + + import module2 from 'module'; + import path2 from 'path'; + import * as url2 from 'url'; + const require = module2.createRequire(import.meta.url); + const __filename = url2.fileURLToPath(import.meta.url); + const __dirname = path2.dirname(__filename); + +var g={config:{defaultLocale:"cimode",locales:[],namespaces:"translation",defaultNamespace:"translation",load:["server"],routes:{},flatRoutes:{},showDefaultLocale:!1,trailingSlash:"ignore",resourcesBasePath:"/locales"}},A=e=>{let r={};for(let n in e)n==="routes"&&(r=y(e[n])),g.config[n]=e[n];g.config.flatRoutes=r},$=e=>({...g.config,...e}),y=(e,r=[],n=[],s=null)=>{let o=s||{};for(let t in e)if(typeof e[t]=="object"&&e[t]!==null)y(e[t],[...r,t],[...n,Object.prototype.hasOwnProperty.call(e[t],"index")?e[t].index:t],o);else{let l="/"+r.join("/"),i="/"+n.join("/");t==="index"?(o[l]=i,l+="/"+t,i+="/"+t,o[l]=i):(l+="/"+t,i+="/"+e[t],o[l]=i)}return o};import p,{t as k}from"i18next";import{fileURLToPath as S}from"url";import b from"@proload/core";import w from"@proload/plugin-tsm";var L=async(e,r)=>{let n=S(e),s;if(r){let o=/^\.*\//.test(r)?r:`./${r}`;s=S(new URL(o,e))}return b.use([w]),await b("astro-i18next",{mustExist:!1,cwd:n,filePath:s})},C=(e,r)=>{let n=e.indexOf(r);e.splice(n,1),e.unshift(r)},N=(e,r,n=null)=>{let s=k(e,{ns:n});if(s===e)return console.warn(`WARNING(astro-i18next): missing translation key ${e}.`),r;let o=/<([\w\d]+)([^>]*)>/gi,t=r.match(o);if(!t)return console.warn("WARNING(astro-i18next): default slot does not include any HTML tag to interpolate! You should use the `t` function directly."),s;let l=[];t.forEach(a=>{let[,c,u]=o.exec(a);l.push({name:c,attributes:u}),o.exec("")});let i=s;for(let a=0;a`,`<${c.name}${c.attributes}>`),i=i.replaceAll(``,``)}return i},O=e=>{let r=["strong","br","em","i","b"],n=[];p.options&&(n=["keySeparator","nsSeparator","pluralSeparator","contextSeparator"].map(i=>({key:i,str:p.options[i]})).filter(function(i){return typeof i<"u"}));let s=/<([\w\d]+)([^>]*)>/gi,o=e.match(s);if(!o)return console.warn("WARNING(astro-i18next): default slot does not include any HTML tag to interpolate! You should use the `t` function directly."),e;let t=[];o.forEach(i=>{let[,a,c]=s.exec(i);t.push({name:a,attributes:c}),s.exec("")});let l=e.replace(/\s+/g," ").trim();for(let i=0;i]*?\\s*\\/>`,"gi"),`<${i}/>`),l=l.replaceAll(`<${a.name}${a.attributes}>`,`<${i}>`),l=l.replaceAll(``,``))}for(let i=0;i translation key, but it is also used as ${a}. Either explicitly set an i18nKey or change the value of ${a}.`)}return l},m=(e,r)=>{if(e==="/")return e;switch(r){case"always":return e.endsWith("/")?e:e+"/";case"never":return e.replace(/\/$/,"");default:return e}},P=(e="/",r=null,n=import.meta.env.BASE_URL)=>{r||(r=p.language);let s=e.split("/").filter(f=>f!==""),o=n.split("/").filter(f=>f!=="");JSON.stringify(s).startsWith(JSON.stringify(o).replace(/]+$/,""))&&s.splice(0,o.length),e=s.length===0?"":s.join("/"),n=o.length===0?"/":"/"+o.join("/")+"/";let{flatRoutes:t,showDefaultLocale:l,defaultLocale:i,locales:a,trailingSlash:c}=g.config;if(!a.includes(r))return console.warn(`WARNING(astro-i18next): "${r}" locale is not supported, add it to the locales in your astro config.`),m(`${n}${e}`,c);if(s.length===0)return m(l?`${n}${r}`:r===i?n:`${n}${r}`,c);if(r===i){let f=Object.keys(t).find(d=>t[d]==="/"+e);typeof f<"u"&&(s=f.split("/").filter(d=>d!==""))}for(let f of a)if(s[0]===f){s.shift();break}(l||r!==i)&&(s=[r,...s]);let u=n+s.join("/");return Object.prototype.hasOwnProperty.call(t,u.replace(/\/$/,""))?m(t[u.replace(/\/$/,"")],c):m(u,c)},T=(e,r=null,n=import.meta.env.BASE_URL)=>{let[s,,o,...t]=e.split("/");return s+"//"+o+P(t.join("/"),r,n)},E=e=>{e=e.replace(/^\/+/g,"");let{defaultLocale:r,locales:n}=g.config,s=e.split("/");if(JSON.stringify(s)===JSON.stringify([""])||JSON.stringify(s)===JSON.stringify(["",""]))return r;let o=[...n];o=o.filter(t=>t!==r);for(let t of o)if(s[0]===t)return t;return r},x=e=>{let r=Array.isArray(e),n=r?"[":"{";for(let s in e){if(e[s]===null||e[s]===void 0)continue;let o=null;switch(typeof e[s]){case"string":{o=`"${e[s]}"`;break}case"number":case"boolean":{o=e[s];break}case"object":{o=x(e[s]);break}case"function":{o=e[s].toString().replace(/\s+/g," ");break}case"symbol":{o=`Symbol("${e[s].description}")`;break}default:break}n+=r?`${o},`:`"${s}": ${o},`}return`${n}${r?"]":"}"}`};function j(e=""){return!e||!e.includes("\\")?e:e.replace(/\\/g,"/")}var z=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;function _(){return typeof process<"u"?process.cwd().replace(/\\/g,"/"):"/"}var I=function(...e){e=e.map(s=>j(s));let r="",n=!1;for(let s=e.length-1;s>=-1&&!n;s--){let o=s>=0?e[s]:_();!o||o.length===0||(r=`${o}/${r}`,n=h(o))}return r=v(r,!n),n&&!h(r)?`/${r}`:r.length>0?r:"."};function v(e,r){let n="",s=0,o=-1,t=0,l=null;for(let i=0;i<=e.length;++i){if(i2){let a=n.lastIndexOf("/");a===-1?(n="",s=0):(n=n.slice(0,a),s=n.length-1-n.lastIndexOf("/")),o=i,t=0;continue}else if(n.length>0){n="",s=0,o=i,t=0;continue}}r&&(n+=n.length>0?"/..":"..",s=2)}else n.length>0?n+=`/${e.slice(o+1,i)}`:n=e.slice(o+1,i),s=i-o-1;o=i,t=0}else l==="."&&t!==-1?++t:t=-1}return n}var h=function(e){return z.test(e)};var ce=e=>{let r=e==null?void 0:e.configPath;return{name:"astro-i18next",hooks:{"astro:config:setup":async({config:n,injectScript:s})=>{var l;let o=await L(n.root,r);if(r&&!(o!=null&&o.value))throw new Error(`[astro-i18next]: Could not find a config file at ${JSON.stringify(r)}. Does the file exist?`);let t=$(o==null?void 0:o.value);if(!t.defaultLocale||t.defaultLocale==="")throw new Error("[astro-i18next]: you must set a `defaultLocale` in your astro-i18next config!");if(t.locales||(t.locales=[t.defaultLocale]),t.locales.includes(t.defaultLocale)||t.locales.unshift(t.defaultLocale),t.locales[0]!==t.defaultLocale&&C(t.locales,t.defaultLocale),t.trailingSlash=n.trailingSlash,t.load.includes("server")){let i={supportedLngs:t.locales,fallbackLng:t.locales,ns:t.namespaces,defaultNS:t.defaultNamespace,initImmediate:!1,backend:{loadPath:I(`${n.publicDir.pathname}/${t.resourcesBasePath}/{{lng}}/{{ns}}.json`)},...t.i18nextServer},c={...{fsBackend:"i18next-fs-backend"},...t.i18nextServerPlugins},{imports:u,i18nextInit:f}=R(i,c);u+='import {initAstroI18next} from "astro-i18next";';let d=`initAstroI18next(${x(t)});`;s("page-ssr",u+f+d)}if((l=t.load)!=null&&l.includes("client")){let i={supportedLngs:t.locales,fallbackLng:t.locales,ns:t.namespaces,defaultNS:t.defaultNamespace,detection:{order:["htmlTag"],caches:[]},backend:{loadPath:`${t.resourcesBasePath}/{{lng}}/{{ns}}.json`},...t.i18nextClient},c={...{httpBackend:"i18next-http-backend",LanguageDetector:"i18next-browser-languagedetector"},...t.i18nextClientPlugins},{imports:u,i18nextInit:f}=R(i,c);s("before-hydration",u+f)}}}}},R=(e,r)=>{let n='import i18next from "i18next";',s="i18next";if(Object.keys(r).length>0)for(let o of Object.keys(r))r[o]!==null&&(n+=`import ${o} from "${r[o]}";`,s+=`.use(${o.replace(/[{}]/g,"")})`);return s+=`.init(${x(e)});`,{imports:n,i18nextInit:s}};function fe(e){A(e)}export{g as AstroI18next,O as createReferenceStringFromHTML,ce as default,E as detectLocaleFromPath,fe as initAstroI18next,N as interpolate,P as localizePath,T as localizeUrl}; diff --git a/node_modules/astro-i18next/dist/types/cli/generate.d.ts b/node_modules/astro-i18next/dist/types/cli/generate.d.ts new file mode 100644 index 00000000..19f51cb4 --- /dev/null +++ b/node_modules/astro-i18next/dist/types/cli/generate.d.ts @@ -0,0 +1,13 @@ +import { AstroI18nextConfig } from "../types"; +import { FileToGenerate } from "./utils"; +/** + * Reads all files inside inputPath + * + * @param inputPath + * @param locales + * @param outputPath + */ +export declare const generate: (inputPath: string, defaultLocale: AstroI18nextConfig["defaultLocale"], locales: AstroI18nextConfig["locales"], showDefaultLocale?: boolean, flatRoutes?: AstroI18nextConfig["flatRoutes"], outputPath?: string) => { + filesToGenerate: FileToGenerate[]; + timeToProcess: number; +}; diff --git a/node_modules/astro-i18next/dist/types/cli/index.d.ts b/node_modules/astro-i18next/dist/types/cli/index.d.ts new file mode 100644 index 00000000..b7988016 --- /dev/null +++ b/node_modules/astro-i18next/dist/types/cli/index.d.ts @@ -0,0 +1,2 @@ +#!/usr/bin/env node +export {}; diff --git a/node_modules/astro-i18next/dist/types/cli/middlewares.d.ts b/node_modules/astro-i18next/dist/types/cli/middlewares.d.ts new file mode 100644 index 00000000..2618e0e9 --- /dev/null +++ b/node_modules/astro-i18next/dist/types/cli/middlewares.d.ts @@ -0,0 +1,4 @@ +import { MiddlewareFunction } from "yargs"; +import { GenerateArgs, GlobalArgs } from "./types"; +export declare const loadConfig: MiddlewareFunction; +export declare const normalizePath: MiddlewareFunction; diff --git a/node_modules/astro-i18next/dist/types/cli/transformer.d.ts b/node_modules/astro-i18next/dist/types/cli/transformer.d.ts new file mode 100644 index 00000000..3173f69a --- /dev/null +++ b/node_modules/astro-i18next/dist/types/cli/transformer.d.ts @@ -0,0 +1,7 @@ +import ts from "typescript"; +/** + * Traverse ts' AST to inject i18next's language switch + * @param context + * @returns + */ +export declare const transformer: ts.TransformerFactory; diff --git a/node_modules/astro-i18next/dist/types/cli/types.d.ts b/node_modules/astro-i18next/dist/types/cli/types.d.ts new file mode 100644 index 00000000..0357d7ce --- /dev/null +++ b/node_modules/astro-i18next/dist/types/cli/types.d.ts @@ -0,0 +1,9 @@ +import { AstroI18nextConfig } from "../types"; +export interface GlobalArgs { + verbose: boolean; +} +export interface GenerateArgs { + path: string; + config: AstroI18nextConfig; + output: string; +} diff --git a/node_modules/astro-i18next/dist/types/cli/utils.d.ts b/node_modules/astro-i18next/dist/types/cli/utils.d.ts new file mode 100644 index 00000000..8988c5af --- /dev/null +++ b/node_modules/astro-i18next/dist/types/cli/utils.d.ts @@ -0,0 +1,40 @@ +import { PathsOutput } from "fdir"; +import ts from "typescript"; +import { AstroI18nextConfig } from "../types"; +export interface FileToGenerate { + path: string; + source: string; +} +export declare const doesStringIncludeFrontmatter: (source: string) => boolean; +export declare const extractFrontmatterFromAstroSource: (source: string) => string; +export declare const overwriteAstroFrontmatter: (source: string, frontmatter: string) => string; +export declare const addDepthToRelativePath: (relativePath: string, depth?: number) => string; +/** + * file is hidden if its name or any of its parent folders start with an underscore + */ +export declare const isFileHidden: (filepath: string) => boolean; +export declare const resolveRelativePathsLevel: (fileContents: string, fileDepth: number) => string; +/** + * parse frontmatter using typescript compiler + * + * @param source + */ +export declare const parseFrontmatter: (source: string) => ts.SourceFile; +export declare const generateLocalizedFrontmatter: (tsNode: ts.SourceFile, locale: string) => string; +/** + * Crawls pages directory and returns all Astro pages + * except for locale folders and excluded pages / directories (starting with underscore). + * (https://docs.astro.build/en/core-concepts/routing/#excluding-pages) + * + * @param pagesDirectoryPath + * @param childDirToCrawl will make the function crawl inside the given + * `childDirToCrawl` (doesn't take paths, only dirname). + */ +export declare const getAstroPagesFullPaths: (pagesDirectoryPath: string, childDirToCrawl?: AstroI18nextConfig["defaultLocale"] | undefined, locales?: AstroI18nextConfig["locales"]) => PathsOutput; +export declare const createFiles: (filesToGenerate: FileToGenerate[]) => void; +/** + * Resolves the right translated path based on + * a given `astroFilePath` and a locale, + * with the `routeTranslations` mapping. + */ +export declare const resolveTranslatedAstroPath: (astroFilePath: string, locale?: string | null, basePath?: string, flatRoutes?: AstroI18nextConfig["flatRoutes"]) => string; diff --git a/node_modules/astro-i18next/dist/types/config.d.ts b/node_modules/astro-i18next/dist/types/config.d.ts new file mode 100644 index 00000000..6d70ef8a --- /dev/null +++ b/node_modules/astro-i18next/dist/types/config.d.ts @@ -0,0 +1,11 @@ +import { AstroI18nextConfig, AstroI18nextGlobal } from "./types"; +export declare const AstroI18next: AstroI18nextGlobal; +export declare const setAstroI18nextConfig: (config: AstroI18nextConfig) => void; +export declare const astroI18nextConfigBuilder: (config: AstroI18nextConfig) => AstroI18nextConfig; +/** + * This will create a mapping of translated routes to search them easily. + * + * TODO: render all routes mappings in here (even those not translated), + * this will help simplify utility functions logic + */ +export declare const flattenRoutes: (routes: AstroI18nextConfig["routes"], previous?: string[], translatedPrevious?: string[], prevResult?: AstroI18nextConfig["flatRoutes"]) => AstroI18nextConfig["flatRoutes"]; diff --git a/node_modules/astro-i18next/dist/types/index.d.ts b/node_modules/astro-i18next/dist/types/index.d.ts new file mode 100644 index 00000000..0fdb7642 --- /dev/null +++ b/node_modules/astro-i18next/dist/types/index.d.ts @@ -0,0 +1,8 @@ +import { AstroIntegration } from "astro"; +import { AstroI18nextConfig, AstroI18nextOptions } from "./types"; +declare const _default: (options?: AstroI18nextOptions) => AstroIntegration; +export default _default; +export declare function initAstroI18next(config: AstroI18nextConfig): void; +export { AstroI18next } from "./config"; +export { createReferenceStringFromHTML, detectLocaleFromPath, interpolate, localizePath, localizeUrl, } from "./utils"; +export { AstroI18nextConfig, AstroI18nextOptions } from "./types"; diff --git a/node_modules/astro-i18next/dist/types/types.d.ts b/node_modules/astro-i18next/dist/types/types.d.ts new file mode 100644 index 00000000..2d0eb406 --- /dev/null +++ b/node_modules/astro-i18next/dist/types/types.d.ts @@ -0,0 +1,116 @@ +import { InitOptions } from "i18next"; +export interface AstroI18nextGlobal { + config: AstroI18nextConfig; +} +export interface AstroI18nextOptions { + /** + * Path to your astro-i18next config file + * + * @default 'astro-i18next.config.js' + */ + configPath?: string; +} +export interface Routes { + [segment: string]: string | Record; +} +export interface Plugins { + [importName: string]: string | null; +} +export interface AstroI18nextConfig { + /** + * The default locale for your website. + * + * @default "cimode" + */ + defaultLocale: string; + /** + * The locales that are supported by your website. + * + * @default [] + */ + locales: string[]; + /** + * String or array of namespaces to load + * + * @default "translation" + */ + namespaces?: string | string[]; + /** + * Default namespace used if not passed to the translation function + * + * @default "translation" + */ + defaultNamespace?: string; + /** + * Load i18next on server side only, client side only or both. + * + * @default ["server"] + */ + load?: ("server" | "client")[]; + /** + * Set base path for i18next resources. + * + * @default "/locales" + */ + resourcesBasePath?: string; + /** + * i18next server side config. See https://www.i18next.com/overview/configuration-options + */ + i18nextServer?: InitOptions; + /** + * i18next client side config. See https://www.i18next.com/overview/configuration-options + */ + i18nextClient?: InitOptions; + /** + * The translations for your routes. + * + * @default {} + */ + routes?: Routes; + /** + * Generated mappings based on the routes + * + * @default {} + */ + readonly flatRoutes?: Record; + /** + * The display behaviour for the URL locale. + * + * @default false + */ + showDefaultLocale?: boolean; + /** + * i18next server side plugins. See https://www.i18next.com/overview/plugins-and-utils + * + * Include the plugins with the key being the import name and the value being the plugin name. + * + * Eg.: + * ``` + * { + * "Backend": "i18next-fs-backend", + * } + * ``` + */ + i18nextServerPlugins?: Plugins; + /** + * i18next client side plugins. See https://www.i18next.com/overview/plugins-and-utils + * + * Include the plugins with the key being the import name and the value being the plugin name. + * + * Eg.: + * ``` + * { + * "{initReactI18next}": "react-i18next", + * } + * ``` + */ + i18nextClientPlugins?: Plugins; + /** + * Set the route matching behavior of the dev server. Choose from the following options: + * + * 'always' - Only match URLs that include a trailing slash (ex: "/foo/") + * 'never' - Never match URLs that include a trailing slash (ex: "/foo") + * 'ignore' - Match URLs regardless of whether a trailing "/" exists + */ + trailingSlash?: "always" | "never" | "ignore"; +} diff --git a/node_modules/astro-i18next/dist/types/utils.d.ts b/node_modules/astro-i18next/dist/types/utils.d.ts new file mode 100644 index 00000000..34da348f --- /dev/null +++ b/node_modules/astro-i18next/dist/types/utils.d.ts @@ -0,0 +1,35 @@ +/// +import load from "@proload/core"; +import { AstroI18nextConfig } from "./types"; +/** + * Adapted from astro's tailwind integration: + * https://github.com/withastro/astro/tree/main/packages/integrations/tailwind + */ +export declare const getUserConfig: (root: URL, configPath?: string) => Promise>; +/** + * Moves the default locale in the first index + */ +export declare const moveDefaultLocaleToFirstIndex: (locales: string[], baseLocale: string) => void; +/** + * Interpolates a localized string (loaded with the i18nKey) to a given reference string. + */ +export declare const interpolate: (i18nKey: string, referenceString: string, namespace?: string | null) => string; +/** + * Creates a reference string from an HTML string. The reverse of interpolate(), for use + * with when not explicitly setting a key + */ +export declare const createReferenceStringFromHTML: (html: string) => string; +export declare const handleTrailingSlash: (path: string, trailingSlash: AstroI18nextConfig["trailingSlash"]) => string; +/** + * Injects the given locale to a path + */ +export declare const localizePath: (path?: string, locale?: string | null, base?: string) => string; +/** + * Injects the given locale to a url + */ +export declare const localizeUrl: (url: string, locale?: string | null, base?: string) => string; +/** + * Returns the locale detected from a given path + */ +export declare const detectLocaleFromPath: (path: string) => string; +export declare const deeplyStringifyObject: (obj: object | Array) => string; diff --git a/node_modules/astro-i18next/node_modules/i18next/LICENSE b/node_modules/astro-i18next/node_modules/i18next/LICENSE new file mode 100644 index 00000000..5d9413f5 --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2022 i18next + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. diff --git a/node_modules/astro-i18next/node_modules/i18next/README.md b/node_modules/astro-i18next/node_modules/i18next/README.md new file mode 100644 index 00000000..e66516a9 --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/README.md @@ -0,0 +1,63 @@ +# i18next: learn once - translate everywhere [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Awesome%20i18next:%20learn%20once%20-%20translate%20everywhere%20-%20the%20internationalization%20ecosystem%20&url=https://github.com/i18next/i18next&via=jamuhl&hashtags=i18n,javascript,dev) + +[![CircleCI](https://circleci.com/gh/i18next/i18next.svg?style=svg)](https://circleci.com/gh/i18next/i18next) +[![Code Climate](https://codeclimate.com/github/codeclimate/codeclimate/badges/gpa.svg)](https://codeclimate.com/github/i18next/i18next) +[![Coveralls](https://img.shields.io/coveralls/i18next/i18next/master.svg?style=flat-square)](https://coveralls.io/github/i18next/i18next) +[![Package Quality](https://packagequality.com/shield/i18next.svg)](https://packagequality.com/#?package=i18next) +[![cdnjs version](https://img.shields.io/cdnjs/v/i18next.svg?style=flat-square)](https://cdnjs.com/libraries/i18next) +[![npm version](https://img.shields.io/npm/v/i18next.svg?style=flat-square)](https://www.npmjs.com/package/i18next) +![npm](https://img.shields.io/npm/dw/i18next) + +i18next is a very popular internationalization framework for browser or any other javascript environment (eg. Node.js, Deno). + +![ecosystem](https://raw.githubusercontent.com/i18next/i18next/master/assets/i18next-ecosystem.jpg) + +i18next provides: + +- Flexible connection to [backend](https://www.i18next.com/overview/plugins-and-utils#backends) (loading translations via xhr, ...) +- Optional [caching](https://www.i18next.com/how-to/caching), user [language detection](https://www.i18next.com/overview/plugins-and-utils#language-detector), ... +- Proper [pluralizations](https://www.i18next.com/translation-function/plurals) +- Translation [context](https://www.i18next.com/translation-function/context) +- [Nesting](https://www.i18next.com/translation-function/nesting), [Variable replacement](https://www.i18next.com/translation-function/interpolation) +- Flexibility: [Use it everywhere](https://www.i18next.com/overview/supported-frameworks) +- Extensibility: eg. [sprintf](https://www.i18next.com/overview/plugins-and-utils#post-processors) +- ... + +For more information visit the website: + +- [Getting started](https://www.i18next.com/overview/getting-started) +- [Translation Functionality](https://www.i18next.com/translation-function/essentials) +- [API](https://www.i18next.com/overview/api) + +Our focus is providing the core to building a booming ecosystem. Independent of the building blocks you choose, be it react, angular or even good old jquery proper translation capabilities are just [one step away](https://www.i18next.com/overview/supported-frameworks). + +### Documentation + +The general i18next documentation is published on [www.i18next.com](https://www.i18next.com) and PR changes can be supplied [here](https://github.com/i18next/i18next-gitbook). + +The react specific documentation is published on [react.i18next.com](https://react.i18next.com) and PR changes can be supplied [here](https://github.com/i18next/react-i18next-gitbook). + +--- + +

Gold Sponsors

+ +

+ + + + + + +

+ +--- + +**From the creators of i18next: localization as a service - locize.com** + +A translation management system built around the i18next ecosystem - [locize.com](https://locize.com). + +![locize](https://locize.com/img/ads/github_locize.png) + +With using [locize](https://locize.com/?utm_source=i18next_readme&utm_medium=github) you directly support the future of i18next. + +--- diff --git a/node_modules/astro-i18next/node_modules/i18next/dist/cjs/i18next.js b/node_modules/astro-i18next/node_modules/i18next/dist/cjs/i18next.js new file mode 100644 index 00000000..db2ff189 --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/dist/cjs/i18next.js @@ -0,0 +1,2514 @@ +'use strict'; + +var _typeof = require('@babel/runtime/helpers/typeof'); +var _classCallCheck = require('@babel/runtime/helpers/classCallCheck'); +var _createClass = require('@babel/runtime/helpers/createClass'); +var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized'); +var _inherits = require('@babel/runtime/helpers/inherits'); +var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn'); +var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf'); +var _defineProperty = require('@babel/runtime/helpers/defineProperty'); +var _toArray = require('@babel/runtime/helpers/toArray'); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof); +var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck); +var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass); +var _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized); +var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits); +var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn); +var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf); +var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty); +var _toArray__default = /*#__PURE__*/_interopDefaultLegacy(_toArray); + +function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +var consoleLogger = { + type: 'logger', + log: function log(args) { + this.output('log', args); + }, + warn: function warn(args) { + this.output('warn', args); + }, + error: function error(args) { + this.output('error', args); + }, + output: function output(type, args) { + if (console && console[type]) console[type].apply(console, args); + } +}; +var Logger = function () { + function Logger(concreteLogger) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck__default["default"](this, Logger); + this.init(concreteLogger, options); + } + _createClass__default["default"](Logger, [{ + key: "init", + value: function init(concreteLogger) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + this.prefix = options.prefix || 'i18next:'; + this.logger = concreteLogger || consoleLogger; + this.options = options; + this.debug = options.debug; + } + }, { + key: "setDebug", + value: function setDebug(bool) { + this.debug = bool; + } + }, { + key: "log", + value: function log() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return this.forward(args, 'log', '', true); + } + }, { + key: "warn", + value: function warn() { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + return this.forward(args, 'warn', '', true); + } + }, { + key: "error", + value: function error() { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + return this.forward(args, 'error', ''); + } + }, { + key: "deprecate", + value: function deprecate() { + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true); + } + }, { + key: "forward", + value: function forward(args, lvl, prefix, debugOnly) { + if (debugOnly && !this.debug) return null; + if (typeof args[0] === 'string') args[0] = "".concat(prefix).concat(this.prefix, " ").concat(args[0]); + return this.logger[lvl](args); + } + }, { + key: "create", + value: function create(moduleName) { + return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, { + prefix: "".concat(this.prefix, ":").concat(moduleName, ":") + }), this.options)); + } + }, { + key: "clone", + value: function clone(options) { + options = options || this.options; + options.prefix = options.prefix || this.prefix; + return new Logger(this.logger, options); + } + }]); + return Logger; +}(); +var baseLogger = new Logger(); + +var EventEmitter = function () { + function EventEmitter() { + _classCallCheck__default["default"](this, EventEmitter); + this.observers = {}; + } + _createClass__default["default"](EventEmitter, [{ + key: "on", + value: function on(events, listener) { + var _this = this; + events.split(' ').forEach(function (event) { + _this.observers[event] = _this.observers[event] || []; + _this.observers[event].push(listener); + }); + return this; + } + }, { + key: "off", + value: function off(event, listener) { + if (!this.observers[event]) return; + if (!listener) { + delete this.observers[event]; + return; + } + this.observers[event] = this.observers[event].filter(function (l) { + return l !== listener; + }); + } + }, { + key: "emit", + value: function emit(event) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + if (this.observers[event]) { + var cloned = [].concat(this.observers[event]); + cloned.forEach(function (observer) { + observer.apply(void 0, args); + }); + } + if (this.observers['*']) { + var _cloned = [].concat(this.observers['*']); + _cloned.forEach(function (observer) { + observer.apply(observer, [event].concat(args)); + }); + } + } + }]); + return EventEmitter; +}(); + +function defer() { + var res; + var rej; + var promise = new Promise(function (resolve, reject) { + res = resolve; + rej = reject; + }); + promise.resolve = res; + promise.reject = rej; + return promise; +} +function makeString(object) { + if (object == null) return ''; + return '' + object; +} +function copy(a, s, t) { + a.forEach(function (m) { + if (s[m]) t[m] = s[m]; + }); +} +function getLastOfPath(object, path, Empty) { + function cleanKey(key) { + return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key; + } + function canNotTraverseDeeper() { + return !object || typeof object === 'string'; + } + var stack = typeof path !== 'string' ? [].concat(path) : path.split('.'); + while (stack.length > 1) { + if (canNotTraverseDeeper()) return {}; + var key = cleanKey(stack.shift()); + if (!object[key] && Empty) object[key] = new Empty(); + if (Object.prototype.hasOwnProperty.call(object, key)) { + object = object[key]; + } else { + object = {}; + } + } + if (canNotTraverseDeeper()) return {}; + return { + obj: object, + k: cleanKey(stack.shift()) + }; +} +function setPath(object, path, newValue) { + var _getLastOfPath = getLastOfPath(object, path, Object), + obj = _getLastOfPath.obj, + k = _getLastOfPath.k; + obj[k] = newValue; +} +function pushPath(object, path, newValue, concat) { + var _getLastOfPath2 = getLastOfPath(object, path, Object), + obj = _getLastOfPath2.obj, + k = _getLastOfPath2.k; + obj[k] = obj[k] || []; + if (concat) obj[k] = obj[k].concat(newValue); + if (!concat) obj[k].push(newValue); +} +function getPath(object, path) { + var _getLastOfPath3 = getLastOfPath(object, path), + obj = _getLastOfPath3.obj, + k = _getLastOfPath3.k; + if (!obj) return undefined; + return obj[k]; +} +function getPathWithDefaults(data, defaultData, key) { + var value = getPath(data, key); + if (value !== undefined) { + return value; + } + return getPath(defaultData, key); +} +function deepExtend(target, source, overwrite) { + for (var prop in source) { + if (prop !== '__proto__' && prop !== 'constructor') { + if (prop in target) { + if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) { + if (overwrite) target[prop] = source[prop]; + } else { + deepExtend(target[prop], source[prop], overwrite); + } + } else { + target[prop] = source[prop]; + } + } + } + return target; +} +function regexEscape(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); +} +var _entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' +}; +function escape(data) { + if (typeof data === 'string') { + return data.replace(/[&<>"'\/]/g, function (s) { + return _entityMap[s]; + }); + } + return data; +} +var isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1; +var chars = [' ', ',', '?', '!', ';']; +function looksLikeObjectPath(key, nsSeparator, keySeparator) { + nsSeparator = nsSeparator || ''; + keySeparator = keySeparator || ''; + var possibleChars = chars.filter(function (c) { + return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0; + }); + if (possibleChars.length === 0) return true; + var r = new RegExp("(".concat(possibleChars.map(function (c) { + return c === '?' ? '\\?' : c; + }).join('|'), ")")); + var matched = !r.test(key); + if (!matched) { + var ki = key.indexOf(keySeparator); + if (ki > 0 && !r.test(key.substring(0, ki))) { + matched = true; + } + } + return matched; +} +function deepFind(obj, path) { + var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.'; + if (!obj) return undefined; + if (obj[path]) return obj[path]; + var paths = path.split(keySeparator); + var current = obj; + for (var i = 0; i < paths.length; ++i) { + if (!current) return undefined; + if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) { + return undefined; + } + if (current[paths[i]] === undefined) { + var j = 2; + var p = paths.slice(i, i + j).join(keySeparator); + var mix = current[p]; + while (mix === undefined && paths.length > i + j) { + j++; + p = paths.slice(i, i + j).join(keySeparator); + mix = current[p]; + } + if (mix === undefined) return undefined; + if (mix === null) return null; + if (path.endsWith(p)) { + if (typeof mix === 'string') return mix; + if (p && typeof mix[p] === 'string') return mix[p]; + } + var joinedPath = paths.slice(i + j).join(keySeparator); + if (joinedPath) return deepFind(mix, joinedPath, keySeparator); + return undefined; + } + current = current[paths[i]]; + } + return current; +} + +function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; } +function _isNativeReflectConstruct$3() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +var ResourceStore = function (_EventEmitter) { + _inherits__default["default"](ResourceStore, _EventEmitter); + var _super = _createSuper$3(ResourceStore); + function ResourceStore(data) { + var _this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + ns: ['translation'], + defaultNS: 'translation' + }; + _classCallCheck__default["default"](this, ResourceStore); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized__default["default"](_this)); + } + _this.data = data || {}; + _this.options = options; + if (_this.options.keySeparator === undefined) { + _this.options.keySeparator = '.'; + } + if (_this.options.ignoreJSONStructure === undefined) { + _this.options.ignoreJSONStructure = true; + } + return _this; + } + _createClass__default["default"](ResourceStore, [{ + key: "addNamespaces", + value: function addNamespaces(ns) { + if (this.options.ns.indexOf(ns) < 0) { + this.options.ns.push(ns); + } + } + }, { + key: "removeNamespaces", + value: function removeNamespaces(ns) { + var index = this.options.ns.indexOf(ns); + if (index > -1) { + this.options.ns.splice(index, 1); + } + } + }, { + key: "getResource", + value: function getResource(lng, ns, key) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure; + var path = [lng, ns]; + if (key && typeof key !== 'string') path = path.concat(key); + if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + } + var result = getPath(this.data, path); + if (result || !ignoreJSONStructure || typeof key !== 'string') return result; + return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator); + } + }, { + key: "addResource", + value: function addResource(lng, ns, key, value) { + var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { + silent: false + }; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var path = [lng, ns]; + if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + value = ns; + ns = path[1]; + } + this.addNamespaces(ns); + setPath(this.data, path, value); + if (!options.silent) this.emit('added', lng, ns, key, value); + } + }, { + key: "addResources", + value: function addResources(lng, ns, resources) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { + silent: false + }; + for (var m in resources) { + if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], { + silent: true + }); + } + if (!options.silent) this.emit('added', lng, ns, resources); + } + }, { + key: "addResourceBundle", + value: function addResourceBundle(lng, ns, resources, deep, overwrite) { + var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : { + silent: false + }; + var path = [lng, ns]; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + deep = resources; + resources = ns; + ns = path[1]; + } + this.addNamespaces(ns); + var pack = getPath(this.data, path) || {}; + if (deep) { + deepExtend(pack, resources, overwrite); + } else { + pack = _objectSpread$5(_objectSpread$5({}, pack), resources); + } + setPath(this.data, path, pack); + if (!options.silent) this.emit('added', lng, ns, resources); + } + }, { + key: "removeResourceBundle", + value: function removeResourceBundle(lng, ns) { + if (this.hasResourceBundle(lng, ns)) { + delete this.data[lng][ns]; + } + this.removeNamespaces(ns); + this.emit('removed', lng, ns); + } + }, { + key: "hasResourceBundle", + value: function hasResourceBundle(lng, ns) { + return this.getResource(lng, ns) !== undefined; + } + }, { + key: "getResourceBundle", + value: function getResourceBundle(lng, ns) { + if (!ns) ns = this.options.defaultNS; + if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns)); + return this.getResource(lng, ns); + } + }, { + key: "getDataByLanguage", + value: function getDataByLanguage(lng) { + return this.data[lng]; + } + }, { + key: "hasLanguageSomeTranslations", + value: function hasLanguageSomeTranslations(lng) { + var data = this.getDataByLanguage(lng); + var n = data && Object.keys(data) || []; + return !!n.find(function (v) { + return data[v] && Object.keys(data[v]).length > 0; + }); + } + }, { + key: "toJSON", + value: function toJSON() { + return this.data; + } + }]); + return ResourceStore; +}(EventEmitter); + +var postProcessor = { + processors: {}, + addPostProcessor: function addPostProcessor(module) { + this.processors[module.name] = module; + }, + handle: function handle(processors, value, key, options, translator) { + var _this = this; + processors.forEach(function (processor) { + if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator); + }); + return value; + } +}; + +function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; } +function _isNativeReflectConstruct$2() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +var checkedLoadedFor = {}; +var Translator = function (_EventEmitter) { + _inherits__default["default"](Translator, _EventEmitter); + var _super = _createSuper$2(Translator); + function Translator(services) { + var _this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck__default["default"](this, Translator); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized__default["default"](_this)); + } + copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default["default"](_this)); + _this.options = options; + if (_this.options.keySeparator === undefined) { + _this.options.keySeparator = '.'; + } + _this.logger = baseLogger.create('translator'); + return _this; + } + _createClass__default["default"](Translator, [{ + key: "changeLanguage", + value: function changeLanguage(lng) { + if (lng) this.language = lng; + } + }, { + key: "exists", + value: function exists(key) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + interpolation: {} + }; + if (key === undefined || key === null) { + return false; + } + var resolved = this.resolve(key, options); + return resolved && resolved.res !== undefined; + } + }, { + key: "extractFromKey", + value: function extractFromKey(key, options) { + var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var namespaces = options.ns || this.options.defaultNS || []; + var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1; + var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator); + if (wouldCheckForNsInKey && !seemsNaturalLanguage) { + var m = key.match(this.interpolator.nestingRegexp); + if (m && m.length > 0) { + return { + key: key, + namespaces: namespaces + }; + } + var parts = key.split(nsSeparator); + if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift(); + key = parts.join(keySeparator); + } + if (typeof namespaces === 'string') namespaces = [namespaces]; + return { + key: key, + namespaces: namespaces + }; + } + }, { + key: "translate", + value: function translate(keys, options, lastKey) { + var _this2 = this; + if (_typeof__default["default"](options) !== 'object' && this.options.overloadTranslationOptionHandler) { + options = this.options.overloadTranslationOptionHandler(arguments); + } + if (_typeof__default["default"](options) === 'object') options = _objectSpread$4({}, options); + if (!options) options = {}; + if (keys === undefined || keys === null) return ''; + if (!Array.isArray(keys)) keys = [String(keys)]; + var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options), + key = _this$extractFromKey.key, + namespaces = _this$extractFromKey.namespaces; + var namespace = namespaces[namespaces.length - 1]; + var lng = options.lng || this.language; + var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode; + if (lng && lng.toLowerCase() === 'cimode') { + if (appendNamespaceToCIMode) { + var nsSeparator = options.nsSeparator || this.options.nsSeparator; + if (returnDetails) { + return { + res: "".concat(namespace).concat(nsSeparator).concat(key), + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace + }; + } + return "".concat(namespace).concat(nsSeparator).concat(key); + } + if (returnDetails) { + return { + res: key, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace + }; + } + return key; + } + var resolved = this.resolve(keys, options); + var res = resolved && resolved.res; + var resUsedKey = resolved && resolved.usedKey || key; + var resExactUsedKey = resolved && resolved.exactUsedKey || key; + var resType = Object.prototype.toString.apply(res); + var noObject = ['[object Number]', '[object Function]', '[object RegExp]']; + var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays; + var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject; + var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number'; + if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) { + if (!options.returnObjects && !this.options.returnObjects) { + if (!this.options.returnedObjectHandler) { + this.logger.warn('accessing an object - but returnObjects options is not enabled!'); + } + var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, { + ns: namespaces + })) : "key '".concat(key, " (").concat(this.language, ")' returned an object instead of string."); + if (returnDetails) { + resolved.res = r; + return resolved; + } + return r; + } + if (keySeparator) { + var resTypeIsArray = resType === '[object Array]'; + var copy = resTypeIsArray ? [] : {}; + var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey; + for (var m in res) { + if (Object.prototype.hasOwnProperty.call(res, m)) { + var deepKey = "".concat(newKeyToUse).concat(keySeparator).concat(m); + copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), { + joinArrays: false, + ns: namespaces + })); + if (copy[m] === deepKey) copy[m] = res[m]; + } + } + res = copy; + } + } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') { + res = res.join(joinArrays); + if (res) res = this.extendTranslation(res, keys, options, lastKey); + } else { + var usedDefault = false; + var usedKey = false; + var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string'; + var hasDefaultValue = Translator.hasDefaultValue(options); + var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : ''; + var defaultValue = options["defaultValue".concat(defaultValueSuffix)] || options.defaultValue; + if (!this.isValidLookup(res) && hasDefaultValue) { + usedDefault = true; + res = defaultValue; + } + if (!this.isValidLookup(res)) { + usedKey = true; + res = key; + } + var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey; + var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res; + var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing; + if (usedKey || usedDefault || updateMissing) { + this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res); + if (keySeparator) { + var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, { + keySeparator: false + })); + if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.'); + } + var lngs = []; + var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language); + if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) { + for (var i = 0; i < fallbackLngs.length; i++) { + lngs.push(fallbackLngs[i]); + } + } else if (this.options.saveMissingTo === 'all') { + lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language); + } else { + lngs.push(options.lng || this.language); + } + var send = function send(l, k, specificDefaultValue) { + var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing; + if (_this2.options.missingKeyHandler) { + _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options); + } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) { + _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options); + } + _this2.emit('missingKey', l, namespace, k, res); + }; + if (this.options.saveMissing) { + if (this.options.saveMissingPlurals && needsPluralHandling) { + lngs.forEach(function (language) { + _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) { + send([language], key + suffix, options["defaultValue".concat(suffix)] || defaultValue); + }); + }); + } else { + send(lngs, key, defaultValue); + } + } + } + res = this.extendTranslation(res, keys, options, resolved, lastKey); + if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = "".concat(namespace, ":").concat(key); + if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) { + if (this.options.compatibilityAPI !== 'v1') { + res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? "".concat(namespace, ":").concat(key) : key, usedDefault ? res : undefined); + } else { + res = this.options.parseMissingKeyHandler(res); + } + } + } + if (returnDetails) { + resolved.res = res; + return resolved; + } + return res; + } + }, { + key: "extendTranslation", + value: function extendTranslation(res, key, options, resolved, lastKey) { + var _this3 = this; + if (this.i18nFormat && this.i18nFormat.parse) { + res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, { + resolved: resolved + }); + } else if (!options.skipInterpolation) { + if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), { + interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation) + })); + var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables); + var nestBef; + if (skipOnVariables) { + var nb = res.match(this.interpolator.nestingRegexp); + nestBef = nb && nb.length; + } + var data = options.replace && typeof options.replace !== 'string' ? options.replace : options; + if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data); + res = this.interpolator.interpolate(res, data, options.lng || this.language, options); + if (skipOnVariables) { + var na = res.match(this.interpolator.nestingRegexp); + var nestAft = na && na.length; + if (nestBef < nestAft) options.nest = false; + } + if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng; + if (options.nest !== false) res = this.interpolator.nest(res, function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + if (lastKey && lastKey[0] === args[0] && !options.context) { + _this3.logger.warn("It seems you are nesting recursively key: ".concat(args[0], " in key: ").concat(key[0])); + return null; + } + return _this3.translate.apply(_this3, args.concat([key])); + }, options); + if (options.interpolation) this.interpolator.reset(); + } + var postProcess = options.postProcess || this.options.postProcess; + var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess; + if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) { + res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({ + i18nResolved: resolved + }, options) : options, this); + } + return res; + } + }, { + key: "resolve", + value: function resolve(keys) { + var _this4 = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var found; + var usedKey; + var exactUsedKey; + var usedLng; + var usedNS; + if (typeof keys === 'string') keys = [keys]; + keys.forEach(function (k) { + if (_this4.isValidLookup(found)) return; + var extracted = _this4.extractFromKey(k, options); + var key = extracted.key; + usedKey = key; + var namespaces = extracted.namespaces; + if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS); + var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string'; + var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi(); + var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== ''; + var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng); + namespaces.forEach(function (ns) { + if (_this4.isValidLookup(found)) return; + usedNS = ns; + if (!checkedLoadedFor["".concat(codes[0], "-").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) { + checkedLoadedFor["".concat(codes[0], "-").concat(ns)] = true; + _this4.logger.warn("key \"".concat(usedKey, "\" for languages \"").concat(codes.join(', '), "\" won't get resolved as namespace \"").concat(usedNS, "\" was not yet loaded"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + } + codes.forEach(function (code) { + if (_this4.isValidLookup(found)) return; + usedLng = code; + var finalKeys = [key]; + if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) { + _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options); + } else { + var pluralSuffix; + if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options); + var zeroSuffix = "".concat(_this4.options.pluralSeparator, "zero"); + if (needsPluralHandling) { + finalKeys.push(key + pluralSuffix); + if (needsZeroSuffixLookup) { + finalKeys.push(key + zeroSuffix); + } + } + if (needsContextHandling) { + var contextKey = "".concat(key).concat(_this4.options.contextSeparator).concat(options.context); + finalKeys.push(contextKey); + if (needsPluralHandling) { + finalKeys.push(contextKey + pluralSuffix); + if (needsZeroSuffixLookup) { + finalKeys.push(contextKey + zeroSuffix); + } + } + } + } + var possibleKey; + while (possibleKey = finalKeys.pop()) { + if (!_this4.isValidLookup(found)) { + exactUsedKey = possibleKey; + found = _this4.getResource(code, ns, possibleKey, options); + } + } + }); + }); + }); + return { + res: found, + usedKey: usedKey, + exactUsedKey: exactUsedKey, + usedLng: usedLng, + usedNS: usedNS + }; + } + }, { + key: "isValidLookup", + value: function isValidLookup(res) { + return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === ''); + } + }, { + key: "getResource", + value: function getResource(code, ns, key) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options); + return this.resourceStore.getResource(code, ns, key, options); + } + }], [{ + key: "hasDefaultValue", + value: function hasDefaultValue(options) { + var prefix = 'defaultValue'; + for (var option in options) { + if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) { + return true; + } + } + return false; + } + }]); + return Translator; +}(EventEmitter); + +function capitalize(string) { + return string.charAt(0).toUpperCase() + string.slice(1); +} +var LanguageUtil = function () { + function LanguageUtil(options) { + _classCallCheck__default["default"](this, LanguageUtil); + this.options = options; + this.supportedLngs = this.options.supportedLngs || false; + this.logger = baseLogger.create('languageUtils'); + } + _createClass__default["default"](LanguageUtil, [{ + key: "getScriptPartFromCode", + value: function getScriptPartFromCode(code) { + if (!code || code.indexOf('-') < 0) return null; + var p = code.split('-'); + if (p.length === 2) return null; + p.pop(); + if (p[p.length - 1].toLowerCase() === 'x') return null; + return this.formatLanguageCode(p.join('-')); + } + }, { + key: "getLanguagePartFromCode", + value: function getLanguagePartFromCode(code) { + if (!code || code.indexOf('-') < 0) return code; + var p = code.split('-'); + return this.formatLanguageCode(p[0]); + } + }, { + key: "formatLanguageCode", + value: function formatLanguageCode(code) { + if (typeof code === 'string' && code.indexOf('-') > -1) { + var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab']; + var p = code.split('-'); + if (this.options.lowerCaseLng) { + p = p.map(function (part) { + return part.toLowerCase(); + }); + } else if (p.length === 2) { + p[0] = p[0].toLowerCase(); + p[1] = p[1].toUpperCase(); + if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase()); + } else if (p.length === 3) { + p[0] = p[0].toLowerCase(); + if (p[1].length === 2) p[1] = p[1].toUpperCase(); + if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase(); + if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase()); + if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase()); + } + return p.join('-'); + } + return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code; + } + }, { + key: "isSupportedCode", + value: function isSupportedCode(code) { + if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) { + code = this.getLanguagePartFromCode(code); + } + return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1; + } + }, { + key: "getBestMatchFromCodes", + value: function getBestMatchFromCodes(codes) { + var _this = this; + if (!codes) return null; + var found; + codes.forEach(function (code) { + if (found) return; + var cleanedLng = _this.formatLanguageCode(code); + if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng; + }); + if (!found && this.options.supportedLngs) { + codes.forEach(function (code) { + if (found) return; + var lngOnly = _this.getLanguagePartFromCode(code); + if (_this.isSupportedCode(lngOnly)) return found = lngOnly; + found = _this.options.supportedLngs.find(function (supportedLng) { + if (supportedLng === lngOnly) return supportedLng; + if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return; + if (supportedLng.indexOf(lngOnly) === 0) return supportedLng; + }); + }); + } + if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0]; + return found; + } + }, { + key: "getFallbackCodes", + value: function getFallbackCodes(fallbacks, code) { + if (!fallbacks) return []; + if (typeof fallbacks === 'function') fallbacks = fallbacks(code); + if (typeof fallbacks === 'string') fallbacks = [fallbacks]; + if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks; + if (!code) return fallbacks["default"] || []; + var found = fallbacks[code]; + if (!found) found = fallbacks[this.getScriptPartFromCode(code)]; + if (!found) found = fallbacks[this.formatLanguageCode(code)]; + if (!found) found = fallbacks[this.getLanguagePartFromCode(code)]; + if (!found) found = fallbacks["default"]; + return found || []; + } + }, { + key: "toResolveHierarchy", + value: function toResolveHierarchy(code, fallbackCode) { + var _this2 = this; + var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code); + var codes = []; + var addCode = function addCode(c) { + if (!c) return; + if (_this2.isSupportedCode(c)) { + codes.push(c); + } else { + _this2.logger.warn("rejecting language code not found in supportedLngs: ".concat(c)); + } + }; + if (typeof code === 'string' && code.indexOf('-') > -1) { + if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code)); + if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code)); + if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code)); + } else if (typeof code === 'string') { + addCode(this.formatLanguageCode(code)); + } + fallbackCodes.forEach(function (fc) { + if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc)); + }); + return codes; + } + }]); + return LanguageUtil; +}(); + +var sets = [{ + lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'], + nr: [1, 2], + fc: 1 +}, { + lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'], + nr: [1, 2], + fc: 2 +}, { + lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'], + nr: [1], + fc: 3 +}, { + lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'], + nr: [1, 2, 5], + fc: 4 +}, { + lngs: ['ar'], + nr: [0, 1, 2, 3, 11, 100], + fc: 5 +}, { + lngs: ['cs', 'sk'], + nr: [1, 2, 5], + fc: 6 +}, { + lngs: ['csb', 'pl'], + nr: [1, 2, 5], + fc: 7 +}, { + lngs: ['cy'], + nr: [1, 2, 3, 8], + fc: 8 +}, { + lngs: ['fr'], + nr: [1, 2], + fc: 9 +}, { + lngs: ['ga'], + nr: [1, 2, 3, 7, 11], + fc: 10 +}, { + lngs: ['gd'], + nr: [1, 2, 3, 20], + fc: 11 +}, { + lngs: ['is'], + nr: [1, 2], + fc: 12 +}, { + lngs: ['jv'], + nr: [0, 1], + fc: 13 +}, { + lngs: ['kw'], + nr: [1, 2, 3, 4], + fc: 14 +}, { + lngs: ['lt'], + nr: [1, 2, 10], + fc: 15 +}, { + lngs: ['lv'], + nr: [1, 2, 0], + fc: 16 +}, { + lngs: ['mk'], + nr: [1, 2], + fc: 17 +}, { + lngs: ['mnk'], + nr: [0, 1, 2], + fc: 18 +}, { + lngs: ['mt'], + nr: [1, 2, 11, 20], + fc: 19 +}, { + lngs: ['or'], + nr: [2, 1], + fc: 2 +}, { + lngs: ['ro'], + nr: [1, 2, 20], + fc: 20 +}, { + lngs: ['sl'], + nr: [5, 1, 2, 3], + fc: 21 +}, { + lngs: ['he', 'iw'], + nr: [1, 2, 20, 21], + fc: 22 +}]; +var _rulesPluralsTypes = { + 1: function _(n) { + return Number(n > 1); + }, + 2: function _(n) { + return Number(n != 1); + }, + 3: function _(n) { + return 0; + }, + 4: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 5: function _(n) { + return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5); + }, + 6: function _(n) { + return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2); + }, + 7: function _(n) { + return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 8: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3); + }, + 9: function _(n) { + return Number(n >= 2); + }, + 10: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4); + }, + 11: function _(n) { + return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3); + }, + 12: function _(n) { + return Number(n % 10 != 1 || n % 100 == 11); + }, + 13: function _(n) { + return Number(n !== 0); + }, + 14: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3); + }, + 15: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 16: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2); + }, + 17: function _(n) { + return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1); + }, + 18: function _(n) { + return Number(n == 0 ? 0 : n == 1 ? 1 : 2); + }, + 19: function _(n) { + return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3); + }, + 20: function _(n) { + return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2); + }, + 21: function _(n) { + return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0); + }, + 22: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3); + } +}; +var deprecatedJsonVersions = ['v1', 'v2', 'v3']; +var suffixesOrder = { + zero: 0, + one: 1, + two: 2, + few: 3, + many: 4, + other: 5 +}; +function createRules() { + var rules = {}; + sets.forEach(function (set) { + set.lngs.forEach(function (l) { + rules[l] = { + numbers: set.nr, + plurals: _rulesPluralsTypes[set.fc] + }; + }); + }); + return rules; +} +var PluralResolver = function () { + function PluralResolver(languageUtils) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck__default["default"](this, PluralResolver); + this.languageUtils = languageUtils; + this.options = options; + this.logger = baseLogger.create('pluralResolver'); + if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) { + this.options.compatibilityJSON = 'v3'; + this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.'); + } + this.rules = createRules(); + } + _createClass__default["default"](PluralResolver, [{ + key: "addRule", + value: function addRule(lng, obj) { + this.rules[lng] = obj; + } + }, { + key: "getRule", + value: function getRule(code) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (this.shouldUseIntlApi()) { + try { + return new Intl.PluralRules(code, { + type: options.ordinal ? 'ordinal' : 'cardinal' + }); + } catch (_unused) { + return; + } + } + return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)]; + } + }, { + key: "needsPlural", + value: function needsPlural(code) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var rule = this.getRule(code, options); + if (this.shouldUseIntlApi()) { + return rule && rule.resolvedOptions().pluralCategories.length > 1; + } + return rule && rule.numbers.length > 1; + } + }, { + key: "getPluralFormsOfKey", + value: function getPluralFormsOfKey(code, key) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return this.getSuffixes(code, options).map(function (suffix) { + return "".concat(key).concat(suffix); + }); + } + }, { + key: "getSuffixes", + value: function getSuffixes(code) { + var _this = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var rule = this.getRule(code, options); + if (!rule) { + return []; + } + if (this.shouldUseIntlApi()) { + return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) { + return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]; + }).map(function (pluralCategory) { + return "".concat(_this.options.prepend).concat(pluralCategory); + }); + } + return rule.numbers.map(function (number) { + return _this.getSuffix(code, number, options); + }); + } + }, { + key: "getSuffix", + value: function getSuffix(code, count) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var rule = this.getRule(code, options); + if (rule) { + if (this.shouldUseIntlApi()) { + return "".concat(this.options.prepend).concat(rule.select(count)); + } + return this.getSuffixRetroCompatible(rule, count); + } + this.logger.warn("no plural rule found for: ".concat(code)); + return ''; + } + }, { + key: "getSuffixRetroCompatible", + value: function getSuffixRetroCompatible(rule, count) { + var _this2 = this; + var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count)); + var suffix = rule.numbers[idx]; + if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) { + if (suffix === 2) { + suffix = 'plural'; + } else if (suffix === 1) { + suffix = ''; + } + } + var returnSuffix = function returnSuffix() { + return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString(); + }; + if (this.options.compatibilityJSON === 'v1') { + if (suffix === 1) return ''; + if (typeof suffix === 'number') return "_plural_".concat(suffix.toString()); + return returnSuffix(); + } else if (this.options.compatibilityJSON === 'v2') { + return returnSuffix(); + } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) { + return returnSuffix(); + } + return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString(); + } + }, { + key: "shouldUseIntlApi", + value: function shouldUseIntlApi() { + return !deprecatedJsonVersions.includes(this.options.compatibilityJSON); + } + }]); + return PluralResolver; +}(); + +function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function deepFindWithDefaults(data, defaultData, key) { + var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.'; + var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; + var path = getPathWithDefaults(data, defaultData, key); + if (!path && ignoreJSONStructure && typeof key === 'string') { + path = deepFind(data, key, keySeparator); + if (path === undefined) path = deepFind(defaultData, key, keySeparator); + } + return path; +} +var Interpolator = function () { + function Interpolator() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck__default["default"](this, Interpolator); + this.logger = baseLogger.create('interpolator'); + this.options = options; + this.format = options.interpolation && options.interpolation.format || function (value) { + return value; + }; + this.init(options); + } + _createClass__default["default"](Interpolator, [{ + key: "init", + value: function init() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (!options.interpolation) options.interpolation = { + escapeValue: true + }; + var iOpts = options.interpolation; + this.escape = iOpts.escape !== undefined ? iOpts.escape : escape; + this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true; + this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false; + this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{'; + this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}'; + this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ','; + this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-'; + this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || ''; + this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t('); + this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')'); + this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ','; + this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000; + this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false; + this.resetRegExp(); + } + }, { + key: "reset", + value: function reset() { + if (this.options) this.init(this.options); + } + }, { + key: "resetRegExp", + value: function resetRegExp() { + var regexpStr = "".concat(this.prefix, "(.+?)").concat(this.suffix); + this.regexp = new RegExp(regexpStr, 'g'); + var regexpUnescapeStr = "".concat(this.prefix).concat(this.unescapePrefix, "(.+?)").concat(this.unescapeSuffix).concat(this.suffix); + this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g'); + var nestingRegexpStr = "".concat(this.nestingPrefix, "(.+?)").concat(this.nestingSuffix); + this.nestingRegexp = new RegExp(nestingRegexpStr, 'g'); + } + }, { + key: "interpolate", + value: function interpolate(str, data, lng, options) { + var _this = this; + var match; + var value; + var replaces; + var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}; + function regexSafe(val) { + return val.replace(/\$/g, '$$$$'); + } + var handleFormat = function handleFormat(key) { + if (key.indexOf(_this.formatSeparator) < 0) { + var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure); + return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, { + interpolationkey: key + })) : path; + } + var p = key.split(_this.formatSeparator); + var k = p.shift().trim(); + var f = p.join(_this.formatSeparator).trim(); + return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, { + interpolationkey: k + })); + }; + this.resetRegExp(); + var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler; + var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables; + var todos = [{ + regex: this.regexpUnescape, + safeValue: function safeValue(val) { + return regexSafe(val); + } + }, { + regex: this.regexp, + safeValue: function safeValue(val) { + return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val); + } + }]; + todos.forEach(function (todo) { + replaces = 0; + while (match = todo.regex.exec(str)) { + var matchedVar = match[1].trim(); + value = handleFormat(matchedVar); + if (value === undefined) { + if (typeof missingInterpolationHandler === 'function') { + var temp = missingInterpolationHandler(str, match, options); + value = typeof temp === 'string' ? temp : ''; + } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) { + value = ''; + } else if (skipOnVariables) { + value = match[0]; + continue; + } else { + _this.logger.warn("missed to pass in variable ".concat(matchedVar, " for interpolating ").concat(str)); + value = ''; + } + } else if (typeof value !== 'string' && !_this.useRawValueToEscape) { + value = makeString(value); + } + var safeValue = todo.safeValue(value); + str = str.replace(match[0], safeValue); + if (skipOnVariables) { + todo.regex.lastIndex += value.length; + todo.regex.lastIndex -= match[0].length; + } else { + todo.regex.lastIndex = 0; + } + replaces++; + if (replaces >= _this.maxReplaces) { + break; + } + } + }); + return str; + } + }, { + key: "nest", + value: function nest(str, fc) { + var _this2 = this; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var match; + var value; + var clonedOptions; + function handleHasOptions(key, inheritedOptions) { + var sep = this.nestingOptionsSeparator; + if (key.indexOf(sep) < 0) return key; + var c = key.split(new RegExp("".concat(sep, "[ ]*{"))); + var optionsString = "{".concat(c[1]); + key = c[0]; + optionsString = this.interpolate(optionsString, clonedOptions); + var matchedSingleQuotes = optionsString.match(/'/g); + var matchedDoubleQuotes = optionsString.match(/"/g); + if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) { + optionsString = optionsString.replace(/'/g, '"'); + } + try { + clonedOptions = JSON.parse(optionsString); + if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions); + } catch (e) { + this.logger.warn("failed parsing options string in nesting for key ".concat(key), e); + return "".concat(key).concat(sep).concat(optionsString); + } + delete clonedOptions.defaultValue; + return key; + } + while (match = this.nestingRegexp.exec(str)) { + var formatters = []; + clonedOptions = _objectSpread$3({}, options); + clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions; + clonedOptions.applyPostProcessor = false; + delete clonedOptions.defaultValue; + var doReduce = false; + if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) { + var r = match[1].split(this.formatSeparator).map(function (elem) { + return elem.trim(); + }); + match[1] = r.shift(); + formatters = r; + doReduce = true; + } + value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions); + if (value && match[0] === str && typeof value !== 'string') return value; + if (typeof value !== 'string') value = makeString(value); + if (!value) { + this.logger.warn("missed to resolve ".concat(match[1], " for nesting ").concat(str)); + value = ''; + } + if (doReduce) { + value = formatters.reduce(function (v, f) { + return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, { + interpolationkey: match[1].trim() + })); + }, value.trim()); + } + str = str.replace(match[0], value); + this.regexp.lastIndex = 0; + } + return str; + } + }]); + return Interpolator; +}(); + +function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function parseFormatStr(formatStr) { + var formatName = formatStr.toLowerCase().trim(); + var formatOptions = {}; + if (formatStr.indexOf('(') > -1) { + var p = formatStr.split('('); + formatName = p[0].toLowerCase().trim(); + var optStr = p[1].substring(0, p[1].length - 1); + if (formatName === 'currency' && optStr.indexOf(':') < 0) { + if (!formatOptions.currency) formatOptions.currency = optStr.trim(); + } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) { + if (!formatOptions.range) formatOptions.range = optStr.trim(); + } else { + var opts = optStr.split(';'); + opts.forEach(function (opt) { + if (!opt) return; + var _opt$split = opt.split(':'), + _opt$split2 = _toArray__default["default"](_opt$split), + key = _opt$split2[0], + rest = _opt$split2.slice(1); + var val = rest.join(':').trim().replace(/^'+|'+$/g, ''); + if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val; + if (val === 'false') formatOptions[key.trim()] = false; + if (val === 'true') formatOptions[key.trim()] = true; + if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10); + }); + } + } + return { + formatName: formatName, + formatOptions: formatOptions + }; +} +function createCachedFormatter(fn) { + var cache = {}; + return function invokeFormatter(val, lng, options) { + var key = lng + JSON.stringify(options); + var formatter = cache[key]; + if (!formatter) { + formatter = fn(lng, options); + cache[key] = formatter; + } + return formatter(val); + }; +} +var Formatter = function () { + function Formatter() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck__default["default"](this, Formatter); + this.logger = baseLogger.create('formatter'); + this.options = options; + this.formats = { + number: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }), + currency: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, { + style: 'currency' + })); + return function (val) { + return formatter.format(val); + }; + }), + datetime: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }), + relativetime: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val, opt.range || 'day'); + }; + }), + list: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }) + }; + this.init(options); + } + _createClass__default["default"](Formatter, [{ + key: "init", + value: function init(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + interpolation: {} + }; + var iOpts = options.interpolation; + this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ','; + } + }, { + key: "add", + value: function add(name, fc) { + this.formats[name.toLowerCase().trim()] = fc; + } + }, { + key: "addCached", + value: function addCached(name, fc) { + this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc); + } + }, { + key: "format", + value: function format(value, _format, lng) { + var _this = this; + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var formats = _format.split(this.formatSeparator); + var result = formats.reduce(function (mem, f) { + var _parseFormatStr = parseFormatStr(f), + formatName = _parseFormatStr.formatName, + formatOptions = _parseFormatStr.formatOptions; + if (_this.formats[formatName]) { + var formatted = mem; + try { + var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {}; + var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng; + formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions)); + } catch (error) { + _this.logger.warn(error); + } + return formatted; + } else { + _this.logger.warn("there was no format function for ".concat(formatName)); + } + return mem; + }, value); + return result; + } + }]); + return Formatter; +}(); + +function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; } +function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function removePending(q, name) { + if (q.pending[name] !== undefined) { + delete q.pending[name]; + q.pendingCount--; + } +} +var Connector = function (_EventEmitter) { + _inherits__default["default"](Connector, _EventEmitter); + var _super = _createSuper$1(Connector); + function Connector(backend, store, services) { + var _this; + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + _classCallCheck__default["default"](this, Connector); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized__default["default"](_this)); + } + _this.backend = backend; + _this.store = store; + _this.services = services; + _this.languageUtils = services.languageUtils; + _this.options = options; + _this.logger = baseLogger.create('backendConnector'); + _this.waitingReads = []; + _this.maxParallelReads = options.maxParallelReads || 10; + _this.readingCalls = 0; + _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5; + _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350; + _this.state = {}; + _this.queue = []; + if (_this.backend && _this.backend.init) { + _this.backend.init(services, options.backend, options); + } + return _this; + } + _createClass__default["default"](Connector, [{ + key: "queueLoad", + value: function queueLoad(languages, namespaces, options, callback) { + var _this2 = this; + var toLoad = {}; + var pending = {}; + var toLoadLanguages = {}; + var toLoadNamespaces = {}; + languages.forEach(function (lng) { + var hasAllNamespaces = true; + namespaces.forEach(function (ns) { + var name = "".concat(lng, "|").concat(ns); + if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) { + _this2.state[name] = 2; + } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) { + if (pending[name] === undefined) pending[name] = true; + } else { + _this2.state[name] = 1; + hasAllNamespaces = false; + if (pending[name] === undefined) pending[name] = true; + if (toLoad[name] === undefined) toLoad[name] = true; + if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true; + } + }); + if (!hasAllNamespaces) toLoadLanguages[lng] = true; + }); + if (Object.keys(toLoad).length || Object.keys(pending).length) { + this.queue.push({ + pending: pending, + pendingCount: Object.keys(pending).length, + loaded: {}, + errors: [], + callback: callback + }); + } + return { + toLoad: Object.keys(toLoad), + pending: Object.keys(pending), + toLoadLanguages: Object.keys(toLoadLanguages), + toLoadNamespaces: Object.keys(toLoadNamespaces) + }; + } + }, { + key: "loaded", + value: function loaded(name, err, data) { + var s = name.split('|'); + var lng = s[0]; + var ns = s[1]; + if (err) this.emit('failedLoading', lng, ns, err); + if (data) { + this.store.addResourceBundle(lng, ns, data); + } + this.state[name] = err ? -1 : 2; + var loaded = {}; + this.queue.forEach(function (q) { + pushPath(q.loaded, [lng], ns); + removePending(q, name); + if (err) q.errors.push(err); + if (q.pendingCount === 0 && !q.done) { + Object.keys(q.loaded).forEach(function (l) { + if (!loaded[l]) loaded[l] = {}; + var loadedKeys = q.loaded[l]; + if (loadedKeys.length) { + loadedKeys.forEach(function (n) { + if (loaded[l][n] === undefined) loaded[l][n] = true; + }); + } + }); + q.done = true; + if (q.errors.length) { + q.callback(q.errors); + } else { + q.callback(); + } + } + }); + this.emit('loaded', loaded); + this.queue = this.queue.filter(function (q) { + return !q.done; + }); + } + }, { + key: "read", + value: function read(lng, ns, fcName) { + var _this3 = this; + var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout; + var callback = arguments.length > 5 ? arguments[5] : undefined; + if (!lng.length) return callback(null, {}); + if (this.readingCalls >= this.maxParallelReads) { + this.waitingReads.push({ + lng: lng, + ns: ns, + fcName: fcName, + tried: tried, + wait: wait, + callback: callback + }); + return; + } + this.readingCalls++; + var resolver = function resolver(err, data) { + _this3.readingCalls--; + if (_this3.waitingReads.length > 0) { + var next = _this3.waitingReads.shift(); + _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback); + } + if (err && data && tried < _this3.maxRetries) { + setTimeout(function () { + _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback); + }, wait); + return; + } + callback(err, data); + }; + var fc = this.backend[fcName].bind(this.backend); + if (fc.length === 2) { + try { + var r = fc(lng, ns); + if (r && typeof r.then === 'function') { + r.then(function (data) { + return resolver(null, data); + })["catch"](resolver); + } else { + resolver(null, r); + } + } catch (err) { + resolver(err); + } + return; + } + return fc(lng, ns, resolver); + } + }, { + key: "prepareLoading", + value: function prepareLoading(languages, namespaces) { + var _this4 = this; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var callback = arguments.length > 3 ? arguments[3] : undefined; + if (!this.backend) { + this.logger.warn('No backend was added via i18next.use. Will not load resources.'); + return callback && callback(); + } + if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages); + if (typeof namespaces === 'string') namespaces = [namespaces]; + var toLoad = this.queueLoad(languages, namespaces, options, callback); + if (!toLoad.toLoad.length) { + if (!toLoad.pending.length) callback(); + return null; + } + toLoad.toLoad.forEach(function (name) { + _this4.loadOne(name); + }); + } + }, { + key: "load", + value: function load(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, {}, callback); + } + }, { + key: "reload", + value: function reload(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, { + reload: true + }, callback); + } + }, { + key: "loadOne", + value: function loadOne(name) { + var _this5 = this; + var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; + var s = name.split('|'); + var lng = s[0]; + var ns = s[1]; + this.read(lng, ns, 'read', undefined, undefined, function (err, data) { + if (err) _this5.logger.warn("".concat(prefix, "loading namespace ").concat(ns, " for language ").concat(lng, " failed"), err); + if (!err && data) _this5.logger.log("".concat(prefix, "loaded namespace ").concat(ns, " for language ").concat(lng), data); + _this5.loaded(name, err, data); + }); + } + }, { + key: "saveMissing", + value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) { + var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {}; + var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {}; + if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) { + this.logger.warn("did not save key \"".concat(key, "\" as the namespace \"").concat(namespace, "\" was not yet loaded"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + return; + } + if (key === undefined || key === null || key === '') return; + if (this.backend && this.backend.create) { + var opts = _objectSpread$1(_objectSpread$1({}, options), {}, { + isUpdate: isUpdate + }); + var fc = this.backend.create.bind(this.backend); + if (fc.length < 6) { + try { + var r; + if (fc.length === 5) { + r = fc(languages, namespace, key, fallbackValue, opts); + } else { + r = fc(languages, namespace, key, fallbackValue); + } + if (r && typeof r.then === 'function') { + r.then(function (data) { + return clb(null, data); + })["catch"](clb); + } else { + clb(null, r); + } + } catch (err) { + clb(err); + } + } else { + fc(languages, namespace, key, fallbackValue, clb, opts); + } + } + if (!languages || !languages[0]) return; + this.store.addResource(languages[0], namespace, key, fallbackValue); + } + }]); + return Connector; +}(EventEmitter); + +function get() { + return { + debug: false, + initImmediate: true, + ns: ['translation'], + defaultNS: ['translation'], + fallbackLng: ['dev'], + fallbackNS: false, + supportedLngs: false, + nonExplicitSupportedLngs: false, + load: 'all', + preload: false, + simplifyPluralSuffix: true, + keySeparator: '.', + nsSeparator: ':', + pluralSeparator: '_', + contextSeparator: '_', + partialBundledLanguages: false, + saveMissing: false, + updateMissing: false, + saveMissingTo: 'fallback', + saveMissingPlurals: true, + missingKeyHandler: false, + missingInterpolationHandler: false, + postProcess: false, + postProcessPassResolved: false, + returnNull: true, + returnEmptyString: true, + returnObjects: false, + joinArrays: false, + returnedObjectHandler: false, + parseMissingKeyHandler: false, + appendNamespaceToMissingKey: false, + appendNamespaceToCIMode: false, + overloadTranslationOptionHandler: function handle(args) { + var ret = {}; + if (_typeof__default["default"](args[1]) === 'object') ret = args[1]; + if (typeof args[1] === 'string') ret.defaultValue = args[1]; + if (typeof args[2] === 'string') ret.tDescription = args[2]; + if (_typeof__default["default"](args[2]) === 'object' || _typeof__default["default"](args[3]) === 'object') { + var options = args[3] || args[2]; + Object.keys(options).forEach(function (key) { + ret[key] = options[key]; + }); + } + return ret; + }, + interpolation: { + escapeValue: true, + format: function format(value, _format, lng, options) { + return value; + }, + prefix: '{{', + suffix: '}}', + formatSeparator: ',', + unescapePrefix: '-', + nestingPrefix: '$t(', + nestingSuffix: ')', + nestingOptionsSeparator: ',', + maxReplaces: 1000, + skipOnVariables: true + } + }; +} +function transformOptions(options) { + if (typeof options.ns === 'string') options.ns = [options.ns]; + if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng]; + if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS]; + if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) { + options.supportedLngs = options.supportedLngs.concat(['cimode']); + } + return options; +} + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; } +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function noop() {} +function bindMemberFunctions(inst) { + var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst)); + mems.forEach(function (mem) { + if (typeof inst[mem] === 'function') { + inst[mem] = inst[mem].bind(inst); + } + }); +} +var I18n = function (_EventEmitter) { + _inherits__default["default"](I18n, _EventEmitter); + var _super = _createSuper(I18n); + function I18n() { + var _this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + _classCallCheck__default["default"](this, I18n); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized__default["default"](_this)); + } + _this.options = transformOptions(options); + _this.services = {}; + _this.logger = baseLogger; + _this.modules = { + external: [] + }; + bindMemberFunctions(_assertThisInitialized__default["default"](_this)); + if (callback && !_this.isInitialized && !options.isClone) { + if (!_this.options.initImmediate) { + _this.init(options, callback); + return _possibleConstructorReturn__default["default"](_this, _assertThisInitialized__default["default"](_this)); + } + setTimeout(function () { + _this.init(options, callback); + }, 0); + } + return _this; + } + _createClass__default["default"](I18n, [{ + key: "init", + value: function init() { + var _this2 = this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + if (typeof options === 'function') { + callback = options; + options = {}; + } + if (!options.defaultNS && options.defaultNS !== false && options.ns) { + if (typeof options.ns === 'string') { + options.defaultNS = options.ns; + } else if (options.ns.indexOf('translation') < 0) { + options.defaultNS = options.ns[0]; + } + } + var defOpts = get(); + this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options)); + if (this.options.compatibilityAPI !== 'v1') { + this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation); + } + if (options.keySeparator !== undefined) { + this.options.userDefinedKeySeparator = options.keySeparator; + } + if (options.nsSeparator !== undefined) { + this.options.userDefinedNsSeparator = options.nsSeparator; + } + function createClassOnDemand(ClassOrObject) { + if (!ClassOrObject) return null; + if (typeof ClassOrObject === 'function') return new ClassOrObject(); + return ClassOrObject; + } + if (!this.options.isClone) { + if (this.modules.logger) { + baseLogger.init(createClassOnDemand(this.modules.logger), this.options); + } else { + baseLogger.init(null, this.options); + } + var formatter; + if (this.modules.formatter) { + formatter = this.modules.formatter; + } else if (typeof Intl !== 'undefined') { + formatter = Formatter; + } + var lu = new LanguageUtil(this.options); + this.store = new ResourceStore(this.options.resources, this.options); + var s = this.services; + s.logger = baseLogger; + s.resourceStore = this.store; + s.languageUtils = lu; + s.pluralResolver = new PluralResolver(lu, { + prepend: this.options.pluralSeparator, + compatibilityJSON: this.options.compatibilityJSON, + simplifyPluralSuffix: this.options.simplifyPluralSuffix + }); + if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) { + s.formatter = createClassOnDemand(formatter); + s.formatter.init(s, this.options); + this.options.interpolation.format = s.formatter.format.bind(s.formatter); + } + s.interpolator = new Interpolator(this.options); + s.utils = { + hasLoadedNamespace: this.hasLoadedNamespace.bind(this) + }; + s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); + s.backendConnector.on('*', function (event) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + _this2.emit.apply(_this2, [event].concat(args)); + }); + if (this.modules.languageDetector) { + s.languageDetector = createClassOnDemand(this.modules.languageDetector); + if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options); + } + if (this.modules.i18nFormat) { + s.i18nFormat = createClassOnDemand(this.modules.i18nFormat); + if (s.i18nFormat.init) s.i18nFormat.init(this); + } + this.translator = new Translator(this.services, this.options); + this.translator.on('*', function (event) { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + _this2.emit.apply(_this2, [event].concat(args)); + }); + this.modules.external.forEach(function (m) { + if (m.init) m.init(_this2); + }); + } + this.format = this.options.interpolation.format; + if (!callback) callback = noop; + if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) { + var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0]; + } + if (!this.services.languageDetector && !this.options.lng) { + this.logger.warn('init: no languageDetector is used and no lng is defined'); + } + var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage']; + storeApi.forEach(function (fcName) { + _this2[fcName] = function () { + var _this2$store; + return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments); + }; + }); + var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle']; + storeApiChained.forEach(function (fcName) { + _this2[fcName] = function () { + var _this2$store2; + (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments); + return _this2; + }; + }); + var deferred = defer(); + var load = function load() { + var finish = function finish(err, t) { + if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!'); + _this2.isInitialized = true; + if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options); + _this2.emit('initialized', _this2.options); + deferred.resolve(t); + callback(err, t); + }; + if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2)); + _this2.changeLanguage(_this2.options.lng, finish); + }; + if (this.options.resources || !this.options.initImmediate) { + load(); + } else { + setTimeout(load, 0); + } + return deferred; + } + }, { + key: "loadResources", + value: function loadResources(language) { + var _this3 = this; + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop; + var usedCallback = callback; + var usedLng = typeof language === 'string' ? language : this.language; + if (typeof language === 'function') usedCallback = language; + if (!this.options.resources || this.options.partialBundledLanguages) { + if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback(); + var toLoad = []; + var append = function append(lng) { + if (!lng) return; + var lngs = _this3.services.languageUtils.toResolveHierarchy(lng); + lngs.forEach(function (l) { + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + if (!usedLng) { + var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + fallbacks.forEach(function (l) { + return append(l); + }); + } else { + append(usedLng); + } + if (this.options.preload) { + this.options.preload.forEach(function (l) { + return append(l); + }); + } + this.services.backendConnector.load(toLoad, this.options.ns, function (e) { + if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language); + usedCallback(e); + }); + } else { + usedCallback(null); + } + } + }, { + key: "reloadResources", + value: function reloadResources(lngs, ns, callback) { + var deferred = defer(); + if (!lngs) lngs = this.languages; + if (!ns) ns = this.options.ns; + if (!callback) callback = noop; + this.services.backendConnector.reload(lngs, ns, function (err) { + deferred.resolve(); + callback(err); + }); + return deferred; + } + }, { + key: "use", + value: function use(module) { + if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()'); + if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()'); + if (module.type === 'backend') { + this.modules.backend = module; + } + if (module.type === 'logger' || module.log && module.warn && module.error) { + this.modules.logger = module; + } + if (module.type === 'languageDetector') { + this.modules.languageDetector = module; + } + if (module.type === 'i18nFormat') { + this.modules.i18nFormat = module; + } + if (module.type === 'postProcessor') { + postProcessor.addPostProcessor(module); + } + if (module.type === 'formatter') { + this.modules.formatter = module; + } + if (module.type === '3rdParty') { + this.modules.external.push(module); + } + return this; + } + }, { + key: "setResolvedLanguage", + value: function setResolvedLanguage(l) { + if (!l || !this.languages) return; + if (['cimode', 'dev'].indexOf(l) > -1) return; + for (var li = 0; li < this.languages.length; li++) { + var lngInLngs = this.languages[li]; + if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue; + if (this.store.hasLanguageSomeTranslations(lngInLngs)) { + this.resolvedLanguage = lngInLngs; + break; + } + } + } + }, { + key: "changeLanguage", + value: function changeLanguage(lng, callback) { + var _this4 = this; + this.isLanguageChangingTo = lng; + var deferred = defer(); + this.emit('languageChanging', lng); + var setLngProps = function setLngProps(l) { + _this4.language = l; + _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l); + _this4.resolvedLanguage = undefined; + _this4.setResolvedLanguage(l); + }; + var done = function done(err, l) { + if (l) { + setLngProps(l); + _this4.translator.changeLanguage(l); + _this4.isLanguageChangingTo = undefined; + _this4.emit('languageChanged', l); + _this4.logger.log('languageChanged', l); + } else { + _this4.isLanguageChangingTo = undefined; + } + deferred.resolve(function () { + return _this4.t.apply(_this4, arguments); + }); + if (callback) callback(err, function () { + return _this4.t.apply(_this4, arguments); + }); + }; + var setLng = function setLng(lngs) { + if (!lng && !lngs && _this4.services.languageDetector) lngs = []; + var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs); + if (l) { + if (!_this4.language) { + setLngProps(l); + } + if (!_this4.translator.language) _this4.translator.changeLanguage(l); + if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l); + } + _this4.loadResources(l, function (err) { + done(err, l); + }); + }; + if (!lng && this.services.languageDetector && !this.services.languageDetector.async) { + setLng(this.services.languageDetector.detect()); + } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) { + if (this.services.languageDetector.detect.length === 0) { + this.services.languageDetector.detect().then(setLng); + } else { + this.services.languageDetector.detect(setLng); + } + } else { + setLng(lng); + } + return deferred; + } + }, { + key: "getFixedT", + value: function getFixedT(lng, ns, keyPrefix) { + var _this5 = this; + var fixedT = function fixedT(key, opts) { + var options; + if (_typeof__default["default"](opts) !== 'object') { + for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) { + rest[_key3 - 2] = arguments[_key3]; + } + options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest)); + } else { + options = _objectSpread({}, opts); + } + options.lng = options.lng || fixedT.lng; + options.lngs = options.lngs || fixedT.lngs; + options.ns = options.ns || fixedT.ns; + options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix; + var keySeparator = _this5.options.keySeparator || '.'; + var resultKey; + if (options.keyPrefix && Array.isArray(key)) { + resultKey = key.map(function (k) { + return "".concat(options.keyPrefix).concat(keySeparator).concat(k); + }); + } else { + resultKey = options.keyPrefix ? "".concat(options.keyPrefix).concat(keySeparator).concat(key) : key; + } + return _this5.t(resultKey, options); + }; + if (typeof lng === 'string') { + fixedT.lng = lng; + } else { + fixedT.lngs = lng; + } + fixedT.ns = ns; + fixedT.keyPrefix = keyPrefix; + return fixedT; + } + }, { + key: "t", + value: function t() { + var _this$translator; + return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments); + } + }, { + key: "exists", + value: function exists() { + var _this$translator2; + return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments); + } + }, { + key: "setDefaultNamespace", + value: function setDefaultNamespace(ns) { + this.options.defaultNS = ns; + } + }, { + key: "hasLoadedNamespace", + value: function hasLoadedNamespace(ns) { + var _this6 = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (!this.isInitialized) { + this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages); + return false; + } + if (!this.languages || !this.languages.length) { + this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages); + return false; + } + var lng = options.lng || this.resolvedLanguage || this.languages[0]; + var fallbackLng = this.options ? this.options.fallbackLng : false; + var lastLng = this.languages[this.languages.length - 1]; + if (lng.toLowerCase() === 'cimode') return true; + var loadNotPending = function loadNotPending(l, n) { + var loadState = _this6.services.backendConnector.state["".concat(l, "|").concat(n)]; + return loadState === -1 || loadState === 2; + }; + if (options.precheck) { + var preResult = options.precheck(this, loadNotPending); + if (preResult !== undefined) return preResult; + } + if (this.hasResourceBundle(lng, ns)) return true; + if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true; + if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; + return false; + } + }, { + key: "loadNamespaces", + value: function loadNamespaces(ns, callback) { + var _this7 = this; + var deferred = defer(); + if (!this.options.ns) { + if (callback) callback(); + return Promise.resolve(); + } + if (typeof ns === 'string') ns = [ns]; + ns.forEach(function (n) { + if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n); + }); + this.loadResources(function (err) { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + }, { + key: "loadLanguages", + value: function loadLanguages(lngs, callback) { + var deferred = defer(); + if (typeof lngs === 'string') lngs = [lngs]; + var preloaded = this.options.preload || []; + var newLngs = lngs.filter(function (lng) { + return preloaded.indexOf(lng) < 0; + }); + if (!newLngs.length) { + if (callback) callback(); + return Promise.resolve(); + } + this.options.preload = preloaded.concat(newLngs); + this.loadResources(function (err) { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + }, { + key: "dir", + value: function dir(lng) { + if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language); + if (!lng) return 'rtl'; + var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb']; + var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get()); + return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr'; + } + }, { + key: "cloneInstance", + value: function cloneInstance() { + var _this8 = this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop; + var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), { + isClone: true + }); + var clone = new I18n(mergedOptions); + if (options.debug !== undefined || options.prefix !== undefined) { + clone.logger = clone.logger.clone(options); + } + var membersToCopy = ['store', 'services', 'language']; + membersToCopy.forEach(function (m) { + clone[m] = _this8[m]; + }); + clone.services = _objectSpread({}, this.services); + clone.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + clone.translator = new Translator(clone.services, clone.options); + clone.translator.on('*', function (event) { + for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { + args[_key4 - 1] = arguments[_key4]; + } + clone.emit.apply(clone, [event].concat(args)); + }); + clone.init(mergedOptions, callback); + clone.translator.options = clone.options; + clone.translator.backendConnector.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + return clone; + } + }, { + key: "toJSON", + value: function toJSON() { + return { + options: this.options, + store: this.store, + language: this.language, + languages: this.languages, + resolvedLanguage: this.resolvedLanguage + }; + } + }]); + return I18n; +}(EventEmitter); +_defineProperty__default["default"](I18n, "createInstance", function () { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + return new I18n(options, callback); +}); +var instance = I18n.createInstance(); +instance.createInstance = I18n.createInstance; + +module.exports = instance; diff --git a/node_modules/astro-i18next/node_modules/i18next/dist/esm/i18next.bundled.js b/node_modules/astro-i18next/node_modules/i18next/dist/esm/i18next.bundled.js new file mode 100644 index 00000000..7ab493d3 --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/dist/esm/i18next.bundled.js @@ -0,0 +1,2657 @@ +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + enumerableOnly && (symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + })), keys.push.apply(keys, symbols); + } + return keys; +} +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = null != arguments[i] ? arguments[i] : {}; + i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { + _defineProperty(target, key, source[key]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + return target; +} +function _typeof(obj) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }, _typeof(obj); +} +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); + } +} +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; +} +function _defineProperty(obj, key, value) { + key = _toPropertyKey(key); + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + Object.defineProperty(subClass, "prototype", { + writable: false + }); + if (superClass) _setPrototypeOf(subClass, superClass); +} +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + return _setPrototypeOf(o, p); +} +function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + try { + Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); + return true; + } catch (e) { + return false; + } +} +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self; +} +function _possibleConstructorReturn(self, call) { + if (call && (typeof call === "object" || typeof call === "function")) { + return call; + } else if (call !== void 0) { + throw new TypeError("Derived constructors may only return object or undefined"); + } + return _assertThisInitialized(self); +} +function _createSuper(Derived) { + var hasNativeReflectConstruct = _isNativeReflectConstruct(); + return function _createSuperInternal() { + var Super = _getPrototypeOf(Derived), + result; + if (hasNativeReflectConstruct) { + var NewTarget = _getPrototypeOf(this).constructor; + result = Reflect.construct(Super, arguments, NewTarget); + } else { + result = Super.apply(this, arguments); + } + return _possibleConstructorReturn(this, result); + }; +} +function _toArray(arr) { + return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); +} +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); +} +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); +} +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + return arr2; +} +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +function _toPrimitive(input, hint) { + if (typeof input !== "object" || input === null) return input; + var prim = input[Symbol.toPrimitive]; + if (prim !== undefined) { + var res = prim.call(input, hint || "default"); + if (typeof res !== "object") return res; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return (hint === "string" ? String : Number)(input); +} +function _toPropertyKey(arg) { + var key = _toPrimitive(arg, "string"); + return typeof key === "symbol" ? key : String(key); +} + +var consoleLogger = { + type: 'logger', + log: function log(args) { + this.output('log', args); + }, + warn: function warn(args) { + this.output('warn', args); + }, + error: function error(args) { + this.output('error', args); + }, + output: function output(type, args) { + if (console && console[type]) console[type].apply(console, args); + } +}; +var Logger = function () { + function Logger(concreteLogger) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Logger); + this.init(concreteLogger, options); + } + _createClass(Logger, [{ + key: "init", + value: function init(concreteLogger) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + this.prefix = options.prefix || 'i18next:'; + this.logger = concreteLogger || consoleLogger; + this.options = options; + this.debug = options.debug; + } + }, { + key: "setDebug", + value: function setDebug(bool) { + this.debug = bool; + } + }, { + key: "log", + value: function log() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return this.forward(args, 'log', '', true); + } + }, { + key: "warn", + value: function warn() { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + return this.forward(args, 'warn', '', true); + } + }, { + key: "error", + value: function error() { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + return this.forward(args, 'error', ''); + } + }, { + key: "deprecate", + value: function deprecate() { + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true); + } + }, { + key: "forward", + value: function forward(args, lvl, prefix, debugOnly) { + if (debugOnly && !this.debug) return null; + if (typeof args[0] === 'string') args[0] = "".concat(prefix).concat(this.prefix, " ").concat(args[0]); + return this.logger[lvl](args); + } + }, { + key: "create", + value: function create(moduleName) { + return new Logger(this.logger, _objectSpread2(_objectSpread2({}, { + prefix: "".concat(this.prefix, ":").concat(moduleName, ":") + }), this.options)); + } + }, { + key: "clone", + value: function clone(options) { + options = options || this.options; + options.prefix = options.prefix || this.prefix; + return new Logger(this.logger, options); + } + }]); + return Logger; +}(); +var baseLogger = new Logger(); + +var EventEmitter = function () { + function EventEmitter() { + _classCallCheck(this, EventEmitter); + this.observers = {}; + } + _createClass(EventEmitter, [{ + key: "on", + value: function on(events, listener) { + var _this = this; + events.split(' ').forEach(function (event) { + _this.observers[event] = _this.observers[event] || []; + _this.observers[event].push(listener); + }); + return this; + } + }, { + key: "off", + value: function off(event, listener) { + if (!this.observers[event]) return; + if (!listener) { + delete this.observers[event]; + return; + } + this.observers[event] = this.observers[event].filter(function (l) { + return l !== listener; + }); + } + }, { + key: "emit", + value: function emit(event) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + if (this.observers[event]) { + var cloned = [].concat(this.observers[event]); + cloned.forEach(function (observer) { + observer.apply(void 0, args); + }); + } + if (this.observers['*']) { + var _cloned = [].concat(this.observers['*']); + _cloned.forEach(function (observer) { + observer.apply(observer, [event].concat(args)); + }); + } + } + }]); + return EventEmitter; +}(); + +function defer() { + var res; + var rej; + var promise = new Promise(function (resolve, reject) { + res = resolve; + rej = reject; + }); + promise.resolve = res; + promise.reject = rej; + return promise; +} +function makeString(object) { + if (object == null) return ''; + return '' + object; +} +function copy(a, s, t) { + a.forEach(function (m) { + if (s[m]) t[m] = s[m]; + }); +} +function getLastOfPath(object, path, Empty) { + function cleanKey(key) { + return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key; + } + function canNotTraverseDeeper() { + return !object || typeof object === 'string'; + } + var stack = typeof path !== 'string' ? [].concat(path) : path.split('.'); + while (stack.length > 1) { + if (canNotTraverseDeeper()) return {}; + var key = cleanKey(stack.shift()); + if (!object[key] && Empty) object[key] = new Empty(); + if (Object.prototype.hasOwnProperty.call(object, key)) { + object = object[key]; + } else { + object = {}; + } + } + if (canNotTraverseDeeper()) return {}; + return { + obj: object, + k: cleanKey(stack.shift()) + }; +} +function setPath(object, path, newValue) { + var _getLastOfPath = getLastOfPath(object, path, Object), + obj = _getLastOfPath.obj, + k = _getLastOfPath.k; + obj[k] = newValue; +} +function pushPath(object, path, newValue, concat) { + var _getLastOfPath2 = getLastOfPath(object, path, Object), + obj = _getLastOfPath2.obj, + k = _getLastOfPath2.k; + obj[k] = obj[k] || []; + if (concat) obj[k] = obj[k].concat(newValue); + if (!concat) obj[k].push(newValue); +} +function getPath(object, path) { + var _getLastOfPath3 = getLastOfPath(object, path), + obj = _getLastOfPath3.obj, + k = _getLastOfPath3.k; + if (!obj) return undefined; + return obj[k]; +} +function getPathWithDefaults(data, defaultData, key) { + var value = getPath(data, key); + if (value !== undefined) { + return value; + } + return getPath(defaultData, key); +} +function deepExtend(target, source, overwrite) { + for (var prop in source) { + if (prop !== '__proto__' && prop !== 'constructor') { + if (prop in target) { + if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) { + if (overwrite) target[prop] = source[prop]; + } else { + deepExtend(target[prop], source[prop], overwrite); + } + } else { + target[prop] = source[prop]; + } + } + } + return target; +} +function regexEscape(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); +} +var _entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' +}; +function escape(data) { + if (typeof data === 'string') { + return data.replace(/[&<>"'\/]/g, function (s) { + return _entityMap[s]; + }); + } + return data; +} +var isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1; +var chars = [' ', ',', '?', '!', ';']; +function looksLikeObjectPath(key, nsSeparator, keySeparator) { + nsSeparator = nsSeparator || ''; + keySeparator = keySeparator || ''; + var possibleChars = chars.filter(function (c) { + return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0; + }); + if (possibleChars.length === 0) return true; + var r = new RegExp("(".concat(possibleChars.map(function (c) { + return c === '?' ? '\\?' : c; + }).join('|'), ")")); + var matched = !r.test(key); + if (!matched) { + var ki = key.indexOf(keySeparator); + if (ki > 0 && !r.test(key.substring(0, ki))) { + matched = true; + } + } + return matched; +} +function deepFind(obj, path) { + var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.'; + if (!obj) return undefined; + if (obj[path]) return obj[path]; + var paths = path.split(keySeparator); + var current = obj; + for (var i = 0; i < paths.length; ++i) { + if (!current) return undefined; + if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) { + return undefined; + } + if (current[paths[i]] === undefined) { + var j = 2; + var p = paths.slice(i, i + j).join(keySeparator); + var mix = current[p]; + while (mix === undefined && paths.length > i + j) { + j++; + p = paths.slice(i, i + j).join(keySeparator); + mix = current[p]; + } + if (mix === undefined) return undefined; + if (mix === null) return null; + if (path.endsWith(p)) { + if (typeof mix === 'string') return mix; + if (p && typeof mix[p] === 'string') return mix[p]; + } + var joinedPath = paths.slice(i + j).join(keySeparator); + if (joinedPath) return deepFind(mix, joinedPath, keySeparator); + return undefined; + } + current = current[paths[i]]; + } + return current; +} + +var ResourceStore = function (_EventEmitter) { + _inherits(ResourceStore, _EventEmitter); + var _super = _createSuper(ResourceStore); + function ResourceStore(data) { + var _this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + ns: ['translation'], + defaultNS: 'translation' + }; + _classCallCheck(this, ResourceStore); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + _this.data = data || {}; + _this.options = options; + if (_this.options.keySeparator === undefined) { + _this.options.keySeparator = '.'; + } + if (_this.options.ignoreJSONStructure === undefined) { + _this.options.ignoreJSONStructure = true; + } + return _this; + } + _createClass(ResourceStore, [{ + key: "addNamespaces", + value: function addNamespaces(ns) { + if (this.options.ns.indexOf(ns) < 0) { + this.options.ns.push(ns); + } + } + }, { + key: "removeNamespaces", + value: function removeNamespaces(ns) { + var index = this.options.ns.indexOf(ns); + if (index > -1) { + this.options.ns.splice(index, 1); + } + } + }, { + key: "getResource", + value: function getResource(lng, ns, key) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure; + var path = [lng, ns]; + if (key && typeof key !== 'string') path = path.concat(key); + if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + } + var result = getPath(this.data, path); + if (result || !ignoreJSONStructure || typeof key !== 'string') return result; + return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator); + } + }, { + key: "addResource", + value: function addResource(lng, ns, key, value) { + var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { + silent: false + }; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var path = [lng, ns]; + if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + value = ns; + ns = path[1]; + } + this.addNamespaces(ns); + setPath(this.data, path, value); + if (!options.silent) this.emit('added', lng, ns, key, value); + } + }, { + key: "addResources", + value: function addResources(lng, ns, resources) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { + silent: false + }; + for (var m in resources) { + if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], { + silent: true + }); + } + if (!options.silent) this.emit('added', lng, ns, resources); + } + }, { + key: "addResourceBundle", + value: function addResourceBundle(lng, ns, resources, deep, overwrite) { + var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : { + silent: false + }; + var path = [lng, ns]; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + deep = resources; + resources = ns; + ns = path[1]; + } + this.addNamespaces(ns); + var pack = getPath(this.data, path) || {}; + if (deep) { + deepExtend(pack, resources, overwrite); + } else { + pack = _objectSpread2(_objectSpread2({}, pack), resources); + } + setPath(this.data, path, pack); + if (!options.silent) this.emit('added', lng, ns, resources); + } + }, { + key: "removeResourceBundle", + value: function removeResourceBundle(lng, ns) { + if (this.hasResourceBundle(lng, ns)) { + delete this.data[lng][ns]; + } + this.removeNamespaces(ns); + this.emit('removed', lng, ns); + } + }, { + key: "hasResourceBundle", + value: function hasResourceBundle(lng, ns) { + return this.getResource(lng, ns) !== undefined; + } + }, { + key: "getResourceBundle", + value: function getResourceBundle(lng, ns) { + if (!ns) ns = this.options.defaultNS; + if (this.options.compatibilityAPI === 'v1') return _objectSpread2(_objectSpread2({}, {}), this.getResource(lng, ns)); + return this.getResource(lng, ns); + } + }, { + key: "getDataByLanguage", + value: function getDataByLanguage(lng) { + return this.data[lng]; + } + }, { + key: "hasLanguageSomeTranslations", + value: function hasLanguageSomeTranslations(lng) { + var data = this.getDataByLanguage(lng); + var n = data && Object.keys(data) || []; + return !!n.find(function (v) { + return data[v] && Object.keys(data[v]).length > 0; + }); + } + }, { + key: "toJSON", + value: function toJSON() { + return this.data; + } + }]); + return ResourceStore; +}(EventEmitter); + +var postProcessor = { + processors: {}, + addPostProcessor: function addPostProcessor(module) { + this.processors[module.name] = module; + }, + handle: function handle(processors, value, key, options, translator) { + var _this = this; + processors.forEach(function (processor) { + if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator); + }); + return value; + } +}; + +var checkedLoadedFor = {}; +var Translator = function (_EventEmitter) { + _inherits(Translator, _EventEmitter); + var _super = _createSuper(Translator); + function Translator(services) { + var _this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Translator); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this)); + _this.options = options; + if (_this.options.keySeparator === undefined) { + _this.options.keySeparator = '.'; + } + _this.logger = baseLogger.create('translator'); + return _this; + } + _createClass(Translator, [{ + key: "changeLanguage", + value: function changeLanguage(lng) { + if (lng) this.language = lng; + } + }, { + key: "exists", + value: function exists(key) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + interpolation: {} + }; + if (key === undefined || key === null) { + return false; + } + var resolved = this.resolve(key, options); + return resolved && resolved.res !== undefined; + } + }, { + key: "extractFromKey", + value: function extractFromKey(key, options) { + var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var namespaces = options.ns || this.options.defaultNS || []; + var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1; + var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator); + if (wouldCheckForNsInKey && !seemsNaturalLanguage) { + var m = key.match(this.interpolator.nestingRegexp); + if (m && m.length > 0) { + return { + key: key, + namespaces: namespaces + }; + } + var parts = key.split(nsSeparator); + if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift(); + key = parts.join(keySeparator); + } + if (typeof namespaces === 'string') namespaces = [namespaces]; + return { + key: key, + namespaces: namespaces + }; + } + }, { + key: "translate", + value: function translate(keys, options, lastKey) { + var _this2 = this; + if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) { + options = this.options.overloadTranslationOptionHandler(arguments); + } + if (_typeof(options) === 'object') options = _objectSpread2({}, options); + if (!options) options = {}; + if (keys === undefined || keys === null) return ''; + if (!Array.isArray(keys)) keys = [String(keys)]; + var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options), + key = _this$extractFromKey.key, + namespaces = _this$extractFromKey.namespaces; + var namespace = namespaces[namespaces.length - 1]; + var lng = options.lng || this.language; + var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode; + if (lng && lng.toLowerCase() === 'cimode') { + if (appendNamespaceToCIMode) { + var nsSeparator = options.nsSeparator || this.options.nsSeparator; + if (returnDetails) { + return { + res: "".concat(namespace).concat(nsSeparator).concat(key), + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace + }; + } + return "".concat(namespace).concat(nsSeparator).concat(key); + } + if (returnDetails) { + return { + res: key, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace + }; + } + return key; + } + var resolved = this.resolve(keys, options); + var res = resolved && resolved.res; + var resUsedKey = resolved && resolved.usedKey || key; + var resExactUsedKey = resolved && resolved.exactUsedKey || key; + var resType = Object.prototype.toString.apply(res); + var noObject = ['[object Number]', '[object Function]', '[object RegExp]']; + var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays; + var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject; + var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number'; + if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) { + if (!options.returnObjects && !this.options.returnObjects) { + if (!this.options.returnedObjectHandler) { + this.logger.warn('accessing an object - but returnObjects options is not enabled!'); + } + var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread2(_objectSpread2({}, options), {}, { + ns: namespaces + })) : "key '".concat(key, " (").concat(this.language, ")' returned an object instead of string."); + if (returnDetails) { + resolved.res = r; + return resolved; + } + return r; + } + if (keySeparator) { + var resTypeIsArray = resType === '[object Array]'; + var copy = resTypeIsArray ? [] : {}; + var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey; + for (var m in res) { + if (Object.prototype.hasOwnProperty.call(res, m)) { + var deepKey = "".concat(newKeyToUse).concat(keySeparator).concat(m); + copy[m] = this.translate(deepKey, _objectSpread2(_objectSpread2({}, options), { + joinArrays: false, + ns: namespaces + })); + if (copy[m] === deepKey) copy[m] = res[m]; + } + } + res = copy; + } + } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') { + res = res.join(joinArrays); + if (res) res = this.extendTranslation(res, keys, options, lastKey); + } else { + var usedDefault = false; + var usedKey = false; + var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string'; + var hasDefaultValue = Translator.hasDefaultValue(options); + var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : ''; + var defaultValue = options["defaultValue".concat(defaultValueSuffix)] || options.defaultValue; + if (!this.isValidLookup(res) && hasDefaultValue) { + usedDefault = true; + res = defaultValue; + } + if (!this.isValidLookup(res)) { + usedKey = true; + res = key; + } + var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey; + var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res; + var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing; + if (usedKey || usedDefault || updateMissing) { + this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res); + if (keySeparator) { + var fk = this.resolve(key, _objectSpread2(_objectSpread2({}, options), {}, { + keySeparator: false + })); + if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.'); + } + var lngs = []; + var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language); + if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) { + for (var i = 0; i < fallbackLngs.length; i++) { + lngs.push(fallbackLngs[i]); + } + } else if (this.options.saveMissingTo === 'all') { + lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language); + } else { + lngs.push(options.lng || this.language); + } + var send = function send(l, k, specificDefaultValue) { + var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing; + if (_this2.options.missingKeyHandler) { + _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options); + } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) { + _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options); + } + _this2.emit('missingKey', l, namespace, k, res); + }; + if (this.options.saveMissing) { + if (this.options.saveMissingPlurals && needsPluralHandling) { + lngs.forEach(function (language) { + _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) { + send([language], key + suffix, options["defaultValue".concat(suffix)] || defaultValue); + }); + }); + } else { + send(lngs, key, defaultValue); + } + } + } + res = this.extendTranslation(res, keys, options, resolved, lastKey); + if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = "".concat(namespace, ":").concat(key); + if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) { + if (this.options.compatibilityAPI !== 'v1') { + res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? "".concat(namespace, ":").concat(key) : key, usedDefault ? res : undefined); + } else { + res = this.options.parseMissingKeyHandler(res); + } + } + } + if (returnDetails) { + resolved.res = res; + return resolved; + } + return res; + } + }, { + key: "extendTranslation", + value: function extendTranslation(res, key, options, resolved, lastKey) { + var _this3 = this; + if (this.i18nFormat && this.i18nFormat.parse) { + res = this.i18nFormat.parse(res, _objectSpread2(_objectSpread2({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, { + resolved: resolved + }); + } else if (!options.skipInterpolation) { + if (options.interpolation) this.interpolator.init(_objectSpread2(_objectSpread2({}, options), { + interpolation: _objectSpread2(_objectSpread2({}, this.options.interpolation), options.interpolation) + })); + var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables); + var nestBef; + if (skipOnVariables) { + var nb = res.match(this.interpolator.nestingRegexp); + nestBef = nb && nb.length; + } + var data = options.replace && typeof options.replace !== 'string' ? options.replace : options; + if (this.options.interpolation.defaultVariables) data = _objectSpread2(_objectSpread2({}, this.options.interpolation.defaultVariables), data); + res = this.interpolator.interpolate(res, data, options.lng || this.language, options); + if (skipOnVariables) { + var na = res.match(this.interpolator.nestingRegexp); + var nestAft = na && na.length; + if (nestBef < nestAft) options.nest = false; + } + if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng; + if (options.nest !== false) res = this.interpolator.nest(res, function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + if (lastKey && lastKey[0] === args[0] && !options.context) { + _this3.logger.warn("It seems you are nesting recursively key: ".concat(args[0], " in key: ").concat(key[0])); + return null; + } + return _this3.translate.apply(_this3, args.concat([key])); + }, options); + if (options.interpolation) this.interpolator.reset(); + } + var postProcess = options.postProcess || this.options.postProcess; + var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess; + if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) { + res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread2({ + i18nResolved: resolved + }, options) : options, this); + } + return res; + } + }, { + key: "resolve", + value: function resolve(keys) { + var _this4 = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var found; + var usedKey; + var exactUsedKey; + var usedLng; + var usedNS; + if (typeof keys === 'string') keys = [keys]; + keys.forEach(function (k) { + if (_this4.isValidLookup(found)) return; + var extracted = _this4.extractFromKey(k, options); + var key = extracted.key; + usedKey = key; + var namespaces = extracted.namespaces; + if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS); + var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string'; + var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi(); + var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== ''; + var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng); + namespaces.forEach(function (ns) { + if (_this4.isValidLookup(found)) return; + usedNS = ns; + if (!checkedLoadedFor["".concat(codes[0], "-").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) { + checkedLoadedFor["".concat(codes[0], "-").concat(ns)] = true; + _this4.logger.warn("key \"".concat(usedKey, "\" for languages \"").concat(codes.join(', '), "\" won't get resolved as namespace \"").concat(usedNS, "\" was not yet loaded"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + } + codes.forEach(function (code) { + if (_this4.isValidLookup(found)) return; + usedLng = code; + var finalKeys = [key]; + if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) { + _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options); + } else { + var pluralSuffix; + if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options); + var zeroSuffix = "".concat(_this4.options.pluralSeparator, "zero"); + if (needsPluralHandling) { + finalKeys.push(key + pluralSuffix); + if (needsZeroSuffixLookup) { + finalKeys.push(key + zeroSuffix); + } + } + if (needsContextHandling) { + var contextKey = "".concat(key).concat(_this4.options.contextSeparator).concat(options.context); + finalKeys.push(contextKey); + if (needsPluralHandling) { + finalKeys.push(contextKey + pluralSuffix); + if (needsZeroSuffixLookup) { + finalKeys.push(contextKey + zeroSuffix); + } + } + } + } + var possibleKey; + while (possibleKey = finalKeys.pop()) { + if (!_this4.isValidLookup(found)) { + exactUsedKey = possibleKey; + found = _this4.getResource(code, ns, possibleKey, options); + } + } + }); + }); + }); + return { + res: found, + usedKey: usedKey, + exactUsedKey: exactUsedKey, + usedLng: usedLng, + usedNS: usedNS + }; + } + }, { + key: "isValidLookup", + value: function isValidLookup(res) { + return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === ''); + } + }, { + key: "getResource", + value: function getResource(code, ns, key) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options); + return this.resourceStore.getResource(code, ns, key, options); + } + }], [{ + key: "hasDefaultValue", + value: function hasDefaultValue(options) { + var prefix = 'defaultValue'; + for (var option in options) { + if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) { + return true; + } + } + return false; + } + }]); + return Translator; +}(EventEmitter); + +function capitalize(string) { + return string.charAt(0).toUpperCase() + string.slice(1); +} +var LanguageUtil = function () { + function LanguageUtil(options) { + _classCallCheck(this, LanguageUtil); + this.options = options; + this.supportedLngs = this.options.supportedLngs || false; + this.logger = baseLogger.create('languageUtils'); + } + _createClass(LanguageUtil, [{ + key: "getScriptPartFromCode", + value: function getScriptPartFromCode(code) { + if (!code || code.indexOf('-') < 0) return null; + var p = code.split('-'); + if (p.length === 2) return null; + p.pop(); + if (p[p.length - 1].toLowerCase() === 'x') return null; + return this.formatLanguageCode(p.join('-')); + } + }, { + key: "getLanguagePartFromCode", + value: function getLanguagePartFromCode(code) { + if (!code || code.indexOf('-') < 0) return code; + var p = code.split('-'); + return this.formatLanguageCode(p[0]); + } + }, { + key: "formatLanguageCode", + value: function formatLanguageCode(code) { + if (typeof code === 'string' && code.indexOf('-') > -1) { + var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab']; + var p = code.split('-'); + if (this.options.lowerCaseLng) { + p = p.map(function (part) { + return part.toLowerCase(); + }); + } else if (p.length === 2) { + p[0] = p[0].toLowerCase(); + p[1] = p[1].toUpperCase(); + if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase()); + } else if (p.length === 3) { + p[0] = p[0].toLowerCase(); + if (p[1].length === 2) p[1] = p[1].toUpperCase(); + if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase(); + if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase()); + if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase()); + } + return p.join('-'); + } + return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code; + } + }, { + key: "isSupportedCode", + value: function isSupportedCode(code) { + if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) { + code = this.getLanguagePartFromCode(code); + } + return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1; + } + }, { + key: "getBestMatchFromCodes", + value: function getBestMatchFromCodes(codes) { + var _this = this; + if (!codes) return null; + var found; + codes.forEach(function (code) { + if (found) return; + var cleanedLng = _this.formatLanguageCode(code); + if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng; + }); + if (!found && this.options.supportedLngs) { + codes.forEach(function (code) { + if (found) return; + var lngOnly = _this.getLanguagePartFromCode(code); + if (_this.isSupportedCode(lngOnly)) return found = lngOnly; + found = _this.options.supportedLngs.find(function (supportedLng) { + if (supportedLng === lngOnly) return supportedLng; + if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return; + if (supportedLng.indexOf(lngOnly) === 0) return supportedLng; + }); + }); + } + if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0]; + return found; + } + }, { + key: "getFallbackCodes", + value: function getFallbackCodes(fallbacks, code) { + if (!fallbacks) return []; + if (typeof fallbacks === 'function') fallbacks = fallbacks(code); + if (typeof fallbacks === 'string') fallbacks = [fallbacks]; + if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks; + if (!code) return fallbacks["default"] || []; + var found = fallbacks[code]; + if (!found) found = fallbacks[this.getScriptPartFromCode(code)]; + if (!found) found = fallbacks[this.formatLanguageCode(code)]; + if (!found) found = fallbacks[this.getLanguagePartFromCode(code)]; + if (!found) found = fallbacks["default"]; + return found || []; + } + }, { + key: "toResolveHierarchy", + value: function toResolveHierarchy(code, fallbackCode) { + var _this2 = this; + var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code); + var codes = []; + var addCode = function addCode(c) { + if (!c) return; + if (_this2.isSupportedCode(c)) { + codes.push(c); + } else { + _this2.logger.warn("rejecting language code not found in supportedLngs: ".concat(c)); + } + }; + if (typeof code === 'string' && code.indexOf('-') > -1) { + if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code)); + if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code)); + if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code)); + } else if (typeof code === 'string') { + addCode(this.formatLanguageCode(code)); + } + fallbackCodes.forEach(function (fc) { + if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc)); + }); + return codes; + } + }]); + return LanguageUtil; +}(); + +var sets = [{ + lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'], + nr: [1, 2], + fc: 1 +}, { + lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'], + nr: [1, 2], + fc: 2 +}, { + lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'], + nr: [1], + fc: 3 +}, { + lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'], + nr: [1, 2, 5], + fc: 4 +}, { + lngs: ['ar'], + nr: [0, 1, 2, 3, 11, 100], + fc: 5 +}, { + lngs: ['cs', 'sk'], + nr: [1, 2, 5], + fc: 6 +}, { + lngs: ['csb', 'pl'], + nr: [1, 2, 5], + fc: 7 +}, { + lngs: ['cy'], + nr: [1, 2, 3, 8], + fc: 8 +}, { + lngs: ['fr'], + nr: [1, 2], + fc: 9 +}, { + lngs: ['ga'], + nr: [1, 2, 3, 7, 11], + fc: 10 +}, { + lngs: ['gd'], + nr: [1, 2, 3, 20], + fc: 11 +}, { + lngs: ['is'], + nr: [1, 2], + fc: 12 +}, { + lngs: ['jv'], + nr: [0, 1], + fc: 13 +}, { + lngs: ['kw'], + nr: [1, 2, 3, 4], + fc: 14 +}, { + lngs: ['lt'], + nr: [1, 2, 10], + fc: 15 +}, { + lngs: ['lv'], + nr: [1, 2, 0], + fc: 16 +}, { + lngs: ['mk'], + nr: [1, 2], + fc: 17 +}, { + lngs: ['mnk'], + nr: [0, 1, 2], + fc: 18 +}, { + lngs: ['mt'], + nr: [1, 2, 11, 20], + fc: 19 +}, { + lngs: ['or'], + nr: [2, 1], + fc: 2 +}, { + lngs: ['ro'], + nr: [1, 2, 20], + fc: 20 +}, { + lngs: ['sl'], + nr: [5, 1, 2, 3], + fc: 21 +}, { + lngs: ['he', 'iw'], + nr: [1, 2, 20, 21], + fc: 22 +}]; +var _rulesPluralsTypes = { + 1: function _(n) { + return Number(n > 1); + }, + 2: function _(n) { + return Number(n != 1); + }, + 3: function _(n) { + return 0; + }, + 4: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 5: function _(n) { + return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5); + }, + 6: function _(n) { + return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2); + }, + 7: function _(n) { + return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 8: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3); + }, + 9: function _(n) { + return Number(n >= 2); + }, + 10: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4); + }, + 11: function _(n) { + return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3); + }, + 12: function _(n) { + return Number(n % 10 != 1 || n % 100 == 11); + }, + 13: function _(n) { + return Number(n !== 0); + }, + 14: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3); + }, + 15: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 16: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2); + }, + 17: function _(n) { + return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1); + }, + 18: function _(n) { + return Number(n == 0 ? 0 : n == 1 ? 1 : 2); + }, + 19: function _(n) { + return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3); + }, + 20: function _(n) { + return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2); + }, + 21: function _(n) { + return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0); + }, + 22: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3); + } +}; +var deprecatedJsonVersions = ['v1', 'v2', 'v3']; +var suffixesOrder = { + zero: 0, + one: 1, + two: 2, + few: 3, + many: 4, + other: 5 +}; +function createRules() { + var rules = {}; + sets.forEach(function (set) { + set.lngs.forEach(function (l) { + rules[l] = { + numbers: set.nr, + plurals: _rulesPluralsTypes[set.fc] + }; + }); + }); + return rules; +} +var PluralResolver = function () { + function PluralResolver(languageUtils) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, PluralResolver); + this.languageUtils = languageUtils; + this.options = options; + this.logger = baseLogger.create('pluralResolver'); + if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) { + this.options.compatibilityJSON = 'v3'; + this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.'); + } + this.rules = createRules(); + } + _createClass(PluralResolver, [{ + key: "addRule", + value: function addRule(lng, obj) { + this.rules[lng] = obj; + } + }, { + key: "getRule", + value: function getRule(code) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (this.shouldUseIntlApi()) { + try { + return new Intl.PluralRules(code, { + type: options.ordinal ? 'ordinal' : 'cardinal' + }); + } catch (_unused) { + return; + } + } + return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)]; + } + }, { + key: "needsPlural", + value: function needsPlural(code) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var rule = this.getRule(code, options); + if (this.shouldUseIntlApi()) { + return rule && rule.resolvedOptions().pluralCategories.length > 1; + } + return rule && rule.numbers.length > 1; + } + }, { + key: "getPluralFormsOfKey", + value: function getPluralFormsOfKey(code, key) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return this.getSuffixes(code, options).map(function (suffix) { + return "".concat(key).concat(suffix); + }); + } + }, { + key: "getSuffixes", + value: function getSuffixes(code) { + var _this = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var rule = this.getRule(code, options); + if (!rule) { + return []; + } + if (this.shouldUseIntlApi()) { + return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) { + return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]; + }).map(function (pluralCategory) { + return "".concat(_this.options.prepend).concat(pluralCategory); + }); + } + return rule.numbers.map(function (number) { + return _this.getSuffix(code, number, options); + }); + } + }, { + key: "getSuffix", + value: function getSuffix(code, count) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var rule = this.getRule(code, options); + if (rule) { + if (this.shouldUseIntlApi()) { + return "".concat(this.options.prepend).concat(rule.select(count)); + } + return this.getSuffixRetroCompatible(rule, count); + } + this.logger.warn("no plural rule found for: ".concat(code)); + return ''; + } + }, { + key: "getSuffixRetroCompatible", + value: function getSuffixRetroCompatible(rule, count) { + var _this2 = this; + var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count)); + var suffix = rule.numbers[idx]; + if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) { + if (suffix === 2) { + suffix = 'plural'; + } else if (suffix === 1) { + suffix = ''; + } + } + var returnSuffix = function returnSuffix() { + return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString(); + }; + if (this.options.compatibilityJSON === 'v1') { + if (suffix === 1) return ''; + if (typeof suffix === 'number') return "_plural_".concat(suffix.toString()); + return returnSuffix(); + } else if (this.options.compatibilityJSON === 'v2') { + return returnSuffix(); + } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) { + return returnSuffix(); + } + return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString(); + } + }, { + key: "shouldUseIntlApi", + value: function shouldUseIntlApi() { + return !deprecatedJsonVersions.includes(this.options.compatibilityJSON); + } + }]); + return PluralResolver; +}(); + +function deepFindWithDefaults(data, defaultData, key) { + var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.'; + var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; + var path = getPathWithDefaults(data, defaultData, key); + if (!path && ignoreJSONStructure && typeof key === 'string') { + path = deepFind(data, key, keySeparator); + if (path === undefined) path = deepFind(defaultData, key, keySeparator); + } + return path; +} +var Interpolator = function () { + function Interpolator() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck(this, Interpolator); + this.logger = baseLogger.create('interpolator'); + this.options = options; + this.format = options.interpolation && options.interpolation.format || function (value) { + return value; + }; + this.init(options); + } + _createClass(Interpolator, [{ + key: "init", + value: function init() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (!options.interpolation) options.interpolation = { + escapeValue: true + }; + var iOpts = options.interpolation; + this.escape = iOpts.escape !== undefined ? iOpts.escape : escape; + this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true; + this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false; + this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{'; + this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}'; + this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ','; + this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-'; + this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || ''; + this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t('); + this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')'); + this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ','; + this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000; + this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false; + this.resetRegExp(); + } + }, { + key: "reset", + value: function reset() { + if (this.options) this.init(this.options); + } + }, { + key: "resetRegExp", + value: function resetRegExp() { + var regexpStr = "".concat(this.prefix, "(.+?)").concat(this.suffix); + this.regexp = new RegExp(regexpStr, 'g'); + var regexpUnescapeStr = "".concat(this.prefix).concat(this.unescapePrefix, "(.+?)").concat(this.unescapeSuffix).concat(this.suffix); + this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g'); + var nestingRegexpStr = "".concat(this.nestingPrefix, "(.+?)").concat(this.nestingSuffix); + this.nestingRegexp = new RegExp(nestingRegexpStr, 'g'); + } + }, { + key: "interpolate", + value: function interpolate(str, data, lng, options) { + var _this = this; + var match; + var value; + var replaces; + var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}; + function regexSafe(val) { + return val.replace(/\$/g, '$$$$'); + } + var handleFormat = function handleFormat(key) { + if (key.indexOf(_this.formatSeparator) < 0) { + var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure); + return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread2(_objectSpread2(_objectSpread2({}, options), data), {}, { + interpolationkey: key + })) : path; + } + var p = key.split(_this.formatSeparator); + var k = p.shift().trim(); + var f = p.join(_this.formatSeparator).trim(); + return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread2(_objectSpread2(_objectSpread2({}, options), data), {}, { + interpolationkey: k + })); + }; + this.resetRegExp(); + var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler; + var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables; + var todos = [{ + regex: this.regexpUnescape, + safeValue: function safeValue(val) { + return regexSafe(val); + } + }, { + regex: this.regexp, + safeValue: function safeValue(val) { + return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val); + } + }]; + todos.forEach(function (todo) { + replaces = 0; + while (match = todo.regex.exec(str)) { + var matchedVar = match[1].trim(); + value = handleFormat(matchedVar); + if (value === undefined) { + if (typeof missingInterpolationHandler === 'function') { + var temp = missingInterpolationHandler(str, match, options); + value = typeof temp === 'string' ? temp : ''; + } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) { + value = ''; + } else if (skipOnVariables) { + value = match[0]; + continue; + } else { + _this.logger.warn("missed to pass in variable ".concat(matchedVar, " for interpolating ").concat(str)); + value = ''; + } + } else if (typeof value !== 'string' && !_this.useRawValueToEscape) { + value = makeString(value); + } + var safeValue = todo.safeValue(value); + str = str.replace(match[0], safeValue); + if (skipOnVariables) { + todo.regex.lastIndex += value.length; + todo.regex.lastIndex -= match[0].length; + } else { + todo.regex.lastIndex = 0; + } + replaces++; + if (replaces >= _this.maxReplaces) { + break; + } + } + }); + return str; + } + }, { + key: "nest", + value: function nest(str, fc) { + var _this2 = this; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var match; + var value; + var clonedOptions; + function handleHasOptions(key, inheritedOptions) { + var sep = this.nestingOptionsSeparator; + if (key.indexOf(sep) < 0) return key; + var c = key.split(new RegExp("".concat(sep, "[ ]*{"))); + var optionsString = "{".concat(c[1]); + key = c[0]; + optionsString = this.interpolate(optionsString, clonedOptions); + var matchedSingleQuotes = optionsString.match(/'/g); + var matchedDoubleQuotes = optionsString.match(/"/g); + if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) { + optionsString = optionsString.replace(/'/g, '"'); + } + try { + clonedOptions = JSON.parse(optionsString); + if (inheritedOptions) clonedOptions = _objectSpread2(_objectSpread2({}, inheritedOptions), clonedOptions); + } catch (e) { + this.logger.warn("failed parsing options string in nesting for key ".concat(key), e); + return "".concat(key).concat(sep).concat(optionsString); + } + delete clonedOptions.defaultValue; + return key; + } + while (match = this.nestingRegexp.exec(str)) { + var formatters = []; + clonedOptions = _objectSpread2({}, options); + clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions; + clonedOptions.applyPostProcessor = false; + delete clonedOptions.defaultValue; + var doReduce = false; + if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) { + var r = match[1].split(this.formatSeparator).map(function (elem) { + return elem.trim(); + }); + match[1] = r.shift(); + formatters = r; + doReduce = true; + } + value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions); + if (value && match[0] === str && typeof value !== 'string') return value; + if (typeof value !== 'string') value = makeString(value); + if (!value) { + this.logger.warn("missed to resolve ".concat(match[1], " for nesting ").concat(str)); + value = ''; + } + if (doReduce) { + value = formatters.reduce(function (v, f) { + return _this2.format(v, f, options.lng, _objectSpread2(_objectSpread2({}, options), {}, { + interpolationkey: match[1].trim() + })); + }, value.trim()); + } + str = str.replace(match[0], value); + this.regexp.lastIndex = 0; + } + return str; + } + }]); + return Interpolator; +}(); + +function parseFormatStr(formatStr) { + var formatName = formatStr.toLowerCase().trim(); + var formatOptions = {}; + if (formatStr.indexOf('(') > -1) { + var p = formatStr.split('('); + formatName = p[0].toLowerCase().trim(); + var optStr = p[1].substring(0, p[1].length - 1); + if (formatName === 'currency' && optStr.indexOf(':') < 0) { + if (!formatOptions.currency) formatOptions.currency = optStr.trim(); + } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) { + if (!formatOptions.range) formatOptions.range = optStr.trim(); + } else { + var opts = optStr.split(';'); + opts.forEach(function (opt) { + if (!opt) return; + var _opt$split = opt.split(':'), + _opt$split2 = _toArray(_opt$split), + key = _opt$split2[0], + rest = _opt$split2.slice(1); + var val = rest.join(':').trim().replace(/^'+|'+$/g, ''); + if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val; + if (val === 'false') formatOptions[key.trim()] = false; + if (val === 'true') formatOptions[key.trim()] = true; + if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10); + }); + } + } + return { + formatName: formatName, + formatOptions: formatOptions + }; +} +function createCachedFormatter(fn) { + var cache = {}; + return function invokeFormatter(val, lng, options) { + var key = lng + JSON.stringify(options); + var formatter = cache[key]; + if (!formatter) { + formatter = fn(lng, options); + cache[key] = formatter; + } + return formatter(val); + }; +} +var Formatter = function () { + function Formatter() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck(this, Formatter); + this.logger = baseLogger.create('formatter'); + this.options = options; + this.formats = { + number: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.NumberFormat(lng, _objectSpread2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }), + currency: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.NumberFormat(lng, _objectSpread2(_objectSpread2({}, opt), {}, { + style: 'currency' + })); + return function (val) { + return formatter.format(val); + }; + }), + datetime: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.DateTimeFormat(lng, _objectSpread2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }), + relativetime: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread2({}, opt)); + return function (val) { + return formatter.format(val, opt.range || 'day'); + }; + }), + list: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.ListFormat(lng, _objectSpread2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }) + }; + this.init(options); + } + _createClass(Formatter, [{ + key: "init", + value: function init(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + interpolation: {} + }; + var iOpts = options.interpolation; + this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ','; + } + }, { + key: "add", + value: function add(name, fc) { + this.formats[name.toLowerCase().trim()] = fc; + } + }, { + key: "addCached", + value: function addCached(name, fc) { + this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc); + } + }, { + key: "format", + value: function format(value, _format, lng) { + var _this = this; + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var formats = _format.split(this.formatSeparator); + var result = formats.reduce(function (mem, f) { + var _parseFormatStr = parseFormatStr(f), + formatName = _parseFormatStr.formatName, + formatOptions = _parseFormatStr.formatOptions; + if (_this.formats[formatName]) { + var formatted = mem; + try { + var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {}; + var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng; + formatted = _this.formats[formatName](mem, l, _objectSpread2(_objectSpread2(_objectSpread2({}, formatOptions), options), valOptions)); + } catch (error) { + _this.logger.warn(error); + } + return formatted; + } else { + _this.logger.warn("there was no format function for ".concat(formatName)); + } + return mem; + }, value); + return result; + } + }]); + return Formatter; +}(); + +function removePending(q, name) { + if (q.pending[name] !== undefined) { + delete q.pending[name]; + q.pendingCount--; + } +} +var Connector = function (_EventEmitter) { + _inherits(Connector, _EventEmitter); + var _super = _createSuper(Connector); + function Connector(backend, store, services) { + var _this; + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + _classCallCheck(this, Connector); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + _this.backend = backend; + _this.store = store; + _this.services = services; + _this.languageUtils = services.languageUtils; + _this.options = options; + _this.logger = baseLogger.create('backendConnector'); + _this.waitingReads = []; + _this.maxParallelReads = options.maxParallelReads || 10; + _this.readingCalls = 0; + _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5; + _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350; + _this.state = {}; + _this.queue = []; + if (_this.backend && _this.backend.init) { + _this.backend.init(services, options.backend, options); + } + return _this; + } + _createClass(Connector, [{ + key: "queueLoad", + value: function queueLoad(languages, namespaces, options, callback) { + var _this2 = this; + var toLoad = {}; + var pending = {}; + var toLoadLanguages = {}; + var toLoadNamespaces = {}; + languages.forEach(function (lng) { + var hasAllNamespaces = true; + namespaces.forEach(function (ns) { + var name = "".concat(lng, "|").concat(ns); + if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) { + _this2.state[name] = 2; + } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) { + if (pending[name] === undefined) pending[name] = true; + } else { + _this2.state[name] = 1; + hasAllNamespaces = false; + if (pending[name] === undefined) pending[name] = true; + if (toLoad[name] === undefined) toLoad[name] = true; + if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true; + } + }); + if (!hasAllNamespaces) toLoadLanguages[lng] = true; + }); + if (Object.keys(toLoad).length || Object.keys(pending).length) { + this.queue.push({ + pending: pending, + pendingCount: Object.keys(pending).length, + loaded: {}, + errors: [], + callback: callback + }); + } + return { + toLoad: Object.keys(toLoad), + pending: Object.keys(pending), + toLoadLanguages: Object.keys(toLoadLanguages), + toLoadNamespaces: Object.keys(toLoadNamespaces) + }; + } + }, { + key: "loaded", + value: function loaded(name, err, data) { + var s = name.split('|'); + var lng = s[0]; + var ns = s[1]; + if (err) this.emit('failedLoading', lng, ns, err); + if (data) { + this.store.addResourceBundle(lng, ns, data); + } + this.state[name] = err ? -1 : 2; + var loaded = {}; + this.queue.forEach(function (q) { + pushPath(q.loaded, [lng], ns); + removePending(q, name); + if (err) q.errors.push(err); + if (q.pendingCount === 0 && !q.done) { + Object.keys(q.loaded).forEach(function (l) { + if (!loaded[l]) loaded[l] = {}; + var loadedKeys = q.loaded[l]; + if (loadedKeys.length) { + loadedKeys.forEach(function (n) { + if (loaded[l][n] === undefined) loaded[l][n] = true; + }); + } + }); + q.done = true; + if (q.errors.length) { + q.callback(q.errors); + } else { + q.callback(); + } + } + }); + this.emit('loaded', loaded); + this.queue = this.queue.filter(function (q) { + return !q.done; + }); + } + }, { + key: "read", + value: function read(lng, ns, fcName) { + var _this3 = this; + var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout; + var callback = arguments.length > 5 ? arguments[5] : undefined; + if (!lng.length) return callback(null, {}); + if (this.readingCalls >= this.maxParallelReads) { + this.waitingReads.push({ + lng: lng, + ns: ns, + fcName: fcName, + tried: tried, + wait: wait, + callback: callback + }); + return; + } + this.readingCalls++; + var resolver = function resolver(err, data) { + _this3.readingCalls--; + if (_this3.waitingReads.length > 0) { + var next = _this3.waitingReads.shift(); + _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback); + } + if (err && data && tried < _this3.maxRetries) { + setTimeout(function () { + _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback); + }, wait); + return; + } + callback(err, data); + }; + var fc = this.backend[fcName].bind(this.backend); + if (fc.length === 2) { + try { + var r = fc(lng, ns); + if (r && typeof r.then === 'function') { + r.then(function (data) { + return resolver(null, data); + })["catch"](resolver); + } else { + resolver(null, r); + } + } catch (err) { + resolver(err); + } + return; + } + return fc(lng, ns, resolver); + } + }, { + key: "prepareLoading", + value: function prepareLoading(languages, namespaces) { + var _this4 = this; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var callback = arguments.length > 3 ? arguments[3] : undefined; + if (!this.backend) { + this.logger.warn('No backend was added via i18next.use. Will not load resources.'); + return callback && callback(); + } + if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages); + if (typeof namespaces === 'string') namespaces = [namespaces]; + var toLoad = this.queueLoad(languages, namespaces, options, callback); + if (!toLoad.toLoad.length) { + if (!toLoad.pending.length) callback(); + return null; + } + toLoad.toLoad.forEach(function (name) { + _this4.loadOne(name); + }); + } + }, { + key: "load", + value: function load(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, {}, callback); + } + }, { + key: "reload", + value: function reload(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, { + reload: true + }, callback); + } + }, { + key: "loadOne", + value: function loadOne(name) { + var _this5 = this; + var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; + var s = name.split('|'); + var lng = s[0]; + var ns = s[1]; + this.read(lng, ns, 'read', undefined, undefined, function (err, data) { + if (err) _this5.logger.warn("".concat(prefix, "loading namespace ").concat(ns, " for language ").concat(lng, " failed"), err); + if (!err && data) _this5.logger.log("".concat(prefix, "loaded namespace ").concat(ns, " for language ").concat(lng), data); + _this5.loaded(name, err, data); + }); + } + }, { + key: "saveMissing", + value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) { + var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {}; + var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {}; + if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) { + this.logger.warn("did not save key \"".concat(key, "\" as the namespace \"").concat(namespace, "\" was not yet loaded"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + return; + } + if (key === undefined || key === null || key === '') return; + if (this.backend && this.backend.create) { + var opts = _objectSpread2(_objectSpread2({}, options), {}, { + isUpdate: isUpdate + }); + var fc = this.backend.create.bind(this.backend); + if (fc.length < 6) { + try { + var r; + if (fc.length === 5) { + r = fc(languages, namespace, key, fallbackValue, opts); + } else { + r = fc(languages, namespace, key, fallbackValue); + } + if (r && typeof r.then === 'function') { + r.then(function (data) { + return clb(null, data); + })["catch"](clb); + } else { + clb(null, r); + } + } catch (err) { + clb(err); + } + } else { + fc(languages, namespace, key, fallbackValue, clb, opts); + } + } + if (!languages || !languages[0]) return; + this.store.addResource(languages[0], namespace, key, fallbackValue); + } + }]); + return Connector; +}(EventEmitter); + +function get() { + return { + debug: false, + initImmediate: true, + ns: ['translation'], + defaultNS: ['translation'], + fallbackLng: ['dev'], + fallbackNS: false, + supportedLngs: false, + nonExplicitSupportedLngs: false, + load: 'all', + preload: false, + simplifyPluralSuffix: true, + keySeparator: '.', + nsSeparator: ':', + pluralSeparator: '_', + contextSeparator: '_', + partialBundledLanguages: false, + saveMissing: false, + updateMissing: false, + saveMissingTo: 'fallback', + saveMissingPlurals: true, + missingKeyHandler: false, + missingInterpolationHandler: false, + postProcess: false, + postProcessPassResolved: false, + returnNull: true, + returnEmptyString: true, + returnObjects: false, + joinArrays: false, + returnedObjectHandler: false, + parseMissingKeyHandler: false, + appendNamespaceToMissingKey: false, + appendNamespaceToCIMode: false, + overloadTranslationOptionHandler: function handle(args) { + var ret = {}; + if (_typeof(args[1]) === 'object') ret = args[1]; + if (typeof args[1] === 'string') ret.defaultValue = args[1]; + if (typeof args[2] === 'string') ret.tDescription = args[2]; + if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') { + var options = args[3] || args[2]; + Object.keys(options).forEach(function (key) { + ret[key] = options[key]; + }); + } + return ret; + }, + interpolation: { + escapeValue: true, + format: function format(value, _format, lng, options) { + return value; + }, + prefix: '{{', + suffix: '}}', + formatSeparator: ',', + unescapePrefix: '-', + nestingPrefix: '$t(', + nestingSuffix: ')', + nestingOptionsSeparator: ',', + maxReplaces: 1000, + skipOnVariables: true + } + }; +} +function transformOptions(options) { + if (typeof options.ns === 'string') options.ns = [options.ns]; + if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng]; + if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS]; + if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) { + options.supportedLngs = options.supportedLngs.concat(['cimode']); + } + return options; +} + +function noop() {} +function bindMemberFunctions(inst) { + var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst)); + mems.forEach(function (mem) { + if (typeof inst[mem] === 'function') { + inst[mem] = inst[mem].bind(inst); + } + }); +} +var I18n = function (_EventEmitter) { + _inherits(I18n, _EventEmitter); + var _super = _createSuper(I18n); + function I18n() { + var _this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + _classCallCheck(this, I18n); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + _this.options = transformOptions(options); + _this.services = {}; + _this.logger = baseLogger; + _this.modules = { + external: [] + }; + bindMemberFunctions(_assertThisInitialized(_this)); + if (callback && !_this.isInitialized && !options.isClone) { + if (!_this.options.initImmediate) { + _this.init(options, callback); + return _possibleConstructorReturn(_this, _assertThisInitialized(_this)); + } + setTimeout(function () { + _this.init(options, callback); + }, 0); + } + return _this; + } + _createClass(I18n, [{ + key: "init", + value: function init() { + var _this2 = this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + if (typeof options === 'function') { + callback = options; + options = {}; + } + if (!options.defaultNS && options.defaultNS !== false && options.ns) { + if (typeof options.ns === 'string') { + options.defaultNS = options.ns; + } else if (options.ns.indexOf('translation') < 0) { + options.defaultNS = options.ns[0]; + } + } + var defOpts = get(); + this.options = _objectSpread2(_objectSpread2(_objectSpread2({}, defOpts), this.options), transformOptions(options)); + if (this.options.compatibilityAPI !== 'v1') { + this.options.interpolation = _objectSpread2(_objectSpread2({}, defOpts.interpolation), this.options.interpolation); + } + if (options.keySeparator !== undefined) { + this.options.userDefinedKeySeparator = options.keySeparator; + } + if (options.nsSeparator !== undefined) { + this.options.userDefinedNsSeparator = options.nsSeparator; + } + function createClassOnDemand(ClassOrObject) { + if (!ClassOrObject) return null; + if (typeof ClassOrObject === 'function') return new ClassOrObject(); + return ClassOrObject; + } + if (!this.options.isClone) { + if (this.modules.logger) { + baseLogger.init(createClassOnDemand(this.modules.logger), this.options); + } else { + baseLogger.init(null, this.options); + } + var formatter; + if (this.modules.formatter) { + formatter = this.modules.formatter; + } else if (typeof Intl !== 'undefined') { + formatter = Formatter; + } + var lu = new LanguageUtil(this.options); + this.store = new ResourceStore(this.options.resources, this.options); + var s = this.services; + s.logger = baseLogger; + s.resourceStore = this.store; + s.languageUtils = lu; + s.pluralResolver = new PluralResolver(lu, { + prepend: this.options.pluralSeparator, + compatibilityJSON: this.options.compatibilityJSON, + simplifyPluralSuffix: this.options.simplifyPluralSuffix + }); + if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) { + s.formatter = createClassOnDemand(formatter); + s.formatter.init(s, this.options); + this.options.interpolation.format = s.formatter.format.bind(s.formatter); + } + s.interpolator = new Interpolator(this.options); + s.utils = { + hasLoadedNamespace: this.hasLoadedNamespace.bind(this) + }; + s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); + s.backendConnector.on('*', function (event) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + _this2.emit.apply(_this2, [event].concat(args)); + }); + if (this.modules.languageDetector) { + s.languageDetector = createClassOnDemand(this.modules.languageDetector); + if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options); + } + if (this.modules.i18nFormat) { + s.i18nFormat = createClassOnDemand(this.modules.i18nFormat); + if (s.i18nFormat.init) s.i18nFormat.init(this); + } + this.translator = new Translator(this.services, this.options); + this.translator.on('*', function (event) { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + _this2.emit.apply(_this2, [event].concat(args)); + }); + this.modules.external.forEach(function (m) { + if (m.init) m.init(_this2); + }); + } + this.format = this.options.interpolation.format; + if (!callback) callback = noop; + if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) { + var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0]; + } + if (!this.services.languageDetector && !this.options.lng) { + this.logger.warn('init: no languageDetector is used and no lng is defined'); + } + var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage']; + storeApi.forEach(function (fcName) { + _this2[fcName] = function () { + var _this2$store; + return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments); + }; + }); + var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle']; + storeApiChained.forEach(function (fcName) { + _this2[fcName] = function () { + var _this2$store2; + (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments); + return _this2; + }; + }); + var deferred = defer(); + var load = function load() { + var finish = function finish(err, t) { + if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!'); + _this2.isInitialized = true; + if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options); + _this2.emit('initialized', _this2.options); + deferred.resolve(t); + callback(err, t); + }; + if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2)); + _this2.changeLanguage(_this2.options.lng, finish); + }; + if (this.options.resources || !this.options.initImmediate) { + load(); + } else { + setTimeout(load, 0); + } + return deferred; + } + }, { + key: "loadResources", + value: function loadResources(language) { + var _this3 = this; + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop; + var usedCallback = callback; + var usedLng = typeof language === 'string' ? language : this.language; + if (typeof language === 'function') usedCallback = language; + if (!this.options.resources || this.options.partialBundledLanguages) { + if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback(); + var toLoad = []; + var append = function append(lng) { + if (!lng) return; + var lngs = _this3.services.languageUtils.toResolveHierarchy(lng); + lngs.forEach(function (l) { + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + if (!usedLng) { + var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + fallbacks.forEach(function (l) { + return append(l); + }); + } else { + append(usedLng); + } + if (this.options.preload) { + this.options.preload.forEach(function (l) { + return append(l); + }); + } + this.services.backendConnector.load(toLoad, this.options.ns, function (e) { + if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language); + usedCallback(e); + }); + } else { + usedCallback(null); + } + } + }, { + key: "reloadResources", + value: function reloadResources(lngs, ns, callback) { + var deferred = defer(); + if (!lngs) lngs = this.languages; + if (!ns) ns = this.options.ns; + if (!callback) callback = noop; + this.services.backendConnector.reload(lngs, ns, function (err) { + deferred.resolve(); + callback(err); + }); + return deferred; + } + }, { + key: "use", + value: function use(module) { + if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()'); + if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()'); + if (module.type === 'backend') { + this.modules.backend = module; + } + if (module.type === 'logger' || module.log && module.warn && module.error) { + this.modules.logger = module; + } + if (module.type === 'languageDetector') { + this.modules.languageDetector = module; + } + if (module.type === 'i18nFormat') { + this.modules.i18nFormat = module; + } + if (module.type === 'postProcessor') { + postProcessor.addPostProcessor(module); + } + if (module.type === 'formatter') { + this.modules.formatter = module; + } + if (module.type === '3rdParty') { + this.modules.external.push(module); + } + return this; + } + }, { + key: "setResolvedLanguage", + value: function setResolvedLanguage(l) { + if (!l || !this.languages) return; + if (['cimode', 'dev'].indexOf(l) > -1) return; + for (var li = 0; li < this.languages.length; li++) { + var lngInLngs = this.languages[li]; + if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue; + if (this.store.hasLanguageSomeTranslations(lngInLngs)) { + this.resolvedLanguage = lngInLngs; + break; + } + } + } + }, { + key: "changeLanguage", + value: function changeLanguage(lng, callback) { + var _this4 = this; + this.isLanguageChangingTo = lng; + var deferred = defer(); + this.emit('languageChanging', lng); + var setLngProps = function setLngProps(l) { + _this4.language = l; + _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l); + _this4.resolvedLanguage = undefined; + _this4.setResolvedLanguage(l); + }; + var done = function done(err, l) { + if (l) { + setLngProps(l); + _this4.translator.changeLanguage(l); + _this4.isLanguageChangingTo = undefined; + _this4.emit('languageChanged', l); + _this4.logger.log('languageChanged', l); + } else { + _this4.isLanguageChangingTo = undefined; + } + deferred.resolve(function () { + return _this4.t.apply(_this4, arguments); + }); + if (callback) callback(err, function () { + return _this4.t.apply(_this4, arguments); + }); + }; + var setLng = function setLng(lngs) { + if (!lng && !lngs && _this4.services.languageDetector) lngs = []; + var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs); + if (l) { + if (!_this4.language) { + setLngProps(l); + } + if (!_this4.translator.language) _this4.translator.changeLanguage(l); + if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l); + } + _this4.loadResources(l, function (err) { + done(err, l); + }); + }; + if (!lng && this.services.languageDetector && !this.services.languageDetector.async) { + setLng(this.services.languageDetector.detect()); + } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) { + if (this.services.languageDetector.detect.length === 0) { + this.services.languageDetector.detect().then(setLng); + } else { + this.services.languageDetector.detect(setLng); + } + } else { + setLng(lng); + } + return deferred; + } + }, { + key: "getFixedT", + value: function getFixedT(lng, ns, keyPrefix) { + var _this5 = this; + var fixedT = function fixedT(key, opts) { + var options; + if (_typeof(opts) !== 'object') { + for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) { + rest[_key3 - 2] = arguments[_key3]; + } + options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest)); + } else { + options = _objectSpread2({}, opts); + } + options.lng = options.lng || fixedT.lng; + options.lngs = options.lngs || fixedT.lngs; + options.ns = options.ns || fixedT.ns; + options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix; + var keySeparator = _this5.options.keySeparator || '.'; + var resultKey; + if (options.keyPrefix && Array.isArray(key)) { + resultKey = key.map(function (k) { + return "".concat(options.keyPrefix).concat(keySeparator).concat(k); + }); + } else { + resultKey = options.keyPrefix ? "".concat(options.keyPrefix).concat(keySeparator).concat(key) : key; + } + return _this5.t(resultKey, options); + }; + if (typeof lng === 'string') { + fixedT.lng = lng; + } else { + fixedT.lngs = lng; + } + fixedT.ns = ns; + fixedT.keyPrefix = keyPrefix; + return fixedT; + } + }, { + key: "t", + value: function t() { + var _this$translator; + return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments); + } + }, { + key: "exists", + value: function exists() { + var _this$translator2; + return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments); + } + }, { + key: "setDefaultNamespace", + value: function setDefaultNamespace(ns) { + this.options.defaultNS = ns; + } + }, { + key: "hasLoadedNamespace", + value: function hasLoadedNamespace(ns) { + var _this6 = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (!this.isInitialized) { + this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages); + return false; + } + if (!this.languages || !this.languages.length) { + this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages); + return false; + } + var lng = options.lng || this.resolvedLanguage || this.languages[0]; + var fallbackLng = this.options ? this.options.fallbackLng : false; + var lastLng = this.languages[this.languages.length - 1]; + if (lng.toLowerCase() === 'cimode') return true; + var loadNotPending = function loadNotPending(l, n) { + var loadState = _this6.services.backendConnector.state["".concat(l, "|").concat(n)]; + return loadState === -1 || loadState === 2; + }; + if (options.precheck) { + var preResult = options.precheck(this, loadNotPending); + if (preResult !== undefined) return preResult; + } + if (this.hasResourceBundle(lng, ns)) return true; + if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true; + if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; + return false; + } + }, { + key: "loadNamespaces", + value: function loadNamespaces(ns, callback) { + var _this7 = this; + var deferred = defer(); + if (!this.options.ns) { + if (callback) callback(); + return Promise.resolve(); + } + if (typeof ns === 'string') ns = [ns]; + ns.forEach(function (n) { + if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n); + }); + this.loadResources(function (err) { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + }, { + key: "loadLanguages", + value: function loadLanguages(lngs, callback) { + var deferred = defer(); + if (typeof lngs === 'string') lngs = [lngs]; + var preloaded = this.options.preload || []; + var newLngs = lngs.filter(function (lng) { + return preloaded.indexOf(lng) < 0; + }); + if (!newLngs.length) { + if (callback) callback(); + return Promise.resolve(); + } + this.options.preload = preloaded.concat(newLngs); + this.loadResources(function (err) { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + }, { + key: "dir", + value: function dir(lng) { + if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language); + if (!lng) return 'rtl'; + var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb']; + var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get()); + return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr'; + } + }, { + key: "cloneInstance", + value: function cloneInstance() { + var _this8 = this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop; + var mergedOptions = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), options), { + isClone: true + }); + var clone = new I18n(mergedOptions); + if (options.debug !== undefined || options.prefix !== undefined) { + clone.logger = clone.logger.clone(options); + } + var membersToCopy = ['store', 'services', 'language']; + membersToCopy.forEach(function (m) { + clone[m] = _this8[m]; + }); + clone.services = _objectSpread2({}, this.services); + clone.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + clone.translator = new Translator(clone.services, clone.options); + clone.translator.on('*', function (event) { + for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { + args[_key4 - 1] = arguments[_key4]; + } + clone.emit.apply(clone, [event].concat(args)); + }); + clone.init(mergedOptions, callback); + clone.translator.options = clone.options; + clone.translator.backendConnector.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + return clone; + } + }, { + key: "toJSON", + value: function toJSON() { + return { + options: this.options, + store: this.store, + language: this.language, + languages: this.languages, + resolvedLanguage: this.resolvedLanguage + }; + } + }]); + return I18n; +}(EventEmitter); +_defineProperty(I18n, "createInstance", function () { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + return new I18n(options, callback); +}); +var instance = I18n.createInstance(); +instance.createInstance = I18n.createInstance; + +var createInstance = instance.createInstance; +var dir = instance.dir; +var init = instance.init; +var loadResources = instance.loadResources; +var reloadResources = instance.reloadResources; +var use = instance.use; +var changeLanguage = instance.changeLanguage; +var getFixedT = instance.getFixedT; +var t = instance.t; +var exists = instance.exists; +var setDefaultNamespace = instance.setDefaultNamespace; +var hasLoadedNamespace = instance.hasLoadedNamespace; +var loadNamespaces = instance.loadNamespaces; +var loadLanguages = instance.loadLanguages; + +export { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use }; diff --git a/node_modules/astro-i18next/node_modules/i18next/dist/esm/i18next.js b/node_modules/astro-i18next/node_modules/i18next/dist/esm/i18next.js new file mode 100644 index 00000000..e29bff31 --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/dist/esm/i18next.js @@ -0,0 +1,2515 @@ +import _typeof from '@babel/runtime/helpers/esm/typeof'; +import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck'; +import _createClass from '@babel/runtime/helpers/esm/createClass'; +import _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized'; +import _inherits from '@babel/runtime/helpers/esm/inherits'; +import _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn'; +import _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf'; +import _defineProperty from '@babel/runtime/helpers/esm/defineProperty'; +import _toArray from '@babel/runtime/helpers/esm/toArray'; + +function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +var consoleLogger = { + type: 'logger', + log: function log(args) { + this.output('log', args); + }, + warn: function warn(args) { + this.output('warn', args); + }, + error: function error(args) { + this.output('error', args); + }, + output: function output(type, args) { + if (console && console[type]) console[type].apply(console, args); + } +}; +var Logger = function () { + function Logger(concreteLogger) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Logger); + this.init(concreteLogger, options); + } + _createClass(Logger, [{ + key: "init", + value: function init(concreteLogger) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + this.prefix = options.prefix || 'i18next:'; + this.logger = concreteLogger || consoleLogger; + this.options = options; + this.debug = options.debug; + } + }, { + key: "setDebug", + value: function setDebug(bool) { + this.debug = bool; + } + }, { + key: "log", + value: function log() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return this.forward(args, 'log', '', true); + } + }, { + key: "warn", + value: function warn() { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + return this.forward(args, 'warn', '', true); + } + }, { + key: "error", + value: function error() { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + return this.forward(args, 'error', ''); + } + }, { + key: "deprecate", + value: function deprecate() { + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true); + } + }, { + key: "forward", + value: function forward(args, lvl, prefix, debugOnly) { + if (debugOnly && !this.debug) return null; + if (typeof args[0] === 'string') args[0] = "".concat(prefix).concat(this.prefix, " ").concat(args[0]); + return this.logger[lvl](args); + } + }, { + key: "create", + value: function create(moduleName) { + return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, { + prefix: "".concat(this.prefix, ":").concat(moduleName, ":") + }), this.options)); + } + }, { + key: "clone", + value: function clone(options) { + options = options || this.options; + options.prefix = options.prefix || this.prefix; + return new Logger(this.logger, options); + } + }]); + return Logger; +}(); +var baseLogger = new Logger(); + +var EventEmitter = function () { + function EventEmitter() { + _classCallCheck(this, EventEmitter); + this.observers = {}; + } + _createClass(EventEmitter, [{ + key: "on", + value: function on(events, listener) { + var _this = this; + events.split(' ').forEach(function (event) { + _this.observers[event] = _this.observers[event] || []; + _this.observers[event].push(listener); + }); + return this; + } + }, { + key: "off", + value: function off(event, listener) { + if (!this.observers[event]) return; + if (!listener) { + delete this.observers[event]; + return; + } + this.observers[event] = this.observers[event].filter(function (l) { + return l !== listener; + }); + } + }, { + key: "emit", + value: function emit(event) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + if (this.observers[event]) { + var cloned = [].concat(this.observers[event]); + cloned.forEach(function (observer) { + observer.apply(void 0, args); + }); + } + if (this.observers['*']) { + var _cloned = [].concat(this.observers['*']); + _cloned.forEach(function (observer) { + observer.apply(observer, [event].concat(args)); + }); + } + } + }]); + return EventEmitter; +}(); + +function defer() { + var res; + var rej; + var promise = new Promise(function (resolve, reject) { + res = resolve; + rej = reject; + }); + promise.resolve = res; + promise.reject = rej; + return promise; +} +function makeString(object) { + if (object == null) return ''; + return '' + object; +} +function copy(a, s, t) { + a.forEach(function (m) { + if (s[m]) t[m] = s[m]; + }); +} +function getLastOfPath(object, path, Empty) { + function cleanKey(key) { + return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key; + } + function canNotTraverseDeeper() { + return !object || typeof object === 'string'; + } + var stack = typeof path !== 'string' ? [].concat(path) : path.split('.'); + while (stack.length > 1) { + if (canNotTraverseDeeper()) return {}; + var key = cleanKey(stack.shift()); + if (!object[key] && Empty) object[key] = new Empty(); + if (Object.prototype.hasOwnProperty.call(object, key)) { + object = object[key]; + } else { + object = {}; + } + } + if (canNotTraverseDeeper()) return {}; + return { + obj: object, + k: cleanKey(stack.shift()) + }; +} +function setPath(object, path, newValue) { + var _getLastOfPath = getLastOfPath(object, path, Object), + obj = _getLastOfPath.obj, + k = _getLastOfPath.k; + obj[k] = newValue; +} +function pushPath(object, path, newValue, concat) { + var _getLastOfPath2 = getLastOfPath(object, path, Object), + obj = _getLastOfPath2.obj, + k = _getLastOfPath2.k; + obj[k] = obj[k] || []; + if (concat) obj[k] = obj[k].concat(newValue); + if (!concat) obj[k].push(newValue); +} +function getPath(object, path) { + var _getLastOfPath3 = getLastOfPath(object, path), + obj = _getLastOfPath3.obj, + k = _getLastOfPath3.k; + if (!obj) return undefined; + return obj[k]; +} +function getPathWithDefaults(data, defaultData, key) { + var value = getPath(data, key); + if (value !== undefined) { + return value; + } + return getPath(defaultData, key); +} +function deepExtend(target, source, overwrite) { + for (var prop in source) { + if (prop !== '__proto__' && prop !== 'constructor') { + if (prop in target) { + if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) { + if (overwrite) target[prop] = source[prop]; + } else { + deepExtend(target[prop], source[prop], overwrite); + } + } else { + target[prop] = source[prop]; + } + } + } + return target; +} +function regexEscape(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); +} +var _entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' +}; +function escape(data) { + if (typeof data === 'string') { + return data.replace(/[&<>"'\/]/g, function (s) { + return _entityMap[s]; + }); + } + return data; +} +var isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1; +var chars = [' ', ',', '?', '!', ';']; +function looksLikeObjectPath(key, nsSeparator, keySeparator) { + nsSeparator = nsSeparator || ''; + keySeparator = keySeparator || ''; + var possibleChars = chars.filter(function (c) { + return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0; + }); + if (possibleChars.length === 0) return true; + var r = new RegExp("(".concat(possibleChars.map(function (c) { + return c === '?' ? '\\?' : c; + }).join('|'), ")")); + var matched = !r.test(key); + if (!matched) { + var ki = key.indexOf(keySeparator); + if (ki > 0 && !r.test(key.substring(0, ki))) { + matched = true; + } + } + return matched; +} +function deepFind(obj, path) { + var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.'; + if (!obj) return undefined; + if (obj[path]) return obj[path]; + var paths = path.split(keySeparator); + var current = obj; + for (var i = 0; i < paths.length; ++i) { + if (!current) return undefined; + if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) { + return undefined; + } + if (current[paths[i]] === undefined) { + var j = 2; + var p = paths.slice(i, i + j).join(keySeparator); + var mix = current[p]; + while (mix === undefined && paths.length > i + j) { + j++; + p = paths.slice(i, i + j).join(keySeparator); + mix = current[p]; + } + if (mix === undefined) return undefined; + if (mix === null) return null; + if (path.endsWith(p)) { + if (typeof mix === 'string') return mix; + if (p && typeof mix[p] === 'string') return mix[p]; + } + var joinedPath = paths.slice(i + j).join(keySeparator); + if (joinedPath) return deepFind(mix, joinedPath, keySeparator); + return undefined; + } + current = current[paths[i]]; + } + return current; +} + +function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } +function _isNativeReflectConstruct$3() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +var ResourceStore = function (_EventEmitter) { + _inherits(ResourceStore, _EventEmitter); + var _super = _createSuper$3(ResourceStore); + function ResourceStore(data) { + var _this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + ns: ['translation'], + defaultNS: 'translation' + }; + _classCallCheck(this, ResourceStore); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + _this.data = data || {}; + _this.options = options; + if (_this.options.keySeparator === undefined) { + _this.options.keySeparator = '.'; + } + if (_this.options.ignoreJSONStructure === undefined) { + _this.options.ignoreJSONStructure = true; + } + return _this; + } + _createClass(ResourceStore, [{ + key: "addNamespaces", + value: function addNamespaces(ns) { + if (this.options.ns.indexOf(ns) < 0) { + this.options.ns.push(ns); + } + } + }, { + key: "removeNamespaces", + value: function removeNamespaces(ns) { + var index = this.options.ns.indexOf(ns); + if (index > -1) { + this.options.ns.splice(index, 1); + } + } + }, { + key: "getResource", + value: function getResource(lng, ns, key) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure; + var path = [lng, ns]; + if (key && typeof key !== 'string') path = path.concat(key); + if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + } + var result = getPath(this.data, path); + if (result || !ignoreJSONStructure || typeof key !== 'string') return result; + return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator); + } + }, { + key: "addResource", + value: function addResource(lng, ns, key, value) { + var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { + silent: false + }; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var path = [lng, ns]; + if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + value = ns; + ns = path[1]; + } + this.addNamespaces(ns); + setPath(this.data, path, value); + if (!options.silent) this.emit('added', lng, ns, key, value); + } + }, { + key: "addResources", + value: function addResources(lng, ns, resources) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { + silent: false + }; + for (var m in resources) { + if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], { + silent: true + }); + } + if (!options.silent) this.emit('added', lng, ns, resources); + } + }, { + key: "addResourceBundle", + value: function addResourceBundle(lng, ns, resources, deep, overwrite) { + var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : { + silent: false + }; + var path = [lng, ns]; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + deep = resources; + resources = ns; + ns = path[1]; + } + this.addNamespaces(ns); + var pack = getPath(this.data, path) || {}; + if (deep) { + deepExtend(pack, resources, overwrite); + } else { + pack = _objectSpread$5(_objectSpread$5({}, pack), resources); + } + setPath(this.data, path, pack); + if (!options.silent) this.emit('added', lng, ns, resources); + } + }, { + key: "removeResourceBundle", + value: function removeResourceBundle(lng, ns) { + if (this.hasResourceBundle(lng, ns)) { + delete this.data[lng][ns]; + } + this.removeNamespaces(ns); + this.emit('removed', lng, ns); + } + }, { + key: "hasResourceBundle", + value: function hasResourceBundle(lng, ns) { + return this.getResource(lng, ns) !== undefined; + } + }, { + key: "getResourceBundle", + value: function getResourceBundle(lng, ns) { + if (!ns) ns = this.options.defaultNS; + if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns)); + return this.getResource(lng, ns); + } + }, { + key: "getDataByLanguage", + value: function getDataByLanguage(lng) { + return this.data[lng]; + } + }, { + key: "hasLanguageSomeTranslations", + value: function hasLanguageSomeTranslations(lng) { + var data = this.getDataByLanguage(lng); + var n = data && Object.keys(data) || []; + return !!n.find(function (v) { + return data[v] && Object.keys(data[v]).length > 0; + }); + } + }, { + key: "toJSON", + value: function toJSON() { + return this.data; + } + }]); + return ResourceStore; +}(EventEmitter); + +var postProcessor = { + processors: {}, + addPostProcessor: function addPostProcessor(module) { + this.processors[module.name] = module; + }, + handle: function handle(processors, value, key, options, translator) { + var _this = this; + processors.forEach(function (processor) { + if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator); + }); + return value; + } +}; + +function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } +function _isNativeReflectConstruct$2() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +var checkedLoadedFor = {}; +var Translator = function (_EventEmitter) { + _inherits(Translator, _EventEmitter); + var _super = _createSuper$2(Translator); + function Translator(services) { + var _this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Translator); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this)); + _this.options = options; + if (_this.options.keySeparator === undefined) { + _this.options.keySeparator = '.'; + } + _this.logger = baseLogger.create('translator'); + return _this; + } + _createClass(Translator, [{ + key: "changeLanguage", + value: function changeLanguage(lng) { + if (lng) this.language = lng; + } + }, { + key: "exists", + value: function exists(key) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + interpolation: {} + }; + if (key === undefined || key === null) { + return false; + } + var resolved = this.resolve(key, options); + return resolved && resolved.res !== undefined; + } + }, { + key: "extractFromKey", + value: function extractFromKey(key, options) { + var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var namespaces = options.ns || this.options.defaultNS || []; + var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1; + var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator); + if (wouldCheckForNsInKey && !seemsNaturalLanguage) { + var m = key.match(this.interpolator.nestingRegexp); + if (m && m.length > 0) { + return { + key: key, + namespaces: namespaces + }; + } + var parts = key.split(nsSeparator); + if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift(); + key = parts.join(keySeparator); + } + if (typeof namespaces === 'string') namespaces = [namespaces]; + return { + key: key, + namespaces: namespaces + }; + } + }, { + key: "translate", + value: function translate(keys, options, lastKey) { + var _this2 = this; + if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) { + options = this.options.overloadTranslationOptionHandler(arguments); + } + if (_typeof(options) === 'object') options = _objectSpread$4({}, options); + if (!options) options = {}; + if (keys === undefined || keys === null) return ''; + if (!Array.isArray(keys)) keys = [String(keys)]; + var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options), + key = _this$extractFromKey.key, + namespaces = _this$extractFromKey.namespaces; + var namespace = namespaces[namespaces.length - 1]; + var lng = options.lng || this.language; + var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode; + if (lng && lng.toLowerCase() === 'cimode') { + if (appendNamespaceToCIMode) { + var nsSeparator = options.nsSeparator || this.options.nsSeparator; + if (returnDetails) { + return { + res: "".concat(namespace).concat(nsSeparator).concat(key), + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace + }; + } + return "".concat(namespace).concat(nsSeparator).concat(key); + } + if (returnDetails) { + return { + res: key, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace + }; + } + return key; + } + var resolved = this.resolve(keys, options); + var res = resolved && resolved.res; + var resUsedKey = resolved && resolved.usedKey || key; + var resExactUsedKey = resolved && resolved.exactUsedKey || key; + var resType = Object.prototype.toString.apply(res); + var noObject = ['[object Number]', '[object Function]', '[object RegExp]']; + var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays; + var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject; + var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number'; + if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) { + if (!options.returnObjects && !this.options.returnObjects) { + if (!this.options.returnedObjectHandler) { + this.logger.warn('accessing an object - but returnObjects options is not enabled!'); + } + var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, { + ns: namespaces + })) : "key '".concat(key, " (").concat(this.language, ")' returned an object instead of string."); + if (returnDetails) { + resolved.res = r; + return resolved; + } + return r; + } + if (keySeparator) { + var resTypeIsArray = resType === '[object Array]'; + var copy = resTypeIsArray ? [] : {}; + var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey; + for (var m in res) { + if (Object.prototype.hasOwnProperty.call(res, m)) { + var deepKey = "".concat(newKeyToUse).concat(keySeparator).concat(m); + copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), { + joinArrays: false, + ns: namespaces + })); + if (copy[m] === deepKey) copy[m] = res[m]; + } + } + res = copy; + } + } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') { + res = res.join(joinArrays); + if (res) res = this.extendTranslation(res, keys, options, lastKey); + } else { + var usedDefault = false; + var usedKey = false; + var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string'; + var hasDefaultValue = Translator.hasDefaultValue(options); + var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : ''; + var defaultValue = options["defaultValue".concat(defaultValueSuffix)] || options.defaultValue; + if (!this.isValidLookup(res) && hasDefaultValue) { + usedDefault = true; + res = defaultValue; + } + if (!this.isValidLookup(res)) { + usedKey = true; + res = key; + } + var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey; + var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res; + var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing; + if (usedKey || usedDefault || updateMissing) { + this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res); + if (keySeparator) { + var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, { + keySeparator: false + })); + if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.'); + } + var lngs = []; + var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language); + if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) { + for (var i = 0; i < fallbackLngs.length; i++) { + lngs.push(fallbackLngs[i]); + } + } else if (this.options.saveMissingTo === 'all') { + lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language); + } else { + lngs.push(options.lng || this.language); + } + var send = function send(l, k, specificDefaultValue) { + var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing; + if (_this2.options.missingKeyHandler) { + _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options); + } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) { + _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options); + } + _this2.emit('missingKey', l, namespace, k, res); + }; + if (this.options.saveMissing) { + if (this.options.saveMissingPlurals && needsPluralHandling) { + lngs.forEach(function (language) { + _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) { + send([language], key + suffix, options["defaultValue".concat(suffix)] || defaultValue); + }); + }); + } else { + send(lngs, key, defaultValue); + } + } + } + res = this.extendTranslation(res, keys, options, resolved, lastKey); + if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = "".concat(namespace, ":").concat(key); + if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) { + if (this.options.compatibilityAPI !== 'v1') { + res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? "".concat(namespace, ":").concat(key) : key, usedDefault ? res : undefined); + } else { + res = this.options.parseMissingKeyHandler(res); + } + } + } + if (returnDetails) { + resolved.res = res; + return resolved; + } + return res; + } + }, { + key: "extendTranslation", + value: function extendTranslation(res, key, options, resolved, lastKey) { + var _this3 = this; + if (this.i18nFormat && this.i18nFormat.parse) { + res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, { + resolved: resolved + }); + } else if (!options.skipInterpolation) { + if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), { + interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation) + })); + var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables); + var nestBef; + if (skipOnVariables) { + var nb = res.match(this.interpolator.nestingRegexp); + nestBef = nb && nb.length; + } + var data = options.replace && typeof options.replace !== 'string' ? options.replace : options; + if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data); + res = this.interpolator.interpolate(res, data, options.lng || this.language, options); + if (skipOnVariables) { + var na = res.match(this.interpolator.nestingRegexp); + var nestAft = na && na.length; + if (nestBef < nestAft) options.nest = false; + } + if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng; + if (options.nest !== false) res = this.interpolator.nest(res, function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + if (lastKey && lastKey[0] === args[0] && !options.context) { + _this3.logger.warn("It seems you are nesting recursively key: ".concat(args[0], " in key: ").concat(key[0])); + return null; + } + return _this3.translate.apply(_this3, args.concat([key])); + }, options); + if (options.interpolation) this.interpolator.reset(); + } + var postProcess = options.postProcess || this.options.postProcess; + var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess; + if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) { + res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({ + i18nResolved: resolved + }, options) : options, this); + } + return res; + } + }, { + key: "resolve", + value: function resolve(keys) { + var _this4 = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var found; + var usedKey; + var exactUsedKey; + var usedLng; + var usedNS; + if (typeof keys === 'string') keys = [keys]; + keys.forEach(function (k) { + if (_this4.isValidLookup(found)) return; + var extracted = _this4.extractFromKey(k, options); + var key = extracted.key; + usedKey = key; + var namespaces = extracted.namespaces; + if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS); + var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string'; + var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi(); + var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== ''; + var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng); + namespaces.forEach(function (ns) { + if (_this4.isValidLookup(found)) return; + usedNS = ns; + if (!checkedLoadedFor["".concat(codes[0], "-").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) { + checkedLoadedFor["".concat(codes[0], "-").concat(ns)] = true; + _this4.logger.warn("key \"".concat(usedKey, "\" for languages \"").concat(codes.join(', '), "\" won't get resolved as namespace \"").concat(usedNS, "\" was not yet loaded"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + } + codes.forEach(function (code) { + if (_this4.isValidLookup(found)) return; + usedLng = code; + var finalKeys = [key]; + if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) { + _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options); + } else { + var pluralSuffix; + if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options); + var zeroSuffix = "".concat(_this4.options.pluralSeparator, "zero"); + if (needsPluralHandling) { + finalKeys.push(key + pluralSuffix); + if (needsZeroSuffixLookup) { + finalKeys.push(key + zeroSuffix); + } + } + if (needsContextHandling) { + var contextKey = "".concat(key).concat(_this4.options.contextSeparator).concat(options.context); + finalKeys.push(contextKey); + if (needsPluralHandling) { + finalKeys.push(contextKey + pluralSuffix); + if (needsZeroSuffixLookup) { + finalKeys.push(contextKey + zeroSuffix); + } + } + } + } + var possibleKey; + while (possibleKey = finalKeys.pop()) { + if (!_this4.isValidLookup(found)) { + exactUsedKey = possibleKey; + found = _this4.getResource(code, ns, possibleKey, options); + } + } + }); + }); + }); + return { + res: found, + usedKey: usedKey, + exactUsedKey: exactUsedKey, + usedLng: usedLng, + usedNS: usedNS + }; + } + }, { + key: "isValidLookup", + value: function isValidLookup(res) { + return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === ''); + } + }, { + key: "getResource", + value: function getResource(code, ns, key) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options); + return this.resourceStore.getResource(code, ns, key, options); + } + }], [{ + key: "hasDefaultValue", + value: function hasDefaultValue(options) { + var prefix = 'defaultValue'; + for (var option in options) { + if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) { + return true; + } + } + return false; + } + }]); + return Translator; +}(EventEmitter); + +function capitalize(string) { + return string.charAt(0).toUpperCase() + string.slice(1); +} +var LanguageUtil = function () { + function LanguageUtil(options) { + _classCallCheck(this, LanguageUtil); + this.options = options; + this.supportedLngs = this.options.supportedLngs || false; + this.logger = baseLogger.create('languageUtils'); + } + _createClass(LanguageUtil, [{ + key: "getScriptPartFromCode", + value: function getScriptPartFromCode(code) { + if (!code || code.indexOf('-') < 0) return null; + var p = code.split('-'); + if (p.length === 2) return null; + p.pop(); + if (p[p.length - 1].toLowerCase() === 'x') return null; + return this.formatLanguageCode(p.join('-')); + } + }, { + key: "getLanguagePartFromCode", + value: function getLanguagePartFromCode(code) { + if (!code || code.indexOf('-') < 0) return code; + var p = code.split('-'); + return this.formatLanguageCode(p[0]); + } + }, { + key: "formatLanguageCode", + value: function formatLanguageCode(code) { + if (typeof code === 'string' && code.indexOf('-') > -1) { + var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab']; + var p = code.split('-'); + if (this.options.lowerCaseLng) { + p = p.map(function (part) { + return part.toLowerCase(); + }); + } else if (p.length === 2) { + p[0] = p[0].toLowerCase(); + p[1] = p[1].toUpperCase(); + if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase()); + } else if (p.length === 3) { + p[0] = p[0].toLowerCase(); + if (p[1].length === 2) p[1] = p[1].toUpperCase(); + if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase(); + if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase()); + if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase()); + } + return p.join('-'); + } + return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code; + } + }, { + key: "isSupportedCode", + value: function isSupportedCode(code) { + if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) { + code = this.getLanguagePartFromCode(code); + } + return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1; + } + }, { + key: "getBestMatchFromCodes", + value: function getBestMatchFromCodes(codes) { + var _this = this; + if (!codes) return null; + var found; + codes.forEach(function (code) { + if (found) return; + var cleanedLng = _this.formatLanguageCode(code); + if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng; + }); + if (!found && this.options.supportedLngs) { + codes.forEach(function (code) { + if (found) return; + var lngOnly = _this.getLanguagePartFromCode(code); + if (_this.isSupportedCode(lngOnly)) return found = lngOnly; + found = _this.options.supportedLngs.find(function (supportedLng) { + if (supportedLng === lngOnly) return supportedLng; + if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return; + if (supportedLng.indexOf(lngOnly) === 0) return supportedLng; + }); + }); + } + if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0]; + return found; + } + }, { + key: "getFallbackCodes", + value: function getFallbackCodes(fallbacks, code) { + if (!fallbacks) return []; + if (typeof fallbacks === 'function') fallbacks = fallbacks(code); + if (typeof fallbacks === 'string') fallbacks = [fallbacks]; + if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks; + if (!code) return fallbacks["default"] || []; + var found = fallbacks[code]; + if (!found) found = fallbacks[this.getScriptPartFromCode(code)]; + if (!found) found = fallbacks[this.formatLanguageCode(code)]; + if (!found) found = fallbacks[this.getLanguagePartFromCode(code)]; + if (!found) found = fallbacks["default"]; + return found || []; + } + }, { + key: "toResolveHierarchy", + value: function toResolveHierarchy(code, fallbackCode) { + var _this2 = this; + var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code); + var codes = []; + var addCode = function addCode(c) { + if (!c) return; + if (_this2.isSupportedCode(c)) { + codes.push(c); + } else { + _this2.logger.warn("rejecting language code not found in supportedLngs: ".concat(c)); + } + }; + if (typeof code === 'string' && code.indexOf('-') > -1) { + if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code)); + if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code)); + if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code)); + } else if (typeof code === 'string') { + addCode(this.formatLanguageCode(code)); + } + fallbackCodes.forEach(function (fc) { + if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc)); + }); + return codes; + } + }]); + return LanguageUtil; +}(); + +var sets = [{ + lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'], + nr: [1, 2], + fc: 1 +}, { + lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'], + nr: [1, 2], + fc: 2 +}, { + lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'], + nr: [1], + fc: 3 +}, { + lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'], + nr: [1, 2, 5], + fc: 4 +}, { + lngs: ['ar'], + nr: [0, 1, 2, 3, 11, 100], + fc: 5 +}, { + lngs: ['cs', 'sk'], + nr: [1, 2, 5], + fc: 6 +}, { + lngs: ['csb', 'pl'], + nr: [1, 2, 5], + fc: 7 +}, { + lngs: ['cy'], + nr: [1, 2, 3, 8], + fc: 8 +}, { + lngs: ['fr'], + nr: [1, 2], + fc: 9 +}, { + lngs: ['ga'], + nr: [1, 2, 3, 7, 11], + fc: 10 +}, { + lngs: ['gd'], + nr: [1, 2, 3, 20], + fc: 11 +}, { + lngs: ['is'], + nr: [1, 2], + fc: 12 +}, { + lngs: ['jv'], + nr: [0, 1], + fc: 13 +}, { + lngs: ['kw'], + nr: [1, 2, 3, 4], + fc: 14 +}, { + lngs: ['lt'], + nr: [1, 2, 10], + fc: 15 +}, { + lngs: ['lv'], + nr: [1, 2, 0], + fc: 16 +}, { + lngs: ['mk'], + nr: [1, 2], + fc: 17 +}, { + lngs: ['mnk'], + nr: [0, 1, 2], + fc: 18 +}, { + lngs: ['mt'], + nr: [1, 2, 11, 20], + fc: 19 +}, { + lngs: ['or'], + nr: [2, 1], + fc: 2 +}, { + lngs: ['ro'], + nr: [1, 2, 20], + fc: 20 +}, { + lngs: ['sl'], + nr: [5, 1, 2, 3], + fc: 21 +}, { + lngs: ['he', 'iw'], + nr: [1, 2, 20, 21], + fc: 22 +}]; +var _rulesPluralsTypes = { + 1: function _(n) { + return Number(n > 1); + }, + 2: function _(n) { + return Number(n != 1); + }, + 3: function _(n) { + return 0; + }, + 4: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 5: function _(n) { + return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5); + }, + 6: function _(n) { + return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2); + }, + 7: function _(n) { + return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 8: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3); + }, + 9: function _(n) { + return Number(n >= 2); + }, + 10: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4); + }, + 11: function _(n) { + return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3); + }, + 12: function _(n) { + return Number(n % 10 != 1 || n % 100 == 11); + }, + 13: function _(n) { + return Number(n !== 0); + }, + 14: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3); + }, + 15: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 16: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2); + }, + 17: function _(n) { + return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1); + }, + 18: function _(n) { + return Number(n == 0 ? 0 : n == 1 ? 1 : 2); + }, + 19: function _(n) { + return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3); + }, + 20: function _(n) { + return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2); + }, + 21: function _(n) { + return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0); + }, + 22: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3); + } +}; +var deprecatedJsonVersions = ['v1', 'v2', 'v3']; +var suffixesOrder = { + zero: 0, + one: 1, + two: 2, + few: 3, + many: 4, + other: 5 +}; +function createRules() { + var rules = {}; + sets.forEach(function (set) { + set.lngs.forEach(function (l) { + rules[l] = { + numbers: set.nr, + plurals: _rulesPluralsTypes[set.fc] + }; + }); + }); + return rules; +} +var PluralResolver = function () { + function PluralResolver(languageUtils) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, PluralResolver); + this.languageUtils = languageUtils; + this.options = options; + this.logger = baseLogger.create('pluralResolver'); + if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) { + this.options.compatibilityJSON = 'v3'; + this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.'); + } + this.rules = createRules(); + } + _createClass(PluralResolver, [{ + key: "addRule", + value: function addRule(lng, obj) { + this.rules[lng] = obj; + } + }, { + key: "getRule", + value: function getRule(code) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (this.shouldUseIntlApi()) { + try { + return new Intl.PluralRules(code, { + type: options.ordinal ? 'ordinal' : 'cardinal' + }); + } catch (_unused) { + return; + } + } + return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)]; + } + }, { + key: "needsPlural", + value: function needsPlural(code) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var rule = this.getRule(code, options); + if (this.shouldUseIntlApi()) { + return rule && rule.resolvedOptions().pluralCategories.length > 1; + } + return rule && rule.numbers.length > 1; + } + }, { + key: "getPluralFormsOfKey", + value: function getPluralFormsOfKey(code, key) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return this.getSuffixes(code, options).map(function (suffix) { + return "".concat(key).concat(suffix); + }); + } + }, { + key: "getSuffixes", + value: function getSuffixes(code) { + var _this = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var rule = this.getRule(code, options); + if (!rule) { + return []; + } + if (this.shouldUseIntlApi()) { + return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) { + return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]; + }).map(function (pluralCategory) { + return "".concat(_this.options.prepend).concat(pluralCategory); + }); + } + return rule.numbers.map(function (number) { + return _this.getSuffix(code, number, options); + }); + } + }, { + key: "getSuffix", + value: function getSuffix(code, count) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var rule = this.getRule(code, options); + if (rule) { + if (this.shouldUseIntlApi()) { + return "".concat(this.options.prepend).concat(rule.select(count)); + } + return this.getSuffixRetroCompatible(rule, count); + } + this.logger.warn("no plural rule found for: ".concat(code)); + return ''; + } + }, { + key: "getSuffixRetroCompatible", + value: function getSuffixRetroCompatible(rule, count) { + var _this2 = this; + var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count)); + var suffix = rule.numbers[idx]; + if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) { + if (suffix === 2) { + suffix = 'plural'; + } else if (suffix === 1) { + suffix = ''; + } + } + var returnSuffix = function returnSuffix() { + return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString(); + }; + if (this.options.compatibilityJSON === 'v1') { + if (suffix === 1) return ''; + if (typeof suffix === 'number') return "_plural_".concat(suffix.toString()); + return returnSuffix(); + } else if (this.options.compatibilityJSON === 'v2') { + return returnSuffix(); + } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) { + return returnSuffix(); + } + return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString(); + } + }, { + key: "shouldUseIntlApi", + value: function shouldUseIntlApi() { + return !deprecatedJsonVersions.includes(this.options.compatibilityJSON); + } + }]); + return PluralResolver; +}(); + +function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function deepFindWithDefaults(data, defaultData, key) { + var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.'; + var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; + var path = getPathWithDefaults(data, defaultData, key); + if (!path && ignoreJSONStructure && typeof key === 'string') { + path = deepFind(data, key, keySeparator); + if (path === undefined) path = deepFind(defaultData, key, keySeparator); + } + return path; +} +var Interpolator = function () { + function Interpolator() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck(this, Interpolator); + this.logger = baseLogger.create('interpolator'); + this.options = options; + this.format = options.interpolation && options.interpolation.format || function (value) { + return value; + }; + this.init(options); + } + _createClass(Interpolator, [{ + key: "init", + value: function init() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (!options.interpolation) options.interpolation = { + escapeValue: true + }; + var iOpts = options.interpolation; + this.escape = iOpts.escape !== undefined ? iOpts.escape : escape; + this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true; + this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false; + this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{'; + this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}'; + this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ','; + this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-'; + this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || ''; + this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t('); + this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')'); + this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ','; + this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000; + this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false; + this.resetRegExp(); + } + }, { + key: "reset", + value: function reset() { + if (this.options) this.init(this.options); + } + }, { + key: "resetRegExp", + value: function resetRegExp() { + var regexpStr = "".concat(this.prefix, "(.+?)").concat(this.suffix); + this.regexp = new RegExp(regexpStr, 'g'); + var regexpUnescapeStr = "".concat(this.prefix).concat(this.unescapePrefix, "(.+?)").concat(this.unescapeSuffix).concat(this.suffix); + this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g'); + var nestingRegexpStr = "".concat(this.nestingPrefix, "(.+?)").concat(this.nestingSuffix); + this.nestingRegexp = new RegExp(nestingRegexpStr, 'g'); + } + }, { + key: "interpolate", + value: function interpolate(str, data, lng, options) { + var _this = this; + var match; + var value; + var replaces; + var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}; + function regexSafe(val) { + return val.replace(/\$/g, '$$$$'); + } + var handleFormat = function handleFormat(key) { + if (key.indexOf(_this.formatSeparator) < 0) { + var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure); + return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, { + interpolationkey: key + })) : path; + } + var p = key.split(_this.formatSeparator); + var k = p.shift().trim(); + var f = p.join(_this.formatSeparator).trim(); + return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, { + interpolationkey: k + })); + }; + this.resetRegExp(); + var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler; + var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables; + var todos = [{ + regex: this.regexpUnescape, + safeValue: function safeValue(val) { + return regexSafe(val); + } + }, { + regex: this.regexp, + safeValue: function safeValue(val) { + return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val); + } + }]; + todos.forEach(function (todo) { + replaces = 0; + while (match = todo.regex.exec(str)) { + var matchedVar = match[1].trim(); + value = handleFormat(matchedVar); + if (value === undefined) { + if (typeof missingInterpolationHandler === 'function') { + var temp = missingInterpolationHandler(str, match, options); + value = typeof temp === 'string' ? temp : ''; + } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) { + value = ''; + } else if (skipOnVariables) { + value = match[0]; + continue; + } else { + _this.logger.warn("missed to pass in variable ".concat(matchedVar, " for interpolating ").concat(str)); + value = ''; + } + } else if (typeof value !== 'string' && !_this.useRawValueToEscape) { + value = makeString(value); + } + var safeValue = todo.safeValue(value); + str = str.replace(match[0], safeValue); + if (skipOnVariables) { + todo.regex.lastIndex += value.length; + todo.regex.lastIndex -= match[0].length; + } else { + todo.regex.lastIndex = 0; + } + replaces++; + if (replaces >= _this.maxReplaces) { + break; + } + } + }); + return str; + } + }, { + key: "nest", + value: function nest(str, fc) { + var _this2 = this; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var match; + var value; + var clonedOptions; + function handleHasOptions(key, inheritedOptions) { + var sep = this.nestingOptionsSeparator; + if (key.indexOf(sep) < 0) return key; + var c = key.split(new RegExp("".concat(sep, "[ ]*{"))); + var optionsString = "{".concat(c[1]); + key = c[0]; + optionsString = this.interpolate(optionsString, clonedOptions); + var matchedSingleQuotes = optionsString.match(/'/g); + var matchedDoubleQuotes = optionsString.match(/"/g); + if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) { + optionsString = optionsString.replace(/'/g, '"'); + } + try { + clonedOptions = JSON.parse(optionsString); + if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions); + } catch (e) { + this.logger.warn("failed parsing options string in nesting for key ".concat(key), e); + return "".concat(key).concat(sep).concat(optionsString); + } + delete clonedOptions.defaultValue; + return key; + } + while (match = this.nestingRegexp.exec(str)) { + var formatters = []; + clonedOptions = _objectSpread$3({}, options); + clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions; + clonedOptions.applyPostProcessor = false; + delete clonedOptions.defaultValue; + var doReduce = false; + if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) { + var r = match[1].split(this.formatSeparator).map(function (elem) { + return elem.trim(); + }); + match[1] = r.shift(); + formatters = r; + doReduce = true; + } + value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions); + if (value && match[0] === str && typeof value !== 'string') return value; + if (typeof value !== 'string') value = makeString(value); + if (!value) { + this.logger.warn("missed to resolve ".concat(match[1], " for nesting ").concat(str)); + value = ''; + } + if (doReduce) { + value = formatters.reduce(function (v, f) { + return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, { + interpolationkey: match[1].trim() + })); + }, value.trim()); + } + str = str.replace(match[0], value); + this.regexp.lastIndex = 0; + } + return str; + } + }]); + return Interpolator; +}(); + +function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function parseFormatStr(formatStr) { + var formatName = formatStr.toLowerCase().trim(); + var formatOptions = {}; + if (formatStr.indexOf('(') > -1) { + var p = formatStr.split('('); + formatName = p[0].toLowerCase().trim(); + var optStr = p[1].substring(0, p[1].length - 1); + if (formatName === 'currency' && optStr.indexOf(':') < 0) { + if (!formatOptions.currency) formatOptions.currency = optStr.trim(); + } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) { + if (!formatOptions.range) formatOptions.range = optStr.trim(); + } else { + var opts = optStr.split(';'); + opts.forEach(function (opt) { + if (!opt) return; + var _opt$split = opt.split(':'), + _opt$split2 = _toArray(_opt$split), + key = _opt$split2[0], + rest = _opt$split2.slice(1); + var val = rest.join(':').trim().replace(/^'+|'+$/g, ''); + if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val; + if (val === 'false') formatOptions[key.trim()] = false; + if (val === 'true') formatOptions[key.trim()] = true; + if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10); + }); + } + } + return { + formatName: formatName, + formatOptions: formatOptions + }; +} +function createCachedFormatter(fn) { + var cache = {}; + return function invokeFormatter(val, lng, options) { + var key = lng + JSON.stringify(options); + var formatter = cache[key]; + if (!formatter) { + formatter = fn(lng, options); + cache[key] = formatter; + } + return formatter(val); + }; +} +var Formatter = function () { + function Formatter() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck(this, Formatter); + this.logger = baseLogger.create('formatter'); + this.options = options; + this.formats = { + number: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }), + currency: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, { + style: 'currency' + })); + return function (val) { + return formatter.format(val); + }; + }), + datetime: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }), + relativetime: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val, opt.range || 'day'); + }; + }), + list: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }) + }; + this.init(options); + } + _createClass(Formatter, [{ + key: "init", + value: function init(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + interpolation: {} + }; + var iOpts = options.interpolation; + this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ','; + } + }, { + key: "add", + value: function add(name, fc) { + this.formats[name.toLowerCase().trim()] = fc; + } + }, { + key: "addCached", + value: function addCached(name, fc) { + this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc); + } + }, { + key: "format", + value: function format(value, _format, lng) { + var _this = this; + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var formats = _format.split(this.formatSeparator); + var result = formats.reduce(function (mem, f) { + var _parseFormatStr = parseFormatStr(f), + formatName = _parseFormatStr.formatName, + formatOptions = _parseFormatStr.formatOptions; + if (_this.formats[formatName]) { + var formatted = mem; + try { + var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {}; + var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng; + formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions)); + } catch (error) { + _this.logger.warn(error); + } + return formatted; + } else { + _this.logger.warn("there was no format function for ".concat(formatName)); + } + return mem; + }, value); + return result; + } + }]); + return Formatter; +}(); + +function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } +function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function removePending(q, name) { + if (q.pending[name] !== undefined) { + delete q.pending[name]; + q.pendingCount--; + } +} +var Connector = function (_EventEmitter) { + _inherits(Connector, _EventEmitter); + var _super = _createSuper$1(Connector); + function Connector(backend, store, services) { + var _this; + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + _classCallCheck(this, Connector); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + _this.backend = backend; + _this.store = store; + _this.services = services; + _this.languageUtils = services.languageUtils; + _this.options = options; + _this.logger = baseLogger.create('backendConnector'); + _this.waitingReads = []; + _this.maxParallelReads = options.maxParallelReads || 10; + _this.readingCalls = 0; + _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5; + _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350; + _this.state = {}; + _this.queue = []; + if (_this.backend && _this.backend.init) { + _this.backend.init(services, options.backend, options); + } + return _this; + } + _createClass(Connector, [{ + key: "queueLoad", + value: function queueLoad(languages, namespaces, options, callback) { + var _this2 = this; + var toLoad = {}; + var pending = {}; + var toLoadLanguages = {}; + var toLoadNamespaces = {}; + languages.forEach(function (lng) { + var hasAllNamespaces = true; + namespaces.forEach(function (ns) { + var name = "".concat(lng, "|").concat(ns); + if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) { + _this2.state[name] = 2; + } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) { + if (pending[name] === undefined) pending[name] = true; + } else { + _this2.state[name] = 1; + hasAllNamespaces = false; + if (pending[name] === undefined) pending[name] = true; + if (toLoad[name] === undefined) toLoad[name] = true; + if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true; + } + }); + if (!hasAllNamespaces) toLoadLanguages[lng] = true; + }); + if (Object.keys(toLoad).length || Object.keys(pending).length) { + this.queue.push({ + pending: pending, + pendingCount: Object.keys(pending).length, + loaded: {}, + errors: [], + callback: callback + }); + } + return { + toLoad: Object.keys(toLoad), + pending: Object.keys(pending), + toLoadLanguages: Object.keys(toLoadLanguages), + toLoadNamespaces: Object.keys(toLoadNamespaces) + }; + } + }, { + key: "loaded", + value: function loaded(name, err, data) { + var s = name.split('|'); + var lng = s[0]; + var ns = s[1]; + if (err) this.emit('failedLoading', lng, ns, err); + if (data) { + this.store.addResourceBundle(lng, ns, data); + } + this.state[name] = err ? -1 : 2; + var loaded = {}; + this.queue.forEach(function (q) { + pushPath(q.loaded, [lng], ns); + removePending(q, name); + if (err) q.errors.push(err); + if (q.pendingCount === 0 && !q.done) { + Object.keys(q.loaded).forEach(function (l) { + if (!loaded[l]) loaded[l] = {}; + var loadedKeys = q.loaded[l]; + if (loadedKeys.length) { + loadedKeys.forEach(function (n) { + if (loaded[l][n] === undefined) loaded[l][n] = true; + }); + } + }); + q.done = true; + if (q.errors.length) { + q.callback(q.errors); + } else { + q.callback(); + } + } + }); + this.emit('loaded', loaded); + this.queue = this.queue.filter(function (q) { + return !q.done; + }); + } + }, { + key: "read", + value: function read(lng, ns, fcName) { + var _this3 = this; + var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout; + var callback = arguments.length > 5 ? arguments[5] : undefined; + if (!lng.length) return callback(null, {}); + if (this.readingCalls >= this.maxParallelReads) { + this.waitingReads.push({ + lng: lng, + ns: ns, + fcName: fcName, + tried: tried, + wait: wait, + callback: callback + }); + return; + } + this.readingCalls++; + var resolver = function resolver(err, data) { + _this3.readingCalls--; + if (_this3.waitingReads.length > 0) { + var next = _this3.waitingReads.shift(); + _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback); + } + if (err && data && tried < _this3.maxRetries) { + setTimeout(function () { + _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback); + }, wait); + return; + } + callback(err, data); + }; + var fc = this.backend[fcName].bind(this.backend); + if (fc.length === 2) { + try { + var r = fc(lng, ns); + if (r && typeof r.then === 'function') { + r.then(function (data) { + return resolver(null, data); + })["catch"](resolver); + } else { + resolver(null, r); + } + } catch (err) { + resolver(err); + } + return; + } + return fc(lng, ns, resolver); + } + }, { + key: "prepareLoading", + value: function prepareLoading(languages, namespaces) { + var _this4 = this; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var callback = arguments.length > 3 ? arguments[3] : undefined; + if (!this.backend) { + this.logger.warn('No backend was added via i18next.use. Will not load resources.'); + return callback && callback(); + } + if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages); + if (typeof namespaces === 'string') namespaces = [namespaces]; + var toLoad = this.queueLoad(languages, namespaces, options, callback); + if (!toLoad.toLoad.length) { + if (!toLoad.pending.length) callback(); + return null; + } + toLoad.toLoad.forEach(function (name) { + _this4.loadOne(name); + }); + } + }, { + key: "load", + value: function load(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, {}, callback); + } + }, { + key: "reload", + value: function reload(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, { + reload: true + }, callback); + } + }, { + key: "loadOne", + value: function loadOne(name) { + var _this5 = this; + var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; + var s = name.split('|'); + var lng = s[0]; + var ns = s[1]; + this.read(lng, ns, 'read', undefined, undefined, function (err, data) { + if (err) _this5.logger.warn("".concat(prefix, "loading namespace ").concat(ns, " for language ").concat(lng, " failed"), err); + if (!err && data) _this5.logger.log("".concat(prefix, "loaded namespace ").concat(ns, " for language ").concat(lng), data); + _this5.loaded(name, err, data); + }); + } + }, { + key: "saveMissing", + value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) { + var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {}; + var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {}; + if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) { + this.logger.warn("did not save key \"".concat(key, "\" as the namespace \"").concat(namespace, "\" was not yet loaded"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + return; + } + if (key === undefined || key === null || key === '') return; + if (this.backend && this.backend.create) { + var opts = _objectSpread$1(_objectSpread$1({}, options), {}, { + isUpdate: isUpdate + }); + var fc = this.backend.create.bind(this.backend); + if (fc.length < 6) { + try { + var r; + if (fc.length === 5) { + r = fc(languages, namespace, key, fallbackValue, opts); + } else { + r = fc(languages, namespace, key, fallbackValue); + } + if (r && typeof r.then === 'function') { + r.then(function (data) { + return clb(null, data); + })["catch"](clb); + } else { + clb(null, r); + } + } catch (err) { + clb(err); + } + } else { + fc(languages, namespace, key, fallbackValue, clb, opts); + } + } + if (!languages || !languages[0]) return; + this.store.addResource(languages[0], namespace, key, fallbackValue); + } + }]); + return Connector; +}(EventEmitter); + +function get() { + return { + debug: false, + initImmediate: true, + ns: ['translation'], + defaultNS: ['translation'], + fallbackLng: ['dev'], + fallbackNS: false, + supportedLngs: false, + nonExplicitSupportedLngs: false, + load: 'all', + preload: false, + simplifyPluralSuffix: true, + keySeparator: '.', + nsSeparator: ':', + pluralSeparator: '_', + contextSeparator: '_', + partialBundledLanguages: false, + saveMissing: false, + updateMissing: false, + saveMissingTo: 'fallback', + saveMissingPlurals: true, + missingKeyHandler: false, + missingInterpolationHandler: false, + postProcess: false, + postProcessPassResolved: false, + returnNull: true, + returnEmptyString: true, + returnObjects: false, + joinArrays: false, + returnedObjectHandler: false, + parseMissingKeyHandler: false, + appendNamespaceToMissingKey: false, + appendNamespaceToCIMode: false, + overloadTranslationOptionHandler: function handle(args) { + var ret = {}; + if (_typeof(args[1]) === 'object') ret = args[1]; + if (typeof args[1] === 'string') ret.defaultValue = args[1]; + if (typeof args[2] === 'string') ret.tDescription = args[2]; + if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') { + var options = args[3] || args[2]; + Object.keys(options).forEach(function (key) { + ret[key] = options[key]; + }); + } + return ret; + }, + interpolation: { + escapeValue: true, + format: function format(value, _format, lng, options) { + return value; + }, + prefix: '{{', + suffix: '}}', + formatSeparator: ',', + unescapePrefix: '-', + nestingPrefix: '$t(', + nestingSuffix: ')', + nestingOptionsSeparator: ',', + maxReplaces: 1000, + skipOnVariables: true + } + }; +} +function transformOptions(options) { + if (typeof options.ns === 'string') options.ns = [options.ns]; + if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng]; + if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS]; + if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) { + options.supportedLngs = options.supportedLngs.concat(['cimode']); + } + return options; +} + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function noop() {} +function bindMemberFunctions(inst) { + var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst)); + mems.forEach(function (mem) { + if (typeof inst[mem] === 'function') { + inst[mem] = inst[mem].bind(inst); + } + }); +} +var I18n = function (_EventEmitter) { + _inherits(I18n, _EventEmitter); + var _super = _createSuper(I18n); + function I18n() { + var _this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + _classCallCheck(this, I18n); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + _this.options = transformOptions(options); + _this.services = {}; + _this.logger = baseLogger; + _this.modules = { + external: [] + }; + bindMemberFunctions(_assertThisInitialized(_this)); + if (callback && !_this.isInitialized && !options.isClone) { + if (!_this.options.initImmediate) { + _this.init(options, callback); + return _possibleConstructorReturn(_this, _assertThisInitialized(_this)); + } + setTimeout(function () { + _this.init(options, callback); + }, 0); + } + return _this; + } + _createClass(I18n, [{ + key: "init", + value: function init() { + var _this2 = this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + if (typeof options === 'function') { + callback = options; + options = {}; + } + if (!options.defaultNS && options.defaultNS !== false && options.ns) { + if (typeof options.ns === 'string') { + options.defaultNS = options.ns; + } else if (options.ns.indexOf('translation') < 0) { + options.defaultNS = options.ns[0]; + } + } + var defOpts = get(); + this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options)); + if (this.options.compatibilityAPI !== 'v1') { + this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation); + } + if (options.keySeparator !== undefined) { + this.options.userDefinedKeySeparator = options.keySeparator; + } + if (options.nsSeparator !== undefined) { + this.options.userDefinedNsSeparator = options.nsSeparator; + } + function createClassOnDemand(ClassOrObject) { + if (!ClassOrObject) return null; + if (typeof ClassOrObject === 'function') return new ClassOrObject(); + return ClassOrObject; + } + if (!this.options.isClone) { + if (this.modules.logger) { + baseLogger.init(createClassOnDemand(this.modules.logger), this.options); + } else { + baseLogger.init(null, this.options); + } + var formatter; + if (this.modules.formatter) { + formatter = this.modules.formatter; + } else if (typeof Intl !== 'undefined') { + formatter = Formatter; + } + var lu = new LanguageUtil(this.options); + this.store = new ResourceStore(this.options.resources, this.options); + var s = this.services; + s.logger = baseLogger; + s.resourceStore = this.store; + s.languageUtils = lu; + s.pluralResolver = new PluralResolver(lu, { + prepend: this.options.pluralSeparator, + compatibilityJSON: this.options.compatibilityJSON, + simplifyPluralSuffix: this.options.simplifyPluralSuffix + }); + if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) { + s.formatter = createClassOnDemand(formatter); + s.formatter.init(s, this.options); + this.options.interpolation.format = s.formatter.format.bind(s.formatter); + } + s.interpolator = new Interpolator(this.options); + s.utils = { + hasLoadedNamespace: this.hasLoadedNamespace.bind(this) + }; + s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); + s.backendConnector.on('*', function (event) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + _this2.emit.apply(_this2, [event].concat(args)); + }); + if (this.modules.languageDetector) { + s.languageDetector = createClassOnDemand(this.modules.languageDetector); + if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options); + } + if (this.modules.i18nFormat) { + s.i18nFormat = createClassOnDemand(this.modules.i18nFormat); + if (s.i18nFormat.init) s.i18nFormat.init(this); + } + this.translator = new Translator(this.services, this.options); + this.translator.on('*', function (event) { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + _this2.emit.apply(_this2, [event].concat(args)); + }); + this.modules.external.forEach(function (m) { + if (m.init) m.init(_this2); + }); + } + this.format = this.options.interpolation.format; + if (!callback) callback = noop; + if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) { + var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0]; + } + if (!this.services.languageDetector && !this.options.lng) { + this.logger.warn('init: no languageDetector is used and no lng is defined'); + } + var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage']; + storeApi.forEach(function (fcName) { + _this2[fcName] = function () { + var _this2$store; + return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments); + }; + }); + var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle']; + storeApiChained.forEach(function (fcName) { + _this2[fcName] = function () { + var _this2$store2; + (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments); + return _this2; + }; + }); + var deferred = defer(); + var load = function load() { + var finish = function finish(err, t) { + if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!'); + _this2.isInitialized = true; + if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options); + _this2.emit('initialized', _this2.options); + deferred.resolve(t); + callback(err, t); + }; + if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2)); + _this2.changeLanguage(_this2.options.lng, finish); + }; + if (this.options.resources || !this.options.initImmediate) { + load(); + } else { + setTimeout(load, 0); + } + return deferred; + } + }, { + key: "loadResources", + value: function loadResources(language) { + var _this3 = this; + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop; + var usedCallback = callback; + var usedLng = typeof language === 'string' ? language : this.language; + if (typeof language === 'function') usedCallback = language; + if (!this.options.resources || this.options.partialBundledLanguages) { + if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback(); + var toLoad = []; + var append = function append(lng) { + if (!lng) return; + var lngs = _this3.services.languageUtils.toResolveHierarchy(lng); + lngs.forEach(function (l) { + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + if (!usedLng) { + var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + fallbacks.forEach(function (l) { + return append(l); + }); + } else { + append(usedLng); + } + if (this.options.preload) { + this.options.preload.forEach(function (l) { + return append(l); + }); + } + this.services.backendConnector.load(toLoad, this.options.ns, function (e) { + if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language); + usedCallback(e); + }); + } else { + usedCallback(null); + } + } + }, { + key: "reloadResources", + value: function reloadResources(lngs, ns, callback) { + var deferred = defer(); + if (!lngs) lngs = this.languages; + if (!ns) ns = this.options.ns; + if (!callback) callback = noop; + this.services.backendConnector.reload(lngs, ns, function (err) { + deferred.resolve(); + callback(err); + }); + return deferred; + } + }, { + key: "use", + value: function use(module) { + if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()'); + if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()'); + if (module.type === 'backend') { + this.modules.backend = module; + } + if (module.type === 'logger' || module.log && module.warn && module.error) { + this.modules.logger = module; + } + if (module.type === 'languageDetector') { + this.modules.languageDetector = module; + } + if (module.type === 'i18nFormat') { + this.modules.i18nFormat = module; + } + if (module.type === 'postProcessor') { + postProcessor.addPostProcessor(module); + } + if (module.type === 'formatter') { + this.modules.formatter = module; + } + if (module.type === '3rdParty') { + this.modules.external.push(module); + } + return this; + } + }, { + key: "setResolvedLanguage", + value: function setResolvedLanguage(l) { + if (!l || !this.languages) return; + if (['cimode', 'dev'].indexOf(l) > -1) return; + for (var li = 0; li < this.languages.length; li++) { + var lngInLngs = this.languages[li]; + if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue; + if (this.store.hasLanguageSomeTranslations(lngInLngs)) { + this.resolvedLanguage = lngInLngs; + break; + } + } + } + }, { + key: "changeLanguage", + value: function changeLanguage(lng, callback) { + var _this4 = this; + this.isLanguageChangingTo = lng; + var deferred = defer(); + this.emit('languageChanging', lng); + var setLngProps = function setLngProps(l) { + _this4.language = l; + _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l); + _this4.resolvedLanguage = undefined; + _this4.setResolvedLanguage(l); + }; + var done = function done(err, l) { + if (l) { + setLngProps(l); + _this4.translator.changeLanguage(l); + _this4.isLanguageChangingTo = undefined; + _this4.emit('languageChanged', l); + _this4.logger.log('languageChanged', l); + } else { + _this4.isLanguageChangingTo = undefined; + } + deferred.resolve(function () { + return _this4.t.apply(_this4, arguments); + }); + if (callback) callback(err, function () { + return _this4.t.apply(_this4, arguments); + }); + }; + var setLng = function setLng(lngs) { + if (!lng && !lngs && _this4.services.languageDetector) lngs = []; + var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs); + if (l) { + if (!_this4.language) { + setLngProps(l); + } + if (!_this4.translator.language) _this4.translator.changeLanguage(l); + if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l); + } + _this4.loadResources(l, function (err) { + done(err, l); + }); + }; + if (!lng && this.services.languageDetector && !this.services.languageDetector.async) { + setLng(this.services.languageDetector.detect()); + } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) { + if (this.services.languageDetector.detect.length === 0) { + this.services.languageDetector.detect().then(setLng); + } else { + this.services.languageDetector.detect(setLng); + } + } else { + setLng(lng); + } + return deferred; + } + }, { + key: "getFixedT", + value: function getFixedT(lng, ns, keyPrefix) { + var _this5 = this; + var fixedT = function fixedT(key, opts) { + var options; + if (_typeof(opts) !== 'object') { + for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) { + rest[_key3 - 2] = arguments[_key3]; + } + options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest)); + } else { + options = _objectSpread({}, opts); + } + options.lng = options.lng || fixedT.lng; + options.lngs = options.lngs || fixedT.lngs; + options.ns = options.ns || fixedT.ns; + options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix; + var keySeparator = _this5.options.keySeparator || '.'; + var resultKey; + if (options.keyPrefix && Array.isArray(key)) { + resultKey = key.map(function (k) { + return "".concat(options.keyPrefix).concat(keySeparator).concat(k); + }); + } else { + resultKey = options.keyPrefix ? "".concat(options.keyPrefix).concat(keySeparator).concat(key) : key; + } + return _this5.t(resultKey, options); + }; + if (typeof lng === 'string') { + fixedT.lng = lng; + } else { + fixedT.lngs = lng; + } + fixedT.ns = ns; + fixedT.keyPrefix = keyPrefix; + return fixedT; + } + }, { + key: "t", + value: function t() { + var _this$translator; + return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments); + } + }, { + key: "exists", + value: function exists() { + var _this$translator2; + return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments); + } + }, { + key: "setDefaultNamespace", + value: function setDefaultNamespace(ns) { + this.options.defaultNS = ns; + } + }, { + key: "hasLoadedNamespace", + value: function hasLoadedNamespace(ns) { + var _this6 = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (!this.isInitialized) { + this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages); + return false; + } + if (!this.languages || !this.languages.length) { + this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages); + return false; + } + var lng = options.lng || this.resolvedLanguage || this.languages[0]; + var fallbackLng = this.options ? this.options.fallbackLng : false; + var lastLng = this.languages[this.languages.length - 1]; + if (lng.toLowerCase() === 'cimode') return true; + var loadNotPending = function loadNotPending(l, n) { + var loadState = _this6.services.backendConnector.state["".concat(l, "|").concat(n)]; + return loadState === -1 || loadState === 2; + }; + if (options.precheck) { + var preResult = options.precheck(this, loadNotPending); + if (preResult !== undefined) return preResult; + } + if (this.hasResourceBundle(lng, ns)) return true; + if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true; + if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; + return false; + } + }, { + key: "loadNamespaces", + value: function loadNamespaces(ns, callback) { + var _this7 = this; + var deferred = defer(); + if (!this.options.ns) { + if (callback) callback(); + return Promise.resolve(); + } + if (typeof ns === 'string') ns = [ns]; + ns.forEach(function (n) { + if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n); + }); + this.loadResources(function (err) { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + }, { + key: "loadLanguages", + value: function loadLanguages(lngs, callback) { + var deferred = defer(); + if (typeof lngs === 'string') lngs = [lngs]; + var preloaded = this.options.preload || []; + var newLngs = lngs.filter(function (lng) { + return preloaded.indexOf(lng) < 0; + }); + if (!newLngs.length) { + if (callback) callback(); + return Promise.resolve(); + } + this.options.preload = preloaded.concat(newLngs); + this.loadResources(function (err) { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + }, { + key: "dir", + value: function dir(lng) { + if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language); + if (!lng) return 'rtl'; + var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb']; + var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get()); + return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr'; + } + }, { + key: "cloneInstance", + value: function cloneInstance() { + var _this8 = this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop; + var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), { + isClone: true + }); + var clone = new I18n(mergedOptions); + if (options.debug !== undefined || options.prefix !== undefined) { + clone.logger = clone.logger.clone(options); + } + var membersToCopy = ['store', 'services', 'language']; + membersToCopy.forEach(function (m) { + clone[m] = _this8[m]; + }); + clone.services = _objectSpread({}, this.services); + clone.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + clone.translator = new Translator(clone.services, clone.options); + clone.translator.on('*', function (event) { + for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { + args[_key4 - 1] = arguments[_key4]; + } + clone.emit.apply(clone, [event].concat(args)); + }); + clone.init(mergedOptions, callback); + clone.translator.options = clone.options; + clone.translator.backendConnector.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + return clone; + } + }, { + key: "toJSON", + value: function toJSON() { + return { + options: this.options, + store: this.store, + language: this.language, + languages: this.languages, + resolvedLanguage: this.resolvedLanguage + }; + } + }]); + return I18n; +}(EventEmitter); +_defineProperty(I18n, "createInstance", function () { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + return new I18n(options, callback); +}); +var instance = I18n.createInstance(); +instance.createInstance = I18n.createInstance; + +var createInstance = instance.createInstance; +var dir = instance.dir; +var init = instance.init; +var loadResources = instance.loadResources; +var reloadResources = instance.reloadResources; +var use = instance.use; +var changeLanguage = instance.changeLanguage; +var getFixedT = instance.getFixedT; +var t = instance.t; +var exists = instance.exists; +var setDefaultNamespace = instance.setDefaultNamespace; +var hasLoadedNamespace = instance.hasLoadedNamespace; +var loadNamespaces = instance.loadNamespaces; +var loadLanguages = instance.loadLanguages; + +export { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use }; diff --git a/node_modules/astro-i18next/node_modules/i18next/dist/esm/package.json b/node_modules/astro-i18next/node_modules/i18next/dist/esm/package.json new file mode 100644 index 00000000..dbf98091 --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/dist/esm/package.json @@ -0,0 +1 @@ +{"type":"module","version":"22.5.1"} diff --git a/node_modules/astro-i18next/node_modules/i18next/dist/umd/i18next.js b/node_modules/astro-i18next/node_modules/i18next/dist/umd/i18next.js new file mode 100644 index 00000000..694bc045 --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/dist/umd/i18next.js @@ -0,0 +1,2642 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.i18next = factory()); +})(this, (function () { 'use strict'; + + function _typeof(obj) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }, _typeof(obj); + } + + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + + function _toPrimitive(input, hint) { + if (_typeof(input) !== "object" || input === null) return input; + var prim = input[Symbol.toPrimitive]; + if (prim !== undefined) { + var res = prim.call(input, hint || "default"); + if (_typeof(res) !== "object") return res; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return (hint === "string" ? String : Number)(input); + } + + function _toPropertyKey(arg) { + var key = _toPrimitive(arg, "string"); + return _typeof(key) === "symbol" ? key : String(key); + } + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); + } + } + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; + } + + function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self; + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + return _setPrototypeOf(o, p); + } + + function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + Object.defineProperty(subClass, "prototype", { + writable: false + }); + if (superClass) _setPrototypeOf(subClass, superClass); + } + + function _possibleConstructorReturn(self, call) { + if (call && (_typeof(call) === "object" || typeof call === "function")) { + return call; + } else if (call !== void 0) { + throw new TypeError("Derived constructors may only return object or undefined"); + } + return _assertThisInitialized(self); + } + + function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); + } + + function _defineProperty(obj, key, value) { + key = _toPropertyKey(key); + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; + } + + function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + var consoleLogger = { + type: 'logger', + log: function log(args) { + this.output('log', args); + }, + warn: function warn(args) { + this.output('warn', args); + }, + error: function error(args) { + this.output('error', args); + }, + output: function output(type, args) { + if (console && console[type]) console[type].apply(console, args); + } + }; + var Logger = function () { + function Logger(concreteLogger) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Logger); + this.init(concreteLogger, options); + } + _createClass(Logger, [{ + key: "init", + value: function init(concreteLogger) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + this.prefix = options.prefix || 'i18next:'; + this.logger = concreteLogger || consoleLogger; + this.options = options; + this.debug = options.debug; + } + }, { + key: "setDebug", + value: function setDebug(bool) { + this.debug = bool; + } + }, { + key: "log", + value: function log() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return this.forward(args, 'log', '', true); + } + }, { + key: "warn", + value: function warn() { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + return this.forward(args, 'warn', '', true); + } + }, { + key: "error", + value: function error() { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + return this.forward(args, 'error', ''); + } + }, { + key: "deprecate", + value: function deprecate() { + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true); + } + }, { + key: "forward", + value: function forward(args, lvl, prefix, debugOnly) { + if (debugOnly && !this.debug) return null; + if (typeof args[0] === 'string') args[0] = "".concat(prefix).concat(this.prefix, " ").concat(args[0]); + return this.logger[lvl](args); + } + }, { + key: "create", + value: function create(moduleName) { + return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, { + prefix: "".concat(this.prefix, ":").concat(moduleName, ":") + }), this.options)); + } + }, { + key: "clone", + value: function clone(options) { + options = options || this.options; + options.prefix = options.prefix || this.prefix; + return new Logger(this.logger, options); + } + }]); + return Logger; + }(); + var baseLogger = new Logger(); + + var EventEmitter = function () { + function EventEmitter() { + _classCallCheck(this, EventEmitter); + this.observers = {}; + } + _createClass(EventEmitter, [{ + key: "on", + value: function on(events, listener) { + var _this = this; + events.split(' ').forEach(function (event) { + _this.observers[event] = _this.observers[event] || []; + _this.observers[event].push(listener); + }); + return this; + } + }, { + key: "off", + value: function off(event, listener) { + if (!this.observers[event]) return; + if (!listener) { + delete this.observers[event]; + return; + } + this.observers[event] = this.observers[event].filter(function (l) { + return l !== listener; + }); + } + }, { + key: "emit", + value: function emit(event) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + if (this.observers[event]) { + var cloned = [].concat(this.observers[event]); + cloned.forEach(function (observer) { + observer.apply(void 0, args); + }); + } + if (this.observers['*']) { + var _cloned = [].concat(this.observers['*']); + _cloned.forEach(function (observer) { + observer.apply(observer, [event].concat(args)); + }); + } + } + }]); + return EventEmitter; + }(); + + function defer() { + var res; + var rej; + var promise = new Promise(function (resolve, reject) { + res = resolve; + rej = reject; + }); + promise.resolve = res; + promise.reject = rej; + return promise; + } + function makeString(object) { + if (object == null) return ''; + return '' + object; + } + function copy(a, s, t) { + a.forEach(function (m) { + if (s[m]) t[m] = s[m]; + }); + } + function getLastOfPath(object, path, Empty) { + function cleanKey(key) { + return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key; + } + function canNotTraverseDeeper() { + return !object || typeof object === 'string'; + } + var stack = typeof path !== 'string' ? [].concat(path) : path.split('.'); + while (stack.length > 1) { + if (canNotTraverseDeeper()) return {}; + var key = cleanKey(stack.shift()); + if (!object[key] && Empty) object[key] = new Empty(); + if (Object.prototype.hasOwnProperty.call(object, key)) { + object = object[key]; + } else { + object = {}; + } + } + if (canNotTraverseDeeper()) return {}; + return { + obj: object, + k: cleanKey(stack.shift()) + }; + } + function setPath(object, path, newValue) { + var _getLastOfPath = getLastOfPath(object, path, Object), + obj = _getLastOfPath.obj, + k = _getLastOfPath.k; + obj[k] = newValue; + } + function pushPath(object, path, newValue, concat) { + var _getLastOfPath2 = getLastOfPath(object, path, Object), + obj = _getLastOfPath2.obj, + k = _getLastOfPath2.k; + obj[k] = obj[k] || []; + if (concat) obj[k] = obj[k].concat(newValue); + if (!concat) obj[k].push(newValue); + } + function getPath(object, path) { + var _getLastOfPath3 = getLastOfPath(object, path), + obj = _getLastOfPath3.obj, + k = _getLastOfPath3.k; + if (!obj) return undefined; + return obj[k]; + } + function getPathWithDefaults(data, defaultData, key) { + var value = getPath(data, key); + if (value !== undefined) { + return value; + } + return getPath(defaultData, key); + } + function deepExtend(target, source, overwrite) { + for (var prop in source) { + if (prop !== '__proto__' && prop !== 'constructor') { + if (prop in target) { + if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) { + if (overwrite) target[prop] = source[prop]; + } else { + deepExtend(target[prop], source[prop], overwrite); + } + } else { + target[prop] = source[prop]; + } + } + } + return target; + } + function regexEscape(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); + } + var _entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' + }; + function escape(data) { + if (typeof data === 'string') { + return data.replace(/[&<>"'\/]/g, function (s) { + return _entityMap[s]; + }); + } + return data; + } + var isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1; + var chars = [' ', ',', '?', '!', ';']; + function looksLikeObjectPath(key, nsSeparator, keySeparator) { + nsSeparator = nsSeparator || ''; + keySeparator = keySeparator || ''; + var possibleChars = chars.filter(function (c) { + return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0; + }); + if (possibleChars.length === 0) return true; + var r = new RegExp("(".concat(possibleChars.map(function (c) { + return c === '?' ? '\\?' : c; + }).join('|'), ")")); + var matched = !r.test(key); + if (!matched) { + var ki = key.indexOf(keySeparator); + if (ki > 0 && !r.test(key.substring(0, ki))) { + matched = true; + } + } + return matched; + } + function deepFind(obj, path) { + var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.'; + if (!obj) return undefined; + if (obj[path]) return obj[path]; + var paths = path.split(keySeparator); + var current = obj; + for (var i = 0; i < paths.length; ++i) { + if (!current) return undefined; + if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) { + return undefined; + } + if (current[paths[i]] === undefined) { + var j = 2; + var p = paths.slice(i, i + j).join(keySeparator); + var mix = current[p]; + while (mix === undefined && paths.length > i + j) { + j++; + p = paths.slice(i, i + j).join(keySeparator); + mix = current[p]; + } + if (mix === undefined) return undefined; + if (mix === null) return null; + if (path.endsWith(p)) { + if (typeof mix === 'string') return mix; + if (p && typeof mix[p] === 'string') return mix[p]; + } + var joinedPath = paths.slice(i + j).join(keySeparator); + if (joinedPath) return deepFind(mix, joinedPath, keySeparator); + return undefined; + } + current = current[paths[i]]; + } + return current; + } + + function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + function _isNativeReflectConstruct$3() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + var ResourceStore = function (_EventEmitter) { + _inherits(ResourceStore, _EventEmitter); + var _super = _createSuper$3(ResourceStore); + function ResourceStore(data) { + var _this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + ns: ['translation'], + defaultNS: 'translation' + }; + _classCallCheck(this, ResourceStore); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + _this.data = data || {}; + _this.options = options; + if (_this.options.keySeparator === undefined) { + _this.options.keySeparator = '.'; + } + if (_this.options.ignoreJSONStructure === undefined) { + _this.options.ignoreJSONStructure = true; + } + return _this; + } + _createClass(ResourceStore, [{ + key: "addNamespaces", + value: function addNamespaces(ns) { + if (this.options.ns.indexOf(ns) < 0) { + this.options.ns.push(ns); + } + } + }, { + key: "removeNamespaces", + value: function removeNamespaces(ns) { + var index = this.options.ns.indexOf(ns); + if (index > -1) { + this.options.ns.splice(index, 1); + } + } + }, { + key: "getResource", + value: function getResource(lng, ns, key) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure; + var path = [lng, ns]; + if (key && typeof key !== 'string') path = path.concat(key); + if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + } + var result = getPath(this.data, path); + if (result || !ignoreJSONStructure || typeof key !== 'string') return result; + return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator); + } + }, { + key: "addResource", + value: function addResource(lng, ns, key, value) { + var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { + silent: false + }; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var path = [lng, ns]; + if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + value = ns; + ns = path[1]; + } + this.addNamespaces(ns); + setPath(this.data, path, value); + if (!options.silent) this.emit('added', lng, ns, key, value); + } + }, { + key: "addResources", + value: function addResources(lng, ns, resources) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { + silent: false + }; + for (var m in resources) { + if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], { + silent: true + }); + } + if (!options.silent) this.emit('added', lng, ns, resources); + } + }, { + key: "addResourceBundle", + value: function addResourceBundle(lng, ns, resources, deep, overwrite) { + var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : { + silent: false + }; + var path = [lng, ns]; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + deep = resources; + resources = ns; + ns = path[1]; + } + this.addNamespaces(ns); + var pack = getPath(this.data, path) || {}; + if (deep) { + deepExtend(pack, resources, overwrite); + } else { + pack = _objectSpread$5(_objectSpread$5({}, pack), resources); + } + setPath(this.data, path, pack); + if (!options.silent) this.emit('added', lng, ns, resources); + } + }, { + key: "removeResourceBundle", + value: function removeResourceBundle(lng, ns) { + if (this.hasResourceBundle(lng, ns)) { + delete this.data[lng][ns]; + } + this.removeNamespaces(ns); + this.emit('removed', lng, ns); + } + }, { + key: "hasResourceBundle", + value: function hasResourceBundle(lng, ns) { + return this.getResource(lng, ns) !== undefined; + } + }, { + key: "getResourceBundle", + value: function getResourceBundle(lng, ns) { + if (!ns) ns = this.options.defaultNS; + if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns)); + return this.getResource(lng, ns); + } + }, { + key: "getDataByLanguage", + value: function getDataByLanguage(lng) { + return this.data[lng]; + } + }, { + key: "hasLanguageSomeTranslations", + value: function hasLanguageSomeTranslations(lng) { + var data = this.getDataByLanguage(lng); + var n = data && Object.keys(data) || []; + return !!n.find(function (v) { + return data[v] && Object.keys(data[v]).length > 0; + }); + } + }, { + key: "toJSON", + value: function toJSON() { + return this.data; + } + }]); + return ResourceStore; + }(EventEmitter); + + var postProcessor = { + processors: {}, + addPostProcessor: function addPostProcessor(module) { + this.processors[module.name] = module; + }, + handle: function handle(processors, value, key, options, translator) { + var _this = this; + processors.forEach(function (processor) { + if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator); + }); + return value; + } + }; + + function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + function _isNativeReflectConstruct$2() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + var checkedLoadedFor = {}; + var Translator = function (_EventEmitter) { + _inherits(Translator, _EventEmitter); + var _super = _createSuper$2(Translator); + function Translator(services) { + var _this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Translator); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this)); + _this.options = options; + if (_this.options.keySeparator === undefined) { + _this.options.keySeparator = '.'; + } + _this.logger = baseLogger.create('translator'); + return _this; + } + _createClass(Translator, [{ + key: "changeLanguage", + value: function changeLanguage(lng) { + if (lng) this.language = lng; + } + }, { + key: "exists", + value: function exists(key) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + interpolation: {} + }; + if (key === undefined || key === null) { + return false; + } + var resolved = this.resolve(key, options); + return resolved && resolved.res !== undefined; + } + }, { + key: "extractFromKey", + value: function extractFromKey(key, options) { + var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var namespaces = options.ns || this.options.defaultNS || []; + var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1; + var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator); + if (wouldCheckForNsInKey && !seemsNaturalLanguage) { + var m = key.match(this.interpolator.nestingRegexp); + if (m && m.length > 0) { + return { + key: key, + namespaces: namespaces + }; + } + var parts = key.split(nsSeparator); + if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift(); + key = parts.join(keySeparator); + } + if (typeof namespaces === 'string') namespaces = [namespaces]; + return { + key: key, + namespaces: namespaces + }; + } + }, { + key: "translate", + value: function translate(keys, options, lastKey) { + var _this2 = this; + if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) { + options = this.options.overloadTranslationOptionHandler(arguments); + } + if (_typeof(options) === 'object') options = _objectSpread$4({}, options); + if (!options) options = {}; + if (keys === undefined || keys === null) return ''; + if (!Array.isArray(keys)) keys = [String(keys)]; + var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options), + key = _this$extractFromKey.key, + namespaces = _this$extractFromKey.namespaces; + var namespace = namespaces[namespaces.length - 1]; + var lng = options.lng || this.language; + var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode; + if (lng && lng.toLowerCase() === 'cimode') { + if (appendNamespaceToCIMode) { + var nsSeparator = options.nsSeparator || this.options.nsSeparator; + if (returnDetails) { + return { + res: "".concat(namespace).concat(nsSeparator).concat(key), + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace + }; + } + return "".concat(namespace).concat(nsSeparator).concat(key); + } + if (returnDetails) { + return { + res: key, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace + }; + } + return key; + } + var resolved = this.resolve(keys, options); + var res = resolved && resolved.res; + var resUsedKey = resolved && resolved.usedKey || key; + var resExactUsedKey = resolved && resolved.exactUsedKey || key; + var resType = Object.prototype.toString.apply(res); + var noObject = ['[object Number]', '[object Function]', '[object RegExp]']; + var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays; + var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject; + var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number'; + if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) { + if (!options.returnObjects && !this.options.returnObjects) { + if (!this.options.returnedObjectHandler) { + this.logger.warn('accessing an object - but returnObjects options is not enabled!'); + } + var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, { + ns: namespaces + })) : "key '".concat(key, " (").concat(this.language, ")' returned an object instead of string."); + if (returnDetails) { + resolved.res = r; + return resolved; + } + return r; + } + if (keySeparator) { + var resTypeIsArray = resType === '[object Array]'; + var copy = resTypeIsArray ? [] : {}; + var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey; + for (var m in res) { + if (Object.prototype.hasOwnProperty.call(res, m)) { + var deepKey = "".concat(newKeyToUse).concat(keySeparator).concat(m); + copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), { + joinArrays: false, + ns: namespaces + })); + if (copy[m] === deepKey) copy[m] = res[m]; + } + } + res = copy; + } + } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') { + res = res.join(joinArrays); + if (res) res = this.extendTranslation(res, keys, options, lastKey); + } else { + var usedDefault = false; + var usedKey = false; + var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string'; + var hasDefaultValue = Translator.hasDefaultValue(options); + var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : ''; + var defaultValue = options["defaultValue".concat(defaultValueSuffix)] || options.defaultValue; + if (!this.isValidLookup(res) && hasDefaultValue) { + usedDefault = true; + res = defaultValue; + } + if (!this.isValidLookup(res)) { + usedKey = true; + res = key; + } + var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey; + var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res; + var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing; + if (usedKey || usedDefault || updateMissing) { + this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res); + if (keySeparator) { + var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, { + keySeparator: false + })); + if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.'); + } + var lngs = []; + var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language); + if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) { + for (var i = 0; i < fallbackLngs.length; i++) { + lngs.push(fallbackLngs[i]); + } + } else if (this.options.saveMissingTo === 'all') { + lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language); + } else { + lngs.push(options.lng || this.language); + } + var send = function send(l, k, specificDefaultValue) { + var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing; + if (_this2.options.missingKeyHandler) { + _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options); + } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) { + _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options); + } + _this2.emit('missingKey', l, namespace, k, res); + }; + if (this.options.saveMissing) { + if (this.options.saveMissingPlurals && needsPluralHandling) { + lngs.forEach(function (language) { + _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) { + send([language], key + suffix, options["defaultValue".concat(suffix)] || defaultValue); + }); + }); + } else { + send(lngs, key, defaultValue); + } + } + } + res = this.extendTranslation(res, keys, options, resolved, lastKey); + if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = "".concat(namespace, ":").concat(key); + if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) { + if (this.options.compatibilityAPI !== 'v1') { + res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? "".concat(namespace, ":").concat(key) : key, usedDefault ? res : undefined); + } else { + res = this.options.parseMissingKeyHandler(res); + } + } + } + if (returnDetails) { + resolved.res = res; + return resolved; + } + return res; + } + }, { + key: "extendTranslation", + value: function extendTranslation(res, key, options, resolved, lastKey) { + var _this3 = this; + if (this.i18nFormat && this.i18nFormat.parse) { + res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, { + resolved: resolved + }); + } else if (!options.skipInterpolation) { + if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), { + interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation) + })); + var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables); + var nestBef; + if (skipOnVariables) { + var nb = res.match(this.interpolator.nestingRegexp); + nestBef = nb && nb.length; + } + var data = options.replace && typeof options.replace !== 'string' ? options.replace : options; + if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data); + res = this.interpolator.interpolate(res, data, options.lng || this.language, options); + if (skipOnVariables) { + var na = res.match(this.interpolator.nestingRegexp); + var nestAft = na && na.length; + if (nestBef < nestAft) options.nest = false; + } + if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng; + if (options.nest !== false) res = this.interpolator.nest(res, function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + if (lastKey && lastKey[0] === args[0] && !options.context) { + _this3.logger.warn("It seems you are nesting recursively key: ".concat(args[0], " in key: ").concat(key[0])); + return null; + } + return _this3.translate.apply(_this3, args.concat([key])); + }, options); + if (options.interpolation) this.interpolator.reset(); + } + var postProcess = options.postProcess || this.options.postProcess; + var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess; + if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) { + res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({ + i18nResolved: resolved + }, options) : options, this); + } + return res; + } + }, { + key: "resolve", + value: function resolve(keys) { + var _this4 = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var found; + var usedKey; + var exactUsedKey; + var usedLng; + var usedNS; + if (typeof keys === 'string') keys = [keys]; + keys.forEach(function (k) { + if (_this4.isValidLookup(found)) return; + var extracted = _this4.extractFromKey(k, options); + var key = extracted.key; + usedKey = key; + var namespaces = extracted.namespaces; + if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS); + var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string'; + var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi(); + var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== ''; + var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng); + namespaces.forEach(function (ns) { + if (_this4.isValidLookup(found)) return; + usedNS = ns; + if (!checkedLoadedFor["".concat(codes[0], "-").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) { + checkedLoadedFor["".concat(codes[0], "-").concat(ns)] = true; + _this4.logger.warn("key \"".concat(usedKey, "\" for languages \"").concat(codes.join(', '), "\" won't get resolved as namespace \"").concat(usedNS, "\" was not yet loaded"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + } + codes.forEach(function (code) { + if (_this4.isValidLookup(found)) return; + usedLng = code; + var finalKeys = [key]; + if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) { + _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options); + } else { + var pluralSuffix; + if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options); + var zeroSuffix = "".concat(_this4.options.pluralSeparator, "zero"); + if (needsPluralHandling) { + finalKeys.push(key + pluralSuffix); + if (needsZeroSuffixLookup) { + finalKeys.push(key + zeroSuffix); + } + } + if (needsContextHandling) { + var contextKey = "".concat(key).concat(_this4.options.contextSeparator).concat(options.context); + finalKeys.push(contextKey); + if (needsPluralHandling) { + finalKeys.push(contextKey + pluralSuffix); + if (needsZeroSuffixLookup) { + finalKeys.push(contextKey + zeroSuffix); + } + } + } + } + var possibleKey; + while (possibleKey = finalKeys.pop()) { + if (!_this4.isValidLookup(found)) { + exactUsedKey = possibleKey; + found = _this4.getResource(code, ns, possibleKey, options); + } + } + }); + }); + }); + return { + res: found, + usedKey: usedKey, + exactUsedKey: exactUsedKey, + usedLng: usedLng, + usedNS: usedNS + }; + } + }, { + key: "isValidLookup", + value: function isValidLookup(res) { + return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === ''); + } + }, { + key: "getResource", + value: function getResource(code, ns, key) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options); + return this.resourceStore.getResource(code, ns, key, options); + } + }], [{ + key: "hasDefaultValue", + value: function hasDefaultValue(options) { + var prefix = 'defaultValue'; + for (var option in options) { + if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) { + return true; + } + } + return false; + } + }]); + return Translator; + }(EventEmitter); + + function capitalize(string) { + return string.charAt(0).toUpperCase() + string.slice(1); + } + var LanguageUtil = function () { + function LanguageUtil(options) { + _classCallCheck(this, LanguageUtil); + this.options = options; + this.supportedLngs = this.options.supportedLngs || false; + this.logger = baseLogger.create('languageUtils'); + } + _createClass(LanguageUtil, [{ + key: "getScriptPartFromCode", + value: function getScriptPartFromCode(code) { + if (!code || code.indexOf('-') < 0) return null; + var p = code.split('-'); + if (p.length === 2) return null; + p.pop(); + if (p[p.length - 1].toLowerCase() === 'x') return null; + return this.formatLanguageCode(p.join('-')); + } + }, { + key: "getLanguagePartFromCode", + value: function getLanguagePartFromCode(code) { + if (!code || code.indexOf('-') < 0) return code; + var p = code.split('-'); + return this.formatLanguageCode(p[0]); + } + }, { + key: "formatLanguageCode", + value: function formatLanguageCode(code) { + if (typeof code === 'string' && code.indexOf('-') > -1) { + var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab']; + var p = code.split('-'); + if (this.options.lowerCaseLng) { + p = p.map(function (part) { + return part.toLowerCase(); + }); + } else if (p.length === 2) { + p[0] = p[0].toLowerCase(); + p[1] = p[1].toUpperCase(); + if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase()); + } else if (p.length === 3) { + p[0] = p[0].toLowerCase(); + if (p[1].length === 2) p[1] = p[1].toUpperCase(); + if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase(); + if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase()); + if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase()); + } + return p.join('-'); + } + return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code; + } + }, { + key: "isSupportedCode", + value: function isSupportedCode(code) { + if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) { + code = this.getLanguagePartFromCode(code); + } + return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1; + } + }, { + key: "getBestMatchFromCodes", + value: function getBestMatchFromCodes(codes) { + var _this = this; + if (!codes) return null; + var found; + codes.forEach(function (code) { + if (found) return; + var cleanedLng = _this.formatLanguageCode(code); + if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng; + }); + if (!found && this.options.supportedLngs) { + codes.forEach(function (code) { + if (found) return; + var lngOnly = _this.getLanguagePartFromCode(code); + if (_this.isSupportedCode(lngOnly)) return found = lngOnly; + found = _this.options.supportedLngs.find(function (supportedLng) { + if (supportedLng === lngOnly) return supportedLng; + if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return; + if (supportedLng.indexOf(lngOnly) === 0) return supportedLng; + }); + }); + } + if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0]; + return found; + } + }, { + key: "getFallbackCodes", + value: function getFallbackCodes(fallbacks, code) { + if (!fallbacks) return []; + if (typeof fallbacks === 'function') fallbacks = fallbacks(code); + if (typeof fallbacks === 'string') fallbacks = [fallbacks]; + if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks; + if (!code) return fallbacks["default"] || []; + var found = fallbacks[code]; + if (!found) found = fallbacks[this.getScriptPartFromCode(code)]; + if (!found) found = fallbacks[this.formatLanguageCode(code)]; + if (!found) found = fallbacks[this.getLanguagePartFromCode(code)]; + if (!found) found = fallbacks["default"]; + return found || []; + } + }, { + key: "toResolveHierarchy", + value: function toResolveHierarchy(code, fallbackCode) { + var _this2 = this; + var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code); + var codes = []; + var addCode = function addCode(c) { + if (!c) return; + if (_this2.isSupportedCode(c)) { + codes.push(c); + } else { + _this2.logger.warn("rejecting language code not found in supportedLngs: ".concat(c)); + } + }; + if (typeof code === 'string' && code.indexOf('-') > -1) { + if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code)); + if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code)); + if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code)); + } else if (typeof code === 'string') { + addCode(this.formatLanguageCode(code)); + } + fallbackCodes.forEach(function (fc) { + if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc)); + }); + return codes; + } + }]); + return LanguageUtil; + }(); + + var sets = [{ + lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'], + nr: [1, 2], + fc: 1 + }, { + lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'], + nr: [1, 2], + fc: 2 + }, { + lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'], + nr: [1], + fc: 3 + }, { + lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'], + nr: [1, 2, 5], + fc: 4 + }, { + lngs: ['ar'], + nr: [0, 1, 2, 3, 11, 100], + fc: 5 + }, { + lngs: ['cs', 'sk'], + nr: [1, 2, 5], + fc: 6 + }, { + lngs: ['csb', 'pl'], + nr: [1, 2, 5], + fc: 7 + }, { + lngs: ['cy'], + nr: [1, 2, 3, 8], + fc: 8 + }, { + lngs: ['fr'], + nr: [1, 2], + fc: 9 + }, { + lngs: ['ga'], + nr: [1, 2, 3, 7, 11], + fc: 10 + }, { + lngs: ['gd'], + nr: [1, 2, 3, 20], + fc: 11 + }, { + lngs: ['is'], + nr: [1, 2], + fc: 12 + }, { + lngs: ['jv'], + nr: [0, 1], + fc: 13 + }, { + lngs: ['kw'], + nr: [1, 2, 3, 4], + fc: 14 + }, { + lngs: ['lt'], + nr: [1, 2, 10], + fc: 15 + }, { + lngs: ['lv'], + nr: [1, 2, 0], + fc: 16 + }, { + lngs: ['mk'], + nr: [1, 2], + fc: 17 + }, { + lngs: ['mnk'], + nr: [0, 1, 2], + fc: 18 + }, { + lngs: ['mt'], + nr: [1, 2, 11, 20], + fc: 19 + }, { + lngs: ['or'], + nr: [2, 1], + fc: 2 + }, { + lngs: ['ro'], + nr: [1, 2, 20], + fc: 20 + }, { + lngs: ['sl'], + nr: [5, 1, 2, 3], + fc: 21 + }, { + lngs: ['he', 'iw'], + nr: [1, 2, 20, 21], + fc: 22 + }]; + var _rulesPluralsTypes = { + 1: function _(n) { + return Number(n > 1); + }, + 2: function _(n) { + return Number(n != 1); + }, + 3: function _(n) { + return 0; + }, + 4: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 5: function _(n) { + return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5); + }, + 6: function _(n) { + return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2); + }, + 7: function _(n) { + return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 8: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3); + }, + 9: function _(n) { + return Number(n >= 2); + }, + 10: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4); + }, + 11: function _(n) { + return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3); + }, + 12: function _(n) { + return Number(n % 10 != 1 || n % 100 == 11); + }, + 13: function _(n) { + return Number(n !== 0); + }, + 14: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3); + }, + 15: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 16: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2); + }, + 17: function _(n) { + return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1); + }, + 18: function _(n) { + return Number(n == 0 ? 0 : n == 1 ? 1 : 2); + }, + 19: function _(n) { + return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3); + }, + 20: function _(n) { + return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2); + }, + 21: function _(n) { + return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0); + }, + 22: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3); + } + }; + var deprecatedJsonVersions = ['v1', 'v2', 'v3']; + var suffixesOrder = { + zero: 0, + one: 1, + two: 2, + few: 3, + many: 4, + other: 5 + }; + function createRules() { + var rules = {}; + sets.forEach(function (set) { + set.lngs.forEach(function (l) { + rules[l] = { + numbers: set.nr, + plurals: _rulesPluralsTypes[set.fc] + }; + }); + }); + return rules; + } + var PluralResolver = function () { + function PluralResolver(languageUtils) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, PluralResolver); + this.languageUtils = languageUtils; + this.options = options; + this.logger = baseLogger.create('pluralResolver'); + if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) { + this.options.compatibilityJSON = 'v3'; + this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.'); + } + this.rules = createRules(); + } + _createClass(PluralResolver, [{ + key: "addRule", + value: function addRule(lng, obj) { + this.rules[lng] = obj; + } + }, { + key: "getRule", + value: function getRule(code) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (this.shouldUseIntlApi()) { + try { + return new Intl.PluralRules(code, { + type: options.ordinal ? 'ordinal' : 'cardinal' + }); + } catch (_unused) { + return; + } + } + return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)]; + } + }, { + key: "needsPlural", + value: function needsPlural(code) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var rule = this.getRule(code, options); + if (this.shouldUseIntlApi()) { + return rule && rule.resolvedOptions().pluralCategories.length > 1; + } + return rule && rule.numbers.length > 1; + } + }, { + key: "getPluralFormsOfKey", + value: function getPluralFormsOfKey(code, key) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return this.getSuffixes(code, options).map(function (suffix) { + return "".concat(key).concat(suffix); + }); + } + }, { + key: "getSuffixes", + value: function getSuffixes(code) { + var _this = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var rule = this.getRule(code, options); + if (!rule) { + return []; + } + if (this.shouldUseIntlApi()) { + return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) { + return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]; + }).map(function (pluralCategory) { + return "".concat(_this.options.prepend).concat(pluralCategory); + }); + } + return rule.numbers.map(function (number) { + return _this.getSuffix(code, number, options); + }); + } + }, { + key: "getSuffix", + value: function getSuffix(code, count) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var rule = this.getRule(code, options); + if (rule) { + if (this.shouldUseIntlApi()) { + return "".concat(this.options.prepend).concat(rule.select(count)); + } + return this.getSuffixRetroCompatible(rule, count); + } + this.logger.warn("no plural rule found for: ".concat(code)); + return ''; + } + }, { + key: "getSuffixRetroCompatible", + value: function getSuffixRetroCompatible(rule, count) { + var _this2 = this; + var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count)); + var suffix = rule.numbers[idx]; + if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) { + if (suffix === 2) { + suffix = 'plural'; + } else if (suffix === 1) { + suffix = ''; + } + } + var returnSuffix = function returnSuffix() { + return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString(); + }; + if (this.options.compatibilityJSON === 'v1') { + if (suffix === 1) return ''; + if (typeof suffix === 'number') return "_plural_".concat(suffix.toString()); + return returnSuffix(); + } else if (this.options.compatibilityJSON === 'v2') { + return returnSuffix(); + } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) { + return returnSuffix(); + } + return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString(); + } + }, { + key: "shouldUseIntlApi", + value: function shouldUseIntlApi() { + return !deprecatedJsonVersions.includes(this.options.compatibilityJSON); + } + }]); + return PluralResolver; + }(); + + function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function deepFindWithDefaults(data, defaultData, key) { + var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.'; + var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; + var path = getPathWithDefaults(data, defaultData, key); + if (!path && ignoreJSONStructure && typeof key === 'string') { + path = deepFind(data, key, keySeparator); + if (path === undefined) path = deepFind(defaultData, key, keySeparator); + } + return path; + } + var Interpolator = function () { + function Interpolator() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck(this, Interpolator); + this.logger = baseLogger.create('interpolator'); + this.options = options; + this.format = options.interpolation && options.interpolation.format || function (value) { + return value; + }; + this.init(options); + } + _createClass(Interpolator, [{ + key: "init", + value: function init() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (!options.interpolation) options.interpolation = { + escapeValue: true + }; + var iOpts = options.interpolation; + this.escape = iOpts.escape !== undefined ? iOpts.escape : escape; + this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true; + this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false; + this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{'; + this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}'; + this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ','; + this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-'; + this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || ''; + this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t('); + this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')'); + this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ','; + this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000; + this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false; + this.resetRegExp(); + } + }, { + key: "reset", + value: function reset() { + if (this.options) this.init(this.options); + } + }, { + key: "resetRegExp", + value: function resetRegExp() { + var regexpStr = "".concat(this.prefix, "(.+?)").concat(this.suffix); + this.regexp = new RegExp(regexpStr, 'g'); + var regexpUnescapeStr = "".concat(this.prefix).concat(this.unescapePrefix, "(.+?)").concat(this.unescapeSuffix).concat(this.suffix); + this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g'); + var nestingRegexpStr = "".concat(this.nestingPrefix, "(.+?)").concat(this.nestingSuffix); + this.nestingRegexp = new RegExp(nestingRegexpStr, 'g'); + } + }, { + key: "interpolate", + value: function interpolate(str, data, lng, options) { + var _this = this; + var match; + var value; + var replaces; + var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}; + function regexSafe(val) { + return val.replace(/\$/g, '$$$$'); + } + var handleFormat = function handleFormat(key) { + if (key.indexOf(_this.formatSeparator) < 0) { + var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure); + return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, { + interpolationkey: key + })) : path; + } + var p = key.split(_this.formatSeparator); + var k = p.shift().trim(); + var f = p.join(_this.formatSeparator).trim(); + return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, { + interpolationkey: k + })); + }; + this.resetRegExp(); + var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler; + var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables; + var todos = [{ + regex: this.regexpUnescape, + safeValue: function safeValue(val) { + return regexSafe(val); + } + }, { + regex: this.regexp, + safeValue: function safeValue(val) { + return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val); + } + }]; + todos.forEach(function (todo) { + replaces = 0; + while (match = todo.regex.exec(str)) { + var matchedVar = match[1].trim(); + value = handleFormat(matchedVar); + if (value === undefined) { + if (typeof missingInterpolationHandler === 'function') { + var temp = missingInterpolationHandler(str, match, options); + value = typeof temp === 'string' ? temp : ''; + } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) { + value = ''; + } else if (skipOnVariables) { + value = match[0]; + continue; + } else { + _this.logger.warn("missed to pass in variable ".concat(matchedVar, " for interpolating ").concat(str)); + value = ''; + } + } else if (typeof value !== 'string' && !_this.useRawValueToEscape) { + value = makeString(value); + } + var safeValue = todo.safeValue(value); + str = str.replace(match[0], safeValue); + if (skipOnVariables) { + todo.regex.lastIndex += value.length; + todo.regex.lastIndex -= match[0].length; + } else { + todo.regex.lastIndex = 0; + } + replaces++; + if (replaces >= _this.maxReplaces) { + break; + } + } + }); + return str; + } + }, { + key: "nest", + value: function nest(str, fc) { + var _this2 = this; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var match; + var value; + var clonedOptions; + function handleHasOptions(key, inheritedOptions) { + var sep = this.nestingOptionsSeparator; + if (key.indexOf(sep) < 0) return key; + var c = key.split(new RegExp("".concat(sep, "[ ]*{"))); + var optionsString = "{".concat(c[1]); + key = c[0]; + optionsString = this.interpolate(optionsString, clonedOptions); + var matchedSingleQuotes = optionsString.match(/'/g); + var matchedDoubleQuotes = optionsString.match(/"/g); + if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) { + optionsString = optionsString.replace(/'/g, '"'); + } + try { + clonedOptions = JSON.parse(optionsString); + if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions); + } catch (e) { + this.logger.warn("failed parsing options string in nesting for key ".concat(key), e); + return "".concat(key).concat(sep).concat(optionsString); + } + delete clonedOptions.defaultValue; + return key; + } + while (match = this.nestingRegexp.exec(str)) { + var formatters = []; + clonedOptions = _objectSpread$3({}, options); + clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions; + clonedOptions.applyPostProcessor = false; + delete clonedOptions.defaultValue; + var doReduce = false; + if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) { + var r = match[1].split(this.formatSeparator).map(function (elem) { + return elem.trim(); + }); + match[1] = r.shift(); + formatters = r; + doReduce = true; + } + value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions); + if (value && match[0] === str && typeof value !== 'string') return value; + if (typeof value !== 'string') value = makeString(value); + if (!value) { + this.logger.warn("missed to resolve ".concat(match[1], " for nesting ").concat(str)); + value = ''; + } + if (doReduce) { + value = formatters.reduce(function (v, f) { + return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, { + interpolationkey: match[1].trim() + })); + }, value.trim()); + } + str = str.replace(match[0], value); + this.regexp.lastIndex = 0; + } + return str; + } + }]); + return Interpolator; + }(); + + function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; + } + + function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); + } + + function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + return arr2; + } + + function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); + } + + function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + function _toArray(arr) { + return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); + } + + function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function parseFormatStr(formatStr) { + var formatName = formatStr.toLowerCase().trim(); + var formatOptions = {}; + if (formatStr.indexOf('(') > -1) { + var p = formatStr.split('('); + formatName = p[0].toLowerCase().trim(); + var optStr = p[1].substring(0, p[1].length - 1); + if (formatName === 'currency' && optStr.indexOf(':') < 0) { + if (!formatOptions.currency) formatOptions.currency = optStr.trim(); + } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) { + if (!formatOptions.range) formatOptions.range = optStr.trim(); + } else { + var opts = optStr.split(';'); + opts.forEach(function (opt) { + if (!opt) return; + var _opt$split = opt.split(':'), + _opt$split2 = _toArray(_opt$split), + key = _opt$split2[0], + rest = _opt$split2.slice(1); + var val = rest.join(':').trim().replace(/^'+|'+$/g, ''); + if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val; + if (val === 'false') formatOptions[key.trim()] = false; + if (val === 'true') formatOptions[key.trim()] = true; + if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10); + }); + } + } + return { + formatName: formatName, + formatOptions: formatOptions + }; + } + function createCachedFormatter(fn) { + var cache = {}; + return function invokeFormatter(val, lng, options) { + var key = lng + JSON.stringify(options); + var formatter = cache[key]; + if (!formatter) { + formatter = fn(lng, options); + cache[key] = formatter; + } + return formatter(val); + }; + } + var Formatter = function () { + function Formatter() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck(this, Formatter); + this.logger = baseLogger.create('formatter'); + this.options = options; + this.formats = { + number: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }), + currency: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, { + style: 'currency' + })); + return function (val) { + return formatter.format(val); + }; + }), + datetime: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }), + relativetime: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val, opt.range || 'day'); + }; + }), + list: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }) + }; + this.init(options); + } + _createClass(Formatter, [{ + key: "init", + value: function init(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + interpolation: {} + }; + var iOpts = options.interpolation; + this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ','; + } + }, { + key: "add", + value: function add(name, fc) { + this.formats[name.toLowerCase().trim()] = fc; + } + }, { + key: "addCached", + value: function addCached(name, fc) { + this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc); + } + }, { + key: "format", + value: function format(value, _format, lng) { + var _this = this; + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var formats = _format.split(this.formatSeparator); + var result = formats.reduce(function (mem, f) { + var _parseFormatStr = parseFormatStr(f), + formatName = _parseFormatStr.formatName, + formatOptions = _parseFormatStr.formatOptions; + if (_this.formats[formatName]) { + var formatted = mem; + try { + var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {}; + var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng; + formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions)); + } catch (error) { + _this.logger.warn(error); + } + return formatted; + } else { + _this.logger.warn("there was no format function for ".concat(formatName)); + } + return mem; + }, value); + return result; + } + }]); + return Formatter; + }(); + + function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + function removePending(q, name) { + if (q.pending[name] !== undefined) { + delete q.pending[name]; + q.pendingCount--; + } + } + var Connector = function (_EventEmitter) { + _inherits(Connector, _EventEmitter); + var _super = _createSuper$1(Connector); + function Connector(backend, store, services) { + var _this; + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + _classCallCheck(this, Connector); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + _this.backend = backend; + _this.store = store; + _this.services = services; + _this.languageUtils = services.languageUtils; + _this.options = options; + _this.logger = baseLogger.create('backendConnector'); + _this.waitingReads = []; + _this.maxParallelReads = options.maxParallelReads || 10; + _this.readingCalls = 0; + _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5; + _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350; + _this.state = {}; + _this.queue = []; + if (_this.backend && _this.backend.init) { + _this.backend.init(services, options.backend, options); + } + return _this; + } + _createClass(Connector, [{ + key: "queueLoad", + value: function queueLoad(languages, namespaces, options, callback) { + var _this2 = this; + var toLoad = {}; + var pending = {}; + var toLoadLanguages = {}; + var toLoadNamespaces = {}; + languages.forEach(function (lng) { + var hasAllNamespaces = true; + namespaces.forEach(function (ns) { + var name = "".concat(lng, "|").concat(ns); + if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) { + _this2.state[name] = 2; + } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) { + if (pending[name] === undefined) pending[name] = true; + } else { + _this2.state[name] = 1; + hasAllNamespaces = false; + if (pending[name] === undefined) pending[name] = true; + if (toLoad[name] === undefined) toLoad[name] = true; + if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true; + } + }); + if (!hasAllNamespaces) toLoadLanguages[lng] = true; + }); + if (Object.keys(toLoad).length || Object.keys(pending).length) { + this.queue.push({ + pending: pending, + pendingCount: Object.keys(pending).length, + loaded: {}, + errors: [], + callback: callback + }); + } + return { + toLoad: Object.keys(toLoad), + pending: Object.keys(pending), + toLoadLanguages: Object.keys(toLoadLanguages), + toLoadNamespaces: Object.keys(toLoadNamespaces) + }; + } + }, { + key: "loaded", + value: function loaded(name, err, data) { + var s = name.split('|'); + var lng = s[0]; + var ns = s[1]; + if (err) this.emit('failedLoading', lng, ns, err); + if (data) { + this.store.addResourceBundle(lng, ns, data); + } + this.state[name] = err ? -1 : 2; + var loaded = {}; + this.queue.forEach(function (q) { + pushPath(q.loaded, [lng], ns); + removePending(q, name); + if (err) q.errors.push(err); + if (q.pendingCount === 0 && !q.done) { + Object.keys(q.loaded).forEach(function (l) { + if (!loaded[l]) loaded[l] = {}; + var loadedKeys = q.loaded[l]; + if (loadedKeys.length) { + loadedKeys.forEach(function (n) { + if (loaded[l][n] === undefined) loaded[l][n] = true; + }); + } + }); + q.done = true; + if (q.errors.length) { + q.callback(q.errors); + } else { + q.callback(); + } + } + }); + this.emit('loaded', loaded); + this.queue = this.queue.filter(function (q) { + return !q.done; + }); + } + }, { + key: "read", + value: function read(lng, ns, fcName) { + var _this3 = this; + var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout; + var callback = arguments.length > 5 ? arguments[5] : undefined; + if (!lng.length) return callback(null, {}); + if (this.readingCalls >= this.maxParallelReads) { + this.waitingReads.push({ + lng: lng, + ns: ns, + fcName: fcName, + tried: tried, + wait: wait, + callback: callback + }); + return; + } + this.readingCalls++; + var resolver = function resolver(err, data) { + _this3.readingCalls--; + if (_this3.waitingReads.length > 0) { + var next = _this3.waitingReads.shift(); + _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback); + } + if (err && data && tried < _this3.maxRetries) { + setTimeout(function () { + _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback); + }, wait); + return; + } + callback(err, data); + }; + var fc = this.backend[fcName].bind(this.backend); + if (fc.length === 2) { + try { + var r = fc(lng, ns); + if (r && typeof r.then === 'function') { + r.then(function (data) { + return resolver(null, data); + })["catch"](resolver); + } else { + resolver(null, r); + } + } catch (err) { + resolver(err); + } + return; + } + return fc(lng, ns, resolver); + } + }, { + key: "prepareLoading", + value: function prepareLoading(languages, namespaces) { + var _this4 = this; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var callback = arguments.length > 3 ? arguments[3] : undefined; + if (!this.backend) { + this.logger.warn('No backend was added via i18next.use. Will not load resources.'); + return callback && callback(); + } + if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages); + if (typeof namespaces === 'string') namespaces = [namespaces]; + var toLoad = this.queueLoad(languages, namespaces, options, callback); + if (!toLoad.toLoad.length) { + if (!toLoad.pending.length) callback(); + return null; + } + toLoad.toLoad.forEach(function (name) { + _this4.loadOne(name); + }); + } + }, { + key: "load", + value: function load(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, {}, callback); + } + }, { + key: "reload", + value: function reload(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, { + reload: true + }, callback); + } + }, { + key: "loadOne", + value: function loadOne(name) { + var _this5 = this; + var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; + var s = name.split('|'); + var lng = s[0]; + var ns = s[1]; + this.read(lng, ns, 'read', undefined, undefined, function (err, data) { + if (err) _this5.logger.warn("".concat(prefix, "loading namespace ").concat(ns, " for language ").concat(lng, " failed"), err); + if (!err && data) _this5.logger.log("".concat(prefix, "loaded namespace ").concat(ns, " for language ").concat(lng), data); + _this5.loaded(name, err, data); + }); + } + }, { + key: "saveMissing", + value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) { + var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {}; + var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {}; + if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) { + this.logger.warn("did not save key \"".concat(key, "\" as the namespace \"").concat(namespace, "\" was not yet loaded"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + return; + } + if (key === undefined || key === null || key === '') return; + if (this.backend && this.backend.create) { + var opts = _objectSpread$1(_objectSpread$1({}, options), {}, { + isUpdate: isUpdate + }); + var fc = this.backend.create.bind(this.backend); + if (fc.length < 6) { + try { + var r; + if (fc.length === 5) { + r = fc(languages, namespace, key, fallbackValue, opts); + } else { + r = fc(languages, namespace, key, fallbackValue); + } + if (r && typeof r.then === 'function') { + r.then(function (data) { + return clb(null, data); + })["catch"](clb); + } else { + clb(null, r); + } + } catch (err) { + clb(err); + } + } else { + fc(languages, namespace, key, fallbackValue, clb, opts); + } + } + if (!languages || !languages[0]) return; + this.store.addResource(languages[0], namespace, key, fallbackValue); + } + }]); + return Connector; + }(EventEmitter); + + function get() { + return { + debug: false, + initImmediate: true, + ns: ['translation'], + defaultNS: ['translation'], + fallbackLng: ['dev'], + fallbackNS: false, + supportedLngs: false, + nonExplicitSupportedLngs: false, + load: 'all', + preload: false, + simplifyPluralSuffix: true, + keySeparator: '.', + nsSeparator: ':', + pluralSeparator: '_', + contextSeparator: '_', + partialBundledLanguages: false, + saveMissing: false, + updateMissing: false, + saveMissingTo: 'fallback', + saveMissingPlurals: true, + missingKeyHandler: false, + missingInterpolationHandler: false, + postProcess: false, + postProcessPassResolved: false, + returnNull: true, + returnEmptyString: true, + returnObjects: false, + joinArrays: false, + returnedObjectHandler: false, + parseMissingKeyHandler: false, + appendNamespaceToMissingKey: false, + appendNamespaceToCIMode: false, + overloadTranslationOptionHandler: function handle(args) { + var ret = {}; + if (_typeof(args[1]) === 'object') ret = args[1]; + if (typeof args[1] === 'string') ret.defaultValue = args[1]; + if (typeof args[2] === 'string') ret.tDescription = args[2]; + if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') { + var options = args[3] || args[2]; + Object.keys(options).forEach(function (key) { + ret[key] = options[key]; + }); + } + return ret; + }, + interpolation: { + escapeValue: true, + format: function format(value, _format, lng, options) { + return value; + }, + prefix: '{{', + suffix: '}}', + formatSeparator: ',', + unescapePrefix: '-', + nestingPrefix: '$t(', + nestingSuffix: ')', + nestingOptionsSeparator: ',', + maxReplaces: 1000, + skipOnVariables: true + } + }; + } + function transformOptions(options) { + if (typeof options.ns === 'string') options.ns = [options.ns]; + if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng]; + if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS]; + if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) { + options.supportedLngs = options.supportedLngs.concat(['cimode']); + } + return options; + } + + function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + function noop() {} + function bindMemberFunctions(inst) { + var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst)); + mems.forEach(function (mem) { + if (typeof inst[mem] === 'function') { + inst[mem] = inst[mem].bind(inst); + } + }); + } + var I18n = function (_EventEmitter) { + _inherits(I18n, _EventEmitter); + var _super = _createSuper(I18n); + function I18n() { + var _this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + _classCallCheck(this, I18n); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + _this.options = transformOptions(options); + _this.services = {}; + _this.logger = baseLogger; + _this.modules = { + external: [] + }; + bindMemberFunctions(_assertThisInitialized(_this)); + if (callback && !_this.isInitialized && !options.isClone) { + if (!_this.options.initImmediate) { + _this.init(options, callback); + return _possibleConstructorReturn(_this, _assertThisInitialized(_this)); + } + setTimeout(function () { + _this.init(options, callback); + }, 0); + } + return _this; + } + _createClass(I18n, [{ + key: "init", + value: function init() { + var _this2 = this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + if (typeof options === 'function') { + callback = options; + options = {}; + } + if (!options.defaultNS && options.defaultNS !== false && options.ns) { + if (typeof options.ns === 'string') { + options.defaultNS = options.ns; + } else if (options.ns.indexOf('translation') < 0) { + options.defaultNS = options.ns[0]; + } + } + var defOpts = get(); + this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options)); + if (this.options.compatibilityAPI !== 'v1') { + this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation); + } + if (options.keySeparator !== undefined) { + this.options.userDefinedKeySeparator = options.keySeparator; + } + if (options.nsSeparator !== undefined) { + this.options.userDefinedNsSeparator = options.nsSeparator; + } + function createClassOnDemand(ClassOrObject) { + if (!ClassOrObject) return null; + if (typeof ClassOrObject === 'function') return new ClassOrObject(); + return ClassOrObject; + } + if (!this.options.isClone) { + if (this.modules.logger) { + baseLogger.init(createClassOnDemand(this.modules.logger), this.options); + } else { + baseLogger.init(null, this.options); + } + var formatter; + if (this.modules.formatter) { + formatter = this.modules.formatter; + } else if (typeof Intl !== 'undefined') { + formatter = Formatter; + } + var lu = new LanguageUtil(this.options); + this.store = new ResourceStore(this.options.resources, this.options); + var s = this.services; + s.logger = baseLogger; + s.resourceStore = this.store; + s.languageUtils = lu; + s.pluralResolver = new PluralResolver(lu, { + prepend: this.options.pluralSeparator, + compatibilityJSON: this.options.compatibilityJSON, + simplifyPluralSuffix: this.options.simplifyPluralSuffix + }); + if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) { + s.formatter = createClassOnDemand(formatter); + s.formatter.init(s, this.options); + this.options.interpolation.format = s.formatter.format.bind(s.formatter); + } + s.interpolator = new Interpolator(this.options); + s.utils = { + hasLoadedNamespace: this.hasLoadedNamespace.bind(this) + }; + s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); + s.backendConnector.on('*', function (event) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + _this2.emit.apply(_this2, [event].concat(args)); + }); + if (this.modules.languageDetector) { + s.languageDetector = createClassOnDemand(this.modules.languageDetector); + if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options); + } + if (this.modules.i18nFormat) { + s.i18nFormat = createClassOnDemand(this.modules.i18nFormat); + if (s.i18nFormat.init) s.i18nFormat.init(this); + } + this.translator = new Translator(this.services, this.options); + this.translator.on('*', function (event) { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + _this2.emit.apply(_this2, [event].concat(args)); + }); + this.modules.external.forEach(function (m) { + if (m.init) m.init(_this2); + }); + } + this.format = this.options.interpolation.format; + if (!callback) callback = noop; + if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) { + var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0]; + } + if (!this.services.languageDetector && !this.options.lng) { + this.logger.warn('init: no languageDetector is used and no lng is defined'); + } + var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage']; + storeApi.forEach(function (fcName) { + _this2[fcName] = function () { + var _this2$store; + return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments); + }; + }); + var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle']; + storeApiChained.forEach(function (fcName) { + _this2[fcName] = function () { + var _this2$store2; + (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments); + return _this2; + }; + }); + var deferred = defer(); + var load = function load() { + var finish = function finish(err, t) { + if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!'); + _this2.isInitialized = true; + if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options); + _this2.emit('initialized', _this2.options); + deferred.resolve(t); + callback(err, t); + }; + if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2)); + _this2.changeLanguage(_this2.options.lng, finish); + }; + if (this.options.resources || !this.options.initImmediate) { + load(); + } else { + setTimeout(load, 0); + } + return deferred; + } + }, { + key: "loadResources", + value: function loadResources(language) { + var _this3 = this; + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop; + var usedCallback = callback; + var usedLng = typeof language === 'string' ? language : this.language; + if (typeof language === 'function') usedCallback = language; + if (!this.options.resources || this.options.partialBundledLanguages) { + if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback(); + var toLoad = []; + var append = function append(lng) { + if (!lng) return; + var lngs = _this3.services.languageUtils.toResolveHierarchy(lng); + lngs.forEach(function (l) { + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + if (!usedLng) { + var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + fallbacks.forEach(function (l) { + return append(l); + }); + } else { + append(usedLng); + } + if (this.options.preload) { + this.options.preload.forEach(function (l) { + return append(l); + }); + } + this.services.backendConnector.load(toLoad, this.options.ns, function (e) { + if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language); + usedCallback(e); + }); + } else { + usedCallback(null); + } + } + }, { + key: "reloadResources", + value: function reloadResources(lngs, ns, callback) { + var deferred = defer(); + if (!lngs) lngs = this.languages; + if (!ns) ns = this.options.ns; + if (!callback) callback = noop; + this.services.backendConnector.reload(lngs, ns, function (err) { + deferred.resolve(); + callback(err); + }); + return deferred; + } + }, { + key: "use", + value: function use(module) { + if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()'); + if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()'); + if (module.type === 'backend') { + this.modules.backend = module; + } + if (module.type === 'logger' || module.log && module.warn && module.error) { + this.modules.logger = module; + } + if (module.type === 'languageDetector') { + this.modules.languageDetector = module; + } + if (module.type === 'i18nFormat') { + this.modules.i18nFormat = module; + } + if (module.type === 'postProcessor') { + postProcessor.addPostProcessor(module); + } + if (module.type === 'formatter') { + this.modules.formatter = module; + } + if (module.type === '3rdParty') { + this.modules.external.push(module); + } + return this; + } + }, { + key: "setResolvedLanguage", + value: function setResolvedLanguage(l) { + if (!l || !this.languages) return; + if (['cimode', 'dev'].indexOf(l) > -1) return; + for (var li = 0; li < this.languages.length; li++) { + var lngInLngs = this.languages[li]; + if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue; + if (this.store.hasLanguageSomeTranslations(lngInLngs)) { + this.resolvedLanguage = lngInLngs; + break; + } + } + } + }, { + key: "changeLanguage", + value: function changeLanguage(lng, callback) { + var _this4 = this; + this.isLanguageChangingTo = lng; + var deferred = defer(); + this.emit('languageChanging', lng); + var setLngProps = function setLngProps(l) { + _this4.language = l; + _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l); + _this4.resolvedLanguage = undefined; + _this4.setResolvedLanguage(l); + }; + var done = function done(err, l) { + if (l) { + setLngProps(l); + _this4.translator.changeLanguage(l); + _this4.isLanguageChangingTo = undefined; + _this4.emit('languageChanged', l); + _this4.logger.log('languageChanged', l); + } else { + _this4.isLanguageChangingTo = undefined; + } + deferred.resolve(function () { + return _this4.t.apply(_this4, arguments); + }); + if (callback) callback(err, function () { + return _this4.t.apply(_this4, arguments); + }); + }; + var setLng = function setLng(lngs) { + if (!lng && !lngs && _this4.services.languageDetector) lngs = []; + var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs); + if (l) { + if (!_this4.language) { + setLngProps(l); + } + if (!_this4.translator.language) _this4.translator.changeLanguage(l); + if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l); + } + _this4.loadResources(l, function (err) { + done(err, l); + }); + }; + if (!lng && this.services.languageDetector && !this.services.languageDetector.async) { + setLng(this.services.languageDetector.detect()); + } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) { + if (this.services.languageDetector.detect.length === 0) { + this.services.languageDetector.detect().then(setLng); + } else { + this.services.languageDetector.detect(setLng); + } + } else { + setLng(lng); + } + return deferred; + } + }, { + key: "getFixedT", + value: function getFixedT(lng, ns, keyPrefix) { + var _this5 = this; + var fixedT = function fixedT(key, opts) { + var options; + if (_typeof(opts) !== 'object') { + for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) { + rest[_key3 - 2] = arguments[_key3]; + } + options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest)); + } else { + options = _objectSpread({}, opts); + } + options.lng = options.lng || fixedT.lng; + options.lngs = options.lngs || fixedT.lngs; + options.ns = options.ns || fixedT.ns; + options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix; + var keySeparator = _this5.options.keySeparator || '.'; + var resultKey; + if (options.keyPrefix && Array.isArray(key)) { + resultKey = key.map(function (k) { + return "".concat(options.keyPrefix).concat(keySeparator).concat(k); + }); + } else { + resultKey = options.keyPrefix ? "".concat(options.keyPrefix).concat(keySeparator).concat(key) : key; + } + return _this5.t(resultKey, options); + }; + if (typeof lng === 'string') { + fixedT.lng = lng; + } else { + fixedT.lngs = lng; + } + fixedT.ns = ns; + fixedT.keyPrefix = keyPrefix; + return fixedT; + } + }, { + key: "t", + value: function t() { + var _this$translator; + return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments); + } + }, { + key: "exists", + value: function exists() { + var _this$translator2; + return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments); + } + }, { + key: "setDefaultNamespace", + value: function setDefaultNamespace(ns) { + this.options.defaultNS = ns; + } + }, { + key: "hasLoadedNamespace", + value: function hasLoadedNamespace(ns) { + var _this6 = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (!this.isInitialized) { + this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages); + return false; + } + if (!this.languages || !this.languages.length) { + this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages); + return false; + } + var lng = options.lng || this.resolvedLanguage || this.languages[0]; + var fallbackLng = this.options ? this.options.fallbackLng : false; + var lastLng = this.languages[this.languages.length - 1]; + if (lng.toLowerCase() === 'cimode') return true; + var loadNotPending = function loadNotPending(l, n) { + var loadState = _this6.services.backendConnector.state["".concat(l, "|").concat(n)]; + return loadState === -1 || loadState === 2; + }; + if (options.precheck) { + var preResult = options.precheck(this, loadNotPending); + if (preResult !== undefined) return preResult; + } + if (this.hasResourceBundle(lng, ns)) return true; + if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true; + if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; + return false; + } + }, { + key: "loadNamespaces", + value: function loadNamespaces(ns, callback) { + var _this7 = this; + var deferred = defer(); + if (!this.options.ns) { + if (callback) callback(); + return Promise.resolve(); + } + if (typeof ns === 'string') ns = [ns]; + ns.forEach(function (n) { + if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n); + }); + this.loadResources(function (err) { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + }, { + key: "loadLanguages", + value: function loadLanguages(lngs, callback) { + var deferred = defer(); + if (typeof lngs === 'string') lngs = [lngs]; + var preloaded = this.options.preload || []; + var newLngs = lngs.filter(function (lng) { + return preloaded.indexOf(lng) < 0; + }); + if (!newLngs.length) { + if (callback) callback(); + return Promise.resolve(); + } + this.options.preload = preloaded.concat(newLngs); + this.loadResources(function (err) { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + }, { + key: "dir", + value: function dir(lng) { + if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language); + if (!lng) return 'rtl'; + var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb']; + var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get()); + return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr'; + } + }, { + key: "cloneInstance", + value: function cloneInstance() { + var _this8 = this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop; + var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), { + isClone: true + }); + var clone = new I18n(mergedOptions); + if (options.debug !== undefined || options.prefix !== undefined) { + clone.logger = clone.logger.clone(options); + } + var membersToCopy = ['store', 'services', 'language']; + membersToCopy.forEach(function (m) { + clone[m] = _this8[m]; + }); + clone.services = _objectSpread({}, this.services); + clone.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + clone.translator = new Translator(clone.services, clone.options); + clone.translator.on('*', function (event) { + for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { + args[_key4 - 1] = arguments[_key4]; + } + clone.emit.apply(clone, [event].concat(args)); + }); + clone.init(mergedOptions, callback); + clone.translator.options = clone.options; + clone.translator.backendConnector.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + return clone; + } + }, { + key: "toJSON", + value: function toJSON() { + return { + options: this.options, + store: this.store, + language: this.language, + languages: this.languages, + resolvedLanguage: this.resolvedLanguage + }; + } + }]); + return I18n; + }(EventEmitter); + _defineProperty(I18n, "createInstance", function () { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + return new I18n(options, callback); + }); + var instance = I18n.createInstance(); + instance.createInstance = I18n.createInstance; + + return instance; + +})); diff --git a/node_modules/astro-i18next/node_modules/i18next/dist/umd/i18next.min.js b/node_modules/astro-i18next/node_modules/i18next/dist/umd/i18next.min.js new file mode 100644 index 00000000..757166ba --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/dist/umd/i18next.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).i18next=t()}(this,(function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(t){var n=function(t,n){if("object"!==e(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,n||"default");if("object"!==e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"===e(n)?n:String(n)}function r(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};t(this,e),this.init(n,r)}return o(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||g,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n1?t-1:0),r=1;r-1?e.replace(/###/g,"."):e}function o(){return!e||"string"==typeof e}for(var i="string"!=typeof t?[].concat(t):t.split(".");i.length>1;){if(o())return{};var a=r(i.shift());!e[a]&&n&&(e[a]=new n),e=Object.prototype.hasOwnProperty.call(e,a)?e[a]:{}}return o()?{}:{obj:e,k:r(i.shift())}}function O(e,t,n){var r=b(e,t,Object);r.obj[r.k]=n}function k(e,t){var n=b(e,t),r=n.obj,o=n.k;if(r)return r[o]}function x(e,t,n){var r=k(e,n);return void 0!==r?r:k(t,n)}function w(e,t,n){for(var r in t)"__proto__"!==r&&"constructor"!==r&&(r in e?"string"==typeof e[r]||e[r]instanceof String||"string"==typeof t[r]||t[r]instanceof String?n&&(e[r]=t[r]):w(e[r],t[r],n):e[r]=t[r]);return e}function S(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var j={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function P(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(function(e){return j[e]})):e}var L="undefined"!=typeof window&&window.navigator&&void 0===window.navigator.userAgentData&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,R=[" ",",","?","!",";"];function N(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(e){if(e[t])return e[t];for(var r=t.split(n),o=e,i=0;ii+a;)a++,u=o[s=r.slice(i,i+a).join(n)];if(void 0===u)return;if(null===u)return null;if(t.endsWith(s)){if("string"==typeof u)return u;if(s&&"string"==typeof u[s])return u[s]}var c=r.slice(i+a).join(n);return c?N(u,c,n):void 0}o=o[r[i]]}return o}}function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return t(this,r),o=n.call(this),L&&d.call(i(o)),o.data=e||{},o.options=a,void 0===o.options.keySeparator&&(o.options.keySeparator="."),void 0===o.options.ignoreJSONStructure&&(o.options.ignoreJSONStructure=!0),o}return o(r,[{key:"addNamespaces",value:function(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,i=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure,a=[e,t];n&&"string"!=typeof n&&(a=a.concat(n)),n&&"string"==typeof n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."));var s=k(this.data,a);return s||!i||"string"!=typeof n?s:N(this.data&&this.data[e]&&this.data[e][t],n,o)}},{key:"addResource",value:function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=[e,t];n&&(a=a.concat(i?n.split(i):n)),e.indexOf(".")>-1&&(r=t,t=(a=e.split("."))[1]),this.addNamespaces(t),O(this.data,a,r),o.silent||this.emit("added",e,t,n,r)}},{key:"addResources",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var o in n)"string"!=typeof n[o]&&"[object Array]"!==Object.prototype.toString.apply(n[o])||this.addResource(e,t,o,n[o],{silent:!0});r.silent||this.emit("added",e,t,n)}},{key:"addResourceBundle",value:function(e,t,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},a=[e,t];e.indexOf(".")>-1&&(r=n,n=t,t=(a=e.split("."))[1]),this.addNamespaces(t);var s=k(this.data,a)||{};r?w(s,n,o):s=E(E({},s),n),O(this.data,a,s),i.silent||this.emit("added",e,t,n)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?E(E({},{}),this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"hasLanguageSomeTranslations",value:function(e){var t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((function(e){return t[e]&&Object.keys(t[e]).length>0}))}},{key:"toJSON",value:function(){return this.data}}]),r}(d),F={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,n,r,o){var i=this;return e.forEach((function(e){i.processors[e]&&(t=i.processors[e].process(t,n,r,o))})),t}};function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function T(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return t(this,a),n=r.call(this),L&&d.call(i(n)),m(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,i(n)),n.options=o,void 0===n.options.keySeparator&&(n.options.keySeparator="."),n.logger=h.create("translator"),n}return o(a,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;var n=this.resolve(e,t);return n&&void 0!==n.res}},{key:"extractFromKey",value:function(e,t){var n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");var r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS||[],i=n&&e.indexOf(n)>-1,a=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(e,t,n){t=t||"",n=n||"";var r=R.filter((function(e){return t.indexOf(e)<0&&n.indexOf(e)<0}));if(0===r.length)return!0;var o=new RegExp("(".concat(r.map((function(e){return"?"===e?"\\?":e})).join("|"),")")),i=!o.test(e);if(!i){var a=e.indexOf(n);a>0&&!o.test(e.substring(0,a))&&(i=!0)}return i}(e,n,r));if(i&&!a){var s=e.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:e,namespaces:o};var u=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),e=u.join(r)}return"string"==typeof o&&(o=[o]),{key:e,namespaces:o}}},{key:"translate",value:function(t,n,r){var o=this;if("object"!==e(n)&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),"object"===e(n)&&(n=T({},n)),n||(n={}),null==t)return"";Array.isArray(t)||(t=[String(t)]);var i=void 0!==n.returnDetails?n.returnDetails:this.options.returnDetails,s=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,u=this.extractFromKey(t[t.length-1],n),c=u.key,l=u.namespaces,f=l[l.length-1],p=n.lng||this.language,g=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(p&&"cimode"===p.toLowerCase()){if(g){var h=n.nsSeparator||this.options.nsSeparator;return i?{res:"".concat(f).concat(h).concat(c),usedKey:c,exactUsedKey:c,usedLng:p,usedNS:f}:"".concat(f).concat(h).concat(c)}return i?{res:c,usedKey:c,exactUsedKey:c,usedLng:p,usedNS:f}:c}var d=this.resolve(t,n),v=d&&d.res,y=d&&d.usedKey||c,m=d&&d.exactUsedKey||c,b=Object.prototype.toString.apply(v),O=["[object Number]","[object Function]","[object RegExp]"],k=void 0!==n.joinArrays?n.joinArrays:this.options.joinArrays,x=!this.i18nFormat||this.i18nFormat.handleAsObject,w="string"!=typeof v&&"boolean"!=typeof v&&"number"!=typeof v;if(x&&v&&w&&O.indexOf(b)<0&&("string"!=typeof k||"[object Array]"!==b)){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var S=this.options.returnedObjectHandler?this.options.returnedObjectHandler(y,v,T(T({},n),{},{ns:l})):"key '".concat(c," (").concat(this.language,")' returned an object instead of string.");return i?(d.res=S,d):S}if(s){var j="[object Array]"===b,P=j?[]:{},L=j?m:y;for(var R in v)if(Object.prototype.hasOwnProperty.call(v,R)){var N="".concat(L).concat(s).concat(R);P[R]=this.translate(N,T(T({},n),{joinArrays:!1,ns:l})),P[R]===N&&(P[R]=v[R])}v=P}}else if(x&&"string"==typeof k&&"[object Array]"===b)(v=v.join(k))&&(v=this.extendTranslation(v,t,n,r));else{var C=!1,E=!1,D=void 0!==n.count&&"string"!=typeof n.count,I=a.hasDefaultValue(n),F=D?this.pluralResolver.getSuffix(p,n.count,n):"",A=n["defaultValue".concat(F)]||n.defaultValue;!this.isValidLookup(v)&&I&&(C=!0,v=A),this.isValidLookup(v)||(E=!0,v=c);var V=n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,U=V&&E?void 0:v,K=I&&A!==v&&this.options.updateMissing;if(E||C||K){if(this.logger.log(K?"updateKey":"missingKey",p,f,c,K?A:v),s){var B=this.resolve(c,T(T({},n),{},{keySeparator:!1}));B&&B.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var M=[],H=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if("fallback"===this.options.saveMissingTo&&H&&H[0])for(var J=0;J1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((function(e){if(!a.isValidLookup(t)){var u=a.extractFromKey(e,s),c=u.key;n=c;var l=u.namespaces;a.options.fallbackNS&&(l=l.concat(a.options.fallbackNS));var f=void 0!==s.count&&"string"!=typeof s.count,p=f&&!s.ordinal&&0===s.count&&a.pluralResolver.shouldUseIntlApi(),g=void 0!==s.context&&("string"==typeof s.context||"number"==typeof s.context)&&""!==s.context,h=s.lngs?s.lngs:a.languageUtils.toResolveHierarchy(s.lng||a.language,s.fallbackLng);l.forEach((function(e){a.isValidLookup(t)||(i=e,!U["".concat(h[0],"-").concat(e)]&&a.utils&&a.utils.hasLoadedNamespace&&!a.utils.hasLoadedNamespace(i)&&(U["".concat(h[0],"-").concat(e)]=!0,a.logger.warn('key "'.concat(n,'" for languages "').concat(h.join(", "),'" won\'t get resolved as namespace "').concat(i,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),h.forEach((function(n){if(!a.isValidLookup(t)){o=n;var i,u=[c];if(a.i18nFormat&&a.i18nFormat.addLookupKeys)a.i18nFormat.addLookupKeys(u,c,n,e,s);else{var l;f&&(l=a.pluralResolver.getSuffix(n,s.count,s));var h="".concat(a.options.pluralSeparator,"zero");if(f&&(u.push(c+l),p&&u.push(c+h)),g){var d="".concat(c).concat(a.options.contextSeparator).concat(s.context);u.push(d),f&&(u.push(d+l),p&&u.push(d+h))}}for(;i=u.pop();)a.isValidLookup(t)||(r=i,t=a.getResource(n,e,i,s))}})))}))}})),{res:t,usedKey:n,exactUsedKey:r,usedLng:o,usedNS:i}}},{key:"isValidLookup",value:function(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}}],[{key:"hasDefaultValue",value:function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&"defaultValue"===t.substring(0,"defaultValue".length)&&void 0!==e[t])return!0;return!1}}]),a}(d);function B(e){return e.charAt(0).toUpperCase()+e.slice(1)}var M=function(){function e(n){t(this,e),this.options=n,this.supportedLngs=this.options.supportedLngs||!1,this.logger=h.create("languageUtils")}return o(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return null;var t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],n=e.split("-");return this.options.lowerCaseLng?n=n.map((function(e){return e.toLowerCase()})):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=B(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=B(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=B(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,n=this;return e?(e.forEach((function(e){if(!t){var r=n.formatLanguageCode(e);n.options.supportedLngs&&!n.isSupportedCode(r)||(t=r)}})),!t&&this.options.supportedLngs&&e.forEach((function(e){if(!t){var r=n.getLanguagePartFromCode(e);if(n.isSupportedCode(r))return t=r;t=n.options.supportedLngs.find((function(e){return e===r?e:e.indexOf("-")<0&&r.indexOf("-")<0?void 0:0===e.indexOf(r)?e:void 0}))}})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}},{key:"toResolveHierarchy",value:function(e,t){var n=this,r=this.getFallbackCodes(t||this.options.fallbackLng||[],e),o=[],i=function(e){e&&(n.isSupportedCode(e)?o.push(e):n.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):"string"==typeof e&&i(this.formatLanguageCode(e)),r.forEach((function(e){o.indexOf(e)<0&&i(n.formatLanguageCode(e))})),o}}]),e}(),H=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],J={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}},z=["v1","v2","v3"],_={zero:0,one:1,two:2,few:3,many:4,other:5};function q(){var e={};return H.forEach((function(t){t.lngs.forEach((function(n){e[n]={numbers:t.nr,plurals:J[t.fc]}}))})),e}var $=function(){function e(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t(this,e),this.languageUtils=n,this.options=r,this.logger=h.create("pluralResolver"),this.options.compatibilityJSON&&"v4"!==this.options.compatibilityJSON||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=q()}return o(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(e,{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.getRule(e,t);return this.shouldUseIntlApi()?n&&n.resolvedOptions().pluralCategories.length>1:n&&n.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,n).map((function(e){return"".concat(t).concat(e)}))}},{key:"getSuffixes",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.getRule(e,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((function(e,t){return _[e]-_[t]})).map((function(e){return"".concat(t.options.prepend).concat(e)})):r.numbers.map((function(r){return t.getSuffix(e,r,n)})):[]}},{key:"getSuffix",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRule(e,n);return r?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(r.select(t)):this.getSuffixRetroCompatible(r,t):(this.logger.warn("no plural rule found for: ".concat(e)),"")}},{key:"getSuffixRetroCompatible",value:function(e,t){var n=this,r=e.noAbs?e.plurals(t):e.plurals(Math.abs(t)),o=e.numbers[r];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===o?o="plural":1===o&&(o=""));var i=function(){return n.options.prepend&&o.toString()?n.options.prepend+o.toString():o.toString()};return"v1"===this.options.compatibilityJSON?1===o?"":"number"==typeof o?"_plural_".concat(o.toString()):i():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?i():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}},{key:"shouldUseIntlApi",value:function(){return!z.includes(this.options.compatibilityJSON)}}]),e}();function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:".",o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=x(e,t,n);return!i&&o&&"string"==typeof n&&void 0===(i=N(e,n,r))&&(i=N(t,n,r)),i}var Q=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t(this,e),this.logger=h.create("interpolator"),this.options=n,this.format=n.interpolation&&n.interpolation.format||function(e){return e},this.init(n)}return o(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:P,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?S(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?S(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?S(t.nestingPrefix):t.nestingPrefixEscaped||S("$t("),this.nestingSuffix=t.nestingSuffix?S(t.nestingSuffix):t.nestingSuffixEscaped||S(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(t,"g");var n="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(n,"g")}},{key:"interpolate",value:function(e,t,n,r){var o,i,a,s=this,u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function c(e){return e.replace(/\$/g,"$$$$")}var l=function(e){if(e.indexOf(s.formatSeparator)<0){var o=G(t,u,e,s.options.keySeparator,s.options.ignoreJSONStructure);return s.alwaysFormat?s.format(o,void 0,n,Y(Y(Y({},r),t),{},{interpolationkey:e})):o}var i=e.split(s.formatSeparator),a=i.shift().trim(),c=i.join(s.formatSeparator).trim();return s.format(G(t,u,a,s.options.keySeparator,s.options.ignoreJSONStructure),c,n,Y(Y(Y({},r),t),{},{interpolationkey:a}))};this.resetRegExp();var f=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,p=r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return c(e)}},{regex:this.regexp,safeValue:function(e){return s.escapeValue?c(s.escape(e)):c(e)}}].forEach((function(t){for(a=0;o=t.regex.exec(e);){var n=o[1].trim();if(void 0===(i=l(n)))if("function"==typeof f){var u=f(e,o,r);i="string"==typeof u?u:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))i="";else{if(p){i=o[0];continue}s.logger.warn("missed to pass in variable ".concat(n," for interpolating ").concat(e)),i=""}else"string"==typeof i||s.useRawValueToEscape||(i=y(i));var c=t.safeValue(i);if(e=e.replace(o[0],c),p?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,++a>=s.maxReplaces)break}})),e}},{key:"nest",value:function(e,t){var n,r,o,i=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function s(e,t){var n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;var r=e.split(new RegExp("".concat(n,"[ ]*{"))),i="{".concat(r[1]);e=r[0];var a=(i=this.interpolate(i,o)).match(/'/g),s=i.match(/"/g);(a&&a.length%2==0&&!s||s.length%2!=0)&&(i=i.replace(/'/g,'"'));try{o=JSON.parse(i),t&&(o=Y(Y({},t),o))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(n).concat(i)}return delete o.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){var u=[];(o=(o=Y({},a)).replace&&"string"!=typeof o.replace?o.replace:o).applyPostProcessor=!1,delete o.defaultValue;var c=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){var l=n[1].split(this.formatSeparator).map((function(e){return e.trim()}));n[1]=l.shift(),u=l,c=!0}if((r=t(s.call(this,n[1].trim(),o),o))&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=y(r)),r||(this.logger.warn("missed to resolve ".concat(n[1]," for nesting ").concat(e)),r=""),c&&(r=u.reduce((function(e,t){return i.format(e,t,a.lng,Y(Y({},a),{},{interpolationkey:n[1].trim()}))}),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}]),e}();function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1){var r=e.split("(");t=r[0].toLowerCase().trim();var o=r[1].substring(0,r[1].length-1);if("currency"===t&&o.indexOf(":")<0)n.currency||(n.currency=o.trim());else if("relativetime"===t&&o.indexOf(":")<0)n.range||(n.range=o.trim());else{o.split(";").forEach((function(e){if(e){var t=Z(e.split(":")),r=t[0],o=t.slice(1).join(":").trim().replace(/^'+|'+$/g,"");n[r.trim()]||(n[r.trim()]=o),"false"===o&&(n[r.trim()]=!1),"true"===o&&(n[r.trim()]=!0),isNaN(o)||(n[r.trim()]=parseInt(o,10))}}))}}return{formatName:t,formatOptions:n}}function re(e){var t={};return function(n,r,o){var i=r+JSON.stringify(o),a=t[i];return a||(a=e(r,o),t[i]=a),a(n)}}var oe=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t(this,e),this.logger=h.create("formatter"),this.options=n,this.formats={number:re((function(e,t){var n=new Intl.NumberFormat(e,te({},t));return function(e){return n.format(e)}})),currency:re((function(e,t){var n=new Intl.NumberFormat(e,te(te({},t),{},{style:"currency"}));return function(e){return n.format(e)}})),datetime:re((function(e,t){var n=new Intl.DateTimeFormat(e,te({},t));return function(e){return n.format(e)}})),relativetime:re((function(e,t){var n=new Intl.RelativeTimeFormat(e,te({},t));return function(e){return n.format(e,t.range||"day")}})),list:re((function(e,t){var n=new Intl.ListFormat(e,te({},t));return function(e){return n.format(e)}}))},this.init(n)}return o(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},n=t.interpolation;this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||","}},{key:"add",value:function(e,t){this.formats[e.toLowerCase().trim()]=t}},{key:"addCached",value:function(e,t){this.formats[e.toLowerCase().trim()]=re(t)}},{key:"format",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=t.split(this.formatSeparator),a=i.reduce((function(e,t){var i=ne(t),a=i.formatName,s=i.formatOptions;if(r.formats[a]){var u=e;try{var c=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},l=c.locale||c.lng||o.locale||o.lng||n;u=r.formats[a](e,l,te(te(te({},s),o),c))}catch(e){r.logger.warn(e)}return u}return r.logger.warn("there was no format function for ".concat(a)),e}),e);return a}}]),e}();function ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ae(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:{};return t(this,r),s=n.call(this),L&&d.call(i(s)),s.backend=e,s.store=o,s.services=a,s.languageUtils=a.languageUtils,s.options=u,s.logger=h.create("backendConnector"),s.waitingReads=[],s.maxParallelReads=u.maxParallelReads||10,s.readingCalls=0,s.maxRetries=u.maxRetries>=0?u.maxRetries:5,s.retryTimeout=u.retryTimeout>=1?u.retryTimeout:350,s.state={},s.queue=[],s.backend&&s.backend.init&&s.backend.init(a,u.backend,u),s}return o(r,[{key:"queueLoad",value:function(e,t,n,r){var o=this,i={},a={},s={},u={};return e.forEach((function(e){var r=!0;t.forEach((function(t){var s="".concat(e,"|").concat(t);!n.reload&&o.store.hasResourceBundle(e,t)?o.state[s]=2:o.state[s]<0||(1===o.state[s]?void 0===a[s]&&(a[s]=!0):(o.state[s]=1,r=!1,void 0===a[s]&&(a[s]=!0),void 0===i[s]&&(i[s]=!0),void 0===u[t]&&(u[t]=!0)))})),r||(s[e]=!0)})),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(u)}}},{key:"loaded",value:function(e,t,n){var r=e.split("|"),o=r[0],i=r[1];t&&this.emit("failedLoading",o,i,t),n&&this.store.addResourceBundle(o,i,n),this.state[e]=t?-1:2;var a={};this.queue.forEach((function(n){var r,s,u,c,l,f;r=n.loaded,s=i,c=b(r,[o],Object),l=c.obj,f=c.k,l[f]=l[f]||[],u&&(l[f]=l[f].concat(s)),u||l[f].push(s),function(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}(n,e),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach((function(e){a[e]||(a[e]={});var t=n.loaded[e];t.length&&t.forEach((function(t){void 0===a[e][t]&&(a[e][t]=!0)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",a),this.queue=this.queue.filter((function(e){return!e.done}))}},{key:"read",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads)this.waitingReads.push({lng:e,ns:t,fcName:n,tried:o,wait:i,callback:a});else{this.readingCalls++;var s=function(s,u){if(r.readingCalls--,r.waitingReads.length>0){var c=r.waitingReads.shift();r.read(c.lng,c.ns,c.fcName,c.tried,c.wait,c.callback)}s&&u&&o2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var i=this.queueLoad(e,t,r,o);if(!i.toLoad.length)return i.pending.length||o(),null;i.toLoad.forEach((function(e){n.loadOne(e)}))}},{key:"load",value:function(e,t,n){this.prepareLoading(e,t,{},n)}},{key:"reload",value:function(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}},{key:"loadOne",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=e.split("|"),o=r[0],i=r[1];this.read(o,i,"read",void 0,void 0,(function(r,a){r&&t.logger.warn("".concat(n,"loading namespace ").concat(i," for language ").concat(o," failed"),r),!r&&a&&t.logger.log("".concat(n,"loaded namespace ").concat(i," for language ").concat(o),a),t.loaded(e,r,a)}))}},{key:"saveMissing",value:function(e,t,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn('did not save key "'.concat(n,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=n&&""!==n){if(this.backend&&this.backend.create){var s=ae(ae({},i),{},{isUpdate:o}),u=this.backend.create.bind(this.backend);if(u.length<6)try{var c;(c=5===u.length?u(e,t,n,r,s):u(e,t,n,r))&&"function"==typeof c.then?c.then((function(e){return a(null,e)})).catch(a):a(null,c)}catch(e){a(e)}else u(e,t,n,r,a,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}]),r}(d);function ce(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var n={};if("object"===e(t[1])&&(n=t[1]),"string"==typeof t[1]&&(n.defaultValue=t[1]),"string"==typeof t[2]&&(n.tDescription=t[2]),"object"===e(t[2])||"object"===e(t[3])){var r=t[3]||t[2];Object.keys(r).forEach((function(e){n[e]=r[e]}))}return n},interpolation:{escapeValue:!0,format:function(e,t,n,r){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function le(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pe(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(t(this,a),e=r.call(this),L&&d.call(i(e)),e.options=le(n),e.services={},e.logger=h,e.modules={external:[]},de(i(e)),o&&!e.isInitialized&&!n.isClone){if(!e.options.initImmediate)return e.init(n,o),u(e,i(e));setTimeout((function(){e.init(n,o)}),0)}return e}return o(a,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));var r=ce();function o(e){return e?"function"==typeof e?new e:e:null}if(this.options=pe(pe(pe({},r),this.options),le(t)),"v1"!==this.options.compatibilityAPI&&(this.options.interpolation=pe(pe({},r.interpolation),this.options.interpolation)),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){var i;this.modules.logger?h.init(o(this.modules.logger),this.options):h.init(null,this.options),this.modules.formatter?i=this.modules.formatter:"undefined"!=typeof Intl&&(i=oe);var a=new M(this.options);this.store=new I(this.options.resources,this.options);var s=this.services;s.logger=h,s.resourceStore=this.store,s.languageUtils=a,s.pluralResolver=new $(a,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!i||this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format||(s.formatter=o(i),s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new Q(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new ue(o(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o1?n-1:0),o=1;o0&&"dev"!==u[0]&&(this.options.lng=u[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");var c=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];c.forEach((function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments)}}));var l=["addResource","addResources","addResourceBundle","removeResourceBundle"];l.forEach((function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments),e}}));var f=v(),p=function(){var t=function(t,r){e.isInitialized&&!e.initializedStoreOnce&&e.logger.warn("init: i18next is already initialized. You should call init just once!"),e.isInitialized=!0,e.options.isClone||e.logger.log("initialized",e.options),e.emit("initialized",e.options),f.resolve(r),n(t,r)};if(e.languages&&"v1"!==e.options.compatibilityAPI&&!e.isInitialized)return t(null,e.t.bind(e));e.changeLanguage(e.options.lng,t)};return this.options.resources||!this.options.initImmediate?p():setTimeout(p,0),f}},{key:"loadResources",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:he,r=n,o="string"==typeof e?e:this.language;if("function"==typeof e&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(o&&"cimode"===o.toLowerCase())return r();var i=[],a=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach((function(e){i.indexOf(e)<0&&i.push(e)}))};if(o)a(o);else{var s=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);s.forEach((function(e){return a(e)}))}this.options.preload&&this.options.preload.forEach((function(e){return a(e)})),this.services.backendConnector.load(i,this.options.ns,(function(e){e||t.resolvedLanguage||!t.language||t.setResolvedLanguage(t.language),r(e)}))}else r(null)}},{key:"reloadResources",value:function(e,t,n){var r=v();return e||(e=this.languages),t||(t=this.options.ns),n||(n=he),this.services.backendConnector.reload(e,t,(function(e){r.resolve(),n(e)})),r}},{key:"use",value:function(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&F.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"setResolvedLanguage",value:function(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(var t=0;t-1)&&this.store.hasLanguageSomeTranslations(n)){this.resolvedLanguage=n;break}}}},{key:"changeLanguage",value:function(e,t){var n=this;this.isLanguageChangingTo=e;var r=v();this.emit("languageChanging",e);var o=function(e){n.language=e,n.languages=n.services.languageUtils.toResolveHierarchy(e),n.resolvedLanguage=void 0,n.setResolvedLanguage(e)},i=function(i){e||i||!n.services.languageDetector||(i=[]);var a="string"==typeof i?i:n.services.languageUtils.getBestMatchFromCodes(i);a&&(n.language||o(a),n.translator.language||n.translator.changeLanguage(a),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage&&n.services.languageDetector.cacheUserLanguage(a)),n.loadResources(a,(function(e){!function(e,i){i?(o(i),n.translator.changeLanguage(i),n.isLanguageChangingTo=void 0,n.emit("languageChanged",i),n.logger.log("languageChanged",i)):n.isLanguageChangingTo=void 0,r.resolve((function(){return n.t.apply(n,arguments)})),t&&t(e,(function(){return n.t.apply(n,arguments)}))}(e,a)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(i):this.services.languageDetector.detect(i):i(e):i(this.services.languageDetector.detect()),r}},{key:"getFixedT",value:function(t,n,r){var o=this,i=function t(n,i){var a;if("object"!==e(i)){for(var s=arguments.length,u=new Array(s>2?s-2:0),c=2;c1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var r=n.lng||this.resolvedLanguage||this.languages[0],o=!!this.options&&this.options.fallbackLng,i=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;var a=function(e,n){var r=t.services.backendConnector.state["".concat(e,"|").concat(n)];return-1===r||2===r};if(n.precheck){var s=n.precheck(this,a);if(void 0!==s)return s}return!!this.hasResourceBundle(r,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!a(r,e)||o&&!a(i,e)))}},{key:"loadNamespaces",value:function(e,t){var n=this,r=v();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((function(e){n.options.ns.indexOf(e)<0&&n.options.ns.push(e)})),this.loadResources((function(e){r.resolve(),t&&t(e)})),r):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var n=v();"string"==typeof e&&(e=[e]);var r=this.options.preload||[],o=e.filter((function(e){return r.indexOf(e)<0}));return o.length?(this.options.preload=r.concat(o),this.loadResources((function(e){n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";var t=this.services&&this.services.languageUtils||new M(ce());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:he,r=pe(pe(pe({},this.options),t),{isClone:!0}),o=new a(r);void 0===t.debug&&void 0===t.prefix||(o.logger=o.logger.clone(t));var i=["store","services","language"];return i.forEach((function(t){o[t]=e[t]})),o.services=pe({},this.services),o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o.translator=new K(o.services,o.options),o.translator.on("*",(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new ve(e,t)}));var ye=ve.createInstance();return ye.createInstance=ve.createInstance,ye})); diff --git a/node_modules/astro-i18next/node_modules/i18next/i18next.js b/node_modules/astro-i18next/node_modules/i18next/i18next.js new file mode 100644 index 00000000..694bc045 --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/i18next.js @@ -0,0 +1,2642 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.i18next = factory()); +})(this, (function () { 'use strict'; + + function _typeof(obj) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }, _typeof(obj); + } + + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + + function _toPrimitive(input, hint) { + if (_typeof(input) !== "object" || input === null) return input; + var prim = input[Symbol.toPrimitive]; + if (prim !== undefined) { + var res = prim.call(input, hint || "default"); + if (_typeof(res) !== "object") return res; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return (hint === "string" ? String : Number)(input); + } + + function _toPropertyKey(arg) { + var key = _toPrimitive(arg, "string"); + return _typeof(key) === "symbol" ? key : String(key); + } + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); + } + } + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; + } + + function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self; + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + return _setPrototypeOf(o, p); + } + + function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + Object.defineProperty(subClass, "prototype", { + writable: false + }); + if (superClass) _setPrototypeOf(subClass, superClass); + } + + function _possibleConstructorReturn(self, call) { + if (call && (_typeof(call) === "object" || typeof call === "function")) { + return call; + } else if (call !== void 0) { + throw new TypeError("Derived constructors may only return object or undefined"); + } + return _assertThisInitialized(self); + } + + function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); + } + + function _defineProperty(obj, key, value) { + key = _toPropertyKey(key); + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; + } + + function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + var consoleLogger = { + type: 'logger', + log: function log(args) { + this.output('log', args); + }, + warn: function warn(args) { + this.output('warn', args); + }, + error: function error(args) { + this.output('error', args); + }, + output: function output(type, args) { + if (console && console[type]) console[type].apply(console, args); + } + }; + var Logger = function () { + function Logger(concreteLogger) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Logger); + this.init(concreteLogger, options); + } + _createClass(Logger, [{ + key: "init", + value: function init(concreteLogger) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + this.prefix = options.prefix || 'i18next:'; + this.logger = concreteLogger || consoleLogger; + this.options = options; + this.debug = options.debug; + } + }, { + key: "setDebug", + value: function setDebug(bool) { + this.debug = bool; + } + }, { + key: "log", + value: function log() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return this.forward(args, 'log', '', true); + } + }, { + key: "warn", + value: function warn() { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + return this.forward(args, 'warn', '', true); + } + }, { + key: "error", + value: function error() { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + return this.forward(args, 'error', ''); + } + }, { + key: "deprecate", + value: function deprecate() { + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true); + } + }, { + key: "forward", + value: function forward(args, lvl, prefix, debugOnly) { + if (debugOnly && !this.debug) return null; + if (typeof args[0] === 'string') args[0] = "".concat(prefix).concat(this.prefix, " ").concat(args[0]); + return this.logger[lvl](args); + } + }, { + key: "create", + value: function create(moduleName) { + return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, { + prefix: "".concat(this.prefix, ":").concat(moduleName, ":") + }), this.options)); + } + }, { + key: "clone", + value: function clone(options) { + options = options || this.options; + options.prefix = options.prefix || this.prefix; + return new Logger(this.logger, options); + } + }]); + return Logger; + }(); + var baseLogger = new Logger(); + + var EventEmitter = function () { + function EventEmitter() { + _classCallCheck(this, EventEmitter); + this.observers = {}; + } + _createClass(EventEmitter, [{ + key: "on", + value: function on(events, listener) { + var _this = this; + events.split(' ').forEach(function (event) { + _this.observers[event] = _this.observers[event] || []; + _this.observers[event].push(listener); + }); + return this; + } + }, { + key: "off", + value: function off(event, listener) { + if (!this.observers[event]) return; + if (!listener) { + delete this.observers[event]; + return; + } + this.observers[event] = this.observers[event].filter(function (l) { + return l !== listener; + }); + } + }, { + key: "emit", + value: function emit(event) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + if (this.observers[event]) { + var cloned = [].concat(this.observers[event]); + cloned.forEach(function (observer) { + observer.apply(void 0, args); + }); + } + if (this.observers['*']) { + var _cloned = [].concat(this.observers['*']); + _cloned.forEach(function (observer) { + observer.apply(observer, [event].concat(args)); + }); + } + } + }]); + return EventEmitter; + }(); + + function defer() { + var res; + var rej; + var promise = new Promise(function (resolve, reject) { + res = resolve; + rej = reject; + }); + promise.resolve = res; + promise.reject = rej; + return promise; + } + function makeString(object) { + if (object == null) return ''; + return '' + object; + } + function copy(a, s, t) { + a.forEach(function (m) { + if (s[m]) t[m] = s[m]; + }); + } + function getLastOfPath(object, path, Empty) { + function cleanKey(key) { + return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key; + } + function canNotTraverseDeeper() { + return !object || typeof object === 'string'; + } + var stack = typeof path !== 'string' ? [].concat(path) : path.split('.'); + while (stack.length > 1) { + if (canNotTraverseDeeper()) return {}; + var key = cleanKey(stack.shift()); + if (!object[key] && Empty) object[key] = new Empty(); + if (Object.prototype.hasOwnProperty.call(object, key)) { + object = object[key]; + } else { + object = {}; + } + } + if (canNotTraverseDeeper()) return {}; + return { + obj: object, + k: cleanKey(stack.shift()) + }; + } + function setPath(object, path, newValue) { + var _getLastOfPath = getLastOfPath(object, path, Object), + obj = _getLastOfPath.obj, + k = _getLastOfPath.k; + obj[k] = newValue; + } + function pushPath(object, path, newValue, concat) { + var _getLastOfPath2 = getLastOfPath(object, path, Object), + obj = _getLastOfPath2.obj, + k = _getLastOfPath2.k; + obj[k] = obj[k] || []; + if (concat) obj[k] = obj[k].concat(newValue); + if (!concat) obj[k].push(newValue); + } + function getPath(object, path) { + var _getLastOfPath3 = getLastOfPath(object, path), + obj = _getLastOfPath3.obj, + k = _getLastOfPath3.k; + if (!obj) return undefined; + return obj[k]; + } + function getPathWithDefaults(data, defaultData, key) { + var value = getPath(data, key); + if (value !== undefined) { + return value; + } + return getPath(defaultData, key); + } + function deepExtend(target, source, overwrite) { + for (var prop in source) { + if (prop !== '__proto__' && prop !== 'constructor') { + if (prop in target) { + if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) { + if (overwrite) target[prop] = source[prop]; + } else { + deepExtend(target[prop], source[prop], overwrite); + } + } else { + target[prop] = source[prop]; + } + } + } + return target; + } + function regexEscape(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); + } + var _entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' + }; + function escape(data) { + if (typeof data === 'string') { + return data.replace(/[&<>"'\/]/g, function (s) { + return _entityMap[s]; + }); + } + return data; + } + var isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1; + var chars = [' ', ',', '?', '!', ';']; + function looksLikeObjectPath(key, nsSeparator, keySeparator) { + nsSeparator = nsSeparator || ''; + keySeparator = keySeparator || ''; + var possibleChars = chars.filter(function (c) { + return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0; + }); + if (possibleChars.length === 0) return true; + var r = new RegExp("(".concat(possibleChars.map(function (c) { + return c === '?' ? '\\?' : c; + }).join('|'), ")")); + var matched = !r.test(key); + if (!matched) { + var ki = key.indexOf(keySeparator); + if (ki > 0 && !r.test(key.substring(0, ki))) { + matched = true; + } + } + return matched; + } + function deepFind(obj, path) { + var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.'; + if (!obj) return undefined; + if (obj[path]) return obj[path]; + var paths = path.split(keySeparator); + var current = obj; + for (var i = 0; i < paths.length; ++i) { + if (!current) return undefined; + if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) { + return undefined; + } + if (current[paths[i]] === undefined) { + var j = 2; + var p = paths.slice(i, i + j).join(keySeparator); + var mix = current[p]; + while (mix === undefined && paths.length > i + j) { + j++; + p = paths.slice(i, i + j).join(keySeparator); + mix = current[p]; + } + if (mix === undefined) return undefined; + if (mix === null) return null; + if (path.endsWith(p)) { + if (typeof mix === 'string') return mix; + if (p && typeof mix[p] === 'string') return mix[p]; + } + var joinedPath = paths.slice(i + j).join(keySeparator); + if (joinedPath) return deepFind(mix, joinedPath, keySeparator); + return undefined; + } + current = current[paths[i]]; + } + return current; + } + + function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + function _isNativeReflectConstruct$3() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + var ResourceStore = function (_EventEmitter) { + _inherits(ResourceStore, _EventEmitter); + var _super = _createSuper$3(ResourceStore); + function ResourceStore(data) { + var _this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + ns: ['translation'], + defaultNS: 'translation' + }; + _classCallCheck(this, ResourceStore); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + _this.data = data || {}; + _this.options = options; + if (_this.options.keySeparator === undefined) { + _this.options.keySeparator = '.'; + } + if (_this.options.ignoreJSONStructure === undefined) { + _this.options.ignoreJSONStructure = true; + } + return _this; + } + _createClass(ResourceStore, [{ + key: "addNamespaces", + value: function addNamespaces(ns) { + if (this.options.ns.indexOf(ns) < 0) { + this.options.ns.push(ns); + } + } + }, { + key: "removeNamespaces", + value: function removeNamespaces(ns) { + var index = this.options.ns.indexOf(ns); + if (index > -1) { + this.options.ns.splice(index, 1); + } + } + }, { + key: "getResource", + value: function getResource(lng, ns, key) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure; + var path = [lng, ns]; + if (key && typeof key !== 'string') path = path.concat(key); + if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + } + var result = getPath(this.data, path); + if (result || !ignoreJSONStructure || typeof key !== 'string') return result; + return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator); + } + }, { + key: "addResource", + value: function addResource(lng, ns, key, value) { + var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { + silent: false + }; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var path = [lng, ns]; + if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + value = ns; + ns = path[1]; + } + this.addNamespaces(ns); + setPath(this.data, path, value); + if (!options.silent) this.emit('added', lng, ns, key, value); + } + }, { + key: "addResources", + value: function addResources(lng, ns, resources) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { + silent: false + }; + for (var m in resources) { + if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], { + silent: true + }); + } + if (!options.silent) this.emit('added', lng, ns, resources); + } + }, { + key: "addResourceBundle", + value: function addResourceBundle(lng, ns, resources, deep, overwrite) { + var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : { + silent: false + }; + var path = [lng, ns]; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + deep = resources; + resources = ns; + ns = path[1]; + } + this.addNamespaces(ns); + var pack = getPath(this.data, path) || {}; + if (deep) { + deepExtend(pack, resources, overwrite); + } else { + pack = _objectSpread$5(_objectSpread$5({}, pack), resources); + } + setPath(this.data, path, pack); + if (!options.silent) this.emit('added', lng, ns, resources); + } + }, { + key: "removeResourceBundle", + value: function removeResourceBundle(lng, ns) { + if (this.hasResourceBundle(lng, ns)) { + delete this.data[lng][ns]; + } + this.removeNamespaces(ns); + this.emit('removed', lng, ns); + } + }, { + key: "hasResourceBundle", + value: function hasResourceBundle(lng, ns) { + return this.getResource(lng, ns) !== undefined; + } + }, { + key: "getResourceBundle", + value: function getResourceBundle(lng, ns) { + if (!ns) ns = this.options.defaultNS; + if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns)); + return this.getResource(lng, ns); + } + }, { + key: "getDataByLanguage", + value: function getDataByLanguage(lng) { + return this.data[lng]; + } + }, { + key: "hasLanguageSomeTranslations", + value: function hasLanguageSomeTranslations(lng) { + var data = this.getDataByLanguage(lng); + var n = data && Object.keys(data) || []; + return !!n.find(function (v) { + return data[v] && Object.keys(data[v]).length > 0; + }); + } + }, { + key: "toJSON", + value: function toJSON() { + return this.data; + } + }]); + return ResourceStore; + }(EventEmitter); + + var postProcessor = { + processors: {}, + addPostProcessor: function addPostProcessor(module) { + this.processors[module.name] = module; + }, + handle: function handle(processors, value, key, options, translator) { + var _this = this; + processors.forEach(function (processor) { + if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator); + }); + return value; + } + }; + + function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + function _isNativeReflectConstruct$2() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + var checkedLoadedFor = {}; + var Translator = function (_EventEmitter) { + _inherits(Translator, _EventEmitter); + var _super = _createSuper$2(Translator); + function Translator(services) { + var _this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Translator); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this)); + _this.options = options; + if (_this.options.keySeparator === undefined) { + _this.options.keySeparator = '.'; + } + _this.logger = baseLogger.create('translator'); + return _this; + } + _createClass(Translator, [{ + key: "changeLanguage", + value: function changeLanguage(lng) { + if (lng) this.language = lng; + } + }, { + key: "exists", + value: function exists(key) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + interpolation: {} + }; + if (key === undefined || key === null) { + return false; + } + var resolved = this.resolve(key, options); + return resolved && resolved.res !== undefined; + } + }, { + key: "extractFromKey", + value: function extractFromKey(key, options) { + var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var namespaces = options.ns || this.options.defaultNS || []; + var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1; + var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator); + if (wouldCheckForNsInKey && !seemsNaturalLanguage) { + var m = key.match(this.interpolator.nestingRegexp); + if (m && m.length > 0) { + return { + key: key, + namespaces: namespaces + }; + } + var parts = key.split(nsSeparator); + if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift(); + key = parts.join(keySeparator); + } + if (typeof namespaces === 'string') namespaces = [namespaces]; + return { + key: key, + namespaces: namespaces + }; + } + }, { + key: "translate", + value: function translate(keys, options, lastKey) { + var _this2 = this; + if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) { + options = this.options.overloadTranslationOptionHandler(arguments); + } + if (_typeof(options) === 'object') options = _objectSpread$4({}, options); + if (!options) options = {}; + if (keys === undefined || keys === null) return ''; + if (!Array.isArray(keys)) keys = [String(keys)]; + var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails; + var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options), + key = _this$extractFromKey.key, + namespaces = _this$extractFromKey.namespaces; + var namespace = namespaces[namespaces.length - 1]; + var lng = options.lng || this.language; + var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode; + if (lng && lng.toLowerCase() === 'cimode') { + if (appendNamespaceToCIMode) { + var nsSeparator = options.nsSeparator || this.options.nsSeparator; + if (returnDetails) { + return { + res: "".concat(namespace).concat(nsSeparator).concat(key), + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace + }; + } + return "".concat(namespace).concat(nsSeparator).concat(key); + } + if (returnDetails) { + return { + res: key, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace + }; + } + return key; + } + var resolved = this.resolve(keys, options); + var res = resolved && resolved.res; + var resUsedKey = resolved && resolved.usedKey || key; + var resExactUsedKey = resolved && resolved.exactUsedKey || key; + var resType = Object.prototype.toString.apply(res); + var noObject = ['[object Number]', '[object Function]', '[object RegExp]']; + var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays; + var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject; + var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number'; + if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) { + if (!options.returnObjects && !this.options.returnObjects) { + if (!this.options.returnedObjectHandler) { + this.logger.warn('accessing an object - but returnObjects options is not enabled!'); + } + var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, { + ns: namespaces + })) : "key '".concat(key, " (").concat(this.language, ")' returned an object instead of string."); + if (returnDetails) { + resolved.res = r; + return resolved; + } + return r; + } + if (keySeparator) { + var resTypeIsArray = resType === '[object Array]'; + var copy = resTypeIsArray ? [] : {}; + var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey; + for (var m in res) { + if (Object.prototype.hasOwnProperty.call(res, m)) { + var deepKey = "".concat(newKeyToUse).concat(keySeparator).concat(m); + copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), { + joinArrays: false, + ns: namespaces + })); + if (copy[m] === deepKey) copy[m] = res[m]; + } + } + res = copy; + } + } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') { + res = res.join(joinArrays); + if (res) res = this.extendTranslation(res, keys, options, lastKey); + } else { + var usedDefault = false; + var usedKey = false; + var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string'; + var hasDefaultValue = Translator.hasDefaultValue(options); + var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : ''; + var defaultValue = options["defaultValue".concat(defaultValueSuffix)] || options.defaultValue; + if (!this.isValidLookup(res) && hasDefaultValue) { + usedDefault = true; + res = defaultValue; + } + if (!this.isValidLookup(res)) { + usedKey = true; + res = key; + } + var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey; + var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res; + var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing; + if (usedKey || usedDefault || updateMissing) { + this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res); + if (keySeparator) { + var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, { + keySeparator: false + })); + if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.'); + } + var lngs = []; + var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language); + if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) { + for (var i = 0; i < fallbackLngs.length; i++) { + lngs.push(fallbackLngs[i]); + } + } else if (this.options.saveMissingTo === 'all') { + lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language); + } else { + lngs.push(options.lng || this.language); + } + var send = function send(l, k, specificDefaultValue) { + var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing; + if (_this2.options.missingKeyHandler) { + _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options); + } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) { + _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options); + } + _this2.emit('missingKey', l, namespace, k, res); + }; + if (this.options.saveMissing) { + if (this.options.saveMissingPlurals && needsPluralHandling) { + lngs.forEach(function (language) { + _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) { + send([language], key + suffix, options["defaultValue".concat(suffix)] || defaultValue); + }); + }); + } else { + send(lngs, key, defaultValue); + } + } + } + res = this.extendTranslation(res, keys, options, resolved, lastKey); + if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = "".concat(namespace, ":").concat(key); + if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) { + if (this.options.compatibilityAPI !== 'v1') { + res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? "".concat(namespace, ":").concat(key) : key, usedDefault ? res : undefined); + } else { + res = this.options.parseMissingKeyHandler(res); + } + } + } + if (returnDetails) { + resolved.res = res; + return resolved; + } + return res; + } + }, { + key: "extendTranslation", + value: function extendTranslation(res, key, options, resolved, lastKey) { + var _this3 = this; + if (this.i18nFormat && this.i18nFormat.parse) { + res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, { + resolved: resolved + }); + } else if (!options.skipInterpolation) { + if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), { + interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation) + })); + var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables); + var nestBef; + if (skipOnVariables) { + var nb = res.match(this.interpolator.nestingRegexp); + nestBef = nb && nb.length; + } + var data = options.replace && typeof options.replace !== 'string' ? options.replace : options; + if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data); + res = this.interpolator.interpolate(res, data, options.lng || this.language, options); + if (skipOnVariables) { + var na = res.match(this.interpolator.nestingRegexp); + var nestAft = na && na.length; + if (nestBef < nestAft) options.nest = false; + } + if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng; + if (options.nest !== false) res = this.interpolator.nest(res, function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + if (lastKey && lastKey[0] === args[0] && !options.context) { + _this3.logger.warn("It seems you are nesting recursively key: ".concat(args[0], " in key: ").concat(key[0])); + return null; + } + return _this3.translate.apply(_this3, args.concat([key])); + }, options); + if (options.interpolation) this.interpolator.reset(); + } + var postProcess = options.postProcess || this.options.postProcess; + var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess; + if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) { + res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({ + i18nResolved: resolved + }, options) : options, this); + } + return res; + } + }, { + key: "resolve", + value: function resolve(keys) { + var _this4 = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var found; + var usedKey; + var exactUsedKey; + var usedLng; + var usedNS; + if (typeof keys === 'string') keys = [keys]; + keys.forEach(function (k) { + if (_this4.isValidLookup(found)) return; + var extracted = _this4.extractFromKey(k, options); + var key = extracted.key; + usedKey = key; + var namespaces = extracted.namespaces; + if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS); + var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string'; + var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi(); + var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== ''; + var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng); + namespaces.forEach(function (ns) { + if (_this4.isValidLookup(found)) return; + usedNS = ns; + if (!checkedLoadedFor["".concat(codes[0], "-").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) { + checkedLoadedFor["".concat(codes[0], "-").concat(ns)] = true; + _this4.logger.warn("key \"".concat(usedKey, "\" for languages \"").concat(codes.join(', '), "\" won't get resolved as namespace \"").concat(usedNS, "\" was not yet loaded"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + } + codes.forEach(function (code) { + if (_this4.isValidLookup(found)) return; + usedLng = code; + var finalKeys = [key]; + if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) { + _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options); + } else { + var pluralSuffix; + if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options); + var zeroSuffix = "".concat(_this4.options.pluralSeparator, "zero"); + if (needsPluralHandling) { + finalKeys.push(key + pluralSuffix); + if (needsZeroSuffixLookup) { + finalKeys.push(key + zeroSuffix); + } + } + if (needsContextHandling) { + var contextKey = "".concat(key).concat(_this4.options.contextSeparator).concat(options.context); + finalKeys.push(contextKey); + if (needsPluralHandling) { + finalKeys.push(contextKey + pluralSuffix); + if (needsZeroSuffixLookup) { + finalKeys.push(contextKey + zeroSuffix); + } + } + } + } + var possibleKey; + while (possibleKey = finalKeys.pop()) { + if (!_this4.isValidLookup(found)) { + exactUsedKey = possibleKey; + found = _this4.getResource(code, ns, possibleKey, options); + } + } + }); + }); + }); + return { + res: found, + usedKey: usedKey, + exactUsedKey: exactUsedKey, + usedLng: usedLng, + usedNS: usedNS + }; + } + }, { + key: "isValidLookup", + value: function isValidLookup(res) { + return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === ''); + } + }, { + key: "getResource", + value: function getResource(code, ns, key) { + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options); + return this.resourceStore.getResource(code, ns, key, options); + } + }], [{ + key: "hasDefaultValue", + value: function hasDefaultValue(options) { + var prefix = 'defaultValue'; + for (var option in options) { + if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) { + return true; + } + } + return false; + } + }]); + return Translator; + }(EventEmitter); + + function capitalize(string) { + return string.charAt(0).toUpperCase() + string.slice(1); + } + var LanguageUtil = function () { + function LanguageUtil(options) { + _classCallCheck(this, LanguageUtil); + this.options = options; + this.supportedLngs = this.options.supportedLngs || false; + this.logger = baseLogger.create('languageUtils'); + } + _createClass(LanguageUtil, [{ + key: "getScriptPartFromCode", + value: function getScriptPartFromCode(code) { + if (!code || code.indexOf('-') < 0) return null; + var p = code.split('-'); + if (p.length === 2) return null; + p.pop(); + if (p[p.length - 1].toLowerCase() === 'x') return null; + return this.formatLanguageCode(p.join('-')); + } + }, { + key: "getLanguagePartFromCode", + value: function getLanguagePartFromCode(code) { + if (!code || code.indexOf('-') < 0) return code; + var p = code.split('-'); + return this.formatLanguageCode(p[0]); + } + }, { + key: "formatLanguageCode", + value: function formatLanguageCode(code) { + if (typeof code === 'string' && code.indexOf('-') > -1) { + var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab']; + var p = code.split('-'); + if (this.options.lowerCaseLng) { + p = p.map(function (part) { + return part.toLowerCase(); + }); + } else if (p.length === 2) { + p[0] = p[0].toLowerCase(); + p[1] = p[1].toUpperCase(); + if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase()); + } else if (p.length === 3) { + p[0] = p[0].toLowerCase(); + if (p[1].length === 2) p[1] = p[1].toUpperCase(); + if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase(); + if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase()); + if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase()); + } + return p.join('-'); + } + return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code; + } + }, { + key: "isSupportedCode", + value: function isSupportedCode(code) { + if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) { + code = this.getLanguagePartFromCode(code); + } + return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1; + } + }, { + key: "getBestMatchFromCodes", + value: function getBestMatchFromCodes(codes) { + var _this = this; + if (!codes) return null; + var found; + codes.forEach(function (code) { + if (found) return; + var cleanedLng = _this.formatLanguageCode(code); + if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng; + }); + if (!found && this.options.supportedLngs) { + codes.forEach(function (code) { + if (found) return; + var lngOnly = _this.getLanguagePartFromCode(code); + if (_this.isSupportedCode(lngOnly)) return found = lngOnly; + found = _this.options.supportedLngs.find(function (supportedLng) { + if (supportedLng === lngOnly) return supportedLng; + if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return; + if (supportedLng.indexOf(lngOnly) === 0) return supportedLng; + }); + }); + } + if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0]; + return found; + } + }, { + key: "getFallbackCodes", + value: function getFallbackCodes(fallbacks, code) { + if (!fallbacks) return []; + if (typeof fallbacks === 'function') fallbacks = fallbacks(code); + if (typeof fallbacks === 'string') fallbacks = [fallbacks]; + if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks; + if (!code) return fallbacks["default"] || []; + var found = fallbacks[code]; + if (!found) found = fallbacks[this.getScriptPartFromCode(code)]; + if (!found) found = fallbacks[this.formatLanguageCode(code)]; + if (!found) found = fallbacks[this.getLanguagePartFromCode(code)]; + if (!found) found = fallbacks["default"]; + return found || []; + } + }, { + key: "toResolveHierarchy", + value: function toResolveHierarchy(code, fallbackCode) { + var _this2 = this; + var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code); + var codes = []; + var addCode = function addCode(c) { + if (!c) return; + if (_this2.isSupportedCode(c)) { + codes.push(c); + } else { + _this2.logger.warn("rejecting language code not found in supportedLngs: ".concat(c)); + } + }; + if (typeof code === 'string' && code.indexOf('-') > -1) { + if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code)); + if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code)); + if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code)); + } else if (typeof code === 'string') { + addCode(this.formatLanguageCode(code)); + } + fallbackCodes.forEach(function (fc) { + if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc)); + }); + return codes; + } + }]); + return LanguageUtil; + }(); + + var sets = [{ + lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'], + nr: [1, 2], + fc: 1 + }, { + lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'], + nr: [1, 2], + fc: 2 + }, { + lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'], + nr: [1], + fc: 3 + }, { + lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'], + nr: [1, 2, 5], + fc: 4 + }, { + lngs: ['ar'], + nr: [0, 1, 2, 3, 11, 100], + fc: 5 + }, { + lngs: ['cs', 'sk'], + nr: [1, 2, 5], + fc: 6 + }, { + lngs: ['csb', 'pl'], + nr: [1, 2, 5], + fc: 7 + }, { + lngs: ['cy'], + nr: [1, 2, 3, 8], + fc: 8 + }, { + lngs: ['fr'], + nr: [1, 2], + fc: 9 + }, { + lngs: ['ga'], + nr: [1, 2, 3, 7, 11], + fc: 10 + }, { + lngs: ['gd'], + nr: [1, 2, 3, 20], + fc: 11 + }, { + lngs: ['is'], + nr: [1, 2], + fc: 12 + }, { + lngs: ['jv'], + nr: [0, 1], + fc: 13 + }, { + lngs: ['kw'], + nr: [1, 2, 3, 4], + fc: 14 + }, { + lngs: ['lt'], + nr: [1, 2, 10], + fc: 15 + }, { + lngs: ['lv'], + nr: [1, 2, 0], + fc: 16 + }, { + lngs: ['mk'], + nr: [1, 2], + fc: 17 + }, { + lngs: ['mnk'], + nr: [0, 1, 2], + fc: 18 + }, { + lngs: ['mt'], + nr: [1, 2, 11, 20], + fc: 19 + }, { + lngs: ['or'], + nr: [2, 1], + fc: 2 + }, { + lngs: ['ro'], + nr: [1, 2, 20], + fc: 20 + }, { + lngs: ['sl'], + nr: [5, 1, 2, 3], + fc: 21 + }, { + lngs: ['he', 'iw'], + nr: [1, 2, 20, 21], + fc: 22 + }]; + var _rulesPluralsTypes = { + 1: function _(n) { + return Number(n > 1); + }, + 2: function _(n) { + return Number(n != 1); + }, + 3: function _(n) { + return 0; + }, + 4: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 5: function _(n) { + return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5); + }, + 6: function _(n) { + return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2); + }, + 7: function _(n) { + return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 8: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3); + }, + 9: function _(n) { + return Number(n >= 2); + }, + 10: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4); + }, + 11: function _(n) { + return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3); + }, + 12: function _(n) { + return Number(n % 10 != 1 || n % 100 == 11); + }, + 13: function _(n) { + return Number(n !== 0); + }, + 14: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3); + }, + 15: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + }, + 16: function _(n) { + return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2); + }, + 17: function _(n) { + return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1); + }, + 18: function _(n) { + return Number(n == 0 ? 0 : n == 1 ? 1 : 2); + }, + 19: function _(n) { + return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3); + }, + 20: function _(n) { + return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2); + }, + 21: function _(n) { + return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0); + }, + 22: function _(n) { + return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3); + } + }; + var deprecatedJsonVersions = ['v1', 'v2', 'v3']; + var suffixesOrder = { + zero: 0, + one: 1, + two: 2, + few: 3, + many: 4, + other: 5 + }; + function createRules() { + var rules = {}; + sets.forEach(function (set) { + set.lngs.forEach(function (l) { + rules[l] = { + numbers: set.nr, + plurals: _rulesPluralsTypes[set.fc] + }; + }); + }); + return rules; + } + var PluralResolver = function () { + function PluralResolver(languageUtils) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, PluralResolver); + this.languageUtils = languageUtils; + this.options = options; + this.logger = baseLogger.create('pluralResolver'); + if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) { + this.options.compatibilityJSON = 'v3'; + this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.'); + } + this.rules = createRules(); + } + _createClass(PluralResolver, [{ + key: "addRule", + value: function addRule(lng, obj) { + this.rules[lng] = obj; + } + }, { + key: "getRule", + value: function getRule(code) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (this.shouldUseIntlApi()) { + try { + return new Intl.PluralRules(code, { + type: options.ordinal ? 'ordinal' : 'cardinal' + }); + } catch (_unused) { + return; + } + } + return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)]; + } + }, { + key: "needsPlural", + value: function needsPlural(code) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var rule = this.getRule(code, options); + if (this.shouldUseIntlApi()) { + return rule && rule.resolvedOptions().pluralCategories.length > 1; + } + return rule && rule.numbers.length > 1; + } + }, { + key: "getPluralFormsOfKey", + value: function getPluralFormsOfKey(code, key) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return this.getSuffixes(code, options).map(function (suffix) { + return "".concat(key).concat(suffix); + }); + } + }, { + key: "getSuffixes", + value: function getSuffixes(code) { + var _this = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var rule = this.getRule(code, options); + if (!rule) { + return []; + } + if (this.shouldUseIntlApi()) { + return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) { + return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]; + }).map(function (pluralCategory) { + return "".concat(_this.options.prepend).concat(pluralCategory); + }); + } + return rule.numbers.map(function (number) { + return _this.getSuffix(code, number, options); + }); + } + }, { + key: "getSuffix", + value: function getSuffix(code, count) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var rule = this.getRule(code, options); + if (rule) { + if (this.shouldUseIntlApi()) { + return "".concat(this.options.prepend).concat(rule.select(count)); + } + return this.getSuffixRetroCompatible(rule, count); + } + this.logger.warn("no plural rule found for: ".concat(code)); + return ''; + } + }, { + key: "getSuffixRetroCompatible", + value: function getSuffixRetroCompatible(rule, count) { + var _this2 = this; + var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count)); + var suffix = rule.numbers[idx]; + if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) { + if (suffix === 2) { + suffix = 'plural'; + } else if (suffix === 1) { + suffix = ''; + } + } + var returnSuffix = function returnSuffix() { + return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString(); + }; + if (this.options.compatibilityJSON === 'v1') { + if (suffix === 1) return ''; + if (typeof suffix === 'number') return "_plural_".concat(suffix.toString()); + return returnSuffix(); + } else if (this.options.compatibilityJSON === 'v2') { + return returnSuffix(); + } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) { + return returnSuffix(); + } + return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString(); + } + }, { + key: "shouldUseIntlApi", + value: function shouldUseIntlApi() { + return !deprecatedJsonVersions.includes(this.options.compatibilityJSON); + } + }]); + return PluralResolver; + }(); + + function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function deepFindWithDefaults(data, defaultData, key) { + var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.'; + var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; + var path = getPathWithDefaults(data, defaultData, key); + if (!path && ignoreJSONStructure && typeof key === 'string') { + path = deepFind(data, key, keySeparator); + if (path === undefined) path = deepFind(defaultData, key, keySeparator); + } + return path; + } + var Interpolator = function () { + function Interpolator() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck(this, Interpolator); + this.logger = baseLogger.create('interpolator'); + this.options = options; + this.format = options.interpolation && options.interpolation.format || function (value) { + return value; + }; + this.init(options); + } + _createClass(Interpolator, [{ + key: "init", + value: function init() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (!options.interpolation) options.interpolation = { + escapeValue: true + }; + var iOpts = options.interpolation; + this.escape = iOpts.escape !== undefined ? iOpts.escape : escape; + this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true; + this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false; + this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{'; + this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}'; + this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ','; + this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-'; + this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || ''; + this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t('); + this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')'); + this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ','; + this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000; + this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false; + this.resetRegExp(); + } + }, { + key: "reset", + value: function reset() { + if (this.options) this.init(this.options); + } + }, { + key: "resetRegExp", + value: function resetRegExp() { + var regexpStr = "".concat(this.prefix, "(.+?)").concat(this.suffix); + this.regexp = new RegExp(regexpStr, 'g'); + var regexpUnescapeStr = "".concat(this.prefix).concat(this.unescapePrefix, "(.+?)").concat(this.unescapeSuffix).concat(this.suffix); + this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g'); + var nestingRegexpStr = "".concat(this.nestingPrefix, "(.+?)").concat(this.nestingSuffix); + this.nestingRegexp = new RegExp(nestingRegexpStr, 'g'); + } + }, { + key: "interpolate", + value: function interpolate(str, data, lng, options) { + var _this = this; + var match; + var value; + var replaces; + var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}; + function regexSafe(val) { + return val.replace(/\$/g, '$$$$'); + } + var handleFormat = function handleFormat(key) { + if (key.indexOf(_this.formatSeparator) < 0) { + var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure); + return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, { + interpolationkey: key + })) : path; + } + var p = key.split(_this.formatSeparator); + var k = p.shift().trim(); + var f = p.join(_this.formatSeparator).trim(); + return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, { + interpolationkey: k + })); + }; + this.resetRegExp(); + var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler; + var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables; + var todos = [{ + regex: this.regexpUnescape, + safeValue: function safeValue(val) { + return regexSafe(val); + } + }, { + regex: this.regexp, + safeValue: function safeValue(val) { + return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val); + } + }]; + todos.forEach(function (todo) { + replaces = 0; + while (match = todo.regex.exec(str)) { + var matchedVar = match[1].trim(); + value = handleFormat(matchedVar); + if (value === undefined) { + if (typeof missingInterpolationHandler === 'function') { + var temp = missingInterpolationHandler(str, match, options); + value = typeof temp === 'string' ? temp : ''; + } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) { + value = ''; + } else if (skipOnVariables) { + value = match[0]; + continue; + } else { + _this.logger.warn("missed to pass in variable ".concat(matchedVar, " for interpolating ").concat(str)); + value = ''; + } + } else if (typeof value !== 'string' && !_this.useRawValueToEscape) { + value = makeString(value); + } + var safeValue = todo.safeValue(value); + str = str.replace(match[0], safeValue); + if (skipOnVariables) { + todo.regex.lastIndex += value.length; + todo.regex.lastIndex -= match[0].length; + } else { + todo.regex.lastIndex = 0; + } + replaces++; + if (replaces >= _this.maxReplaces) { + break; + } + } + }); + return str; + } + }, { + key: "nest", + value: function nest(str, fc) { + var _this2 = this; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var match; + var value; + var clonedOptions; + function handleHasOptions(key, inheritedOptions) { + var sep = this.nestingOptionsSeparator; + if (key.indexOf(sep) < 0) return key; + var c = key.split(new RegExp("".concat(sep, "[ ]*{"))); + var optionsString = "{".concat(c[1]); + key = c[0]; + optionsString = this.interpolate(optionsString, clonedOptions); + var matchedSingleQuotes = optionsString.match(/'/g); + var matchedDoubleQuotes = optionsString.match(/"/g); + if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) { + optionsString = optionsString.replace(/'/g, '"'); + } + try { + clonedOptions = JSON.parse(optionsString); + if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions); + } catch (e) { + this.logger.warn("failed parsing options string in nesting for key ".concat(key), e); + return "".concat(key).concat(sep).concat(optionsString); + } + delete clonedOptions.defaultValue; + return key; + } + while (match = this.nestingRegexp.exec(str)) { + var formatters = []; + clonedOptions = _objectSpread$3({}, options); + clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions; + clonedOptions.applyPostProcessor = false; + delete clonedOptions.defaultValue; + var doReduce = false; + if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) { + var r = match[1].split(this.formatSeparator).map(function (elem) { + return elem.trim(); + }); + match[1] = r.shift(); + formatters = r; + doReduce = true; + } + value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions); + if (value && match[0] === str && typeof value !== 'string') return value; + if (typeof value !== 'string') value = makeString(value); + if (!value) { + this.logger.warn("missed to resolve ".concat(match[1], " for nesting ").concat(str)); + value = ''; + } + if (doReduce) { + value = formatters.reduce(function (v, f) { + return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, { + interpolationkey: match[1].trim() + })); + }, value.trim()); + } + str = str.replace(match[0], value); + this.regexp.lastIndex = 0; + } + return str; + } + }]); + return Interpolator; + }(); + + function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; + } + + function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); + } + + function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + return arr2; + } + + function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); + } + + function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + function _toArray(arr) { + return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); + } + + function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function parseFormatStr(formatStr) { + var formatName = formatStr.toLowerCase().trim(); + var formatOptions = {}; + if (formatStr.indexOf('(') > -1) { + var p = formatStr.split('('); + formatName = p[0].toLowerCase().trim(); + var optStr = p[1].substring(0, p[1].length - 1); + if (formatName === 'currency' && optStr.indexOf(':') < 0) { + if (!formatOptions.currency) formatOptions.currency = optStr.trim(); + } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) { + if (!formatOptions.range) formatOptions.range = optStr.trim(); + } else { + var opts = optStr.split(';'); + opts.forEach(function (opt) { + if (!opt) return; + var _opt$split = opt.split(':'), + _opt$split2 = _toArray(_opt$split), + key = _opt$split2[0], + rest = _opt$split2.slice(1); + var val = rest.join(':').trim().replace(/^'+|'+$/g, ''); + if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val; + if (val === 'false') formatOptions[key.trim()] = false; + if (val === 'true') formatOptions[key.trim()] = true; + if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10); + }); + } + } + return { + formatName: formatName, + formatOptions: formatOptions + }; + } + function createCachedFormatter(fn) { + var cache = {}; + return function invokeFormatter(val, lng, options) { + var key = lng + JSON.stringify(options); + var formatter = cache[key]; + if (!formatter) { + formatter = fn(lng, options); + cache[key] = formatter; + } + return formatter(val); + }; + } + var Formatter = function () { + function Formatter() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck(this, Formatter); + this.logger = baseLogger.create('formatter'); + this.options = options; + this.formats = { + number: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }), + currency: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, { + style: 'currency' + })); + return function (val) { + return formatter.format(val); + }; + }), + datetime: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }), + relativetime: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val, opt.range || 'day'); + }; + }), + list: createCachedFormatter(function (lng, opt) { + var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt)); + return function (val) { + return formatter.format(val); + }; + }) + }; + this.init(options); + } + _createClass(Formatter, [{ + key: "init", + value: function init(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + interpolation: {} + }; + var iOpts = options.interpolation; + this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ','; + } + }, { + key: "add", + value: function add(name, fc) { + this.formats[name.toLowerCase().trim()] = fc; + } + }, { + key: "addCached", + value: function addCached(name, fc) { + this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc); + } + }, { + key: "format", + value: function format(value, _format, lng) { + var _this = this; + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var formats = _format.split(this.formatSeparator); + var result = formats.reduce(function (mem, f) { + var _parseFormatStr = parseFormatStr(f), + formatName = _parseFormatStr.formatName, + formatOptions = _parseFormatStr.formatOptions; + if (_this.formats[formatName]) { + var formatted = mem; + try { + var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {}; + var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng; + formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions)); + } catch (error) { + _this.logger.warn(error); + } + return formatted; + } else { + _this.logger.warn("there was no format function for ".concat(formatName)); + } + return mem; + }, value); + return result; + } + }]); + return Formatter; + }(); + + function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + function removePending(q, name) { + if (q.pending[name] !== undefined) { + delete q.pending[name]; + q.pendingCount--; + } + } + var Connector = function (_EventEmitter) { + _inherits(Connector, _EventEmitter); + var _super = _createSuper$1(Connector); + function Connector(backend, store, services) { + var _this; + var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + _classCallCheck(this, Connector); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + _this.backend = backend; + _this.store = store; + _this.services = services; + _this.languageUtils = services.languageUtils; + _this.options = options; + _this.logger = baseLogger.create('backendConnector'); + _this.waitingReads = []; + _this.maxParallelReads = options.maxParallelReads || 10; + _this.readingCalls = 0; + _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5; + _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350; + _this.state = {}; + _this.queue = []; + if (_this.backend && _this.backend.init) { + _this.backend.init(services, options.backend, options); + } + return _this; + } + _createClass(Connector, [{ + key: "queueLoad", + value: function queueLoad(languages, namespaces, options, callback) { + var _this2 = this; + var toLoad = {}; + var pending = {}; + var toLoadLanguages = {}; + var toLoadNamespaces = {}; + languages.forEach(function (lng) { + var hasAllNamespaces = true; + namespaces.forEach(function (ns) { + var name = "".concat(lng, "|").concat(ns); + if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) { + _this2.state[name] = 2; + } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) { + if (pending[name] === undefined) pending[name] = true; + } else { + _this2.state[name] = 1; + hasAllNamespaces = false; + if (pending[name] === undefined) pending[name] = true; + if (toLoad[name] === undefined) toLoad[name] = true; + if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true; + } + }); + if (!hasAllNamespaces) toLoadLanguages[lng] = true; + }); + if (Object.keys(toLoad).length || Object.keys(pending).length) { + this.queue.push({ + pending: pending, + pendingCount: Object.keys(pending).length, + loaded: {}, + errors: [], + callback: callback + }); + } + return { + toLoad: Object.keys(toLoad), + pending: Object.keys(pending), + toLoadLanguages: Object.keys(toLoadLanguages), + toLoadNamespaces: Object.keys(toLoadNamespaces) + }; + } + }, { + key: "loaded", + value: function loaded(name, err, data) { + var s = name.split('|'); + var lng = s[0]; + var ns = s[1]; + if (err) this.emit('failedLoading', lng, ns, err); + if (data) { + this.store.addResourceBundle(lng, ns, data); + } + this.state[name] = err ? -1 : 2; + var loaded = {}; + this.queue.forEach(function (q) { + pushPath(q.loaded, [lng], ns); + removePending(q, name); + if (err) q.errors.push(err); + if (q.pendingCount === 0 && !q.done) { + Object.keys(q.loaded).forEach(function (l) { + if (!loaded[l]) loaded[l] = {}; + var loadedKeys = q.loaded[l]; + if (loadedKeys.length) { + loadedKeys.forEach(function (n) { + if (loaded[l][n] === undefined) loaded[l][n] = true; + }); + } + }); + q.done = true; + if (q.errors.length) { + q.callback(q.errors); + } else { + q.callback(); + } + } + }); + this.emit('loaded', loaded); + this.queue = this.queue.filter(function (q) { + return !q.done; + }); + } + }, { + key: "read", + value: function read(lng, ns, fcName) { + var _this3 = this; + var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout; + var callback = arguments.length > 5 ? arguments[5] : undefined; + if (!lng.length) return callback(null, {}); + if (this.readingCalls >= this.maxParallelReads) { + this.waitingReads.push({ + lng: lng, + ns: ns, + fcName: fcName, + tried: tried, + wait: wait, + callback: callback + }); + return; + } + this.readingCalls++; + var resolver = function resolver(err, data) { + _this3.readingCalls--; + if (_this3.waitingReads.length > 0) { + var next = _this3.waitingReads.shift(); + _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback); + } + if (err && data && tried < _this3.maxRetries) { + setTimeout(function () { + _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback); + }, wait); + return; + } + callback(err, data); + }; + var fc = this.backend[fcName].bind(this.backend); + if (fc.length === 2) { + try { + var r = fc(lng, ns); + if (r && typeof r.then === 'function') { + r.then(function (data) { + return resolver(null, data); + })["catch"](resolver); + } else { + resolver(null, r); + } + } catch (err) { + resolver(err); + } + return; + } + return fc(lng, ns, resolver); + } + }, { + key: "prepareLoading", + value: function prepareLoading(languages, namespaces) { + var _this4 = this; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var callback = arguments.length > 3 ? arguments[3] : undefined; + if (!this.backend) { + this.logger.warn('No backend was added via i18next.use. Will not load resources.'); + return callback && callback(); + } + if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages); + if (typeof namespaces === 'string') namespaces = [namespaces]; + var toLoad = this.queueLoad(languages, namespaces, options, callback); + if (!toLoad.toLoad.length) { + if (!toLoad.pending.length) callback(); + return null; + } + toLoad.toLoad.forEach(function (name) { + _this4.loadOne(name); + }); + } + }, { + key: "load", + value: function load(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, {}, callback); + } + }, { + key: "reload", + value: function reload(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, { + reload: true + }, callback); + } + }, { + key: "loadOne", + value: function loadOne(name) { + var _this5 = this; + var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; + var s = name.split('|'); + var lng = s[0]; + var ns = s[1]; + this.read(lng, ns, 'read', undefined, undefined, function (err, data) { + if (err) _this5.logger.warn("".concat(prefix, "loading namespace ").concat(ns, " for language ").concat(lng, " failed"), err); + if (!err && data) _this5.logger.log("".concat(prefix, "loaded namespace ").concat(ns, " for language ").concat(lng), data); + _this5.loaded(name, err, data); + }); + } + }, { + key: "saveMissing", + value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) { + var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {}; + var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {}; + if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) { + this.logger.warn("did not save key \"".concat(key, "\" as the namespace \"").concat(namespace, "\" was not yet loaded"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + return; + } + if (key === undefined || key === null || key === '') return; + if (this.backend && this.backend.create) { + var opts = _objectSpread$1(_objectSpread$1({}, options), {}, { + isUpdate: isUpdate + }); + var fc = this.backend.create.bind(this.backend); + if (fc.length < 6) { + try { + var r; + if (fc.length === 5) { + r = fc(languages, namespace, key, fallbackValue, opts); + } else { + r = fc(languages, namespace, key, fallbackValue); + } + if (r && typeof r.then === 'function') { + r.then(function (data) { + return clb(null, data); + })["catch"](clb); + } else { + clb(null, r); + } + } catch (err) { + clb(err); + } + } else { + fc(languages, namespace, key, fallbackValue, clb, opts); + } + } + if (!languages || !languages[0]) return; + this.store.addResource(languages[0], namespace, key, fallbackValue); + } + }]); + return Connector; + }(EventEmitter); + + function get() { + return { + debug: false, + initImmediate: true, + ns: ['translation'], + defaultNS: ['translation'], + fallbackLng: ['dev'], + fallbackNS: false, + supportedLngs: false, + nonExplicitSupportedLngs: false, + load: 'all', + preload: false, + simplifyPluralSuffix: true, + keySeparator: '.', + nsSeparator: ':', + pluralSeparator: '_', + contextSeparator: '_', + partialBundledLanguages: false, + saveMissing: false, + updateMissing: false, + saveMissingTo: 'fallback', + saveMissingPlurals: true, + missingKeyHandler: false, + missingInterpolationHandler: false, + postProcess: false, + postProcessPassResolved: false, + returnNull: true, + returnEmptyString: true, + returnObjects: false, + joinArrays: false, + returnedObjectHandler: false, + parseMissingKeyHandler: false, + appendNamespaceToMissingKey: false, + appendNamespaceToCIMode: false, + overloadTranslationOptionHandler: function handle(args) { + var ret = {}; + if (_typeof(args[1]) === 'object') ret = args[1]; + if (typeof args[1] === 'string') ret.defaultValue = args[1]; + if (typeof args[2] === 'string') ret.tDescription = args[2]; + if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') { + var options = args[3] || args[2]; + Object.keys(options).forEach(function (key) { + ret[key] = options[key]; + }); + } + return ret; + }, + interpolation: { + escapeValue: true, + format: function format(value, _format, lng, options) { + return value; + }, + prefix: '{{', + suffix: '}}', + formatSeparator: ',', + unescapePrefix: '-', + nestingPrefix: '$t(', + nestingSuffix: ')', + nestingOptionsSeparator: ',', + maxReplaces: 1000, + skipOnVariables: true + } + }; + } + function transformOptions(options) { + if (typeof options.ns === 'string') options.ns = [options.ns]; + if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng]; + if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS]; + if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) { + options.supportedLngs = options.supportedLngs.concat(['cimode']); + } + return options; + } + + function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + function noop() {} + function bindMemberFunctions(inst) { + var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst)); + mems.forEach(function (mem) { + if (typeof inst[mem] === 'function') { + inst[mem] = inst[mem].bind(inst); + } + }); + } + var I18n = function (_EventEmitter) { + _inherits(I18n, _EventEmitter); + var _super = _createSuper(I18n); + function I18n() { + var _this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + _classCallCheck(this, I18n); + _this = _super.call(this); + if (isIE10) { + EventEmitter.call(_assertThisInitialized(_this)); + } + _this.options = transformOptions(options); + _this.services = {}; + _this.logger = baseLogger; + _this.modules = { + external: [] + }; + bindMemberFunctions(_assertThisInitialized(_this)); + if (callback && !_this.isInitialized && !options.isClone) { + if (!_this.options.initImmediate) { + _this.init(options, callback); + return _possibleConstructorReturn(_this, _assertThisInitialized(_this)); + } + setTimeout(function () { + _this.init(options, callback); + }, 0); + } + return _this; + } + _createClass(I18n, [{ + key: "init", + value: function init() { + var _this2 = this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + if (typeof options === 'function') { + callback = options; + options = {}; + } + if (!options.defaultNS && options.defaultNS !== false && options.ns) { + if (typeof options.ns === 'string') { + options.defaultNS = options.ns; + } else if (options.ns.indexOf('translation') < 0) { + options.defaultNS = options.ns[0]; + } + } + var defOpts = get(); + this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options)); + if (this.options.compatibilityAPI !== 'v1') { + this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation); + } + if (options.keySeparator !== undefined) { + this.options.userDefinedKeySeparator = options.keySeparator; + } + if (options.nsSeparator !== undefined) { + this.options.userDefinedNsSeparator = options.nsSeparator; + } + function createClassOnDemand(ClassOrObject) { + if (!ClassOrObject) return null; + if (typeof ClassOrObject === 'function') return new ClassOrObject(); + return ClassOrObject; + } + if (!this.options.isClone) { + if (this.modules.logger) { + baseLogger.init(createClassOnDemand(this.modules.logger), this.options); + } else { + baseLogger.init(null, this.options); + } + var formatter; + if (this.modules.formatter) { + formatter = this.modules.formatter; + } else if (typeof Intl !== 'undefined') { + formatter = Formatter; + } + var lu = new LanguageUtil(this.options); + this.store = new ResourceStore(this.options.resources, this.options); + var s = this.services; + s.logger = baseLogger; + s.resourceStore = this.store; + s.languageUtils = lu; + s.pluralResolver = new PluralResolver(lu, { + prepend: this.options.pluralSeparator, + compatibilityJSON: this.options.compatibilityJSON, + simplifyPluralSuffix: this.options.simplifyPluralSuffix + }); + if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) { + s.formatter = createClassOnDemand(formatter); + s.formatter.init(s, this.options); + this.options.interpolation.format = s.formatter.format.bind(s.formatter); + } + s.interpolator = new Interpolator(this.options); + s.utils = { + hasLoadedNamespace: this.hasLoadedNamespace.bind(this) + }; + s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); + s.backendConnector.on('*', function (event) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + _this2.emit.apply(_this2, [event].concat(args)); + }); + if (this.modules.languageDetector) { + s.languageDetector = createClassOnDemand(this.modules.languageDetector); + if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options); + } + if (this.modules.i18nFormat) { + s.i18nFormat = createClassOnDemand(this.modules.i18nFormat); + if (s.i18nFormat.init) s.i18nFormat.init(this); + } + this.translator = new Translator(this.services, this.options); + this.translator.on('*', function (event) { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + _this2.emit.apply(_this2, [event].concat(args)); + }); + this.modules.external.forEach(function (m) { + if (m.init) m.init(_this2); + }); + } + this.format = this.options.interpolation.format; + if (!callback) callback = noop; + if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) { + var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0]; + } + if (!this.services.languageDetector && !this.options.lng) { + this.logger.warn('init: no languageDetector is used and no lng is defined'); + } + var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage']; + storeApi.forEach(function (fcName) { + _this2[fcName] = function () { + var _this2$store; + return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments); + }; + }); + var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle']; + storeApiChained.forEach(function (fcName) { + _this2[fcName] = function () { + var _this2$store2; + (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments); + return _this2; + }; + }); + var deferred = defer(); + var load = function load() { + var finish = function finish(err, t) { + if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!'); + _this2.isInitialized = true; + if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options); + _this2.emit('initialized', _this2.options); + deferred.resolve(t); + callback(err, t); + }; + if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2)); + _this2.changeLanguage(_this2.options.lng, finish); + }; + if (this.options.resources || !this.options.initImmediate) { + load(); + } else { + setTimeout(load, 0); + } + return deferred; + } + }, { + key: "loadResources", + value: function loadResources(language) { + var _this3 = this; + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop; + var usedCallback = callback; + var usedLng = typeof language === 'string' ? language : this.language; + if (typeof language === 'function') usedCallback = language; + if (!this.options.resources || this.options.partialBundledLanguages) { + if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback(); + var toLoad = []; + var append = function append(lng) { + if (!lng) return; + var lngs = _this3.services.languageUtils.toResolveHierarchy(lng); + lngs.forEach(function (l) { + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + if (!usedLng) { + var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + fallbacks.forEach(function (l) { + return append(l); + }); + } else { + append(usedLng); + } + if (this.options.preload) { + this.options.preload.forEach(function (l) { + return append(l); + }); + } + this.services.backendConnector.load(toLoad, this.options.ns, function (e) { + if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language); + usedCallback(e); + }); + } else { + usedCallback(null); + } + } + }, { + key: "reloadResources", + value: function reloadResources(lngs, ns, callback) { + var deferred = defer(); + if (!lngs) lngs = this.languages; + if (!ns) ns = this.options.ns; + if (!callback) callback = noop; + this.services.backendConnector.reload(lngs, ns, function (err) { + deferred.resolve(); + callback(err); + }); + return deferred; + } + }, { + key: "use", + value: function use(module) { + if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()'); + if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()'); + if (module.type === 'backend') { + this.modules.backend = module; + } + if (module.type === 'logger' || module.log && module.warn && module.error) { + this.modules.logger = module; + } + if (module.type === 'languageDetector') { + this.modules.languageDetector = module; + } + if (module.type === 'i18nFormat') { + this.modules.i18nFormat = module; + } + if (module.type === 'postProcessor') { + postProcessor.addPostProcessor(module); + } + if (module.type === 'formatter') { + this.modules.formatter = module; + } + if (module.type === '3rdParty') { + this.modules.external.push(module); + } + return this; + } + }, { + key: "setResolvedLanguage", + value: function setResolvedLanguage(l) { + if (!l || !this.languages) return; + if (['cimode', 'dev'].indexOf(l) > -1) return; + for (var li = 0; li < this.languages.length; li++) { + var lngInLngs = this.languages[li]; + if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue; + if (this.store.hasLanguageSomeTranslations(lngInLngs)) { + this.resolvedLanguage = lngInLngs; + break; + } + } + } + }, { + key: "changeLanguage", + value: function changeLanguage(lng, callback) { + var _this4 = this; + this.isLanguageChangingTo = lng; + var deferred = defer(); + this.emit('languageChanging', lng); + var setLngProps = function setLngProps(l) { + _this4.language = l; + _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l); + _this4.resolvedLanguage = undefined; + _this4.setResolvedLanguage(l); + }; + var done = function done(err, l) { + if (l) { + setLngProps(l); + _this4.translator.changeLanguage(l); + _this4.isLanguageChangingTo = undefined; + _this4.emit('languageChanged', l); + _this4.logger.log('languageChanged', l); + } else { + _this4.isLanguageChangingTo = undefined; + } + deferred.resolve(function () { + return _this4.t.apply(_this4, arguments); + }); + if (callback) callback(err, function () { + return _this4.t.apply(_this4, arguments); + }); + }; + var setLng = function setLng(lngs) { + if (!lng && !lngs && _this4.services.languageDetector) lngs = []; + var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs); + if (l) { + if (!_this4.language) { + setLngProps(l); + } + if (!_this4.translator.language) _this4.translator.changeLanguage(l); + if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l); + } + _this4.loadResources(l, function (err) { + done(err, l); + }); + }; + if (!lng && this.services.languageDetector && !this.services.languageDetector.async) { + setLng(this.services.languageDetector.detect()); + } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) { + if (this.services.languageDetector.detect.length === 0) { + this.services.languageDetector.detect().then(setLng); + } else { + this.services.languageDetector.detect(setLng); + } + } else { + setLng(lng); + } + return deferred; + } + }, { + key: "getFixedT", + value: function getFixedT(lng, ns, keyPrefix) { + var _this5 = this; + var fixedT = function fixedT(key, opts) { + var options; + if (_typeof(opts) !== 'object') { + for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) { + rest[_key3 - 2] = arguments[_key3]; + } + options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest)); + } else { + options = _objectSpread({}, opts); + } + options.lng = options.lng || fixedT.lng; + options.lngs = options.lngs || fixedT.lngs; + options.ns = options.ns || fixedT.ns; + options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix; + var keySeparator = _this5.options.keySeparator || '.'; + var resultKey; + if (options.keyPrefix && Array.isArray(key)) { + resultKey = key.map(function (k) { + return "".concat(options.keyPrefix).concat(keySeparator).concat(k); + }); + } else { + resultKey = options.keyPrefix ? "".concat(options.keyPrefix).concat(keySeparator).concat(key) : key; + } + return _this5.t(resultKey, options); + }; + if (typeof lng === 'string') { + fixedT.lng = lng; + } else { + fixedT.lngs = lng; + } + fixedT.ns = ns; + fixedT.keyPrefix = keyPrefix; + return fixedT; + } + }, { + key: "t", + value: function t() { + var _this$translator; + return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments); + } + }, { + key: "exists", + value: function exists() { + var _this$translator2; + return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments); + } + }, { + key: "setDefaultNamespace", + value: function setDefaultNamespace(ns) { + this.options.defaultNS = ns; + } + }, { + key: "hasLoadedNamespace", + value: function hasLoadedNamespace(ns) { + var _this6 = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (!this.isInitialized) { + this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages); + return false; + } + if (!this.languages || !this.languages.length) { + this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages); + return false; + } + var lng = options.lng || this.resolvedLanguage || this.languages[0]; + var fallbackLng = this.options ? this.options.fallbackLng : false; + var lastLng = this.languages[this.languages.length - 1]; + if (lng.toLowerCase() === 'cimode') return true; + var loadNotPending = function loadNotPending(l, n) { + var loadState = _this6.services.backendConnector.state["".concat(l, "|").concat(n)]; + return loadState === -1 || loadState === 2; + }; + if (options.precheck) { + var preResult = options.precheck(this, loadNotPending); + if (preResult !== undefined) return preResult; + } + if (this.hasResourceBundle(lng, ns)) return true; + if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true; + if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; + return false; + } + }, { + key: "loadNamespaces", + value: function loadNamespaces(ns, callback) { + var _this7 = this; + var deferred = defer(); + if (!this.options.ns) { + if (callback) callback(); + return Promise.resolve(); + } + if (typeof ns === 'string') ns = [ns]; + ns.forEach(function (n) { + if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n); + }); + this.loadResources(function (err) { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + }, { + key: "loadLanguages", + value: function loadLanguages(lngs, callback) { + var deferred = defer(); + if (typeof lngs === 'string') lngs = [lngs]; + var preloaded = this.options.preload || []; + var newLngs = lngs.filter(function (lng) { + return preloaded.indexOf(lng) < 0; + }); + if (!newLngs.length) { + if (callback) callback(); + return Promise.resolve(); + } + this.options.preload = preloaded.concat(newLngs); + this.loadResources(function (err) { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + }, { + key: "dir", + value: function dir(lng) { + if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language); + if (!lng) return 'rtl'; + var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb']; + var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get()); + return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr'; + } + }, { + key: "cloneInstance", + value: function cloneInstance() { + var _this8 = this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop; + var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), { + isClone: true + }); + var clone = new I18n(mergedOptions); + if (options.debug !== undefined || options.prefix !== undefined) { + clone.logger = clone.logger.clone(options); + } + var membersToCopy = ['store', 'services', 'language']; + membersToCopy.forEach(function (m) { + clone[m] = _this8[m]; + }); + clone.services = _objectSpread({}, this.services); + clone.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + clone.translator = new Translator(clone.services, clone.options); + clone.translator.on('*', function (event) { + for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { + args[_key4 - 1] = arguments[_key4]; + } + clone.emit.apply(clone, [event].concat(args)); + }); + clone.init(mergedOptions, callback); + clone.translator.options = clone.options; + clone.translator.backendConnector.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + return clone; + } + }, { + key: "toJSON", + value: function toJSON() { + return { + options: this.options, + store: this.store, + language: this.language, + languages: this.languages, + resolvedLanguage: this.resolvedLanguage + }; + } + }]); + return I18n; + }(EventEmitter); + _defineProperty(I18n, "createInstance", function () { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var callback = arguments.length > 1 ? arguments[1] : undefined; + return new I18n(options, callback); + }); + var instance = I18n.createInstance(); + instance.createInstance = I18n.createInstance; + + return instance; + +})); diff --git a/node_modules/astro-i18next/node_modules/i18next/i18next.min.js b/node_modules/astro-i18next/node_modules/i18next/i18next.min.js new file mode 100644 index 00000000..757166ba --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/i18next.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).i18next=t()}(this,(function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(t){var n=function(t,n){if("object"!==e(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,n||"default");if("object"!==e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"===e(n)?n:String(n)}function r(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};t(this,e),this.init(n,r)}return o(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||g,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n1?t-1:0),r=1;r-1?e.replace(/###/g,"."):e}function o(){return!e||"string"==typeof e}for(var i="string"!=typeof t?[].concat(t):t.split(".");i.length>1;){if(o())return{};var a=r(i.shift());!e[a]&&n&&(e[a]=new n),e=Object.prototype.hasOwnProperty.call(e,a)?e[a]:{}}return o()?{}:{obj:e,k:r(i.shift())}}function O(e,t,n){var r=b(e,t,Object);r.obj[r.k]=n}function k(e,t){var n=b(e,t),r=n.obj,o=n.k;if(r)return r[o]}function x(e,t,n){var r=k(e,n);return void 0!==r?r:k(t,n)}function w(e,t,n){for(var r in t)"__proto__"!==r&&"constructor"!==r&&(r in e?"string"==typeof e[r]||e[r]instanceof String||"string"==typeof t[r]||t[r]instanceof String?n&&(e[r]=t[r]):w(e[r],t[r],n):e[r]=t[r]);return e}function S(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var j={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function P(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(function(e){return j[e]})):e}var L="undefined"!=typeof window&&window.navigator&&void 0===window.navigator.userAgentData&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,R=[" ",",","?","!",";"];function N(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(e){if(e[t])return e[t];for(var r=t.split(n),o=e,i=0;ii+a;)a++,u=o[s=r.slice(i,i+a).join(n)];if(void 0===u)return;if(null===u)return null;if(t.endsWith(s)){if("string"==typeof u)return u;if(s&&"string"==typeof u[s])return u[s]}var c=r.slice(i+a).join(n);return c?N(u,c,n):void 0}o=o[r[i]]}return o}}function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return t(this,r),o=n.call(this),L&&d.call(i(o)),o.data=e||{},o.options=a,void 0===o.options.keySeparator&&(o.options.keySeparator="."),void 0===o.options.ignoreJSONStructure&&(o.options.ignoreJSONStructure=!0),o}return o(r,[{key:"addNamespaces",value:function(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,i=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure,a=[e,t];n&&"string"!=typeof n&&(a=a.concat(n)),n&&"string"==typeof n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."));var s=k(this.data,a);return s||!i||"string"!=typeof n?s:N(this.data&&this.data[e]&&this.data[e][t],n,o)}},{key:"addResource",value:function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=[e,t];n&&(a=a.concat(i?n.split(i):n)),e.indexOf(".")>-1&&(r=t,t=(a=e.split("."))[1]),this.addNamespaces(t),O(this.data,a,r),o.silent||this.emit("added",e,t,n,r)}},{key:"addResources",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var o in n)"string"!=typeof n[o]&&"[object Array]"!==Object.prototype.toString.apply(n[o])||this.addResource(e,t,o,n[o],{silent:!0});r.silent||this.emit("added",e,t,n)}},{key:"addResourceBundle",value:function(e,t,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},a=[e,t];e.indexOf(".")>-1&&(r=n,n=t,t=(a=e.split("."))[1]),this.addNamespaces(t);var s=k(this.data,a)||{};r?w(s,n,o):s=E(E({},s),n),O(this.data,a,s),i.silent||this.emit("added",e,t,n)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?E(E({},{}),this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"hasLanguageSomeTranslations",value:function(e){var t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((function(e){return t[e]&&Object.keys(t[e]).length>0}))}},{key:"toJSON",value:function(){return this.data}}]),r}(d),F={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,n,r,o){var i=this;return e.forEach((function(e){i.processors[e]&&(t=i.processors[e].process(t,n,r,o))})),t}};function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function T(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return t(this,a),n=r.call(this),L&&d.call(i(n)),m(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,i(n)),n.options=o,void 0===n.options.keySeparator&&(n.options.keySeparator="."),n.logger=h.create("translator"),n}return o(a,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;var n=this.resolve(e,t);return n&&void 0!==n.res}},{key:"extractFromKey",value:function(e,t){var n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");var r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS||[],i=n&&e.indexOf(n)>-1,a=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(e,t,n){t=t||"",n=n||"";var r=R.filter((function(e){return t.indexOf(e)<0&&n.indexOf(e)<0}));if(0===r.length)return!0;var o=new RegExp("(".concat(r.map((function(e){return"?"===e?"\\?":e})).join("|"),")")),i=!o.test(e);if(!i){var a=e.indexOf(n);a>0&&!o.test(e.substring(0,a))&&(i=!0)}return i}(e,n,r));if(i&&!a){var s=e.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:e,namespaces:o};var u=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),e=u.join(r)}return"string"==typeof o&&(o=[o]),{key:e,namespaces:o}}},{key:"translate",value:function(t,n,r){var o=this;if("object"!==e(n)&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),"object"===e(n)&&(n=T({},n)),n||(n={}),null==t)return"";Array.isArray(t)||(t=[String(t)]);var i=void 0!==n.returnDetails?n.returnDetails:this.options.returnDetails,s=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,u=this.extractFromKey(t[t.length-1],n),c=u.key,l=u.namespaces,f=l[l.length-1],p=n.lng||this.language,g=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(p&&"cimode"===p.toLowerCase()){if(g){var h=n.nsSeparator||this.options.nsSeparator;return i?{res:"".concat(f).concat(h).concat(c),usedKey:c,exactUsedKey:c,usedLng:p,usedNS:f}:"".concat(f).concat(h).concat(c)}return i?{res:c,usedKey:c,exactUsedKey:c,usedLng:p,usedNS:f}:c}var d=this.resolve(t,n),v=d&&d.res,y=d&&d.usedKey||c,m=d&&d.exactUsedKey||c,b=Object.prototype.toString.apply(v),O=["[object Number]","[object Function]","[object RegExp]"],k=void 0!==n.joinArrays?n.joinArrays:this.options.joinArrays,x=!this.i18nFormat||this.i18nFormat.handleAsObject,w="string"!=typeof v&&"boolean"!=typeof v&&"number"!=typeof v;if(x&&v&&w&&O.indexOf(b)<0&&("string"!=typeof k||"[object Array]"!==b)){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var S=this.options.returnedObjectHandler?this.options.returnedObjectHandler(y,v,T(T({},n),{},{ns:l})):"key '".concat(c," (").concat(this.language,")' returned an object instead of string.");return i?(d.res=S,d):S}if(s){var j="[object Array]"===b,P=j?[]:{},L=j?m:y;for(var R in v)if(Object.prototype.hasOwnProperty.call(v,R)){var N="".concat(L).concat(s).concat(R);P[R]=this.translate(N,T(T({},n),{joinArrays:!1,ns:l})),P[R]===N&&(P[R]=v[R])}v=P}}else if(x&&"string"==typeof k&&"[object Array]"===b)(v=v.join(k))&&(v=this.extendTranslation(v,t,n,r));else{var C=!1,E=!1,D=void 0!==n.count&&"string"!=typeof n.count,I=a.hasDefaultValue(n),F=D?this.pluralResolver.getSuffix(p,n.count,n):"",A=n["defaultValue".concat(F)]||n.defaultValue;!this.isValidLookup(v)&&I&&(C=!0,v=A),this.isValidLookup(v)||(E=!0,v=c);var V=n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,U=V&&E?void 0:v,K=I&&A!==v&&this.options.updateMissing;if(E||C||K){if(this.logger.log(K?"updateKey":"missingKey",p,f,c,K?A:v),s){var B=this.resolve(c,T(T({},n),{},{keySeparator:!1}));B&&B.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var M=[],H=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if("fallback"===this.options.saveMissingTo&&H&&H[0])for(var J=0;J1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((function(e){if(!a.isValidLookup(t)){var u=a.extractFromKey(e,s),c=u.key;n=c;var l=u.namespaces;a.options.fallbackNS&&(l=l.concat(a.options.fallbackNS));var f=void 0!==s.count&&"string"!=typeof s.count,p=f&&!s.ordinal&&0===s.count&&a.pluralResolver.shouldUseIntlApi(),g=void 0!==s.context&&("string"==typeof s.context||"number"==typeof s.context)&&""!==s.context,h=s.lngs?s.lngs:a.languageUtils.toResolveHierarchy(s.lng||a.language,s.fallbackLng);l.forEach((function(e){a.isValidLookup(t)||(i=e,!U["".concat(h[0],"-").concat(e)]&&a.utils&&a.utils.hasLoadedNamespace&&!a.utils.hasLoadedNamespace(i)&&(U["".concat(h[0],"-").concat(e)]=!0,a.logger.warn('key "'.concat(n,'" for languages "').concat(h.join(", "),'" won\'t get resolved as namespace "').concat(i,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),h.forEach((function(n){if(!a.isValidLookup(t)){o=n;var i,u=[c];if(a.i18nFormat&&a.i18nFormat.addLookupKeys)a.i18nFormat.addLookupKeys(u,c,n,e,s);else{var l;f&&(l=a.pluralResolver.getSuffix(n,s.count,s));var h="".concat(a.options.pluralSeparator,"zero");if(f&&(u.push(c+l),p&&u.push(c+h)),g){var d="".concat(c).concat(a.options.contextSeparator).concat(s.context);u.push(d),f&&(u.push(d+l),p&&u.push(d+h))}}for(;i=u.pop();)a.isValidLookup(t)||(r=i,t=a.getResource(n,e,i,s))}})))}))}})),{res:t,usedKey:n,exactUsedKey:r,usedLng:o,usedNS:i}}},{key:"isValidLookup",value:function(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}}],[{key:"hasDefaultValue",value:function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&"defaultValue"===t.substring(0,"defaultValue".length)&&void 0!==e[t])return!0;return!1}}]),a}(d);function B(e){return e.charAt(0).toUpperCase()+e.slice(1)}var M=function(){function e(n){t(this,e),this.options=n,this.supportedLngs=this.options.supportedLngs||!1,this.logger=h.create("languageUtils")}return o(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return null;var t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],n=e.split("-");return this.options.lowerCaseLng?n=n.map((function(e){return e.toLowerCase()})):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=B(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=B(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=B(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,n=this;return e?(e.forEach((function(e){if(!t){var r=n.formatLanguageCode(e);n.options.supportedLngs&&!n.isSupportedCode(r)||(t=r)}})),!t&&this.options.supportedLngs&&e.forEach((function(e){if(!t){var r=n.getLanguagePartFromCode(e);if(n.isSupportedCode(r))return t=r;t=n.options.supportedLngs.find((function(e){return e===r?e:e.indexOf("-")<0&&r.indexOf("-")<0?void 0:0===e.indexOf(r)?e:void 0}))}})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}},{key:"toResolveHierarchy",value:function(e,t){var n=this,r=this.getFallbackCodes(t||this.options.fallbackLng||[],e),o=[],i=function(e){e&&(n.isSupportedCode(e)?o.push(e):n.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):"string"==typeof e&&i(this.formatLanguageCode(e)),r.forEach((function(e){o.indexOf(e)<0&&i(n.formatLanguageCode(e))})),o}}]),e}(),H=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],J={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}},z=["v1","v2","v3"],_={zero:0,one:1,two:2,few:3,many:4,other:5};function q(){var e={};return H.forEach((function(t){t.lngs.forEach((function(n){e[n]={numbers:t.nr,plurals:J[t.fc]}}))})),e}var $=function(){function e(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t(this,e),this.languageUtils=n,this.options=r,this.logger=h.create("pluralResolver"),this.options.compatibilityJSON&&"v4"!==this.options.compatibilityJSON||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=q()}return o(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(e,{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.getRule(e,t);return this.shouldUseIntlApi()?n&&n.resolvedOptions().pluralCategories.length>1:n&&n.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,n).map((function(e){return"".concat(t).concat(e)}))}},{key:"getSuffixes",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.getRule(e,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((function(e,t){return _[e]-_[t]})).map((function(e){return"".concat(t.options.prepend).concat(e)})):r.numbers.map((function(r){return t.getSuffix(e,r,n)})):[]}},{key:"getSuffix",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRule(e,n);return r?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(r.select(t)):this.getSuffixRetroCompatible(r,t):(this.logger.warn("no plural rule found for: ".concat(e)),"")}},{key:"getSuffixRetroCompatible",value:function(e,t){var n=this,r=e.noAbs?e.plurals(t):e.plurals(Math.abs(t)),o=e.numbers[r];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===o?o="plural":1===o&&(o=""));var i=function(){return n.options.prepend&&o.toString()?n.options.prepend+o.toString():o.toString()};return"v1"===this.options.compatibilityJSON?1===o?"":"number"==typeof o?"_plural_".concat(o.toString()):i():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?i():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}},{key:"shouldUseIntlApi",value:function(){return!z.includes(this.options.compatibilityJSON)}}]),e}();function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:".",o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=x(e,t,n);return!i&&o&&"string"==typeof n&&void 0===(i=N(e,n,r))&&(i=N(t,n,r)),i}var Q=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t(this,e),this.logger=h.create("interpolator"),this.options=n,this.format=n.interpolation&&n.interpolation.format||function(e){return e},this.init(n)}return o(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:P,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?S(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?S(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?S(t.nestingPrefix):t.nestingPrefixEscaped||S("$t("),this.nestingSuffix=t.nestingSuffix?S(t.nestingSuffix):t.nestingSuffixEscaped||S(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(t,"g");var n="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(n,"g")}},{key:"interpolate",value:function(e,t,n,r){var o,i,a,s=this,u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function c(e){return e.replace(/\$/g,"$$$$")}var l=function(e){if(e.indexOf(s.formatSeparator)<0){var o=G(t,u,e,s.options.keySeparator,s.options.ignoreJSONStructure);return s.alwaysFormat?s.format(o,void 0,n,Y(Y(Y({},r),t),{},{interpolationkey:e})):o}var i=e.split(s.formatSeparator),a=i.shift().trim(),c=i.join(s.formatSeparator).trim();return s.format(G(t,u,a,s.options.keySeparator,s.options.ignoreJSONStructure),c,n,Y(Y(Y({},r),t),{},{interpolationkey:a}))};this.resetRegExp();var f=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,p=r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return c(e)}},{regex:this.regexp,safeValue:function(e){return s.escapeValue?c(s.escape(e)):c(e)}}].forEach((function(t){for(a=0;o=t.regex.exec(e);){var n=o[1].trim();if(void 0===(i=l(n)))if("function"==typeof f){var u=f(e,o,r);i="string"==typeof u?u:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))i="";else{if(p){i=o[0];continue}s.logger.warn("missed to pass in variable ".concat(n," for interpolating ").concat(e)),i=""}else"string"==typeof i||s.useRawValueToEscape||(i=y(i));var c=t.safeValue(i);if(e=e.replace(o[0],c),p?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,++a>=s.maxReplaces)break}})),e}},{key:"nest",value:function(e,t){var n,r,o,i=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function s(e,t){var n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;var r=e.split(new RegExp("".concat(n,"[ ]*{"))),i="{".concat(r[1]);e=r[0];var a=(i=this.interpolate(i,o)).match(/'/g),s=i.match(/"/g);(a&&a.length%2==0&&!s||s.length%2!=0)&&(i=i.replace(/'/g,'"'));try{o=JSON.parse(i),t&&(o=Y(Y({},t),o))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(n).concat(i)}return delete o.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){var u=[];(o=(o=Y({},a)).replace&&"string"!=typeof o.replace?o.replace:o).applyPostProcessor=!1,delete o.defaultValue;var c=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){var l=n[1].split(this.formatSeparator).map((function(e){return e.trim()}));n[1]=l.shift(),u=l,c=!0}if((r=t(s.call(this,n[1].trim(),o),o))&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=y(r)),r||(this.logger.warn("missed to resolve ".concat(n[1]," for nesting ").concat(e)),r=""),c&&(r=u.reduce((function(e,t){return i.format(e,t,a.lng,Y(Y({},a),{},{interpolationkey:n[1].trim()}))}),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}]),e}();function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1){var r=e.split("(");t=r[0].toLowerCase().trim();var o=r[1].substring(0,r[1].length-1);if("currency"===t&&o.indexOf(":")<0)n.currency||(n.currency=o.trim());else if("relativetime"===t&&o.indexOf(":")<0)n.range||(n.range=o.trim());else{o.split(";").forEach((function(e){if(e){var t=Z(e.split(":")),r=t[0],o=t.slice(1).join(":").trim().replace(/^'+|'+$/g,"");n[r.trim()]||(n[r.trim()]=o),"false"===o&&(n[r.trim()]=!1),"true"===o&&(n[r.trim()]=!0),isNaN(o)||(n[r.trim()]=parseInt(o,10))}}))}}return{formatName:t,formatOptions:n}}function re(e){var t={};return function(n,r,o){var i=r+JSON.stringify(o),a=t[i];return a||(a=e(r,o),t[i]=a),a(n)}}var oe=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t(this,e),this.logger=h.create("formatter"),this.options=n,this.formats={number:re((function(e,t){var n=new Intl.NumberFormat(e,te({},t));return function(e){return n.format(e)}})),currency:re((function(e,t){var n=new Intl.NumberFormat(e,te(te({},t),{},{style:"currency"}));return function(e){return n.format(e)}})),datetime:re((function(e,t){var n=new Intl.DateTimeFormat(e,te({},t));return function(e){return n.format(e)}})),relativetime:re((function(e,t){var n=new Intl.RelativeTimeFormat(e,te({},t));return function(e){return n.format(e,t.range||"day")}})),list:re((function(e,t){var n=new Intl.ListFormat(e,te({},t));return function(e){return n.format(e)}}))},this.init(n)}return o(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},n=t.interpolation;this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||","}},{key:"add",value:function(e,t){this.formats[e.toLowerCase().trim()]=t}},{key:"addCached",value:function(e,t){this.formats[e.toLowerCase().trim()]=re(t)}},{key:"format",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=t.split(this.formatSeparator),a=i.reduce((function(e,t){var i=ne(t),a=i.formatName,s=i.formatOptions;if(r.formats[a]){var u=e;try{var c=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},l=c.locale||c.lng||o.locale||o.lng||n;u=r.formats[a](e,l,te(te(te({},s),o),c))}catch(e){r.logger.warn(e)}return u}return r.logger.warn("there was no format function for ".concat(a)),e}),e);return a}}]),e}();function ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ae(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:{};return t(this,r),s=n.call(this),L&&d.call(i(s)),s.backend=e,s.store=o,s.services=a,s.languageUtils=a.languageUtils,s.options=u,s.logger=h.create("backendConnector"),s.waitingReads=[],s.maxParallelReads=u.maxParallelReads||10,s.readingCalls=0,s.maxRetries=u.maxRetries>=0?u.maxRetries:5,s.retryTimeout=u.retryTimeout>=1?u.retryTimeout:350,s.state={},s.queue=[],s.backend&&s.backend.init&&s.backend.init(a,u.backend,u),s}return o(r,[{key:"queueLoad",value:function(e,t,n,r){var o=this,i={},a={},s={},u={};return e.forEach((function(e){var r=!0;t.forEach((function(t){var s="".concat(e,"|").concat(t);!n.reload&&o.store.hasResourceBundle(e,t)?o.state[s]=2:o.state[s]<0||(1===o.state[s]?void 0===a[s]&&(a[s]=!0):(o.state[s]=1,r=!1,void 0===a[s]&&(a[s]=!0),void 0===i[s]&&(i[s]=!0),void 0===u[t]&&(u[t]=!0)))})),r||(s[e]=!0)})),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(u)}}},{key:"loaded",value:function(e,t,n){var r=e.split("|"),o=r[0],i=r[1];t&&this.emit("failedLoading",o,i,t),n&&this.store.addResourceBundle(o,i,n),this.state[e]=t?-1:2;var a={};this.queue.forEach((function(n){var r,s,u,c,l,f;r=n.loaded,s=i,c=b(r,[o],Object),l=c.obj,f=c.k,l[f]=l[f]||[],u&&(l[f]=l[f].concat(s)),u||l[f].push(s),function(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}(n,e),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach((function(e){a[e]||(a[e]={});var t=n.loaded[e];t.length&&t.forEach((function(t){void 0===a[e][t]&&(a[e][t]=!0)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",a),this.queue=this.queue.filter((function(e){return!e.done}))}},{key:"read",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads)this.waitingReads.push({lng:e,ns:t,fcName:n,tried:o,wait:i,callback:a});else{this.readingCalls++;var s=function(s,u){if(r.readingCalls--,r.waitingReads.length>0){var c=r.waitingReads.shift();r.read(c.lng,c.ns,c.fcName,c.tried,c.wait,c.callback)}s&&u&&o2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var i=this.queueLoad(e,t,r,o);if(!i.toLoad.length)return i.pending.length||o(),null;i.toLoad.forEach((function(e){n.loadOne(e)}))}},{key:"load",value:function(e,t,n){this.prepareLoading(e,t,{},n)}},{key:"reload",value:function(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}},{key:"loadOne",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=e.split("|"),o=r[0],i=r[1];this.read(o,i,"read",void 0,void 0,(function(r,a){r&&t.logger.warn("".concat(n,"loading namespace ").concat(i," for language ").concat(o," failed"),r),!r&&a&&t.logger.log("".concat(n,"loaded namespace ").concat(i," for language ").concat(o),a),t.loaded(e,r,a)}))}},{key:"saveMissing",value:function(e,t,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn('did not save key "'.concat(n,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=n&&""!==n){if(this.backend&&this.backend.create){var s=ae(ae({},i),{},{isUpdate:o}),u=this.backend.create.bind(this.backend);if(u.length<6)try{var c;(c=5===u.length?u(e,t,n,r,s):u(e,t,n,r))&&"function"==typeof c.then?c.then((function(e){return a(null,e)})).catch(a):a(null,c)}catch(e){a(e)}else u(e,t,n,r,a,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}]),r}(d);function ce(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var n={};if("object"===e(t[1])&&(n=t[1]),"string"==typeof t[1]&&(n.defaultValue=t[1]),"string"==typeof t[2]&&(n.tDescription=t[2]),"object"===e(t[2])||"object"===e(t[3])){var r=t[3]||t[2];Object.keys(r).forEach((function(e){n[e]=r[e]}))}return n},interpolation:{escapeValue:!0,format:function(e,t,n,r){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function le(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pe(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(t(this,a),e=r.call(this),L&&d.call(i(e)),e.options=le(n),e.services={},e.logger=h,e.modules={external:[]},de(i(e)),o&&!e.isInitialized&&!n.isClone){if(!e.options.initImmediate)return e.init(n,o),u(e,i(e));setTimeout((function(){e.init(n,o)}),0)}return e}return o(a,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));var r=ce();function o(e){return e?"function"==typeof e?new e:e:null}if(this.options=pe(pe(pe({},r),this.options),le(t)),"v1"!==this.options.compatibilityAPI&&(this.options.interpolation=pe(pe({},r.interpolation),this.options.interpolation)),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){var i;this.modules.logger?h.init(o(this.modules.logger),this.options):h.init(null,this.options),this.modules.formatter?i=this.modules.formatter:"undefined"!=typeof Intl&&(i=oe);var a=new M(this.options);this.store=new I(this.options.resources,this.options);var s=this.services;s.logger=h,s.resourceStore=this.store,s.languageUtils=a,s.pluralResolver=new $(a,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!i||this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format||(s.formatter=o(i),s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new Q(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new ue(o(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o1?n-1:0),o=1;o0&&"dev"!==u[0]&&(this.options.lng=u[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");var c=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];c.forEach((function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments)}}));var l=["addResource","addResources","addResourceBundle","removeResourceBundle"];l.forEach((function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments),e}}));var f=v(),p=function(){var t=function(t,r){e.isInitialized&&!e.initializedStoreOnce&&e.logger.warn("init: i18next is already initialized. You should call init just once!"),e.isInitialized=!0,e.options.isClone||e.logger.log("initialized",e.options),e.emit("initialized",e.options),f.resolve(r),n(t,r)};if(e.languages&&"v1"!==e.options.compatibilityAPI&&!e.isInitialized)return t(null,e.t.bind(e));e.changeLanguage(e.options.lng,t)};return this.options.resources||!this.options.initImmediate?p():setTimeout(p,0),f}},{key:"loadResources",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:he,r=n,o="string"==typeof e?e:this.language;if("function"==typeof e&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(o&&"cimode"===o.toLowerCase())return r();var i=[],a=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach((function(e){i.indexOf(e)<0&&i.push(e)}))};if(o)a(o);else{var s=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);s.forEach((function(e){return a(e)}))}this.options.preload&&this.options.preload.forEach((function(e){return a(e)})),this.services.backendConnector.load(i,this.options.ns,(function(e){e||t.resolvedLanguage||!t.language||t.setResolvedLanguage(t.language),r(e)}))}else r(null)}},{key:"reloadResources",value:function(e,t,n){var r=v();return e||(e=this.languages),t||(t=this.options.ns),n||(n=he),this.services.backendConnector.reload(e,t,(function(e){r.resolve(),n(e)})),r}},{key:"use",value:function(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&F.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"setResolvedLanguage",value:function(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(var t=0;t-1)&&this.store.hasLanguageSomeTranslations(n)){this.resolvedLanguage=n;break}}}},{key:"changeLanguage",value:function(e,t){var n=this;this.isLanguageChangingTo=e;var r=v();this.emit("languageChanging",e);var o=function(e){n.language=e,n.languages=n.services.languageUtils.toResolveHierarchy(e),n.resolvedLanguage=void 0,n.setResolvedLanguage(e)},i=function(i){e||i||!n.services.languageDetector||(i=[]);var a="string"==typeof i?i:n.services.languageUtils.getBestMatchFromCodes(i);a&&(n.language||o(a),n.translator.language||n.translator.changeLanguage(a),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage&&n.services.languageDetector.cacheUserLanguage(a)),n.loadResources(a,(function(e){!function(e,i){i?(o(i),n.translator.changeLanguage(i),n.isLanguageChangingTo=void 0,n.emit("languageChanged",i),n.logger.log("languageChanged",i)):n.isLanguageChangingTo=void 0,r.resolve((function(){return n.t.apply(n,arguments)})),t&&t(e,(function(){return n.t.apply(n,arguments)}))}(e,a)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(i):this.services.languageDetector.detect(i):i(e):i(this.services.languageDetector.detect()),r}},{key:"getFixedT",value:function(t,n,r){var o=this,i=function t(n,i){var a;if("object"!==e(i)){for(var s=arguments.length,u=new Array(s>2?s-2:0),c=2;c1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var r=n.lng||this.resolvedLanguage||this.languages[0],o=!!this.options&&this.options.fallbackLng,i=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;var a=function(e,n){var r=t.services.backendConnector.state["".concat(e,"|").concat(n)];return-1===r||2===r};if(n.precheck){var s=n.precheck(this,a);if(void 0!==s)return s}return!!this.hasResourceBundle(r,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!a(r,e)||o&&!a(i,e)))}},{key:"loadNamespaces",value:function(e,t){var n=this,r=v();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((function(e){n.options.ns.indexOf(e)<0&&n.options.ns.push(e)})),this.loadResources((function(e){r.resolve(),t&&t(e)})),r):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var n=v();"string"==typeof e&&(e=[e]);var r=this.options.preload||[],o=e.filter((function(e){return r.indexOf(e)<0}));return o.length?(this.options.preload=r.concat(o),this.loadResources((function(e){n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";var t=this.services&&this.services.languageUtils||new M(ce());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:he,r=pe(pe(pe({},this.options),t),{isClone:!0}),o=new a(r);void 0===t.debug&&void 0===t.prefix||(o.logger=o.logger.clone(t));var i=["store","services","language"];return i.forEach((function(t){o[t]=e[t]})),o.services=pe({},this.services),o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o.translator=new K(o.services,o.options),o.translator.on("*",(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new ve(e,t)}));var ye=ve.createInstance();return ye.createInstance=ve.createInstance,ye})); diff --git a/node_modules/astro-i18next/node_modules/i18next/index.d.ts b/node_modules/astro-i18next/node_modules/i18next/index.d.ts new file mode 100644 index 00000000..1a65a85c --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/index.d.ts @@ -0,0 +1,1509 @@ +// Helpers +type MergeBy = Omit & K; +export type StringMap = { [key: string]: any }; +type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void + ? I + : never; +type LastOf = UnionToIntersection T : never> extends () => infer R + ? R + : never; + +/** + * This interface can be augmented by users to add types to `i18next` default TypeOptions. + */ +export interface CustomTypeOptions {} + +/** + * This interface can be augmented by users to add types to `i18next` default PluginOptions. + * + * Usage: + * ```ts + * // react-i18next.d.ts + * import 'react-i18next'; + * declare module 'react-i18next' { + * interface CustomTypeOptions { + * defaultNS: 'custom'; + * returnNull: false; + * returnEmptyString: false; + * nsSeparator: ':'; + * keySeparator: '.'; + * jsonFormat: 'v4'; + * allowObjectInHTMLChildren: false; + * resources: { + * custom: { + * foo: 'foo'; + * }; + * }; + * } + * } + * ``` + */ +export interface CustomPluginOptions {} + +export type TypeOptions = MergeBy< + { + /** + * Allows null values as valid translation + */ + returnNull: true; + + /** + * Allows empty string as valid translation + */ + returnEmptyString: true; + + /** + * Char to separate keys + */ + keySeparator: '.'; + + /** + * Char to split namespace from key + */ + nsSeparator: ':'; + + /** + * Default namespace used if not passed to translation function + */ + defaultNS: 'translation'; + + /** + * Json Format Version - V4 allows plural suffixes + */ + jsonFormat: 'v4'; + + /** + * Resources to initialize with + */ + resources: object; + + /** + * Flag that allows HTML elements to receive objects. This is only useful for React applications + * where you pass objects to HTML elements so they can be replaced to their respective interpolation + * values (mostly with Trans component) + */ + allowObjectInHTMLChildren: false; + }, + CustomTypeOptions +>; + +export type PluginOptions = MergeBy< + { + /** + * Options for language detection - check documentation of plugin + * @default undefined + */ + detection?: object; + + /** + * Options for backend - check documentation of plugin + * @default undefined + */ + backend?: T; + + /** + * Options for cache layer - check documentation of plugin + * @default undefined + */ + cache?: object; + + /** + * Options for i18n message format - check documentation of plugin + * @default undefined + */ + i18nFormat?: object; + }, + CustomPluginOptions +>; + +export type FormatFunction = ( + value: any, + format?: string, + lng?: string, + options?: InterpolationOptions & StringMap, +) => string; + +export interface InterpolationOptions { + /** + * Format function see formatting for details + * @default noop + */ + format?: FormatFunction; + /** + * Used to separate format from interpolation value + * @default ',' + */ + formatSeparator?: string; + /** + * Escape function + * @default str => str + */ + escape?(str: string): string; + + /** + * Always format interpolated values. + * @default false + */ + alwaysFormat?: boolean; + /** + * Escape passed in values to avoid xss injection + * @default true + */ + escapeValue?: boolean; + /** + * If true, then value passed into escape function is not casted to string, use with custom escape function that does its own type check + * @default false + */ + useRawValueToEscape?: boolean; + /** + * Prefix for interpolation + * @default '{{' + */ + prefix?: string; + /** + * Suffix for interpolation + * @default '}}' + */ + suffix?: string; + /** + * Escaped prefix for interpolation (regexSafe) + * @default undefined + */ + prefixEscaped?: string; + /** + * Escaped suffix for interpolation (regexSafe) + * @default undefined + */ + suffixEscaped?: string; + /** + * Suffix to unescaped mode + * @default undefined + */ + unescapeSuffix?: string; + /** + * Prefix to unescaped mode + * @default '-' + */ + unescapePrefix?: string; + /** + * Prefix for nesting + * @default '$t(' + */ + nestingPrefix?: string; + /** + * Suffix for nesting + * @default ')' + */ + nestingSuffix?: string; + /** + * Escaped prefix for nesting (regexSafe) + * @default undefined + */ + nestingPrefixEscaped?: string; + /** + * Escaped suffix for nesting (regexSafe) + * @default undefined + */ + nestingSuffixEscaped?: string; + /** + * Separates options from key + * @default ',' + */ + nestingOptionsSeparator?: string; + /** + * Global variables to use in interpolation replacements + * @default undefined + */ + + defaultVariables?: { [index: string]: any }; + /** + * After how many interpolation runs to break out before throwing a stack overflow + * @default 1000 + */ + maxReplaces?: number; + + /** + * If true, it will skip to interpolate the variables + * @default true + */ + skipOnVariables?: boolean; +} + +export interface FallbackLngObjList { + [language: string]: readonly string[]; +} + +export type FallbackLng = + | string + | readonly string[] + | FallbackLngObjList + | ((code: string) => string | readonly string[] | FallbackLngObjList); + +export interface ReactOptions { + /** + * Set it to fallback to let passed namespaces to translated hoc act as fallbacks + * @default 'default' + */ + nsMode?: 'default' | 'fallback'; + /** + * Set it to the default parent element created by the Trans component. + * @default 'div' + */ + defaultTransParent?: string; + /** + * Set which events trigger a re-render, can be set to false or string of events + * @default 'languageChanged' + */ + bindI18n?: string | false; + /** + * Set which events on store trigger a re-render, can be set to false or string of events + * @default '' + */ + bindI18nStore?: string | false; + /** + * Set fallback value for Trans components without children + * @default undefined + */ + transEmptyNodeValue?: string; + /** + * Set it to false if you do not want to use Suspense + * @default true + */ + useSuspense?: boolean; + /** + * Function to generate an i18nKey from the defaultValue (or Trans children) + * when no key is provided. + * By default, the defaultValue (Trans text) itself is used as the key. + * If you want to require keys for all translations, supply a function + * that always throws an error. + * @default undefined + */ + hashTransKey?(defaultValue: TOptionsBase['defaultValue']): TOptionsBase['defaultValue']; + /** + * Convert eg.
found in translations to a react component of type br + * @default true + */ + transSupportBasicHtmlNodes?: boolean; + /** + * Which nodes not to convert in defaultValue generation in the Trans component. + * @default ['br', 'strong', 'i', 'p'] + */ + transKeepBasicHtmlNodesFor?: readonly string[]; + /** + * Wrap text nodes in a user-specified element. + * @default '' + */ + transWrapTextNodes?: string; + /** + * Optional keyPrefix that will be automatically applied to returned t function in useTranslation for example. + * @default undefined + */ + keyPrefix?: string; + /** + * Unescape function + * by default it unescapes some basic html entities + */ + unescape?(str: string): string; +} + +export interface InitOptions extends PluginOptions { + /** + * Logs info level to console output. Helps finding issues with loading not working. + * @default false + */ + debug?: boolean; + + /** + * Resources to initialize with (if not using loading or not appending using addResourceBundle) + * @default undefined + */ + resources?: Resource; + + /** + * Allow initializing with bundled resources while using a backend to load non bundled ones. + * @default false + */ + partialBundledLanguages?: boolean; + + /** + * Language to use (overrides language detection) + * @default undefined + */ + lng?: string; + + /** + * Language to use if translations in user language are not available. + * @default 'dev' + */ + fallbackLng?: false | FallbackLng; + + /** + * Array of allowed languages + * @default false + */ + supportedLngs?: false | readonly string[]; + + /** + * If true will pass eg. en-US if finding en in supportedLngs + * @default false + */ + nonExplicitSupportedLngs?: boolean; + + /** + * Language codes to lookup, given set language is + * 'en-US': 'all' --> ['en-US', 'en', 'dev'], + * 'currentOnly' --> 'en-US', + * 'languageOnly' --> 'en' + * @default 'all' + */ + load?: 'all' | 'currentOnly' | 'languageOnly'; + + /** + * Array of languages to preload. Important on server-side to assert translations are loaded before rendering views. + * @default false + */ + preload?: false | readonly string[]; + + /** + * Language will be lowercased eg. en-US --> en-us + * @default false + */ + lowerCaseLng?: boolean; + + /** + * Language will be lowercased EN --> en while leaving full locales like en-US + * @default false + */ + cleanCode?: boolean; + + /** + * String or array of namespaces to load + * @default 'translation' + */ + ns?: string | readonly string[]; + + /** + * Default namespace used if not passed to translation function + * @default 'translation' + */ + defaultNS?: string | false | readonly string[]; + + /** + * String or array of namespaces to lookup key if not found in given namespace. + * @default false + */ + fallbackNS?: false | string | readonly string[]; + + /** + * Calls save missing key function on backend if key not found. + * @default false + */ + saveMissing?: boolean; + + /** + * Calls save missing key function on backend if key not found also for plural forms. + * @default false + */ + saveMissingPlurals?: boolean; + + /** + * Experimental: enable to update default values using the saveMissing + * (Works only if defaultValue different from translated value. + * Only useful on initial development or when keeping code as source of truth not changing values outside of code. + * Only supported if backend supports it already) + * @default false + */ + updateMissing?: boolean; + + /** + * @default 'fallback' + */ + saveMissingTo?: 'current' | 'all' | 'fallback'; + + /** + * Used to not fallback to the key as default value, when using saveMissing functionality. + * i.e. when using with i18next-http-backend this will result in having a key with an empty string value. + * @default false + */ + missingKeyNoValueFallbackToKey?: boolean; + + /** + * Used for custom missing key handling (needs saveMissing set to true!) + * @default false + */ + missingKeyHandler?: + | false + | (( + lngs: readonly string[], + ns: string, + key: string, + fallbackValue: string, + updateMissing: boolean, + options: any, + ) => void); + + /** + * Receives a key that was not found in `t()` and returns a value, that will be returned by `t()` + * @default noop + */ + parseMissingKeyHandler?(key: string, defaultValue?: string): any; + + /** + * Appends namespace to missing key + * @default false + */ + appendNamespaceToMissingKey?: boolean; + + /** + * Gets called in case a interpolation value is undefined. This method will not be called if the value is empty string or null + * @default noop + */ + missingInterpolationHandler?: (text: string, value: any, options: InitOptions) => any; + + /** + * Will use 'plural' as suffix for languages only having 1 plural form, setting it to false will suffix all with numbers + * @default true + */ + simplifyPluralSuffix?: boolean; + + /** + * String or array of postProcessors to apply per default + * @default false + */ + postProcess?: false | string | readonly string[]; + + /** + * passthrough the resolved object including 'usedNS', 'usedLang' etc into options object of postprocessors as 'i18nResolved' property + * @default false + */ + postProcessPassResolved?: boolean; + + /** + * Allows null values as valid translation + * @default true + */ + returnNull?: boolean; + + /** + * Allows empty string as valid translation + * @default true + */ + returnEmptyString?: boolean; + + /** + * Allows objects as valid translation result + * @default false + */ + returnObjects?: boolean; + + /** + * Returns an object that includes information about the used language, namespace, key and value + */ + returnDetails?: boolean; + + /** + * Gets called if object was passed in as key but returnObjects was set to false + * @default noop + */ + returnedObjectHandler?(key: string, value: string, options: any): void; + + /** + * Char, eg. '\n' that arrays will be joined by + * @default false + */ + joinArrays?: false | string; + + /** + * Sets defaultValue + * @default args => ({ defaultValue: args[1] }) + */ + overloadTranslationOptionHandler?(args: string[]): TOptions; + + /** + * @see https://www.i18next.com/interpolation.html + */ + interpolation?: InterpolationOptions; + + /** + * Options for react - check documentation of plugin + * @default undefined + */ + react?: ReactOptions; + + /** + * Triggers resource loading in init function inside a setTimeout (default async behaviour). + * Set it to false if your backend loads resources sync - that way calling i18next.t after + * init is possible without relaying on the init callback. + * @default true + */ + initImmediate?: boolean; + + /** + * Char to separate keys + * @default '.' + */ + keySeparator?: false | string; + + /** + * Char to split namespace from key + * @default ':' + */ + nsSeparator?: false | string; + + /** + * Char to split plural from key + * @default '_' + */ + pluralSeparator?: string; + + /** + * Char to split context from key + * @default '_' + */ + contextSeparator?: string; + + /** + * Prefixes the namespace to the returned key when using `cimode` + * @default false + */ + appendNamespaceToCIMode?: boolean; + + /** + * Compatibility JSON version + * @default 'v4' + */ + compatibilityJSON?: 'v1' | 'v2' | 'v3' | 'v4'; + + /** + * Options for https://github.com/locize/locize-lastused + * @default undefined + */ + locizeLastUsed?: { + /** + * The id of your locize project + */ + projectId: string; + + /** + * An api key if you want to send missing keys + */ + apiKey?: string; + + /** + * The reference language of your project + * @default 'en' + */ + referenceLng?: string; + + /** + * Version + * @default 'latest' + */ + version?: string; + + /** + * Debounce interval to send data in milliseconds + * @default 90000 + */ + debounceSubmit?: number; + + /** + * Hostnames that are allowed to send last used data. + * Please keep those to your local system, staging, test servers (not production) + * @default ['localhost'] + */ + allowedHosts?: readonly string[]; + }; + + /** + * Automatically lookup for a flat key if a nested key is not found an vice-versa + * @default true + */ + ignoreJSONStructure?: boolean; + + /** + * Limit parallelism of calls to backend + * This is needed to prevent trying to open thousands of + * sockets or file descriptors, which can cause failures + * and actually make the entire process take longer. + * @default 10 + */ + maxParallelReads?: number; + + /** + * The maximum number of retries to perform. + * Note that retries are only performed when a request has no response + * and throws an error. + * The default value is used if value is set below 0. + * @default 5 + */ + maxRetries?: number; + + /** + * Set how long to wait, in milliseconds, betweeen retries of failed requests. + * This number is compounded by a factor of 2 for subsequent retry. + * The default value is used if value is set below 1ms. + * @default 350 + */ + retryTimeout?: number; +} + +export interface TOptionsBase { + /** + * Default value to return if a translation was not found + */ + defaultValue?: any; + /** + * Count value used for plurals + */ + count?: number; + /** + * Used for contexts (eg. male\female) + */ + context?: any; + /** + * Object with vars for interpolation - or put them directly in options + */ + replace?: any; + /** + * Override language to use + */ + lng?: string; + /** + * Override languages to use + */ + lngs?: readonly string[]; + /** + * Override language to lookup key if not found see fallbacks for details + */ + fallbackLng?: FallbackLng; + /** + * Override namespaces (string or array) + */ + ns?: string | readonly string[]; + /** + * Override char to separate keys + */ + keySeparator?: false | string; + /** + * Override char to split namespace from key + */ + nsSeparator?: false | string; + /** + * Accessing an object not a translation string (can be set globally too) + */ + returnObjects?: boolean; + /** + * Returns an object that includes information about the used language, namespace, key and value + */ + returnDetails?: boolean; + /** + * Char, eg. '\n' that arrays will be joined by (can be set globally too) + */ + joinArrays?: string; + /** + * String or array of postProcessors to apply see interval plurals as a sample + */ + postProcess?: string | readonly string[]; + /** + * Override interpolation options + */ + interpolation?: InterpolationOptions; +} + +/** + * Options that allow open ended values for interpolation unless type is provided. + */ +export type TOptions = TOptionsBase & + TInterpolationMap; + +type FallbackOrNS = [T] extends [never] ? F : T; + +type Resources = TypeOptions['resources']; +type DefaultNamespace = TypeOptions['defaultNS']; + +export type Namespace> = T | T[]; + +type PluralSuffix = 'zero' | 'one' | 'two' | 'few' | 'many' | 'other'; + +type WithOrWithoutPlural = TypeOptions['jsonFormat'] extends 'v4' + ? K extends `${infer B}_${PluralSuffix}` + ? B | K + : K + : K; + +// Normalize single namespace +export type KeysWithSeparator = `${K1 & + string}${S}${K2 & string}`; +type KeysWithSeparator2 = KeysWithSeparator>; +type Normalize2 = K extends keyof T + ? T[K] extends StringMap + ? T[K] extends readonly any[] + ? + | KeysWithSeparator2> + | KeysWithSeparator2> + : + | KeysWithSeparator> + | KeysWithSeparator> + : never + : never; +type Normalize = WithOrWithoutPlural | Normalize2; + +// Normalize multiple namespaces +type KeyWithNSSeparator = `${N & + string}${S}${K & string}`; +type NormalizeMulti> = L extends U + ? KeyWithNSSeparator> | NormalizeMulti> + : never; + +// Normalize single namespace with key prefix +type NormalizeWithKeyPrefix< + T, + K, + S extends string = TypeOptions['keySeparator'], +> = K extends `${infer K1}${S}${infer K2}` + ? K1 extends keyof T + ? NormalizeWithKeyPrefix + : never + : K extends keyof T + ? T[K] extends string + ? never + : Normalize + : never; + +export type KeyPrefix = + | (N extends keyof Resources ? Normalize : string) + | undefined; + +export type TFuncKey< + N extends Namespace = DefaultNamespace, + TKPrefix = undefined, + T = Resources, +> = N extends (keyof T)[] | Readonly<(keyof T)[]> + ? NormalizeMulti + : N extends keyof T + ? TKPrefix extends undefined + ? Normalize + : NormalizeWithKeyPrefix + : string; + +export interface WithT { + // Expose parameterized t in the i18next interface hierarchy + t: TFunction; +} + +export type TFunctionDetailedResult = { + /** + * The plain used key + */ + usedKey: string; + /** + * The translation result. + */ + res: T; + /** + * The key with context / plural + */ + exactUsedKey: string; + /** + * The used language for this translation. + */ + usedLng: string; + /** + * The used namespace for this translation. + */ + usedNS: string; +}; + +type TypeOptionsFallback = Option extends false + ? TranslationValue extends MatchingValue + ? string + : TranslationValue + : TranslationValue; + +/** + * Checks if user has enabled `returnEmptyString` and `returnNull` options to retrieve correct values. + */ +interface CustomTypeParameters { + returnNull?: boolean; + returnEmptyString?: boolean; +} +export type NormalizeByTypeOptions< + TranslationValue, + Options extends CustomTypeParameters = TypeOptions, + R = TypeOptionsFallback, +> = TypeOptionsFallback; + +type StringIfPlural = TypeOptions['jsonFormat'] extends 'v4' + ? T extends `${string}_${PluralSuffix}` + ? string + : never + : never; + +export type NormalizeReturn< + T, + V, + S extends string | false = TypeOptions['keySeparator'], +> = V extends keyof T + ? NormalizeByTypeOptions + : S extends false + ? V + : V extends `${infer K}${S}${infer R}` + ? K extends keyof T + ? NormalizeReturn + : never + : StringIfPlural; + +type NormalizeMultiReturn = V extends `${infer N}:${infer R}` + ? N extends keyof T + ? NormalizeReturn + : never + : never; + +export type DefaultTFuncReturn = string | (TypeOptions['returnNull'] extends true ? null : never); + +export type DefaultTFuncReturnWithObject = DefaultTFuncReturn | object | Array; + +export type TFuncReturn< + N, + TKeys, + TDefaultResult, + TKPrefix = undefined, + T = Resources, +> = N extends (keyof T)[] + ? NormalizeMultiReturn + : N extends keyof T + ? TKPrefix extends undefined + ? NormalizeReturn + : NormalizeReturn> + : TDefaultResult; + +export interface TFunction< + N extends Namespace = DefaultNamespace, + TKPrefix = undefined, + ActualNS extends Namespace = N extends null ? DefaultNamespace : N, +> { + // just key without options etc... + < + TKeys extends TFuncKey | TemplateStringsArray extends infer A ? A : never, + TDefaultResult extends DefaultTFuncReturn = string, + TInterpolationMap extends object = StringMap, + >( + key: TKeys | TKeys[], + ): TFuncReturn; + < + TKeys extends TFuncKey, + TDefaultResult extends DefaultTFuncReturn = string, + TInterpolationMap extends object = StringMap, + PassedNS extends Namespace = N extends string ? N : N extends unknown ? DefaultNamespace : N, + >( + key: TKeys | TKeys[], + ): TFuncReturn; + + // with returnDetails: true, returnObjects: true and ns prop in options + < + TKeys extends TFuncKey, + TDefaultResult extends DefaultTFuncReturnWithObject = object, + TInterpolationMap extends object = StringMap, + PassedNS extends Namespace = N extends string ? N : N extends null ? DefaultNamespace : N, + >( + key: TKeys | TKeys[], + options: TOptions & { + ns: PassedNS; + returnObjects: true; + returnDetails: true; + }, + ): TFunctionDetailedResult>; + + // with returnObjects: true and ns prop in options + < + TKeys extends TFuncKey, + TDefaultResult extends DefaultTFuncReturnWithObject = object, + TInterpolationMap extends object = StringMap, + PassedNS extends Namespace = N extends string ? N : N extends null ? DefaultNamespace : N, + >( + key: TKeys | TKeys[], + options: TOptions & { ns: PassedNS; returnObjects: true }, + ): TFuncReturn; + + // with passed ns prop in options + < + TKeys extends TFuncKey, + TDefaultResult extends DefaultTFuncReturn = string, + TInterpolationMap extends object = StringMap, + PassedNS extends Namespace = N extends string ? N : N extends null ? DefaultNamespace : N, + >( + key: TKeys | TKeys[], + options: TOptions & { ns: PassedNS }, + ): TFuncReturn; + + // with returnDetails: true, returnObjects: true + < + TKeys extends TFuncKey | TemplateStringsArray extends infer A ? A : never, + TDefaultResult extends DefaultTFuncReturnWithObject = object, + TInterpolationMap extends object = StringMap, + >( + key: TKeys | TKeys[], + options: TOptions & { returnDetails: true; returnObjects: true }, + ): TFunctionDetailedResult>; + + // with returnDetails: true + < + TKeys extends TFuncKey | TemplateStringsArray extends infer A ? A : never, + TDefaultResult extends DefaultTFuncReturn = string, + TInterpolationMap extends object = StringMap, + >( + key: TKeys | TKeys[], + options: TOptions & { returnDetails: true }, + ): TFunctionDetailedResult>; + + // with returnObjects: true + < + TKeys extends TFuncKey | TemplateStringsArray extends infer A ? A : never, + TDefaultResult extends DefaultTFuncReturnWithObject = object, + TInterpolationMap extends object = StringMap, + >( + key: TKeys | TKeys[], + options: TOptions & { returnObjects: true }, + ): TFuncReturn; + + // with options + < + TKeys extends TFuncKey, + TDefaultResult extends DefaultTFuncReturn = string, + TInterpolationMap extends object = StringMap, + PassedNS extends Namespace = N extends string ? N : N extends null ? DefaultNamespace : N, + PassedOpt extends TOptions = TOptions, + UsedNS extends Namespace = Pick extends { ns: string } + ? PassedNS + : ActualNS | DefaultNamespace, + >( + key: TKeys | TKeys[], + options: PassedOpt, + ): TFuncReturn; + // < + // TKeys extends TFuncKey | TemplateStringsArray extends infer A ? A : never, + // TDefaultResult extends DefaultTFuncReturn = string, + // TInterpolationMap extends object = StringMap, + // >( + // key: TKeys | TKeys[], + // options: TOptions, + // ): TFuncReturn; + + // defaultValue + < + TKeys extends TFuncKey | TemplateStringsArray extends infer A ? A : never, + TDefaultResult extends DefaultTFuncReturn = string, + TInterpolationMap extends object = StringMap, + >( + key: TKeys | TKeys[], + defaultValue: string, + options?: TOptions | string, + ): TFuncReturn; + < + TDefaultResult extends DefaultTFuncReturn = string, + TInterpolationMap extends object = StringMap, + >( + key: string | string[], + defaultValue: string, + options?: TOptions | string, + ): TFuncReturn; + + // defaultValue via options + < + TDefaultResult extends DefaultTFuncReturn = string, + TInterpolationMap extends object = StringMap, + >( + key: string | string[], + options: TOptions & { defaultValue: string }, + ): TFuncReturn; +} + +export interface Resource { + [language: string]: ResourceLanguage; +} + +export interface ResourceLanguage { + [namespace: string]: ResourceKey; +} + +export type ResourceKey = + | string + | { + [key: string]: any; + }; + +export interface Interpolator { + init(options: InterpolationOptions, reset: boolean): undefined; + reset(): undefined; + resetRegExp(): undefined; + interpolate(str: string, data: object, lng: string, options: InterpolationOptions): string; + nest(str: string, fc: (...args: any[]) => any, options: InterpolationOptions): string; +} + +export class ResourceStore { + constructor(data: Resource, options: InitOptions); + + public data: Resource; + public options: InitOptions; + + /** + * Gets fired when resources got added or removed + */ + on(event: 'added' | 'removed', callback: (lng: string, ns: string) => void): void; + /** + * Remove event listener + * removes all callback when callback not specified + */ + off(event: 'added' | 'removed', callback?: (lng: string, ns: string) => void): void; +} + +export interface Formatter { + init(services: Services, i18nextOptions: InitOptions): void; + add(name: string, fc: (value: any, lng: string | undefined, options: any) => string): void; + addCached( + name: string, + fc: (lng: string | undefined, options: any) => (value: any) => string, + ): void; + format: FormatFunction; +} + +export interface Services { + backendConnector: any; + i18nFormat: any; + interpolator: Interpolator; + languageDetector: any; + languageUtils: any; + logger: any; + pluralResolver: any; + resourceStore: ResourceStore; + formatter?: Formatter; +} + +export type ModuleType = + | 'backend' + | 'logger' + | 'languageDetector' + | 'postProcessor' + | 'i18nFormat' + | 'formatter' + | '3rdParty'; + +export interface Module { + type: ModuleType; +} + +export type CallbackError = Error | string | null | undefined; +export type ReadCallback = ( + err: CallbackError, + data: ResourceKey | boolean | null | undefined, +) => void; +export type MultiReadCallback = (err: CallbackError, data: Resource | null | undefined) => void; + +/** + * Used to load data for i18next. + * Can be provided as a singleton or as a prototype constructor (preferred for supporting multiple instances of i18next). + * For singleton set property `type` to `'backend'` For a prototype constructor set static property. + */ +export interface BackendModule extends Module { + type: 'backend'; + init(services: Services, backendOptions: TOptions, i18nextOptions: InitOptions): void; + read(language: string, namespace: string, callback: ReadCallback): void; + /** Save the missing translation */ + create?( + languages: readonly string[], + namespace: string, + key: string, + fallbackValue: string, + ): void; + /** Load multiple languages and namespaces. For backends supporting multiple resources loading */ + readMulti?( + languages: readonly string[], + namespaces: readonly string[], + callback: MultiReadCallback, + ): void; + /** Store the translation. For backends acting as cache layer */ + save?(language: string, namespace: string, data: ResourceLanguage): void; +} + +/** + * Used to detect language in user land. + * Can be provided as a singleton or as a prototype constructor (preferred for supporting multiple instances of i18next). + * For singleton set property `type` to `'languageDetector'` For a prototype constructor set static property. + */ +export interface LanguageDetectorModule extends Module { + type: 'languageDetector'; + init?(services: Services, detectorOptions: object, i18nextOptions: InitOptions): void; + /** Must return detected language */ + detect(): string | readonly string[] | undefined; + cacheUserLanguage?(lng: string): void; +} + +/** + * Used to detect language in user land. + * Can be provided as a singleton or as a prototype constructor (preferred for supporting multiple instances of i18next). + * For singleton set property `type` to `'languageDetector'` For a prototype constructor set static property. + */ +export interface LanguageDetectorAsyncModule extends Module { + type: 'languageDetector'; + /** Set to true to enable async detection */ + async: true; + init?(services: Services, detectorOptions: object, i18nextOptions: InitOptions): void; + /** Must call callback passing detected language or return a Promise*/ + detect( + callback: (lng: string | readonly string[] | undefined) => void | undefined, + ): void | Promise; + cacheUserLanguage?(lng: string): void | Promise; +} + +/** + * Used to extend or manipulate the translated values before returning them in `t` function. + * Need to be a singleton object. + */ +export interface PostProcessorModule extends Module { + /** Unique name */ + name: string; + type: 'postProcessor'; + process(value: string, key: string | string[], options: TOptions, translator: any): string; +} + +/** + * Override the built-in console logger. + * Do not need to be a prototype function. + */ +export interface LoggerModule extends Module { + type: 'logger'; + log(...args: any[]): void; + warn(...args: any[]): void; + error(...args: any[]): void; +} + +export interface I18nFormatModule extends Module { + type: 'i18nFormat'; +} + +export interface FormatterModule extends Module, Formatter { + type: 'formatter'; +} + +export interface ThirdPartyModule extends Module { + type: '3rdParty'; + init(i18next: i18n): void; +} + +export interface Modules { + backend?: BackendModule; + logger?: LoggerModule; + languageDetector?: LanguageDetectorModule | LanguageDetectorAsyncModule; + i18nFormat?: I18nFormatModule; + formatter?: FormatterModule; + external: ThirdPartyModule[]; +} + +// helper to identify class https://stackoverflow.com/a/45983481/2363935 +export interface Newable { + new (...args: any[]): T; +} +export interface NewableModule extends Newable { + type: T['type']; +} + +export type Callback = (error: any, t: TFunction) => void; + +/** + * Uses similar args as the t function and returns true if a key exists. + */ +export interface ExistsFunction< + TKeys extends string = string, + TInterpolationMap extends object = StringMap, +> { + (key: TKeys | TKeys[], options?: TOptions): boolean; +} + +export interface i18n { + // Expose parameterized t in the i18next interface hierarchy + t: TFunction[]>; + + /** + * The default of the i18next module is an i18next instance ready to be initialized by calling init. + * You can create additional instances using the createInstance function. + * + * @param options - Initial options. + * @param callback - will be called after all translations were loaded or with an error when failed (in case of using a backend). + */ + init(callback?: Callback): Promise; + init(options: InitOptions, callback?: Callback): Promise; + + loadResources(callback?: (err: any) => void): void; + + /** + * The use function is there to load additional plugins to i18next. + * For available module see the plugins page and don't forget to read the documentation of the plugin. + * + * @param module Accepts a class or object + */ + use(module: T | NewableModule | Newable): this; + + /** + * List of modules used + */ + modules: Modules; + + /** + * Internal container for all used plugins and implementation details like languageUtils, pluralResolvers, etc. + */ + services: Services; + + /** + * Internal container for translation resources + */ + store: ResourceStore; + + /** + * Uses similar args as the t function and returns true if a key exists. + */ + exists: ExistsFunction; + + /** + * Returns a resource data by language. + */ + getDataByLanguage(lng: string): { [key: string]: { [key: string]: string } } | undefined; + + /** + * Returns a t function that defaults to given language or namespace. + * Both params could be arrays of languages or namespaces and will be treated as fallbacks in that case. + * On the returned function you can like in the t function override the languages or namespaces by passing them in options or by prepending namespace. + * + * Accepts optional keyPrefix that will be automatically applied to returned t function. + */ + getFixedT< + N extends Namespace | null, + TKPrefix extends KeyPrefix = undefined, + ActualNS extends Namespace = N extends null ? DefaultNamespace : N, + >( + lng: string | readonly string[], + ns?: N, + keyPrefix?: TKPrefix, + ): TFunction; + getFixedT< + N extends Namespace | null, + TKPrefix extends KeyPrefix, + ActualNS extends Namespace = N extends null ? DefaultNamespace : N, + >( + lng: null, + ns: N, + keyPrefix?: TKPrefix, + ): TFunction; + + /** + * Changes the language. The callback will be called as soon translations were loaded or an error occurs while loading. + * HINT: For easy testing - setting lng to 'cimode' will set t function to always return the key. + */ + changeLanguage(lng?: string, callback?: Callback): Promise; + + /** + * Is set to the current detected or set language. + * If you need the primary used language depending on your configuration (supportedLngs, load) you will prefer using i18next.languages[0]. + */ + language: string; + + /** + * Is set to an array of language-codes that will be used it order to lookup the translation value. + */ + languages: readonly string[]; + + /** + * Is set to the current resolved language. + * It can be used as primary used language, for example in a language switcher. + */ + resolvedLanguage?: string; + + /** + * Loads additional namespaces not defined in init options. + */ + loadNamespaces(ns: string | readonly string[], callback?: Callback): Promise; + + /** + * Loads additional languages not defined in init options (preload). + */ + loadLanguages(lngs: string | readonly string[], callback?: Callback): Promise; + + /** + * Reloads resources on given state. Optionally you can pass an array of languages and namespaces as params if you don't want to reload all. + */ + reloadResources( + lngs?: string | readonly string[], + ns?: string | readonly string[], + callback?: () => void, + ): Promise; + reloadResources(lngs: null, ns: string | readonly string[], callback?: () => void): Promise; + + /** + * Changes the default namespace. + */ + setDefaultNamespace(ns: string): void; + + /** + * Checks if a namespace has been loaded. + */ + hasLoadedNamespace(ns: string, options?: Pick): boolean; + + /** + * Returns rtl or ltr depending on languages read direction. + */ + dir(lng?: string): 'ltr' | 'rtl'; + + /** + * Exposes interpolation.format function added on init. + */ + format: FormatFunction; + + /** + * Will return a new i18next instance. + * Please read the options page for details on configuration options. + * Providing a callback will automatically call init. + * The callback will be called after all translations were loaded or with an error when failed (in case of using a backend). + */ + createInstance(options?: InitOptions, callback?: Callback): i18n; + + /** + * Creates a clone of the current instance. Shares store, plugins and initial configuration. + * Can be used to create an instance sharing storage but being independent on set language or namespaces. + */ + cloneInstance(options?: InitOptions, callback?: Callback): i18n; + + /** + * Gets fired after initialization. + */ + on(event: 'initialized', callback: (options: InitOptions) => void): void; + + /** + * Gets fired on loaded resources. + */ + on( + event: 'loaded', + callback: (loaded: { [language: string]: { [namespace: string]: boolean } }) => void, + ): void; + + /** + * Gets fired if loading resources failed. + */ + on(event: 'failedLoading', callback: (lng: string, ns: string, msg: string) => void): void; + + /** + * Gets fired on accessing a key not existing. + */ + on( + event: 'missingKey', + callback: (lngs: readonly string[], namespace: string, key: string, res: string) => void, + ): void; + + /** + * Gets fired when resources got added or removed. + */ + on(event: 'added' | 'removed', callback: (lng: string, ns: string) => void): void; + + /** + * Gets fired when changeLanguage got called. + */ + on(event: 'languageChanged', callback: (lng: string) => void): void; + + /** + * Event listener + */ + on(event: string, listener: (...args: any[]) => void): void; + + /** + * Remove event listener + * removes all callback when callback not specified + */ + off(event: string, listener?: (...args: any[]) => void): void; + + /** + * Gets one value by given key. + */ + getResource( + lng: string, + ns: string, + key: string, + options?: Pick, + ): any; + + /** + * Adds one key/value. + */ + addResource( + lng: string, + ns: string, + key: string, + value: string, + options?: { keySeparator?: string; silent?: boolean }, + ): i18n; + + /** + * Adds multiple key/values. + */ + addResources(lng: string, ns: string, resources: any): i18n; + + /** + * Adds a complete bundle. + * Setting deep param to true will extend existing translations in that file. + * Setting overwrite to true it will overwrite existing translations in that file. + */ + addResourceBundle( + lng: string, + ns: string, + resources: any, + deep?: boolean, + overwrite?: boolean, + ): i18n; + + /** + * Checks if a resource bundle exists. + */ + hasResourceBundle(lng: string, ns: string): boolean; + + /** + * Returns a resource bundle. + */ + getResourceBundle(lng: string, ns: string): any; + + /** + * Removes an existing bundle. + */ + removeResourceBundle(lng: string, ns: string): i18n; + + /** + * Current options + */ + options: InitOptions; + + /** + * Is initialized + */ + isInitialized: boolean; + + /** + * Emit event + */ + emit(eventName: string): void; +} + +declare const i18next: i18n; +export default i18next; + +export const createInstance: i18n['createInstance']; + +export const dir: i18n['dir']; +export const init: i18n['init']; +export const loadResources: i18n['loadResources']; +export const reloadResources: i18n['reloadResources']; +export const use: i18n['use']; +export const changeLanguage: i18n['changeLanguage']; +export const getFixedT: i18n['getFixedT']; +export const t: i18n['t']; +export const exists: i18n['exists']; +export const setDefaultNamespace: i18n['setDefaultNamespace']; +export const hasLoadedNamespace: i18n['hasLoadedNamespace']; +export const loadNamespaces: i18n['loadNamespaces']; +export const loadLanguages: i18n['loadLanguages']; diff --git a/node_modules/astro-i18next/node_modules/i18next/index.js b/node_modules/astro-i18next/node_modules/i18next/index.js new file mode 100644 index 00000000..69980a04 --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/index.js @@ -0,0 +1,5 @@ +/* eslint no-var: 0 */ +var main = require('./dist/cjs/i18next.js'); + +module.exports = main; +module.exports.default = main; diff --git a/node_modules/astro-i18next/node_modules/i18next/package.json b/node_modules/astro-i18next/node_modules/i18next/package.json new file mode 100644 index 00000000..ae3eb2e0 --- /dev/null +++ b/node_modules/astro-i18next/node_modules/i18next/package.json @@ -0,0 +1,129 @@ +{ + "name": "i18next", + "version": "22.5.1", + "description": "i18next internationalization framework", + "main": "./dist/cjs/i18next.js", + "module": "./dist/esm/i18next.js", + "types": "./index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "types": "./index.d.ts", + "import": "./dist/esm/i18next.js", + "require": "./dist/cjs/i18next.js" + } + }, + "keywords": [ + "i18next", + "internationalization", + "i18n", + "translation", + "localization", + "l10n", + "globalization", + "gettext" + ], + "homepage": "https://www.i18next.com", + "bugs": "https://github.com/i18next/i18next/issues", + "repository": { + "type": "git", + "url": "https://github.com/i18next/i18next.git" + }, + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "dependencies": { + "@babel/runtime": "^7.20.6" + }, + "devDependencies": { + "@babel/core": "^7.20.5", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-runtime": "^7.19.6", + "@babel/polyfill": "^7.2.5", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/register": "^7.18.9", + "@rollup/plugin-babel": "^5.2.2", + "@rollup/plugin-commonjs": "^17.0.0", + "@rollup/plugin-node-resolve": "^11.0.0", + "@babel/eslint-parser": "^7.19.1", + "babelify": "^10.0.0", + "browserify": "17.0.0", + "browserify-istanbul": "3.0.1", + "chai": "4.3.7", + "coveralls": "3.1.1", + "cpy-cli": "^4.2.0", + "dtslint": "^0.4.2", + "eslint": "8.32.0", + "eslint-config-airbnb": "19.0.4", + "eslint-config-prettier": "^8.6.0", + "eslint-plugin-import": "2.27.5", + "eslint-plugin-jsx-a11y": "6.7.1", + "eslint-plugin-react": "7.32.1", + "gh-release": "6.0.4", + "husky": "^7.0.2", + "i18next-browser-languagedetector": "7.0.1", + "i18next-fs-backend": "2.1.0", + "i18next-http-backend": "2.1.0", + "i18next-localstorage-cache": "1.1.1", + "i18next-sprintf-postprocessor": "0.2.2", + "karma": "6.4.1", + "karma-browserify": "8.1.0", + "karma-chai": "0.1.0", + "karma-chrome-launcher": "3.1.1", + "karma-cli": "2.0.0", + "karma-coverage": "2.2.0", + "karma-coveralls": "2.1.0", + "karma-mocha": "2.0.1", + "karma-rollup-preprocessor": "7.0.8", + "karma-sinon": "1.0.5", + "karma-spec-reporter": "0.0.34", + "lint-staged": "^11.1.2", + "mocha": "10.1.0", + "nyc": "^15.1.0", + "prettier": "^2.8.0", + "rimraf": "3.0.2", + "rollup": "^2.79.1", + "rollup-plugin-terser": "^5.3.0", + "sinon": "11.1.2", + "tslint": "^5.20.1", + "typescript": "^4.9.3", + "watchify": "4.0.0" + }, + "scripts": { + "pretest": "npm run test:typescript && npm run test:typescript:customtypes && npm run test:typescript:noninterop", + "lint": "eslint src", + "test": "npm run lint && npm run test:new && npm run test:compat", + "test:new": "karma start karma.conf.js --singleRun", + "test:compat": "karma start karma.backward.conf.js --singleRun", + "test:typescript": "tslint --project tsconfig.json", + "test:typescript:customtypes": "tslint --project test/typescript/custom-types/tsconfig.json", + "test:typescript:noninterop": "tslint --project tsconfig.nonEsModuleInterop.json", + "tdd": "karma start karma.conf.js", + "tdd:compat": "karma start karma.backward.conf.js", + "build": "rimraf dist && rollup -c && echo '{\"type\":\"module\"}' > dist/esm/package.json && cpy \"./dist/umd/*.js\" ./", + "fix_dist_package": "node -e 'console.log(`{\"type\":\"module\",\"version\":\"${process.env.npm_package_version}\"}`)' > dist/esm/package.json", + "preversion": "npm run test && npm run build && git push", + "postversion": "npm run fix_dist_package && git push && git push --tags && npm run release", + "prettier": "prettier --write \"{,**/}*.{ts,tsx,js,json,md}\"", + "prepare": "husky install", + "release": "gh-release" + }, + "author": "Jan Mühlemann (https://github.com/jamuhl)", + "license": "MIT", + "lint-staged": { + "*.{ts,tsx,js,json,md}": "prettier --write" + } +} diff --git a/node_modules/astro-i18next/package.json b/node_modules/astro-i18next/package.json new file mode 100644 index 00000000..c353950e --- /dev/null +++ b/node_modules/astro-i18next/package.json @@ -0,0 +1,130 @@ +{ + "name": "astro-i18next", + "version": "1.0.0-beta.21", + "description": "An astro integration of i18next + some utility components to help you translate your astro websites!", + "scripts": { + "test": "vitest", + "test:coverage": "pnpm test -- --coverage", + "preview": "astro preview", + "build": "./build.cjs && pnpm run typecheck:emit", + "pack": "pnpm run build && pnpm pack", + "lint": "eslint --ext js,cjs,ts .", + "prettier": "prettier --check --ignore-path .prettierignore .", + "prettier:fix": "prettier --write --ignore-path .prettierignore .", + "typecheck": "tsc --noEmit", + "typecheck:emit": "tsc --declaration --emitDeclarationOnly --outDir dist/types", + "commit": "cz", + "prepare": "is-ci || husky install", + "semantic-release": "semantic-release" + }, + "repository": { + "type": "git", + "url": "https://github.com/yassinedoghri/astro-i18next.git" + }, + "files": [ + "src", + "!src/index.d.ts", + "!src/__tests__", + "dist" + ], + "type": "module", + "main": "./dist/index.js", + "types": "./dist/types/index.d.ts", + "exports": { + ".": "./dist/index.js", + "./components": "./src/components/index.ts" + }, + "typesVersions": { + "*": { + "index": [ + "./dist/types/index.d.ts" + ], + "components": [ + "./src/components/index.d.ts" + ] + } + }, + "bin": { + "astro-i18next": "./dist/cli/index.js" + }, + "keywords": [ + "astro-component", + "seo", + "i18next", + "i18n", + "internationalization", + "i10n", + "localization" + ], + "author": { + "name": "Yassine Doghri", + "email": "yassine@doghri.fr", + "url": "https://yassinedoghri.com/" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/yassinedoghri/astro-i18next/issues" + }, + "homepage": "https://astro-i18next.yassinedoghri.com/", + "peerDependencies": { + "astro": ">=1.0.0" + }, + "dependencies": { + "@proload/core": "^0.3.3", + "@proload/plugin-tsm": "^0.2.1", + "i18next": "^22.4.10", + "i18next-browser-languagedetector": "^7.0.1", + "i18next-fs-backend": "^2.1.1", + "i18next-http-backend": "^2.1.1", + "iso-639-1": "^2.1.15", + "locale-emoji": "^0.3.0", + "pathe": "^1.1.0" + }, + "devDependencies": { + "@commitlint/cli": "^17.4.4", + "@commitlint/config-conventional": "^17.4.4", + "@semantic-release/changelog": "^6.0.2", + "@semantic-release/exec": "^6.0.3", + "@semantic-release/git": "^10.0.1", + "@types/fs-extra": "^11.0.1", + "@types/yargs": "^17.0.22", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "@vitest/coverage-c8": "^0.29.2", + "all-contributors-cli": "^6.24.0", + "astro": "2.0.17", + "commitizen": "^4.3.0", + "cz-conventional-changelog": "^3.3.0", + "esbuild-plugin-fileloc": "^0.0.6", + "esbuild": "^0.17.11", + "eslint-config-prettier": "^8.6.0", + "eslint-config-standard": "^17.0.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-jest": "^27.2.1", + "eslint-plugin-n": "^15.6.1", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-promise": "^6.1.1", + "eslint": "^8.35.0", + "fdir": "^6.0.1", + "fs-extra": "^11.1.0", + "husky": "^8.0.3", + "i18next": "^22.4.10", + "is-ci": "^3.0.1", + "lint-staged": "^13.1.2", + "prettier-plugin-astro": "^0.8.0", + "prettier": "2.8.4", + "semantic-release": "^20.1.1", + "typescript": "^4.9.5", + "vitest": "^0.29.2", + "yargs": "^17.7.1" + }, + "lint-staged": { + "*.{js,cjs,ts}": "eslint --ext js,cjs,ts . --cache --fix", + "*.{js,cjs,ts,astro,css,md}": "prettier --write --ignore-path .prettierignore ." + }, + "config": { + "commitizen": { + "path": "./node_modules/cz-conventional-changelog" + } + } +} diff --git a/node_modules/astro-i18next/src/cli/generate.ts b/node_modules/astro-i18next/src/cli/generate.ts new file mode 100644 index 00000000..53a347b8 --- /dev/null +++ b/node_modules/astro-i18next/src/cli/generate.ts @@ -0,0 +1,94 @@ +import fs from "fs"; +import { resolve } from "pathe"; +import { AstroI18nextConfig } from "../types"; +import { + getAstroPagesFullPaths, + createFiles, + FileToGenerate, + generateLocalizedFrontmatter, + overwriteAstroFrontmatter, + parseFrontmatter, + resolveTranslatedAstroPath, + resolveRelativePathsLevel, +} from "./utils"; + +/** + * Reads all files inside inputPath + * + * @param inputPath + * @param locales + * @param outputPath + */ +export const generate = ( + inputPath: string, + defaultLocale: AstroI18nextConfig["defaultLocale"], + locales: AstroI18nextConfig["locales"], + showDefaultLocale = false, + flatRoutes?: AstroI18nextConfig["flatRoutes"], + outputPath: string = inputPath +): { filesToGenerate: FileToGenerate[]; timeToProcess: number } => { + const start = process.hrtime(); + + // default locale page paths + const astroPagesFullPaths = showDefaultLocale + ? getAstroPagesFullPaths(inputPath, defaultLocale, locales) + : getAstroPagesFullPaths(inputPath, undefined, locales); + + const filesToGenerate: FileToGenerate[] = []; + astroPagesFullPaths.forEach(async function (astroFileFullPath: string) { + const astroFilePath = resolve(astroFileFullPath).replace( + resolve(inputPath), + "" + ); + + const inputFilePath = showDefaultLocale + ? [inputPath, defaultLocale, astroFilePath].join("/") + : [inputPath, astroFilePath].join("/"); + + const fileContents = fs.readFileSync(inputFilePath); + const fileContentsString = fileContents.toString(); + + const parsedFrontmatter = parseFrontmatter(fileContentsString); + + locales.forEach((locale) => { + const isOtherLocale = locale !== defaultLocale; + const fileDepth = showDefaultLocale ? 0 : Number(isOtherLocale); + + // add i18next's changeLanguage function to frontmatter + const frontmatterCode = generateLocalizedFrontmatter( + parsedFrontmatter, + locale + ); + + // get the astro file contents + let newFileContents = overwriteAstroFrontmatter( + fileContentsString, + frontmatterCode + ); + + // add depth to imports and Astro.glob pattern + newFileContents = resolveRelativePathsLevel(newFileContents, fileDepth); + + const createLocaleFolder = showDefaultLocale ? true : isOtherLocale; + + filesToGenerate.push({ + path: resolve( + resolveTranslatedAstroPath( + astroFilePath, + createLocaleFolder ? locale : undefined, + outputPath, + flatRoutes + ) + ), + source: newFileContents, + }); + }); + }); + + createFiles(filesToGenerate); + + return { + filesToGenerate, + timeToProcess: process.hrtime(start)[1] / 1000000, + }; +}; diff --git a/node_modules/astro-i18next/src/cli/index.ts b/node_modules/astro-i18next/src/cli/index.ts new file mode 100755 index 00000000..a465f17a --- /dev/null +++ b/node_modules/astro-i18next/src/cli/index.ts @@ -0,0 +1,74 @@ +#!/usr/bin/env node + +import { flattenRoutes } from "../config"; +import yargs from "yargs"; +import { hideBin } from "yargs/helpers"; +import { generate } from "./generate"; +import { loadConfig, normalizePath } from "./middlewares"; +import { GenerateArgs } from "./types"; + +yargs(hideBin(process.argv)) + .usage("usage: $0 ") + .command( + "generate [path] [options]", + "generates localized Astro pages", + (yargs) => { + return yargs + .positional("path", { + type: "string", + description: "Path to the Astro project folder", + default: "./", + }) + .option("output", { + alias: "o", + type: "string", + description: + "Set the output of the generated pages if different from input", + }); + }, + async (argv) => { + if (argv.verbose) { + console.info(`Generating localized pages: ${argv.config.locales}`); + } + + const pagesPath = argv.path + "src/pages"; + + const flatRoutes = flattenRoutes(argv.config.routes); + + const result = generate( + pagesPath, + argv.config.defaultLocale, + argv.config.locales, + argv.config.showDefaultLocale, + flatRoutes, + argv.output + ); + + if (argv.verbose) { + const filepaths = result.filesToGenerate.map( + (fileToGenerate) => fileToGenerate.path + ); + console.log(`\n✨ ${filepaths.join("\n✨ ")}\n`); + } + + // All good! Show success feedback + console.log( + `🧪 Localized .astro pages were generated successfully, it took ${result.timeToProcess.toFixed()}ms!` + ); + } + ) + .middleware([normalizePath, loadConfig], true) + .options({ + config: { + alias: "c", + type: "string", + description: + "Set the output of the generated pages if different from input", + }, + verbose: { + alias: "v", + type: "boolean", + description: "Run with verbose logging", + }, + }) + .parse(); diff --git a/node_modules/astro-i18next/src/cli/middlewares.ts b/node_modules/astro-i18next/src/cli/middlewares.ts new file mode 100644 index 00000000..595d5557 --- /dev/null +++ b/node_modules/astro-i18next/src/cli/middlewares.ts @@ -0,0 +1,32 @@ +import { pathToFileURL } from "url"; +import { MiddlewareFunction } from "yargs"; +import { getUserConfig } from "../utils"; +import { GenerateArgs, GlobalArgs } from "./types"; + +// @ts-ignore +export const loadConfig: MiddlewareFunction = async ( + argv +): Promise => { + const { path, config } = argv; + + const userConfig = await getUserConfig(pathToFileURL(path), config as any); + + if (path && !userConfig?.value) { + throw new Error( + `Could not find a config file at ${JSON.stringify( + path + )}. Does the file exist?` + ); + } + + return { ...argv, config: userConfig?.value }; +}; + +// @ts-ignore +export const normalizePath: MiddlewareFunction< + GlobalArgs & GenerateArgs +> = async (argv): Promise => { + const { path } = argv; + + return { ...argv, path: path.endsWith("/") ? path : path + "/" }; +}; diff --git a/node_modules/astro-i18next/src/cli/transformer.ts b/node_modules/astro-i18next/src/cli/transformer.ts new file mode 100644 index 00000000..70004ea7 --- /dev/null +++ b/node_modules/astro-i18next/src/cli/transformer.ts @@ -0,0 +1,162 @@ +import ts from "typescript"; + +/** + * Traverse ts' AST to inject i18next's language switch + * @param context + * @returns + */ +export const transformer: ts.TransformerFactory = + (context: ts.TransformationContext) => (rootNode) => { + const { factory, getCompilerOptions } = context; + let doesI18nextImportExist = false; + + const { locale } = getCompilerOptions(); + + function visit(node: ts.Node): ts.Node { + // isolate i18next import statement + if ( + ts.isImportDeclaration(node) && + ts.isStringLiteral(node.moduleSpecifier) && + node.moduleSpecifier.text === "i18next" && + ts.isImportClause(node.importClause) + ) { + doesI18nextImportExist = true; + + if (!node.importClause.namedBindings) { + return factory.updateImportDeclaration( + node, + node.modifiers, + factory.createImportClause( + node.importClause.isTypeOnly, + node.importClause.name, + factory.createNamedImports([ + factory.createImportSpecifier( + false, + undefined, + factory.createIdentifier("changeLanguage") + ), + ]) + ), + node.moduleSpecifier, + node.assertClause + ); + } + + if ( + ts.isImportClause(node.importClause) && + ts.isNamedImports(node.importClause.namedBindings) && + !node.importClause.namedBindings.elements.find( + (namedImport) => namedImport.name.escapedText === "changeLanguage" + ) + ) { + // import changeLanguage function in i18next import declaration + return factory.updateImportDeclaration( + node, + node.modifiers, + factory.updateImportClause( + node.importClause, + false, + node.importClause.name, + factory.updateNamedImports(node.importClause.namedBindings, [ + ...node.importClause.namedBindings.elements, + factory.createImportSpecifier( + false, + undefined, + factory.createIdentifier("changeLanguage") + ), + ]) + ), + node.moduleSpecifier, + node.assertClause + ); + } + + return node; + } + + // remove any occurrence of changeLanguage() call + if ( + ts.isExpressionStatement(node) && + ts.isCallExpression(node.expression) && + ((ts.isPropertyAccessExpression(node.expression.expression) && + node.expression.expression.name.escapedText === "changeLanguage") || + (ts.isIdentifier(node.expression.expression) && + node.expression.expression.escapedText === "changeLanguage")) + ) { + return undefined; + } + + return ts.visitEachChild(node, visit, context); + } + + let visitedNode = ts.visitNode(rootNode, visit); + + const statements = [...visitedNode.statements]; + + if (!doesI18nextImportExist) { + statements.unshift( + factory.createImportDeclaration( + undefined, + factory.createImportClause( + false, + undefined, + factory.createNamedImports([ + factory.createImportSpecifier( + false, + undefined, + factory.createIdentifier("changeLanguage") + ), + ]) + ), + factory.createStringLiteral("i18next"), + undefined + ) + ); + } + + // append the changeLanguage statement after imports + + // get a boolean array with values telling whether or not a statement is an import + const importDeclarationsMap = statements.map((statement) => + ts.isImportDeclaration(statement) + ); + + const lastIndexOfImportDeclaration = + importDeclarationsMap.lastIndexOf(true); + + // insert changeLanguage statement after the imports + // and surrounded by line breaks + statements.splice( + lastIndexOfImportDeclaration + 1, + 0, + factory.createIdentifier("\n") as unknown as ts.Statement + ); + statements.splice( + lastIndexOfImportDeclaration + 1, + 0, + factory.createExpressionStatement( + factory.createCallExpression( + factory.createIdentifier("changeLanguage"), + undefined, + [factory.createStringLiteral(locale as string)] + ) + ) + ); + statements.splice( + lastIndexOfImportDeclaration + 1, + 0, + factory.createIdentifier("\n") as unknown as ts.Statement + ); + + visitedNode = factory.updateSourceFile( + visitedNode, + statements, + visitedNode.isDeclarationFile, + visitedNode.referencedFiles, + visitedNode.typeReferenceDirectives, + visitedNode.hasNoDefaultLib, + visitedNode.libReferenceDirectives + ); + + return visitedNode; + }; diff --git a/node_modules/astro-i18next/src/cli/types.ts b/node_modules/astro-i18next/src/cli/types.ts new file mode 100644 index 00000000..cb51cfbf --- /dev/null +++ b/node_modules/astro-i18next/src/cli/types.ts @@ -0,0 +1,11 @@ +import { AstroI18nextConfig } from "../types"; + +export interface GlobalArgs { + verbose: boolean; +} + +export interface GenerateArgs { + path: string; + config: AstroI18nextConfig; + output: string; +} diff --git a/node_modules/astro-i18next/src/cli/utils.ts b/node_modules/astro-i18next/src/cli/utils.ts new file mode 100644 index 00000000..ec822b65 --- /dev/null +++ b/node_modules/astro-i18next/src/cli/utils.ts @@ -0,0 +1,182 @@ +import { fdir, PathsOutput } from "fdir"; +import fsExtra from "fs-extra"; +import path from "path"; +import fs from "fs"; +import ts from "typescript"; +import { transformer } from "./transformer"; +import { AstroI18nextConfig } from "../types"; + +export interface FileToGenerate { + path: string; + source: string; +} + +export const doesStringIncludeFrontmatter = (source: string): boolean => + /---.*---/s.test(source); + +export const extractFrontmatterFromAstroSource = (source: string): string => { + if (doesStringIncludeFrontmatter(source)) { + const { + groups: { frontmatter }, + } = /---(?(.*))---/s.exec(source); + + return frontmatter; + } + + return ""; +}; + +export const overwriteAstroFrontmatter = ( + source: string, + frontmatter: string +): string => { + if (doesStringIncludeFrontmatter(source)) { + return source.replace(/---[\s\S]*---/g, `---\n${frontmatter.trim()}\n---`); + } + + return `---\n${frontmatter.trim()}\n---\n\n` + source; +}; + +export const addDepthToRelativePath = ( + relativePath: string, + depth: number = 1 +): string => { + if (relativePath.startsWith("./") && depth > 0) { + // remove "./" from relativePath + relativePath = relativePath.slice(2); + } + + return relativePath.padStart(relativePath.length + depth * 3, "../"); +}; + +/** + * file is hidden if its name or any of its parent folders start with an underscore + */ +export const isFileHidden = (filepath: string): boolean => { + return /((^_)|(\/_))/.test(filepath); +}; + +export const resolveRelativePathsLevel = ( + fileContents: string, + fileDepth: number +) => { + fileContents = fileContents.replace( + /(import\s+.*["'])(\..*)(["'])/g, + (_, before, relativePath, after) => + `${before}${addDepthToRelativePath(relativePath, fileDepth)}${after}` + ); + fileContents = fileContents.replace( + /(Astro.glob\(["'])(\..*)(["']\))/g, + (_, before, relativePath, after) => + `${before}${addDepthToRelativePath(relativePath, fileDepth)}${after}` + ); + fileContents = fileContents.replace( + /( + `${before}${addDepthToRelativePath(relativePath, fileDepth)}${after}` + ); + + return fileContents; +}; + +/* c8 ignore start */ +/** + * parse frontmatter using typescript compiler + * + * @param source + */ +export const parseFrontmatter = (source: string): ts.SourceFile => + ts.createSourceFile( + "x.ts", + extractFrontmatterFromAstroSource(source), + ts.ScriptTarget.Latest + ); + +export const generateLocalizedFrontmatter = ( + tsNode: ts.SourceFile, + locale: string +) => { + // generate for default locale, then loop over locales to generate other pages + const result: ts.TransformationResult = ts.transform( + tsNode, + [transformer], + { locale } + ); + const printer = ts.createPrinter(); + + return printer.printNode( + ts.EmitHint.Unspecified, + result.transformed[0], + tsNode + ); +}; + +/** + * Crawls pages directory and returns all Astro pages + * except for locale folders and excluded pages / directories (starting with underscore). + * (https://docs.astro.build/en/core-concepts/routing/#excluding-pages) + * + * @param pagesDirectoryPath + * @param childDirToCrawl will make the function crawl inside the given + * `childDirToCrawl` (doesn't take paths, only dirname). + */ +export const getAstroPagesFullPaths = ( + pagesDirectoryPath: string, + childDirToCrawl: AstroI18nextConfig["defaultLocale"] | undefined = undefined, + locales: AstroI18nextConfig["locales"] = [] +): PathsOutput => { + // eslint-disable-next-line new-cap + const api = new fdir() + .filter( + (filepath) => !isFileHidden(filepath) && filepath.endsWith(".astro") + ) + .exclude((dirName) => locales.includes(dirName)) + .withFullPaths(); + + return childDirToCrawl + ? (api + .crawl(`${pagesDirectoryPath}${path.sep}${childDirToCrawl}`) + .sync() as PathsOutput) + : (api.crawl(pagesDirectoryPath).sync() as PathsOutput); +}; + +export const createFiles = (filesToGenerate: FileToGenerate[]): void => { + filesToGenerate.forEach((fileToGenerate) => { + fsExtra.ensureDirSync(path.dirname(fileToGenerate.path)); + + fs.writeFileSync(fileToGenerate.path, fileToGenerate.source); + }); +}; +/* c8 ignore stop */ + +/** + * Resolves the right translated path based on + * a given `astroFilePath` and a locale, + * with the `routeTranslations` mapping. + */ +export const resolveTranslatedAstroPath = ( + astroFilePath: string, + locale: string | null = null, + basePath: string = "", + flatRoutes: AstroI18nextConfig["flatRoutes"] = {} +) => { + astroFilePath = astroFilePath.replace(/^\/+|\/+$/g, ""); + + // remove trailing slash of basePath if any + basePath = basePath.replace(/\/+$/g, ""); + + if (locale === null) { + return `${basePath}/${astroFilePath}`; + } + + astroFilePath = astroFilePath.replace(/.astro$/, ""); + + const filePath = `/${locale}/${astroFilePath}`; + + // is route translated? + if (Object.prototype.hasOwnProperty.call(flatRoutes, filePath)) { + return `${basePath}${flatRoutes[filePath]}.astro`; + } + + return `${basePath}/${locale}/${astroFilePath}.astro`; +}; diff --git a/node_modules/astro-i18next/src/components/HeadHrefLangs.astro b/node_modules/astro-i18next/src/components/HeadHrefLangs.astro new file mode 100644 index 00000000..9009ea82 --- /dev/null +++ b/node_modules/astro-i18next/src/components/HeadHrefLangs.astro @@ -0,0 +1,17 @@ +--- +import i18next from "i18next"; +import { localizeUrl } from "../.."; + +const supportedLanguages = i18next.languages; +const currentUrl = Astro.url.href; +--- + +{ + supportedLanguages.map((supportedLanguage) => ( + + )) +} diff --git a/node_modules/astro-i18next/src/components/LanguageSelector.astro b/node_modules/astro-i18next/src/components/LanguageSelector.astro new file mode 100644 index 00000000..5210682c --- /dev/null +++ b/node_modules/astro-i18next/src/components/LanguageSelector.astro @@ -0,0 +1,49 @@ +--- +import i18next from "i18next"; +import { localizePath } from "../.."; +import localeEmoji from "locale-emoji"; +import ISO6991 from "iso-639-1"; + +interface languageMapping { + [localeCode: string]: string; +} + +export interface Props extends astroHTML.JSX.SelectHTMLAttributes { + showFlag?: boolean; + languageMapping?: languageMapping; +} + +const supportedLanguages = i18next.languages; +const currentLanguage = i18next.language; + +const { pathname } = Astro.url; + +const { showFlag = false, languageMapping, ...attributes } = Astro.props; +--- + + diff --git a/node_modules/astro-i18next/src/components/Trans.astro b/node_modules/astro-i18next/src/components/Trans.astro new file mode 100644 index 00000000..678cd901 --- /dev/null +++ b/node_modules/astro-i18next/src/components/Trans.astro @@ -0,0 +1,21 @@ +--- +import { interpolate, createReferenceStringFromHTML } from ".."; + +export interface Props { + i18nKey?: string; + ns?: string; +} + +const { i18nKey, ns } = Astro.props; + +const referenceString = await Astro.slots.render("default"); + +let key: string; +if (typeof i18nKey === "string") { + key = i18nKey; +} else { + key = createReferenceStringFromHTML(referenceString); +} +--- + + diff --git a/node_modules/astro-i18next/src/components/index.d.ts b/node_modules/astro-i18next/src/components/index.d.ts new file mode 100644 index 00000000..7b5eefb0 --- /dev/null +++ b/node_modules/astro-i18next/src/components/index.d.ts @@ -0,0 +1,3 @@ +export { default as Trans } from "./Trans.astro"; +export { default as LanguageSelector } from "./LanguageSelector.astro"; +export { default as HeadHrefLangs } from "./HeadHrefLangs.astro"; diff --git a/node_modules/astro-i18next/src/components/index.ts b/node_modules/astro-i18next/src/components/index.ts new file mode 100644 index 00000000..7b5eefb0 --- /dev/null +++ b/node_modules/astro-i18next/src/components/index.ts @@ -0,0 +1,3 @@ +export { default as Trans } from "./Trans.astro"; +export { default as LanguageSelector } from "./LanguageSelector.astro"; +export { default as HeadHrefLangs } from "./HeadHrefLangs.astro"; diff --git a/node_modules/astro-i18next/src/config.ts b/node_modules/astro-i18next/src/config.ts new file mode 100644 index 00000000..cadc5de7 --- /dev/null +++ b/node_modules/astro-i18next/src/config.ts @@ -0,0 +1,89 @@ +import { AstroI18nextConfig, AstroI18nextGlobal, Routes } from "./types"; + +export const AstroI18next: AstroI18nextGlobal = { + config: { + defaultLocale: "cimode", + locales: [], + namespaces: "translation", + defaultNamespace: "translation", + load: ["server"], + routes: {}, + flatRoutes: {}, + showDefaultLocale: false, + trailingSlash: "ignore", + resourcesBasePath: "/locales", + }, +}; + +/* c8 ignore start */ +export const setAstroI18nextConfig = (config: AstroI18nextConfig) => { + let flatRoutes = {}; + for (const key in config) { + if (key === "routes") { + flatRoutes = flattenRoutes(config[key]); + } + + AstroI18next.config[key] = config[key]; + } + + // @ts-ignore + AstroI18next.config.flatRoutes = flatRoutes; +}; + +export const astroI18nextConfigBuilder = ( + config: AstroI18nextConfig +): AstroI18nextConfig => { + return { ...AstroI18next.config, ...config }; +}; +/* c8 ignore stop */ + +/** + * This will create a mapping of translated routes to search them easily. + * + * TODO: render all routes mappings in here (even those not translated), + * this will help simplify utility functions logic + */ +export const flattenRoutes = ( + routes: AstroI18nextConfig["routes"], + previous: string[] = [], + translatedPrevious: string[] = [], + prevResult: AstroI18nextConfig["flatRoutes"] = null +): AstroI18nextConfig["flatRoutes"] => { + let result = prevResult || {}; + + for (const i in routes) { + if (typeof routes[i] === "object" && routes[i] !== null) { + // Recursion on deeper objects + flattenRoutes( + routes[i] as Routes, + [...previous, i], + [ + ...translatedPrevious, + Object.prototype.hasOwnProperty.call(routes[i], "index") + ? routes[i]["index"] + : i, + ], + result + ); + } else { + let key = "/" + previous.join("/"); + let value = "/" + translatedPrevious.join("/"); + + if (i === "index") { + result[key] = value; + + key += "/" + i; + value += "/" + i; + + result[key] = value; + } else { + key += "/" + i; + value += "/" + routes[i]; + + result[key] = value; + } + } + } + + return result; +}; diff --git a/node_modules/astro-i18next/src/index.ts b/node_modules/astro-i18next/src/index.ts new file mode 100644 index 00000000..782d5bf0 --- /dev/null +++ b/node_modules/astro-i18next/src/index.ts @@ -0,0 +1,185 @@ +import { AstroIntegration } from "astro"; +import { InitOptions } from "i18next"; +import { astroI18nextConfigBuilder, setAstroI18nextConfig } from "./config"; +import { AstroI18nextConfig, AstroI18nextOptions, Plugins } from "./types"; +import { + moveDefaultLocaleToFirstIndex, + deeplyStringifyObject, + getUserConfig, +} from "./utils"; +import { resolve } from "pathe"; + +export default (options?: AstroI18nextOptions): AstroIntegration => { + const customConfigPath = options?.configPath; + + return { + name: "astro-i18next", + hooks: { + "astro:config:setup": async ({ config, injectScript }) => { + /** + * 0. Get user config + */ + const userConfig = await getUserConfig(config.root, customConfigPath); + + if (customConfigPath && !userConfig?.value) { + throw new Error( + `[astro-i18next]: Could not find a config file at ${JSON.stringify( + customConfigPath + )}. Does the file exist?` + ); + } + + const astroI18nextConfig: AstroI18nextConfig = + astroI18nextConfigBuilder(userConfig?.value as AstroI18nextConfig); + + /** + * 1. Validate and prepare config + */ + if ( + !astroI18nextConfig.defaultLocale || + astroI18nextConfig.defaultLocale === "" + ) { + throw new Error( + "[astro-i18next]: you must set a `defaultLocale` in your astro-i18next config!" + ); + } + + if (!astroI18nextConfig.locales) { + astroI18nextConfig.locales = [astroI18nextConfig.defaultLocale]; + } + + if ( + !astroI18nextConfig.locales.includes(astroI18nextConfig.defaultLocale) + ) { + astroI18nextConfig.locales.unshift(astroI18nextConfig.defaultLocale); + } + + // make sure to have default locale set as first element in locales (for supportedLngs) + if ( + astroI18nextConfig.locales[0] !== astroI18nextConfig.defaultLocale + ) { + moveDefaultLocaleToFirstIndex( + astroI18nextConfig.locales as string[], + astroI18nextConfig.defaultLocale + ); + } + + // add trailingSlash config from astro if not set + astroI18nextConfig.trailingSlash = config.trailingSlash; + + if (astroI18nextConfig.load.includes("server")) { + // Build server side i18next config + // set i18next supported and fallback languages (same as locales) + const serverConfig: InitOptions = { + supportedLngs: astroI18nextConfig.locales as string[], + fallbackLng: astroI18nextConfig.locales as string[], + ns: astroI18nextConfig.namespaces, + defaultNS: astroI18nextConfig.defaultNamespace, + initImmediate: false, + backend: { + loadPath: resolve( + `${config.publicDir.pathname}/${astroI18nextConfig.resourcesBasePath}/{{lng}}/{{ns}}.json` + ), + }, + ...astroI18nextConfig.i18nextServer, + }; + + const defaultI18nextServerPlugins: Plugins = { + fsBackend: "i18next-fs-backend", + }; + + const i18nextServerPlugins = { + ...defaultI18nextServerPlugins, + ...astroI18nextConfig.i18nextServerPlugins, + }; + + let { imports: serverImports, i18nextInit: i18nextInitServer } = + i18nextScriptBuilder(serverConfig, i18nextServerPlugins); + + // initializing runtime astro-i18next config + serverImports += `import {initAstroI18next} from "astro-i18next";`; + const astroI18nextInit = `initAstroI18next(${deeplyStringifyObject( + astroI18nextConfig + )});`; + + // server side i18next instance + injectScript( + "page-ssr", + serverImports + i18nextInitServer + astroI18nextInit + ); + } + + if (astroI18nextConfig.load?.includes("client")) { + const clientConfig: InitOptions = { + supportedLngs: astroI18nextConfig.locales as string[], + fallbackLng: astroI18nextConfig.locales as string[], + ns: astroI18nextConfig.namespaces, + defaultNS: astroI18nextConfig.defaultNamespace, + detection: { + order: ["htmlTag"], + caches: [], + }, + backend: { + loadPath: `${astroI18nextConfig.resourcesBasePath}/{{lng}}/{{ns}}.json`, + }, + ...astroI18nextConfig.i18nextClient, + }; + + const defaultI18nextClientPlugins: Plugins = { + httpBackend: "i18next-http-backend", + LanguageDetector: "i18next-browser-languagedetector", + }; + + const i18nextClientPlugins = { + ...defaultI18nextClientPlugins, + ...astroI18nextConfig.i18nextClientPlugins, + }; + + let { imports: clientImports, i18nextInit: i18nextInitClient } = + i18nextScriptBuilder(clientConfig, i18nextClientPlugins); + + // client side i18next instance + injectScript("before-hydration", clientImports + i18nextInitClient); + } + }, + }, + }; +}; + +const i18nextScriptBuilder = (config: InitOptions, plugins: Plugins) => { + let imports = `import i18next from "i18next";`; + let i18nextInit = "i18next"; + + if (Object.keys(plugins).length > 0) { + for (const key of Object.keys(plugins)) { + // discard plugin if it does not have import name + if (plugins[key] === null) { + continue; + } + + imports += `import ${key} from "${plugins[key]}";`; + i18nextInit += `.use(${key.replace(/[{}]/g, "")})`; + } + } + + i18nextInit += `.init(${deeplyStringifyObject(config)});`; + + return { imports, i18nextInit }; +}; + +export function initAstroI18next(config: AstroI18nextConfig) { + // init runtime config + setAstroI18nextConfig(config); +} + +export { AstroI18next } from "./config"; + +export { + createReferenceStringFromHTML, + detectLocaleFromPath, + interpolate, + localizePath, + localizeUrl, +} from "./utils"; + +export { AstroI18nextConfig, AstroI18nextOptions } from "./types"; diff --git a/node_modules/astro-i18next/src/types.ts b/node_modules/astro-i18next/src/types.ts new file mode 100644 index 00000000..7b26c49f --- /dev/null +++ b/node_modules/astro-i18next/src/types.ts @@ -0,0 +1,134 @@ +import { InitOptions } from "i18next"; + +export interface AstroI18nextGlobal { + config: AstroI18nextConfig; +} + +export interface AstroI18nextOptions { + /** + * Path to your astro-i18next config file + * + * @default 'astro-i18next.config.js' + */ + configPath?: string; +} + +export interface Routes { + [segment: string]: string | Record; +} + +export interface Plugins { + [importName: string]: string | null; +} + +export interface AstroI18nextConfig { + /** + * The default locale for your website. + * + * @default "cimode" + */ + defaultLocale: string; + + /** + * The locales that are supported by your website. + * + * @default [] + */ + locales: string[]; + + /** + * String or array of namespaces to load + * + * @default "translation" + */ + namespaces?: string | string[]; + + /** + * Default namespace used if not passed to the translation function + * + * @default "translation" + */ + defaultNamespace?: string; + + /** + * Load i18next on server side only, client side only or both. + * + * @default ["server"] + */ + load?: ("server" | "client")[]; + + /** + * Set base path for i18next resources. + * + * @default "/locales" + */ + resourcesBasePath?: string; + + /** + * i18next server side config. See https://www.i18next.com/overview/configuration-options + */ + i18nextServer?: InitOptions; + + /** + * i18next client side config. See https://www.i18next.com/overview/configuration-options + */ + i18nextClient?: InitOptions; + + /** + * The translations for your routes. + * + * @default {} + */ + routes?: Routes; + + /** + * Generated mappings based on the routes + * + * @default {} + */ + readonly flatRoutes?: Record; + + /** + * The display behaviour for the URL locale. + * + * @default false + */ + showDefaultLocale?: boolean; + + /** + * i18next server side plugins. See https://www.i18next.com/overview/plugins-and-utils + * + * Include the plugins with the key being the import name and the value being the plugin name. + * + * Eg.: + * ``` + * { + * "Backend": "i18next-fs-backend", + * } + * ``` + */ + i18nextServerPlugins?: Plugins; + + /** + * i18next client side plugins. See https://www.i18next.com/overview/plugins-and-utils + * + * Include the plugins with the key being the import name and the value being the plugin name. + * + * Eg.: + * ``` + * { + * "{initReactI18next}": "react-i18next", + * } + * ``` + */ + i18nextClientPlugins?: Plugins; + + /** + * Set the route matching behavior of the dev server. Choose from the following options: + * + * 'always' - Only match URLs that include a trailing slash (ex: "/foo/") + * 'never' - Never match URLs that include a trailing slash (ex: "/foo") + * 'ignore' - Match URLs regardless of whether a trailing "/" exists + */ + trailingSlash?: "always" | "never" | "ignore"; +} diff --git a/node_modules/astro-i18next/src/utils.ts b/node_modules/astro-i18next/src/utils.ts new file mode 100644 index 00000000..5dee603d --- /dev/null +++ b/node_modules/astro-i18next/src/utils.ts @@ -0,0 +1,387 @@ +import i18next, { t } from "i18next"; +import { fileURLToPath } from "url"; +import load from "@proload/core"; +import { AstroI18nextConfig } from "./types"; +import typescript from "@proload/plugin-tsm"; +import { AstroI18next } from "./config"; + +/** + * Adapted from astro's tailwind integration: + * https://github.com/withastro/astro/tree/main/packages/integrations/tailwind + */ +/* c8 ignore start */ +export const getUserConfig = async ( + root: URL, + configPath?: string +): Promise> => { + const resolvedRoot = fileURLToPath(root); + let userConfigPath: string | undefined; + + if (configPath) { + const configPathWithLeadingSlash = /^\.*\//.test(configPath) + ? configPath + : `./${configPath}`; + + userConfigPath = fileURLToPath(new URL(configPathWithLeadingSlash, root)); + } + + load.use([typescript]); + return (await load("astro-i18next", { + mustExist: false, + cwd: resolvedRoot, + filePath: userConfigPath, + })) as load.Config; +}; +/* c8 ignore stop */ + +/** + * Moves the default locale in the first index + */ +export const moveDefaultLocaleToFirstIndex = ( + locales: string[], + baseLocale: string +): void => { + const baseLocaleIndex = locales.indexOf(baseLocale); + locales.splice(baseLocaleIndex, 1); + locales.unshift(baseLocale); +}; + +/** + * Interpolates a localized string (loaded with the i18nKey) to a given reference string. + */ +export const interpolate = ( + i18nKey: string, + referenceString: string, + namespace: string | null = null +): string => { + const localizedString = t(i18nKey, { ns: namespace }); + + if (localizedString === i18nKey) { + console.warn(`WARNING(astro-i18next): missing translation key ${i18nKey}.`); + return referenceString; + } + + const tagsRegex = /<([\w\d]+)([^>]*)>/gi; + + const referenceStringMatches = referenceString.match(tagsRegex); + + if (!referenceStringMatches) { + console.warn( + "WARNING(astro-i18next): default slot does not include any HTML tag to interpolate! You should use the `t` function directly." + ); + return localizedString; + } + + const referenceTags = []; + referenceStringMatches.forEach((tagNode) => { + const [, name, attributes] = tagsRegex.exec(tagNode); + referenceTags.push({ name, attributes }); + + // reset regex state + tagsRegex.exec(""); + }); + + let interpolatedString = localizedString; + for (let index = 0; index < referenceTags.length; index++) { + const referencedTag = referenceTags[index]; + // Replace opening tags + interpolatedString = interpolatedString.replaceAll( + `<${index}>`, + `<${referencedTag.name}${referencedTag.attributes}>` + ); + // Replace closing tags + interpolatedString = interpolatedString.replaceAll( + ``, + `` + ); + } + + return interpolatedString; +}; + +/** + * Creates a reference string from an HTML string. The reverse of interpolate(), for use + * with when not explicitly setting a key + */ +export const createReferenceStringFromHTML = (html: string) => { + // Allow these tags to carry through to the output + const allowedTags = ["strong", "br", "em", "i", "b"]; + + let forbiddenStrings: { key: string; str: string }[] = []; + if (i18next.options) { + forbiddenStrings = [ + "keySeparator", + "nsSeparator", + "pluralSeparator", + "contextSeparator", + ] + .map((key) => { + return { + key, + str: i18next.options[key], + }; + }) + .filter(function (val: T | undefined): val is T { + return typeof val !== "undefined"; + }); + } + + const tagsRegex = /<([\w\d]+)([^>]*)>/gi; + + const referenceStringMatches = html.match(tagsRegex); + + if (!referenceStringMatches) { + console.warn( + "WARNING(astro-i18next): default slot does not include any HTML tag to interpolate! You should use the `t` function directly." + ); + return html; + } + + const referenceTags = []; + referenceStringMatches.forEach((tagNode) => { + const [, name, attributes] = tagsRegex.exec(tagNode); + referenceTags.push({ name, attributes }); + + // reset regex state + tagsRegex.exec(""); + }); + + let sanitizedString = html.replace(/\s+/g, " ").trim(); + for (let index = 0; index < referenceTags.length; index++) { + const referencedTag = referenceTags[index]; + if ( + allowedTags.includes(referencedTag.name) && + referencedTag.attributes.trim().length === 0 + ) { + continue; + } + sanitizedString = sanitizedString.replaceAll( + new RegExp(`<${referencedTag.name}[^>]*?\\s*\\/>`, "gi"), + `<${index}/>` + ); + sanitizedString = sanitizedString.replaceAll( + `<${referencedTag.name}${referencedTag.attributes}>`, + `<${index}>` + ); + sanitizedString = sanitizedString.replaceAll( + ``, + `` + ); + } + + for (let index = 0; index < forbiddenStrings.length; index++) { + const { key, str } = forbiddenStrings[index]; + if (sanitizedString.includes(str)) { + console.warn( + `WARNING(astro-i18next): "${str}" was found in a translation key, but it is also used as ${key}. Either explicitly set an i18nKey or change the value of ${key}.` + ); + } + } + return sanitizedString; +}; + +export const handleTrailingSlash = ( + path: string, + trailingSlash: AstroI18nextConfig["trailingSlash"] +) => { + if (path === "/") { + return path; + } + + switch (trailingSlash) { + case "always": + return path.endsWith("/") ? path : path + "/"; + case "never": + return path.replace(/\/$/, ""); + default: + return path; + } +}; + +/** + * Injects the given locale to a path + */ +export const localizePath = ( + path: string = "/", + locale: string | null = null, + base: string = import.meta.env.BASE_URL +): string => { + if (!locale) { + locale = i18next.language; + } + + let pathSegments = path.split("/").filter((segment) => segment !== ""); + const baseSegments = base.split("/").filter((segment) => segment !== ""); + + if ( + JSON.stringify(pathSegments).startsWith( + JSON.stringify(baseSegments).replace(/]+$/, "") + ) + ) { + // remove base from path + pathSegments.splice(0, baseSegments.length); + } + + path = pathSegments.length === 0 ? "" : pathSegments.join("/"); + base = baseSegments.length === 0 ? "/" : "/" + baseSegments.join("/") + "/"; + + const { + flatRoutes, + showDefaultLocale, + defaultLocale, + locales, + trailingSlash, + } = AstroI18next.config; + + if (!locales.includes(locale)) { + console.warn( + `WARNING(astro-i18next): "${locale}" locale is not supported, add it to the locales in your astro config.` + ); + return handleTrailingSlash(`${base}${path}`, trailingSlash); + } + + if (pathSegments.length === 0) { + if (showDefaultLocale) { + return handleTrailingSlash(`${base}${locale}`, trailingSlash); + } + + return handleTrailingSlash( + locale === defaultLocale ? base : `${base}${locale}`, + trailingSlash + ); + } + + // check if the path is not already present in flatRoutes + if (locale === defaultLocale) { + const translatedPathKey = Object.keys(flatRoutes).find( + (key) => flatRoutes[key] === "/" + path + ); + if (typeof translatedPathKey !== "undefined") { + pathSegments = translatedPathKey + .split("/") + .filter((segment) => segment !== ""); + } + } + + // remove locale from pathSegments (if there is any) + for (const locale of locales) { + if (pathSegments[0] === locale) { + pathSegments.shift(); + break; + } + } + + // prepend the given locale if it's not the base one (unless showDefaultLocale) + if (showDefaultLocale || locale !== defaultLocale) { + pathSegments = [locale, ...pathSegments]; + } + + const localizedPath = base + pathSegments.join("/"); + + // is path translated? + if ( + Object.prototype.hasOwnProperty.call( + flatRoutes, + localizedPath.replace(/\/$/, "") + ) + ) { + return handleTrailingSlash( + flatRoutes[localizedPath.replace(/\/$/, "")], + trailingSlash + ); + } + + return handleTrailingSlash(localizedPath, trailingSlash); +}; + +/** + * Injects the given locale to a url + */ +export const localizeUrl = ( + url: string, + locale: string | null = null, + base: string = import.meta.env.BASE_URL +): string => { + const [protocol, , host, ...path] = url.split("/"); + const baseUrl = protocol + "//" + host; + + return baseUrl + localizePath(path.join("/"), locale, base); +}; + +/** + * Returns the locale detected from a given path + */ +export const detectLocaleFromPath = (path: string) => { + // remove all leading slashes + path = path.replace(/^\/+/g, ""); + + const { defaultLocale, locales } = AstroI18next.config; + + const pathSegments = path.split("/"); + + if ( + JSON.stringify(pathSegments) === JSON.stringify([""]) || + JSON.stringify(pathSegments) === JSON.stringify(["", ""]) + ) { + return defaultLocale; + } + + // make a copy of supported locales + let otherLocales = [...locales]; + otherLocales = otherLocales.filter((locale) => locale !== defaultLocale); // remove base locale (first index) + + // loop over all locales except the base one + for (const otherLocale of otherLocales) { + if (pathSegments[0] === otherLocale) { + // if the path starts with one of the other locales, then detected! + return otherLocale; + } + } + + // return default locale by default + return defaultLocale; +}; + +export const deeplyStringifyObject = (obj: object | Array): string => { + const isArray = Array.isArray(obj); + let str = isArray ? "[" : "{"; + for (const key in obj) { + if (obj[key] === null || obj[key] === undefined) { + continue; + } + + let value = null; + + // see typeof result: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof#description + switch (typeof obj[key]) { + case "string": { + value = `"${obj[key]}"`; + break; + } + case "number": + case "boolean": { + value = obj[key]; + break; + } + case "object": { + value = deeplyStringifyObject(obj[key]); + break; + } + case "function": { + value = obj[key].toString().replace(/\s+/g, " "); + break; + } + case "symbol": { + value = `Symbol("${obj[key].description}")`; + break; + } + /* c8 ignore start */ + default: + break; + /* c8 ignore stop */ + } + + str += isArray ? `${value},` : `"${key}": ${value},`; + } + return `${str}${isArray ? "]" : "}"}`; +}; diff --git a/node_modules/cross-fetch/CHANGELOG.md b/node_modules/cross-fetch/CHANGELOG.md new file mode 100644 index 00000000..2e432a6c --- /dev/null +++ b/node_modules/cross-fetch/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [4.0.0](https://github.com/lquixada/cross-fetch/compare/v4.0.0-alpha.13...v4.0.0) (2023-07-03) diff --git a/node_modules/cross-fetch/LICENSE b/node_modules/cross-fetch/LICENSE new file mode 100644 index 00000000..9198b86f --- /dev/null +++ b/node_modules/cross-fetch/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2017 Leonardo Quixadá + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. diff --git a/node_modules/cross-fetch/README.md b/node_modules/cross-fetch/README.md new file mode 100644 index 00000000..5e38a167 --- /dev/null +++ b/node_modules/cross-fetch/README.md @@ -0,0 +1,165 @@ +cross-fetch
+[![NPM Version](https://img.shields.io/npm/v/cross-fetch.svg?branch=main)](https://www.npmjs.com/package/cross-fetch) +[![Downloads Per Week](https://img.shields.io/npm/dw/cross-fetch.svg?color=blue)](https://www.npmjs.com/package/cross-fetch) +[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) +[![CI](https://github.com/lquixada/cross-fetch/actions/workflows/ci.yml/badge.svg)](https://github.com/lquixada/cross-fetch/actions/workflows/ci.yml) +[![codecov](https://codecov.io/gh/lquixada/cross-fetch/branch/main/graph/badge.svg)](https://codecov.io/gh/lquixada/cross-fetch) +================ + +Universal WHATWG Fetch API for Node, Browsers, Workers and React Native. The scenario that cross-fetch really shines is when the same JavaScript codebase needs to run on different platforms. + +- **Platform agnostic**: browsers, Node or React Native +- **Optional polyfill**: it's up to you if something is going to be added to the global object or not +- **Simple interface**: no instantiation, no configuration and no extra dependency +- **WHATWG compliant**: it works the same way wherever your code runs +- **TypeScript support**: better development experience with types. +- **Worker support**: works on different types of workers such as Service Workers and CloudFlare Workers + + +* * * + +## Table of Contents + +- [Table of Contents](#table-of-contents) +- [Install](#install) +- [Usage](#usage) +- [Demo \& API](#demo--api) +- [FAQ](#faq) + - [Yet another fetch library?](#yet-another-fetch-library) + - [Why polyfill might not be a good idea?](#why-polyfill-might-not-be-a-good-idea) + - [How does cross-fetch work?](#how-does-cross-fetch-work) +- [Who's Using It?](#whos-using-it) +- [Thanks](#thanks) +- [License](#license) +- [Author](#author) + +* * * + +## Install + +```sh +npm install --save cross-fetch +``` + +As a [ponyfill](https://github.com/sindresorhus/ponyfill) (imports locally): + +```javascript +// Using ES6 modules with Babel or TypeScript +import fetch from 'cross-fetch'; + +// Using CommonJS modules +const fetch = require('cross-fetch'); +``` + +As a polyfill (installs globally): + +```javascript +// Using ES6 modules +import 'cross-fetch/polyfill'; + +// Using CommonJS modules +require('cross-fetch/polyfill'); +``` + + +The CDN build is also available on unpkg: + +```html + +``` + +This adds the fetch function to the window object. Note that this is not UMD compatible. + + +* * * + +## Usage + +With [promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise): + +```javascript +import fetch from 'cross-fetch'; +// Or just: import 'cross-fetch/polyfill'; + +fetch('//api.github.com/users/lquixada') + .then(res => { + if (res.status >= 400) { + throw new Error("Bad response from server"); + } + return res.json(); + }) + .then(user => { + console.log(user); + }) + .catch(err => { + console.error(err); + }); +``` + +With [async/await](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function): + +```javascript +import fetch from 'cross-fetch'; +// Or just: import 'cross-fetch/polyfill'; + +(async () => { + try { + const res = await fetch('//api.github.com/users/lquixada'); + + if (res.status >= 400) { + throw new Error("Bad response from server"); + } + + const user = await res.json(); + + console.log(user); + } catch (err) { + console.error(err); + } +})(); +``` + +## Demo & API + +You can find a comprehensive doc at [Github's fetch](https://github.github.io/fetch/) page. If you want to play with cross-fetch, check our [**JSFiddle playground**](https://jsfiddle.net/lquixada/3ypqgacp/). + +> **Tip**: Run the fiddle on various browsers and with different settings (for instance: cross-domain requests, wrong urls or text requests). Don't forget to open the console in the test suite page and play around. + + +## FAQ + +#### Yet another fetch library? + +I did a lot of research in order to find a fetch library that could be simple, cross-platform and provide polyfill as an option. There's a plethora of libs out there but none could match those requirements. + +#### Why polyfill might not be a good idea? + +In a word? Risk. If the spec changes in the future, it might be problematic to debug. Read more about it on [sindresorhus's ponyfill](https://github.com/sindresorhus/ponyfill#how-are-ponyfills-better-than-polyfills) page. It's up to you if you're fine with it or not. + +#### How does cross-fetch work? + +Just like isomorphic-fetch, it is just a proxy. If you're in node, it delivers you the [node-fetch](https://github.com/bitinn/node-fetch/) library, if you're in a browser or React Native, it delivers you the github's [whatwg-fetch](https://github.com/github/fetch/). The same strategy applies whether you're using polyfill or ponyfill. + + +## Who's Using It? + +|[![The New York Times](./docs/images/logo-nytimes.png)](https://www.nytimes.com/)|[![Apollo GraphQL](./docs/images/logo-apollo.png)](https://github.com/apollographql/apollo-client/)|[![Facebook](./docs/images/logo-facebook.png)](https://github.com/facebook/fbjs/)|[![Swagger](./docs/images/logo-swagger.png)](https://swagger.io/)|[![VulcanJS](./docs/images/logo-vulcanjs.png)](http://vulcanjs.org)|[![graphql-request](./docs/images/logo-graphql-request.png)](https://github.com/prisma/graphql-request)| +|:---:|:---:|:---:|:---:|:---:|:---:| +|The New York Times|Apollo GraphQL|Facebook|Swagger|VulcanJS|graphql-request| + + +## Thanks + +Heavily inspired by the works of [matthew-andrews](https://github.com/matthew-andrews). Kudos to him! + + +## License + +cross-fetch is licensed under the [MIT license](https://github.com/lquixada/cross-fetch/blob/main/LICENSE) © [Leonardo Quixadá](https://twitter.com/lquixada/) + + +## Author + +|[![@lquixada](https://avatars0.githubusercontent.com/u/195494?v=4&s=96)](https://github.com/lquixada)| +|:---:| +|[@lquixada](http://www.github.com/lquixada)| diff --git a/node_modules/cross-fetch/dist/browser-polyfill.js b/node_modules/cross-fetch/dist/browser-polyfill.js new file mode 100644 index 00000000..74c42c00 --- /dev/null +++ b/node_modules/cross-fetch/dist/browser-polyfill.js @@ -0,0 +1,619 @@ +(function(self) { + +var irrelevant = (function (exports) { + + var global = + (typeof globalThis !== 'undefined' && globalThis) || + (typeof self !== 'undefined' && self) || + (typeof global !== 'undefined' && global); + + var support = { + searchParams: 'URLSearchParams' in global, + iterable: 'Symbol' in global && 'iterator' in Symbol, + blob: + 'FileReader' in global && + 'Blob' in global && + (function() { + try { + new Blob(); + return true + } catch (e) { + return false + } + })(), + formData: 'FormData' in global, + arrayBuffer: 'ArrayBuffer' in global + }; + + function isDataView(obj) { + return obj && DataView.prototype.isPrototypeOf(obj) + } + + if (support.arrayBuffer) { + var viewClasses = [ + '[object Int8Array]', + '[object Uint8Array]', + '[object Uint8ClampedArray]', + '[object Int16Array]', + '[object Uint16Array]', + '[object Int32Array]', + '[object Uint32Array]', + '[object Float32Array]', + '[object Float64Array]' + ]; + + var isArrayBufferView = + ArrayBuffer.isView || + function(obj) { + return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1 + }; + } + + function normalizeName(name) { + if (typeof name !== 'string') { + name = String(name); + } + if (/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(name) || name === '') { + throw new TypeError('Invalid character in header field name: "' + name + '"') + } + return name.toLowerCase() + } + + function normalizeValue(value) { + if (typeof value !== 'string') { + value = String(value); + } + return value + } + + // Build a destructive iterator for the value list + function iteratorFor(items) { + var iterator = { + next: function() { + var value = items.shift(); + return {done: value === undefined, value: value} + } + }; + + if (support.iterable) { + iterator[Symbol.iterator] = function() { + return iterator + }; + } + + return iterator + } + + function Headers(headers) { + this.map = {}; + + if (headers instanceof Headers) { + headers.forEach(function(value, name) { + this.append(name, value); + }, this); + } else if (Array.isArray(headers)) { + headers.forEach(function(header) { + this.append(header[0], header[1]); + }, this); + } else if (headers) { + Object.getOwnPropertyNames(headers).forEach(function(name) { + this.append(name, headers[name]); + }, this); + } + } + + Headers.prototype.append = function(name, value) { + name = normalizeName(name); + value = normalizeValue(value); + var oldValue = this.map[name]; + this.map[name] = oldValue ? oldValue + ', ' + value : value; + }; + + Headers.prototype['delete'] = function(name) { + delete this.map[normalizeName(name)]; + }; + + Headers.prototype.get = function(name) { + name = normalizeName(name); + return this.has(name) ? this.map[name] : null + }; + + Headers.prototype.has = function(name) { + return this.map.hasOwnProperty(normalizeName(name)) + }; + + Headers.prototype.set = function(name, value) { + this.map[normalizeName(name)] = normalizeValue(value); + }; + + Headers.prototype.forEach = function(callback, thisArg) { + for (var name in this.map) { + if (this.map.hasOwnProperty(name)) { + callback.call(thisArg, this.map[name], name, this); + } + } + }; + + Headers.prototype.keys = function() { + var items = []; + this.forEach(function(value, name) { + items.push(name); + }); + return iteratorFor(items) + }; + + Headers.prototype.values = function() { + var items = []; + this.forEach(function(value) { + items.push(value); + }); + return iteratorFor(items) + }; + + Headers.prototype.entries = function() { + var items = []; + this.forEach(function(value, name) { + items.push([name, value]); + }); + return iteratorFor(items) + }; + + if (support.iterable) { + Headers.prototype[Symbol.iterator] = Headers.prototype.entries; + } + + function consumed(body) { + if (body.bodyUsed) { + return Promise.reject(new TypeError('Already read')) + } + body.bodyUsed = true; + } + + function fileReaderReady(reader) { + return new Promise(function(resolve, reject) { + reader.onload = function() { + resolve(reader.result); + }; + reader.onerror = function() { + reject(reader.error); + }; + }) + } + + function readBlobAsArrayBuffer(blob) { + var reader = new FileReader(); + var promise = fileReaderReady(reader); + reader.readAsArrayBuffer(blob); + return promise + } + + function readBlobAsText(blob) { + var reader = new FileReader(); + var promise = fileReaderReady(reader); + reader.readAsText(blob); + return promise + } + + function readArrayBufferAsText(buf) { + var view = new Uint8Array(buf); + var chars = new Array(view.length); + + for (var i = 0; i < view.length; i++) { + chars[i] = String.fromCharCode(view[i]); + } + return chars.join('') + } + + function bufferClone(buf) { + if (buf.slice) { + return buf.slice(0) + } else { + var view = new Uint8Array(buf.byteLength); + view.set(new Uint8Array(buf)); + return view.buffer + } + } + + function Body() { + this.bodyUsed = false; + + this._initBody = function(body) { + /* + fetch-mock wraps the Response object in an ES6 Proxy to + provide useful test harness features such as flush. However, on + ES5 browsers without fetch or Proxy support pollyfills must be used; + the proxy-pollyfill is unable to proxy an attribute unless it exists + on the object before the Proxy is created. This change ensures + Response.bodyUsed exists on the instance, while maintaining the + semantic of setting Request.bodyUsed in the constructor before + _initBody is called. + */ + this.bodyUsed = this.bodyUsed; + this._bodyInit = body; + if (!body) { + this._bodyText = ''; + } else if (typeof body === 'string') { + this._bodyText = body; + } else if (support.blob && Blob.prototype.isPrototypeOf(body)) { + this._bodyBlob = body; + } else if (support.formData && FormData.prototype.isPrototypeOf(body)) { + this._bodyFormData = body; + } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { + this._bodyText = body.toString(); + } else if (support.arrayBuffer && support.blob && isDataView(body)) { + this._bodyArrayBuffer = bufferClone(body.buffer); + // IE 10-11 can't handle a DataView body. + this._bodyInit = new Blob([this._bodyArrayBuffer]); + } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) { + this._bodyArrayBuffer = bufferClone(body); + } else { + this._bodyText = body = Object.prototype.toString.call(body); + } + + if (!this.headers.get('content-type')) { + if (typeof body === 'string') { + this.headers.set('content-type', 'text/plain;charset=UTF-8'); + } else if (this._bodyBlob && this._bodyBlob.type) { + this.headers.set('content-type', this._bodyBlob.type); + } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { + this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + } + }; + + if (support.blob) { + this.blob = function() { + var rejected = consumed(this); + if (rejected) { + return rejected + } + + if (this._bodyBlob) { + return Promise.resolve(this._bodyBlob) + } else if (this._bodyArrayBuffer) { + return Promise.resolve(new Blob([this._bodyArrayBuffer])) + } else if (this._bodyFormData) { + throw new Error('could not read FormData body as blob') + } else { + return Promise.resolve(new Blob([this._bodyText])) + } + }; + + this.arrayBuffer = function() { + if (this._bodyArrayBuffer) { + var isConsumed = consumed(this); + if (isConsumed) { + return isConsumed + } + if (ArrayBuffer.isView(this._bodyArrayBuffer)) { + return Promise.resolve( + this._bodyArrayBuffer.buffer.slice( + this._bodyArrayBuffer.byteOffset, + this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength + ) + ) + } else { + return Promise.resolve(this._bodyArrayBuffer) + } + } else { + return this.blob().then(readBlobAsArrayBuffer) + } + }; + } + + this.text = function() { + var rejected = consumed(this); + if (rejected) { + return rejected + } + + if (this._bodyBlob) { + return readBlobAsText(this._bodyBlob) + } else if (this._bodyArrayBuffer) { + return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer)) + } else if (this._bodyFormData) { + throw new Error('could not read FormData body as text') + } else { + return Promise.resolve(this._bodyText) + } + }; + + if (support.formData) { + this.formData = function() { + return this.text().then(decode) + }; + } + + this.json = function() { + return this.text().then(JSON.parse) + }; + + return this + } + + // HTTP methods whose capitalization should be normalized + var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']; + + function normalizeMethod(method) { + var upcased = method.toUpperCase(); + return methods.indexOf(upcased) > -1 ? upcased : method + } + + function Request(input, options) { + if (!(this instanceof Request)) { + throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.') + } + + options = options || {}; + var body = options.body; + + if (input instanceof Request) { + if (input.bodyUsed) { + throw new TypeError('Already read') + } + this.url = input.url; + this.credentials = input.credentials; + if (!options.headers) { + this.headers = new Headers(input.headers); + } + this.method = input.method; + this.mode = input.mode; + this.signal = input.signal; + if (!body && input._bodyInit != null) { + body = input._bodyInit; + input.bodyUsed = true; + } + } else { + this.url = String(input); + } + + this.credentials = options.credentials || this.credentials || 'same-origin'; + if (options.headers || !this.headers) { + this.headers = new Headers(options.headers); + } + this.method = normalizeMethod(options.method || this.method || 'GET'); + this.mode = options.mode || this.mode || null; + this.signal = options.signal || this.signal; + this.referrer = null; + + if ((this.method === 'GET' || this.method === 'HEAD') && body) { + throw new TypeError('Body not allowed for GET or HEAD requests') + } + this._initBody(body); + + if (this.method === 'GET' || this.method === 'HEAD') { + if (options.cache === 'no-store' || options.cache === 'no-cache') { + // Search for a '_' parameter in the query string + var reParamSearch = /([?&])_=[^&]*/; + if (reParamSearch.test(this.url)) { + // If it already exists then set the value with the current time + this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime()); + } else { + // Otherwise add a new '_' parameter to the end with the current time + var reQueryString = /\?/; + this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime(); + } + } + } + } + + Request.prototype.clone = function() { + return new Request(this, {body: this._bodyInit}) + }; + + function decode(body) { + var form = new FormData(); + body + .trim() + .split('&') + .forEach(function(bytes) { + if (bytes) { + var split = bytes.split('='); + var name = split.shift().replace(/\+/g, ' '); + var value = split.join('=').replace(/\+/g, ' '); + form.append(decodeURIComponent(name), decodeURIComponent(value)); + } + }); + return form + } + + function parseHeaders(rawHeaders) { + var headers = new Headers(); + // Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space + // https://tools.ietf.org/html/rfc7230#section-3.2 + var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' '); + // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill + // https://github.com/github/fetch/issues/748 + // https://github.com/zloirock/core-js/issues/751 + preProcessedHeaders + .split('\r') + .map(function(header) { + return header.indexOf('\n') === 0 ? header.substr(1, header.length) : header + }) + .forEach(function(line) { + var parts = line.split(':'); + var key = parts.shift().trim(); + if (key) { + var value = parts.join(':').trim(); + headers.append(key, value); + } + }); + return headers + } + + Body.call(Request.prototype); + + function Response(bodyInit, options) { + if (!(this instanceof Response)) { + throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.') + } + if (!options) { + options = {}; + } + + this.type = 'default'; + this.status = options.status === undefined ? 200 : options.status; + this.ok = this.status >= 200 && this.status < 300; + this.statusText = options.statusText === undefined ? '' : '' + options.statusText; + this.headers = new Headers(options.headers); + this.url = options.url || ''; + this._initBody(bodyInit); + } + + Body.call(Response.prototype); + + Response.prototype.clone = function() { + return new Response(this._bodyInit, { + status: this.status, + statusText: this.statusText, + headers: new Headers(this.headers), + url: this.url + }) + }; + + Response.error = function() { + var response = new Response(null, {status: 0, statusText: ''}); + response.type = 'error'; + return response + }; + + var redirectStatuses = [301, 302, 303, 307, 308]; + + Response.redirect = function(url, status) { + if (redirectStatuses.indexOf(status) === -1) { + throw new RangeError('Invalid status code') + } + + return new Response(null, {status: status, headers: {location: url}}) + }; + + exports.DOMException = global.DOMException; + try { + new exports.DOMException(); + } catch (err) { + exports.DOMException = function(message, name) { + this.message = message; + this.name = name; + var error = Error(message); + this.stack = error.stack; + }; + exports.DOMException.prototype = Object.create(Error.prototype); + exports.DOMException.prototype.constructor = exports.DOMException; + } + + function fetch(input, init) { + return new Promise(function(resolve, reject) { + var request = new Request(input, init); + + if (request.signal && request.signal.aborted) { + return reject(new exports.DOMException('Aborted', 'AbortError')) + } + + var xhr = new XMLHttpRequest(); + + function abortXhr() { + xhr.abort(); + } + + xhr.onload = function() { + var options = { + status: xhr.status, + statusText: xhr.statusText, + headers: parseHeaders(xhr.getAllResponseHeaders() || '') + }; + options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL'); + var body = 'response' in xhr ? xhr.response : xhr.responseText; + setTimeout(function() { + resolve(new Response(body, options)); + }, 0); + }; + + xhr.onerror = function() { + setTimeout(function() { + reject(new TypeError('Network request failed')); + }, 0); + }; + + xhr.ontimeout = function() { + setTimeout(function() { + reject(new TypeError('Network request failed')); + }, 0); + }; + + xhr.onabort = function() { + setTimeout(function() { + reject(new exports.DOMException('Aborted', 'AbortError')); + }, 0); + }; + + function fixUrl(url) { + try { + return url === '' && global.location.href ? global.location.href : url + } catch (e) { + return url + } + } + + xhr.open(request.method, fixUrl(request.url), true); + + if (request.credentials === 'include') { + xhr.withCredentials = true; + } else if (request.credentials === 'omit') { + xhr.withCredentials = false; + } + + if ('responseType' in xhr) { + if (support.blob) { + xhr.responseType = 'blob'; + } else if ( + support.arrayBuffer && + request.headers.get('Content-Type') && + request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1 + ) { + xhr.responseType = 'arraybuffer'; + } + } + + if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) { + Object.getOwnPropertyNames(init.headers).forEach(function(name) { + xhr.setRequestHeader(name, normalizeValue(init.headers[name])); + }); + } else { + request.headers.forEach(function(value, name) { + xhr.setRequestHeader(name, value); + }); + } + + if (request.signal) { + request.signal.addEventListener('abort', abortXhr); + + xhr.onreadystatechange = function() { + // DONE (success or failure) + if (xhr.readyState === 4) { + request.signal.removeEventListener('abort', abortXhr); + } + }; + } + + xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit); + }) + } + + fetch.polyfill = true; + + if (!global.fetch) { + global.fetch = fetch; + global.Headers = Headers; + global.Request = Request; + global.Response = Response; + } + + exports.Headers = Headers; + exports.Request = Request; + exports.Response = Response; + exports.fetch = fetch; + + return exports; + +})({}); +})(typeof self !== 'undefined' ? self : this); diff --git a/node_modules/cross-fetch/dist/browser-ponyfill.js b/node_modules/cross-fetch/dist/browser-ponyfill.js new file mode 100644 index 00000000..6ecf75a1 --- /dev/null +++ b/node_modules/cross-fetch/dist/browser-ponyfill.js @@ -0,0 +1,647 @@ +// Save global object in a variable +var __global__ = +(typeof globalThis !== 'undefined' && globalThis) || +(typeof self !== 'undefined' && self) || +(typeof global !== 'undefined' && global); +// Create an object that extends from __global__ without the fetch function +var __globalThis__ = (function () { +function F() { +this.fetch = false; +this.DOMException = __global__.DOMException +} +F.prototype = __global__; // Needed for feature detection on whatwg-fetch's code +return new F(); +})(); +// Wraps whatwg-fetch with a function scope to hijack the global object +// "globalThis" that's going to be patched +(function(globalThis) { + +var irrelevant = (function (exports) { + + var global = + (typeof globalThis !== 'undefined' && globalThis) || + (typeof self !== 'undefined' && self) || + (typeof global !== 'undefined' && global); + + var support = { + searchParams: 'URLSearchParams' in global, + iterable: 'Symbol' in global && 'iterator' in Symbol, + blob: + 'FileReader' in global && + 'Blob' in global && + (function() { + try { + new Blob(); + return true + } catch (e) { + return false + } + })(), + formData: 'FormData' in global, + arrayBuffer: 'ArrayBuffer' in global + }; + + function isDataView(obj) { + return obj && DataView.prototype.isPrototypeOf(obj) + } + + if (support.arrayBuffer) { + var viewClasses = [ + '[object Int8Array]', + '[object Uint8Array]', + '[object Uint8ClampedArray]', + '[object Int16Array]', + '[object Uint16Array]', + '[object Int32Array]', + '[object Uint32Array]', + '[object Float32Array]', + '[object Float64Array]' + ]; + + var isArrayBufferView = + ArrayBuffer.isView || + function(obj) { + return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1 + }; + } + + function normalizeName(name) { + if (typeof name !== 'string') { + name = String(name); + } + if (/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(name) || name === '') { + throw new TypeError('Invalid character in header field name: "' + name + '"') + } + return name.toLowerCase() + } + + function normalizeValue(value) { + if (typeof value !== 'string') { + value = String(value); + } + return value + } + + // Build a destructive iterator for the value list + function iteratorFor(items) { + var iterator = { + next: function() { + var value = items.shift(); + return {done: value === undefined, value: value} + } + }; + + if (support.iterable) { + iterator[Symbol.iterator] = function() { + return iterator + }; + } + + return iterator + } + + function Headers(headers) { + this.map = {}; + + if (headers instanceof Headers) { + headers.forEach(function(value, name) { + this.append(name, value); + }, this); + } else if (Array.isArray(headers)) { + headers.forEach(function(header) { + this.append(header[0], header[1]); + }, this); + } else if (headers) { + Object.getOwnPropertyNames(headers).forEach(function(name) { + this.append(name, headers[name]); + }, this); + } + } + + Headers.prototype.append = function(name, value) { + name = normalizeName(name); + value = normalizeValue(value); + var oldValue = this.map[name]; + this.map[name] = oldValue ? oldValue + ', ' + value : value; + }; + + Headers.prototype['delete'] = function(name) { + delete this.map[normalizeName(name)]; + }; + + Headers.prototype.get = function(name) { + name = normalizeName(name); + return this.has(name) ? this.map[name] : null + }; + + Headers.prototype.has = function(name) { + return this.map.hasOwnProperty(normalizeName(name)) + }; + + Headers.prototype.set = function(name, value) { + this.map[normalizeName(name)] = normalizeValue(value); + }; + + Headers.prototype.forEach = function(callback, thisArg) { + for (var name in this.map) { + if (this.map.hasOwnProperty(name)) { + callback.call(thisArg, this.map[name], name, this); + } + } + }; + + Headers.prototype.keys = function() { + var items = []; + this.forEach(function(value, name) { + items.push(name); + }); + return iteratorFor(items) + }; + + Headers.prototype.values = function() { + var items = []; + this.forEach(function(value) { + items.push(value); + }); + return iteratorFor(items) + }; + + Headers.prototype.entries = function() { + var items = []; + this.forEach(function(value, name) { + items.push([name, value]); + }); + return iteratorFor(items) + }; + + if (support.iterable) { + Headers.prototype[Symbol.iterator] = Headers.prototype.entries; + } + + function consumed(body) { + if (body.bodyUsed) { + return Promise.reject(new TypeError('Already read')) + } + body.bodyUsed = true; + } + + function fileReaderReady(reader) { + return new Promise(function(resolve, reject) { + reader.onload = function() { + resolve(reader.result); + }; + reader.onerror = function() { + reject(reader.error); + }; + }) + } + + function readBlobAsArrayBuffer(blob) { + var reader = new FileReader(); + var promise = fileReaderReady(reader); + reader.readAsArrayBuffer(blob); + return promise + } + + function readBlobAsText(blob) { + var reader = new FileReader(); + var promise = fileReaderReady(reader); + reader.readAsText(blob); + return promise + } + + function readArrayBufferAsText(buf) { + var view = new Uint8Array(buf); + var chars = new Array(view.length); + + for (var i = 0; i < view.length; i++) { + chars[i] = String.fromCharCode(view[i]); + } + return chars.join('') + } + + function bufferClone(buf) { + if (buf.slice) { + return buf.slice(0) + } else { + var view = new Uint8Array(buf.byteLength); + view.set(new Uint8Array(buf)); + return view.buffer + } + } + + function Body() { + this.bodyUsed = false; + + this._initBody = function(body) { + /* + fetch-mock wraps the Response object in an ES6 Proxy to + provide useful test harness features such as flush. However, on + ES5 browsers without fetch or Proxy support pollyfills must be used; + the proxy-pollyfill is unable to proxy an attribute unless it exists + on the object before the Proxy is created. This change ensures + Response.bodyUsed exists on the instance, while maintaining the + semantic of setting Request.bodyUsed in the constructor before + _initBody is called. + */ + this.bodyUsed = this.bodyUsed; + this._bodyInit = body; + if (!body) { + this._bodyText = ''; + } else if (typeof body === 'string') { + this._bodyText = body; + } else if (support.blob && Blob.prototype.isPrototypeOf(body)) { + this._bodyBlob = body; + } else if (support.formData && FormData.prototype.isPrototypeOf(body)) { + this._bodyFormData = body; + } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { + this._bodyText = body.toString(); + } else if (support.arrayBuffer && support.blob && isDataView(body)) { + this._bodyArrayBuffer = bufferClone(body.buffer); + // IE 10-11 can't handle a DataView body. + this._bodyInit = new Blob([this._bodyArrayBuffer]); + } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) { + this._bodyArrayBuffer = bufferClone(body); + } else { + this._bodyText = body = Object.prototype.toString.call(body); + } + + if (!this.headers.get('content-type')) { + if (typeof body === 'string') { + this.headers.set('content-type', 'text/plain;charset=UTF-8'); + } else if (this._bodyBlob && this._bodyBlob.type) { + this.headers.set('content-type', this._bodyBlob.type); + } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { + this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + } + }; + + if (support.blob) { + this.blob = function() { + var rejected = consumed(this); + if (rejected) { + return rejected + } + + if (this._bodyBlob) { + return Promise.resolve(this._bodyBlob) + } else if (this._bodyArrayBuffer) { + return Promise.resolve(new Blob([this._bodyArrayBuffer])) + } else if (this._bodyFormData) { + throw new Error('could not read FormData body as blob') + } else { + return Promise.resolve(new Blob([this._bodyText])) + } + }; + + this.arrayBuffer = function() { + if (this._bodyArrayBuffer) { + var isConsumed = consumed(this); + if (isConsumed) { + return isConsumed + } + if (ArrayBuffer.isView(this._bodyArrayBuffer)) { + return Promise.resolve( + this._bodyArrayBuffer.buffer.slice( + this._bodyArrayBuffer.byteOffset, + this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength + ) + ) + } else { + return Promise.resolve(this._bodyArrayBuffer) + } + } else { + return this.blob().then(readBlobAsArrayBuffer) + } + }; + } + + this.text = function() { + var rejected = consumed(this); + if (rejected) { + return rejected + } + + if (this._bodyBlob) { + return readBlobAsText(this._bodyBlob) + } else if (this._bodyArrayBuffer) { + return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer)) + } else if (this._bodyFormData) { + throw new Error('could not read FormData body as text') + } else { + return Promise.resolve(this._bodyText) + } + }; + + if (support.formData) { + this.formData = function() { + return this.text().then(decode) + }; + } + + this.json = function() { + return this.text().then(JSON.parse) + }; + + return this + } + + // HTTP methods whose capitalization should be normalized + var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']; + + function normalizeMethod(method) { + var upcased = method.toUpperCase(); + return methods.indexOf(upcased) > -1 ? upcased : method + } + + function Request(input, options) { + if (!(this instanceof Request)) { + throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.') + } + + options = options || {}; + var body = options.body; + + if (input instanceof Request) { + if (input.bodyUsed) { + throw new TypeError('Already read') + } + this.url = input.url; + this.credentials = input.credentials; + if (!options.headers) { + this.headers = new Headers(input.headers); + } + this.method = input.method; + this.mode = input.mode; + this.signal = input.signal; + if (!body && input._bodyInit != null) { + body = input._bodyInit; + input.bodyUsed = true; + } + } else { + this.url = String(input); + } + + this.credentials = options.credentials || this.credentials || 'same-origin'; + if (options.headers || !this.headers) { + this.headers = new Headers(options.headers); + } + this.method = normalizeMethod(options.method || this.method || 'GET'); + this.mode = options.mode || this.mode || null; + this.signal = options.signal || this.signal; + this.referrer = null; + + if ((this.method === 'GET' || this.method === 'HEAD') && body) { + throw new TypeError('Body not allowed for GET or HEAD requests') + } + this._initBody(body); + + if (this.method === 'GET' || this.method === 'HEAD') { + if (options.cache === 'no-store' || options.cache === 'no-cache') { + // Search for a '_' parameter in the query string + var reParamSearch = /([?&])_=[^&]*/; + if (reParamSearch.test(this.url)) { + // If it already exists then set the value with the current time + this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime()); + } else { + // Otherwise add a new '_' parameter to the end with the current time + var reQueryString = /\?/; + this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime(); + } + } + } + } + + Request.prototype.clone = function() { + return new Request(this, {body: this._bodyInit}) + }; + + function decode(body) { + var form = new FormData(); + body + .trim() + .split('&') + .forEach(function(bytes) { + if (bytes) { + var split = bytes.split('='); + var name = split.shift().replace(/\+/g, ' '); + var value = split.join('=').replace(/\+/g, ' '); + form.append(decodeURIComponent(name), decodeURIComponent(value)); + } + }); + return form + } + + function parseHeaders(rawHeaders) { + var headers = new Headers(); + // Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space + // https://tools.ietf.org/html/rfc7230#section-3.2 + var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' '); + // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill + // https://github.com/github/fetch/issues/748 + // https://github.com/zloirock/core-js/issues/751 + preProcessedHeaders + .split('\r') + .map(function(header) { + return header.indexOf('\n') === 0 ? header.substr(1, header.length) : header + }) + .forEach(function(line) { + var parts = line.split(':'); + var key = parts.shift().trim(); + if (key) { + var value = parts.join(':').trim(); + headers.append(key, value); + } + }); + return headers + } + + Body.call(Request.prototype); + + function Response(bodyInit, options) { + if (!(this instanceof Response)) { + throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.') + } + if (!options) { + options = {}; + } + + this.type = 'default'; + this.status = options.status === undefined ? 200 : options.status; + this.ok = this.status >= 200 && this.status < 300; + this.statusText = options.statusText === undefined ? '' : '' + options.statusText; + this.headers = new Headers(options.headers); + this.url = options.url || ''; + this._initBody(bodyInit); + } + + Body.call(Response.prototype); + + Response.prototype.clone = function() { + return new Response(this._bodyInit, { + status: this.status, + statusText: this.statusText, + headers: new Headers(this.headers), + url: this.url + }) + }; + + Response.error = function() { + var response = new Response(null, {status: 0, statusText: ''}); + response.type = 'error'; + return response + }; + + var redirectStatuses = [301, 302, 303, 307, 308]; + + Response.redirect = function(url, status) { + if (redirectStatuses.indexOf(status) === -1) { + throw new RangeError('Invalid status code') + } + + return new Response(null, {status: status, headers: {location: url}}) + }; + + exports.DOMException = global.DOMException; + try { + new exports.DOMException(); + } catch (err) { + exports.DOMException = function(message, name) { + this.message = message; + this.name = name; + var error = Error(message); + this.stack = error.stack; + }; + exports.DOMException.prototype = Object.create(Error.prototype); + exports.DOMException.prototype.constructor = exports.DOMException; + } + + function fetch(input, init) { + return new Promise(function(resolve, reject) { + var request = new Request(input, init); + + if (request.signal && request.signal.aborted) { + return reject(new exports.DOMException('Aborted', 'AbortError')) + } + + var xhr = new XMLHttpRequest(); + + function abortXhr() { + xhr.abort(); + } + + xhr.onload = function() { + var options = { + status: xhr.status, + statusText: xhr.statusText, + headers: parseHeaders(xhr.getAllResponseHeaders() || '') + }; + options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL'); + var body = 'response' in xhr ? xhr.response : xhr.responseText; + setTimeout(function() { + resolve(new Response(body, options)); + }, 0); + }; + + xhr.onerror = function() { + setTimeout(function() { + reject(new TypeError('Network request failed')); + }, 0); + }; + + xhr.ontimeout = function() { + setTimeout(function() { + reject(new TypeError('Network request failed')); + }, 0); + }; + + xhr.onabort = function() { + setTimeout(function() { + reject(new exports.DOMException('Aborted', 'AbortError')); + }, 0); + }; + + function fixUrl(url) { + try { + return url === '' && global.location.href ? global.location.href : url + } catch (e) { + return url + } + } + + xhr.open(request.method, fixUrl(request.url), true); + + if (request.credentials === 'include') { + xhr.withCredentials = true; + } else if (request.credentials === 'omit') { + xhr.withCredentials = false; + } + + if ('responseType' in xhr) { + if (support.blob) { + xhr.responseType = 'blob'; + } else if ( + support.arrayBuffer && + request.headers.get('Content-Type') && + request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1 + ) { + xhr.responseType = 'arraybuffer'; + } + } + + if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) { + Object.getOwnPropertyNames(init.headers).forEach(function(name) { + xhr.setRequestHeader(name, normalizeValue(init.headers[name])); + }); + } else { + request.headers.forEach(function(value, name) { + xhr.setRequestHeader(name, value); + }); + } + + if (request.signal) { + request.signal.addEventListener('abort', abortXhr); + + xhr.onreadystatechange = function() { + // DONE (success or failure) + if (xhr.readyState === 4) { + request.signal.removeEventListener('abort', abortXhr); + } + }; + } + + xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit); + }) + } + + fetch.polyfill = true; + + if (!global.fetch) { + global.fetch = fetch; + global.Headers = Headers; + global.Request = Request; + global.Response = Response; + } + + exports.Headers = Headers; + exports.Request = Request; + exports.Response = Response; + exports.fetch = fetch; + + return exports; + +})({}); +})(__globalThis__); +// This is a ponyfill, so... +__globalThis__.fetch.ponyfill = true; +delete __globalThis__.fetch.polyfill; +// Choose between native implementation (__global__) or custom implementation (__globalThis__) +var ctx = __global__.fetch ? __global__ : __globalThis__; +exports = ctx.fetch // To enable: import fetch from 'cross-fetch' +exports.default = ctx.fetch // For TypeScript consumers without esModuleInterop. +exports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch' +exports.Headers = ctx.Headers +exports.Request = ctx.Request +exports.Response = ctx.Response +module.exports = exports diff --git a/node_modules/cross-fetch/dist/cross-fetch.js b/node_modules/cross-fetch/dist/cross-fetch.js new file mode 100644 index 00000000..c54b9ed3 --- /dev/null +++ b/node_modules/cross-fetch/dist/cross-fetch.js @@ -0,0 +1,2 @@ +!function(t){!function(e){var r="undefined"!=typeof globalThis&&globalThis||void 0!==t&&t||void 0!==r&&r,o="URLSearchParams"in r,n="Symbol"in r&&"iterator"in Symbol,i="FileReader"in r&&"Blob"in r&&function(){try{return new Blob,!0}catch(t){return!1}}(),s="FormData"in r,a="ArrayBuffer"in r;if(a)var h=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],u=ArrayBuffer.isView||function(t){return t&&h.indexOf(Object.prototype.toString.call(t))>-1};function f(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function c(t){return"string"!=typeof t&&(t=String(t)),t}function d(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function y(t){this.map={},t instanceof y?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function p(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function l(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function b(t){var e=new FileReader,r=l(e);return e.readAsArrayBuffer(t),r}function m(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function w(){return this.bodyUsed=!1,this._initBody=function(t){var e;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:i&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:s&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:o&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():a&&i&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=m(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(t)||u(t))?this._bodyArrayBuffer=m(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):o&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var t=p(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t=p(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}return this.blob().then(b)}),this.text=function(){var t,e,r,o=p(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=l(e),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),o=0;o-1?o:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==e.cache&&"no-cache"!==e.cache)){var i=/([?&])_=[^&]*/;if(i.test(this.url))this.url=this.url.replace(i,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function T(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),o=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(o),decodeURIComponent(n))}})),e}function A(t,e){if(!(this instanceof A))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new y(e.headers),this.url=e.url||"",this._initBody(t)}E.prototype.clone=function(){return new E(this,{body:this._bodyInit})},w.call(E.prototype),w.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new y(this.headers),url:this.url})},A.error=function(){var t=new A(null,{status:0,statusText:""});return t.type="error",t};var _=[301,302,303,307,308];A.redirect=function(t,e){if(-1===_.indexOf(e))throw new RangeError("Invalid status code");return new A(null,{status:e,headers:{location:t}})},e.DOMException=r.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function g(t,o){return new Promise((function(n,s){var h=new E(t,o);if(h.signal&&h.signal.aborted)return s(new e.DOMException("Aborted","AbortError"));var u=new XMLHttpRequest;function f(){u.abort()}u.onload=function(){var t,e,r={status:u.status,statusText:u.statusText,headers:(t=u.getAllResponseHeaders()||"",e=new y,t.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t})).forEach((function(t){var r=t.split(":"),o=r.shift().trim();if(o){var n=r.join(":").trim();e.append(o,n)}})),e)};r.url="responseURL"in u?u.responseURL:r.headers.get("X-Request-URL");var o="response"in u?u.response:u.responseText;setTimeout((function(){n(new A(o,r))}),0)},u.onerror=function(){setTimeout((function(){s(new TypeError("Network request failed"))}),0)},u.ontimeout=function(){setTimeout((function(){s(new TypeError("Network request failed"))}),0)},u.onabort=function(){setTimeout((function(){s(new e.DOMException("Aborted","AbortError"))}),0)},u.open(h.method,function(t){try{return""===t&&r.location.href?r.location.href:t}catch(e){return t}}(h.url),!0),"include"===h.credentials?u.withCredentials=!0:"omit"===h.credentials&&(u.withCredentials=!1),"responseType"in u&&(i?u.responseType="blob":a&&h.headers.get("Content-Type")&&-1!==h.headers.get("Content-Type").indexOf("application/octet-stream")&&(u.responseType="arraybuffer")),!o||"object"!=typeof o.headers||o.headers instanceof y?h.headers.forEach((function(t,e){u.setRequestHeader(e,t)})):Object.getOwnPropertyNames(o.headers).forEach((function(t){u.setRequestHeader(t,c(o.headers[t]))})),h.signal&&(h.signal.addEventListener("abort",f),u.onreadystatechange=function(){4===u.readyState&&h.signal.removeEventListener("abort",f)}),u.send(void 0===h._bodyInit?null:h._bodyInit)}))}g.polyfill=!0,r.fetch||(r.fetch=g,r.Headers=y,r.Request=E,r.Response=A),e.Headers=y,e.Request=E,e.Response=A,e.fetch=g}({})}("undefined"!=typeof self?self:this); +//# sourceMappingURL=cross-fetch.js.map diff --git a/node_modules/cross-fetch/dist/cross-fetch.js.map b/node_modules/cross-fetch/dist/cross-fetch.js.map new file mode 100644 index 00000000..ebdc5c04 --- /dev/null +++ b/node_modules/cross-fetch/dist/cross-fetch.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cross-fetch.js","sources":["../node_modules/whatwg-fetch/fetch.js"],"sourcesContent":["var global =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n (typeof global !== 'undefined' && global)\n\nvar support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this)\n if (isConsumed) {\n return isConsumed\n }\n if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime())\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime()\n }\n }\n }\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = global.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n setTimeout(function() {\n resolve(new Response(body, options))\n }, 0)\n }\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }, 0)\n }\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob'\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer'\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]))\n })\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!global.fetch) {\n global.fetch = fetch\n global.Headers = Headers\n global.Request = Request\n global.Response = Response\n}\n"],"names":["global","globalThis","self","support","Symbol","Blob","e","viewClasses","isArrayBufferView","ArrayBuffer","isView","obj","indexOf","Object","prototype","toString","call","normalizeName","name","String","test","TypeError","toLowerCase","normalizeValue","value","iteratorFor","items","iterator","next","shift","done","undefined","Headers","headers","this","map","forEach","append","Array","isArray","header","getOwnPropertyNames","consumed","body","bodyUsed","Promise","reject","fileReaderReady","reader","resolve","onload","result","onerror","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","get","type","rejected","Error","arrayBuffer","isConsumed","byteOffset","then","text","readAsText","chars","length","i","fromCharCode","join","readArrayBufferAsText","formData","decode","json","JSON","parse","oldValue","has","hasOwnProperty","callback","thisArg","keys","push","values","entries","methods","Request","input","options","method","upcased","url","credentials","mode","signal","toUpperCase","referrer","cache","reParamSearch","replace","Date","getTime","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","status","ok","statusText","clone","response","redirectStatuses","redirect","RangeError","location","exports","DOMException","err","message","stack","create","constructor","fetch","init","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","substr","line","parts","key","responseURL","responseText","setTimeout","ontimeout","onabort","open","href","fixUrl","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill"],"mappings":"0BAAA,IAAIA,EACqB,oBAAfC,YAA8BA,iBACrB,IAATC,GAAwBA,QACb,IAAXF,GAA0BA,EAEhCG,EACY,oBAAqBH,EADjCG,EAEQ,WAAYH,GAAU,aAAcI,OAF5CD,EAIA,eAAgBH,GAChB,SAAUA,GACV,WACE,IAEE,OADA,IAAIK,MACG,CACR,CAAC,MAAOC,GACP,OAAO,CACR,CACF,CAPD,GANAH,EAcQ,aAAcH,EAdtBG,EAeW,gBAAiBH,EAOhC,GAAIG,EACF,IAAII,EAAc,CAChB,qBACA,sBACA,6BACA,sBACA,uBACA,sBACA,uBACA,wBACA,yBAGEC,EACFC,YAAYC,QACZ,SAASC,GACP,OAAOA,GAAOJ,EAAYK,QAAQC,OAAOC,UAAUC,SAASC,KAAKL,KAAS,CAC3E,EAGL,SAASM,EAAcC,GAIrB,GAHoB,iBAATA,IACTA,EAAOC,OAAOD,IAEZ,6BAA6BE,KAAKF,IAAkB,KAATA,EAC7C,MAAM,IAAIG,UAAU,4CAA8CH,EAAO,KAE3E,OAAOA,EAAKI,aACd,CAEA,SAASC,EAAeC,GAItB,MAHqB,iBAAVA,IACTA,EAAQL,OAAOK,IAEVA,CACT,CAGA,SAASC,EAAYC,GACnB,IAAIC,EAAW,CACbC,KAAM,WACJ,IAAIJ,EAAQE,EAAMG,QAClB,MAAO,CAACC,UAAgBC,IAAVP,EAAqBA,MAAOA,EAC3C,GASH,OANIrB,IACFwB,EAASvB,OAAOuB,UAAY,WAC1B,OAAOA,CACR,GAGIA,CACT,CAEO,SAASK,EAAQC,GACtBC,KAAKC,IAAM,CAAE,EAETF,aAAmBD,EACrBC,EAAQG,SAAQ,SAASZ,EAAON,GAC9BgB,KAAKG,OAAOnB,EAAMM,EACnB,GAAEU,MACMI,MAAMC,QAAQN,GACvBA,EAAQG,SAAQ,SAASI,GACvBN,KAAKG,OAAOG,EAAO,GAAIA,EAAO,GAC/B,GAAEN,MACMD,GACTpB,OAAO4B,oBAAoBR,GAASG,SAAQ,SAASlB,GACnDgB,KAAKG,OAAOnB,EAAMe,EAAQf,GAC3B,GAAEgB,KAEP,CA8DA,SAASQ,EAASC,GAChB,GAAIA,EAAKC,SACP,OAAOC,QAAQC,OAAO,IAAIzB,UAAU,iBAEtCsB,EAAKC,UAAW,CAClB,CAEA,SAASG,EAAgBC,GACvB,OAAO,IAAIH,SAAQ,SAASI,EAASH,GACnCE,EAAOE,OAAS,WACdD,EAAQD,EAAOG,OAChB,EACDH,EAAOI,QAAU,WACfN,EAAOE,EAAOK,MACf,CACL,GACA,CAEA,SAASC,EAAsBC,GAC7B,IAAIP,EAAS,IAAIQ,WACbC,EAAUV,EAAgBC,GAE9B,OADAA,EAAOU,kBAAkBH,GAClBE,CACT,CAmBA,SAASE,EAAYC,GACnB,GAAIA,EAAIC,MACN,OAAOD,EAAIC,MAAM,GAEjB,IAAIC,EAAO,IAAIC,WAAWH,EAAII,YAE9B,OADAF,EAAKG,IAAI,IAAIF,WAAWH,IACjBE,EAAKI,MAEhB,CAEA,SAASC,IAkHP,OAjHAjC,KAAKU,UAAW,EAEhBV,KAAKkC,UAAY,SAASzB,GAhM5B,IAAoBhC,EA2MhBuB,KAAKU,SAAWV,KAAKU,SACrBV,KAAKmC,UAAY1B,EACZA,EAEsB,iBAATA,EAChBT,KAAKoC,UAAY3B,EACRxC,GAAgBE,KAAKS,UAAUyD,cAAc5B,GACtDT,KAAKsC,UAAY7B,EACRxC,GAAoBsE,SAAS3D,UAAUyD,cAAc5B,GAC9DT,KAAKwC,cAAgB/B,EACZxC,GAAwBwE,gBAAgB7D,UAAUyD,cAAc5B,GACzET,KAAKoC,UAAY3B,EAAK5B,WACbZ,GAAuBA,KAvNlBQ,EAuN6CgC,IAtNjDiC,SAAS9D,UAAUyD,cAAc5D,KAuN3CuB,KAAK2C,iBAAmBlB,EAAYhB,EAAKuB,QAEzChC,KAAKmC,UAAY,IAAIhE,KAAK,CAAC6B,KAAK2C,oBACvB1E,IAAwBM,YAAYK,UAAUyD,cAAc5B,IAASnC,EAAkBmC,IAChGT,KAAK2C,iBAAmBlB,EAAYhB,GAEpCT,KAAKoC,UAAY3B,EAAO9B,OAAOC,UAAUC,SAASC,KAAK2B,GAhBvDT,KAAKoC,UAAY,GAmBdpC,KAAKD,QAAQ6C,IAAI,kBACA,iBAATnC,EACTT,KAAKD,QAAQgC,IAAI,eAAgB,4BACxB/B,KAAKsC,WAAatC,KAAKsC,UAAUO,KAC1C7C,KAAKD,QAAQgC,IAAI,eAAgB/B,KAAKsC,UAAUO,MACvC5E,GAAwBwE,gBAAgB7D,UAAUyD,cAAc5B,IACzET,KAAKD,QAAQgC,IAAI,eAAgB,mDAGtC,EAEG9D,IACF+B,KAAKqB,KAAO,WACV,IAAIyB,EAAWtC,EAASR,MACxB,GAAI8C,EACF,OAAOA,EAGT,GAAI9C,KAAKsC,UACP,OAAO3B,QAAQI,QAAQf,KAAKsC,WACvB,GAAItC,KAAK2C,iBACd,OAAOhC,QAAQI,QAAQ,IAAI5C,KAAK,CAAC6B,KAAK2C,oBACjC,GAAI3C,KAAKwC,cACd,MAAM,IAAIO,MAAM,wCAEhB,OAAOpC,QAAQI,QAAQ,IAAI5C,KAAK,CAAC6B,KAAKoC,YAEzC,EAEDpC,KAAKgD,YAAc,WACjB,GAAIhD,KAAK2C,iBAAkB,CACzB,IAAIM,EAAazC,EAASR,MAC1B,OAAIiD,IAGA1E,YAAYC,OAAOwB,KAAK2C,kBACnBhC,QAAQI,QACbf,KAAK2C,iBAAiBX,OAAOL,MAC3B3B,KAAK2C,iBAAiBO,WACtBlD,KAAK2C,iBAAiBO,WAAalD,KAAK2C,iBAAiBb,aAItDnB,QAAQI,QAAQf,KAAK2C,kBAEtC,CACQ,OAAO3C,KAAKqB,OAAO8B,KAAK/B,EAE3B,GAGHpB,KAAKoD,KAAO,WACV,IAnHoB/B,EAClBP,EACAS,EAiHEuB,EAAWtC,EAASR,MACxB,GAAI8C,EACF,OAAOA,EAGT,GAAI9C,KAAKsC,UACP,OAzHkBjB,EAyHIrB,KAAKsC,UAxH3BxB,EAAS,IAAIQ,WACbC,EAAUV,EAAgBC,GAC9BA,EAAOuC,WAAWhC,GACXE,EAsHE,GAAIvB,KAAK2C,iBACd,OAAOhC,QAAQI,QApHrB,SAA+BW,GAI7B,IAHA,IAAIE,EAAO,IAAIC,WAAWH,GACtB4B,EAAQ,IAAIlD,MAAMwB,EAAK2B,QAElBC,EAAI,EAAGA,EAAI5B,EAAK2B,OAAQC,IAC/BF,EAAME,GAAKvE,OAAOwE,aAAa7B,EAAK4B,IAEtC,OAAOF,EAAMI,KAAK,GACpB,CA4G6BC,CAAsB3D,KAAK2C,mBAC7C,GAAI3C,KAAKwC,cACd,MAAM,IAAIO,MAAM,wCAEhB,OAAOpC,QAAQI,QAAQf,KAAKoC,UAE/B,EAEGnE,IACF+B,KAAK4D,SAAW,WACd,OAAO5D,KAAKoD,OAAOD,KAAKU,EACzB,GAGH7D,KAAK8D,KAAO,WACV,OAAO9D,KAAKoD,OAAOD,KAAKY,KAAKC,MAC9B,EAEMhE,IACT,CAnOAF,EAAQlB,UAAUuB,OAAS,SAASnB,EAAMM,GACxCN,EAAOD,EAAcC,GACrBM,EAAQD,EAAeC,GACvB,IAAI2E,EAAWjE,KAAKC,IAAIjB,GACxBgB,KAAKC,IAAIjB,GAAQiF,EAAWA,EAAW,KAAO3E,EAAQA,CACxD,EAEAQ,EAAQlB,UAAkB,OAAI,SAASI,UAC9BgB,KAAKC,IAAIlB,EAAcC,GAChC,EAEAc,EAAQlB,UAAUgE,IAAM,SAAS5D,GAE/B,OADAA,EAAOD,EAAcC,GACdgB,KAAKkE,IAAIlF,GAAQgB,KAAKC,IAAIjB,GAAQ,IAC3C,EAEAc,EAAQlB,UAAUsF,IAAM,SAASlF,GAC/B,OAAOgB,KAAKC,IAAIkE,eAAepF,EAAcC,GAC/C,EAEAc,EAAQlB,UAAUmD,IAAM,SAAS/C,EAAMM,GACrCU,KAAKC,IAAIlB,EAAcC,IAASK,EAAeC,EACjD,EAEAQ,EAAQlB,UAAUsB,QAAU,SAASkE,EAAUC,GAC7C,IAAK,IAAIrF,KAAQgB,KAAKC,IAChBD,KAAKC,IAAIkE,eAAenF,IAC1BoF,EAAStF,KAAKuF,EAASrE,KAAKC,IAAIjB,GAAOA,EAAMgB,KAGnD,EAEAF,EAAQlB,UAAU0F,KAAO,WACvB,IAAI9E,EAAQ,GAIZ,OAHAQ,KAAKE,SAAQ,SAASZ,EAAON,GAC3BQ,EAAM+E,KAAKvF,EACf,IACSO,EAAYC,EACrB,EAEAM,EAAQlB,UAAU4F,OAAS,WACzB,IAAIhF,EAAQ,GAIZ,OAHAQ,KAAKE,SAAQ,SAASZ,GACpBE,EAAM+E,KAAKjF,EACf,IACSC,EAAYC,EACrB,EAEAM,EAAQlB,UAAU6F,QAAU,WAC1B,IAAIjF,EAAQ,GAIZ,OAHAQ,KAAKE,SAAQ,SAASZ,EAAON,GAC3BQ,EAAM+E,KAAK,CAACvF,EAAMM,GACtB,IACSC,EAAYC,EACrB,EAEIvB,IACF6B,EAAQlB,UAAUV,OAAOuB,UAAYK,EAAQlB,UAAU6F,SA6KzD,IAAIC,EAAU,CAAC,SAAU,MAAO,OAAQ,UAAW,OAAQ,OAOpD,SAASC,EAAQC,EAAOC,GAC7B,KAAM7E,gBAAgB2E,GACpB,MAAM,IAAIxF,UAAU,8FAItB,IAXuB2F,EACnBC,EAUAtE,GADJoE,EAAUA,GAAW,CAAE,GACJpE,KAEnB,GAAImE,aAAiBD,EAAS,CAC5B,GAAIC,EAAMlE,SACR,MAAM,IAAIvB,UAAU,gBAEtBa,KAAKgF,IAAMJ,EAAMI,IACjBhF,KAAKiF,YAAcL,EAAMK,YACpBJ,EAAQ9E,UACXC,KAAKD,QAAU,IAAID,EAAQ8E,EAAM7E,UAEnCC,KAAK8E,OAASF,EAAME,OACpB9E,KAAKkF,KAAON,EAAMM,KAClBlF,KAAKmF,OAASP,EAAMO,OACf1E,GAA2B,MAAnBmE,EAAMzC,YACjB1B,EAAOmE,EAAMzC,UACbyC,EAAMlE,UAAW,EAEvB,MACIV,KAAKgF,IAAM/F,OAAO2F,GAYpB,GATA5E,KAAKiF,YAAcJ,EAAQI,aAAejF,KAAKiF,aAAe,eAC1DJ,EAAQ9E,SAAYC,KAAKD,UAC3BC,KAAKD,QAAU,IAAID,EAAQ+E,EAAQ9E,UAErCC,KAAK8E,QArCkBA,EAqCOD,EAAQC,QAAU9E,KAAK8E,QAAU,MApC3DC,EAAUD,EAAOM,cACdV,EAAQhG,QAAQqG,IAAY,EAAIA,EAAUD,GAoCjD9E,KAAKkF,KAAOL,EAAQK,MAAQlF,KAAKkF,MAAQ,KACzClF,KAAKmF,OAASN,EAAQM,QAAUnF,KAAKmF,OACrCnF,KAAKqF,SAAW,MAEK,QAAhBrF,KAAK8E,QAAoC,SAAhB9E,KAAK8E,SAAsBrE,EACvD,MAAM,IAAItB,UAAU,6CAItB,GAFAa,KAAKkC,UAAUzB,KAEK,QAAhBT,KAAK8E,QAAoC,SAAhB9E,KAAK8E,QACV,aAAlBD,EAAQS,OAA0C,aAAlBT,EAAQS,OAAsB,CAEhE,IAAIC,EAAgB,gBACpB,GAAIA,EAAcrG,KAAKc,KAAKgF,KAE1BhF,KAAKgF,IAAMhF,KAAKgF,IAAIQ,QAAQD,EAAe,QAAS,IAAIE,MAAOC,eAC1D,CAGL1F,KAAKgF,MADe,KACO9F,KAAKc,KAAKgF,KAAO,IAAM,KAAO,MAAO,IAAIS,MAAOC,SAC5E,CACF,CAEL,CAMA,SAAS7B,EAAOpD,GACd,IAAIkF,EAAO,IAAIpD,SAYf,OAXA9B,EACGmF,OACAC,MAAM,KACN3F,SAAQ,SAAS4F,GAChB,GAAIA,EAAO,CACT,IAAID,EAAQC,EAAMD,MAAM,KACpB7G,EAAO6G,EAAMlG,QAAQ6F,QAAQ,MAAO,KACpClG,EAAQuG,EAAMnC,KAAK,KAAK8B,QAAQ,MAAO,KAC3CG,EAAKxF,OAAO4F,mBAAmB/G,GAAO+G,mBAAmBzG,GAC1D,CACP,IACSqG,CACT,CA4BO,SAASK,EAASC,EAAUpB,GACjC,KAAM7E,gBAAgBgG,GACpB,MAAM,IAAI7G,UAAU,8FAEjB0F,IACHA,EAAU,CAAE,GAGd7E,KAAK6C,KAAO,UACZ7C,KAAKkG,YAA4BrG,IAAnBgF,EAAQqB,OAAuB,IAAMrB,EAAQqB,OAC3DlG,KAAKmG,GAAKnG,KAAKkG,QAAU,KAAOlG,KAAKkG,OAAS,IAC9ClG,KAAKoG,gBAAoCvG,IAAvBgF,EAAQuB,WAA2B,GAAK,GAAKvB,EAAQuB,WACvEpG,KAAKD,QAAU,IAAID,EAAQ+E,EAAQ9E,SACnCC,KAAKgF,IAAMH,EAAQG,KAAO,GAC1BhF,KAAKkC,UAAU+D,EACjB,CA7DAtB,EAAQ/F,UAAUyH,MAAQ,WACxB,OAAO,IAAI1B,EAAQ3E,KAAM,CAACS,KAAMT,KAAKmC,WACvC,EA0CAF,EAAKnD,KAAK6F,EAAQ/F,WAmBlBqD,EAAKnD,KAAKkH,EAASpH,WAEnBoH,EAASpH,UAAUyH,MAAQ,WACzB,OAAO,IAAIL,EAAShG,KAAKmC,UAAW,CAClC+D,OAAQlG,KAAKkG,OACbE,WAAYpG,KAAKoG,WACjBrG,QAAS,IAAID,EAAQE,KAAKD,SAC1BiF,IAAKhF,KAAKgF,KAEd,EAEAgB,EAAS7E,MAAQ,WACf,IAAImF,EAAW,IAAIN,EAAS,KAAM,CAACE,OAAQ,EAAGE,WAAY,KAE1D,OADAE,EAASzD,KAAO,QACTyD,CACT,EAEA,IAAIC,EAAmB,CAAC,IAAK,IAAK,IAAK,IAAK,KAE5CP,EAASQ,SAAW,SAASxB,EAAKkB,GAChC,IAA0C,IAAtCK,EAAiB7H,QAAQwH,GAC3B,MAAM,IAAIO,WAAW,uBAGvB,OAAO,IAAIT,EAAS,KAAM,CAACE,OAAQA,EAAQnG,QAAS,CAAC2G,SAAU1B,IACjE,EAEuB2B,EAAAC,aAAG9I,EAAO8I,aACjC,IACE,IAAIA,cACN,CAAE,MAAOC,GACPD,eAAe,SAASE,EAAS9H,GAC/BgB,KAAK8G,QAAUA,EACf9G,KAAKhB,KAAOA,EACZ,IAAImC,EAAQ4B,MAAM+D,GAClB9G,KAAK+G,MAAQ5F,EAAM4F,KACpB,EACDH,EAAAA,aAAahI,UAAYD,OAAOqI,OAAOjE,MAAMnE,WAC7CgI,eAAahI,UAAUqI,YAAcL,EAAYA,YACnD,CAEO,SAASM,EAAMtC,EAAOuC,GAC3B,OAAO,IAAIxG,SAAQ,SAASI,EAASH,GACnC,IAAIwG,EAAU,IAAIzC,EAAQC,EAAOuC,GAEjC,GAAIC,EAAQjC,QAAUiC,EAAQjC,OAAOkC,QACnC,OAAOzG,EAAO,IAAIgG,EAAAA,aAAa,UAAW,eAG5C,IAAIU,EAAM,IAAIC,eAEd,SAASC,IACPF,EAAIG,OACL,CAEDH,EAAItG,OAAS,WACX,IAnGgB0G,EAChB3H,EAkGI8E,EAAU,CACZqB,OAAQoB,EAAIpB,OACZE,WAAYkB,EAAIlB,WAChBrG,SAtGc2H,EAsGQJ,EAAIK,yBAA2B,GArGvD5H,EAAU,IAAID,EAGQ4H,EAAWlC,QAAQ,eAAgB,KAK1DK,MAAM,MACN5F,KAAI,SAASK,GACZ,OAAgC,IAAzBA,EAAO5B,QAAQ,MAAc4B,EAAOsH,OAAO,EAAGtH,EAAOiD,QAAUjD,CAC5E,IACKJ,SAAQ,SAAS2H,GAChB,IAAIC,EAAQD,EAAKhC,MAAM,KACnBkC,EAAMD,EAAMnI,QAAQiG,OACxB,GAAImC,EAAK,CACP,IAAIzI,EAAQwI,EAAMpE,KAAK,KAAKkC,OAC5B7F,EAAQI,OAAO4H,EAAKzI,EACrB,CACP,IACSS,IAmFH8E,EAAQG,IAAM,gBAAiBsC,EAAMA,EAAIU,YAAcnD,EAAQ9E,QAAQ6C,IAAI,iBAC3E,IAAInC,EAAO,aAAc6G,EAAMA,EAAIhB,SAAWgB,EAAIW,aAClDC,YAAW,WACTnH,EAAQ,IAAIiF,EAASvF,EAAMoE,GAC5B,GAAE,EACJ,EAEDyC,EAAIpG,QAAU,WACZgH,YAAW,WACTtH,EAAO,IAAIzB,UAAU,0BACtB,GAAE,EACJ,EAEDmI,EAAIa,UAAY,WACdD,YAAW,WACTtH,EAAO,IAAIzB,UAAU,0BACtB,GAAE,EACJ,EAEDmI,EAAIc,QAAU,WACZF,YAAW,WACTtH,EAAO,IAAIgG,EAAAA,aAAa,UAAW,cACpC,GAAE,EACJ,EAUDU,EAAIe,KAAKjB,EAAQtC,OARjB,SAAgBE,GACd,IACE,MAAe,KAARA,GAAclH,EAAO4I,SAAS4B,KAAOxK,EAAO4I,SAAS4B,KAAOtD,CACpE,CAAC,MAAO5G,GACP,OAAO4G,CACR,CACF,CAEwBuD,CAAOnB,EAAQpC,MAAM,GAElB,YAAxBoC,EAAQnC,YACVqC,EAAIkB,iBAAkB,EACW,SAAxBpB,EAAQnC,cACjBqC,EAAIkB,iBAAkB,GAGpB,iBAAkBlB,IAChBrJ,EACFqJ,EAAImB,aAAe,OAEnBxK,GACAmJ,EAAQrH,QAAQ6C,IAAI,kBACyD,IAA7EwE,EAAQrH,QAAQ6C,IAAI,gBAAgBlE,QAAQ,8BAE5C4I,EAAImB,aAAe,iBAInBtB,GAAgC,iBAAjBA,EAAKpH,SAA0BoH,EAAKpH,mBAAmBD,EAKxEsH,EAAQrH,QAAQG,SAAQ,SAASZ,EAAON,GACtCsI,EAAIoB,iBAAiB1J,EAAMM,EACnC,IANMX,OAAO4B,oBAAoB4G,EAAKpH,SAASG,SAAQ,SAASlB,GACxDsI,EAAIoB,iBAAiB1J,EAAMK,EAAe8H,EAAKpH,QAAQf,IAC/D,IAOQoI,EAAQjC,SACViC,EAAQjC,OAAOwD,iBAAiB,QAASnB,GAEzCF,EAAIsB,mBAAqB,WAEA,IAAnBtB,EAAIuB,YACNzB,EAAQjC,OAAO2D,oBAAoB,QAAStB,EAE/C,GAGHF,EAAIyB,UAAkC,IAAtB3B,EAAQjF,UAA4B,KAAOiF,EAAQjF,UACvE,GACA,CAEA+E,EAAM8B,UAAW,EAEZlL,EAAOoJ,QACVpJ,EAAOoJ,MAAQA,EACfpJ,EAAOgC,QAAUA,EACjBhC,EAAO6G,QAAUA,EACjB7G,EAAOkI,SAAWA","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/node_modules/cross-fetch/dist/node-polyfill.js b/node_modules/cross-fetch/dist/node-polyfill.js new file mode 100644 index 00000000..f0c477c6 --- /dev/null +++ b/node_modules/cross-fetch/dist/node-polyfill.js @@ -0,0 +1,11 @@ +const fetchNode = require('./node-ponyfill') + +if (!global.fetch) { + const fetch = fetchNode.fetch.bind({}) + + global.fetch = fetch + global.fetch.polyfill = true + global.Response = fetchNode.Response + global.Headers = fetchNode.Headers + global.Request = fetchNode.Request +} diff --git a/node_modules/cross-fetch/dist/node-ponyfill.js b/node_modules/cross-fetch/dist/node-ponyfill.js new file mode 100644 index 00000000..e8b153f9 --- /dev/null +++ b/node_modules/cross-fetch/dist/node-ponyfill.js @@ -0,0 +1,22 @@ +const nodeFetch = require('node-fetch') +const realFetch = nodeFetch.default || nodeFetch + +const fetch = function (url, options) { + // Support schemaless URIs on the server for parity with the browser. + // Ex: //github.com/ -> https://github.com/ + if (/^\/\//.test(url)) { + url = 'https:' + url + } + return realFetch.call(this, url, options) +} + +fetch.ponyfill = true + +module.exports = exports = fetch +exports.fetch = fetch +exports.Headers = nodeFetch.Headers +exports.Request = nodeFetch.Request +exports.Response = nodeFetch.Response + +// Needed for TypeScript consumers without esModuleInterop. +exports.default = fetch diff --git a/node_modules/cross-fetch/dist/react-native-polyfill.js b/node_modules/cross-fetch/dist/react-native-polyfill.js new file mode 100644 index 00000000..57ad2566 --- /dev/null +++ b/node_modules/cross-fetch/dist/react-native-polyfill.js @@ -0,0 +1,12 @@ +/*! + * VaporJS JavaScript Library v1.4.5 + * https://github.com/madrobby/vapor.js + * + * Copyright (c) 2010 Thomas Fuchs (http://script.aculo.us/thomas) + * Released under the MIT license + * https://github.com/madrobby/vapor.js/blob/master/MIT-LICENSE + * + * Date: 2019-05-25T03:04Z + */ + +// React Native already polyfills `fetch` so this code is intentionally handled to VaporJS. diff --git a/node_modules/cross-fetch/dist/react-native-ponyfill.js b/node_modules/cross-fetch/dist/react-native-ponyfill.js new file mode 100644 index 00000000..8e5baff4 --- /dev/null +++ b/node_modules/cross-fetch/dist/react-native-ponyfill.js @@ -0,0 +1,6 @@ +module.exports = global.fetch // To enable: import fetch from 'cross-fetch' +module.exports.default = global.fetch // For TypeScript consumers without esModuleInterop. +module.exports.fetch = global.fetch // To enable: import {fetch} from 'cross-fetch' +module.exports.Headers = global.Headers +module.exports.Request = global.Request +module.exports.Response = global.Response diff --git a/node_modules/cross-fetch/index.d.ts b/node_modules/cross-fetch/index.d.ts new file mode 100644 index 00000000..3c030c06 --- /dev/null +++ b/node_modules/cross-fetch/index.d.ts @@ -0,0 +1,14 @@ +/// + +declare const _fetch: typeof fetch; +declare const _Request: typeof Request; +declare const _Response: typeof Response; +declare const _Headers: typeof Headers; + +declare module "cross-fetch" { + export const fetch: typeof _fetch; + export const Request: typeof _Request; + export const Response: typeof _Response; + export const Headers: typeof _Headers; + export default fetch; +} diff --git a/node_modules/cross-fetch/package.json b/node_modules/cross-fetch/package.json new file mode 100644 index 00000000..30f06907 --- /dev/null +++ b/node_modules/cross-fetch/package.json @@ -0,0 +1,128 @@ +{ + "name": "cross-fetch", + "version": "4.0.0", + "description": "Universal WHATWG Fetch API for Node, Browsers and React Native", + "homepage": "https://github.com/lquixada/cross-fetch", + "main": "dist/node-ponyfill.js", + "browser": "dist/browser-ponyfill.js", + "react-native": "dist/react-native-ponyfill.js", + "types": "index.d.ts", + "scripts": { + "commit": "cz", + "prepare": "husky install", + "prepublishOnly": "rimraf dist && make dist" + }, + "lint-staged": { + "*.js": [ + "standard --fix" + ] + }, + "config": { + "commitizen": { + "path": "cz-conventional-changelog" + } + }, + "standard": { + "env": [ + "browser", + "mocha", + "serviceworker" + ], + "globals": [ + "expect", + "assert", + "chai", + "Mocha" + ], + "ignore": [ + "/dist/", + "api.spec.js", + "bundle.js", + "test.js", + "*.bundle.js", + "*.ts" + ] + }, + "mocha": { + "require": [ + "chai/register-expect.js", + "chai/register-assert.js" + ], + "check-leaks": true + }, + "nyc": { + "temp-dir": ".reports/.coverage" + }, + "commitlint": { + "extends": [ + "@commitlint/config-conventional" + ] + }, + "repository": { + "type": "git", + "url": "https://github.com/lquixada/cross-fetch.git" + }, + "author": "Leonardo Quixada ", + "license": "MIT", + "bugs": { + "url": "https://github.com/lquixada/cross-fetch/issues" + }, + "dependencies": { + "node-fetch": "^2.6.12" + }, + "devDependencies": { + "@commitlint/cli": "17.6.6", + "@commitlint/config-conventional": "17.6.6", + "@rollup/plugin-terser": "0.4.3", + "@types/chai": "4.3.5", + "@types/mocha": "10.0.1", + "@types/node": "18.15.13", + "body-parser": "1.20.2", + "chai": "4.3.7", + "codecov": "3.8.3", + "commitizen": "4.3.0", + "cz-conventional-changelog": "3.3.0", + "express": "4.18.2", + "husky": "8.0.3", + "lint-staged": "13.2.3", + "mocha": "10.2.0", + "mocha-headless-chrome": "4.0.0", + "nock": "13.3.1", + "nyc": "15.1.0", + "rimraf": "5.0.1", + "rollup": "3.26.0", + "rollup-plugin-copy": "3.4.0", + "semver": "7.5.3", + "serve-index": "1.9.1", + "standard": "17.1.0", + "standard-version": "9.5.0", + "typescript": "5.1.6", + "webpack": "5.88.1", + "webpack-cli": "5.1.4", + "whatwg-fetch": "3.6.2", + "yargs": "17.7.2" + }, + "files": [ + "dist", + "polyfill", + "index.d.ts" + ], + "keywords": [ + "fetch", + "http", + "url", + "promise", + "async", + "await", + "isomorphic", + "universal", + "node", + "react", + "native", + "browser", + "ponyfill", + "whatwg", + "xhr", + "ajax" + ] +} diff --git a/node_modules/cross-fetch/polyfill/package.json b/node_modules/cross-fetch/polyfill/package.json new file mode 100644 index 00000000..72588200 --- /dev/null +++ b/node_modules/cross-fetch/polyfill/package.json @@ -0,0 +1,9 @@ +{ + "name": "cross-fetch-polyfill", + "version": "0.0.0", + "main": "../dist/node-polyfill.js", + "browser": "../dist/browser-polyfill.js", + "react-native": "../dist/react-native-polyfill.js", + "types": "../index.d.ts", + "license": "MIT" +} diff --git a/node_modules/deepmerge/.editorconfig b/node_modules/deepmerge/.editorconfig new file mode 100644 index 00000000..6244e1b7 --- /dev/null +++ b/node_modules/deepmerge/.editorconfig @@ -0,0 +1,7 @@ +root = true + +[*] +indent_style = tab +end_of_line = lf +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/node_modules/deepmerge/.eslintcache b/node_modules/deepmerge/.eslintcache new file mode 100644 index 00000000..c1321eb4 --- /dev/null +++ b/node_modules/deepmerge/.eslintcache @@ -0,0 +1 @@ +[{"/Users/joshduff/code/deepmerge/test/custom-is-mergeable-object.js":"1"},{"size":1990,"mtime":1679007485753,"results":"2","hashOfConfig":"3"},{"filePath":"4","messages":"5","suppressedMessages":"6","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"ktjd5k","/Users/joshduff/code/deepmerge/test/custom-is-mergeable-object.js",[],[]] \ No newline at end of file diff --git a/node_modules/deepmerge/changelog.md b/node_modules/deepmerge/changelog.md new file mode 100644 index 00000000..082e0dd3 --- /dev/null +++ b/node_modules/deepmerge/changelog.md @@ -0,0 +1,167 @@ +# [4.3.1](https://github.com/TehShrike/deepmerge/releases/tag/v4.3.1) + +- Fix type definition for arrayMerge options. [#239](https://github.com/TehShrike/deepmerge/pull/239) + +# [4.3.0](https://github.com/TehShrike/deepmerge/releases/tag/v4.3.0) + +- Avoid thrown errors if the target doesn't have `propertyIsEnumerable`. [#252](https://github.com/TehShrike/deepmerge/pull/252) + +# [4.2.2](https://github.com/TehShrike/deepmerge/releases/tag/v4.2.2) + +- `isMergeableObject` is now only called if there are two values that could be merged. [a34dd4d2](https://github.com/TehShrike/deepmerge/commit/a34dd4d25bf5e250653540a2022bc832c7b00a19) + +# [4.2.1](https://github.com/TehShrike/deepmerge/releases/tag/v4.2.1) + +- Fix: falsey values can now be merged. [#170](https://github.com/TehShrike/deepmerge/issues/170) + +# [4.2.0](https://github.com/TehShrike/deepmerge/releases/tag/v4.2.0) + +- Properties are now only overwritten if they exist on the target object and are enumerable. [#164](https://github.com/TehShrike/deepmerge/pull/164) + +Technically this could probably be a patch release since "which properties get overwritten" wasn't documented and accidentally overwriting a built-in function or some function up the property chain would almost certainly be undesirable, but it feels like a gray area, so here we are with a feature version bump. + +# [4.1.2](https://github.com/TehShrike/deepmerge/releases/tag/v4.1.2) + +- Rolled back #167 since `Object.assign` breaks ES5 support. [55067352](https://github.com/TehShrike/deepmerge/commit/55067352a92c65a6c44a5165f3387720aae1e192) + +# [4.1.1](https://github.com/TehShrike/deepmerge/releases/tag/v4.1.1) + +- The `options` argument is no longer mutated [#167](https://github.com/TehShrike/deepmerge/pull/167) + +# [4.1.0](https://github.com/TehShrike/deepmerge/releases/tag/v4.1.0) + +- `cloneUnlessOtherwiseSpecified` is now exposed to the `arrayMerge` function [#165](https://github.com/TehShrike/deepmerge/pull/165) + +# [4.0.0](https://github.com/TehShrike/deepmerge/releases/tag/v4.0.0) + +- The `main` entry point in `package.json` is now a CommonJS module instead of a UMD module [#155](https://github.com/TehShrike/deepmerge/pull/155) + +# [3.3.0](https://github.com/TehShrike/deepmerge/releases/tag/v3.3.0) + +- Enumerable Symbol properties are now copied [#151](https://github.com/TehShrike/deepmerge/pull/151) + +# [3.2.1](https://github.com/TehShrike/deepmerge/releases/tag/v3.2.1) + +- bumping dev dependency versions to try to shut up bogus security warnings from Github/npm [#149](https://github.com/TehShrike/deepmerge/pull/149) + +# [3.2.0](https://github.com/TehShrike/deepmerge/releases/tag/v3.2.0) + +- feature: added the [`customMerge`](https://github.com/TehShrike/deepmerge#custommerge) option [#133](https://github.com/TehShrike/deepmerge/pull/133) + +# [3.1.0](https://github.com/TehShrike/deepmerge/releases/tag/v3.1.0) + +- typescript typing: make the `all` function generic [#129](https://github.com/TehShrike/deepmerge/pull/129) + +# [3.0.0](https://github.com/TehShrike/deepmerge/releases/tag/v3.0.0) + +- drop ES module build [#123](https://github.com/TehShrike/deepmerge/issues/123) + +# [2.2.1](https://github.com/TehShrike/deepmerge/releases/tag/v2.2.1) + +- bug: typescript export type was wrong [#121](https://github.com/TehShrike/deepmerge/pull/121) + +# [2.2.0](https://github.com/TehShrike/deepmerge/releases/tag/v2.2.0) + +- feature: added TypeScript typings [#119](https://github.com/TehShrike/deepmerge/pull/119) + +# [2.1.1](https://github.com/TehShrike/deepmerge/releases/tag/v2.1.1) + +- documentation: Rename "methods" to "api", note ESM syntax [#103](https://github.com/TehShrike/deepmerge/pull/103) +- documentation: Fix grammar [#107](https://github.com/TehShrike/deepmerge/pull/107) +- documentation: Restructure headers for clarity + some wording tweaks [108](https://github.com/TehShrike/deepmerge/pull/108) + [109](https://github.com/TehShrike/deepmerge/pull/109) + + +# [2.1.0](https://github.com/TehShrike/deepmerge/releases/tag/v2.1.0) + +- feature: Support a custom `isMergeableObject` function [#96](https://github.com/TehShrike/deepmerge/pull/96) +- documentation: note a Webpack bug that some users might need to work around [#100](https://github.com/TehShrike/deepmerge/pull/100) + +# [2.0.1](https://github.com/TehShrike/deepmerge/releases/tag/v2.0.1) + +- documentation: fix the old array merge algorithm in the readme. [#84](https://github.com/TehShrike/deepmerge/pull/84) + +# [2.0.0](https://github.com/TehShrike/deepmerge/releases/tag/v2.0.0) + +- breaking: the array merge algorithm has changed from a complicated thing to `target.concat(source).map(element => cloneUnlessOtherwiseSpecified(element, optionsArgument))` +- breaking: The `clone` option now defaults to `true` +- feature: `merge.all` now accepts an array of any size, even 0 or 1 elements + +See [pull request 77](https://github.com/TehShrike/deepmerge/pull/77). + +# [1.5.2](https://github.com/TehShrike/deepmerge/releases/tag/v1.5.2) + +- fix: no longer attempts to merge React elements [#76](https://github.com/TehShrike/deepmerge/issues/76) + +# [1.5.1](https://github.com/TehShrike/deepmerge/releases/tag/v1.5.1) + +- bower support: officially dropping bower support. If you use bower, please depend on the [unpkg distribution](https://unpkg.com/deepmerge/dist/umd.js). See [#63](https://github.com/TehShrike/deepmerge/issues/63) + +# [1.5.0](https://github.com/TehShrike/deepmerge/releases/tag/v1.5.0) + +- bug fix: merging objects into arrays was allowed, and doesn't make any sense. [#65](https://github.com/TehShrike/deepmerge/issues/65) published as a feature release instead of a patch because it is a decent behavior change. + +# [1.4.4](https://github.com/TehShrike/deepmerge/releases/tag/v1.4.4) + +- bower support: updated `main` in bower.json + +# [1.4.3](https://github.com/TehShrike/deepmerge/releases/tag/v1.4.3) + +- bower support: inline is-mergeable-object in a new CommonJS build, so that people using both bower and CommonJS can bundle the library [0b34e6](https://github.com/TehShrike/deepmerge/commit/0b34e6e95f989f2fc8091d25f0d291c08f3d2d24) + +# [1.4.2](https://github.com/TehShrike/deepmerge/releases/tag/v1.4.2) + +- performance: bump is-mergeable-object dependency version for a slight performance improvement [5906c7](https://github.com/TehShrike/deepmerge/commit/5906c765d691d48e83d76efbb0d4b9ca150dc12c) + +# [1.4.1](https://github.com/TehShrike/deepmerge/releases/tag/v1.4.1) + +- documentation: fix unpkg link [acc45b](https://github.com/TehShrike/deepmerge/commit/acc45be85519c1df906a72ecb24764b622d18d47) + +# [1.4.0](https://github.com/TehShrike/deepmerge/releases/tag/v1.4.0) + +- api: instead of only exporting a UMD module, expose a UMD module with `pkg.main`, a CJS module with `pkg.browser`, and an ES module with `pkg.module` [#62](https://github.com/TehShrike/deepmerge/pull/62) + +# [1.3.2](https://github.com/TehShrike/deepmerge/releases/tag/v1.3.2) + +- documentation: note the minified/gzipped file sizes [56](https://github.com/TehShrike/deepmerge/pull/56) +- documentation: make data structures more readable in merge example: pull request [57](https://github.com/TehShrike/deepmerge/pull/57) + +# [1.3.1](https://github.com/TehShrike/deepmerge/releases/tag/v1.3.1) + +- documentation: clarify and test some array merging documentation: pull request [51](https://github.com/TehShrike/deepmerge/pull/51) + +# [1.3.0](https://github.com/TehShrike/deepmerge/releases/tag/v1.3.0) + +- feature: `merge.all`, a merge function that merges any number of objects: pull request [50](https://github.com/TehShrike/deepmerge/pull/50) + +# [1.2.0](https://github.com/TehShrike/deepmerge/releases/tag/v1.2.0) + +- fix: an error that would be thrown when an array would be merged onto a truthy non-array value: pull request [46](https://github.com/TehShrike/deepmerge/pull/46) +- feature: the ability to clone: Issue [28](https://github.com/TehShrike/deepmerge/issues/28), pull requests [44](https://github.com/TehShrike/deepmerge/pull/44) and [48](https://github.com/TehShrike/deepmerge/pull/48) +- maintenance: added tests + travis to `.npmignore`: pull request [47](https://github.com/TehShrike/deepmerge/pull/47) + +# [1.1.1](https://github.com/TehShrike/deepmerge/releases/tag/v1.1.1) + +- fix an issue where an error was thrown when merging an array onto a non-array: [Pull request 46](https://github.com/TehShrike/deepmerge/pull/46) + +# [1.1.0](https://github.com/TehShrike/deepmerge/releases/tag/v1.1.0) + +- allow consumers to specify their own array merging algorithm: [Pull request 37](https://github.com/TehShrike/deepmerge/pull/37) + +# [1.0.3](https://github.com/TehShrike/deepmerge/releases/tag/v1.0.3) + +- adding bower.json back: [Issue 38](https://github.com/TehShrike/deepmerge/pull/38) +- updating keywords and Github links in package.json [bc3898e](https://github.com/TehShrike/deepmerge/commit/bc3898e587a56f74591328f40f656b0152c1d5eb) + +# [1.0.2](https://github.com/TehShrike/deepmerge/releases/tag/v1.0.2) + +- Updating the readme: dropping bower, testing that the example works: [7102fc](https://github.com/TehShrike/deepmerge/commit/7102fcc4ddec11e2d33205866f9f18df14e5aeb5) + +# [1.0.1](https://github.com/TehShrike/deepmerge/releases/tag/v1.0.1) + +- `null`, dates, and regular expressions are now properly merged in arrays: [Issue 18](https://github.com/TehShrike/deepmerge/pull/18), plus commit: [ef1c6b](https://github.com/TehShrike/deepmerge/commit/ef1c6bac8350ba12a24966f0bc7da02560827586) + +# 1.0.0 + +- Should only be a patch change, because this module is READY. [Issue 15](https://github.com/TehShrike/deepmerge/issues/15) +- Regular expressions are now treated like primitive values when merging: [Issue 30](https://github.com/TehShrike/deepmerge/pull/30) +- Dates are now treated like primitives when merging: [Issue 31](https://github.com/TehShrike/deepmerge/issues/31) diff --git a/node_modules/deepmerge/dist/cjs.js b/node_modules/deepmerge/dist/cjs.js new file mode 100644 index 00000000..7c36cbdd --- /dev/null +++ b/node_modules/deepmerge/dist/cjs.js @@ -0,0 +1,133 @@ +'use strict'; + +var isMergeableObject = function isMergeableObject(value) { + return isNonNullObject(value) + && !isSpecial(value) +}; + +function isNonNullObject(value) { + return !!value && typeof value === 'object' +} + +function isSpecial(value) { + var stringValue = Object.prototype.toString.call(value); + + return stringValue === '[object RegExp]' + || stringValue === '[object Date]' + || isReactElement(value) +} + +// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 +var canUseSymbol = typeof Symbol === 'function' && Symbol.for; +var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; + +function isReactElement(value) { + return value.$$typeof === REACT_ELEMENT_TYPE +} + +function emptyTarget(val) { + return Array.isArray(val) ? [] : {} +} + +function cloneUnlessOtherwiseSpecified(value, options) { + return (options.clone !== false && options.isMergeableObject(value)) + ? deepmerge(emptyTarget(value), value, options) + : value +} + +function defaultArrayMerge(target, source, options) { + return target.concat(source).map(function(element) { + return cloneUnlessOtherwiseSpecified(element, options) + }) +} + +function getMergeFunction(key, options) { + if (!options.customMerge) { + return deepmerge + } + var customMerge = options.customMerge(key); + return typeof customMerge === 'function' ? customMerge : deepmerge +} + +function getEnumerableOwnPropertySymbols(target) { + return Object.getOwnPropertySymbols + ? Object.getOwnPropertySymbols(target).filter(function(symbol) { + return Object.propertyIsEnumerable.call(target, symbol) + }) + : [] +} + +function getKeys(target) { + return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target)) +} + +function propertyIsOnObject(object, property) { + try { + return property in object + } catch(_) { + return false + } +} + +// Protects from prototype poisoning and unexpected merging up the prototype chain. +function propertyIsUnsafe(target, key) { + return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet, + && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain, + && Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable. +} + +function mergeObject(target, source, options) { + var destination = {}; + if (options.isMergeableObject(target)) { + getKeys(target).forEach(function(key) { + destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); + }); + } + getKeys(source).forEach(function(key) { + if (propertyIsUnsafe(target, key)) { + return + } + + if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) { + destination[key] = getMergeFunction(key, options)(target[key], source[key], options); + } else { + destination[key] = cloneUnlessOtherwiseSpecified(source[key], options); + } + }); + return destination +} + +function deepmerge(target, source, options) { + options = options || {}; + options.arrayMerge = options.arrayMerge || defaultArrayMerge; + options.isMergeableObject = options.isMergeableObject || isMergeableObject; + // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge() + // implementations can use it. The caller may not replace it. + options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified; + + var sourceIsArray = Array.isArray(source); + var targetIsArray = Array.isArray(target); + var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; + + if (!sourceAndTargetTypesMatch) { + return cloneUnlessOtherwiseSpecified(source, options) + } else if (sourceIsArray) { + return options.arrayMerge(target, source, options) + } else { + return mergeObject(target, source, options) + } +} + +deepmerge.all = function deepmergeAll(array, options) { + if (!Array.isArray(array)) { + throw new Error('first argument should be an array') + } + + return array.reduce(function(prev, next) { + return deepmerge(prev, next, options) + }, {}) +}; + +var deepmerge_1 = deepmerge; + +module.exports = deepmerge_1; diff --git a/node_modules/deepmerge/dist/umd.js b/node_modules/deepmerge/dist/umd.js new file mode 100644 index 00000000..4071e7c5 --- /dev/null +++ b/node_modules/deepmerge/dist/umd.js @@ -0,0 +1,139 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = global || self, global.deepmerge = factory()); +}(this, function () { 'use strict'; + + var isMergeableObject = function isMergeableObject(value) { + return isNonNullObject(value) + && !isSpecial(value) + }; + + function isNonNullObject(value) { + return !!value && typeof value === 'object' + } + + function isSpecial(value) { + var stringValue = Object.prototype.toString.call(value); + + return stringValue === '[object RegExp]' + || stringValue === '[object Date]' + || isReactElement(value) + } + + // see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 + var canUseSymbol = typeof Symbol === 'function' && Symbol.for; + var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; + + function isReactElement(value) { + return value.$$typeof === REACT_ELEMENT_TYPE + } + + function emptyTarget(val) { + return Array.isArray(val) ? [] : {} + } + + function cloneUnlessOtherwiseSpecified(value, options) { + return (options.clone !== false && options.isMergeableObject(value)) + ? deepmerge(emptyTarget(value), value, options) + : value + } + + function defaultArrayMerge(target, source, options) { + return target.concat(source).map(function(element) { + return cloneUnlessOtherwiseSpecified(element, options) + }) + } + + function getMergeFunction(key, options) { + if (!options.customMerge) { + return deepmerge + } + var customMerge = options.customMerge(key); + return typeof customMerge === 'function' ? customMerge : deepmerge + } + + function getEnumerableOwnPropertySymbols(target) { + return Object.getOwnPropertySymbols + ? Object.getOwnPropertySymbols(target).filter(function(symbol) { + return Object.propertyIsEnumerable.call(target, symbol) + }) + : [] + } + + function getKeys(target) { + return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target)) + } + + function propertyIsOnObject(object, property) { + try { + return property in object + } catch(_) { + return false + } + } + + // Protects from prototype poisoning and unexpected merging up the prototype chain. + function propertyIsUnsafe(target, key) { + return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet, + && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain, + && Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable. + } + + function mergeObject(target, source, options) { + var destination = {}; + if (options.isMergeableObject(target)) { + getKeys(target).forEach(function(key) { + destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); + }); + } + getKeys(source).forEach(function(key) { + if (propertyIsUnsafe(target, key)) { + return + } + + if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) { + destination[key] = getMergeFunction(key, options)(target[key], source[key], options); + } else { + destination[key] = cloneUnlessOtherwiseSpecified(source[key], options); + } + }); + return destination + } + + function deepmerge(target, source, options) { + options = options || {}; + options.arrayMerge = options.arrayMerge || defaultArrayMerge; + options.isMergeableObject = options.isMergeableObject || isMergeableObject; + // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge() + // implementations can use it. The caller may not replace it. + options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified; + + var sourceIsArray = Array.isArray(source); + var targetIsArray = Array.isArray(target); + var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; + + if (!sourceAndTargetTypesMatch) { + return cloneUnlessOtherwiseSpecified(source, options) + } else if (sourceIsArray) { + return options.arrayMerge(target, source, options) + } else { + return mergeObject(target, source, options) + } + } + + deepmerge.all = function deepmergeAll(array, options) { + if (!Array.isArray(array)) { + throw new Error('first argument should be an array') + } + + return array.reduce(function(prev, next) { + return deepmerge(prev, next, options) + }, {}) + }; + + var deepmerge_1 = deepmerge; + + return deepmerge_1; + +})); diff --git a/node_modules/deepmerge/index.d.ts b/node_modules/deepmerge/index.d.ts new file mode 100644 index 00000000..46784de5 --- /dev/null +++ b/node_modules/deepmerge/index.d.ts @@ -0,0 +1,20 @@ +declare function deepmerge(x: Partial, y: Partial, options?: deepmerge.Options): T; +declare function deepmerge(x: Partial, y: Partial, options?: deepmerge.Options): T1 & T2; + +declare namespace deepmerge { + export interface Options { + arrayMerge?(target: any[], source: any[], options?: ArrayMergeOptions): any[]; + clone?: boolean; + customMerge?: (key: string, options?: Options) => ((x: any, y: any) => any) | undefined; + isMergeableObject?(value: object): boolean; + } + export interface ArrayMergeOptions { + isMergeableObject(value: object): boolean; + cloneUnlessOtherwiseSpecified(value: object, options?: Options): object; + } + + export function all (objects: object[], options?: Options): object; + export function all (objects: Partial[], options?: Options): T; +} + +export = deepmerge; diff --git a/node_modules/deepmerge/index.js b/node_modules/deepmerge/index.js new file mode 100644 index 00000000..77968aed --- /dev/null +++ b/node_modules/deepmerge/index.js @@ -0,0 +1,106 @@ +var defaultIsMergeableObject = require('is-mergeable-object') + +function emptyTarget(val) { + return Array.isArray(val) ? [] : {} +} + +function cloneUnlessOtherwiseSpecified(value, options) { + return (options.clone !== false && options.isMergeableObject(value)) + ? deepmerge(emptyTarget(value), value, options) + : value +} + +function defaultArrayMerge(target, source, options) { + return target.concat(source).map(function(element) { + return cloneUnlessOtherwiseSpecified(element, options) + }) +} + +function getMergeFunction(key, options) { + if (!options.customMerge) { + return deepmerge + } + var customMerge = options.customMerge(key) + return typeof customMerge === 'function' ? customMerge : deepmerge +} + +function getEnumerableOwnPropertySymbols(target) { + return Object.getOwnPropertySymbols + ? Object.getOwnPropertySymbols(target).filter(function(symbol) { + return Object.propertyIsEnumerable.call(target, symbol) + }) + : [] +} + +function getKeys(target) { + return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target)) +} + +function propertyIsOnObject(object, property) { + try { + return property in object + } catch(_) { + return false + } +} + +// Protects from prototype poisoning and unexpected merging up the prototype chain. +function propertyIsUnsafe(target, key) { + return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet, + && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain, + && Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable. +} + +function mergeObject(target, source, options) { + var destination = {} + if (options.isMergeableObject(target)) { + getKeys(target).forEach(function(key) { + destination[key] = cloneUnlessOtherwiseSpecified(target[key], options) + }) + } + getKeys(source).forEach(function(key) { + if (propertyIsUnsafe(target, key)) { + return + } + + if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) { + destination[key] = getMergeFunction(key, options)(target[key], source[key], options) + } else { + destination[key] = cloneUnlessOtherwiseSpecified(source[key], options) + } + }) + return destination +} + +function deepmerge(target, source, options) { + options = options || {} + options.arrayMerge = options.arrayMerge || defaultArrayMerge + options.isMergeableObject = options.isMergeableObject || defaultIsMergeableObject + // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge() + // implementations can use it. The caller may not replace it. + options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified + + var sourceIsArray = Array.isArray(source) + var targetIsArray = Array.isArray(target) + var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray + + if (!sourceAndTargetTypesMatch) { + return cloneUnlessOtherwiseSpecified(source, options) + } else if (sourceIsArray) { + return options.arrayMerge(target, source, options) + } else { + return mergeObject(target, source, options) + } +} + +deepmerge.all = function deepmergeAll(array, options) { + if (!Array.isArray(array)) { + throw new Error('first argument should be an array') + } + + return array.reduce(function(prev, next) { + return deepmerge(prev, next, options) + }, {}) +} + +module.exports = deepmerge diff --git a/node_modules/deepmerge/license.txt b/node_modules/deepmerge/license.txt new file mode 100644 index 00000000..50030787 --- /dev/null +++ b/node_modules/deepmerge/license.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012 James Halliday, Josh Duff, and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. diff --git a/node_modules/deepmerge/package.json b/node_modules/deepmerge/package.json new file mode 100644 index 00000000..2b7b1be8 --- /dev/null +++ b/node_modules/deepmerge/package.json @@ -0,0 +1,42 @@ +{ + "name": "deepmerge", + "description": "A library for deep (recursive) merging of Javascript objects", + "keywords": [ + "merge", + "deep", + "extend", + "copy", + "clone", + "recursive" + ], + "version": "4.3.1", + "homepage": "https://github.com/TehShrike/deepmerge", + "repository": { + "type": "git", + "url": "git://github.com/TehShrike/deepmerge.git" + }, + "main": "dist/cjs.js", + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "build": "rollup -c", + "test": "npm run build && tape test/*.js && jsmd readme.md && npm run test:typescript", + "test:typescript": "tsc --noEmit test/typescript.ts && ts-node test/typescript.ts", + "size": "npm run build && uglifyjs --compress --mangle -- ./dist/umd.js | gzip -c | wc -c" + }, + "devDependencies": { + "@types/node": "^8.10.54", + "is-mergeable-object": "1.1.0", + "is-plain-object": "^5.0.0", + "jsmd": "^1.0.2", + "rollup": "^1.23.1", + "rollup-plugin-commonjs": "^10.1.0", + "rollup-plugin-node-resolve": "^5.2.0", + "tape": "^4.11.0", + "ts-node": "7.0.1", + "typescript": "=2.2.2", + "uglify-js": "^3.6.1" + }, + "license": "MIT" +} diff --git a/node_modules/deepmerge/readme.md b/node_modules/deepmerge/readme.md new file mode 100644 index 00000000..79e4e303 --- /dev/null +++ b/node_modules/deepmerge/readme.md @@ -0,0 +1,264 @@ +# deepmerge + +Merges the enumerable properties of two or more objects deeply. + +> UMD bundle is 723B minified+gzipped + +## Getting Started + +### Example Usage + + +```js +const x = { + foo: { bar: 3 }, + array: [{ + does: 'work', + too: [ 1, 2, 3 ] + }] +} + +const y = { + foo: { baz: 4 }, + quux: 5, + array: [{ + does: 'work', + too: [ 4, 5, 6 ] + }, { + really: 'yes' + }] +} + +const output = { + foo: { + bar: 3, + baz: 4 + }, + array: [{ + does: 'work', + too: [ 1, 2, 3 ] + }, { + does: 'work', + too: [ 4, 5, 6 ] + }, { + really: 'yes' + }], + quux: 5 +} + +merge(x, y) // => output +``` + + +### Installation + +With [npm](http://npmjs.org) do: + +```sh +npm install deepmerge +``` + +deepmerge can be used directly in the browser without the use of package managers/bundlers as well: [UMD version from unpkg.com](https://unpkg.com/deepmerge/dist/umd.js). + + +### Include + +deepmerge exposes a CommonJS entry point: + +``` +const merge = require('deepmerge') +``` + +The ESM entry point was dropped due to a [Webpack bug](https://github.com/webpack/webpack/issues/6584). + +# API + + +## `merge(x, y, [options])` + +Merge two objects `x` and `y` deeply, returning a new merged object with the +elements from both `x` and `y`. + +If an element at the same key is present for both `x` and `y`, the value from +`y` will appear in the result. + +Merging creates a new object, so that neither `x` or `y` is modified. + +**Note:** By default, arrays are merged by concatenating them. + +## `merge.all(arrayOfObjects, [options])` + +Merges any number of objects into a single result object. + +```js +const foobar = { foo: { bar: 3 } } +const foobaz = { foo: { baz: 4 } } +const bar = { bar: 'yay!' } + +merge.all([ foobar, foobaz, bar ]) // => { foo: { bar: 3, baz: 4 }, bar: 'yay!' } +``` + + +## Options + +### `arrayMerge` + +There are multiple ways to merge two arrays, below are a few examples but you can also create your own custom function. + +Your `arrayMerge` function will be called with three arguments: a `target` array, the `source` array, and an `options` object with these properties: + +- `isMergeableObject(value)` +- `cloneUnlessOtherwiseSpecified(value, options)` + +#### `arrayMerge` example: overwrite target array + +Overwrites the existing array values completely rather than concatenating them: + +```js +const overwriteMerge = (destinationArray, sourceArray, options) => sourceArray + +merge( + [1, 2, 3], + [3, 2, 1], + { arrayMerge: overwriteMerge } +) // => [3, 2, 1] +``` + +#### `arrayMerge` example: combine arrays + +Combines objects at the same index in the two arrays. + +This was the default array merging algorithm pre-version-2.0.0. + +```js +const combineMerge = (target, source, options) => { + const destination = target.slice() + + source.forEach((item, index) => { + if (typeof destination[index] === 'undefined') { + destination[index] = options.cloneUnlessOtherwiseSpecified(item, options) + } else if (options.isMergeableObject(item)) { + destination[index] = merge(target[index], item, options) + } else if (target.indexOf(item) === -1) { + destination.push(item) + } + }) + return destination +} + +merge( + [{ a: true }], + [{ b: true }, 'ah yup'], + { arrayMerge: combineMerge } +) // => [{ a: true, b: true }, 'ah yup'] +``` + +### `isMergeableObject` + +By default, deepmerge clones every property from almost every kind of object. + +You may not want this, if your objects are of special types, and you want to copy the whole object instead of just copying its properties. + +You can accomplish this by passing in a function for the `isMergeableObject` option. + +If you only want to clone properties of plain objects, and ignore all "special" kinds of instantiated objects, you probably want to drop in [`is-plain-object`](https://github.com/jonschlinkert/is-plain-object). + +```js +const { isPlainObject } = require('is-plain-object') + +function SuperSpecial() { + this.special = 'oh yeah man totally' +} + +const instantiatedSpecialObject = new SuperSpecial() + +const target = { + someProperty: { + cool: 'oh for sure' + } +} + +const source = { + someProperty: instantiatedSpecialObject +} + +const defaultOutput = merge(target, source) + +defaultOutput.someProperty.cool // => 'oh for sure' +defaultOutput.someProperty.special // => 'oh yeah man totally' +defaultOutput.someProperty instanceof SuperSpecial // => false + +const customMergeOutput = merge(target, source, { + isMergeableObject: isPlainObject +}) + +customMergeOutput.someProperty.cool // => undefined +customMergeOutput.someProperty.special // => 'oh yeah man totally' +customMergeOutput.someProperty instanceof SuperSpecial // => true +``` + +### `customMerge` + +Specifies a function which can be used to override the default merge behavior for a property, based on the property name. + +The `customMerge` function will be passed the key for each property, and should return the function which should be used to merge the values for that property. + +It may also return undefined, in which case the default merge behaviour will be used. + +```js +const alex = { + name: { + first: 'Alex', + last: 'Alexson' + }, + pets: ['Cat', 'Parrot'] +} + +const tony = { + name: { + first: 'Tony', + last: 'Tonison' + }, + pets: ['Dog'] +} + +const mergeNames = (nameA, nameB) => `${nameA.first} and ${nameB.first}` + +const options = { + customMerge: (key) => { + if (key === 'name') { + return mergeNames + } + } +} + +const result = merge(alex, tony, options) + +result.name // => 'Alex and Tony' +result.pets // => ['Cat', 'Parrot', 'Dog'] +``` + + +### `clone` + +*Deprecated.* + +Defaults to `true`. + +If `clone` is `false` then child objects will be copied directly instead of being cloned. This was the default behavior before version 2.x. + + +# Testing + +With [npm](http://npmjs.org) do: + +```sh +npm test +``` + + +# License + +MIT diff --git a/node_modules/deepmerge/rollup.config.js b/node_modules/deepmerge/rollup.config.js new file mode 100644 index 00000000..8323ab27 --- /dev/null +++ b/node_modules/deepmerge/rollup.config.js @@ -0,0 +1,22 @@ +import resolve from 'rollup-plugin-node-resolve' +import commonjs from 'rollup-plugin-commonjs' +import pkg from './package.json' + +export default { + input: `index.js`, + plugins: [ + commonjs(), + resolve(), + ], + output: [ + { + file: pkg.main, + format: `cjs` + }, + { + name: 'deepmerge', + file: 'dist/umd.js', + format: `umd` + }, + ], +} diff --git a/node_modules/esbuild-darwin-arm64/README.md b/node_modules/esbuild-darwin-arm64/README.md new file mode 100644 index 00000000..c2c0398d --- /dev/null +++ b/node_modules/esbuild-darwin-arm64/README.md @@ -0,0 +1,3 @@ +# esbuild + +This is the macOS ARM 64-bit binary for esbuild, a JavaScript bundler and minifier. See https://github.com/evanw/esbuild for details. diff --git a/node_modules/esbuild-darwin-arm64/bin/esbuild b/node_modules/esbuild-darwin-arm64/bin/esbuild new file mode 100755 index 00000000..1c37e14b Binary files /dev/null and b/node_modules/esbuild-darwin-arm64/bin/esbuild differ diff --git a/node_modules/esbuild-darwin-arm64/package.json b/node_modules/esbuild-darwin-arm64/package.json new file mode 100644 index 00000000..4141a6eb --- /dev/null +++ b/node_modules/esbuild-darwin-arm64/package.json @@ -0,0 +1,17 @@ +{ + "name": "esbuild-darwin-arm64", + "version": "0.15.18", + "description": "The macOS ARM 64-bit binary for esbuild, a JavaScript bundler.", + "repository": "https://github.com/evanw/esbuild", + "license": "MIT", + "preferUnplugged": true, + "engines": { + "node": ">=12" + }, + "os": [ + "darwin" + ], + "cpu": [ + "arm64" + ] +} diff --git a/node_modules/fsevents/LICENSE b/node_modules/fsevents/LICENSE new file mode 100644 index 00000000..5d70441c --- /dev/null +++ b/node_modules/fsevents/LICENSE @@ -0,0 +1,22 @@ +MIT License +----------- + +Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. diff --git a/node_modules/fsevents/README.md b/node_modules/fsevents/README.md new file mode 100644 index 00000000..50373a03 --- /dev/null +++ b/node_modules/fsevents/README.md @@ -0,0 +1,89 @@ +# fsevents + +Native access to MacOS FSEvents in [Node.js](https://nodejs.org/) + +The FSEvents API in MacOS allows applications to register for notifications of +changes to a given directory tree. It is a very fast and lightweight alternative +to kqueue. + +This is a low-level library. For a cross-platform file watching module that +uses fsevents, check out [Chokidar](https://github.com/paulmillr/chokidar). + +## Usage + +```sh +npm install fsevents +``` + +Supports only **Node.js v8.16 and higher**. + +```js +const fsevents = require('fsevents'); + +// To start observation +const stop = fsevents.watch(__dirname, (path, flags, id) => { + const info = fsevents.getInfo(path, flags); +}); + +// To end observation +stop(); +``` + +> **Important note:** The API behaviour is slightly different from typical JS APIs. The `stop` function **must** be +> retrieved and stored somewhere, even if you don't plan to stop the watcher. If you forget it, the garbage collector +> will eventually kick in, the watcher will be unregistered, and your callbacks won't be called anymore. + +The callback passed as the second parameter to `.watch` get's called whenever the operating system detects a +a change in the file system. It takes three arguments: + +###### `fsevents.watch(dirname: string, (path: string, flags: number, id: string) => void): () => Promise` + + * `path: string` - the item in the filesystem that have been changed + * `flags: number` - a numeric value describing what the change was + * `id: string` - an unique-id identifying this specific event + + Returns closer callback which when called returns a Promise resolving when the watcher process has been shut down. + +###### `fsevents.getInfo(path: string, flags: number, id: string): FsEventInfo` + +The `getInfo` function takes the `path`, `flags` and `id` arguments and converts those parameters into a structure +that is easier to digest to determine what the change was. + +The `FsEventsInfo` has the following shape: + +```js +/** + * @typedef {'created'|'modified'|'deleted'|'moved'|'root-changed'|'cloned'|'unknown'} FsEventsEvent + * @typedef {'file'|'directory'|'symlink'} FsEventsType + */ +{ + "event": "created", // {FsEventsEvent} + "path": "file.txt", + "type": "file", // {FsEventsType} + "changes": { + "inode": true, // Had iNode Meta-Information changed + "finder": false, // Had Finder Meta-Data changed + "access": false, // Had access permissions changed + "xattrs": false // Had xAttributes changed + }, + "flags": 0x100000000 +} +``` + +## Changelog + +- v2.3 supports Apple Silicon ARM CPUs +- v2 supports node 8.16+ and reduces package size massively +- v1.2.8 supports node 6+ +- v1.2.7 supports node 4+ + +## Troubleshooting + +- I'm getting `EBADPLATFORM` `Unsupported platform for fsevents` error. +- It's fine, nothing is broken. fsevents is macos-only. Other platforms are skipped. If you want to hide this warning, report a bug to NPM bugtracker asking them to hide ebadplatform warnings by default. + +## License + +The MIT License Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller — see LICENSE file. + +Visit our [GitHub page](https://github.com/fsevents/fsevents) and [NPM Page](https://npmjs.org/package/fsevents) diff --git a/node_modules/fsevents/fsevents.d.ts b/node_modules/fsevents/fsevents.d.ts new file mode 100644 index 00000000..2723c048 --- /dev/null +++ b/node_modules/fsevents/fsevents.d.ts @@ -0,0 +1,46 @@ +declare type Event = "created" | "cloned" | "modified" | "deleted" | "moved" | "root-changed" | "unknown"; +declare type Type = "file" | "directory" | "symlink"; +declare type FileChanges = { + inode: boolean; + finder: boolean; + access: boolean; + xattrs: boolean; +}; +declare type Info = { + event: Event; + path: string; + type: Type; + changes: FileChanges; + flags: number; +}; +declare type WatchHandler = (path: string, flags: number, id: string) => void; +export declare function watch(path: string, handler: WatchHandler): () => Promise; +export declare function watch(path: string, since: number, handler: WatchHandler): () => Promise; +export declare function getInfo(path: string, flags: number): Info; +export declare const constants: { + None: 0x00000000; + MustScanSubDirs: 0x00000001; + UserDropped: 0x00000002; + KernelDropped: 0x00000004; + EventIdsWrapped: 0x00000008; + HistoryDone: 0x00000010; + RootChanged: 0x00000020; + Mount: 0x00000040; + Unmount: 0x00000080; + ItemCreated: 0x00000100; + ItemRemoved: 0x00000200; + ItemInodeMetaMod: 0x00000400; + ItemRenamed: 0x00000800; + ItemModified: 0x00001000; + ItemFinderInfoMod: 0x00002000; + ItemChangeOwner: 0x00004000; + ItemXattrMod: 0x00008000; + ItemIsFile: 0x00010000; + ItemIsDir: 0x00020000; + ItemIsSymlink: 0x00040000; + ItemIsHardlink: 0x00100000; + ItemIsLastHardlink: 0x00200000; + OwnEvent: 0x00080000; + ItemCloned: 0x00400000; +}; +export {}; diff --git a/node_modules/fsevents/fsevents.js b/node_modules/fsevents/fsevents.js new file mode 100644 index 00000000..198da98e --- /dev/null +++ b/node_modules/fsevents/fsevents.js @@ -0,0 +1,83 @@ +/* + ** © 2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller + ** Licensed under MIT License. + */ + +/* jshint node:true */ +"use strict"; + +if (process.platform !== "darwin") { + throw new Error(`Module 'fsevents' is not compatible with platform '${process.platform}'`); +} + +const Native = require("./fsevents.node"); +const events = Native.constants; + +function watch(path, since, handler) { + if (typeof path !== "string") { + throw new TypeError(`fsevents argument 1 must be a string and not a ${typeof path}`); + } + if ("function" === typeof since && "undefined" === typeof handler) { + handler = since; + since = Native.flags.SinceNow; + } + if (typeof since !== "number") { + throw new TypeError(`fsevents argument 2 must be a number and not a ${typeof since}`); + } + if (typeof handler !== "function") { + throw new TypeError(`fsevents argument 3 must be a function and not a ${typeof handler}`); + } + + let instance = Native.start(Native.global, path, since, handler); + if (!instance) throw new Error(`could not watch: ${path}`); + return () => { + const result = instance ? Promise.resolve(instance).then(Native.stop) : Promise.resolve(undefined); + instance = undefined; + return result; + }; +} + +function getInfo(path, flags) { + return { + path, + flags, + event: getEventType(flags), + type: getFileType(flags), + changes: getFileChanges(flags), + }; +} + +function getFileType(flags) { + if (events.ItemIsFile & flags) return "file"; + if (events.ItemIsDir & flags) return "directory"; + if (events.MustScanSubDirs & flags) return "directory"; + if (events.ItemIsSymlink & flags) return "symlink"; +} +function anyIsTrue(obj) { + for (let key in obj) { + if (obj[key]) return true; + } + return false; +} +function getEventType(flags) { + if (events.ItemRemoved & flags) return "deleted"; + if (events.ItemRenamed & flags) return "moved"; + if (events.ItemCreated & flags) return "created"; + if (events.ItemModified & flags) return "modified"; + if (events.RootChanged & flags) return "root-changed"; + if (events.ItemCloned & flags) return "cloned"; + if (anyIsTrue(flags)) return "modified"; + return "unknown"; +} +function getFileChanges(flags) { + return { + inode: !!(events.ItemInodeMetaMod & flags), + finder: !!(events.ItemFinderInfoMod & flags), + access: !!(events.ItemChangeOwner & flags), + xattrs: !!(events.ItemXattrMod & flags), + }; +} + +exports.watch = watch; +exports.getInfo = getInfo; +exports.constants = events; diff --git a/node_modules/fsevents/fsevents.node b/node_modules/fsevents/fsevents.node new file mode 100755 index 00000000..1cc3345e Binary files /dev/null and b/node_modules/fsevents/fsevents.node differ diff --git a/node_modules/fsevents/package.json b/node_modules/fsevents/package.json new file mode 100644 index 00000000..5d0ee15e --- /dev/null +++ b/node_modules/fsevents/package.json @@ -0,0 +1,62 @@ +{ + "name": "fsevents", + "version": "2.3.3", + "description": "Native Access to MacOS FSEvents", + "main": "fsevents.js", + "types": "fsevents.d.ts", + "os": [ + "darwin" + ], + "files": [ + "fsevents.d.ts", + "fsevents.js", + "fsevents.node" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + }, + "scripts": { + "clean": "node-gyp clean && rm -f fsevents.node", + "build": "node-gyp clean && rm -f fsevents.node && node-gyp rebuild && node-gyp clean", + "test": "/bin/bash ./test.sh 2>/dev/null", + "prepublishOnly": "npm run build" + }, + "repository": { + "type": "git", + "url": "https://github.com/fsevents/fsevents.git" + }, + "keywords": [ + "fsevents", + "mac" + ], + "contributors": [ + { + "name": "Philipp Dunkel", + "email": "pip@pipobscure.com" + }, + { + "name": "Ben Noordhuis", + "email": "info@bnoordhuis.nl" + }, + { + "name": "Elan Shankar", + "email": "elan.shanker@gmail.com" + }, + { + "name": "Miroslav Bajtoš", + "email": "mbajtoss@gmail.com" + }, + { + "name": "Paul Miller", + "url": "https://paulmillr.com" + } + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/fsevents/fsevents/issues" + }, + "homepage": "https://github.com/fsevents/fsevents", + "devDependencies": { + "node-gyp": "^9.4.0" + } +} diff --git a/node_modules/i18next-browser-languagedetector/.github/stale.yml b/node_modules/i18next-browser-languagedetector/.github/stale.yml new file mode 100644 index 00000000..902971d9 --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/.github/stale.yml @@ -0,0 +1,24 @@ + +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 7 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 7 +# Issues with these labels will never be considered stale +exemptLabels: + - "discussion" + - "feature request" + - "bug" + - "breaking change" + - "doc" + - "issue" + - "help wanted" + - "good first issue" +# Label to use when marking an issue as stale +staleLabel: stale +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: false \ No newline at end of file diff --git a/node_modules/i18next-browser-languagedetector/.prettierrc b/node_modules/i18next-browser-languagedetector/.prettierrc new file mode 100644 index 00000000..ccbee977 --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/.prettierrc @@ -0,0 +1,8 @@ +{ + "bracketSpacing": true, + "jsxBracketSameLine": false, + "printWidth": 100, + "semi": true, + "singleQuote": true, + "trailingComma": "all" +} diff --git a/node_modules/i18next-browser-languagedetector/CHANGELOG.md b/node_modules/i18next-browser-languagedetector/CHANGELOG.md new file mode 100644 index 00000000..ab8b3b6c --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/CHANGELOG.md @@ -0,0 +1,177 @@ +### 7.2.2 + +- some environments, throws when accessing document.cookie (backported from 8.0.2) + +### 7.2.1 + +- fix: align addDetector impementation to type definition [282](https://github.com/i18next/i18next-browser-languageDetector/issues/282) + +### 7.2.0 + +- fix: separate cjs and mjs typings + +### 7.1.0 + +- introduce convertDetectedLanguage option + +### 7.0.2 + +- simplify usage without i18next + +### 7.0.1 + +- try to force esm moduel type for esm build [269](https://github.com/i18next/i18next-browser-languageDetector/issues/269) + +### 7.0.0 + +- typescript fix for i18next v22 + +### 6.1.8 + +- fix export order for typescript [267](https://github.com/i18next/i18next-browser-languageDetector/issues/267) + +### 6.1.7 + +- Types entries missing in package exports (Needed for Typescript >= 4.7 and moduleResolution="Node16"/"Nodenext") [266](https://github.com/i18next/i18next-browser-languageDetector/issues/266) + +### 6.1.6 + +- define module exports in package.json + +### 6.1.5 + +- lookup subdomain with localhost option [264](https://github.com/i18next/i18next-browser-languageDetector/pull/264) + +### 6.1.4 + +- fix querystring lookup if happening after # [256](https://github.com/i18next/i18next-browser-languageDetector/issues/256) + +### 6.1.3 + +- export DecetorOptions and CustomDetector types + + +### 6.1.2 + +- fix lookup return types [245](https://github.com/i18next/i18next-browser-languageDetector/issues/245) + + +### 6.1.1 + +- cookieOptions types [239](https://github.com/i18next/i18next-browser-languageDetector/pull/239) + + +### 6.1.0 + +- Type PluginOptions properly [235](https://github.com/i18next/i18next-browser-languageDetector/pull/235) + + +### 6.0.1 + +- optimize check for local storage and session storage [222](https://github.com/i18next/i18next-browser-languageDetector/pull/222) + + +### 6.0.0 + +- **BREAKING** rename lookupSessionStorage and add it to defaults [221](https://github.com/i18next/i18next-browser-languageDetector/pull/221) + +### 5.0.1 + +- optimize cookie serialization and set sameSite to strict by default, to prepare for browser changes + +### 5.0.0 + +- **BREAKING** needs i18next >= 19.5.0 +- let i18next figure out which detected lng is best match + +### 4.3.1 + +- typescript Updated typescript typings for DetectorOptions to align with current options [216](https://github.com/i18next/i18next-browser-languageDetector/pull/216) + +### 4.3.0 + +- sessionStorage support [215](https://github.com/i18next/i18next-browser-languageDetector/pull/215) + +### 4.2.0 + +- Add config option checkForSimilarInWhitelist [211](https://github.com/i18next/i18next-browser-languageDetector/pull/211) + +### 4.1.1 + +- fix: pass cookieOptions with the cacheUserLang [205](https://github.com/i18next/i18next-browser-languageDetector/pull/205) + +### 4.1.0 + +- feat: add cookieOptions for setting cookies [203](https://github.com/i18next/i18next-browser-languageDetector/pull/203) + +### 4.0.2 + +- update index file to reflect build changes done in 4.0.0 + +### 4.0.1 + +- typescript: Use updated ts export default from i18next [194](https://github.com/i18next/i18next-browser-languageDetector/pull/194) + +### 4.0.0 + +- removes deprecated jsnext:main from package.json +- Bundle all entry points with rollup bringing it up to same standard as [xhr-backend](https://github.com/i18next/i18next-xhr-backend/pull/314) +- **note:** dist/es -> dist/esm, dist/commonjs -> dist/cjs (individual files -> one bundled file) +- removes bower finally + +### v3.1.1 + +- add default checkWhitelist: true + +### v3.1.0 + +- Added option to prevent checking whitelist for detected languages `checkWhitelist: true` [190](https://github.com/i18next/i18next-browser-languageDetector/pull/190) + +### v3.0.3 + +- Remove clutter from npm package [181](https://github.com/i18next/i18next-browser-languageDetector/pull/181) + +### v3.0.2 + +- typescript: Fix types for `use()` module [180](https://github.com/i18next/i18next-browser-languageDetector/pull/180) + +### v3.0.1 + +- typescript: fix types [165](https://github.com/i18next/i18next-browser-languageDetector/pull/165) + +### v3.0.0 + +- typescript: add types [164](https://github.com/i18next/i18next-browser-languageDetector/pull/164) + +### v2.2.4 + +- fix [157](https://github.com/i18next/i18next-browser-languageDetector/issues/157) + +### v2.2.3 + +- fix [159](https://github.com/i18next/i18next-browser-languageDetector/pull/159) + +### v2.2.2 + +- Lang by path: skip if language not found [159](https://github.com/i18next/i18next-browser-languageDetector/pull/159) + +### v2.2.1 + +- fixes option validation in path lookup [158](https://github.com/i18next/i18next-browser-languageDetector/issues/158) +- fixes lookup from href for subdomain [157](https://github.com/i18next/i18next-browser-languageDetector/issues/157) + +### v2.2.0 + +- add detector for path and subdomain [PR153](https://github.com/i18next/i18next-browser-languageDetector/pull/153) and [PR152](https://github.com/i18next/i18next-browser-languageDetector/pull/152) + +### v2.1.1 + +- support for fallback language in form of object [151](https://github.com/i18next/i18next-browser-languageDetector/issues/151) + +### v2.1.0 + +- add .js for browser import implementation [PR147](https://github.com/i18next/i18next-browser-languageDetector/pull/147) + +### v2.0.0 + +- [BREAKING] options.excludeCacheFor (array of language codes; default ['cimode']): if a language maps a value in that list the language will not be written to cache (eg. localStorage, cookie). If you use lng cimode in your tests and require it to be cached set the option to false or empty array diff --git a/node_modules/i18next-browser-languagedetector/LICENSE b/node_modules/i18next-browser-languagedetector/LICENSE new file mode 100644 index 00000000..17a2242a --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2023 i18next + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. + diff --git a/node_modules/i18next-browser-languagedetector/README.md b/node_modules/i18next-browser-languagedetector/README.md new file mode 100644 index 00000000..4448dc1d --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/README.md @@ -0,0 +1,160 @@ +# Introduction + +[![npm version](https://img.shields.io/npm/v/i18next-browser-languagedetector.svg?style=flat-square)](https://www.npmjs.com/package/i18next-browser-languagedetector) + +This is a i18next language detection plugin use to detect user language in the browser with support for: + +- cookie (set cookie i18next=LANGUAGE) +- sessionStorage (set key i18nextLng=LANGUAGE) +- localStorage (set key i18nextLng=LANGUAGE) +- navigator (set browser language) +- querystring (append `?lng=LANGUAGE` to URL) +- htmlTag (add html language tag lng.replace('-', '_') +} +``` + +Options can be passed in: + +**preferred** - by setting options.detection in i18next.init: + +```js +import i18next from 'i18next'; +import LanguageDetector from 'i18next-browser-languagedetector'; + +i18next.use(LanguageDetector).init({ + detection: options, +}); +``` + +on construction: + +```js +import LanguageDetector from 'i18next-browser-languagedetector'; +const languageDetector = new LanguageDetector(null, options); +``` + +via calling init: + +```js +import LanguageDetector from 'i18next-browser-languagedetector'; +const languageDetector = new LanguageDetector(); +languageDetector.init(options); +``` + +## Adding own detection functionality + +### interface + +```js +export default { + name: 'myDetectorsName', + + lookup(options) { + // options -> are passed in options + return 'en'; + }, + + cacheUserLanguage(lng, options) { + // options -> are passed in options + // lng -> current language, will be called after init and on changeLanguage + // store it + }, +}; +``` + +### adding it + +```js +import LanguageDetector from 'i18next-browser-languagedetector'; +const languageDetector = new LanguageDetector(); +languageDetector.addDetector(myDetector); + +i18next.use(languageDetector).init({ + detection: options, +}); +``` + +Don't forget: You have to add the name of your detector (`myDetectorsName` in this case) to the `order` array in your `options` object. Without that, your detector won't be used. See the [Detector Options section for more](#detector-options). + +--- + +

Gold Sponsors

+ +

+ + + +

+ +--- + +**localization as a service - locize.com** + +Needing a translation management? Want to edit your translations with an InContext Editor? Use the orginal provided to you by the maintainers of i18next! + +![locize](https://locize.com/img/ads/github_locize.png) + +With using [locize](http://locize.com/?utm_source=react_i18next_readme&utm_medium=github) you directly support the future of i18next and react-i18next. + +--- diff --git a/node_modules/i18next-browser-languagedetector/dist/cjs/i18nextBrowserLanguageDetector.js b/node_modules/i18next-browser-languagedetector/dist/cjs/i18nextBrowserLanguageDetector.js new file mode 100644 index 00000000..895a9192 --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/dist/cjs/i18nextBrowserLanguageDetector.js @@ -0,0 +1,382 @@ +'use strict'; + +var _classCallCheck = require('@babel/runtime/helpers/classCallCheck'); +var _createClass = require('@babel/runtime/helpers/createClass'); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck); +var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass); + +var arr = []; +var each = arr.forEach; +var slice = arr.slice; +function defaults(obj) { + each.call(slice.call(arguments, 1), function (source) { + if (source) { + for (var prop in source) { + if (obj[prop] === undefined) obj[prop] = source[prop]; + } + } + }); + return obj; +} + +// eslint-disable-next-line no-control-regex +var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; +var serializeCookie = function serializeCookie(name, val, options) { + var opt = options || {}; + opt.path = opt.path || '/'; + var value = encodeURIComponent(val); + var str = "".concat(name, "=").concat(value); + if (opt.maxAge > 0) { + var maxAge = opt.maxAge - 0; + if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number'); + str += "; Max-Age=".concat(Math.floor(maxAge)); + } + if (opt.domain) { + if (!fieldContentRegExp.test(opt.domain)) { + throw new TypeError('option domain is invalid'); + } + str += "; Domain=".concat(opt.domain); + } + if (opt.path) { + if (!fieldContentRegExp.test(opt.path)) { + throw new TypeError('option path is invalid'); + } + str += "; Path=".concat(opt.path); + } + if (opt.expires) { + if (typeof opt.expires.toUTCString !== 'function') { + throw new TypeError('option expires is invalid'); + } + str += "; Expires=".concat(opt.expires.toUTCString()); + } + if (opt.httpOnly) str += '; HttpOnly'; + if (opt.secure) str += '; Secure'; + if (opt.sameSite) { + var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite; + switch (sameSite) { + case true: + str += '; SameSite=Strict'; + break; + case 'lax': + str += '; SameSite=Lax'; + break; + case 'strict': + str += '; SameSite=Strict'; + break; + case 'none': + str += '; SameSite=None'; + break; + default: + throw new TypeError('option sameSite is invalid'); + } + } + return str; +}; +var cookie = { + create: function create(name, value, minutes, domain) { + var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { + path: '/', + sameSite: 'strict' + }; + if (minutes) { + cookieOptions.expires = new Date(); + cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000); + } + if (domain) cookieOptions.domain = domain; + document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions); + }, + read: function read(name) { + var nameEQ = "".concat(name, "="); + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) === ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); + } + return null; + }, + remove: function remove(name) { + this.create(name, '', -1); + } +}; +var cookie$1 = { + name: 'cookie', + lookup: function lookup(options) { + var found; + if (options.lookupCookie && typeof document !== 'undefined') { + var c = cookie.read(options.lookupCookie); + if (c) found = c; + } + return found; + }, + cacheUserLanguage: function cacheUserLanguage(lng, options) { + if (options.lookupCookie && typeof document !== 'undefined') { + cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions); + } + } +}; + +var querystring = { + name: 'querystring', + lookup: function lookup(options) { + var found; + if (typeof window !== 'undefined') { + var search = window.location.search; + if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) { + search = window.location.hash.substring(window.location.hash.indexOf('?')); + } + var query = search.substring(1); + var params = query.split('&'); + for (var i = 0; i < params.length; i++) { + var pos = params[i].indexOf('='); + if (pos > 0) { + var key = params[i].substring(0, pos); + if (key === options.lookupQuerystring) { + found = params[i].substring(pos + 1); + } + } + } + } + return found; + } +}; + +var hasLocalStorageSupport = null; +var localStorageAvailable = function localStorageAvailable() { + if (hasLocalStorageSupport !== null) return hasLocalStorageSupport; + try { + hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null; + var testKey = 'i18next.translate.boo'; + window.localStorage.setItem(testKey, 'foo'); + window.localStorage.removeItem(testKey); + } catch (e) { + hasLocalStorageSupport = false; + } + return hasLocalStorageSupport; +}; +var localStorage = { + name: 'localStorage', + lookup: function lookup(options) { + var found; + if (options.lookupLocalStorage && localStorageAvailable()) { + var lng = window.localStorage.getItem(options.lookupLocalStorage); + if (lng) found = lng; + } + return found; + }, + cacheUserLanguage: function cacheUserLanguage(lng, options) { + if (options.lookupLocalStorage && localStorageAvailable()) { + window.localStorage.setItem(options.lookupLocalStorage, lng); + } + } +}; + +var hasSessionStorageSupport = null; +var sessionStorageAvailable = function sessionStorageAvailable() { + if (hasSessionStorageSupport !== null) return hasSessionStorageSupport; + try { + hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null; + var testKey = 'i18next.translate.boo'; + window.sessionStorage.setItem(testKey, 'foo'); + window.sessionStorage.removeItem(testKey); + } catch (e) { + hasSessionStorageSupport = false; + } + return hasSessionStorageSupport; +}; +var sessionStorage = { + name: 'sessionStorage', + lookup: function lookup(options) { + var found; + if (options.lookupSessionStorage && sessionStorageAvailable()) { + var lng = window.sessionStorage.getItem(options.lookupSessionStorage); + if (lng) found = lng; + } + return found; + }, + cacheUserLanguage: function cacheUserLanguage(lng, options) { + if (options.lookupSessionStorage && sessionStorageAvailable()) { + window.sessionStorage.setItem(options.lookupSessionStorage, lng); + } + } +}; + +var navigator$1 = { + name: 'navigator', + lookup: function lookup(options) { + var found = []; + if (typeof navigator !== 'undefined') { + if (navigator.languages) { + // chrome only; not an array, so can't use .push.apply instead of iterating + for (var i = 0; i < navigator.languages.length; i++) { + found.push(navigator.languages[i]); + } + } + if (navigator.userLanguage) { + found.push(navigator.userLanguage); + } + if (navigator.language) { + found.push(navigator.language); + } + } + return found.length > 0 ? found : undefined; + } +}; + +var htmlTag = { + name: 'htmlTag', + lookup: function lookup(options) { + var found; + var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null); + if (htmlTag && typeof htmlTag.getAttribute === 'function') { + found = htmlTag.getAttribute('lang'); + } + return found; + } +}; + +var path = { + name: 'path', + lookup: function lookup(options) { + var found; + if (typeof window !== 'undefined') { + var language = window.location.pathname.match(/\/([a-zA-Z-]*)/g); + if (language instanceof Array) { + if (typeof options.lookupFromPathIndex === 'number') { + if (typeof language[options.lookupFromPathIndex] !== 'string') { + return undefined; + } + found = language[options.lookupFromPathIndex].replace('/', ''); + } else { + found = language[0].replace('/', ''); + } + } + } + return found; + } +}; + +var subdomain = { + name: 'subdomain', + lookup: function lookup(options) { + // If given get the subdomain index else 1 + var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1; + // get all matches if window.location. is existing + // first item of match is the match itself and the second is the first group macht which sould be the first subdomain match + // is the hostname no public domain get the or option of localhost + var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i); + + // if there is no match (null) return undefined + if (!language) return undefined; + // return the given group match + return language[lookupFromSubdomainIndex]; + } +}; + +// some environments, throws when accessing document.cookie +var canCookies = false; +try { + // eslint-disable-next-line no-unused-expressions + document.cookie; + canCookies = true; + // eslint-disable-next-line no-empty +} catch (e) {} +var order = ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag']; +if (!canCookies) order.splice(1, 1); +function getDefaults() { + return { + order: order, + lookupQuerystring: 'lng', + lookupCookie: 'i18next', + lookupLocalStorage: 'i18nextLng', + lookupSessionStorage: 'i18nextLng', + // cache user language + caches: ['localStorage'], + excludeCacheFor: ['cimode'], + // cookieMinutes: 10, + // cookieDomain: 'myDomain' + + convertDetectedLanguage: function convertDetectedLanguage(l) { + return l; + } + }; +} +var Browser = /*#__PURE__*/function () { + function Browser(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck__default["default"](this, Browser); + this.type = 'languageDetector'; + this.detectors = {}; + this.init(services, options); + } + return _createClass__default["default"](Browser, [{ + key: "init", + value: function init(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + this.services = services || { + languageUtils: {} + }; // this way the language detector can be used without i18next + this.options = defaults(options, this.options || {}, getDefaults()); + if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) { + this.options.convertDetectedLanguage = function (l) { + return l.replace('-', '_'); + }; + } + + // backwards compatibility + if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex; + this.i18nOptions = i18nOptions; + this.addDetector(cookie$1); + this.addDetector(querystring); + this.addDetector(localStorage); + this.addDetector(sessionStorage); + this.addDetector(navigator$1); + this.addDetector(htmlTag); + this.addDetector(path); + this.addDetector(subdomain); + } + }, { + key: "addDetector", + value: function addDetector(detector) { + this.detectors[detector.name] = detector; + return this; + } + }, { + key: "detect", + value: function detect(detectionOrder) { + var _this = this; + if (!detectionOrder) detectionOrder = this.options.order; + var detected = []; + detectionOrder.forEach(function (detectorName) { + if (_this.detectors[detectorName]) { + var lookup = _this.detectors[detectorName].lookup(_this.options); + if (lookup && typeof lookup === 'string') lookup = [lookup]; + if (lookup) detected = detected.concat(lookup); + } + }); + detected = detected.map(function (d) { + return _this.options.convertDetectedLanguage(d); + }); + if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0 + return detected.length > 0 ? detected[0] : null; // a little backward compatibility + } + }, { + key: "cacheUserLanguage", + value: function cacheUserLanguage(lng, caches) { + var _this2 = this; + if (!caches) caches = this.options.caches; + if (!caches) return; + if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return; + caches.forEach(function (cacheName) { + if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options); + }); + } + }]); +}(); +Browser.type = 'languageDetector'; + +module.exports = Browser; diff --git a/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js b/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js new file mode 100644 index 00000000..62058ff0 --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js @@ -0,0 +1,375 @@ +import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck'; +import _createClass from '@babel/runtime/helpers/esm/createClass'; + +var arr = []; +var each = arr.forEach; +var slice = arr.slice; +function defaults(obj) { + each.call(slice.call(arguments, 1), function (source) { + if (source) { + for (var prop in source) { + if (obj[prop] === undefined) obj[prop] = source[prop]; + } + } + }); + return obj; +} + +// eslint-disable-next-line no-control-regex +var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; +var serializeCookie = function serializeCookie(name, val, options) { + var opt = options || {}; + opt.path = opt.path || '/'; + var value = encodeURIComponent(val); + var str = "".concat(name, "=").concat(value); + if (opt.maxAge > 0) { + var maxAge = opt.maxAge - 0; + if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number'); + str += "; Max-Age=".concat(Math.floor(maxAge)); + } + if (opt.domain) { + if (!fieldContentRegExp.test(opt.domain)) { + throw new TypeError('option domain is invalid'); + } + str += "; Domain=".concat(opt.domain); + } + if (opt.path) { + if (!fieldContentRegExp.test(opt.path)) { + throw new TypeError('option path is invalid'); + } + str += "; Path=".concat(opt.path); + } + if (opt.expires) { + if (typeof opt.expires.toUTCString !== 'function') { + throw new TypeError('option expires is invalid'); + } + str += "; Expires=".concat(opt.expires.toUTCString()); + } + if (opt.httpOnly) str += '; HttpOnly'; + if (opt.secure) str += '; Secure'; + if (opt.sameSite) { + var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite; + switch (sameSite) { + case true: + str += '; SameSite=Strict'; + break; + case 'lax': + str += '; SameSite=Lax'; + break; + case 'strict': + str += '; SameSite=Strict'; + break; + case 'none': + str += '; SameSite=None'; + break; + default: + throw new TypeError('option sameSite is invalid'); + } + } + return str; +}; +var cookie = { + create: function create(name, value, minutes, domain) { + var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { + path: '/', + sameSite: 'strict' + }; + if (minutes) { + cookieOptions.expires = new Date(); + cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000); + } + if (domain) cookieOptions.domain = domain; + document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions); + }, + read: function read(name) { + var nameEQ = "".concat(name, "="); + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) === ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); + } + return null; + }, + remove: function remove(name) { + this.create(name, '', -1); + } +}; +var cookie$1 = { + name: 'cookie', + lookup: function lookup(options) { + var found; + if (options.lookupCookie && typeof document !== 'undefined') { + var c = cookie.read(options.lookupCookie); + if (c) found = c; + } + return found; + }, + cacheUserLanguage: function cacheUserLanguage(lng, options) { + if (options.lookupCookie && typeof document !== 'undefined') { + cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions); + } + } +}; + +var querystring = { + name: 'querystring', + lookup: function lookup(options) { + var found; + if (typeof window !== 'undefined') { + var search = window.location.search; + if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) { + search = window.location.hash.substring(window.location.hash.indexOf('?')); + } + var query = search.substring(1); + var params = query.split('&'); + for (var i = 0; i < params.length; i++) { + var pos = params[i].indexOf('='); + if (pos > 0) { + var key = params[i].substring(0, pos); + if (key === options.lookupQuerystring) { + found = params[i].substring(pos + 1); + } + } + } + } + return found; + } +}; + +var hasLocalStorageSupport = null; +var localStorageAvailable = function localStorageAvailable() { + if (hasLocalStorageSupport !== null) return hasLocalStorageSupport; + try { + hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null; + var testKey = 'i18next.translate.boo'; + window.localStorage.setItem(testKey, 'foo'); + window.localStorage.removeItem(testKey); + } catch (e) { + hasLocalStorageSupport = false; + } + return hasLocalStorageSupport; +}; +var localStorage = { + name: 'localStorage', + lookup: function lookup(options) { + var found; + if (options.lookupLocalStorage && localStorageAvailable()) { + var lng = window.localStorage.getItem(options.lookupLocalStorage); + if (lng) found = lng; + } + return found; + }, + cacheUserLanguage: function cacheUserLanguage(lng, options) { + if (options.lookupLocalStorage && localStorageAvailable()) { + window.localStorage.setItem(options.lookupLocalStorage, lng); + } + } +}; + +var hasSessionStorageSupport = null; +var sessionStorageAvailable = function sessionStorageAvailable() { + if (hasSessionStorageSupport !== null) return hasSessionStorageSupport; + try { + hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null; + var testKey = 'i18next.translate.boo'; + window.sessionStorage.setItem(testKey, 'foo'); + window.sessionStorage.removeItem(testKey); + } catch (e) { + hasSessionStorageSupport = false; + } + return hasSessionStorageSupport; +}; +var sessionStorage = { + name: 'sessionStorage', + lookup: function lookup(options) { + var found; + if (options.lookupSessionStorage && sessionStorageAvailable()) { + var lng = window.sessionStorage.getItem(options.lookupSessionStorage); + if (lng) found = lng; + } + return found; + }, + cacheUserLanguage: function cacheUserLanguage(lng, options) { + if (options.lookupSessionStorage && sessionStorageAvailable()) { + window.sessionStorage.setItem(options.lookupSessionStorage, lng); + } + } +}; + +var navigator$1 = { + name: 'navigator', + lookup: function lookup(options) { + var found = []; + if (typeof navigator !== 'undefined') { + if (navigator.languages) { + // chrome only; not an array, so can't use .push.apply instead of iterating + for (var i = 0; i < navigator.languages.length; i++) { + found.push(navigator.languages[i]); + } + } + if (navigator.userLanguage) { + found.push(navigator.userLanguage); + } + if (navigator.language) { + found.push(navigator.language); + } + } + return found.length > 0 ? found : undefined; + } +}; + +var htmlTag = { + name: 'htmlTag', + lookup: function lookup(options) { + var found; + var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null); + if (htmlTag && typeof htmlTag.getAttribute === 'function') { + found = htmlTag.getAttribute('lang'); + } + return found; + } +}; + +var path = { + name: 'path', + lookup: function lookup(options) { + var found; + if (typeof window !== 'undefined') { + var language = window.location.pathname.match(/\/([a-zA-Z-]*)/g); + if (language instanceof Array) { + if (typeof options.lookupFromPathIndex === 'number') { + if (typeof language[options.lookupFromPathIndex] !== 'string') { + return undefined; + } + found = language[options.lookupFromPathIndex].replace('/', ''); + } else { + found = language[0].replace('/', ''); + } + } + } + return found; + } +}; + +var subdomain = { + name: 'subdomain', + lookup: function lookup(options) { + // If given get the subdomain index else 1 + var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1; + // get all matches if window.location. is existing + // first item of match is the match itself and the second is the first group macht which sould be the first subdomain match + // is the hostname no public domain get the or option of localhost + var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i); + + // if there is no match (null) return undefined + if (!language) return undefined; + // return the given group match + return language[lookupFromSubdomainIndex]; + } +}; + +// some environments, throws when accessing document.cookie +var canCookies = false; +try { + // eslint-disable-next-line no-unused-expressions + document.cookie; + canCookies = true; + // eslint-disable-next-line no-empty +} catch (e) {} +var order = ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag']; +if (!canCookies) order.splice(1, 1); +function getDefaults() { + return { + order: order, + lookupQuerystring: 'lng', + lookupCookie: 'i18next', + lookupLocalStorage: 'i18nextLng', + lookupSessionStorage: 'i18nextLng', + // cache user language + caches: ['localStorage'], + excludeCacheFor: ['cimode'], + // cookieMinutes: 10, + // cookieDomain: 'myDomain' + + convertDetectedLanguage: function convertDetectedLanguage(l) { + return l; + } + }; +} +var Browser = /*#__PURE__*/function () { + function Browser(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Browser); + this.type = 'languageDetector'; + this.detectors = {}; + this.init(services, options); + } + return _createClass(Browser, [{ + key: "init", + value: function init(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + this.services = services || { + languageUtils: {} + }; // this way the language detector can be used without i18next + this.options = defaults(options, this.options || {}, getDefaults()); + if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) { + this.options.convertDetectedLanguage = function (l) { + return l.replace('-', '_'); + }; + } + + // backwards compatibility + if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex; + this.i18nOptions = i18nOptions; + this.addDetector(cookie$1); + this.addDetector(querystring); + this.addDetector(localStorage); + this.addDetector(sessionStorage); + this.addDetector(navigator$1); + this.addDetector(htmlTag); + this.addDetector(path); + this.addDetector(subdomain); + } + }, { + key: "addDetector", + value: function addDetector(detector) { + this.detectors[detector.name] = detector; + return this; + } + }, { + key: "detect", + value: function detect(detectionOrder) { + var _this = this; + if (!detectionOrder) detectionOrder = this.options.order; + var detected = []; + detectionOrder.forEach(function (detectorName) { + if (_this.detectors[detectorName]) { + var lookup = _this.detectors[detectorName].lookup(_this.options); + if (lookup && typeof lookup === 'string') lookup = [lookup]; + if (lookup) detected = detected.concat(lookup); + } + }); + detected = detected.map(function (d) { + return _this.options.convertDetectedLanguage(d); + }); + if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0 + return detected.length > 0 ? detected[0] : null; // a little backward compatibility + } + }, { + key: "cacheUserLanguage", + value: function cacheUserLanguage(lng, caches) { + var _this2 = this; + if (!caches) caches = this.options.caches; + if (!caches) return; + if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return; + caches.forEach(function (cacheName) { + if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options); + }); + } + }]); +}(); +Browser.type = 'languageDetector'; + +export { Browser as default }; diff --git a/node_modules/i18next-browser-languagedetector/dist/esm/package.json b/node_modules/i18next-browser-languagedetector/dist/esm/package.json new file mode 100644 index 00000000..2e2e03d8 --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/dist/esm/package.json @@ -0,0 +1 @@ +{"type":"module","version":"7.2.2"} diff --git a/node_modules/i18next-browser-languagedetector/dist/umd/i18nextBrowserLanguageDetector.js b/node_modules/i18next-browser-languagedetector/dist/umd/i18nextBrowserLanguageDetector.js new file mode 100644 index 00000000..f5ca7acf --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/dist/umd/i18nextBrowserLanguageDetector.js @@ -0,0 +1,422 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.i18nextBrowserLanguageDetector = factory()); +})(this, (function () { 'use strict'; + + function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); + } + + function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); + } + + function toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); + } + + function toPropertyKey(t) { + var i = toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; + } + + function _defineProperties(e, r) { + for (var t = 0; t < r.length; t++) { + var o = r[t]; + o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o); + } + } + function _createClass(e, r, t) { + return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { + writable: !1 + }), e; + } + + var arr = []; + var each = arr.forEach; + var slice = arr.slice; + function defaults(obj) { + each.call(slice.call(arguments, 1), function (source) { + if (source) { + for (var prop in source) { + if (obj[prop] === undefined) obj[prop] = source[prop]; + } + } + }); + return obj; + } + + // eslint-disable-next-line no-control-regex + var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; + var serializeCookie = function serializeCookie(name, val, options) { + var opt = options || {}; + opt.path = opt.path || '/'; + var value = encodeURIComponent(val); + var str = "".concat(name, "=").concat(value); + if (opt.maxAge > 0) { + var maxAge = opt.maxAge - 0; + if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number'); + str += "; Max-Age=".concat(Math.floor(maxAge)); + } + if (opt.domain) { + if (!fieldContentRegExp.test(opt.domain)) { + throw new TypeError('option domain is invalid'); + } + str += "; Domain=".concat(opt.domain); + } + if (opt.path) { + if (!fieldContentRegExp.test(opt.path)) { + throw new TypeError('option path is invalid'); + } + str += "; Path=".concat(opt.path); + } + if (opt.expires) { + if (typeof opt.expires.toUTCString !== 'function') { + throw new TypeError('option expires is invalid'); + } + str += "; Expires=".concat(opt.expires.toUTCString()); + } + if (opt.httpOnly) str += '; HttpOnly'; + if (opt.secure) str += '; Secure'; + if (opt.sameSite) { + var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite; + switch (sameSite) { + case true: + str += '; SameSite=Strict'; + break; + case 'lax': + str += '; SameSite=Lax'; + break; + case 'strict': + str += '; SameSite=Strict'; + break; + case 'none': + str += '; SameSite=None'; + break; + default: + throw new TypeError('option sameSite is invalid'); + } + } + return str; + }; + var cookie = { + create: function create(name, value, minutes, domain) { + var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { + path: '/', + sameSite: 'strict' + }; + if (minutes) { + cookieOptions.expires = new Date(); + cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000); + } + if (domain) cookieOptions.domain = domain; + document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions); + }, + read: function read(name) { + var nameEQ = "".concat(name, "="); + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) === ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); + } + return null; + }, + remove: function remove(name) { + this.create(name, '', -1); + } + }; + var cookie$1 = { + name: 'cookie', + lookup: function lookup(options) { + var found; + if (options.lookupCookie && typeof document !== 'undefined') { + var c = cookie.read(options.lookupCookie); + if (c) found = c; + } + return found; + }, + cacheUserLanguage: function cacheUserLanguage(lng, options) { + if (options.lookupCookie && typeof document !== 'undefined') { + cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions); + } + } + }; + + var querystring = { + name: 'querystring', + lookup: function lookup(options) { + var found; + if (typeof window !== 'undefined') { + var search = window.location.search; + if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) { + search = window.location.hash.substring(window.location.hash.indexOf('?')); + } + var query = search.substring(1); + var params = query.split('&'); + for (var i = 0; i < params.length; i++) { + var pos = params[i].indexOf('='); + if (pos > 0) { + var key = params[i].substring(0, pos); + if (key === options.lookupQuerystring) { + found = params[i].substring(pos + 1); + } + } + } + } + return found; + } + }; + + var hasLocalStorageSupport = null; + var localStorageAvailable = function localStorageAvailable() { + if (hasLocalStorageSupport !== null) return hasLocalStorageSupport; + try { + hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null; + var testKey = 'i18next.translate.boo'; + window.localStorage.setItem(testKey, 'foo'); + window.localStorage.removeItem(testKey); + } catch (e) { + hasLocalStorageSupport = false; + } + return hasLocalStorageSupport; + }; + var localStorage = { + name: 'localStorage', + lookup: function lookup(options) { + var found; + if (options.lookupLocalStorage && localStorageAvailable()) { + var lng = window.localStorage.getItem(options.lookupLocalStorage); + if (lng) found = lng; + } + return found; + }, + cacheUserLanguage: function cacheUserLanguage(lng, options) { + if (options.lookupLocalStorage && localStorageAvailable()) { + window.localStorage.setItem(options.lookupLocalStorage, lng); + } + } + }; + + var hasSessionStorageSupport = null; + var sessionStorageAvailable = function sessionStorageAvailable() { + if (hasSessionStorageSupport !== null) return hasSessionStorageSupport; + try { + hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null; + var testKey = 'i18next.translate.boo'; + window.sessionStorage.setItem(testKey, 'foo'); + window.sessionStorage.removeItem(testKey); + } catch (e) { + hasSessionStorageSupport = false; + } + return hasSessionStorageSupport; + }; + var sessionStorage = { + name: 'sessionStorage', + lookup: function lookup(options) { + var found; + if (options.lookupSessionStorage && sessionStorageAvailable()) { + var lng = window.sessionStorage.getItem(options.lookupSessionStorage); + if (lng) found = lng; + } + return found; + }, + cacheUserLanguage: function cacheUserLanguage(lng, options) { + if (options.lookupSessionStorage && sessionStorageAvailable()) { + window.sessionStorage.setItem(options.lookupSessionStorage, lng); + } + } + }; + + var navigator$1 = { + name: 'navigator', + lookup: function lookup(options) { + var found = []; + if (typeof navigator !== 'undefined') { + if (navigator.languages) { + // chrome only; not an array, so can't use .push.apply instead of iterating + for (var i = 0; i < navigator.languages.length; i++) { + found.push(navigator.languages[i]); + } + } + if (navigator.userLanguage) { + found.push(navigator.userLanguage); + } + if (navigator.language) { + found.push(navigator.language); + } + } + return found.length > 0 ? found : undefined; + } + }; + + var htmlTag = { + name: 'htmlTag', + lookup: function lookup(options) { + var found; + var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null); + if (htmlTag && typeof htmlTag.getAttribute === 'function') { + found = htmlTag.getAttribute('lang'); + } + return found; + } + }; + + var path = { + name: 'path', + lookup: function lookup(options) { + var found; + if (typeof window !== 'undefined') { + var language = window.location.pathname.match(/\/([a-zA-Z-]*)/g); + if (language instanceof Array) { + if (typeof options.lookupFromPathIndex === 'number') { + if (typeof language[options.lookupFromPathIndex] !== 'string') { + return undefined; + } + found = language[options.lookupFromPathIndex].replace('/', ''); + } else { + found = language[0].replace('/', ''); + } + } + } + return found; + } + }; + + var subdomain = { + name: 'subdomain', + lookup: function lookup(options) { + // If given get the subdomain index else 1 + var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1; + // get all matches if window.location. is existing + // first item of match is the match itself and the second is the first group macht which sould be the first subdomain match + // is the hostname no public domain get the or option of localhost + var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i); + + // if there is no match (null) return undefined + if (!language) return undefined; + // return the given group match + return language[lookupFromSubdomainIndex]; + } + }; + + // some environments, throws when accessing document.cookie + var canCookies = false; + try { + // eslint-disable-next-line no-unused-expressions + document.cookie; + canCookies = true; + // eslint-disable-next-line no-empty + } catch (e) {} + var order = ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag']; + if (!canCookies) order.splice(1, 1); + function getDefaults() { + return { + order: order, + lookupQuerystring: 'lng', + lookupCookie: 'i18next', + lookupLocalStorage: 'i18nextLng', + lookupSessionStorage: 'i18nextLng', + // cache user language + caches: ['localStorage'], + excludeCacheFor: ['cimode'], + // cookieMinutes: 10, + // cookieDomain: 'myDomain' + + convertDetectedLanguage: function convertDetectedLanguage(l) { + return l; + } + }; + } + var Browser = /*#__PURE__*/function () { + function Browser(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Browser); + this.type = 'languageDetector'; + this.detectors = {}; + this.init(services, options); + } + return _createClass(Browser, [{ + key: "init", + value: function init(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + this.services = services || { + languageUtils: {} + }; // this way the language detector can be used without i18next + this.options = defaults(options, this.options || {}, getDefaults()); + if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) { + this.options.convertDetectedLanguage = function (l) { + return l.replace('-', '_'); + }; + } + + // backwards compatibility + if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex; + this.i18nOptions = i18nOptions; + this.addDetector(cookie$1); + this.addDetector(querystring); + this.addDetector(localStorage); + this.addDetector(sessionStorage); + this.addDetector(navigator$1); + this.addDetector(htmlTag); + this.addDetector(path); + this.addDetector(subdomain); + } + }, { + key: "addDetector", + value: function addDetector(detector) { + this.detectors[detector.name] = detector; + return this; + } + }, { + key: "detect", + value: function detect(detectionOrder) { + var _this = this; + if (!detectionOrder) detectionOrder = this.options.order; + var detected = []; + detectionOrder.forEach(function (detectorName) { + if (_this.detectors[detectorName]) { + var lookup = _this.detectors[detectorName].lookup(_this.options); + if (lookup && typeof lookup === 'string') lookup = [lookup]; + if (lookup) detected = detected.concat(lookup); + } + }); + detected = detected.map(function (d) { + return _this.options.convertDetectedLanguage(d); + }); + if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0 + return detected.length > 0 ? detected[0] : null; // a little backward compatibility + } + }, { + key: "cacheUserLanguage", + value: function cacheUserLanguage(lng, caches) { + var _this2 = this; + if (!caches) caches = this.options.caches; + if (!caches) return; + if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return; + caches.forEach(function (cacheName) { + if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options); + }); + } + }]); + }(); + Browser.type = 'languageDetector'; + + return Browser; + +})); diff --git a/node_modules/i18next-browser-languagedetector/dist/umd/i18nextBrowserLanguageDetector.min.js b/node_modules/i18next-browser-languagedetector/dist/umd/i18nextBrowserLanguageDetector.min.js new file mode 100644 index 00000000..9c243b9c --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/dist/umd/i18nextBrowserLanguageDetector.min.js @@ -0,0 +1 @@ +!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(e="undefined"!=typeof globalThis?globalThis:e||self).i18nextBrowserLanguageDetector=o()}(this,(function(){"use strict";function e(o){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(o)}function o(o){var t=function(o,t){if("object"!=e(o)||!o)return o;var n=o[Symbol.toPrimitive];if(void 0!==n){var i=n.call(o,t||"default");if("object"!=e(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(o)}(o,"string");return"symbol"==e(t)?t:t+""}function t(e,t){for(var n=0;n4&&void 0!==arguments[4]?arguments[4]:{path:"/",sameSite:"strict"};t&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+60*t*1e3)),n&&(i.domain=n),document.cookie=function(e,o,t){var n=t||{};n.path=n.path||"/";var i=encodeURIComponent(o),r="".concat(e,"=").concat(i);if(n.maxAge>0){var u=n.maxAge-0;if(Number.isNaN(u))throw new Error("maxAge should be a Number");r+="; Max-Age=".concat(Math.floor(u))}if(n.domain){if(!a.test(n.domain))throw new TypeError("option domain is invalid");r+="; Domain=".concat(n.domain)}if(n.path){if(!a.test(n.path))throw new TypeError("option path is invalid");r+="; Path=".concat(n.path)}if(n.expires){if("function"!=typeof n.expires.toUTCString)throw new TypeError("option expires is invalid");r+="; Expires=".concat(n.expires.toUTCString())}if(n.httpOnly&&(r+="; HttpOnly"),n.secure&&(r+="; Secure"),n.sameSite)switch("string"==typeof n.sameSite?n.sameSite.toLowerCase():n.sameSite){case!0:r+="; SameSite=Strict";break;case"lax":r+="; SameSite=Lax";break;case"strict":r+="; SameSite=Strict";break;case"none":r+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return r}(e,encodeURIComponent(o),i)},s=function(e){for(var o="".concat(e,"="),t=document.cookie.split(";"),n=0;n-1&&(t=window.location.hash.substring(window.location.hash.indexOf("?")));for(var n=t.substring(1).split("&"),i=0;i0)n[i].substring(0,r)===e.lookupQuerystring&&(o=n[i].substring(r+1))}}return o}},f=null,d=function(){if(null!==f)return f;try{f="undefined"!==window&&null!==window.localStorage;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){f=!1}return f},g={name:"localStorage",lookup:function(e){var o;if(e.lookupLocalStorage&&d()){var t=window.localStorage.getItem(e.lookupLocalStorage);t&&(o=t)}return o},cacheUserLanguage:function(e,o){o.lookupLocalStorage&&d()&&window.localStorage.setItem(o.lookupLocalStorage,e)}},p=null,h=function(){if(null!==p)return p;try{p="undefined"!==window&&null!==window.sessionStorage;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){p=!1}return p},m={name:"sessionStorage",lookup:function(e){var o;if(e.lookupSessionStorage&&h()){var t=window.sessionStorage.getItem(e.lookupSessionStorage);t&&(o=t)}return o},cacheUserLanguage:function(e,o){o.lookupSessionStorage&&h()&&window.sessionStorage.setItem(o.lookupSessionStorage,e)}},v={name:"navigator",lookup:function(e){var o=[];if("undefined"!=typeof navigator){if(navigator.languages)for(var t=0;t0?o:void 0}},w={name:"htmlTag",lookup:function(e){var o,t=e.htmlTag||("undefined"!=typeof document?document.documentElement:null);return t&&"function"==typeof t.getAttribute&&(o=t.getAttribute("lang")),o}},y={name:"path",lookup:function(e){var o;if("undefined"!=typeof window){var t=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(t instanceof Array)if("number"==typeof e.lookupFromPathIndex){if("string"!=typeof t[e.lookupFromPathIndex])return;o=t[e.lookupFromPathIndex].replace("/","")}else o=t[0].replace("/","")}return o}},S={name:"subdomain",lookup:function(e){var o="number"==typeof e.lookupFromSubdomainIndex?e.lookupFromSubdomainIndex+1:1,t="undefined"!=typeof window&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(t)return t[o]}},k=!1;try{document.cookie,k=!0}catch(e){}var b=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];k||b.splice(1,1);var x=function(){return e=function e(o){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,o){if(!(e instanceof o))throw new TypeError("Cannot call a class as a function")}(this,e),this.type="languageDetector",this.detectors={},this.init(o,t)},o=[{key:"init",value:function(e){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e||{languageUtils:{}},this.options=function(e){return i.call(r.call(arguments,1),(function(o){if(o)for(var t in o)void 0===e[t]&&(e[t]=o[t])})),e}(o,this.options||{},{order:b,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(e){return e}}),"string"==typeof this.options.convertDetectedLanguage&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(e){return e.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=t,this.addDetector(c),this.addDetector(l),this.addDetector(g),this.addDetector(m),this.addDetector(v),this.addDetector(w),this.addDetector(y),this.addDetector(S)}},{key:"addDetector",value:function(e){return this.detectors[e.name]=e,this}},{key:"detect",value:function(e){var o=this;e||(e=this.options.order);var t=[];return e.forEach((function(e){if(o.detectors[e]){var n=o.detectors[e].lookup(o.options);n&&"string"==typeof n&&(n=[n]),n&&(t=t.concat(n))}})),t=t.map((function(e){return o.options.convertDetectedLanguage(e)})),this.services.languageUtils.getBestMatchFromCodes?t:t.length>0?t[0]:null}},{key:"cacheUserLanguage",value:function(e,o){var t=this;o||(o=this.options.caches),o&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||o.forEach((function(o){t.detectors[o]&&t.detectors[o].cacheUserLanguage(e,t.options)})))}}],o&&t(e.prototype,o),n&&t(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,o,n}();return x.type="languageDetector",x})); diff --git a/node_modules/i18next-browser-languagedetector/i18nextBrowserLanguageDetector.js b/node_modules/i18next-browser-languagedetector/i18nextBrowserLanguageDetector.js new file mode 100644 index 00000000..f5ca7acf --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/i18nextBrowserLanguageDetector.js @@ -0,0 +1,422 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.i18nextBrowserLanguageDetector = factory()); +})(this, (function () { 'use strict'; + + function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); + } + + function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); + } + + function toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); + } + + function toPropertyKey(t) { + var i = toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; + } + + function _defineProperties(e, r) { + for (var t = 0; t < r.length; t++) { + var o = r[t]; + o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o); + } + } + function _createClass(e, r, t) { + return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { + writable: !1 + }), e; + } + + var arr = []; + var each = arr.forEach; + var slice = arr.slice; + function defaults(obj) { + each.call(slice.call(arguments, 1), function (source) { + if (source) { + for (var prop in source) { + if (obj[prop] === undefined) obj[prop] = source[prop]; + } + } + }); + return obj; + } + + // eslint-disable-next-line no-control-regex + var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; + var serializeCookie = function serializeCookie(name, val, options) { + var opt = options || {}; + opt.path = opt.path || '/'; + var value = encodeURIComponent(val); + var str = "".concat(name, "=").concat(value); + if (opt.maxAge > 0) { + var maxAge = opt.maxAge - 0; + if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number'); + str += "; Max-Age=".concat(Math.floor(maxAge)); + } + if (opt.domain) { + if (!fieldContentRegExp.test(opt.domain)) { + throw new TypeError('option domain is invalid'); + } + str += "; Domain=".concat(opt.domain); + } + if (opt.path) { + if (!fieldContentRegExp.test(opt.path)) { + throw new TypeError('option path is invalid'); + } + str += "; Path=".concat(opt.path); + } + if (opt.expires) { + if (typeof opt.expires.toUTCString !== 'function') { + throw new TypeError('option expires is invalid'); + } + str += "; Expires=".concat(opt.expires.toUTCString()); + } + if (opt.httpOnly) str += '; HttpOnly'; + if (opt.secure) str += '; Secure'; + if (opt.sameSite) { + var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite; + switch (sameSite) { + case true: + str += '; SameSite=Strict'; + break; + case 'lax': + str += '; SameSite=Lax'; + break; + case 'strict': + str += '; SameSite=Strict'; + break; + case 'none': + str += '; SameSite=None'; + break; + default: + throw new TypeError('option sameSite is invalid'); + } + } + return str; + }; + var cookie = { + create: function create(name, value, minutes, domain) { + var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { + path: '/', + sameSite: 'strict' + }; + if (minutes) { + cookieOptions.expires = new Date(); + cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000); + } + if (domain) cookieOptions.domain = domain; + document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions); + }, + read: function read(name) { + var nameEQ = "".concat(name, "="); + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) === ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); + } + return null; + }, + remove: function remove(name) { + this.create(name, '', -1); + } + }; + var cookie$1 = { + name: 'cookie', + lookup: function lookup(options) { + var found; + if (options.lookupCookie && typeof document !== 'undefined') { + var c = cookie.read(options.lookupCookie); + if (c) found = c; + } + return found; + }, + cacheUserLanguage: function cacheUserLanguage(lng, options) { + if (options.lookupCookie && typeof document !== 'undefined') { + cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions); + } + } + }; + + var querystring = { + name: 'querystring', + lookup: function lookup(options) { + var found; + if (typeof window !== 'undefined') { + var search = window.location.search; + if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) { + search = window.location.hash.substring(window.location.hash.indexOf('?')); + } + var query = search.substring(1); + var params = query.split('&'); + for (var i = 0; i < params.length; i++) { + var pos = params[i].indexOf('='); + if (pos > 0) { + var key = params[i].substring(0, pos); + if (key === options.lookupQuerystring) { + found = params[i].substring(pos + 1); + } + } + } + } + return found; + } + }; + + var hasLocalStorageSupport = null; + var localStorageAvailable = function localStorageAvailable() { + if (hasLocalStorageSupport !== null) return hasLocalStorageSupport; + try { + hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null; + var testKey = 'i18next.translate.boo'; + window.localStorage.setItem(testKey, 'foo'); + window.localStorage.removeItem(testKey); + } catch (e) { + hasLocalStorageSupport = false; + } + return hasLocalStorageSupport; + }; + var localStorage = { + name: 'localStorage', + lookup: function lookup(options) { + var found; + if (options.lookupLocalStorage && localStorageAvailable()) { + var lng = window.localStorage.getItem(options.lookupLocalStorage); + if (lng) found = lng; + } + return found; + }, + cacheUserLanguage: function cacheUserLanguage(lng, options) { + if (options.lookupLocalStorage && localStorageAvailable()) { + window.localStorage.setItem(options.lookupLocalStorage, lng); + } + } + }; + + var hasSessionStorageSupport = null; + var sessionStorageAvailable = function sessionStorageAvailable() { + if (hasSessionStorageSupport !== null) return hasSessionStorageSupport; + try { + hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null; + var testKey = 'i18next.translate.boo'; + window.sessionStorage.setItem(testKey, 'foo'); + window.sessionStorage.removeItem(testKey); + } catch (e) { + hasSessionStorageSupport = false; + } + return hasSessionStorageSupport; + }; + var sessionStorage = { + name: 'sessionStorage', + lookup: function lookup(options) { + var found; + if (options.lookupSessionStorage && sessionStorageAvailable()) { + var lng = window.sessionStorage.getItem(options.lookupSessionStorage); + if (lng) found = lng; + } + return found; + }, + cacheUserLanguage: function cacheUserLanguage(lng, options) { + if (options.lookupSessionStorage && sessionStorageAvailable()) { + window.sessionStorage.setItem(options.lookupSessionStorage, lng); + } + } + }; + + var navigator$1 = { + name: 'navigator', + lookup: function lookup(options) { + var found = []; + if (typeof navigator !== 'undefined') { + if (navigator.languages) { + // chrome only; not an array, so can't use .push.apply instead of iterating + for (var i = 0; i < navigator.languages.length; i++) { + found.push(navigator.languages[i]); + } + } + if (navigator.userLanguage) { + found.push(navigator.userLanguage); + } + if (navigator.language) { + found.push(navigator.language); + } + } + return found.length > 0 ? found : undefined; + } + }; + + var htmlTag = { + name: 'htmlTag', + lookup: function lookup(options) { + var found; + var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null); + if (htmlTag && typeof htmlTag.getAttribute === 'function') { + found = htmlTag.getAttribute('lang'); + } + return found; + } + }; + + var path = { + name: 'path', + lookup: function lookup(options) { + var found; + if (typeof window !== 'undefined') { + var language = window.location.pathname.match(/\/([a-zA-Z-]*)/g); + if (language instanceof Array) { + if (typeof options.lookupFromPathIndex === 'number') { + if (typeof language[options.lookupFromPathIndex] !== 'string') { + return undefined; + } + found = language[options.lookupFromPathIndex].replace('/', ''); + } else { + found = language[0].replace('/', ''); + } + } + } + return found; + } + }; + + var subdomain = { + name: 'subdomain', + lookup: function lookup(options) { + // If given get the subdomain index else 1 + var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1; + // get all matches if window.location. is existing + // first item of match is the match itself and the second is the first group macht which sould be the first subdomain match + // is the hostname no public domain get the or option of localhost + var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i); + + // if there is no match (null) return undefined + if (!language) return undefined; + // return the given group match + return language[lookupFromSubdomainIndex]; + } + }; + + // some environments, throws when accessing document.cookie + var canCookies = false; + try { + // eslint-disable-next-line no-unused-expressions + document.cookie; + canCookies = true; + // eslint-disable-next-line no-empty + } catch (e) {} + var order = ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag']; + if (!canCookies) order.splice(1, 1); + function getDefaults() { + return { + order: order, + lookupQuerystring: 'lng', + lookupCookie: 'i18next', + lookupLocalStorage: 'i18nextLng', + lookupSessionStorage: 'i18nextLng', + // cache user language + caches: ['localStorage'], + excludeCacheFor: ['cimode'], + // cookieMinutes: 10, + // cookieDomain: 'myDomain' + + convertDetectedLanguage: function convertDetectedLanguage(l) { + return l; + } + }; + } + var Browser = /*#__PURE__*/function () { + function Browser(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Browser); + this.type = 'languageDetector'; + this.detectors = {}; + this.init(services, options); + } + return _createClass(Browser, [{ + key: "init", + value: function init(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + this.services = services || { + languageUtils: {} + }; // this way the language detector can be used without i18next + this.options = defaults(options, this.options || {}, getDefaults()); + if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) { + this.options.convertDetectedLanguage = function (l) { + return l.replace('-', '_'); + }; + } + + // backwards compatibility + if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex; + this.i18nOptions = i18nOptions; + this.addDetector(cookie$1); + this.addDetector(querystring); + this.addDetector(localStorage); + this.addDetector(sessionStorage); + this.addDetector(navigator$1); + this.addDetector(htmlTag); + this.addDetector(path); + this.addDetector(subdomain); + } + }, { + key: "addDetector", + value: function addDetector(detector) { + this.detectors[detector.name] = detector; + return this; + } + }, { + key: "detect", + value: function detect(detectionOrder) { + var _this = this; + if (!detectionOrder) detectionOrder = this.options.order; + var detected = []; + detectionOrder.forEach(function (detectorName) { + if (_this.detectors[detectorName]) { + var lookup = _this.detectors[detectorName].lookup(_this.options); + if (lookup && typeof lookup === 'string') lookup = [lookup]; + if (lookup) detected = detected.concat(lookup); + } + }); + detected = detected.map(function (d) { + return _this.options.convertDetectedLanguage(d); + }); + if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0 + return detected.length > 0 ? detected[0] : null; // a little backward compatibility + } + }, { + key: "cacheUserLanguage", + value: function cacheUserLanguage(lng, caches) { + var _this2 = this; + if (!caches) caches = this.options.caches; + if (!caches) return; + if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return; + caches.forEach(function (cacheName) { + if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options); + }); + } + }]); + }(); + Browser.type = 'languageDetector'; + + return Browser; + +})); diff --git a/node_modules/i18next-browser-languagedetector/i18nextBrowserLanguageDetector.min.js b/node_modules/i18next-browser-languagedetector/i18nextBrowserLanguageDetector.min.js new file mode 100644 index 00000000..9c243b9c --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/i18nextBrowserLanguageDetector.min.js @@ -0,0 +1 @@ +!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(e="undefined"!=typeof globalThis?globalThis:e||self).i18nextBrowserLanguageDetector=o()}(this,(function(){"use strict";function e(o){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(o)}function o(o){var t=function(o,t){if("object"!=e(o)||!o)return o;var n=o[Symbol.toPrimitive];if(void 0!==n){var i=n.call(o,t||"default");if("object"!=e(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(o)}(o,"string");return"symbol"==e(t)?t:t+""}function t(e,t){for(var n=0;n4&&void 0!==arguments[4]?arguments[4]:{path:"/",sameSite:"strict"};t&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+60*t*1e3)),n&&(i.domain=n),document.cookie=function(e,o,t){var n=t||{};n.path=n.path||"/";var i=encodeURIComponent(o),r="".concat(e,"=").concat(i);if(n.maxAge>0){var u=n.maxAge-0;if(Number.isNaN(u))throw new Error("maxAge should be a Number");r+="; Max-Age=".concat(Math.floor(u))}if(n.domain){if(!a.test(n.domain))throw new TypeError("option domain is invalid");r+="; Domain=".concat(n.domain)}if(n.path){if(!a.test(n.path))throw new TypeError("option path is invalid");r+="; Path=".concat(n.path)}if(n.expires){if("function"!=typeof n.expires.toUTCString)throw new TypeError("option expires is invalid");r+="; Expires=".concat(n.expires.toUTCString())}if(n.httpOnly&&(r+="; HttpOnly"),n.secure&&(r+="; Secure"),n.sameSite)switch("string"==typeof n.sameSite?n.sameSite.toLowerCase():n.sameSite){case!0:r+="; SameSite=Strict";break;case"lax":r+="; SameSite=Lax";break;case"strict":r+="; SameSite=Strict";break;case"none":r+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return r}(e,encodeURIComponent(o),i)},s=function(e){for(var o="".concat(e,"="),t=document.cookie.split(";"),n=0;n-1&&(t=window.location.hash.substring(window.location.hash.indexOf("?")));for(var n=t.substring(1).split("&"),i=0;i0)n[i].substring(0,r)===e.lookupQuerystring&&(o=n[i].substring(r+1))}}return o}},f=null,d=function(){if(null!==f)return f;try{f="undefined"!==window&&null!==window.localStorage;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){f=!1}return f},g={name:"localStorage",lookup:function(e){var o;if(e.lookupLocalStorage&&d()){var t=window.localStorage.getItem(e.lookupLocalStorage);t&&(o=t)}return o},cacheUserLanguage:function(e,o){o.lookupLocalStorage&&d()&&window.localStorage.setItem(o.lookupLocalStorage,e)}},p=null,h=function(){if(null!==p)return p;try{p="undefined"!==window&&null!==window.sessionStorage;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){p=!1}return p},m={name:"sessionStorage",lookup:function(e){var o;if(e.lookupSessionStorage&&h()){var t=window.sessionStorage.getItem(e.lookupSessionStorage);t&&(o=t)}return o},cacheUserLanguage:function(e,o){o.lookupSessionStorage&&h()&&window.sessionStorage.setItem(o.lookupSessionStorage,e)}},v={name:"navigator",lookup:function(e){var o=[];if("undefined"!=typeof navigator){if(navigator.languages)for(var t=0;t0?o:void 0}},w={name:"htmlTag",lookup:function(e){var o,t=e.htmlTag||("undefined"!=typeof document?document.documentElement:null);return t&&"function"==typeof t.getAttribute&&(o=t.getAttribute("lang")),o}},y={name:"path",lookup:function(e){var o;if("undefined"!=typeof window){var t=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(t instanceof Array)if("number"==typeof e.lookupFromPathIndex){if("string"!=typeof t[e.lookupFromPathIndex])return;o=t[e.lookupFromPathIndex].replace("/","")}else o=t[0].replace("/","")}return o}},S={name:"subdomain",lookup:function(e){var o="number"==typeof e.lookupFromSubdomainIndex?e.lookupFromSubdomainIndex+1:1,t="undefined"!=typeof window&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(t)return t[o]}},k=!1;try{document.cookie,k=!0}catch(e){}var b=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];k||b.splice(1,1);var x=function(){return e=function e(o){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,o){if(!(e instanceof o))throw new TypeError("Cannot call a class as a function")}(this,e),this.type="languageDetector",this.detectors={},this.init(o,t)},o=[{key:"init",value:function(e){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e||{languageUtils:{}},this.options=function(e){return i.call(r.call(arguments,1),(function(o){if(o)for(var t in o)void 0===e[t]&&(e[t]=o[t])})),e}(o,this.options||{},{order:b,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(e){return e}}),"string"==typeof this.options.convertDetectedLanguage&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(e){return e.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=t,this.addDetector(c),this.addDetector(l),this.addDetector(g),this.addDetector(m),this.addDetector(v),this.addDetector(w),this.addDetector(y),this.addDetector(S)}},{key:"addDetector",value:function(e){return this.detectors[e.name]=e,this}},{key:"detect",value:function(e){var o=this;e||(e=this.options.order);var t=[];return e.forEach((function(e){if(o.detectors[e]){var n=o.detectors[e].lookup(o.options);n&&"string"==typeof n&&(n=[n]),n&&(t=t.concat(n))}})),t=t.map((function(e){return o.options.convertDetectedLanguage(e)})),this.services.languageUtils.getBestMatchFromCodes?t:t.length>0?t[0]:null}},{key:"cacheUserLanguage",value:function(e,o){var t=this;o||(o=this.options.caches),o&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||o.forEach((function(o){t.detectors[o]&&t.detectors[o].cacheUserLanguage(e,t.options)})))}}],o&&t(e.prototype,o),n&&t(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,o,n}();return x.type="languageDetector",x})); diff --git a/node_modules/i18next-browser-languagedetector/index.d.mts b/node_modules/i18next-browser-languagedetector/index.d.mts new file mode 100644 index 00000000..bd8519ac --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/index.d.mts @@ -0,0 +1,6 @@ +import * as index from './index.js'; + +export default index.default; + +export type DetectorOptions = index.DetectorOptions; +export type CustomDetector = index.CustomDetector; diff --git a/node_modules/i18next-browser-languagedetector/index.d.ts b/node_modules/i18next-browser-languagedetector/index.d.ts new file mode 100644 index 00000000..735c070d --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/index.d.ts @@ -0,0 +1,101 @@ +import * as i18next from 'i18next'; + +interface CookieOptions { + maxAge?: number; + expires?: Date; + httpOnly?: boolean; + path?: string; + domain?: string; + secure?: boolean; + sameSite?: boolean | 'lax' | 'strict' | 'none'; +} + +export interface DetectorOptions { + /** + * order and from where user language should be detected + */ + order?: Array< + 'querystring' | 'cookie' | 'sessionStorage' | 'localStorage' | 'navigator' | 'htmlTag' | string + >; + + /** + * keys or params to lookup language from + */ + lookupQuerystring?: string; + lookupCookie?: string; + lookupSessionStorage?: string; + lookupLocalStorage?: string; + lookupFromPathIndex?: number; + lookupFromSubdomainIndex?: number; + + /** + * cache user language on + */ + caches?: string[]; + + /** + * languages to not persist (cookie, localStorage) + */ + excludeCacheFor?: string[]; + + /** + * optional expire for set cookie + * @default 10 + */ + cookieMinutes?: number; + + /** + * optional domain for set cookie + */ + cookieDomain?: string; + + /** + * optional cookie options + */ + cookieOptions?: CookieOptions + + /** + * optional htmlTag with lang attribute + * @default document.documentElement + */ + htmlTag?: HTMLElement | null; + + /** + * optional conversion function to use to modify the detected language code + */ + convertDetectedLanguage?: 'Iso15897' | ((lng: string) => string); +} + +export interface CustomDetector { + name: string; + cacheUserLanguage?(lng: string, options: DetectorOptions): void; + lookup(options: DetectorOptions): string | string[] | undefined; +} + +export default class I18nextBrowserLanguageDetector implements i18next.LanguageDetectorModule { + constructor(services?: any, options?: DetectorOptions); + /** + * Adds detector. + */ + addDetector(detector: CustomDetector): I18nextBrowserLanguageDetector; + + /** + * Initializes detector. + */ + init(services?: any, options?: DetectorOptions): void; + + detect(detectionOrder?: DetectorOptions['order']): string | string[] | undefined; + + cacheUserLanguage(lng: string, caches?: string[]): void; + + type: 'languageDetector'; + detectors: { [key: string]: any }; + services: any; + i18nOptions: any; +} + +declare module 'i18next' { + interface CustomPluginOptions { + detection?: DetectorOptions; + } +} diff --git a/node_modules/i18next-browser-languagedetector/index.js b/node_modules/i18next-browser-languagedetector/index.js new file mode 100644 index 00000000..acb9e060 --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/index.js @@ -0,0 +1,5 @@ +/* eslint no-var: 0 */ +var main = require('./dist/cjs/i18nextBrowserLanguageDetector.js'); + +module.exports = main; +module.exports.default = main; \ No newline at end of file diff --git a/node_modules/i18next-browser-languagedetector/package.json b/node_modules/i18next-browser-languagedetector/package.json new file mode 100644 index 00000000..413a83a9 --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/package.json @@ -0,0 +1,87 @@ +{ + "name": "i18next-browser-languagedetector", + "version": "7.2.2", + "description": "language detector used in browser environment for i18next", + "main": "./dist/cjs/i18nextBrowserLanguageDetector.js", + "module": "./dist/esm/i18nextBrowserLanguageDetector.js", + "types": "./index.d.mts", + "exports": { + "./package.json": "./package.json", + ".": { + "types": { + "require": "./index.d.ts", + "import": "./index.d.mts" + }, + "module": "./dist/esm/i18nextBrowserLanguageDetector.js", + "import": "./dist/esm/i18nextBrowserLanguageDetector.js", + "require": "./dist/cjs/i18nextBrowserLanguageDetector.js", + "default": "./dist/esm/i18nextBrowserLanguageDetector.js" + }, + "./cjs": { + "types": "./index.d.ts", + "default": "./dist/cjs/i18nextBrowserLanguageDetector.js" + }, + "./esm": { + "types": "./index.d.mts", + "default": "./dist/esm/i18nextBrowserLanguageDetector.js" + } + }, + "keywords": [ + "i18next", + "i18next-languageDetector" + ], + "homepage": "https://github.com/i18next/i18next-browser-languageDetector", + "bugs": "https://github.com/i18next/i18next-browser-languageDetector/issues", + "repository": { + "type": "git", + "url": "https://github.com/i18next/i18next-browser-languageDetector.git" + }, + "dependencies": { + "@babel/runtime": "^7.23.2" + }, + "devDependencies": { + "@babel/core": "^7.23.3", + "@babel/plugin-transform-runtime": "^7.23.3", + "@babel/preset-env": "^7.23.3", + "@babel/eslint-parser": "^7.23.3", + "babel-polyfill": "^6.26.0", + "babelify": "^10.0.0", + "browserify": "17.0.0", + "browserify-istanbul": "3.0.1", + "chai": "4.3.10", + "coveralls": "3.1.1", + "cpy-cli": "^5.0.0", + "dtslint": "^4.2.1", + "eslint": "8.53.0", + "eslint-config-airbnb": "19.0.4", + "expect.js": "0.3.1", + "i18next": "23.7.1", + "mkdirp": "3.0.1", + "mocha": "10.2.0", + "rimraf": "5.0.5", + "rollup": "^2.79.1", + "@rollup/plugin-babel": "^5.3.1", + "@rollup/plugin-node-resolve": "^14.1.0", + "rollup-plugin-terser": "^7.0.2", + "tslint": "^5.20.1", + "tsd": "0.29.0", + "typescript": "5.1.3", + "yargs": "17.7.2" + }, + "scripts": { + "lint": "eslint src", + "pretest": "npm run lint && npm run test:typescript && npm run test:typescript:noninterop", + "test": "npm run build && mocha test -R spec --exit", + "test:typescript": "tslint --project tsconfig.json && tsd", + "test:typescript:noninterop": "tslint --project tsconfig.nonEsModuleInterop.json", + "build": "rimraf dist && rollup -c && echo '{\"type\":\"module\"}' > dist/esm/package.json && cpy \"./dist/umd/*.js\" ./", + "fix_dist_package": "node -e 'console.log(`{\"type\":\"module\",\"version\":\"${process.env.npm_package_version}\"}`)' > dist/esm/package.json", + "preversion": "npm run test && npm run build && git push", + "postversion": "npm run fix_dist_package && git push && git push --tags" + }, + "tsd": { + "directory": "test/typescript" + }, + "author": "Jan Mühlemann (https://github.com/jamuhl)", + "license": "MIT" +} diff --git a/node_modules/i18next-browser-languagedetector/tsconfig.nonEsModuleInterop.json b/node_modules/i18next-browser-languagedetector/tsconfig.nonEsModuleInterop.json new file mode 100644 index 00000000..ed9b6c77 --- /dev/null +++ b/node_modules/i18next-browser-languagedetector/tsconfig.nonEsModuleInterop.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + // typescript defaults to these + "esModuleInterop": false, + "allowSyntheticDefaultImports": false + } +} diff --git a/node_modules/i18next-fs-backend/README.md b/node_modules/i18next-fs-backend/README.md new file mode 100644 index 00000000..15a184e8 --- /dev/null +++ b/node_modules/i18next-fs-backend/README.md @@ -0,0 +1,148 @@ +# Introduction + +[![Actions](https://github.com/i18next/i18next-fs-backend/workflows/node/badge.svg)](https://github.com/i18next/i18next-fs-backend/actions?query=workflow%3Anode) +[![Actions deno](https://github.com/i18next/i18next-fs-backend/workflows/deno/badge.svg)](https://github.com/i18next/i18next-fs-backend/actions?query=workflow%3Adeno) +[![npm version](https://img.shields.io/npm/v/i18next-fs-backend.svg?style=flat-square)](https://www.npmjs.com/package/i18next-fs-backend) + +This is an i18next backend to be used in Node.js and Deno. It will load resources from the file system. + +It's based on the deprecated [i18next-node-fs-backend](https://github.com/i18next/i18next-node-fs-backend) and can mostly be used as a drop-in replacement. + +It will load resources from filesystem. Right now it supports following filetypes: + +- .json +- .json5 +- .jsonc +- .yml/.yaml +- .js (very limited, checks for `exports` or `export default`) + +# Getting started + +```bash +# npm package +$ npm install i18next-fs-backend +``` + +Wiring up: + +```js +import i18next from 'i18next'; +import Backend from 'i18next-fs-backend'; + +i18next.use(Backend).init(i18nextOptions); +``` + +for Deno: + +```js +import i18next from 'https://deno.land/x/i18next/index.js' +import Backend from 'https://deno.land/x/i18next_fs_backend/index.js' + +i18next.use(Backend).init(i18nextOptions); +``` + +- As with all modules you can either pass the constructor function (class) to the i18next.use or a concrete instance. + +## Backend Options + +```js +{ + // path where resources get loaded from, or a function + // returning a path: + // function(lngs, namespaces) { return customPath; } + // the returned path will interpolate lng, ns if provided like giving a static path + loadPath: '/locales/{{lng}}/{{ns}}.json', + + // path to post missing resources + addPath: '/locales/{{lng}}/{{ns}}.missing.json', + + // if you use i18next-fs-backend as caching layer in combination with i18next-chained-backend, you can optionally set an expiration time + // an example on how to use it as cache layer can be found here: https://github.com/i18next/i18next-fs-backend/blob/master/example/caching/app.js + // expirationTime: 60 * 60 * 1000 +} +``` + +Options can be passed in: + +**preferred** - by setting options.backend in i18next.init: + +```js +import i18next from 'i18next'; +import Backend from 'i18next-fs-backend'; + +i18next.use(Backend).init({ + backend: options, +}); +``` + +on construction: + +```js +import Backend from 'i18next-fs-backend'; +const Backend = new Backend(null, options); +``` + +via calling init: + +```js +import Backend from 'i18next-fs-backend'; +const Backend = new Backend(); +Backend.init(null, options); +``` + +## TypeScript + +To properly type the backend options, you can import the `FsBackendOptions` interface and use it as a generic type parameter to the i18next's `init` method, e.g.: + +```ts +import i18n from 'i18next' +import FsBackend, { FsBackendOptions } from 'i18next-fs-backend' + +i18n + .use(FsBackend) + .init({ + backend: { + // fs backend options + }, + + // other i18next options + }) +``` + +# If set i18next initAsync option to false it will load the files synchronously + +```js +// i18n.js +const { join } = require('path') +const { readdirSync, lstatSync } = require('fs') +const i18next = require('i18next') +const Backend = require('i18next-fs-backend') +i18next + .use(Backend) + .init({ + // debug: true, + initAsync: false, + fallbackLng: 'en', + lng: 'en', + preload: readdirSync(join(__dirname, '../locales')).filter((fileName) => { + const joinedPath = join(join(__dirname, '../locales'), fileName) + const isDirectory = lstatSync(joinedPath).isDirectory() + return isDirectory + }), + ns: 'backend-app', + defaultNS: 'backend-app', + backend: { + loadPath: join(__dirname, '../locales/{{lng}}/{{ns}}.json') + } + }) +``` + +--- + +

Gold Sponsors

+ +

+ + + +

diff --git a/node_modules/i18next-fs-backend/cjs/extname.js b/node_modules/i18next-fs-backend/cjs/extname.js new file mode 100644 index 00000000..dc58fade --- /dev/null +++ b/node_modules/i18next-fs-backend/cjs/extname.js @@ -0,0 +1,11 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = exports.default = function _default(filename) { + if (filename.indexOf('.') < 0) return undefined; + return ".".concat(filename.split('.').pop()); +}; +module.exports = exports.default; \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/cjs/formats/json5.js b/node_modules/i18next-fs-backend/cjs/formats/json5.js new file mode 100644 index 00000000..95f5cb02 --- /dev/null +++ b/node_modules/i18next-fs-backend/cjs/formats/json5.js @@ -0,0 +1,1126 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/; +var ID_Start = /[\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\u0561-\u0587\u05D0-\u05EA\u05F0-\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\u08A0-\u08B4\u08B6-\u08BD\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\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\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\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\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-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\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\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\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\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\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-\uAB65\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\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-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\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\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\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]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\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-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/; +var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\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\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\u0B56\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-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\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\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\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\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\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\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\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\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\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-\uAB65\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\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-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\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]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\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\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\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]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\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]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\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]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/; +var unicode = { + Space_Separator: Space_Separator, + ID_Start: ID_Start, + ID_Continue: ID_Continue +}; +var util = { + isSpaceSeparator: function isSpaceSeparator(c) { + return typeof c === 'string' && unicode.Space_Separator.test(c); + }, + isIdStartChar: function isIdStartChar(c) { + return typeof c === 'string' && (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c === '$' || c === '_' || unicode.ID_Start.test(c)); + }, + isIdContinueChar: function isIdContinueChar(c) { + return typeof c === 'string' && (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c === '$' || c === '_' || c === "\u200C" || c === "\u200D" || unicode.ID_Continue.test(c)); + }, + isDigit: function isDigit(c) { + return typeof c === 'string' && /[0-9]/.test(c); + }, + isHexDigit: function isHexDigit(c) { + return typeof c === 'string' && /[0-9A-Fa-f]/.test(c); + } +}; +var source; +var parseState; +var stack; +var pos; +var line; +var column; +var token; +var key; +var root; +var parse = function parse(text, reviver) { + source = String(text); + parseState = 'start'; + stack = []; + pos = 0; + line = 1; + column = 0; + token = undefined; + key = undefined; + root = undefined; + do { + token = lex(); + parseStates[parseState](); + } while (token.type !== 'eof'); + if (typeof reviver === 'function') { + return internalize({ + '': root + }, '', reviver); + } + return root; +}; +function internalize(holder, name, reviver) { + var value = holder[name]; + if (value != null && _typeof(value) === 'object') { + if (Array.isArray(value)) { + for (var i = 0; i < value.length; i++) { + var _key = String(i); + var replacement = internalize(value, _key, reviver); + if (replacement === undefined) { + delete value[_key]; + } else { + Object.defineProperty(value, _key, { + value: replacement, + writable: true, + enumerable: true, + configurable: true + }); + } + } + } else { + for (var _key2 in value) { + var _replacement = internalize(value, _key2, reviver); + if (_replacement === undefined) { + delete value[_key2]; + } else { + Object.defineProperty(value, _key2, { + value: _replacement, + writable: true, + enumerable: true, + configurable: true + }); + } + } + } + } + return reviver.call(holder, name, value); +} +var lexState; +var buffer; +var doubleQuote; +var _sign; +var c; +function lex() { + lexState = 'default'; + buffer = ''; + doubleQuote = false; + _sign = 1; + for (;;) { + c = peek(); + var _token = lexStates[lexState](); + if (_token) { + return _token; + } + } +} +function peek() { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)); + } +} +function read() { + var c = peek(); + if (c === '\n') { + line++; + column = 0; + } else if (c) { + column += c.length; + } else { + column++; + } + if (c) { + pos += c.length; + } + return c; +} +var lexStates = { + default: function _default() { + switch (c) { + case '\t': + case '\v': + case '\f': + case ' ': + case "\xA0": + case "\uFEFF": + case '\n': + case '\r': + case "\u2028": + case "\u2029": + read(); + return; + case '/': + read(); + lexState = 'comment'; + return; + case undefined: + read(); + return newToken('eof'); + } + if (util.isSpaceSeparator(c)) { + read(); + return; + } + return lexStates[parseState](); + }, + comment: function comment() { + switch (c) { + case '*': + read(); + lexState = 'multiLineComment'; + return; + case '/': + read(); + lexState = 'singleLineComment'; + return; + } + throw invalidChar(read()); + }, + multiLineComment: function multiLineComment() { + switch (c) { + case '*': + read(); + lexState = 'multiLineCommentAsterisk'; + return; + case undefined: + throw invalidChar(read()); + } + read(); + }, + multiLineCommentAsterisk: function multiLineCommentAsterisk() { + switch (c) { + case '*': + read(); + return; + case '/': + read(); + lexState = 'default'; + return; + case undefined: + throw invalidChar(read()); + } + read(); + lexState = 'multiLineComment'; + }, + singleLineComment: function singleLineComment() { + switch (c) { + case '\n': + case '\r': + case "\u2028": + case "\u2029": + read(); + lexState = 'default'; + return; + case undefined: + read(); + return newToken('eof'); + } + read(); + }, + value: function value() { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()); + case 'n': + read(); + literal('ull'); + return newToken('null', null); + case 't': + read(); + literal('rue'); + return newToken('boolean', true); + case 'f': + read(); + literal('alse'); + return newToken('boolean', false); + case '-': + case '+': + if (read() === '-') { + _sign = -1; + } + lexState = 'sign'; + return; + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return; + case '0': + buffer = read(); + lexState = 'zero'; + return; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return; + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', Infinity); + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN); + case '"': + case "'": + doubleQuote = read() === '"'; + buffer = ''; + lexState = 'string'; + return; + } + throw invalidChar(read()); + }, + identifierNameStartEscape: function identifierNameStartEscape() { + if (c !== 'u') { + throw invalidChar(read()); + } + read(); + var u = unicodeEscape(); + switch (u) { + case '$': + case '_': + break; + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier(); + } + break; + } + buffer += u; + lexState = 'identifierName'; + }, + identifierName: function identifierName() { + switch (c) { + case '$': + case '_': + case "\u200C": + case "\u200D": + buffer += read(); + return; + case '\\': + read(); + lexState = 'identifierNameEscape'; + return; + } + if (util.isIdContinueChar(c)) { + buffer += read(); + return; + } + return newToken('identifier', buffer); + }, + identifierNameEscape: function identifierNameEscape() { + if (c !== 'u') { + throw invalidChar(read()); + } + read(); + var u = unicodeEscape(); + switch (u) { + case '$': + case '_': + case "\u200C": + case "\u200D": + break; + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier(); + } + break; + } + buffer += u; + lexState = 'identifierName'; + }, + sign: function sign() { + switch (c) { + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return; + case '0': + buffer = read(); + lexState = 'zero'; + return; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return; + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', _sign * Infinity); + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN); + } + throw invalidChar(read()); + }, + zero: function zero() { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return; + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return; + case 'x': + case 'X': + buffer += read(); + lexState = 'hexadecimal'; + return; + } + return newToken('numeric', _sign * 0); + }, + decimalInteger: function decimalInteger() { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return; + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return; + } + if (util.isDigit(c)) { + buffer += read(); + return; + } + return newToken('numeric', _sign * Number(buffer)); + }, + decimalPointLeading: function decimalPointLeading() { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return; + } + throw invalidChar(read()); + }, + decimalPoint: function decimalPoint() { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return; + } + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return; + } + return newToken('numeric', _sign * Number(buffer)); + }, + decimalFraction: function decimalFraction() { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return; + } + if (util.isDigit(c)) { + buffer += read(); + return; + } + return newToken('numeric', _sign * Number(buffer)); + }, + decimalExponent: function decimalExponent() { + switch (c) { + case '+': + case '-': + buffer += read(); + lexState = 'decimalExponentSign'; + return; + } + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return; + } + throw invalidChar(read()); + }, + decimalExponentSign: function decimalExponentSign() { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return; + } + throw invalidChar(read()); + }, + decimalExponentInteger: function decimalExponentInteger() { + if (util.isDigit(c)) { + buffer += read(); + return; + } + return newToken('numeric', _sign * Number(buffer)); + }, + hexadecimal: function hexadecimal() { + if (util.isHexDigit(c)) { + buffer += read(); + lexState = 'hexadecimalInteger'; + return; + } + throw invalidChar(read()); + }, + hexadecimalInteger: function hexadecimalInteger() { + if (util.isHexDigit(c)) { + buffer += read(); + return; + } + return newToken('numeric', _sign * Number(buffer)); + }, + string: function string() { + switch (c) { + case '\\': + read(); + buffer += escape(); + return; + case '"': + if (doubleQuote) { + read(); + return newToken('string', buffer); + } + buffer += read(); + return; + case "'": + if (!doubleQuote) { + read(); + return newToken('string', buffer); + } + buffer += read(); + return; + case '\n': + case '\r': + throw invalidChar(read()); + case "\u2028": + case "\u2029": + separatorChar(c); + break; + case undefined: + throw invalidChar(read()); + } + buffer += read(); + }, + start: function start() { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()); + } + lexState = 'value'; + }, + beforePropertyName: function beforePropertyName() { + switch (c) { + case '$': + case '_': + buffer = read(); + lexState = 'identifierName'; + return; + case '\\': + read(); + lexState = 'identifierNameStartEscape'; + return; + case '}': + return newToken('punctuator', read()); + case '"': + case "'": + doubleQuote = read() === '"'; + lexState = 'string'; + return; + } + if (util.isIdStartChar(c)) { + buffer += read(); + lexState = 'identifierName'; + return; + } + throw invalidChar(read()); + }, + afterPropertyName: function afterPropertyName() { + if (c === ':') { + return newToken('punctuator', read()); + } + throw invalidChar(read()); + }, + beforePropertyValue: function beforePropertyValue() { + lexState = 'value'; + }, + afterPropertyValue: function afterPropertyValue() { + switch (c) { + case ',': + case '}': + return newToken('punctuator', read()); + } + throw invalidChar(read()); + }, + beforeArrayValue: function beforeArrayValue() { + if (c === ']') { + return newToken('punctuator', read()); + } + lexState = 'value'; + }, + afterArrayValue: function afterArrayValue() { + switch (c) { + case ',': + case ']': + return newToken('punctuator', read()); + } + throw invalidChar(read()); + }, + end: function end() { + throw invalidChar(read()); + } +}; +function newToken(type, value) { + return { + type: type, + value: value, + line: line, + column: column + }; +} +function literal(s) { + var _iterator = _createForOfIteratorHelper(s), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _c = _step.value; + var p = peek(); + if (p !== _c) { + throw invalidChar(read()); + } + read(); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } +} +function escape() { + var c = peek(); + switch (c) { + case 'b': + read(); + return '\b'; + case 'f': + read(); + return '\f'; + case 'n': + read(); + return '\n'; + case 'r': + read(); + return '\r'; + case 't': + read(); + return '\t'; + case 'v': + read(); + return '\v'; + case '0': + read(); + if (util.isDigit(peek())) { + throw invalidChar(read()); + } + return '\0'; + case 'x': + read(); + return hexEscape(); + case 'u': + read(); + return unicodeEscape(); + case '\n': + case "\u2028": + case "\u2029": + read(); + return ''; + case '\r': + read(); + if (peek() === '\n') { + read(); + } + return ''; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + throw invalidChar(read()); + case undefined: + throw invalidChar(read()); + } + return read(); +} +function hexEscape() { + var buffer = ''; + var c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()); + } + buffer += read(); + c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()); + } + buffer += read(); + return String.fromCodePoint(parseInt(buffer, 16)); +} +function unicodeEscape() { + var buffer = ''; + var count = 4; + while (count-- > 0) { + var _c2 = peek(); + if (!util.isHexDigit(_c2)) { + throw invalidChar(read()); + } + buffer += read(); + } + return String.fromCodePoint(parseInt(buffer, 16)); +} +var parseStates = { + start: function start() { + if (token.type === 'eof') { + throw invalidEOF(); + } + push(); + }, + beforePropertyName: function beforePropertyName() { + switch (token.type) { + case 'identifier': + case 'string': + key = token.value; + parseState = 'afterPropertyName'; + return; + case 'punctuator': + pop(); + return; + case 'eof': + throw invalidEOF(); + } + }, + afterPropertyName: function afterPropertyName() { + if (token.type === 'eof') { + throw invalidEOF(); + } + parseState = 'beforePropertyValue'; + }, + beforePropertyValue: function beforePropertyValue() { + if (token.type === 'eof') { + throw invalidEOF(); + } + push(); + }, + beforeArrayValue: function beforeArrayValue() { + if (token.type === 'eof') { + throw invalidEOF(); + } + if (token.type === 'punctuator' && token.value === ']') { + pop(); + return; + } + push(); + }, + afterPropertyValue: function afterPropertyValue() { + if (token.type === 'eof') { + throw invalidEOF(); + } + switch (token.value) { + case ',': + parseState = 'beforePropertyName'; + return; + case '}': + pop(); + } + }, + afterArrayValue: function afterArrayValue() { + if (token.type === 'eof') { + throw invalidEOF(); + } + switch (token.value) { + case ',': + parseState = 'beforeArrayValue'; + return; + case ']': + pop(); + } + }, + end: function end() {} +}; +function push() { + var value; + switch (token.type) { + case 'punctuator': + switch (token.value) { + case '{': + value = {}; + break; + case '[': + value = []; + break; + } + break; + case 'null': + case 'boolean': + case 'numeric': + case 'string': + value = token.value; + break; + } + if (root === undefined) { + root = value; + } else { + var parent = stack[stack.length - 1]; + if (Array.isArray(parent)) { + parent.push(value); + } else { + Object.defineProperty(parent, key, { + value: value, + writable: true, + enumerable: true, + configurable: true + }); + } + } + if (value !== null && _typeof(value) === 'object') { + stack.push(value); + if (Array.isArray(value)) { + parseState = 'beforeArrayValue'; + } else { + parseState = 'beforePropertyName'; + } + } else { + var current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } + } +} +function pop() { + stack.pop(); + var current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } +} +function invalidChar(c) { + if (c === undefined) { + return syntaxError("JSON5: invalid end of input at ".concat(line, ":").concat(column)); + } + return syntaxError("JSON5: invalid character '".concat(formatChar(c), "' at ").concat(line, ":").concat(column)); +} +function invalidEOF() { + return syntaxError("JSON5: invalid end of input at ".concat(line, ":").concat(column)); +} +function invalidIdentifier() { + column -= 5; + return syntaxError("JSON5: invalid identifier character at ".concat(line, ":").concat(column)); +} +function separatorChar(c) { + console.warn("JSON5: '".concat(formatChar(c), "' in strings is not valid ECMAScript; consider escaping")); +} +function formatChar(c) { + var replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + "\u2028": "\\u2028", + "\u2029": "\\u2029" + }; + if (replacements[c]) { + return replacements[c]; + } + if (c < ' ') { + var hexString = c.charCodeAt(0).toString(16); + return '\\x' + ('00' + hexString).substring(hexString.length); + } + return c; +} +function syntaxError(message) { + var err = new SyntaxError(message); + err.lineNumber = line; + err.columnNumber = column; + return err; +} +var stringify = function stringify(value, replacer, space) { + var stack = []; + var indent = ''; + var propertyList; + var replacerFunc; + var gap = ''; + var quote; + if (replacer != null && _typeof(replacer) === 'object' && !Array.isArray(replacer)) { + space = replacer.space; + quote = replacer.quote; + replacer = replacer.replacer; + } + if (typeof replacer === 'function') { + replacerFunc = replacer; + } else if (Array.isArray(replacer)) { + propertyList = []; + var _iterator2 = _createForOfIteratorHelper(replacer), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var v = _step2.value; + var item = void 0; + if (typeof v === 'string') { + item = v; + } else if (typeof v === 'number' || v instanceof String || v instanceof Number) { + item = String(v); + } + if (item !== undefined && propertyList.indexOf(item) < 0) { + propertyList.push(item); + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + if (space instanceof Number) { + space = Number(space); + } else if (space instanceof String) { + space = String(space); + } + if (typeof space === 'number') { + if (space > 0) { + space = Math.min(10, Math.floor(space)); + gap = ' '.substr(0, space); + } + } else if (typeof space === 'string') { + gap = space.substr(0, 10); + } + return serializeProperty('', { + '': value + }); + function serializeProperty(key, holder) { + var value = holder[key]; + if (value != null) { + if (typeof value.toJSON5 === 'function') { + value = value.toJSON5(key); + } else if (typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + } + if (replacerFunc) { + value = replacerFunc.call(holder, key, value); + } + if (value instanceof Number) { + value = Number(value); + } else if (value instanceof String) { + value = String(value); + } else if (value instanceof Boolean) { + value = value.valueOf(); + } + switch (value) { + case null: + return 'null'; + case true: + return 'true'; + case false: + return 'false'; + } + if (typeof value === 'string') { + return quoteString(value, false); + } + if (typeof value === 'number') { + return String(value); + } + if (_typeof(value) === 'object') { + return Array.isArray(value) ? serializeArray(value) : serializeObject(value); + } + return undefined; + } + function quoteString(value) { + var quotes = { + "'": 0.1, + '"': 0.2 + }; + var replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + "\u2028": "\\u2028", + "\u2029": "\\u2029" + }; + var product = ''; + for (var i = 0; i < value.length; i++) { + var _c3 = value[i]; + switch (_c3) { + case "'": + case '"': + quotes[_c3]++; + product += _c3; + continue; + case '\0': + if (util.isDigit(value[i + 1])) { + product += '\\x00'; + continue; + } + } + if (replacements[_c3]) { + product += replacements[_c3]; + continue; + } + if (_c3 < ' ') { + var hexString = _c3.charCodeAt(0).toString(16); + product += '\\x' + ('00' + hexString).substring(hexString.length); + continue; + } + product += _c3; + } + var quoteChar = quote || Object.keys(quotes).reduce(function (a, b) { + return quotes[a] < quotes[b] ? a : b; + }); + product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]); + return quoteChar + product + quoteChar; + } + function serializeObject(value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5'); + } + stack.push(value); + var stepback = indent; + indent = indent + gap; + var keys = propertyList || Object.keys(value); + var partial = []; + var _iterator3 = _createForOfIteratorHelper(keys), + _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var _key3 = _step3.value; + var propertyString = serializeProperty(_key3, value); + if (propertyString !== undefined) { + var member = serializeKey(_key3) + ':'; + if (gap !== '') { + member += ' '; + } + member += propertyString; + partial.push(member); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + var final; + if (partial.length === 0) { + final = '{}'; + } else { + var properties; + if (gap === '') { + properties = partial.join(','); + final = '{' + properties + '}'; + } else { + var separator = ',\n' + indent; + properties = partial.join(separator); + final = '{\n' + indent + properties + ',\n' + stepback + '}'; + } + } + stack.pop(); + indent = stepback; + return final; + } + function serializeKey(key) { + if (key.length === 0) { + return quoteString(key, true); + } + var firstChar = String.fromCodePoint(key.codePointAt(0)); + if (!util.isIdStartChar(firstChar)) { + return quoteString(key, true); + } + for (var i = firstChar.length; i < key.length; i++) { + if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + return quoteString(key, true); + } + } + return key; + } + function serializeArray(value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5'); + } + stack.push(value); + var stepback = indent; + indent = indent + gap; + var partial = []; + for (var i = 0; i < value.length; i++) { + var propertyString = serializeProperty(String(i), value); + partial.push(propertyString !== undefined ? propertyString : 'null'); + } + var final; + if (partial.length === 0) { + final = '[]'; + } else { + if (gap === '') { + var properties = partial.join(','); + final = '[' + properties + ']'; + } else { + var separator = ',\n' + indent; + var _properties = partial.join(separator); + final = '[\n' + indent + _properties + ',\n' + stepback + ']'; + } + } + stack.pop(); + indent = stepback; + return final; + } +}; +var JSON5 = { + parse: parse, + stringify: stringify +}; +var lib = JSON5; +var _default2 = exports.default = lib; +module.exports = exports.default; \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/cjs/formats/jsonc.js b/node_modules/i18next-fs-backend/cjs/formats/jsonc.js new file mode 100644 index 00000000..0574e90e --- /dev/null +++ b/node_modules/i18next-fs-backend/cjs/formats/jsonc.js @@ -0,0 +1,1771 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.SyntaxKind = exports.ScanError = exports.ParseErrorCode = void 0; +exports.applyEdits = applyEdits; +exports.findNodeAtOffset = exports.findNodeAtLocation = exports.createScanner = void 0; +exports.format = format2; +exports.getNodeValue = exports.getNodePath = exports.getLocation = void 0; +exports.modify = modify; +exports.parseTree = exports.parse = void 0; +exports.printParseErrorCode = printParseErrorCode; +exports.visit = exports.stripComments = void 0; +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +function createScanner(text) { + var ignoreTrivia = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var len = text.length; + var pos = 0, + value = "", + tokenOffset = 0, + token = 16, + lineNumber = 0, + lineStartOffset = 0, + tokenLineStartOffset = 0, + prevTokenLineStartOffset = 0, + scanError = 0; + function scanHexDigits(count, exact) { + var digits = 0; + var value2 = 0; + while (digits < count || !exact) { + var ch = text.charCodeAt(pos); + if (ch >= 48 && ch <= 57) { + value2 = value2 * 16 + ch - 48; + } else if (ch >= 65 && ch <= 70) { + value2 = value2 * 16 + ch - 65 + 10; + } else if (ch >= 97 && ch <= 102) { + value2 = value2 * 16 + ch - 97 + 10; + } else { + break; + } + pos++; + digits++; + } + if (digits < count) { + value2 = -1; + } + return value2; + } + function setPosition(newPosition) { + pos = newPosition; + value = ""; + tokenOffset = 0; + token = 16; + scanError = 0; + } + function scanNumber() { + var start = pos; + if (text.charCodeAt(pos) === 48) { + pos++; + } else { + pos++; + while (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + } + } + if (pos < text.length && text.charCodeAt(pos) === 46) { + pos++; + if (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + while (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + } + } else { + scanError = 3; + return text.substring(start, pos); + } + } + var end = pos; + if (pos < text.length && (text.charCodeAt(pos) === 69 || text.charCodeAt(pos) === 101)) { + pos++; + if (pos < text.length && text.charCodeAt(pos) === 43 || text.charCodeAt(pos) === 45) { + pos++; + } + if (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + while (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + } + end = pos; + } else { + scanError = 3; + } + } + return text.substring(start, end); + } + function scanString() { + var result = "", + start = pos; + while (true) { + if (pos >= len) { + result += text.substring(start, pos); + scanError = 2; + break; + } + var ch = text.charCodeAt(pos); + if (ch === 34) { + result += text.substring(start, pos); + pos++; + break; + } + if (ch === 92) { + result += text.substring(start, pos); + pos++; + if (pos >= len) { + scanError = 2; + break; + } + var ch2 = text.charCodeAt(pos++); + switch (ch2) { + case 34: + result += '"'; + break; + case 92: + result += "\\"; + break; + case 47: + result += "/"; + break; + case 98: + result += "\b"; + break; + case 102: + result += "\f"; + break; + case 110: + result += "\n"; + break; + case 114: + result += "\r"; + break; + case 116: + result += " "; + break; + case 117: + var ch3 = scanHexDigits(4, true); + if (ch3 >= 0) { + result += String.fromCharCode(ch3); + } else { + scanError = 4; + } + break; + default: + scanError = 5; + } + start = pos; + continue; + } + if (ch >= 0 && ch <= 31) { + if (isLineBreak(ch)) { + result += text.substring(start, pos); + scanError = 2; + break; + } else { + scanError = 6; + } + } + pos++; + } + return result; + } + function scanNext() { + value = ""; + scanError = 0; + tokenOffset = pos; + lineStartOffset = lineNumber; + prevTokenLineStartOffset = tokenLineStartOffset; + if (pos >= len) { + tokenOffset = len; + return token = 17; + } + var code = text.charCodeAt(pos); + if (isWhiteSpace(code)) { + do { + pos++; + value += String.fromCharCode(code); + code = text.charCodeAt(pos); + } while (isWhiteSpace(code)); + return token = 15; + } + if (isLineBreak(code)) { + pos++; + value += String.fromCharCode(code); + if (code === 13 && text.charCodeAt(pos) === 10) { + pos++; + value += "\n"; + } + lineNumber++; + tokenLineStartOffset = pos; + return token = 14; + } + switch (code) { + case 123: + pos++; + return token = 1; + case 125: + pos++; + return token = 2; + case 91: + pos++; + return token = 3; + case 93: + pos++; + return token = 4; + case 58: + pos++; + return token = 6; + case 44: + pos++; + return token = 5; + case 34: + pos++; + value = scanString(); + return token = 10; + case 47: + var start = pos - 1; + if (text.charCodeAt(pos + 1) === 47) { + pos += 2; + while (pos < len) { + if (isLineBreak(text.charCodeAt(pos))) { + break; + } + pos++; + } + value = text.substring(start, pos); + return token = 12; + } + if (text.charCodeAt(pos + 1) === 42) { + pos += 2; + var safeLength = len - 1; + var commentClosed = false; + while (pos < safeLength) { + var ch = text.charCodeAt(pos); + if (ch === 42 && text.charCodeAt(pos + 1) === 47) { + pos += 2; + commentClosed = true; + break; + } + pos++; + if (isLineBreak(ch)) { + if (ch === 13 && text.charCodeAt(pos) === 10) { + pos++; + } + lineNumber++; + tokenLineStartOffset = pos; + } + } + if (!commentClosed) { + pos++; + scanError = 1; + } + value = text.substring(start, pos); + return token = 13; + } + value += String.fromCharCode(code); + pos++; + return token = 16; + case 45: + value += String.fromCharCode(code); + pos++; + if (pos === len || !isDigit(text.charCodeAt(pos))) { + return token = 16; + } + case 48: + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + value += scanNumber(); + return token = 11; + default: + while (pos < len && isUnknownContentCharacter(code)) { + pos++; + code = text.charCodeAt(pos); + } + if (tokenOffset !== pos) { + value = text.substring(tokenOffset, pos); + switch (value) { + case "true": + return token = 8; + case "false": + return token = 9; + case "null": + return token = 7; + } + return token = 16; + } + value += String.fromCharCode(code); + pos++; + return token = 16; + } + } + function isUnknownContentCharacter(code) { + if (isWhiteSpace(code) || isLineBreak(code)) { + return false; + } + switch (code) { + case 125: + case 93: + case 123: + case 91: + case 34: + case 58: + case 44: + case 47: + return false; + } + return true; + } + function scanNextNonTrivia() { + var result; + do { + result = scanNext(); + } while (result >= 12 && result <= 15); + return result; + } + return { + setPosition: setPosition, + getPosition: function getPosition() { + return pos; + }, + scan: ignoreTrivia ? scanNextNonTrivia : scanNext, + getToken: function getToken() { + return token; + }, + getTokenValue: function getTokenValue() { + return value; + }, + getTokenOffset: function getTokenOffset() { + return tokenOffset; + }, + getTokenLength: function getTokenLength() { + return pos - tokenOffset; + }, + getTokenStartLine: function getTokenStartLine() { + return lineStartOffset; + }, + getTokenStartCharacter: function getTokenStartCharacter() { + return tokenOffset - prevTokenLineStartOffset; + }, + getTokenError: function getTokenError() { + return scanError; + } + }; +} +function isWhiteSpace(ch) { + return ch === 32 || ch === 9; +} +function isLineBreak(ch) { + return ch === 10 || ch === 13; +} +function isDigit(ch) { + return ch >= 48 && ch <= 57; +} +var CharacterCodes; +(function (CharacterCodes2) { + CharacterCodes2[CharacterCodes2["lineFeed"] = 10] = "lineFeed"; + CharacterCodes2[CharacterCodes2["carriageReturn"] = 13] = "carriageReturn"; + CharacterCodes2[CharacterCodes2["space"] = 32] = "space"; + CharacterCodes2[CharacterCodes2["_0"] = 48] = "_0"; + CharacterCodes2[CharacterCodes2["_1"] = 49] = "_1"; + CharacterCodes2[CharacterCodes2["_2"] = 50] = "_2"; + CharacterCodes2[CharacterCodes2["_3"] = 51] = "_3"; + CharacterCodes2[CharacterCodes2["_4"] = 52] = "_4"; + CharacterCodes2[CharacterCodes2["_5"] = 53] = "_5"; + CharacterCodes2[CharacterCodes2["_6"] = 54] = "_6"; + CharacterCodes2[CharacterCodes2["_7"] = 55] = "_7"; + CharacterCodes2[CharacterCodes2["_8"] = 56] = "_8"; + CharacterCodes2[CharacterCodes2["_9"] = 57] = "_9"; + CharacterCodes2[CharacterCodes2["a"] = 97] = "a"; + CharacterCodes2[CharacterCodes2["b"] = 98] = "b"; + CharacterCodes2[CharacterCodes2["c"] = 99] = "c"; + CharacterCodes2[CharacterCodes2["d"] = 100] = "d"; + CharacterCodes2[CharacterCodes2["e"] = 101] = "e"; + CharacterCodes2[CharacterCodes2["f"] = 102] = "f"; + CharacterCodes2[CharacterCodes2["g"] = 103] = "g"; + CharacterCodes2[CharacterCodes2["h"] = 104] = "h"; + CharacterCodes2[CharacterCodes2["i"] = 105] = "i"; + CharacterCodes2[CharacterCodes2["j"] = 106] = "j"; + CharacterCodes2[CharacterCodes2["k"] = 107] = "k"; + CharacterCodes2[CharacterCodes2["l"] = 108] = "l"; + CharacterCodes2[CharacterCodes2["m"] = 109] = "m"; + CharacterCodes2[CharacterCodes2["n"] = 110] = "n"; + CharacterCodes2[CharacterCodes2["o"] = 111] = "o"; + CharacterCodes2[CharacterCodes2["p"] = 112] = "p"; + CharacterCodes2[CharacterCodes2["q"] = 113] = "q"; + CharacterCodes2[CharacterCodes2["r"] = 114] = "r"; + CharacterCodes2[CharacterCodes2["s"] = 115] = "s"; + CharacterCodes2[CharacterCodes2["t"] = 116] = "t"; + CharacterCodes2[CharacterCodes2["u"] = 117] = "u"; + CharacterCodes2[CharacterCodes2["v"] = 118] = "v"; + CharacterCodes2[CharacterCodes2["w"] = 119] = "w"; + CharacterCodes2[CharacterCodes2["x"] = 120] = "x"; + CharacterCodes2[CharacterCodes2["y"] = 121] = "y"; + CharacterCodes2[CharacterCodes2["z"] = 122] = "z"; + CharacterCodes2[CharacterCodes2["A"] = 65] = "A"; + CharacterCodes2[CharacterCodes2["B"] = 66] = "B"; + CharacterCodes2[CharacterCodes2["C"] = 67] = "C"; + CharacterCodes2[CharacterCodes2["D"] = 68] = "D"; + CharacterCodes2[CharacterCodes2["E"] = 69] = "E"; + CharacterCodes2[CharacterCodes2["F"] = 70] = "F"; + CharacterCodes2[CharacterCodes2["G"] = 71] = "G"; + CharacterCodes2[CharacterCodes2["H"] = 72] = "H"; + CharacterCodes2[CharacterCodes2["I"] = 73] = "I"; + CharacterCodes2[CharacterCodes2["J"] = 74] = "J"; + CharacterCodes2[CharacterCodes2["K"] = 75] = "K"; + CharacterCodes2[CharacterCodes2["L"] = 76] = "L"; + CharacterCodes2[CharacterCodes2["M"] = 77] = "M"; + CharacterCodes2[CharacterCodes2["N"] = 78] = "N"; + CharacterCodes2[CharacterCodes2["O"] = 79] = "O"; + CharacterCodes2[CharacterCodes2["P"] = 80] = "P"; + CharacterCodes2[CharacterCodes2["Q"] = 81] = "Q"; + CharacterCodes2[CharacterCodes2["R"] = 82] = "R"; + CharacterCodes2[CharacterCodes2["S"] = 83] = "S"; + CharacterCodes2[CharacterCodes2["T"] = 84] = "T"; + CharacterCodes2[CharacterCodes2["U"] = 85] = "U"; + CharacterCodes2[CharacterCodes2["V"] = 86] = "V"; + CharacterCodes2[CharacterCodes2["W"] = 87] = "W"; + CharacterCodes2[CharacterCodes2["X"] = 88] = "X"; + CharacterCodes2[CharacterCodes2["Y"] = 89] = "Y"; + CharacterCodes2[CharacterCodes2["Z"] = 90] = "Z"; + CharacterCodes2[CharacterCodes2["asterisk"] = 42] = "asterisk"; + CharacterCodes2[CharacterCodes2["backslash"] = 92] = "backslash"; + CharacterCodes2[CharacterCodes2["closeBrace"] = 125] = "closeBrace"; + CharacterCodes2[CharacterCodes2["closeBracket"] = 93] = "closeBracket"; + CharacterCodes2[CharacterCodes2["colon"] = 58] = "colon"; + CharacterCodes2[CharacterCodes2["comma"] = 44] = "comma"; + CharacterCodes2[CharacterCodes2["dot"] = 46] = "dot"; + CharacterCodes2[CharacterCodes2["doubleQuote"] = 34] = "doubleQuote"; + CharacterCodes2[CharacterCodes2["minus"] = 45] = "minus"; + CharacterCodes2[CharacterCodes2["openBrace"] = 123] = "openBrace"; + CharacterCodes2[CharacterCodes2["openBracket"] = 91] = "openBracket"; + CharacterCodes2[CharacterCodes2["plus"] = 43] = "plus"; + CharacterCodes2[CharacterCodes2["slash"] = 47] = "slash"; + CharacterCodes2[CharacterCodes2["formFeed"] = 12] = "formFeed"; + CharacterCodes2[CharacterCodes2["tab"] = 9] = "tab"; +})(CharacterCodes || (CharacterCodes = {})); +var cachedSpaces = new Array(20).fill(0).map(function (_, index) { + return " ".repeat(index); +}); +var maxCachedValues = 200; +var cachedBreakLinesWithSpaces = { + " ": { + "\n": new Array(maxCachedValues).fill(0).map(function (_, index) { + return "\n" + " ".repeat(index); + }), + "\r": new Array(maxCachedValues).fill(0).map(function (_, index) { + return "\r" + " ".repeat(index); + }), + "\r\n": new Array(maxCachedValues).fill(0).map(function (_, index) { + return "\r\n" + " ".repeat(index); + }) + }, + " ": { + "\n": new Array(maxCachedValues).fill(0).map(function (_, index) { + return "\n" + " ".repeat(index); + }), + "\r": new Array(maxCachedValues).fill(0).map(function (_, index) { + return "\r" + " ".repeat(index); + }), + "\r\n": new Array(maxCachedValues).fill(0).map(function (_, index) { + return "\r\n" + " ".repeat(index); + }) + } +}; +var supportedEols = ["\n", "\r", "\r\n"]; +function format(documentText, range, options) { + var initialIndentLevel; + var formatText; + var formatTextStart; + var rangeStart; + var rangeEnd; + if (range) { + rangeStart = range.offset; + rangeEnd = rangeStart + range.length; + formatTextStart = rangeStart; + while (formatTextStart > 0 && !isEOL(documentText, formatTextStart - 1)) { + formatTextStart--; + } + var endOffset = rangeEnd; + while (endOffset < documentText.length && !isEOL(documentText, endOffset)) { + endOffset++; + } + formatText = documentText.substring(formatTextStart, endOffset); + initialIndentLevel = computeIndentLevel(formatText, options); + } else { + formatText = documentText; + initialIndentLevel = 0; + formatTextStart = 0; + rangeStart = 0; + rangeEnd = documentText.length; + } + var eol = getEOL(options, documentText); + var eolFastPathSupported = supportedEols.includes(eol); + var numberLineBreaks = 0; + var indentLevel = 0; + var indentValue; + if (options.insertSpaces) { + var _cachedSpaces; + indentValue = (_cachedSpaces = cachedSpaces[options.tabSize || 4]) !== null && _cachedSpaces !== void 0 ? _cachedSpaces : repeat(cachedSpaces[1], options.tabSize || 4); + } else { + indentValue = " "; + } + var indentType = indentValue === " " ? " " : " "; + var scanner = createScanner(formatText, false); + var hasError = false; + function newLinesAndIndent() { + if (numberLineBreaks > 1) { + return repeat(eol, numberLineBreaks) + repeat(indentValue, initialIndentLevel + indentLevel); + } + var amountOfSpaces = indentValue.length * (initialIndentLevel + indentLevel); + if (!eolFastPathSupported || amountOfSpaces > cachedBreakLinesWithSpaces[indentType][eol].length) { + return eol + repeat(indentValue, initialIndentLevel + indentLevel); + } + if (amountOfSpaces <= 0) { + return eol; + } + return cachedBreakLinesWithSpaces[indentType][eol][amountOfSpaces]; + } + function scanNext() { + var token = scanner.scan(); + numberLineBreaks = 0; + while (token === 15 || token === 14) { + if (token === 14 && options.keepLines) { + numberLineBreaks += 1; + } else if (token === 14) { + numberLineBreaks = 1; + } + token = scanner.scan(); + } + hasError = token === 16 || scanner.getTokenError() !== 0; + return token; + } + var editOperations = []; + function addEdit(text, startOffset, endOffset) { + if (!hasError && (!range || startOffset < rangeEnd && endOffset > rangeStart) && documentText.substring(startOffset, endOffset) !== text) { + editOperations.push({ + offset: startOffset, + length: endOffset - startOffset, + content: text + }); + } + } + var firstToken = scanNext(); + if (options.keepLines && numberLineBreaks > 0) { + addEdit(repeat(eol, numberLineBreaks), 0, 0); + } + if (firstToken !== 17) { + var firstTokenStart = scanner.getTokenOffset() + formatTextStart; + var initialIndent = indentValue.length * initialIndentLevel < 20 && options.insertSpaces ? cachedSpaces[indentValue.length * initialIndentLevel] : repeat(indentValue, initialIndentLevel); + addEdit(initialIndent, formatTextStart, firstTokenStart); + } + while (firstToken !== 17) { + var firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart; + var secondToken = scanNext(); + var replaceContent = ""; + var needsLineBreak = false; + while (numberLineBreaks === 0 && (secondToken === 12 || secondToken === 13)) { + var commentTokenStart = scanner.getTokenOffset() + formatTextStart; + addEdit(cachedSpaces[1], firstTokenEnd, commentTokenStart); + firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart; + needsLineBreak = secondToken === 12; + replaceContent = needsLineBreak ? newLinesAndIndent() : ""; + secondToken = scanNext(); + } + if (secondToken === 2) { + if (firstToken !== 1) { + indentLevel--; + } + ; + if (options.keepLines && numberLineBreaks > 0 || !options.keepLines && firstToken !== 1) { + replaceContent = newLinesAndIndent(); + } else if (options.keepLines) { + replaceContent = cachedSpaces[1]; + } + } else if (secondToken === 4) { + if (firstToken !== 3) { + indentLevel--; + } + ; + if (options.keepLines && numberLineBreaks > 0 || !options.keepLines && firstToken !== 3) { + replaceContent = newLinesAndIndent(); + } else if (options.keepLines) { + replaceContent = cachedSpaces[1]; + } + } else { + switch (firstToken) { + case 3: + case 1: + indentLevel++; + if (options.keepLines && numberLineBreaks > 0 || !options.keepLines) { + replaceContent = newLinesAndIndent(); + } else { + replaceContent = cachedSpaces[1]; + } + break; + case 5: + if (options.keepLines && numberLineBreaks > 0 || !options.keepLines) { + replaceContent = newLinesAndIndent(); + } else { + replaceContent = cachedSpaces[1]; + } + break; + case 12: + replaceContent = newLinesAndIndent(); + break; + case 13: + if (numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else if (!needsLineBreak) { + replaceContent = cachedSpaces[1]; + } + break; + case 6: + if (options.keepLines && numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else if (!needsLineBreak) { + replaceContent = cachedSpaces[1]; + } + break; + case 10: + if (options.keepLines && numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else if (secondToken === 6 && !needsLineBreak) { + replaceContent = ""; + } + break; + case 7: + case 8: + case 9: + case 11: + case 2: + case 4: + if (options.keepLines && numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else { + if ((secondToken === 12 || secondToken === 13) && !needsLineBreak) { + replaceContent = cachedSpaces[1]; + } else if (secondToken !== 5 && secondToken !== 17) { + hasError = true; + } + } + break; + case 16: + hasError = true; + break; + } + if (numberLineBreaks > 0 && (secondToken === 12 || secondToken === 13)) { + replaceContent = newLinesAndIndent(); + } + } + if (secondToken === 17) { + if (options.keepLines && numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else { + replaceContent = options.insertFinalNewline ? eol : ""; + } + } + var secondTokenStart = scanner.getTokenOffset() + formatTextStart; + addEdit(replaceContent, firstTokenEnd, secondTokenStart); + firstToken = secondToken; + } + return editOperations; +} +function repeat(s, count) { + var result = ""; + for (var i = 0; i < count; i++) { + result += s; + } + return result; +} +function computeIndentLevel(content, options) { + var i = 0; + var nChars = 0; + var tabSize = options.tabSize || 4; + while (i < content.length) { + var ch = content.charAt(i); + if (ch === cachedSpaces[1]) { + nChars++; + } else if (ch === " ") { + nChars += tabSize; + } else { + break; + } + i++; + } + return Math.floor(nChars / tabSize); +} +function getEOL(options, text) { + for (var i = 0; i < text.length; i++) { + var ch = text.charAt(i); + if (ch === "\r") { + if (i + 1 < text.length && text.charAt(i + 1) === "\n") { + return "\r\n"; + } + return "\r"; + } else if (ch === "\n") { + return "\n"; + } + } + return options && options.eol || "\n"; +} +function isEOL(text, offset) { + return "\r\n".indexOf(text.charAt(offset)) !== -1; +} +var ParseOptions; +(function (ParseOptions2) { + ParseOptions2.DEFAULT = { + allowTrailingComma: false + }; +})(ParseOptions || (ParseOptions = {})); +function getLocation(text, position) { + var segments = []; + var earlyReturnException = new Object(); + var previousNode = void 0; + var previousNodeInst = { + value: {}, + offset: 0, + length: 0, + type: "object", + parent: void 0 + }; + var isAtPropertyKey = false; + function setPreviousNode(value, offset, length, type) { + previousNodeInst.value = value; + previousNodeInst.offset = offset; + previousNodeInst.length = length; + previousNodeInst.type = type; + previousNodeInst.colonOffset = void 0; + previousNode = previousNodeInst; + } + try { + visit(text, { + onObjectBegin: function onObjectBegin(offset, length) { + if (position <= offset) { + throw earlyReturnException; + } + previousNode = void 0; + isAtPropertyKey = position > offset; + segments.push(""); + }, + onObjectProperty: function onObjectProperty(name, offset, length) { + if (position < offset) { + throw earlyReturnException; + } + setPreviousNode(name, offset, length, "property"); + segments[segments.length - 1] = name; + if (position <= offset + length) { + throw earlyReturnException; + } + }, + onObjectEnd: function onObjectEnd(offset, length) { + if (position <= offset) { + throw earlyReturnException; + } + previousNode = void 0; + segments.pop(); + }, + onArrayBegin: function onArrayBegin(offset, length) { + if (position <= offset) { + throw earlyReturnException; + } + previousNode = void 0; + segments.push(0); + }, + onArrayEnd: function onArrayEnd(offset, length) { + if (position <= offset) { + throw earlyReturnException; + } + previousNode = void 0; + segments.pop(); + }, + onLiteralValue: function onLiteralValue(value, offset, length) { + if (position < offset) { + throw earlyReturnException; + } + setPreviousNode(value, offset, length, getNodeType(value)); + if (position <= offset + length) { + throw earlyReturnException; + } + }, + onSeparator: function onSeparator(sep, offset, length) { + if (position <= offset) { + throw earlyReturnException; + } + if (sep === ":" && previousNode && previousNode.type === "property") { + previousNode.colonOffset = offset; + isAtPropertyKey = false; + previousNode = void 0; + } else if (sep === ",") { + var last = segments[segments.length - 1]; + if (typeof last === "number") { + segments[segments.length - 1] = last + 1; + } else { + isAtPropertyKey = true; + segments[segments.length - 1] = ""; + } + previousNode = void 0; + } + } + }); + } catch (e) { + if (e !== earlyReturnException) { + throw e; + } + } + return { + path: segments, + previousNode: previousNode, + isAtPropertyKey: isAtPropertyKey, + matches: function matches(pattern) { + var k = 0; + for (var i = 0; k < pattern.length && i < segments.length; i++) { + if (pattern[k] === segments[i] || pattern[k] === "*") { + k++; + } else if (pattern[k] !== "**") { + return false; + } + } + return k === pattern.length; + } + }; +} +function parse(text) { + var errors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ParseOptions.DEFAULT; + var currentProperty = null; + var currentParent = []; + var previousParents = []; + function onValue(value) { + if (Array.isArray(currentParent)) { + currentParent.push(value); + } else if (currentProperty !== null) { + currentParent[currentProperty] = value; + } + } + var visitor = { + onObjectBegin: function onObjectBegin() { + var object = {}; + onValue(object); + previousParents.push(currentParent); + currentParent = object; + currentProperty = null; + }, + onObjectProperty: function onObjectProperty(name) { + currentProperty = name; + }, + onObjectEnd: function onObjectEnd() { + currentParent = previousParents.pop(); + }, + onArrayBegin: function onArrayBegin() { + var array = []; + onValue(array); + previousParents.push(currentParent); + currentParent = array; + currentProperty = null; + }, + onArrayEnd: function onArrayEnd() { + currentParent = previousParents.pop(); + }, + onLiteralValue: onValue, + onError: function onError(error, offset, length) { + errors.push({ + error: error, + offset: offset, + length: length + }); + } + }; + visit(text, visitor, options); + return currentParent[0]; +} +function parseTree(text) { + var errors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ParseOptions.DEFAULT; + var currentParent = { + type: "array", + offset: -1, + length: -1, + children: [], + parent: void 0 + }; + function ensurePropertyComplete(endOffset) { + if (currentParent.type === "property") { + currentParent.length = endOffset - currentParent.offset; + currentParent = currentParent.parent; + } + } + function onValue(valueNode) { + currentParent.children.push(valueNode); + return valueNode; + } + var visitor = { + onObjectBegin: function onObjectBegin(offset) { + currentParent = onValue({ + type: "object", + offset: offset, + length: -1, + parent: currentParent, + children: [] + }); + }, + onObjectProperty: function onObjectProperty(name, offset, length) { + currentParent = onValue({ + type: "property", + offset: offset, + length: -1, + parent: currentParent, + children: [] + }); + currentParent.children.push({ + type: "string", + value: name, + offset: offset, + length: length, + parent: currentParent + }); + }, + onObjectEnd: function onObjectEnd(offset, length) { + ensurePropertyComplete(offset + length); + currentParent.length = offset + length - currentParent.offset; + currentParent = currentParent.parent; + ensurePropertyComplete(offset + length); + }, + onArrayBegin: function onArrayBegin(offset, length) { + currentParent = onValue({ + type: "array", + offset: offset, + length: -1, + parent: currentParent, + children: [] + }); + }, + onArrayEnd: function onArrayEnd(offset, length) { + currentParent.length = offset + length - currentParent.offset; + currentParent = currentParent.parent; + ensurePropertyComplete(offset + length); + }, + onLiteralValue: function onLiteralValue(value, offset, length) { + onValue({ + type: getNodeType(value), + offset: offset, + length: length, + parent: currentParent, + value: value + }); + ensurePropertyComplete(offset + length); + }, + onSeparator: function onSeparator(sep, offset, length) { + if (currentParent.type === "property") { + if (sep === ":") { + currentParent.colonOffset = offset; + } else if (sep === ",") { + ensurePropertyComplete(offset); + } + } + }, + onError: function onError(error, offset, length) { + errors.push({ + error: error, + offset: offset, + length: length + }); + } + }; + visit(text, visitor, options); + var result = currentParent.children[0]; + if (result) { + delete result.parent; + } + return result; +} +function findNodeAtLocation(root, path) { + if (!root) { + return void 0; + } + var node = root; + var _iterator = _createForOfIteratorHelper(path), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var segment = _step.value; + if (typeof segment === "string") { + if (node.type !== "object" || !Array.isArray(node.children)) { + return void 0; + } + var found = false; + var _iterator2 = _createForOfIteratorHelper(node.children), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var propertyNode = _step2.value; + if (Array.isArray(propertyNode.children) && propertyNode.children[0].value === segment && propertyNode.children.length === 2) { + node = propertyNode.children[1]; + found = true; + break; + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + if (!found) { + return void 0; + } + } else { + var index = segment; + if (node.type !== "array" || index < 0 || !Array.isArray(node.children) || index >= node.children.length) { + return void 0; + } + node = node.children[index]; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return node; +} +function getNodePath(node) { + if (!node.parent || !node.parent.children) { + return []; + } + var path = getNodePath(node.parent); + if (node.parent.type === "property") { + var key = node.parent.children[0].value; + path.push(key); + } else if (node.parent.type === "array") { + var index = node.parent.children.indexOf(node); + if (index !== -1) { + path.push(index); + } + } + return path; +} +function getNodeValue(node) { + switch (node.type) { + case "array": + return node.children.map(getNodeValue); + case "object": + var obj = Object.create(null); + var _iterator3 = _createForOfIteratorHelper(node.children), + _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var prop = _step3.value; + var valueNode = prop.children[1]; + if (valueNode) { + obj[prop.children[0].value] = getNodeValue(valueNode); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + return obj; + case "null": + case "string": + case "number": + case "boolean": + return node.value; + default: + return void 0; + } +} +function contains(node, offset) { + var includeRightBound = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return offset >= node.offset && offset < node.offset + node.length || includeRightBound && offset === node.offset + node.length; +} +function findNodeAtOffset(node, offset) { + var includeRightBound = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + if (contains(node, offset, includeRightBound)) { + var children = node.children; + if (Array.isArray(children)) { + for (var i = 0; i < children.length && children[i].offset <= offset; i++) { + var item = findNodeAtOffset(children[i], offset, includeRightBound); + if (item) { + return item; + } + } + } + return node; + } + return void 0; +} +function visit(text, visitor) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ParseOptions.DEFAULT; + var _scanner = createScanner(text, false); + var _jsonPath = []; + var suppressedCallbacks = 0; + function toNoArgVisit(visitFunction) { + return visitFunction ? function () { + return suppressedCallbacks === 0 && visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()); + } : function () { + return true; + }; + } + function toOneArgVisit(visitFunction) { + return visitFunction ? function (arg) { + return suppressedCallbacks === 0 && visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()); + } : function () { + return true; + }; + } + function toOneArgVisitWithPath(visitFunction) { + return visitFunction ? function (arg) { + return suppressedCallbacks === 0 && visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), function () { + return _jsonPath.slice(); + }); + } : function () { + return true; + }; + } + function toBeginVisit(visitFunction) { + return visitFunction ? function () { + if (suppressedCallbacks > 0) { + suppressedCallbacks++; + } else { + var cbReturn = visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), function () { + return _jsonPath.slice(); + }); + if (cbReturn === false) { + suppressedCallbacks = 1; + } + } + } : function () { + return true; + }; + } + function toEndVisit(visitFunction) { + return visitFunction ? function () { + if (suppressedCallbacks > 0) { + suppressedCallbacks--; + } + if (suppressedCallbacks === 0) { + visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()); + } + } : function () { + return true; + }; + } + var onObjectBegin = toBeginVisit(visitor.onObjectBegin), + onObjectProperty = toOneArgVisitWithPath(visitor.onObjectProperty), + onObjectEnd = toEndVisit(visitor.onObjectEnd), + onArrayBegin = toBeginVisit(visitor.onArrayBegin), + onArrayEnd = toEndVisit(visitor.onArrayEnd), + onLiteralValue = toOneArgVisitWithPath(visitor.onLiteralValue), + onSeparator = toOneArgVisit(visitor.onSeparator), + onComment = toNoArgVisit(visitor.onComment), + onError = toOneArgVisit(visitor.onError); + var disallowComments = options && options.disallowComments; + var allowTrailingComma = options && options.allowTrailingComma; + function scanNext() { + while (true) { + var token = _scanner.scan(); + switch (_scanner.getTokenError()) { + case 4: + handleError(14); + break; + case 5: + handleError(15); + break; + case 3: + handleError(13); + break; + case 1: + if (!disallowComments) { + handleError(11); + } + break; + case 2: + handleError(12); + break; + case 6: + handleError(16); + break; + } + switch (token) { + case 12: + case 13: + if (disallowComments) { + handleError(10); + } else { + onComment(); + } + break; + case 16: + handleError(1); + break; + case 15: + case 14: + break; + default: + return token; + } + } + } + function handleError(error) { + var skipUntilAfter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + var skipUntil = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; + onError(error); + if (skipUntilAfter.length + skipUntil.length > 0) { + var token = _scanner.getToken(); + while (token !== 17) { + if (skipUntilAfter.indexOf(token) !== -1) { + scanNext(); + break; + } else if (skipUntil.indexOf(token) !== -1) { + break; + } + token = scanNext(); + } + } + } + function parseString(isValue) { + var value = _scanner.getTokenValue(); + if (isValue) { + onLiteralValue(value); + } else { + onObjectProperty(value); + _jsonPath.push(value); + } + scanNext(); + return true; + } + function parseLiteral() { + switch (_scanner.getToken()) { + case 11: + var tokenValue = _scanner.getTokenValue(); + var value = Number(tokenValue); + if (isNaN(value)) { + handleError(2); + value = 0; + } + onLiteralValue(value); + break; + case 7: + onLiteralValue(null); + break; + case 8: + onLiteralValue(true); + break; + case 9: + onLiteralValue(false); + break; + default: + return false; + } + scanNext(); + return true; + } + function parseProperty() { + if (_scanner.getToken() !== 10) { + handleError(3, [], [2, 5]); + return false; + } + parseString(false); + if (_scanner.getToken() === 6) { + onSeparator(":"); + scanNext(); + if (!parseValue()) { + handleError(4, [], [2, 5]); + } + } else { + handleError(5, [], [2, 5]); + } + _jsonPath.pop(); + return true; + } + function parseObject() { + onObjectBegin(); + scanNext(); + var needsComma = false; + while (_scanner.getToken() !== 2 && _scanner.getToken() !== 17) { + if (_scanner.getToken() === 5) { + if (!needsComma) { + handleError(4, [], []); + } + onSeparator(","); + scanNext(); + if (_scanner.getToken() === 2 && allowTrailingComma) { + break; + } + } else if (needsComma) { + handleError(6, [], []); + } + if (!parseProperty()) { + handleError(4, [], [2, 5]); + } + needsComma = true; + } + onObjectEnd(); + if (_scanner.getToken() !== 2) { + handleError(7, [2], []); + } else { + scanNext(); + } + return true; + } + function parseArray() { + onArrayBegin(); + scanNext(); + var isFirstElement = true; + var needsComma = false; + while (_scanner.getToken() !== 4 && _scanner.getToken() !== 17) { + if (_scanner.getToken() === 5) { + if (!needsComma) { + handleError(4, [], []); + } + onSeparator(","); + scanNext(); + if (_scanner.getToken() === 4 && allowTrailingComma) { + break; + } + } else if (needsComma) { + handleError(6, [], []); + } + if (isFirstElement) { + _jsonPath.push(0); + isFirstElement = false; + } else { + _jsonPath[_jsonPath.length - 1]++; + } + if (!parseValue()) { + handleError(4, [], [4, 5]); + } + needsComma = true; + } + onArrayEnd(); + if (!isFirstElement) { + _jsonPath.pop(); + } + if (_scanner.getToken() !== 4) { + handleError(8, [4], []); + } else { + scanNext(); + } + return true; + } + function parseValue() { + switch (_scanner.getToken()) { + case 3: + return parseArray(); + case 1: + return parseObject(); + case 10: + return parseString(true); + default: + return parseLiteral(); + } + } + scanNext(); + if (_scanner.getToken() === 17) { + if (options.allowEmptyContent) { + return true; + } + handleError(4, [], []); + return false; + } + if (!parseValue()) { + handleError(4, [], []); + return false; + } + if (_scanner.getToken() !== 17) { + handleError(9, [], []); + } + return true; +} +function stripComments(text, replaceCh) { + var _scanner = createScanner(text), + parts = [], + kind, + offset = 0, + pos; + do { + pos = _scanner.getPosition(); + kind = _scanner.scan(); + switch (kind) { + case 12: + case 13: + case 17: + if (offset !== pos) { + parts.push(text.substring(offset, pos)); + } + if (replaceCh !== void 0) { + parts.push(_scanner.getTokenValue().replace(/[^\r\n]/g, replaceCh)); + } + offset = _scanner.getPosition(); + break; + } + } while (kind !== 17); + return parts.join(""); +} +function getNodeType(value) { + switch (_typeof(value)) { + case "boolean": + return "boolean"; + case "number": + return "number"; + case "string": + return "string"; + case "object": + { + if (!value) { + return "null"; + } else if (Array.isArray(value)) { + return "array"; + } + return "object"; + } + default: + return "null"; + } +} +function setProperty(text, originalPath, value, options) { + var path = originalPath.slice(); + var errors = []; + var root = parseTree(text, errors); + var parent = void 0; + var lastSegment = void 0; + while (path.length > 0) { + lastSegment = path.pop(); + parent = findNodeAtLocation(root, path); + if (parent === void 0 && value !== void 0) { + if (typeof lastSegment === "string") { + value = _defineProperty({}, lastSegment, value); + } else { + value = [value]; + } + } else { + break; + } + } + if (!parent) { + if (value === void 0) { + throw new Error("Can not delete in empty document"); + } + return withFormatting(text, { + offset: root ? root.offset : 0, + length: root ? root.length : 0, + content: JSON.stringify(value) + }, options); + } else if (parent.type === "object" && typeof lastSegment === "string" && Array.isArray(parent.children)) { + var existing = findNodeAtLocation(parent, [lastSegment]); + if (existing !== void 0) { + if (value === void 0) { + if (!existing.parent) { + throw new Error("Malformed AST"); + } + var propertyIndex = parent.children.indexOf(existing.parent); + var removeBegin; + var removeEnd = existing.parent.offset + existing.parent.length; + if (propertyIndex > 0) { + var previous = parent.children[propertyIndex - 1]; + removeBegin = previous.offset + previous.length; + } else { + removeBegin = parent.offset + 1; + if (parent.children.length > 1) { + var next = parent.children[1]; + removeEnd = next.offset; + } + } + return withFormatting(text, { + offset: removeBegin, + length: removeEnd - removeBegin, + content: "" + }, options); + } else { + return withFormatting(text, { + offset: existing.offset, + length: existing.length, + content: JSON.stringify(value) + }, options); + } + } else { + if (value === void 0) { + return []; + } + var newProperty = "".concat(JSON.stringify(lastSegment), ": ").concat(JSON.stringify(value)); + var index = options.getInsertionIndex ? options.getInsertionIndex(parent.children.map(function (p) { + return p.children[0].value; + })) : parent.children.length; + var edit; + if (index > 0) { + var _previous = parent.children[index - 1]; + edit = { + offset: _previous.offset + _previous.length, + length: 0, + content: "," + newProperty + }; + } else if (parent.children.length === 0) { + edit = { + offset: parent.offset + 1, + length: 0, + content: newProperty + }; + } else { + edit = { + offset: parent.offset + 1, + length: 0, + content: newProperty + "," + }; + } + return withFormatting(text, edit, options); + } + } else if (parent.type === "array" && typeof lastSegment === "number" && Array.isArray(parent.children)) { + var insertIndex = lastSegment; + if (insertIndex === -1) { + var _newProperty = "".concat(JSON.stringify(value)); + var _edit; + if (parent.children.length === 0) { + _edit = { + offset: parent.offset + 1, + length: 0, + content: _newProperty + }; + } else { + var _previous2 = parent.children[parent.children.length - 1]; + _edit = { + offset: _previous2.offset + _previous2.length, + length: 0, + content: "," + _newProperty + }; + } + return withFormatting(text, _edit, options); + } else if (value === void 0 && parent.children.length >= 0) { + var removalIndex = lastSegment; + var toRemove = parent.children[removalIndex]; + var _edit2; + if (parent.children.length === 1) { + _edit2 = { + offset: parent.offset + 1, + length: parent.length - 2, + content: "" + }; + } else if (parent.children.length - 1 === removalIndex) { + var _previous3 = parent.children[removalIndex - 1]; + var offset = _previous3.offset + _previous3.length; + var parentEndOffset = parent.offset + parent.length; + _edit2 = { + offset: offset, + length: parentEndOffset - 2 - offset, + content: "" + }; + } else { + _edit2 = { + offset: toRemove.offset, + length: parent.children[removalIndex + 1].offset - toRemove.offset, + content: "" + }; + } + return withFormatting(text, _edit2, options); + } else if (value !== void 0) { + var _edit3; + var _newProperty2 = "".concat(JSON.stringify(value)); + if (!options.isArrayInsertion && parent.children.length > lastSegment) { + var toModify = parent.children[lastSegment]; + _edit3 = { + offset: toModify.offset, + length: toModify.length, + content: _newProperty2 + }; + } else if (parent.children.length === 0 || lastSegment === 0) { + _edit3 = { + offset: parent.offset + 1, + length: 0, + content: parent.children.length === 0 ? _newProperty2 : _newProperty2 + "," + }; + } else { + var _index = lastSegment > parent.children.length ? parent.children.length : lastSegment; + var _previous4 = parent.children[_index - 1]; + _edit3 = { + offset: _previous4.offset + _previous4.length, + length: 0, + content: "," + _newProperty2 + }; + } + return withFormatting(text, _edit3, options); + } else { + throw new Error("Can not ".concat(value === void 0 ? "remove" : options.isArrayInsertion ? "insert" : "modify", " Array index ").concat(insertIndex, " as length is not sufficient")); + } + } else { + throw new Error("Can not add ".concat(typeof lastSegment !== "number" ? "index" : "property", " to parent of type ").concat(parent.type)); + } +} +function withFormatting(text, edit, options) { + if (!options.formattingOptions) { + return [edit]; + } + var newText = applyEdit(text, edit); + var begin = edit.offset; + var end = edit.offset + edit.content.length; + if (edit.length === 0 || edit.content.length === 0) { + while (begin > 0 && !isEOL(newText, begin - 1)) { + begin--; + } + while (end < newText.length && !isEOL(newText, end)) { + end++; + } + } + var edits = format(newText, { + offset: begin, + length: end - begin + }, _objectSpread(_objectSpread({}, options.formattingOptions), {}, { + keepLines: false + })); + for (var i = edits.length - 1; i >= 0; i--) { + var edit2 = edits[i]; + newText = applyEdit(newText, edit2); + begin = Math.min(begin, edit2.offset); + end = Math.max(end, edit2.offset + edit2.length); + end += edit2.content.length - edit2.length; + } + var editLength = text.length - (newText.length - end) - begin; + return [{ + offset: begin, + length: editLength, + content: newText.substring(begin, end) + }]; +} +function applyEdit(text, edit) { + return text.substring(0, edit.offset) + edit.content + text.substring(edit.offset + edit.length); +} +var createScanner2 = exports.createScanner = createScanner; +var ScanError; +(function (ScanError2) { + ScanError2[ScanError2["None"] = 0] = "None"; + ScanError2[ScanError2["UnexpectedEndOfComment"] = 1] = "UnexpectedEndOfComment"; + ScanError2[ScanError2["UnexpectedEndOfString"] = 2] = "UnexpectedEndOfString"; + ScanError2[ScanError2["UnexpectedEndOfNumber"] = 3] = "UnexpectedEndOfNumber"; + ScanError2[ScanError2["InvalidUnicode"] = 4] = "InvalidUnicode"; + ScanError2[ScanError2["InvalidEscapeCharacter"] = 5] = "InvalidEscapeCharacter"; + ScanError2[ScanError2["InvalidCharacter"] = 6] = "InvalidCharacter"; +})(ScanError || (exports.ScanError = ScanError = {})); +var SyntaxKind; +(function (SyntaxKind2) { + SyntaxKind2[SyntaxKind2["OpenBraceToken"] = 1] = "OpenBraceToken"; + SyntaxKind2[SyntaxKind2["CloseBraceToken"] = 2] = "CloseBraceToken"; + SyntaxKind2[SyntaxKind2["OpenBracketToken"] = 3] = "OpenBracketToken"; + SyntaxKind2[SyntaxKind2["CloseBracketToken"] = 4] = "CloseBracketToken"; + SyntaxKind2[SyntaxKind2["CommaToken"] = 5] = "CommaToken"; + SyntaxKind2[SyntaxKind2["ColonToken"] = 6] = "ColonToken"; + SyntaxKind2[SyntaxKind2["NullKeyword"] = 7] = "NullKeyword"; + SyntaxKind2[SyntaxKind2["TrueKeyword"] = 8] = "TrueKeyword"; + SyntaxKind2[SyntaxKind2["FalseKeyword"] = 9] = "FalseKeyword"; + SyntaxKind2[SyntaxKind2["StringLiteral"] = 10] = "StringLiteral"; + SyntaxKind2[SyntaxKind2["NumericLiteral"] = 11] = "NumericLiteral"; + SyntaxKind2[SyntaxKind2["LineCommentTrivia"] = 12] = "LineCommentTrivia"; + SyntaxKind2[SyntaxKind2["BlockCommentTrivia"] = 13] = "BlockCommentTrivia"; + SyntaxKind2[SyntaxKind2["LineBreakTrivia"] = 14] = "LineBreakTrivia"; + SyntaxKind2[SyntaxKind2["Trivia"] = 15] = "Trivia"; + SyntaxKind2[SyntaxKind2["Unknown"] = 16] = "Unknown"; + SyntaxKind2[SyntaxKind2["EOF"] = 17] = "EOF"; +})(SyntaxKind || (exports.SyntaxKind = SyntaxKind = {})); +var getLocation2 = exports.getLocation = getLocation; +var parse2 = exports.parse = parse; +var parseTree2 = exports.parseTree = parseTree; +var findNodeAtLocation2 = exports.findNodeAtLocation = findNodeAtLocation; +var findNodeAtOffset2 = exports.findNodeAtOffset = findNodeAtOffset; +var getNodePath2 = exports.getNodePath = getNodePath; +var getNodeValue2 = exports.getNodeValue = getNodeValue; +var visit2 = exports.visit = visit; +var stripComments2 = exports.stripComments = stripComments; +var ParseErrorCode; +(function (ParseErrorCode2) { + ParseErrorCode2[ParseErrorCode2["InvalidSymbol"] = 1] = "InvalidSymbol"; + ParseErrorCode2[ParseErrorCode2["InvalidNumberFormat"] = 2] = "InvalidNumberFormat"; + ParseErrorCode2[ParseErrorCode2["PropertyNameExpected"] = 3] = "PropertyNameExpected"; + ParseErrorCode2[ParseErrorCode2["ValueExpected"] = 4] = "ValueExpected"; + ParseErrorCode2[ParseErrorCode2["ColonExpected"] = 5] = "ColonExpected"; + ParseErrorCode2[ParseErrorCode2["CommaExpected"] = 6] = "CommaExpected"; + ParseErrorCode2[ParseErrorCode2["CloseBraceExpected"] = 7] = "CloseBraceExpected"; + ParseErrorCode2[ParseErrorCode2["CloseBracketExpected"] = 8] = "CloseBracketExpected"; + ParseErrorCode2[ParseErrorCode2["EndOfFileExpected"] = 9] = "EndOfFileExpected"; + ParseErrorCode2[ParseErrorCode2["InvalidCommentToken"] = 10] = "InvalidCommentToken"; + ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfComment"] = 11] = "UnexpectedEndOfComment"; + ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfString"] = 12] = "UnexpectedEndOfString"; + ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfNumber"] = 13] = "UnexpectedEndOfNumber"; + ParseErrorCode2[ParseErrorCode2["InvalidUnicode"] = 14] = "InvalidUnicode"; + ParseErrorCode2[ParseErrorCode2["InvalidEscapeCharacter"] = 15] = "InvalidEscapeCharacter"; + ParseErrorCode2[ParseErrorCode2["InvalidCharacter"] = 16] = "InvalidCharacter"; +})(ParseErrorCode || (exports.ParseErrorCode = ParseErrorCode = {})); +function printParseErrorCode(code) { + switch (code) { + case 1: + return "InvalidSymbol"; + case 2: + return "InvalidNumberFormat"; + case 3: + return "PropertyNameExpected"; + case 4: + return "ValueExpected"; + case 5: + return "ColonExpected"; + case 6: + return "CommaExpected"; + case 7: + return "CloseBraceExpected"; + case 8: + return "CloseBracketExpected"; + case 9: + return "EndOfFileExpected"; + case 10: + return "InvalidCommentToken"; + case 11: + return "UnexpectedEndOfComment"; + case 12: + return "UnexpectedEndOfString"; + case 13: + return "UnexpectedEndOfNumber"; + case 14: + return "InvalidUnicode"; + case 15: + return "InvalidEscapeCharacter"; + case 16: + return "InvalidCharacter"; + } + return ""; +} +function format2(documentText, range, options) { + return format(documentText, range, options); +} +function modify(text, path, value, options) { + return setProperty(text, path, value, options); +} +function applyEdits(text, edits) { + var sortedEdits = edits.slice(0).sort(function (a, b) { + var diff = a.offset - b.offset; + if (diff === 0) { + return a.length - b.length; + } + return diff; + }); + var lastModifiedOffset = text.length; + for (var i = sortedEdits.length - 1; i >= 0; i--) { + var e = sortedEdits[i]; + if (e.offset + e.length <= lastModifiedOffset) { + text = applyEdit(text, e); + } else { + throw new Error("Overlapping edit"); + } + lastModifiedOffset = e.offset; + } + return text; +} \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/cjs/formats/yaml.js b/node_modules/i18next-fs-backend/cjs/formats/yaml.js new file mode 100644 index 00000000..2ae7e5a5 --- /dev/null +++ b/node_modules/i18next-fs-backend/cjs/formats/yaml.js @@ -0,0 +1,2703 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.types = exports.safeLoadAll = exports.safeLoad = exports.safeDump = exports.loadAll = exports.load = exports.dump = exports.default = exports.YAMLException = exports.Type = exports.Schema = exports.JSON_SCHEMA = exports.FAILSAFE_SCHEMA = exports.DEFAULT_SCHEMA = exports.CORE_SCHEMA = void 0; +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ +function isNothing(subject) { + return typeof subject === 'undefined' || subject === null; +} +function isObject(subject) { + return _typeof(subject) === 'object' && subject !== null; +} +function toArray(sequence) { + if (Array.isArray(sequence)) return sequence;else if (isNothing(sequence)) return []; + return [sequence]; +} +function extend(target, source) { + var index, length, key, sourceKeys; + if (source) { + sourceKeys = Object.keys(source); + for (index = 0, length = sourceKeys.length; index < length; index += 1) { + key = sourceKeys[index]; + target[key] = source[key]; + } + } + return target; +} +function repeat(string, count) { + var result = '', + cycle; + for (cycle = 0; cycle < count; cycle += 1) { + result += string; + } + return result; +} +function isNegativeZero(number) { + return number === 0 && Number.NEGATIVE_INFINITY === 1 / number; +} +var isNothing_1 = isNothing; +var isObject_1 = isObject; +var toArray_1 = toArray; +var repeat_1 = repeat; +var isNegativeZero_1 = isNegativeZero; +var extend_1 = extend; +var common = { + isNothing: isNothing_1, + isObject: isObject_1, + toArray: toArray_1, + repeat: repeat_1, + isNegativeZero: isNegativeZero_1, + extend: extend_1 +}; +function formatError(exception, compact) { + var where = '', + message = exception.reason || '(unknown reason)'; + if (!exception.mark) return message; + if (exception.mark.name) { + where += 'in "' + exception.mark.name + '" '; + } + where += '(' + (exception.mark.line + 1) + ':' + (exception.mark.column + 1) + ')'; + if (!compact && exception.mark.snippet) { + where += '\n\n' + exception.mark.snippet; + } + return message + ' ' + where; +} +function YAMLException$1(reason, mark) { + Error.call(this); + this.name = 'YAMLException'; + this.reason = reason; + this.mark = mark; + this.message = formatError(this, false); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } else { + this.stack = new Error().stack || ''; + } +} +YAMLException$1.prototype = Object.create(Error.prototype); +YAMLException$1.prototype.constructor = YAMLException$1; +YAMLException$1.prototype.toString = function toString(compact) { + return this.name + ': ' + formatError(this, compact); +}; +var exception = YAMLException$1; +function getLine(buffer, lineStart, lineEnd, position, maxLineLength) { + var head = ''; + var tail = ''; + var maxHalfLength = Math.floor(maxLineLength / 2) - 1; + if (position - lineStart > maxHalfLength) { + head = ' ... '; + lineStart = position - maxHalfLength + head.length; + } + if (lineEnd - position > maxHalfLength) { + tail = ' ...'; + lineEnd = position + maxHalfLength - tail.length; + } + return { + str: head + buffer.slice(lineStart, lineEnd).replace(/\t/g, '→') + tail, + pos: position - lineStart + head.length + }; +} +function padStart(string, max) { + return common.repeat(' ', max - string.length) + string; +} +function makeSnippet(mark, options) { + options = Object.create(options || null); + if (!mark.buffer) return null; + if (!options.maxLength) options.maxLength = 79; + if (typeof options.indent !== 'number') options.indent = 1; + if (typeof options.linesBefore !== 'number') options.linesBefore = 3; + if (typeof options.linesAfter !== 'number') options.linesAfter = 2; + var re = /\r?\n|\r|\0/g; + var lineStarts = [0]; + var lineEnds = []; + var match; + var foundLineNo = -1; + while (match = re.exec(mark.buffer)) { + lineEnds.push(match.index); + lineStarts.push(match.index + match[0].length); + if (mark.position <= match.index && foundLineNo < 0) { + foundLineNo = lineStarts.length - 2; + } + } + if (foundLineNo < 0) foundLineNo = lineStarts.length - 1; + var result = '', + i, + line; + var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length; + var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3); + for (i = 1; i <= options.linesBefore; i++) { + if (foundLineNo - i < 0) break; + line = getLine(mark.buffer, lineStarts[foundLineNo - i], lineEnds[foundLineNo - i], mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]), maxLineLength); + result = common.repeat(' ', options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + ' | ' + line.str + '\n' + result; + } + line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength); + result += common.repeat(' ', options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + ' | ' + line.str + '\n'; + result += common.repeat('-', options.indent + lineNoLength + 3 + line.pos) + '^' + '\n'; + for (i = 1; i <= options.linesAfter; i++) { + if (foundLineNo + i >= lineEnds.length) break; + line = getLine(mark.buffer, lineStarts[foundLineNo + i], lineEnds[foundLineNo + i], mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]), maxLineLength); + result += common.repeat(' ', options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + ' | ' + line.str + '\n'; + } + return result.replace(/\n$/, ''); +} +var snippet = makeSnippet; +var TYPE_CONSTRUCTOR_OPTIONS = ['kind', 'multi', 'resolve', 'construct', 'instanceOf', 'predicate', 'represent', 'representName', 'defaultStyle', 'styleAliases']; +var YAML_NODE_KINDS = ['scalar', 'sequence', 'mapping']; +function compileStyleAliases(map) { + var result = {}; + if (map !== null) { + Object.keys(map).forEach(function (style) { + map[style].forEach(function (alias) { + result[String(alias)] = style; + }); + }); + } + return result; +} +function Type$1(tag, options) { + options = options || {}; + Object.keys(options).forEach(function (name) { + if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { + throw new exception('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); + } + }); + this.options = options; + this.tag = tag; + this.kind = options['kind'] || null; + this.resolve = options['resolve'] || function () { + return true; + }; + this.construct = options['construct'] || function (data) { + return data; + }; + this.instanceOf = options['instanceOf'] || null; + this.predicate = options['predicate'] || null; + this.represent = options['represent'] || null; + this.representName = options['representName'] || null; + this.defaultStyle = options['defaultStyle'] || null; + this.multi = options['multi'] || false; + this.styleAliases = compileStyleAliases(options['styleAliases'] || null); + if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { + throw new exception('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); + } +} +var type = Type$1; +function compileList(schema, name) { + var result = []; + schema[name].forEach(function (currentType) { + var newIndex = result.length; + result.forEach(function (previousType, previousIndex) { + if (previousType.tag === currentType.tag && previousType.kind === currentType.kind && previousType.multi === currentType.multi) { + newIndex = previousIndex; + } + }); + result[newIndex] = currentType; + }); + return result; +} +function compileMap() { + var result = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {}, + multi: { + scalar: [], + sequence: [], + mapping: [], + fallback: [] + } + }, + index, + length; + function collectType(type) { + if (type.multi) { + result.multi[type.kind].push(type); + result.multi['fallback'].push(type); + } else { + result[type.kind][type.tag] = result['fallback'][type.tag] = type; + } + } + for (index = 0, length = arguments.length; index < length; index += 1) { + arguments[index].forEach(collectType); + } + return result; +} +function Schema$1(definition) { + return this.extend(definition); +} +Schema$1.prototype.extend = function extend(definition) { + var implicit = []; + var explicit = []; + if (definition instanceof type) { + explicit.push(definition); + } else if (Array.isArray(definition)) { + explicit = explicit.concat(definition); + } else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) { + if (definition.implicit) implicit = implicit.concat(definition.implicit); + if (definition.explicit) explicit = explicit.concat(definition.explicit); + } else { + throw new exception('Schema.extend argument should be a Type, [ Type ], ' + 'or a schema definition ({ implicit: [...], explicit: [...] })'); + } + implicit.forEach(function (type$1) { + if (!(type$1 instanceof type)) { + throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + if (type$1.loadKind && type$1.loadKind !== 'scalar') { + throw new exception('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); + } + if (type$1.multi) { + throw new exception('There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.'); + } + }); + explicit.forEach(function (type$1) { + if (!(type$1 instanceof type)) { + throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + }); + var result = Object.create(Schema$1.prototype); + result.implicit = (this.implicit || []).concat(implicit); + result.explicit = (this.explicit || []).concat(explicit); + result.compiledImplicit = compileList(result, 'implicit'); + result.compiledExplicit = compileList(result, 'explicit'); + result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit); + return result; +}; +var schema = Schema$1; +var str = new type('tag:yaml.org,2002:str', { + kind: 'scalar', + construct: function construct(data) { + return data !== null ? data : ''; + } +}); +var seq = new type('tag:yaml.org,2002:seq', { + kind: 'sequence', + construct: function construct(data) { + return data !== null ? data : []; + } +}); +var map = new type('tag:yaml.org,2002:map', { + kind: 'mapping', + construct: function construct(data) { + return data !== null ? data : {}; + } +}); +var failsafe = new schema({ + explicit: [str, seq, map] +}); +function resolveYamlNull(data) { + if (data === null) return true; + var max = data.length; + return max === 1 && data === '~' || max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'); +} +function constructYamlNull() { + return null; +} +function isNull(object) { + return object === null; +} +var _null = new type('tag:yaml.org,2002:null', { + kind: 'scalar', + resolve: resolveYamlNull, + construct: constructYamlNull, + predicate: isNull, + represent: { + canonical: function canonical() { + return '~'; + }, + lowercase: function lowercase() { + return 'null'; + }, + uppercase: function uppercase() { + return 'NULL'; + }, + camelcase: function camelcase() { + return 'Null'; + }, + empty: function empty() { + return ''; + } + }, + defaultStyle: 'lowercase' +}); +function resolveYamlBoolean(data) { + if (data === null) return false; + var max = data.length; + return max === 4 && (data === 'true' || data === 'True' || data === 'TRUE') || max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'); +} +function constructYamlBoolean(data) { + return data === 'true' || data === 'True' || data === 'TRUE'; +} +function isBoolean(object) { + return Object.prototype.toString.call(object) === '[object Boolean]'; +} +var bool = new type('tag:yaml.org,2002:bool', { + kind: 'scalar', + resolve: resolveYamlBoolean, + construct: constructYamlBoolean, + predicate: isBoolean, + represent: { + lowercase: function lowercase(object) { + return object ? 'true' : 'false'; + }, + uppercase: function uppercase(object) { + return object ? 'TRUE' : 'FALSE'; + }, + camelcase: function camelcase(object) { + return object ? 'True' : 'False'; + } + }, + defaultStyle: 'lowercase' +}); +function isHexCode(c) { + return 0x30 <= c && c <= 0x39 || 0x41 <= c && c <= 0x46 || 0x61 <= c && c <= 0x66; +} +function isOctCode(c) { + return 0x30 <= c && c <= 0x37; +} +function isDecCode(c) { + return 0x30 <= c && c <= 0x39; +} +function resolveYamlInteger(data) { + if (data === null) return false; + var max = data.length, + index = 0, + hasDigits = false, + ch; + if (!max) return false; + ch = data[index]; + if (ch === '-' || ch === '+') { + ch = data[++index]; + } + if (ch === '0') { + if (index + 1 === max) return true; + ch = data[++index]; + if (ch === 'b') { + index++; + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch !== '0' && ch !== '1') return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + if (ch === 'x') { + index++; + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isHexCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + if (ch === 'o') { + index++; + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isOctCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + } + if (ch === '_') return false; + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isDecCode(data.charCodeAt(index))) { + return false; + } + hasDigits = true; + } + if (!hasDigits || ch === '_') return false; + return true; +} +function constructYamlInteger(data) { + var value = data, + sign = 1, + ch; + if (value.indexOf('_') !== -1) { + value = value.replace(/_/g, ''); + } + ch = value[0]; + if (ch === '-' || ch === '+') { + if (ch === '-') sign = -1; + value = value.slice(1); + ch = value[0]; + } + if (value === '0') return 0; + if (ch === '0') { + if (value[1] === 'b') return sign * parseInt(value.slice(2), 2); + if (value[1] === 'x') return sign * parseInt(value.slice(2), 16); + if (value[1] === 'o') return sign * parseInt(value.slice(2), 8); + } + return sign * parseInt(value, 10); +} +function isInteger(object) { + return Object.prototype.toString.call(object) === '[object Number]' && object % 1 === 0 && !common.isNegativeZero(object); +} +var int = new type('tag:yaml.org,2002:int', { + kind: 'scalar', + resolve: resolveYamlInteger, + construct: constructYamlInteger, + predicate: isInteger, + represent: { + binary: function binary(obj) { + return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); + }, + octal: function octal(obj) { + return obj >= 0 ? '0o' + obj.toString(8) : '-0o' + obj.toString(8).slice(1); + }, + decimal: function decimal(obj) { + return obj.toString(10); + }, + hexadecimal: function hexadecimal(obj) { + return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); + } + }, + defaultStyle: 'decimal', + styleAliases: { + binary: [2, 'bin'], + octal: [8, 'oct'], + decimal: [10, 'dec'], + hexadecimal: [16, 'hex'] + } +}); +var YAML_FLOAT_PATTERN = new RegExp('^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' + '|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' + '|[-+]?\\.(?:inf|Inf|INF)' + '|\\.(?:nan|NaN|NAN))$'); +function resolveYamlFloat(data) { + if (data === null) return false; + if (!YAML_FLOAT_PATTERN.test(data) || data[data.length - 1] === '_') { + return false; + } + return true; +} +function constructYamlFloat(data) { + var value, sign; + value = data.replace(/_/g, '').toLowerCase(); + sign = value[0] === '-' ? -1 : 1; + if ('+-'.indexOf(value[0]) >= 0) { + value = value.slice(1); + } + if (value === '.inf') { + return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + } else if (value === '.nan') { + return NaN; + } + return sign * parseFloat(value, 10); +} +var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; +function representYamlFloat(object, style) { + var res; + if (isNaN(object)) { + switch (style) { + case 'lowercase': + return '.nan'; + case 'uppercase': + return '.NAN'; + case 'camelcase': + return '.NaN'; + } + } else if (Number.POSITIVE_INFINITY === object) { + switch (style) { + case 'lowercase': + return '.inf'; + case 'uppercase': + return '.INF'; + case 'camelcase': + return '.Inf'; + } + } else if (Number.NEGATIVE_INFINITY === object) { + switch (style) { + case 'lowercase': + return '-.inf'; + case 'uppercase': + return '-.INF'; + case 'camelcase': + return '-.Inf'; + } + } else if (common.isNegativeZero(object)) { + return '-0.0'; + } + res = object.toString(10); + return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res; +} +function isFloat(object) { + return Object.prototype.toString.call(object) === '[object Number]' && (object % 1 !== 0 || common.isNegativeZero(object)); +} +var float = new type('tag:yaml.org,2002:float', { + kind: 'scalar', + resolve: resolveYamlFloat, + construct: constructYamlFloat, + predicate: isFloat, + represent: representYamlFloat, + defaultStyle: 'lowercase' +}); +var json = failsafe.extend({ + implicit: [_null, bool, int, float] +}); +var core = json; +var YAML_DATE_REGEXP = new RegExp('^([0-9][0-9][0-9][0-9])' + '-([0-9][0-9])' + '-([0-9][0-9])$'); +var YAML_TIMESTAMP_REGEXP = new RegExp('^([0-9][0-9][0-9][0-9])' + '-([0-9][0-9]?)' + '-([0-9][0-9]?)' + '(?:[Tt]|[ \\t]+)' + '([0-9][0-9]?)' + ':([0-9][0-9])' + ':([0-9][0-9])' + '(?:\\.([0-9]*))?' + '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + '(?::([0-9][0-9]))?))?$'); +function resolveYamlTimestamp(data) { + if (data === null) return false; + if (YAML_DATE_REGEXP.exec(data) !== null) return true; + if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; + return false; +} +function constructYamlTimestamp(data) { + var match, + year, + month, + day, + hour, + minute, + second, + fraction = 0, + delta = null, + tz_hour, + tz_minute, + date; + match = YAML_DATE_REGEXP.exec(data); + if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); + if (match === null) throw new Error('Date resolve error'); + year = +match[1]; + month = +match[2] - 1; + day = +match[3]; + if (!match[4]) { + return new Date(Date.UTC(year, month, day)); + } + hour = +match[4]; + minute = +match[5]; + second = +match[6]; + if (match[7]) { + fraction = match[7].slice(0, 3); + while (fraction.length < 3) { + fraction += '0'; + } + fraction = +fraction; + } + if (match[9]) { + tz_hour = +match[10]; + tz_minute = +(match[11] || 0); + delta = (tz_hour * 60 + tz_minute) * 60000; + if (match[9] === '-') delta = -delta; + } + date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); + if (delta) date.setTime(date.getTime() - delta); + return date; +} +function representYamlTimestamp(object) { + return object.toISOString(); +} +var timestamp = new type('tag:yaml.org,2002:timestamp', { + kind: 'scalar', + resolve: resolveYamlTimestamp, + construct: constructYamlTimestamp, + instanceOf: Date, + represent: representYamlTimestamp +}); +function resolveYamlMerge(data) { + return data === '<<' || data === null; +} +var merge = new type('tag:yaml.org,2002:merge', { + kind: 'scalar', + resolve: resolveYamlMerge +}); +var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r'; +function resolveYamlBinary(data) { + if (data === null) return false; + var code, + idx, + bitlen = 0, + max = data.length, + map = BASE64_MAP; + for (idx = 0; idx < max; idx++) { + code = map.indexOf(data.charAt(idx)); + if (code > 64) continue; + if (code < 0) return false; + bitlen += 6; + } + return bitlen % 8 === 0; +} +function constructYamlBinary(data) { + var idx, + tailbits, + input = data.replace(/[\r\n=]/g, ''), + max = input.length, + map = BASE64_MAP, + bits = 0, + result = []; + for (idx = 0; idx < max; idx++) { + if (idx % 4 === 0 && idx) { + result.push(bits >> 16 & 0xFF); + result.push(bits >> 8 & 0xFF); + result.push(bits & 0xFF); + } + bits = bits << 6 | map.indexOf(input.charAt(idx)); + } + tailbits = max % 4 * 6; + if (tailbits === 0) { + result.push(bits >> 16 & 0xFF); + result.push(bits >> 8 & 0xFF); + result.push(bits & 0xFF); + } else if (tailbits === 18) { + result.push(bits >> 10 & 0xFF); + result.push(bits >> 2 & 0xFF); + } else if (tailbits === 12) { + result.push(bits >> 4 & 0xFF); + } + return new Uint8Array(result); +} +function representYamlBinary(object) { + var result = '', + bits = 0, + idx, + tail, + max = object.length, + map = BASE64_MAP; + for (idx = 0; idx < max; idx++) { + if (idx % 3 === 0 && idx) { + result += map[bits >> 18 & 0x3F]; + result += map[bits >> 12 & 0x3F]; + result += map[bits >> 6 & 0x3F]; + result += map[bits & 0x3F]; + } + bits = (bits << 8) + object[idx]; + } + tail = max % 3; + if (tail === 0) { + result += map[bits >> 18 & 0x3F]; + result += map[bits >> 12 & 0x3F]; + result += map[bits >> 6 & 0x3F]; + result += map[bits & 0x3F]; + } else if (tail === 2) { + result += map[bits >> 10 & 0x3F]; + result += map[bits >> 4 & 0x3F]; + result += map[bits << 2 & 0x3F]; + result += map[64]; + } else if (tail === 1) { + result += map[bits >> 2 & 0x3F]; + result += map[bits << 4 & 0x3F]; + result += map[64]; + result += map[64]; + } + return result; +} +function isBinary(obj) { + return Object.prototype.toString.call(obj) === '[object Uint8Array]'; +} +var binary = new type('tag:yaml.org,2002:binary', { + kind: 'scalar', + resolve: resolveYamlBinary, + construct: constructYamlBinary, + predicate: isBinary, + represent: representYamlBinary +}); +var _hasOwnProperty$3 = Object.prototype.hasOwnProperty; +var _toString$2 = Object.prototype.toString; +function resolveYamlOmap(data) { + if (data === null) return true; + var objectKeys = [], + index, + length, + pair, + pairKey, + pairHasKey, + object = data; + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + pairHasKey = false; + if (_toString$2.call(pair) !== '[object Object]') return false; + for (pairKey in pair) { + if (_hasOwnProperty$3.call(pair, pairKey)) { + if (!pairHasKey) pairHasKey = true;else return false; + } + } + if (!pairHasKey) return false; + if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);else return false; + } + return true; +} +function constructYamlOmap(data) { + return data !== null ? data : []; +} +var omap = new type('tag:yaml.org,2002:omap', { + kind: 'sequence', + resolve: resolveYamlOmap, + construct: constructYamlOmap +}); +var _toString$1 = Object.prototype.toString; +function resolveYamlPairs(data) { + if (data === null) return true; + var index, + length, + pair, + keys, + result, + object = data; + result = new Array(object.length); + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + if (_toString$1.call(pair) !== '[object Object]') return false; + keys = Object.keys(pair); + if (keys.length !== 1) return false; + result[index] = [keys[0], pair[keys[0]]]; + } + return true; +} +function constructYamlPairs(data) { + if (data === null) return []; + var index, + length, + pair, + keys, + result, + object = data; + result = new Array(object.length); + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + keys = Object.keys(pair); + result[index] = [keys[0], pair[keys[0]]]; + } + return result; +} +var pairs = new type('tag:yaml.org,2002:pairs', { + kind: 'sequence', + resolve: resolveYamlPairs, + construct: constructYamlPairs +}); +var _hasOwnProperty$2 = Object.prototype.hasOwnProperty; +function resolveYamlSet(data) { + if (data === null) return true; + var key, + object = data; + for (key in object) { + if (_hasOwnProperty$2.call(object, key)) { + if (object[key] !== null) return false; + } + } + return true; +} +function constructYamlSet(data) { + return data !== null ? data : {}; +} +var set = new type('tag:yaml.org,2002:set', { + kind: 'mapping', + resolve: resolveYamlSet, + construct: constructYamlSet +}); +var _default = core.extend({ + implicit: [timestamp, merge], + explicit: [binary, omap, pairs, set] +}); +var _hasOwnProperty$1 = Object.prototype.hasOwnProperty; +var CONTEXT_FLOW_IN = 1; +var CONTEXT_FLOW_OUT = 2; +var CONTEXT_BLOCK_IN = 3; +var CONTEXT_BLOCK_OUT = 4; +var CHOMPING_CLIP = 1; +var CHOMPING_STRIP = 2; +var CHOMPING_KEEP = 3; +var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; +var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; +var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; +var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; +function _class(obj) { + return Object.prototype.toString.call(obj); +} +function is_EOL(c) { + return c === 0x0A || c === 0x0D; +} +function is_WHITE_SPACE(c) { + return c === 0x09 || c === 0x20; +} +function is_WS_OR_EOL(c) { + return c === 0x09 || c === 0x20 || c === 0x0A || c === 0x0D; +} +function is_FLOW_INDICATOR(c) { + return c === 0x2C || c === 0x5B || c === 0x5D || c === 0x7B || c === 0x7D; +} +function fromHexCode(c) { + var lc; + if (0x30 <= c && c <= 0x39) { + return c - 0x30; + } + lc = c | 0x20; + if (0x61 <= lc && lc <= 0x66) { + return lc - 0x61 + 10; + } + return -1; +} +function escapedHexLen(c) { + if (c === 0x78) { + return 2; + } + if (c === 0x75) { + return 4; + } + if (c === 0x55) { + return 8; + } + return 0; +} +function fromDecimalCode(c) { + if (0x30 <= c && c <= 0x39) { + return c - 0x30; + } + return -1; +} +function simpleEscapeSequence(c) { + return c === 0x30 ? '\x00' : c === 0x61 ? '\x07' : c === 0x62 ? '\x08' : c === 0x74 ? '\x09' : c === 0x09 ? '\x09' : c === 0x6E ? '\x0A' : c === 0x76 ? '\x0B' : c === 0x66 ? '\x0C' : c === 0x72 ? '\x0D' : c === 0x65 ? '\x1B' : c === 0x20 ? ' ' : c === 0x22 ? '\x22' : c === 0x2F ? '/' : c === 0x5C ? '\x5C' : c === 0x4E ? '\x85' : c === 0x5F ? '\xA0' : c === 0x4C ? "\u2028" : c === 0x50 ? "\u2029" : ''; +} +function charFromCodepoint(c) { + if (c <= 0xFFFF) { + return String.fromCharCode(c); + } + return String.fromCharCode((c - 0x010000 >> 10) + 0xD800, (c - 0x010000 & 0x03FF) + 0xDC00); +} +var simpleEscapeCheck = new Array(256); +var simpleEscapeMap = new Array(256); +for (var i = 0; i < 256; i++) { + simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; + simpleEscapeMap[i] = simpleEscapeSequence(i); +} +function State$1(input, options) { + this.input = input; + this.filename = options['filename'] || null; + this.schema = options['schema'] || _default; + this.onWarning = options['onWarning'] || null; + this.legacy = options['legacy'] || false; + this.json = options['json'] || false; + this.listener = options['listener'] || null; + this.implicitTypes = this.schema.compiledImplicit; + this.typeMap = this.schema.compiledTypeMap; + this.length = input.length; + this.position = 0; + this.line = 0; + this.lineStart = 0; + this.lineIndent = 0; + this.firstTabInLine = -1; + this.documents = []; +} +function generateError(state, message) { + var mark = { + name: state.filename, + buffer: state.input.slice(0, -1), + position: state.position, + line: state.line, + column: state.position - state.lineStart + }; + mark.snippet = snippet(mark); + return new exception(message, mark); +} +function throwError(state, message) { + throw generateError(state, message); +} +function throwWarning(state, message) { + if (state.onWarning) { + state.onWarning.call(null, generateError(state, message)); + } +} +var directiveHandlers = { + YAML: function handleYamlDirective(state, name, args) { + var match, major, minor; + if (state.version !== null) { + throwError(state, 'duplication of %YAML directive'); + } + if (args.length !== 1) { + throwError(state, 'YAML directive accepts exactly one argument'); + } + match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); + if (match === null) { + throwError(state, 'ill-formed argument of the YAML directive'); + } + major = parseInt(match[1], 10); + minor = parseInt(match[2], 10); + if (major !== 1) { + throwError(state, 'unacceptable YAML version of the document'); + } + state.version = args[0]; + state.checkLineBreaks = minor < 2; + if (minor !== 1 && minor !== 2) { + throwWarning(state, 'unsupported YAML version of the document'); + } + }, + TAG: function handleTagDirective(state, name, args) { + var handle, prefix; + if (args.length !== 2) { + throwError(state, 'TAG directive accepts exactly two arguments'); + } + handle = args[0]; + prefix = args[1]; + if (!PATTERN_TAG_HANDLE.test(handle)) { + throwError(state, 'ill-formed tag handle (first argument) of the TAG directive'); + } + if (_hasOwnProperty$1.call(state.tagMap, handle)) { + throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); + } + if (!PATTERN_TAG_URI.test(prefix)) { + throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive'); + } + try { + prefix = decodeURIComponent(prefix); + } catch (err) { + throwError(state, 'tag prefix is malformed: ' + prefix); + } + state.tagMap[handle] = prefix; + } +}; +function captureSegment(state, start, end, checkJson) { + var _position, _length, _character, _result; + if (start < end) { + _result = state.input.slice(start, end); + if (checkJson) { + for (_position = 0, _length = _result.length; _position < _length; _position += 1) { + _character = _result.charCodeAt(_position); + if (!(_character === 0x09 || 0x20 <= _character && _character <= 0x10FFFF)) { + throwError(state, 'expected valid JSON character'); + } + } + } else if (PATTERN_NON_PRINTABLE.test(_result)) { + throwError(state, 'the stream contains non-printable characters'); + } + state.result += _result; + } +} +function mergeMappings(state, destination, source, overridableKeys) { + var sourceKeys, key, index, quantity; + if (!common.isObject(source)) { + throwError(state, 'cannot merge mappings; the provided source object is unacceptable'); + } + sourceKeys = Object.keys(source); + for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { + key = sourceKeys[index]; + if (!_hasOwnProperty$1.call(destination, key)) { + destination[key] = source[key]; + overridableKeys[key] = true; + } + } +} +function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startLineStart, startPos) { + var index, quantity; + if (Array.isArray(keyNode)) { + keyNode = Array.prototype.slice.call(keyNode); + for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { + if (Array.isArray(keyNode[index])) { + throwError(state, 'nested arrays are not supported inside keys'); + } + if (_typeof(keyNode) === 'object' && _class(keyNode[index]) === '[object Object]') { + keyNode[index] = '[object Object]'; + } + } + } + if (_typeof(keyNode) === 'object' && _class(keyNode) === '[object Object]') { + keyNode = '[object Object]'; + } + keyNode = String(keyNode); + if (_result === null) { + _result = {}; + } + if (keyTag === 'tag:yaml.org,2002:merge') { + if (Array.isArray(valueNode)) { + for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { + mergeMappings(state, _result, valueNode[index], overridableKeys); + } + } else { + mergeMappings(state, _result, valueNode, overridableKeys); + } + } else { + if (!state.json && !_hasOwnProperty$1.call(overridableKeys, keyNode) && _hasOwnProperty$1.call(_result, keyNode)) { + state.line = startLine || state.line; + state.lineStart = startLineStart || state.lineStart; + state.position = startPos || state.position; + throwError(state, 'duplicated mapping key'); + } + if (keyNode === '__proto__') { + Object.defineProperty(_result, keyNode, { + configurable: true, + enumerable: true, + writable: true, + value: valueNode + }); + } else { + _result[keyNode] = valueNode; + } + delete overridableKeys[keyNode]; + } + return _result; +} +function readLineBreak(state) { + var ch; + ch = state.input.charCodeAt(state.position); + if (ch === 0x0A) { + state.position++; + } else if (ch === 0x0D) { + state.position++; + if (state.input.charCodeAt(state.position) === 0x0A) { + state.position++; + } + } else { + throwError(state, 'a line break is expected'); + } + state.line += 1; + state.lineStart = state.position; + state.firstTabInLine = -1; +} +function skipSeparationSpace(state, allowComments, checkIndent) { + var lineBreaks = 0, + ch = state.input.charCodeAt(state.position); + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + if (ch === 0x09 && state.firstTabInLine === -1) { + state.firstTabInLine = state.position; + } + ch = state.input.charCodeAt(++state.position); + } + if (allowComments && ch === 0x23) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0x0A && ch !== 0x0D && ch !== 0); + } + if (is_EOL(ch)) { + readLineBreak(state); + ch = state.input.charCodeAt(state.position); + lineBreaks++; + state.lineIndent = 0; + while (ch === 0x20) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + } else { + break; + } + } + if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { + throwWarning(state, 'deficient indentation'); + } + return lineBreaks; +} +function testDocumentSeparator(state) { + var _position = state.position, + ch; + ch = state.input.charCodeAt(_position); + if ((ch === 0x2D || ch === 0x2E) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) { + _position += 3; + ch = state.input.charCodeAt(_position); + if (ch === 0 || is_WS_OR_EOL(ch)) { + return true; + } + } + return false; +} +function writeFoldedLines(state, count) { + if (count === 1) { + state.result += ' '; + } else if (count > 1) { + state.result += common.repeat('\n', count - 1); + } +} +function readPlainScalar(state, nodeIndent, withinFlowCollection) { + var preceding, + following, + captureStart, + captureEnd, + hasPendingContent, + _line, + _lineStart, + _lineIndent, + _kind = state.kind, + _result = state.result, + ch; + ch = state.input.charCodeAt(state.position); + if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 0x23 || ch === 0x26 || ch === 0x2A || ch === 0x21 || ch === 0x7C || ch === 0x3E || ch === 0x27 || ch === 0x22 || ch === 0x25 || ch === 0x40 || ch === 0x60) { + return false; + } + if (ch === 0x3F || ch === 0x2D) { + following = state.input.charCodeAt(state.position + 1); + if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) { + return false; + } + } + state.kind = 'scalar'; + state.result = ''; + captureStart = captureEnd = state.position; + hasPendingContent = false; + while (ch !== 0) { + if (ch === 0x3A) { + following = state.input.charCodeAt(state.position + 1); + if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) { + break; + } + } else if (ch === 0x23) { + preceding = state.input.charCodeAt(state.position - 1); + if (is_WS_OR_EOL(preceding)) { + break; + } + } else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && is_FLOW_INDICATOR(ch)) { + break; + } else if (is_EOL(ch)) { + _line = state.line; + _lineStart = state.lineStart; + _lineIndent = state.lineIndent; + skipSeparationSpace(state, false, -1); + if (state.lineIndent >= nodeIndent) { + hasPendingContent = true; + ch = state.input.charCodeAt(state.position); + continue; + } else { + state.position = captureEnd; + state.line = _line; + state.lineStart = _lineStart; + state.lineIndent = _lineIndent; + break; + } + } + if (hasPendingContent) { + captureSegment(state, captureStart, captureEnd, false); + writeFoldedLines(state, state.line - _line); + captureStart = captureEnd = state.position; + hasPendingContent = false; + } + if (!is_WHITE_SPACE(ch)) { + captureEnd = state.position + 1; + } + ch = state.input.charCodeAt(++state.position); + } + captureSegment(state, captureStart, captureEnd, false); + if (state.result) { + return true; + } + state.kind = _kind; + state.result = _result; + return false; +} +function readSingleQuotedScalar(state, nodeIndent) { + var ch, captureStart, captureEnd; + ch = state.input.charCodeAt(state.position); + if (ch !== 0x27) { + return false; + } + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x27) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + if (ch === 0x27) { + captureStart = state.position; + state.position++; + captureEnd = state.position; + } else { + return true; + } + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a single quoted scalar'); + } else { + state.position++; + captureEnd = state.position; + } + } + throwError(state, 'unexpected end of the stream within a single quoted scalar'); +} +function readDoubleQuotedScalar(state, nodeIndent) { + var captureStart, captureEnd, hexLength, hexResult, tmp, ch; + ch = state.input.charCodeAt(state.position); + if (ch !== 0x22) { + return false; + } + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x22) { + captureSegment(state, captureStart, state.position, true); + state.position++; + return true; + } else if (ch === 0x5C) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + if (is_EOL(ch)) { + skipSeparationSpace(state, false, nodeIndent); + } else if (ch < 256 && simpleEscapeCheck[ch]) { + state.result += simpleEscapeMap[ch]; + state.position++; + } else if ((tmp = escapedHexLen(ch)) > 0) { + hexLength = tmp; + hexResult = 0; + for (; hexLength > 0; hexLength--) { + ch = state.input.charCodeAt(++state.position); + if ((tmp = fromHexCode(ch)) >= 0) { + hexResult = (hexResult << 4) + tmp; + } else { + throwError(state, 'expected hexadecimal character'); + } + } + state.result += charFromCodepoint(hexResult); + state.position++; + } else { + throwError(state, 'unknown escape sequence'); + } + captureStart = captureEnd = state.position; + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a double quoted scalar'); + } else { + state.position++; + captureEnd = state.position; + } + } + throwError(state, 'unexpected end of the stream within a double quoted scalar'); +} +function readFlowCollection(state, nodeIndent) { + var readNext = true, + _line, + _lineStart, + _pos, + _tag = state.tag, + _result, + _anchor = state.anchor, + following, + terminator, + isPair, + isExplicitPair, + isMapping, + overridableKeys = Object.create(null), + keyNode, + keyTag, + valueNode, + ch; + ch = state.input.charCodeAt(state.position); + if (ch === 0x5B) { + terminator = 0x5D; + isMapping = false; + _result = []; + } else if (ch === 0x7B) { + terminator = 0x7D; + isMapping = true; + _result = {}; + } else { + return false; + } + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + ch = state.input.charCodeAt(++state.position); + while (ch !== 0) { + skipSeparationSpace(state, true, nodeIndent); + ch = state.input.charCodeAt(state.position); + if (ch === terminator) { + state.position++; + state.tag = _tag; + state.anchor = _anchor; + state.kind = isMapping ? 'mapping' : 'sequence'; + state.result = _result; + return true; + } else if (!readNext) { + throwError(state, 'missed comma between flow collection entries'); + } else if (ch === 0x2C) { + throwError(state, "expected the node content, but found ','"); + } + keyTag = keyNode = valueNode = null; + isPair = isExplicitPair = false; + if (ch === 0x3F) { + following = state.input.charCodeAt(state.position + 1); + if (is_WS_OR_EOL(following)) { + isPair = isExplicitPair = true; + state.position++; + skipSeparationSpace(state, true, nodeIndent); + } + } + _line = state.line; + _lineStart = state.lineStart; + _pos = state.position; + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + keyTag = state.tag; + keyNode = state.result; + skipSeparationSpace(state, true, nodeIndent); + ch = state.input.charCodeAt(state.position); + if ((isExplicitPair || state.line === _line) && ch === 0x3A) { + isPair = true; + ch = state.input.charCodeAt(++state.position); + skipSeparationSpace(state, true, nodeIndent); + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + valueNode = state.result; + } + if (isMapping) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos); + } else if (isPair) { + _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos)); + } else { + _result.push(keyNode); + } + skipSeparationSpace(state, true, nodeIndent); + ch = state.input.charCodeAt(state.position); + if (ch === 0x2C) { + readNext = true; + ch = state.input.charCodeAt(++state.position); + } else { + readNext = false; + } + } + throwError(state, 'unexpected end of the stream within a flow collection'); +} +function readBlockScalar(state, nodeIndent) { + var captureStart, + folding, + chomping = CHOMPING_CLIP, + didReadContent = false, + detectedIndent = false, + textIndent = nodeIndent, + emptyLines = 0, + atMoreIndented = false, + tmp, + ch; + ch = state.input.charCodeAt(state.position); + if (ch === 0x7C) { + folding = false; + } else if (ch === 0x3E) { + folding = true; + } else { + return false; + } + state.kind = 'scalar'; + state.result = ''; + while (ch !== 0) { + ch = state.input.charCodeAt(++state.position); + if (ch === 0x2B || ch === 0x2D) { + if (CHOMPING_CLIP === chomping) { + chomping = ch === 0x2B ? CHOMPING_KEEP : CHOMPING_STRIP; + } else { + throwError(state, 'repeat of a chomping mode identifier'); + } + } else if ((tmp = fromDecimalCode(ch)) >= 0) { + if (tmp === 0) { + throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one'); + } else if (!detectedIndent) { + textIndent = nodeIndent + tmp - 1; + detectedIndent = true; + } else { + throwError(state, 'repeat of an indentation width identifier'); + } + } else { + break; + } + } + if (is_WHITE_SPACE(ch)) { + do { + ch = state.input.charCodeAt(++state.position); + } while (is_WHITE_SPACE(ch)); + if (ch === 0x23) { + do { + ch = state.input.charCodeAt(++state.position); + } while (!is_EOL(ch) && ch !== 0); + } + } + while (ch !== 0) { + readLineBreak(state); + state.lineIndent = 0; + ch = state.input.charCodeAt(state.position); + while ((!detectedIndent || state.lineIndent < textIndent) && ch === 0x20) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + if (!detectedIndent && state.lineIndent > textIndent) { + textIndent = state.lineIndent; + } + if (is_EOL(ch)) { + emptyLines++; + continue; + } + if (state.lineIndent < textIndent) { + if (chomping === CHOMPING_KEEP) { + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } else if (chomping === CHOMPING_CLIP) { + if (didReadContent) { + state.result += '\n'; + } + } + break; + } + if (folding) { + if (is_WHITE_SPACE(ch)) { + atMoreIndented = true; + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } else if (atMoreIndented) { + atMoreIndented = false; + state.result += common.repeat('\n', emptyLines + 1); + } else if (emptyLines === 0) { + if (didReadContent) { + state.result += ' '; + } + } else { + state.result += common.repeat('\n', emptyLines); + } + } else { + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } + didReadContent = true; + detectedIndent = true; + emptyLines = 0; + captureStart = state.position; + while (!is_EOL(ch) && ch !== 0) { + ch = state.input.charCodeAt(++state.position); + } + captureSegment(state, captureStart, state.position, false); + } + return true; +} +function readBlockSequence(state, nodeIndent) { + var _line, + _tag = state.tag, + _anchor = state.anchor, + _result = [], + following, + detected = false, + ch; + if (state.firstTabInLine !== -1) return false; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + ch = state.input.charCodeAt(state.position); + while (ch !== 0) { + if (state.firstTabInLine !== -1) { + state.position = state.firstTabInLine; + throwError(state, 'tab characters must not be used in indentation'); + } + if (ch !== 0x2D) { + break; + } + following = state.input.charCodeAt(state.position + 1); + if (!is_WS_OR_EOL(following)) { + break; + } + detected = true; + state.position++; + if (skipSeparationSpace(state, true, -1)) { + if (state.lineIndent <= nodeIndent) { + _result.push(null); + ch = state.input.charCodeAt(state.position); + continue; + } + } + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); + _result.push(state.result); + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) { + throwError(state, 'bad indentation of a sequence entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'sequence'; + state.result = _result; + return true; + } + return false; +} +function readBlockMapping(state, nodeIndent, flowIndent) { + var following, + allowCompact, + _line, + _keyLine, + _keyLineStart, + _keyPos, + _tag = state.tag, + _anchor = state.anchor, + _result = {}, + overridableKeys = Object.create(null), + keyTag = null, + keyNode = null, + valueNode = null, + atExplicitKey = false, + detected = false, + ch; + if (state.firstTabInLine !== -1) return false; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + ch = state.input.charCodeAt(state.position); + while (ch !== 0) { + if (!atExplicitKey && state.firstTabInLine !== -1) { + state.position = state.firstTabInLine; + throwError(state, 'tab characters must not be used in indentation'); + } + following = state.input.charCodeAt(state.position + 1); + _line = state.line; + if ((ch === 0x3F || ch === 0x3A) && is_WS_OR_EOL(following)) { + if (ch === 0x3F) { + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + detected = true; + atExplicitKey = true; + allowCompact = true; + } else if (atExplicitKey) { + atExplicitKey = false; + allowCompact = true; + } else { + throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'); + } + state.position += 1; + ch = following; + } else { + _keyLine = state.line; + _keyLineStart = state.lineStart; + _keyPos = state.position; + if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { + break; + } + if (state.line === _line) { + ch = state.input.charCodeAt(state.position); + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + if (ch === 0x3A) { + ch = state.input.charCodeAt(++state.position); + if (!is_WS_OR_EOL(ch)) { + throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping'); + } + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + detected = true; + atExplicitKey = false; + allowCompact = false; + keyTag = state.tag; + keyNode = state.result; + } else if (detected) { + throwError(state, 'can not read an implicit mapping pair; a colon is missed'); + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; + } + } else if (detected) { + throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key'); + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; + } + } + if (state.line === _line || state.lineIndent > nodeIndent) { + if (atExplicitKey) { + _keyLine = state.line; + _keyLineStart = state.lineStart; + _keyPos = state.position; + } + if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { + if (atExplicitKey) { + keyNode = state.result; + } else { + valueNode = state.result; + } + } + if (!atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + } + if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) { + throwError(state, 'bad indentation of a mapping entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + } + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'mapping'; + state.result = _result; + } + return detected; +} +function readTagProperty(state) { + var _position, + isVerbatim = false, + isNamed = false, + tagHandle, + tagName, + ch; + ch = state.input.charCodeAt(state.position); + if (ch !== 0x21) return false; + if (state.tag !== null) { + throwError(state, 'duplication of a tag property'); + } + ch = state.input.charCodeAt(++state.position); + if (ch === 0x3C) { + isVerbatim = true; + ch = state.input.charCodeAt(++state.position); + } else if (ch === 0x21) { + isNamed = true; + tagHandle = '!!'; + ch = state.input.charCodeAt(++state.position); + } else { + tagHandle = '!'; + } + _position = state.position; + if (isVerbatim) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0 && ch !== 0x3E); + if (state.position < state.length) { + tagName = state.input.slice(_position, state.position); + ch = state.input.charCodeAt(++state.position); + } else { + throwError(state, 'unexpected end of the stream within a verbatim tag'); + } + } else { + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + if (ch === 0x21) { + if (!isNamed) { + tagHandle = state.input.slice(_position - 1, state.position + 1); + if (!PATTERN_TAG_HANDLE.test(tagHandle)) { + throwError(state, 'named tag handle cannot contain such characters'); + } + isNamed = true; + _position = state.position + 1; + } else { + throwError(state, 'tag suffix cannot contain exclamation marks'); + } + } + ch = state.input.charCodeAt(++state.position); + } + tagName = state.input.slice(_position, state.position); + if (PATTERN_FLOW_INDICATORS.test(tagName)) { + throwError(state, 'tag suffix cannot contain flow indicator characters'); + } + } + if (tagName && !PATTERN_TAG_URI.test(tagName)) { + throwError(state, 'tag name cannot contain such characters: ' + tagName); + } + try { + tagName = decodeURIComponent(tagName); + } catch (err) { + throwError(state, 'tag name is malformed: ' + tagName); + } + if (isVerbatim) { + state.tag = tagName; + } else if (_hasOwnProperty$1.call(state.tagMap, tagHandle)) { + state.tag = state.tagMap[tagHandle] + tagName; + } else if (tagHandle === '!') { + state.tag = '!' + tagName; + } else if (tagHandle === '!!') { + state.tag = 'tag:yaml.org,2002:' + tagName; + } else { + throwError(state, 'undeclared tag handle "' + tagHandle + '"'); + } + return true; +} +function readAnchorProperty(state) { + var _position, ch; + ch = state.input.charCodeAt(state.position); + if (ch !== 0x26) return false; + if (state.anchor !== null) { + throwError(state, 'duplication of an anchor property'); + } + ch = state.input.charCodeAt(++state.position); + _position = state.position; + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + if (state.position === _position) { + throwError(state, 'name of an anchor node must contain at least one character'); + } + state.anchor = state.input.slice(_position, state.position); + return true; +} +function readAlias(state) { + var _position, alias, ch; + ch = state.input.charCodeAt(state.position); + if (ch !== 0x2A) return false; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + if (state.position === _position) { + throwError(state, 'name of an alias node must contain at least one character'); + } + alias = state.input.slice(_position, state.position); + if (!_hasOwnProperty$1.call(state.anchorMap, alias)) { + throwError(state, 'unidentified alias "' + alias + '"'); + } + state.result = state.anchorMap[alias]; + skipSeparationSpace(state, true, -1); + return true; +} +function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { + var allowBlockStyles, + allowBlockScalars, + allowBlockCollections, + indentStatus = 1, + atNewLine = false, + hasContent = false, + typeIndex, + typeQuantity, + typeList, + type, + flowIndent, + blockIndent; + if (state.listener !== null) { + state.listener('open', state); + } + state.tag = null; + state.anchor = null; + state.kind = null; + state.result = null; + allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext; + if (allowToSeek) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } + } + if (indentStatus === 1) { + while (readTagProperty(state) || readAnchorProperty(state)) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + allowBlockCollections = allowBlockStyles; + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } else { + allowBlockCollections = false; + } + } + } + if (allowBlockCollections) { + allowBlockCollections = atNewLine || allowCompact; + } + if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { + if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { + flowIndent = parentIndent; + } else { + flowIndent = parentIndent + 1; + } + blockIndent = state.position - state.lineStart; + if (indentStatus === 1) { + if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) { + hasContent = true; + } else { + if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) { + hasContent = true; + } else if (readAlias(state)) { + hasContent = true; + if (state.tag !== null || state.anchor !== null) { + throwError(state, 'alias node should not have any properties'); + } + } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { + hasContent = true; + if (state.tag === null) { + state.tag = '?'; + } + } + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else if (indentStatus === 0) { + hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); + } + } + if (state.tag === null) { + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } else if (state.tag === '?') { + if (state.result !== null && state.kind !== 'scalar') { + throwError(state, 'unacceptable node kind for ! tag; it should be "scalar", not "' + state.kind + '"'); + } + for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { + type = state.implicitTypes[typeIndex]; + if (type.resolve(state.result)) { + state.result = type.construct(state.result); + state.tag = type.tag; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + break; + } + } + } else if (state.tag !== '!') { + if (_hasOwnProperty$1.call(state.typeMap[state.kind || 'fallback'], state.tag)) { + type = state.typeMap[state.kind || 'fallback'][state.tag]; + } else { + type = null; + typeList = state.typeMap.multi[state.kind || 'fallback']; + for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) { + if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) { + type = typeList[typeIndex]; + break; + } + } + } + if (!type) { + throwError(state, 'unknown tag !<' + state.tag + '>'); + } + if (state.result !== null && type.kind !== state.kind) { + throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"'); + } + if (!type.resolve(state.result, state.tag)) { + throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag'); + } else { + state.result = type.construct(state.result, state.tag); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } + if (state.listener !== null) { + state.listener('close', state); + } + return state.tag !== null || state.anchor !== null || hasContent; +} +function readDocument(state) { + var documentStart = state.position, + _position, + directiveName, + directiveArgs, + hasDirectives = false, + ch; + state.version = null; + state.checkLineBreaks = state.legacy; + state.tagMap = Object.create(null); + state.anchorMap = Object.create(null); + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + if (state.lineIndent > 0 || ch !== 0x25) { + break; + } + hasDirectives = true; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + directiveName = state.input.slice(_position, state.position); + directiveArgs = []; + if (directiveName.length < 1) { + throwError(state, 'directive name must not be less than one character in length'); + } + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + if (ch === 0x23) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0 && !is_EOL(ch)); + break; + } + if (is_EOL(ch)) break; + _position = state.position; + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + directiveArgs.push(state.input.slice(_position, state.position)); + } + if (ch !== 0) readLineBreak(state); + if (_hasOwnProperty$1.call(directiveHandlers, directiveName)) { + directiveHandlers[directiveName](state, directiveName, directiveArgs); + } else { + throwWarning(state, 'unknown document directive "' + directiveName + '"'); + } + } + skipSeparationSpace(state, true, -1); + if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 0x2D && state.input.charCodeAt(state.position + 1) === 0x2D && state.input.charCodeAt(state.position + 2) === 0x2D) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } else if (hasDirectives) { + throwError(state, 'directives end mark is expected'); + } + composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); + skipSeparationSpace(state, true, -1); + if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { + throwWarning(state, 'non-ASCII line breaks are interpreted as content'); + } + state.documents.push(state.result); + if (state.position === state.lineStart && testDocumentSeparator(state)) { + if (state.input.charCodeAt(state.position) === 0x2E) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } + return; + } + if (state.position < state.length - 1) { + throwError(state, 'end of the stream or a document separator is expected'); + } else { + return; + } +} +function loadDocuments(input, options) { + input = String(input); + options = options || {}; + if (input.length !== 0) { + if (input.charCodeAt(input.length - 1) !== 0x0A && input.charCodeAt(input.length - 1) !== 0x0D) { + input += '\n'; + } + if (input.charCodeAt(0) === 0xFEFF) { + input = input.slice(1); + } + } + var state = new State$1(input, options); + var nullpos = input.indexOf('\0'); + if (nullpos !== -1) { + state.position = nullpos; + throwError(state, 'null byte is not allowed in input'); + } + state.input += '\0'; + while (state.input.charCodeAt(state.position) === 0x20) { + state.lineIndent += 1; + state.position += 1; + } + while (state.position < state.length - 1) { + readDocument(state); + } + return state.documents; +} +function loadAll$1(input, iterator, options) { + if (iterator !== null && _typeof(iterator) === 'object' && typeof options === 'undefined') { + options = iterator; + iterator = null; + } + var documents = loadDocuments(input, options); + if (typeof iterator !== 'function') { + return documents; + } + for (var index = 0, length = documents.length; index < length; index += 1) { + iterator(documents[index]); + } +} +function load$1(input, options) { + var documents = loadDocuments(input, options); + if (documents.length === 0) { + return undefined; + } else if (documents.length === 1) { + return documents[0]; + } + throw new exception('expected a single document in the stream, but found more'); +} +var loadAll_1 = loadAll$1; +var load_1 = load$1; +var loader = { + loadAll: loadAll_1, + load: load_1 +}; +var _toString = Object.prototype.toString; +var _hasOwnProperty = Object.prototype.hasOwnProperty; +var CHAR_BOM = 0xFEFF; +var CHAR_TAB = 0x09; +var CHAR_LINE_FEED = 0x0A; +var CHAR_CARRIAGE_RETURN = 0x0D; +var CHAR_SPACE = 0x20; +var CHAR_EXCLAMATION = 0x21; +var CHAR_DOUBLE_QUOTE = 0x22; +var CHAR_SHARP = 0x23; +var CHAR_PERCENT = 0x25; +var CHAR_AMPERSAND = 0x26; +var CHAR_SINGLE_QUOTE = 0x27; +var CHAR_ASTERISK = 0x2A; +var CHAR_COMMA = 0x2C; +var CHAR_MINUS = 0x2D; +var CHAR_COLON = 0x3A; +var CHAR_EQUALS = 0x3D; +var CHAR_GREATER_THAN = 0x3E; +var CHAR_QUESTION = 0x3F; +var CHAR_COMMERCIAL_AT = 0x40; +var CHAR_LEFT_SQUARE_BRACKET = 0x5B; +var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; +var CHAR_GRAVE_ACCENT = 0x60; +var CHAR_LEFT_CURLY_BRACKET = 0x7B; +var CHAR_VERTICAL_LINE = 0x7C; +var CHAR_RIGHT_CURLY_BRACKET = 0x7D; +var ESCAPE_SEQUENCES = {}; +ESCAPE_SEQUENCES[0x00] = '\\0'; +ESCAPE_SEQUENCES[0x07] = '\\a'; +ESCAPE_SEQUENCES[0x08] = '\\b'; +ESCAPE_SEQUENCES[0x09] = '\\t'; +ESCAPE_SEQUENCES[0x0A] = '\\n'; +ESCAPE_SEQUENCES[0x0B] = '\\v'; +ESCAPE_SEQUENCES[0x0C] = '\\f'; +ESCAPE_SEQUENCES[0x0D] = '\\r'; +ESCAPE_SEQUENCES[0x1B] = '\\e'; +ESCAPE_SEQUENCES[0x22] = '\\"'; +ESCAPE_SEQUENCES[0x5C] = '\\\\'; +ESCAPE_SEQUENCES[0x85] = '\\N'; +ESCAPE_SEQUENCES[0xA0] = '\\_'; +ESCAPE_SEQUENCES[0x2028] = '\\L'; +ESCAPE_SEQUENCES[0x2029] = '\\P'; +var DEPRECATED_BOOLEANS_SYNTAX = ['y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF']; +var DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/; +function compileStyleMap(schema, map) { + var result, keys, index, length, tag, style, type; + if (map === null) return {}; + result = {}; + keys = Object.keys(map); + for (index = 0, length = keys.length; index < length; index += 1) { + tag = keys[index]; + style = String(map[tag]); + if (tag.slice(0, 2) === '!!') { + tag = 'tag:yaml.org,2002:' + tag.slice(2); + } + type = schema.compiledTypeMap['fallback'][tag]; + if (type && _hasOwnProperty.call(type.styleAliases, style)) { + style = type.styleAliases[style]; + } + result[tag] = style; + } + return result; +} +function encodeHex(character) { + var string, handle, length; + string = character.toString(16).toUpperCase(); + if (character <= 0xFF) { + handle = 'x'; + length = 2; + } else if (character <= 0xFFFF) { + handle = 'u'; + length = 4; + } else if (character <= 0xFFFFFFFF) { + handle = 'U'; + length = 8; + } else { + throw new exception('code point within a string may not be greater than 0xFFFFFFFF'); + } + return '\\' + handle + common.repeat('0', length - string.length) + string; +} +var QUOTING_TYPE_SINGLE = 1, + QUOTING_TYPE_DOUBLE = 2; +function State(options) { + this.schema = options['schema'] || _default; + this.indent = Math.max(1, options['indent'] || 2); + this.noArrayIndent = options['noArrayIndent'] || false; + this.skipInvalid = options['skipInvalid'] || false; + this.flowLevel = common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']; + this.styleMap = compileStyleMap(this.schema, options['styles'] || null); + this.sortKeys = options['sortKeys'] || false; + this.lineWidth = options['lineWidth'] || 80; + this.noRefs = options['noRefs'] || false; + this.noCompatMode = options['noCompatMode'] || false; + this.condenseFlow = options['condenseFlow'] || false; + this.quotingType = options['quotingType'] === '"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE; + this.forceQuotes = options['forceQuotes'] || false; + this.replacer = typeof options['replacer'] === 'function' ? options['replacer'] : null; + this.implicitTypes = this.schema.compiledImplicit; + this.explicitTypes = this.schema.compiledExplicit; + this.tag = null; + this.result = ''; + this.duplicates = []; + this.usedDuplicates = null; +} +function indentString(string, spaces) { + var ind = common.repeat(' ', spaces), + position = 0, + next = -1, + result = '', + line, + length = string.length; + while (position < length) { + next = string.indexOf('\n', position); + if (next === -1) { + line = string.slice(position); + position = length; + } else { + line = string.slice(position, next + 1); + position = next + 1; + } + if (line.length && line !== '\n') result += ind; + result += line; + } + return result; +} +function generateNextLine(state, level) { + return '\n' + common.repeat(' ', state.indent * level); +} +function testImplicitResolving(state, str) { + var index, length, type; + for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { + type = state.implicitTypes[index]; + if (type.resolve(str)) { + return true; + } + } + return false; +} +function isWhitespace(c) { + return c === CHAR_SPACE || c === CHAR_TAB; +} +function isPrintable(c) { + return 0x00020 <= c && c <= 0x00007E || 0x000A1 <= c && c <= 0x00D7FF && c !== 0x2028 && c !== 0x2029 || 0x0E000 <= c && c <= 0x00FFFD && c !== CHAR_BOM || 0x10000 <= c && c <= 0x10FFFF; +} +function isNsCharOrWhitespace(c) { + return isPrintable(c) && c !== CHAR_BOM && c !== CHAR_CARRIAGE_RETURN && c !== CHAR_LINE_FEED; +} +function isPlainSafe(c, prev, inblock) { + var cIsNsCharOrWhitespace = isNsCharOrWhitespace(c); + var cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c); + return (inblock ? cIsNsCharOrWhitespace : cIsNsCharOrWhitespace && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET) && c !== CHAR_SHARP && !(prev === CHAR_COLON && !cIsNsChar) || isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP || prev === CHAR_COLON && cIsNsChar; +} +function isPlainSafeFirst(c) { + return isPrintable(c) && c !== CHAR_BOM && !isWhitespace(c) && c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_EQUALS && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT; +} +function isPlainSafeLast(c) { + return !isWhitespace(c) && c !== CHAR_COLON; +} +function codePointAt(string, pos) { + var first = string.charCodeAt(pos), + second; + if (first >= 0xD800 && first <= 0xDBFF && pos + 1 < string.length) { + second = string.charCodeAt(pos + 1); + if (second >= 0xDC00 && second <= 0xDFFF) { + return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; + } + } + return first; +} +function needIndentIndicator(string) { + var leadingSpaceRe = /^\n* /; + return leadingSpaceRe.test(string); +} +var STYLE_PLAIN = 1, + STYLE_SINGLE = 2, + STYLE_LITERAL = 3, + STYLE_FOLDED = 4, + STYLE_DOUBLE = 5; +function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType, quotingType, forceQuotes, inblock) { + var i; + var char = 0; + var prevChar = null; + var hasLineBreak = false; + var hasFoldableLine = false; + var shouldTrackWidth = lineWidth !== -1; + var previousLineBreak = -1; + var plain = isPlainSafeFirst(codePointAt(string, 0)) && isPlainSafeLast(codePointAt(string, string.length - 1)); + if (singleLineOnly || forceQuotes) { + for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + plain = plain && isPlainSafe(char, prevChar, inblock); + prevChar = char; + } + } else { + for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + if (char === CHAR_LINE_FEED) { + hasLineBreak = true; + if (shouldTrackWidth) { + hasFoldableLine = hasFoldableLine || i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== ' '; + previousLineBreak = i; + } + } else if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + plain = plain && isPlainSafe(char, prevChar, inblock); + prevChar = char; + } + hasFoldableLine = hasFoldableLine || shouldTrackWidth && i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== ' '; + } + if (!hasLineBreak && !hasFoldableLine) { + if (plain && !forceQuotes && !testAmbiguousType(string)) { + return STYLE_PLAIN; + } + return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE; + } + if (indentPerLevel > 9 && needIndentIndicator(string)) { + return STYLE_DOUBLE; + } + if (!forceQuotes) { + return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; + } + return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE; +} +function writeScalar(state, string, level, iskey, inblock) { + state.dump = function () { + if (string.length === 0) { + return state.quotingType === QUOTING_TYPE_DOUBLE ? '""' : "''"; + } + if (!state.noCompatMode) { + if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string)) { + return state.quotingType === QUOTING_TYPE_DOUBLE ? '"' + string + '"' : "'" + string + "'"; + } + } + var indent = state.indent * Math.max(1, level); + var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); + var singleLineOnly = iskey || state.flowLevel > -1 && level >= state.flowLevel; + function testAmbiguity(string) { + return testImplicitResolving(state, string); + } + switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity, state.quotingType, state.forceQuotes && !iskey, inblock)) { + case STYLE_PLAIN: + return string; + case STYLE_SINGLE: + return "'" + string.replace(/'/g, "''") + "'"; + case STYLE_LITERAL: + return '|' + blockHeader(string, state.indent) + dropEndingNewline(indentString(string, indent)); + case STYLE_FOLDED: + return '>' + blockHeader(string, state.indent) + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); + case STYLE_DOUBLE: + return '"' + escapeString(string) + '"'; + default: + throw new exception('impossible error: invalid scalar style'); + } + }(); +} +function blockHeader(string, indentPerLevel) { + var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ''; + var clip = string[string.length - 1] === '\n'; + var keep = clip && (string[string.length - 2] === '\n' || string === '\n'); + var chomp = keep ? '+' : clip ? '' : '-'; + return indentIndicator + chomp + '\n'; +} +function dropEndingNewline(string) { + return string[string.length - 1] === '\n' ? string.slice(0, -1) : string; +} +function foldString(string, width) { + var lineRe = /(\n+)([^\n]*)/g; + var result = function () { + var nextLF = string.indexOf('\n'); + nextLF = nextLF !== -1 ? nextLF : string.length; + lineRe.lastIndex = nextLF; + return foldLine(string.slice(0, nextLF), width); + }(); + var prevMoreIndented = string[0] === '\n' || string[0] === ' '; + var moreIndented; + var match; + while (match = lineRe.exec(string)) { + var prefix = match[1], + line = match[2]; + moreIndented = line[0] === ' '; + result += prefix + (!prevMoreIndented && !moreIndented && line !== '' ? '\n' : '') + foldLine(line, width); + prevMoreIndented = moreIndented; + } + return result; +} +function foldLine(line, width) { + if (line === '' || line[0] === ' ') return line; + var breakRe = / [^ ]/g; + var match; + var start = 0, + end, + curr = 0, + next = 0; + var result = ''; + while (match = breakRe.exec(line)) { + next = match.index; + if (next - start > width) { + end = curr > start ? curr : next; + result += '\n' + line.slice(start, end); + start = end + 1; + } + curr = next; + } + result += '\n'; + if (line.length - start > width && curr > start) { + result += line.slice(start, curr) + '\n' + line.slice(curr + 1); + } else { + result += line.slice(start); + } + return result.slice(1); +} +function escapeString(string) { + var result = ''; + var char = 0; + var escapeSeq; + for (var i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + escapeSeq = ESCAPE_SEQUENCES[char]; + if (!escapeSeq && isPrintable(char)) { + result += string[i]; + if (char >= 0x10000) result += string[i + 1]; + } else { + result += escapeSeq || encodeHex(char); + } + } + return result; +} +function writeFlowSequence(state, level, object) { + var _result = '', + _tag = state.tag, + index, + length, + value; + for (index = 0, length = object.length; index < length; index += 1) { + value = object[index]; + if (state.replacer) { + value = state.replacer.call(object, String(index), value); + } + if (writeNode(state, level, value, false, false) || typeof value === 'undefined' && writeNode(state, level, null, false, false)) { + if (_result !== '') _result += ',' + (!state.condenseFlow ? ' ' : ''); + _result += state.dump; + } + } + state.tag = _tag; + state.dump = '[' + _result + ']'; +} +function writeBlockSequence(state, level, object, compact) { + var _result = '', + _tag = state.tag, + index, + length, + value; + for (index = 0, length = object.length; index < length; index += 1) { + value = object[index]; + if (state.replacer) { + value = state.replacer.call(object, String(index), value); + } + if (writeNode(state, level + 1, value, true, true, false, true) || typeof value === 'undefined' && writeNode(state, level + 1, null, true, true, false, true)) { + if (!compact || _result !== '') { + _result += generateNextLine(state, level); + } + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + _result += '-'; + } else { + _result += '- '; + } + _result += state.dump; + } + } + state.tag = _tag; + state.dump = _result || '[]'; +} +function writeFlowMapping(state, level, object) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + pairBuffer; + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ''; + if (_result !== '') pairBuffer += ', '; + if (state.condenseFlow) pairBuffer += '"'; + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + if (state.replacer) { + objectValue = state.replacer.call(object, objectKey, objectValue); + } + if (!writeNode(state, level, objectKey, false, false)) { + continue; + } + if (state.dump.length > 1024) pairBuffer += '? '; + pairBuffer += state.dump + (state.condenseFlow ? '"' : '') + ':' + (state.condenseFlow ? '' : ' '); + if (!writeNode(state, level, objectValue, false, false)) { + continue; + } + pairBuffer += state.dump; + _result += pairBuffer; + } + state.tag = _tag; + state.dump = '{' + _result + '}'; +} +function writeBlockMapping(state, level, object, compact) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + explicitPair, + pairBuffer; + if (state.sortKeys === true) { + objectKeyList.sort(); + } else if (typeof state.sortKeys === 'function') { + objectKeyList.sort(state.sortKeys); + } else if (state.sortKeys) { + throw new exception('sortKeys must be a boolean or a function'); + } + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ''; + if (!compact || _result !== '') { + pairBuffer += generateNextLine(state, level); + } + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + if (state.replacer) { + objectValue = state.replacer.call(object, objectKey, objectValue); + } + if (!writeNode(state, level + 1, objectKey, true, true, true)) { + continue; + } + explicitPair = state.tag !== null && state.tag !== '?' || state.dump && state.dump.length > 1024; + if (explicitPair) { + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += '?'; + } else { + pairBuffer += '? '; + } + } + pairBuffer += state.dump; + if (explicitPair) { + pairBuffer += generateNextLine(state, level); + } + if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { + continue; + } + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += ':'; + } else { + pairBuffer += ': '; + } + pairBuffer += state.dump; + _result += pairBuffer; + } + state.tag = _tag; + state.dump = _result || '{}'; +} +function detectType(state, object, explicit) { + var _result, typeList, index, length, type, style; + typeList = explicit ? state.explicitTypes : state.implicitTypes; + for (index = 0, length = typeList.length; index < length; index += 1) { + type = typeList[index]; + if ((type.instanceOf || type.predicate) && (!type.instanceOf || _typeof(object) === 'object' && object instanceof type.instanceOf) && (!type.predicate || type.predicate(object))) { + if (explicit) { + if (type.multi && type.representName) { + state.tag = type.representName(object); + } else { + state.tag = type.tag; + } + } else { + state.tag = '?'; + } + if (type.represent) { + style = state.styleMap[type.tag] || type.defaultStyle; + if (_toString.call(type.represent) === '[object Function]') { + _result = type.represent(object, style); + } else if (_hasOwnProperty.call(type.represent, style)) { + _result = type.represent[style](object, style); + } else { + throw new exception('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); + } + state.dump = _result; + } + return true; + } + } + return false; +} +function writeNode(state, level, object, block, compact, iskey, isblockseq) { + state.tag = null; + state.dump = object; + if (!detectType(state, object, false)) { + detectType(state, object, true); + } + var type = _toString.call(state.dump); + var inblock = block; + var tagStr; + if (block) { + block = state.flowLevel < 0 || state.flowLevel > level; + } + var objectOrArray = type === '[object Object]' || type === '[object Array]', + duplicateIndex, + duplicate; + if (objectOrArray) { + duplicateIndex = state.duplicates.indexOf(object); + duplicate = duplicateIndex !== -1; + } + if (state.tag !== null && state.tag !== '?' || duplicate || state.indent !== 2 && level > 0) { + compact = false; + } + if (duplicate && state.usedDuplicates[duplicateIndex]) { + state.dump = '*ref_' + duplicateIndex; + } else { + if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { + state.usedDuplicates[duplicateIndex] = true; + } + if (type === '[object Object]') { + if (block && Object.keys(state.dump).length !== 0) { + writeBlockMapping(state, level, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowMapping(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object Array]') { + if (block && state.dump.length !== 0) { + if (state.noArrayIndent && !isblockseq && level > 0) { + writeBlockSequence(state, level - 1, state.dump, compact); + } else { + writeBlockSequence(state, level, state.dump, compact); + } + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowSequence(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object String]') { + if (state.tag !== '?') { + writeScalar(state, state.dump, level, iskey, inblock); + } + } else if (type === '[object Undefined]') { + return false; + } else { + if (state.skipInvalid) return false; + throw new exception('unacceptable kind of an object to dump ' + type); + } + if (state.tag !== null && state.tag !== '?') { + tagStr = encodeURI(state.tag[0] === '!' ? state.tag.slice(1) : state.tag).replace(/!/g, '%21'); + if (state.tag[0] === '!') { + tagStr = '!' + tagStr; + } else if (tagStr.slice(0, 18) === 'tag:yaml.org,2002:') { + tagStr = '!!' + tagStr.slice(18); + } else { + tagStr = '!<' + tagStr + '>'; + } + state.dump = tagStr + ' ' + state.dump; + } + } + return true; +} +function getDuplicateReferences(object, state) { + var objects = [], + duplicatesIndexes = [], + index, + length; + inspectNode(object, objects, duplicatesIndexes); + for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { + state.duplicates.push(objects[duplicatesIndexes[index]]); + } + state.usedDuplicates = new Array(length); +} +function inspectNode(object, objects, duplicatesIndexes) { + var objectKeyList, index, length; + if (object !== null && _typeof(object) === 'object') { + index = objects.indexOf(object); + if (index !== -1) { + if (duplicatesIndexes.indexOf(index) === -1) { + duplicatesIndexes.push(index); + } + } else { + objects.push(object); + if (Array.isArray(object)) { + for (index = 0, length = object.length; index < length; index += 1) { + inspectNode(object[index], objects, duplicatesIndexes); + } + } else { + objectKeyList = Object.keys(object); + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); + } + } + } + } +} +function dump$1(input, options) { + options = options || {}; + var state = new State(options); + if (!state.noRefs) getDuplicateReferences(input, state); + var value = input; + if (state.replacer) { + value = state.replacer.call({ + '': value + }, '', value); + } + if (writeNode(state, 0, value, true, true)) return state.dump + '\n'; + return ''; +} +var dump_1 = dump$1; +var dumper = { + dump: dump_1 +}; +function renamed(from, to) { + return function () { + throw new Error('Function yaml.' + from + ' is removed in js-yaml 4. ' + 'Use yaml.' + to + ' instead, which is now safe by default.'); + }; +} +var Type = exports.Type = type; +var Schema = exports.Schema = schema; +var FAILSAFE_SCHEMA = exports.FAILSAFE_SCHEMA = failsafe; +var JSON_SCHEMA = exports.JSON_SCHEMA = json; +var CORE_SCHEMA = exports.CORE_SCHEMA = core; +var DEFAULT_SCHEMA = exports.DEFAULT_SCHEMA = _default; +var load = exports.load = loader.load; +var loadAll = exports.loadAll = loader.loadAll; +var dump = exports.dump = dumper.dump; +var YAMLException = exports.YAMLException = exception; +var types = exports.types = { + binary: binary, + float: float, + map: map, + null: _null, + pairs: pairs, + set: set, + timestamp: timestamp, + bool: bool, + int: int, + merge: merge, + omap: omap, + seq: seq, + str: str +}; +var safeLoad = exports.safeLoad = renamed('safeLoad', 'load'); +var safeLoadAll = exports.safeLoadAll = renamed('safeLoadAll', 'loadAll'); +var safeDump = exports.safeDump = renamed('safeDump', 'dump'); +var jsYaml = { + Type: Type, + Schema: Schema, + FAILSAFE_SCHEMA: FAILSAFE_SCHEMA, + JSON_SCHEMA: JSON_SCHEMA, + CORE_SCHEMA: CORE_SCHEMA, + DEFAULT_SCHEMA: DEFAULT_SCHEMA, + load: load, + loadAll: loadAll, + dump: dump, + YAMLException: YAMLException, + types: types, + safeLoad: safeLoad, + safeLoadAll: safeLoadAll, + safeDump: safeDump +}; +var _default2 = exports.default = jsYaml; \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/cjs/index.d.ts b/node_modules/i18next-fs-backend/cjs/index.d.ts new file mode 100644 index 00000000..7b85d007 --- /dev/null +++ b/node_modules/i18next-fs-backend/cjs/index.d.ts @@ -0,0 +1,50 @@ +import { BackendModule, ReadCallback } from "i18next"; + +type LoadPathOption = + | string + | ((language: string, namespace: string) => string); + +type AddPathOption = + | string + | ((language: string, namespace: string) => string) + +export interface FsBackendOptions { + /** + * path where resources get loaded from, or a function + * returning a path: + * function(language, namespace) { return customPath; } + * the returned path will interpolate lng, ns if provided like giving a static path + */ + loadPath?: LoadPathOption; + /** + * path to post missing resources, must be `string` or a `function` returning a path: + * function(language, namespace) { return customPath; } + */ + addPath?: AddPathOption; + ident?: number | undefined; + parse?( + data: string + ): { [key: string]: any }; + stringify?( + data: { [key: string]: any } + ): string; + expirationTime?: number; +} + +export default class I18NexFsBackend + implements BackendModule +{ + static type: "backend"; + constructor(services?: any, options?: FsBackendOptions); + init(services?: any, options?: FsBackendOptions): void; + read(language: string, namespace: string, callback: ReadCallback): void; + create?( + languages: string[], + namespace: string, + key: string, + fallbackValue: string + ): void; + type: "backend"; + services: any; + options: FsBackendOptions; +} diff --git a/node_modules/i18next-fs-backend/cjs/index.js b/node_modules/i18next-fs-backend/cjs/index.js new file mode 100644 index 00000000..8e071cd2 --- /dev/null +++ b/node_modules/i18next-fs-backend/cjs/index.js @@ -0,0 +1,200 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _utils = require("./utils.js"); +var _readFile = require("./readFile.js"); +var _writeFile2 = require("./writeFile.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var getDefaults = function getDefaults() { + return { + loadPath: '/locales/{{lng}}/{{ns}}.json', + addPath: '/locales/{{lng}}/{{ns}}.missing.json', + ident: 2, + parse: JSON.parse, + stringify: JSON.stringify + }; +}; +var Backend = function () { + function Backend(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + _classCallCheck(this, Backend); + this.services = services; + this.options = options; + this.allOptions = allOptions; + this.type = 'backend'; + this.init(services, options, allOptions); + } + return _createClass(Backend, [{ + key: "init", + value: function init(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + this.services = services; + this.options = (0, _utils.defaults)(options, this.options || {}, getDefaults()); + this.allOptions = allOptions; + this.queuedWrites = {}; + this.debouncedWrite = (0, _utils.debounce)(this.write, 250); + } + }, { + key: "read", + value: function read(language, namespace, callback) { + var _this = this; + var loadPath = this.options.loadPath; + if (typeof this.options.loadPath === 'function') { + loadPath = this.options.loadPath(language, namespace); + } + var filename = this.services.interpolator.interpolate(loadPath, { + lng: language, + ns: namespace + }); + if (this.allOptions.initAsync === false || this.allOptions.initImmediate === false) { + try { + var _readFileSync = (0, _readFile.readFileSync)(filename, this.options), + data = _readFileSync.data, + stat = _readFileSync.stat; + var timestamp = stat && stat.mtime && stat.mtime.getTime(); + if (this.options.expirationTime && timestamp && timestamp + this.options.expirationTime < Date.now()) { + this.removeFile(language, namespace); + return callback(new Error('File expired!'), false); + } + callback(null, data, timestamp); + } catch (err) { + callback(err, false); + } + return; + } + (0, _readFile.readFile)(filename, this.options).then(function (_ref) { + var data = _ref.data, + stat = _ref.stat; + var timestamp = stat && stat.mtime && stat.mtime.getTime(); + if (_this.options.expirationTime && timestamp && timestamp + _this.options.expirationTime < Date.now()) { + _this.removeFile(language, namespace); + return callback(new Error('File expired!'), false); + } + callback(null, data, timestamp); + }).catch(function (err) { + return callback(err, false); + }); + } + }, { + key: "create", + value: function create(languages, namespace, key, fallbackValue, callback) { + var _this2 = this; + if (typeof callback !== 'function') callback = function callback() {}; + if (typeof languages === 'string') languages = [languages]; + var todo = languages.length; + var done = function done() { + if (! --todo) callback(); + }; + languages.forEach(function (lng) { + _this2.queue.call(_this2, lng, namespace, key, fallbackValue, done); + }); + } + }, { + key: "save", + value: function save(language, namespace, data, callback) { + var _this3 = this; + if (!callback) callback = function callback() {}; + var keys = Object.keys(data); + var todo = keys.length; + var done = function done() { + if (! --todo) callback(); + }; + keys.forEach(function (key) { + _this3.queue.call(_this3, language, namespace, key, data[key], done); + }); + } + }, { + key: "removeFile", + value: function removeFile(language, namespace) { + var addPath = this.options.addPath; + if (typeof this.options.addPath === 'function') { + addPath = this.options.addPath(language, namespace); + } + var filename = this.services.interpolator.interpolate(addPath, { + lng: language, + ns: namespace + }); + (0, _writeFile2.removeFile)(filename, this.options).then(function () {}).catch(function () {}); + } + }, { + key: "write", + value: function write() { + for (var lng in this.queuedWrites) { + var namespaces = this.queuedWrites[lng]; + if (lng !== 'locks') { + for (var ns in namespaces) { + this.writeFile(lng, ns); + } + } + } + } + }, { + key: "writeFile", + value: function writeFile(lng, namespace) { + var _this4 = this; + var lock = (0, _utils.getPath)(this.queuedWrites, ['locks', lng, namespace]); + if (lock) return; + var addPath = this.options.addPath; + if (typeof this.options.addPath === 'function') { + addPath = this.options.addPath(lng, namespace); + } + var filename = this.services.interpolator.interpolate(addPath, { + lng: lng, + ns: namespace + }); + var missings = (0, _utils.getPath)(this.queuedWrites, [lng, namespace]); + (0, _utils.setPath)(this.queuedWrites, [lng, namespace], []); + if (missings.length) { + (0, _utils.setPath)(this.queuedWrites, ['locks', lng, namespace], true); + var proceed = function proceed(_ref2) { + var data = _ref2.data; + missings.forEach(function (missing) { + var path = _this4.allOptions.keySeparator === false ? [missing.key] : missing.key.split(_this4.allOptions.keySeparator || '.'); + try { + (0, _utils.setPath)(data, path, missing.fallbackValue); + } catch (e) { + if (path.length < 2 || !e.message || e.message.indexOf('Cannot create property') < 0) throw e; + (0, _utils.setPath)(data, [missing.key], missing.fallbackValue); + } + }); + var proceedWrite = function proceedWrite() { + (0, _utils.setPath)(_this4.queuedWrites, ['locks', lng, namespace], false); + missings.forEach(function (missing) { + if (missing.callback) missing.callback(); + }); + _this4.debouncedWrite(); + }; + (0, _writeFile2.writeFile)(filename, data, _this4.options).then(proceedWrite).catch(proceedWrite); + }; + (0, _readFile.readFile)(filename, this.options).then(proceed).catch(function () { + return proceed({ + data: {} + }); + }); + } + } + }, { + key: "queue", + value: function queue(lng, namespace, key, fallbackValue, callback) { + (0, _utils.pushPath)(this.queuedWrites, [lng, namespace], { + key: key, + fallbackValue: fallbackValue || '', + callback: callback + }); + this.debouncedWrite(); + } + }]); +}(); +Backend.type = 'backend'; +var _default = exports.default = Backend; +module.exports = exports.default; \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/cjs/package.json b/node_modules/i18next-fs-backend/cjs/package.json new file mode 100644 index 00000000..729ac4d9 --- /dev/null +++ b/node_modules/i18next-fs-backend/cjs/package.json @@ -0,0 +1 @@ +{"type":"commonjs"} diff --git a/node_modules/i18next-fs-backend/cjs/readFile.js b/node_modules/i18next-fs-backend/cjs/readFile.js new file mode 100644 index 00000000..7f20e04c --- /dev/null +++ b/node_modules/i18next-fs-backend/cjs/readFile.js @@ -0,0 +1,161 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.readFile = readFile; +exports.readFileSync = readFileSync; +var _json = _interopRequireDefault(require("./formats/json5.js")); +var _jsonc = require("./formats/jsonc.js"); +var _yaml = _interopRequireDefault(require("./formats/yaml.js")); +var _extname = _interopRequireDefault(require("./extname.js")); +function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } +var isDeno = typeof Deno !== 'undefined'; +var isBun = typeof Bun !== 'undefined'; +var YAML = typeof _yaml.default !== 'undefined' && _yaml.default.load ? _yaml.default : undefined; +var fs = !isDeno ? require('node:fs') : undefined; +var evalAlias = eval; +var readFileInNodeSync = function readFileInNodeSync(filename) { + var data = fs.readFileSync(filename, 'utf8'); + var stat; + try { + stat = fs.statSync(filename); + } catch (e) {} + return { + data: data, + stat: stat + }; +}; +var readFileInNode = function readFileInNode(filename) { + return new Promise(function (resolve, reject) { + fs.readFile(filename, 'utf8', function (err, data) { + if (err) return reject(err); + fs.stat(filename, function (err, stat) { + if (err) return resolve({ + data: data + }); + return resolve({ + data: data, + stat: stat + }); + }); + }); + }); +}; +var readFileInDenoSync = function readFileInDenoSync(filename) { + var decoder = new TextDecoder('utf-8'); + var d = Deno.readFileSync(filename); + var data = decoder.decode(d); + var stat; + try { + stat = Deno.statSync(filename); + } catch (e) {} + return { + data: data, + stat: stat + }; +}; +var readFileInDeno = function readFileInDeno(filename) { + return new Promise(function (resolve, reject) { + var decoder = new TextDecoder('utf-8'); + Deno.readFile(filename).then(function (d) { + var data = decoder.decode(d); + Deno.stat(filename).then(function (stat) { + return resolve({ + data: data, + stat: stat + }); + }).catch(function () { + return resolve({ + data: data + }); + }); + }).catch(reject); + }); +}; +var readFileInBunSync = readFileInNodeSync; +var readFileInBun = readFileInNode; +var replaceLast = function replaceLast(str, find, replace) { + var index = str.lastIndexOf(find); + if (index > -1) { + return str.substring(0, index) + replace + str.substring(index + find.length); + } + return str.toString(); +}; +var parseData = function parseData(extension, data, options) { + data = data.replace(/^\uFEFF/, ''); + var result = {}; + switch (extension) { + case '.js': + case '.ts': + if (typeof module === 'undefined') { + if (data.indexOf('exports') > -1) { + data = "(".concat(replaceLast(data.substring(data.indexOf('=') + 1), '};', ''), ")"); + } else if (data.indexOf('export default ') > -1) { + data = "(".concat(replaceLast(data.substring(data.indexOf('export default ') + 15), '};', ''), ")"); + } + } + result = evalAlias(data); + break; + case '.json5': + result = _json.default.parse(data); + break; + case '.jsonc': + result = (0, _jsonc.parse)(data); + break; + case '.yml': + case '.yaml': + result = YAML.load(data); + break; + default: + result = options.parse(data); + } + return result; +}; +function readFileSync(filename, options) { + var ext = (0, _extname.default)(filename); + var data, stat; + if (isBun) { + var ret = readFileInBunSync(filename); + data = ret.data; + stat = ret.stat; + } else if (isDeno) { + var _ret = readFileInDenoSync(filename); + data = _ret.data; + stat = _ret.stat; + } else { + var _ret2 = readFileInNodeSync(filename); + data = _ret2.data; + stat = _ret2.stat; + } + return { + data: parseData(ext, data, options), + stat: stat + }; +} +function readFile(filename) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + parse: JSON.parse + }; + var ext = (0, _extname.default)(filename); + var fn = isBun ? readFileInBun : isDeno ? readFileInDeno : readFileInNode; + return new Promise(function (resolve, reject) { + fn(filename).then(function (_ref) { + var data = _ref.data, + stat = _ref.stat; + try { + var ret = parseData(ext, data, options); + resolve({ + data: ret, + stat: stat + }); + } catch (err) { + err.message = 'error parsing ' + filename + ': ' + err.message; + reject(err); + } + }).catch(reject); + }); +} \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/cjs/utils.js b/node_modules/i18next-fs-backend/cjs/utils.js new file mode 100644 index 00000000..6ca27428 --- /dev/null +++ b/node_modules/i18next-fs-backend/cjs/utils.js @@ -0,0 +1,77 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.debounce = debounce; +exports.defaults = defaults; +exports.getPath = getPath; +exports.pushPath = pushPath; +exports.setPath = setPath; +var arr = []; +var each = arr.forEach; +var slice = arr.slice; +function defaults(obj) { + each.call(slice.call(arguments, 1), function (source) { + if (source) { + for (var prop in source) { + if (obj[prop] === undefined) obj[prop] = source[prop]; + } + } + }); + return obj; +} +function debounce(func, wait, immediate) { + var timeout; + return function () { + var context = this; + var args = arguments; + var later = function later() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; +} +function getLastOfPath(object, path, Empty) { + function cleanKey(key) { + return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key; + } + var stack = typeof path !== 'string' ? [].concat(path) : path.split('.'); + while (stack.length > 1) { + if (!object) return {}; + var key = cleanKey(stack.shift()); + if (!object[key] && Empty) object[key] = new Empty(); + object = object[key]; + } + if (!object) return {}; + return { + obj: object, + k: cleanKey(stack.shift()) + }; +} +function setPath(object, path, newValue) { + var _getLastOfPath = getLastOfPath(object, path, Object), + obj = _getLastOfPath.obj, + k = _getLastOfPath.k; + if (Array.isArray(obj) && isNaN(k)) throw new Error("Cannot create property \"".concat(k, "\" here since object is an array")); + obj[k] = newValue; +} +function pushPath(object, path, newValue, concat) { + var _getLastOfPath2 = getLastOfPath(object, path, Object), + obj = _getLastOfPath2.obj, + k = _getLastOfPath2.k; + obj[k] = obj[k] || []; + if (concat) obj[k] = obj[k].concat(newValue); + if (!concat) obj[k].push(newValue); +} +function getPath(object, path) { + var _getLastOfPath3 = getLastOfPath(object, path), + obj = _getLastOfPath3.obj, + k = _getLastOfPath3.k; + if (!obj) return undefined; + return obj[k]; +} \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/cjs/writeFile.js b/node_modules/i18next-fs-backend/cjs/writeFile.js new file mode 100644 index 00000000..6e815fd0 --- /dev/null +++ b/node_modules/i18next-fs-backend/cjs/writeFile.js @@ -0,0 +1,174 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.removeFile = removeFile; +exports.removeFileSync = removeFileSync; +exports.writeFile = writeFile; +exports.writeFileSync = writeFileSync; +var _json = _interopRequireDefault(require("./formats/json5.js")); +var _yaml = _interopRequireDefault(require("./formats/yaml.js")); +var _extname = _interopRequireDefault(require("./extname.js")); +function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } +var isDeno = typeof Deno !== 'undefined'; +var isBun = typeof Bun !== 'undefined'; +var YAML = typeof _yaml.default !== 'undefined' && _yaml.default.load ? _yaml.default : undefined; +var fs = !isDeno ? require('node:fs') : undefined; +function dirname(path) { + if (path.length === 0) return '.'; + var code = path.charCodeAt(0); + var hasRoot = code === 47; + var end = -1; + var matchedSlash = true; + for (var i = path.length - 1; i >= 1; --i) { + code = path.charCodeAt(i); + if (code === 47) { + if (!matchedSlash) { + end = i; + break; + } + } else { + matchedSlash = false; + } + } + if (end === -1) return hasRoot ? '/' : '.'; + if (hasRoot && end === 1) return '//'; + return path.slice(0, end); +} +var writeFileInNodeSync = function writeFileInNodeSync(filename, payload) { + try { + fs.mkdirSync(dirname(filename), { + recursive: true + }); + } catch (err) {} + return fs.writeFileSync(filename, payload, 'utf8'); +}; +var writeFileInNode = function writeFileInNode(filename, payload) { + return new Promise(function (resolve, reject) { + fs.mkdir(dirname(filename), { + recursive: true + }, function () { + fs.writeFile(filename, payload, 'utf8', function (err, data) { + return err ? reject(err) : resolve(data); + }); + }); + }); +}; +var removeFileInNodeSync = function removeFileInNodeSync(filename) { + return fs.unlinkSync(filename); +}; +var removeFileInNode = function removeFileInNode(filename) { + return new Promise(function (resolve, reject) { + return fs.unlink(filename, function (err) { + return err ? reject(err) : resolve(); + }); + }); +}; +var writeFileInDenoSync = function writeFileInDenoSync(filename, payload) { + var encoder = new TextEncoder(); + var data = encoder.encode(payload); + try { + Deno.mkdirSync(dirname(filename), { + recursive: true + }); + } catch (err) {} + Deno.writeFileSync(filename, data); +}; +var writeFileInDeno = function writeFileInDeno(filename, payload) { + var encoder = new TextEncoder(); + var data = encoder.encode(payload); + return new Promise(function (resolve, reject) { + Deno.mkdir(dirname(filename), { + recursive: true + }).then(function () { + Deno.writeFile(filename, data).then(resolve, reject); + }).catch(function () { + Deno.writeFile(filename, data).then(resolve, reject); + }); + }); +}; +var removeFileInDenoSync = function removeFileInDenoSync(filename) { + Deno.removeSync(filename); +}; +var removeFileInDeno = function removeFileInDeno(filename) { + return Deno.remove(filename); +}; +var writeFileInBunSync = writeFileInNodeSync; +var writeFileInBun = writeFileInNode; +var removeFileInBunSync = removeFileInNodeSync; +var removeFileInBun = removeFileInNode; +var stringifyData = function stringifyData(extension, data, options) { + var result = ''; + switch (extension) { + case '.js': + case '.ts': + if (typeof module === 'undefined') { + result = "export default ".concat(options.stringify(data, null, options.ident)); + } else { + result = "module.exports = ".concat(options.stringify(data, null, options.ident)); + } + break; + case '.json5': + result = _json.default.stringify(data, null, options.ident); + break; + case '.yml': + case '.yaml': + result = YAML.dump(data, { + ident: options.indent + }); + break; + default: + result = options.stringify(data, null, options.ident); + } + return result; +}; +function writeFileSync(filename, payload, options) { + var ext = (0, _extname.default)(filename); + var data; + try { + data = stringifyData(ext, payload, options); + } catch (err) { + err.message = 'error stringifying ' + filename + ': ' + err.message; + throw err; + } + if (isBun) { + return writeFileInBunSync(filename, data); + } else if (isDeno) { + return writeFileInDenoSync(filename, data); + } else { + return writeFileInNodeSync(filename, data); + } +} +function writeFile(filename, payload) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { + stringify: JSON.stringify, + ident: 2 + }; + var ext = (0, _extname.default)(filename); + var data; + try { + data = stringifyData(ext, payload, options); + } catch (err) { + err.message = 'error stringifying ' + filename + ': ' + err.message; + throw err; + } + var fn = isBun ? writeFileInBun : isDeno ? writeFileInDeno : writeFileInNode; + return fn(filename, data); +} +function removeFileSync(filename) { + if (isBun) { + return removeFileInBunSync(filename); + } else if (isDeno) { + return removeFileInDenoSync(filename); + } else { + return removeFileInNodeSync(filename); + } +} +function removeFile(filename) { + var fn = isBun ? removeFileInBun : isDeno ? removeFileInDeno : removeFileInNode; + return fn(filename); +} \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/esm/extname.js b/node_modules/i18next-fs-backend/esm/extname.js new file mode 100644 index 00000000..b4127e9b --- /dev/null +++ b/node_modules/i18next-fs-backend/esm/extname.js @@ -0,0 +1,4 @@ +export default (function (filename) { + if (filename.indexOf('.') < 0) return undefined; + return ".".concat(filename.split('.').pop()); +}); \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/esm/formats/json5.js b/node_modules/i18next-fs-backend/esm/formats/json5.js new file mode 100644 index 00000000..8237b710 --- /dev/null +++ b/node_modules/i18next-fs-backend/esm/formats/json5.js @@ -0,0 +1,1119 @@ +function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/; +var ID_Start = /[\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\u0561-\u0587\u05D0-\u05EA\u05F0-\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\u08A0-\u08B4\u08B6-\u08BD\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\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\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\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\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-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\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\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\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\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\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-\uAB65\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\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-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\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\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\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]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\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-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/; +var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\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\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\u0B56\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-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\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\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\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\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\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\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\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\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\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-\uAB65\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\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-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\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]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\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\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\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]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\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]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\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]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/; +var unicode = { + Space_Separator: Space_Separator, + ID_Start: ID_Start, + ID_Continue: ID_Continue +}; +var util = { + isSpaceSeparator: function isSpaceSeparator(c) { + return typeof c === 'string' && unicode.Space_Separator.test(c); + }, + isIdStartChar: function isIdStartChar(c) { + return typeof c === 'string' && (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c === '$' || c === '_' || unicode.ID_Start.test(c)); + }, + isIdContinueChar: function isIdContinueChar(c) { + return typeof c === 'string' && (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c === '$' || c === '_' || c === "\u200C" || c === "\u200D" || unicode.ID_Continue.test(c)); + }, + isDigit: function isDigit(c) { + return typeof c === 'string' && /[0-9]/.test(c); + }, + isHexDigit: function isHexDigit(c) { + return typeof c === 'string' && /[0-9A-Fa-f]/.test(c); + } +}; +var source; +var parseState; +var stack; +var pos; +var line; +var column; +var token; +var key; +var root; +var parse = function parse(text, reviver) { + source = String(text); + parseState = 'start'; + stack = []; + pos = 0; + line = 1; + column = 0; + token = undefined; + key = undefined; + root = undefined; + do { + token = lex(); + parseStates[parseState](); + } while (token.type !== 'eof'); + if (typeof reviver === 'function') { + return internalize({ + '': root + }, '', reviver); + } + return root; +}; +function internalize(holder, name, reviver) { + var value = holder[name]; + if (value != null && _typeof(value) === 'object') { + if (Array.isArray(value)) { + for (var i = 0; i < value.length; i++) { + var _key = String(i); + var replacement = internalize(value, _key, reviver); + if (replacement === undefined) { + delete value[_key]; + } else { + Object.defineProperty(value, _key, { + value: replacement, + writable: true, + enumerable: true, + configurable: true + }); + } + } + } else { + for (var _key2 in value) { + var _replacement = internalize(value, _key2, reviver); + if (_replacement === undefined) { + delete value[_key2]; + } else { + Object.defineProperty(value, _key2, { + value: _replacement, + writable: true, + enumerable: true, + configurable: true + }); + } + } + } + } + return reviver.call(holder, name, value); +} +var lexState; +var buffer; +var doubleQuote; +var _sign; +var c; +function lex() { + lexState = 'default'; + buffer = ''; + doubleQuote = false; + _sign = 1; + for (;;) { + c = peek(); + var _token = lexStates[lexState](); + if (_token) { + return _token; + } + } +} +function peek() { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)); + } +} +function read() { + var c = peek(); + if (c === '\n') { + line++; + column = 0; + } else if (c) { + column += c.length; + } else { + column++; + } + if (c) { + pos += c.length; + } + return c; +} +var lexStates = { + default: function _default() { + switch (c) { + case '\t': + case '\v': + case '\f': + case ' ': + case "\xA0": + case "\uFEFF": + case '\n': + case '\r': + case "\u2028": + case "\u2029": + read(); + return; + case '/': + read(); + lexState = 'comment'; + return; + case undefined: + read(); + return newToken('eof'); + } + if (util.isSpaceSeparator(c)) { + read(); + return; + } + return lexStates[parseState](); + }, + comment: function comment() { + switch (c) { + case '*': + read(); + lexState = 'multiLineComment'; + return; + case '/': + read(); + lexState = 'singleLineComment'; + return; + } + throw invalidChar(read()); + }, + multiLineComment: function multiLineComment() { + switch (c) { + case '*': + read(); + lexState = 'multiLineCommentAsterisk'; + return; + case undefined: + throw invalidChar(read()); + } + read(); + }, + multiLineCommentAsterisk: function multiLineCommentAsterisk() { + switch (c) { + case '*': + read(); + return; + case '/': + read(); + lexState = 'default'; + return; + case undefined: + throw invalidChar(read()); + } + read(); + lexState = 'multiLineComment'; + }, + singleLineComment: function singleLineComment() { + switch (c) { + case '\n': + case '\r': + case "\u2028": + case "\u2029": + read(); + lexState = 'default'; + return; + case undefined: + read(); + return newToken('eof'); + } + read(); + }, + value: function value() { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()); + case 'n': + read(); + literal('ull'); + return newToken('null', null); + case 't': + read(); + literal('rue'); + return newToken('boolean', true); + case 'f': + read(); + literal('alse'); + return newToken('boolean', false); + case '-': + case '+': + if (read() === '-') { + _sign = -1; + } + lexState = 'sign'; + return; + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return; + case '0': + buffer = read(); + lexState = 'zero'; + return; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return; + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', Infinity); + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN); + case '"': + case "'": + doubleQuote = read() === '"'; + buffer = ''; + lexState = 'string'; + return; + } + throw invalidChar(read()); + }, + identifierNameStartEscape: function identifierNameStartEscape() { + if (c !== 'u') { + throw invalidChar(read()); + } + read(); + var u = unicodeEscape(); + switch (u) { + case '$': + case '_': + break; + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier(); + } + break; + } + buffer += u; + lexState = 'identifierName'; + }, + identifierName: function identifierName() { + switch (c) { + case '$': + case '_': + case "\u200C": + case "\u200D": + buffer += read(); + return; + case '\\': + read(); + lexState = 'identifierNameEscape'; + return; + } + if (util.isIdContinueChar(c)) { + buffer += read(); + return; + } + return newToken('identifier', buffer); + }, + identifierNameEscape: function identifierNameEscape() { + if (c !== 'u') { + throw invalidChar(read()); + } + read(); + var u = unicodeEscape(); + switch (u) { + case '$': + case '_': + case "\u200C": + case "\u200D": + break; + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier(); + } + break; + } + buffer += u; + lexState = 'identifierName'; + }, + sign: function sign() { + switch (c) { + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return; + case '0': + buffer = read(); + lexState = 'zero'; + return; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return; + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', _sign * Infinity); + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN); + } + throw invalidChar(read()); + }, + zero: function zero() { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return; + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return; + case 'x': + case 'X': + buffer += read(); + lexState = 'hexadecimal'; + return; + } + return newToken('numeric', _sign * 0); + }, + decimalInteger: function decimalInteger() { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return; + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return; + } + if (util.isDigit(c)) { + buffer += read(); + return; + } + return newToken('numeric', _sign * Number(buffer)); + }, + decimalPointLeading: function decimalPointLeading() { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return; + } + throw invalidChar(read()); + }, + decimalPoint: function decimalPoint() { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return; + } + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return; + } + return newToken('numeric', _sign * Number(buffer)); + }, + decimalFraction: function decimalFraction() { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return; + } + if (util.isDigit(c)) { + buffer += read(); + return; + } + return newToken('numeric', _sign * Number(buffer)); + }, + decimalExponent: function decimalExponent() { + switch (c) { + case '+': + case '-': + buffer += read(); + lexState = 'decimalExponentSign'; + return; + } + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return; + } + throw invalidChar(read()); + }, + decimalExponentSign: function decimalExponentSign() { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return; + } + throw invalidChar(read()); + }, + decimalExponentInteger: function decimalExponentInteger() { + if (util.isDigit(c)) { + buffer += read(); + return; + } + return newToken('numeric', _sign * Number(buffer)); + }, + hexadecimal: function hexadecimal() { + if (util.isHexDigit(c)) { + buffer += read(); + lexState = 'hexadecimalInteger'; + return; + } + throw invalidChar(read()); + }, + hexadecimalInteger: function hexadecimalInteger() { + if (util.isHexDigit(c)) { + buffer += read(); + return; + } + return newToken('numeric', _sign * Number(buffer)); + }, + string: function string() { + switch (c) { + case '\\': + read(); + buffer += escape(); + return; + case '"': + if (doubleQuote) { + read(); + return newToken('string', buffer); + } + buffer += read(); + return; + case "'": + if (!doubleQuote) { + read(); + return newToken('string', buffer); + } + buffer += read(); + return; + case '\n': + case '\r': + throw invalidChar(read()); + case "\u2028": + case "\u2029": + separatorChar(c); + break; + case undefined: + throw invalidChar(read()); + } + buffer += read(); + }, + start: function start() { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()); + } + lexState = 'value'; + }, + beforePropertyName: function beforePropertyName() { + switch (c) { + case '$': + case '_': + buffer = read(); + lexState = 'identifierName'; + return; + case '\\': + read(); + lexState = 'identifierNameStartEscape'; + return; + case '}': + return newToken('punctuator', read()); + case '"': + case "'": + doubleQuote = read() === '"'; + lexState = 'string'; + return; + } + if (util.isIdStartChar(c)) { + buffer += read(); + lexState = 'identifierName'; + return; + } + throw invalidChar(read()); + }, + afterPropertyName: function afterPropertyName() { + if (c === ':') { + return newToken('punctuator', read()); + } + throw invalidChar(read()); + }, + beforePropertyValue: function beforePropertyValue() { + lexState = 'value'; + }, + afterPropertyValue: function afterPropertyValue() { + switch (c) { + case ',': + case '}': + return newToken('punctuator', read()); + } + throw invalidChar(read()); + }, + beforeArrayValue: function beforeArrayValue() { + if (c === ']') { + return newToken('punctuator', read()); + } + lexState = 'value'; + }, + afterArrayValue: function afterArrayValue() { + switch (c) { + case ',': + case ']': + return newToken('punctuator', read()); + } + throw invalidChar(read()); + }, + end: function end() { + throw invalidChar(read()); + } +}; +function newToken(type, value) { + return { + type: type, + value: value, + line: line, + column: column + }; +} +function literal(s) { + var _iterator = _createForOfIteratorHelper(s), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _c = _step.value; + var p = peek(); + if (p !== _c) { + throw invalidChar(read()); + } + read(); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } +} +function escape() { + var c = peek(); + switch (c) { + case 'b': + read(); + return '\b'; + case 'f': + read(); + return '\f'; + case 'n': + read(); + return '\n'; + case 'r': + read(); + return '\r'; + case 't': + read(); + return '\t'; + case 'v': + read(); + return '\v'; + case '0': + read(); + if (util.isDigit(peek())) { + throw invalidChar(read()); + } + return '\0'; + case 'x': + read(); + return hexEscape(); + case 'u': + read(); + return unicodeEscape(); + case '\n': + case "\u2028": + case "\u2029": + read(); + return ''; + case '\r': + read(); + if (peek() === '\n') { + read(); + } + return ''; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + throw invalidChar(read()); + case undefined: + throw invalidChar(read()); + } + return read(); +} +function hexEscape() { + var buffer = ''; + var c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()); + } + buffer += read(); + c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()); + } + buffer += read(); + return String.fromCodePoint(parseInt(buffer, 16)); +} +function unicodeEscape() { + var buffer = ''; + var count = 4; + while (count-- > 0) { + var _c2 = peek(); + if (!util.isHexDigit(_c2)) { + throw invalidChar(read()); + } + buffer += read(); + } + return String.fromCodePoint(parseInt(buffer, 16)); +} +var parseStates = { + start: function start() { + if (token.type === 'eof') { + throw invalidEOF(); + } + push(); + }, + beforePropertyName: function beforePropertyName() { + switch (token.type) { + case 'identifier': + case 'string': + key = token.value; + parseState = 'afterPropertyName'; + return; + case 'punctuator': + pop(); + return; + case 'eof': + throw invalidEOF(); + } + }, + afterPropertyName: function afterPropertyName() { + if (token.type === 'eof') { + throw invalidEOF(); + } + parseState = 'beforePropertyValue'; + }, + beforePropertyValue: function beforePropertyValue() { + if (token.type === 'eof') { + throw invalidEOF(); + } + push(); + }, + beforeArrayValue: function beforeArrayValue() { + if (token.type === 'eof') { + throw invalidEOF(); + } + if (token.type === 'punctuator' && token.value === ']') { + pop(); + return; + } + push(); + }, + afterPropertyValue: function afterPropertyValue() { + if (token.type === 'eof') { + throw invalidEOF(); + } + switch (token.value) { + case ',': + parseState = 'beforePropertyName'; + return; + case '}': + pop(); + } + }, + afterArrayValue: function afterArrayValue() { + if (token.type === 'eof') { + throw invalidEOF(); + } + switch (token.value) { + case ',': + parseState = 'beforeArrayValue'; + return; + case ']': + pop(); + } + }, + end: function end() {} +}; +function push() { + var value; + switch (token.type) { + case 'punctuator': + switch (token.value) { + case '{': + value = {}; + break; + case '[': + value = []; + break; + } + break; + case 'null': + case 'boolean': + case 'numeric': + case 'string': + value = token.value; + break; + } + if (root === undefined) { + root = value; + } else { + var parent = stack[stack.length - 1]; + if (Array.isArray(parent)) { + parent.push(value); + } else { + Object.defineProperty(parent, key, { + value: value, + writable: true, + enumerable: true, + configurable: true + }); + } + } + if (value !== null && _typeof(value) === 'object') { + stack.push(value); + if (Array.isArray(value)) { + parseState = 'beforeArrayValue'; + } else { + parseState = 'beforePropertyName'; + } + } else { + var current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } + } +} +function pop() { + stack.pop(); + var current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } +} +function invalidChar(c) { + if (c === undefined) { + return syntaxError("JSON5: invalid end of input at ".concat(line, ":").concat(column)); + } + return syntaxError("JSON5: invalid character '".concat(formatChar(c), "' at ").concat(line, ":").concat(column)); +} +function invalidEOF() { + return syntaxError("JSON5: invalid end of input at ".concat(line, ":").concat(column)); +} +function invalidIdentifier() { + column -= 5; + return syntaxError("JSON5: invalid identifier character at ".concat(line, ":").concat(column)); +} +function separatorChar(c) { + console.warn("JSON5: '".concat(formatChar(c), "' in strings is not valid ECMAScript; consider escaping")); +} +function formatChar(c) { + var replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + "\u2028": "\\u2028", + "\u2029": "\\u2029" + }; + if (replacements[c]) { + return replacements[c]; + } + if (c < ' ') { + var hexString = c.charCodeAt(0).toString(16); + return '\\x' + ('00' + hexString).substring(hexString.length); + } + return c; +} +function syntaxError(message) { + var err = new SyntaxError(message); + err.lineNumber = line; + err.columnNumber = column; + return err; +} +var stringify = function stringify(value, replacer, space) { + var stack = []; + var indent = ''; + var propertyList; + var replacerFunc; + var gap = ''; + var quote; + if (replacer != null && _typeof(replacer) === 'object' && !Array.isArray(replacer)) { + space = replacer.space; + quote = replacer.quote; + replacer = replacer.replacer; + } + if (typeof replacer === 'function') { + replacerFunc = replacer; + } else if (Array.isArray(replacer)) { + propertyList = []; + var _iterator2 = _createForOfIteratorHelper(replacer), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var v = _step2.value; + var item = void 0; + if (typeof v === 'string') { + item = v; + } else if (typeof v === 'number' || v instanceof String || v instanceof Number) { + item = String(v); + } + if (item !== undefined && propertyList.indexOf(item) < 0) { + propertyList.push(item); + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + if (space instanceof Number) { + space = Number(space); + } else if (space instanceof String) { + space = String(space); + } + if (typeof space === 'number') { + if (space > 0) { + space = Math.min(10, Math.floor(space)); + gap = ' '.substr(0, space); + } + } else if (typeof space === 'string') { + gap = space.substr(0, 10); + } + return serializeProperty('', { + '': value + }); + function serializeProperty(key, holder) { + var value = holder[key]; + if (value != null) { + if (typeof value.toJSON5 === 'function') { + value = value.toJSON5(key); + } else if (typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + } + if (replacerFunc) { + value = replacerFunc.call(holder, key, value); + } + if (value instanceof Number) { + value = Number(value); + } else if (value instanceof String) { + value = String(value); + } else if (value instanceof Boolean) { + value = value.valueOf(); + } + switch (value) { + case null: + return 'null'; + case true: + return 'true'; + case false: + return 'false'; + } + if (typeof value === 'string') { + return quoteString(value, false); + } + if (typeof value === 'number') { + return String(value); + } + if (_typeof(value) === 'object') { + return Array.isArray(value) ? serializeArray(value) : serializeObject(value); + } + return undefined; + } + function quoteString(value) { + var quotes = { + "'": 0.1, + '"': 0.2 + }; + var replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + "\u2028": "\\u2028", + "\u2029": "\\u2029" + }; + var product = ''; + for (var i = 0; i < value.length; i++) { + var _c3 = value[i]; + switch (_c3) { + case "'": + case '"': + quotes[_c3]++; + product += _c3; + continue; + case '\0': + if (util.isDigit(value[i + 1])) { + product += '\\x00'; + continue; + } + } + if (replacements[_c3]) { + product += replacements[_c3]; + continue; + } + if (_c3 < ' ') { + var hexString = _c3.charCodeAt(0).toString(16); + product += '\\x' + ('00' + hexString).substring(hexString.length); + continue; + } + product += _c3; + } + var quoteChar = quote || Object.keys(quotes).reduce(function (a, b) { + return quotes[a] < quotes[b] ? a : b; + }); + product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]); + return quoteChar + product + quoteChar; + } + function serializeObject(value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5'); + } + stack.push(value); + var stepback = indent; + indent = indent + gap; + var keys = propertyList || Object.keys(value); + var partial = []; + var _iterator3 = _createForOfIteratorHelper(keys), + _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var _key3 = _step3.value; + var propertyString = serializeProperty(_key3, value); + if (propertyString !== undefined) { + var member = serializeKey(_key3) + ':'; + if (gap !== '') { + member += ' '; + } + member += propertyString; + partial.push(member); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + var final; + if (partial.length === 0) { + final = '{}'; + } else { + var properties; + if (gap === '') { + properties = partial.join(','); + final = '{' + properties + '}'; + } else { + var separator = ',\n' + indent; + properties = partial.join(separator); + final = '{\n' + indent + properties + ',\n' + stepback + '}'; + } + } + stack.pop(); + indent = stepback; + return final; + } + function serializeKey(key) { + if (key.length === 0) { + return quoteString(key, true); + } + var firstChar = String.fromCodePoint(key.codePointAt(0)); + if (!util.isIdStartChar(firstChar)) { + return quoteString(key, true); + } + for (var i = firstChar.length; i < key.length; i++) { + if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + return quoteString(key, true); + } + } + return key; + } + function serializeArray(value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5'); + } + stack.push(value); + var stepback = indent; + indent = indent + gap; + var partial = []; + for (var i = 0; i < value.length; i++) { + var propertyString = serializeProperty(String(i), value); + partial.push(propertyString !== undefined ? propertyString : 'null'); + } + var final; + if (partial.length === 0) { + final = '[]'; + } else { + if (gap === '') { + var properties = partial.join(','); + final = '[' + properties + ']'; + } else { + var separator = ',\n' + indent; + var _properties = partial.join(separator); + final = '[\n' + indent + _properties + ',\n' + stepback + ']'; + } + } + stack.pop(); + indent = stepback; + return final; + } +}; +var JSON5 = { + parse: parse, + stringify: stringify +}; +var lib = JSON5; +export default lib; \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/esm/formats/jsonc.js b/node_modules/i18next-fs-backend/esm/formats/jsonc.js new file mode 100644 index 00000000..eb8ce2c4 --- /dev/null +++ b/node_modules/i18next-fs-backend/esm/formats/jsonc.js @@ -0,0 +1,1758 @@ +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +function createScanner(text) { + var ignoreTrivia = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var len = text.length; + var pos = 0, + value = "", + tokenOffset = 0, + token = 16, + lineNumber = 0, + lineStartOffset = 0, + tokenLineStartOffset = 0, + prevTokenLineStartOffset = 0, + scanError = 0; + function scanHexDigits(count, exact) { + var digits = 0; + var value2 = 0; + while (digits < count || !exact) { + var ch = text.charCodeAt(pos); + if (ch >= 48 && ch <= 57) { + value2 = value2 * 16 + ch - 48; + } else if (ch >= 65 && ch <= 70) { + value2 = value2 * 16 + ch - 65 + 10; + } else if (ch >= 97 && ch <= 102) { + value2 = value2 * 16 + ch - 97 + 10; + } else { + break; + } + pos++; + digits++; + } + if (digits < count) { + value2 = -1; + } + return value2; + } + function setPosition(newPosition) { + pos = newPosition; + value = ""; + tokenOffset = 0; + token = 16; + scanError = 0; + } + function scanNumber() { + var start = pos; + if (text.charCodeAt(pos) === 48) { + pos++; + } else { + pos++; + while (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + } + } + if (pos < text.length && text.charCodeAt(pos) === 46) { + pos++; + if (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + while (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + } + } else { + scanError = 3; + return text.substring(start, pos); + } + } + var end = pos; + if (pos < text.length && (text.charCodeAt(pos) === 69 || text.charCodeAt(pos) === 101)) { + pos++; + if (pos < text.length && text.charCodeAt(pos) === 43 || text.charCodeAt(pos) === 45) { + pos++; + } + if (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + while (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + } + end = pos; + } else { + scanError = 3; + } + } + return text.substring(start, end); + } + function scanString() { + var result = "", + start = pos; + while (true) { + if (pos >= len) { + result += text.substring(start, pos); + scanError = 2; + break; + } + var ch = text.charCodeAt(pos); + if (ch === 34) { + result += text.substring(start, pos); + pos++; + break; + } + if (ch === 92) { + result += text.substring(start, pos); + pos++; + if (pos >= len) { + scanError = 2; + break; + } + var ch2 = text.charCodeAt(pos++); + switch (ch2) { + case 34: + result += '"'; + break; + case 92: + result += "\\"; + break; + case 47: + result += "/"; + break; + case 98: + result += "\b"; + break; + case 102: + result += "\f"; + break; + case 110: + result += "\n"; + break; + case 114: + result += "\r"; + break; + case 116: + result += " "; + break; + case 117: + var ch3 = scanHexDigits(4, true); + if (ch3 >= 0) { + result += String.fromCharCode(ch3); + } else { + scanError = 4; + } + break; + default: + scanError = 5; + } + start = pos; + continue; + } + if (ch >= 0 && ch <= 31) { + if (isLineBreak(ch)) { + result += text.substring(start, pos); + scanError = 2; + break; + } else { + scanError = 6; + } + } + pos++; + } + return result; + } + function scanNext() { + value = ""; + scanError = 0; + tokenOffset = pos; + lineStartOffset = lineNumber; + prevTokenLineStartOffset = tokenLineStartOffset; + if (pos >= len) { + tokenOffset = len; + return token = 17; + } + var code = text.charCodeAt(pos); + if (isWhiteSpace(code)) { + do { + pos++; + value += String.fromCharCode(code); + code = text.charCodeAt(pos); + } while (isWhiteSpace(code)); + return token = 15; + } + if (isLineBreak(code)) { + pos++; + value += String.fromCharCode(code); + if (code === 13 && text.charCodeAt(pos) === 10) { + pos++; + value += "\n"; + } + lineNumber++; + tokenLineStartOffset = pos; + return token = 14; + } + switch (code) { + case 123: + pos++; + return token = 1; + case 125: + pos++; + return token = 2; + case 91: + pos++; + return token = 3; + case 93: + pos++; + return token = 4; + case 58: + pos++; + return token = 6; + case 44: + pos++; + return token = 5; + case 34: + pos++; + value = scanString(); + return token = 10; + case 47: + var start = pos - 1; + if (text.charCodeAt(pos + 1) === 47) { + pos += 2; + while (pos < len) { + if (isLineBreak(text.charCodeAt(pos))) { + break; + } + pos++; + } + value = text.substring(start, pos); + return token = 12; + } + if (text.charCodeAt(pos + 1) === 42) { + pos += 2; + var safeLength = len - 1; + var commentClosed = false; + while (pos < safeLength) { + var ch = text.charCodeAt(pos); + if (ch === 42 && text.charCodeAt(pos + 1) === 47) { + pos += 2; + commentClosed = true; + break; + } + pos++; + if (isLineBreak(ch)) { + if (ch === 13 && text.charCodeAt(pos) === 10) { + pos++; + } + lineNumber++; + tokenLineStartOffset = pos; + } + } + if (!commentClosed) { + pos++; + scanError = 1; + } + value = text.substring(start, pos); + return token = 13; + } + value += String.fromCharCode(code); + pos++; + return token = 16; + case 45: + value += String.fromCharCode(code); + pos++; + if (pos === len || !isDigit(text.charCodeAt(pos))) { + return token = 16; + } + case 48: + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + value += scanNumber(); + return token = 11; + default: + while (pos < len && isUnknownContentCharacter(code)) { + pos++; + code = text.charCodeAt(pos); + } + if (tokenOffset !== pos) { + value = text.substring(tokenOffset, pos); + switch (value) { + case "true": + return token = 8; + case "false": + return token = 9; + case "null": + return token = 7; + } + return token = 16; + } + value += String.fromCharCode(code); + pos++; + return token = 16; + } + } + function isUnknownContentCharacter(code) { + if (isWhiteSpace(code) || isLineBreak(code)) { + return false; + } + switch (code) { + case 125: + case 93: + case 123: + case 91: + case 34: + case 58: + case 44: + case 47: + return false; + } + return true; + } + function scanNextNonTrivia() { + var result; + do { + result = scanNext(); + } while (result >= 12 && result <= 15); + return result; + } + return { + setPosition: setPosition, + getPosition: function getPosition() { + return pos; + }, + scan: ignoreTrivia ? scanNextNonTrivia : scanNext, + getToken: function getToken() { + return token; + }, + getTokenValue: function getTokenValue() { + return value; + }, + getTokenOffset: function getTokenOffset() { + return tokenOffset; + }, + getTokenLength: function getTokenLength() { + return pos - tokenOffset; + }, + getTokenStartLine: function getTokenStartLine() { + return lineStartOffset; + }, + getTokenStartCharacter: function getTokenStartCharacter() { + return tokenOffset - prevTokenLineStartOffset; + }, + getTokenError: function getTokenError() { + return scanError; + } + }; +} +function isWhiteSpace(ch) { + return ch === 32 || ch === 9; +} +function isLineBreak(ch) { + return ch === 10 || ch === 13; +} +function isDigit(ch) { + return ch >= 48 && ch <= 57; +} +var CharacterCodes; +(function (CharacterCodes2) { + CharacterCodes2[CharacterCodes2["lineFeed"] = 10] = "lineFeed"; + CharacterCodes2[CharacterCodes2["carriageReturn"] = 13] = "carriageReturn"; + CharacterCodes2[CharacterCodes2["space"] = 32] = "space"; + CharacterCodes2[CharacterCodes2["_0"] = 48] = "_0"; + CharacterCodes2[CharacterCodes2["_1"] = 49] = "_1"; + CharacterCodes2[CharacterCodes2["_2"] = 50] = "_2"; + CharacterCodes2[CharacterCodes2["_3"] = 51] = "_3"; + CharacterCodes2[CharacterCodes2["_4"] = 52] = "_4"; + CharacterCodes2[CharacterCodes2["_5"] = 53] = "_5"; + CharacterCodes2[CharacterCodes2["_6"] = 54] = "_6"; + CharacterCodes2[CharacterCodes2["_7"] = 55] = "_7"; + CharacterCodes2[CharacterCodes2["_8"] = 56] = "_8"; + CharacterCodes2[CharacterCodes2["_9"] = 57] = "_9"; + CharacterCodes2[CharacterCodes2["a"] = 97] = "a"; + CharacterCodes2[CharacterCodes2["b"] = 98] = "b"; + CharacterCodes2[CharacterCodes2["c"] = 99] = "c"; + CharacterCodes2[CharacterCodes2["d"] = 100] = "d"; + CharacterCodes2[CharacterCodes2["e"] = 101] = "e"; + CharacterCodes2[CharacterCodes2["f"] = 102] = "f"; + CharacterCodes2[CharacterCodes2["g"] = 103] = "g"; + CharacterCodes2[CharacterCodes2["h"] = 104] = "h"; + CharacterCodes2[CharacterCodes2["i"] = 105] = "i"; + CharacterCodes2[CharacterCodes2["j"] = 106] = "j"; + CharacterCodes2[CharacterCodes2["k"] = 107] = "k"; + CharacterCodes2[CharacterCodes2["l"] = 108] = "l"; + CharacterCodes2[CharacterCodes2["m"] = 109] = "m"; + CharacterCodes2[CharacterCodes2["n"] = 110] = "n"; + CharacterCodes2[CharacterCodes2["o"] = 111] = "o"; + CharacterCodes2[CharacterCodes2["p"] = 112] = "p"; + CharacterCodes2[CharacterCodes2["q"] = 113] = "q"; + CharacterCodes2[CharacterCodes2["r"] = 114] = "r"; + CharacterCodes2[CharacterCodes2["s"] = 115] = "s"; + CharacterCodes2[CharacterCodes2["t"] = 116] = "t"; + CharacterCodes2[CharacterCodes2["u"] = 117] = "u"; + CharacterCodes2[CharacterCodes2["v"] = 118] = "v"; + CharacterCodes2[CharacterCodes2["w"] = 119] = "w"; + CharacterCodes2[CharacterCodes2["x"] = 120] = "x"; + CharacterCodes2[CharacterCodes2["y"] = 121] = "y"; + CharacterCodes2[CharacterCodes2["z"] = 122] = "z"; + CharacterCodes2[CharacterCodes2["A"] = 65] = "A"; + CharacterCodes2[CharacterCodes2["B"] = 66] = "B"; + CharacterCodes2[CharacterCodes2["C"] = 67] = "C"; + CharacterCodes2[CharacterCodes2["D"] = 68] = "D"; + CharacterCodes2[CharacterCodes2["E"] = 69] = "E"; + CharacterCodes2[CharacterCodes2["F"] = 70] = "F"; + CharacterCodes2[CharacterCodes2["G"] = 71] = "G"; + CharacterCodes2[CharacterCodes2["H"] = 72] = "H"; + CharacterCodes2[CharacterCodes2["I"] = 73] = "I"; + CharacterCodes2[CharacterCodes2["J"] = 74] = "J"; + CharacterCodes2[CharacterCodes2["K"] = 75] = "K"; + CharacterCodes2[CharacterCodes2["L"] = 76] = "L"; + CharacterCodes2[CharacterCodes2["M"] = 77] = "M"; + CharacterCodes2[CharacterCodes2["N"] = 78] = "N"; + CharacterCodes2[CharacterCodes2["O"] = 79] = "O"; + CharacterCodes2[CharacterCodes2["P"] = 80] = "P"; + CharacterCodes2[CharacterCodes2["Q"] = 81] = "Q"; + CharacterCodes2[CharacterCodes2["R"] = 82] = "R"; + CharacterCodes2[CharacterCodes2["S"] = 83] = "S"; + CharacterCodes2[CharacterCodes2["T"] = 84] = "T"; + CharacterCodes2[CharacterCodes2["U"] = 85] = "U"; + CharacterCodes2[CharacterCodes2["V"] = 86] = "V"; + CharacterCodes2[CharacterCodes2["W"] = 87] = "W"; + CharacterCodes2[CharacterCodes2["X"] = 88] = "X"; + CharacterCodes2[CharacterCodes2["Y"] = 89] = "Y"; + CharacterCodes2[CharacterCodes2["Z"] = 90] = "Z"; + CharacterCodes2[CharacterCodes2["asterisk"] = 42] = "asterisk"; + CharacterCodes2[CharacterCodes2["backslash"] = 92] = "backslash"; + CharacterCodes2[CharacterCodes2["closeBrace"] = 125] = "closeBrace"; + CharacterCodes2[CharacterCodes2["closeBracket"] = 93] = "closeBracket"; + CharacterCodes2[CharacterCodes2["colon"] = 58] = "colon"; + CharacterCodes2[CharacterCodes2["comma"] = 44] = "comma"; + CharacterCodes2[CharacterCodes2["dot"] = 46] = "dot"; + CharacterCodes2[CharacterCodes2["doubleQuote"] = 34] = "doubleQuote"; + CharacterCodes2[CharacterCodes2["minus"] = 45] = "minus"; + CharacterCodes2[CharacterCodes2["openBrace"] = 123] = "openBrace"; + CharacterCodes2[CharacterCodes2["openBracket"] = 91] = "openBracket"; + CharacterCodes2[CharacterCodes2["plus"] = 43] = "plus"; + CharacterCodes2[CharacterCodes2["slash"] = 47] = "slash"; + CharacterCodes2[CharacterCodes2["formFeed"] = 12] = "formFeed"; + CharacterCodes2[CharacterCodes2["tab"] = 9] = "tab"; +})(CharacterCodes || (CharacterCodes = {})); +var cachedSpaces = new Array(20).fill(0).map(function (_, index) { + return " ".repeat(index); +}); +var maxCachedValues = 200; +var cachedBreakLinesWithSpaces = { + " ": { + "\n": new Array(maxCachedValues).fill(0).map(function (_, index) { + return "\n" + " ".repeat(index); + }), + "\r": new Array(maxCachedValues).fill(0).map(function (_, index) { + return "\r" + " ".repeat(index); + }), + "\r\n": new Array(maxCachedValues).fill(0).map(function (_, index) { + return "\r\n" + " ".repeat(index); + }) + }, + " ": { + "\n": new Array(maxCachedValues).fill(0).map(function (_, index) { + return "\n" + " ".repeat(index); + }), + "\r": new Array(maxCachedValues).fill(0).map(function (_, index) { + return "\r" + " ".repeat(index); + }), + "\r\n": new Array(maxCachedValues).fill(0).map(function (_, index) { + return "\r\n" + " ".repeat(index); + }) + } +}; +var supportedEols = ["\n", "\r", "\r\n"]; +function format(documentText, range, options) { + var initialIndentLevel; + var formatText; + var formatTextStart; + var rangeStart; + var rangeEnd; + if (range) { + rangeStart = range.offset; + rangeEnd = rangeStart + range.length; + formatTextStart = rangeStart; + while (formatTextStart > 0 && !isEOL(documentText, formatTextStart - 1)) { + formatTextStart--; + } + var endOffset = rangeEnd; + while (endOffset < documentText.length && !isEOL(documentText, endOffset)) { + endOffset++; + } + formatText = documentText.substring(formatTextStart, endOffset); + initialIndentLevel = computeIndentLevel(formatText, options); + } else { + formatText = documentText; + initialIndentLevel = 0; + formatTextStart = 0; + rangeStart = 0; + rangeEnd = documentText.length; + } + var eol = getEOL(options, documentText); + var eolFastPathSupported = supportedEols.includes(eol); + var numberLineBreaks = 0; + var indentLevel = 0; + var indentValue; + if (options.insertSpaces) { + var _cachedSpaces; + indentValue = (_cachedSpaces = cachedSpaces[options.tabSize || 4]) !== null && _cachedSpaces !== void 0 ? _cachedSpaces : repeat(cachedSpaces[1], options.tabSize || 4); + } else { + indentValue = " "; + } + var indentType = indentValue === " " ? " " : " "; + var scanner = createScanner(formatText, false); + var hasError = false; + function newLinesAndIndent() { + if (numberLineBreaks > 1) { + return repeat(eol, numberLineBreaks) + repeat(indentValue, initialIndentLevel + indentLevel); + } + var amountOfSpaces = indentValue.length * (initialIndentLevel + indentLevel); + if (!eolFastPathSupported || amountOfSpaces > cachedBreakLinesWithSpaces[indentType][eol].length) { + return eol + repeat(indentValue, initialIndentLevel + indentLevel); + } + if (amountOfSpaces <= 0) { + return eol; + } + return cachedBreakLinesWithSpaces[indentType][eol][amountOfSpaces]; + } + function scanNext() { + var token = scanner.scan(); + numberLineBreaks = 0; + while (token === 15 || token === 14) { + if (token === 14 && options.keepLines) { + numberLineBreaks += 1; + } else if (token === 14) { + numberLineBreaks = 1; + } + token = scanner.scan(); + } + hasError = token === 16 || scanner.getTokenError() !== 0; + return token; + } + var editOperations = []; + function addEdit(text, startOffset, endOffset) { + if (!hasError && (!range || startOffset < rangeEnd && endOffset > rangeStart) && documentText.substring(startOffset, endOffset) !== text) { + editOperations.push({ + offset: startOffset, + length: endOffset - startOffset, + content: text + }); + } + } + var firstToken = scanNext(); + if (options.keepLines && numberLineBreaks > 0) { + addEdit(repeat(eol, numberLineBreaks), 0, 0); + } + if (firstToken !== 17) { + var firstTokenStart = scanner.getTokenOffset() + formatTextStart; + var initialIndent = indentValue.length * initialIndentLevel < 20 && options.insertSpaces ? cachedSpaces[indentValue.length * initialIndentLevel] : repeat(indentValue, initialIndentLevel); + addEdit(initialIndent, formatTextStart, firstTokenStart); + } + while (firstToken !== 17) { + var firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart; + var secondToken = scanNext(); + var replaceContent = ""; + var needsLineBreak = false; + while (numberLineBreaks === 0 && (secondToken === 12 || secondToken === 13)) { + var commentTokenStart = scanner.getTokenOffset() + formatTextStart; + addEdit(cachedSpaces[1], firstTokenEnd, commentTokenStart); + firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart; + needsLineBreak = secondToken === 12; + replaceContent = needsLineBreak ? newLinesAndIndent() : ""; + secondToken = scanNext(); + } + if (secondToken === 2) { + if (firstToken !== 1) { + indentLevel--; + } + ; + if (options.keepLines && numberLineBreaks > 0 || !options.keepLines && firstToken !== 1) { + replaceContent = newLinesAndIndent(); + } else if (options.keepLines) { + replaceContent = cachedSpaces[1]; + } + } else if (secondToken === 4) { + if (firstToken !== 3) { + indentLevel--; + } + ; + if (options.keepLines && numberLineBreaks > 0 || !options.keepLines && firstToken !== 3) { + replaceContent = newLinesAndIndent(); + } else if (options.keepLines) { + replaceContent = cachedSpaces[1]; + } + } else { + switch (firstToken) { + case 3: + case 1: + indentLevel++; + if (options.keepLines && numberLineBreaks > 0 || !options.keepLines) { + replaceContent = newLinesAndIndent(); + } else { + replaceContent = cachedSpaces[1]; + } + break; + case 5: + if (options.keepLines && numberLineBreaks > 0 || !options.keepLines) { + replaceContent = newLinesAndIndent(); + } else { + replaceContent = cachedSpaces[1]; + } + break; + case 12: + replaceContent = newLinesAndIndent(); + break; + case 13: + if (numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else if (!needsLineBreak) { + replaceContent = cachedSpaces[1]; + } + break; + case 6: + if (options.keepLines && numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else if (!needsLineBreak) { + replaceContent = cachedSpaces[1]; + } + break; + case 10: + if (options.keepLines && numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else if (secondToken === 6 && !needsLineBreak) { + replaceContent = ""; + } + break; + case 7: + case 8: + case 9: + case 11: + case 2: + case 4: + if (options.keepLines && numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else { + if ((secondToken === 12 || secondToken === 13) && !needsLineBreak) { + replaceContent = cachedSpaces[1]; + } else if (secondToken !== 5 && secondToken !== 17) { + hasError = true; + } + } + break; + case 16: + hasError = true; + break; + } + if (numberLineBreaks > 0 && (secondToken === 12 || secondToken === 13)) { + replaceContent = newLinesAndIndent(); + } + } + if (secondToken === 17) { + if (options.keepLines && numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else { + replaceContent = options.insertFinalNewline ? eol : ""; + } + } + var secondTokenStart = scanner.getTokenOffset() + formatTextStart; + addEdit(replaceContent, firstTokenEnd, secondTokenStart); + firstToken = secondToken; + } + return editOperations; +} +function repeat(s, count) { + var result = ""; + for (var i = 0; i < count; i++) { + result += s; + } + return result; +} +function computeIndentLevel(content, options) { + var i = 0; + var nChars = 0; + var tabSize = options.tabSize || 4; + while (i < content.length) { + var ch = content.charAt(i); + if (ch === cachedSpaces[1]) { + nChars++; + } else if (ch === " ") { + nChars += tabSize; + } else { + break; + } + i++; + } + return Math.floor(nChars / tabSize); +} +function getEOL(options, text) { + for (var i = 0; i < text.length; i++) { + var ch = text.charAt(i); + if (ch === "\r") { + if (i + 1 < text.length && text.charAt(i + 1) === "\n") { + return "\r\n"; + } + return "\r"; + } else if (ch === "\n") { + return "\n"; + } + } + return options && options.eol || "\n"; +} +function isEOL(text, offset) { + return "\r\n".indexOf(text.charAt(offset)) !== -1; +} +var ParseOptions; +(function (ParseOptions2) { + ParseOptions2.DEFAULT = { + allowTrailingComma: false + }; +})(ParseOptions || (ParseOptions = {})); +function getLocation(text, position) { + var segments = []; + var earlyReturnException = new Object(); + var previousNode = void 0; + var previousNodeInst = { + value: {}, + offset: 0, + length: 0, + type: "object", + parent: void 0 + }; + var isAtPropertyKey = false; + function setPreviousNode(value, offset, length, type) { + previousNodeInst.value = value; + previousNodeInst.offset = offset; + previousNodeInst.length = length; + previousNodeInst.type = type; + previousNodeInst.colonOffset = void 0; + previousNode = previousNodeInst; + } + try { + visit(text, { + onObjectBegin: function onObjectBegin(offset, length) { + if (position <= offset) { + throw earlyReturnException; + } + previousNode = void 0; + isAtPropertyKey = position > offset; + segments.push(""); + }, + onObjectProperty: function onObjectProperty(name, offset, length) { + if (position < offset) { + throw earlyReturnException; + } + setPreviousNode(name, offset, length, "property"); + segments[segments.length - 1] = name; + if (position <= offset + length) { + throw earlyReturnException; + } + }, + onObjectEnd: function onObjectEnd(offset, length) { + if (position <= offset) { + throw earlyReturnException; + } + previousNode = void 0; + segments.pop(); + }, + onArrayBegin: function onArrayBegin(offset, length) { + if (position <= offset) { + throw earlyReturnException; + } + previousNode = void 0; + segments.push(0); + }, + onArrayEnd: function onArrayEnd(offset, length) { + if (position <= offset) { + throw earlyReturnException; + } + previousNode = void 0; + segments.pop(); + }, + onLiteralValue: function onLiteralValue(value, offset, length) { + if (position < offset) { + throw earlyReturnException; + } + setPreviousNode(value, offset, length, getNodeType(value)); + if (position <= offset + length) { + throw earlyReturnException; + } + }, + onSeparator: function onSeparator(sep, offset, length) { + if (position <= offset) { + throw earlyReturnException; + } + if (sep === ":" && previousNode && previousNode.type === "property") { + previousNode.colonOffset = offset; + isAtPropertyKey = false; + previousNode = void 0; + } else if (sep === ",") { + var last = segments[segments.length - 1]; + if (typeof last === "number") { + segments[segments.length - 1] = last + 1; + } else { + isAtPropertyKey = true; + segments[segments.length - 1] = ""; + } + previousNode = void 0; + } + } + }); + } catch (e) { + if (e !== earlyReturnException) { + throw e; + } + } + return { + path: segments, + previousNode: previousNode, + isAtPropertyKey: isAtPropertyKey, + matches: function matches(pattern) { + var k = 0; + for (var i = 0; k < pattern.length && i < segments.length; i++) { + if (pattern[k] === segments[i] || pattern[k] === "*") { + k++; + } else if (pattern[k] !== "**") { + return false; + } + } + return k === pattern.length; + } + }; +} +function parse(text) { + var errors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ParseOptions.DEFAULT; + var currentProperty = null; + var currentParent = []; + var previousParents = []; + function onValue(value) { + if (Array.isArray(currentParent)) { + currentParent.push(value); + } else if (currentProperty !== null) { + currentParent[currentProperty] = value; + } + } + var visitor = { + onObjectBegin: function onObjectBegin() { + var object = {}; + onValue(object); + previousParents.push(currentParent); + currentParent = object; + currentProperty = null; + }, + onObjectProperty: function onObjectProperty(name) { + currentProperty = name; + }, + onObjectEnd: function onObjectEnd() { + currentParent = previousParents.pop(); + }, + onArrayBegin: function onArrayBegin() { + var array = []; + onValue(array); + previousParents.push(currentParent); + currentParent = array; + currentProperty = null; + }, + onArrayEnd: function onArrayEnd() { + currentParent = previousParents.pop(); + }, + onLiteralValue: onValue, + onError: function onError(error, offset, length) { + errors.push({ + error: error, + offset: offset, + length: length + }); + } + }; + visit(text, visitor, options); + return currentParent[0]; +} +function parseTree(text) { + var errors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ParseOptions.DEFAULT; + var currentParent = { + type: "array", + offset: -1, + length: -1, + children: [], + parent: void 0 + }; + function ensurePropertyComplete(endOffset) { + if (currentParent.type === "property") { + currentParent.length = endOffset - currentParent.offset; + currentParent = currentParent.parent; + } + } + function onValue(valueNode) { + currentParent.children.push(valueNode); + return valueNode; + } + var visitor = { + onObjectBegin: function onObjectBegin(offset) { + currentParent = onValue({ + type: "object", + offset: offset, + length: -1, + parent: currentParent, + children: [] + }); + }, + onObjectProperty: function onObjectProperty(name, offset, length) { + currentParent = onValue({ + type: "property", + offset: offset, + length: -1, + parent: currentParent, + children: [] + }); + currentParent.children.push({ + type: "string", + value: name, + offset: offset, + length: length, + parent: currentParent + }); + }, + onObjectEnd: function onObjectEnd(offset, length) { + ensurePropertyComplete(offset + length); + currentParent.length = offset + length - currentParent.offset; + currentParent = currentParent.parent; + ensurePropertyComplete(offset + length); + }, + onArrayBegin: function onArrayBegin(offset, length) { + currentParent = onValue({ + type: "array", + offset: offset, + length: -1, + parent: currentParent, + children: [] + }); + }, + onArrayEnd: function onArrayEnd(offset, length) { + currentParent.length = offset + length - currentParent.offset; + currentParent = currentParent.parent; + ensurePropertyComplete(offset + length); + }, + onLiteralValue: function onLiteralValue(value, offset, length) { + onValue({ + type: getNodeType(value), + offset: offset, + length: length, + parent: currentParent, + value: value + }); + ensurePropertyComplete(offset + length); + }, + onSeparator: function onSeparator(sep, offset, length) { + if (currentParent.type === "property") { + if (sep === ":") { + currentParent.colonOffset = offset; + } else if (sep === ",") { + ensurePropertyComplete(offset); + } + } + }, + onError: function onError(error, offset, length) { + errors.push({ + error: error, + offset: offset, + length: length + }); + } + }; + visit(text, visitor, options); + var result = currentParent.children[0]; + if (result) { + delete result.parent; + } + return result; +} +function findNodeAtLocation(root, path) { + if (!root) { + return void 0; + } + var node = root; + var _iterator = _createForOfIteratorHelper(path), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var segment = _step.value; + if (typeof segment === "string") { + if (node.type !== "object" || !Array.isArray(node.children)) { + return void 0; + } + var found = false; + var _iterator2 = _createForOfIteratorHelper(node.children), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var propertyNode = _step2.value; + if (Array.isArray(propertyNode.children) && propertyNode.children[0].value === segment && propertyNode.children.length === 2) { + node = propertyNode.children[1]; + found = true; + break; + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + if (!found) { + return void 0; + } + } else { + var index = segment; + if (node.type !== "array" || index < 0 || !Array.isArray(node.children) || index >= node.children.length) { + return void 0; + } + node = node.children[index]; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return node; +} +function getNodePath(node) { + if (!node.parent || !node.parent.children) { + return []; + } + var path = getNodePath(node.parent); + if (node.parent.type === "property") { + var key = node.parent.children[0].value; + path.push(key); + } else if (node.parent.type === "array") { + var index = node.parent.children.indexOf(node); + if (index !== -1) { + path.push(index); + } + } + return path; +} +function getNodeValue(node) { + switch (node.type) { + case "array": + return node.children.map(getNodeValue); + case "object": + var obj = Object.create(null); + var _iterator3 = _createForOfIteratorHelper(node.children), + _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var prop = _step3.value; + var valueNode = prop.children[1]; + if (valueNode) { + obj[prop.children[0].value] = getNodeValue(valueNode); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + return obj; + case "null": + case "string": + case "number": + case "boolean": + return node.value; + default: + return void 0; + } +} +function contains(node, offset) { + var includeRightBound = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + return offset >= node.offset && offset < node.offset + node.length || includeRightBound && offset === node.offset + node.length; +} +function findNodeAtOffset(node, offset) { + var includeRightBound = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + if (contains(node, offset, includeRightBound)) { + var children = node.children; + if (Array.isArray(children)) { + for (var i = 0; i < children.length && children[i].offset <= offset; i++) { + var item = findNodeAtOffset(children[i], offset, includeRightBound); + if (item) { + return item; + } + } + } + return node; + } + return void 0; +} +function visit(text, visitor) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ParseOptions.DEFAULT; + var _scanner = createScanner(text, false); + var _jsonPath = []; + var suppressedCallbacks = 0; + function toNoArgVisit(visitFunction) { + return visitFunction ? function () { + return suppressedCallbacks === 0 && visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()); + } : function () { + return true; + }; + } + function toOneArgVisit(visitFunction) { + return visitFunction ? function (arg) { + return suppressedCallbacks === 0 && visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()); + } : function () { + return true; + }; + } + function toOneArgVisitWithPath(visitFunction) { + return visitFunction ? function (arg) { + return suppressedCallbacks === 0 && visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), function () { + return _jsonPath.slice(); + }); + } : function () { + return true; + }; + } + function toBeginVisit(visitFunction) { + return visitFunction ? function () { + if (suppressedCallbacks > 0) { + suppressedCallbacks++; + } else { + var cbReturn = visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), function () { + return _jsonPath.slice(); + }); + if (cbReturn === false) { + suppressedCallbacks = 1; + } + } + } : function () { + return true; + }; + } + function toEndVisit(visitFunction) { + return visitFunction ? function () { + if (suppressedCallbacks > 0) { + suppressedCallbacks--; + } + if (suppressedCallbacks === 0) { + visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()); + } + } : function () { + return true; + }; + } + var onObjectBegin = toBeginVisit(visitor.onObjectBegin), + onObjectProperty = toOneArgVisitWithPath(visitor.onObjectProperty), + onObjectEnd = toEndVisit(visitor.onObjectEnd), + onArrayBegin = toBeginVisit(visitor.onArrayBegin), + onArrayEnd = toEndVisit(visitor.onArrayEnd), + onLiteralValue = toOneArgVisitWithPath(visitor.onLiteralValue), + onSeparator = toOneArgVisit(visitor.onSeparator), + onComment = toNoArgVisit(visitor.onComment), + onError = toOneArgVisit(visitor.onError); + var disallowComments = options && options.disallowComments; + var allowTrailingComma = options && options.allowTrailingComma; + function scanNext() { + while (true) { + var token = _scanner.scan(); + switch (_scanner.getTokenError()) { + case 4: + handleError(14); + break; + case 5: + handleError(15); + break; + case 3: + handleError(13); + break; + case 1: + if (!disallowComments) { + handleError(11); + } + break; + case 2: + handleError(12); + break; + case 6: + handleError(16); + break; + } + switch (token) { + case 12: + case 13: + if (disallowComments) { + handleError(10); + } else { + onComment(); + } + break; + case 16: + handleError(1); + break; + case 15: + case 14: + break; + default: + return token; + } + } + } + function handleError(error) { + var skipUntilAfter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + var skipUntil = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; + onError(error); + if (skipUntilAfter.length + skipUntil.length > 0) { + var token = _scanner.getToken(); + while (token !== 17) { + if (skipUntilAfter.indexOf(token) !== -1) { + scanNext(); + break; + } else if (skipUntil.indexOf(token) !== -1) { + break; + } + token = scanNext(); + } + } + } + function parseString(isValue) { + var value = _scanner.getTokenValue(); + if (isValue) { + onLiteralValue(value); + } else { + onObjectProperty(value); + _jsonPath.push(value); + } + scanNext(); + return true; + } + function parseLiteral() { + switch (_scanner.getToken()) { + case 11: + var tokenValue = _scanner.getTokenValue(); + var value = Number(tokenValue); + if (isNaN(value)) { + handleError(2); + value = 0; + } + onLiteralValue(value); + break; + case 7: + onLiteralValue(null); + break; + case 8: + onLiteralValue(true); + break; + case 9: + onLiteralValue(false); + break; + default: + return false; + } + scanNext(); + return true; + } + function parseProperty() { + if (_scanner.getToken() !== 10) { + handleError(3, [], [2, 5]); + return false; + } + parseString(false); + if (_scanner.getToken() === 6) { + onSeparator(":"); + scanNext(); + if (!parseValue()) { + handleError(4, [], [2, 5]); + } + } else { + handleError(5, [], [2, 5]); + } + _jsonPath.pop(); + return true; + } + function parseObject() { + onObjectBegin(); + scanNext(); + var needsComma = false; + while (_scanner.getToken() !== 2 && _scanner.getToken() !== 17) { + if (_scanner.getToken() === 5) { + if (!needsComma) { + handleError(4, [], []); + } + onSeparator(","); + scanNext(); + if (_scanner.getToken() === 2 && allowTrailingComma) { + break; + } + } else if (needsComma) { + handleError(6, [], []); + } + if (!parseProperty()) { + handleError(4, [], [2, 5]); + } + needsComma = true; + } + onObjectEnd(); + if (_scanner.getToken() !== 2) { + handleError(7, [2], []); + } else { + scanNext(); + } + return true; + } + function parseArray() { + onArrayBegin(); + scanNext(); + var isFirstElement = true; + var needsComma = false; + while (_scanner.getToken() !== 4 && _scanner.getToken() !== 17) { + if (_scanner.getToken() === 5) { + if (!needsComma) { + handleError(4, [], []); + } + onSeparator(","); + scanNext(); + if (_scanner.getToken() === 4 && allowTrailingComma) { + break; + } + } else if (needsComma) { + handleError(6, [], []); + } + if (isFirstElement) { + _jsonPath.push(0); + isFirstElement = false; + } else { + _jsonPath[_jsonPath.length - 1]++; + } + if (!parseValue()) { + handleError(4, [], [4, 5]); + } + needsComma = true; + } + onArrayEnd(); + if (!isFirstElement) { + _jsonPath.pop(); + } + if (_scanner.getToken() !== 4) { + handleError(8, [4], []); + } else { + scanNext(); + } + return true; + } + function parseValue() { + switch (_scanner.getToken()) { + case 3: + return parseArray(); + case 1: + return parseObject(); + case 10: + return parseString(true); + default: + return parseLiteral(); + } + } + scanNext(); + if (_scanner.getToken() === 17) { + if (options.allowEmptyContent) { + return true; + } + handleError(4, [], []); + return false; + } + if (!parseValue()) { + handleError(4, [], []); + return false; + } + if (_scanner.getToken() !== 17) { + handleError(9, [], []); + } + return true; +} +function stripComments(text, replaceCh) { + var _scanner = createScanner(text), + parts = [], + kind, + offset = 0, + pos; + do { + pos = _scanner.getPosition(); + kind = _scanner.scan(); + switch (kind) { + case 12: + case 13: + case 17: + if (offset !== pos) { + parts.push(text.substring(offset, pos)); + } + if (replaceCh !== void 0) { + parts.push(_scanner.getTokenValue().replace(/[^\r\n]/g, replaceCh)); + } + offset = _scanner.getPosition(); + break; + } + } while (kind !== 17); + return parts.join(""); +} +function getNodeType(value) { + switch (_typeof(value)) { + case "boolean": + return "boolean"; + case "number": + return "number"; + case "string": + return "string"; + case "object": + { + if (!value) { + return "null"; + } else if (Array.isArray(value)) { + return "array"; + } + return "object"; + } + default: + return "null"; + } +} +function setProperty(text, originalPath, value, options) { + var path = originalPath.slice(); + var errors = []; + var root = parseTree(text, errors); + var parent = void 0; + var lastSegment = void 0; + while (path.length > 0) { + lastSegment = path.pop(); + parent = findNodeAtLocation(root, path); + if (parent === void 0 && value !== void 0) { + if (typeof lastSegment === "string") { + value = _defineProperty({}, lastSegment, value); + } else { + value = [value]; + } + } else { + break; + } + } + if (!parent) { + if (value === void 0) { + throw new Error("Can not delete in empty document"); + } + return withFormatting(text, { + offset: root ? root.offset : 0, + length: root ? root.length : 0, + content: JSON.stringify(value) + }, options); + } else if (parent.type === "object" && typeof lastSegment === "string" && Array.isArray(parent.children)) { + var existing = findNodeAtLocation(parent, [lastSegment]); + if (existing !== void 0) { + if (value === void 0) { + if (!existing.parent) { + throw new Error("Malformed AST"); + } + var propertyIndex = parent.children.indexOf(existing.parent); + var removeBegin; + var removeEnd = existing.parent.offset + existing.parent.length; + if (propertyIndex > 0) { + var previous = parent.children[propertyIndex - 1]; + removeBegin = previous.offset + previous.length; + } else { + removeBegin = parent.offset + 1; + if (parent.children.length > 1) { + var next = parent.children[1]; + removeEnd = next.offset; + } + } + return withFormatting(text, { + offset: removeBegin, + length: removeEnd - removeBegin, + content: "" + }, options); + } else { + return withFormatting(text, { + offset: existing.offset, + length: existing.length, + content: JSON.stringify(value) + }, options); + } + } else { + if (value === void 0) { + return []; + } + var newProperty = "".concat(JSON.stringify(lastSegment), ": ").concat(JSON.stringify(value)); + var index = options.getInsertionIndex ? options.getInsertionIndex(parent.children.map(function (p) { + return p.children[0].value; + })) : parent.children.length; + var edit; + if (index > 0) { + var _previous = parent.children[index - 1]; + edit = { + offset: _previous.offset + _previous.length, + length: 0, + content: "," + newProperty + }; + } else if (parent.children.length === 0) { + edit = { + offset: parent.offset + 1, + length: 0, + content: newProperty + }; + } else { + edit = { + offset: parent.offset + 1, + length: 0, + content: newProperty + "," + }; + } + return withFormatting(text, edit, options); + } + } else if (parent.type === "array" && typeof lastSegment === "number" && Array.isArray(parent.children)) { + var insertIndex = lastSegment; + if (insertIndex === -1) { + var _newProperty = "".concat(JSON.stringify(value)); + var _edit; + if (parent.children.length === 0) { + _edit = { + offset: parent.offset + 1, + length: 0, + content: _newProperty + }; + } else { + var _previous2 = parent.children[parent.children.length - 1]; + _edit = { + offset: _previous2.offset + _previous2.length, + length: 0, + content: "," + _newProperty + }; + } + return withFormatting(text, _edit, options); + } else if (value === void 0 && parent.children.length >= 0) { + var removalIndex = lastSegment; + var toRemove = parent.children[removalIndex]; + var _edit2; + if (parent.children.length === 1) { + _edit2 = { + offset: parent.offset + 1, + length: parent.length - 2, + content: "" + }; + } else if (parent.children.length - 1 === removalIndex) { + var _previous3 = parent.children[removalIndex - 1]; + var offset = _previous3.offset + _previous3.length; + var parentEndOffset = parent.offset + parent.length; + _edit2 = { + offset: offset, + length: parentEndOffset - 2 - offset, + content: "" + }; + } else { + _edit2 = { + offset: toRemove.offset, + length: parent.children[removalIndex + 1].offset - toRemove.offset, + content: "" + }; + } + return withFormatting(text, _edit2, options); + } else if (value !== void 0) { + var _edit3; + var _newProperty2 = "".concat(JSON.stringify(value)); + if (!options.isArrayInsertion && parent.children.length > lastSegment) { + var toModify = parent.children[lastSegment]; + _edit3 = { + offset: toModify.offset, + length: toModify.length, + content: _newProperty2 + }; + } else if (parent.children.length === 0 || lastSegment === 0) { + _edit3 = { + offset: parent.offset + 1, + length: 0, + content: parent.children.length === 0 ? _newProperty2 : _newProperty2 + "," + }; + } else { + var _index = lastSegment > parent.children.length ? parent.children.length : lastSegment; + var _previous4 = parent.children[_index - 1]; + _edit3 = { + offset: _previous4.offset + _previous4.length, + length: 0, + content: "," + _newProperty2 + }; + } + return withFormatting(text, _edit3, options); + } else { + throw new Error("Can not ".concat(value === void 0 ? "remove" : options.isArrayInsertion ? "insert" : "modify", " Array index ").concat(insertIndex, " as length is not sufficient")); + } + } else { + throw new Error("Can not add ".concat(typeof lastSegment !== "number" ? "index" : "property", " to parent of type ").concat(parent.type)); + } +} +function withFormatting(text, edit, options) { + if (!options.formattingOptions) { + return [edit]; + } + var newText = applyEdit(text, edit); + var begin = edit.offset; + var end = edit.offset + edit.content.length; + if (edit.length === 0 || edit.content.length === 0) { + while (begin > 0 && !isEOL(newText, begin - 1)) { + begin--; + } + while (end < newText.length && !isEOL(newText, end)) { + end++; + } + } + var edits = format(newText, { + offset: begin, + length: end - begin + }, _objectSpread(_objectSpread({}, options.formattingOptions), {}, { + keepLines: false + })); + for (var i = edits.length - 1; i >= 0; i--) { + var edit2 = edits[i]; + newText = applyEdit(newText, edit2); + begin = Math.min(begin, edit2.offset); + end = Math.max(end, edit2.offset + edit2.length); + end += edit2.content.length - edit2.length; + } + var editLength = text.length - (newText.length - end) - begin; + return [{ + offset: begin, + length: editLength, + content: newText.substring(begin, end) + }]; +} +function applyEdit(text, edit) { + return text.substring(0, edit.offset) + edit.content + text.substring(edit.offset + edit.length); +} +var createScanner2 = createScanner; +var ScanError; +(function (ScanError2) { + ScanError2[ScanError2["None"] = 0] = "None"; + ScanError2[ScanError2["UnexpectedEndOfComment"] = 1] = "UnexpectedEndOfComment"; + ScanError2[ScanError2["UnexpectedEndOfString"] = 2] = "UnexpectedEndOfString"; + ScanError2[ScanError2["UnexpectedEndOfNumber"] = 3] = "UnexpectedEndOfNumber"; + ScanError2[ScanError2["InvalidUnicode"] = 4] = "InvalidUnicode"; + ScanError2[ScanError2["InvalidEscapeCharacter"] = 5] = "InvalidEscapeCharacter"; + ScanError2[ScanError2["InvalidCharacter"] = 6] = "InvalidCharacter"; +})(ScanError || (ScanError = {})); +var SyntaxKind; +(function (SyntaxKind2) { + SyntaxKind2[SyntaxKind2["OpenBraceToken"] = 1] = "OpenBraceToken"; + SyntaxKind2[SyntaxKind2["CloseBraceToken"] = 2] = "CloseBraceToken"; + SyntaxKind2[SyntaxKind2["OpenBracketToken"] = 3] = "OpenBracketToken"; + SyntaxKind2[SyntaxKind2["CloseBracketToken"] = 4] = "CloseBracketToken"; + SyntaxKind2[SyntaxKind2["CommaToken"] = 5] = "CommaToken"; + SyntaxKind2[SyntaxKind2["ColonToken"] = 6] = "ColonToken"; + SyntaxKind2[SyntaxKind2["NullKeyword"] = 7] = "NullKeyword"; + SyntaxKind2[SyntaxKind2["TrueKeyword"] = 8] = "TrueKeyword"; + SyntaxKind2[SyntaxKind2["FalseKeyword"] = 9] = "FalseKeyword"; + SyntaxKind2[SyntaxKind2["StringLiteral"] = 10] = "StringLiteral"; + SyntaxKind2[SyntaxKind2["NumericLiteral"] = 11] = "NumericLiteral"; + SyntaxKind2[SyntaxKind2["LineCommentTrivia"] = 12] = "LineCommentTrivia"; + SyntaxKind2[SyntaxKind2["BlockCommentTrivia"] = 13] = "BlockCommentTrivia"; + SyntaxKind2[SyntaxKind2["LineBreakTrivia"] = 14] = "LineBreakTrivia"; + SyntaxKind2[SyntaxKind2["Trivia"] = 15] = "Trivia"; + SyntaxKind2[SyntaxKind2["Unknown"] = 16] = "Unknown"; + SyntaxKind2[SyntaxKind2["EOF"] = 17] = "EOF"; +})(SyntaxKind || (SyntaxKind = {})); +var getLocation2 = getLocation; +var parse2 = parse; +var parseTree2 = parseTree; +var findNodeAtLocation2 = findNodeAtLocation; +var findNodeAtOffset2 = findNodeAtOffset; +var getNodePath2 = getNodePath; +var getNodeValue2 = getNodeValue; +var visit2 = visit; +var stripComments2 = stripComments; +var ParseErrorCode; +(function (ParseErrorCode2) { + ParseErrorCode2[ParseErrorCode2["InvalidSymbol"] = 1] = "InvalidSymbol"; + ParseErrorCode2[ParseErrorCode2["InvalidNumberFormat"] = 2] = "InvalidNumberFormat"; + ParseErrorCode2[ParseErrorCode2["PropertyNameExpected"] = 3] = "PropertyNameExpected"; + ParseErrorCode2[ParseErrorCode2["ValueExpected"] = 4] = "ValueExpected"; + ParseErrorCode2[ParseErrorCode2["ColonExpected"] = 5] = "ColonExpected"; + ParseErrorCode2[ParseErrorCode2["CommaExpected"] = 6] = "CommaExpected"; + ParseErrorCode2[ParseErrorCode2["CloseBraceExpected"] = 7] = "CloseBraceExpected"; + ParseErrorCode2[ParseErrorCode2["CloseBracketExpected"] = 8] = "CloseBracketExpected"; + ParseErrorCode2[ParseErrorCode2["EndOfFileExpected"] = 9] = "EndOfFileExpected"; + ParseErrorCode2[ParseErrorCode2["InvalidCommentToken"] = 10] = "InvalidCommentToken"; + ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfComment"] = 11] = "UnexpectedEndOfComment"; + ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfString"] = 12] = "UnexpectedEndOfString"; + ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfNumber"] = 13] = "UnexpectedEndOfNumber"; + ParseErrorCode2[ParseErrorCode2["InvalidUnicode"] = 14] = "InvalidUnicode"; + ParseErrorCode2[ParseErrorCode2["InvalidEscapeCharacter"] = 15] = "InvalidEscapeCharacter"; + ParseErrorCode2[ParseErrorCode2["InvalidCharacter"] = 16] = "InvalidCharacter"; +})(ParseErrorCode || (ParseErrorCode = {})); +function printParseErrorCode(code) { + switch (code) { + case 1: + return "InvalidSymbol"; + case 2: + return "InvalidNumberFormat"; + case 3: + return "PropertyNameExpected"; + case 4: + return "ValueExpected"; + case 5: + return "ColonExpected"; + case 6: + return "CommaExpected"; + case 7: + return "CloseBraceExpected"; + case 8: + return "CloseBracketExpected"; + case 9: + return "EndOfFileExpected"; + case 10: + return "InvalidCommentToken"; + case 11: + return "UnexpectedEndOfComment"; + case 12: + return "UnexpectedEndOfString"; + case 13: + return "UnexpectedEndOfNumber"; + case 14: + return "InvalidUnicode"; + case 15: + return "InvalidEscapeCharacter"; + case 16: + return "InvalidCharacter"; + } + return ""; +} +function format2(documentText, range, options) { + return format(documentText, range, options); +} +function modify(text, path, value, options) { + return setProperty(text, path, value, options); +} +function applyEdits(text, edits) { + var sortedEdits = edits.slice(0).sort(function (a, b) { + var diff = a.offset - b.offset; + if (diff === 0) { + return a.length - b.length; + } + return diff; + }); + var lastModifiedOffset = text.length; + for (var i = sortedEdits.length - 1; i >= 0; i--) { + var e = sortedEdits[i]; + if (e.offset + e.length <= lastModifiedOffset) { + text = applyEdit(text, e); + } else { + throw new Error("Overlapping edit"); + } + lastModifiedOffset = e.offset; + } + return text; +} +export { ParseErrorCode, ScanError, SyntaxKind, applyEdits, createScanner2 as createScanner, findNodeAtLocation2 as findNodeAtLocation, findNodeAtOffset2 as findNodeAtOffset, format2 as format, getLocation2 as getLocation, getNodePath2 as getNodePath, getNodeValue2 as getNodeValue, modify, parse2 as parse, parseTree2 as parseTree, printParseErrorCode, stripComments2 as stripComments, visit2 as visit }; \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/esm/formats/yaml.js b/node_modules/i18next-fs-backend/esm/formats/yaml.js new file mode 100644 index 00000000..892163ea --- /dev/null +++ b/node_modules/i18next-fs-backend/esm/formats/yaml.js @@ -0,0 +1,2698 @@ +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ +function isNothing(subject) { + return typeof subject === 'undefined' || subject === null; +} +function isObject(subject) { + return _typeof(subject) === 'object' && subject !== null; +} +function toArray(sequence) { + if (Array.isArray(sequence)) return sequence;else if (isNothing(sequence)) return []; + return [sequence]; +} +function extend(target, source) { + var index, length, key, sourceKeys; + if (source) { + sourceKeys = Object.keys(source); + for (index = 0, length = sourceKeys.length; index < length; index += 1) { + key = sourceKeys[index]; + target[key] = source[key]; + } + } + return target; +} +function repeat(string, count) { + var result = '', + cycle; + for (cycle = 0; cycle < count; cycle += 1) { + result += string; + } + return result; +} +function isNegativeZero(number) { + return number === 0 && Number.NEGATIVE_INFINITY === 1 / number; +} +var isNothing_1 = isNothing; +var isObject_1 = isObject; +var toArray_1 = toArray; +var repeat_1 = repeat; +var isNegativeZero_1 = isNegativeZero; +var extend_1 = extend; +var common = { + isNothing: isNothing_1, + isObject: isObject_1, + toArray: toArray_1, + repeat: repeat_1, + isNegativeZero: isNegativeZero_1, + extend: extend_1 +}; +function formatError(exception, compact) { + var where = '', + message = exception.reason || '(unknown reason)'; + if (!exception.mark) return message; + if (exception.mark.name) { + where += 'in "' + exception.mark.name + '" '; + } + where += '(' + (exception.mark.line + 1) + ':' + (exception.mark.column + 1) + ')'; + if (!compact && exception.mark.snippet) { + where += '\n\n' + exception.mark.snippet; + } + return message + ' ' + where; +} +function YAMLException$1(reason, mark) { + Error.call(this); + this.name = 'YAMLException'; + this.reason = reason; + this.mark = mark; + this.message = formatError(this, false); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } else { + this.stack = new Error().stack || ''; + } +} +YAMLException$1.prototype = Object.create(Error.prototype); +YAMLException$1.prototype.constructor = YAMLException$1; +YAMLException$1.prototype.toString = function toString(compact) { + return this.name + ': ' + formatError(this, compact); +}; +var exception = YAMLException$1; +function getLine(buffer, lineStart, lineEnd, position, maxLineLength) { + var head = ''; + var tail = ''; + var maxHalfLength = Math.floor(maxLineLength / 2) - 1; + if (position - lineStart > maxHalfLength) { + head = ' ... '; + lineStart = position - maxHalfLength + head.length; + } + if (lineEnd - position > maxHalfLength) { + tail = ' ...'; + lineEnd = position + maxHalfLength - tail.length; + } + return { + str: head + buffer.slice(lineStart, lineEnd).replace(/\t/g, '→') + tail, + pos: position - lineStart + head.length + }; +} +function padStart(string, max) { + return common.repeat(' ', max - string.length) + string; +} +function makeSnippet(mark, options) { + options = Object.create(options || null); + if (!mark.buffer) return null; + if (!options.maxLength) options.maxLength = 79; + if (typeof options.indent !== 'number') options.indent = 1; + if (typeof options.linesBefore !== 'number') options.linesBefore = 3; + if (typeof options.linesAfter !== 'number') options.linesAfter = 2; + var re = /\r?\n|\r|\0/g; + var lineStarts = [0]; + var lineEnds = []; + var match; + var foundLineNo = -1; + while (match = re.exec(mark.buffer)) { + lineEnds.push(match.index); + lineStarts.push(match.index + match[0].length); + if (mark.position <= match.index && foundLineNo < 0) { + foundLineNo = lineStarts.length - 2; + } + } + if (foundLineNo < 0) foundLineNo = lineStarts.length - 1; + var result = '', + i, + line; + var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length; + var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3); + for (i = 1; i <= options.linesBefore; i++) { + if (foundLineNo - i < 0) break; + line = getLine(mark.buffer, lineStarts[foundLineNo - i], lineEnds[foundLineNo - i], mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]), maxLineLength); + result = common.repeat(' ', options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + ' | ' + line.str + '\n' + result; + } + line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength); + result += common.repeat(' ', options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + ' | ' + line.str + '\n'; + result += common.repeat('-', options.indent + lineNoLength + 3 + line.pos) + '^' + '\n'; + for (i = 1; i <= options.linesAfter; i++) { + if (foundLineNo + i >= lineEnds.length) break; + line = getLine(mark.buffer, lineStarts[foundLineNo + i], lineEnds[foundLineNo + i], mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]), maxLineLength); + result += common.repeat(' ', options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + ' | ' + line.str + '\n'; + } + return result.replace(/\n$/, ''); +} +var snippet = makeSnippet; +var TYPE_CONSTRUCTOR_OPTIONS = ['kind', 'multi', 'resolve', 'construct', 'instanceOf', 'predicate', 'represent', 'representName', 'defaultStyle', 'styleAliases']; +var YAML_NODE_KINDS = ['scalar', 'sequence', 'mapping']; +function compileStyleAliases(map) { + var result = {}; + if (map !== null) { + Object.keys(map).forEach(function (style) { + map[style].forEach(function (alias) { + result[String(alias)] = style; + }); + }); + } + return result; +} +function Type$1(tag, options) { + options = options || {}; + Object.keys(options).forEach(function (name) { + if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { + throw new exception('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); + } + }); + this.options = options; + this.tag = tag; + this.kind = options['kind'] || null; + this.resolve = options['resolve'] || function () { + return true; + }; + this.construct = options['construct'] || function (data) { + return data; + }; + this.instanceOf = options['instanceOf'] || null; + this.predicate = options['predicate'] || null; + this.represent = options['represent'] || null; + this.representName = options['representName'] || null; + this.defaultStyle = options['defaultStyle'] || null; + this.multi = options['multi'] || false; + this.styleAliases = compileStyleAliases(options['styleAliases'] || null); + if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { + throw new exception('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); + } +} +var type = Type$1; +function compileList(schema, name) { + var result = []; + schema[name].forEach(function (currentType) { + var newIndex = result.length; + result.forEach(function (previousType, previousIndex) { + if (previousType.tag === currentType.tag && previousType.kind === currentType.kind && previousType.multi === currentType.multi) { + newIndex = previousIndex; + } + }); + result[newIndex] = currentType; + }); + return result; +} +function compileMap() { + var result = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {}, + multi: { + scalar: [], + sequence: [], + mapping: [], + fallback: [] + } + }, + index, + length; + function collectType(type) { + if (type.multi) { + result.multi[type.kind].push(type); + result.multi['fallback'].push(type); + } else { + result[type.kind][type.tag] = result['fallback'][type.tag] = type; + } + } + for (index = 0, length = arguments.length; index < length; index += 1) { + arguments[index].forEach(collectType); + } + return result; +} +function Schema$1(definition) { + return this.extend(definition); +} +Schema$1.prototype.extend = function extend(definition) { + var implicit = []; + var explicit = []; + if (definition instanceof type) { + explicit.push(definition); + } else if (Array.isArray(definition)) { + explicit = explicit.concat(definition); + } else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) { + if (definition.implicit) implicit = implicit.concat(definition.implicit); + if (definition.explicit) explicit = explicit.concat(definition.explicit); + } else { + throw new exception('Schema.extend argument should be a Type, [ Type ], ' + 'or a schema definition ({ implicit: [...], explicit: [...] })'); + } + implicit.forEach(function (type$1) { + if (!(type$1 instanceof type)) { + throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + if (type$1.loadKind && type$1.loadKind !== 'scalar') { + throw new exception('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); + } + if (type$1.multi) { + throw new exception('There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.'); + } + }); + explicit.forEach(function (type$1) { + if (!(type$1 instanceof type)) { + throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + }); + var result = Object.create(Schema$1.prototype); + result.implicit = (this.implicit || []).concat(implicit); + result.explicit = (this.explicit || []).concat(explicit); + result.compiledImplicit = compileList(result, 'implicit'); + result.compiledExplicit = compileList(result, 'explicit'); + result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit); + return result; +}; +var schema = Schema$1; +var str = new type('tag:yaml.org,2002:str', { + kind: 'scalar', + construct: function construct(data) { + return data !== null ? data : ''; + } +}); +var seq = new type('tag:yaml.org,2002:seq', { + kind: 'sequence', + construct: function construct(data) { + return data !== null ? data : []; + } +}); +var map = new type('tag:yaml.org,2002:map', { + kind: 'mapping', + construct: function construct(data) { + return data !== null ? data : {}; + } +}); +var failsafe = new schema({ + explicit: [str, seq, map] +}); +function resolveYamlNull(data) { + if (data === null) return true; + var max = data.length; + return max === 1 && data === '~' || max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'); +} +function constructYamlNull() { + return null; +} +function isNull(object) { + return object === null; +} +var _null = new type('tag:yaml.org,2002:null', { + kind: 'scalar', + resolve: resolveYamlNull, + construct: constructYamlNull, + predicate: isNull, + represent: { + canonical: function canonical() { + return '~'; + }, + lowercase: function lowercase() { + return 'null'; + }, + uppercase: function uppercase() { + return 'NULL'; + }, + camelcase: function camelcase() { + return 'Null'; + }, + empty: function empty() { + return ''; + } + }, + defaultStyle: 'lowercase' +}); +function resolveYamlBoolean(data) { + if (data === null) return false; + var max = data.length; + return max === 4 && (data === 'true' || data === 'True' || data === 'TRUE') || max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'); +} +function constructYamlBoolean(data) { + return data === 'true' || data === 'True' || data === 'TRUE'; +} +function isBoolean(object) { + return Object.prototype.toString.call(object) === '[object Boolean]'; +} +var bool = new type('tag:yaml.org,2002:bool', { + kind: 'scalar', + resolve: resolveYamlBoolean, + construct: constructYamlBoolean, + predicate: isBoolean, + represent: { + lowercase: function lowercase(object) { + return object ? 'true' : 'false'; + }, + uppercase: function uppercase(object) { + return object ? 'TRUE' : 'FALSE'; + }, + camelcase: function camelcase(object) { + return object ? 'True' : 'False'; + } + }, + defaultStyle: 'lowercase' +}); +function isHexCode(c) { + return 0x30 <= c && c <= 0x39 || 0x41 <= c && c <= 0x46 || 0x61 <= c && c <= 0x66; +} +function isOctCode(c) { + return 0x30 <= c && c <= 0x37; +} +function isDecCode(c) { + return 0x30 <= c && c <= 0x39; +} +function resolveYamlInteger(data) { + if (data === null) return false; + var max = data.length, + index = 0, + hasDigits = false, + ch; + if (!max) return false; + ch = data[index]; + if (ch === '-' || ch === '+') { + ch = data[++index]; + } + if (ch === '0') { + if (index + 1 === max) return true; + ch = data[++index]; + if (ch === 'b') { + index++; + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch !== '0' && ch !== '1') return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + if (ch === 'x') { + index++; + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isHexCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + if (ch === 'o') { + index++; + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isOctCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + } + if (ch === '_') return false; + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isDecCode(data.charCodeAt(index))) { + return false; + } + hasDigits = true; + } + if (!hasDigits || ch === '_') return false; + return true; +} +function constructYamlInteger(data) { + var value = data, + sign = 1, + ch; + if (value.indexOf('_') !== -1) { + value = value.replace(/_/g, ''); + } + ch = value[0]; + if (ch === '-' || ch === '+') { + if (ch === '-') sign = -1; + value = value.slice(1); + ch = value[0]; + } + if (value === '0') return 0; + if (ch === '0') { + if (value[1] === 'b') return sign * parseInt(value.slice(2), 2); + if (value[1] === 'x') return sign * parseInt(value.slice(2), 16); + if (value[1] === 'o') return sign * parseInt(value.slice(2), 8); + } + return sign * parseInt(value, 10); +} +function isInteger(object) { + return Object.prototype.toString.call(object) === '[object Number]' && object % 1 === 0 && !common.isNegativeZero(object); +} +var int = new type('tag:yaml.org,2002:int', { + kind: 'scalar', + resolve: resolveYamlInteger, + construct: constructYamlInteger, + predicate: isInteger, + represent: { + binary: function binary(obj) { + return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); + }, + octal: function octal(obj) { + return obj >= 0 ? '0o' + obj.toString(8) : '-0o' + obj.toString(8).slice(1); + }, + decimal: function decimal(obj) { + return obj.toString(10); + }, + hexadecimal: function hexadecimal(obj) { + return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); + } + }, + defaultStyle: 'decimal', + styleAliases: { + binary: [2, 'bin'], + octal: [8, 'oct'], + decimal: [10, 'dec'], + hexadecimal: [16, 'hex'] + } +}); +var YAML_FLOAT_PATTERN = new RegExp('^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' + '|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' + '|[-+]?\\.(?:inf|Inf|INF)' + '|\\.(?:nan|NaN|NAN))$'); +function resolveYamlFloat(data) { + if (data === null) return false; + if (!YAML_FLOAT_PATTERN.test(data) || data[data.length - 1] === '_') { + return false; + } + return true; +} +function constructYamlFloat(data) { + var value, sign; + value = data.replace(/_/g, '').toLowerCase(); + sign = value[0] === '-' ? -1 : 1; + if ('+-'.indexOf(value[0]) >= 0) { + value = value.slice(1); + } + if (value === '.inf') { + return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + } else if (value === '.nan') { + return NaN; + } + return sign * parseFloat(value, 10); +} +var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; +function representYamlFloat(object, style) { + var res; + if (isNaN(object)) { + switch (style) { + case 'lowercase': + return '.nan'; + case 'uppercase': + return '.NAN'; + case 'camelcase': + return '.NaN'; + } + } else if (Number.POSITIVE_INFINITY === object) { + switch (style) { + case 'lowercase': + return '.inf'; + case 'uppercase': + return '.INF'; + case 'camelcase': + return '.Inf'; + } + } else if (Number.NEGATIVE_INFINITY === object) { + switch (style) { + case 'lowercase': + return '-.inf'; + case 'uppercase': + return '-.INF'; + case 'camelcase': + return '-.Inf'; + } + } else if (common.isNegativeZero(object)) { + return '-0.0'; + } + res = object.toString(10); + return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res; +} +function isFloat(object) { + return Object.prototype.toString.call(object) === '[object Number]' && (object % 1 !== 0 || common.isNegativeZero(object)); +} +var float = new type('tag:yaml.org,2002:float', { + kind: 'scalar', + resolve: resolveYamlFloat, + construct: constructYamlFloat, + predicate: isFloat, + represent: representYamlFloat, + defaultStyle: 'lowercase' +}); +var json = failsafe.extend({ + implicit: [_null, bool, int, float] +}); +var core = json; +var YAML_DATE_REGEXP = new RegExp('^([0-9][0-9][0-9][0-9])' + '-([0-9][0-9])' + '-([0-9][0-9])$'); +var YAML_TIMESTAMP_REGEXP = new RegExp('^([0-9][0-9][0-9][0-9])' + '-([0-9][0-9]?)' + '-([0-9][0-9]?)' + '(?:[Tt]|[ \\t]+)' + '([0-9][0-9]?)' + ':([0-9][0-9])' + ':([0-9][0-9])' + '(?:\\.([0-9]*))?' + '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + '(?::([0-9][0-9]))?))?$'); +function resolveYamlTimestamp(data) { + if (data === null) return false; + if (YAML_DATE_REGEXP.exec(data) !== null) return true; + if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; + return false; +} +function constructYamlTimestamp(data) { + var match, + year, + month, + day, + hour, + minute, + second, + fraction = 0, + delta = null, + tz_hour, + tz_minute, + date; + match = YAML_DATE_REGEXP.exec(data); + if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); + if (match === null) throw new Error('Date resolve error'); + year = +match[1]; + month = +match[2] - 1; + day = +match[3]; + if (!match[4]) { + return new Date(Date.UTC(year, month, day)); + } + hour = +match[4]; + minute = +match[5]; + second = +match[6]; + if (match[7]) { + fraction = match[7].slice(0, 3); + while (fraction.length < 3) { + fraction += '0'; + } + fraction = +fraction; + } + if (match[9]) { + tz_hour = +match[10]; + tz_minute = +(match[11] || 0); + delta = (tz_hour * 60 + tz_minute) * 60000; + if (match[9] === '-') delta = -delta; + } + date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); + if (delta) date.setTime(date.getTime() - delta); + return date; +} +function representYamlTimestamp(object) { + return object.toISOString(); +} +var timestamp = new type('tag:yaml.org,2002:timestamp', { + kind: 'scalar', + resolve: resolveYamlTimestamp, + construct: constructYamlTimestamp, + instanceOf: Date, + represent: representYamlTimestamp +}); +function resolveYamlMerge(data) { + return data === '<<' || data === null; +} +var merge = new type('tag:yaml.org,2002:merge', { + kind: 'scalar', + resolve: resolveYamlMerge +}); +var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r'; +function resolveYamlBinary(data) { + if (data === null) return false; + var code, + idx, + bitlen = 0, + max = data.length, + map = BASE64_MAP; + for (idx = 0; idx < max; idx++) { + code = map.indexOf(data.charAt(idx)); + if (code > 64) continue; + if (code < 0) return false; + bitlen += 6; + } + return bitlen % 8 === 0; +} +function constructYamlBinary(data) { + var idx, + tailbits, + input = data.replace(/[\r\n=]/g, ''), + max = input.length, + map = BASE64_MAP, + bits = 0, + result = []; + for (idx = 0; idx < max; idx++) { + if (idx % 4 === 0 && idx) { + result.push(bits >> 16 & 0xFF); + result.push(bits >> 8 & 0xFF); + result.push(bits & 0xFF); + } + bits = bits << 6 | map.indexOf(input.charAt(idx)); + } + tailbits = max % 4 * 6; + if (tailbits === 0) { + result.push(bits >> 16 & 0xFF); + result.push(bits >> 8 & 0xFF); + result.push(bits & 0xFF); + } else if (tailbits === 18) { + result.push(bits >> 10 & 0xFF); + result.push(bits >> 2 & 0xFF); + } else if (tailbits === 12) { + result.push(bits >> 4 & 0xFF); + } + return new Uint8Array(result); +} +function representYamlBinary(object) { + var result = '', + bits = 0, + idx, + tail, + max = object.length, + map = BASE64_MAP; + for (idx = 0; idx < max; idx++) { + if (idx % 3 === 0 && idx) { + result += map[bits >> 18 & 0x3F]; + result += map[bits >> 12 & 0x3F]; + result += map[bits >> 6 & 0x3F]; + result += map[bits & 0x3F]; + } + bits = (bits << 8) + object[idx]; + } + tail = max % 3; + if (tail === 0) { + result += map[bits >> 18 & 0x3F]; + result += map[bits >> 12 & 0x3F]; + result += map[bits >> 6 & 0x3F]; + result += map[bits & 0x3F]; + } else if (tail === 2) { + result += map[bits >> 10 & 0x3F]; + result += map[bits >> 4 & 0x3F]; + result += map[bits << 2 & 0x3F]; + result += map[64]; + } else if (tail === 1) { + result += map[bits >> 2 & 0x3F]; + result += map[bits << 4 & 0x3F]; + result += map[64]; + result += map[64]; + } + return result; +} +function isBinary(obj) { + return Object.prototype.toString.call(obj) === '[object Uint8Array]'; +} +var binary = new type('tag:yaml.org,2002:binary', { + kind: 'scalar', + resolve: resolveYamlBinary, + construct: constructYamlBinary, + predicate: isBinary, + represent: representYamlBinary +}); +var _hasOwnProperty$3 = Object.prototype.hasOwnProperty; +var _toString$2 = Object.prototype.toString; +function resolveYamlOmap(data) { + if (data === null) return true; + var objectKeys = [], + index, + length, + pair, + pairKey, + pairHasKey, + object = data; + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + pairHasKey = false; + if (_toString$2.call(pair) !== '[object Object]') return false; + for (pairKey in pair) { + if (_hasOwnProperty$3.call(pair, pairKey)) { + if (!pairHasKey) pairHasKey = true;else return false; + } + } + if (!pairHasKey) return false; + if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);else return false; + } + return true; +} +function constructYamlOmap(data) { + return data !== null ? data : []; +} +var omap = new type('tag:yaml.org,2002:omap', { + kind: 'sequence', + resolve: resolveYamlOmap, + construct: constructYamlOmap +}); +var _toString$1 = Object.prototype.toString; +function resolveYamlPairs(data) { + if (data === null) return true; + var index, + length, + pair, + keys, + result, + object = data; + result = new Array(object.length); + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + if (_toString$1.call(pair) !== '[object Object]') return false; + keys = Object.keys(pair); + if (keys.length !== 1) return false; + result[index] = [keys[0], pair[keys[0]]]; + } + return true; +} +function constructYamlPairs(data) { + if (data === null) return []; + var index, + length, + pair, + keys, + result, + object = data; + result = new Array(object.length); + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + keys = Object.keys(pair); + result[index] = [keys[0], pair[keys[0]]]; + } + return result; +} +var pairs = new type('tag:yaml.org,2002:pairs', { + kind: 'sequence', + resolve: resolveYamlPairs, + construct: constructYamlPairs +}); +var _hasOwnProperty$2 = Object.prototype.hasOwnProperty; +function resolveYamlSet(data) { + if (data === null) return true; + var key, + object = data; + for (key in object) { + if (_hasOwnProperty$2.call(object, key)) { + if (object[key] !== null) return false; + } + } + return true; +} +function constructYamlSet(data) { + return data !== null ? data : {}; +} +var set = new type('tag:yaml.org,2002:set', { + kind: 'mapping', + resolve: resolveYamlSet, + construct: constructYamlSet +}); +var _default = core.extend({ + implicit: [timestamp, merge], + explicit: [binary, omap, pairs, set] +}); +var _hasOwnProperty$1 = Object.prototype.hasOwnProperty; +var CONTEXT_FLOW_IN = 1; +var CONTEXT_FLOW_OUT = 2; +var CONTEXT_BLOCK_IN = 3; +var CONTEXT_BLOCK_OUT = 4; +var CHOMPING_CLIP = 1; +var CHOMPING_STRIP = 2; +var CHOMPING_KEEP = 3; +var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; +var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; +var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; +var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; +function _class(obj) { + return Object.prototype.toString.call(obj); +} +function is_EOL(c) { + return c === 0x0A || c === 0x0D; +} +function is_WHITE_SPACE(c) { + return c === 0x09 || c === 0x20; +} +function is_WS_OR_EOL(c) { + return c === 0x09 || c === 0x20 || c === 0x0A || c === 0x0D; +} +function is_FLOW_INDICATOR(c) { + return c === 0x2C || c === 0x5B || c === 0x5D || c === 0x7B || c === 0x7D; +} +function fromHexCode(c) { + var lc; + if (0x30 <= c && c <= 0x39) { + return c - 0x30; + } + lc = c | 0x20; + if (0x61 <= lc && lc <= 0x66) { + return lc - 0x61 + 10; + } + return -1; +} +function escapedHexLen(c) { + if (c === 0x78) { + return 2; + } + if (c === 0x75) { + return 4; + } + if (c === 0x55) { + return 8; + } + return 0; +} +function fromDecimalCode(c) { + if (0x30 <= c && c <= 0x39) { + return c - 0x30; + } + return -1; +} +function simpleEscapeSequence(c) { + return c === 0x30 ? '\x00' : c === 0x61 ? '\x07' : c === 0x62 ? '\x08' : c === 0x74 ? '\x09' : c === 0x09 ? '\x09' : c === 0x6E ? '\x0A' : c === 0x76 ? '\x0B' : c === 0x66 ? '\x0C' : c === 0x72 ? '\x0D' : c === 0x65 ? '\x1B' : c === 0x20 ? ' ' : c === 0x22 ? '\x22' : c === 0x2F ? '/' : c === 0x5C ? '\x5C' : c === 0x4E ? '\x85' : c === 0x5F ? '\xA0' : c === 0x4C ? "\u2028" : c === 0x50 ? "\u2029" : ''; +} +function charFromCodepoint(c) { + if (c <= 0xFFFF) { + return String.fromCharCode(c); + } + return String.fromCharCode((c - 0x010000 >> 10) + 0xD800, (c - 0x010000 & 0x03FF) + 0xDC00); +} +var simpleEscapeCheck = new Array(256); +var simpleEscapeMap = new Array(256); +for (var i = 0; i < 256; i++) { + simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; + simpleEscapeMap[i] = simpleEscapeSequence(i); +} +function State$1(input, options) { + this.input = input; + this.filename = options['filename'] || null; + this.schema = options['schema'] || _default; + this.onWarning = options['onWarning'] || null; + this.legacy = options['legacy'] || false; + this.json = options['json'] || false; + this.listener = options['listener'] || null; + this.implicitTypes = this.schema.compiledImplicit; + this.typeMap = this.schema.compiledTypeMap; + this.length = input.length; + this.position = 0; + this.line = 0; + this.lineStart = 0; + this.lineIndent = 0; + this.firstTabInLine = -1; + this.documents = []; +} +function generateError(state, message) { + var mark = { + name: state.filename, + buffer: state.input.slice(0, -1), + position: state.position, + line: state.line, + column: state.position - state.lineStart + }; + mark.snippet = snippet(mark); + return new exception(message, mark); +} +function throwError(state, message) { + throw generateError(state, message); +} +function throwWarning(state, message) { + if (state.onWarning) { + state.onWarning.call(null, generateError(state, message)); + } +} +var directiveHandlers = { + YAML: function handleYamlDirective(state, name, args) { + var match, major, minor; + if (state.version !== null) { + throwError(state, 'duplication of %YAML directive'); + } + if (args.length !== 1) { + throwError(state, 'YAML directive accepts exactly one argument'); + } + match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); + if (match === null) { + throwError(state, 'ill-formed argument of the YAML directive'); + } + major = parseInt(match[1], 10); + minor = parseInt(match[2], 10); + if (major !== 1) { + throwError(state, 'unacceptable YAML version of the document'); + } + state.version = args[0]; + state.checkLineBreaks = minor < 2; + if (minor !== 1 && minor !== 2) { + throwWarning(state, 'unsupported YAML version of the document'); + } + }, + TAG: function handleTagDirective(state, name, args) { + var handle, prefix; + if (args.length !== 2) { + throwError(state, 'TAG directive accepts exactly two arguments'); + } + handle = args[0]; + prefix = args[1]; + if (!PATTERN_TAG_HANDLE.test(handle)) { + throwError(state, 'ill-formed tag handle (first argument) of the TAG directive'); + } + if (_hasOwnProperty$1.call(state.tagMap, handle)) { + throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); + } + if (!PATTERN_TAG_URI.test(prefix)) { + throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive'); + } + try { + prefix = decodeURIComponent(prefix); + } catch (err) { + throwError(state, 'tag prefix is malformed: ' + prefix); + } + state.tagMap[handle] = prefix; + } +}; +function captureSegment(state, start, end, checkJson) { + var _position, _length, _character, _result; + if (start < end) { + _result = state.input.slice(start, end); + if (checkJson) { + for (_position = 0, _length = _result.length; _position < _length; _position += 1) { + _character = _result.charCodeAt(_position); + if (!(_character === 0x09 || 0x20 <= _character && _character <= 0x10FFFF)) { + throwError(state, 'expected valid JSON character'); + } + } + } else if (PATTERN_NON_PRINTABLE.test(_result)) { + throwError(state, 'the stream contains non-printable characters'); + } + state.result += _result; + } +} +function mergeMappings(state, destination, source, overridableKeys) { + var sourceKeys, key, index, quantity; + if (!common.isObject(source)) { + throwError(state, 'cannot merge mappings; the provided source object is unacceptable'); + } + sourceKeys = Object.keys(source); + for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { + key = sourceKeys[index]; + if (!_hasOwnProperty$1.call(destination, key)) { + destination[key] = source[key]; + overridableKeys[key] = true; + } + } +} +function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startLineStart, startPos) { + var index, quantity; + if (Array.isArray(keyNode)) { + keyNode = Array.prototype.slice.call(keyNode); + for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { + if (Array.isArray(keyNode[index])) { + throwError(state, 'nested arrays are not supported inside keys'); + } + if (_typeof(keyNode) === 'object' && _class(keyNode[index]) === '[object Object]') { + keyNode[index] = '[object Object]'; + } + } + } + if (_typeof(keyNode) === 'object' && _class(keyNode) === '[object Object]') { + keyNode = '[object Object]'; + } + keyNode = String(keyNode); + if (_result === null) { + _result = {}; + } + if (keyTag === 'tag:yaml.org,2002:merge') { + if (Array.isArray(valueNode)) { + for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { + mergeMappings(state, _result, valueNode[index], overridableKeys); + } + } else { + mergeMappings(state, _result, valueNode, overridableKeys); + } + } else { + if (!state.json && !_hasOwnProperty$1.call(overridableKeys, keyNode) && _hasOwnProperty$1.call(_result, keyNode)) { + state.line = startLine || state.line; + state.lineStart = startLineStart || state.lineStart; + state.position = startPos || state.position; + throwError(state, 'duplicated mapping key'); + } + if (keyNode === '__proto__') { + Object.defineProperty(_result, keyNode, { + configurable: true, + enumerable: true, + writable: true, + value: valueNode + }); + } else { + _result[keyNode] = valueNode; + } + delete overridableKeys[keyNode]; + } + return _result; +} +function readLineBreak(state) { + var ch; + ch = state.input.charCodeAt(state.position); + if (ch === 0x0A) { + state.position++; + } else if (ch === 0x0D) { + state.position++; + if (state.input.charCodeAt(state.position) === 0x0A) { + state.position++; + } + } else { + throwError(state, 'a line break is expected'); + } + state.line += 1; + state.lineStart = state.position; + state.firstTabInLine = -1; +} +function skipSeparationSpace(state, allowComments, checkIndent) { + var lineBreaks = 0, + ch = state.input.charCodeAt(state.position); + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + if (ch === 0x09 && state.firstTabInLine === -1) { + state.firstTabInLine = state.position; + } + ch = state.input.charCodeAt(++state.position); + } + if (allowComments && ch === 0x23) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0x0A && ch !== 0x0D && ch !== 0); + } + if (is_EOL(ch)) { + readLineBreak(state); + ch = state.input.charCodeAt(state.position); + lineBreaks++; + state.lineIndent = 0; + while (ch === 0x20) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + } else { + break; + } + } + if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { + throwWarning(state, 'deficient indentation'); + } + return lineBreaks; +} +function testDocumentSeparator(state) { + var _position = state.position, + ch; + ch = state.input.charCodeAt(_position); + if ((ch === 0x2D || ch === 0x2E) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) { + _position += 3; + ch = state.input.charCodeAt(_position); + if (ch === 0 || is_WS_OR_EOL(ch)) { + return true; + } + } + return false; +} +function writeFoldedLines(state, count) { + if (count === 1) { + state.result += ' '; + } else if (count > 1) { + state.result += common.repeat('\n', count - 1); + } +} +function readPlainScalar(state, nodeIndent, withinFlowCollection) { + var preceding, + following, + captureStart, + captureEnd, + hasPendingContent, + _line, + _lineStart, + _lineIndent, + _kind = state.kind, + _result = state.result, + ch; + ch = state.input.charCodeAt(state.position); + if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 0x23 || ch === 0x26 || ch === 0x2A || ch === 0x21 || ch === 0x7C || ch === 0x3E || ch === 0x27 || ch === 0x22 || ch === 0x25 || ch === 0x40 || ch === 0x60) { + return false; + } + if (ch === 0x3F || ch === 0x2D) { + following = state.input.charCodeAt(state.position + 1); + if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) { + return false; + } + } + state.kind = 'scalar'; + state.result = ''; + captureStart = captureEnd = state.position; + hasPendingContent = false; + while (ch !== 0) { + if (ch === 0x3A) { + following = state.input.charCodeAt(state.position + 1); + if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) { + break; + } + } else if (ch === 0x23) { + preceding = state.input.charCodeAt(state.position - 1); + if (is_WS_OR_EOL(preceding)) { + break; + } + } else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && is_FLOW_INDICATOR(ch)) { + break; + } else if (is_EOL(ch)) { + _line = state.line; + _lineStart = state.lineStart; + _lineIndent = state.lineIndent; + skipSeparationSpace(state, false, -1); + if (state.lineIndent >= nodeIndent) { + hasPendingContent = true; + ch = state.input.charCodeAt(state.position); + continue; + } else { + state.position = captureEnd; + state.line = _line; + state.lineStart = _lineStart; + state.lineIndent = _lineIndent; + break; + } + } + if (hasPendingContent) { + captureSegment(state, captureStart, captureEnd, false); + writeFoldedLines(state, state.line - _line); + captureStart = captureEnd = state.position; + hasPendingContent = false; + } + if (!is_WHITE_SPACE(ch)) { + captureEnd = state.position + 1; + } + ch = state.input.charCodeAt(++state.position); + } + captureSegment(state, captureStart, captureEnd, false); + if (state.result) { + return true; + } + state.kind = _kind; + state.result = _result; + return false; +} +function readSingleQuotedScalar(state, nodeIndent) { + var ch, captureStart, captureEnd; + ch = state.input.charCodeAt(state.position); + if (ch !== 0x27) { + return false; + } + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x27) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + if (ch === 0x27) { + captureStart = state.position; + state.position++; + captureEnd = state.position; + } else { + return true; + } + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a single quoted scalar'); + } else { + state.position++; + captureEnd = state.position; + } + } + throwError(state, 'unexpected end of the stream within a single quoted scalar'); +} +function readDoubleQuotedScalar(state, nodeIndent) { + var captureStart, captureEnd, hexLength, hexResult, tmp, ch; + ch = state.input.charCodeAt(state.position); + if (ch !== 0x22) { + return false; + } + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x22) { + captureSegment(state, captureStart, state.position, true); + state.position++; + return true; + } else if (ch === 0x5C) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + if (is_EOL(ch)) { + skipSeparationSpace(state, false, nodeIndent); + } else if (ch < 256 && simpleEscapeCheck[ch]) { + state.result += simpleEscapeMap[ch]; + state.position++; + } else if ((tmp = escapedHexLen(ch)) > 0) { + hexLength = tmp; + hexResult = 0; + for (; hexLength > 0; hexLength--) { + ch = state.input.charCodeAt(++state.position); + if ((tmp = fromHexCode(ch)) >= 0) { + hexResult = (hexResult << 4) + tmp; + } else { + throwError(state, 'expected hexadecimal character'); + } + } + state.result += charFromCodepoint(hexResult); + state.position++; + } else { + throwError(state, 'unknown escape sequence'); + } + captureStart = captureEnd = state.position; + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a double quoted scalar'); + } else { + state.position++; + captureEnd = state.position; + } + } + throwError(state, 'unexpected end of the stream within a double quoted scalar'); +} +function readFlowCollection(state, nodeIndent) { + var readNext = true, + _line, + _lineStart, + _pos, + _tag = state.tag, + _result, + _anchor = state.anchor, + following, + terminator, + isPair, + isExplicitPair, + isMapping, + overridableKeys = Object.create(null), + keyNode, + keyTag, + valueNode, + ch; + ch = state.input.charCodeAt(state.position); + if (ch === 0x5B) { + terminator = 0x5D; + isMapping = false; + _result = []; + } else if (ch === 0x7B) { + terminator = 0x7D; + isMapping = true; + _result = {}; + } else { + return false; + } + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + ch = state.input.charCodeAt(++state.position); + while (ch !== 0) { + skipSeparationSpace(state, true, nodeIndent); + ch = state.input.charCodeAt(state.position); + if (ch === terminator) { + state.position++; + state.tag = _tag; + state.anchor = _anchor; + state.kind = isMapping ? 'mapping' : 'sequence'; + state.result = _result; + return true; + } else if (!readNext) { + throwError(state, 'missed comma between flow collection entries'); + } else if (ch === 0x2C) { + throwError(state, "expected the node content, but found ','"); + } + keyTag = keyNode = valueNode = null; + isPair = isExplicitPair = false; + if (ch === 0x3F) { + following = state.input.charCodeAt(state.position + 1); + if (is_WS_OR_EOL(following)) { + isPair = isExplicitPair = true; + state.position++; + skipSeparationSpace(state, true, nodeIndent); + } + } + _line = state.line; + _lineStart = state.lineStart; + _pos = state.position; + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + keyTag = state.tag; + keyNode = state.result; + skipSeparationSpace(state, true, nodeIndent); + ch = state.input.charCodeAt(state.position); + if ((isExplicitPair || state.line === _line) && ch === 0x3A) { + isPair = true; + ch = state.input.charCodeAt(++state.position); + skipSeparationSpace(state, true, nodeIndent); + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + valueNode = state.result; + } + if (isMapping) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos); + } else if (isPair) { + _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos)); + } else { + _result.push(keyNode); + } + skipSeparationSpace(state, true, nodeIndent); + ch = state.input.charCodeAt(state.position); + if (ch === 0x2C) { + readNext = true; + ch = state.input.charCodeAt(++state.position); + } else { + readNext = false; + } + } + throwError(state, 'unexpected end of the stream within a flow collection'); +} +function readBlockScalar(state, nodeIndent) { + var captureStart, + folding, + chomping = CHOMPING_CLIP, + didReadContent = false, + detectedIndent = false, + textIndent = nodeIndent, + emptyLines = 0, + atMoreIndented = false, + tmp, + ch; + ch = state.input.charCodeAt(state.position); + if (ch === 0x7C) { + folding = false; + } else if (ch === 0x3E) { + folding = true; + } else { + return false; + } + state.kind = 'scalar'; + state.result = ''; + while (ch !== 0) { + ch = state.input.charCodeAt(++state.position); + if (ch === 0x2B || ch === 0x2D) { + if (CHOMPING_CLIP === chomping) { + chomping = ch === 0x2B ? CHOMPING_KEEP : CHOMPING_STRIP; + } else { + throwError(state, 'repeat of a chomping mode identifier'); + } + } else if ((tmp = fromDecimalCode(ch)) >= 0) { + if (tmp === 0) { + throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one'); + } else if (!detectedIndent) { + textIndent = nodeIndent + tmp - 1; + detectedIndent = true; + } else { + throwError(state, 'repeat of an indentation width identifier'); + } + } else { + break; + } + } + if (is_WHITE_SPACE(ch)) { + do { + ch = state.input.charCodeAt(++state.position); + } while (is_WHITE_SPACE(ch)); + if (ch === 0x23) { + do { + ch = state.input.charCodeAt(++state.position); + } while (!is_EOL(ch) && ch !== 0); + } + } + while (ch !== 0) { + readLineBreak(state); + state.lineIndent = 0; + ch = state.input.charCodeAt(state.position); + while ((!detectedIndent || state.lineIndent < textIndent) && ch === 0x20) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + if (!detectedIndent && state.lineIndent > textIndent) { + textIndent = state.lineIndent; + } + if (is_EOL(ch)) { + emptyLines++; + continue; + } + if (state.lineIndent < textIndent) { + if (chomping === CHOMPING_KEEP) { + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } else if (chomping === CHOMPING_CLIP) { + if (didReadContent) { + state.result += '\n'; + } + } + break; + } + if (folding) { + if (is_WHITE_SPACE(ch)) { + atMoreIndented = true; + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } else if (atMoreIndented) { + atMoreIndented = false; + state.result += common.repeat('\n', emptyLines + 1); + } else if (emptyLines === 0) { + if (didReadContent) { + state.result += ' '; + } + } else { + state.result += common.repeat('\n', emptyLines); + } + } else { + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } + didReadContent = true; + detectedIndent = true; + emptyLines = 0; + captureStart = state.position; + while (!is_EOL(ch) && ch !== 0) { + ch = state.input.charCodeAt(++state.position); + } + captureSegment(state, captureStart, state.position, false); + } + return true; +} +function readBlockSequence(state, nodeIndent) { + var _line, + _tag = state.tag, + _anchor = state.anchor, + _result = [], + following, + detected = false, + ch; + if (state.firstTabInLine !== -1) return false; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + ch = state.input.charCodeAt(state.position); + while (ch !== 0) { + if (state.firstTabInLine !== -1) { + state.position = state.firstTabInLine; + throwError(state, 'tab characters must not be used in indentation'); + } + if (ch !== 0x2D) { + break; + } + following = state.input.charCodeAt(state.position + 1); + if (!is_WS_OR_EOL(following)) { + break; + } + detected = true; + state.position++; + if (skipSeparationSpace(state, true, -1)) { + if (state.lineIndent <= nodeIndent) { + _result.push(null); + ch = state.input.charCodeAt(state.position); + continue; + } + } + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); + _result.push(state.result); + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) { + throwError(state, 'bad indentation of a sequence entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'sequence'; + state.result = _result; + return true; + } + return false; +} +function readBlockMapping(state, nodeIndent, flowIndent) { + var following, + allowCompact, + _line, + _keyLine, + _keyLineStart, + _keyPos, + _tag = state.tag, + _anchor = state.anchor, + _result = {}, + overridableKeys = Object.create(null), + keyTag = null, + keyNode = null, + valueNode = null, + atExplicitKey = false, + detected = false, + ch; + if (state.firstTabInLine !== -1) return false; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + ch = state.input.charCodeAt(state.position); + while (ch !== 0) { + if (!atExplicitKey && state.firstTabInLine !== -1) { + state.position = state.firstTabInLine; + throwError(state, 'tab characters must not be used in indentation'); + } + following = state.input.charCodeAt(state.position + 1); + _line = state.line; + if ((ch === 0x3F || ch === 0x3A) && is_WS_OR_EOL(following)) { + if (ch === 0x3F) { + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + detected = true; + atExplicitKey = true; + allowCompact = true; + } else if (atExplicitKey) { + atExplicitKey = false; + allowCompact = true; + } else { + throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'); + } + state.position += 1; + ch = following; + } else { + _keyLine = state.line; + _keyLineStart = state.lineStart; + _keyPos = state.position; + if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { + break; + } + if (state.line === _line) { + ch = state.input.charCodeAt(state.position); + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + if (ch === 0x3A) { + ch = state.input.charCodeAt(++state.position); + if (!is_WS_OR_EOL(ch)) { + throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping'); + } + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + detected = true; + atExplicitKey = false; + allowCompact = false; + keyTag = state.tag; + keyNode = state.result; + } else if (detected) { + throwError(state, 'can not read an implicit mapping pair; a colon is missed'); + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; + } + } else if (detected) { + throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key'); + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; + } + } + if (state.line === _line || state.lineIndent > nodeIndent) { + if (atExplicitKey) { + _keyLine = state.line; + _keyLineStart = state.lineStart; + _keyPos = state.position; + } + if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { + if (atExplicitKey) { + keyNode = state.result; + } else { + valueNode = state.result; + } + } + if (!atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + } + if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) { + throwError(state, 'bad indentation of a mapping entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + } + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'mapping'; + state.result = _result; + } + return detected; +} +function readTagProperty(state) { + var _position, + isVerbatim = false, + isNamed = false, + tagHandle, + tagName, + ch; + ch = state.input.charCodeAt(state.position); + if (ch !== 0x21) return false; + if (state.tag !== null) { + throwError(state, 'duplication of a tag property'); + } + ch = state.input.charCodeAt(++state.position); + if (ch === 0x3C) { + isVerbatim = true; + ch = state.input.charCodeAt(++state.position); + } else if (ch === 0x21) { + isNamed = true; + tagHandle = '!!'; + ch = state.input.charCodeAt(++state.position); + } else { + tagHandle = '!'; + } + _position = state.position; + if (isVerbatim) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0 && ch !== 0x3E); + if (state.position < state.length) { + tagName = state.input.slice(_position, state.position); + ch = state.input.charCodeAt(++state.position); + } else { + throwError(state, 'unexpected end of the stream within a verbatim tag'); + } + } else { + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + if (ch === 0x21) { + if (!isNamed) { + tagHandle = state.input.slice(_position - 1, state.position + 1); + if (!PATTERN_TAG_HANDLE.test(tagHandle)) { + throwError(state, 'named tag handle cannot contain such characters'); + } + isNamed = true; + _position = state.position + 1; + } else { + throwError(state, 'tag suffix cannot contain exclamation marks'); + } + } + ch = state.input.charCodeAt(++state.position); + } + tagName = state.input.slice(_position, state.position); + if (PATTERN_FLOW_INDICATORS.test(tagName)) { + throwError(state, 'tag suffix cannot contain flow indicator characters'); + } + } + if (tagName && !PATTERN_TAG_URI.test(tagName)) { + throwError(state, 'tag name cannot contain such characters: ' + tagName); + } + try { + tagName = decodeURIComponent(tagName); + } catch (err) { + throwError(state, 'tag name is malformed: ' + tagName); + } + if (isVerbatim) { + state.tag = tagName; + } else if (_hasOwnProperty$1.call(state.tagMap, tagHandle)) { + state.tag = state.tagMap[tagHandle] + tagName; + } else if (tagHandle === '!') { + state.tag = '!' + tagName; + } else if (tagHandle === '!!') { + state.tag = 'tag:yaml.org,2002:' + tagName; + } else { + throwError(state, 'undeclared tag handle "' + tagHandle + '"'); + } + return true; +} +function readAnchorProperty(state) { + var _position, ch; + ch = state.input.charCodeAt(state.position); + if (ch !== 0x26) return false; + if (state.anchor !== null) { + throwError(state, 'duplication of an anchor property'); + } + ch = state.input.charCodeAt(++state.position); + _position = state.position; + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + if (state.position === _position) { + throwError(state, 'name of an anchor node must contain at least one character'); + } + state.anchor = state.input.slice(_position, state.position); + return true; +} +function readAlias(state) { + var _position, alias, ch; + ch = state.input.charCodeAt(state.position); + if (ch !== 0x2A) return false; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + if (state.position === _position) { + throwError(state, 'name of an alias node must contain at least one character'); + } + alias = state.input.slice(_position, state.position); + if (!_hasOwnProperty$1.call(state.anchorMap, alias)) { + throwError(state, 'unidentified alias "' + alias + '"'); + } + state.result = state.anchorMap[alias]; + skipSeparationSpace(state, true, -1); + return true; +} +function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { + var allowBlockStyles, + allowBlockScalars, + allowBlockCollections, + indentStatus = 1, + atNewLine = false, + hasContent = false, + typeIndex, + typeQuantity, + typeList, + type, + flowIndent, + blockIndent; + if (state.listener !== null) { + state.listener('open', state); + } + state.tag = null; + state.anchor = null; + state.kind = null; + state.result = null; + allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext; + if (allowToSeek) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } + } + if (indentStatus === 1) { + while (readTagProperty(state) || readAnchorProperty(state)) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + allowBlockCollections = allowBlockStyles; + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } else { + allowBlockCollections = false; + } + } + } + if (allowBlockCollections) { + allowBlockCollections = atNewLine || allowCompact; + } + if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { + if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { + flowIndent = parentIndent; + } else { + flowIndent = parentIndent + 1; + } + blockIndent = state.position - state.lineStart; + if (indentStatus === 1) { + if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) { + hasContent = true; + } else { + if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) { + hasContent = true; + } else if (readAlias(state)) { + hasContent = true; + if (state.tag !== null || state.anchor !== null) { + throwError(state, 'alias node should not have any properties'); + } + } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { + hasContent = true; + if (state.tag === null) { + state.tag = '?'; + } + } + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else if (indentStatus === 0) { + hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); + } + } + if (state.tag === null) { + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } else if (state.tag === '?') { + if (state.result !== null && state.kind !== 'scalar') { + throwError(state, 'unacceptable node kind for ! tag; it should be "scalar", not "' + state.kind + '"'); + } + for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { + type = state.implicitTypes[typeIndex]; + if (type.resolve(state.result)) { + state.result = type.construct(state.result); + state.tag = type.tag; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + break; + } + } + } else if (state.tag !== '!') { + if (_hasOwnProperty$1.call(state.typeMap[state.kind || 'fallback'], state.tag)) { + type = state.typeMap[state.kind || 'fallback'][state.tag]; + } else { + type = null; + typeList = state.typeMap.multi[state.kind || 'fallback']; + for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) { + if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) { + type = typeList[typeIndex]; + break; + } + } + } + if (!type) { + throwError(state, 'unknown tag !<' + state.tag + '>'); + } + if (state.result !== null && type.kind !== state.kind) { + throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"'); + } + if (!type.resolve(state.result, state.tag)) { + throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag'); + } else { + state.result = type.construct(state.result, state.tag); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } + if (state.listener !== null) { + state.listener('close', state); + } + return state.tag !== null || state.anchor !== null || hasContent; +} +function readDocument(state) { + var documentStart = state.position, + _position, + directiveName, + directiveArgs, + hasDirectives = false, + ch; + state.version = null; + state.checkLineBreaks = state.legacy; + state.tagMap = Object.create(null); + state.anchorMap = Object.create(null); + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + if (state.lineIndent > 0 || ch !== 0x25) { + break; + } + hasDirectives = true; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + directiveName = state.input.slice(_position, state.position); + directiveArgs = []; + if (directiveName.length < 1) { + throwError(state, 'directive name must not be less than one character in length'); + } + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + if (ch === 0x23) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0 && !is_EOL(ch)); + break; + } + if (is_EOL(ch)) break; + _position = state.position; + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + directiveArgs.push(state.input.slice(_position, state.position)); + } + if (ch !== 0) readLineBreak(state); + if (_hasOwnProperty$1.call(directiveHandlers, directiveName)) { + directiveHandlers[directiveName](state, directiveName, directiveArgs); + } else { + throwWarning(state, 'unknown document directive "' + directiveName + '"'); + } + } + skipSeparationSpace(state, true, -1); + if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 0x2D && state.input.charCodeAt(state.position + 1) === 0x2D && state.input.charCodeAt(state.position + 2) === 0x2D) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } else if (hasDirectives) { + throwError(state, 'directives end mark is expected'); + } + composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); + skipSeparationSpace(state, true, -1); + if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { + throwWarning(state, 'non-ASCII line breaks are interpreted as content'); + } + state.documents.push(state.result); + if (state.position === state.lineStart && testDocumentSeparator(state)) { + if (state.input.charCodeAt(state.position) === 0x2E) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } + return; + } + if (state.position < state.length - 1) { + throwError(state, 'end of the stream or a document separator is expected'); + } else { + return; + } +} +function loadDocuments(input, options) { + input = String(input); + options = options || {}; + if (input.length !== 0) { + if (input.charCodeAt(input.length - 1) !== 0x0A && input.charCodeAt(input.length - 1) !== 0x0D) { + input += '\n'; + } + if (input.charCodeAt(0) === 0xFEFF) { + input = input.slice(1); + } + } + var state = new State$1(input, options); + var nullpos = input.indexOf('\0'); + if (nullpos !== -1) { + state.position = nullpos; + throwError(state, 'null byte is not allowed in input'); + } + state.input += '\0'; + while (state.input.charCodeAt(state.position) === 0x20) { + state.lineIndent += 1; + state.position += 1; + } + while (state.position < state.length - 1) { + readDocument(state); + } + return state.documents; +} +function loadAll$1(input, iterator, options) { + if (iterator !== null && _typeof(iterator) === 'object' && typeof options === 'undefined') { + options = iterator; + iterator = null; + } + var documents = loadDocuments(input, options); + if (typeof iterator !== 'function') { + return documents; + } + for (var index = 0, length = documents.length; index < length; index += 1) { + iterator(documents[index]); + } +} +function load$1(input, options) { + var documents = loadDocuments(input, options); + if (documents.length === 0) { + return undefined; + } else if (documents.length === 1) { + return documents[0]; + } + throw new exception('expected a single document in the stream, but found more'); +} +var loadAll_1 = loadAll$1; +var load_1 = load$1; +var loader = { + loadAll: loadAll_1, + load: load_1 +}; +var _toString = Object.prototype.toString; +var _hasOwnProperty = Object.prototype.hasOwnProperty; +var CHAR_BOM = 0xFEFF; +var CHAR_TAB = 0x09; +var CHAR_LINE_FEED = 0x0A; +var CHAR_CARRIAGE_RETURN = 0x0D; +var CHAR_SPACE = 0x20; +var CHAR_EXCLAMATION = 0x21; +var CHAR_DOUBLE_QUOTE = 0x22; +var CHAR_SHARP = 0x23; +var CHAR_PERCENT = 0x25; +var CHAR_AMPERSAND = 0x26; +var CHAR_SINGLE_QUOTE = 0x27; +var CHAR_ASTERISK = 0x2A; +var CHAR_COMMA = 0x2C; +var CHAR_MINUS = 0x2D; +var CHAR_COLON = 0x3A; +var CHAR_EQUALS = 0x3D; +var CHAR_GREATER_THAN = 0x3E; +var CHAR_QUESTION = 0x3F; +var CHAR_COMMERCIAL_AT = 0x40; +var CHAR_LEFT_SQUARE_BRACKET = 0x5B; +var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; +var CHAR_GRAVE_ACCENT = 0x60; +var CHAR_LEFT_CURLY_BRACKET = 0x7B; +var CHAR_VERTICAL_LINE = 0x7C; +var CHAR_RIGHT_CURLY_BRACKET = 0x7D; +var ESCAPE_SEQUENCES = {}; +ESCAPE_SEQUENCES[0x00] = '\\0'; +ESCAPE_SEQUENCES[0x07] = '\\a'; +ESCAPE_SEQUENCES[0x08] = '\\b'; +ESCAPE_SEQUENCES[0x09] = '\\t'; +ESCAPE_SEQUENCES[0x0A] = '\\n'; +ESCAPE_SEQUENCES[0x0B] = '\\v'; +ESCAPE_SEQUENCES[0x0C] = '\\f'; +ESCAPE_SEQUENCES[0x0D] = '\\r'; +ESCAPE_SEQUENCES[0x1B] = '\\e'; +ESCAPE_SEQUENCES[0x22] = '\\"'; +ESCAPE_SEQUENCES[0x5C] = '\\\\'; +ESCAPE_SEQUENCES[0x85] = '\\N'; +ESCAPE_SEQUENCES[0xA0] = '\\_'; +ESCAPE_SEQUENCES[0x2028] = '\\L'; +ESCAPE_SEQUENCES[0x2029] = '\\P'; +var DEPRECATED_BOOLEANS_SYNTAX = ['y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF']; +var DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/; +function compileStyleMap(schema, map) { + var result, keys, index, length, tag, style, type; + if (map === null) return {}; + result = {}; + keys = Object.keys(map); + for (index = 0, length = keys.length; index < length; index += 1) { + tag = keys[index]; + style = String(map[tag]); + if (tag.slice(0, 2) === '!!') { + tag = 'tag:yaml.org,2002:' + tag.slice(2); + } + type = schema.compiledTypeMap['fallback'][tag]; + if (type && _hasOwnProperty.call(type.styleAliases, style)) { + style = type.styleAliases[style]; + } + result[tag] = style; + } + return result; +} +function encodeHex(character) { + var string, handle, length; + string = character.toString(16).toUpperCase(); + if (character <= 0xFF) { + handle = 'x'; + length = 2; + } else if (character <= 0xFFFF) { + handle = 'u'; + length = 4; + } else if (character <= 0xFFFFFFFF) { + handle = 'U'; + length = 8; + } else { + throw new exception('code point within a string may not be greater than 0xFFFFFFFF'); + } + return '\\' + handle + common.repeat('0', length - string.length) + string; +} +var QUOTING_TYPE_SINGLE = 1, + QUOTING_TYPE_DOUBLE = 2; +function State(options) { + this.schema = options['schema'] || _default; + this.indent = Math.max(1, options['indent'] || 2); + this.noArrayIndent = options['noArrayIndent'] || false; + this.skipInvalid = options['skipInvalid'] || false; + this.flowLevel = common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']; + this.styleMap = compileStyleMap(this.schema, options['styles'] || null); + this.sortKeys = options['sortKeys'] || false; + this.lineWidth = options['lineWidth'] || 80; + this.noRefs = options['noRefs'] || false; + this.noCompatMode = options['noCompatMode'] || false; + this.condenseFlow = options['condenseFlow'] || false; + this.quotingType = options['quotingType'] === '"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE; + this.forceQuotes = options['forceQuotes'] || false; + this.replacer = typeof options['replacer'] === 'function' ? options['replacer'] : null; + this.implicitTypes = this.schema.compiledImplicit; + this.explicitTypes = this.schema.compiledExplicit; + this.tag = null; + this.result = ''; + this.duplicates = []; + this.usedDuplicates = null; +} +function indentString(string, spaces) { + var ind = common.repeat(' ', spaces), + position = 0, + next = -1, + result = '', + line, + length = string.length; + while (position < length) { + next = string.indexOf('\n', position); + if (next === -1) { + line = string.slice(position); + position = length; + } else { + line = string.slice(position, next + 1); + position = next + 1; + } + if (line.length && line !== '\n') result += ind; + result += line; + } + return result; +} +function generateNextLine(state, level) { + return '\n' + common.repeat(' ', state.indent * level); +} +function testImplicitResolving(state, str) { + var index, length, type; + for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { + type = state.implicitTypes[index]; + if (type.resolve(str)) { + return true; + } + } + return false; +} +function isWhitespace(c) { + return c === CHAR_SPACE || c === CHAR_TAB; +} +function isPrintable(c) { + return 0x00020 <= c && c <= 0x00007E || 0x000A1 <= c && c <= 0x00D7FF && c !== 0x2028 && c !== 0x2029 || 0x0E000 <= c && c <= 0x00FFFD && c !== CHAR_BOM || 0x10000 <= c && c <= 0x10FFFF; +} +function isNsCharOrWhitespace(c) { + return isPrintable(c) && c !== CHAR_BOM && c !== CHAR_CARRIAGE_RETURN && c !== CHAR_LINE_FEED; +} +function isPlainSafe(c, prev, inblock) { + var cIsNsCharOrWhitespace = isNsCharOrWhitespace(c); + var cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c); + return (inblock ? cIsNsCharOrWhitespace : cIsNsCharOrWhitespace && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET) && c !== CHAR_SHARP && !(prev === CHAR_COLON && !cIsNsChar) || isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP || prev === CHAR_COLON && cIsNsChar; +} +function isPlainSafeFirst(c) { + return isPrintable(c) && c !== CHAR_BOM && !isWhitespace(c) && c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_EQUALS && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT; +} +function isPlainSafeLast(c) { + return !isWhitespace(c) && c !== CHAR_COLON; +} +function codePointAt(string, pos) { + var first = string.charCodeAt(pos), + second; + if (first >= 0xD800 && first <= 0xDBFF && pos + 1 < string.length) { + second = string.charCodeAt(pos + 1); + if (second >= 0xDC00 && second <= 0xDFFF) { + return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; + } + } + return first; +} +function needIndentIndicator(string) { + var leadingSpaceRe = /^\n* /; + return leadingSpaceRe.test(string); +} +var STYLE_PLAIN = 1, + STYLE_SINGLE = 2, + STYLE_LITERAL = 3, + STYLE_FOLDED = 4, + STYLE_DOUBLE = 5; +function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType, quotingType, forceQuotes, inblock) { + var i; + var char = 0; + var prevChar = null; + var hasLineBreak = false; + var hasFoldableLine = false; + var shouldTrackWidth = lineWidth !== -1; + var previousLineBreak = -1; + var plain = isPlainSafeFirst(codePointAt(string, 0)) && isPlainSafeLast(codePointAt(string, string.length - 1)); + if (singleLineOnly || forceQuotes) { + for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + plain = plain && isPlainSafe(char, prevChar, inblock); + prevChar = char; + } + } else { + for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + if (char === CHAR_LINE_FEED) { + hasLineBreak = true; + if (shouldTrackWidth) { + hasFoldableLine = hasFoldableLine || i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== ' '; + previousLineBreak = i; + } + } else if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + plain = plain && isPlainSafe(char, prevChar, inblock); + prevChar = char; + } + hasFoldableLine = hasFoldableLine || shouldTrackWidth && i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== ' '; + } + if (!hasLineBreak && !hasFoldableLine) { + if (plain && !forceQuotes && !testAmbiguousType(string)) { + return STYLE_PLAIN; + } + return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE; + } + if (indentPerLevel > 9 && needIndentIndicator(string)) { + return STYLE_DOUBLE; + } + if (!forceQuotes) { + return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; + } + return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE; +} +function writeScalar(state, string, level, iskey, inblock) { + state.dump = function () { + if (string.length === 0) { + return state.quotingType === QUOTING_TYPE_DOUBLE ? '""' : "''"; + } + if (!state.noCompatMode) { + if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string)) { + return state.quotingType === QUOTING_TYPE_DOUBLE ? '"' + string + '"' : "'" + string + "'"; + } + } + var indent = state.indent * Math.max(1, level); + var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); + var singleLineOnly = iskey || state.flowLevel > -1 && level >= state.flowLevel; + function testAmbiguity(string) { + return testImplicitResolving(state, string); + } + switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity, state.quotingType, state.forceQuotes && !iskey, inblock)) { + case STYLE_PLAIN: + return string; + case STYLE_SINGLE: + return "'" + string.replace(/'/g, "''") + "'"; + case STYLE_LITERAL: + return '|' + blockHeader(string, state.indent) + dropEndingNewline(indentString(string, indent)); + case STYLE_FOLDED: + return '>' + blockHeader(string, state.indent) + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); + case STYLE_DOUBLE: + return '"' + escapeString(string) + '"'; + default: + throw new exception('impossible error: invalid scalar style'); + } + }(); +} +function blockHeader(string, indentPerLevel) { + var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ''; + var clip = string[string.length - 1] === '\n'; + var keep = clip && (string[string.length - 2] === '\n' || string === '\n'); + var chomp = keep ? '+' : clip ? '' : '-'; + return indentIndicator + chomp + '\n'; +} +function dropEndingNewline(string) { + return string[string.length - 1] === '\n' ? string.slice(0, -1) : string; +} +function foldString(string, width) { + var lineRe = /(\n+)([^\n]*)/g; + var result = function () { + var nextLF = string.indexOf('\n'); + nextLF = nextLF !== -1 ? nextLF : string.length; + lineRe.lastIndex = nextLF; + return foldLine(string.slice(0, nextLF), width); + }(); + var prevMoreIndented = string[0] === '\n' || string[0] === ' '; + var moreIndented; + var match; + while (match = lineRe.exec(string)) { + var prefix = match[1], + line = match[2]; + moreIndented = line[0] === ' '; + result += prefix + (!prevMoreIndented && !moreIndented && line !== '' ? '\n' : '') + foldLine(line, width); + prevMoreIndented = moreIndented; + } + return result; +} +function foldLine(line, width) { + if (line === '' || line[0] === ' ') return line; + var breakRe = / [^ ]/g; + var match; + var start = 0, + end, + curr = 0, + next = 0; + var result = ''; + while (match = breakRe.exec(line)) { + next = match.index; + if (next - start > width) { + end = curr > start ? curr : next; + result += '\n' + line.slice(start, end); + start = end + 1; + } + curr = next; + } + result += '\n'; + if (line.length - start > width && curr > start) { + result += line.slice(start, curr) + '\n' + line.slice(curr + 1); + } else { + result += line.slice(start); + } + return result.slice(1); +} +function escapeString(string) { + var result = ''; + var char = 0; + var escapeSeq; + for (var i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + escapeSeq = ESCAPE_SEQUENCES[char]; + if (!escapeSeq && isPrintable(char)) { + result += string[i]; + if (char >= 0x10000) result += string[i + 1]; + } else { + result += escapeSeq || encodeHex(char); + } + } + return result; +} +function writeFlowSequence(state, level, object) { + var _result = '', + _tag = state.tag, + index, + length, + value; + for (index = 0, length = object.length; index < length; index += 1) { + value = object[index]; + if (state.replacer) { + value = state.replacer.call(object, String(index), value); + } + if (writeNode(state, level, value, false, false) || typeof value === 'undefined' && writeNode(state, level, null, false, false)) { + if (_result !== '') _result += ',' + (!state.condenseFlow ? ' ' : ''); + _result += state.dump; + } + } + state.tag = _tag; + state.dump = '[' + _result + ']'; +} +function writeBlockSequence(state, level, object, compact) { + var _result = '', + _tag = state.tag, + index, + length, + value; + for (index = 0, length = object.length; index < length; index += 1) { + value = object[index]; + if (state.replacer) { + value = state.replacer.call(object, String(index), value); + } + if (writeNode(state, level + 1, value, true, true, false, true) || typeof value === 'undefined' && writeNode(state, level + 1, null, true, true, false, true)) { + if (!compact || _result !== '') { + _result += generateNextLine(state, level); + } + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + _result += '-'; + } else { + _result += '- '; + } + _result += state.dump; + } + } + state.tag = _tag; + state.dump = _result || '[]'; +} +function writeFlowMapping(state, level, object) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + pairBuffer; + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ''; + if (_result !== '') pairBuffer += ', '; + if (state.condenseFlow) pairBuffer += '"'; + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + if (state.replacer) { + objectValue = state.replacer.call(object, objectKey, objectValue); + } + if (!writeNode(state, level, objectKey, false, false)) { + continue; + } + if (state.dump.length > 1024) pairBuffer += '? '; + pairBuffer += state.dump + (state.condenseFlow ? '"' : '') + ':' + (state.condenseFlow ? '' : ' '); + if (!writeNode(state, level, objectValue, false, false)) { + continue; + } + pairBuffer += state.dump; + _result += pairBuffer; + } + state.tag = _tag; + state.dump = '{' + _result + '}'; +} +function writeBlockMapping(state, level, object, compact) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + explicitPair, + pairBuffer; + if (state.sortKeys === true) { + objectKeyList.sort(); + } else if (typeof state.sortKeys === 'function') { + objectKeyList.sort(state.sortKeys); + } else if (state.sortKeys) { + throw new exception('sortKeys must be a boolean or a function'); + } + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ''; + if (!compact || _result !== '') { + pairBuffer += generateNextLine(state, level); + } + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + if (state.replacer) { + objectValue = state.replacer.call(object, objectKey, objectValue); + } + if (!writeNode(state, level + 1, objectKey, true, true, true)) { + continue; + } + explicitPair = state.tag !== null && state.tag !== '?' || state.dump && state.dump.length > 1024; + if (explicitPair) { + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += '?'; + } else { + pairBuffer += '? '; + } + } + pairBuffer += state.dump; + if (explicitPair) { + pairBuffer += generateNextLine(state, level); + } + if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { + continue; + } + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += ':'; + } else { + pairBuffer += ': '; + } + pairBuffer += state.dump; + _result += pairBuffer; + } + state.tag = _tag; + state.dump = _result || '{}'; +} +function detectType(state, object, explicit) { + var _result, typeList, index, length, type, style; + typeList = explicit ? state.explicitTypes : state.implicitTypes; + for (index = 0, length = typeList.length; index < length; index += 1) { + type = typeList[index]; + if ((type.instanceOf || type.predicate) && (!type.instanceOf || _typeof(object) === 'object' && object instanceof type.instanceOf) && (!type.predicate || type.predicate(object))) { + if (explicit) { + if (type.multi && type.representName) { + state.tag = type.representName(object); + } else { + state.tag = type.tag; + } + } else { + state.tag = '?'; + } + if (type.represent) { + style = state.styleMap[type.tag] || type.defaultStyle; + if (_toString.call(type.represent) === '[object Function]') { + _result = type.represent(object, style); + } else if (_hasOwnProperty.call(type.represent, style)) { + _result = type.represent[style](object, style); + } else { + throw new exception('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); + } + state.dump = _result; + } + return true; + } + } + return false; +} +function writeNode(state, level, object, block, compact, iskey, isblockseq) { + state.tag = null; + state.dump = object; + if (!detectType(state, object, false)) { + detectType(state, object, true); + } + var type = _toString.call(state.dump); + var inblock = block; + var tagStr; + if (block) { + block = state.flowLevel < 0 || state.flowLevel > level; + } + var objectOrArray = type === '[object Object]' || type === '[object Array]', + duplicateIndex, + duplicate; + if (objectOrArray) { + duplicateIndex = state.duplicates.indexOf(object); + duplicate = duplicateIndex !== -1; + } + if (state.tag !== null && state.tag !== '?' || duplicate || state.indent !== 2 && level > 0) { + compact = false; + } + if (duplicate && state.usedDuplicates[duplicateIndex]) { + state.dump = '*ref_' + duplicateIndex; + } else { + if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { + state.usedDuplicates[duplicateIndex] = true; + } + if (type === '[object Object]') { + if (block && Object.keys(state.dump).length !== 0) { + writeBlockMapping(state, level, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowMapping(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object Array]') { + if (block && state.dump.length !== 0) { + if (state.noArrayIndent && !isblockseq && level > 0) { + writeBlockSequence(state, level - 1, state.dump, compact); + } else { + writeBlockSequence(state, level, state.dump, compact); + } + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowSequence(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object String]') { + if (state.tag !== '?') { + writeScalar(state, state.dump, level, iskey, inblock); + } + } else if (type === '[object Undefined]') { + return false; + } else { + if (state.skipInvalid) return false; + throw new exception('unacceptable kind of an object to dump ' + type); + } + if (state.tag !== null && state.tag !== '?') { + tagStr = encodeURI(state.tag[0] === '!' ? state.tag.slice(1) : state.tag).replace(/!/g, '%21'); + if (state.tag[0] === '!') { + tagStr = '!' + tagStr; + } else if (tagStr.slice(0, 18) === 'tag:yaml.org,2002:') { + tagStr = '!!' + tagStr.slice(18); + } else { + tagStr = '!<' + tagStr + '>'; + } + state.dump = tagStr + ' ' + state.dump; + } + } + return true; +} +function getDuplicateReferences(object, state) { + var objects = [], + duplicatesIndexes = [], + index, + length; + inspectNode(object, objects, duplicatesIndexes); + for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { + state.duplicates.push(objects[duplicatesIndexes[index]]); + } + state.usedDuplicates = new Array(length); +} +function inspectNode(object, objects, duplicatesIndexes) { + var objectKeyList, index, length; + if (object !== null && _typeof(object) === 'object') { + index = objects.indexOf(object); + if (index !== -1) { + if (duplicatesIndexes.indexOf(index) === -1) { + duplicatesIndexes.push(index); + } + } else { + objects.push(object); + if (Array.isArray(object)) { + for (index = 0, length = object.length; index < length; index += 1) { + inspectNode(object[index], objects, duplicatesIndexes); + } + } else { + objectKeyList = Object.keys(object); + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); + } + } + } + } +} +function dump$1(input, options) { + options = options || {}; + var state = new State(options); + if (!state.noRefs) getDuplicateReferences(input, state); + var value = input; + if (state.replacer) { + value = state.replacer.call({ + '': value + }, '', value); + } + if (writeNode(state, 0, value, true, true)) return state.dump + '\n'; + return ''; +} +var dump_1 = dump$1; +var dumper = { + dump: dump_1 +}; +function renamed(from, to) { + return function () { + throw new Error('Function yaml.' + from + ' is removed in js-yaml 4. ' + 'Use yaml.' + to + ' instead, which is now safe by default.'); + }; +} +var Type = type; +var Schema = schema; +var FAILSAFE_SCHEMA = failsafe; +var JSON_SCHEMA = json; +var CORE_SCHEMA = core; +var DEFAULT_SCHEMA = _default; +var load = loader.load; +var loadAll = loader.loadAll; +var dump = dumper.dump; +var YAMLException = exception; +var types = { + binary: binary, + float: float, + map: map, + null: _null, + pairs: pairs, + set: set, + timestamp: timestamp, + bool: bool, + int: int, + merge: merge, + omap: omap, + seq: seq, + str: str +}; +var safeLoad = renamed('safeLoad', 'load'); +var safeLoadAll = renamed('safeLoadAll', 'loadAll'); +var safeDump = renamed('safeDump', 'dump'); +var jsYaml = { + Type: Type, + Schema: Schema, + FAILSAFE_SCHEMA: FAILSAFE_SCHEMA, + JSON_SCHEMA: JSON_SCHEMA, + CORE_SCHEMA: CORE_SCHEMA, + DEFAULT_SCHEMA: DEFAULT_SCHEMA, + load: load, + loadAll: loadAll, + dump: dump, + YAMLException: YAMLException, + types: types, + safeLoad: safeLoad, + safeLoadAll: safeLoadAll, + safeDump: safeDump +}; +export default jsYaml; +export { CORE_SCHEMA, DEFAULT_SCHEMA, FAILSAFE_SCHEMA, JSON_SCHEMA, Schema, Type, YAMLException, dump, load, loadAll, safeDump, safeLoad, safeLoadAll, types }; \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/esm/index.d.mts b/node_modules/i18next-fs-backend/esm/index.d.mts new file mode 100644 index 00000000..1c055a77 --- /dev/null +++ b/node_modules/i18next-fs-backend/esm/index.d.mts @@ -0,0 +1,5 @@ +import * as index from './index.js'; + +export default index.default; + +export type FsBackendOptions = index.FsBackendOptions; diff --git a/node_modules/i18next-fs-backend/esm/index.d.ts b/node_modules/i18next-fs-backend/esm/index.d.ts new file mode 100644 index 00000000..7b85d007 --- /dev/null +++ b/node_modules/i18next-fs-backend/esm/index.d.ts @@ -0,0 +1,50 @@ +import { BackendModule, ReadCallback } from "i18next"; + +type LoadPathOption = + | string + | ((language: string, namespace: string) => string); + +type AddPathOption = + | string + | ((language: string, namespace: string) => string) + +export interface FsBackendOptions { + /** + * path where resources get loaded from, or a function + * returning a path: + * function(language, namespace) { return customPath; } + * the returned path will interpolate lng, ns if provided like giving a static path + */ + loadPath?: LoadPathOption; + /** + * path to post missing resources, must be `string` or a `function` returning a path: + * function(language, namespace) { return customPath; } + */ + addPath?: AddPathOption; + ident?: number | undefined; + parse?( + data: string + ): { [key: string]: any }; + stringify?( + data: { [key: string]: any } + ): string; + expirationTime?: number; +} + +export default class I18NexFsBackend + implements BackendModule +{ + static type: "backend"; + constructor(services?: any, options?: FsBackendOptions); + init(services?: any, options?: FsBackendOptions): void; + read(language: string, namespace: string, callback: ReadCallback): void; + create?( + languages: string[], + namespace: string, + key: string, + fallbackValue: string + ): void; + type: "backend"; + services: any; + options: FsBackendOptions; +} diff --git a/node_modules/i18next-fs-backend/esm/index.js b/node_modules/i18next-fs-backend/esm/index.js new file mode 100644 index 00000000..f975dba2 --- /dev/null +++ b/node_modules/i18next-fs-backend/esm/index.js @@ -0,0 +1,193 @@ +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +import { defaults, debounce, getPath, setPath, pushPath } from './utils.js'; +import { readFile, readFileSync } from './readFile.js'; +import { writeFile as _writeFile, removeFile as _removeFile } from './writeFile.js'; +var getDefaults = function getDefaults() { + return { + loadPath: '/locales/{{lng}}/{{ns}}.json', + addPath: '/locales/{{lng}}/{{ns}}.missing.json', + ident: 2, + parse: JSON.parse, + stringify: JSON.stringify + }; +}; +var Backend = function () { + function Backend(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + _classCallCheck(this, Backend); + this.services = services; + this.options = options; + this.allOptions = allOptions; + this.type = 'backend'; + this.init(services, options, allOptions); + } + return _createClass(Backend, [{ + key: "init", + value: function init(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + this.services = services; + this.options = defaults(options, this.options || {}, getDefaults()); + this.allOptions = allOptions; + this.queuedWrites = {}; + this.debouncedWrite = debounce(this.write, 250); + } + }, { + key: "read", + value: function read(language, namespace, callback) { + var _this = this; + var loadPath = this.options.loadPath; + if (typeof this.options.loadPath === 'function') { + loadPath = this.options.loadPath(language, namespace); + } + var filename = this.services.interpolator.interpolate(loadPath, { + lng: language, + ns: namespace + }); + if (this.allOptions.initAsync === false || this.allOptions.initImmediate === false) { + try { + var _readFileSync = readFileSync(filename, this.options), + data = _readFileSync.data, + stat = _readFileSync.stat; + var timestamp = stat && stat.mtime && stat.mtime.getTime(); + if (this.options.expirationTime && timestamp && timestamp + this.options.expirationTime < Date.now()) { + this.removeFile(language, namespace); + return callback(new Error('File expired!'), false); + } + callback(null, data, timestamp); + } catch (err) { + callback(err, false); + } + return; + } + readFile(filename, this.options).then(function (_ref) { + var data = _ref.data, + stat = _ref.stat; + var timestamp = stat && stat.mtime && stat.mtime.getTime(); + if (_this.options.expirationTime && timestamp && timestamp + _this.options.expirationTime < Date.now()) { + _this.removeFile(language, namespace); + return callback(new Error('File expired!'), false); + } + callback(null, data, timestamp); + }).catch(function (err) { + return callback(err, false); + }); + } + }, { + key: "create", + value: function create(languages, namespace, key, fallbackValue, callback) { + var _this2 = this; + if (typeof callback !== 'function') callback = function callback() {}; + if (typeof languages === 'string') languages = [languages]; + var todo = languages.length; + var done = function done() { + if (! --todo) callback(); + }; + languages.forEach(function (lng) { + _this2.queue.call(_this2, lng, namespace, key, fallbackValue, done); + }); + } + }, { + key: "save", + value: function save(language, namespace, data, callback) { + var _this3 = this; + if (!callback) callback = function callback() {}; + var keys = Object.keys(data); + var todo = keys.length; + var done = function done() { + if (! --todo) callback(); + }; + keys.forEach(function (key) { + _this3.queue.call(_this3, language, namespace, key, data[key], done); + }); + } + }, { + key: "removeFile", + value: function removeFile(language, namespace) { + var addPath = this.options.addPath; + if (typeof this.options.addPath === 'function') { + addPath = this.options.addPath(language, namespace); + } + var filename = this.services.interpolator.interpolate(addPath, { + lng: language, + ns: namespace + }); + _removeFile(filename, this.options).then(function () {}).catch(function () {}); + } + }, { + key: "write", + value: function write() { + for (var lng in this.queuedWrites) { + var namespaces = this.queuedWrites[lng]; + if (lng !== 'locks') { + for (var ns in namespaces) { + this.writeFile(lng, ns); + } + } + } + } + }, { + key: "writeFile", + value: function writeFile(lng, namespace) { + var _this4 = this; + var lock = getPath(this.queuedWrites, ['locks', lng, namespace]); + if (lock) return; + var addPath = this.options.addPath; + if (typeof this.options.addPath === 'function') { + addPath = this.options.addPath(lng, namespace); + } + var filename = this.services.interpolator.interpolate(addPath, { + lng: lng, + ns: namespace + }); + var missings = getPath(this.queuedWrites, [lng, namespace]); + setPath(this.queuedWrites, [lng, namespace], []); + if (missings.length) { + setPath(this.queuedWrites, ['locks', lng, namespace], true); + var proceed = function proceed(_ref2) { + var data = _ref2.data; + missings.forEach(function (missing) { + var path = _this4.allOptions.keySeparator === false ? [missing.key] : missing.key.split(_this4.allOptions.keySeparator || '.'); + try { + setPath(data, path, missing.fallbackValue); + } catch (e) { + if (path.length < 2 || !e.message || e.message.indexOf('Cannot create property') < 0) throw e; + setPath(data, [missing.key], missing.fallbackValue); + } + }); + var proceedWrite = function proceedWrite() { + setPath(_this4.queuedWrites, ['locks', lng, namespace], false); + missings.forEach(function (missing) { + if (missing.callback) missing.callback(); + }); + _this4.debouncedWrite(); + }; + _writeFile(filename, data, _this4.options).then(proceedWrite).catch(proceedWrite); + }; + readFile(filename, this.options).then(proceed).catch(function () { + return proceed({ + data: {} + }); + }); + } + } + }, { + key: "queue", + value: function queue(lng, namespace, key, fallbackValue, callback) { + pushPath(this.queuedWrites, [lng, namespace], { + key: key, + fallbackValue: fallbackValue || '', + callback: callback + }); + this.debouncedWrite(); + } + }]); +}(); +Backend.type = 'backend'; +export default Backend; \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/esm/readFile.js b/node_modules/i18next-fs-backend/esm/readFile.js new file mode 100644 index 00000000..c9455cce --- /dev/null +++ b/node_modules/i18next-fs-backend/esm/readFile.js @@ -0,0 +1,150 @@ +import JSON5 from './formats/json5.js'; +import { parse as parseJSONC } from './formats/jsonc.js'; +import jsYaml from './formats/yaml.js'; +import extname from './extname.js'; +var isDeno = typeof Deno !== 'undefined'; +var isBun = typeof Bun !== 'undefined'; +var YAML = typeof jsYaml !== 'undefined' && jsYaml.load ? jsYaml : undefined; +var fs = !isDeno ? (await import('node:fs')).default : undefined; +var evalAlias = eval; +var readFileInNodeSync = function readFileInNodeSync(filename) { + var data = fs.readFileSync(filename, 'utf8'); + var stat; + try { + stat = fs.statSync(filename); + } catch (e) {} + return { + data: data, + stat: stat + }; +}; +var readFileInNode = function readFileInNode(filename) { + return new Promise(function (resolve, reject) { + fs.readFile(filename, 'utf8', function (err, data) { + if (err) return reject(err); + fs.stat(filename, function (err, stat) { + if (err) return resolve({ + data: data + }); + return resolve({ + data: data, + stat: stat + }); + }); + }); + }); +}; +var readFileInDenoSync = function readFileInDenoSync(filename) { + var decoder = new TextDecoder('utf-8'); + var d = Deno.readFileSync(filename); + var data = decoder.decode(d); + var stat; + try { + stat = Deno.statSync(filename); + } catch (e) {} + return { + data: data, + stat: stat + }; +}; +var readFileInDeno = function readFileInDeno(filename) { + return new Promise(function (resolve, reject) { + var decoder = new TextDecoder('utf-8'); + Deno.readFile(filename).then(function (d) { + var data = decoder.decode(d); + Deno.stat(filename).then(function (stat) { + return resolve({ + data: data, + stat: stat + }); + }).catch(function () { + return resolve({ + data: data + }); + }); + }).catch(reject); + }); +}; +var readFileInBunSync = readFileInNodeSync; +var readFileInBun = readFileInNode; +var replaceLast = function replaceLast(str, find, replace) { + var index = str.lastIndexOf(find); + if (index > -1) { + return str.substring(0, index) + replace + str.substring(index + find.length); + } + return str.toString(); +}; +var parseData = function parseData(extension, data, options) { + data = data.replace(/^\uFEFF/, ''); + var result = {}; + switch (extension) { + case '.js': + case '.ts': + if (typeof module === 'undefined') { + if (data.indexOf('exports') > -1) { + data = "(".concat(replaceLast(data.substring(data.indexOf('=') + 1), '};', ''), ")"); + } else if (data.indexOf('export default ') > -1) { + data = "(".concat(replaceLast(data.substring(data.indexOf('export default ') + 15), '};', ''), ")"); + } + } + result = evalAlias(data); + break; + case '.json5': + result = JSON5.parse(data); + break; + case '.jsonc': + result = parseJSONC(data); + break; + case '.yml': + case '.yaml': + result = YAML.load(data); + break; + default: + result = options.parse(data); + } + return result; +}; +export function readFileSync(filename, options) { + var ext = extname(filename); + var data, stat; + if (isBun) { + var ret = readFileInBunSync(filename); + data = ret.data; + stat = ret.stat; + } else if (isDeno) { + var _ret = readFileInDenoSync(filename); + data = _ret.data; + stat = _ret.stat; + } else { + var _ret2 = readFileInNodeSync(filename); + data = _ret2.data; + stat = _ret2.stat; + } + return { + data: parseData(ext, data, options), + stat: stat + }; +} +export function readFile(filename) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { + parse: JSON.parse + }; + var ext = extname(filename); + var fn = isBun ? readFileInBun : isDeno ? readFileInDeno : readFileInNode; + return new Promise(function (resolve, reject) { + fn(filename).then(function (_ref) { + var data = _ref.data, + stat = _ref.stat; + try { + var ret = parseData(ext, data, options); + resolve({ + data: ret, + stat: stat + }); + } catch (err) { + err.message = 'error parsing ' + filename + ': ' + err.message; + reject(err); + } + }).catch(reject); + }); +} \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/esm/utils.js b/node_modules/i18next-fs-backend/esm/utils.js new file mode 100644 index 00000000..be8ac2dc --- /dev/null +++ b/node_modules/i18next-fs-backend/esm/utils.js @@ -0,0 +1,67 @@ +var arr = []; +var each = arr.forEach; +var slice = arr.slice; +export function defaults(obj) { + each.call(slice.call(arguments, 1), function (source) { + if (source) { + for (var prop in source) { + if (obj[prop] === undefined) obj[prop] = source[prop]; + } + } + }); + return obj; +} +export function debounce(func, wait, immediate) { + var timeout; + return function () { + var context = this; + var args = arguments; + var later = function later() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; +} +function getLastOfPath(object, path, Empty) { + function cleanKey(key) { + return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key; + } + var stack = typeof path !== 'string' ? [].concat(path) : path.split('.'); + while (stack.length > 1) { + if (!object) return {}; + var key = cleanKey(stack.shift()); + if (!object[key] && Empty) object[key] = new Empty(); + object = object[key]; + } + if (!object) return {}; + return { + obj: object, + k: cleanKey(stack.shift()) + }; +} +export function setPath(object, path, newValue) { + var _getLastOfPath = getLastOfPath(object, path, Object), + obj = _getLastOfPath.obj, + k = _getLastOfPath.k; + if (Array.isArray(obj) && isNaN(k)) throw new Error("Cannot create property \"".concat(k, "\" here since object is an array")); + obj[k] = newValue; +} +export function pushPath(object, path, newValue, concat) { + var _getLastOfPath2 = getLastOfPath(object, path, Object), + obj = _getLastOfPath2.obj, + k = _getLastOfPath2.k; + obj[k] = obj[k] || []; + if (concat) obj[k] = obj[k].concat(newValue); + if (!concat) obj[k].push(newValue); +} +export function getPath(object, path) { + var _getLastOfPath3 = getLastOfPath(object, path), + obj = _getLastOfPath3.obj, + k = _getLastOfPath3.k; + if (!obj) return undefined; + return obj[k]; +} \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/esm/writeFile.js b/node_modules/i18next-fs-backend/esm/writeFile.js new file mode 100644 index 00000000..d8ebe82b --- /dev/null +++ b/node_modules/i18next-fs-backend/esm/writeFile.js @@ -0,0 +1,161 @@ +import JSON5 from './formats/json5.js'; +import jsYaml from './formats/yaml.js'; +import extname from './extname.js'; +var isDeno = typeof Deno !== 'undefined'; +var isBun = typeof Bun !== 'undefined'; +var YAML = typeof jsYaml !== 'undefined' && jsYaml.load ? jsYaml : undefined; +var fs = !isDeno ? (await import('node:fs')).default : undefined; +function dirname(path) { + if (path.length === 0) return '.'; + var code = path.charCodeAt(0); + var hasRoot = code === 47; + var end = -1; + var matchedSlash = true; + for (var i = path.length - 1; i >= 1; --i) { + code = path.charCodeAt(i); + if (code === 47) { + if (!matchedSlash) { + end = i; + break; + } + } else { + matchedSlash = false; + } + } + if (end === -1) return hasRoot ? '/' : '.'; + if (hasRoot && end === 1) return '//'; + return path.slice(0, end); +} +var writeFileInNodeSync = function writeFileInNodeSync(filename, payload) { + try { + fs.mkdirSync(dirname(filename), { + recursive: true + }); + } catch (err) {} + return fs.writeFileSync(filename, payload, 'utf8'); +}; +var writeFileInNode = function writeFileInNode(filename, payload) { + return new Promise(function (resolve, reject) { + fs.mkdir(dirname(filename), { + recursive: true + }, function () { + fs.writeFile(filename, payload, 'utf8', function (err, data) { + return err ? reject(err) : resolve(data); + }); + }); + }); +}; +var removeFileInNodeSync = function removeFileInNodeSync(filename) { + return fs.unlinkSync(filename); +}; +var removeFileInNode = function removeFileInNode(filename) { + return new Promise(function (resolve, reject) { + return fs.unlink(filename, function (err) { + return err ? reject(err) : resolve(); + }); + }); +}; +var writeFileInDenoSync = function writeFileInDenoSync(filename, payload) { + var encoder = new TextEncoder(); + var data = encoder.encode(payload); + try { + Deno.mkdirSync(dirname(filename), { + recursive: true + }); + } catch (err) {} + Deno.writeFileSync(filename, data); +}; +var writeFileInDeno = function writeFileInDeno(filename, payload) { + var encoder = new TextEncoder(); + var data = encoder.encode(payload); + return new Promise(function (resolve, reject) { + Deno.mkdir(dirname(filename), { + recursive: true + }).then(function () { + Deno.writeFile(filename, data).then(resolve, reject); + }).catch(function () { + Deno.writeFile(filename, data).then(resolve, reject); + }); + }); +}; +var removeFileInDenoSync = function removeFileInDenoSync(filename) { + Deno.removeSync(filename); +}; +var removeFileInDeno = function removeFileInDeno(filename) { + return Deno.remove(filename); +}; +var writeFileInBunSync = writeFileInNodeSync; +var writeFileInBun = writeFileInNode; +var removeFileInBunSync = removeFileInNodeSync; +var removeFileInBun = removeFileInNode; +var stringifyData = function stringifyData(extension, data, options) { + var result = ''; + switch (extension) { + case '.js': + case '.ts': + if (typeof module === 'undefined') { + result = "export default ".concat(options.stringify(data, null, options.ident)); + } else { + result = "module.exports = ".concat(options.stringify(data, null, options.ident)); + } + break; + case '.json5': + result = JSON5.stringify(data, null, options.ident); + break; + case '.yml': + case '.yaml': + result = YAML.dump(data, { + ident: options.indent + }); + break; + default: + result = options.stringify(data, null, options.ident); + } + return result; +}; +export function writeFileSync(filename, payload, options) { + var ext = extname(filename); + var data; + try { + data = stringifyData(ext, payload, options); + } catch (err) { + err.message = 'error stringifying ' + filename + ': ' + err.message; + throw err; + } + if (isBun) { + return writeFileInBunSync(filename, data); + } else if (isDeno) { + return writeFileInDenoSync(filename, data); + } else { + return writeFileInNodeSync(filename, data); + } +} +export function writeFile(filename, payload) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { + stringify: JSON.stringify, + ident: 2 + }; + var ext = extname(filename); + var data; + try { + data = stringifyData(ext, payload, options); + } catch (err) { + err.message = 'error stringifying ' + filename + ': ' + err.message; + throw err; + } + var fn = isBun ? writeFileInBun : isDeno ? writeFileInDeno : writeFileInNode; + return fn(filename, data); +} +export function removeFileSync(filename) { + if (isBun) { + return removeFileInBunSync(filename); + } else if (isDeno) { + return removeFileInDenoSync(filename); + } else { + return removeFileInNodeSync(filename); + } +} +export function removeFile(filename) { + var fn = isBun ? removeFileInBun : isDeno ? removeFileInDeno : removeFileInNode; + return fn(filename); +} \ No newline at end of file diff --git a/node_modules/i18next-fs-backend/index.d.mts b/node_modules/i18next-fs-backend/index.d.mts new file mode 100644 index 00000000..1c055a77 --- /dev/null +++ b/node_modules/i18next-fs-backend/index.d.mts @@ -0,0 +1,5 @@ +import * as index from './index.js'; + +export default index.default; + +export type FsBackendOptions = index.FsBackendOptions; diff --git a/node_modules/i18next-fs-backend/index.d.ts b/node_modules/i18next-fs-backend/index.d.ts new file mode 100644 index 00000000..7b85d007 --- /dev/null +++ b/node_modules/i18next-fs-backend/index.d.ts @@ -0,0 +1,50 @@ +import { BackendModule, ReadCallback } from "i18next"; + +type LoadPathOption = + | string + | ((language: string, namespace: string) => string); + +type AddPathOption = + | string + | ((language: string, namespace: string) => string) + +export interface FsBackendOptions { + /** + * path where resources get loaded from, or a function + * returning a path: + * function(language, namespace) { return customPath; } + * the returned path will interpolate lng, ns if provided like giving a static path + */ + loadPath?: LoadPathOption; + /** + * path to post missing resources, must be `string` or a `function` returning a path: + * function(language, namespace) { return customPath; } + */ + addPath?: AddPathOption; + ident?: number | undefined; + parse?( + data: string + ): { [key: string]: any }; + stringify?( + data: { [key: string]: any } + ): string; + expirationTime?: number; +} + +export default class I18NexFsBackend + implements BackendModule +{ + static type: "backend"; + constructor(services?: any, options?: FsBackendOptions); + init(services?: any, options?: FsBackendOptions): void; + read(language: string, namespace: string, callback: ReadCallback): void; + create?( + languages: string[], + namespace: string, + key: string, + fallbackValue: string + ): void; + type: "backend"; + services: any; + options: FsBackendOptions; +} diff --git a/node_modules/i18next-fs-backend/index.js b/node_modules/i18next-fs-backend/index.js new file mode 100644 index 00000000..cfeac131 --- /dev/null +++ b/node_modules/i18next-fs-backend/index.js @@ -0,0 +1,2 @@ +import backend from './lib/index.js' +export default backend diff --git a/node_modules/i18next-fs-backend/lib/extname.js b/node_modules/i18next-fs-backend/lib/extname.js new file mode 100644 index 00000000..b8a3e956 --- /dev/null +++ b/node_modules/i18next-fs-backend/lib/extname.js @@ -0,0 +1,4 @@ +export default (filename) => { + if (filename.indexOf('.') < 0) return undefined + return `.${filename.split('.').pop()}` +} diff --git a/node_modules/i18next-fs-backend/lib/formats/json5.js b/node_modules/i18next-fs-backend/lib/formats/json5.js new file mode 100644 index 00000000..b92b533b --- /dev/null +++ b/node_modules/i18next-fs-backend/lib/formats/json5.js @@ -0,0 +1,1426 @@ +// This is a generated file. Do not edit. +var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/; +var ID_Start = /[\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\u0561-\u0587\u05D0-\u05EA\u05F0-\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\u08A0-\u08B4\u08B6-\u08BD\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\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\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\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\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-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\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\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\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\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\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-\uAB65\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\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-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\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\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\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]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\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-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/; +var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\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\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\u0B56\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-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\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\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\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\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\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\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\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\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\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-\uAB65\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\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-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\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]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\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\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\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]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\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]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\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]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/; + +var unicode = { + Space_Separator: Space_Separator, + ID_Start: ID_Start, + ID_Continue: ID_Continue +}; + +var util = { + isSpaceSeparator (c) { + return typeof c === 'string' && unicode.Space_Separator.test(c) + }, + + isIdStartChar (c) { + return typeof c === 'string' && ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c === '$') || (c === '_') || + unicode.ID_Start.test(c) + ) + }, + + isIdContinueChar (c) { + return typeof c === 'string' && ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || + (c === '$') || (c === '_') || + (c === '\u200C') || (c === '\u200D') || + unicode.ID_Continue.test(c) + ) + }, + + isDigit (c) { + return typeof c === 'string' && /[0-9]/.test(c) + }, + + isHexDigit (c) { + return typeof c === 'string' && /[0-9A-Fa-f]/.test(c) + }, +}; + +let source; +let parseState; +let stack; +let pos; +let line; +let column; +let token; +let key; +let root; + +var parse = function parse (text, reviver) { + source = String(text); + parseState = 'start'; + stack = []; + pos = 0; + line = 1; + column = 0; + token = undefined; + key = undefined; + root = undefined; + + do { + token = lex(); + + // This code is unreachable. + // if (!parseStates[parseState]) { + // throw invalidParseState() + // } + + parseStates[parseState](); + } while (token.type !== 'eof') + + if (typeof reviver === 'function') { + return internalize({'': root}, '', reviver) + } + + return root +}; + +function internalize (holder, name, reviver) { + const value = holder[name]; + if (value != null && typeof value === 'object') { + if (Array.isArray(value)) { + for (let i = 0; i < value.length; i++) { + const key = String(i); + const replacement = internalize(value, key, reviver); + if (replacement === undefined) { + delete value[key]; + } else { + Object.defineProperty(value, key, { + value: replacement, + writable: true, + enumerable: true, + configurable: true, + }); + } + } + } else { + for (const key in value) { + const replacement = internalize(value, key, reviver); + if (replacement === undefined) { + delete value[key]; + } else { + Object.defineProperty(value, key, { + value: replacement, + writable: true, + enumerable: true, + configurable: true, + }); + } + } + } + } + + return reviver.call(holder, name, value) +} + +let lexState; +let buffer; +let doubleQuote; +let sign; +let c; + +function lex () { + lexState = 'default'; + buffer = ''; + doubleQuote = false; + sign = 1; + + for (;;) { + c = peek(); + + // This code is unreachable. + // if (!lexStates[lexState]) { + // throw invalidLexState(lexState) + // } + + const token = lexStates[lexState](); + if (token) { + return token + } + } +} + +function peek () { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)) + } +} + +function read () { + const c = peek(); + + if (c === '\n') { + line++; + column = 0; + } else if (c) { + column += c.length; + } else { + column++; + } + + if (c) { + pos += c.length; + } + + return c +} + +const lexStates = { + default () { + switch (c) { + case '\t': + case '\v': + case '\f': + case ' ': + case '\u00A0': + case '\uFEFF': + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read(); + return + + case '/': + read(); + lexState = 'comment'; + return + + case undefined: + read(); + return newToken('eof') + } + + if (util.isSpaceSeparator(c)) { + read(); + return + } + + // This code is unreachable. + // if (!lexStates[parseState]) { + // throw invalidLexState(parseState) + // } + + return lexStates[parseState]() + }, + + comment () { + switch (c) { + case '*': + read(); + lexState = 'multiLineComment'; + return + + case '/': + read(); + lexState = 'singleLineComment'; + return + } + + throw invalidChar(read()) + }, + + multiLineComment () { + switch (c) { + case '*': + read(); + lexState = 'multiLineCommentAsterisk'; + return + + case undefined: + throw invalidChar(read()) + } + + read(); + }, + + multiLineCommentAsterisk () { + switch (c) { + case '*': + read(); + return + + case '/': + read(); + lexState = 'default'; + return + + case undefined: + throw invalidChar(read()) + } + + read(); + lexState = 'multiLineComment'; + }, + + singleLineComment () { + switch (c) { + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read(); + lexState = 'default'; + return + + case undefined: + read(); + return newToken('eof') + } + + read(); + }, + + value () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + case 'n': + read(); + literal('ull'); + return newToken('null', null) + + case 't': + read(); + literal('rue'); + return newToken('boolean', true) + + case 'f': + read(); + literal('alse'); + return newToken('boolean', false) + + case '-': + case '+': + if (read() === '-') { + sign = -1; + } + + lexState = 'sign'; + return + + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return + + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', Infinity) + + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN) + + case '"': + case "'": + doubleQuote = (read() === '"'); + buffer = ''; + lexState = 'string'; + return + } + + throw invalidChar(read()) + }, + + identifierNameStartEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read(); + const u = unicodeEscape(); + switch (u) { + case '$': + case '_': + break + + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + identifierName () { + switch (c) { + case '$': + case '_': + case '\u200C': + case '\u200D': + buffer += read(); + return + + case '\\': + read(); + lexState = 'identifierNameEscape'; + return + } + + if (util.isIdContinueChar(c)) { + buffer += read(); + return + } + + return newToken('identifier', buffer) + }, + + identifierNameEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read(); + const u = unicodeEscape(); + switch (u) { + case '$': + case '_': + case '\u200C': + case '\u200D': + break + + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + sign () { + switch (c) { + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return + + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', sign * Infinity) + + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN) + } + + throw invalidChar(read()) + }, + + zero () { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + + case 'x': + case 'X': + buffer += read(); + lexState = 'hexadecimal'; + return + } + + return newToken('numeric', sign * 0) + }, + + decimalInteger () { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalPointLeading () { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return + } + + throw invalidChar(read()) + }, + + decimalPoint () { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalFraction () { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalExponent () { + switch (c) { + case '+': + case '-': + buffer += read(); + lexState = 'decimalExponentSign'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read()) + }, + + decimalExponentSign () { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read()) + }, + + decimalExponentInteger () { + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + hexadecimal () { + if (util.isHexDigit(c)) { + buffer += read(); + lexState = 'hexadecimalInteger'; + return + } + + throw invalidChar(read()) + }, + + hexadecimalInteger () { + if (util.isHexDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + string () { + switch (c) { + case '\\': + read(); + buffer += escape(); + return + + case '"': + if (doubleQuote) { + read(); + return newToken('string', buffer) + } + + buffer += read(); + return + + case "'": + if (!doubleQuote) { + read(); + return newToken('string', buffer) + } + + buffer += read(); + return + + case '\n': + case '\r': + throw invalidChar(read()) + + case '\u2028': + case '\u2029': + separatorChar(c); + break + + case undefined: + throw invalidChar(read()) + } + + buffer += read(); + }, + + start () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + // This code is unreachable since the default lexState handles eof. + // case undefined: + // return newToken('eof') + } + + lexState = 'value'; + }, + + beforePropertyName () { + switch (c) { + case '$': + case '_': + buffer = read(); + lexState = 'identifierName'; + return + + case '\\': + read(); + lexState = 'identifierNameStartEscape'; + return + + case '}': + return newToken('punctuator', read()) + + case '"': + case "'": + doubleQuote = (read() === '"'); + lexState = 'string'; + return + } + + if (util.isIdStartChar(c)) { + buffer += read(); + lexState = 'identifierName'; + return + } + + throw invalidChar(read()) + }, + + afterPropertyName () { + if (c === ':') { + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforePropertyValue () { + lexState = 'value'; + }, + + afterPropertyValue () { + switch (c) { + case ',': + case '}': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforeArrayValue () { + if (c === ']') { + return newToken('punctuator', read()) + } + + lexState = 'value'; + }, + + afterArrayValue () { + switch (c) { + case ',': + case ']': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + end () { + // This code is unreachable since it's handled by the default lexState. + // if (c === undefined) { + // read() + // return newToken('eof') + // } + + throw invalidChar(read()) + }, +}; + +function newToken (type, value) { + return { + type, + value, + line, + column, + } +} + +function literal (s) { + for (const c of s) { + const p = peek(); + + if (p !== c) { + throw invalidChar(read()) + } + + read(); + } +} + +function escape () { + const c = peek(); + switch (c) { + case 'b': + read(); + return '\b' + + case 'f': + read(); + return '\f' + + case 'n': + read(); + return '\n' + + case 'r': + read(); + return '\r' + + case 't': + read(); + return '\t' + + case 'v': + read(); + return '\v' + + case '0': + read(); + if (util.isDigit(peek())) { + throw invalidChar(read()) + } + + return '\0' + + case 'x': + read(); + return hexEscape() + + case 'u': + read(); + return unicodeEscape() + + case '\n': + case '\u2028': + case '\u2029': + read(); + return '' + + case '\r': + read(); + if (peek() === '\n') { + read(); + } + + return '' + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + throw invalidChar(read()) + + case undefined: + throw invalidChar(read()) + } + + return read() +} + +function hexEscape () { + let buffer = ''; + let c = peek(); + + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + + c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +function unicodeEscape () { + let buffer = ''; + let count = 4; + + while (count-- > 0) { + const c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + } + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +const parseStates = { + start () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforePropertyName () { + switch (token.type) { + case 'identifier': + case 'string': + key = token.value; + parseState = 'afterPropertyName'; + return + + case 'punctuator': + // This code is unreachable since it's handled by the lexState. + // if (token.value !== '}') { + // throw invalidToken() + // } + + pop(); + return + + case 'eof': + throw invalidEOF() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterPropertyName () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator' || token.value !== ':') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + parseState = 'beforePropertyValue'; + }, + + beforePropertyValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforeArrayValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + if (token.type === 'punctuator' && token.value === ']') { + pop(); + return + } + + push(); + }, + + afterPropertyValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforePropertyName'; + return + + case '}': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterArrayValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforeArrayValue'; + return + + case ']': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + end () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'eof') { + // throw invalidToken() + // } + }, +}; + +function push () { + let value; + + switch (token.type) { + case 'punctuator': + switch (token.value) { + case '{': + value = {}; + break + + case '[': + value = []; + break + } + + break + + case 'null': + case 'boolean': + case 'numeric': + case 'string': + value = token.value; + break + + // This code is unreachable. + // default: + // throw invalidToken() + } + + if (root === undefined) { + root = value; + } else { + const parent = stack[stack.length - 1]; + if (Array.isArray(parent)) { + parent.push(value); + } else { + Object.defineProperty(parent, key, { + value, + writable: true, + enumerable: true, + configurable: true, + }); + } + } + + if (value !== null && typeof value === 'object') { + stack.push(value); + + if (Array.isArray(value)) { + parseState = 'beforeArrayValue'; + } else { + parseState = 'beforePropertyName'; + } + } else { + const current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } + } +} + +function pop () { + stack.pop(); + + const current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } +} + +// This code is unreachable. +// function invalidParseState () { +// return new Error(`JSON5: invalid parse state '${parseState}'`) +// } + +// This code is unreachable. +// function invalidLexState (state) { +// return new Error(`JSON5: invalid lex state '${state}'`) +// } + +function invalidChar (c) { + if (c === undefined) { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) + } + + return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +} + +function invalidEOF () { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +} + +// This code is unreachable. +// function invalidToken () { +// if (token.type === 'eof') { +// return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +// } + +// const c = String.fromCodePoint(token.value.codePointAt(0)) +// return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +// } + +function invalidIdentifier () { + column -= 5; + return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`) +} + +function separatorChar (c) { + console.warn(`JSON5: '${formatChar(c)}' in strings is not valid ECMAScript; consider escaping`); +} + +function formatChar (c) { + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + if (replacements[c]) { + return replacements[c] + } + + if (c < ' ') { + const hexString = c.charCodeAt(0).toString(16); + return '\\x' + ('00' + hexString).substring(hexString.length) + } + + return c +} + +function syntaxError (message) { + const err = new SyntaxError(message); + err.lineNumber = line; + err.columnNumber = column; + return err +} + +var stringify = function stringify (value, replacer, space) { + const stack = []; + let indent = ''; + let propertyList; + let replacerFunc; + let gap = ''; + let quote; + + if ( + replacer != null && + typeof replacer === 'object' && + !Array.isArray(replacer) + ) { + space = replacer.space; + quote = replacer.quote; + replacer = replacer.replacer; + } + + if (typeof replacer === 'function') { + replacerFunc = replacer; + } else if (Array.isArray(replacer)) { + propertyList = []; + for (const v of replacer) { + let item; + + if (typeof v === 'string') { + item = v; + } else if ( + typeof v === 'number' || + v instanceof String || + v instanceof Number + ) { + item = String(v); + } + + if (item !== undefined && propertyList.indexOf(item) < 0) { + propertyList.push(item); + } + } + } + + if (space instanceof Number) { + space = Number(space); + } else if (space instanceof String) { + space = String(space); + } + + if (typeof space === 'number') { + if (space > 0) { + space = Math.min(10, Math.floor(space)); + gap = ' '.substr(0, space); + } + } else if (typeof space === 'string') { + gap = space.substr(0, 10); + } + + return serializeProperty('', {'': value}) + + function serializeProperty (key, holder) { + let value = holder[key]; + if (value != null) { + if (typeof value.toJSON5 === 'function') { + value = value.toJSON5(key); + } else if (typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + } + + if (replacerFunc) { + value = replacerFunc.call(holder, key, value); + } + + if (value instanceof Number) { + value = Number(value); + } else if (value instanceof String) { + value = String(value); + } else if (value instanceof Boolean) { + value = value.valueOf(); + } + + switch (value) { + case null: return 'null' + case true: return 'true' + case false: return 'false' + } + + if (typeof value === 'string') { + return quoteString(value, false) + } + + if (typeof value === 'number') { + return String(value) + } + + if (typeof value === 'object') { + return Array.isArray(value) ? serializeArray(value) : serializeObject(value) + } + + return undefined + } + + function quoteString (value) { + const quotes = { + "'": 0.1, + '"': 0.2, + }; + + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + let product = ''; + + for (let i = 0; i < value.length; i++) { + const c = value[i]; + switch (c) { + case "'": + case '"': + quotes[c]++; + product += c; + continue + + case '\0': + if (util.isDigit(value[i + 1])) { + product += '\\x00'; + continue + } + } + + if (replacements[c]) { + product += replacements[c]; + continue + } + + if (c < ' ') { + let hexString = c.charCodeAt(0).toString(16); + product += '\\x' + ('00' + hexString).substring(hexString.length); + continue + } + + product += c; + } + + const quoteChar = quote || Object.keys(quotes).reduce((a, b) => (quotes[a] < quotes[b]) ? a : b); + + product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]); + + return quoteChar + product + quoteChar + } + + function serializeObject (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + let stepback = indent; + indent = indent + gap; + + let keys = propertyList || Object.keys(value); + let partial = []; + for (const key of keys) { + const propertyString = serializeProperty(key, value); + if (propertyString !== undefined) { + let member = serializeKey(key) + ':'; + if (gap !== '') { + member += ' '; + } + member += propertyString; + partial.push(member); + } + } + + let final; + if (partial.length === 0) { + final = '{}'; + } else { + let properties; + if (gap === '') { + properties = partial.join(','); + final = '{' + properties + '}'; + } else { + let separator = ',\n' + indent; + properties = partial.join(separator); + final = '{\n' + indent + properties + ',\n' + stepback + '}'; + } + } + + stack.pop(); + indent = stepback; + return final + } + + function serializeKey (key) { + if (key.length === 0) { + return quoteString(key, true) + } + + const firstChar = String.fromCodePoint(key.codePointAt(0)); + if (!util.isIdStartChar(firstChar)) { + return quoteString(key, true) + } + + for (let i = firstChar.length; i < key.length; i++) { + if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + return quoteString(key, true) + } + } + + return key + } + + function serializeArray (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + let stepback = indent; + indent = indent + gap; + + let partial = []; + for (let i = 0; i < value.length; i++) { + const propertyString = serializeProperty(String(i), value); + partial.push((propertyString !== undefined) ? propertyString : 'null'); + } + + let final; + if (partial.length === 0) { + final = '[]'; + } else { + if (gap === '') { + let properties = partial.join(','); + final = '[' + properties + ']'; + } else { + let separator = ',\n' + indent; + let properties = partial.join(separator); + final = '[\n' + indent + properties + ',\n' + stepback + ']'; + } + } + + stack.pop(); + indent = stepback; + return final + } +}; + +const JSON5 = { + parse, + stringify, +}; + +var lib = JSON5; + +export default lib; diff --git a/node_modules/i18next-fs-backend/lib/formats/jsonc.js b/node_modules/i18next-fs-backend/lib/formats/jsonc.js new file mode 100644 index 00000000..3d2f3ed1 --- /dev/null +++ b/node_modules/i18next-fs-backend/lib/formats/jsonc.js @@ -0,0 +1,1652 @@ +/* +The MIT License (MIT) + +Copyright (c) Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. +*/ + +// node_modules/jsonc-parser/lib/esm/impl/scanner.js +function createScanner(text, ignoreTrivia = false) { + const len = text.length; + let pos = 0, value = "", tokenOffset = 0, token = 16, lineNumber = 0, lineStartOffset = 0, tokenLineStartOffset = 0, prevTokenLineStartOffset = 0, scanError = 0; + function scanHexDigits(count, exact) { + let digits = 0; + let value2 = 0; + while (digits < count || !exact) { + let ch = text.charCodeAt(pos); + if (ch >= 48 && ch <= 57) { + value2 = value2 * 16 + ch - 48; + } else if (ch >= 65 && ch <= 70) { + value2 = value2 * 16 + ch - 65 + 10; + } else if (ch >= 97 && ch <= 102) { + value2 = value2 * 16 + ch - 97 + 10; + } else { + break; + } + pos++; + digits++; + } + if (digits < count) { + value2 = -1; + } + return value2; + } + function setPosition(newPosition) { + pos = newPosition; + value = ""; + tokenOffset = 0; + token = 16; + scanError = 0; + } + function scanNumber() { + let start = pos; + if (text.charCodeAt(pos) === 48) { + pos++; + } else { + pos++; + while (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + } + } + if (pos < text.length && text.charCodeAt(pos) === 46) { + pos++; + if (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + while (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + } + } else { + scanError = 3; + return text.substring(start, pos); + } + } + let end = pos; + if (pos < text.length && (text.charCodeAt(pos) === 69 || text.charCodeAt(pos) === 101)) { + pos++; + if (pos < text.length && text.charCodeAt(pos) === 43 || text.charCodeAt(pos) === 45) { + pos++; + } + if (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + while (pos < text.length && isDigit(text.charCodeAt(pos))) { + pos++; + } + end = pos; + } else { + scanError = 3; + } + } + return text.substring(start, end); + } + function scanString() { + let result = "", start = pos; + while (true) { + if (pos >= len) { + result += text.substring(start, pos); + scanError = 2; + break; + } + const ch = text.charCodeAt(pos); + if (ch === 34) { + result += text.substring(start, pos); + pos++; + break; + } + if (ch === 92) { + result += text.substring(start, pos); + pos++; + if (pos >= len) { + scanError = 2; + break; + } + const ch2 = text.charCodeAt(pos++); + switch (ch2) { + case 34: + result += '"'; + break; + case 92: + result += "\\"; + break; + case 47: + result += "/"; + break; + case 98: + result += "\b"; + break; + case 102: + result += "\f"; + break; + case 110: + result += "\n"; + break; + case 114: + result += "\r"; + break; + case 116: + result += " "; + break; + case 117: + const ch3 = scanHexDigits(4, true); + if (ch3 >= 0) { + result += String.fromCharCode(ch3); + } else { + scanError = 4; + } + break; + default: + scanError = 5; + } + start = pos; + continue; + } + if (ch >= 0 && ch <= 31) { + if (isLineBreak(ch)) { + result += text.substring(start, pos); + scanError = 2; + break; + } else { + scanError = 6; + } + } + pos++; + } + return result; + } + function scanNext() { + value = ""; + scanError = 0; + tokenOffset = pos; + lineStartOffset = lineNumber; + prevTokenLineStartOffset = tokenLineStartOffset; + if (pos >= len) { + tokenOffset = len; + return token = 17; + } + let code = text.charCodeAt(pos); + if (isWhiteSpace(code)) { + do { + pos++; + value += String.fromCharCode(code); + code = text.charCodeAt(pos); + } while (isWhiteSpace(code)); + return token = 15; + } + if (isLineBreak(code)) { + pos++; + value += String.fromCharCode(code); + if (code === 13 && text.charCodeAt(pos) === 10) { + pos++; + value += "\n"; + } + lineNumber++; + tokenLineStartOffset = pos; + return token = 14; + } + switch (code) { + // tokens: []{}:, + case 123: + pos++; + return token = 1; + case 125: + pos++; + return token = 2; + case 91: + pos++; + return token = 3; + case 93: + pos++; + return token = 4; + case 58: + pos++; + return token = 6; + case 44: + pos++; + return token = 5; + // strings + case 34: + pos++; + value = scanString(); + return token = 10; + // comments + case 47: + const start = pos - 1; + if (text.charCodeAt(pos + 1) === 47) { + pos += 2; + while (pos < len) { + if (isLineBreak(text.charCodeAt(pos))) { + break; + } + pos++; + } + value = text.substring(start, pos); + return token = 12; + } + if (text.charCodeAt(pos + 1) === 42) { + pos += 2; + const safeLength = len - 1; + let commentClosed = false; + while (pos < safeLength) { + const ch = text.charCodeAt(pos); + if (ch === 42 && text.charCodeAt(pos + 1) === 47) { + pos += 2; + commentClosed = true; + break; + } + pos++; + if (isLineBreak(ch)) { + if (ch === 13 && text.charCodeAt(pos) === 10) { + pos++; + } + lineNumber++; + tokenLineStartOffset = pos; + } + } + if (!commentClosed) { + pos++; + scanError = 1; + } + value = text.substring(start, pos); + return token = 13; + } + value += String.fromCharCode(code); + pos++; + return token = 16; + // numbers + case 45: + value += String.fromCharCode(code); + pos++; + if (pos === len || !isDigit(text.charCodeAt(pos))) { + return token = 16; + } + // found a minus, followed by a number so + // we fall through to proceed with scanning + // numbers + case 48: + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + value += scanNumber(); + return token = 11; + // literals and unknown symbols + default: + while (pos < len && isUnknownContentCharacter(code)) { + pos++; + code = text.charCodeAt(pos); + } + if (tokenOffset !== pos) { + value = text.substring(tokenOffset, pos); + switch (value) { + case "true": + return token = 8; + case "false": + return token = 9; + case "null": + return token = 7; + } + return token = 16; + } + value += String.fromCharCode(code); + pos++; + return token = 16; + } + } + function isUnknownContentCharacter(code) { + if (isWhiteSpace(code) || isLineBreak(code)) { + return false; + } + switch (code) { + case 125: + case 93: + case 123: + case 91: + case 34: + case 58: + case 44: + case 47: + return false; + } + return true; + } + function scanNextNonTrivia() { + let result; + do { + result = scanNext(); + } while (result >= 12 && result <= 15); + return result; + } + return { + setPosition, + getPosition: () => pos, + scan: ignoreTrivia ? scanNextNonTrivia : scanNext, + getToken: () => token, + getTokenValue: () => value, + getTokenOffset: () => tokenOffset, + getTokenLength: () => pos - tokenOffset, + getTokenStartLine: () => lineStartOffset, + getTokenStartCharacter: () => tokenOffset - prevTokenLineStartOffset, + getTokenError: () => scanError + }; +} +function isWhiteSpace(ch) { + return ch === 32 || ch === 9; +} +function isLineBreak(ch) { + return ch === 10 || ch === 13; +} +function isDigit(ch) { + return ch >= 48 && ch <= 57; +} +var CharacterCodes; +(function(CharacterCodes2) { + CharacterCodes2[CharacterCodes2["lineFeed"] = 10] = "lineFeed"; + CharacterCodes2[CharacterCodes2["carriageReturn"] = 13] = "carriageReturn"; + CharacterCodes2[CharacterCodes2["space"] = 32] = "space"; + CharacterCodes2[CharacterCodes2["_0"] = 48] = "_0"; + CharacterCodes2[CharacterCodes2["_1"] = 49] = "_1"; + CharacterCodes2[CharacterCodes2["_2"] = 50] = "_2"; + CharacterCodes2[CharacterCodes2["_3"] = 51] = "_3"; + CharacterCodes2[CharacterCodes2["_4"] = 52] = "_4"; + CharacterCodes2[CharacterCodes2["_5"] = 53] = "_5"; + CharacterCodes2[CharacterCodes2["_6"] = 54] = "_6"; + CharacterCodes2[CharacterCodes2["_7"] = 55] = "_7"; + CharacterCodes2[CharacterCodes2["_8"] = 56] = "_8"; + CharacterCodes2[CharacterCodes2["_9"] = 57] = "_9"; + CharacterCodes2[CharacterCodes2["a"] = 97] = "a"; + CharacterCodes2[CharacterCodes2["b"] = 98] = "b"; + CharacterCodes2[CharacterCodes2["c"] = 99] = "c"; + CharacterCodes2[CharacterCodes2["d"] = 100] = "d"; + CharacterCodes2[CharacterCodes2["e"] = 101] = "e"; + CharacterCodes2[CharacterCodes2["f"] = 102] = "f"; + CharacterCodes2[CharacterCodes2["g"] = 103] = "g"; + CharacterCodes2[CharacterCodes2["h"] = 104] = "h"; + CharacterCodes2[CharacterCodes2["i"] = 105] = "i"; + CharacterCodes2[CharacterCodes2["j"] = 106] = "j"; + CharacterCodes2[CharacterCodes2["k"] = 107] = "k"; + CharacterCodes2[CharacterCodes2["l"] = 108] = "l"; + CharacterCodes2[CharacterCodes2["m"] = 109] = "m"; + CharacterCodes2[CharacterCodes2["n"] = 110] = "n"; + CharacterCodes2[CharacterCodes2["o"] = 111] = "o"; + CharacterCodes2[CharacterCodes2["p"] = 112] = "p"; + CharacterCodes2[CharacterCodes2["q"] = 113] = "q"; + CharacterCodes2[CharacterCodes2["r"] = 114] = "r"; + CharacterCodes2[CharacterCodes2["s"] = 115] = "s"; + CharacterCodes2[CharacterCodes2["t"] = 116] = "t"; + CharacterCodes2[CharacterCodes2["u"] = 117] = "u"; + CharacterCodes2[CharacterCodes2["v"] = 118] = "v"; + CharacterCodes2[CharacterCodes2["w"] = 119] = "w"; + CharacterCodes2[CharacterCodes2["x"] = 120] = "x"; + CharacterCodes2[CharacterCodes2["y"] = 121] = "y"; + CharacterCodes2[CharacterCodes2["z"] = 122] = "z"; + CharacterCodes2[CharacterCodes2["A"] = 65] = "A"; + CharacterCodes2[CharacterCodes2["B"] = 66] = "B"; + CharacterCodes2[CharacterCodes2["C"] = 67] = "C"; + CharacterCodes2[CharacterCodes2["D"] = 68] = "D"; + CharacterCodes2[CharacterCodes2["E"] = 69] = "E"; + CharacterCodes2[CharacterCodes2["F"] = 70] = "F"; + CharacterCodes2[CharacterCodes2["G"] = 71] = "G"; + CharacterCodes2[CharacterCodes2["H"] = 72] = "H"; + CharacterCodes2[CharacterCodes2["I"] = 73] = "I"; + CharacterCodes2[CharacterCodes2["J"] = 74] = "J"; + CharacterCodes2[CharacterCodes2["K"] = 75] = "K"; + CharacterCodes2[CharacterCodes2["L"] = 76] = "L"; + CharacterCodes2[CharacterCodes2["M"] = 77] = "M"; + CharacterCodes2[CharacterCodes2["N"] = 78] = "N"; + CharacterCodes2[CharacterCodes2["O"] = 79] = "O"; + CharacterCodes2[CharacterCodes2["P"] = 80] = "P"; + CharacterCodes2[CharacterCodes2["Q"] = 81] = "Q"; + CharacterCodes2[CharacterCodes2["R"] = 82] = "R"; + CharacterCodes2[CharacterCodes2["S"] = 83] = "S"; + CharacterCodes2[CharacterCodes2["T"] = 84] = "T"; + CharacterCodes2[CharacterCodes2["U"] = 85] = "U"; + CharacterCodes2[CharacterCodes2["V"] = 86] = "V"; + CharacterCodes2[CharacterCodes2["W"] = 87] = "W"; + CharacterCodes2[CharacterCodes2["X"] = 88] = "X"; + CharacterCodes2[CharacterCodes2["Y"] = 89] = "Y"; + CharacterCodes2[CharacterCodes2["Z"] = 90] = "Z"; + CharacterCodes2[CharacterCodes2["asterisk"] = 42] = "asterisk"; + CharacterCodes2[CharacterCodes2["backslash"] = 92] = "backslash"; + CharacterCodes2[CharacterCodes2["closeBrace"] = 125] = "closeBrace"; + CharacterCodes2[CharacterCodes2["closeBracket"] = 93] = "closeBracket"; + CharacterCodes2[CharacterCodes2["colon"] = 58] = "colon"; + CharacterCodes2[CharacterCodes2["comma"] = 44] = "comma"; + CharacterCodes2[CharacterCodes2["dot"] = 46] = "dot"; + CharacterCodes2[CharacterCodes2["doubleQuote"] = 34] = "doubleQuote"; + CharacterCodes2[CharacterCodes2["minus"] = 45] = "minus"; + CharacterCodes2[CharacterCodes2["openBrace"] = 123] = "openBrace"; + CharacterCodes2[CharacterCodes2["openBracket"] = 91] = "openBracket"; + CharacterCodes2[CharacterCodes2["plus"] = 43] = "plus"; + CharacterCodes2[CharacterCodes2["slash"] = 47] = "slash"; + CharacterCodes2[CharacterCodes2["formFeed"] = 12] = "formFeed"; + CharacterCodes2[CharacterCodes2["tab"] = 9] = "tab"; +})(CharacterCodes || (CharacterCodes = {})); + +// node_modules/jsonc-parser/lib/esm/impl/string-intern.js +var cachedSpaces = new Array(20).fill(0).map((_, index) => { + return " ".repeat(index); +}); +var maxCachedValues = 200; +var cachedBreakLinesWithSpaces = { + " ": { + "\n": new Array(maxCachedValues).fill(0).map((_, index) => { + return "\n" + " ".repeat(index); + }), + "\r": new Array(maxCachedValues).fill(0).map((_, index) => { + return "\r" + " ".repeat(index); + }), + "\r\n": new Array(maxCachedValues).fill(0).map((_, index) => { + return "\r\n" + " ".repeat(index); + }) + }, + " ": { + "\n": new Array(maxCachedValues).fill(0).map((_, index) => { + return "\n" + " ".repeat(index); + }), + "\r": new Array(maxCachedValues).fill(0).map((_, index) => { + return "\r" + " ".repeat(index); + }), + "\r\n": new Array(maxCachedValues).fill(0).map((_, index) => { + return "\r\n" + " ".repeat(index); + }) + } +}; +var supportedEols = ["\n", "\r", "\r\n"]; + +// node_modules/jsonc-parser/lib/esm/impl/format.js +function format(documentText, range, options) { + let initialIndentLevel; + let formatText; + let formatTextStart; + let rangeStart; + let rangeEnd; + if (range) { + rangeStart = range.offset; + rangeEnd = rangeStart + range.length; + formatTextStart = rangeStart; + while (formatTextStart > 0 && !isEOL(documentText, formatTextStart - 1)) { + formatTextStart--; + } + let endOffset = rangeEnd; + while (endOffset < documentText.length && !isEOL(documentText, endOffset)) { + endOffset++; + } + formatText = documentText.substring(formatTextStart, endOffset); + initialIndentLevel = computeIndentLevel(formatText, options); + } else { + formatText = documentText; + initialIndentLevel = 0; + formatTextStart = 0; + rangeStart = 0; + rangeEnd = documentText.length; + } + const eol = getEOL(options, documentText); + const eolFastPathSupported = supportedEols.includes(eol); + let numberLineBreaks = 0; + let indentLevel = 0; + let indentValue; + if (options.insertSpaces) { + indentValue = cachedSpaces[options.tabSize || 4] ?? repeat(cachedSpaces[1], options.tabSize || 4); + } else { + indentValue = " "; + } + const indentType = indentValue === " " ? " " : " "; + let scanner = createScanner(formatText, false); + let hasError = false; + function newLinesAndIndent() { + if (numberLineBreaks > 1) { + return repeat(eol, numberLineBreaks) + repeat(indentValue, initialIndentLevel + indentLevel); + } + const amountOfSpaces = indentValue.length * (initialIndentLevel + indentLevel); + if (!eolFastPathSupported || amountOfSpaces > cachedBreakLinesWithSpaces[indentType][eol].length) { + return eol + repeat(indentValue, initialIndentLevel + indentLevel); + } + if (amountOfSpaces <= 0) { + return eol; + } + return cachedBreakLinesWithSpaces[indentType][eol][amountOfSpaces]; + } + function scanNext() { + let token = scanner.scan(); + numberLineBreaks = 0; + while (token === 15 || token === 14) { + if (token === 14 && options.keepLines) { + numberLineBreaks += 1; + } else if (token === 14) { + numberLineBreaks = 1; + } + token = scanner.scan(); + } + hasError = token === 16 || scanner.getTokenError() !== 0; + return token; + } + const editOperations = []; + function addEdit(text, startOffset, endOffset) { + if (!hasError && (!range || startOffset < rangeEnd && endOffset > rangeStart) && documentText.substring(startOffset, endOffset) !== text) { + editOperations.push({ offset: startOffset, length: endOffset - startOffset, content: text }); + } + } + let firstToken = scanNext(); + if (options.keepLines && numberLineBreaks > 0) { + addEdit(repeat(eol, numberLineBreaks), 0, 0); + } + if (firstToken !== 17) { + let firstTokenStart = scanner.getTokenOffset() + formatTextStart; + let initialIndent = indentValue.length * initialIndentLevel < 20 && options.insertSpaces ? cachedSpaces[indentValue.length * initialIndentLevel] : repeat(indentValue, initialIndentLevel); + addEdit(initialIndent, formatTextStart, firstTokenStart); + } + while (firstToken !== 17) { + let firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart; + let secondToken = scanNext(); + let replaceContent = ""; + let needsLineBreak = false; + while (numberLineBreaks === 0 && (secondToken === 12 || secondToken === 13)) { + let commentTokenStart = scanner.getTokenOffset() + formatTextStart; + addEdit(cachedSpaces[1], firstTokenEnd, commentTokenStart); + firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart; + needsLineBreak = secondToken === 12; + replaceContent = needsLineBreak ? newLinesAndIndent() : ""; + secondToken = scanNext(); + } + if (secondToken === 2) { + if (firstToken !== 1) { + indentLevel--; + } + ; + if (options.keepLines && numberLineBreaks > 0 || !options.keepLines && firstToken !== 1) { + replaceContent = newLinesAndIndent(); + } else if (options.keepLines) { + replaceContent = cachedSpaces[1]; + } + } else if (secondToken === 4) { + if (firstToken !== 3) { + indentLevel--; + } + ; + if (options.keepLines && numberLineBreaks > 0 || !options.keepLines && firstToken !== 3) { + replaceContent = newLinesAndIndent(); + } else if (options.keepLines) { + replaceContent = cachedSpaces[1]; + } + } else { + switch (firstToken) { + case 3: + case 1: + indentLevel++; + if (options.keepLines && numberLineBreaks > 0 || !options.keepLines) { + replaceContent = newLinesAndIndent(); + } else { + replaceContent = cachedSpaces[1]; + } + break; + case 5: + if (options.keepLines && numberLineBreaks > 0 || !options.keepLines) { + replaceContent = newLinesAndIndent(); + } else { + replaceContent = cachedSpaces[1]; + } + break; + case 12: + replaceContent = newLinesAndIndent(); + break; + case 13: + if (numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else if (!needsLineBreak) { + replaceContent = cachedSpaces[1]; + } + break; + case 6: + if (options.keepLines && numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else if (!needsLineBreak) { + replaceContent = cachedSpaces[1]; + } + break; + case 10: + if (options.keepLines && numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else if (secondToken === 6 && !needsLineBreak) { + replaceContent = ""; + } + break; + case 7: + case 8: + case 9: + case 11: + case 2: + case 4: + if (options.keepLines && numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else { + if ((secondToken === 12 || secondToken === 13) && !needsLineBreak) { + replaceContent = cachedSpaces[1]; + } else if (secondToken !== 5 && secondToken !== 17) { + hasError = true; + } + } + break; + case 16: + hasError = true; + break; + } + if (numberLineBreaks > 0 && (secondToken === 12 || secondToken === 13)) { + replaceContent = newLinesAndIndent(); + } + } + if (secondToken === 17) { + if (options.keepLines && numberLineBreaks > 0) { + replaceContent = newLinesAndIndent(); + } else { + replaceContent = options.insertFinalNewline ? eol : ""; + } + } + const secondTokenStart = scanner.getTokenOffset() + formatTextStart; + addEdit(replaceContent, firstTokenEnd, secondTokenStart); + firstToken = secondToken; + } + return editOperations; +} +function repeat(s, count) { + let result = ""; + for (let i = 0; i < count; i++) { + result += s; + } + return result; +} +function computeIndentLevel(content, options) { + let i = 0; + let nChars = 0; + const tabSize = options.tabSize || 4; + while (i < content.length) { + let ch = content.charAt(i); + if (ch === cachedSpaces[1]) { + nChars++; + } else if (ch === " ") { + nChars += tabSize; + } else { + break; + } + i++; + } + return Math.floor(nChars / tabSize); +} +function getEOL(options, text) { + for (let i = 0; i < text.length; i++) { + const ch = text.charAt(i); + if (ch === "\r") { + if (i + 1 < text.length && text.charAt(i + 1) === "\n") { + return "\r\n"; + } + return "\r"; + } else if (ch === "\n") { + return "\n"; + } + } + return options && options.eol || "\n"; +} +function isEOL(text, offset) { + return "\r\n".indexOf(text.charAt(offset)) !== -1; +} + +// node_modules/jsonc-parser/lib/esm/impl/parser.js +var ParseOptions; +(function(ParseOptions2) { + ParseOptions2.DEFAULT = { + allowTrailingComma: false + }; +})(ParseOptions || (ParseOptions = {})); +function getLocation(text, position) { + const segments = []; + const earlyReturnException = new Object(); + let previousNode = void 0; + const previousNodeInst = { + value: {}, + offset: 0, + length: 0, + type: "object", + parent: void 0 + }; + let isAtPropertyKey = false; + function setPreviousNode(value, offset, length, type) { + previousNodeInst.value = value; + previousNodeInst.offset = offset; + previousNodeInst.length = length; + previousNodeInst.type = type; + previousNodeInst.colonOffset = void 0; + previousNode = previousNodeInst; + } + try { + visit(text, { + onObjectBegin: (offset, length) => { + if (position <= offset) { + throw earlyReturnException; + } + previousNode = void 0; + isAtPropertyKey = position > offset; + segments.push(""); + }, + onObjectProperty: (name, offset, length) => { + if (position < offset) { + throw earlyReturnException; + } + setPreviousNode(name, offset, length, "property"); + segments[segments.length - 1] = name; + if (position <= offset + length) { + throw earlyReturnException; + } + }, + onObjectEnd: (offset, length) => { + if (position <= offset) { + throw earlyReturnException; + } + previousNode = void 0; + segments.pop(); + }, + onArrayBegin: (offset, length) => { + if (position <= offset) { + throw earlyReturnException; + } + previousNode = void 0; + segments.push(0); + }, + onArrayEnd: (offset, length) => { + if (position <= offset) { + throw earlyReturnException; + } + previousNode = void 0; + segments.pop(); + }, + onLiteralValue: (value, offset, length) => { + if (position < offset) { + throw earlyReturnException; + } + setPreviousNode(value, offset, length, getNodeType(value)); + if (position <= offset + length) { + throw earlyReturnException; + } + }, + onSeparator: (sep, offset, length) => { + if (position <= offset) { + throw earlyReturnException; + } + if (sep === ":" && previousNode && previousNode.type === "property") { + previousNode.colonOffset = offset; + isAtPropertyKey = false; + previousNode = void 0; + } else if (sep === ",") { + const last = segments[segments.length - 1]; + if (typeof last === "number") { + segments[segments.length - 1] = last + 1; + } else { + isAtPropertyKey = true; + segments[segments.length - 1] = ""; + } + previousNode = void 0; + } + } + }); + } catch (e) { + if (e !== earlyReturnException) { + throw e; + } + } + return { + path: segments, + previousNode, + isAtPropertyKey, + matches: (pattern) => { + let k = 0; + for (let i = 0; k < pattern.length && i < segments.length; i++) { + if (pattern[k] === segments[i] || pattern[k] === "*") { + k++; + } else if (pattern[k] !== "**") { + return false; + } + } + return k === pattern.length; + } + }; +} +function parse(text, errors = [], options = ParseOptions.DEFAULT) { + let currentProperty = null; + let currentParent = []; + const previousParents = []; + function onValue(value) { + if (Array.isArray(currentParent)) { + currentParent.push(value); + } else if (currentProperty !== null) { + currentParent[currentProperty] = value; + } + } + const visitor = { + onObjectBegin: () => { + const object = {}; + onValue(object); + previousParents.push(currentParent); + currentParent = object; + currentProperty = null; + }, + onObjectProperty: (name) => { + currentProperty = name; + }, + onObjectEnd: () => { + currentParent = previousParents.pop(); + }, + onArrayBegin: () => { + const array = []; + onValue(array); + previousParents.push(currentParent); + currentParent = array; + currentProperty = null; + }, + onArrayEnd: () => { + currentParent = previousParents.pop(); + }, + onLiteralValue: onValue, + onError: (error, offset, length) => { + errors.push({ error, offset, length }); + } + }; + visit(text, visitor, options); + return currentParent[0]; +} +function parseTree(text, errors = [], options = ParseOptions.DEFAULT) { + let currentParent = { type: "array", offset: -1, length: -1, children: [], parent: void 0 }; + function ensurePropertyComplete(endOffset) { + if (currentParent.type === "property") { + currentParent.length = endOffset - currentParent.offset; + currentParent = currentParent.parent; + } + } + function onValue(valueNode) { + currentParent.children.push(valueNode); + return valueNode; + } + const visitor = { + onObjectBegin: (offset) => { + currentParent = onValue({ type: "object", offset, length: -1, parent: currentParent, children: [] }); + }, + onObjectProperty: (name, offset, length) => { + currentParent = onValue({ type: "property", offset, length: -1, parent: currentParent, children: [] }); + currentParent.children.push({ type: "string", value: name, offset, length, parent: currentParent }); + }, + onObjectEnd: (offset, length) => { + ensurePropertyComplete(offset + length); + currentParent.length = offset + length - currentParent.offset; + currentParent = currentParent.parent; + ensurePropertyComplete(offset + length); + }, + onArrayBegin: (offset, length) => { + currentParent = onValue({ type: "array", offset, length: -1, parent: currentParent, children: [] }); + }, + onArrayEnd: (offset, length) => { + currentParent.length = offset + length - currentParent.offset; + currentParent = currentParent.parent; + ensurePropertyComplete(offset + length); + }, + onLiteralValue: (value, offset, length) => { + onValue({ type: getNodeType(value), offset, length, parent: currentParent, value }); + ensurePropertyComplete(offset + length); + }, + onSeparator: (sep, offset, length) => { + if (currentParent.type === "property") { + if (sep === ":") { + currentParent.colonOffset = offset; + } else if (sep === ",") { + ensurePropertyComplete(offset); + } + } + }, + onError: (error, offset, length) => { + errors.push({ error, offset, length }); + } + }; + visit(text, visitor, options); + const result = currentParent.children[0]; + if (result) { + delete result.parent; + } + return result; +} +function findNodeAtLocation(root, path) { + if (!root) { + return void 0; + } + let node = root; + for (let segment of path) { + if (typeof segment === "string") { + if (node.type !== "object" || !Array.isArray(node.children)) { + return void 0; + } + let found = false; + for (const propertyNode of node.children) { + if (Array.isArray(propertyNode.children) && propertyNode.children[0].value === segment && propertyNode.children.length === 2) { + node = propertyNode.children[1]; + found = true; + break; + } + } + if (!found) { + return void 0; + } + } else { + const index = segment; + if (node.type !== "array" || index < 0 || !Array.isArray(node.children) || index >= node.children.length) { + return void 0; + } + node = node.children[index]; + } + } + return node; +} +function getNodePath(node) { + if (!node.parent || !node.parent.children) { + return []; + } + const path = getNodePath(node.parent); + if (node.parent.type === "property") { + const key = node.parent.children[0].value; + path.push(key); + } else if (node.parent.type === "array") { + const index = node.parent.children.indexOf(node); + if (index !== -1) { + path.push(index); + } + } + return path; +} +function getNodeValue(node) { + switch (node.type) { + case "array": + return node.children.map(getNodeValue); + case "object": + const obj = /* @__PURE__ */ Object.create(null); + for (let prop of node.children) { + const valueNode = prop.children[1]; + if (valueNode) { + obj[prop.children[0].value] = getNodeValue(valueNode); + } + } + return obj; + case "null": + case "string": + case "number": + case "boolean": + return node.value; + default: + return void 0; + } +} +function contains(node, offset, includeRightBound = false) { + return offset >= node.offset && offset < node.offset + node.length || includeRightBound && offset === node.offset + node.length; +} +function findNodeAtOffset(node, offset, includeRightBound = false) { + if (contains(node, offset, includeRightBound)) { + const children = node.children; + if (Array.isArray(children)) { + for (let i = 0; i < children.length && children[i].offset <= offset; i++) { + const item = findNodeAtOffset(children[i], offset, includeRightBound); + if (item) { + return item; + } + } + } + return node; + } + return void 0; +} +function visit(text, visitor, options = ParseOptions.DEFAULT) { + const _scanner = createScanner(text, false); + const _jsonPath = []; + let suppressedCallbacks = 0; + function toNoArgVisit(visitFunction) { + return visitFunction ? () => suppressedCallbacks === 0 && visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true; + } + function toOneArgVisit(visitFunction) { + return visitFunction ? (arg) => suppressedCallbacks === 0 && visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true; + } + function toOneArgVisitWithPath(visitFunction) { + return visitFunction ? (arg) => suppressedCallbacks === 0 && visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice()) : () => true; + } + function toBeginVisit(visitFunction) { + return visitFunction ? () => { + if (suppressedCallbacks > 0) { + suppressedCallbacks++; + } else { + let cbReturn = visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice()); + if (cbReturn === false) { + suppressedCallbacks = 1; + } + } + } : () => true; + } + function toEndVisit(visitFunction) { + return visitFunction ? () => { + if (suppressedCallbacks > 0) { + suppressedCallbacks--; + } + if (suppressedCallbacks === 0) { + visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()); + } + } : () => true; + } + const onObjectBegin = toBeginVisit(visitor.onObjectBegin), onObjectProperty = toOneArgVisitWithPath(visitor.onObjectProperty), onObjectEnd = toEndVisit(visitor.onObjectEnd), onArrayBegin = toBeginVisit(visitor.onArrayBegin), onArrayEnd = toEndVisit(visitor.onArrayEnd), onLiteralValue = toOneArgVisitWithPath(visitor.onLiteralValue), onSeparator = toOneArgVisit(visitor.onSeparator), onComment = toNoArgVisit(visitor.onComment), onError = toOneArgVisit(visitor.onError); + const disallowComments = options && options.disallowComments; + const allowTrailingComma = options && options.allowTrailingComma; + function scanNext() { + while (true) { + const token = _scanner.scan(); + switch (_scanner.getTokenError()) { + case 4: + handleError( + 14 + /* ParseErrorCode.InvalidUnicode */ + ); + break; + case 5: + handleError( + 15 + /* ParseErrorCode.InvalidEscapeCharacter */ + ); + break; + case 3: + handleError( + 13 + /* ParseErrorCode.UnexpectedEndOfNumber */ + ); + break; + case 1: + if (!disallowComments) { + handleError( + 11 + /* ParseErrorCode.UnexpectedEndOfComment */ + ); + } + break; + case 2: + handleError( + 12 + /* ParseErrorCode.UnexpectedEndOfString */ + ); + break; + case 6: + handleError( + 16 + /* ParseErrorCode.InvalidCharacter */ + ); + break; + } + switch (token) { + case 12: + case 13: + if (disallowComments) { + handleError( + 10 + /* ParseErrorCode.InvalidCommentToken */ + ); + } else { + onComment(); + } + break; + case 16: + handleError( + 1 + /* ParseErrorCode.InvalidSymbol */ + ); + break; + case 15: + case 14: + break; + default: + return token; + } + } + } + function handleError(error, skipUntilAfter = [], skipUntil = []) { + onError(error); + if (skipUntilAfter.length + skipUntil.length > 0) { + let token = _scanner.getToken(); + while (token !== 17) { + if (skipUntilAfter.indexOf(token) !== -1) { + scanNext(); + break; + } else if (skipUntil.indexOf(token) !== -1) { + break; + } + token = scanNext(); + } + } + } + function parseString(isValue) { + const value = _scanner.getTokenValue(); + if (isValue) { + onLiteralValue(value); + } else { + onObjectProperty(value); + _jsonPath.push(value); + } + scanNext(); + return true; + } + function parseLiteral() { + switch (_scanner.getToken()) { + case 11: + const tokenValue = _scanner.getTokenValue(); + let value = Number(tokenValue); + if (isNaN(value)) { + handleError( + 2 + /* ParseErrorCode.InvalidNumberFormat */ + ); + value = 0; + } + onLiteralValue(value); + break; + case 7: + onLiteralValue(null); + break; + case 8: + onLiteralValue(true); + break; + case 9: + onLiteralValue(false); + break; + default: + return false; + } + scanNext(); + return true; + } + function parseProperty() { + if (_scanner.getToken() !== 10) { + handleError(3, [], [ + 2, + 5 + /* SyntaxKind.CommaToken */ + ]); + return false; + } + parseString(false); + if (_scanner.getToken() === 6) { + onSeparator(":"); + scanNext(); + if (!parseValue()) { + handleError(4, [], [ + 2, + 5 + /* SyntaxKind.CommaToken */ + ]); + } + } else { + handleError(5, [], [ + 2, + 5 + /* SyntaxKind.CommaToken */ + ]); + } + _jsonPath.pop(); + return true; + } + function parseObject() { + onObjectBegin(); + scanNext(); + let needsComma = false; + while (_scanner.getToken() !== 2 && _scanner.getToken() !== 17) { + if (_scanner.getToken() === 5) { + if (!needsComma) { + handleError(4, [], []); + } + onSeparator(","); + scanNext(); + if (_scanner.getToken() === 2 && allowTrailingComma) { + break; + } + } else if (needsComma) { + handleError(6, [], []); + } + if (!parseProperty()) { + handleError(4, [], [ + 2, + 5 + /* SyntaxKind.CommaToken */ + ]); + } + needsComma = true; + } + onObjectEnd(); + if (_scanner.getToken() !== 2) { + handleError(7, [ + 2 + /* SyntaxKind.CloseBraceToken */ + ], []); + } else { + scanNext(); + } + return true; + } + function parseArray() { + onArrayBegin(); + scanNext(); + let isFirstElement = true; + let needsComma = false; + while (_scanner.getToken() !== 4 && _scanner.getToken() !== 17) { + if (_scanner.getToken() === 5) { + if (!needsComma) { + handleError(4, [], []); + } + onSeparator(","); + scanNext(); + if (_scanner.getToken() === 4 && allowTrailingComma) { + break; + } + } else if (needsComma) { + handleError(6, [], []); + } + if (isFirstElement) { + _jsonPath.push(0); + isFirstElement = false; + } else { + _jsonPath[_jsonPath.length - 1]++; + } + if (!parseValue()) { + handleError(4, [], [ + 4, + 5 + /* SyntaxKind.CommaToken */ + ]); + } + needsComma = true; + } + onArrayEnd(); + if (!isFirstElement) { + _jsonPath.pop(); + } + if (_scanner.getToken() !== 4) { + handleError(8, [ + 4 + /* SyntaxKind.CloseBracketToken */ + ], []); + } else { + scanNext(); + } + return true; + } + function parseValue() { + switch (_scanner.getToken()) { + case 3: + return parseArray(); + case 1: + return parseObject(); + case 10: + return parseString(true); + default: + return parseLiteral(); + } + } + scanNext(); + if (_scanner.getToken() === 17) { + if (options.allowEmptyContent) { + return true; + } + handleError(4, [], []); + return false; + } + if (!parseValue()) { + handleError(4, [], []); + return false; + } + if (_scanner.getToken() !== 17) { + handleError(9, [], []); + } + return true; +} +function stripComments(text, replaceCh) { + let _scanner = createScanner(text), parts = [], kind, offset = 0, pos; + do { + pos = _scanner.getPosition(); + kind = _scanner.scan(); + switch (kind) { + case 12: + case 13: + case 17: + if (offset !== pos) { + parts.push(text.substring(offset, pos)); + } + if (replaceCh !== void 0) { + parts.push(_scanner.getTokenValue().replace(/[^\r\n]/g, replaceCh)); + } + offset = _scanner.getPosition(); + break; + } + } while (kind !== 17); + return parts.join(""); +} +function getNodeType(value) { + switch (typeof value) { + case "boolean": + return "boolean"; + case "number": + return "number"; + case "string": + return "string"; + case "object": { + if (!value) { + return "null"; + } else if (Array.isArray(value)) { + return "array"; + } + return "object"; + } + default: + return "null"; + } +} + +// node_modules/jsonc-parser/lib/esm/impl/edit.js +function setProperty(text, originalPath, value, options) { + const path = originalPath.slice(); + const errors = []; + const root = parseTree(text, errors); + let parent = void 0; + let lastSegment = void 0; + while (path.length > 0) { + lastSegment = path.pop(); + parent = findNodeAtLocation(root, path); + if (parent === void 0 && value !== void 0) { + if (typeof lastSegment === "string") { + value = { [lastSegment]: value }; + } else { + value = [value]; + } + } else { + break; + } + } + if (!parent) { + if (value === void 0) { + throw new Error("Can not delete in empty document"); + } + return withFormatting(text, { offset: root ? root.offset : 0, length: root ? root.length : 0, content: JSON.stringify(value) }, options); + } else if (parent.type === "object" && typeof lastSegment === "string" && Array.isArray(parent.children)) { + const existing = findNodeAtLocation(parent, [lastSegment]); + if (existing !== void 0) { + if (value === void 0) { + if (!existing.parent) { + throw new Error("Malformed AST"); + } + const propertyIndex = parent.children.indexOf(existing.parent); + let removeBegin; + let removeEnd = existing.parent.offset + existing.parent.length; + if (propertyIndex > 0) { + let previous = parent.children[propertyIndex - 1]; + removeBegin = previous.offset + previous.length; + } else { + removeBegin = parent.offset + 1; + if (parent.children.length > 1) { + let next = parent.children[1]; + removeEnd = next.offset; + } + } + return withFormatting(text, { offset: removeBegin, length: removeEnd - removeBegin, content: "" }, options); + } else { + return withFormatting(text, { offset: existing.offset, length: existing.length, content: JSON.stringify(value) }, options); + } + } else { + if (value === void 0) { + return []; + } + const newProperty = `${JSON.stringify(lastSegment)}: ${JSON.stringify(value)}`; + const index = options.getInsertionIndex ? options.getInsertionIndex(parent.children.map((p) => p.children[0].value)) : parent.children.length; + let edit; + if (index > 0) { + let previous = parent.children[index - 1]; + edit = { offset: previous.offset + previous.length, length: 0, content: "," + newProperty }; + } else if (parent.children.length === 0) { + edit = { offset: parent.offset + 1, length: 0, content: newProperty }; + } else { + edit = { offset: parent.offset + 1, length: 0, content: newProperty + "," }; + } + return withFormatting(text, edit, options); + } + } else if (parent.type === "array" && typeof lastSegment === "number" && Array.isArray(parent.children)) { + const insertIndex = lastSegment; + if (insertIndex === -1) { + const newProperty = `${JSON.stringify(value)}`; + let edit; + if (parent.children.length === 0) { + edit = { offset: parent.offset + 1, length: 0, content: newProperty }; + } else { + const previous = parent.children[parent.children.length - 1]; + edit = { offset: previous.offset + previous.length, length: 0, content: "," + newProperty }; + } + return withFormatting(text, edit, options); + } else if (value === void 0 && parent.children.length >= 0) { + const removalIndex = lastSegment; + const toRemove = parent.children[removalIndex]; + let edit; + if (parent.children.length === 1) { + edit = { offset: parent.offset + 1, length: parent.length - 2, content: "" }; + } else if (parent.children.length - 1 === removalIndex) { + let previous = parent.children[removalIndex - 1]; + let offset = previous.offset + previous.length; + let parentEndOffset = parent.offset + parent.length; + edit = { offset, length: parentEndOffset - 2 - offset, content: "" }; + } else { + edit = { offset: toRemove.offset, length: parent.children[removalIndex + 1].offset - toRemove.offset, content: "" }; + } + return withFormatting(text, edit, options); + } else if (value !== void 0) { + let edit; + const newProperty = `${JSON.stringify(value)}`; + if (!options.isArrayInsertion && parent.children.length > lastSegment) { + const toModify = parent.children[lastSegment]; + edit = { offset: toModify.offset, length: toModify.length, content: newProperty }; + } else if (parent.children.length === 0 || lastSegment === 0) { + edit = { offset: parent.offset + 1, length: 0, content: parent.children.length === 0 ? newProperty : newProperty + "," }; + } else { + const index = lastSegment > parent.children.length ? parent.children.length : lastSegment; + const previous = parent.children[index - 1]; + edit = { offset: previous.offset + previous.length, length: 0, content: "," + newProperty }; + } + return withFormatting(text, edit, options); + } else { + throw new Error(`Can not ${value === void 0 ? "remove" : options.isArrayInsertion ? "insert" : "modify"} Array index ${insertIndex} as length is not sufficient`); + } + } else { + throw new Error(`Can not add ${typeof lastSegment !== "number" ? "index" : "property"} to parent of type ${parent.type}`); + } +} +function withFormatting(text, edit, options) { + if (!options.formattingOptions) { + return [edit]; + } + let newText = applyEdit(text, edit); + let begin = edit.offset; + let end = edit.offset + edit.content.length; + if (edit.length === 0 || edit.content.length === 0) { + while (begin > 0 && !isEOL(newText, begin - 1)) { + begin--; + } + while (end < newText.length && !isEOL(newText, end)) { + end++; + } + } + const edits = format(newText, { offset: begin, length: end - begin }, { ...options.formattingOptions, keepLines: false }); + for (let i = edits.length - 1; i >= 0; i--) { + const edit2 = edits[i]; + newText = applyEdit(newText, edit2); + begin = Math.min(begin, edit2.offset); + end = Math.max(end, edit2.offset + edit2.length); + end += edit2.content.length - edit2.length; + } + const editLength = text.length - (newText.length - end) - begin; + return [{ offset: begin, length: editLength, content: newText.substring(begin, end) }]; +} +function applyEdit(text, edit) { + return text.substring(0, edit.offset) + edit.content + text.substring(edit.offset + edit.length); +} + +// node_modules/jsonc-parser/lib/esm/main.js +var createScanner2 = createScanner; +var ScanError; +(function(ScanError2) { + ScanError2[ScanError2["None"] = 0] = "None"; + ScanError2[ScanError2["UnexpectedEndOfComment"] = 1] = "UnexpectedEndOfComment"; + ScanError2[ScanError2["UnexpectedEndOfString"] = 2] = "UnexpectedEndOfString"; + ScanError2[ScanError2["UnexpectedEndOfNumber"] = 3] = "UnexpectedEndOfNumber"; + ScanError2[ScanError2["InvalidUnicode"] = 4] = "InvalidUnicode"; + ScanError2[ScanError2["InvalidEscapeCharacter"] = 5] = "InvalidEscapeCharacter"; + ScanError2[ScanError2["InvalidCharacter"] = 6] = "InvalidCharacter"; +})(ScanError || (ScanError = {})); +var SyntaxKind; +(function(SyntaxKind2) { + SyntaxKind2[SyntaxKind2["OpenBraceToken"] = 1] = "OpenBraceToken"; + SyntaxKind2[SyntaxKind2["CloseBraceToken"] = 2] = "CloseBraceToken"; + SyntaxKind2[SyntaxKind2["OpenBracketToken"] = 3] = "OpenBracketToken"; + SyntaxKind2[SyntaxKind2["CloseBracketToken"] = 4] = "CloseBracketToken"; + SyntaxKind2[SyntaxKind2["CommaToken"] = 5] = "CommaToken"; + SyntaxKind2[SyntaxKind2["ColonToken"] = 6] = "ColonToken"; + SyntaxKind2[SyntaxKind2["NullKeyword"] = 7] = "NullKeyword"; + SyntaxKind2[SyntaxKind2["TrueKeyword"] = 8] = "TrueKeyword"; + SyntaxKind2[SyntaxKind2["FalseKeyword"] = 9] = "FalseKeyword"; + SyntaxKind2[SyntaxKind2["StringLiteral"] = 10] = "StringLiteral"; + SyntaxKind2[SyntaxKind2["NumericLiteral"] = 11] = "NumericLiteral"; + SyntaxKind2[SyntaxKind2["LineCommentTrivia"] = 12] = "LineCommentTrivia"; + SyntaxKind2[SyntaxKind2["BlockCommentTrivia"] = 13] = "BlockCommentTrivia"; + SyntaxKind2[SyntaxKind2["LineBreakTrivia"] = 14] = "LineBreakTrivia"; + SyntaxKind2[SyntaxKind2["Trivia"] = 15] = "Trivia"; + SyntaxKind2[SyntaxKind2["Unknown"] = 16] = "Unknown"; + SyntaxKind2[SyntaxKind2["EOF"] = 17] = "EOF"; +})(SyntaxKind || (SyntaxKind = {})); +var getLocation2 = getLocation; +var parse2 = parse; +var parseTree2 = parseTree; +var findNodeAtLocation2 = findNodeAtLocation; +var findNodeAtOffset2 = findNodeAtOffset; +var getNodePath2 = getNodePath; +var getNodeValue2 = getNodeValue; +var visit2 = visit; +var stripComments2 = stripComments; +var ParseErrorCode; +(function(ParseErrorCode2) { + ParseErrorCode2[ParseErrorCode2["InvalidSymbol"] = 1] = "InvalidSymbol"; + ParseErrorCode2[ParseErrorCode2["InvalidNumberFormat"] = 2] = "InvalidNumberFormat"; + ParseErrorCode2[ParseErrorCode2["PropertyNameExpected"] = 3] = "PropertyNameExpected"; + ParseErrorCode2[ParseErrorCode2["ValueExpected"] = 4] = "ValueExpected"; + ParseErrorCode2[ParseErrorCode2["ColonExpected"] = 5] = "ColonExpected"; + ParseErrorCode2[ParseErrorCode2["CommaExpected"] = 6] = "CommaExpected"; + ParseErrorCode2[ParseErrorCode2["CloseBraceExpected"] = 7] = "CloseBraceExpected"; + ParseErrorCode2[ParseErrorCode2["CloseBracketExpected"] = 8] = "CloseBracketExpected"; + ParseErrorCode2[ParseErrorCode2["EndOfFileExpected"] = 9] = "EndOfFileExpected"; + ParseErrorCode2[ParseErrorCode2["InvalidCommentToken"] = 10] = "InvalidCommentToken"; + ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfComment"] = 11] = "UnexpectedEndOfComment"; + ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfString"] = 12] = "UnexpectedEndOfString"; + ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfNumber"] = 13] = "UnexpectedEndOfNumber"; + ParseErrorCode2[ParseErrorCode2["InvalidUnicode"] = 14] = "InvalidUnicode"; + ParseErrorCode2[ParseErrorCode2["InvalidEscapeCharacter"] = 15] = "InvalidEscapeCharacter"; + ParseErrorCode2[ParseErrorCode2["InvalidCharacter"] = 16] = "InvalidCharacter"; +})(ParseErrorCode || (ParseErrorCode = {})); +function printParseErrorCode(code) { + switch (code) { + case 1: + return "InvalidSymbol"; + case 2: + return "InvalidNumberFormat"; + case 3: + return "PropertyNameExpected"; + case 4: + return "ValueExpected"; + case 5: + return "ColonExpected"; + case 6: + return "CommaExpected"; + case 7: + return "CloseBraceExpected"; + case 8: + return "CloseBracketExpected"; + case 9: + return "EndOfFileExpected"; + case 10: + return "InvalidCommentToken"; + case 11: + return "UnexpectedEndOfComment"; + case 12: + return "UnexpectedEndOfString"; + case 13: + return "UnexpectedEndOfNumber"; + case 14: + return "InvalidUnicode"; + case 15: + return "InvalidEscapeCharacter"; + case 16: + return "InvalidCharacter"; + } + return ""; +} +function format2(documentText, range, options) { + return format(documentText, range, options); +} +function modify(text, path, value, options) { + return setProperty(text, path, value, options); +} +function applyEdits(text, edits) { + let sortedEdits = edits.slice(0).sort((a, b) => { + const diff = a.offset - b.offset; + if (diff === 0) { + return a.length - b.length; + } + return diff; + }); + let lastModifiedOffset = text.length; + for (let i = sortedEdits.length - 1; i >= 0; i--) { + let e = sortedEdits[i]; + if (e.offset + e.length <= lastModifiedOffset) { + text = applyEdit(text, e); + } else { + throw new Error("Overlapping edit"); + } + lastModifiedOffset = e.offset; + } + return text; +} +export { + ParseErrorCode, + ScanError, + SyntaxKind, + applyEdits, + createScanner2 as createScanner, + findNodeAtLocation2 as findNodeAtLocation, + findNodeAtOffset2 as findNodeAtOffset, + format2 as format, + getLocation2 as getLocation, + getNodePath2 as getNodePath, + getNodeValue2 as getNodeValue, + modify, + parse2 as parse, + parseTree2 as parseTree, + printParseErrorCode, + stripComments2 as stripComments, + visit2 as visit +}; diff --git a/node_modules/i18next-fs-backend/lib/formats/yaml.js b/node_modules/i18next-fs-backend/lib/formats/yaml.js new file mode 100644 index 00000000..be71cad1 --- /dev/null +++ b/node_modules/i18next-fs-backend/lib/formats/yaml.js @@ -0,0 +1,3851 @@ + +/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ +function isNothing(subject) { + return (typeof subject === 'undefined') || (subject === null); +} + + +function isObject(subject) { + return (typeof subject === 'object') && (subject !== null); +} + + +function toArray(sequence) { + if (Array.isArray(sequence)) return sequence; + else if (isNothing(sequence)) return []; + + return [ sequence ]; +} + + +function extend(target, source) { + var index, length, key, sourceKeys; + + if (source) { + sourceKeys = Object.keys(source); + + for (index = 0, length = sourceKeys.length; index < length; index += 1) { + key = sourceKeys[index]; + target[key] = source[key]; + } + } + + return target; +} + + +function repeat(string, count) { + var result = '', cycle; + + for (cycle = 0; cycle < count; cycle += 1) { + result += string; + } + + return result; +} + + +function isNegativeZero(number) { + return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number); +} + + +var isNothing_1 = isNothing; +var isObject_1 = isObject; +var toArray_1 = toArray; +var repeat_1 = repeat; +var isNegativeZero_1 = isNegativeZero; +var extend_1 = extend; + +var common = { + isNothing: isNothing_1, + isObject: isObject_1, + toArray: toArray_1, + repeat: repeat_1, + isNegativeZero: isNegativeZero_1, + extend: extend_1 +}; + +// YAML error class. http://stackoverflow.com/questions/8458984 + + +function formatError(exception, compact) { + var where = '', message = exception.reason || '(unknown reason)'; + + if (!exception.mark) return message; + + if (exception.mark.name) { + where += 'in "' + exception.mark.name + '" '; + } + + where += '(' + (exception.mark.line + 1) + ':' + (exception.mark.column + 1) + ')'; + + if (!compact && exception.mark.snippet) { + where += '\n\n' + exception.mark.snippet; + } + + return message + ' ' + where; +} + + +function YAMLException$1(reason, mark) { + // Super constructor + Error.call(this); + + this.name = 'YAMLException'; + this.reason = reason; + this.mark = mark; + this.message = formatError(this, false); + + // Include stack trace in error object + if (Error.captureStackTrace) { + // Chrome and NodeJS + Error.captureStackTrace(this, this.constructor); + } else { + // FF, IE 10+ and Safari 6+. Fallback for others + this.stack = (new Error()).stack || ''; + } +} + + +// Inherit from Error +YAMLException$1.prototype = Object.create(Error.prototype); +YAMLException$1.prototype.constructor = YAMLException$1; + + +YAMLException$1.prototype.toString = function toString(compact) { + return this.name + ': ' + formatError(this, compact); +}; + + +var exception = YAMLException$1; + +// get snippet for a single line, respecting maxLength +function getLine(buffer, lineStart, lineEnd, position, maxLineLength) { + var head = ''; + var tail = ''; + var maxHalfLength = Math.floor(maxLineLength / 2) - 1; + + if (position - lineStart > maxHalfLength) { + head = ' ... '; + lineStart = position - maxHalfLength + head.length; + } + + if (lineEnd - position > maxHalfLength) { + tail = ' ...'; + lineEnd = position + maxHalfLength - tail.length; + } + + return { + str: head + buffer.slice(lineStart, lineEnd).replace(/\t/g, '→') + tail, + pos: position - lineStart + head.length // relative position + }; +} + + +function padStart(string, max) { + return common.repeat(' ', max - string.length) + string; +} + + +function makeSnippet(mark, options) { + options = Object.create(options || null); + + if (!mark.buffer) return null; + + if (!options.maxLength) options.maxLength = 79; + if (typeof options.indent !== 'number') options.indent = 1; + if (typeof options.linesBefore !== 'number') options.linesBefore = 3; + if (typeof options.linesAfter !== 'number') options.linesAfter = 2; + + var re = /\r?\n|\r|\0/g; + var lineStarts = [ 0 ]; + var lineEnds = []; + var match; + var foundLineNo = -1; + + while ((match = re.exec(mark.buffer))) { + lineEnds.push(match.index); + lineStarts.push(match.index + match[0].length); + + if (mark.position <= match.index && foundLineNo < 0) { + foundLineNo = lineStarts.length - 2; + } + } + + if (foundLineNo < 0) foundLineNo = lineStarts.length - 1; + + var result = '', i, line; + var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length; + var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3); + + for (i = 1; i <= options.linesBefore; i++) { + if (foundLineNo - i < 0) break; + line = getLine( + mark.buffer, + lineStarts[foundLineNo - i], + lineEnds[foundLineNo - i], + mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]), + maxLineLength + ); + result = common.repeat(' ', options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + + ' | ' + line.str + '\n' + result; + } + + line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength); + result += common.repeat(' ', options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + + ' | ' + line.str + '\n'; + result += common.repeat('-', options.indent + lineNoLength + 3 + line.pos) + '^' + '\n'; + + for (i = 1; i <= options.linesAfter; i++) { + if (foundLineNo + i >= lineEnds.length) break; + line = getLine( + mark.buffer, + lineStarts[foundLineNo + i], + lineEnds[foundLineNo + i], + mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]), + maxLineLength + ); + result += common.repeat(' ', options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + + ' | ' + line.str + '\n'; + } + + return result.replace(/\n$/, ''); +} + + +var snippet = makeSnippet; + +var TYPE_CONSTRUCTOR_OPTIONS = [ + 'kind', + 'multi', + 'resolve', + 'construct', + 'instanceOf', + 'predicate', + 'represent', + 'representName', + 'defaultStyle', + 'styleAliases' +]; + +var YAML_NODE_KINDS = [ + 'scalar', + 'sequence', + 'mapping' +]; + +function compileStyleAliases(map) { + var result = {}; + + if (map !== null) { + Object.keys(map).forEach(function (style) { + map[style].forEach(function (alias) { + result[String(alias)] = style; + }); + }); + } + + return result; +} + +function Type$1(tag, options) { + options = options || {}; + + Object.keys(options).forEach(function (name) { + if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { + throw new exception('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); + } + }); + + // TODO: Add tag format check. + this.options = options; // keep original options in case user wants to extend this type later + this.tag = tag; + this.kind = options['kind'] || null; + this.resolve = options['resolve'] || function () { return true; }; + this.construct = options['construct'] || function (data) { return data; }; + this.instanceOf = options['instanceOf'] || null; + this.predicate = options['predicate'] || null; + this.represent = options['represent'] || null; + this.representName = options['representName'] || null; + this.defaultStyle = options['defaultStyle'] || null; + this.multi = options['multi'] || false; + this.styleAliases = compileStyleAliases(options['styleAliases'] || null); + + if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { + throw new exception('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); + } +} + +var type = Type$1; + +/*eslint-disable max-len*/ + + + + + +function compileList(schema, name) { + var result = []; + + schema[name].forEach(function (currentType) { + var newIndex = result.length; + + result.forEach(function (previousType, previousIndex) { + if (previousType.tag === currentType.tag && + previousType.kind === currentType.kind && + previousType.multi === currentType.multi) { + + newIndex = previousIndex; + } + }); + + result[newIndex] = currentType; + }); + + return result; +} + + +function compileMap(/* lists... */) { + var result = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {}, + multi: { + scalar: [], + sequence: [], + mapping: [], + fallback: [] + } + }, index, length; + + function collectType(type) { + if (type.multi) { + result.multi[type.kind].push(type); + result.multi['fallback'].push(type); + } else { + result[type.kind][type.tag] = result['fallback'][type.tag] = type; + } + } + + for (index = 0, length = arguments.length; index < length; index += 1) { + arguments[index].forEach(collectType); + } + return result; +} + + +function Schema$1(definition) { + return this.extend(definition); +} + + +Schema$1.prototype.extend = function extend(definition) { + var implicit = []; + var explicit = []; + + if (definition instanceof type) { + // Schema.extend(type) + explicit.push(definition); + + } else if (Array.isArray(definition)) { + // Schema.extend([ type1, type2, ... ]) + explicit = explicit.concat(definition); + + } else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) { + // Schema.extend({ explicit: [ type1, type2, ... ], implicit: [ type1, type2, ... ] }) + if (definition.implicit) implicit = implicit.concat(definition.implicit); + if (definition.explicit) explicit = explicit.concat(definition.explicit); + + } else { + throw new exception('Schema.extend argument should be a Type, [ Type ], ' + + 'or a schema definition ({ implicit: [...], explicit: [...] })'); + } + + implicit.forEach(function (type$1) { + if (!(type$1 instanceof type)) { + throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + + if (type$1.loadKind && type$1.loadKind !== 'scalar') { + throw new exception('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); + } + + if (type$1.multi) { + throw new exception('There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.'); + } + }); + + explicit.forEach(function (type$1) { + if (!(type$1 instanceof type)) { + throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + }); + + var result = Object.create(Schema$1.prototype); + + result.implicit = (this.implicit || []).concat(implicit); + result.explicit = (this.explicit || []).concat(explicit); + + result.compiledImplicit = compileList(result, 'implicit'); + result.compiledExplicit = compileList(result, 'explicit'); + result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit); + + return result; +}; + + +var schema = Schema$1; + +var str = new type('tag:yaml.org,2002:str', { + kind: 'scalar', + construct: function (data) { return data !== null ? data : ''; } +}); + +var seq = new type('tag:yaml.org,2002:seq', { + kind: 'sequence', + construct: function (data) { return data !== null ? data : []; } +}); + +var map = new type('tag:yaml.org,2002:map', { + kind: 'mapping', + construct: function (data) { return data !== null ? data : {}; } +}); + +var failsafe = new schema({ + explicit: [ + str, + seq, + map + ] +}); + +function resolveYamlNull(data) { + if (data === null) return true; + + var max = data.length; + + return (max === 1 && data === '~') || + (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL')); +} + +function constructYamlNull() { + return null; +} + +function isNull(object) { + return object === null; +} + +var _null = new type('tag:yaml.org,2002:null', { + kind: 'scalar', + resolve: resolveYamlNull, + construct: constructYamlNull, + predicate: isNull, + represent: { + canonical: function () { return '~'; }, + lowercase: function () { return 'null'; }, + uppercase: function () { return 'NULL'; }, + camelcase: function () { return 'Null'; }, + empty: function () { return ''; } + }, + defaultStyle: 'lowercase' +}); + +function resolveYamlBoolean(data) { + if (data === null) return false; + + var max = data.length; + + return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) || + (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE')); +} + +function constructYamlBoolean(data) { + return data === 'true' || + data === 'True' || + data === 'TRUE'; +} + +function isBoolean(object) { + return Object.prototype.toString.call(object) === '[object Boolean]'; +} + +var bool = new type('tag:yaml.org,2002:bool', { + kind: 'scalar', + resolve: resolveYamlBoolean, + construct: constructYamlBoolean, + predicate: isBoolean, + represent: { + lowercase: function (object) { return object ? 'true' : 'false'; }, + uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; }, + camelcase: function (object) { return object ? 'True' : 'False'; } + }, + defaultStyle: 'lowercase' +}); + +function isHexCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) || + ((0x41/* A */ <= c) && (c <= 0x46/* F */)) || + ((0x61/* a */ <= c) && (c <= 0x66/* f */)); +} + +function isOctCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */)); +} + +function isDecCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)); +} + +function resolveYamlInteger(data) { + if (data === null) return false; + + var max = data.length, + index = 0, + hasDigits = false, + ch; + + if (!max) return false; + + ch = data[index]; + + // sign + if (ch === '-' || ch === '+') { + ch = data[++index]; + } + + if (ch === '0') { + // 0 + if (index + 1 === max) return true; + ch = data[++index]; + + // base 2, base 8, base 16 + + if (ch === 'b') { + // base 2 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch !== '0' && ch !== '1') return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + + if (ch === 'x') { + // base 16 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isHexCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + + if (ch === 'o') { + // base 8 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isOctCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + } + + // base 10 (except 0) + + // value should not start with `_`; + if (ch === '_') return false; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isDecCode(data.charCodeAt(index))) { + return false; + } + hasDigits = true; + } + + // Should have digits and should not end with `_` + if (!hasDigits || ch === '_') return false; + + return true; +} + +function constructYamlInteger(data) { + var value = data, sign = 1, ch; + + if (value.indexOf('_') !== -1) { + value = value.replace(/_/g, ''); + } + + ch = value[0]; + + if (ch === '-' || ch === '+') { + if (ch === '-') sign = -1; + value = value.slice(1); + ch = value[0]; + } + + if (value === '0') return 0; + + if (ch === '0') { + if (value[1] === 'b') return sign * parseInt(value.slice(2), 2); + if (value[1] === 'x') return sign * parseInt(value.slice(2), 16); + if (value[1] === 'o') return sign * parseInt(value.slice(2), 8); + } + + return sign * parseInt(value, 10); +} + +function isInteger(object) { + return (Object.prototype.toString.call(object)) === '[object Number]' && + (object % 1 === 0 && !common.isNegativeZero(object)); +} + +var int = new type('tag:yaml.org,2002:int', { + kind: 'scalar', + resolve: resolveYamlInteger, + construct: constructYamlInteger, + predicate: isInteger, + represent: { + binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); }, + octal: function (obj) { return obj >= 0 ? '0o' + obj.toString(8) : '-0o' + obj.toString(8).slice(1); }, + decimal: function (obj) { return obj.toString(10); }, + /* eslint-disable max-len */ + hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); } + }, + defaultStyle: 'decimal', + styleAliases: { + binary: [ 2, 'bin' ], + octal: [ 8, 'oct' ], + decimal: [ 10, 'dec' ], + hexadecimal: [ 16, 'hex' ] + } +}); + +var YAML_FLOAT_PATTERN = new RegExp( + // 2.5e4, 2.5 and integers + '^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' + + // .2e4, .2 + // special case, seems not from spec + '|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' + + // .inf + '|[-+]?\\.(?:inf|Inf|INF)' + + // .nan + '|\\.(?:nan|NaN|NAN))$'); + +function resolveYamlFloat(data) { + if (data === null) return false; + + if (!YAML_FLOAT_PATTERN.test(data) || + // Quick hack to not allow integers end with `_` + // Probably should update regexp & check speed + data[data.length - 1] === '_') { + return false; + } + + return true; +} + +function constructYamlFloat(data) { + var value, sign; + + value = data.replace(/_/g, '').toLowerCase(); + sign = value[0] === '-' ? -1 : 1; + + if ('+-'.indexOf(value[0]) >= 0) { + value = value.slice(1); + } + + if (value === '.inf') { + return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + + } else if (value === '.nan') { + return NaN; + } + return sign * parseFloat(value, 10); +} + + +var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; + +function representYamlFloat(object, style) { + var res; + + if (isNaN(object)) { + switch (style) { + case 'lowercase': return '.nan'; + case 'uppercase': return '.NAN'; + case 'camelcase': return '.NaN'; + } + } else if (Number.POSITIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '.inf'; + case 'uppercase': return '.INF'; + case 'camelcase': return '.Inf'; + } + } else if (Number.NEGATIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '-.inf'; + case 'uppercase': return '-.INF'; + case 'camelcase': return '-.Inf'; + } + } else if (common.isNegativeZero(object)) { + return '-0.0'; + } + + res = object.toString(10); + + // JS stringifier can build scientific format without dots: 5e-100, + // while YAML requres dot: 5.e-100. Fix it with simple hack + + return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res; +} + +function isFloat(object) { + return (Object.prototype.toString.call(object) === '[object Number]') && + (object % 1 !== 0 || common.isNegativeZero(object)); +} + +var float = new type('tag:yaml.org,2002:float', { + kind: 'scalar', + resolve: resolveYamlFloat, + construct: constructYamlFloat, + predicate: isFloat, + represent: representYamlFloat, + defaultStyle: 'lowercase' +}); + +var json = failsafe.extend({ + implicit: [ + _null, + bool, + int, + float + ] +}); + +var core = json; + +var YAML_DATE_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9])' + // [2] month + '-([0-9][0-9])$'); // [3] day + +var YAML_TIMESTAMP_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9]?)' + // [2] month + '-([0-9][0-9]?)' + // [3] day + '(?:[Tt]|[ \\t]+)' + // ... + '([0-9][0-9]?)' + // [4] hour + ':([0-9][0-9])' + // [5] minute + ':([0-9][0-9])' + // [6] second + '(?:\\.([0-9]*))?' + // [7] fraction + '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour + '(?::([0-9][0-9]))?))?$'); // [11] tz_minute + +function resolveYamlTimestamp(data) { + if (data === null) return false; + if (YAML_DATE_REGEXP.exec(data) !== null) return true; + if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; + return false; +} + +function constructYamlTimestamp(data) { + var match, year, month, day, hour, minute, second, fraction = 0, + delta = null, tz_hour, tz_minute, date; + + match = YAML_DATE_REGEXP.exec(data); + if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); + + if (match === null) throw new Error('Date resolve error'); + + // match: [1] year [2] month [3] day + + year = +(match[1]); + month = +(match[2]) - 1; // JS month starts with 0 + day = +(match[3]); + + if (!match[4]) { // no hour + return new Date(Date.UTC(year, month, day)); + } + + // match: [4] hour [5] minute [6] second [7] fraction + + hour = +(match[4]); + minute = +(match[5]); + second = +(match[6]); + + if (match[7]) { + fraction = match[7].slice(0, 3); + while (fraction.length < 3) { // milli-seconds + fraction += '0'; + } + fraction = +fraction; + } + + // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute + + if (match[9]) { + tz_hour = +(match[10]); + tz_minute = +(match[11] || 0); + delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds + if (match[9] === '-') delta = -delta; + } + + date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); + + if (delta) date.setTime(date.getTime() - delta); + + return date; +} + +function representYamlTimestamp(object /*, style*/) { + return object.toISOString(); +} + +var timestamp = new type('tag:yaml.org,2002:timestamp', { + kind: 'scalar', + resolve: resolveYamlTimestamp, + construct: constructYamlTimestamp, + instanceOf: Date, + represent: representYamlTimestamp +}); + +function resolveYamlMerge(data) { + return data === '<<' || data === null; +} + +var merge = new type('tag:yaml.org,2002:merge', { + kind: 'scalar', + resolve: resolveYamlMerge +}); + +/*eslint-disable no-bitwise*/ + + + + + +// [ 64, 65, 66 ] -> [ padding, CR, LF ] +var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r'; + + +function resolveYamlBinary(data) { + if (data === null) return false; + + var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP; + + // Convert one by one. + for (idx = 0; idx < max; idx++) { + code = map.indexOf(data.charAt(idx)); + + // Skip CR/LF + if (code > 64) continue; + + // Fail on illegal characters + if (code < 0) return false; + + bitlen += 6; + } + + // If there are any bits left, source was corrupted + return (bitlen % 8) === 0; +} + +function constructYamlBinary(data) { + var idx, tailbits, + input = data.replace(/[\r\n=]/g, ''), // remove CR/LF & padding to simplify scan + max = input.length, + map = BASE64_MAP, + bits = 0, + result = []; + + // Collect by 6*4 bits (3 bytes) + + for (idx = 0; idx < max; idx++) { + if ((idx % 4 === 0) && idx) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } + + bits = (bits << 6) | map.indexOf(input.charAt(idx)); + } + + // Dump tail + + tailbits = (max % 4) * 6; + + if (tailbits === 0) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } else if (tailbits === 18) { + result.push((bits >> 10) & 0xFF); + result.push((bits >> 2) & 0xFF); + } else if (tailbits === 12) { + result.push((bits >> 4) & 0xFF); + } + + return new Uint8Array(result); +} + +function representYamlBinary(object /*, style*/) { + var result = '', bits = 0, idx, tail, + max = object.length, + map = BASE64_MAP; + + // Convert every three bytes to 4 ASCII characters. + + for (idx = 0; idx < max; idx++) { + if ((idx % 3 === 0) && idx) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } + + bits = (bits << 8) + object[idx]; + } + + // Dump tail + + tail = max % 3; + + if (tail === 0) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } else if (tail === 2) { + result += map[(bits >> 10) & 0x3F]; + result += map[(bits >> 4) & 0x3F]; + result += map[(bits << 2) & 0x3F]; + result += map[64]; + } else if (tail === 1) { + result += map[(bits >> 2) & 0x3F]; + result += map[(bits << 4) & 0x3F]; + result += map[64]; + result += map[64]; + } + + return result; +} + +function isBinary(obj) { + return Object.prototype.toString.call(obj) === '[object Uint8Array]'; +} + +var binary = new type('tag:yaml.org,2002:binary', { + kind: 'scalar', + resolve: resolveYamlBinary, + construct: constructYamlBinary, + predicate: isBinary, + represent: representYamlBinary +}); + +var _hasOwnProperty$3 = Object.prototype.hasOwnProperty; +var _toString$2 = Object.prototype.toString; + +function resolveYamlOmap(data) { + if (data === null) return true; + + var objectKeys = [], index, length, pair, pairKey, pairHasKey, + object = data; + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + pairHasKey = false; + + if (_toString$2.call(pair) !== '[object Object]') return false; + + for (pairKey in pair) { + if (_hasOwnProperty$3.call(pair, pairKey)) { + if (!pairHasKey) pairHasKey = true; + else return false; + } + } + + if (!pairHasKey) return false; + + if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey); + else return false; + } + + return true; +} + +function constructYamlOmap(data) { + return data !== null ? data : []; +} + +var omap = new type('tag:yaml.org,2002:omap', { + kind: 'sequence', + resolve: resolveYamlOmap, + construct: constructYamlOmap +}); + +var _toString$1 = Object.prototype.toString; + +function resolveYamlPairs(data) { + if (data === null) return true; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + if (_toString$1.call(pair) !== '[object Object]') return false; + + keys = Object.keys(pair); + + if (keys.length !== 1) return false; + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return true; +} + +function constructYamlPairs(data) { + if (data === null) return []; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + keys = Object.keys(pair); + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return result; +} + +var pairs = new type('tag:yaml.org,2002:pairs', { + kind: 'sequence', + resolve: resolveYamlPairs, + construct: constructYamlPairs +}); + +var _hasOwnProperty$2 = Object.prototype.hasOwnProperty; + +function resolveYamlSet(data) { + if (data === null) return true; + + var key, object = data; + + for (key in object) { + if (_hasOwnProperty$2.call(object, key)) { + if (object[key] !== null) return false; + } + } + + return true; +} + +function constructYamlSet(data) { + return data !== null ? data : {}; +} + +var set = new type('tag:yaml.org,2002:set', { + kind: 'mapping', + resolve: resolveYamlSet, + construct: constructYamlSet +}); + +var _default = core.extend({ + implicit: [ + timestamp, + merge + ], + explicit: [ + binary, + omap, + pairs, + set + ] +}); + +/*eslint-disable max-len,no-use-before-define*/ + + + + + + + +var _hasOwnProperty$1 = Object.prototype.hasOwnProperty; + + +var CONTEXT_FLOW_IN = 1; +var CONTEXT_FLOW_OUT = 2; +var CONTEXT_BLOCK_IN = 3; +var CONTEXT_BLOCK_OUT = 4; + + +var CHOMPING_CLIP = 1; +var CHOMPING_STRIP = 2; +var CHOMPING_KEEP = 3; + + +var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; +var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; +var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; +var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; + + +function _class(obj) { return Object.prototype.toString.call(obj); } + +function is_EOL(c) { + return (c === 0x0A/* LF */) || (c === 0x0D/* CR */); +} + +function is_WHITE_SPACE(c) { + return (c === 0x09/* Tab */) || (c === 0x20/* Space */); +} + +function is_WS_OR_EOL(c) { + return (c === 0x09/* Tab */) || + (c === 0x20/* Space */) || + (c === 0x0A/* LF */) || + (c === 0x0D/* CR */); +} + +function is_FLOW_INDICATOR(c) { + return c === 0x2C/* , */ || + c === 0x5B/* [ */ || + c === 0x5D/* ] */ || + c === 0x7B/* { */ || + c === 0x7D/* } */; +} + +function fromHexCode(c) { + var lc; + + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + /*eslint-disable no-bitwise*/ + lc = c | 0x20; + + if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) { + return lc - 0x61 + 10; + } + + return -1; +} + +function escapedHexLen(c) { + if (c === 0x78/* x */) { return 2; } + if (c === 0x75/* u */) { return 4; } + if (c === 0x55/* U */) { return 8; } + return 0; +} + +function fromDecimalCode(c) { + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + return -1; +} + +function simpleEscapeSequence(c) { + /* eslint-disable indent */ + return (c === 0x30/* 0 */) ? '\x00' : + (c === 0x61/* a */) ? '\x07' : + (c === 0x62/* b */) ? '\x08' : + (c === 0x74/* t */) ? '\x09' : + (c === 0x09/* Tab */) ? '\x09' : + (c === 0x6E/* n */) ? '\x0A' : + (c === 0x76/* v */) ? '\x0B' : + (c === 0x66/* f */) ? '\x0C' : + (c === 0x72/* r */) ? '\x0D' : + (c === 0x65/* e */) ? '\x1B' : + (c === 0x20/* Space */) ? ' ' : + (c === 0x22/* " */) ? '\x22' : + (c === 0x2F/* / */) ? '/' : + (c === 0x5C/* \ */) ? '\x5C' : + (c === 0x4E/* N */) ? '\x85' : + (c === 0x5F/* _ */) ? '\xA0' : + (c === 0x4C/* L */) ? '\u2028' : + (c === 0x50/* P */) ? '\u2029' : ''; +} + +function charFromCodepoint(c) { + if (c <= 0xFFFF) { + return String.fromCharCode(c); + } + // Encode UTF-16 surrogate pair + // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF + return String.fromCharCode( + ((c - 0x010000) >> 10) + 0xD800, + ((c - 0x010000) & 0x03FF) + 0xDC00 + ); +} + +var simpleEscapeCheck = new Array(256); // integer, for fast access +var simpleEscapeMap = new Array(256); +for (var i = 0; i < 256; i++) { + simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; + simpleEscapeMap[i] = simpleEscapeSequence(i); +} + + +function State$1(input, options) { + this.input = input; + + this.filename = options['filename'] || null; + this.schema = options['schema'] || _default; + this.onWarning = options['onWarning'] || null; + // (Hidden) Remove? makes the loader to expect YAML 1.1 documents + // if such documents have no explicit %YAML directive + this.legacy = options['legacy'] || false; + + this.json = options['json'] || false; + this.listener = options['listener'] || null; + + this.implicitTypes = this.schema.compiledImplicit; + this.typeMap = this.schema.compiledTypeMap; + + this.length = input.length; + this.position = 0; + this.line = 0; + this.lineStart = 0; + this.lineIndent = 0; + + // position of first leading tab in the current line, + // used to make sure there are no tabs in the indentation + this.firstTabInLine = -1; + + this.documents = []; + + /* + this.version; + this.checkLineBreaks; + this.tagMap; + this.anchorMap; + this.tag; + this.anchor; + this.kind; + this.result;*/ + +} + + +function generateError(state, message) { + var mark = { + name: state.filename, + buffer: state.input.slice(0, -1), // omit trailing \0 + position: state.position, + line: state.line, + column: state.position - state.lineStart + }; + + mark.snippet = snippet(mark); + + return new exception(message, mark); +} + +function throwError(state, message) { + throw generateError(state, message); +} + +function throwWarning(state, message) { + if (state.onWarning) { + state.onWarning.call(null, generateError(state, message)); + } +} + + +var directiveHandlers = { + + YAML: function handleYamlDirective(state, name, args) { + + var match, major, minor; + + if (state.version !== null) { + throwError(state, 'duplication of %YAML directive'); + } + + if (args.length !== 1) { + throwError(state, 'YAML directive accepts exactly one argument'); + } + + match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); + + if (match === null) { + throwError(state, 'ill-formed argument of the YAML directive'); + } + + major = parseInt(match[1], 10); + minor = parseInt(match[2], 10); + + if (major !== 1) { + throwError(state, 'unacceptable YAML version of the document'); + } + + state.version = args[0]; + state.checkLineBreaks = (minor < 2); + + if (minor !== 1 && minor !== 2) { + throwWarning(state, 'unsupported YAML version of the document'); + } + }, + + TAG: function handleTagDirective(state, name, args) { + + var handle, prefix; + + if (args.length !== 2) { + throwError(state, 'TAG directive accepts exactly two arguments'); + } + + handle = args[0]; + prefix = args[1]; + + if (!PATTERN_TAG_HANDLE.test(handle)) { + throwError(state, 'ill-formed tag handle (first argument) of the TAG directive'); + } + + if (_hasOwnProperty$1.call(state.tagMap, handle)) { + throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); + } + + if (!PATTERN_TAG_URI.test(prefix)) { + throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive'); + } + + try { + prefix = decodeURIComponent(prefix); + } catch (err) { + throwError(state, 'tag prefix is malformed: ' + prefix); + } + + state.tagMap[handle] = prefix; + } +}; + + +function captureSegment(state, start, end, checkJson) { + var _position, _length, _character, _result; + + if (start < end) { + _result = state.input.slice(start, end); + + if (checkJson) { + for (_position = 0, _length = _result.length; _position < _length; _position += 1) { + _character = _result.charCodeAt(_position); + if (!(_character === 0x09 || + (0x20 <= _character && _character <= 0x10FFFF))) { + throwError(state, 'expected valid JSON character'); + } + } + } else if (PATTERN_NON_PRINTABLE.test(_result)) { + throwError(state, 'the stream contains non-printable characters'); + } + + state.result += _result; + } +} + +function mergeMappings(state, destination, source, overridableKeys) { + var sourceKeys, key, index, quantity; + + if (!common.isObject(source)) { + throwError(state, 'cannot merge mappings; the provided source object is unacceptable'); + } + + sourceKeys = Object.keys(source); + + for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { + key = sourceKeys[index]; + + if (!_hasOwnProperty$1.call(destination, key)) { + destination[key] = source[key]; + overridableKeys[key] = true; + } + } +} + +function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, + startLine, startLineStart, startPos) { + + var index, quantity; + + // The output is a plain object here, so keys can only be strings. + // We need to convert keyNode to a string, but doing so can hang the process + // (deeply nested arrays that explode exponentially using aliases). + if (Array.isArray(keyNode)) { + keyNode = Array.prototype.slice.call(keyNode); + + for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { + if (Array.isArray(keyNode[index])) { + throwError(state, 'nested arrays are not supported inside keys'); + } + + if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') { + keyNode[index] = '[object Object]'; + } + } + } + + // Avoid code execution in load() via toString property + // (still use its own toString for arrays, timestamps, + // and whatever user schema extensions happen to have @@toStringTag) + if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') { + keyNode = '[object Object]'; + } + + + keyNode = String(keyNode); + + if (_result === null) { + _result = {}; + } + + if (keyTag === 'tag:yaml.org,2002:merge') { + if (Array.isArray(valueNode)) { + for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { + mergeMappings(state, _result, valueNode[index], overridableKeys); + } + } else { + mergeMappings(state, _result, valueNode, overridableKeys); + } + } else { + if (!state.json && + !_hasOwnProperty$1.call(overridableKeys, keyNode) && + _hasOwnProperty$1.call(_result, keyNode)) { + state.line = startLine || state.line; + state.lineStart = startLineStart || state.lineStart; + state.position = startPos || state.position; + throwError(state, 'duplicated mapping key'); + } + + // used for this specific key only because Object.defineProperty is slow + if (keyNode === '__proto__') { + Object.defineProperty(_result, keyNode, { + configurable: true, + enumerable: true, + writable: true, + value: valueNode + }); + } else { + _result[keyNode] = valueNode; + } + delete overridableKeys[keyNode]; + } + + return _result; +} + +function readLineBreak(state) { + var ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x0A/* LF */) { + state.position++; + } else if (ch === 0x0D/* CR */) { + state.position++; + if (state.input.charCodeAt(state.position) === 0x0A/* LF */) { + state.position++; + } + } else { + throwError(state, 'a line break is expected'); + } + + state.line += 1; + state.lineStart = state.position; + state.firstTabInLine = -1; +} + +function skipSeparationSpace(state, allowComments, checkIndent) { + var lineBreaks = 0, + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + if (ch === 0x09/* Tab */ && state.firstTabInLine === -1) { + state.firstTabInLine = state.position; + } + ch = state.input.charCodeAt(++state.position); + } + + if (allowComments && ch === 0x23/* # */) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0); + } + + if (is_EOL(ch)) { + readLineBreak(state); + + ch = state.input.charCodeAt(state.position); + lineBreaks++; + state.lineIndent = 0; + + while (ch === 0x20/* Space */) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + } else { + break; + } + } + + if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { + throwWarning(state, 'deficient indentation'); + } + + return lineBreaks; +} + +function testDocumentSeparator(state) { + var _position = state.position, + ch; + + ch = state.input.charCodeAt(_position); + + // Condition state.position === state.lineStart is tested + // in parent on each call, for efficiency. No needs to test here again. + if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) && + ch === state.input.charCodeAt(_position + 1) && + ch === state.input.charCodeAt(_position + 2)) { + + _position += 3; + + ch = state.input.charCodeAt(_position); + + if (ch === 0 || is_WS_OR_EOL(ch)) { + return true; + } + } + + return false; +} + +function writeFoldedLines(state, count) { + if (count === 1) { + state.result += ' '; + } else if (count > 1) { + state.result += common.repeat('\n', count - 1); + } +} + + +function readPlainScalar(state, nodeIndent, withinFlowCollection) { + var preceding, + following, + captureStart, + captureEnd, + hasPendingContent, + _line, + _lineStart, + _lineIndent, + _kind = state.kind, + _result = state.result, + ch; + + ch = state.input.charCodeAt(state.position); + + if (is_WS_OR_EOL(ch) || + is_FLOW_INDICATOR(ch) || + ch === 0x23/* # */ || + ch === 0x26/* & */ || + ch === 0x2A/* * */ || + ch === 0x21/* ! */ || + ch === 0x7C/* | */ || + ch === 0x3E/* > */ || + ch === 0x27/* ' */ || + ch === 0x22/* " */ || + ch === 0x25/* % */ || + ch === 0x40/* @ */ || + ch === 0x60/* ` */) { + return false; + } + + if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + return false; + } + } + + state.kind = 'scalar'; + state.result = ''; + captureStart = captureEnd = state.position; + hasPendingContent = false; + + while (ch !== 0) { + if (ch === 0x3A/* : */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + break; + } + + } else if (ch === 0x23/* # */) { + preceding = state.input.charCodeAt(state.position - 1); + + if (is_WS_OR_EOL(preceding)) { + break; + } + + } else if ((state.position === state.lineStart && testDocumentSeparator(state)) || + withinFlowCollection && is_FLOW_INDICATOR(ch)) { + break; + + } else if (is_EOL(ch)) { + _line = state.line; + _lineStart = state.lineStart; + _lineIndent = state.lineIndent; + skipSeparationSpace(state, false, -1); + + if (state.lineIndent >= nodeIndent) { + hasPendingContent = true; + ch = state.input.charCodeAt(state.position); + continue; + } else { + state.position = captureEnd; + state.line = _line; + state.lineStart = _lineStart; + state.lineIndent = _lineIndent; + break; + } + } + + if (hasPendingContent) { + captureSegment(state, captureStart, captureEnd, false); + writeFoldedLines(state, state.line - _line); + captureStart = captureEnd = state.position; + hasPendingContent = false; + } + + if (!is_WHITE_SPACE(ch)) { + captureEnd = state.position + 1; + } + + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, captureEnd, false); + + if (state.result) { + return true; + } + + state.kind = _kind; + state.result = _result; + return false; +} + +function readSingleQuotedScalar(state, nodeIndent) { + var ch, + captureStart, captureEnd; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x27/* ' */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x27/* ' */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x27/* ' */) { + captureStart = state.position; + state.position++; + captureEnd = state.position; + } else { + return true; + } + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a single quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a single quoted scalar'); +} + +function readDoubleQuotedScalar(state, nodeIndent) { + var captureStart, + captureEnd, + hexLength, + hexResult, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x22/* " */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x22/* " */) { + captureSegment(state, captureStart, state.position, true); + state.position++; + return true; + + } else if (ch === 0x5C/* \ */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (is_EOL(ch)) { + skipSeparationSpace(state, false, nodeIndent); + + // TODO: rework to inline fn with no type cast? + } else if (ch < 256 && simpleEscapeCheck[ch]) { + state.result += simpleEscapeMap[ch]; + state.position++; + + } else if ((tmp = escapedHexLen(ch)) > 0) { + hexLength = tmp; + hexResult = 0; + + for (; hexLength > 0; hexLength--) { + ch = state.input.charCodeAt(++state.position); + + if ((tmp = fromHexCode(ch)) >= 0) { + hexResult = (hexResult << 4) + tmp; + + } else { + throwError(state, 'expected hexadecimal character'); + } + } + + state.result += charFromCodepoint(hexResult); + + state.position++; + + } else { + throwError(state, 'unknown escape sequence'); + } + + captureStart = captureEnd = state.position; + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a double quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a double quoted scalar'); +} + +function readFlowCollection(state, nodeIndent) { + var readNext = true, + _line, + _lineStart, + _pos, + _tag = state.tag, + _result, + _anchor = state.anchor, + following, + terminator, + isPair, + isExplicitPair, + isMapping, + overridableKeys = Object.create(null), + keyNode, + keyTag, + valueNode, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x5B/* [ */) { + terminator = 0x5D;/* ] */ + isMapping = false; + _result = []; + } else if (ch === 0x7B/* { */) { + terminator = 0x7D;/* } */ + isMapping = true; + _result = {}; + } else { + return false; + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(++state.position); + + while (ch !== 0) { + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === terminator) { + state.position++; + state.tag = _tag; + state.anchor = _anchor; + state.kind = isMapping ? 'mapping' : 'sequence'; + state.result = _result; + return true; + } else if (!readNext) { + throwError(state, 'missed comma between flow collection entries'); + } else if (ch === 0x2C/* , */) { + // "flow collection entries can never be completely empty", as per YAML 1.2, section 7.4 + throwError(state, "expected the node content, but found ','"); + } + + keyTag = keyNode = valueNode = null; + isPair = isExplicitPair = false; + + if (ch === 0x3F/* ? */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following)) { + isPair = isExplicitPair = true; + state.position++; + skipSeparationSpace(state, true, nodeIndent); + } + } + + _line = state.line; // Save the current line. + _lineStart = state.lineStart; + _pos = state.position; + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + keyTag = state.tag; + keyNode = state.result; + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) { + isPair = true; + ch = state.input.charCodeAt(++state.position); + skipSeparationSpace(state, true, nodeIndent); + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + valueNode = state.result; + } + + if (isMapping) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos); + } else if (isPair) { + _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos)); + } else { + _result.push(keyNode); + } + + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x2C/* , */) { + readNext = true; + ch = state.input.charCodeAt(++state.position); + } else { + readNext = false; + } + } + + throwError(state, 'unexpected end of the stream within a flow collection'); +} + +function readBlockScalar(state, nodeIndent) { + var captureStart, + folding, + chomping = CHOMPING_CLIP, + didReadContent = false, + detectedIndent = false, + textIndent = nodeIndent, + emptyLines = 0, + atMoreIndented = false, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x7C/* | */) { + folding = false; + } else if (ch === 0x3E/* > */) { + folding = true; + } else { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + + while (ch !== 0) { + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x2B/* + */ || ch === 0x2D/* - */) { + if (CHOMPING_CLIP === chomping) { + chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP; + } else { + throwError(state, 'repeat of a chomping mode identifier'); + } + + } else if ((tmp = fromDecimalCode(ch)) >= 0) { + if (tmp === 0) { + throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one'); + } else if (!detectedIndent) { + textIndent = nodeIndent + tmp - 1; + detectedIndent = true; + } else { + throwError(state, 'repeat of an indentation width identifier'); + } + + } else { + break; + } + } + + if (is_WHITE_SPACE(ch)) { + do { ch = state.input.charCodeAt(++state.position); } + while (is_WHITE_SPACE(ch)); + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (!is_EOL(ch) && (ch !== 0)); + } + } + + while (ch !== 0) { + readLineBreak(state); + state.lineIndent = 0; + + ch = state.input.charCodeAt(state.position); + + while ((!detectedIndent || state.lineIndent < textIndent) && + (ch === 0x20/* Space */)) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + + if (!detectedIndent && state.lineIndent > textIndent) { + textIndent = state.lineIndent; + } + + if (is_EOL(ch)) { + emptyLines++; + continue; + } + + // End of the scalar. + if (state.lineIndent < textIndent) { + + // Perform the chomping. + if (chomping === CHOMPING_KEEP) { + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } else if (chomping === CHOMPING_CLIP) { + if (didReadContent) { // i.e. only if the scalar is not empty. + state.result += '\n'; + } + } + + // Break this `while` cycle and go to the funciton's epilogue. + break; + } + + // Folded style: use fancy rules to handle line breaks. + if (folding) { + + // Lines starting with white space characters (more-indented lines) are not folded. + if (is_WHITE_SPACE(ch)) { + atMoreIndented = true; + // except for the first content line (cf. Example 8.1) + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + + // End of more-indented block. + } else if (atMoreIndented) { + atMoreIndented = false; + state.result += common.repeat('\n', emptyLines + 1); + + // Just one line break - perceive as the same line. + } else if (emptyLines === 0) { + if (didReadContent) { // i.e. only if we have already read some scalar content. + state.result += ' '; + } + + // Several line breaks - perceive as different lines. + } else { + state.result += common.repeat('\n', emptyLines); + } + + // Literal style: just add exact number of line breaks between content lines. + } else { + // Keep all line breaks except the header line break. + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } + + didReadContent = true; + detectedIndent = true; + emptyLines = 0; + captureStart = state.position; + + while (!is_EOL(ch) && (ch !== 0)) { + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, state.position, false); + } + + return true; +} + +function readBlockSequence(state, nodeIndent) { + var _line, + _tag = state.tag, + _anchor = state.anchor, + _result = [], + following, + detected = false, + ch; + + // there is a leading tab before this token, so it can't be a block sequence/mapping; + // it can still be flow sequence/mapping or a scalar + if (state.firstTabInLine !== -1) return false; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + if (state.firstTabInLine !== -1) { + state.position = state.firstTabInLine; + throwError(state, 'tab characters must not be used in indentation'); + } + + if (ch !== 0x2D/* - */) { + break; + } + + following = state.input.charCodeAt(state.position + 1); + + if (!is_WS_OR_EOL(following)) { + break; + } + + detected = true; + state.position++; + + if (skipSeparationSpace(state, true, -1)) { + if (state.lineIndent <= nodeIndent) { + _result.push(null); + ch = state.input.charCodeAt(state.position); + continue; + } + } + + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); + _result.push(state.result); + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { + throwError(state, 'bad indentation of a sequence entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'sequence'; + state.result = _result; + return true; + } + return false; +} + +function readBlockMapping(state, nodeIndent, flowIndent) { + var following, + allowCompact, + _line, + _keyLine, + _keyLineStart, + _keyPos, + _tag = state.tag, + _anchor = state.anchor, + _result = {}, + overridableKeys = Object.create(null), + keyTag = null, + keyNode = null, + valueNode = null, + atExplicitKey = false, + detected = false, + ch; + + // there is a leading tab before this token, so it can't be a block sequence/mapping; + // it can still be flow sequence/mapping or a scalar + if (state.firstTabInLine !== -1) return false; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + if (!atExplicitKey && state.firstTabInLine !== -1) { + state.position = state.firstTabInLine; + throwError(state, 'tab characters must not be used in indentation'); + } + + following = state.input.charCodeAt(state.position + 1); + _line = state.line; // Save the current line. + + // + // Explicit notation case. There are two separate blocks: + // first for the key (denoted by "?") and second for the value (denoted by ":") + // + if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) { + + if (ch === 0x3F/* ? */) { + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = true; + allowCompact = true; + + } else if (atExplicitKey) { + // i.e. 0x3A/* : */ === character after the explicit key. + atExplicitKey = false; + allowCompact = true; + + } else { + throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'); + } + + state.position += 1; + ch = following; + + // + // Implicit notation case. Flow-style node as the key first, then ":", and the value. + // + } else { + _keyLine = state.line; + _keyLineStart = state.lineStart; + _keyPos = state.position; + + if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { + // Neither implicit nor explicit notation. + // Reading is done. Go to the epilogue. + break; + } + + if (state.line === _line) { + ch = state.input.charCodeAt(state.position); + + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x3A/* : */) { + ch = state.input.charCodeAt(++state.position); + + if (!is_WS_OR_EOL(ch)) { + throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping'); + } + + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = false; + allowCompact = false; + keyTag = state.tag; + keyNode = state.result; + + } else if (detected) { + throwError(state, 'can not read an implicit mapping pair; a colon is missed'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + + } else if (detected) { + throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + } + + // + // Common reading code for both explicit and implicit notations. + // + if (state.line === _line || state.lineIndent > nodeIndent) { + if (atExplicitKey) { + _keyLine = state.line; + _keyLineStart = state.lineStart; + _keyPos = state.position; + } + + if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { + if (atExplicitKey) { + keyNode = state.result; + } else { + valueNode = state.result; + } + } + + if (!atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + } + + if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { + throwError(state, 'bad indentation of a mapping entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + // + // Epilogue. + // + + // Special case: last mapping's node contains only the key in explicit notation. + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + } + + // Expose the resulting mapping. + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'mapping'; + state.result = _result; + } + + return detected; +} + +function readTagProperty(state) { + var _position, + isVerbatim = false, + isNamed = false, + tagHandle, + tagName, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x21/* ! */) return false; + + if (state.tag !== null) { + throwError(state, 'duplication of a tag property'); + } + + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x3C/* < */) { + isVerbatim = true; + ch = state.input.charCodeAt(++state.position); + + } else if (ch === 0x21/* ! */) { + isNamed = true; + tagHandle = '!!'; + ch = state.input.charCodeAt(++state.position); + + } else { + tagHandle = '!'; + } + + _position = state.position; + + if (isVerbatim) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && ch !== 0x3E/* > */); + + if (state.position < state.length) { + tagName = state.input.slice(_position, state.position); + ch = state.input.charCodeAt(++state.position); + } else { + throwError(state, 'unexpected end of the stream within a verbatim tag'); + } + } else { + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + + if (ch === 0x21/* ! */) { + if (!isNamed) { + tagHandle = state.input.slice(_position - 1, state.position + 1); + + if (!PATTERN_TAG_HANDLE.test(tagHandle)) { + throwError(state, 'named tag handle cannot contain such characters'); + } + + isNamed = true; + _position = state.position + 1; + } else { + throwError(state, 'tag suffix cannot contain exclamation marks'); + } + } + + ch = state.input.charCodeAt(++state.position); + } + + tagName = state.input.slice(_position, state.position); + + if (PATTERN_FLOW_INDICATORS.test(tagName)) { + throwError(state, 'tag suffix cannot contain flow indicator characters'); + } + } + + if (tagName && !PATTERN_TAG_URI.test(tagName)) { + throwError(state, 'tag name cannot contain such characters: ' + tagName); + } + + try { + tagName = decodeURIComponent(tagName); + } catch (err) { + throwError(state, 'tag name is malformed: ' + tagName); + } + + if (isVerbatim) { + state.tag = tagName; + + } else if (_hasOwnProperty$1.call(state.tagMap, tagHandle)) { + state.tag = state.tagMap[tagHandle] + tagName; + + } else if (tagHandle === '!') { + state.tag = '!' + tagName; + + } else if (tagHandle === '!!') { + state.tag = 'tag:yaml.org,2002:' + tagName; + + } else { + throwError(state, 'undeclared tag handle "' + tagHandle + '"'); + } + + return true; +} + +function readAnchorProperty(state) { + var _position, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x26/* & */) return false; + + if (state.anchor !== null) { + throwError(state, 'duplication of an anchor property'); + } + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an anchor node must contain at least one character'); + } + + state.anchor = state.input.slice(_position, state.position); + return true; +} + +function readAlias(state) { + var _position, alias, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x2A/* * */) return false; + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an alias node must contain at least one character'); + } + + alias = state.input.slice(_position, state.position); + + if (!_hasOwnProperty$1.call(state.anchorMap, alias)) { + throwError(state, 'unidentified alias "' + alias + '"'); + } + + state.result = state.anchorMap[alias]; + skipSeparationSpace(state, true, -1); + return true; +} + +function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { + var allowBlockStyles, + allowBlockScalars, + allowBlockCollections, + indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } + } + + if (indentStatus === 1) { + while (readTagProperty(state) || readAnchorProperty(state)) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + allowBlockCollections = allowBlockStyles; + + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } else { + allowBlockCollections = false; + } + } + } + + if (allowBlockCollections) { + allowBlockCollections = atNewLine || allowCompact; + } + + if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { + if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { + flowIndent = parentIndent; + } else { + flowIndent = parentIndent + 1; + } + + blockIndent = state.position - state.lineStart; + + if (indentStatus === 1) { + if (allowBlockCollections && + (readBlockSequence(state, blockIndent) || + readBlockMapping(state, blockIndent, flowIndent)) || + readFlowCollection(state, flowIndent)) { + hasContent = true; + } else { + if ((allowBlockScalars && readBlockScalar(state, flowIndent)) || + readSingleQuotedScalar(state, flowIndent) || + readDoubleQuotedScalar(state, flowIndent)) { + hasContent = true; + + } else if (readAlias(state)) { + hasContent = true; + + if (state.tag !== null || state.anchor !== null) { + throwError(state, 'alias node should not have any properties'); + } + + } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { + hasContent = true; + + if (state.tag === null) { + state.tag = '?'; + } + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else if (indentStatus === 0) { + // Special case: block sequences are allowed to have same indentation level as the parent. + // http://www.yaml.org/spec/1.2/spec.html#id2799784 + hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); + } + } + + if (state.tag === null) { + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + + } else if (state.tag === '?') { + // Implicit resolving is not allowed for non-scalar types, and '?' + // non-specific tag is only automatically assigned to plain scalars. + // + // We only need to check kind conformity in case user explicitly assigns '?' + // tag, for example like this: "! [0]" + // + if (state.result !== null && state.kind !== 'scalar') { + throwError(state, 'unacceptable node kind for ! tag; it should be "scalar", not "' + state.kind + '"'); + } + + for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { + type = state.implicitTypes[typeIndex]; + + if (type.resolve(state.result)) { // `state.result` updated in resolver if matched + state.result = type.construct(state.result); + state.tag = type.tag; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + break; + } + } + } else if (state.tag !== '!') { + if (_hasOwnProperty$1.call(state.typeMap[state.kind || 'fallback'], state.tag)) { + type = state.typeMap[state.kind || 'fallback'][state.tag]; + } else { + // looking for multi type + type = null; + typeList = state.typeMap.multi[state.kind || 'fallback']; + + for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) { + if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) { + type = typeList[typeIndex]; + break; + } + } + } + + if (!type) { + throwError(state, 'unknown tag !<' + state.tag + '>'); + } + + if (state.result !== null && type.kind !== state.kind) { + throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"'); + } + + if (!type.resolve(state.result, state.tag)) { // `state.result` updated in resolver if matched + throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag'); + } else { + state.result = type.construct(state.result, state.tag); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } + + if (state.listener !== null) { + state.listener('close', state); + } + return state.tag !== null || state.anchor !== null || hasContent; +} + +function readDocument(state) { + var documentStart = state.position, + _position, + directiveName, + directiveArgs, + hasDirectives = false, + ch; + + state.version = null; + state.checkLineBreaks = state.legacy; + state.tagMap = Object.create(null); + state.anchorMap = Object.create(null); + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if (state.lineIndent > 0 || ch !== 0x25/* % */) { + break; + } + + hasDirectives = true; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveName = state.input.slice(_position, state.position); + directiveArgs = []; + + if (directiveName.length < 1) { + throwError(state, 'directive name must not be less than one character in length'); + } + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && !is_EOL(ch)); + break; + } + + if (is_EOL(ch)) break; + + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveArgs.push(state.input.slice(_position, state.position)); + } + + if (ch !== 0) readLineBreak(state); + + if (_hasOwnProperty$1.call(directiveHandlers, directiveName)) { + directiveHandlers[directiveName](state, directiveName, directiveArgs); + } else { + throwWarning(state, 'unknown document directive "' + directiveName + '"'); + } + } + + skipSeparationSpace(state, true, -1); + + if (state.lineIndent === 0 && + state.input.charCodeAt(state.position) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 1) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 2) === 0x2D/* - */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + + } else if (hasDirectives) { + throwError(state, 'directives end mark is expected'); + } + + composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); + skipSeparationSpace(state, true, -1); + + if (state.checkLineBreaks && + PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { + throwWarning(state, 'non-ASCII line breaks are interpreted as content'); + } + + state.documents.push(state.result); + + if (state.position === state.lineStart && testDocumentSeparator(state)) { + + if (state.input.charCodeAt(state.position) === 0x2E/* . */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } + return; + } + + if (state.position < (state.length - 1)) { + throwError(state, 'end of the stream or a document separator is expected'); + } else { + return; + } +} + + +function loadDocuments(input, options) { + input = String(input); + options = options || {}; + + if (input.length !== 0) { + + // Add tailing `\n` if not exists + if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ && + input.charCodeAt(input.length - 1) !== 0x0D/* CR */) { + input += '\n'; + } + + // Strip BOM + if (input.charCodeAt(0) === 0xFEFF) { + input = input.slice(1); + } + } + + var state = new State$1(input, options); + + var nullpos = input.indexOf('\0'); + + if (nullpos !== -1) { + state.position = nullpos; + throwError(state, 'null byte is not allowed in input'); + } + + // Use 0 as string terminator. That significantly simplifies bounds check. + state.input += '\0'; + + while (state.input.charCodeAt(state.position) === 0x20/* Space */) { + state.lineIndent += 1; + state.position += 1; + } + + while (state.position < (state.length - 1)) { + readDocument(state); + } + + return state.documents; +} + + +function loadAll$1(input, iterator, options) { + if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') { + options = iterator; + iterator = null; + } + + var documents = loadDocuments(input, options); + + if (typeof iterator !== 'function') { + return documents; + } + + for (var index = 0, length = documents.length; index < length; index += 1) { + iterator(documents[index]); + } +} + + +function load$1(input, options) { + var documents = loadDocuments(input, options); + + if (documents.length === 0) { + /*eslint-disable no-undefined*/ + return undefined; + } else if (documents.length === 1) { + return documents[0]; + } + throw new exception('expected a single document in the stream, but found more'); +} + + +var loadAll_1 = loadAll$1; +var load_1 = load$1; + +var loader = { + loadAll: loadAll_1, + load: load_1 +}; + +/*eslint-disable no-use-before-define*/ + + + + + +var _toString = Object.prototype.toString; +var _hasOwnProperty = Object.prototype.hasOwnProperty; + +var CHAR_BOM = 0xFEFF; +var CHAR_TAB = 0x09; /* Tab */ +var CHAR_LINE_FEED = 0x0A; /* LF */ +var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */ +var CHAR_SPACE = 0x20; /* Space */ +var CHAR_EXCLAMATION = 0x21; /* ! */ +var CHAR_DOUBLE_QUOTE = 0x22; /* " */ +var CHAR_SHARP = 0x23; /* # */ +var CHAR_PERCENT = 0x25; /* % */ +var CHAR_AMPERSAND = 0x26; /* & */ +var CHAR_SINGLE_QUOTE = 0x27; /* ' */ +var CHAR_ASTERISK = 0x2A; /* * */ +var CHAR_COMMA = 0x2C; /* , */ +var CHAR_MINUS = 0x2D; /* - */ +var CHAR_COLON = 0x3A; /* : */ +var CHAR_EQUALS = 0x3D; /* = */ +var CHAR_GREATER_THAN = 0x3E; /* > */ +var CHAR_QUESTION = 0x3F; /* ? */ +var CHAR_COMMERCIAL_AT = 0x40; /* @ */ +var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ +var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ +var CHAR_GRAVE_ACCENT = 0x60; /* ` */ +var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ +var CHAR_VERTICAL_LINE = 0x7C; /* | */ +var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ + +var ESCAPE_SEQUENCES = {}; + +ESCAPE_SEQUENCES[0x00] = '\\0'; +ESCAPE_SEQUENCES[0x07] = '\\a'; +ESCAPE_SEQUENCES[0x08] = '\\b'; +ESCAPE_SEQUENCES[0x09] = '\\t'; +ESCAPE_SEQUENCES[0x0A] = '\\n'; +ESCAPE_SEQUENCES[0x0B] = '\\v'; +ESCAPE_SEQUENCES[0x0C] = '\\f'; +ESCAPE_SEQUENCES[0x0D] = '\\r'; +ESCAPE_SEQUENCES[0x1B] = '\\e'; +ESCAPE_SEQUENCES[0x22] = '\\"'; +ESCAPE_SEQUENCES[0x5C] = '\\\\'; +ESCAPE_SEQUENCES[0x85] = '\\N'; +ESCAPE_SEQUENCES[0xA0] = '\\_'; +ESCAPE_SEQUENCES[0x2028] = '\\L'; +ESCAPE_SEQUENCES[0x2029] = '\\P'; + +var DEPRECATED_BOOLEANS_SYNTAX = [ + 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', + 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF' +]; + +var DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/; + +function compileStyleMap(schema, map) { + var result, keys, index, length, tag, style, type; + + if (map === null) return {}; + + result = {}; + keys = Object.keys(map); + + for (index = 0, length = keys.length; index < length; index += 1) { + tag = keys[index]; + style = String(map[tag]); + + if (tag.slice(0, 2) === '!!') { + tag = 'tag:yaml.org,2002:' + tag.slice(2); + } + type = schema.compiledTypeMap['fallback'][tag]; + + if (type && _hasOwnProperty.call(type.styleAliases, style)) { + style = type.styleAliases[style]; + } + + result[tag] = style; + } + + return result; +} + +function encodeHex(character) { + var string, handle, length; + + string = character.toString(16).toUpperCase(); + + if (character <= 0xFF) { + handle = 'x'; + length = 2; + } else if (character <= 0xFFFF) { + handle = 'u'; + length = 4; + } else if (character <= 0xFFFFFFFF) { + handle = 'U'; + length = 8; + } else { + throw new exception('code point within a string may not be greater than 0xFFFFFFFF'); + } + + return '\\' + handle + common.repeat('0', length - string.length) + string; +} + + +var QUOTING_TYPE_SINGLE = 1, + QUOTING_TYPE_DOUBLE = 2; + +function State(options) { + this.schema = options['schema'] || _default; + this.indent = Math.max(1, (options['indent'] || 2)); + this.noArrayIndent = options['noArrayIndent'] || false; + this.skipInvalid = options['skipInvalid'] || false; + this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']); + this.styleMap = compileStyleMap(this.schema, options['styles'] || null); + this.sortKeys = options['sortKeys'] || false; + this.lineWidth = options['lineWidth'] || 80; + this.noRefs = options['noRefs'] || false; + this.noCompatMode = options['noCompatMode'] || false; + this.condenseFlow = options['condenseFlow'] || false; + this.quotingType = options['quotingType'] === '"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE; + this.forceQuotes = options['forceQuotes'] || false; + this.replacer = typeof options['replacer'] === 'function' ? options['replacer'] : null; + + this.implicitTypes = this.schema.compiledImplicit; + this.explicitTypes = this.schema.compiledExplicit; + + this.tag = null; + this.result = ''; + + this.duplicates = []; + this.usedDuplicates = null; +} + +// Indents every line in a string. Empty lines (\n only) are not indented. +function indentString(string, spaces) { + var ind = common.repeat(' ', spaces), + position = 0, + next = -1, + result = '', + line, + length = string.length; + + while (position < length) { + next = string.indexOf('\n', position); + if (next === -1) { + line = string.slice(position); + position = length; + } else { + line = string.slice(position, next + 1); + position = next + 1; + } + + if (line.length && line !== '\n') result += ind; + + result += line; + } + + return result; +} + +function generateNextLine(state, level) { + return '\n' + common.repeat(' ', state.indent * level); +} + +function testImplicitResolving(state, str) { + var index, length, type; + + for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { + type = state.implicitTypes[index]; + + if (type.resolve(str)) { + return true; + } + } + + return false; +} + +// [33] s-white ::= s-space | s-tab +function isWhitespace(c) { + return c === CHAR_SPACE || c === CHAR_TAB; +} + +// Returns true if the character can be printed without escaping. +// From YAML 1.2: "any allowed characters known to be non-printable +// should also be escaped. [However,] This isn’t mandatory" +// Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029. +function isPrintable(c) { + return (0x00020 <= c && c <= 0x00007E) + || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029) + || ((0x0E000 <= c && c <= 0x00FFFD) && c !== CHAR_BOM) + || (0x10000 <= c && c <= 0x10FFFF); +} + +// [34] ns-char ::= nb-char - s-white +// [27] nb-char ::= c-printable - b-char - c-byte-order-mark +// [26] b-char ::= b-line-feed | b-carriage-return +// Including s-white (for some reason, examples doesn't match specs in this aspect) +// ns-char ::= c-printable - b-line-feed - b-carriage-return - c-byte-order-mark +function isNsCharOrWhitespace(c) { + return isPrintable(c) + && c !== CHAR_BOM + // - b-char + && c !== CHAR_CARRIAGE_RETURN + && c !== CHAR_LINE_FEED; +} + +// [127] ns-plain-safe(c) ::= c = flow-out ⇒ ns-plain-safe-out +// c = flow-in ⇒ ns-plain-safe-in +// c = block-key ⇒ ns-plain-safe-out +// c = flow-key ⇒ ns-plain-safe-in +// [128] ns-plain-safe-out ::= ns-char +// [129] ns-plain-safe-in ::= ns-char - c-flow-indicator +// [130] ns-plain-char(c) ::= ( ns-plain-safe(c) - “:” - “#” ) +// | ( /* An ns-char preceding */ “#” ) +// | ( “:” /* Followed by an ns-plain-safe(c) */ ) +function isPlainSafe(c, prev, inblock) { + var cIsNsCharOrWhitespace = isNsCharOrWhitespace(c); + var cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c); + return ( + // ns-plain-safe + inblock ? // c = flow-in + cIsNsCharOrWhitespace + : cIsNsCharOrWhitespace + // - c-flow-indicator + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + ) + // ns-plain-char + && c !== CHAR_SHARP // false on '#' + && !(prev === CHAR_COLON && !cIsNsChar) // false on ': ' + || (isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP) // change to true on '[^ ]#' + || (prev === CHAR_COLON && cIsNsChar); // change to true on ':[^ ]' +} + +// Simplified test for values allowed as the first character in plain style. +function isPlainSafeFirst(c) { + // Uses a subset of ns-char - c-indicator + // where ns-char = nb-char - s-white. + // No support of ( ( “?” | “:” | “-” ) /* Followed by an ns-plain-safe(c)) */ ) part + return isPrintable(c) && c !== CHAR_BOM + && !isWhitespace(c) // - s-white + // - (c-indicator ::= + // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}” + && c !== CHAR_MINUS + && c !== CHAR_QUESTION + && c !== CHAR_COLON + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “"” + && c !== CHAR_SHARP + && c !== CHAR_AMPERSAND + && c !== CHAR_ASTERISK + && c !== CHAR_EXCLAMATION + && c !== CHAR_VERTICAL_LINE + && c !== CHAR_EQUALS + && c !== CHAR_GREATER_THAN + && c !== CHAR_SINGLE_QUOTE + && c !== CHAR_DOUBLE_QUOTE + // | “%” | “@” | “`”) + && c !== CHAR_PERCENT + && c !== CHAR_COMMERCIAL_AT + && c !== CHAR_GRAVE_ACCENT; +} + +// Simplified test for values allowed as the last character in plain style. +function isPlainSafeLast(c) { + // just not whitespace or colon, it will be checked to be plain character later + return !isWhitespace(c) && c !== CHAR_COLON; +} + +// Same as 'string'.codePointAt(pos), but works in older browsers. +function codePointAt(string, pos) { + var first = string.charCodeAt(pos), second; + if (first >= 0xD800 && first <= 0xDBFF && pos + 1 < string.length) { + second = string.charCodeAt(pos + 1); + if (second >= 0xDC00 && second <= 0xDFFF) { + // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; + } + } + return first; +} + +// Determines whether block indentation indicator is required. +function needIndentIndicator(string) { + var leadingSpaceRe = /^\n* /; + return leadingSpaceRe.test(string); +} + +var STYLE_PLAIN = 1, + STYLE_SINGLE = 2, + STYLE_LITERAL = 3, + STYLE_FOLDED = 4, + STYLE_DOUBLE = 5; + +// Determines which scalar styles are possible and returns the preferred style. +// lineWidth = -1 => no limit. +// Pre-conditions: str.length > 0. +// Post-conditions: +// STYLE_PLAIN or STYLE_SINGLE => no \n are in the string. +// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1). +// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1). +function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, + testAmbiguousType, quotingType, forceQuotes, inblock) { + + var i; + var char = 0; + var prevChar = null; + var hasLineBreak = false; + var hasFoldableLine = false; // only checked if shouldTrackWidth + var shouldTrackWidth = lineWidth !== -1; + var previousLineBreak = -1; // count the first line correctly + var plain = isPlainSafeFirst(codePointAt(string, 0)) + && isPlainSafeLast(codePointAt(string, string.length - 1)); + + if (singleLineOnly || forceQuotes) { + // Case: no block styles. + // Check for disallowed characters to rule out plain and single. + for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + plain = plain && isPlainSafe(char, prevChar, inblock); + prevChar = char; + } + } else { + // Case: block styles permitted. + for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + if (char === CHAR_LINE_FEED) { + hasLineBreak = true; + // Check if any line can be folded. + if (shouldTrackWidth) { + hasFoldableLine = hasFoldableLine || + // Foldable line = too long, and not more-indented. + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' '); + previousLineBreak = i; + } + } else if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + plain = plain && isPlainSafe(char, prevChar, inblock); + prevChar = char; + } + // in case the end is missing a \n + hasFoldableLine = hasFoldableLine || (shouldTrackWidth && + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' ')); + } + // Although every style can represent \n without escaping, prefer block styles + // for multiline, since they're more readable and they don't add empty lines. + // Also prefer folding a super-long line. + if (!hasLineBreak && !hasFoldableLine) { + // Strings interpretable as another type have to be quoted; + // e.g. the string 'true' vs. the boolean true. + if (plain && !forceQuotes && !testAmbiguousType(string)) { + return STYLE_PLAIN; + } + return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE; + } + // Edge case: block indentation indicator can only have one digit. + if (indentPerLevel > 9 && needIndentIndicator(string)) { + return STYLE_DOUBLE; + } + // At this point we know block styles are valid. + // Prefer literal style unless we want to fold. + if (!forceQuotes) { + return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; + } + return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE; +} + +// Note: line breaking/folding is implemented for only the folded style. +// NB. We drop the last trailing newline (if any) of a returned block scalar +// since the dumper adds its own newline. This always works: +// • No ending newline => unaffected; already using strip "-" chomping. +// • Ending newline => removed then restored. +// Importantly, this keeps the "+" chomp indicator from gaining an extra line. +function writeScalar(state, string, level, iskey, inblock) { + state.dump = (function () { + if (string.length === 0) { + return state.quotingType === QUOTING_TYPE_DOUBLE ? '""' : "''"; + } + if (!state.noCompatMode) { + if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string)) { + return state.quotingType === QUOTING_TYPE_DOUBLE ? ('"' + string + '"') : ("'" + string + "'"); + } + } + + var indent = state.indent * Math.max(1, level); // no 0-indent scalars + // As indentation gets deeper, let the width decrease monotonically + // to the lower bound min(state.lineWidth, 40). + // Note that this implies + // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound. + // state.lineWidth > 40 + state.indent: width decreases until the lower bound. + // This behaves better than a constant minimum width which disallows narrower options, + // or an indent threshold which causes the width to suddenly increase. + var lineWidth = state.lineWidth === -1 + ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); + + // Without knowing if keys are implicit/explicit, assume implicit for safety. + var singleLineOnly = iskey + // No block styles in flow mode. + || (state.flowLevel > -1 && level >= state.flowLevel); + function testAmbiguity(string) { + return testImplicitResolving(state, string); + } + + switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, + testAmbiguity, state.quotingType, state.forceQuotes && !iskey, inblock)) { + + case STYLE_PLAIN: + return string; + case STYLE_SINGLE: + return "'" + string.replace(/'/g, "''") + "'"; + case STYLE_LITERAL: + return '|' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(string, indent)); + case STYLE_FOLDED: + return '>' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); + case STYLE_DOUBLE: + return '"' + escapeString(string) + '"'; + default: + throw new exception('impossible error: invalid scalar style'); + } + }()); +} + +// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9. +function blockHeader(string, indentPerLevel) { + var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ''; + + // note the special case: the string '\n' counts as a "trailing" empty line. + var clip = string[string.length - 1] === '\n'; + var keep = clip && (string[string.length - 2] === '\n' || string === '\n'); + var chomp = keep ? '+' : (clip ? '' : '-'); + + return indentIndicator + chomp + '\n'; +} + +// (See the note for writeScalar.) +function dropEndingNewline(string) { + return string[string.length - 1] === '\n' ? string.slice(0, -1) : string; +} + +// Note: a long line without a suitable break point will exceed the width limit. +// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0. +function foldString(string, width) { + // In folded style, $k$ consecutive newlines output as $k+1$ newlines— + // unless they're before or after a more-indented line, or at the very + // beginning or end, in which case $k$ maps to $k$. + // Therefore, parse each chunk as newline(s) followed by a content line. + var lineRe = /(\n+)([^\n]*)/g; + + // first line (possibly an empty line) + var result = (function () { + var nextLF = string.indexOf('\n'); + nextLF = nextLF !== -1 ? nextLF : string.length; + lineRe.lastIndex = nextLF; + return foldLine(string.slice(0, nextLF), width); + }()); + // If we haven't reached the first content line yet, don't add an extra \n. + var prevMoreIndented = string[0] === '\n' || string[0] === ' '; + var moreIndented; + + // rest of the lines + var match; + while ((match = lineRe.exec(string))) { + var prefix = match[1], line = match[2]; + moreIndented = (line[0] === ' '); + result += prefix + + (!prevMoreIndented && !moreIndented && line !== '' + ? '\n' : '') + + foldLine(line, width); + prevMoreIndented = moreIndented; + } + + return result; +} + +// Greedy line breaking. +// Picks the longest line under the limit each time, +// otherwise settles for the shortest line over the limit. +// NB. More-indented lines *cannot* be folded, as that would add an extra \n. +function foldLine(line, width) { + if (line === '' || line[0] === ' ') return line; + + // Since a more-indented line adds a \n, breaks can't be followed by a space. + var breakRe = / [^ ]/g; // note: the match index will always be <= length-2. + var match; + // start is an inclusive index. end, curr, and next are exclusive. + var start = 0, end, curr = 0, next = 0; + var result = ''; + + // Invariants: 0 <= start <= length-1. + // 0 <= curr <= next <= max(0, length-2). curr - start <= width. + // Inside the loop: + // A match implies length >= 2, so curr and next are <= length-2. + while ((match = breakRe.exec(line))) { + next = match.index; + // maintain invariant: curr - start <= width + if (next - start > width) { + end = (curr > start) ? curr : next; // derive end <= length-2 + result += '\n' + line.slice(start, end); + // skip the space that was output as \n + start = end + 1; // derive start <= length-1 + } + curr = next; + } + + // By the invariants, start <= length-1, so there is something left over. + // It is either the whole string or a part starting from non-whitespace. + result += '\n'; + // Insert a break if the remainder is too long and there is a break available. + if (line.length - start > width && curr > start) { + result += line.slice(start, curr) + '\n' + line.slice(curr + 1); + } else { + result += line.slice(start); + } + + return result.slice(1); // drop extra \n joiner +} + +// Escapes a double-quoted string. +function escapeString(string) { + var result = ''; + var char = 0; + var escapeSeq; + + for (var i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + escapeSeq = ESCAPE_SEQUENCES[char]; + + if (!escapeSeq && isPrintable(char)) { + result += string[i]; + if (char >= 0x10000) result += string[i + 1]; + } else { + result += escapeSeq || encodeHex(char); + } + } + + return result; +} + +function writeFlowSequence(state, level, object) { + var _result = '', + _tag = state.tag, + index, + length, + value; + + for (index = 0, length = object.length; index < length; index += 1) { + value = object[index]; + + if (state.replacer) { + value = state.replacer.call(object, String(index), value); + } + + // Write only valid elements, put null instead of invalid elements. + if (writeNode(state, level, value, false, false) || + (typeof value === 'undefined' && + writeNode(state, level, null, false, false))) { + + if (_result !== '') _result += ',' + (!state.condenseFlow ? ' ' : ''); + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = '[' + _result + ']'; +} + +function writeBlockSequence(state, level, object, compact) { + var _result = '', + _tag = state.tag, + index, + length, + value; + + for (index = 0, length = object.length; index < length; index += 1) { + value = object[index]; + + if (state.replacer) { + value = state.replacer.call(object, String(index), value); + } + + // Write only valid elements, put null instead of invalid elements. + if (writeNode(state, level + 1, value, true, true, false, true) || + (typeof value === 'undefined' && + writeNode(state, level + 1, null, true, true, false, true))) { + + if (!compact || _result !== '') { + _result += generateNextLine(state, level); + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + _result += '-'; + } else { + _result += '- '; + } + + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = _result || '[]'; // Empty sequence if no valid values. +} + +function writeFlowMapping(state, level, object) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + pairBuffer; + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + + pairBuffer = ''; + if (_result !== '') pairBuffer += ', '; + + if (state.condenseFlow) pairBuffer += '"'; + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (state.replacer) { + objectValue = state.replacer.call(object, objectKey, objectValue); + } + + if (!writeNode(state, level, objectKey, false, false)) { + continue; // Skip this pair because of invalid key; + } + + if (state.dump.length > 1024) pairBuffer += '? '; + + pairBuffer += state.dump + (state.condenseFlow ? '"' : '') + ':' + (state.condenseFlow ? '' : ' '); + + if (!writeNode(state, level, objectValue, false, false)) { + continue; // Skip this pair because of invalid value. + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = '{' + _result + '}'; +} + +function writeBlockMapping(state, level, object, compact) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + explicitPair, + pairBuffer; + + // Allow sorting keys so that the output file is deterministic + if (state.sortKeys === true) { + // Default sorting + objectKeyList.sort(); + } else if (typeof state.sortKeys === 'function') { + // Custom sort function + objectKeyList.sort(state.sortKeys); + } else if (state.sortKeys) { + // Something is wrong + throw new exception('sortKeys must be a boolean or a function'); + } + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ''; + + if (!compact || _result !== '') { + pairBuffer += generateNextLine(state, level); + } + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (state.replacer) { + objectValue = state.replacer.call(object, objectKey, objectValue); + } + + if (!writeNode(state, level + 1, objectKey, true, true, true)) { + continue; // Skip this pair because of invalid key. + } + + explicitPair = (state.tag !== null && state.tag !== '?') || + (state.dump && state.dump.length > 1024); + + if (explicitPair) { + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += '?'; + } else { + pairBuffer += '? '; + } + } + + pairBuffer += state.dump; + + if (explicitPair) { + pairBuffer += generateNextLine(state, level); + } + + if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { + continue; // Skip this pair because of invalid value. + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += ':'; + } else { + pairBuffer += ': '; + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = _result || '{}'; // Empty mapping if no valid pairs. +} + +function detectType(state, object, explicit) { + var _result, typeList, index, length, type, style; + + typeList = explicit ? state.explicitTypes : state.implicitTypes; + + for (index = 0, length = typeList.length; index < length; index += 1) { + type = typeList[index]; + + if ((type.instanceOf || type.predicate) && + (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) && + (!type.predicate || type.predicate(object))) { + + if (explicit) { + if (type.multi && type.representName) { + state.tag = type.representName(object); + } else { + state.tag = type.tag; + } + } else { + state.tag = '?'; + } + + if (type.represent) { + style = state.styleMap[type.tag] || type.defaultStyle; + + if (_toString.call(type.represent) === '[object Function]') { + _result = type.represent(object, style); + } else if (_hasOwnProperty.call(type.represent, style)) { + _result = type.represent[style](object, style); + } else { + throw new exception('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); + } + + state.dump = _result; + } + + return true; + } + } + + return false; +} + +// Serializes `object` and writes it to global `result`. +// Returns true on success, or false on invalid object. +// +function writeNode(state, level, object, block, compact, iskey, isblockseq) { + state.tag = null; + state.dump = object; + + if (!detectType(state, object, false)) { + detectType(state, object, true); + } + + var type = _toString.call(state.dump); + var inblock = block; + var tagStr; + + if (block) { + block = (state.flowLevel < 0 || state.flowLevel > level); + } + + var objectOrArray = type === '[object Object]' || type === '[object Array]', + duplicateIndex, + duplicate; + + if (objectOrArray) { + duplicateIndex = state.duplicates.indexOf(object); + duplicate = duplicateIndex !== -1; + } + + if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) { + compact = false; + } + + if (duplicate && state.usedDuplicates[duplicateIndex]) { + state.dump = '*ref_' + duplicateIndex; + } else { + if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { + state.usedDuplicates[duplicateIndex] = true; + } + if (type === '[object Object]') { + if (block && (Object.keys(state.dump).length !== 0)) { + writeBlockMapping(state, level, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowMapping(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object Array]') { + if (block && (state.dump.length !== 0)) { + if (state.noArrayIndent && !isblockseq && level > 0) { + writeBlockSequence(state, level - 1, state.dump, compact); + } else { + writeBlockSequence(state, level, state.dump, compact); + } + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowSequence(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object String]') { + if (state.tag !== '?') { + writeScalar(state, state.dump, level, iskey, inblock); + } + } else if (type === '[object Undefined]') { + return false; + } else { + if (state.skipInvalid) return false; + throw new exception('unacceptable kind of an object to dump ' + type); + } + + if (state.tag !== null && state.tag !== '?') { + // Need to encode all characters except those allowed by the spec: + // + // [35] ns-dec-digit ::= [#x30-#x39] /* 0-9 */ + // [36] ns-hex-digit ::= ns-dec-digit + // | [#x41-#x46] /* A-F */ | [#x61-#x66] /* a-f */ + // [37] ns-ascii-letter ::= [#x41-#x5A] /* A-Z */ | [#x61-#x7A] /* a-z */ + // [38] ns-word-char ::= ns-dec-digit | ns-ascii-letter | “-” + // [39] ns-uri-char ::= “%” ns-hex-digit ns-hex-digit | ns-word-char | “#” + // | “;” | “/” | “?” | “:” | “@” | “&” | “=” | “+” | “$” | “,” + // | “_” | “.” | “!” | “~” | “*” | “'” | “(” | “)” | “[” | “]” + // + // Also need to encode '!' because it has special meaning (end of tag prefix). + // + tagStr = encodeURI( + state.tag[0] === '!' ? state.tag.slice(1) : state.tag + ).replace(/!/g, '%21'); + + if (state.tag[0] === '!') { + tagStr = '!' + tagStr; + } else if (tagStr.slice(0, 18) === 'tag:yaml.org,2002:') { + tagStr = '!!' + tagStr.slice(18); + } else { + tagStr = '!<' + tagStr + '>'; + } + + state.dump = tagStr + ' ' + state.dump; + } + } + + return true; +} + +function getDuplicateReferences(object, state) { + var objects = [], + duplicatesIndexes = [], + index, + length; + + inspectNode(object, objects, duplicatesIndexes); + + for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { + state.duplicates.push(objects[duplicatesIndexes[index]]); + } + state.usedDuplicates = new Array(length); +} + +function inspectNode(object, objects, duplicatesIndexes) { + var objectKeyList, + index, + length; + + if (object !== null && typeof object === 'object') { + index = objects.indexOf(object); + if (index !== -1) { + if (duplicatesIndexes.indexOf(index) === -1) { + duplicatesIndexes.push(index); + } + } else { + objects.push(object); + + if (Array.isArray(object)) { + for (index = 0, length = object.length; index < length; index += 1) { + inspectNode(object[index], objects, duplicatesIndexes); + } + } else { + objectKeyList = Object.keys(object); + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); + } + } + } + } +} + +function dump$1(input, options) { + options = options || {}; + + var state = new State(options); + + if (!state.noRefs) getDuplicateReferences(input, state); + + var value = input; + + if (state.replacer) { + value = state.replacer.call({ '': value }, '', value); + } + + if (writeNode(state, 0, value, true, true)) return state.dump + '\n'; + + return ''; +} + +var dump_1 = dump$1; + +var dumper = { + dump: dump_1 +}; + +function renamed(from, to) { + return function () { + throw new Error('Function yaml.' + from + ' is removed in js-yaml 4. ' + + 'Use yaml.' + to + ' instead, which is now safe by default.'); + }; +} + + +var Type = type; +var Schema = schema; +var FAILSAFE_SCHEMA = failsafe; +var JSON_SCHEMA = json; +var CORE_SCHEMA = core; +var DEFAULT_SCHEMA = _default; +var load = loader.load; +var loadAll = loader.loadAll; +var dump = dumper.dump; +var YAMLException = exception; + +// Re-export all types in case user wants to create custom schema +var types = { + binary: binary, + float: float, + map: map, + null: _null, + pairs: pairs, + set: set, + timestamp: timestamp, + bool: bool, + int: int, + merge: merge, + omap: omap, + seq: seq, + str: str +}; + +// Removed functions from JS-YAML 3.0.x +var safeLoad = renamed('safeLoad', 'load'); +var safeLoadAll = renamed('safeLoadAll', 'loadAll'); +var safeDump = renamed('safeDump', 'dump'); + +var jsYaml = { + Type: Type, + Schema: Schema, + FAILSAFE_SCHEMA: FAILSAFE_SCHEMA, + JSON_SCHEMA: JSON_SCHEMA, + CORE_SCHEMA: CORE_SCHEMA, + DEFAULT_SCHEMA: DEFAULT_SCHEMA, + load: load, + loadAll: loadAll, + dump: dump, + YAMLException: YAMLException, + types: types, + safeLoad: safeLoad, + safeLoadAll: safeLoadAll, + safeDump: safeDump +}; + +export default jsYaml; +export { CORE_SCHEMA, DEFAULT_SCHEMA, FAILSAFE_SCHEMA, JSON_SCHEMA, Schema, Type, YAMLException, dump, load, loadAll, safeDump, safeLoad, safeLoadAll, types }; diff --git a/node_modules/i18next-fs-backend/lib/index.js b/node_modules/i18next-fs-backend/lib/index.js new file mode 100644 index 00000000..5476c9bb --- /dev/null +++ b/node_modules/i18next-fs-backend/lib/index.js @@ -0,0 +1,172 @@ +import { defaults, debounce, getPath, setPath, pushPath } from './utils.js' +import { readFile, readFileSync } from './readFile.js' +import { writeFile, removeFile } from './writeFile.js' + +const getDefaults = () => { + return { + loadPath: '/locales/{{lng}}/{{ns}}.json', + addPath: '/locales/{{lng}}/{{ns}}.missing.json', + ident: 2, + parse: JSON.parse, + stringify: JSON.stringify + // expirationTime: 60 * 60 * 1000 + } +} + +class Backend { + constructor (services, options = {}, allOptions = {}) { + this.services = services + this.options = options + this.allOptions = allOptions + this.type = 'backend' + this.init(services, options, allOptions) + } + + init (services, options = {}, allOptions = {}) { + this.services = services + this.options = defaults(options, this.options || {}, getDefaults()) + this.allOptions = allOptions + this.queuedWrites = {} + this.debouncedWrite = debounce(this.write, 250) + } + + read (language, namespace, callback) { + let loadPath = this.options.loadPath + if (typeof this.options.loadPath === 'function') { + loadPath = this.options.loadPath(language, namespace) + } + const filename = this.services.interpolator.interpolate(loadPath, { lng: language, ns: namespace }) + if (this.allOptions.initAsync === false || this.allOptions.initImmediate === false) { + try { + const { data, stat } = readFileSync(filename, this.options) + const timestamp = stat && stat.mtime && stat.mtime.getTime() + if (this.options.expirationTime && timestamp && timestamp + this.options.expirationTime < Date.now()) { + this.removeFile(language, namespace) + return callback(new Error('File expired!'), false) // no retry + } + callback(null, data, timestamp) + } catch (err) { + callback(err, false) // no retry + } + return + } + readFile(filename, this.options) + .then(({ data, stat }) => { + const timestamp = stat && stat.mtime && stat.mtime.getTime() + if (this.options.expirationTime && timestamp && timestamp + this.options.expirationTime < Date.now()) { + this.removeFile(language, namespace) + return callback(new Error('File expired!'), false) // no retry + } + callback(null, data, timestamp) + }) + .catch((err) => callback(err, false)) // no retry + } + + create (languages, namespace, key, fallbackValue, callback) { + if (typeof callback !== 'function') callback = () => {} + if (typeof languages === 'string') languages = [languages] + + let todo = languages.length + const done = () => { + if (!--todo) callback() + } + + languages.forEach((lng) => { + // eslint-disable-next-line no-useless-call + this.queue.call(this, lng, namespace, key, fallbackValue, done) + }) + } + + // this way i18next-fs-backend can be used as cache layer in combination with i18next-chained-backend + save (language, namespace, data, callback) { + if (!callback) callback = () => {} + + const keys = Object.keys(data) + let todo = keys.length + const done = () => { + if (!--todo) callback() + } + + keys.forEach((key) => { + // eslint-disable-next-line no-useless-call + this.queue.call(this, language, namespace, key, data[key], done) + }) + } + + removeFile (language, namespace) { + let addPath = this.options.addPath + if (typeof this.options.addPath === 'function') { + addPath = this.options.addPath(language, namespace) + } + const filename = this.services.interpolator.interpolate(addPath, { lng: language, ns: namespace }) + removeFile(filename, this.options) + .then(() => {}) + .catch(() => {}) + } + + write () { + for (const lng in this.queuedWrites) { + const namespaces = this.queuedWrites[lng] + if (lng !== 'locks') { + for (const ns in namespaces) { + this.writeFile(lng, ns) + } + } + } + } + + writeFile (lng, namespace) { + const lock = getPath(this.queuedWrites, ['locks', lng, namespace]) + if (lock) return + + let addPath = this.options.addPath + if (typeof this.options.addPath === 'function') { + addPath = this.options.addPath(lng, namespace) + } + + const filename = this.services.interpolator.interpolate(addPath, { lng, ns: namespace }) + + const missings = getPath(this.queuedWrites, [lng, namespace]) + setPath(this.queuedWrites, [lng, namespace], []) + + if (missings.length) { + // lock + setPath(this.queuedWrites, ['locks', lng, namespace], true) + + const proceed = ({ data }) => { + missings.forEach((missing) => { + const path = this.allOptions.keySeparator === false ? [missing.key] : (missing.key.split(this.allOptions.keySeparator || '.')) + try { + setPath(data, path, missing.fallbackValue) + } catch (e) { + if (path.length < 2 || !e.message || (e.message.indexOf('Cannot create property') < 0)) throw e + setPath(data, [missing.key], missing.fallbackValue) + } + }) + + const proceedWrite = () => { + // unlock + setPath(this.queuedWrites, ['locks', lng, namespace], false) + missings.forEach((missing) => { + if (missing.callback) missing.callback() + }) + // rerun + this.debouncedWrite() + } + writeFile(filename, data, this.options) + .then(proceedWrite) + .catch(proceedWrite) + } + readFile(filename, this.options).then(proceed).catch(() => proceed({ data: {} })) + } + } + + queue (lng, namespace, key, fallbackValue, callback) { + pushPath(this.queuedWrites, [lng, namespace], { key, fallbackValue: fallbackValue || '', callback }) + this.debouncedWrite() + } +} + +Backend.type = 'backend' + +export default Backend diff --git a/node_modules/i18next-fs-backend/lib/readFile.js b/node_modules/i18next-fs-backend/lib/readFile.js new file mode 100644 index 00000000..67b8857f --- /dev/null +++ b/node_modules/i18next-fs-backend/lib/readFile.js @@ -0,0 +1,146 @@ +import JSON5 from './formats/json5.js' +import { parse as parseJSONC } from './formats/jsonc.js' +import jsYaml from './formats/yaml.js' +import extname from './extname.js' +const isDeno = typeof Deno !== 'undefined' +const isBun = typeof Bun !== 'undefined' +const YAML = typeof jsYaml !== 'undefined' && jsYaml.load ? jsYaml : undefined +const fs = (!isDeno/* && !isBun */) ? (await import('node:fs')).default : undefined +// eslint-disable-next-line no-eval +const evalAlias = eval + +const readFileInNodeSync = (filename) => { + const data = fs.readFileSync(filename, 'utf8') + let stat + try { + stat = fs.statSync(filename) + } catch (e) {} + return { data, stat } +} + +const readFileInNode = (filename) => { + return new Promise((resolve, reject) => { + fs.readFile(filename, 'utf8', (err, data) => { + if (err) return reject(err) + fs.stat(filename, (err, stat) => { + if (err) return resolve({ data }) + return resolve({ data, stat }) + }) + }) + }) +} + +const readFileInDenoSync = (filename) => { + const decoder = new TextDecoder('utf-8') + // eslint-disable-next-line no-undef + const d = Deno.readFileSync(filename) + const data = decoder.decode(d) + let stat + try { + // eslint-disable-next-line no-undef + stat = Deno.statSync(filename) + } catch (e) {} + return { data, stat } +} +const readFileInDeno = (filename) => { + return new Promise((resolve, reject) => { + const decoder = new TextDecoder('utf-8') + // eslint-disable-next-line no-undef + Deno.readFile(filename).then((d) => { + const data = decoder.decode(d) + // eslint-disable-next-line no-undef + Deno.stat(filename).then((stat) => resolve({ data, stat })).catch(() => resolve({ data })) + }).catch(reject) + }) +} + +const readFileInBunSync = readFileInNodeSync +const readFileInBun = readFileInNode +// const readFileInBun = async (filename) => { +// const f = Bun.file(filename) +// const data = await f.text() +// return { data } // Bun has no stat interface yet +// } + +const replaceLast = (str, find, replace) => { + const index = str.lastIndexOf(find) + if (index > -1) { + return str.substring(0, index) + replace + str.substring(index + find.length) + } + return str.toString() +} + +const parseData = (extension, data, options) => { + data = data.replace(/^\uFEFF/, '') + let result = {} + switch (extension) { + case '.js': + case '.ts': + if (typeof module === 'undefined') { + if (data.indexOf('exports') > -1) { // just to try... + data = `(${replaceLast(data.substring(data.indexOf('=') + 1), '};', '')})` + } else if (data.indexOf('export default ') > -1) { // just to try... + data = `(${replaceLast(data.substring(data.indexOf('export default ') + 15), '};', '')})` + } + } + result = evalAlias(data) + break + case '.json5': + result = JSON5.parse(data) + break + case '.jsonc': + result = parseJSONC(data) + break + case '.yml': + case '.yaml': + result = YAML.load(data) + break + default: + result = options.parse(data) + } + return result +} + +// const resolvePath = (filename) => { +// return !path.isAbsolute(filename) && typeof process !== 'undefined' && process.cwd && !fs.existsSync(filename) ? path.join(process.cwd(), filename) : filename +// } + +export function readFileSync (filename, options) { + const ext = extname(filename) + let data, stat + if (isBun) { + const ret = readFileInBunSync(filename) + data = ret.data + stat = ret.stat + } else if (isDeno) { + const ret = readFileInDenoSync(filename) + data = ret.data + stat = ret.stat + } else { + const ret = readFileInNodeSync(filename) + data = ret.data + stat = ret.stat + } + return { data: parseData(ext, data, options), stat } +} + +export function readFile (filename, options = { parse: JSON.parse }) { + const ext = extname(filename) + // if (['.js', '.ts'].indexOf(ext) > -1) { + // return import(resolvePath(filename)).then((imp) => { + // return { data: (imp && imp.default) || imp } + // }) + // } + const fn = isBun ? readFileInBun : isDeno ? readFileInDeno : readFileInNode + return new Promise((resolve, reject) => { + fn(filename).then(({ data, stat }) => { + try { + const ret = parseData(ext, data, options) + resolve({ data: ret, stat }) + } catch (err) { + err.message = 'error parsing ' + filename + ': ' + err.message + reject(err) + } + }).catch(reject) + }) +} diff --git a/node_modules/i18next-fs-backend/lib/utils.js b/node_modules/i18next-fs-backend/lib/utils.js new file mode 100644 index 00000000..8988cd72 --- /dev/null +++ b/node_modules/i18next-fs-backend/lib/utils.js @@ -0,0 +1,70 @@ +const arr = [] +const each = arr.forEach +const slice = arr.slice + +export function defaults (obj) { + each.call(slice.call(arguments, 1), (source) => { + if (source) { + for (const prop in source) { + if (obj[prop] === undefined) obj[prop] = source[prop] + } + } + }) + return obj +} + +export function debounce (func, wait, immediate) { + let timeout + return function () { + const context = this + const args = arguments + const later = function () { + timeout = null + if (!immediate) func.apply(context, args) + } + const callNow = immediate && !timeout + clearTimeout(timeout) + timeout = setTimeout(later, wait) + if (callNow) func.apply(context, args) + } +} + +function getLastOfPath (object, path, Empty) { + function cleanKey (key) { + return (key && key.indexOf('###') > -1) ? key.replace(/###/g, '.') : key + } + + const stack = (typeof path !== 'string') ? [].concat(path) : path.split('.') + while (stack.length > 1) { + if (!object) return {} + + const key = cleanKey(stack.shift()) + if (!object[key] && Empty) object[key] = new Empty() + object = object[key] + } + + if (!object) return {} + return { + obj: object, + k: cleanKey(stack.shift()) + } +} + +export function setPath (object, path, newValue) { + const { obj, k } = getLastOfPath(object, path, Object) + if (Array.isArray(obj) && isNaN(k)) throw new Error(`Cannot create property "${k}" here since object is an array`) + obj[k] = newValue +} + +export function pushPath (object, path, newValue, concat) { + const { obj, k } = getLastOfPath(object, path, Object) + obj[k] = obj[k] || [] + if (concat) obj[k] = obj[k].concat(newValue) + if (!concat) obj[k].push(newValue) +} + +export function getPath (object, path) { + const { obj, k } = getLastOfPath(object, path) + if (!obj) return undefined + return obj[k] +} diff --git a/node_modules/i18next-fs-backend/lib/writeFile.js b/node_modules/i18next-fs-backend/lib/writeFile.js new file mode 100644 index 00000000..c0ee74dc --- /dev/null +++ b/node_modules/i18next-fs-backend/lib/writeFile.js @@ -0,0 +1,170 @@ +import JSON5 from './formats/json5.js' +import jsYaml from './formats/yaml.js' +import extname from './extname.js' +const isDeno = typeof Deno !== 'undefined' +const isBun = typeof Bun !== 'undefined' +const YAML = typeof jsYaml !== 'undefined' && jsYaml.load ? jsYaml : undefined +const fs = (!isDeno/* && !isBun */) ? (await import('node:fs')).default : undefined + +function dirname (path) { + if (path.length === 0) return '.' + let code = path.charCodeAt(0) + const hasRoot = code === 47 + let end = -1 + let matchedSlash = true + for (let i = path.length - 1; i >= 1; --i) { + code = path.charCodeAt(i) + if (code === 47) { + if (!matchedSlash) { + end = i + break + } + } else { + // We saw the first non-path separator + matchedSlash = false + } + } + + if (end === -1) return hasRoot ? '/' : '.' + if (hasRoot && end === 1) return '//' + return path.slice(0, end) +} + +const writeFileInNodeSync = (filename, payload) => { + try { + fs.mkdirSync(dirname(filename), { recursive: true }) + } catch (err) {} + return fs.writeFileSync(filename, payload, 'utf8') +} + +const writeFileInNode = (filename, payload) => { + return new Promise((resolve, reject) => { + fs.mkdir(dirname(filename), { recursive: true }, () => { + fs.writeFile(filename, payload, 'utf8', (err, data) => err ? reject(err) : resolve(data)) + }) + }) +} + +const removeFileInNodeSync = (filename) => { + return fs.unlinkSync(filename) +} + +const removeFileInNode = (filename) => { + return new Promise((resolve, reject) => fs.unlink(filename, (err) => err ? reject(err) : resolve())) +} + +const writeFileInDenoSync = (filename, payload) => { + const encoder = new TextEncoder() + const data = encoder.encode(payload) + try { + // eslint-disable-next-line no-undef + Deno.mkdirSync(dirname(filename), { recursive: true }) + } catch (err) {} + // eslint-disable-next-line no-undef + Deno.writeFileSync(filename, data) +} + +const writeFileInDeno = (filename, payload) => { + const encoder = new TextEncoder() + const data = encoder.encode(payload) + return new Promise((resolve, reject) => { + // eslint-disable-next-line no-undef + Deno.mkdir(dirname(filename), { recursive: true }).then(() => { + // eslint-disable-next-line no-undef + Deno.writeFile(filename, data).then(resolve, reject) + }).catch(() => { + // eslint-disable-next-line no-undef + Deno.writeFile(filename, data).then(resolve, reject) + }) + }) +} + +const removeFileInDenoSync = (filename) => { + // eslint-disable-next-line no-undef + Deno.removeSync(filename) +} + +const removeFileInDeno = (filename) => { + // eslint-disable-next-line no-undef + return Deno.remove(filename) +} + +const writeFileInBunSync = writeFileInNodeSync // not yet a specific Bun interface + +const writeFileInBun = writeFileInNode +// Bun.write generates some error warnings yet... +// const writeFileInBun = (filename, payload) => Bun.write(filename, payload) + +const removeFileInBunSync = removeFileInNodeSync // not yet a specific Bun interface + +const removeFileInBun = removeFileInNode // not yet a specific Bun interface + +const stringifyData = (extension, data, options) => { + let result = '' + switch (extension) { + case '.js': + case '.ts': + if (typeof module === 'undefined') { + result = `export default ${options.stringify(data, null, options.ident)}` + } else { + result = `module.exports = ${options.stringify(data, null, options.ident)}` + } + break + case '.json5': + result = JSON5.stringify(data, null, options.ident) + break + case '.yml': + case '.yaml': + result = YAML.dump(data, { ident: options.indent }) + break + default: + result = options.stringify(data, null, options.ident) + } + return result +} + +export function writeFileSync (filename, payload, options) { + const ext = extname(filename) + let data + try { + data = stringifyData(ext, payload, options) + } catch (err) { + err.message = 'error stringifying ' + filename + ': ' + err.message + throw err + } + if (isBun) { + return writeFileInBunSync(filename, data) + } else if (isDeno) { + return writeFileInDenoSync(filename, data) + } else { + return writeFileInNodeSync(filename, data) + } +} + +export function writeFile (filename, payload, options = { stringify: JSON.stringify, ident: 2 }) { + const ext = extname(filename) + let data + try { + data = stringifyData(ext, payload, options) + } catch (err) { + err.message = 'error stringifying ' + filename + ': ' + err.message + throw err + } + const fn = isBun ? writeFileInBun : isDeno ? writeFileInDeno : writeFileInNode + return fn(filename, data) +} + +export function removeFileSync (filename) { + if (isBun) { + return removeFileInBunSync(filename) + } else if (isDeno) { + return removeFileInDenoSync(filename) + } else { + return removeFileInNodeSync(filename) + } +} + +export function removeFile (filename) { + const fn = isBun ? removeFileInBun : isDeno ? removeFileInDeno : removeFileInNode + return fn(filename) +} diff --git a/node_modules/i18next-fs-backend/licence b/node_modules/i18next-fs-backend/licence new file mode 100644 index 00000000..6b08763c --- /dev/null +++ b/node_modules/i18next-fs-backend/licence @@ -0,0 +1,19 @@ +Copyright (c) 2024 i18next + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. diff --git a/node_modules/i18next-fs-backend/package.json b/node_modules/i18next-fs-backend/package.json new file mode 100644 index 00000000..a4cf01a2 --- /dev/null +++ b/node_modules/i18next-fs-backend/package.json @@ -0,0 +1,94 @@ +{ + "name": "i18next-fs-backend", + "version": "2.6.0", + "private": false, + "type": "module", + "main": "./cjs/index.js", + "exports": { + "./package.json": "./package.json", + ".": { + "types": { + "require": "./cjs/index.d.ts", + "import": "./esm/index.d.mts" + }, + "module": "./esm/index.js", + "import": "./esm/index.js", + "require": "./cjs/index.js", + "default": "./esm/index.js" + }, + "./cjs": { + "types": "./cjs/index.d.ts", + "default": "./cjs/index.js" + }, + "./esm": { + "types": "./esm/index.d.mts", + "default": "./esm/index.js" + } + }, + "module": "./esm/index.js", + "types": "./index.d.mts", + "devDependencies": { + "@babel/cli": "7.25.9", + "@babel/core": "7.26.0", + "@babel/preset-env": "7.26.0", + "babel-plugin-add-module-exports": "1.0.4", + "dtslint": "4.2.1", + "esbuild": "0.24.0", + "eslint": "8.55.0", + "eslint-config-standard": "17.1.0", + "eslint-plugin-import": "2.31.0", + "eslint-plugin-n": "16.3.1", + "eslint-plugin-promise": "6.1.1", + "eslint-plugin-require-path-exists": "1.1.9", + "eslint-plugin-standard": "5.0.0", + "expect.js": "0.3.1", + "i18next": "24.0.0", + "js-yaml": "4.1.0", + "jsonc-parser": "3.3.1", + "json5": "2.2.3", + "mocha": "10.8.2", + "tslint": "5.20.1", + "tsd": "0.31.2", + "typescript": "5.6.3", + "uglify-js": "3.19.3" + }, + "description": "i18next-fs-backend is a backend layer for i18next using in Node.js and for Deno to load translations from the filesystem.", + "keywords": [ + "i18next", + "i18next-backend", + "i18next-fs-backend" + ], + "homepage": "https://github.com/i18next/i18next-fs-backend", + "repository": { + "type": "git", + "url": "git@github.com:i18next/i18next-fs-backend.git" + }, + "bugs": { + "url": "https://github.com/i18next/i18next-fs-backend/issues" + }, + "license": "MIT", + "config": { + "fixcjs": "fs.writeFileSync('cjs/writeFile.js', fs.readFileSync('cjs/writeFile.js').toString().replace(`(await Promise.resolve().then(function () {\n return _interopRequireWildcard(require('node:fs'));\n})).default`, `require('node:fs')`));fs.writeFileSync('cjs/readFile.js', fs.readFileSync('cjs/readFile.js').toString().replace(`(await Promise.resolve().then(function () {\n return _interopRequireWildcard(require('node:fs'));\n})).default`, `require('node:fs')`))" + }, + "scripts": { + "copy:jsonc": "esbuild node_modules/jsonc-parser/lib/esm/main.js --bundle --format=esm --platform=neutral --banner:js=\"/*\n$(sed 's/\\r$//' node_modules/jsonc-parser/LICENSE.md)\n*/\" --outfile=lib/formats/jsonc.js", + "copy:json5": "cp node_modules/json5/dist/index.mjs lib/formats/json5.js", + "copy:yaml": "cp node_modules/js-yaml/dist/js-yaml.mjs lib/formats/yaml.js", + "copy": "rm -rf lib/formats && mkdir lib/formats && npm run copy:jsonc && npm run copy:json5 && npm run copy:yaml", + "lint": "eslint .", + "fixcjs": "node -e \"$npm_package_config_fixcjs\"", + "compile:esm": "rm -rf esm && mkdir esm && BABEL_ENV=esm babel lib -d esm && cp index.d.ts esm/index.d.ts && cp index.d.mts esm/index.d.mts", + "compile:cjs": "rm -rf cjs && mkdir cjs && BABEL_ENV=cjs babel lib -d cjs && cp index.d.ts cjs/index.d.ts && echo '{\"type\":\"commonjs\"}' > cjs/package.json && npm run fixcjs", + "compile": "npm run copy && npm run compile:esm && npm run compile:cjs", + "build": "npm run compile", + "test": "npm run lint && npm run build && mocha test -R spec --exit --experimental-modules && npm run test:typescript", + "test:typescript": "tslint --project tsconfig.json && tsd", + "test:deno": "deno test test/deno/*.js --allow-read --allow-write --no-check", + "test:bun": "bun test test/bun/*.js", + "preversion": "npm run test && npm run build && git push", + "postversion": "git push && git push --tags" + }, + "tsd": { + "directory": "test/typescript" + } +} diff --git a/node_modules/i18next-fs-backend/tslint.json b/node_modules/i18next-fs-backend/tslint.json new file mode 100644 index 00000000..64cbccbc --- /dev/null +++ b/node_modules/i18next-fs-backend/tslint.json @@ -0,0 +1,7 @@ +{ + "defaultSeverity": "error", + "extends": "dtslint/dtslint.json", + "rules": { + "semicolon": false + } +} diff --git a/node_modules/i18next-http-backend/CHANGELOG.md b/node_modules/i18next-http-backend/CHANGELOG.md new file mode 100644 index 00000000..22bc240a --- /dev/null +++ b/node_modules/i18next-http-backend/CHANGELOG.md @@ -0,0 +1,88 @@ +### 2.7.3 + +- optimize fetchApi selector [backported] + +### 2.7.1 + +- same as 2.6.2 + +### 2.7.0 + +- deprecated, same as v3.0.0 + +### 2.6.2 + +- improve network error detection across browsers [152](https://github.com/i18next/i18next-http-backend/pull/152) + +### 2.6.1 + +- optimize "Failed to fetch" retry case [147](https://github.com/i18next/i18next-http-backend/issues/147) + +### 2.6.0 + +- fix "Failed to fetch" retry case [147](https://github.com/i18next/i18next-http-backend/issues/147) + +### 2.5.2 + +- dereference timers in node.js so that the process may exit when finished [139](https://github.com/i18next/i18next-http-backend/pull/139) + +### 2.5.1 + +- fix: remove typeof window.document === 'undefined' check which deopt bundle optimization [137](https://github.com/i18next/i18next-http-backend/pull/137) + +### 2.5.0 + +- added fetch interceptor to the Backend Options [133](https://github.com/i18next/i18next-http-backend/pull/133) + +### 2.4.3 + +- fix: overriding options + +### 2.4.2 + +- fix: mjs typings export + +### 2.4.1 + +- fix: separate cjs and mjs typings + +### 2.3.1 + +- fix for browser usage + +### 2.3.0 + +- update deps + +### 2.2.2 + +- hack for debug mode in react-native + +### 2.2.1 + +- fix for types moduleResolution "node16" + +### 2.2.0 + +- parseLoadPayload for POST request [110](https://github.com/i18next/i18next-http-backend/pull/110) + +### 2.1.1 + +- regression fix for saveMissing signature [1890](https://github.com/i18next/i18next/issues/1890) + +### 2.1.0 + +- typescript: export the backend options type [105](https://github.com/i18next/i18next-http-backend/pull/105) + +### 2.0.2 + +- typescript: static type prop + +### 2.0.1 + +- fix if url starts with file:// [100](https://github.com/i18next/i18next-http-backend/issues/100) + +### 2.0.0 + +- typescript: update for major i18next version + diff --git a/node_modules/i18next-http-backend/README.md b/node_modules/i18next-http-backend/README.md new file mode 100644 index 00000000..6fca320c --- /dev/null +++ b/node_modules/i18next-http-backend/README.md @@ -0,0 +1,246 @@ +# Introduction + +[![Actions](https://github.com/i18next/i18next-http-backend/workflows/node/badge.svg)](https://github.com/i18next/i18next-http-backend/actions?query=workflow%3Anode) +[![Actions deno](https://github.com/i18next/i18next-http-backend/workflows/deno/badge.svg)](https://github.com/i18next/i18next-http-backend/actions?query=workflow%3Adeno) +[![npm version](https://img.shields.io/npm/v/i18next-http-backend.svg?style=flat-square)](https://www.npmjs.com/package/i18next-http-backend) + +This is a simple i18next backend to be used in Node.js, in the browser and for Deno. It will load resources from a backend server using the XMLHttpRequest or the fetch API. + +Get a first idea on how it is used in [this i18next crash course video](https://youtu.be/SA_9i4TtxLQ?t=953). + +It's based on the deprecated [i18next-xhr-backend](https://github.com/i18next/i18next-xhr-backend) and can mostly be used as a drop-in replacement. + +*[Why i18next-xhr-backend was deprecated?](https://github.com/i18next/i18next-xhr-backend/issues/348#issuecomment-663060275)* + +## Advice: + +If you don't like to manage your translation files manually or are simply looking for a [better management solution](https://locize.com), take a look at [i18next-locize-backend](https://github.com/locize/i18next-locize-backend). The i18next [backed plugin](https://www.i18next.com/overview/plugins-and-utils#backends) for 🌐 [locize](https://locize.com) ☁️. + +*To see [i18next-locize-backend](https://github.com/locize/i18next-locize-backend) in a working app example, check out:* + +- *[this react-tutorial](https://github.com/locize/react-tutorial) starting from [Step 2](https://github.com/locize/react-tutorial#step-2---use-the-locize-cdn)* +- *[this guide](https://locize.com/blog/react-i18next/) starting from the step of [replacing i18next-http-backend with i18next-locize-backend](https://locize.com/blog/react-i18next/#how-look)* +- *[this Angular blog post](https://locize.com/blog/angular-i18next/) [introducing i18next-locize-backend](https://locize.com/blog/angular-i18next/#how-look)* +- *[the code integration part](https://www.youtube.com/watch?v=TFV_vhJs5DY&t=294s) in this [YouTube video](https://www.youtube.com/watch?v=TFV_vhJs5DY)* + +## Troubleshooting + +Make sure you set the `debug` option of i18next to `true`. This will maybe log more information in the developer console. + +**Seeing failed http requests, like 404?** + +Are you using a [language detector](https://github.com/i18next/i18next-browser-languageDetector) plugin that detects region specific languages you are not providing? i.e. you provide `'en'` translations but you see a `'en-US'` request first? + +This is because of the default `load` [option](https://www.i18next.com/overview/configuration-options) set to `'all'`. + +Try to set the `load` [option](https://www.i18next.com/overview/configuration-options) to `'languageOnly'` + +```javascript +i18next.init({ + load: 'languageOnly', + // other options +}) +``` + +# Getting started + +Source can be loaded via [npm](https://www.npmjs.com/package/i18next-http-backend) or [downloaded](https://github.com/i18next/i18next-http-backend/blob/master/i18nextHttpBackend.min.js) from this repo. + +There's also the possibility to directly import it via a CDN like [jsdelivr](https://cdn.jsdelivr.net/npm/i18next-http-backend@1.3.1/i18nextHttpBackend.min.js) or [unpkg](https://unpkg.com/i18next-http-backend@1.3.1/i18nextHttpBackend.min.js) or similar. + +```bash +# npm package +$ npm install i18next-http-backend +``` + +Wiring up: + +```js +import i18next from 'i18next'; +import HttpApi from 'i18next-http-backend'; + +i18next.use(HttpApi).init(i18nextOptions); +``` + +for Deno: + +```js +import i18next from 'https://deno.land/x/i18next/index.js' +import Backend from 'https://deno.land/x/i18next_http_backend/index.js' + +i18next.use(Backend).init(i18nextOptions); +``` + +for plain browser: + +```html + + +``` + +```js +i18next.use(i18nextHttpBackend).init(i18nextOptions); +``` + +- As with all modules you can either pass the constructor function (class) to the i18next.use or a concrete instance. +- If you don't use a module loader it will be added to `window.i18nextHttpBackend` + +## Backend Options + +```js +{ + // path where resources get loaded from, or a function + // returning a path: + // function(lngs, namespaces) { return customPath; } + // the returned path will interpolate lng, ns if provided like giving a static path + // the function might return a promise + // returning falsy will abort the download + // + // If not used with i18next-multiload-backend-adapter, lngs and namespaces will have only one element each, + // If used with i18next-multiload-backend-adapter, lngs and namespaces can have multiple elements + // and also your server needs to support multiloading + // /locales/resources.json?lng=de+en&ns=ns1+ns2 + // Adapter is needed to enable MultiLoading https://github.com/i18next/i18next-multiload-backend-adapter + // Returned JSON structure in this case is + // { + // lang : { + // namespaceA: {}, + // namespaceB: {}, + // ...etc + // } + // } + loadPath: '/locales/{{lng}}/{{ns}}.json', + + // path to post missing resources, or a function + // function(lng, namespace) { return customPath; } + // the returned path will interpolate lng, ns if provided like giving a static path + // + // note that this only works when initialized with { saveMissing: true } + // (see https://www.i18next.com/overview/configuration-options) + addPath: '/locales/add/{{lng}}/{{ns}}', + + // parse data after it has been fetched + // in example use https://www.npmjs.com/package/json5 + // here it removes the letter a from the json (bad idea) + parse: function(data) { return data.replace(/a/g, ''); }, + + // parse data before it has been sent by addPath + parsePayload: function(namespace, key, fallbackValue) { return { key: fallbackValue || "" } }, + + // parse data before it has been sent by loadPath + // if value returned it will send a POST request + parseLoadPayload: function(languages, namespaces) { return undefined }, + + // allow cross domain requests + crossDomain: false, + + // allow credentials on cross domain requests + withCredentials: false, + + // overrideMimeType sets request.overrideMimeType("application/json") + overrideMimeType: false, + + // custom request headers sets request.setRequestHeader(key, value) + customHeaders: { + authorization: 'foo', + // ... + }, + // can also be a function, that returns the headers + customHeaders: () => ({ + authorization: 'foo', + // ... + }), + + requestOptions: { // used for fetch, can also be a function (payload) => ({ method: 'GET' }) + mode: 'cors', + credentials: 'same-origin', + cache: 'default' + }, + + // define a custom request function + // can be used to support XDomainRequest in IE 8 and 9 + // + // 'options' will be this entire options object + // 'url' will be passed the value of 'loadPath' + // 'payload' will be a key:value object used when saving missing translations + // 'callback' is a function that takes two parameters, 'err' and 'res'. + // 'err' should be an error + // 'res' should be an object with a 'status' property and a 'data' property containing a stringified object instance beeing the key:value translation pairs for the + // requested language and namespace, or null in case of an error. + request: function (options, url, payload, callback) {}, + + // adds parameters to resource URL. 'example.com' -> 'example.com?v=1.3.5' + queryStringParams: { v: '1.3.5' }, + + reloadInterval: false // can be used to reload resources in a specific interval (milliseconds) (useful in server environments) +} +``` + +Options can be passed in: + +**preferred** - by setting options.backend in i18next.init: + +```js +import i18next from 'i18next'; +import HttpApi from 'i18next-http-backend'; + +i18next.use(HttpApi).init({ + backend: options, +}); +``` + +on construction: + +```js +import HttpApi from 'i18next-http-backend'; +const HttpApi = new HttpApi(null, options); +``` + +via calling init: + +```js +import HttpApi from 'i18next-http-backend'; +const HttpApi = new HttpApi(); +HttpApi.init(null, options); +``` + +## TypeScript + +To properly type the backend options, you can import the `HttpBackendOptions` interface and use it as a generic type parameter to the i18next's `init` method, e.g.: + +```ts +import i18n from 'i18next' +import HttpBackend, { HttpBackendOptions } from 'i18next-http-backend' + +i18n + .use(HttpBackend) + .init({ + backend: { + // http backend options + }, + + // other i18next options + }) +``` + +--- + +

Gold Sponsors

+ +

+ + + +

+ +--- + +**From the creators of i18next: localization as a service - locize.com** + +A translation management system built around the i18next ecosystem - [locize.com](https://locize.com). + +![locize](https://locize.com/img/ads/github_locize.png) + +With using [locize](http://locize.com/?utm_source=react_i18next_readme&utm_medium=github) you directly support the future of i18next. + +--- diff --git a/node_modules/i18next-http-backend/cjs/getFetch.js b/node_modules/i18next-http-backend/cjs/getFetch.js new file mode 100644 index 00000000..4f87baeb --- /dev/null +++ b/node_modules/i18next-http-backend/cjs/getFetch.js @@ -0,0 +1,13 @@ +var fetchApi = typeof fetch === 'function' ? fetch : undefined +if (typeof global !== 'undefined' && global.fetch) { + fetchApi = global.fetch +} else if (typeof window !== 'undefined' && window.fetch) { + fetchApi = window.fetch +} + +if (typeof require !== 'undefined' && typeof window === 'undefined') { + var f = fetchApi || require('cross-fetch') + if (f.default) f = f.default + exports.default = f + module.exports = exports.default +} diff --git a/node_modules/i18next-http-backend/cjs/index.d.ts b/node_modules/i18next-http-backend/cjs/index.d.ts new file mode 100644 index 00000000..ac5620c8 --- /dev/null +++ b/node_modules/i18next-http-backend/cjs/index.d.ts @@ -0,0 +1,140 @@ +import { BackendModule, MultiReadCallback, ReadCallback, ResourceKey } from "i18next"; + +type LoadPathOption = + | string + | ((lngs: string[], namespaces: string[]) => string) + | ((lngs: string[], namespaces: string[]) => Promise); + +type AddPathOption = + | string + | ((lng: string, namespace: string) => string); + +type FetchFunction = (input: string, init: RequestInit) => Promise | void + +export interface HttpBackendOptions { + /** + * Use an alternative fetch function that acts like an interecept, (usefull for low level mocks/simulations) + * + * This option is not called if: + * + * 1. There is an custom value set for the "request" property in this options object. + * 2. The backend selected xmlHttpRequest over fetch + * + * If the function is called and it returns anything BUT a promise the fetch or xmlHttpRequest will be subsequentially called + * + */ + alternateFetch?: FetchFunction; + /** + * path where resources get loaded from, or a function + * returning a path: + * function(lngs, namespaces) { return customPath; } + * the returned path will interpolate lng, ns if provided like giving a static path + */ + loadPath?: LoadPathOption; + /** + * path to post missing resources, must be `string` or a `function` returning a path: + * function(lng, namespace) { return customPath; } + */ + addPath?: AddPathOption; + /** + * parse data after it has been fetched + * in example use https://www.npmjs.com/package/json5 + * here it removes the letter a from the json (bad idea) + */ + parse?( + data: string, + languages?: string | string[], + namespaces?: string | string[] + ): { [key: string]: any }; + /** + * parse data before it has been sent by addPath + */ + parsePayload?( + namespace: string, + key: string, + fallbackValue?: string + ): { [key: string]: any }; + /** + * parse data before it has been sent by loadPath + * if value returned it will send a POST request + */ + parseLoadPayload?( + languages: string[], + namespaces: string[] + ): { [key: string]: any } | undefined; + /** + * allow cross domain requests + */ + crossDomain?: boolean; + /** + * allow credentials on cross domain requests + */ + withCredentials?: boolean; + /** + * define a custom xhr function + * can be used to support XDomainRequest in IE 8 and 9 + */ + request?( + options: HttpBackendOptions, + url: string, + payload: {} | string, + callback: RequestCallback + ): void; + /** + * adds parameters to resource URL. 'example.com' -> 'example.com?v=1.3.5' + */ + queryStringParams?: { [key: string]: string }; + + /** + * allows an object containing custom headers or a function that when called returns + * an object of custom headers + */ + customHeaders?: { [key: string]: string } | (() => { [key: string]: string }); + + /** + * can be used to reload resources in a specific + * interval (useful in server environments) + */ + reloadInterval?: false | number; + + /** + * fetch api request options, can be a function + */ + requestOptions?: RequestInit | ((payload: {} | string) => RequestInit); +} + +type RequestCallback = (error: any | undefined | null, response: RequestResponse | undefined | null) => void; + +interface RequestResponse { + status: number; + data: ResourceKey; +} + +export default class I18NextHttpBackend + implements BackendModule +{ + static type: "backend"; + constructor(services?: any, options?: HttpBackendOptions); + init(services?: any, options?: HttpBackendOptions): void; + readMulti?( + languages: string[], + namespaces: string[], + callback: MultiReadCallback + ): void; + read(language: string, namespace: string, callback: ReadCallback): void; + loadUrl( + url: string, + callback: ReadCallback, + languages?: string | string[], + namespaces?: string | string[] + ): void; + create?( + languages: string[], + namespace: string, + key: string, + fallbackValue: string + ): void; + type: "backend"; + services: any; + options: HttpBackendOptions; +} diff --git a/node_modules/i18next-http-backend/cjs/index.js b/node_modules/i18next-http-backend/cjs/index.js new file mode 100644 index 00000000..72d95df2 --- /dev/null +++ b/node_modules/i18next-http-backend/cjs/index.js @@ -0,0 +1,200 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _utils = require("./utils.js"); +var _request = _interopRequireDefault(require("./request.js")); +function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var getDefaults = function getDefaults() { + return { + loadPath: '/locales/{{lng}}/{{ns}}.json', + addPath: '/locales/add/{{lng}}/{{ns}}', + parse: function parse(data) { + return JSON.parse(data); + }, + stringify: JSON.stringify, + parsePayload: function parsePayload(namespace, key, fallbackValue) { + return _defineProperty({}, key, fallbackValue || ''); + }, + parseLoadPayload: function parseLoadPayload(languages, namespaces) { + return undefined; + }, + request: _request.default, + reloadInterval: typeof window !== 'undefined' ? false : 60 * 60 * 1000, + customHeaders: {}, + queryStringParams: {}, + crossDomain: false, + withCredentials: false, + overrideMimeType: false, + requestOptions: { + mode: 'cors', + credentials: 'same-origin', + cache: 'default' + } + }; +}; +var Backend = function () { + function Backend(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + _classCallCheck(this, Backend); + this.services = services; + this.options = options; + this.allOptions = allOptions; + this.type = 'backend'; + this.init(services, options, allOptions); + } + return _createClass(Backend, [{ + key: "init", + value: function init(services) { + var _this = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + this.services = services; + this.options = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), this.options || {}), options); + this.allOptions = allOptions; + if (this.services && this.options.reloadInterval) { + var timer = setInterval(function () { + return _this.reload(); + }, this.options.reloadInterval); + if (_typeof(timer) === 'object' && typeof timer.unref === 'function') timer.unref(); + } + } + }, { + key: "readMulti", + value: function readMulti(languages, namespaces, callback) { + this._readAny(languages, languages, namespaces, namespaces, callback); + } + }, { + key: "read", + value: function read(language, namespace, callback) { + this._readAny([language], language, [namespace], namespace, callback); + } + }, { + key: "_readAny", + value: function _readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) { + var _this2 = this; + var loadPath = this.options.loadPath; + if (typeof this.options.loadPath === 'function') { + loadPath = this.options.loadPath(languages, namespaces); + } + loadPath = (0, _utils.makePromise)(loadPath); + loadPath.then(function (resolvedLoadPath) { + if (!resolvedLoadPath) return callback(null, {}); + var url = _this2.services.interpolator.interpolate(resolvedLoadPath, { + lng: languages.join('+'), + ns: namespaces.join('+') + }); + _this2.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces); + }); + } + }, { + key: "loadUrl", + value: function loadUrl(url, callback, languages, namespaces) { + var _this3 = this; + var lng = typeof languages === 'string' ? [languages] : languages; + var ns = typeof namespaces === 'string' ? [namespaces] : namespaces; + var payload = this.options.parseLoadPayload(lng, ns); + this.options.request(this.options, url, payload, function (err, res) { + if (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback('failed loading ' + url + '; status code: ' + res.status, true); + if (res && res.status >= 400 && res.status < 500) return callback('failed loading ' + url + '; status code: ' + res.status, false); + if (!res && err && err.message) { + var errorMessage = err.message.toLowerCase(); + var isNetworkError = ['failed', 'fetch', 'network', 'load'].find(function (term) { + return errorMessage.indexOf(term) > -1; + }); + if (isNetworkError) { + return callback('failed loading ' + url + ': ' + err.message, true); + } + } + if (err) return callback(err, false); + var ret, parseErr; + try { + if (typeof res.data === 'string') { + ret = _this3.options.parse(res.data, languages, namespaces); + } else { + ret = res.data; + } + } catch (e) { + parseErr = 'failed parsing ' + url + ' to json'; + } + if (parseErr) return callback(parseErr, false); + callback(null, ret); + }); + } + }, { + key: "create", + value: function create(languages, namespace, key, fallbackValue, callback) { + var _this4 = this; + if (!this.options.addPath) return; + if (typeof languages === 'string') languages = [languages]; + var payload = this.options.parsePayload(namespace, key, fallbackValue); + var finished = 0; + var dataArray = []; + var resArray = []; + languages.forEach(function (lng) { + var addPath = _this4.options.addPath; + if (typeof _this4.options.addPath === 'function') { + addPath = _this4.options.addPath(lng, namespace); + } + var url = _this4.services.interpolator.interpolate(addPath, { + lng: lng, + ns: namespace + }); + _this4.options.request(_this4.options, url, payload, function (data, res) { + finished += 1; + dataArray.push(data); + resArray.push(res); + if (finished === languages.length) { + if (typeof callback === 'function') callback(dataArray, resArray); + } + }); + }); + } + }, { + key: "reload", + value: function reload() { + var _this5 = this; + var _this$services = this.services, + backendConnector = _this$services.backendConnector, + languageUtils = _this$services.languageUtils, + logger = _this$services.logger; + var currentLanguage = backendConnector.language; + if (currentLanguage && currentLanguage.toLowerCase() === 'cimode') return; + var toLoad = []; + var append = function append(lng) { + var lngs = languageUtils.toResolveHierarchy(lng); + lngs.forEach(function (l) { + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + append(currentLanguage); + if (this.allOptions.preload) this.allOptions.preload.forEach(function (l) { + return append(l); + }); + toLoad.forEach(function (lng) { + _this5.allOptions.ns.forEach(function (ns) { + backendConnector.read(lng, ns, 'read', null, null, function (err, data) { + if (err) logger.warn("loading namespace ".concat(ns, " for language ").concat(lng, " failed"), err); + if (!err && data) logger.log("loaded namespace ".concat(ns, " for language ").concat(lng), data); + backendConnector.loaded("".concat(lng, "|").concat(ns), err, data); + }); + }); + }); + } + }]); +}(); +Backend.type = 'backend'; +var _default = exports.default = Backend; +module.exports = exports.default; \ No newline at end of file diff --git a/node_modules/i18next-http-backend/cjs/package.json b/node_modules/i18next-http-backend/cjs/package.json new file mode 100644 index 00000000..729ac4d9 --- /dev/null +++ b/node_modules/i18next-http-backend/cjs/package.json @@ -0,0 +1 @@ +{"type":"commonjs"} diff --git a/node_modules/i18next-http-backend/cjs/request.js b/node_modules/i18next-http-backend/cjs/request.js new file mode 100644 index 00000000..50830fe0 --- /dev/null +++ b/node_modules/i18next-http-backend/cjs/request.js @@ -0,0 +1,169 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _utils = require("./utils.js"); +var fetchNode = _interopRequireWildcard(require("./getFetch.js")); +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +var fetchApi = typeof fetch === 'function' ? fetch : undefined; +if (typeof global !== 'undefined' && global.fetch) { + fetchApi = global.fetch; +} else if (typeof window !== 'undefined' && window.fetch) { + fetchApi = window.fetch; +} +var XmlHttpRequestApi; +if ((0, _utils.hasXMLHttpRequest)()) { + if (typeof global !== 'undefined' && global.XMLHttpRequest) { + XmlHttpRequestApi = global.XMLHttpRequest; + } else if (typeof window !== 'undefined' && window.XMLHttpRequest) { + XmlHttpRequestApi = window.XMLHttpRequest; + } +} +var ActiveXObjectApi; +if (typeof ActiveXObject === 'function') { + if (typeof global !== 'undefined' && global.ActiveXObject) { + ActiveXObjectApi = global.ActiveXObject; + } else if (typeof window !== 'undefined' && window.ActiveXObject) { + ActiveXObjectApi = window.ActiveXObject; + } +} +if (!fetchApi && fetchNode && !XmlHttpRequestApi && !ActiveXObjectApi) fetchApi = fetchNode.default || fetchNode; +if (typeof fetchApi !== 'function') fetchApi = undefined; +var addQueryString = function addQueryString(url, params) { + if (params && _typeof(params) === 'object') { + var queryString = ''; + for (var paramName in params) { + queryString += '&' + encodeURIComponent(paramName) + '=' + encodeURIComponent(params[paramName]); + } + if (!queryString) return url; + url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1); + } + return url; +}; +var fetchIt = function fetchIt(url, fetchOptions, callback, altFetch) { + var resolver = function resolver(response) { + if (!response.ok) return callback(response.statusText || 'Error', { + status: response.status + }); + response.text().then(function (data) { + callback(null, { + status: response.status, + data: data + }); + }).catch(callback); + }; + if (altFetch) { + var altResponse = altFetch(url, fetchOptions); + if (altResponse instanceof Promise) { + altResponse.then(resolver).catch(callback); + return; + } + } + if (typeof fetch === 'function') { + fetch(url, fetchOptions).then(resolver).catch(callback); + } else { + fetchApi(url, fetchOptions).then(resolver).catch(callback); + } +}; +var omitFetchOptions = false; +var requestWithFetch = function requestWithFetch(options, url, payload, callback) { + if (options.queryStringParams) { + url = addQueryString(url, options.queryStringParams); + } + var headers = _objectSpread({}, typeof options.customHeaders === 'function' ? options.customHeaders() : options.customHeaders); + if (typeof window === 'undefined' && typeof global !== 'undefined' && typeof global.process !== 'undefined' && global.process.versions && global.process.versions.node) { + headers['User-Agent'] = "i18next-http-backend (node/".concat(global.process.version, "; ").concat(global.process.platform, " ").concat(global.process.arch, ")"); + } + if (payload) headers['Content-Type'] = 'application/json'; + var reqOptions = typeof options.requestOptions === 'function' ? options.requestOptions(payload) : options.requestOptions; + var fetchOptions = _objectSpread({ + method: payload ? 'POST' : 'GET', + body: payload ? options.stringify(payload) : undefined, + headers: headers + }, omitFetchOptions ? {} : reqOptions); + var altFetch = typeof options.alternateFetch === 'function' && options.alternateFetch.length >= 1 ? options.alternateFetch : undefined; + try { + fetchIt(url, fetchOptions, callback, altFetch); + } catch (e) { + if (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf('not implemented') < 0) { + return callback(e); + } + try { + Object.keys(reqOptions).forEach(function (opt) { + delete fetchOptions[opt]; + }); + fetchIt(url, fetchOptions, callback, altFetch); + omitFetchOptions = true; + } catch (err) { + callback(err); + } + } +}; +var requestWithXmlHttpRequest = function requestWithXmlHttpRequest(options, url, payload, callback) { + if (payload && _typeof(payload) === 'object') { + payload = addQueryString('', payload).slice(1); + } + if (options.queryStringParams) { + url = addQueryString(url, options.queryStringParams); + } + try { + var x; + if (XmlHttpRequestApi) { + x = new XmlHttpRequestApi(); + } else { + x = new ActiveXObjectApi('MSXML2.XMLHTTP.3.0'); + } + x.open(payload ? 'POST' : 'GET', url, 1); + if (!options.crossDomain) { + x.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + } + x.withCredentials = !!options.withCredentials; + if (payload) { + x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + } + if (x.overrideMimeType) { + x.overrideMimeType('application/json'); + } + var h = options.customHeaders; + h = typeof h === 'function' ? h() : h; + if (h) { + for (var i in h) { + x.setRequestHeader(i, h[i]); + } + } + x.onreadystatechange = function () { + x.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, { + status: x.status, + data: x.responseText + }); + }; + x.send(payload); + } catch (e) { + console && console.log(e); + } +}; +var request = function request(options, url, payload, callback) { + if (typeof payload === 'function') { + callback = payload; + payload = undefined; + } + callback = callback || function () {}; + if (fetchApi && url.indexOf('file:') !== 0) { + return requestWithFetch(options, url, payload, callback); + } + if ((0, _utils.hasXMLHttpRequest)() || typeof ActiveXObject === 'function') { + return requestWithXmlHttpRequest(options, url, payload, callback); + } + callback(new Error('No fetch and no xhr implementation found!')); +}; +var _default = exports.default = request; +module.exports = exports.default; \ No newline at end of file diff --git a/node_modules/i18next-http-backend/cjs/utils.js b/node_modules/i18next-http-backend/cjs/utils.js new file mode 100644 index 00000000..ec380a97 --- /dev/null +++ b/node_modules/i18next-http-backend/cjs/utils.js @@ -0,0 +1,34 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.defaults = defaults; +exports.hasXMLHttpRequest = hasXMLHttpRequest; +exports.makePromise = makePromise; +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +var arr = []; +var each = arr.forEach; +var slice = arr.slice; +function defaults(obj) { + each.call(slice.call(arguments, 1), function (source) { + if (source) { + for (var prop in source) { + if (obj[prop] === undefined) obj[prop] = source[prop]; + } + } + }); + return obj; +} +function hasXMLHttpRequest() { + return typeof XMLHttpRequest === 'function' || (typeof XMLHttpRequest === "undefined" ? "undefined" : _typeof(XMLHttpRequest)) === 'object'; +} +function isPromise(maybePromise) { + return !!maybePromise && typeof maybePromise.then === 'function'; +} +function makePromise(maybePromise) { + if (isPromise(maybePromise)) { + return maybePromise; + } + return Promise.resolve(maybePromise); +} \ No newline at end of file diff --git a/node_modules/i18next-http-backend/esm/getFetch.cjs b/node_modules/i18next-http-backend/esm/getFetch.cjs new file mode 100644 index 00000000..4f87baeb --- /dev/null +++ b/node_modules/i18next-http-backend/esm/getFetch.cjs @@ -0,0 +1,13 @@ +var fetchApi = typeof fetch === 'function' ? fetch : undefined +if (typeof global !== 'undefined' && global.fetch) { + fetchApi = global.fetch +} else if (typeof window !== 'undefined' && window.fetch) { + fetchApi = window.fetch +} + +if (typeof require !== 'undefined' && typeof window === 'undefined') { + var f = fetchApi || require('cross-fetch') + if (f.default) f = f.default + exports.default = f + module.exports = exports.default +} diff --git a/node_modules/i18next-http-backend/esm/index.d.mts b/node_modules/i18next-http-backend/esm/index.d.mts new file mode 100644 index 00000000..ebc9130a --- /dev/null +++ b/node_modules/i18next-http-backend/esm/index.d.mts @@ -0,0 +1,9 @@ +import * as index from './index.js'; + +export default index.default; + +export type HttpBackendOptions = index.HttpBackendOptions; +export type RequestCallback = index.RequestCallback; +export type LoadPathOption = index.LoadPathOption; +export type AddPathOption = index.AddPathOption; +export type RequestResponse = index.RequestResponse; diff --git a/node_modules/i18next-http-backend/esm/index.d.ts b/node_modules/i18next-http-backend/esm/index.d.ts new file mode 100644 index 00000000..ac5620c8 --- /dev/null +++ b/node_modules/i18next-http-backend/esm/index.d.ts @@ -0,0 +1,140 @@ +import { BackendModule, MultiReadCallback, ReadCallback, ResourceKey } from "i18next"; + +type LoadPathOption = + | string + | ((lngs: string[], namespaces: string[]) => string) + | ((lngs: string[], namespaces: string[]) => Promise); + +type AddPathOption = + | string + | ((lng: string, namespace: string) => string); + +type FetchFunction = (input: string, init: RequestInit) => Promise | void + +export interface HttpBackendOptions { + /** + * Use an alternative fetch function that acts like an interecept, (usefull for low level mocks/simulations) + * + * This option is not called if: + * + * 1. There is an custom value set for the "request" property in this options object. + * 2. The backend selected xmlHttpRequest over fetch + * + * If the function is called and it returns anything BUT a promise the fetch or xmlHttpRequest will be subsequentially called + * + */ + alternateFetch?: FetchFunction; + /** + * path where resources get loaded from, or a function + * returning a path: + * function(lngs, namespaces) { return customPath; } + * the returned path will interpolate lng, ns if provided like giving a static path + */ + loadPath?: LoadPathOption; + /** + * path to post missing resources, must be `string` or a `function` returning a path: + * function(lng, namespace) { return customPath; } + */ + addPath?: AddPathOption; + /** + * parse data after it has been fetched + * in example use https://www.npmjs.com/package/json5 + * here it removes the letter a from the json (bad idea) + */ + parse?( + data: string, + languages?: string | string[], + namespaces?: string | string[] + ): { [key: string]: any }; + /** + * parse data before it has been sent by addPath + */ + parsePayload?( + namespace: string, + key: string, + fallbackValue?: string + ): { [key: string]: any }; + /** + * parse data before it has been sent by loadPath + * if value returned it will send a POST request + */ + parseLoadPayload?( + languages: string[], + namespaces: string[] + ): { [key: string]: any } | undefined; + /** + * allow cross domain requests + */ + crossDomain?: boolean; + /** + * allow credentials on cross domain requests + */ + withCredentials?: boolean; + /** + * define a custom xhr function + * can be used to support XDomainRequest in IE 8 and 9 + */ + request?( + options: HttpBackendOptions, + url: string, + payload: {} | string, + callback: RequestCallback + ): void; + /** + * adds parameters to resource URL. 'example.com' -> 'example.com?v=1.3.5' + */ + queryStringParams?: { [key: string]: string }; + + /** + * allows an object containing custom headers or a function that when called returns + * an object of custom headers + */ + customHeaders?: { [key: string]: string } | (() => { [key: string]: string }); + + /** + * can be used to reload resources in a specific + * interval (useful in server environments) + */ + reloadInterval?: false | number; + + /** + * fetch api request options, can be a function + */ + requestOptions?: RequestInit | ((payload: {} | string) => RequestInit); +} + +type RequestCallback = (error: any | undefined | null, response: RequestResponse | undefined | null) => void; + +interface RequestResponse { + status: number; + data: ResourceKey; +} + +export default class I18NextHttpBackend + implements BackendModule +{ + static type: "backend"; + constructor(services?: any, options?: HttpBackendOptions); + init(services?: any, options?: HttpBackendOptions): void; + readMulti?( + languages: string[], + namespaces: string[], + callback: MultiReadCallback + ): void; + read(language: string, namespace: string, callback: ReadCallback): void; + loadUrl( + url: string, + callback: ReadCallback, + languages?: string | string[], + namespaces?: string | string[] + ): void; + create?( + languages: string[], + namespace: string, + key: string, + fallbackValue: string + ): void; + type: "backend"; + services: any; + options: HttpBackendOptions; +} diff --git a/node_modules/i18next-http-backend/esm/index.js b/node_modules/i18next-http-backend/esm/index.js new file mode 100644 index 00000000..c99407ed --- /dev/null +++ b/node_modules/i18next-http-backend/esm/index.js @@ -0,0 +1,192 @@ +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +import { makePromise } from './utils.js'; +import request from './request.js'; +var getDefaults = function getDefaults() { + return { + loadPath: '/locales/{{lng}}/{{ns}}.json', + addPath: '/locales/add/{{lng}}/{{ns}}', + parse: function parse(data) { + return JSON.parse(data); + }, + stringify: JSON.stringify, + parsePayload: function parsePayload(namespace, key, fallbackValue) { + return _defineProperty({}, key, fallbackValue || ''); + }, + parseLoadPayload: function parseLoadPayload(languages, namespaces) { + return undefined; + }, + request: request, + reloadInterval: typeof window !== 'undefined' ? false : 60 * 60 * 1000, + customHeaders: {}, + queryStringParams: {}, + crossDomain: false, + withCredentials: false, + overrideMimeType: false, + requestOptions: { + mode: 'cors', + credentials: 'same-origin', + cache: 'default' + } + }; +}; +var Backend = function () { + function Backend(services) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + _classCallCheck(this, Backend); + this.services = services; + this.options = options; + this.allOptions = allOptions; + this.type = 'backend'; + this.init(services, options, allOptions); + } + return _createClass(Backend, [{ + key: "init", + value: function init(services) { + var _this = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + this.services = services; + this.options = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), this.options || {}), options); + this.allOptions = allOptions; + if (this.services && this.options.reloadInterval) { + var timer = setInterval(function () { + return _this.reload(); + }, this.options.reloadInterval); + if (_typeof(timer) === 'object' && typeof timer.unref === 'function') timer.unref(); + } + } + }, { + key: "readMulti", + value: function readMulti(languages, namespaces, callback) { + this._readAny(languages, languages, namespaces, namespaces, callback); + } + }, { + key: "read", + value: function read(language, namespace, callback) { + this._readAny([language], language, [namespace], namespace, callback); + } + }, { + key: "_readAny", + value: function _readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) { + var _this2 = this; + var loadPath = this.options.loadPath; + if (typeof this.options.loadPath === 'function') { + loadPath = this.options.loadPath(languages, namespaces); + } + loadPath = makePromise(loadPath); + loadPath.then(function (resolvedLoadPath) { + if (!resolvedLoadPath) return callback(null, {}); + var url = _this2.services.interpolator.interpolate(resolvedLoadPath, { + lng: languages.join('+'), + ns: namespaces.join('+') + }); + _this2.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces); + }); + } + }, { + key: "loadUrl", + value: function loadUrl(url, callback, languages, namespaces) { + var _this3 = this; + var lng = typeof languages === 'string' ? [languages] : languages; + var ns = typeof namespaces === 'string' ? [namespaces] : namespaces; + var payload = this.options.parseLoadPayload(lng, ns); + this.options.request(this.options, url, payload, function (err, res) { + if (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback('failed loading ' + url + '; status code: ' + res.status, true); + if (res && res.status >= 400 && res.status < 500) return callback('failed loading ' + url + '; status code: ' + res.status, false); + if (!res && err && err.message) { + var errorMessage = err.message.toLowerCase(); + var isNetworkError = ['failed', 'fetch', 'network', 'load'].find(function (term) { + return errorMessage.indexOf(term) > -1; + }); + if (isNetworkError) { + return callback('failed loading ' + url + ': ' + err.message, true); + } + } + if (err) return callback(err, false); + var ret, parseErr; + try { + if (typeof res.data === 'string') { + ret = _this3.options.parse(res.data, languages, namespaces); + } else { + ret = res.data; + } + } catch (e) { + parseErr = 'failed parsing ' + url + ' to json'; + } + if (parseErr) return callback(parseErr, false); + callback(null, ret); + }); + } + }, { + key: "create", + value: function create(languages, namespace, key, fallbackValue, callback) { + var _this4 = this; + if (!this.options.addPath) return; + if (typeof languages === 'string') languages = [languages]; + var payload = this.options.parsePayload(namespace, key, fallbackValue); + var finished = 0; + var dataArray = []; + var resArray = []; + languages.forEach(function (lng) { + var addPath = _this4.options.addPath; + if (typeof _this4.options.addPath === 'function') { + addPath = _this4.options.addPath(lng, namespace); + } + var url = _this4.services.interpolator.interpolate(addPath, { + lng: lng, + ns: namespace + }); + _this4.options.request(_this4.options, url, payload, function (data, res) { + finished += 1; + dataArray.push(data); + resArray.push(res); + if (finished === languages.length) { + if (typeof callback === 'function') callback(dataArray, resArray); + } + }); + }); + } + }, { + key: "reload", + value: function reload() { + var _this5 = this; + var _this$services = this.services, + backendConnector = _this$services.backendConnector, + languageUtils = _this$services.languageUtils, + logger = _this$services.logger; + var currentLanguage = backendConnector.language; + if (currentLanguage && currentLanguage.toLowerCase() === 'cimode') return; + var toLoad = []; + var append = function append(lng) { + var lngs = languageUtils.toResolveHierarchy(lng); + lngs.forEach(function (l) { + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + append(currentLanguage); + if (this.allOptions.preload) this.allOptions.preload.forEach(function (l) { + return append(l); + }); + toLoad.forEach(function (lng) { + _this5.allOptions.ns.forEach(function (ns) { + backendConnector.read(lng, ns, 'read', null, null, function (err, data) { + if (err) logger.warn("loading namespace ".concat(ns, " for language ").concat(lng, " failed"), err); + if (!err && data) logger.log("loaded namespace ".concat(ns, " for language ").concat(lng), data); + backendConnector.loaded("".concat(lng, "|").concat(ns), err, data); + }); + }); + }); + } + }]); +}(); +Backend.type = 'backend'; +export default Backend; \ No newline at end of file diff --git a/node_modules/i18next-http-backend/esm/request.js b/node_modules/i18next-http-backend/esm/request.js new file mode 100644 index 00000000..c7396844 --- /dev/null +++ b/node_modules/i18next-http-backend/esm/request.js @@ -0,0 +1,160 @@ +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +import { hasXMLHttpRequest } from './utils.js'; +import * as fetchNode from './getFetch.cjs'; +var fetchApi = typeof fetch === 'function' ? fetch : undefined; +if (typeof global !== 'undefined' && global.fetch) { + fetchApi = global.fetch; +} else if (typeof window !== 'undefined' && window.fetch) { + fetchApi = window.fetch; +} +var XmlHttpRequestApi; +if (hasXMLHttpRequest()) { + if (typeof global !== 'undefined' && global.XMLHttpRequest) { + XmlHttpRequestApi = global.XMLHttpRequest; + } else if (typeof window !== 'undefined' && window.XMLHttpRequest) { + XmlHttpRequestApi = window.XMLHttpRequest; + } +} +var ActiveXObjectApi; +if (typeof ActiveXObject === 'function') { + if (typeof global !== 'undefined' && global.ActiveXObject) { + ActiveXObjectApi = global.ActiveXObject; + } else if (typeof window !== 'undefined' && window.ActiveXObject) { + ActiveXObjectApi = window.ActiveXObject; + } +} +if (!fetchApi && fetchNode && !XmlHttpRequestApi && !ActiveXObjectApi) fetchApi = fetchNode.default || fetchNode; +if (typeof fetchApi !== 'function') fetchApi = undefined; +var addQueryString = function addQueryString(url, params) { + if (params && _typeof(params) === 'object') { + var queryString = ''; + for (var paramName in params) { + queryString += '&' + encodeURIComponent(paramName) + '=' + encodeURIComponent(params[paramName]); + } + if (!queryString) return url; + url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1); + } + return url; +}; +var fetchIt = function fetchIt(url, fetchOptions, callback, altFetch) { + var resolver = function resolver(response) { + if (!response.ok) return callback(response.statusText || 'Error', { + status: response.status + }); + response.text().then(function (data) { + callback(null, { + status: response.status, + data: data + }); + }).catch(callback); + }; + if (altFetch) { + var altResponse = altFetch(url, fetchOptions); + if (altResponse instanceof Promise) { + altResponse.then(resolver).catch(callback); + return; + } + } + if (typeof fetch === 'function') { + fetch(url, fetchOptions).then(resolver).catch(callback); + } else { + fetchApi(url, fetchOptions).then(resolver).catch(callback); + } +}; +var omitFetchOptions = false; +var requestWithFetch = function requestWithFetch(options, url, payload, callback) { + if (options.queryStringParams) { + url = addQueryString(url, options.queryStringParams); + } + var headers = _objectSpread({}, typeof options.customHeaders === 'function' ? options.customHeaders() : options.customHeaders); + if (typeof window === 'undefined' && typeof global !== 'undefined' && typeof global.process !== 'undefined' && global.process.versions && global.process.versions.node) { + headers['User-Agent'] = "i18next-http-backend (node/".concat(global.process.version, "; ").concat(global.process.platform, " ").concat(global.process.arch, ")"); + } + if (payload) headers['Content-Type'] = 'application/json'; + var reqOptions = typeof options.requestOptions === 'function' ? options.requestOptions(payload) : options.requestOptions; + var fetchOptions = _objectSpread({ + method: payload ? 'POST' : 'GET', + body: payload ? options.stringify(payload) : undefined, + headers: headers + }, omitFetchOptions ? {} : reqOptions); + var altFetch = typeof options.alternateFetch === 'function' && options.alternateFetch.length >= 1 ? options.alternateFetch : undefined; + try { + fetchIt(url, fetchOptions, callback, altFetch); + } catch (e) { + if (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf('not implemented') < 0) { + return callback(e); + } + try { + Object.keys(reqOptions).forEach(function (opt) { + delete fetchOptions[opt]; + }); + fetchIt(url, fetchOptions, callback, altFetch); + omitFetchOptions = true; + } catch (err) { + callback(err); + } + } +}; +var requestWithXmlHttpRequest = function requestWithXmlHttpRequest(options, url, payload, callback) { + if (payload && _typeof(payload) === 'object') { + payload = addQueryString('', payload).slice(1); + } + if (options.queryStringParams) { + url = addQueryString(url, options.queryStringParams); + } + try { + var x; + if (XmlHttpRequestApi) { + x = new XmlHttpRequestApi(); + } else { + x = new ActiveXObjectApi('MSXML2.XMLHTTP.3.0'); + } + x.open(payload ? 'POST' : 'GET', url, 1); + if (!options.crossDomain) { + x.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + } + x.withCredentials = !!options.withCredentials; + if (payload) { + x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + } + if (x.overrideMimeType) { + x.overrideMimeType('application/json'); + } + var h = options.customHeaders; + h = typeof h === 'function' ? h() : h; + if (h) { + for (var i in h) { + x.setRequestHeader(i, h[i]); + } + } + x.onreadystatechange = function () { + x.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, { + status: x.status, + data: x.responseText + }); + }; + x.send(payload); + } catch (e) { + console && console.log(e); + } +}; +var request = function request(options, url, payload, callback) { + if (typeof payload === 'function') { + callback = payload; + payload = undefined; + } + callback = callback || function () {}; + if (fetchApi && url.indexOf('file:') !== 0) { + return requestWithFetch(options, url, payload, callback); + } + if (hasXMLHttpRequest() || typeof ActiveXObject === 'function') { + return requestWithXmlHttpRequest(options, url, payload, callback); + } + callback(new Error('No fetch and no xhr implementation found!')); +}; +export default request; \ No newline at end of file diff --git a/node_modules/i18next-http-backend/esm/utils.js b/node_modules/i18next-http-backend/esm/utils.js new file mode 100644 index 00000000..f63b75d2 --- /dev/null +++ b/node_modules/i18next-http-backend/esm/utils.js @@ -0,0 +1,26 @@ +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +var arr = []; +var each = arr.forEach; +var slice = arr.slice; +export function defaults(obj) { + each.call(slice.call(arguments, 1), function (source) { + if (source) { + for (var prop in source) { + if (obj[prop] === undefined) obj[prop] = source[prop]; + } + } + }); + return obj; +} +export function hasXMLHttpRequest() { + return typeof XMLHttpRequest === 'function' || (typeof XMLHttpRequest === "undefined" ? "undefined" : _typeof(XMLHttpRequest)) === 'object'; +} +function isPromise(maybePromise) { + return !!maybePromise && typeof maybePromise.then === 'function'; +} +export function makePromise(maybePromise) { + if (isPromise(maybePromise)) { + return maybePromise; + } + return Promise.resolve(maybePromise); +} \ No newline at end of file diff --git a/node_modules/i18next-http-backend/i18nextHttpBackend.js b/node_modules/i18next-http-backend/i18nextHttpBackend.js new file mode 100644 index 00000000..856f9216 --- /dev/null +++ b/node_modules/i18next-http-backend/i18nextHttpBackend.js @@ -0,0 +1,429 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.i18nextHttpBackend = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 1 && arguments[1] !== undefined ? arguments[1] : {}; + var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + _classCallCheck(this, Backend); + this.services = services; + this.options = options; + this.allOptions = allOptions; + this.type = 'backend'; + this.init(services, options, allOptions); + } + return _createClass(Backend, [{ + key: "init", + value: function init(services) { + var _this = this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + this.services = services; + this.options = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), this.options || {}), options); + this.allOptions = allOptions; + if (this.services && this.options.reloadInterval) { + var timer = setInterval(function () { + return _this.reload(); + }, this.options.reloadInterval); + if (_typeof(timer) === 'object' && typeof timer.unref === 'function') timer.unref(); + } + } + }, { + key: "readMulti", + value: function readMulti(languages, namespaces, callback) { + this._readAny(languages, languages, namespaces, namespaces, callback); + } + }, { + key: "read", + value: function read(language, namespace, callback) { + this._readAny([language], language, [namespace], namespace, callback); + } + }, { + key: "_readAny", + value: function _readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) { + var _this2 = this; + var loadPath = this.options.loadPath; + if (typeof this.options.loadPath === 'function') { + loadPath = this.options.loadPath(languages, namespaces); + } + loadPath = (0, _utils.makePromise)(loadPath); + loadPath.then(function (resolvedLoadPath) { + if (!resolvedLoadPath) return callback(null, {}); + var url = _this2.services.interpolator.interpolate(resolvedLoadPath, { + lng: languages.join('+'), + ns: namespaces.join('+') + }); + _this2.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces); + }); + } + }, { + key: "loadUrl", + value: function loadUrl(url, callback, languages, namespaces) { + var _this3 = this; + var lng = typeof languages === 'string' ? [languages] : languages; + var ns = typeof namespaces === 'string' ? [namespaces] : namespaces; + var payload = this.options.parseLoadPayload(lng, ns); + this.options.request(this.options, url, payload, function (err, res) { + if (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback('failed loading ' + url + '; status code: ' + res.status, true); + if (res && res.status >= 400 && res.status < 500) return callback('failed loading ' + url + '; status code: ' + res.status, false); + if (!res && err && err.message) { + var errorMessage = err.message.toLowerCase(); + var isNetworkError = ['failed', 'fetch', 'network', 'load'].find(function (term) { + return errorMessage.indexOf(term) > -1; + }); + if (isNetworkError) { + return callback('failed loading ' + url + ': ' + err.message, true); + } + } + if (err) return callback(err, false); + var ret, parseErr; + try { + if (typeof res.data === 'string') { + ret = _this3.options.parse(res.data, languages, namespaces); + } else { + ret = res.data; + } + } catch (e) { + parseErr = 'failed parsing ' + url + ' to json'; + } + if (parseErr) return callback(parseErr, false); + callback(null, ret); + }); + } + }, { + key: "create", + value: function create(languages, namespace, key, fallbackValue, callback) { + var _this4 = this; + if (!this.options.addPath) return; + if (typeof languages === 'string') languages = [languages]; + var payload = this.options.parsePayload(namespace, key, fallbackValue); + var finished = 0; + var dataArray = []; + var resArray = []; + languages.forEach(function (lng) { + var addPath = _this4.options.addPath; + if (typeof _this4.options.addPath === 'function') { + addPath = _this4.options.addPath(lng, namespace); + } + var url = _this4.services.interpolator.interpolate(addPath, { + lng: lng, + ns: namespace + }); + _this4.options.request(_this4.options, url, payload, function (data, res) { + finished += 1; + dataArray.push(data); + resArray.push(res); + if (finished === languages.length) { + if (typeof callback === 'function') callback(dataArray, resArray); + } + }); + }); + } + }, { + key: "reload", + value: function reload() { + var _this5 = this; + var _this$services = this.services, + backendConnector = _this$services.backendConnector, + languageUtils = _this$services.languageUtils, + logger = _this$services.logger; + var currentLanguage = backendConnector.language; + if (currentLanguage && currentLanguage.toLowerCase() === 'cimode') return; + var toLoad = []; + var append = function append(lng) { + var lngs = languageUtils.toResolveHierarchy(lng); + lngs.forEach(function (l) { + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + append(currentLanguage); + if (this.allOptions.preload) this.allOptions.preload.forEach(function (l) { + return append(l); + }); + toLoad.forEach(function (lng) { + _this5.allOptions.ns.forEach(function (ns) { + backendConnector.read(lng, ns, 'read', null, null, function (err, data) { + if (err) logger.warn("loading namespace ".concat(ns, " for language ").concat(lng, " failed"), err); + if (!err && data) logger.log("loaded namespace ".concat(ns, " for language ").concat(lng), data); + backendConnector.loaded("".concat(lng, "|").concat(ns), err, data); + }); + }); + }); + } + }]); +}(); +Backend.type = 'backend'; +var _default = exports.default = Backend; +module.exports = exports.default; +},{"./request.js":3,"./utils.js":4}],3:[function(require,module,exports){ +(function (global){(function (){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _utils = require("./utils.js"); +var fetchNode = _interopRequireWildcard(require("./getFetch.js")); +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +var fetchApi = typeof fetch === 'function' ? fetch : undefined; +if (typeof global !== 'undefined' && global.fetch) { + fetchApi = global.fetch; +} else if (typeof window !== 'undefined' && window.fetch) { + fetchApi = window.fetch; +} +var XmlHttpRequestApi; +if ((0, _utils.hasXMLHttpRequest)()) { + if (typeof global !== 'undefined' && global.XMLHttpRequest) { + XmlHttpRequestApi = global.XMLHttpRequest; + } else if (typeof window !== 'undefined' && window.XMLHttpRequest) { + XmlHttpRequestApi = window.XMLHttpRequest; + } +} +var ActiveXObjectApi; +if (typeof ActiveXObject === 'function') { + if (typeof global !== 'undefined' && global.ActiveXObject) { + ActiveXObjectApi = global.ActiveXObject; + } else if (typeof window !== 'undefined' && window.ActiveXObject) { + ActiveXObjectApi = window.ActiveXObject; + } +} +if (!fetchApi && fetchNode && !XmlHttpRequestApi && !ActiveXObjectApi) fetchApi = fetchNode.default || fetchNode; +if (typeof fetchApi !== 'function') fetchApi = undefined; +var addQueryString = function addQueryString(url, params) { + if (params && _typeof(params) === 'object') { + var queryString = ''; + for (var paramName in params) { + queryString += '&' + encodeURIComponent(paramName) + '=' + encodeURIComponent(params[paramName]); + } + if (!queryString) return url; + url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1); + } + return url; +}; +var fetchIt = function fetchIt(url, fetchOptions, callback, altFetch) { + var resolver = function resolver(response) { + if (!response.ok) return callback(response.statusText || 'Error', { + status: response.status + }); + response.text().then(function (data) { + callback(null, { + status: response.status, + data: data + }); + }).catch(callback); + }; + if (altFetch) { + var altResponse = altFetch(url, fetchOptions); + if (altResponse instanceof Promise) { + altResponse.then(resolver).catch(callback); + return; + } + } + if (typeof fetch === 'function') { + fetch(url, fetchOptions).then(resolver).catch(callback); + } else { + fetchApi(url, fetchOptions).then(resolver).catch(callback); + } +}; +var omitFetchOptions = false; +var requestWithFetch = function requestWithFetch(options, url, payload, callback) { + if (options.queryStringParams) { + url = addQueryString(url, options.queryStringParams); + } + var headers = _objectSpread({}, typeof options.customHeaders === 'function' ? options.customHeaders() : options.customHeaders); + if (typeof window === 'undefined' && typeof global !== 'undefined' && typeof global.process !== 'undefined' && global.process.versions && global.process.versions.node) { + headers['User-Agent'] = "i18next-http-backend (node/".concat(global.process.version, "; ").concat(global.process.platform, " ").concat(global.process.arch, ")"); + } + if (payload) headers['Content-Type'] = 'application/json'; + var reqOptions = typeof options.requestOptions === 'function' ? options.requestOptions(payload) : options.requestOptions; + var fetchOptions = _objectSpread({ + method: payload ? 'POST' : 'GET', + body: payload ? options.stringify(payload) : undefined, + headers: headers + }, omitFetchOptions ? {} : reqOptions); + var altFetch = typeof options.alternateFetch === 'function' && options.alternateFetch.length >= 1 ? options.alternateFetch : undefined; + try { + fetchIt(url, fetchOptions, callback, altFetch); + } catch (e) { + if (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf('not implemented') < 0) { + return callback(e); + } + try { + Object.keys(reqOptions).forEach(function (opt) { + delete fetchOptions[opt]; + }); + fetchIt(url, fetchOptions, callback, altFetch); + omitFetchOptions = true; + } catch (err) { + callback(err); + } + } +}; +var requestWithXmlHttpRequest = function requestWithXmlHttpRequest(options, url, payload, callback) { + if (payload && _typeof(payload) === 'object') { + payload = addQueryString('', payload).slice(1); + } + if (options.queryStringParams) { + url = addQueryString(url, options.queryStringParams); + } + try { + var x; + if (XmlHttpRequestApi) { + x = new XmlHttpRequestApi(); + } else { + x = new ActiveXObjectApi('MSXML2.XMLHTTP.3.0'); + } + x.open(payload ? 'POST' : 'GET', url, 1); + if (!options.crossDomain) { + x.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + } + x.withCredentials = !!options.withCredentials; + if (payload) { + x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + } + if (x.overrideMimeType) { + x.overrideMimeType('application/json'); + } + var h = options.customHeaders; + h = typeof h === 'function' ? h() : h; + if (h) { + for (var i in h) { + x.setRequestHeader(i, h[i]); + } + } + x.onreadystatechange = function () { + x.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, { + status: x.status, + data: x.responseText + }); + }; + x.send(payload); + } catch (e) { + console && console.log(e); + } +}; +var request = function request(options, url, payload, callback) { + if (typeof payload === 'function') { + callback = payload; + payload = undefined; + } + callback = callback || function () {}; + if (fetchApi && url.indexOf('file:') !== 0) { + return requestWithFetch(options, url, payload, callback); + } + if ((0, _utils.hasXMLHttpRequest)() || typeof ActiveXObject === 'function') { + return requestWithXmlHttpRequest(options, url, payload, callback); + } + callback(new Error('No fetch and no xhr implementation found!')); +}; +var _default = exports.default = request; +module.exports = exports.default; +}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"./getFetch.js":1,"./utils.js":4}],4:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.defaults = defaults; +exports.hasXMLHttpRequest = hasXMLHttpRequest; +exports.makePromise = makePromise; +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +var arr = []; +var each = arr.forEach; +var slice = arr.slice; +function defaults(obj) { + each.call(slice.call(arguments, 1), function (source) { + if (source) { + for (var prop in source) { + if (obj[prop] === undefined) obj[prop] = source[prop]; + } + } + }); + return obj; +} +function hasXMLHttpRequest() { + return typeof XMLHttpRequest === 'function' || (typeof XMLHttpRequest === "undefined" ? "undefined" : _typeof(XMLHttpRequest)) === 'object'; +} +function isPromise(maybePromise) { + return !!maybePromise && typeof maybePromise.then === 'function'; +} +function makePromise(maybePromise) { + if (isPromise(maybePromise)) { + return maybePromise; + } + return Promise.resolve(maybePromise); +} +},{}],5:[function(require,module,exports){ + +},{}]},{},[2])(2) +}); diff --git a/node_modules/i18next-http-backend/i18nextHttpBackend.min.js b/node_modules/i18next-http-backend/i18nextHttpBackend.min.js new file mode 100644 index 00000000..5b23ff67 --- /dev/null +++ b/node_modules/i18next-http-backend/i18nextHttpBackend.min.js @@ -0,0 +1 @@ +!function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).i18nextHttpBackend=e()}(function(){return function o(r,i,a){function s(t,e){if(!i[t]){if(!r[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(f)return f(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}n=i[t]={exports:{}},r[t][0].call(n.exports,function(e){return s(r[t][1][e]||e)},n,n.exports,o,r,i,a)}return i[t].exports}for(var f="function"==typeof require&&require,e=0;e{if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=i(n=n.call(e,t||"default")))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string");return"symbol"==i(e)?e:e+""}e=function e(t){var n=1{if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=v(e)&&"function"!=typeof e)return{default:e};if((t=a(t))&&t.has(e))return t.get(e);var n,o,r={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(n in e)"default"!==n&&{}.hasOwnProperty.call(e,n)&&((o=i?Object.getOwnPropertyDescriptor(e,n):null)&&(o.get||o.set)?Object.defineProperty(r,n,o):r[n]=e[n]);return r.default=e,t&&t.set(e,r),r})(n("./getFetch.js"));function a(e){var t,n;return"function"!=typeof WeakMap?null:(t=new WeakMap,n=new WeakMap,(a=function(e){return e?n:t})(e))}function t(t,e){var n,o=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),o.push.apply(o,n)),o}function b(o){for(var e=1;e(e=((e,t)=>{if("object"!=v(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=v(n=n.call(e,t||"default")))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==v(e)?e:e+""))(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(r,e))})}return o}function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var m,g,w="function"==typeof fetch?fetch:void 0,O=(void 0!==S&&S.fetch?w=S.fetch:"undefined"!=typeof window&&window.fetch&&(w=window.fetch),(0,h.hasXMLHttpRequest)()&&(void 0!==S&&S.XMLHttpRequest?m=S.XMLHttpRequest:"undefined"!=typeof window&&window.XMLHttpRequest&&(m=window.XMLHttpRequest)),"function"==typeof ActiveXObject&&(void 0!==S&&S.ActiveXObject?g=S.ActiveXObject:"undefined"!=typeof window&&window.ActiveXObject&&(g=window.ActiveXObject)),"function"!=typeof(w=w||!e||m||g?w:e.default||e)&&(w=void 0),function(e,t){if(t&&"object"===v(t)){var n,o="";for(n in t)o+="&"+encodeURIComponent(n)+"="+encodeURIComponent(t[n]);if(!o)return e;e=e+(-1!==e.indexOf("?")?"&":"?")+o.slice(1)}return e}),j=function(e,t,n,o){function r(t){if(!t.ok)return n(t.statusText||"Error",{status:t.status});t.text().then(function(e){n(null,{status:t.status,data:e})}).catch(n)}if(o){o=o(e,t);if(o instanceof Promise)return void o.then(r).catch(n)}("function"==typeof fetch?fetch:w)(e,t).then(r).catch(n)},P=!1;r.default=function(e,t,n,o){if("function"==typeof n&&(o=n,n=void 0),o=o||function(){},w&&0!==t.indexOf("file:")){var r=e,i=t,a=n,s=o,f=(r.queryStringParams&&(i=O(i,r.queryStringParams)),b({},"function"==typeof r.customHeaders?r.customHeaders():r.customHeaders)),u=("undefined"==typeof window&&void 0!==S&&void 0!==S.process&&S.process.versions&&S.process.versions.node&&(f["User-Agent"]="i18next-http-backend (node/".concat(S.process.version,"; ").concat(S.process.platform," ").concat(S.process.arch,")")),a&&(f["Content-Type"]="application/json"),"function"==typeof r.requestOptions?r.requestOptions(a):r.requestOptions),c=b({method:a?"POST":"GET",body:a?r.stringify(a):void 0,headers:f},P?{}:u),a="function"==typeof r.alternateFetch&&1<=r.alternateFetch.length?r.alternateFetch:void 0;try{j(i,c,s,a)}catch(e){if(!u||0===Object.keys(u).length||!e.message||e.message.indexOf("not implemented")<0)return s(e);try{Object.keys(u).forEach(function(e){delete c[e]}),j(i,c,s,a),P=!0}catch(e){s(e)}}}else if((0,h.hasXMLHttpRequest)()||"function"==typeof ActiveXObject){var f=e,r=t,u=n,l=o;u&&"object"===v(u)&&(u=O("",u).slice(1)),f.queryStringParams&&(r=O(r,f.queryStringParams));try{var d=m?new m:new g("MSXML2.XMLHTTP.3.0"),p=(d.open(u?"POST":"GET",r,1),f.crossDomain||d.setRequestHeader("X-Requested-With","XMLHttpRequest"),d.withCredentials=!!f.withCredentials,u&&d.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),d.overrideMimeType&&d.overrideMimeType("application/json"),f.customHeaders);if(p="function"==typeof p?p():p)for(var y in p)d.setRequestHeader(y,p[y]);d.onreadystatechange=function(){3e&&"function"==typeof e.then)(e))return e;return Promise.resolve(e)};var n=[],r=n.forEach,i=n.slice},{}],5:[function(e,t,n){},{}]},{},[2])(2)}); \ No newline at end of file diff --git a/node_modules/i18next-http-backend/index.d.mts b/node_modules/i18next-http-backend/index.d.mts new file mode 100644 index 00000000..ebc9130a --- /dev/null +++ b/node_modules/i18next-http-backend/index.d.mts @@ -0,0 +1,9 @@ +import * as index from './index.js'; + +export default index.default; + +export type HttpBackendOptions = index.HttpBackendOptions; +export type RequestCallback = index.RequestCallback; +export type LoadPathOption = index.LoadPathOption; +export type AddPathOption = index.AddPathOption; +export type RequestResponse = index.RequestResponse; diff --git a/node_modules/i18next-http-backend/index.d.ts b/node_modules/i18next-http-backend/index.d.ts new file mode 100644 index 00000000..ac5620c8 --- /dev/null +++ b/node_modules/i18next-http-backend/index.d.ts @@ -0,0 +1,140 @@ +import { BackendModule, MultiReadCallback, ReadCallback, ResourceKey } from "i18next"; + +type LoadPathOption = + | string + | ((lngs: string[], namespaces: string[]) => string) + | ((lngs: string[], namespaces: string[]) => Promise); + +type AddPathOption = + | string + | ((lng: string, namespace: string) => string); + +type FetchFunction = (input: string, init: RequestInit) => Promise | void + +export interface HttpBackendOptions { + /** + * Use an alternative fetch function that acts like an interecept, (usefull for low level mocks/simulations) + * + * This option is not called if: + * + * 1. There is an custom value set for the "request" property in this options object. + * 2. The backend selected xmlHttpRequest over fetch + * + * If the function is called and it returns anything BUT a promise the fetch or xmlHttpRequest will be subsequentially called + * + */ + alternateFetch?: FetchFunction; + /** + * path where resources get loaded from, or a function + * returning a path: + * function(lngs, namespaces) { return customPath; } + * the returned path will interpolate lng, ns if provided like giving a static path + */ + loadPath?: LoadPathOption; + /** + * path to post missing resources, must be `string` or a `function` returning a path: + * function(lng, namespace) { return customPath; } + */ + addPath?: AddPathOption; + /** + * parse data after it has been fetched + * in example use https://www.npmjs.com/package/json5 + * here it removes the letter a from the json (bad idea) + */ + parse?( + data: string, + languages?: string | string[], + namespaces?: string | string[] + ): { [key: string]: any }; + /** + * parse data before it has been sent by addPath + */ + parsePayload?( + namespace: string, + key: string, + fallbackValue?: string + ): { [key: string]: any }; + /** + * parse data before it has been sent by loadPath + * if value returned it will send a POST request + */ + parseLoadPayload?( + languages: string[], + namespaces: string[] + ): { [key: string]: any } | undefined; + /** + * allow cross domain requests + */ + crossDomain?: boolean; + /** + * allow credentials on cross domain requests + */ + withCredentials?: boolean; + /** + * define a custom xhr function + * can be used to support XDomainRequest in IE 8 and 9 + */ + request?( + options: HttpBackendOptions, + url: string, + payload: {} | string, + callback: RequestCallback + ): void; + /** + * adds parameters to resource URL. 'example.com' -> 'example.com?v=1.3.5' + */ + queryStringParams?: { [key: string]: string }; + + /** + * allows an object containing custom headers or a function that when called returns + * an object of custom headers + */ + customHeaders?: { [key: string]: string } | (() => { [key: string]: string }); + + /** + * can be used to reload resources in a specific + * interval (useful in server environments) + */ + reloadInterval?: false | number; + + /** + * fetch api request options, can be a function + */ + requestOptions?: RequestInit | ((payload: {} | string) => RequestInit); +} + +type RequestCallback = (error: any | undefined | null, response: RequestResponse | undefined | null) => void; + +interface RequestResponse { + status: number; + data: ResourceKey; +} + +export default class I18NextHttpBackend + implements BackendModule +{ + static type: "backend"; + constructor(services?: any, options?: HttpBackendOptions); + init(services?: any, options?: HttpBackendOptions): void; + readMulti?( + languages: string[], + namespaces: string[], + callback: MultiReadCallback + ): void; + read(language: string, namespace: string, callback: ReadCallback): void; + loadUrl( + url: string, + callback: ReadCallback, + languages?: string | string[], + namespaces?: string | string[] + ): void; + create?( + languages: string[], + namespace: string, + key: string, + fallbackValue: string + ): void; + type: "backend"; + services: any; + options: HttpBackendOptions; +} diff --git a/node_modules/i18next-http-backend/index.js b/node_modules/i18next-http-backend/index.js new file mode 100644 index 00000000..cfeac131 --- /dev/null +++ b/node_modules/i18next-http-backend/index.js @@ -0,0 +1,2 @@ +import backend from './lib/index.js' +export default backend diff --git a/node_modules/i18next-http-backend/lib/getFetch.cjs b/node_modules/i18next-http-backend/lib/getFetch.cjs new file mode 100644 index 00000000..46826e27 --- /dev/null +++ b/node_modules/i18next-http-backend/lib/getFetch.cjs @@ -0,0 +1,14 @@ +/* eslint-disable no-var, no-undef */ +var fetchApi = typeof fetch === 'function' ? fetch : undefined +if (typeof global !== 'undefined' && global.fetch) { + fetchApi = global.fetch +} else if (typeof window !== 'undefined' && window.fetch) { + fetchApi = window.fetch +} + +if (typeof require !== 'undefined' && typeof window === 'undefined') { + var f = fetchApi || require('cross-fetch') + if (f.default) f = f.default + exports.default = f + module.exports = exports.default +} diff --git a/node_modules/i18next-http-backend/lib/index.js b/node_modules/i18next-http-backend/lib/index.js new file mode 100644 index 00000000..3ef7ac0d --- /dev/null +++ b/node_modules/i18next-http-backend/lib/index.js @@ -0,0 +1,169 @@ +import { makePromise } from './utils.js' +import request from './request.js' + +const getDefaults = () => { + return { + loadPath: '/locales/{{lng}}/{{ns}}.json', + addPath: '/locales/add/{{lng}}/{{ns}}', + parse: data => JSON.parse(data), + stringify: JSON.stringify, + parsePayload: (namespace, key, fallbackValue) => ({ [key]: fallbackValue || '' }), + parseLoadPayload: (languages, namespaces) => undefined, + request, + reloadInterval: typeof window !== 'undefined' ? false : 60 * 60 * 1000, + customHeaders: {}, + queryStringParams: {}, + crossDomain: false, // used for XmlHttpRequest + withCredentials: false, // used for XmlHttpRequest + overrideMimeType: false, // used for XmlHttpRequest + requestOptions: { // used for fetch + mode: 'cors', + credentials: 'same-origin', + cache: 'default' + } + } +} + +class Backend { + constructor (services, options = {}, allOptions = {}) { + this.services = services + this.options = options + this.allOptions = allOptions + this.type = 'backend' + this.init(services, options, allOptions) + } + + init (services, options = {}, allOptions = {}) { + this.services = services + this.options = { ...getDefaults(), ...(this.options || {}), ...options } + this.allOptions = allOptions + if (this.services && this.options.reloadInterval) { + const timer = setInterval(() => this.reload(), this.options.reloadInterval) + if (typeof timer === 'object' && typeof timer.unref === 'function') timer.unref() + } + } + + readMulti (languages, namespaces, callback) { + this._readAny(languages, languages, namespaces, namespaces, callback) + } + + read (language, namespace, callback) { + this._readAny([language], language, [namespace], namespace, callback) + } + + _readAny (languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) { + let loadPath = this.options.loadPath + if (typeof this.options.loadPath === 'function') { + loadPath = this.options.loadPath(languages, namespaces) + } + + loadPath = makePromise(loadPath) + + loadPath.then(resolvedLoadPath => { + if (!resolvedLoadPath) return callback(null, {}) + const url = this.services.interpolator.interpolate(resolvedLoadPath, { lng: languages.join('+'), ns: namespaces.join('+') }) + this.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces) + }) + } + + loadUrl (url, callback, languages, namespaces) { + const lng = (typeof languages === 'string') ? [languages] : languages + const ns = (typeof namespaces === 'string') ? [namespaces] : namespaces + // parseLoadPayload — default undefined + const payload = this.options.parseLoadPayload(lng, ns) + this.options.request(this.options, url, payload, (err, res) => { + if (res && ((res.status >= 500 && res.status < 600) || !res.status)) return callback('failed loading ' + url + '; status code: ' + res.status, true /* retry */) + if (res && res.status >= 400 && res.status < 500) return callback('failed loading ' + url + '; status code: ' + res.status, false /* no retry */) + if (!res && err && err.message) { + const errorMessage = err.message.toLowerCase() + // for example: + // Chrome: "Failed to fetch" + // Firefox: "NetworkError when attempting to fetch resource." + // Safari: "Load failed" + const isNetworkError = [ + 'failed', + 'fetch', + 'network', + 'load' + ].find((term) => errorMessage.indexOf(term) > -1) + if (isNetworkError) { + return callback('failed loading ' + url + ': ' + err.message, true /* retry */) + } + } + if (err) return callback(err, false) + + let ret, parseErr + try { + if (typeof res.data === 'string') { + ret = this.options.parse(res.data, languages, namespaces) + } else { // fallback, which omits calling the parse function + ret = res.data + } + } catch (e) { + parseErr = 'failed parsing ' + url + ' to json' + } + if (parseErr) return callback(parseErr, false) + callback(null, ret) + }) + } + + create (languages, namespace, key, fallbackValue, callback) { + // If there is a falsey addPath, then abort -- this has been disabled. + if (!this.options.addPath) return + if (typeof languages === 'string') languages = [languages] + const payload = this.options.parsePayload(namespace, key, fallbackValue) + let finished = 0 + const dataArray = [] + const resArray = [] + languages.forEach(lng => { + let addPath = this.options.addPath + if (typeof this.options.addPath === 'function') { + addPath = this.options.addPath(lng, namespace) + } + const url = this.services.interpolator.interpolate(addPath, { lng, ns: namespace }) + + this.options.request(this.options, url, payload, (data, res) => { + // TODO: if res.status === 4xx do log + finished += 1 + dataArray.push(data) + resArray.push(res) + if (finished === languages.length) { + if (typeof callback === 'function') callback(dataArray, resArray) + } + }) + }) + } + + reload () { + const { backendConnector, languageUtils, logger } = this.services + const currentLanguage = backendConnector.language + if (currentLanguage && currentLanguage.toLowerCase() === 'cimode') return // avoid loading resources for cimode + + const toLoad = [] + const append = (lng) => { + const lngs = languageUtils.toResolveHierarchy(lng) + lngs.forEach(l => { + if (toLoad.indexOf(l) < 0) toLoad.push(l) + }) + } + + append(currentLanguage) + + if (this.allOptions.preload) this.allOptions.preload.forEach((l) => append(l)) + + toLoad.forEach(lng => { + this.allOptions.ns.forEach(ns => { + backendConnector.read(lng, ns, 'read', null, null, (err, data) => { + if (err) logger.warn(`loading namespace ${ns} for language ${lng} failed`, err) + if (!err && data) logger.log(`loaded namespace ${ns} for language ${lng}`, data) + + backendConnector.loaded(`${lng}|${ns}`, err, data) + }) + }) + }) + } +} + +Backend.type = 'backend' + +export default Backend diff --git a/node_modules/i18next-http-backend/lib/request.js b/node_modules/i18next-http-backend/lib/request.js new file mode 100644 index 00000000..bdc011d3 --- /dev/null +++ b/node_modules/i18next-http-backend/lib/request.js @@ -0,0 +1,171 @@ +import { hasXMLHttpRequest } from './utils.js' +import * as fetchNode from './getFetch.cjs' + +let fetchApi = typeof fetch === 'function' ? fetch : undefined +if (typeof global !== 'undefined' && global.fetch) { + fetchApi = global.fetch +} else if (typeof window !== 'undefined' && window.fetch) { + fetchApi = window.fetch +} +let XmlHttpRequestApi +if (hasXMLHttpRequest()) { + if (typeof global !== 'undefined' && global.XMLHttpRequest) { + XmlHttpRequestApi = global.XMLHttpRequest + } else if (typeof window !== 'undefined' && window.XMLHttpRequest) { + XmlHttpRequestApi = window.XMLHttpRequest + } +} +let ActiveXObjectApi +if (typeof ActiveXObject === 'function') { + if (typeof global !== 'undefined' && global.ActiveXObject) { + ActiveXObjectApi = global.ActiveXObject + } else if (typeof window !== 'undefined' && window.ActiveXObject) { + ActiveXObjectApi = window.ActiveXObject + } +} +if (!fetchApi && fetchNode && !XmlHttpRequestApi && !ActiveXObjectApi) fetchApi = fetchNode.default || fetchNode // because of strange export +if (typeof fetchApi !== 'function') fetchApi = undefined + +const addQueryString = (url, params) => { + if (params && typeof params === 'object') { + let queryString = '' + // Must encode data + for (const paramName in params) { + queryString += '&' + encodeURIComponent(paramName) + '=' + encodeURIComponent(params[paramName]) + } + if (!queryString) return url + url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1) + } + return url +} + +const fetchIt = (url, fetchOptions, callback, altFetch) => { + const resolver = (response) => { + if (!response.ok) return callback(response.statusText || 'Error', { status: response.status }) + response.text().then((data) => { + callback(null, { status: response.status, data }) + }).catch(callback) + } + if (altFetch) { + // already checked to have the proper signature + const altResponse = altFetch(url, fetchOptions) + if (altResponse instanceof Promise) { + altResponse.then(resolver).catch(callback) + return + } + // fall through + } + if (typeof fetch === 'function') { // react-native debug mode needs the fetch function to be called directly (no alias) + fetch(url, fetchOptions).then(resolver).catch(callback) + } else { + fetchApi(url, fetchOptions).then(resolver).catch(callback) + } +} + +let omitFetchOptions = false + +// fetch api stuff +const requestWithFetch = (options, url, payload, callback) => { + if (options.queryStringParams) { + url = addQueryString(url, options.queryStringParams) + } + const headers = { + ...(typeof options.customHeaders === 'function' ? options.customHeaders() : options.customHeaders) + } + if (typeof window === 'undefined' && typeof global !== 'undefined' && typeof global.process !== 'undefined' && global.process.versions && global.process.versions.node) { + headers['User-Agent'] = `i18next-http-backend (node/${global.process.version}; ${global.process.platform} ${global.process.arch})` + } + if (payload) headers['Content-Type'] = 'application/json' + const reqOptions = typeof options.requestOptions === 'function' ? options.requestOptions(payload) : options.requestOptions + const fetchOptions = { + method: payload ? 'POST' : 'GET', + body: payload ? options.stringify(payload) : undefined, + headers, + ...(omitFetchOptions ? {} : reqOptions) + } + const altFetch = typeof options.alternateFetch === 'function' && options.alternateFetch.length >= 1 ? options.alternateFetch : undefined + try { + fetchIt(url, fetchOptions, callback, altFetch) + } catch (e) { + if (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf('not implemented') < 0) { + return callback(e) + } + try { + Object.keys(reqOptions).forEach((opt) => { + delete fetchOptions[opt] + }) + fetchIt(url, fetchOptions, callback, altFetch) + omitFetchOptions = true + } catch (err) { + callback(err) + } + } +} + +// xml http request stuff +const requestWithXmlHttpRequest = (options, url, payload, callback) => { + if (payload && typeof payload === 'object') { + // if (!cache) payload._t = Date.now() + // URL encoded form payload must be in querystring format + payload = addQueryString('', payload).slice(1) + } + + if (options.queryStringParams) { + url = addQueryString(url, options.queryStringParams) + } + + try { + let x + if (XmlHttpRequestApi) { + x = new XmlHttpRequestApi() + } else { + x = new ActiveXObjectApi('MSXML2.XMLHTTP.3.0') + } + x.open(payload ? 'POST' : 'GET', url, 1) + if (!options.crossDomain) { + x.setRequestHeader('X-Requested-With', 'XMLHttpRequest') + } + x.withCredentials = !!options.withCredentials + if (payload) { + x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') + } + if (x.overrideMimeType) { + x.overrideMimeType('application/json') + } + let h = options.customHeaders + h = typeof h === 'function' ? h() : h + if (h) { + for (const i in h) { + x.setRequestHeader(i, h[i]) + } + } + x.onreadystatechange = () => { + x.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, { status: x.status, data: x.responseText }) + } + x.send(payload) + } catch (e) { + console && console.log(e) + } +} + +const request = (options, url, payload, callback) => { + if (typeof payload === 'function') { + callback = payload + payload = undefined + } + callback = callback || (() => {}) + + if (fetchApi && url.indexOf('file:') !== 0) { + // use fetch api + return requestWithFetch(options, url, payload, callback) + } + + if (hasXMLHttpRequest() || typeof ActiveXObject === 'function') { + // use xml http request + return requestWithXmlHttpRequest(options, url, payload, callback) + } + + callback(new Error('No fetch and no xhr implementation found!')) +} + +export default request diff --git a/node_modules/i18next-http-backend/lib/utils.js b/node_modules/i18next-http-backend/lib/utils.js new file mode 100644 index 00000000..c7181246 --- /dev/null +++ b/node_modules/i18next-http-backend/lib/utils.js @@ -0,0 +1,44 @@ +const arr = [] +const each = arr.forEach +const slice = arr.slice + +export function defaults (obj) { + each.call(slice.call(arguments, 1), (source) => { + if (source) { + for (const prop in source) { + if (obj[prop] === undefined) obj[prop] = source[prop] + } + } + }) + return obj +} + +export function hasXMLHttpRequest () { + return (typeof XMLHttpRequest === 'function' || typeof XMLHttpRequest === 'object') +} + +/** + * Determine whether the given `maybePromise` is a Promise. + * + * @param {*} maybePromise + * + * @returns {Boolean} + */ +function isPromise (maybePromise) { + return !!maybePromise && typeof maybePromise.then === 'function' +} + +/** + * Convert any value to a Promise than will resolve to this value. + * + * @param {*} maybePromise + * + * @returns {Promise} + */ +export function makePromise (maybePromise) { + if (isPromise(maybePromise)) { + return maybePromise + } + + return Promise.resolve(maybePromise) +} diff --git a/node_modules/i18next-http-backend/licence b/node_modules/i18next-http-backend/licence new file mode 100644 index 00000000..6b08763c --- /dev/null +++ b/node_modules/i18next-http-backend/licence @@ -0,0 +1,19 @@ +Copyright (c) 2024 i18next + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. diff --git a/node_modules/i18next-http-backend/package.json b/node_modules/i18next-http-backend/package.json new file mode 100644 index 00000000..98dec8f0 --- /dev/null +++ b/node_modules/i18next-http-backend/package.json @@ -0,0 +1,91 @@ +{ + "name": "i18next-http-backend", + "version": "2.7.3", + "private": false, + "type": "module", + "main": "./cjs/index.js", + "exports": { + "./package.json": "./package.json", + ".": { + "types": { + "require": "./cjs/index.d.ts", + "import": "./esm/index.d.mts" + }, + "module": "./esm/index.js", + "import": "./esm/index.js", + "require": "./cjs/index.js", + "default": "./esm/index.js" + }, + "./cjs": { + "types": "./cjs/index.d.ts", + "default": "./cjs/index.js" + }, + "./esm": { + "types": "./esm/index.d.ts", + "default": "./esm/index.js" + } + }, + "module": "./esm/index.js", + "dependencies": { + "cross-fetch": "4.0.0" + }, + "types": "./index.d.mts", + "devDependencies": { + "@babel/cli": "7.24.8", + "@babel/core": "7.25.2", + "@babel/preset-env": "7.25.3", + "babel-plugin-add-module-exports": "1.0.4", + "browserify": "17.0.0", + "dtslint": "4.2.1", + "eslint": "8.56.0", + "eslint-config-standard": "17.1.0", + "eslint-plugin-import": "2.29.1", + "eslint-plugin-n": "16.6.2", + "eslint-plugin-promise": "6.1.1", + "eslint-plugin-require-path-exists": "1.1.9", + "eslint-plugin-standard": "5.0.0", + "expect.js": "0.3.1", + "i18next": "23.14.0", + "json-server": "0.17.4", + "json5": "2.2.3", + "mocha": "10.7.3", + "tslint": "5.20.1", + "tsd": "0.31.1", + "typescript": "5.5.4", + "uglify-js": "3.19.2", + "xmlhttprequest": "1.8.0" + }, + "description": "i18next-http-backend is a backend layer for i18next using in Node.js, in the browser and for Deno.", + "keywords": [ + "i18next", + "i18next-backend", + "i18next-http-backend" + ], + "homepage": "https://github.com/i18next/i18next-http-backend", + "repository": { + "type": "git", + "url": "git@github.com:i18next/i18next-http-backend.git" + }, + "bugs": { + "url": "https://github.com/i18next/i18next-http-backend/issues" + }, + "license": "MIT", + "scripts": { + "lint": "eslint .", + "compile:esm": "rm -rf esm && mkdir esm && BABEL_ENV=esm babel lib -d esm && cp index.d.mts esm/index.d.mts && cp index.d.ts esm/index.d.ts && cp lib/getFetch.cjs esm/getFetch.cjs && rm -f esm/getFetch.js && node -e \"fs.writeFileSync('esm/getFetch.cjs', fs.readFileSync('esm/getFetch.cjs').toString().replace('/* eslint-disable no-var, no-undef */\\n', ''))\"", + "compile:cjs": "rm -rf cjs && mkdir cjs && BABEL_ENV=cjs babel lib -d cjs && cp index.d.ts cjs/index.d.ts && echo '{\"type\":\"commonjs\"}' > cjs/package.json && cp lib/getFetch.cjs cjs/getFetch.js && node -e \"fs.writeFileSync('cjs/getFetch.js', fs.readFileSync('cjs/getFetch.js').toString().replace('/* eslint-disable no-var, no-undef */\\n', ''))\" && node -e \"fs.writeFileSync('cjs/request.js', fs.readFileSync('cjs/request.js').toString().replace('getFetch.cjs', 'getFetch.js'))\"", + "compile": "npm run compile:esm && npm run compile:cjs", + "browser": "browserify --ignore cross-fetch --standalone i18nextHttpBackend cjs/index.js -o i18nextHttpBackend.js && uglifyjs i18nextHttpBackend.js --compress --mangle -o i18nextHttpBackend.min.js", + "build": "npm run compile && npm run browser", + "test:xmlhttpreq": "mocha test -R spec --require test/fixtures/xmlHttpRequest.cjs --experimental-modules", + "test:fetch": "mocha test -R spec --experimental-modules", + "test": "npm run lint && npm run build && npm run test:fetch && npm run test:xmlhttpreq && npm run test:typescript", + "test:typescript": "tslint --project tsconfig.json && tsd", + "test:deno": "deno test --allow-net test/deno/*.js", + "_preversion": "npm run test && npm run build && git push", + "_postversion": "git push && git push --tags" + }, + "tsd": { + "directory": "test/typescript" + } +} diff --git a/node_modules/i18next-http-backend/tslint.json b/node_modules/i18next-http-backend/tslint.json new file mode 100644 index 00000000..64cbccbc --- /dev/null +++ b/node_modules/i18next-http-backend/tslint.json @@ -0,0 +1,7 @@ +{ + "defaultSeverity": "error", + "extends": "dtslint/dtslint.json", + "rules": { + "semicolon": false + } +} diff --git a/node_modules/i18next/.nvmrc b/node_modules/i18next/.nvmrc new file mode 100644 index 00000000..7d41c735 --- /dev/null +++ b/node_modules/i18next/.nvmrc @@ -0,0 +1 @@ +22.14.0 diff --git a/node_modules/i18next/LICENSE b/node_modules/i18next/LICENSE new file mode 100644 index 00000000..50655e3f --- /dev/null +++ b/node_modules/i18next/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2025 i18next + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. diff --git a/node_modules/i18next/README.md b/node_modules/i18next/README.md new file mode 100644 index 00000000..6338ea10 --- /dev/null +++ b/node_modules/i18next/README.md @@ -0,0 +1,61 @@ +# i18next: learn once - translate everywhere [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Awesome%20i18next:%20learn%20once%20-%20translate%20everywhere%20-%20the%20internationalization%20ecosystem%20&url=https://github.com/i18next/i18next&via=jamuhl&hashtags=i18n,javascript,dev) + +[![CI](https://github.com/i18next/i18next/actions/workflows/CI.yml/badge.svg)](https://github.com/i18next/i18next/actions/workflows/CI.yml) +[![Code Climate](https://codeclimate.com/github/codeclimate/codeclimate/badges/gpa.svg)](https://codeclimate.com/github/i18next/i18next) +[![Coveralls](https://img.shields.io/coveralls/i18next/i18next/master.svg?style=flat-square)](https://coveralls.io/github/i18next/i18next) +[![Package Quality](https://packagequality.com/shield/i18next.svg)](https://packagequality.com/#?package=i18next) +[![cdnjs version](https://img.shields.io/cdnjs/v/i18next.svg?style=flat-square)](https://cdnjs.com/libraries/i18next) +[![npm version](https://img.shields.io/npm/v/i18next.svg?style=flat-square)](https://www.npmjs.com/package/i18next) +![npm](https://img.shields.io/npm/dw/i18next) +[![Gurubase](https://img.shields.io/badge/Gurubase-Ask%20i18next%20Guru-006BFF)](https://gurubase.io/g/i18next) + +i18next is a very popular internationalization framework for browser or any other javascript environment (eg. Node.js, Deno). + +![ecosystem](https://raw.githubusercontent.com/i18next/i18next/master/assets/i18next-ecosystem.jpg) + +i18next provides: + +- Flexible connection to [backend](https://www.i18next.com/overview/plugins-and-utils#backends) (loading translations via xhr, ...) +- Optional [caching](https://www.i18next.com/how-to/caching), user [language detection](https://www.i18next.com/overview/plugins-and-utils#language-detector), ... +- Proper [pluralizations](https://www.i18next.com/translation-function/plurals) +- Translation [context](https://www.i18next.com/translation-function/context) +- [Nesting](https://www.i18next.com/translation-function/nesting), [Variable replacement](https://www.i18next.com/translation-function/interpolation) +- Flexibility: [Use it everywhere](https://www.i18next.com/overview/supported-frameworks) +- Extensibility: eg. [sprintf](https://www.i18next.com/overview/plugins-and-utils#post-processors) +- ... + +For more information visit the website: + +- [Getting started](https://www.i18next.com/overview/getting-started) +- [Translation Functionality](https://www.i18next.com/translation-function/essentials) +- [API](https://www.i18next.com/overview/api) + +Our focus is providing the core to building a booming ecosystem. Independent of the building blocks you choose, be it react, angular or even good old jquery proper translation capabilities are just [one step away](https://www.i18next.com/overview/supported-frameworks). + +### Documentation + +The general i18next documentation is published on [www.i18next.com](https://www.i18next.com) and PR changes can be supplied [here](https://github.com/i18next/i18next-gitbook). + +The react specific documentation is published on [react.i18next.com](https://react.i18next.com) and PR changes can be supplied [here](https://github.com/i18next/react-i18next-gitbook). + +--- + +

Gold Sponsors

+ +

+ + + +

+ +--- + +**From the creators of i18next: localization as a service - locize.com** + +A translation management system built around the i18next ecosystem - [locize.com](https://locize.com). + +![locize](https://cdn.prod.website-files.com/67a323e323a50df7f24f0a6f/67b8bbb29365c3a3c21c0898_github_locize.png) + +With using [locize](https://locize.com/?utm_source=i18next_readme&utm_medium=github) you directly support the future of i18next. + +--- diff --git a/node_modules/i18next/dist/cjs/i18next.js b/node_modules/i18next/dist/cjs/i18next.js new file mode 100644 index 00000000..52c70646 --- /dev/null +++ b/node_modules/i18next/dist/cjs/i18next.js @@ -0,0 +1,2141 @@ +'use strict'; + +const isString = obj => typeof obj === 'string'; +const defer = () => { + let res; + let rej; + const promise = new Promise((resolve, reject) => { + res = resolve; + rej = reject; + }); + promise.resolve = res; + promise.reject = rej; + return promise; +}; +const makeString = object => { + if (object == null) return ''; + return '' + object; +}; +const copy = (a, s, t) => { + a.forEach(m => { + if (s[m]) t[m] = s[m]; + }); +}; +const lastOfPathSeparatorRegExp = /###/g; +const cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key; +const canNotTraverseDeeper = object => !object || isString(object); +const getLastOfPath = (object, path, Empty) => { + const stack = !isString(path) ? path : path.split('.'); + let stackIndex = 0; + while (stackIndex < stack.length - 1) { + if (canNotTraverseDeeper(object)) return {}; + const key = cleanKey(stack[stackIndex]); + if (!object[key] && Empty) object[key] = new Empty(); + if (Object.prototype.hasOwnProperty.call(object, key)) { + object = object[key]; + } else { + object = {}; + } + ++stackIndex; + } + if (canNotTraverseDeeper(object)) return {}; + return { + obj: object, + k: cleanKey(stack[stackIndex]) + }; +}; +const setPath = (object, path, newValue) => { + const { + obj, + k + } = getLastOfPath(object, path, Object); + if (obj !== undefined || path.length === 1) { + obj[k] = newValue; + return; + } + let e = path[path.length - 1]; + let p = path.slice(0, path.length - 1); + let last = getLastOfPath(object, p, Object); + while (last.obj === undefined && p.length) { + e = `${p[p.length - 1]}.${e}`; + p = p.slice(0, p.length - 1); + last = getLastOfPath(object, p, Object); + if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') { + last.obj = undefined; + } + } + last.obj[`${last.k}.${e}`] = newValue; +}; +const pushPath = (object, path, newValue, concat) => { + const { + obj, + k + } = getLastOfPath(object, path, Object); + obj[k] = obj[k] || []; + obj[k].push(newValue); +}; +const getPath = (object, path) => { + const { + obj, + k + } = getLastOfPath(object, path); + if (!obj) return undefined; + if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined; + return obj[k]; +}; +const getPathWithDefaults = (data, defaultData, key) => { + const value = getPath(data, key); + if (value !== undefined) { + return value; + } + return getPath(defaultData, key); +}; +const deepExtend = (target, source, overwrite) => { + for (const prop in source) { + if (prop !== '__proto__' && prop !== 'constructor') { + if (prop in target) { + if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) { + if (overwrite) target[prop] = source[prop]; + } else { + deepExtend(target[prop], source[prop], overwrite); + } + } else { + target[prop] = source[prop]; + } + } + } + return target; +}; +const regexEscape = str => str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); +var _entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' +}; +const escape = data => { + if (isString(data)) { + return data.replace(/[&<>"'\/]/g, s => _entityMap[s]); + } + return data; +}; +class RegExpCache { + constructor(capacity) { + this.capacity = capacity; + this.regExpMap = new Map(); + this.regExpQueue = []; + } + getRegExp(pattern) { + const regExpFromCache = this.regExpMap.get(pattern); + if (regExpFromCache !== undefined) { + return regExpFromCache; + } + const regExpNew = new RegExp(pattern); + if (this.regExpQueue.length === this.capacity) { + this.regExpMap.delete(this.regExpQueue.shift()); + } + this.regExpMap.set(pattern, regExpNew); + this.regExpQueue.push(pattern); + return regExpNew; + } +} +const chars = [' ', ',', '?', '!', ';']; +const looksLikeObjectPathRegExpCache = new RegExpCache(20); +const looksLikeObjectPath = (key, nsSeparator, keySeparator) => { + nsSeparator = nsSeparator || ''; + keySeparator = keySeparator || ''; + const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0); + if (possibleChars.length === 0) return true; + const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\?' : c).join('|')})`); + let matched = !r.test(key); + if (!matched) { + const ki = key.indexOf(keySeparator); + if (ki > 0 && !r.test(key.substring(0, ki))) { + matched = true; + } + } + return matched; +}; +const deepFind = (obj, path, keySeparator = '.') => { + if (!obj) return undefined; + if (obj[path]) { + if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined; + return obj[path]; + } + const tokens = path.split(keySeparator); + let current = obj; + for (let i = 0; i < tokens.length;) { + if (!current || typeof current !== 'object') { + return undefined; + } + let next; + let nextPath = ''; + for (let j = i; j < tokens.length; ++j) { + if (j !== i) { + nextPath += keySeparator; + } + nextPath += tokens[j]; + next = current[nextPath]; + if (next !== undefined) { + if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) { + continue; + } + i += j - i + 1; + break; + } + } + current = next; + } + return current; +}; +const getCleanedCode = code => code?.replace('_', '-'); + +const consoleLogger = { + type: 'logger', + log(args) { + this.output('log', args); + }, + warn(args) { + this.output('warn', args); + }, + error(args) { + this.output('error', args); + }, + output(type, args) { + console?.[type]?.apply?.(console, args); + } +}; +class Logger { + constructor(concreteLogger, options = {}) { + this.init(concreteLogger, options); + } + init(concreteLogger, options = {}) { + this.prefix = options.prefix || 'i18next:'; + this.logger = concreteLogger || consoleLogger; + this.options = options; + this.debug = options.debug; + } + log(...args) { + return this.forward(args, 'log', '', true); + } + warn(...args) { + return this.forward(args, 'warn', '', true); + } + error(...args) { + return this.forward(args, 'error', ''); + } + deprecate(...args) { + return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true); + } + forward(args, lvl, prefix, debugOnly) { + if (debugOnly && !this.debug) return null; + if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`; + return this.logger[lvl](args); + } + create(moduleName) { + return new Logger(this.logger, { + ...{ + prefix: `${this.prefix}:${moduleName}:` + }, + ...this.options + }); + } + clone(options) { + options = options || this.options; + options.prefix = options.prefix || this.prefix; + return new Logger(this.logger, options); + } +} +var baseLogger = new Logger(); + +class EventEmitter { + constructor() { + this.observers = {}; + } + on(events, listener) { + events.split(' ').forEach(event => { + if (!this.observers[event]) this.observers[event] = new Map(); + const numListeners = this.observers[event].get(listener) || 0; + this.observers[event].set(listener, numListeners + 1); + }); + return this; + } + off(event, listener) { + if (!this.observers[event]) return; + if (!listener) { + delete this.observers[event]; + return; + } + this.observers[event].delete(listener); + } + emit(event, ...args) { + if (this.observers[event]) { + const cloned = Array.from(this.observers[event].entries()); + cloned.forEach(([observer, numTimesAdded]) => { + for (let i = 0; i < numTimesAdded; i++) { + observer(...args); + } + }); + } + if (this.observers['*']) { + const cloned = Array.from(this.observers['*'].entries()); + cloned.forEach(([observer, numTimesAdded]) => { + for (let i = 0; i < numTimesAdded; i++) { + observer.apply(observer, [event, ...args]); + } + }); + } + } +} + +class ResourceStore extends EventEmitter { + constructor(data, options = { + ns: ['translation'], + defaultNS: 'translation' + }) { + super(); + this.data = data || {}; + this.options = options; + if (this.options.keySeparator === undefined) { + this.options.keySeparator = '.'; + } + if (this.options.ignoreJSONStructure === undefined) { + this.options.ignoreJSONStructure = true; + } + } + addNamespaces(ns) { + if (this.options.ns.indexOf(ns) < 0) { + this.options.ns.push(ns); + } + } + removeNamespaces(ns) { + const index = this.options.ns.indexOf(ns); + if (index > -1) { + this.options.ns.splice(index, 1); + } + } + getResource(lng, ns, key, options = {}) { + const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure; + let path; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + } else { + path = [lng, ns]; + if (key) { + if (Array.isArray(key)) { + path.push(...key); + } else if (isString(key) && keySeparator) { + path.push(...key.split(keySeparator)); + } else { + path.push(key); + } + } + } + const result = getPath(this.data, path); + if (!result && !ns && !key && lng.indexOf('.') > -1) { + lng = path[0]; + ns = path[1]; + key = path.slice(2).join('.'); + } + if (result || !ignoreJSONStructure || !isString(key)) return result; + return deepFind(this.data?.[lng]?.[ns], key, keySeparator); + } + addResource(lng, ns, key, value, options = { + silent: false + }) { + const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + let path = [lng, ns]; + if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + value = ns; + ns = path[1]; + } + this.addNamespaces(ns); + setPath(this.data, path, value); + if (!options.silent) this.emit('added', lng, ns, key, value); + } + addResources(lng, ns, resources, options = { + silent: false + }) { + for (const m in resources) { + if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], { + silent: true + }); + } + if (!options.silent) this.emit('added', lng, ns, resources); + } + addResourceBundle(lng, ns, resources, deep, overwrite, options = { + silent: false, + skipCopy: false + }) { + let path = [lng, ns]; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + deep = resources; + resources = ns; + ns = path[1]; + } + this.addNamespaces(ns); + let pack = getPath(this.data, path) || {}; + if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources)); + if (deep) { + deepExtend(pack, resources, overwrite); + } else { + pack = { + ...pack, + ...resources + }; + } + setPath(this.data, path, pack); + if (!options.silent) this.emit('added', lng, ns, resources); + } + removeResourceBundle(lng, ns) { + if (this.hasResourceBundle(lng, ns)) { + delete this.data[lng][ns]; + } + this.removeNamespaces(ns); + this.emit('removed', lng, ns); + } + hasResourceBundle(lng, ns) { + return this.getResource(lng, ns) !== undefined; + } + getResourceBundle(lng, ns) { + if (!ns) ns = this.options.defaultNS; + return this.getResource(lng, ns); + } + getDataByLanguage(lng) { + return this.data[lng]; + } + hasLanguageSomeTranslations(lng) { + const data = this.getDataByLanguage(lng); + const n = data && Object.keys(data) || []; + return !!n.find(v => data[v] && Object.keys(data[v]).length > 0); + } + toJSON() { + return this.data; + } +} + +var postProcessor = { + processors: {}, + addPostProcessor(module) { + this.processors[module.name] = module; + }, + handle(processors, value, key, options, translator) { + processors.forEach(processor => { + value = this.processors[processor]?.process(value, key, options, translator) ?? value; + }); + return value; + } +}; + +const checkedLoadedFor = {}; +const shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number'; +class Translator extends EventEmitter { + constructor(services, options = {}) { + super(); + copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this); + this.options = options; + if (this.options.keySeparator === undefined) { + this.options.keySeparator = '.'; + } + this.logger = baseLogger.create('translator'); + } + changeLanguage(lng) { + if (lng) this.language = lng; + } + exists(key, o = { + interpolation: {} + }) { + const opt = { + ...o + }; + if (key == null) return false; + const resolved = this.resolve(key, opt); + return resolved?.res !== undefined; + } + extractFromKey(key, opt) { + let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator; + let namespaces = opt.ns || this.options.defaultNS || []; + const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1; + const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator); + if (wouldCheckForNsInKey && !seemsNaturalLanguage) { + const m = key.match(this.interpolator.nestingRegexp); + if (m && m.length > 0) { + return { + key, + namespaces: isString(namespaces) ? [namespaces] : namespaces + }; + } + const parts = key.split(nsSeparator); + if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift(); + key = parts.join(keySeparator); + } + return { + key, + namespaces: isString(namespaces) ? [namespaces] : namespaces + }; + } + translate(keys, o, lastKey) { + let opt = typeof o === 'object' ? { + ...o + } : o; + if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) { + opt = this.options.overloadTranslationOptionHandler(arguments); + } + if (typeof options === 'object') opt = { + ...opt + }; + if (!opt) opt = {}; + if (keys == null) return ''; + if (!Array.isArray(keys)) keys = [String(keys)]; + const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails; + const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator; + const { + key, + namespaces + } = this.extractFromKey(keys[keys.length - 1], opt); + const namespace = namespaces[namespaces.length - 1]; + let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + const lng = opt.lng || this.language; + const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode; + if (lng?.toLowerCase() === 'cimode') { + if (appendNamespaceToCIMode) { + if (returnDetails) { + return { + res: `${namespace}${nsSeparator}${key}`, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace, + usedParams: this.getUsedParamsDetails(opt) + }; + } + return `${namespace}${nsSeparator}${key}`; + } + if (returnDetails) { + return { + res: key, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace, + usedParams: this.getUsedParamsDetails(opt) + }; + } + return key; + } + const resolved = this.resolve(keys, opt); + let res = resolved?.res; + const resUsedKey = resolved?.usedKey || key; + const resExactUsedKey = resolved?.exactUsedKey || key; + const noObject = ['[object Number]', '[object Function]', '[object RegExp]']; + const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays; + const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject; + const needsPluralHandling = opt.count !== undefined && !isString(opt.count); + const hasDefaultValue = Translator.hasDefaultValue(opt); + const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : ''; + const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, { + ordinal: false + }) : ''; + const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0; + const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue; + let resForObjHndl = res; + if (handleAsObjectInI18nFormat && !res && hasDefaultValue) { + resForObjHndl = defaultValue; + } + const handleAsObject = shouldHandleAsObject(resForObjHndl); + const resType = Object.prototype.toString.apply(resForObjHndl); + if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) { + if (!opt.returnObjects && !this.options.returnObjects) { + if (!this.options.returnedObjectHandler) { + this.logger.warn('accessing an object - but returnObjects options is not enabled!'); + } + const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, { + ...opt, + ns: namespaces + }) : `key '${key} (${this.language})' returned an object instead of string.`; + if (returnDetails) { + resolved.res = r; + resolved.usedParams = this.getUsedParamsDetails(opt); + return resolved; + } + return r; + } + if (keySeparator) { + const resTypeIsArray = Array.isArray(resForObjHndl); + const copy = resTypeIsArray ? [] : {}; + const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey; + for (const m in resForObjHndl) { + if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) { + const deepKey = `${newKeyToUse}${keySeparator}${m}`; + if (hasDefaultValue && !res) { + copy[m] = this.translate(deepKey, { + ...opt, + defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined, + ...{ + joinArrays: false, + ns: namespaces + } + }); + } else { + copy[m] = this.translate(deepKey, { + ...opt, + ...{ + joinArrays: false, + ns: namespaces + } + }); + } + if (copy[m] === deepKey) copy[m] = resForObjHndl[m]; + } + } + res = copy; + } + } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) { + res = res.join(joinArrays); + if (res) res = this.extendTranslation(res, keys, opt, lastKey); + } else { + let usedDefault = false; + let usedKey = false; + if (!this.isValidLookup(res) && hasDefaultValue) { + usedDefault = true; + res = defaultValue; + } + if (!this.isValidLookup(res)) { + usedKey = true; + res = key; + } + const missingKeyNoValueFallbackToKey = opt.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey; + const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res; + const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing; + if (usedKey || usedDefault || updateMissing) { + this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res); + if (keySeparator) { + const fk = this.resolve(key, { + ...opt, + keySeparator: false + }); + if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.'); + } + let lngs = []; + const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, opt.lng || this.language); + if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) { + for (let i = 0; i < fallbackLngs.length; i++) { + lngs.push(fallbackLngs[i]); + } + } else if (this.options.saveMissingTo === 'all') { + lngs = this.languageUtils.toResolveHierarchy(opt.lng || this.language); + } else { + lngs.push(opt.lng || this.language); + } + const send = (l, k, specificDefaultValue) => { + const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing; + if (this.options.missingKeyHandler) { + this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, opt); + } else if (this.backendConnector?.saveMissing) { + this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt); + } + this.emit('missingKey', l, namespace, k, res); + }; + if (this.options.saveMissing) { + if (this.options.saveMissingPlurals && needsPluralHandling) { + lngs.forEach(language => { + const suffixes = this.pluralResolver.getSuffixes(language, opt); + if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) { + suffixes.push(`${this.options.pluralSeparator}zero`); + } + suffixes.forEach(suffix => { + send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue); + }); + }); + } else { + send(lngs, key, defaultValue); + } + } + } + res = this.extendTranslation(res, keys, opt, resolved, lastKey); + if (usedKey && res === key && this.options.appendNamespaceToMissingKey) { + res = `${namespace}${nsSeparator}${key}`; + } + if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) { + res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt); + } + } + if (returnDetails) { + resolved.res = res; + resolved.usedParams = this.getUsedParamsDetails(opt); + return resolved; + } + return res; + } + extendTranslation(res, key, opt, resolved, lastKey) { + if (this.i18nFormat?.parse) { + res = this.i18nFormat.parse(res, { + ...this.options.interpolation.defaultVariables, + ...opt + }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, { + resolved + }); + } else if (!opt.skipInterpolation) { + if (opt.interpolation) this.interpolator.init({ + ...opt, + ...{ + interpolation: { + ...this.options.interpolation, + ...opt.interpolation + } + } + }); + const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables); + let nestBef; + if (skipOnVariables) { + const nb = res.match(this.interpolator.nestingRegexp); + nestBef = nb && nb.length; + } + let data = opt.replace && !isString(opt.replace) ? opt.replace : opt; + if (this.options.interpolation.defaultVariables) data = { + ...this.options.interpolation.defaultVariables, + ...data + }; + res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt); + if (skipOnVariables) { + const na = res.match(this.interpolator.nestingRegexp); + const nestAft = na && na.length; + if (nestBef < nestAft) opt.nest = false; + } + if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng; + if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => { + if (lastKey?.[0] === args[0] && !opt.context) { + this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`); + return null; + } + return this.translate(...args, key); + }, opt); + if (opt.interpolation) this.interpolator.reset(); + } + const postProcess = opt.postProcess || this.options.postProcess; + const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess; + if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) { + res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? { + i18nResolved: { + ...resolved, + usedParams: this.getUsedParamsDetails(opt) + }, + ...opt + } : opt, this); + } + return res; + } + resolve(keys, opt = {}) { + let found; + let usedKey; + let exactUsedKey; + let usedLng; + let usedNS; + if (isString(keys)) keys = [keys]; + keys.forEach(k => { + if (this.isValidLookup(found)) return; + const extracted = this.extractFromKey(k, opt); + const key = extracted.key; + usedKey = key; + let namespaces = extracted.namespaces; + if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS); + const needsPluralHandling = opt.count !== undefined && !isString(opt.count); + const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0; + const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== ''; + const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng); + namespaces.forEach(ns => { + if (this.isValidLookup(found)) return; + usedNS = ns; + if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) { + checkedLoadedFor[`${codes[0]}-${ns}`] = true; + this.logger.warn(`key "${usedKey}" for languages "${codes.join(', ')}" won't get resolved as namespace "${usedNS}" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + } + codes.forEach(code => { + if (this.isValidLookup(found)) return; + usedLng = code; + const finalKeys = [key]; + if (this.i18nFormat?.addLookupKeys) { + this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt); + } else { + let pluralSuffix; + if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt); + const zeroSuffix = `${this.options.pluralSeparator}zero`; + const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`; + if (needsPluralHandling) { + finalKeys.push(key + pluralSuffix); + if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) { + finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator)); + } + if (needsZeroSuffixLookup) { + finalKeys.push(key + zeroSuffix); + } + } + if (needsContextHandling) { + const contextKey = `${key}${this.options.contextSeparator}${opt.context}`; + finalKeys.push(contextKey); + if (needsPluralHandling) { + finalKeys.push(contextKey + pluralSuffix); + if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) { + finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator)); + } + if (needsZeroSuffixLookup) { + finalKeys.push(contextKey + zeroSuffix); + } + } + } + } + let possibleKey; + while (possibleKey = finalKeys.pop()) { + if (!this.isValidLookup(found)) { + exactUsedKey = possibleKey; + found = this.getResource(code, ns, possibleKey, opt); + } + } + }); + }); + }); + return { + res: found, + usedKey, + exactUsedKey, + usedLng, + usedNS + }; + } + isValidLookup(res) { + return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === ''); + } + getResource(code, ns, key, options = {}) { + if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options); + return this.resourceStore.getResource(code, ns, key, options); + } + getUsedParamsDetails(options = {}) { + const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation']; + const useOptionsReplaceForData = options.replace && !isString(options.replace); + let data = useOptionsReplaceForData ? options.replace : options; + if (useOptionsReplaceForData && typeof options.count !== 'undefined') { + data.count = options.count; + } + if (this.options.interpolation.defaultVariables) { + data = { + ...this.options.interpolation.defaultVariables, + ...data + }; + } + if (!useOptionsReplaceForData) { + data = { + ...data + }; + for (const key of optionsKeys) { + delete data[key]; + } + } + return data; + } + static hasDefaultValue(options) { + const prefix = 'defaultValue'; + for (const option in options) { + if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) { + return true; + } + } + return false; + } +} + +class LanguageUtil { + constructor(options) { + this.options = options; + this.supportedLngs = this.options.supportedLngs || false; + this.logger = baseLogger.create('languageUtils'); + } + getScriptPartFromCode(code) { + code = getCleanedCode(code); + if (!code || code.indexOf('-') < 0) return null; + const p = code.split('-'); + if (p.length === 2) return null; + p.pop(); + if (p[p.length - 1].toLowerCase() === 'x') return null; + return this.formatLanguageCode(p.join('-')); + } + getLanguagePartFromCode(code) { + code = getCleanedCode(code); + if (!code || code.indexOf('-') < 0) return code; + const p = code.split('-'); + return this.formatLanguageCode(p[0]); + } + formatLanguageCode(code) { + if (isString(code) && code.indexOf('-') > -1) { + let formattedCode; + try { + formattedCode = Intl.getCanonicalLocales(code)[0]; + } catch (e) {} + if (formattedCode && this.options.lowerCaseLng) { + formattedCode = formattedCode.toLowerCase(); + } + if (formattedCode) return formattedCode; + if (this.options.lowerCaseLng) { + return code.toLowerCase(); + } + return code; + } + return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code; + } + isSupportedCode(code) { + if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) { + code = this.getLanguagePartFromCode(code); + } + return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1; + } + getBestMatchFromCodes(codes) { + if (!codes) return null; + let found; + codes.forEach(code => { + if (found) return; + const cleanedLng = this.formatLanguageCode(code); + if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng; + }); + if (!found && this.options.supportedLngs) { + codes.forEach(code => { + if (found) return; + const lngScOnly = this.getScriptPartFromCode(code); + if (this.isSupportedCode(lngScOnly)) return found = lngScOnly; + const lngOnly = this.getLanguagePartFromCode(code); + if (this.isSupportedCode(lngOnly)) return found = lngOnly; + found = this.options.supportedLngs.find(supportedLng => { + if (supportedLng === lngOnly) return supportedLng; + if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return; + if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng; + if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng; + }); + }); + } + if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0]; + return found; + } + getFallbackCodes(fallbacks, code) { + if (!fallbacks) return []; + if (typeof fallbacks === 'function') fallbacks = fallbacks(code); + if (isString(fallbacks)) fallbacks = [fallbacks]; + if (Array.isArray(fallbacks)) return fallbacks; + if (!code) return fallbacks.default || []; + let found = fallbacks[code]; + if (!found) found = fallbacks[this.getScriptPartFromCode(code)]; + if (!found) found = fallbacks[this.formatLanguageCode(code)]; + if (!found) found = fallbacks[this.getLanguagePartFromCode(code)]; + if (!found) found = fallbacks.default; + return found || []; + } + toResolveHierarchy(code, fallbackCode) { + const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code); + const codes = []; + const addCode = c => { + if (!c) return; + if (this.isSupportedCode(c)) { + codes.push(c); + } else { + this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`); + } + }; + if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) { + if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code)); + if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code)); + if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code)); + } else if (isString(code)) { + addCode(this.formatLanguageCode(code)); + } + fallbackCodes.forEach(fc => { + if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc)); + }); + return codes; + } +} + +const suffixesOrder = { + zero: 0, + one: 1, + two: 2, + few: 3, + many: 4, + other: 5 +}; +const dummyRule = { + select: count => count === 1 ? 'one' : 'other', + resolvedOptions: () => ({ + pluralCategories: ['one', 'other'] + }) +}; +class PluralResolver { + constructor(languageUtils, options = {}) { + this.languageUtils = languageUtils; + this.options = options; + this.logger = baseLogger.create('pluralResolver'); + this.pluralRulesCache = {}; + } + addRule(lng, obj) { + this.rules[lng] = obj; + } + clearCache() { + this.pluralRulesCache = {}; + } + getRule(code, options = {}) { + const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code); + const type = options.ordinal ? 'ordinal' : 'cardinal'; + const cacheKey = JSON.stringify({ + cleanedCode, + type + }); + if (cacheKey in this.pluralRulesCache) { + return this.pluralRulesCache[cacheKey]; + } + let rule; + try { + rule = new Intl.PluralRules(cleanedCode, { + type + }); + } catch (err) { + if (!Intl) { + this.logger.error('No Intl support, please use an Intl polyfill!'); + return dummyRule; + } + if (!code.match(/-|_/)) return dummyRule; + const lngPart = this.languageUtils.getLanguagePartFromCode(code); + rule = this.getRule(lngPart, options); + } + this.pluralRulesCache[cacheKey] = rule; + return rule; + } + needsPlural(code, options = {}) { + let rule = this.getRule(code, options); + if (!rule) rule = this.getRule('dev', options); + return rule?.resolvedOptions().pluralCategories.length > 1; + } + getPluralFormsOfKey(code, key, options = {}) { + return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`); + } + getSuffixes(code, options = {}) { + let rule = this.getRule(code, options); + if (!rule) rule = this.getRule('dev', options); + if (!rule) return []; + return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`); + } + getSuffix(code, count, options = {}) { + const rule = this.getRule(code, options); + if (rule) { + return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`; + } + this.logger.warn(`no plural rule found for: ${code}`); + return this.getSuffix('dev', count, options); + } +} + +const deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => { + let path = getPathWithDefaults(data, defaultData, key); + if (!path && ignoreJSONStructure && isString(key)) { + path = deepFind(data, key, keySeparator); + if (path === undefined) path = deepFind(defaultData, key, keySeparator); + } + return path; +}; +const regexSafe = val => val.replace(/\$/g, '$$$$'); +class Interpolator { + constructor(options = {}) { + this.logger = baseLogger.create('interpolator'); + this.options = options; + this.format = options?.interpolation?.format || (value => value); + this.init(options); + } + init(options = {}) { + if (!options.interpolation) options.interpolation = { + escapeValue: true + }; + const { + escape: escape$1, + escapeValue, + useRawValueToEscape, + prefix, + prefixEscaped, + suffix, + suffixEscaped, + formatSeparator, + unescapeSuffix, + unescapePrefix, + nestingPrefix, + nestingPrefixEscaped, + nestingSuffix, + nestingSuffixEscaped, + nestingOptionsSeparator, + maxReplaces, + alwaysFormat + } = options.interpolation; + this.escape = escape$1 !== undefined ? escape$1 : escape; + this.escapeValue = escapeValue !== undefined ? escapeValue : true; + this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false; + this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{'; + this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}'; + this.formatSeparator = formatSeparator || ','; + this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-'; + this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || ''; + this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t('); + this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')'); + this.nestingOptionsSeparator = nestingOptionsSeparator || ','; + this.maxReplaces = maxReplaces || 1000; + this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false; + this.resetRegExp(); + } + reset() { + if (this.options) this.init(this.options); + } + resetRegExp() { + const getOrResetRegExp = (existingRegExp, pattern) => { + if (existingRegExp?.source === pattern) { + existingRegExp.lastIndex = 0; + return existingRegExp; + } + return new RegExp(pattern, 'g'); + }; + this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`); + this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`); + this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`); + } + interpolate(str, data, lng, options) { + let match; + let value; + let replaces; + const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}; + const handleFormat = key => { + if (key.indexOf(this.formatSeparator) < 0) { + const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure); + return this.alwaysFormat ? this.format(path, undefined, lng, { + ...options, + ...data, + interpolationkey: key + }) : path; + } + const p = key.split(this.formatSeparator); + const k = p.shift().trim(); + const f = p.join(this.formatSeparator).trim(); + return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, { + ...options, + ...data, + interpolationkey: k + }); + }; + this.resetRegExp(); + const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler; + const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables; + const todos = [{ + regex: this.regexpUnescape, + safeValue: val => regexSafe(val) + }, { + regex: this.regexp, + safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val) + }]; + todos.forEach(todo => { + replaces = 0; + while (match = todo.regex.exec(str)) { + const matchedVar = match[1].trim(); + value = handleFormat(matchedVar); + if (value === undefined) { + if (typeof missingInterpolationHandler === 'function') { + const temp = missingInterpolationHandler(str, match, options); + value = isString(temp) ? temp : ''; + } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) { + value = ''; + } else if (skipOnVariables) { + value = match[0]; + continue; + } else { + this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`); + value = ''; + } + } else if (!isString(value) && !this.useRawValueToEscape) { + value = makeString(value); + } + const safeValue = todo.safeValue(value); + str = str.replace(match[0], safeValue); + if (skipOnVariables) { + todo.regex.lastIndex += value.length; + todo.regex.lastIndex -= match[0].length; + } else { + todo.regex.lastIndex = 0; + } + replaces++; + if (replaces >= this.maxReplaces) { + break; + } + } + }); + return str; + } + nest(str, fc, options = {}) { + let match; + let value; + let clonedOptions; + const handleHasOptions = (key, inheritedOptions) => { + const sep = this.nestingOptionsSeparator; + if (key.indexOf(sep) < 0) return key; + const c = key.split(new RegExp(`${sep}[ ]*{`)); + let optionsString = `{${c[1]}`; + key = c[0]; + optionsString = this.interpolate(optionsString, clonedOptions); + const matchedSingleQuotes = optionsString.match(/'/g); + const matchedDoubleQuotes = optionsString.match(/"/g); + if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) { + optionsString = optionsString.replace(/'/g, '"'); + } + try { + clonedOptions = JSON.parse(optionsString); + if (inheritedOptions) clonedOptions = { + ...inheritedOptions, + ...clonedOptions + }; + } catch (e) { + this.logger.warn(`failed parsing options string in nesting for key ${key}`, e); + return `${key}${sep}${optionsString}`; + } + if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue; + return key; + }; + while (match = this.nestingRegexp.exec(str)) { + let formatters = []; + clonedOptions = { + ...options + }; + clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions; + clonedOptions.applyPostProcessor = false; + delete clonedOptions.defaultValue; + let doReduce = false; + if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) { + const r = match[1].split(this.formatSeparator).map(elem => elem.trim()); + match[1] = r.shift(); + formatters = r; + doReduce = true; + } + value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions); + if (value && match[0] === str && !isString(value)) return value; + if (!isString(value)) value = makeString(value); + if (!value) { + this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`); + value = ''; + } + if (doReduce) { + value = formatters.reduce((v, f) => this.format(v, f, options.lng, { + ...options, + interpolationkey: match[1].trim() + }), value.trim()); + } + str = str.replace(match[0], value); + this.regexp.lastIndex = 0; + } + return str; + } +} + +const parseFormatStr = formatStr => { + let formatName = formatStr.toLowerCase().trim(); + const formatOptions = {}; + if (formatStr.indexOf('(') > -1) { + const p = formatStr.split('('); + formatName = p[0].toLowerCase().trim(); + const optStr = p[1].substring(0, p[1].length - 1); + if (formatName === 'currency' && optStr.indexOf(':') < 0) { + if (!formatOptions.currency) formatOptions.currency = optStr.trim(); + } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) { + if (!formatOptions.range) formatOptions.range = optStr.trim(); + } else { + const opts = optStr.split(';'); + opts.forEach(opt => { + if (opt) { + const [key, ...rest] = opt.split(':'); + const val = rest.join(':').trim().replace(/^'+|'+$/g, ''); + const trimmedKey = key.trim(); + if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val; + if (val === 'false') formatOptions[trimmedKey] = false; + if (val === 'true') formatOptions[trimmedKey] = true; + if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10); + } + }); + } + } + return { + formatName, + formatOptions + }; +}; +const createCachedFormatter = fn => { + const cache = {}; + return (v, l, o) => { + let optForCache = o; + if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) { + optForCache = { + ...optForCache, + [o.interpolationkey]: undefined + }; + } + const key = l + JSON.stringify(optForCache); + let frm = cache[key]; + if (!frm) { + frm = fn(getCleanedCode(l), o); + cache[key] = frm; + } + return frm(v); + }; +}; +const createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v); +class Formatter { + constructor(options = {}) { + this.logger = baseLogger.create('formatter'); + this.options = options; + this.init(options); + } + init(services, options = { + interpolation: {} + }) { + this.formatSeparator = options.interpolation.formatSeparator || ','; + const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter; + this.formats = { + number: cf((lng, opt) => { + const formatter = new Intl.NumberFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }), + currency: cf((lng, opt) => { + const formatter = new Intl.NumberFormat(lng, { + ...opt, + style: 'currency' + }); + return val => formatter.format(val); + }), + datetime: cf((lng, opt) => { + const formatter = new Intl.DateTimeFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }), + relativetime: cf((lng, opt) => { + const formatter = new Intl.RelativeTimeFormat(lng, { + ...opt + }); + return val => formatter.format(val, opt.range || 'day'); + }), + list: cf((lng, opt) => { + const formatter = new Intl.ListFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }) + }; + } + add(name, fc) { + this.formats[name.toLowerCase().trim()] = fc; + } + addCached(name, fc) { + this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc); + } + format(value, format, lng, options = {}) { + const formats = format.split(this.formatSeparator); + if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) { + const lastIndex = formats.findIndex(f => f.indexOf(')') > -1); + formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator); + } + const result = formats.reduce((mem, f) => { + const { + formatName, + formatOptions + } = parseFormatStr(f); + if (this.formats[formatName]) { + let formatted = mem; + try { + const valOptions = options?.formatParams?.[options.interpolationkey] || {}; + const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng; + formatted = this.formats[formatName](mem, l, { + ...formatOptions, + ...options, + ...valOptions + }); + } catch (error) { + this.logger.warn(error); + } + return formatted; + } else { + this.logger.warn(`there was no format function for ${formatName}`); + } + return mem; + }, value); + return result; + } +} + +const removePending = (q, name) => { + if (q.pending[name] !== undefined) { + delete q.pending[name]; + q.pendingCount--; + } +}; +class Connector extends EventEmitter { + constructor(backend, store, services, options = {}) { + super(); + this.backend = backend; + this.store = store; + this.services = services; + this.languageUtils = services.languageUtils; + this.options = options; + this.logger = baseLogger.create('backendConnector'); + this.waitingReads = []; + this.maxParallelReads = options.maxParallelReads || 10; + this.readingCalls = 0; + this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5; + this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350; + this.state = {}; + this.queue = []; + this.backend?.init?.(services, options.backend, options); + } + queueLoad(languages, namespaces, options, callback) { + const toLoad = {}; + const pending = {}; + const toLoadLanguages = {}; + const toLoadNamespaces = {}; + languages.forEach(lng => { + let hasAllNamespaces = true; + namespaces.forEach(ns => { + const name = `${lng}|${ns}`; + if (!options.reload && this.store.hasResourceBundle(lng, ns)) { + this.state[name] = 2; + } else if (this.state[name] < 0) ; else if (this.state[name] === 1) { + if (pending[name] === undefined) pending[name] = true; + } else { + this.state[name] = 1; + hasAllNamespaces = false; + if (pending[name] === undefined) pending[name] = true; + if (toLoad[name] === undefined) toLoad[name] = true; + if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true; + } + }); + if (!hasAllNamespaces) toLoadLanguages[lng] = true; + }); + if (Object.keys(toLoad).length || Object.keys(pending).length) { + this.queue.push({ + pending, + pendingCount: Object.keys(pending).length, + loaded: {}, + errors: [], + callback + }); + } + return { + toLoad: Object.keys(toLoad), + pending: Object.keys(pending), + toLoadLanguages: Object.keys(toLoadLanguages), + toLoadNamespaces: Object.keys(toLoadNamespaces) + }; + } + loaded(name, err, data) { + const s = name.split('|'); + const lng = s[0]; + const ns = s[1]; + if (err) this.emit('failedLoading', lng, ns, err); + if (!err && data) { + this.store.addResourceBundle(lng, ns, data, undefined, undefined, { + skipCopy: true + }); + } + this.state[name] = err ? -1 : 2; + if (err && data) this.state[name] = 0; + const loaded = {}; + this.queue.forEach(q => { + pushPath(q.loaded, [lng], ns); + removePending(q, name); + if (err) q.errors.push(err); + if (q.pendingCount === 0 && !q.done) { + Object.keys(q.loaded).forEach(l => { + if (!loaded[l]) loaded[l] = {}; + const loadedKeys = q.loaded[l]; + if (loadedKeys.length) { + loadedKeys.forEach(n => { + if (loaded[l][n] === undefined) loaded[l][n] = true; + }); + } + }); + q.done = true; + if (q.errors.length) { + q.callback(q.errors); + } else { + q.callback(); + } + } + }); + this.emit('loaded', loaded); + this.queue = this.queue.filter(q => !q.done); + } + read(lng, ns, fcName, tried = 0, wait = this.retryTimeout, callback) { + if (!lng.length) return callback(null, {}); + if (this.readingCalls >= this.maxParallelReads) { + this.waitingReads.push({ + lng, + ns, + fcName, + tried, + wait, + callback + }); + return; + } + this.readingCalls++; + const resolver = (err, data) => { + this.readingCalls--; + if (this.waitingReads.length > 0) { + const next = this.waitingReads.shift(); + this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback); + } + if (err && data && tried < this.maxRetries) { + setTimeout(() => { + this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback); + }, wait); + return; + } + callback(err, data); + }; + const fc = this.backend[fcName].bind(this.backend); + if (fc.length === 2) { + try { + const r = fc(lng, ns); + if (r && typeof r.then === 'function') { + r.then(data => resolver(null, data)).catch(resolver); + } else { + resolver(null, r); + } + } catch (err) { + resolver(err); + } + return; + } + return fc(lng, ns, resolver); + } + prepareLoading(languages, namespaces, options = {}, callback) { + if (!this.backend) { + this.logger.warn('No backend was added via i18next.use. Will not load resources.'); + return callback && callback(); + } + if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages); + if (isString(namespaces)) namespaces = [namespaces]; + const toLoad = this.queueLoad(languages, namespaces, options, callback); + if (!toLoad.toLoad.length) { + if (!toLoad.pending.length) callback(); + return null; + } + toLoad.toLoad.forEach(name => { + this.loadOne(name); + }); + } + load(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, {}, callback); + } + reload(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, { + reload: true + }, callback); + } + loadOne(name, prefix = '') { + const s = name.split('|'); + const lng = s[0]; + const ns = s[1]; + this.read(lng, ns, 'read', undefined, undefined, (err, data) => { + if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err); + if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data); + this.loaded(name, err, data); + }); + } + saveMissing(languages, namespace, key, fallbackValue, isUpdate, options = {}, clb = () => {}) { + if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) { + this.logger.warn(`did not save key "${key}" as the namespace "${namespace}" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + return; + } + if (key === undefined || key === null || key === '') return; + if (this.backend?.create) { + const opts = { + ...options, + isUpdate + }; + const fc = this.backend.create.bind(this.backend); + if (fc.length < 6) { + try { + let r; + if (fc.length === 5) { + r = fc(languages, namespace, key, fallbackValue, opts); + } else { + r = fc(languages, namespace, key, fallbackValue); + } + if (r && typeof r.then === 'function') { + r.then(data => clb(null, data)).catch(clb); + } else { + clb(null, r); + } + } catch (err) { + clb(err); + } + } else { + fc(languages, namespace, key, fallbackValue, clb, opts); + } + } + if (!languages || !languages[0]) return; + this.store.addResource(languages[0], namespace, key, fallbackValue); + } +} + +const get = () => ({ + debug: false, + initAsync: true, + ns: ['translation'], + defaultNS: ['translation'], + fallbackLng: ['dev'], + fallbackNS: false, + supportedLngs: false, + nonExplicitSupportedLngs: false, + load: 'all', + preload: false, + simplifyPluralSuffix: true, + keySeparator: '.', + nsSeparator: ':', + pluralSeparator: '_', + contextSeparator: '_', + partialBundledLanguages: false, + saveMissing: false, + updateMissing: false, + saveMissingTo: 'fallback', + saveMissingPlurals: true, + missingKeyHandler: false, + missingInterpolationHandler: false, + postProcess: false, + postProcessPassResolved: false, + returnNull: false, + returnEmptyString: true, + returnObjects: false, + joinArrays: false, + returnedObjectHandler: false, + parseMissingKeyHandler: false, + appendNamespaceToMissingKey: false, + appendNamespaceToCIMode: false, + overloadTranslationOptionHandler: args => { + let ret = {}; + if (typeof args[1] === 'object') ret = args[1]; + if (isString(args[1])) ret.defaultValue = args[1]; + if (isString(args[2])) ret.tDescription = args[2]; + if (typeof args[2] === 'object' || typeof args[3] === 'object') { + const options = args[3] || args[2]; + Object.keys(options).forEach(key => { + ret[key] = options[key]; + }); + } + return ret; + }, + interpolation: { + escapeValue: true, + format: value => value, + prefix: '{{', + suffix: '}}', + formatSeparator: ',', + unescapePrefix: '-', + nestingPrefix: '$t(', + nestingSuffix: ')', + nestingOptionsSeparator: ',', + maxReplaces: 1000, + skipOnVariables: true + }, + cacheInBuiltFormats: true +}); +const transformOptions = options => { + if (isString(options.ns)) options.ns = [options.ns]; + if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng]; + if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS]; + if (options.supportedLngs?.indexOf?.('cimode') < 0) { + options.supportedLngs = options.supportedLngs.concat(['cimode']); + } + if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate; + return options; +}; + +const noop = () => {}; +const bindMemberFunctions = inst => { + const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst)); + mems.forEach(mem => { + if (typeof inst[mem] === 'function') { + inst[mem] = inst[mem].bind(inst); + } + }); +}; +class I18n extends EventEmitter { + constructor(options = {}, callback) { + super(); + this.options = transformOptions(options); + this.services = {}; + this.logger = baseLogger; + this.modules = { + external: [] + }; + bindMemberFunctions(this); + if (callback && !this.isInitialized && !options.isClone) { + if (!this.options.initAsync) { + this.init(options, callback); + return this; + } + setTimeout(() => { + this.init(options, callback); + }, 0); + } + } + init(options = {}, callback) { + this.isInitializing = true; + if (typeof options === 'function') { + callback = options; + options = {}; + } + if (options.defaultNS == null && options.ns) { + if (isString(options.ns)) { + options.defaultNS = options.ns; + } else if (options.ns.indexOf('translation') < 0) { + options.defaultNS = options.ns[0]; + } + } + const defOpts = get(); + this.options = { + ...defOpts, + ...this.options, + ...transformOptions(options) + }; + this.options.interpolation = { + ...defOpts.interpolation, + ...this.options.interpolation + }; + if (options.keySeparator !== undefined) { + this.options.userDefinedKeySeparator = options.keySeparator; + } + if (options.nsSeparator !== undefined) { + this.options.userDefinedNsSeparator = options.nsSeparator; + } + const createClassOnDemand = ClassOrObject => { + if (!ClassOrObject) return null; + if (typeof ClassOrObject === 'function') return new ClassOrObject(); + return ClassOrObject; + }; + if (!this.options.isClone) { + if (this.modules.logger) { + baseLogger.init(createClassOnDemand(this.modules.logger), this.options); + } else { + baseLogger.init(null, this.options); + } + let formatter; + if (this.modules.formatter) { + formatter = this.modules.formatter; + } else { + formatter = Formatter; + } + const lu = new LanguageUtil(this.options); + this.store = new ResourceStore(this.options.resources, this.options); + const s = this.services; + s.logger = baseLogger; + s.resourceStore = this.store; + s.languageUtils = lu; + s.pluralResolver = new PluralResolver(lu, { + prepend: this.options.pluralSeparator, + simplifyPluralSuffix: this.options.simplifyPluralSuffix + }); + if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) { + s.formatter = createClassOnDemand(formatter); + s.formatter.init(s, this.options); + this.options.interpolation.format = s.formatter.format.bind(s.formatter); + } + s.interpolator = new Interpolator(this.options); + s.utils = { + hasLoadedNamespace: this.hasLoadedNamespace.bind(this) + }; + s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); + s.backendConnector.on('*', (event, ...args) => { + this.emit(event, ...args); + }); + if (this.modules.languageDetector) { + s.languageDetector = createClassOnDemand(this.modules.languageDetector); + if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options); + } + if (this.modules.i18nFormat) { + s.i18nFormat = createClassOnDemand(this.modules.i18nFormat); + if (s.i18nFormat.init) s.i18nFormat.init(this); + } + this.translator = new Translator(this.services, this.options); + this.translator.on('*', (event, ...args) => { + this.emit(event, ...args); + }); + this.modules.external.forEach(m => { + if (m.init) m.init(this); + }); + } + this.format = this.options.interpolation.format; + if (!callback) callback = noop; + if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) { + const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0]; + } + if (!this.services.languageDetector && !this.options.lng) { + this.logger.warn('init: no languageDetector is used and no lng is defined'); + } + const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage']; + storeApi.forEach(fcName => { + this[fcName] = (...args) => this.store[fcName](...args); + }); + const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle']; + storeApiChained.forEach(fcName => { + this[fcName] = (...args) => { + this.store[fcName](...args); + return this; + }; + }); + const deferred = defer(); + const load = () => { + const finish = (err, t) => { + this.isInitializing = false; + if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!'); + this.isInitialized = true; + if (!this.options.isClone) this.logger.log('initialized', this.options); + this.emit('initialized', this.options); + deferred.resolve(t); + callback(err, t); + }; + if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this)); + this.changeLanguage(this.options.lng, finish); + }; + if (this.options.resources || !this.options.initAsync) { + load(); + } else { + setTimeout(load, 0); + } + return deferred; + } + loadResources(language, callback = noop) { + let usedCallback = callback; + const usedLng = isString(language) ? language : this.language; + if (typeof language === 'function') usedCallback = language; + if (!this.options.resources || this.options.partialBundledLanguages) { + if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback(); + const toLoad = []; + const append = lng => { + if (!lng) return; + if (lng === 'cimode') return; + const lngs = this.services.languageUtils.toResolveHierarchy(lng); + lngs.forEach(l => { + if (l === 'cimode') return; + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + if (!usedLng) { + const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + fallbacks.forEach(l => append(l)); + } else { + append(usedLng); + } + this.options.preload?.forEach?.(l => append(l)); + this.services.backendConnector.load(toLoad, this.options.ns, e => { + if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language); + usedCallback(e); + }); + } else { + usedCallback(null); + } + } + reloadResources(lngs, ns, callback) { + const deferred = defer(); + if (typeof lngs === 'function') { + callback = lngs; + lngs = undefined; + } + if (typeof ns === 'function') { + callback = ns; + ns = undefined; + } + if (!lngs) lngs = this.languages; + if (!ns) ns = this.options.ns; + if (!callback) callback = noop; + this.services.backendConnector.reload(lngs, ns, err => { + deferred.resolve(); + callback(err); + }); + return deferred; + } + use(module) { + if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()'); + if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()'); + if (module.type === 'backend') { + this.modules.backend = module; + } + if (module.type === 'logger' || module.log && module.warn && module.error) { + this.modules.logger = module; + } + if (module.type === 'languageDetector') { + this.modules.languageDetector = module; + } + if (module.type === 'i18nFormat') { + this.modules.i18nFormat = module; + } + if (module.type === 'postProcessor') { + postProcessor.addPostProcessor(module); + } + if (module.type === 'formatter') { + this.modules.formatter = module; + } + if (module.type === '3rdParty') { + this.modules.external.push(module); + } + return this; + } + setResolvedLanguage(l) { + if (!l || !this.languages) return; + if (['cimode', 'dev'].indexOf(l) > -1) return; + for (let li = 0; li < this.languages.length; li++) { + const lngInLngs = this.languages[li]; + if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue; + if (this.store.hasLanguageSomeTranslations(lngInLngs)) { + this.resolvedLanguage = lngInLngs; + break; + } + } + if (!this.resolvedLanguage && this.languages.indexOf(l) < 0 && this.store.hasLanguageSomeTranslations(l)) { + this.resolvedLanguage = l; + this.languages.unshift(l); + } + } + changeLanguage(lng, callback) { + this.isLanguageChangingTo = lng; + const deferred = defer(); + this.emit('languageChanging', lng); + const setLngProps = l => { + this.language = l; + this.languages = this.services.languageUtils.toResolveHierarchy(l); + this.resolvedLanguage = undefined; + this.setResolvedLanguage(l); + }; + const done = (err, l) => { + if (l) { + if (this.isLanguageChangingTo === lng) { + setLngProps(l); + this.translator.changeLanguage(l); + this.isLanguageChangingTo = undefined; + this.emit('languageChanged', l); + this.logger.log('languageChanged', l); + } + } else { + this.isLanguageChangingTo = undefined; + } + deferred.resolve((...args) => this.t(...args)); + if (callback) callback(err, (...args) => this.t(...args)); + }; + const setLng = lngs => { + if (!lng && !lngs && this.services.languageDetector) lngs = []; + const fl = isString(lngs) ? lngs : lngs && lngs[0]; + const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs); + if (l) { + if (!this.language) { + setLngProps(l); + } + if (!this.translator.language) this.translator.changeLanguage(l); + this.services.languageDetector?.cacheUserLanguage?.(l); + } + this.loadResources(l, err => { + done(err, l); + }); + }; + if (!lng && this.services.languageDetector && !this.services.languageDetector.async) { + setLng(this.services.languageDetector.detect()); + } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) { + if (this.services.languageDetector.detect.length === 0) { + this.services.languageDetector.detect().then(setLng); + } else { + this.services.languageDetector.detect(setLng); + } + } else { + setLng(lng); + } + return deferred; + } + getFixedT(lng, ns, keyPrefix) { + const fixedT = (key, opts, ...rest) => { + let o; + if (typeof opts !== 'object') { + o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest)); + } else { + o = { + ...opts + }; + } + o.lng = o.lng || fixedT.lng; + o.lngs = o.lngs || fixedT.lngs; + o.ns = o.ns || fixedT.ns; + if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix; + const keySeparator = this.options.keySeparator || '.'; + let resultKey; + if (o.keyPrefix && Array.isArray(key)) { + resultKey = key.map(k => `${o.keyPrefix}${keySeparator}${k}`); + } else { + resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key; + } + return this.t(resultKey, o); + }; + if (isString(lng)) { + fixedT.lng = lng; + } else { + fixedT.lngs = lng; + } + fixedT.ns = ns; + fixedT.keyPrefix = keyPrefix; + return fixedT; + } + t(...args) { + return this.translator?.translate(...args); + } + exists(...args) { + return this.translator?.exists(...args); + } + setDefaultNamespace(ns) { + this.options.defaultNS = ns; + } + hasLoadedNamespace(ns, options = {}) { + if (!this.isInitialized) { + this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages); + return false; + } + if (!this.languages || !this.languages.length) { + this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages); + return false; + } + const lng = options.lng || this.resolvedLanguage || this.languages[0]; + const fallbackLng = this.options ? this.options.fallbackLng : false; + const lastLng = this.languages[this.languages.length - 1]; + if (lng.toLowerCase() === 'cimode') return true; + const loadNotPending = (l, n) => { + const loadState = this.services.backendConnector.state[`${l}|${n}`]; + return loadState === -1 || loadState === 0 || loadState === 2; + }; + if (options.precheck) { + const preResult = options.precheck(this, loadNotPending); + if (preResult !== undefined) return preResult; + } + if (this.hasResourceBundle(lng, ns)) return true; + if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true; + if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; + return false; + } + loadNamespaces(ns, callback) { + const deferred = defer(); + if (!this.options.ns) { + if (callback) callback(); + return Promise.resolve(); + } + if (isString(ns)) ns = [ns]; + ns.forEach(n => { + if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n); + }); + this.loadResources(err => { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + loadLanguages(lngs, callback) { + const deferred = defer(); + if (isString(lngs)) lngs = [lngs]; + const preloaded = this.options.preload || []; + const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng)); + if (!newLngs.length) { + if (callback) callback(); + return Promise.resolve(); + } + this.options.preload = preloaded.concat(newLngs); + this.loadResources(err => { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + dir(lng) { + if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language); + if (!lng) return 'rtl'; + const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb']; + const languageUtils = this.services?.languageUtils || new LanguageUtil(get()); + return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr'; + } + static createInstance(options = {}, callback) { + return new I18n(options, callback); + } + cloneInstance(options = {}, callback = noop) { + const forkResourceStore = options.forkResourceStore; + if (forkResourceStore) delete options.forkResourceStore; + const mergedOptions = { + ...this.options, + ...options, + ...{ + isClone: true + } + }; + const clone = new I18n(mergedOptions); + if (options.debug !== undefined || options.prefix !== undefined) { + clone.logger = clone.logger.clone(options); + } + const membersToCopy = ['store', 'services', 'language']; + membersToCopy.forEach(m => { + clone[m] = this[m]; + }); + clone.services = { + ...this.services + }; + clone.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + if (forkResourceStore) { + const clonedData = Object.keys(this.store.data).reduce((prev, l) => { + prev[l] = { + ...this.store.data[l] + }; + prev[l] = Object.keys(prev[l]).reduce((acc, n) => { + acc[n] = { + ...prev[l][n] + }; + return acc; + }, prev[l]); + return prev; + }, {}); + clone.store = new ResourceStore(clonedData, mergedOptions); + clone.services.resourceStore = clone.store; + } + clone.translator = new Translator(clone.services, mergedOptions); + clone.translator.on('*', (event, ...args) => { + clone.emit(event, ...args); + }); + clone.init(mergedOptions, callback); + clone.translator.options = mergedOptions; + clone.translator.backendConnector.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + return clone; + } + toJSON() { + return { + options: this.options, + store: this.store, + language: this.language, + languages: this.languages, + resolvedLanguage: this.resolvedLanguage + }; + } +} +const instance = I18n.createInstance(); +instance.createInstance = I18n.createInstance; + +module.exports = instance; diff --git a/node_modules/i18next/dist/esm/i18next.bundled.js b/node_modules/i18next/dist/esm/i18next.bundled.js new file mode 100644 index 00000000..46be42d2 --- /dev/null +++ b/node_modules/i18next/dist/esm/i18next.bundled.js @@ -0,0 +1,2154 @@ +const isString = obj => typeof obj === 'string'; +const defer = () => { + let res; + let rej; + const promise = new Promise((resolve, reject) => { + res = resolve; + rej = reject; + }); + promise.resolve = res; + promise.reject = rej; + return promise; +}; +const makeString = object => { + if (object == null) return ''; + return '' + object; +}; +const copy = (a, s, t) => { + a.forEach(m => { + if (s[m]) t[m] = s[m]; + }); +}; +const lastOfPathSeparatorRegExp = /###/g; +const cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key; +const canNotTraverseDeeper = object => !object || isString(object); +const getLastOfPath = (object, path, Empty) => { + const stack = !isString(path) ? path : path.split('.'); + let stackIndex = 0; + while (stackIndex < stack.length - 1) { + if (canNotTraverseDeeper(object)) return {}; + const key = cleanKey(stack[stackIndex]); + if (!object[key] && Empty) object[key] = new Empty(); + if (Object.prototype.hasOwnProperty.call(object, key)) { + object = object[key]; + } else { + object = {}; + } + ++stackIndex; + } + if (canNotTraverseDeeper(object)) return {}; + return { + obj: object, + k: cleanKey(stack[stackIndex]) + }; +}; +const setPath = (object, path, newValue) => { + const { + obj, + k + } = getLastOfPath(object, path, Object); + if (obj !== undefined || path.length === 1) { + obj[k] = newValue; + return; + } + let e = path[path.length - 1]; + let p = path.slice(0, path.length - 1); + let last = getLastOfPath(object, p, Object); + while (last.obj === undefined && p.length) { + e = `${p[p.length - 1]}.${e}`; + p = p.slice(0, p.length - 1); + last = getLastOfPath(object, p, Object); + if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') { + last.obj = undefined; + } + } + last.obj[`${last.k}.${e}`] = newValue; +}; +const pushPath = (object, path, newValue, concat) => { + const { + obj, + k + } = getLastOfPath(object, path, Object); + obj[k] = obj[k] || []; + obj[k].push(newValue); +}; +const getPath = (object, path) => { + const { + obj, + k + } = getLastOfPath(object, path); + if (!obj) return undefined; + if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined; + return obj[k]; +}; +const getPathWithDefaults = (data, defaultData, key) => { + const value = getPath(data, key); + if (value !== undefined) { + return value; + } + return getPath(defaultData, key); +}; +const deepExtend = (target, source, overwrite) => { + for (const prop in source) { + if (prop !== '__proto__' && prop !== 'constructor') { + if (prop in target) { + if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) { + if (overwrite) target[prop] = source[prop]; + } else { + deepExtend(target[prop], source[prop], overwrite); + } + } else { + target[prop] = source[prop]; + } + } + } + return target; +}; +const regexEscape = str => str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); +var _entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' +}; +const escape = data => { + if (isString(data)) { + return data.replace(/[&<>"'\/]/g, s => _entityMap[s]); + } + return data; +}; +class RegExpCache { + constructor(capacity) { + this.capacity = capacity; + this.regExpMap = new Map(); + this.regExpQueue = []; + } + getRegExp(pattern) { + const regExpFromCache = this.regExpMap.get(pattern); + if (regExpFromCache !== undefined) { + return regExpFromCache; + } + const regExpNew = new RegExp(pattern); + if (this.regExpQueue.length === this.capacity) { + this.regExpMap.delete(this.regExpQueue.shift()); + } + this.regExpMap.set(pattern, regExpNew); + this.regExpQueue.push(pattern); + return regExpNew; + } +} +const chars = [' ', ',', '?', '!', ';']; +const looksLikeObjectPathRegExpCache = new RegExpCache(20); +const looksLikeObjectPath = (key, nsSeparator, keySeparator) => { + nsSeparator = nsSeparator || ''; + keySeparator = keySeparator || ''; + const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0); + if (possibleChars.length === 0) return true; + const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\?' : c).join('|')})`); + let matched = !r.test(key); + if (!matched) { + const ki = key.indexOf(keySeparator); + if (ki > 0 && !r.test(key.substring(0, ki))) { + matched = true; + } + } + return matched; +}; +const deepFind = (obj, path, keySeparator = '.') => { + if (!obj) return undefined; + if (obj[path]) { + if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined; + return obj[path]; + } + const tokens = path.split(keySeparator); + let current = obj; + for (let i = 0; i < tokens.length;) { + if (!current || typeof current !== 'object') { + return undefined; + } + let next; + let nextPath = ''; + for (let j = i; j < tokens.length; ++j) { + if (j !== i) { + nextPath += keySeparator; + } + nextPath += tokens[j]; + next = current[nextPath]; + if (next !== undefined) { + if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) { + continue; + } + i += j - i + 1; + break; + } + } + current = next; + } + return current; +}; +const getCleanedCode = code => code?.replace('_', '-'); + +const consoleLogger = { + type: 'logger', + log(args) { + this.output('log', args); + }, + warn(args) { + this.output('warn', args); + }, + error(args) { + this.output('error', args); + }, + output(type, args) { + console?.[type]?.apply?.(console, args); + } +}; +class Logger { + constructor(concreteLogger, options = {}) { + this.init(concreteLogger, options); + } + init(concreteLogger, options = {}) { + this.prefix = options.prefix || 'i18next:'; + this.logger = concreteLogger || consoleLogger; + this.options = options; + this.debug = options.debug; + } + log(...args) { + return this.forward(args, 'log', '', true); + } + warn(...args) { + return this.forward(args, 'warn', '', true); + } + error(...args) { + return this.forward(args, 'error', ''); + } + deprecate(...args) { + return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true); + } + forward(args, lvl, prefix, debugOnly) { + if (debugOnly && !this.debug) return null; + if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`; + return this.logger[lvl](args); + } + create(moduleName) { + return new Logger(this.logger, { + ...{ + prefix: `${this.prefix}:${moduleName}:` + }, + ...this.options + }); + } + clone(options) { + options = options || this.options; + options.prefix = options.prefix || this.prefix; + return new Logger(this.logger, options); + } +} +var baseLogger = new Logger(); + +class EventEmitter { + constructor() { + this.observers = {}; + } + on(events, listener) { + events.split(' ').forEach(event => { + if (!this.observers[event]) this.observers[event] = new Map(); + const numListeners = this.observers[event].get(listener) || 0; + this.observers[event].set(listener, numListeners + 1); + }); + return this; + } + off(event, listener) { + if (!this.observers[event]) return; + if (!listener) { + delete this.observers[event]; + return; + } + this.observers[event].delete(listener); + } + emit(event, ...args) { + if (this.observers[event]) { + const cloned = Array.from(this.observers[event].entries()); + cloned.forEach(([observer, numTimesAdded]) => { + for (let i = 0; i < numTimesAdded; i++) { + observer(...args); + } + }); + } + if (this.observers['*']) { + const cloned = Array.from(this.observers['*'].entries()); + cloned.forEach(([observer, numTimesAdded]) => { + for (let i = 0; i < numTimesAdded; i++) { + observer.apply(observer, [event, ...args]); + } + }); + } + } +} + +class ResourceStore extends EventEmitter { + constructor(data, options = { + ns: ['translation'], + defaultNS: 'translation' + }) { + super(); + this.data = data || {}; + this.options = options; + if (this.options.keySeparator === undefined) { + this.options.keySeparator = '.'; + } + if (this.options.ignoreJSONStructure === undefined) { + this.options.ignoreJSONStructure = true; + } + } + addNamespaces(ns) { + if (this.options.ns.indexOf(ns) < 0) { + this.options.ns.push(ns); + } + } + removeNamespaces(ns) { + const index = this.options.ns.indexOf(ns); + if (index > -1) { + this.options.ns.splice(index, 1); + } + } + getResource(lng, ns, key, options = {}) { + const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure; + let path; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + } else { + path = [lng, ns]; + if (key) { + if (Array.isArray(key)) { + path.push(...key); + } else if (isString(key) && keySeparator) { + path.push(...key.split(keySeparator)); + } else { + path.push(key); + } + } + } + const result = getPath(this.data, path); + if (!result && !ns && !key && lng.indexOf('.') > -1) { + lng = path[0]; + ns = path[1]; + key = path.slice(2).join('.'); + } + if (result || !ignoreJSONStructure || !isString(key)) return result; + return deepFind(this.data?.[lng]?.[ns], key, keySeparator); + } + addResource(lng, ns, key, value, options = { + silent: false + }) { + const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + let path = [lng, ns]; + if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + value = ns; + ns = path[1]; + } + this.addNamespaces(ns); + setPath(this.data, path, value); + if (!options.silent) this.emit('added', lng, ns, key, value); + } + addResources(lng, ns, resources, options = { + silent: false + }) { + for (const m in resources) { + if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], { + silent: true + }); + } + if (!options.silent) this.emit('added', lng, ns, resources); + } + addResourceBundle(lng, ns, resources, deep, overwrite, options = { + silent: false, + skipCopy: false + }) { + let path = [lng, ns]; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + deep = resources; + resources = ns; + ns = path[1]; + } + this.addNamespaces(ns); + let pack = getPath(this.data, path) || {}; + if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources)); + if (deep) { + deepExtend(pack, resources, overwrite); + } else { + pack = { + ...pack, + ...resources + }; + } + setPath(this.data, path, pack); + if (!options.silent) this.emit('added', lng, ns, resources); + } + removeResourceBundle(lng, ns) { + if (this.hasResourceBundle(lng, ns)) { + delete this.data[lng][ns]; + } + this.removeNamespaces(ns); + this.emit('removed', lng, ns); + } + hasResourceBundle(lng, ns) { + return this.getResource(lng, ns) !== undefined; + } + getResourceBundle(lng, ns) { + if (!ns) ns = this.options.defaultNS; + return this.getResource(lng, ns); + } + getDataByLanguage(lng) { + return this.data[lng]; + } + hasLanguageSomeTranslations(lng) { + const data = this.getDataByLanguage(lng); + const n = data && Object.keys(data) || []; + return !!n.find(v => data[v] && Object.keys(data[v]).length > 0); + } + toJSON() { + return this.data; + } +} + +var postProcessor = { + processors: {}, + addPostProcessor(module) { + this.processors[module.name] = module; + }, + handle(processors, value, key, options, translator) { + processors.forEach(processor => { + value = this.processors[processor]?.process(value, key, options, translator) ?? value; + }); + return value; + } +}; + +const checkedLoadedFor = {}; +const shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number'; +class Translator extends EventEmitter { + constructor(services, options = {}) { + super(); + copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this); + this.options = options; + if (this.options.keySeparator === undefined) { + this.options.keySeparator = '.'; + } + this.logger = baseLogger.create('translator'); + } + changeLanguage(lng) { + if (lng) this.language = lng; + } + exists(key, o = { + interpolation: {} + }) { + const opt = { + ...o + }; + if (key == null) return false; + const resolved = this.resolve(key, opt); + return resolved?.res !== undefined; + } + extractFromKey(key, opt) { + let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator; + let namespaces = opt.ns || this.options.defaultNS || []; + const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1; + const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator); + if (wouldCheckForNsInKey && !seemsNaturalLanguage) { + const m = key.match(this.interpolator.nestingRegexp); + if (m && m.length > 0) { + return { + key, + namespaces: isString(namespaces) ? [namespaces] : namespaces + }; + } + const parts = key.split(nsSeparator); + if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift(); + key = parts.join(keySeparator); + } + return { + key, + namespaces: isString(namespaces) ? [namespaces] : namespaces + }; + } + translate(keys, o, lastKey) { + let opt = typeof o === 'object' ? { + ...o + } : o; + if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) { + opt = this.options.overloadTranslationOptionHandler(arguments); + } + if (typeof options === 'object') opt = { + ...opt + }; + if (!opt) opt = {}; + if (keys == null) return ''; + if (!Array.isArray(keys)) keys = [String(keys)]; + const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails; + const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator; + const { + key, + namespaces + } = this.extractFromKey(keys[keys.length - 1], opt); + const namespace = namespaces[namespaces.length - 1]; + let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + const lng = opt.lng || this.language; + const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode; + if (lng?.toLowerCase() === 'cimode') { + if (appendNamespaceToCIMode) { + if (returnDetails) { + return { + res: `${namespace}${nsSeparator}${key}`, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace, + usedParams: this.getUsedParamsDetails(opt) + }; + } + return `${namespace}${nsSeparator}${key}`; + } + if (returnDetails) { + return { + res: key, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace, + usedParams: this.getUsedParamsDetails(opt) + }; + } + return key; + } + const resolved = this.resolve(keys, opt); + let res = resolved?.res; + const resUsedKey = resolved?.usedKey || key; + const resExactUsedKey = resolved?.exactUsedKey || key; + const noObject = ['[object Number]', '[object Function]', '[object RegExp]']; + const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays; + const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject; + const needsPluralHandling = opt.count !== undefined && !isString(opt.count); + const hasDefaultValue = Translator.hasDefaultValue(opt); + const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : ''; + const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, { + ordinal: false + }) : ''; + const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0; + const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue; + let resForObjHndl = res; + if (handleAsObjectInI18nFormat && !res && hasDefaultValue) { + resForObjHndl = defaultValue; + } + const handleAsObject = shouldHandleAsObject(resForObjHndl); + const resType = Object.prototype.toString.apply(resForObjHndl); + if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) { + if (!opt.returnObjects && !this.options.returnObjects) { + if (!this.options.returnedObjectHandler) { + this.logger.warn('accessing an object - but returnObjects options is not enabled!'); + } + const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, { + ...opt, + ns: namespaces + }) : `key '${key} (${this.language})' returned an object instead of string.`; + if (returnDetails) { + resolved.res = r; + resolved.usedParams = this.getUsedParamsDetails(opt); + return resolved; + } + return r; + } + if (keySeparator) { + const resTypeIsArray = Array.isArray(resForObjHndl); + const copy = resTypeIsArray ? [] : {}; + const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey; + for (const m in resForObjHndl) { + if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) { + const deepKey = `${newKeyToUse}${keySeparator}${m}`; + if (hasDefaultValue && !res) { + copy[m] = this.translate(deepKey, { + ...opt, + defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined, + ...{ + joinArrays: false, + ns: namespaces + } + }); + } else { + copy[m] = this.translate(deepKey, { + ...opt, + ...{ + joinArrays: false, + ns: namespaces + } + }); + } + if (copy[m] === deepKey) copy[m] = resForObjHndl[m]; + } + } + res = copy; + } + } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) { + res = res.join(joinArrays); + if (res) res = this.extendTranslation(res, keys, opt, lastKey); + } else { + let usedDefault = false; + let usedKey = false; + if (!this.isValidLookup(res) && hasDefaultValue) { + usedDefault = true; + res = defaultValue; + } + if (!this.isValidLookup(res)) { + usedKey = true; + res = key; + } + const missingKeyNoValueFallbackToKey = opt.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey; + const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res; + const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing; + if (usedKey || usedDefault || updateMissing) { + this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res); + if (keySeparator) { + const fk = this.resolve(key, { + ...opt, + keySeparator: false + }); + if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.'); + } + let lngs = []; + const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, opt.lng || this.language); + if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) { + for (let i = 0; i < fallbackLngs.length; i++) { + lngs.push(fallbackLngs[i]); + } + } else if (this.options.saveMissingTo === 'all') { + lngs = this.languageUtils.toResolveHierarchy(opt.lng || this.language); + } else { + lngs.push(opt.lng || this.language); + } + const send = (l, k, specificDefaultValue) => { + const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing; + if (this.options.missingKeyHandler) { + this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, opt); + } else if (this.backendConnector?.saveMissing) { + this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt); + } + this.emit('missingKey', l, namespace, k, res); + }; + if (this.options.saveMissing) { + if (this.options.saveMissingPlurals && needsPluralHandling) { + lngs.forEach(language => { + const suffixes = this.pluralResolver.getSuffixes(language, opt); + if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) { + suffixes.push(`${this.options.pluralSeparator}zero`); + } + suffixes.forEach(suffix => { + send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue); + }); + }); + } else { + send(lngs, key, defaultValue); + } + } + } + res = this.extendTranslation(res, keys, opt, resolved, lastKey); + if (usedKey && res === key && this.options.appendNamespaceToMissingKey) { + res = `${namespace}${nsSeparator}${key}`; + } + if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) { + res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt); + } + } + if (returnDetails) { + resolved.res = res; + resolved.usedParams = this.getUsedParamsDetails(opt); + return resolved; + } + return res; + } + extendTranslation(res, key, opt, resolved, lastKey) { + if (this.i18nFormat?.parse) { + res = this.i18nFormat.parse(res, { + ...this.options.interpolation.defaultVariables, + ...opt + }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, { + resolved + }); + } else if (!opt.skipInterpolation) { + if (opt.interpolation) this.interpolator.init({ + ...opt, + ...{ + interpolation: { + ...this.options.interpolation, + ...opt.interpolation + } + } + }); + const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables); + let nestBef; + if (skipOnVariables) { + const nb = res.match(this.interpolator.nestingRegexp); + nestBef = nb && nb.length; + } + let data = opt.replace && !isString(opt.replace) ? opt.replace : opt; + if (this.options.interpolation.defaultVariables) data = { + ...this.options.interpolation.defaultVariables, + ...data + }; + res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt); + if (skipOnVariables) { + const na = res.match(this.interpolator.nestingRegexp); + const nestAft = na && na.length; + if (nestBef < nestAft) opt.nest = false; + } + if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng; + if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => { + if (lastKey?.[0] === args[0] && !opt.context) { + this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`); + return null; + } + return this.translate(...args, key); + }, opt); + if (opt.interpolation) this.interpolator.reset(); + } + const postProcess = opt.postProcess || this.options.postProcess; + const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess; + if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) { + res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? { + i18nResolved: { + ...resolved, + usedParams: this.getUsedParamsDetails(opt) + }, + ...opt + } : opt, this); + } + return res; + } + resolve(keys, opt = {}) { + let found; + let usedKey; + let exactUsedKey; + let usedLng; + let usedNS; + if (isString(keys)) keys = [keys]; + keys.forEach(k => { + if (this.isValidLookup(found)) return; + const extracted = this.extractFromKey(k, opt); + const key = extracted.key; + usedKey = key; + let namespaces = extracted.namespaces; + if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS); + const needsPluralHandling = opt.count !== undefined && !isString(opt.count); + const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0; + const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== ''; + const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng); + namespaces.forEach(ns => { + if (this.isValidLookup(found)) return; + usedNS = ns; + if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) { + checkedLoadedFor[`${codes[0]}-${ns}`] = true; + this.logger.warn(`key "${usedKey}" for languages "${codes.join(', ')}" won't get resolved as namespace "${usedNS}" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + } + codes.forEach(code => { + if (this.isValidLookup(found)) return; + usedLng = code; + const finalKeys = [key]; + if (this.i18nFormat?.addLookupKeys) { + this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt); + } else { + let pluralSuffix; + if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt); + const zeroSuffix = `${this.options.pluralSeparator}zero`; + const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`; + if (needsPluralHandling) { + finalKeys.push(key + pluralSuffix); + if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) { + finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator)); + } + if (needsZeroSuffixLookup) { + finalKeys.push(key + zeroSuffix); + } + } + if (needsContextHandling) { + const contextKey = `${key}${this.options.contextSeparator}${opt.context}`; + finalKeys.push(contextKey); + if (needsPluralHandling) { + finalKeys.push(contextKey + pluralSuffix); + if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) { + finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator)); + } + if (needsZeroSuffixLookup) { + finalKeys.push(contextKey + zeroSuffix); + } + } + } + } + let possibleKey; + while (possibleKey = finalKeys.pop()) { + if (!this.isValidLookup(found)) { + exactUsedKey = possibleKey; + found = this.getResource(code, ns, possibleKey, opt); + } + } + }); + }); + }); + return { + res: found, + usedKey, + exactUsedKey, + usedLng, + usedNS + }; + } + isValidLookup(res) { + return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === ''); + } + getResource(code, ns, key, options = {}) { + if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options); + return this.resourceStore.getResource(code, ns, key, options); + } + getUsedParamsDetails(options = {}) { + const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation']; + const useOptionsReplaceForData = options.replace && !isString(options.replace); + let data = useOptionsReplaceForData ? options.replace : options; + if (useOptionsReplaceForData && typeof options.count !== 'undefined') { + data.count = options.count; + } + if (this.options.interpolation.defaultVariables) { + data = { + ...this.options.interpolation.defaultVariables, + ...data + }; + } + if (!useOptionsReplaceForData) { + data = { + ...data + }; + for (const key of optionsKeys) { + delete data[key]; + } + } + return data; + } + static hasDefaultValue(options) { + const prefix = 'defaultValue'; + for (const option in options) { + if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) { + return true; + } + } + return false; + } +} + +class LanguageUtil { + constructor(options) { + this.options = options; + this.supportedLngs = this.options.supportedLngs || false; + this.logger = baseLogger.create('languageUtils'); + } + getScriptPartFromCode(code) { + code = getCleanedCode(code); + if (!code || code.indexOf('-') < 0) return null; + const p = code.split('-'); + if (p.length === 2) return null; + p.pop(); + if (p[p.length - 1].toLowerCase() === 'x') return null; + return this.formatLanguageCode(p.join('-')); + } + getLanguagePartFromCode(code) { + code = getCleanedCode(code); + if (!code || code.indexOf('-') < 0) return code; + const p = code.split('-'); + return this.formatLanguageCode(p[0]); + } + formatLanguageCode(code) { + if (isString(code) && code.indexOf('-') > -1) { + let formattedCode; + try { + formattedCode = Intl.getCanonicalLocales(code)[0]; + } catch (e) {} + if (formattedCode && this.options.lowerCaseLng) { + formattedCode = formattedCode.toLowerCase(); + } + if (formattedCode) return formattedCode; + if (this.options.lowerCaseLng) { + return code.toLowerCase(); + } + return code; + } + return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code; + } + isSupportedCode(code) { + if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) { + code = this.getLanguagePartFromCode(code); + } + return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1; + } + getBestMatchFromCodes(codes) { + if (!codes) return null; + let found; + codes.forEach(code => { + if (found) return; + const cleanedLng = this.formatLanguageCode(code); + if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng; + }); + if (!found && this.options.supportedLngs) { + codes.forEach(code => { + if (found) return; + const lngScOnly = this.getScriptPartFromCode(code); + if (this.isSupportedCode(lngScOnly)) return found = lngScOnly; + const lngOnly = this.getLanguagePartFromCode(code); + if (this.isSupportedCode(lngOnly)) return found = lngOnly; + found = this.options.supportedLngs.find(supportedLng => { + if (supportedLng === lngOnly) return supportedLng; + if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return; + if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng; + if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng; + }); + }); + } + if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0]; + return found; + } + getFallbackCodes(fallbacks, code) { + if (!fallbacks) return []; + if (typeof fallbacks === 'function') fallbacks = fallbacks(code); + if (isString(fallbacks)) fallbacks = [fallbacks]; + if (Array.isArray(fallbacks)) return fallbacks; + if (!code) return fallbacks.default || []; + let found = fallbacks[code]; + if (!found) found = fallbacks[this.getScriptPartFromCode(code)]; + if (!found) found = fallbacks[this.formatLanguageCode(code)]; + if (!found) found = fallbacks[this.getLanguagePartFromCode(code)]; + if (!found) found = fallbacks.default; + return found || []; + } + toResolveHierarchy(code, fallbackCode) { + const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code); + const codes = []; + const addCode = c => { + if (!c) return; + if (this.isSupportedCode(c)) { + codes.push(c); + } else { + this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`); + } + }; + if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) { + if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code)); + if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code)); + if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code)); + } else if (isString(code)) { + addCode(this.formatLanguageCode(code)); + } + fallbackCodes.forEach(fc => { + if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc)); + }); + return codes; + } +} + +const suffixesOrder = { + zero: 0, + one: 1, + two: 2, + few: 3, + many: 4, + other: 5 +}; +const dummyRule = { + select: count => count === 1 ? 'one' : 'other', + resolvedOptions: () => ({ + pluralCategories: ['one', 'other'] + }) +}; +class PluralResolver { + constructor(languageUtils, options = {}) { + this.languageUtils = languageUtils; + this.options = options; + this.logger = baseLogger.create('pluralResolver'); + this.pluralRulesCache = {}; + } + addRule(lng, obj) { + this.rules[lng] = obj; + } + clearCache() { + this.pluralRulesCache = {}; + } + getRule(code, options = {}) { + const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code); + const type = options.ordinal ? 'ordinal' : 'cardinal'; + const cacheKey = JSON.stringify({ + cleanedCode, + type + }); + if (cacheKey in this.pluralRulesCache) { + return this.pluralRulesCache[cacheKey]; + } + let rule; + try { + rule = new Intl.PluralRules(cleanedCode, { + type + }); + } catch (err) { + if (!Intl) { + this.logger.error('No Intl support, please use an Intl polyfill!'); + return dummyRule; + } + if (!code.match(/-|_/)) return dummyRule; + const lngPart = this.languageUtils.getLanguagePartFromCode(code); + rule = this.getRule(lngPart, options); + } + this.pluralRulesCache[cacheKey] = rule; + return rule; + } + needsPlural(code, options = {}) { + let rule = this.getRule(code, options); + if (!rule) rule = this.getRule('dev', options); + return rule?.resolvedOptions().pluralCategories.length > 1; + } + getPluralFormsOfKey(code, key, options = {}) { + return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`); + } + getSuffixes(code, options = {}) { + let rule = this.getRule(code, options); + if (!rule) rule = this.getRule('dev', options); + if (!rule) return []; + return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`); + } + getSuffix(code, count, options = {}) { + const rule = this.getRule(code, options); + if (rule) { + return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`; + } + this.logger.warn(`no plural rule found for: ${code}`); + return this.getSuffix('dev', count, options); + } +} + +const deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => { + let path = getPathWithDefaults(data, defaultData, key); + if (!path && ignoreJSONStructure && isString(key)) { + path = deepFind(data, key, keySeparator); + if (path === undefined) path = deepFind(defaultData, key, keySeparator); + } + return path; +}; +const regexSafe = val => val.replace(/\$/g, '$$$$'); +class Interpolator { + constructor(options = {}) { + this.logger = baseLogger.create('interpolator'); + this.options = options; + this.format = options?.interpolation?.format || (value => value); + this.init(options); + } + init(options = {}) { + if (!options.interpolation) options.interpolation = { + escapeValue: true + }; + const { + escape: escape$1, + escapeValue, + useRawValueToEscape, + prefix, + prefixEscaped, + suffix, + suffixEscaped, + formatSeparator, + unescapeSuffix, + unescapePrefix, + nestingPrefix, + nestingPrefixEscaped, + nestingSuffix, + nestingSuffixEscaped, + nestingOptionsSeparator, + maxReplaces, + alwaysFormat + } = options.interpolation; + this.escape = escape$1 !== undefined ? escape$1 : escape; + this.escapeValue = escapeValue !== undefined ? escapeValue : true; + this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false; + this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{'; + this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}'; + this.formatSeparator = formatSeparator || ','; + this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-'; + this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || ''; + this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t('); + this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')'); + this.nestingOptionsSeparator = nestingOptionsSeparator || ','; + this.maxReplaces = maxReplaces || 1000; + this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false; + this.resetRegExp(); + } + reset() { + if (this.options) this.init(this.options); + } + resetRegExp() { + const getOrResetRegExp = (existingRegExp, pattern) => { + if (existingRegExp?.source === pattern) { + existingRegExp.lastIndex = 0; + return existingRegExp; + } + return new RegExp(pattern, 'g'); + }; + this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`); + this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`); + this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`); + } + interpolate(str, data, lng, options) { + let match; + let value; + let replaces; + const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}; + const handleFormat = key => { + if (key.indexOf(this.formatSeparator) < 0) { + const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure); + return this.alwaysFormat ? this.format(path, undefined, lng, { + ...options, + ...data, + interpolationkey: key + }) : path; + } + const p = key.split(this.formatSeparator); + const k = p.shift().trim(); + const f = p.join(this.formatSeparator).trim(); + return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, { + ...options, + ...data, + interpolationkey: k + }); + }; + this.resetRegExp(); + const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler; + const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables; + const todos = [{ + regex: this.regexpUnescape, + safeValue: val => regexSafe(val) + }, { + regex: this.regexp, + safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val) + }]; + todos.forEach(todo => { + replaces = 0; + while (match = todo.regex.exec(str)) { + const matchedVar = match[1].trim(); + value = handleFormat(matchedVar); + if (value === undefined) { + if (typeof missingInterpolationHandler === 'function') { + const temp = missingInterpolationHandler(str, match, options); + value = isString(temp) ? temp : ''; + } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) { + value = ''; + } else if (skipOnVariables) { + value = match[0]; + continue; + } else { + this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`); + value = ''; + } + } else if (!isString(value) && !this.useRawValueToEscape) { + value = makeString(value); + } + const safeValue = todo.safeValue(value); + str = str.replace(match[0], safeValue); + if (skipOnVariables) { + todo.regex.lastIndex += value.length; + todo.regex.lastIndex -= match[0].length; + } else { + todo.regex.lastIndex = 0; + } + replaces++; + if (replaces >= this.maxReplaces) { + break; + } + } + }); + return str; + } + nest(str, fc, options = {}) { + let match; + let value; + let clonedOptions; + const handleHasOptions = (key, inheritedOptions) => { + const sep = this.nestingOptionsSeparator; + if (key.indexOf(sep) < 0) return key; + const c = key.split(new RegExp(`${sep}[ ]*{`)); + let optionsString = `{${c[1]}`; + key = c[0]; + optionsString = this.interpolate(optionsString, clonedOptions); + const matchedSingleQuotes = optionsString.match(/'/g); + const matchedDoubleQuotes = optionsString.match(/"/g); + if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) { + optionsString = optionsString.replace(/'/g, '"'); + } + try { + clonedOptions = JSON.parse(optionsString); + if (inheritedOptions) clonedOptions = { + ...inheritedOptions, + ...clonedOptions + }; + } catch (e) { + this.logger.warn(`failed parsing options string in nesting for key ${key}`, e); + return `${key}${sep}${optionsString}`; + } + if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue; + return key; + }; + while (match = this.nestingRegexp.exec(str)) { + let formatters = []; + clonedOptions = { + ...options + }; + clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions; + clonedOptions.applyPostProcessor = false; + delete clonedOptions.defaultValue; + let doReduce = false; + if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) { + const r = match[1].split(this.formatSeparator).map(elem => elem.trim()); + match[1] = r.shift(); + formatters = r; + doReduce = true; + } + value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions); + if (value && match[0] === str && !isString(value)) return value; + if (!isString(value)) value = makeString(value); + if (!value) { + this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`); + value = ''; + } + if (doReduce) { + value = formatters.reduce((v, f) => this.format(v, f, options.lng, { + ...options, + interpolationkey: match[1].trim() + }), value.trim()); + } + str = str.replace(match[0], value); + this.regexp.lastIndex = 0; + } + return str; + } +} + +const parseFormatStr = formatStr => { + let formatName = formatStr.toLowerCase().trim(); + const formatOptions = {}; + if (formatStr.indexOf('(') > -1) { + const p = formatStr.split('('); + formatName = p[0].toLowerCase().trim(); + const optStr = p[1].substring(0, p[1].length - 1); + if (formatName === 'currency' && optStr.indexOf(':') < 0) { + if (!formatOptions.currency) formatOptions.currency = optStr.trim(); + } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) { + if (!formatOptions.range) formatOptions.range = optStr.trim(); + } else { + const opts = optStr.split(';'); + opts.forEach(opt => { + if (opt) { + const [key, ...rest] = opt.split(':'); + const val = rest.join(':').trim().replace(/^'+|'+$/g, ''); + const trimmedKey = key.trim(); + if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val; + if (val === 'false') formatOptions[trimmedKey] = false; + if (val === 'true') formatOptions[trimmedKey] = true; + if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10); + } + }); + } + } + return { + formatName, + formatOptions + }; +}; +const createCachedFormatter = fn => { + const cache = {}; + return (v, l, o) => { + let optForCache = o; + if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) { + optForCache = { + ...optForCache, + [o.interpolationkey]: undefined + }; + } + const key = l + JSON.stringify(optForCache); + let frm = cache[key]; + if (!frm) { + frm = fn(getCleanedCode(l), o); + cache[key] = frm; + } + return frm(v); + }; +}; +const createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v); +class Formatter { + constructor(options = {}) { + this.logger = baseLogger.create('formatter'); + this.options = options; + this.init(options); + } + init(services, options = { + interpolation: {} + }) { + this.formatSeparator = options.interpolation.formatSeparator || ','; + const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter; + this.formats = { + number: cf((lng, opt) => { + const formatter = new Intl.NumberFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }), + currency: cf((lng, opt) => { + const formatter = new Intl.NumberFormat(lng, { + ...opt, + style: 'currency' + }); + return val => formatter.format(val); + }), + datetime: cf((lng, opt) => { + const formatter = new Intl.DateTimeFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }), + relativetime: cf((lng, opt) => { + const formatter = new Intl.RelativeTimeFormat(lng, { + ...opt + }); + return val => formatter.format(val, opt.range || 'day'); + }), + list: cf((lng, opt) => { + const formatter = new Intl.ListFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }) + }; + } + add(name, fc) { + this.formats[name.toLowerCase().trim()] = fc; + } + addCached(name, fc) { + this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc); + } + format(value, format, lng, options = {}) { + const formats = format.split(this.formatSeparator); + if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) { + const lastIndex = formats.findIndex(f => f.indexOf(')') > -1); + formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator); + } + const result = formats.reduce((mem, f) => { + const { + formatName, + formatOptions + } = parseFormatStr(f); + if (this.formats[formatName]) { + let formatted = mem; + try { + const valOptions = options?.formatParams?.[options.interpolationkey] || {}; + const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng; + formatted = this.formats[formatName](mem, l, { + ...formatOptions, + ...options, + ...valOptions + }); + } catch (error) { + this.logger.warn(error); + } + return formatted; + } else { + this.logger.warn(`there was no format function for ${formatName}`); + } + return mem; + }, value); + return result; + } +} + +const removePending = (q, name) => { + if (q.pending[name] !== undefined) { + delete q.pending[name]; + q.pendingCount--; + } +}; +class Connector extends EventEmitter { + constructor(backend, store, services, options = {}) { + super(); + this.backend = backend; + this.store = store; + this.services = services; + this.languageUtils = services.languageUtils; + this.options = options; + this.logger = baseLogger.create('backendConnector'); + this.waitingReads = []; + this.maxParallelReads = options.maxParallelReads || 10; + this.readingCalls = 0; + this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5; + this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350; + this.state = {}; + this.queue = []; + this.backend?.init?.(services, options.backend, options); + } + queueLoad(languages, namespaces, options, callback) { + const toLoad = {}; + const pending = {}; + const toLoadLanguages = {}; + const toLoadNamespaces = {}; + languages.forEach(lng => { + let hasAllNamespaces = true; + namespaces.forEach(ns => { + const name = `${lng}|${ns}`; + if (!options.reload && this.store.hasResourceBundle(lng, ns)) { + this.state[name] = 2; + } else if (this.state[name] < 0) ; else if (this.state[name] === 1) { + if (pending[name] === undefined) pending[name] = true; + } else { + this.state[name] = 1; + hasAllNamespaces = false; + if (pending[name] === undefined) pending[name] = true; + if (toLoad[name] === undefined) toLoad[name] = true; + if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true; + } + }); + if (!hasAllNamespaces) toLoadLanguages[lng] = true; + }); + if (Object.keys(toLoad).length || Object.keys(pending).length) { + this.queue.push({ + pending, + pendingCount: Object.keys(pending).length, + loaded: {}, + errors: [], + callback + }); + } + return { + toLoad: Object.keys(toLoad), + pending: Object.keys(pending), + toLoadLanguages: Object.keys(toLoadLanguages), + toLoadNamespaces: Object.keys(toLoadNamespaces) + }; + } + loaded(name, err, data) { + const s = name.split('|'); + const lng = s[0]; + const ns = s[1]; + if (err) this.emit('failedLoading', lng, ns, err); + if (!err && data) { + this.store.addResourceBundle(lng, ns, data, undefined, undefined, { + skipCopy: true + }); + } + this.state[name] = err ? -1 : 2; + if (err && data) this.state[name] = 0; + const loaded = {}; + this.queue.forEach(q => { + pushPath(q.loaded, [lng], ns); + removePending(q, name); + if (err) q.errors.push(err); + if (q.pendingCount === 0 && !q.done) { + Object.keys(q.loaded).forEach(l => { + if (!loaded[l]) loaded[l] = {}; + const loadedKeys = q.loaded[l]; + if (loadedKeys.length) { + loadedKeys.forEach(n => { + if (loaded[l][n] === undefined) loaded[l][n] = true; + }); + } + }); + q.done = true; + if (q.errors.length) { + q.callback(q.errors); + } else { + q.callback(); + } + } + }); + this.emit('loaded', loaded); + this.queue = this.queue.filter(q => !q.done); + } + read(lng, ns, fcName, tried = 0, wait = this.retryTimeout, callback) { + if (!lng.length) return callback(null, {}); + if (this.readingCalls >= this.maxParallelReads) { + this.waitingReads.push({ + lng, + ns, + fcName, + tried, + wait, + callback + }); + return; + } + this.readingCalls++; + const resolver = (err, data) => { + this.readingCalls--; + if (this.waitingReads.length > 0) { + const next = this.waitingReads.shift(); + this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback); + } + if (err && data && tried < this.maxRetries) { + setTimeout(() => { + this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback); + }, wait); + return; + } + callback(err, data); + }; + const fc = this.backend[fcName].bind(this.backend); + if (fc.length === 2) { + try { + const r = fc(lng, ns); + if (r && typeof r.then === 'function') { + r.then(data => resolver(null, data)).catch(resolver); + } else { + resolver(null, r); + } + } catch (err) { + resolver(err); + } + return; + } + return fc(lng, ns, resolver); + } + prepareLoading(languages, namespaces, options = {}, callback) { + if (!this.backend) { + this.logger.warn('No backend was added via i18next.use. Will not load resources.'); + return callback && callback(); + } + if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages); + if (isString(namespaces)) namespaces = [namespaces]; + const toLoad = this.queueLoad(languages, namespaces, options, callback); + if (!toLoad.toLoad.length) { + if (!toLoad.pending.length) callback(); + return null; + } + toLoad.toLoad.forEach(name => { + this.loadOne(name); + }); + } + load(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, {}, callback); + } + reload(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, { + reload: true + }, callback); + } + loadOne(name, prefix = '') { + const s = name.split('|'); + const lng = s[0]; + const ns = s[1]; + this.read(lng, ns, 'read', undefined, undefined, (err, data) => { + if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err); + if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data); + this.loaded(name, err, data); + }); + } + saveMissing(languages, namespace, key, fallbackValue, isUpdate, options = {}, clb = () => {}) { + if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) { + this.logger.warn(`did not save key "${key}" as the namespace "${namespace}" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + return; + } + if (key === undefined || key === null || key === '') return; + if (this.backend?.create) { + const opts = { + ...options, + isUpdate + }; + const fc = this.backend.create.bind(this.backend); + if (fc.length < 6) { + try { + let r; + if (fc.length === 5) { + r = fc(languages, namespace, key, fallbackValue, opts); + } else { + r = fc(languages, namespace, key, fallbackValue); + } + if (r && typeof r.then === 'function') { + r.then(data => clb(null, data)).catch(clb); + } else { + clb(null, r); + } + } catch (err) { + clb(err); + } + } else { + fc(languages, namespace, key, fallbackValue, clb, opts); + } + } + if (!languages || !languages[0]) return; + this.store.addResource(languages[0], namespace, key, fallbackValue); + } +} + +const get = () => ({ + debug: false, + initAsync: true, + ns: ['translation'], + defaultNS: ['translation'], + fallbackLng: ['dev'], + fallbackNS: false, + supportedLngs: false, + nonExplicitSupportedLngs: false, + load: 'all', + preload: false, + simplifyPluralSuffix: true, + keySeparator: '.', + nsSeparator: ':', + pluralSeparator: '_', + contextSeparator: '_', + partialBundledLanguages: false, + saveMissing: false, + updateMissing: false, + saveMissingTo: 'fallback', + saveMissingPlurals: true, + missingKeyHandler: false, + missingInterpolationHandler: false, + postProcess: false, + postProcessPassResolved: false, + returnNull: false, + returnEmptyString: true, + returnObjects: false, + joinArrays: false, + returnedObjectHandler: false, + parseMissingKeyHandler: false, + appendNamespaceToMissingKey: false, + appendNamespaceToCIMode: false, + overloadTranslationOptionHandler: args => { + let ret = {}; + if (typeof args[1] === 'object') ret = args[1]; + if (isString(args[1])) ret.defaultValue = args[1]; + if (isString(args[2])) ret.tDescription = args[2]; + if (typeof args[2] === 'object' || typeof args[3] === 'object') { + const options = args[3] || args[2]; + Object.keys(options).forEach(key => { + ret[key] = options[key]; + }); + } + return ret; + }, + interpolation: { + escapeValue: true, + format: value => value, + prefix: '{{', + suffix: '}}', + formatSeparator: ',', + unescapePrefix: '-', + nestingPrefix: '$t(', + nestingSuffix: ')', + nestingOptionsSeparator: ',', + maxReplaces: 1000, + skipOnVariables: true + }, + cacheInBuiltFormats: true +}); +const transformOptions = options => { + if (isString(options.ns)) options.ns = [options.ns]; + if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng]; + if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS]; + if (options.supportedLngs?.indexOf?.('cimode') < 0) { + options.supportedLngs = options.supportedLngs.concat(['cimode']); + } + if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate; + return options; +}; + +const noop = () => {}; +const bindMemberFunctions = inst => { + const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst)); + mems.forEach(mem => { + if (typeof inst[mem] === 'function') { + inst[mem] = inst[mem].bind(inst); + } + }); +}; +class I18n extends EventEmitter { + constructor(options = {}, callback) { + super(); + this.options = transformOptions(options); + this.services = {}; + this.logger = baseLogger; + this.modules = { + external: [] + }; + bindMemberFunctions(this); + if (callback && !this.isInitialized && !options.isClone) { + if (!this.options.initAsync) { + this.init(options, callback); + return this; + } + setTimeout(() => { + this.init(options, callback); + }, 0); + } + } + init(options = {}, callback) { + this.isInitializing = true; + if (typeof options === 'function') { + callback = options; + options = {}; + } + if (options.defaultNS == null && options.ns) { + if (isString(options.ns)) { + options.defaultNS = options.ns; + } else if (options.ns.indexOf('translation') < 0) { + options.defaultNS = options.ns[0]; + } + } + const defOpts = get(); + this.options = { + ...defOpts, + ...this.options, + ...transformOptions(options) + }; + this.options.interpolation = { + ...defOpts.interpolation, + ...this.options.interpolation + }; + if (options.keySeparator !== undefined) { + this.options.userDefinedKeySeparator = options.keySeparator; + } + if (options.nsSeparator !== undefined) { + this.options.userDefinedNsSeparator = options.nsSeparator; + } + const createClassOnDemand = ClassOrObject => { + if (!ClassOrObject) return null; + if (typeof ClassOrObject === 'function') return new ClassOrObject(); + return ClassOrObject; + }; + if (!this.options.isClone) { + if (this.modules.logger) { + baseLogger.init(createClassOnDemand(this.modules.logger), this.options); + } else { + baseLogger.init(null, this.options); + } + let formatter; + if (this.modules.formatter) { + formatter = this.modules.formatter; + } else { + formatter = Formatter; + } + const lu = new LanguageUtil(this.options); + this.store = new ResourceStore(this.options.resources, this.options); + const s = this.services; + s.logger = baseLogger; + s.resourceStore = this.store; + s.languageUtils = lu; + s.pluralResolver = new PluralResolver(lu, { + prepend: this.options.pluralSeparator, + simplifyPluralSuffix: this.options.simplifyPluralSuffix + }); + if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) { + s.formatter = createClassOnDemand(formatter); + s.formatter.init(s, this.options); + this.options.interpolation.format = s.formatter.format.bind(s.formatter); + } + s.interpolator = new Interpolator(this.options); + s.utils = { + hasLoadedNamespace: this.hasLoadedNamespace.bind(this) + }; + s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); + s.backendConnector.on('*', (event, ...args) => { + this.emit(event, ...args); + }); + if (this.modules.languageDetector) { + s.languageDetector = createClassOnDemand(this.modules.languageDetector); + if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options); + } + if (this.modules.i18nFormat) { + s.i18nFormat = createClassOnDemand(this.modules.i18nFormat); + if (s.i18nFormat.init) s.i18nFormat.init(this); + } + this.translator = new Translator(this.services, this.options); + this.translator.on('*', (event, ...args) => { + this.emit(event, ...args); + }); + this.modules.external.forEach(m => { + if (m.init) m.init(this); + }); + } + this.format = this.options.interpolation.format; + if (!callback) callback = noop; + if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) { + const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0]; + } + if (!this.services.languageDetector && !this.options.lng) { + this.logger.warn('init: no languageDetector is used and no lng is defined'); + } + const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage']; + storeApi.forEach(fcName => { + this[fcName] = (...args) => this.store[fcName](...args); + }); + const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle']; + storeApiChained.forEach(fcName => { + this[fcName] = (...args) => { + this.store[fcName](...args); + return this; + }; + }); + const deferred = defer(); + const load = () => { + const finish = (err, t) => { + this.isInitializing = false; + if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!'); + this.isInitialized = true; + if (!this.options.isClone) this.logger.log('initialized', this.options); + this.emit('initialized', this.options); + deferred.resolve(t); + callback(err, t); + }; + if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this)); + this.changeLanguage(this.options.lng, finish); + }; + if (this.options.resources || !this.options.initAsync) { + load(); + } else { + setTimeout(load, 0); + } + return deferred; + } + loadResources(language, callback = noop) { + let usedCallback = callback; + const usedLng = isString(language) ? language : this.language; + if (typeof language === 'function') usedCallback = language; + if (!this.options.resources || this.options.partialBundledLanguages) { + if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback(); + const toLoad = []; + const append = lng => { + if (!lng) return; + if (lng === 'cimode') return; + const lngs = this.services.languageUtils.toResolveHierarchy(lng); + lngs.forEach(l => { + if (l === 'cimode') return; + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + if (!usedLng) { + const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + fallbacks.forEach(l => append(l)); + } else { + append(usedLng); + } + this.options.preload?.forEach?.(l => append(l)); + this.services.backendConnector.load(toLoad, this.options.ns, e => { + if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language); + usedCallback(e); + }); + } else { + usedCallback(null); + } + } + reloadResources(lngs, ns, callback) { + const deferred = defer(); + if (typeof lngs === 'function') { + callback = lngs; + lngs = undefined; + } + if (typeof ns === 'function') { + callback = ns; + ns = undefined; + } + if (!lngs) lngs = this.languages; + if (!ns) ns = this.options.ns; + if (!callback) callback = noop; + this.services.backendConnector.reload(lngs, ns, err => { + deferred.resolve(); + callback(err); + }); + return deferred; + } + use(module) { + if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()'); + if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()'); + if (module.type === 'backend') { + this.modules.backend = module; + } + if (module.type === 'logger' || module.log && module.warn && module.error) { + this.modules.logger = module; + } + if (module.type === 'languageDetector') { + this.modules.languageDetector = module; + } + if (module.type === 'i18nFormat') { + this.modules.i18nFormat = module; + } + if (module.type === 'postProcessor') { + postProcessor.addPostProcessor(module); + } + if (module.type === 'formatter') { + this.modules.formatter = module; + } + if (module.type === '3rdParty') { + this.modules.external.push(module); + } + return this; + } + setResolvedLanguage(l) { + if (!l || !this.languages) return; + if (['cimode', 'dev'].indexOf(l) > -1) return; + for (let li = 0; li < this.languages.length; li++) { + const lngInLngs = this.languages[li]; + if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue; + if (this.store.hasLanguageSomeTranslations(lngInLngs)) { + this.resolvedLanguage = lngInLngs; + break; + } + } + if (!this.resolvedLanguage && this.languages.indexOf(l) < 0 && this.store.hasLanguageSomeTranslations(l)) { + this.resolvedLanguage = l; + this.languages.unshift(l); + } + } + changeLanguage(lng, callback) { + this.isLanguageChangingTo = lng; + const deferred = defer(); + this.emit('languageChanging', lng); + const setLngProps = l => { + this.language = l; + this.languages = this.services.languageUtils.toResolveHierarchy(l); + this.resolvedLanguage = undefined; + this.setResolvedLanguage(l); + }; + const done = (err, l) => { + if (l) { + if (this.isLanguageChangingTo === lng) { + setLngProps(l); + this.translator.changeLanguage(l); + this.isLanguageChangingTo = undefined; + this.emit('languageChanged', l); + this.logger.log('languageChanged', l); + } + } else { + this.isLanguageChangingTo = undefined; + } + deferred.resolve((...args) => this.t(...args)); + if (callback) callback(err, (...args) => this.t(...args)); + }; + const setLng = lngs => { + if (!lng && !lngs && this.services.languageDetector) lngs = []; + const fl = isString(lngs) ? lngs : lngs && lngs[0]; + const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs); + if (l) { + if (!this.language) { + setLngProps(l); + } + if (!this.translator.language) this.translator.changeLanguage(l); + this.services.languageDetector?.cacheUserLanguage?.(l); + } + this.loadResources(l, err => { + done(err, l); + }); + }; + if (!lng && this.services.languageDetector && !this.services.languageDetector.async) { + setLng(this.services.languageDetector.detect()); + } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) { + if (this.services.languageDetector.detect.length === 0) { + this.services.languageDetector.detect().then(setLng); + } else { + this.services.languageDetector.detect(setLng); + } + } else { + setLng(lng); + } + return deferred; + } + getFixedT(lng, ns, keyPrefix) { + const fixedT = (key, opts, ...rest) => { + let o; + if (typeof opts !== 'object') { + o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest)); + } else { + o = { + ...opts + }; + } + o.lng = o.lng || fixedT.lng; + o.lngs = o.lngs || fixedT.lngs; + o.ns = o.ns || fixedT.ns; + if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix; + const keySeparator = this.options.keySeparator || '.'; + let resultKey; + if (o.keyPrefix && Array.isArray(key)) { + resultKey = key.map(k => `${o.keyPrefix}${keySeparator}${k}`); + } else { + resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key; + } + return this.t(resultKey, o); + }; + if (isString(lng)) { + fixedT.lng = lng; + } else { + fixedT.lngs = lng; + } + fixedT.ns = ns; + fixedT.keyPrefix = keyPrefix; + return fixedT; + } + t(...args) { + return this.translator?.translate(...args); + } + exists(...args) { + return this.translator?.exists(...args); + } + setDefaultNamespace(ns) { + this.options.defaultNS = ns; + } + hasLoadedNamespace(ns, options = {}) { + if (!this.isInitialized) { + this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages); + return false; + } + if (!this.languages || !this.languages.length) { + this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages); + return false; + } + const lng = options.lng || this.resolvedLanguage || this.languages[0]; + const fallbackLng = this.options ? this.options.fallbackLng : false; + const lastLng = this.languages[this.languages.length - 1]; + if (lng.toLowerCase() === 'cimode') return true; + const loadNotPending = (l, n) => { + const loadState = this.services.backendConnector.state[`${l}|${n}`]; + return loadState === -1 || loadState === 0 || loadState === 2; + }; + if (options.precheck) { + const preResult = options.precheck(this, loadNotPending); + if (preResult !== undefined) return preResult; + } + if (this.hasResourceBundle(lng, ns)) return true; + if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true; + if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; + return false; + } + loadNamespaces(ns, callback) { + const deferred = defer(); + if (!this.options.ns) { + if (callback) callback(); + return Promise.resolve(); + } + if (isString(ns)) ns = [ns]; + ns.forEach(n => { + if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n); + }); + this.loadResources(err => { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + loadLanguages(lngs, callback) { + const deferred = defer(); + if (isString(lngs)) lngs = [lngs]; + const preloaded = this.options.preload || []; + const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng)); + if (!newLngs.length) { + if (callback) callback(); + return Promise.resolve(); + } + this.options.preload = preloaded.concat(newLngs); + this.loadResources(err => { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + dir(lng) { + if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language); + if (!lng) return 'rtl'; + const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb']; + const languageUtils = this.services?.languageUtils || new LanguageUtil(get()); + return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr'; + } + static createInstance(options = {}, callback) { + return new I18n(options, callback); + } + cloneInstance(options = {}, callback = noop) { + const forkResourceStore = options.forkResourceStore; + if (forkResourceStore) delete options.forkResourceStore; + const mergedOptions = { + ...this.options, + ...options, + ...{ + isClone: true + } + }; + const clone = new I18n(mergedOptions); + if (options.debug !== undefined || options.prefix !== undefined) { + clone.logger = clone.logger.clone(options); + } + const membersToCopy = ['store', 'services', 'language']; + membersToCopy.forEach(m => { + clone[m] = this[m]; + }); + clone.services = { + ...this.services + }; + clone.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + if (forkResourceStore) { + const clonedData = Object.keys(this.store.data).reduce((prev, l) => { + prev[l] = { + ...this.store.data[l] + }; + prev[l] = Object.keys(prev[l]).reduce((acc, n) => { + acc[n] = { + ...prev[l][n] + }; + return acc; + }, prev[l]); + return prev; + }, {}); + clone.store = new ResourceStore(clonedData, mergedOptions); + clone.services.resourceStore = clone.store; + } + clone.translator = new Translator(clone.services, mergedOptions); + clone.translator.on('*', (event, ...args) => { + clone.emit(event, ...args); + }); + clone.init(mergedOptions, callback); + clone.translator.options = mergedOptions; + clone.translator.backendConnector.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + return clone; + } + toJSON() { + return { + options: this.options, + store: this.store, + language: this.language, + languages: this.languages, + resolvedLanguage: this.resolvedLanguage + }; + } +} +const instance = I18n.createInstance(); +instance.createInstance = I18n.createInstance; + +const createInstance = instance.createInstance; +const dir = instance.dir; +const init = instance.init; +const loadResources = instance.loadResources; +const reloadResources = instance.reloadResources; +const use = instance.use; +const changeLanguage = instance.changeLanguage; +const getFixedT = instance.getFixedT; +const t = instance.t; +const exists = instance.exists; +const setDefaultNamespace = instance.setDefaultNamespace; +const hasLoadedNamespace = instance.hasLoadedNamespace; +const loadNamespaces = instance.loadNamespaces; +const loadLanguages = instance.loadLanguages; + +export { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use }; diff --git a/node_modules/i18next/dist/esm/i18next.js b/node_modules/i18next/dist/esm/i18next.js new file mode 100644 index 00000000..46be42d2 --- /dev/null +++ b/node_modules/i18next/dist/esm/i18next.js @@ -0,0 +1,2154 @@ +const isString = obj => typeof obj === 'string'; +const defer = () => { + let res; + let rej; + const promise = new Promise((resolve, reject) => { + res = resolve; + rej = reject; + }); + promise.resolve = res; + promise.reject = rej; + return promise; +}; +const makeString = object => { + if (object == null) return ''; + return '' + object; +}; +const copy = (a, s, t) => { + a.forEach(m => { + if (s[m]) t[m] = s[m]; + }); +}; +const lastOfPathSeparatorRegExp = /###/g; +const cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key; +const canNotTraverseDeeper = object => !object || isString(object); +const getLastOfPath = (object, path, Empty) => { + const stack = !isString(path) ? path : path.split('.'); + let stackIndex = 0; + while (stackIndex < stack.length - 1) { + if (canNotTraverseDeeper(object)) return {}; + const key = cleanKey(stack[stackIndex]); + if (!object[key] && Empty) object[key] = new Empty(); + if (Object.prototype.hasOwnProperty.call(object, key)) { + object = object[key]; + } else { + object = {}; + } + ++stackIndex; + } + if (canNotTraverseDeeper(object)) return {}; + return { + obj: object, + k: cleanKey(stack[stackIndex]) + }; +}; +const setPath = (object, path, newValue) => { + const { + obj, + k + } = getLastOfPath(object, path, Object); + if (obj !== undefined || path.length === 1) { + obj[k] = newValue; + return; + } + let e = path[path.length - 1]; + let p = path.slice(0, path.length - 1); + let last = getLastOfPath(object, p, Object); + while (last.obj === undefined && p.length) { + e = `${p[p.length - 1]}.${e}`; + p = p.slice(0, p.length - 1); + last = getLastOfPath(object, p, Object); + if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') { + last.obj = undefined; + } + } + last.obj[`${last.k}.${e}`] = newValue; +}; +const pushPath = (object, path, newValue, concat) => { + const { + obj, + k + } = getLastOfPath(object, path, Object); + obj[k] = obj[k] || []; + obj[k].push(newValue); +}; +const getPath = (object, path) => { + const { + obj, + k + } = getLastOfPath(object, path); + if (!obj) return undefined; + if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined; + return obj[k]; +}; +const getPathWithDefaults = (data, defaultData, key) => { + const value = getPath(data, key); + if (value !== undefined) { + return value; + } + return getPath(defaultData, key); +}; +const deepExtend = (target, source, overwrite) => { + for (const prop in source) { + if (prop !== '__proto__' && prop !== 'constructor') { + if (prop in target) { + if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) { + if (overwrite) target[prop] = source[prop]; + } else { + deepExtend(target[prop], source[prop], overwrite); + } + } else { + target[prop] = source[prop]; + } + } + } + return target; +}; +const regexEscape = str => str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); +var _entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' +}; +const escape = data => { + if (isString(data)) { + return data.replace(/[&<>"'\/]/g, s => _entityMap[s]); + } + return data; +}; +class RegExpCache { + constructor(capacity) { + this.capacity = capacity; + this.regExpMap = new Map(); + this.regExpQueue = []; + } + getRegExp(pattern) { + const regExpFromCache = this.regExpMap.get(pattern); + if (regExpFromCache !== undefined) { + return regExpFromCache; + } + const regExpNew = new RegExp(pattern); + if (this.regExpQueue.length === this.capacity) { + this.regExpMap.delete(this.regExpQueue.shift()); + } + this.regExpMap.set(pattern, regExpNew); + this.regExpQueue.push(pattern); + return regExpNew; + } +} +const chars = [' ', ',', '?', '!', ';']; +const looksLikeObjectPathRegExpCache = new RegExpCache(20); +const looksLikeObjectPath = (key, nsSeparator, keySeparator) => { + nsSeparator = nsSeparator || ''; + keySeparator = keySeparator || ''; + const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0); + if (possibleChars.length === 0) return true; + const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\?' : c).join('|')})`); + let matched = !r.test(key); + if (!matched) { + const ki = key.indexOf(keySeparator); + if (ki > 0 && !r.test(key.substring(0, ki))) { + matched = true; + } + } + return matched; +}; +const deepFind = (obj, path, keySeparator = '.') => { + if (!obj) return undefined; + if (obj[path]) { + if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined; + return obj[path]; + } + const tokens = path.split(keySeparator); + let current = obj; + for (let i = 0; i < tokens.length;) { + if (!current || typeof current !== 'object') { + return undefined; + } + let next; + let nextPath = ''; + for (let j = i; j < tokens.length; ++j) { + if (j !== i) { + nextPath += keySeparator; + } + nextPath += tokens[j]; + next = current[nextPath]; + if (next !== undefined) { + if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) { + continue; + } + i += j - i + 1; + break; + } + } + current = next; + } + return current; +}; +const getCleanedCode = code => code?.replace('_', '-'); + +const consoleLogger = { + type: 'logger', + log(args) { + this.output('log', args); + }, + warn(args) { + this.output('warn', args); + }, + error(args) { + this.output('error', args); + }, + output(type, args) { + console?.[type]?.apply?.(console, args); + } +}; +class Logger { + constructor(concreteLogger, options = {}) { + this.init(concreteLogger, options); + } + init(concreteLogger, options = {}) { + this.prefix = options.prefix || 'i18next:'; + this.logger = concreteLogger || consoleLogger; + this.options = options; + this.debug = options.debug; + } + log(...args) { + return this.forward(args, 'log', '', true); + } + warn(...args) { + return this.forward(args, 'warn', '', true); + } + error(...args) { + return this.forward(args, 'error', ''); + } + deprecate(...args) { + return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true); + } + forward(args, lvl, prefix, debugOnly) { + if (debugOnly && !this.debug) return null; + if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`; + return this.logger[lvl](args); + } + create(moduleName) { + return new Logger(this.logger, { + ...{ + prefix: `${this.prefix}:${moduleName}:` + }, + ...this.options + }); + } + clone(options) { + options = options || this.options; + options.prefix = options.prefix || this.prefix; + return new Logger(this.logger, options); + } +} +var baseLogger = new Logger(); + +class EventEmitter { + constructor() { + this.observers = {}; + } + on(events, listener) { + events.split(' ').forEach(event => { + if (!this.observers[event]) this.observers[event] = new Map(); + const numListeners = this.observers[event].get(listener) || 0; + this.observers[event].set(listener, numListeners + 1); + }); + return this; + } + off(event, listener) { + if (!this.observers[event]) return; + if (!listener) { + delete this.observers[event]; + return; + } + this.observers[event].delete(listener); + } + emit(event, ...args) { + if (this.observers[event]) { + const cloned = Array.from(this.observers[event].entries()); + cloned.forEach(([observer, numTimesAdded]) => { + for (let i = 0; i < numTimesAdded; i++) { + observer(...args); + } + }); + } + if (this.observers['*']) { + const cloned = Array.from(this.observers['*'].entries()); + cloned.forEach(([observer, numTimesAdded]) => { + for (let i = 0; i < numTimesAdded; i++) { + observer.apply(observer, [event, ...args]); + } + }); + } + } +} + +class ResourceStore extends EventEmitter { + constructor(data, options = { + ns: ['translation'], + defaultNS: 'translation' + }) { + super(); + this.data = data || {}; + this.options = options; + if (this.options.keySeparator === undefined) { + this.options.keySeparator = '.'; + } + if (this.options.ignoreJSONStructure === undefined) { + this.options.ignoreJSONStructure = true; + } + } + addNamespaces(ns) { + if (this.options.ns.indexOf(ns) < 0) { + this.options.ns.push(ns); + } + } + removeNamespaces(ns) { + const index = this.options.ns.indexOf(ns); + if (index > -1) { + this.options.ns.splice(index, 1); + } + } + getResource(lng, ns, key, options = {}) { + const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure; + let path; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + } else { + path = [lng, ns]; + if (key) { + if (Array.isArray(key)) { + path.push(...key); + } else if (isString(key) && keySeparator) { + path.push(...key.split(keySeparator)); + } else { + path.push(key); + } + } + } + const result = getPath(this.data, path); + if (!result && !ns && !key && lng.indexOf('.') > -1) { + lng = path[0]; + ns = path[1]; + key = path.slice(2).join('.'); + } + if (result || !ignoreJSONStructure || !isString(key)) return result; + return deepFind(this.data?.[lng]?.[ns], key, keySeparator); + } + addResource(lng, ns, key, value, options = { + silent: false + }) { + const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + let path = [lng, ns]; + if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + value = ns; + ns = path[1]; + } + this.addNamespaces(ns); + setPath(this.data, path, value); + if (!options.silent) this.emit('added', lng, ns, key, value); + } + addResources(lng, ns, resources, options = { + silent: false + }) { + for (const m in resources) { + if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], { + silent: true + }); + } + if (!options.silent) this.emit('added', lng, ns, resources); + } + addResourceBundle(lng, ns, resources, deep, overwrite, options = { + silent: false, + skipCopy: false + }) { + let path = [lng, ns]; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + deep = resources; + resources = ns; + ns = path[1]; + } + this.addNamespaces(ns); + let pack = getPath(this.data, path) || {}; + if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources)); + if (deep) { + deepExtend(pack, resources, overwrite); + } else { + pack = { + ...pack, + ...resources + }; + } + setPath(this.data, path, pack); + if (!options.silent) this.emit('added', lng, ns, resources); + } + removeResourceBundle(lng, ns) { + if (this.hasResourceBundle(lng, ns)) { + delete this.data[lng][ns]; + } + this.removeNamespaces(ns); + this.emit('removed', lng, ns); + } + hasResourceBundle(lng, ns) { + return this.getResource(lng, ns) !== undefined; + } + getResourceBundle(lng, ns) { + if (!ns) ns = this.options.defaultNS; + return this.getResource(lng, ns); + } + getDataByLanguage(lng) { + return this.data[lng]; + } + hasLanguageSomeTranslations(lng) { + const data = this.getDataByLanguage(lng); + const n = data && Object.keys(data) || []; + return !!n.find(v => data[v] && Object.keys(data[v]).length > 0); + } + toJSON() { + return this.data; + } +} + +var postProcessor = { + processors: {}, + addPostProcessor(module) { + this.processors[module.name] = module; + }, + handle(processors, value, key, options, translator) { + processors.forEach(processor => { + value = this.processors[processor]?.process(value, key, options, translator) ?? value; + }); + return value; + } +}; + +const checkedLoadedFor = {}; +const shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number'; +class Translator extends EventEmitter { + constructor(services, options = {}) { + super(); + copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this); + this.options = options; + if (this.options.keySeparator === undefined) { + this.options.keySeparator = '.'; + } + this.logger = baseLogger.create('translator'); + } + changeLanguage(lng) { + if (lng) this.language = lng; + } + exists(key, o = { + interpolation: {} + }) { + const opt = { + ...o + }; + if (key == null) return false; + const resolved = this.resolve(key, opt); + return resolved?.res !== undefined; + } + extractFromKey(key, opt) { + let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator; + let namespaces = opt.ns || this.options.defaultNS || []; + const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1; + const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator); + if (wouldCheckForNsInKey && !seemsNaturalLanguage) { + const m = key.match(this.interpolator.nestingRegexp); + if (m && m.length > 0) { + return { + key, + namespaces: isString(namespaces) ? [namespaces] : namespaces + }; + } + const parts = key.split(nsSeparator); + if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift(); + key = parts.join(keySeparator); + } + return { + key, + namespaces: isString(namespaces) ? [namespaces] : namespaces + }; + } + translate(keys, o, lastKey) { + let opt = typeof o === 'object' ? { + ...o + } : o; + if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) { + opt = this.options.overloadTranslationOptionHandler(arguments); + } + if (typeof options === 'object') opt = { + ...opt + }; + if (!opt) opt = {}; + if (keys == null) return ''; + if (!Array.isArray(keys)) keys = [String(keys)]; + const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails; + const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator; + const { + key, + namespaces + } = this.extractFromKey(keys[keys.length - 1], opt); + const namespace = namespaces[namespaces.length - 1]; + let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + const lng = opt.lng || this.language; + const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode; + if (lng?.toLowerCase() === 'cimode') { + if (appendNamespaceToCIMode) { + if (returnDetails) { + return { + res: `${namespace}${nsSeparator}${key}`, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace, + usedParams: this.getUsedParamsDetails(opt) + }; + } + return `${namespace}${nsSeparator}${key}`; + } + if (returnDetails) { + return { + res: key, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace, + usedParams: this.getUsedParamsDetails(opt) + }; + } + return key; + } + const resolved = this.resolve(keys, opt); + let res = resolved?.res; + const resUsedKey = resolved?.usedKey || key; + const resExactUsedKey = resolved?.exactUsedKey || key; + const noObject = ['[object Number]', '[object Function]', '[object RegExp]']; + const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays; + const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject; + const needsPluralHandling = opt.count !== undefined && !isString(opt.count); + const hasDefaultValue = Translator.hasDefaultValue(opt); + const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : ''; + const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, { + ordinal: false + }) : ''; + const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0; + const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue; + let resForObjHndl = res; + if (handleAsObjectInI18nFormat && !res && hasDefaultValue) { + resForObjHndl = defaultValue; + } + const handleAsObject = shouldHandleAsObject(resForObjHndl); + const resType = Object.prototype.toString.apply(resForObjHndl); + if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) { + if (!opt.returnObjects && !this.options.returnObjects) { + if (!this.options.returnedObjectHandler) { + this.logger.warn('accessing an object - but returnObjects options is not enabled!'); + } + const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, { + ...opt, + ns: namespaces + }) : `key '${key} (${this.language})' returned an object instead of string.`; + if (returnDetails) { + resolved.res = r; + resolved.usedParams = this.getUsedParamsDetails(opt); + return resolved; + } + return r; + } + if (keySeparator) { + const resTypeIsArray = Array.isArray(resForObjHndl); + const copy = resTypeIsArray ? [] : {}; + const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey; + for (const m in resForObjHndl) { + if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) { + const deepKey = `${newKeyToUse}${keySeparator}${m}`; + if (hasDefaultValue && !res) { + copy[m] = this.translate(deepKey, { + ...opt, + defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined, + ...{ + joinArrays: false, + ns: namespaces + } + }); + } else { + copy[m] = this.translate(deepKey, { + ...opt, + ...{ + joinArrays: false, + ns: namespaces + } + }); + } + if (copy[m] === deepKey) copy[m] = resForObjHndl[m]; + } + } + res = copy; + } + } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) { + res = res.join(joinArrays); + if (res) res = this.extendTranslation(res, keys, opt, lastKey); + } else { + let usedDefault = false; + let usedKey = false; + if (!this.isValidLookup(res) && hasDefaultValue) { + usedDefault = true; + res = defaultValue; + } + if (!this.isValidLookup(res)) { + usedKey = true; + res = key; + } + const missingKeyNoValueFallbackToKey = opt.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey; + const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res; + const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing; + if (usedKey || usedDefault || updateMissing) { + this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res); + if (keySeparator) { + const fk = this.resolve(key, { + ...opt, + keySeparator: false + }); + if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.'); + } + let lngs = []; + const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, opt.lng || this.language); + if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) { + for (let i = 0; i < fallbackLngs.length; i++) { + lngs.push(fallbackLngs[i]); + } + } else if (this.options.saveMissingTo === 'all') { + lngs = this.languageUtils.toResolveHierarchy(opt.lng || this.language); + } else { + lngs.push(opt.lng || this.language); + } + const send = (l, k, specificDefaultValue) => { + const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing; + if (this.options.missingKeyHandler) { + this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, opt); + } else if (this.backendConnector?.saveMissing) { + this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt); + } + this.emit('missingKey', l, namespace, k, res); + }; + if (this.options.saveMissing) { + if (this.options.saveMissingPlurals && needsPluralHandling) { + lngs.forEach(language => { + const suffixes = this.pluralResolver.getSuffixes(language, opt); + if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) { + suffixes.push(`${this.options.pluralSeparator}zero`); + } + suffixes.forEach(suffix => { + send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue); + }); + }); + } else { + send(lngs, key, defaultValue); + } + } + } + res = this.extendTranslation(res, keys, opt, resolved, lastKey); + if (usedKey && res === key && this.options.appendNamespaceToMissingKey) { + res = `${namespace}${nsSeparator}${key}`; + } + if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) { + res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt); + } + } + if (returnDetails) { + resolved.res = res; + resolved.usedParams = this.getUsedParamsDetails(opt); + return resolved; + } + return res; + } + extendTranslation(res, key, opt, resolved, lastKey) { + if (this.i18nFormat?.parse) { + res = this.i18nFormat.parse(res, { + ...this.options.interpolation.defaultVariables, + ...opt + }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, { + resolved + }); + } else if (!opt.skipInterpolation) { + if (opt.interpolation) this.interpolator.init({ + ...opt, + ...{ + interpolation: { + ...this.options.interpolation, + ...opt.interpolation + } + } + }); + const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables); + let nestBef; + if (skipOnVariables) { + const nb = res.match(this.interpolator.nestingRegexp); + nestBef = nb && nb.length; + } + let data = opt.replace && !isString(opt.replace) ? opt.replace : opt; + if (this.options.interpolation.defaultVariables) data = { + ...this.options.interpolation.defaultVariables, + ...data + }; + res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt); + if (skipOnVariables) { + const na = res.match(this.interpolator.nestingRegexp); + const nestAft = na && na.length; + if (nestBef < nestAft) opt.nest = false; + } + if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng; + if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => { + if (lastKey?.[0] === args[0] && !opt.context) { + this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`); + return null; + } + return this.translate(...args, key); + }, opt); + if (opt.interpolation) this.interpolator.reset(); + } + const postProcess = opt.postProcess || this.options.postProcess; + const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess; + if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) { + res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? { + i18nResolved: { + ...resolved, + usedParams: this.getUsedParamsDetails(opt) + }, + ...opt + } : opt, this); + } + return res; + } + resolve(keys, opt = {}) { + let found; + let usedKey; + let exactUsedKey; + let usedLng; + let usedNS; + if (isString(keys)) keys = [keys]; + keys.forEach(k => { + if (this.isValidLookup(found)) return; + const extracted = this.extractFromKey(k, opt); + const key = extracted.key; + usedKey = key; + let namespaces = extracted.namespaces; + if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS); + const needsPluralHandling = opt.count !== undefined && !isString(opt.count); + const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0; + const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== ''; + const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng); + namespaces.forEach(ns => { + if (this.isValidLookup(found)) return; + usedNS = ns; + if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) { + checkedLoadedFor[`${codes[0]}-${ns}`] = true; + this.logger.warn(`key "${usedKey}" for languages "${codes.join(', ')}" won't get resolved as namespace "${usedNS}" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + } + codes.forEach(code => { + if (this.isValidLookup(found)) return; + usedLng = code; + const finalKeys = [key]; + if (this.i18nFormat?.addLookupKeys) { + this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt); + } else { + let pluralSuffix; + if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt); + const zeroSuffix = `${this.options.pluralSeparator}zero`; + const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`; + if (needsPluralHandling) { + finalKeys.push(key + pluralSuffix); + if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) { + finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator)); + } + if (needsZeroSuffixLookup) { + finalKeys.push(key + zeroSuffix); + } + } + if (needsContextHandling) { + const contextKey = `${key}${this.options.contextSeparator}${opt.context}`; + finalKeys.push(contextKey); + if (needsPluralHandling) { + finalKeys.push(contextKey + pluralSuffix); + if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) { + finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator)); + } + if (needsZeroSuffixLookup) { + finalKeys.push(contextKey + zeroSuffix); + } + } + } + } + let possibleKey; + while (possibleKey = finalKeys.pop()) { + if (!this.isValidLookup(found)) { + exactUsedKey = possibleKey; + found = this.getResource(code, ns, possibleKey, opt); + } + } + }); + }); + }); + return { + res: found, + usedKey, + exactUsedKey, + usedLng, + usedNS + }; + } + isValidLookup(res) { + return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === ''); + } + getResource(code, ns, key, options = {}) { + if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options); + return this.resourceStore.getResource(code, ns, key, options); + } + getUsedParamsDetails(options = {}) { + const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation']; + const useOptionsReplaceForData = options.replace && !isString(options.replace); + let data = useOptionsReplaceForData ? options.replace : options; + if (useOptionsReplaceForData && typeof options.count !== 'undefined') { + data.count = options.count; + } + if (this.options.interpolation.defaultVariables) { + data = { + ...this.options.interpolation.defaultVariables, + ...data + }; + } + if (!useOptionsReplaceForData) { + data = { + ...data + }; + for (const key of optionsKeys) { + delete data[key]; + } + } + return data; + } + static hasDefaultValue(options) { + const prefix = 'defaultValue'; + for (const option in options) { + if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) { + return true; + } + } + return false; + } +} + +class LanguageUtil { + constructor(options) { + this.options = options; + this.supportedLngs = this.options.supportedLngs || false; + this.logger = baseLogger.create('languageUtils'); + } + getScriptPartFromCode(code) { + code = getCleanedCode(code); + if (!code || code.indexOf('-') < 0) return null; + const p = code.split('-'); + if (p.length === 2) return null; + p.pop(); + if (p[p.length - 1].toLowerCase() === 'x') return null; + return this.formatLanguageCode(p.join('-')); + } + getLanguagePartFromCode(code) { + code = getCleanedCode(code); + if (!code || code.indexOf('-') < 0) return code; + const p = code.split('-'); + return this.formatLanguageCode(p[0]); + } + formatLanguageCode(code) { + if (isString(code) && code.indexOf('-') > -1) { + let formattedCode; + try { + formattedCode = Intl.getCanonicalLocales(code)[0]; + } catch (e) {} + if (formattedCode && this.options.lowerCaseLng) { + formattedCode = formattedCode.toLowerCase(); + } + if (formattedCode) return formattedCode; + if (this.options.lowerCaseLng) { + return code.toLowerCase(); + } + return code; + } + return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code; + } + isSupportedCode(code) { + if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) { + code = this.getLanguagePartFromCode(code); + } + return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1; + } + getBestMatchFromCodes(codes) { + if (!codes) return null; + let found; + codes.forEach(code => { + if (found) return; + const cleanedLng = this.formatLanguageCode(code); + if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng; + }); + if (!found && this.options.supportedLngs) { + codes.forEach(code => { + if (found) return; + const lngScOnly = this.getScriptPartFromCode(code); + if (this.isSupportedCode(lngScOnly)) return found = lngScOnly; + const lngOnly = this.getLanguagePartFromCode(code); + if (this.isSupportedCode(lngOnly)) return found = lngOnly; + found = this.options.supportedLngs.find(supportedLng => { + if (supportedLng === lngOnly) return supportedLng; + if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return; + if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng; + if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng; + }); + }); + } + if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0]; + return found; + } + getFallbackCodes(fallbacks, code) { + if (!fallbacks) return []; + if (typeof fallbacks === 'function') fallbacks = fallbacks(code); + if (isString(fallbacks)) fallbacks = [fallbacks]; + if (Array.isArray(fallbacks)) return fallbacks; + if (!code) return fallbacks.default || []; + let found = fallbacks[code]; + if (!found) found = fallbacks[this.getScriptPartFromCode(code)]; + if (!found) found = fallbacks[this.formatLanguageCode(code)]; + if (!found) found = fallbacks[this.getLanguagePartFromCode(code)]; + if (!found) found = fallbacks.default; + return found || []; + } + toResolveHierarchy(code, fallbackCode) { + const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code); + const codes = []; + const addCode = c => { + if (!c) return; + if (this.isSupportedCode(c)) { + codes.push(c); + } else { + this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`); + } + }; + if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) { + if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code)); + if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code)); + if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code)); + } else if (isString(code)) { + addCode(this.formatLanguageCode(code)); + } + fallbackCodes.forEach(fc => { + if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc)); + }); + return codes; + } +} + +const suffixesOrder = { + zero: 0, + one: 1, + two: 2, + few: 3, + many: 4, + other: 5 +}; +const dummyRule = { + select: count => count === 1 ? 'one' : 'other', + resolvedOptions: () => ({ + pluralCategories: ['one', 'other'] + }) +}; +class PluralResolver { + constructor(languageUtils, options = {}) { + this.languageUtils = languageUtils; + this.options = options; + this.logger = baseLogger.create('pluralResolver'); + this.pluralRulesCache = {}; + } + addRule(lng, obj) { + this.rules[lng] = obj; + } + clearCache() { + this.pluralRulesCache = {}; + } + getRule(code, options = {}) { + const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code); + const type = options.ordinal ? 'ordinal' : 'cardinal'; + const cacheKey = JSON.stringify({ + cleanedCode, + type + }); + if (cacheKey in this.pluralRulesCache) { + return this.pluralRulesCache[cacheKey]; + } + let rule; + try { + rule = new Intl.PluralRules(cleanedCode, { + type + }); + } catch (err) { + if (!Intl) { + this.logger.error('No Intl support, please use an Intl polyfill!'); + return dummyRule; + } + if (!code.match(/-|_/)) return dummyRule; + const lngPart = this.languageUtils.getLanguagePartFromCode(code); + rule = this.getRule(lngPart, options); + } + this.pluralRulesCache[cacheKey] = rule; + return rule; + } + needsPlural(code, options = {}) { + let rule = this.getRule(code, options); + if (!rule) rule = this.getRule('dev', options); + return rule?.resolvedOptions().pluralCategories.length > 1; + } + getPluralFormsOfKey(code, key, options = {}) { + return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`); + } + getSuffixes(code, options = {}) { + let rule = this.getRule(code, options); + if (!rule) rule = this.getRule('dev', options); + if (!rule) return []; + return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`); + } + getSuffix(code, count, options = {}) { + const rule = this.getRule(code, options); + if (rule) { + return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`; + } + this.logger.warn(`no plural rule found for: ${code}`); + return this.getSuffix('dev', count, options); + } +} + +const deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => { + let path = getPathWithDefaults(data, defaultData, key); + if (!path && ignoreJSONStructure && isString(key)) { + path = deepFind(data, key, keySeparator); + if (path === undefined) path = deepFind(defaultData, key, keySeparator); + } + return path; +}; +const regexSafe = val => val.replace(/\$/g, '$$$$'); +class Interpolator { + constructor(options = {}) { + this.logger = baseLogger.create('interpolator'); + this.options = options; + this.format = options?.interpolation?.format || (value => value); + this.init(options); + } + init(options = {}) { + if (!options.interpolation) options.interpolation = { + escapeValue: true + }; + const { + escape: escape$1, + escapeValue, + useRawValueToEscape, + prefix, + prefixEscaped, + suffix, + suffixEscaped, + formatSeparator, + unescapeSuffix, + unescapePrefix, + nestingPrefix, + nestingPrefixEscaped, + nestingSuffix, + nestingSuffixEscaped, + nestingOptionsSeparator, + maxReplaces, + alwaysFormat + } = options.interpolation; + this.escape = escape$1 !== undefined ? escape$1 : escape; + this.escapeValue = escapeValue !== undefined ? escapeValue : true; + this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false; + this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{'; + this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}'; + this.formatSeparator = formatSeparator || ','; + this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-'; + this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || ''; + this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t('); + this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')'); + this.nestingOptionsSeparator = nestingOptionsSeparator || ','; + this.maxReplaces = maxReplaces || 1000; + this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false; + this.resetRegExp(); + } + reset() { + if (this.options) this.init(this.options); + } + resetRegExp() { + const getOrResetRegExp = (existingRegExp, pattern) => { + if (existingRegExp?.source === pattern) { + existingRegExp.lastIndex = 0; + return existingRegExp; + } + return new RegExp(pattern, 'g'); + }; + this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`); + this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`); + this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`); + } + interpolate(str, data, lng, options) { + let match; + let value; + let replaces; + const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}; + const handleFormat = key => { + if (key.indexOf(this.formatSeparator) < 0) { + const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure); + return this.alwaysFormat ? this.format(path, undefined, lng, { + ...options, + ...data, + interpolationkey: key + }) : path; + } + const p = key.split(this.formatSeparator); + const k = p.shift().trim(); + const f = p.join(this.formatSeparator).trim(); + return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, { + ...options, + ...data, + interpolationkey: k + }); + }; + this.resetRegExp(); + const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler; + const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables; + const todos = [{ + regex: this.regexpUnescape, + safeValue: val => regexSafe(val) + }, { + regex: this.regexp, + safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val) + }]; + todos.forEach(todo => { + replaces = 0; + while (match = todo.regex.exec(str)) { + const matchedVar = match[1].trim(); + value = handleFormat(matchedVar); + if (value === undefined) { + if (typeof missingInterpolationHandler === 'function') { + const temp = missingInterpolationHandler(str, match, options); + value = isString(temp) ? temp : ''; + } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) { + value = ''; + } else if (skipOnVariables) { + value = match[0]; + continue; + } else { + this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`); + value = ''; + } + } else if (!isString(value) && !this.useRawValueToEscape) { + value = makeString(value); + } + const safeValue = todo.safeValue(value); + str = str.replace(match[0], safeValue); + if (skipOnVariables) { + todo.regex.lastIndex += value.length; + todo.regex.lastIndex -= match[0].length; + } else { + todo.regex.lastIndex = 0; + } + replaces++; + if (replaces >= this.maxReplaces) { + break; + } + } + }); + return str; + } + nest(str, fc, options = {}) { + let match; + let value; + let clonedOptions; + const handleHasOptions = (key, inheritedOptions) => { + const sep = this.nestingOptionsSeparator; + if (key.indexOf(sep) < 0) return key; + const c = key.split(new RegExp(`${sep}[ ]*{`)); + let optionsString = `{${c[1]}`; + key = c[0]; + optionsString = this.interpolate(optionsString, clonedOptions); + const matchedSingleQuotes = optionsString.match(/'/g); + const matchedDoubleQuotes = optionsString.match(/"/g); + if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) { + optionsString = optionsString.replace(/'/g, '"'); + } + try { + clonedOptions = JSON.parse(optionsString); + if (inheritedOptions) clonedOptions = { + ...inheritedOptions, + ...clonedOptions + }; + } catch (e) { + this.logger.warn(`failed parsing options string in nesting for key ${key}`, e); + return `${key}${sep}${optionsString}`; + } + if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue; + return key; + }; + while (match = this.nestingRegexp.exec(str)) { + let formatters = []; + clonedOptions = { + ...options + }; + clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions; + clonedOptions.applyPostProcessor = false; + delete clonedOptions.defaultValue; + let doReduce = false; + if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) { + const r = match[1].split(this.formatSeparator).map(elem => elem.trim()); + match[1] = r.shift(); + formatters = r; + doReduce = true; + } + value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions); + if (value && match[0] === str && !isString(value)) return value; + if (!isString(value)) value = makeString(value); + if (!value) { + this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`); + value = ''; + } + if (doReduce) { + value = formatters.reduce((v, f) => this.format(v, f, options.lng, { + ...options, + interpolationkey: match[1].trim() + }), value.trim()); + } + str = str.replace(match[0], value); + this.regexp.lastIndex = 0; + } + return str; + } +} + +const parseFormatStr = formatStr => { + let formatName = formatStr.toLowerCase().trim(); + const formatOptions = {}; + if (formatStr.indexOf('(') > -1) { + const p = formatStr.split('('); + formatName = p[0].toLowerCase().trim(); + const optStr = p[1].substring(0, p[1].length - 1); + if (formatName === 'currency' && optStr.indexOf(':') < 0) { + if (!formatOptions.currency) formatOptions.currency = optStr.trim(); + } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) { + if (!formatOptions.range) formatOptions.range = optStr.trim(); + } else { + const opts = optStr.split(';'); + opts.forEach(opt => { + if (opt) { + const [key, ...rest] = opt.split(':'); + const val = rest.join(':').trim().replace(/^'+|'+$/g, ''); + const trimmedKey = key.trim(); + if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val; + if (val === 'false') formatOptions[trimmedKey] = false; + if (val === 'true') formatOptions[trimmedKey] = true; + if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10); + } + }); + } + } + return { + formatName, + formatOptions + }; +}; +const createCachedFormatter = fn => { + const cache = {}; + return (v, l, o) => { + let optForCache = o; + if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) { + optForCache = { + ...optForCache, + [o.interpolationkey]: undefined + }; + } + const key = l + JSON.stringify(optForCache); + let frm = cache[key]; + if (!frm) { + frm = fn(getCleanedCode(l), o); + cache[key] = frm; + } + return frm(v); + }; +}; +const createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v); +class Formatter { + constructor(options = {}) { + this.logger = baseLogger.create('formatter'); + this.options = options; + this.init(options); + } + init(services, options = { + interpolation: {} + }) { + this.formatSeparator = options.interpolation.formatSeparator || ','; + const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter; + this.formats = { + number: cf((lng, opt) => { + const formatter = new Intl.NumberFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }), + currency: cf((lng, opt) => { + const formatter = new Intl.NumberFormat(lng, { + ...opt, + style: 'currency' + }); + return val => formatter.format(val); + }), + datetime: cf((lng, opt) => { + const formatter = new Intl.DateTimeFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }), + relativetime: cf((lng, opt) => { + const formatter = new Intl.RelativeTimeFormat(lng, { + ...opt + }); + return val => formatter.format(val, opt.range || 'day'); + }), + list: cf((lng, opt) => { + const formatter = new Intl.ListFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }) + }; + } + add(name, fc) { + this.formats[name.toLowerCase().trim()] = fc; + } + addCached(name, fc) { + this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc); + } + format(value, format, lng, options = {}) { + const formats = format.split(this.formatSeparator); + if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) { + const lastIndex = formats.findIndex(f => f.indexOf(')') > -1); + formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator); + } + const result = formats.reduce((mem, f) => { + const { + formatName, + formatOptions + } = parseFormatStr(f); + if (this.formats[formatName]) { + let formatted = mem; + try { + const valOptions = options?.formatParams?.[options.interpolationkey] || {}; + const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng; + formatted = this.formats[formatName](mem, l, { + ...formatOptions, + ...options, + ...valOptions + }); + } catch (error) { + this.logger.warn(error); + } + return formatted; + } else { + this.logger.warn(`there was no format function for ${formatName}`); + } + return mem; + }, value); + return result; + } +} + +const removePending = (q, name) => { + if (q.pending[name] !== undefined) { + delete q.pending[name]; + q.pendingCount--; + } +}; +class Connector extends EventEmitter { + constructor(backend, store, services, options = {}) { + super(); + this.backend = backend; + this.store = store; + this.services = services; + this.languageUtils = services.languageUtils; + this.options = options; + this.logger = baseLogger.create('backendConnector'); + this.waitingReads = []; + this.maxParallelReads = options.maxParallelReads || 10; + this.readingCalls = 0; + this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5; + this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350; + this.state = {}; + this.queue = []; + this.backend?.init?.(services, options.backend, options); + } + queueLoad(languages, namespaces, options, callback) { + const toLoad = {}; + const pending = {}; + const toLoadLanguages = {}; + const toLoadNamespaces = {}; + languages.forEach(lng => { + let hasAllNamespaces = true; + namespaces.forEach(ns => { + const name = `${lng}|${ns}`; + if (!options.reload && this.store.hasResourceBundle(lng, ns)) { + this.state[name] = 2; + } else if (this.state[name] < 0) ; else if (this.state[name] === 1) { + if (pending[name] === undefined) pending[name] = true; + } else { + this.state[name] = 1; + hasAllNamespaces = false; + if (pending[name] === undefined) pending[name] = true; + if (toLoad[name] === undefined) toLoad[name] = true; + if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true; + } + }); + if (!hasAllNamespaces) toLoadLanguages[lng] = true; + }); + if (Object.keys(toLoad).length || Object.keys(pending).length) { + this.queue.push({ + pending, + pendingCount: Object.keys(pending).length, + loaded: {}, + errors: [], + callback + }); + } + return { + toLoad: Object.keys(toLoad), + pending: Object.keys(pending), + toLoadLanguages: Object.keys(toLoadLanguages), + toLoadNamespaces: Object.keys(toLoadNamespaces) + }; + } + loaded(name, err, data) { + const s = name.split('|'); + const lng = s[0]; + const ns = s[1]; + if (err) this.emit('failedLoading', lng, ns, err); + if (!err && data) { + this.store.addResourceBundle(lng, ns, data, undefined, undefined, { + skipCopy: true + }); + } + this.state[name] = err ? -1 : 2; + if (err && data) this.state[name] = 0; + const loaded = {}; + this.queue.forEach(q => { + pushPath(q.loaded, [lng], ns); + removePending(q, name); + if (err) q.errors.push(err); + if (q.pendingCount === 0 && !q.done) { + Object.keys(q.loaded).forEach(l => { + if (!loaded[l]) loaded[l] = {}; + const loadedKeys = q.loaded[l]; + if (loadedKeys.length) { + loadedKeys.forEach(n => { + if (loaded[l][n] === undefined) loaded[l][n] = true; + }); + } + }); + q.done = true; + if (q.errors.length) { + q.callback(q.errors); + } else { + q.callback(); + } + } + }); + this.emit('loaded', loaded); + this.queue = this.queue.filter(q => !q.done); + } + read(lng, ns, fcName, tried = 0, wait = this.retryTimeout, callback) { + if (!lng.length) return callback(null, {}); + if (this.readingCalls >= this.maxParallelReads) { + this.waitingReads.push({ + lng, + ns, + fcName, + tried, + wait, + callback + }); + return; + } + this.readingCalls++; + const resolver = (err, data) => { + this.readingCalls--; + if (this.waitingReads.length > 0) { + const next = this.waitingReads.shift(); + this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback); + } + if (err && data && tried < this.maxRetries) { + setTimeout(() => { + this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback); + }, wait); + return; + } + callback(err, data); + }; + const fc = this.backend[fcName].bind(this.backend); + if (fc.length === 2) { + try { + const r = fc(lng, ns); + if (r && typeof r.then === 'function') { + r.then(data => resolver(null, data)).catch(resolver); + } else { + resolver(null, r); + } + } catch (err) { + resolver(err); + } + return; + } + return fc(lng, ns, resolver); + } + prepareLoading(languages, namespaces, options = {}, callback) { + if (!this.backend) { + this.logger.warn('No backend was added via i18next.use. Will not load resources.'); + return callback && callback(); + } + if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages); + if (isString(namespaces)) namespaces = [namespaces]; + const toLoad = this.queueLoad(languages, namespaces, options, callback); + if (!toLoad.toLoad.length) { + if (!toLoad.pending.length) callback(); + return null; + } + toLoad.toLoad.forEach(name => { + this.loadOne(name); + }); + } + load(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, {}, callback); + } + reload(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, { + reload: true + }, callback); + } + loadOne(name, prefix = '') { + const s = name.split('|'); + const lng = s[0]; + const ns = s[1]; + this.read(lng, ns, 'read', undefined, undefined, (err, data) => { + if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err); + if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data); + this.loaded(name, err, data); + }); + } + saveMissing(languages, namespace, key, fallbackValue, isUpdate, options = {}, clb = () => {}) { + if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) { + this.logger.warn(`did not save key "${key}" as the namespace "${namespace}" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + return; + } + if (key === undefined || key === null || key === '') return; + if (this.backend?.create) { + const opts = { + ...options, + isUpdate + }; + const fc = this.backend.create.bind(this.backend); + if (fc.length < 6) { + try { + let r; + if (fc.length === 5) { + r = fc(languages, namespace, key, fallbackValue, opts); + } else { + r = fc(languages, namespace, key, fallbackValue); + } + if (r && typeof r.then === 'function') { + r.then(data => clb(null, data)).catch(clb); + } else { + clb(null, r); + } + } catch (err) { + clb(err); + } + } else { + fc(languages, namespace, key, fallbackValue, clb, opts); + } + } + if (!languages || !languages[0]) return; + this.store.addResource(languages[0], namespace, key, fallbackValue); + } +} + +const get = () => ({ + debug: false, + initAsync: true, + ns: ['translation'], + defaultNS: ['translation'], + fallbackLng: ['dev'], + fallbackNS: false, + supportedLngs: false, + nonExplicitSupportedLngs: false, + load: 'all', + preload: false, + simplifyPluralSuffix: true, + keySeparator: '.', + nsSeparator: ':', + pluralSeparator: '_', + contextSeparator: '_', + partialBundledLanguages: false, + saveMissing: false, + updateMissing: false, + saveMissingTo: 'fallback', + saveMissingPlurals: true, + missingKeyHandler: false, + missingInterpolationHandler: false, + postProcess: false, + postProcessPassResolved: false, + returnNull: false, + returnEmptyString: true, + returnObjects: false, + joinArrays: false, + returnedObjectHandler: false, + parseMissingKeyHandler: false, + appendNamespaceToMissingKey: false, + appendNamespaceToCIMode: false, + overloadTranslationOptionHandler: args => { + let ret = {}; + if (typeof args[1] === 'object') ret = args[1]; + if (isString(args[1])) ret.defaultValue = args[1]; + if (isString(args[2])) ret.tDescription = args[2]; + if (typeof args[2] === 'object' || typeof args[3] === 'object') { + const options = args[3] || args[2]; + Object.keys(options).forEach(key => { + ret[key] = options[key]; + }); + } + return ret; + }, + interpolation: { + escapeValue: true, + format: value => value, + prefix: '{{', + suffix: '}}', + formatSeparator: ',', + unescapePrefix: '-', + nestingPrefix: '$t(', + nestingSuffix: ')', + nestingOptionsSeparator: ',', + maxReplaces: 1000, + skipOnVariables: true + }, + cacheInBuiltFormats: true +}); +const transformOptions = options => { + if (isString(options.ns)) options.ns = [options.ns]; + if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng]; + if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS]; + if (options.supportedLngs?.indexOf?.('cimode') < 0) { + options.supportedLngs = options.supportedLngs.concat(['cimode']); + } + if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate; + return options; +}; + +const noop = () => {}; +const bindMemberFunctions = inst => { + const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst)); + mems.forEach(mem => { + if (typeof inst[mem] === 'function') { + inst[mem] = inst[mem].bind(inst); + } + }); +}; +class I18n extends EventEmitter { + constructor(options = {}, callback) { + super(); + this.options = transformOptions(options); + this.services = {}; + this.logger = baseLogger; + this.modules = { + external: [] + }; + bindMemberFunctions(this); + if (callback && !this.isInitialized && !options.isClone) { + if (!this.options.initAsync) { + this.init(options, callback); + return this; + } + setTimeout(() => { + this.init(options, callback); + }, 0); + } + } + init(options = {}, callback) { + this.isInitializing = true; + if (typeof options === 'function') { + callback = options; + options = {}; + } + if (options.defaultNS == null && options.ns) { + if (isString(options.ns)) { + options.defaultNS = options.ns; + } else if (options.ns.indexOf('translation') < 0) { + options.defaultNS = options.ns[0]; + } + } + const defOpts = get(); + this.options = { + ...defOpts, + ...this.options, + ...transformOptions(options) + }; + this.options.interpolation = { + ...defOpts.interpolation, + ...this.options.interpolation + }; + if (options.keySeparator !== undefined) { + this.options.userDefinedKeySeparator = options.keySeparator; + } + if (options.nsSeparator !== undefined) { + this.options.userDefinedNsSeparator = options.nsSeparator; + } + const createClassOnDemand = ClassOrObject => { + if (!ClassOrObject) return null; + if (typeof ClassOrObject === 'function') return new ClassOrObject(); + return ClassOrObject; + }; + if (!this.options.isClone) { + if (this.modules.logger) { + baseLogger.init(createClassOnDemand(this.modules.logger), this.options); + } else { + baseLogger.init(null, this.options); + } + let formatter; + if (this.modules.formatter) { + formatter = this.modules.formatter; + } else { + formatter = Formatter; + } + const lu = new LanguageUtil(this.options); + this.store = new ResourceStore(this.options.resources, this.options); + const s = this.services; + s.logger = baseLogger; + s.resourceStore = this.store; + s.languageUtils = lu; + s.pluralResolver = new PluralResolver(lu, { + prepend: this.options.pluralSeparator, + simplifyPluralSuffix: this.options.simplifyPluralSuffix + }); + if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) { + s.formatter = createClassOnDemand(formatter); + s.formatter.init(s, this.options); + this.options.interpolation.format = s.formatter.format.bind(s.formatter); + } + s.interpolator = new Interpolator(this.options); + s.utils = { + hasLoadedNamespace: this.hasLoadedNamespace.bind(this) + }; + s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); + s.backendConnector.on('*', (event, ...args) => { + this.emit(event, ...args); + }); + if (this.modules.languageDetector) { + s.languageDetector = createClassOnDemand(this.modules.languageDetector); + if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options); + } + if (this.modules.i18nFormat) { + s.i18nFormat = createClassOnDemand(this.modules.i18nFormat); + if (s.i18nFormat.init) s.i18nFormat.init(this); + } + this.translator = new Translator(this.services, this.options); + this.translator.on('*', (event, ...args) => { + this.emit(event, ...args); + }); + this.modules.external.forEach(m => { + if (m.init) m.init(this); + }); + } + this.format = this.options.interpolation.format; + if (!callback) callback = noop; + if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) { + const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0]; + } + if (!this.services.languageDetector && !this.options.lng) { + this.logger.warn('init: no languageDetector is used and no lng is defined'); + } + const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage']; + storeApi.forEach(fcName => { + this[fcName] = (...args) => this.store[fcName](...args); + }); + const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle']; + storeApiChained.forEach(fcName => { + this[fcName] = (...args) => { + this.store[fcName](...args); + return this; + }; + }); + const deferred = defer(); + const load = () => { + const finish = (err, t) => { + this.isInitializing = false; + if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!'); + this.isInitialized = true; + if (!this.options.isClone) this.logger.log('initialized', this.options); + this.emit('initialized', this.options); + deferred.resolve(t); + callback(err, t); + }; + if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this)); + this.changeLanguage(this.options.lng, finish); + }; + if (this.options.resources || !this.options.initAsync) { + load(); + } else { + setTimeout(load, 0); + } + return deferred; + } + loadResources(language, callback = noop) { + let usedCallback = callback; + const usedLng = isString(language) ? language : this.language; + if (typeof language === 'function') usedCallback = language; + if (!this.options.resources || this.options.partialBundledLanguages) { + if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback(); + const toLoad = []; + const append = lng => { + if (!lng) return; + if (lng === 'cimode') return; + const lngs = this.services.languageUtils.toResolveHierarchy(lng); + lngs.forEach(l => { + if (l === 'cimode') return; + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + if (!usedLng) { + const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + fallbacks.forEach(l => append(l)); + } else { + append(usedLng); + } + this.options.preload?.forEach?.(l => append(l)); + this.services.backendConnector.load(toLoad, this.options.ns, e => { + if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language); + usedCallback(e); + }); + } else { + usedCallback(null); + } + } + reloadResources(lngs, ns, callback) { + const deferred = defer(); + if (typeof lngs === 'function') { + callback = lngs; + lngs = undefined; + } + if (typeof ns === 'function') { + callback = ns; + ns = undefined; + } + if (!lngs) lngs = this.languages; + if (!ns) ns = this.options.ns; + if (!callback) callback = noop; + this.services.backendConnector.reload(lngs, ns, err => { + deferred.resolve(); + callback(err); + }); + return deferred; + } + use(module) { + if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()'); + if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()'); + if (module.type === 'backend') { + this.modules.backend = module; + } + if (module.type === 'logger' || module.log && module.warn && module.error) { + this.modules.logger = module; + } + if (module.type === 'languageDetector') { + this.modules.languageDetector = module; + } + if (module.type === 'i18nFormat') { + this.modules.i18nFormat = module; + } + if (module.type === 'postProcessor') { + postProcessor.addPostProcessor(module); + } + if (module.type === 'formatter') { + this.modules.formatter = module; + } + if (module.type === '3rdParty') { + this.modules.external.push(module); + } + return this; + } + setResolvedLanguage(l) { + if (!l || !this.languages) return; + if (['cimode', 'dev'].indexOf(l) > -1) return; + for (let li = 0; li < this.languages.length; li++) { + const lngInLngs = this.languages[li]; + if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue; + if (this.store.hasLanguageSomeTranslations(lngInLngs)) { + this.resolvedLanguage = lngInLngs; + break; + } + } + if (!this.resolvedLanguage && this.languages.indexOf(l) < 0 && this.store.hasLanguageSomeTranslations(l)) { + this.resolvedLanguage = l; + this.languages.unshift(l); + } + } + changeLanguage(lng, callback) { + this.isLanguageChangingTo = lng; + const deferred = defer(); + this.emit('languageChanging', lng); + const setLngProps = l => { + this.language = l; + this.languages = this.services.languageUtils.toResolveHierarchy(l); + this.resolvedLanguage = undefined; + this.setResolvedLanguage(l); + }; + const done = (err, l) => { + if (l) { + if (this.isLanguageChangingTo === lng) { + setLngProps(l); + this.translator.changeLanguage(l); + this.isLanguageChangingTo = undefined; + this.emit('languageChanged', l); + this.logger.log('languageChanged', l); + } + } else { + this.isLanguageChangingTo = undefined; + } + deferred.resolve((...args) => this.t(...args)); + if (callback) callback(err, (...args) => this.t(...args)); + }; + const setLng = lngs => { + if (!lng && !lngs && this.services.languageDetector) lngs = []; + const fl = isString(lngs) ? lngs : lngs && lngs[0]; + const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs); + if (l) { + if (!this.language) { + setLngProps(l); + } + if (!this.translator.language) this.translator.changeLanguage(l); + this.services.languageDetector?.cacheUserLanguage?.(l); + } + this.loadResources(l, err => { + done(err, l); + }); + }; + if (!lng && this.services.languageDetector && !this.services.languageDetector.async) { + setLng(this.services.languageDetector.detect()); + } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) { + if (this.services.languageDetector.detect.length === 0) { + this.services.languageDetector.detect().then(setLng); + } else { + this.services.languageDetector.detect(setLng); + } + } else { + setLng(lng); + } + return deferred; + } + getFixedT(lng, ns, keyPrefix) { + const fixedT = (key, opts, ...rest) => { + let o; + if (typeof opts !== 'object') { + o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest)); + } else { + o = { + ...opts + }; + } + o.lng = o.lng || fixedT.lng; + o.lngs = o.lngs || fixedT.lngs; + o.ns = o.ns || fixedT.ns; + if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix; + const keySeparator = this.options.keySeparator || '.'; + let resultKey; + if (o.keyPrefix && Array.isArray(key)) { + resultKey = key.map(k => `${o.keyPrefix}${keySeparator}${k}`); + } else { + resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key; + } + return this.t(resultKey, o); + }; + if (isString(lng)) { + fixedT.lng = lng; + } else { + fixedT.lngs = lng; + } + fixedT.ns = ns; + fixedT.keyPrefix = keyPrefix; + return fixedT; + } + t(...args) { + return this.translator?.translate(...args); + } + exists(...args) { + return this.translator?.exists(...args); + } + setDefaultNamespace(ns) { + this.options.defaultNS = ns; + } + hasLoadedNamespace(ns, options = {}) { + if (!this.isInitialized) { + this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages); + return false; + } + if (!this.languages || !this.languages.length) { + this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages); + return false; + } + const lng = options.lng || this.resolvedLanguage || this.languages[0]; + const fallbackLng = this.options ? this.options.fallbackLng : false; + const lastLng = this.languages[this.languages.length - 1]; + if (lng.toLowerCase() === 'cimode') return true; + const loadNotPending = (l, n) => { + const loadState = this.services.backendConnector.state[`${l}|${n}`]; + return loadState === -1 || loadState === 0 || loadState === 2; + }; + if (options.precheck) { + const preResult = options.precheck(this, loadNotPending); + if (preResult !== undefined) return preResult; + } + if (this.hasResourceBundle(lng, ns)) return true; + if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true; + if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; + return false; + } + loadNamespaces(ns, callback) { + const deferred = defer(); + if (!this.options.ns) { + if (callback) callback(); + return Promise.resolve(); + } + if (isString(ns)) ns = [ns]; + ns.forEach(n => { + if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n); + }); + this.loadResources(err => { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + loadLanguages(lngs, callback) { + const deferred = defer(); + if (isString(lngs)) lngs = [lngs]; + const preloaded = this.options.preload || []; + const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng)); + if (!newLngs.length) { + if (callback) callback(); + return Promise.resolve(); + } + this.options.preload = preloaded.concat(newLngs); + this.loadResources(err => { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + dir(lng) { + if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language); + if (!lng) return 'rtl'; + const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb']; + const languageUtils = this.services?.languageUtils || new LanguageUtil(get()); + return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr'; + } + static createInstance(options = {}, callback) { + return new I18n(options, callback); + } + cloneInstance(options = {}, callback = noop) { + const forkResourceStore = options.forkResourceStore; + if (forkResourceStore) delete options.forkResourceStore; + const mergedOptions = { + ...this.options, + ...options, + ...{ + isClone: true + } + }; + const clone = new I18n(mergedOptions); + if (options.debug !== undefined || options.prefix !== undefined) { + clone.logger = clone.logger.clone(options); + } + const membersToCopy = ['store', 'services', 'language']; + membersToCopy.forEach(m => { + clone[m] = this[m]; + }); + clone.services = { + ...this.services + }; + clone.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + if (forkResourceStore) { + const clonedData = Object.keys(this.store.data).reduce((prev, l) => { + prev[l] = { + ...this.store.data[l] + }; + prev[l] = Object.keys(prev[l]).reduce((acc, n) => { + acc[n] = { + ...prev[l][n] + }; + return acc; + }, prev[l]); + return prev; + }, {}); + clone.store = new ResourceStore(clonedData, mergedOptions); + clone.services.resourceStore = clone.store; + } + clone.translator = new Translator(clone.services, mergedOptions); + clone.translator.on('*', (event, ...args) => { + clone.emit(event, ...args); + }); + clone.init(mergedOptions, callback); + clone.translator.options = mergedOptions; + clone.translator.backendConnector.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + return clone; + } + toJSON() { + return { + options: this.options, + store: this.store, + language: this.language, + languages: this.languages, + resolvedLanguage: this.resolvedLanguage + }; + } +} +const instance = I18n.createInstance(); +instance.createInstance = I18n.createInstance; + +const createInstance = instance.createInstance; +const dir = instance.dir; +const init = instance.init; +const loadResources = instance.loadResources; +const reloadResources = instance.reloadResources; +const use = instance.use; +const changeLanguage = instance.changeLanguage; +const getFixedT = instance.getFixedT; +const t = instance.t; +const exists = instance.exists; +const setDefaultNamespace = instance.setDefaultNamespace; +const hasLoadedNamespace = instance.hasLoadedNamespace; +const loadNamespaces = instance.loadNamespaces; +const loadLanguages = instance.loadLanguages; + +export { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use }; diff --git a/node_modules/i18next/dist/esm/package.json b/node_modules/i18next/dist/esm/package.json new file mode 100644 index 00000000..77927e32 --- /dev/null +++ b/node_modules/i18next/dist/esm/package.json @@ -0,0 +1 @@ +{"type":"module","version":"25.2.0"} diff --git a/node_modules/i18next/dist/umd/i18next.js b/node_modules/i18next/dist/umd/i18next.js new file mode 100644 index 00000000..e54bb966 --- /dev/null +++ b/node_modules/i18next/dist/umd/i18next.js @@ -0,0 +1,2147 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.i18next = factory()); +})(this, (function () { 'use strict'; + + const isString = obj => typeof obj === 'string'; + const defer = () => { + let res; + let rej; + const promise = new Promise((resolve, reject) => { + res = resolve; + rej = reject; + }); + promise.resolve = res; + promise.reject = rej; + return promise; + }; + const makeString = object => { + if (object == null) return ''; + return '' + object; + }; + const copy = (a, s, t) => { + a.forEach(m => { + if (s[m]) t[m] = s[m]; + }); + }; + const lastOfPathSeparatorRegExp = /###/g; + const cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key; + const canNotTraverseDeeper = object => !object || isString(object); + const getLastOfPath = (object, path, Empty) => { + const stack = !isString(path) ? path : path.split('.'); + let stackIndex = 0; + while (stackIndex < stack.length - 1) { + if (canNotTraverseDeeper(object)) return {}; + const key = cleanKey(stack[stackIndex]); + if (!object[key] && Empty) object[key] = new Empty(); + if (Object.prototype.hasOwnProperty.call(object, key)) { + object = object[key]; + } else { + object = {}; + } + ++stackIndex; + } + if (canNotTraverseDeeper(object)) return {}; + return { + obj: object, + k: cleanKey(stack[stackIndex]) + }; + }; + const setPath = (object, path, newValue) => { + const { + obj, + k + } = getLastOfPath(object, path, Object); + if (obj !== undefined || path.length === 1) { + obj[k] = newValue; + return; + } + let e = path[path.length - 1]; + let p = path.slice(0, path.length - 1); + let last = getLastOfPath(object, p, Object); + while (last.obj === undefined && p.length) { + e = `${p[p.length - 1]}.${e}`; + p = p.slice(0, p.length - 1); + last = getLastOfPath(object, p, Object); + if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') { + last.obj = undefined; + } + } + last.obj[`${last.k}.${e}`] = newValue; + }; + const pushPath = (object, path, newValue, concat) => { + const { + obj, + k + } = getLastOfPath(object, path, Object); + obj[k] = obj[k] || []; + obj[k].push(newValue); + }; + const getPath = (object, path) => { + const { + obj, + k + } = getLastOfPath(object, path); + if (!obj) return undefined; + if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined; + return obj[k]; + }; + const getPathWithDefaults = (data, defaultData, key) => { + const value = getPath(data, key); + if (value !== undefined) { + return value; + } + return getPath(defaultData, key); + }; + const deepExtend = (target, source, overwrite) => { + for (const prop in source) { + if (prop !== '__proto__' && prop !== 'constructor') { + if (prop in target) { + if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) { + if (overwrite) target[prop] = source[prop]; + } else { + deepExtend(target[prop], source[prop], overwrite); + } + } else { + target[prop] = source[prop]; + } + } + } + return target; + }; + const regexEscape = str => str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); + var _entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' + }; + const escape = data => { + if (isString(data)) { + return data.replace(/[&<>"'\/]/g, s => _entityMap[s]); + } + return data; + }; + class RegExpCache { + constructor(capacity) { + this.capacity = capacity; + this.regExpMap = new Map(); + this.regExpQueue = []; + } + getRegExp(pattern) { + const regExpFromCache = this.regExpMap.get(pattern); + if (regExpFromCache !== undefined) { + return regExpFromCache; + } + const regExpNew = new RegExp(pattern); + if (this.regExpQueue.length === this.capacity) { + this.regExpMap.delete(this.regExpQueue.shift()); + } + this.regExpMap.set(pattern, regExpNew); + this.regExpQueue.push(pattern); + return regExpNew; + } + } + const chars = [' ', ',', '?', '!', ';']; + const looksLikeObjectPathRegExpCache = new RegExpCache(20); + const looksLikeObjectPath = (key, nsSeparator, keySeparator) => { + nsSeparator = nsSeparator || ''; + keySeparator = keySeparator || ''; + const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0); + if (possibleChars.length === 0) return true; + const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\?' : c).join('|')})`); + let matched = !r.test(key); + if (!matched) { + const ki = key.indexOf(keySeparator); + if (ki > 0 && !r.test(key.substring(0, ki))) { + matched = true; + } + } + return matched; + }; + const deepFind = (obj, path, keySeparator = '.') => { + if (!obj) return undefined; + if (obj[path]) { + if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined; + return obj[path]; + } + const tokens = path.split(keySeparator); + let current = obj; + for (let i = 0; i < tokens.length;) { + if (!current || typeof current !== 'object') { + return undefined; + } + let next; + let nextPath = ''; + for (let j = i; j < tokens.length; ++j) { + if (j !== i) { + nextPath += keySeparator; + } + nextPath += tokens[j]; + next = current[nextPath]; + if (next !== undefined) { + if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) { + continue; + } + i += j - i + 1; + break; + } + } + current = next; + } + return current; + }; + const getCleanedCode = code => code?.replace('_', '-'); + + const consoleLogger = { + type: 'logger', + log(args) { + this.output('log', args); + }, + warn(args) { + this.output('warn', args); + }, + error(args) { + this.output('error', args); + }, + output(type, args) { + console?.[type]?.apply?.(console, args); + } + }; + class Logger { + constructor(concreteLogger, options = {}) { + this.init(concreteLogger, options); + } + init(concreteLogger, options = {}) { + this.prefix = options.prefix || 'i18next:'; + this.logger = concreteLogger || consoleLogger; + this.options = options; + this.debug = options.debug; + } + log(...args) { + return this.forward(args, 'log', '', true); + } + warn(...args) { + return this.forward(args, 'warn', '', true); + } + error(...args) { + return this.forward(args, 'error', ''); + } + deprecate(...args) { + return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true); + } + forward(args, lvl, prefix, debugOnly) { + if (debugOnly && !this.debug) return null; + if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`; + return this.logger[lvl](args); + } + create(moduleName) { + return new Logger(this.logger, { + ...{ + prefix: `${this.prefix}:${moduleName}:` + }, + ...this.options + }); + } + clone(options) { + options = options || this.options; + options.prefix = options.prefix || this.prefix; + return new Logger(this.logger, options); + } + } + var baseLogger = new Logger(); + + class EventEmitter { + constructor() { + this.observers = {}; + } + on(events, listener) { + events.split(' ').forEach(event => { + if (!this.observers[event]) this.observers[event] = new Map(); + const numListeners = this.observers[event].get(listener) || 0; + this.observers[event].set(listener, numListeners + 1); + }); + return this; + } + off(event, listener) { + if (!this.observers[event]) return; + if (!listener) { + delete this.observers[event]; + return; + } + this.observers[event].delete(listener); + } + emit(event, ...args) { + if (this.observers[event]) { + const cloned = Array.from(this.observers[event].entries()); + cloned.forEach(([observer, numTimesAdded]) => { + for (let i = 0; i < numTimesAdded; i++) { + observer(...args); + } + }); + } + if (this.observers['*']) { + const cloned = Array.from(this.observers['*'].entries()); + cloned.forEach(([observer, numTimesAdded]) => { + for (let i = 0; i < numTimesAdded; i++) { + observer.apply(observer, [event, ...args]); + } + }); + } + } + } + + class ResourceStore extends EventEmitter { + constructor(data, options = { + ns: ['translation'], + defaultNS: 'translation' + }) { + super(); + this.data = data || {}; + this.options = options; + if (this.options.keySeparator === undefined) { + this.options.keySeparator = '.'; + } + if (this.options.ignoreJSONStructure === undefined) { + this.options.ignoreJSONStructure = true; + } + } + addNamespaces(ns) { + if (this.options.ns.indexOf(ns) < 0) { + this.options.ns.push(ns); + } + } + removeNamespaces(ns) { + const index = this.options.ns.indexOf(ns); + if (index > -1) { + this.options.ns.splice(index, 1); + } + } + getResource(lng, ns, key, options = {}) { + const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure; + let path; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + } else { + path = [lng, ns]; + if (key) { + if (Array.isArray(key)) { + path.push(...key); + } else if (isString(key) && keySeparator) { + path.push(...key.split(keySeparator)); + } else { + path.push(key); + } + } + } + const result = getPath(this.data, path); + if (!result && !ns && !key && lng.indexOf('.') > -1) { + lng = path[0]; + ns = path[1]; + key = path.slice(2).join('.'); + } + if (result || !ignoreJSONStructure || !isString(key)) return result; + return deepFind(this.data?.[lng]?.[ns], key, keySeparator); + } + addResource(lng, ns, key, value, options = { + silent: false + }) { + const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + let path = [lng, ns]; + if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + value = ns; + ns = path[1]; + } + this.addNamespaces(ns); + setPath(this.data, path, value); + if (!options.silent) this.emit('added', lng, ns, key, value); + } + addResources(lng, ns, resources, options = { + silent: false + }) { + for (const m in resources) { + if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], { + silent: true + }); + } + if (!options.silent) this.emit('added', lng, ns, resources); + } + addResourceBundle(lng, ns, resources, deep, overwrite, options = { + silent: false, + skipCopy: false + }) { + let path = [lng, ns]; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + deep = resources; + resources = ns; + ns = path[1]; + } + this.addNamespaces(ns); + let pack = getPath(this.data, path) || {}; + if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources)); + if (deep) { + deepExtend(pack, resources, overwrite); + } else { + pack = { + ...pack, + ...resources + }; + } + setPath(this.data, path, pack); + if (!options.silent) this.emit('added', lng, ns, resources); + } + removeResourceBundle(lng, ns) { + if (this.hasResourceBundle(lng, ns)) { + delete this.data[lng][ns]; + } + this.removeNamespaces(ns); + this.emit('removed', lng, ns); + } + hasResourceBundle(lng, ns) { + return this.getResource(lng, ns) !== undefined; + } + getResourceBundle(lng, ns) { + if (!ns) ns = this.options.defaultNS; + return this.getResource(lng, ns); + } + getDataByLanguage(lng) { + return this.data[lng]; + } + hasLanguageSomeTranslations(lng) { + const data = this.getDataByLanguage(lng); + const n = data && Object.keys(data) || []; + return !!n.find(v => data[v] && Object.keys(data[v]).length > 0); + } + toJSON() { + return this.data; + } + } + + var postProcessor = { + processors: {}, + addPostProcessor(module) { + this.processors[module.name] = module; + }, + handle(processors, value, key, options, translator) { + processors.forEach(processor => { + value = this.processors[processor]?.process(value, key, options, translator) ?? value; + }); + return value; + } + }; + + const checkedLoadedFor = {}; + const shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number'; + class Translator extends EventEmitter { + constructor(services, options = {}) { + super(); + copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this); + this.options = options; + if (this.options.keySeparator === undefined) { + this.options.keySeparator = '.'; + } + this.logger = baseLogger.create('translator'); + } + changeLanguage(lng) { + if (lng) this.language = lng; + } + exists(key, o = { + interpolation: {} + }) { + const opt = { + ...o + }; + if (key == null) return false; + const resolved = this.resolve(key, opt); + return resolved?.res !== undefined; + } + extractFromKey(key, opt) { + let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator; + let namespaces = opt.ns || this.options.defaultNS || []; + const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1; + const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator); + if (wouldCheckForNsInKey && !seemsNaturalLanguage) { + const m = key.match(this.interpolator.nestingRegexp); + if (m && m.length > 0) { + return { + key, + namespaces: isString(namespaces) ? [namespaces] : namespaces + }; + } + const parts = key.split(nsSeparator); + if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift(); + key = parts.join(keySeparator); + } + return { + key, + namespaces: isString(namespaces) ? [namespaces] : namespaces + }; + } + translate(keys, o, lastKey) { + let opt = typeof o === 'object' ? { + ...o + } : o; + if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) { + opt = this.options.overloadTranslationOptionHandler(arguments); + } + if (typeof options === 'object') opt = { + ...opt + }; + if (!opt) opt = {}; + if (keys == null) return ''; + if (!Array.isArray(keys)) keys = [String(keys)]; + const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails; + const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator; + const { + key, + namespaces + } = this.extractFromKey(keys[keys.length - 1], opt); + const namespace = namespaces[namespaces.length - 1]; + let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + const lng = opt.lng || this.language; + const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode; + if (lng?.toLowerCase() === 'cimode') { + if (appendNamespaceToCIMode) { + if (returnDetails) { + return { + res: `${namespace}${nsSeparator}${key}`, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace, + usedParams: this.getUsedParamsDetails(opt) + }; + } + return `${namespace}${nsSeparator}${key}`; + } + if (returnDetails) { + return { + res: key, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace, + usedParams: this.getUsedParamsDetails(opt) + }; + } + return key; + } + const resolved = this.resolve(keys, opt); + let res = resolved?.res; + const resUsedKey = resolved?.usedKey || key; + const resExactUsedKey = resolved?.exactUsedKey || key; + const noObject = ['[object Number]', '[object Function]', '[object RegExp]']; + const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays; + const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject; + const needsPluralHandling = opt.count !== undefined && !isString(opt.count); + const hasDefaultValue = Translator.hasDefaultValue(opt); + const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : ''; + const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, { + ordinal: false + }) : ''; + const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0; + const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue; + let resForObjHndl = res; + if (handleAsObjectInI18nFormat && !res && hasDefaultValue) { + resForObjHndl = defaultValue; + } + const handleAsObject = shouldHandleAsObject(resForObjHndl); + const resType = Object.prototype.toString.apply(resForObjHndl); + if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) { + if (!opt.returnObjects && !this.options.returnObjects) { + if (!this.options.returnedObjectHandler) { + this.logger.warn('accessing an object - but returnObjects options is not enabled!'); + } + const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, { + ...opt, + ns: namespaces + }) : `key '${key} (${this.language})' returned an object instead of string.`; + if (returnDetails) { + resolved.res = r; + resolved.usedParams = this.getUsedParamsDetails(opt); + return resolved; + } + return r; + } + if (keySeparator) { + const resTypeIsArray = Array.isArray(resForObjHndl); + const copy = resTypeIsArray ? [] : {}; + const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey; + for (const m in resForObjHndl) { + if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) { + const deepKey = `${newKeyToUse}${keySeparator}${m}`; + if (hasDefaultValue && !res) { + copy[m] = this.translate(deepKey, { + ...opt, + defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined, + ...{ + joinArrays: false, + ns: namespaces + } + }); + } else { + copy[m] = this.translate(deepKey, { + ...opt, + ...{ + joinArrays: false, + ns: namespaces + } + }); + } + if (copy[m] === deepKey) copy[m] = resForObjHndl[m]; + } + } + res = copy; + } + } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) { + res = res.join(joinArrays); + if (res) res = this.extendTranslation(res, keys, opt, lastKey); + } else { + let usedDefault = false; + let usedKey = false; + if (!this.isValidLookup(res) && hasDefaultValue) { + usedDefault = true; + res = defaultValue; + } + if (!this.isValidLookup(res)) { + usedKey = true; + res = key; + } + const missingKeyNoValueFallbackToKey = opt.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey; + const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res; + const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing; + if (usedKey || usedDefault || updateMissing) { + this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res); + if (keySeparator) { + const fk = this.resolve(key, { + ...opt, + keySeparator: false + }); + if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.'); + } + let lngs = []; + const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, opt.lng || this.language); + if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) { + for (let i = 0; i < fallbackLngs.length; i++) { + lngs.push(fallbackLngs[i]); + } + } else if (this.options.saveMissingTo === 'all') { + lngs = this.languageUtils.toResolveHierarchy(opt.lng || this.language); + } else { + lngs.push(opt.lng || this.language); + } + const send = (l, k, specificDefaultValue) => { + const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing; + if (this.options.missingKeyHandler) { + this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, opt); + } else if (this.backendConnector?.saveMissing) { + this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt); + } + this.emit('missingKey', l, namespace, k, res); + }; + if (this.options.saveMissing) { + if (this.options.saveMissingPlurals && needsPluralHandling) { + lngs.forEach(language => { + const suffixes = this.pluralResolver.getSuffixes(language, opt); + if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) { + suffixes.push(`${this.options.pluralSeparator}zero`); + } + suffixes.forEach(suffix => { + send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue); + }); + }); + } else { + send(lngs, key, defaultValue); + } + } + } + res = this.extendTranslation(res, keys, opt, resolved, lastKey); + if (usedKey && res === key && this.options.appendNamespaceToMissingKey) { + res = `${namespace}${nsSeparator}${key}`; + } + if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) { + res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt); + } + } + if (returnDetails) { + resolved.res = res; + resolved.usedParams = this.getUsedParamsDetails(opt); + return resolved; + } + return res; + } + extendTranslation(res, key, opt, resolved, lastKey) { + if (this.i18nFormat?.parse) { + res = this.i18nFormat.parse(res, { + ...this.options.interpolation.defaultVariables, + ...opt + }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, { + resolved + }); + } else if (!opt.skipInterpolation) { + if (opt.interpolation) this.interpolator.init({ + ...opt, + ...{ + interpolation: { + ...this.options.interpolation, + ...opt.interpolation + } + } + }); + const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables); + let nestBef; + if (skipOnVariables) { + const nb = res.match(this.interpolator.nestingRegexp); + nestBef = nb && nb.length; + } + let data = opt.replace && !isString(opt.replace) ? opt.replace : opt; + if (this.options.interpolation.defaultVariables) data = { + ...this.options.interpolation.defaultVariables, + ...data + }; + res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt); + if (skipOnVariables) { + const na = res.match(this.interpolator.nestingRegexp); + const nestAft = na && na.length; + if (nestBef < nestAft) opt.nest = false; + } + if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng; + if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => { + if (lastKey?.[0] === args[0] && !opt.context) { + this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`); + return null; + } + return this.translate(...args, key); + }, opt); + if (opt.interpolation) this.interpolator.reset(); + } + const postProcess = opt.postProcess || this.options.postProcess; + const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess; + if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) { + res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? { + i18nResolved: { + ...resolved, + usedParams: this.getUsedParamsDetails(opt) + }, + ...opt + } : opt, this); + } + return res; + } + resolve(keys, opt = {}) { + let found; + let usedKey; + let exactUsedKey; + let usedLng; + let usedNS; + if (isString(keys)) keys = [keys]; + keys.forEach(k => { + if (this.isValidLookup(found)) return; + const extracted = this.extractFromKey(k, opt); + const key = extracted.key; + usedKey = key; + let namespaces = extracted.namespaces; + if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS); + const needsPluralHandling = opt.count !== undefined && !isString(opt.count); + const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0; + const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== ''; + const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng); + namespaces.forEach(ns => { + if (this.isValidLookup(found)) return; + usedNS = ns; + if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) { + checkedLoadedFor[`${codes[0]}-${ns}`] = true; + this.logger.warn(`key "${usedKey}" for languages "${codes.join(', ')}" won't get resolved as namespace "${usedNS}" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + } + codes.forEach(code => { + if (this.isValidLookup(found)) return; + usedLng = code; + const finalKeys = [key]; + if (this.i18nFormat?.addLookupKeys) { + this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt); + } else { + let pluralSuffix; + if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt); + const zeroSuffix = `${this.options.pluralSeparator}zero`; + const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`; + if (needsPluralHandling) { + finalKeys.push(key + pluralSuffix); + if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) { + finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator)); + } + if (needsZeroSuffixLookup) { + finalKeys.push(key + zeroSuffix); + } + } + if (needsContextHandling) { + const contextKey = `${key}${this.options.contextSeparator}${opt.context}`; + finalKeys.push(contextKey); + if (needsPluralHandling) { + finalKeys.push(contextKey + pluralSuffix); + if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) { + finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator)); + } + if (needsZeroSuffixLookup) { + finalKeys.push(contextKey + zeroSuffix); + } + } + } + } + let possibleKey; + while (possibleKey = finalKeys.pop()) { + if (!this.isValidLookup(found)) { + exactUsedKey = possibleKey; + found = this.getResource(code, ns, possibleKey, opt); + } + } + }); + }); + }); + return { + res: found, + usedKey, + exactUsedKey, + usedLng, + usedNS + }; + } + isValidLookup(res) { + return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === ''); + } + getResource(code, ns, key, options = {}) { + if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options); + return this.resourceStore.getResource(code, ns, key, options); + } + getUsedParamsDetails(options = {}) { + const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation']; + const useOptionsReplaceForData = options.replace && !isString(options.replace); + let data = useOptionsReplaceForData ? options.replace : options; + if (useOptionsReplaceForData && typeof options.count !== 'undefined') { + data.count = options.count; + } + if (this.options.interpolation.defaultVariables) { + data = { + ...this.options.interpolation.defaultVariables, + ...data + }; + } + if (!useOptionsReplaceForData) { + data = { + ...data + }; + for (const key of optionsKeys) { + delete data[key]; + } + } + return data; + } + static hasDefaultValue(options) { + const prefix = 'defaultValue'; + for (const option in options) { + if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) { + return true; + } + } + return false; + } + } + + class LanguageUtil { + constructor(options) { + this.options = options; + this.supportedLngs = this.options.supportedLngs || false; + this.logger = baseLogger.create('languageUtils'); + } + getScriptPartFromCode(code) { + code = getCleanedCode(code); + if (!code || code.indexOf('-') < 0) return null; + const p = code.split('-'); + if (p.length === 2) return null; + p.pop(); + if (p[p.length - 1].toLowerCase() === 'x') return null; + return this.formatLanguageCode(p.join('-')); + } + getLanguagePartFromCode(code) { + code = getCleanedCode(code); + if (!code || code.indexOf('-') < 0) return code; + const p = code.split('-'); + return this.formatLanguageCode(p[0]); + } + formatLanguageCode(code) { + if (isString(code) && code.indexOf('-') > -1) { + let formattedCode; + try { + formattedCode = Intl.getCanonicalLocales(code)[0]; + } catch (e) {} + if (formattedCode && this.options.lowerCaseLng) { + formattedCode = formattedCode.toLowerCase(); + } + if (formattedCode) return formattedCode; + if (this.options.lowerCaseLng) { + return code.toLowerCase(); + } + return code; + } + return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code; + } + isSupportedCode(code) { + if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) { + code = this.getLanguagePartFromCode(code); + } + return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1; + } + getBestMatchFromCodes(codes) { + if (!codes) return null; + let found; + codes.forEach(code => { + if (found) return; + const cleanedLng = this.formatLanguageCode(code); + if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng; + }); + if (!found && this.options.supportedLngs) { + codes.forEach(code => { + if (found) return; + const lngScOnly = this.getScriptPartFromCode(code); + if (this.isSupportedCode(lngScOnly)) return found = lngScOnly; + const lngOnly = this.getLanguagePartFromCode(code); + if (this.isSupportedCode(lngOnly)) return found = lngOnly; + found = this.options.supportedLngs.find(supportedLng => { + if (supportedLng === lngOnly) return supportedLng; + if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return; + if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng; + if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng; + }); + }); + } + if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0]; + return found; + } + getFallbackCodes(fallbacks, code) { + if (!fallbacks) return []; + if (typeof fallbacks === 'function') fallbacks = fallbacks(code); + if (isString(fallbacks)) fallbacks = [fallbacks]; + if (Array.isArray(fallbacks)) return fallbacks; + if (!code) return fallbacks.default || []; + let found = fallbacks[code]; + if (!found) found = fallbacks[this.getScriptPartFromCode(code)]; + if (!found) found = fallbacks[this.formatLanguageCode(code)]; + if (!found) found = fallbacks[this.getLanguagePartFromCode(code)]; + if (!found) found = fallbacks.default; + return found || []; + } + toResolveHierarchy(code, fallbackCode) { + const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code); + const codes = []; + const addCode = c => { + if (!c) return; + if (this.isSupportedCode(c)) { + codes.push(c); + } else { + this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`); + } + }; + if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) { + if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code)); + if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code)); + if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code)); + } else if (isString(code)) { + addCode(this.formatLanguageCode(code)); + } + fallbackCodes.forEach(fc => { + if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc)); + }); + return codes; + } + } + + const suffixesOrder = { + zero: 0, + one: 1, + two: 2, + few: 3, + many: 4, + other: 5 + }; + const dummyRule = { + select: count => count === 1 ? 'one' : 'other', + resolvedOptions: () => ({ + pluralCategories: ['one', 'other'] + }) + }; + class PluralResolver { + constructor(languageUtils, options = {}) { + this.languageUtils = languageUtils; + this.options = options; + this.logger = baseLogger.create('pluralResolver'); + this.pluralRulesCache = {}; + } + addRule(lng, obj) { + this.rules[lng] = obj; + } + clearCache() { + this.pluralRulesCache = {}; + } + getRule(code, options = {}) { + const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code); + const type = options.ordinal ? 'ordinal' : 'cardinal'; + const cacheKey = JSON.stringify({ + cleanedCode, + type + }); + if (cacheKey in this.pluralRulesCache) { + return this.pluralRulesCache[cacheKey]; + } + let rule; + try { + rule = new Intl.PluralRules(cleanedCode, { + type + }); + } catch (err) { + if (!Intl) { + this.logger.error('No Intl support, please use an Intl polyfill!'); + return dummyRule; + } + if (!code.match(/-|_/)) return dummyRule; + const lngPart = this.languageUtils.getLanguagePartFromCode(code); + rule = this.getRule(lngPart, options); + } + this.pluralRulesCache[cacheKey] = rule; + return rule; + } + needsPlural(code, options = {}) { + let rule = this.getRule(code, options); + if (!rule) rule = this.getRule('dev', options); + return rule?.resolvedOptions().pluralCategories.length > 1; + } + getPluralFormsOfKey(code, key, options = {}) { + return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`); + } + getSuffixes(code, options = {}) { + let rule = this.getRule(code, options); + if (!rule) rule = this.getRule('dev', options); + if (!rule) return []; + return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`); + } + getSuffix(code, count, options = {}) { + const rule = this.getRule(code, options); + if (rule) { + return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`; + } + this.logger.warn(`no plural rule found for: ${code}`); + return this.getSuffix('dev', count, options); + } + } + + const deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => { + let path = getPathWithDefaults(data, defaultData, key); + if (!path && ignoreJSONStructure && isString(key)) { + path = deepFind(data, key, keySeparator); + if (path === undefined) path = deepFind(defaultData, key, keySeparator); + } + return path; + }; + const regexSafe = val => val.replace(/\$/g, '$$$$'); + class Interpolator { + constructor(options = {}) { + this.logger = baseLogger.create('interpolator'); + this.options = options; + this.format = options?.interpolation?.format || (value => value); + this.init(options); + } + init(options = {}) { + if (!options.interpolation) options.interpolation = { + escapeValue: true + }; + const { + escape: escape$1, + escapeValue, + useRawValueToEscape, + prefix, + prefixEscaped, + suffix, + suffixEscaped, + formatSeparator, + unescapeSuffix, + unescapePrefix, + nestingPrefix, + nestingPrefixEscaped, + nestingSuffix, + nestingSuffixEscaped, + nestingOptionsSeparator, + maxReplaces, + alwaysFormat + } = options.interpolation; + this.escape = escape$1 !== undefined ? escape$1 : escape; + this.escapeValue = escapeValue !== undefined ? escapeValue : true; + this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false; + this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{'; + this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}'; + this.formatSeparator = formatSeparator || ','; + this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-'; + this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || ''; + this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t('); + this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')'); + this.nestingOptionsSeparator = nestingOptionsSeparator || ','; + this.maxReplaces = maxReplaces || 1000; + this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false; + this.resetRegExp(); + } + reset() { + if (this.options) this.init(this.options); + } + resetRegExp() { + const getOrResetRegExp = (existingRegExp, pattern) => { + if (existingRegExp?.source === pattern) { + existingRegExp.lastIndex = 0; + return existingRegExp; + } + return new RegExp(pattern, 'g'); + }; + this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`); + this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`); + this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`); + } + interpolate(str, data, lng, options) { + let match; + let value; + let replaces; + const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}; + const handleFormat = key => { + if (key.indexOf(this.formatSeparator) < 0) { + const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure); + return this.alwaysFormat ? this.format(path, undefined, lng, { + ...options, + ...data, + interpolationkey: key + }) : path; + } + const p = key.split(this.formatSeparator); + const k = p.shift().trim(); + const f = p.join(this.formatSeparator).trim(); + return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, { + ...options, + ...data, + interpolationkey: k + }); + }; + this.resetRegExp(); + const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler; + const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables; + const todos = [{ + regex: this.regexpUnescape, + safeValue: val => regexSafe(val) + }, { + regex: this.regexp, + safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val) + }]; + todos.forEach(todo => { + replaces = 0; + while (match = todo.regex.exec(str)) { + const matchedVar = match[1].trim(); + value = handleFormat(matchedVar); + if (value === undefined) { + if (typeof missingInterpolationHandler === 'function') { + const temp = missingInterpolationHandler(str, match, options); + value = isString(temp) ? temp : ''; + } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) { + value = ''; + } else if (skipOnVariables) { + value = match[0]; + continue; + } else { + this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`); + value = ''; + } + } else if (!isString(value) && !this.useRawValueToEscape) { + value = makeString(value); + } + const safeValue = todo.safeValue(value); + str = str.replace(match[0], safeValue); + if (skipOnVariables) { + todo.regex.lastIndex += value.length; + todo.regex.lastIndex -= match[0].length; + } else { + todo.regex.lastIndex = 0; + } + replaces++; + if (replaces >= this.maxReplaces) { + break; + } + } + }); + return str; + } + nest(str, fc, options = {}) { + let match; + let value; + let clonedOptions; + const handleHasOptions = (key, inheritedOptions) => { + const sep = this.nestingOptionsSeparator; + if (key.indexOf(sep) < 0) return key; + const c = key.split(new RegExp(`${sep}[ ]*{`)); + let optionsString = `{${c[1]}`; + key = c[0]; + optionsString = this.interpolate(optionsString, clonedOptions); + const matchedSingleQuotes = optionsString.match(/'/g); + const matchedDoubleQuotes = optionsString.match(/"/g); + if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) { + optionsString = optionsString.replace(/'/g, '"'); + } + try { + clonedOptions = JSON.parse(optionsString); + if (inheritedOptions) clonedOptions = { + ...inheritedOptions, + ...clonedOptions + }; + } catch (e) { + this.logger.warn(`failed parsing options string in nesting for key ${key}`, e); + return `${key}${sep}${optionsString}`; + } + if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue; + return key; + }; + while (match = this.nestingRegexp.exec(str)) { + let formatters = []; + clonedOptions = { + ...options + }; + clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions; + clonedOptions.applyPostProcessor = false; + delete clonedOptions.defaultValue; + let doReduce = false; + if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) { + const r = match[1].split(this.formatSeparator).map(elem => elem.trim()); + match[1] = r.shift(); + formatters = r; + doReduce = true; + } + value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions); + if (value && match[0] === str && !isString(value)) return value; + if (!isString(value)) value = makeString(value); + if (!value) { + this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`); + value = ''; + } + if (doReduce) { + value = formatters.reduce((v, f) => this.format(v, f, options.lng, { + ...options, + interpolationkey: match[1].trim() + }), value.trim()); + } + str = str.replace(match[0], value); + this.regexp.lastIndex = 0; + } + return str; + } + } + + const parseFormatStr = formatStr => { + let formatName = formatStr.toLowerCase().trim(); + const formatOptions = {}; + if (formatStr.indexOf('(') > -1) { + const p = formatStr.split('('); + formatName = p[0].toLowerCase().trim(); + const optStr = p[1].substring(0, p[1].length - 1); + if (formatName === 'currency' && optStr.indexOf(':') < 0) { + if (!formatOptions.currency) formatOptions.currency = optStr.trim(); + } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) { + if (!formatOptions.range) formatOptions.range = optStr.trim(); + } else { + const opts = optStr.split(';'); + opts.forEach(opt => { + if (opt) { + const [key, ...rest] = opt.split(':'); + const val = rest.join(':').trim().replace(/^'+|'+$/g, ''); + const trimmedKey = key.trim(); + if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val; + if (val === 'false') formatOptions[trimmedKey] = false; + if (val === 'true') formatOptions[trimmedKey] = true; + if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10); + } + }); + } + } + return { + formatName, + formatOptions + }; + }; + const createCachedFormatter = fn => { + const cache = {}; + return (v, l, o) => { + let optForCache = o; + if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) { + optForCache = { + ...optForCache, + [o.interpolationkey]: undefined + }; + } + const key = l + JSON.stringify(optForCache); + let frm = cache[key]; + if (!frm) { + frm = fn(getCleanedCode(l), o); + cache[key] = frm; + } + return frm(v); + }; + }; + const createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v); + class Formatter { + constructor(options = {}) { + this.logger = baseLogger.create('formatter'); + this.options = options; + this.init(options); + } + init(services, options = { + interpolation: {} + }) { + this.formatSeparator = options.interpolation.formatSeparator || ','; + const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter; + this.formats = { + number: cf((lng, opt) => { + const formatter = new Intl.NumberFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }), + currency: cf((lng, opt) => { + const formatter = new Intl.NumberFormat(lng, { + ...opt, + style: 'currency' + }); + return val => formatter.format(val); + }), + datetime: cf((lng, opt) => { + const formatter = new Intl.DateTimeFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }), + relativetime: cf((lng, opt) => { + const formatter = new Intl.RelativeTimeFormat(lng, { + ...opt + }); + return val => formatter.format(val, opt.range || 'day'); + }), + list: cf((lng, opt) => { + const formatter = new Intl.ListFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }) + }; + } + add(name, fc) { + this.formats[name.toLowerCase().trim()] = fc; + } + addCached(name, fc) { + this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc); + } + format(value, format, lng, options = {}) { + const formats = format.split(this.formatSeparator); + if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) { + const lastIndex = formats.findIndex(f => f.indexOf(')') > -1); + formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator); + } + const result = formats.reduce((mem, f) => { + const { + formatName, + formatOptions + } = parseFormatStr(f); + if (this.formats[formatName]) { + let formatted = mem; + try { + const valOptions = options?.formatParams?.[options.interpolationkey] || {}; + const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng; + formatted = this.formats[formatName](mem, l, { + ...formatOptions, + ...options, + ...valOptions + }); + } catch (error) { + this.logger.warn(error); + } + return formatted; + } else { + this.logger.warn(`there was no format function for ${formatName}`); + } + return mem; + }, value); + return result; + } + } + + const removePending = (q, name) => { + if (q.pending[name] !== undefined) { + delete q.pending[name]; + q.pendingCount--; + } + }; + class Connector extends EventEmitter { + constructor(backend, store, services, options = {}) { + super(); + this.backend = backend; + this.store = store; + this.services = services; + this.languageUtils = services.languageUtils; + this.options = options; + this.logger = baseLogger.create('backendConnector'); + this.waitingReads = []; + this.maxParallelReads = options.maxParallelReads || 10; + this.readingCalls = 0; + this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5; + this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350; + this.state = {}; + this.queue = []; + this.backend?.init?.(services, options.backend, options); + } + queueLoad(languages, namespaces, options, callback) { + const toLoad = {}; + const pending = {}; + const toLoadLanguages = {}; + const toLoadNamespaces = {}; + languages.forEach(lng => { + let hasAllNamespaces = true; + namespaces.forEach(ns => { + const name = `${lng}|${ns}`; + if (!options.reload && this.store.hasResourceBundle(lng, ns)) { + this.state[name] = 2; + } else if (this.state[name] < 0) ; else if (this.state[name] === 1) { + if (pending[name] === undefined) pending[name] = true; + } else { + this.state[name] = 1; + hasAllNamespaces = false; + if (pending[name] === undefined) pending[name] = true; + if (toLoad[name] === undefined) toLoad[name] = true; + if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true; + } + }); + if (!hasAllNamespaces) toLoadLanguages[lng] = true; + }); + if (Object.keys(toLoad).length || Object.keys(pending).length) { + this.queue.push({ + pending, + pendingCount: Object.keys(pending).length, + loaded: {}, + errors: [], + callback + }); + } + return { + toLoad: Object.keys(toLoad), + pending: Object.keys(pending), + toLoadLanguages: Object.keys(toLoadLanguages), + toLoadNamespaces: Object.keys(toLoadNamespaces) + }; + } + loaded(name, err, data) { + const s = name.split('|'); + const lng = s[0]; + const ns = s[1]; + if (err) this.emit('failedLoading', lng, ns, err); + if (!err && data) { + this.store.addResourceBundle(lng, ns, data, undefined, undefined, { + skipCopy: true + }); + } + this.state[name] = err ? -1 : 2; + if (err && data) this.state[name] = 0; + const loaded = {}; + this.queue.forEach(q => { + pushPath(q.loaded, [lng], ns); + removePending(q, name); + if (err) q.errors.push(err); + if (q.pendingCount === 0 && !q.done) { + Object.keys(q.loaded).forEach(l => { + if (!loaded[l]) loaded[l] = {}; + const loadedKeys = q.loaded[l]; + if (loadedKeys.length) { + loadedKeys.forEach(n => { + if (loaded[l][n] === undefined) loaded[l][n] = true; + }); + } + }); + q.done = true; + if (q.errors.length) { + q.callback(q.errors); + } else { + q.callback(); + } + } + }); + this.emit('loaded', loaded); + this.queue = this.queue.filter(q => !q.done); + } + read(lng, ns, fcName, tried = 0, wait = this.retryTimeout, callback) { + if (!lng.length) return callback(null, {}); + if (this.readingCalls >= this.maxParallelReads) { + this.waitingReads.push({ + lng, + ns, + fcName, + tried, + wait, + callback + }); + return; + } + this.readingCalls++; + const resolver = (err, data) => { + this.readingCalls--; + if (this.waitingReads.length > 0) { + const next = this.waitingReads.shift(); + this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback); + } + if (err && data && tried < this.maxRetries) { + setTimeout(() => { + this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback); + }, wait); + return; + } + callback(err, data); + }; + const fc = this.backend[fcName].bind(this.backend); + if (fc.length === 2) { + try { + const r = fc(lng, ns); + if (r && typeof r.then === 'function') { + r.then(data => resolver(null, data)).catch(resolver); + } else { + resolver(null, r); + } + } catch (err) { + resolver(err); + } + return; + } + return fc(lng, ns, resolver); + } + prepareLoading(languages, namespaces, options = {}, callback) { + if (!this.backend) { + this.logger.warn('No backend was added via i18next.use. Will not load resources.'); + return callback && callback(); + } + if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages); + if (isString(namespaces)) namespaces = [namespaces]; + const toLoad = this.queueLoad(languages, namespaces, options, callback); + if (!toLoad.toLoad.length) { + if (!toLoad.pending.length) callback(); + return null; + } + toLoad.toLoad.forEach(name => { + this.loadOne(name); + }); + } + load(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, {}, callback); + } + reload(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, { + reload: true + }, callback); + } + loadOne(name, prefix = '') { + const s = name.split('|'); + const lng = s[0]; + const ns = s[1]; + this.read(lng, ns, 'read', undefined, undefined, (err, data) => { + if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err); + if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data); + this.loaded(name, err, data); + }); + } + saveMissing(languages, namespace, key, fallbackValue, isUpdate, options = {}, clb = () => {}) { + if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) { + this.logger.warn(`did not save key "${key}" as the namespace "${namespace}" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + return; + } + if (key === undefined || key === null || key === '') return; + if (this.backend?.create) { + const opts = { + ...options, + isUpdate + }; + const fc = this.backend.create.bind(this.backend); + if (fc.length < 6) { + try { + let r; + if (fc.length === 5) { + r = fc(languages, namespace, key, fallbackValue, opts); + } else { + r = fc(languages, namespace, key, fallbackValue); + } + if (r && typeof r.then === 'function') { + r.then(data => clb(null, data)).catch(clb); + } else { + clb(null, r); + } + } catch (err) { + clb(err); + } + } else { + fc(languages, namespace, key, fallbackValue, clb, opts); + } + } + if (!languages || !languages[0]) return; + this.store.addResource(languages[0], namespace, key, fallbackValue); + } + } + + const get = () => ({ + debug: false, + initAsync: true, + ns: ['translation'], + defaultNS: ['translation'], + fallbackLng: ['dev'], + fallbackNS: false, + supportedLngs: false, + nonExplicitSupportedLngs: false, + load: 'all', + preload: false, + simplifyPluralSuffix: true, + keySeparator: '.', + nsSeparator: ':', + pluralSeparator: '_', + contextSeparator: '_', + partialBundledLanguages: false, + saveMissing: false, + updateMissing: false, + saveMissingTo: 'fallback', + saveMissingPlurals: true, + missingKeyHandler: false, + missingInterpolationHandler: false, + postProcess: false, + postProcessPassResolved: false, + returnNull: false, + returnEmptyString: true, + returnObjects: false, + joinArrays: false, + returnedObjectHandler: false, + parseMissingKeyHandler: false, + appendNamespaceToMissingKey: false, + appendNamespaceToCIMode: false, + overloadTranslationOptionHandler: args => { + let ret = {}; + if (typeof args[1] === 'object') ret = args[1]; + if (isString(args[1])) ret.defaultValue = args[1]; + if (isString(args[2])) ret.tDescription = args[2]; + if (typeof args[2] === 'object' || typeof args[3] === 'object') { + const options = args[3] || args[2]; + Object.keys(options).forEach(key => { + ret[key] = options[key]; + }); + } + return ret; + }, + interpolation: { + escapeValue: true, + format: value => value, + prefix: '{{', + suffix: '}}', + formatSeparator: ',', + unescapePrefix: '-', + nestingPrefix: '$t(', + nestingSuffix: ')', + nestingOptionsSeparator: ',', + maxReplaces: 1000, + skipOnVariables: true + }, + cacheInBuiltFormats: true + }); + const transformOptions = options => { + if (isString(options.ns)) options.ns = [options.ns]; + if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng]; + if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS]; + if (options.supportedLngs?.indexOf?.('cimode') < 0) { + options.supportedLngs = options.supportedLngs.concat(['cimode']); + } + if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate; + return options; + }; + + const noop = () => {}; + const bindMemberFunctions = inst => { + const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst)); + mems.forEach(mem => { + if (typeof inst[mem] === 'function') { + inst[mem] = inst[mem].bind(inst); + } + }); + }; + class I18n extends EventEmitter { + constructor(options = {}, callback) { + super(); + this.options = transformOptions(options); + this.services = {}; + this.logger = baseLogger; + this.modules = { + external: [] + }; + bindMemberFunctions(this); + if (callback && !this.isInitialized && !options.isClone) { + if (!this.options.initAsync) { + this.init(options, callback); + return this; + } + setTimeout(() => { + this.init(options, callback); + }, 0); + } + } + init(options = {}, callback) { + this.isInitializing = true; + if (typeof options === 'function') { + callback = options; + options = {}; + } + if (options.defaultNS == null && options.ns) { + if (isString(options.ns)) { + options.defaultNS = options.ns; + } else if (options.ns.indexOf('translation') < 0) { + options.defaultNS = options.ns[0]; + } + } + const defOpts = get(); + this.options = { + ...defOpts, + ...this.options, + ...transformOptions(options) + }; + this.options.interpolation = { + ...defOpts.interpolation, + ...this.options.interpolation + }; + if (options.keySeparator !== undefined) { + this.options.userDefinedKeySeparator = options.keySeparator; + } + if (options.nsSeparator !== undefined) { + this.options.userDefinedNsSeparator = options.nsSeparator; + } + const createClassOnDemand = ClassOrObject => { + if (!ClassOrObject) return null; + if (typeof ClassOrObject === 'function') return new ClassOrObject(); + return ClassOrObject; + }; + if (!this.options.isClone) { + if (this.modules.logger) { + baseLogger.init(createClassOnDemand(this.modules.logger), this.options); + } else { + baseLogger.init(null, this.options); + } + let formatter; + if (this.modules.formatter) { + formatter = this.modules.formatter; + } else { + formatter = Formatter; + } + const lu = new LanguageUtil(this.options); + this.store = new ResourceStore(this.options.resources, this.options); + const s = this.services; + s.logger = baseLogger; + s.resourceStore = this.store; + s.languageUtils = lu; + s.pluralResolver = new PluralResolver(lu, { + prepend: this.options.pluralSeparator, + simplifyPluralSuffix: this.options.simplifyPluralSuffix + }); + if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) { + s.formatter = createClassOnDemand(formatter); + s.formatter.init(s, this.options); + this.options.interpolation.format = s.formatter.format.bind(s.formatter); + } + s.interpolator = new Interpolator(this.options); + s.utils = { + hasLoadedNamespace: this.hasLoadedNamespace.bind(this) + }; + s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); + s.backendConnector.on('*', (event, ...args) => { + this.emit(event, ...args); + }); + if (this.modules.languageDetector) { + s.languageDetector = createClassOnDemand(this.modules.languageDetector); + if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options); + } + if (this.modules.i18nFormat) { + s.i18nFormat = createClassOnDemand(this.modules.i18nFormat); + if (s.i18nFormat.init) s.i18nFormat.init(this); + } + this.translator = new Translator(this.services, this.options); + this.translator.on('*', (event, ...args) => { + this.emit(event, ...args); + }); + this.modules.external.forEach(m => { + if (m.init) m.init(this); + }); + } + this.format = this.options.interpolation.format; + if (!callback) callback = noop; + if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) { + const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0]; + } + if (!this.services.languageDetector && !this.options.lng) { + this.logger.warn('init: no languageDetector is used and no lng is defined'); + } + const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage']; + storeApi.forEach(fcName => { + this[fcName] = (...args) => this.store[fcName](...args); + }); + const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle']; + storeApiChained.forEach(fcName => { + this[fcName] = (...args) => { + this.store[fcName](...args); + return this; + }; + }); + const deferred = defer(); + const load = () => { + const finish = (err, t) => { + this.isInitializing = false; + if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!'); + this.isInitialized = true; + if (!this.options.isClone) this.logger.log('initialized', this.options); + this.emit('initialized', this.options); + deferred.resolve(t); + callback(err, t); + }; + if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this)); + this.changeLanguage(this.options.lng, finish); + }; + if (this.options.resources || !this.options.initAsync) { + load(); + } else { + setTimeout(load, 0); + } + return deferred; + } + loadResources(language, callback = noop) { + let usedCallback = callback; + const usedLng = isString(language) ? language : this.language; + if (typeof language === 'function') usedCallback = language; + if (!this.options.resources || this.options.partialBundledLanguages) { + if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback(); + const toLoad = []; + const append = lng => { + if (!lng) return; + if (lng === 'cimode') return; + const lngs = this.services.languageUtils.toResolveHierarchy(lng); + lngs.forEach(l => { + if (l === 'cimode') return; + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + if (!usedLng) { + const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + fallbacks.forEach(l => append(l)); + } else { + append(usedLng); + } + this.options.preload?.forEach?.(l => append(l)); + this.services.backendConnector.load(toLoad, this.options.ns, e => { + if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language); + usedCallback(e); + }); + } else { + usedCallback(null); + } + } + reloadResources(lngs, ns, callback) { + const deferred = defer(); + if (typeof lngs === 'function') { + callback = lngs; + lngs = undefined; + } + if (typeof ns === 'function') { + callback = ns; + ns = undefined; + } + if (!lngs) lngs = this.languages; + if (!ns) ns = this.options.ns; + if (!callback) callback = noop; + this.services.backendConnector.reload(lngs, ns, err => { + deferred.resolve(); + callback(err); + }); + return deferred; + } + use(module) { + if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()'); + if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()'); + if (module.type === 'backend') { + this.modules.backend = module; + } + if (module.type === 'logger' || module.log && module.warn && module.error) { + this.modules.logger = module; + } + if (module.type === 'languageDetector') { + this.modules.languageDetector = module; + } + if (module.type === 'i18nFormat') { + this.modules.i18nFormat = module; + } + if (module.type === 'postProcessor') { + postProcessor.addPostProcessor(module); + } + if (module.type === 'formatter') { + this.modules.formatter = module; + } + if (module.type === '3rdParty') { + this.modules.external.push(module); + } + return this; + } + setResolvedLanguage(l) { + if (!l || !this.languages) return; + if (['cimode', 'dev'].indexOf(l) > -1) return; + for (let li = 0; li < this.languages.length; li++) { + const lngInLngs = this.languages[li]; + if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue; + if (this.store.hasLanguageSomeTranslations(lngInLngs)) { + this.resolvedLanguage = lngInLngs; + break; + } + } + if (!this.resolvedLanguage && this.languages.indexOf(l) < 0 && this.store.hasLanguageSomeTranslations(l)) { + this.resolvedLanguage = l; + this.languages.unshift(l); + } + } + changeLanguage(lng, callback) { + this.isLanguageChangingTo = lng; + const deferred = defer(); + this.emit('languageChanging', lng); + const setLngProps = l => { + this.language = l; + this.languages = this.services.languageUtils.toResolveHierarchy(l); + this.resolvedLanguage = undefined; + this.setResolvedLanguage(l); + }; + const done = (err, l) => { + if (l) { + if (this.isLanguageChangingTo === lng) { + setLngProps(l); + this.translator.changeLanguage(l); + this.isLanguageChangingTo = undefined; + this.emit('languageChanged', l); + this.logger.log('languageChanged', l); + } + } else { + this.isLanguageChangingTo = undefined; + } + deferred.resolve((...args) => this.t(...args)); + if (callback) callback(err, (...args) => this.t(...args)); + }; + const setLng = lngs => { + if (!lng && !lngs && this.services.languageDetector) lngs = []; + const fl = isString(lngs) ? lngs : lngs && lngs[0]; + const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs); + if (l) { + if (!this.language) { + setLngProps(l); + } + if (!this.translator.language) this.translator.changeLanguage(l); + this.services.languageDetector?.cacheUserLanguage?.(l); + } + this.loadResources(l, err => { + done(err, l); + }); + }; + if (!lng && this.services.languageDetector && !this.services.languageDetector.async) { + setLng(this.services.languageDetector.detect()); + } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) { + if (this.services.languageDetector.detect.length === 0) { + this.services.languageDetector.detect().then(setLng); + } else { + this.services.languageDetector.detect(setLng); + } + } else { + setLng(lng); + } + return deferred; + } + getFixedT(lng, ns, keyPrefix) { + const fixedT = (key, opts, ...rest) => { + let o; + if (typeof opts !== 'object') { + o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest)); + } else { + o = { + ...opts + }; + } + o.lng = o.lng || fixedT.lng; + o.lngs = o.lngs || fixedT.lngs; + o.ns = o.ns || fixedT.ns; + if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix; + const keySeparator = this.options.keySeparator || '.'; + let resultKey; + if (o.keyPrefix && Array.isArray(key)) { + resultKey = key.map(k => `${o.keyPrefix}${keySeparator}${k}`); + } else { + resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key; + } + return this.t(resultKey, o); + }; + if (isString(lng)) { + fixedT.lng = lng; + } else { + fixedT.lngs = lng; + } + fixedT.ns = ns; + fixedT.keyPrefix = keyPrefix; + return fixedT; + } + t(...args) { + return this.translator?.translate(...args); + } + exists(...args) { + return this.translator?.exists(...args); + } + setDefaultNamespace(ns) { + this.options.defaultNS = ns; + } + hasLoadedNamespace(ns, options = {}) { + if (!this.isInitialized) { + this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages); + return false; + } + if (!this.languages || !this.languages.length) { + this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages); + return false; + } + const lng = options.lng || this.resolvedLanguage || this.languages[0]; + const fallbackLng = this.options ? this.options.fallbackLng : false; + const lastLng = this.languages[this.languages.length - 1]; + if (lng.toLowerCase() === 'cimode') return true; + const loadNotPending = (l, n) => { + const loadState = this.services.backendConnector.state[`${l}|${n}`]; + return loadState === -1 || loadState === 0 || loadState === 2; + }; + if (options.precheck) { + const preResult = options.precheck(this, loadNotPending); + if (preResult !== undefined) return preResult; + } + if (this.hasResourceBundle(lng, ns)) return true; + if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true; + if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; + return false; + } + loadNamespaces(ns, callback) { + const deferred = defer(); + if (!this.options.ns) { + if (callback) callback(); + return Promise.resolve(); + } + if (isString(ns)) ns = [ns]; + ns.forEach(n => { + if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n); + }); + this.loadResources(err => { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + loadLanguages(lngs, callback) { + const deferred = defer(); + if (isString(lngs)) lngs = [lngs]; + const preloaded = this.options.preload || []; + const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng)); + if (!newLngs.length) { + if (callback) callback(); + return Promise.resolve(); + } + this.options.preload = preloaded.concat(newLngs); + this.loadResources(err => { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + dir(lng) { + if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language); + if (!lng) return 'rtl'; + const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb']; + const languageUtils = this.services?.languageUtils || new LanguageUtil(get()); + return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr'; + } + static createInstance(options = {}, callback) { + return new I18n(options, callback); + } + cloneInstance(options = {}, callback = noop) { + const forkResourceStore = options.forkResourceStore; + if (forkResourceStore) delete options.forkResourceStore; + const mergedOptions = { + ...this.options, + ...options, + ...{ + isClone: true + } + }; + const clone = new I18n(mergedOptions); + if (options.debug !== undefined || options.prefix !== undefined) { + clone.logger = clone.logger.clone(options); + } + const membersToCopy = ['store', 'services', 'language']; + membersToCopy.forEach(m => { + clone[m] = this[m]; + }); + clone.services = { + ...this.services + }; + clone.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + if (forkResourceStore) { + const clonedData = Object.keys(this.store.data).reduce((prev, l) => { + prev[l] = { + ...this.store.data[l] + }; + prev[l] = Object.keys(prev[l]).reduce((acc, n) => { + acc[n] = { + ...prev[l][n] + }; + return acc; + }, prev[l]); + return prev; + }, {}); + clone.store = new ResourceStore(clonedData, mergedOptions); + clone.services.resourceStore = clone.store; + } + clone.translator = new Translator(clone.services, mergedOptions); + clone.translator.on('*', (event, ...args) => { + clone.emit(event, ...args); + }); + clone.init(mergedOptions, callback); + clone.translator.options = mergedOptions; + clone.translator.backendConnector.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + return clone; + } + toJSON() { + return { + options: this.options, + store: this.store, + language: this.language, + languages: this.languages, + resolvedLanguage: this.resolvedLanguage + }; + } + } + const instance = I18n.createInstance(); + instance.createInstance = I18n.createInstance; + + return instance; + +})); diff --git a/node_modules/i18next/dist/umd/i18next.min.js b/node_modules/i18next/dist/umd/i18next.min.js new file mode 100644 index 00000000..2ce1b783 --- /dev/null +++ b/node_modules/i18next/dist/umd/i18next.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).i18next=t()}(this,(function(){"use strict";const e=e=>"string"==typeof e,t=()=>{let e,t;const s=new Promise(((s,i)=>{e=s,t=i}));return s.resolve=e,s.reject=t,s},s=e=>null==e?"":""+e,i=/###/g,o=e=>e&&e.indexOf("###")>-1?e.replace(i,"."):e,n=t=>!t||e(t),a=(t,s,i)=>{const a=e(s)?s.split("."):s;let r=0;for(;r{const{obj:i,k:o}=a(e,t,Object);if(void 0!==i||1===t.length)return void(i[o]=s);let n=t[t.length-1],r=t.slice(0,t.length-1),l=a(e,r,Object);for(;void 0===l.obj&&r.length;)n=`${r[r.length-1]}.${n}`,r=r.slice(0,r.length-1),l=a(e,r,Object),l?.obj&&void 0!==l.obj[`${l.k}.${n}`]&&(l.obj=void 0);l.obj[`${l.k}.${n}`]=s},l=(e,t)=>{const{obj:s,k:i}=a(e,t);if(s&&Object.prototype.hasOwnProperty.call(s,i))return s[i]},h=(t,s,i)=>{for(const o in s)"__proto__"!==o&&"constructor"!==o&&(o in t?e(t[o])||t[o]instanceof String||e(s[o])||s[o]instanceof String?i&&(t[o]=s[o]):h(t[o],s[o],i):t[o]=s[o]);return t},p=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var u={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const c=t=>e(t)?t.replace(/[&<>"'\/]/g,(e=>u[e])):t;const g=[" ",",","?","!",";"],d=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}(20),f=(e,t,s=".")=>{if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}const i=t.split(s);let o=e;for(let e=0;e-1&&ae?.replace("_","-"),y={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class x{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||y,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(t,s,i,o){return o&&!this.debug?null:(e(t[0])&&(t[0]=`${i}${this.prefix} ${t[0]}`),this.logger[s](t))}create(e){return new x(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new x(this.logger,e)}}var v=new x;class b{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]||(this.observers[e]=new Map);const s=this.observers[e].get(t)||0;this.observers[e].set(t,s+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e,...t){if(this.observers[e]){Array.from(this.observers[e].entries()).forEach((([e,s])=>{for(let i=0;i{for(let o=0;o-1&&this.options.ns.splice(t,1)}getResource(t,s,i,o={}){const n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=void 0!==o.ignoreJSONStructure?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let r;t.indexOf(".")>-1?r=t.split("."):(r=[t,s],i&&(Array.isArray(i)?r.push(...i):e(i)&&n?r.push(...i.split(n)):r.push(i)));const h=l(this.data,r);return!h&&!s&&!i&&t.indexOf(".")>-1&&(t=r[0],s=r[1],i=r.slice(2).join(".")),!h&&a&&e(i)?f(this.data?.[t]?.[s],i,n):h}addResource(e,t,s,i,o={silent:!1}){const n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator;let a=[e,t];s&&(a=a.concat(n?s.split(n):s)),e.indexOf(".")>-1&&(a=e.split("."),i=t,t=a[1]),this.addNamespaces(t),r(this.data,a,i),o.silent||this.emit("added",e,t,s,i)}addResources(t,s,i,o={silent:!1}){for(const o in i)(e(i[o])||Array.isArray(i[o]))&&this.addResource(t,s,o,i[o],{silent:!0});o.silent||this.emit("added",t,s,i)}addResourceBundle(e,t,s,i,o,n={silent:!1,skipCopy:!1}){let a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),i=s,s=t,t=a[1]),this.addNamespaces(t);let p=l(this.data,a)||{};n.skipCopy||(s=JSON.parse(JSON.stringify(s))),i?h(p,s,o):p={...p,...s},r(this.data,a,p),n.silent||this.emit("added",e,t,s)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var S={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,s,i,o){return e.forEach((e=>{t=this.processors[e]?.process(t,s,i,o)??t})),t}};const O={},L=t=>!e(t)&&"boolean"!=typeof t&&"number"!=typeof t;class w extends b{constructor(e,t={}){var s,i;super(),s=e,i=this,["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach((e=>{s[e]&&(i[e]=s[e])})),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=v.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const s={...t};if(null==e)return!1;const i=this.resolve(e,s);return void 0!==i?.res}extractFromKey(t,s){let i=void 0!==s.nsSeparator?s.nsSeparator:this.options.nsSeparator;void 0===i&&(i=":");const o=void 0!==s.keySeparator?s.keySeparator:this.options.keySeparator;let n=s.ns||this.options.defaultNS||[];const a=i&&t.indexOf(i)>-1,r=!(this.options.userDefinedKeySeparator||s.keySeparator||this.options.userDefinedNsSeparator||s.nsSeparator||((e,t,s)=>{t=t||"",s=s||"";const i=g.filter((e=>t.indexOf(e)<0&&s.indexOf(e)<0));if(0===i.length)return!0;const o=d.getRegExp(`(${i.map((e=>"?"===e?"\\?":e)).join("|")})`);let n=!o.test(e);if(!n){const t=e.indexOf(s);t>0&&!o.test(e.substring(0,t))&&(n=!0)}return n})(t,i,o));if(a&&!r){const s=t.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:t,namespaces:e(n)?[n]:n};const a=t.split(i);(i!==o||i===o&&this.options.ns.indexOf(a[0])>-1)&&(n=a.shift()),t=a.join(o)}return{key:t,namespaces:e(n)?[n]:n}}translate(t,s,i){let o="object"==typeof s?{...s}:s;if("object"!=typeof o&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof options&&(o={...o}),o||(o={}),null==t)return"";Array.isArray(t)||(t=[String(t)]);const n=void 0!==o.returnDetails?o.returnDetails:this.options.returnDetails,a=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,{key:r,namespaces:l}=this.extractFromKey(t[t.length-1],o),h=l[l.length-1];let p=void 0!==o.nsSeparator?o.nsSeparator:this.options.nsSeparator;void 0===p&&(p=":");const u=o.lng||this.language,c=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===u?.toLowerCase())return c?n?{res:`${h}${p}${r}`,usedKey:r,exactUsedKey:r,usedLng:u,usedNS:h,usedParams:this.getUsedParamsDetails(o)}:`${h}${p}${r}`:n?{res:r,usedKey:r,exactUsedKey:r,usedLng:u,usedNS:h,usedParams:this.getUsedParamsDetails(o)}:r;const g=this.resolve(t,o);let d=g?.res;const f=g?.usedKey||r,m=g?.exactUsedKey||r,y=void 0!==o.joinArrays?o.joinArrays:this.options.joinArrays,x=!this.i18nFormat||this.i18nFormat.handleAsObject,v=void 0!==o.count&&!e(o.count),b=w.hasDefaultValue(o),k=v?this.pluralResolver.getSuffix(u,o.count,o):"",S=o.ordinal&&v?this.pluralResolver.getSuffix(u,o.count,{ordinal:!1}):"",O=v&&!o.ordinal&&0===o.count,$=O&&o[`defaultValue${this.options.pluralSeparator}zero`]||o[`defaultValue${k}`]||o[`defaultValue${S}`]||o.defaultValue;let R=d;x&&!d&&b&&(R=$);const C=L(R),P=Object.prototype.toString.apply(R);if(!(x&&R&&C&&["[object Number]","[object Function]","[object RegExp]"].indexOf(P)<0)||e(y)&&Array.isArray(R))if(x&&e(y)&&Array.isArray(d))d=d.join(y),d&&(d=this.extendTranslation(d,t,o,i));else{let e=!1,s=!1;!this.isValidLookup(d)&&b&&(e=!0,d=$),this.isValidLookup(d)||(s=!0,d=r);const n=(o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&s?void 0:d,l=b&&$!==d&&this.options.updateMissing;if(s||e||l){if(this.logger.log(l?"updateKey":"missingKey",u,h,r,l?$:d),a){const e=this.resolve(r,{...o,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let s=0;s{const i=b&&s!==d?s:n;this.options.missingKeyHandler?this.options.missingKeyHandler(e,h,t,i,l,o):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,h,t,i,l,o),this.emit("missingKey",e,h,t,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&v?e.forEach((e=>{const t=this.pluralResolver.getSuffixes(e,o);O&&o[`defaultValue${this.options.pluralSeparator}zero`]&&t.indexOf(`${this.options.pluralSeparator}zero`)<0&&t.push(`${this.options.pluralSeparator}zero`),t.forEach((t=>{s([e],r+t,o[`defaultValue${t}`]||$)}))})):s(e,r,$))}d=this.extendTranslation(d,t,o,g,i),s&&d===r&&this.options.appendNamespaceToMissingKey&&(d=`${h}${p}${r}`),(s||e)&&this.options.parseMissingKeyHandler&&(d=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${h}${p}${r}`:r,e?d:void 0,o))}else{if(!o.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(f,R,{...o,ns:l}):`key '${r} (${this.language})' returned an object instead of string.`;return n?(g.res=e,g.usedParams=this.getUsedParamsDetails(o),g):e}if(a){const e=Array.isArray(R),t=e?[]:{},s=e?m:f;for(const e in R)if(Object.prototype.hasOwnProperty.call(R,e)){const i=`${s}${a}${e}`;t[e]=b&&!d?this.translate(i,{...o,defaultValue:L($)?$[e]:void 0,joinArrays:!1,ns:l}):this.translate(i,{...o,joinArrays:!1,ns:l}),t[e]===i&&(t[e]=R[e])}d=t}}return n?(g.res=d,g.usedParams=this.getUsedParamsDetails(o),g):d}extendTranslation(t,s,i,o,n){if(this.i18nFormat?.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const a=e(t)&&(void 0!==i?.interpolation?.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let r;if(a){const e=t.match(this.interpolator.nestingRegexp);r=e&&e.length}let l=i.replace&&!e(i.replace)?i.replace:i;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),t=this.interpolator.interpolate(t,l,i.lng||this.language||o.usedLng,i),a){const e=t.match(this.interpolator.nestingRegexp);r<(e&&e.length)&&(i.nest=!1)}!i.lng&&o&&o.res&&(i.lng=this.language||o.usedLng),!1!==i.nest&&(t=this.interpolator.nest(t,((...e)=>n?.[0]!==e[0]||i.context?this.translate(...e,s):(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${s[0]}`),null)),i)),i.interpolation&&this.interpolator.reset()}const a=i.postProcess||this.options.postProcess,r=e(a)?[a]:a;return null!=t&&r?.length&&!1!==i.applyPostProcessor&&(t=S.handle(r,t,s,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...o,usedParams:this.getUsedParamsDetails(i)},...i}:i,this)),t}resolve(t,s={}){let i,o,n,a,r;return e(t)&&(t=[t]),t.forEach((t=>{if(this.isValidLookup(i))return;const l=this.extractFromKey(t,s),h=l.key;o=h;let p=l.namespaces;this.options.fallbackNS&&(p=p.concat(this.options.fallbackNS));const u=void 0!==s.count&&!e(s.count),c=u&&!s.ordinal&&0===s.count,g=void 0!==s.context&&(e(s.context)||"number"==typeof s.context)&&""!==s.context,d=s.lngs?s.lngs:this.languageUtils.toResolveHierarchy(s.lng||this.language,s.fallbackLng);p.forEach((e=>{this.isValidLookup(i)||(r=e,O[`${d[0]}-${e}`]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(r)||(O[`${d[0]}-${e}`]=!0,this.logger.warn(`key "${o}" for languages "${d.join(", ")}" won't get resolved as namespace "${r}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),d.forEach((t=>{if(this.isValidLookup(i))return;a=t;const o=[h];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(o,h,t,e,s);else{let e;u&&(e=this.pluralResolver.getSuffix(t,s.count,s));const i=`${this.options.pluralSeparator}zero`,n=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(o.push(h+e),s.ordinal&&0===e.indexOf(n)&&o.push(h+e.replace(n,this.options.pluralSeparator)),c&&o.push(h+i)),g){const t=`${h}${this.options.contextSeparator}${s.context}`;o.push(t),u&&(o.push(t+e),s.ordinal&&0===e.indexOf(n)&&o.push(t+e.replace(n,this.options.pluralSeparator)),c&&o.push(t+i))}}let r;for(;r=o.pop();)this.isValidLookup(i)||(n=r,i=this.getResource(t,e,r,s))})))}))})),{res:i,usedKey:o,exactUsedKey:n,usedLng:a,usedNS:r}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,s,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,s,i):this.resourceStore.getResource(e,t,s,i)}getUsedParamsDetails(t={}){const s=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=t.replace&&!e(t.replace);let o=i?t.replace:t;if(i&&void 0!==t.count&&(o.count=t.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!i){o={...o};for(const e of s)delete o[e]}return o}static hasDefaultValue(e){const t="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t===s.substring(0,12)&&void 0!==e[s])return!0;return!1}}class ${constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=v.create("languageUtils")}getScriptPartFromCode(e){if(!(e=m(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=m(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(t){if(e(t)&&t.indexOf("-")>-1){let e;try{e=Intl.getCanonicalLocales(t)[0]}catch(e){}return e&&this.options.lowerCaseLng&&(e=e.toLowerCase()),e||(this.options.lowerCaseLng?t.toLowerCase():t)}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const s=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(s)||(t=s)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const s=this.getScriptPartFromCode(e);if(this.isSupportedCode(s))return t=s;const i=this.getLanguagePartFromCode(e);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find((e=>e===i?e:e.indexOf("-")<0&&i.indexOf("-")<0?void 0:e.indexOf("-")>0&&i.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===i||0===e.indexOf(i)&&i.length>1?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(t,s){if(!t)return[];if("function"==typeof t&&(t=t(s)),e(t)&&(t=[t]),Array.isArray(t))return t;if(!s)return t.default||[];let i=t[s];return i||(i=t[this.getScriptPartFromCode(s)]),i||(i=t[this.formatLanguageCode(s)]),i||(i=t[this.getLanguagePartFromCode(s)]),i||(i=t.default),i||[]}toResolveHierarchy(t,s){const i=this.getFallbackCodes(s||this.options.fallbackLng||[],t),o=[],n=e=>{e&&(this.isSupportedCode(e)?o.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return e(t)&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(t)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(t)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(t))):e(t)&&n(this.formatLanguageCode(t)),i.forEach((e=>{o.indexOf(e)<0&&n(this.formatLanguageCode(e))})),o}}const R={zero:0,one:1,two:2,few:3,many:4,other:5},C={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class P{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=v.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const s=m("dev"===e?"en":e),i=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:s,type:i});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let n;try{n=new Intl.PluralRules(s,{type:i})}catch(s){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),C;if(!e.match(/-|_/))return C;const i=this.languageUtils.getLanguagePartFromCode(e);n=this.getRule(i,t)}return this.pluralRulesCache[o]=n,n}needsPlural(e,t={}){let s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,s={}){return this.getSuffixes(e,s).map((e=>`${t}${e}`))}getSuffixes(e,t={}){let s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?s.resolvedOptions().pluralCategories.sort(((e,t)=>R[e]-R[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):[]}getSuffix(e,t,s={}){const i=this.getRule(e,s);return i?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,s))}}const N=(t,s,i,o=".",n=!0)=>{let a=((e,t,s)=>{const i=l(e,s);return void 0!==i?i:l(t,s)})(t,s,i);return!a&&n&&e(i)&&(a=f(t,i,o),void 0===a&&(a=f(s,i,o))),a},j=e=>e.replace(/\$/g,"$$$$");class E{constructor(e={}){this.logger=v.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:s,useRawValueToEscape:i,prefix:o,prefixEscaped:n,suffix:a,suffixEscaped:r,formatSeparator:l,unescapeSuffix:h,unescapePrefix:u,nestingPrefix:g,nestingPrefixEscaped:d,nestingSuffix:f,nestingSuffixEscaped:m,nestingOptionsSeparator:y,maxReplaces:x,alwaysFormat:v}=e.interpolation;this.escape=void 0!==t?t:c,this.escapeValue=void 0===s||s,this.useRawValueToEscape=void 0!==i&&i,this.prefix=o?p(o):n||"{{",this.suffix=a?p(a):r||"}}",this.formatSeparator=l||",",this.unescapePrefix=h?"":u||"-",this.unescapeSuffix=this.unescapePrefix?"":h||"",this.nestingPrefix=g?p(g):d||p("$t("),this.nestingSuffix=f?p(f):m||p(")"),this.nestingOptionsSeparator=y||",",this.maxReplaces=x||1e3,this.alwaysFormat=void 0!==v&&v,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,i,o,n){let a,r,l;const h=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},p=e=>{if(e.indexOf(this.formatSeparator)<0){const t=N(i,h,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(t,void 0,o,{...n,...i,interpolationkey:e}):t}const t=e.split(this.formatSeparator),s=t.shift().trim(),a=t.join(this.formatSeparator).trim();return this.format(N(i,h,s,this.options.keySeparator,this.options.ignoreJSONStructure),a,o,{...n,...i,interpolationkey:s})};this.resetRegExp();const u=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=void 0!==n?.interpolation?.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>j(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?j(this.escape(e)):j(e)}].forEach((i=>{for(l=0;a=i.regex.exec(t);){const o=a[1].trim();if(r=p(o),void 0===r)if("function"==typeof u){const s=u(t,a,n);r=e(s)?s:""}else if(n&&Object.prototype.hasOwnProperty.call(n,o))r="";else{if(c){r=a[0];continue}this.logger.warn(`missed to pass in variable ${o} for interpolating ${t}`),r=""}else e(r)||this.useRawValueToEscape||(r=s(r));const h=i.safeValue(r);if(t=t.replace(a[0],h),c?(i.regex.lastIndex+=r.length,i.regex.lastIndex-=a[0].length):i.regex.lastIndex=0,l++,l>=this.maxReplaces)break}})),t}nest(t,i,o={}){let n,a,r;const l=(e,t)=>{const s=this.nestingOptionsSeparator;if(e.indexOf(s)<0)return e;const i=e.split(new RegExp(`${s}[ ]*{`));let o=`{${i[1]}`;e=i[0],o=this.interpolate(o,r);const n=o.match(/'/g),a=o.match(/"/g);((n?.length??0)%2==0&&!a||a.length%2!=0)&&(o=o.replace(/'/g,'"'));try{r=JSON.parse(o),t&&(r={...t,...r})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${s}${o}`}return r.defaultValue&&r.defaultValue.indexOf(this.prefix)>-1&&delete r.defaultValue,e};for(;n=this.nestingRegexp.exec(t);){let h=[];r={...o},r=r.replace&&!e(r.replace)?r.replace:r,r.applyPostProcessor=!1,delete r.defaultValue;let p=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){const e=n[1].split(this.formatSeparator).map((e=>e.trim()));n[1]=e.shift(),h=e,p=!0}if(a=i(l.call(this,n[1].trim(),r),r),a&&n[0]===t&&!e(a))return a;e(a)||(a=s(a)),a||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${t}`),a=""),p&&(a=h.reduce(((e,t)=>this.format(e,t,o.lng,{...o,interpolationkey:n[1].trim()})),a.trim())),t=t.replace(n[0],a),this.regexp.lastIndex=0}return t}}const F=e=>{const t={};return(s,i,o)=>{let n=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(n={...n,[o.interpolationkey]:void 0});const a=i+JSON.stringify(n);let r=t[a];return r||(r=e(m(i),o),t[a]=r),r(s)}},V=e=>(t,s,i)=>e(m(s),i)(t);class D{constructor(e={}){this.logger=v.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const s=t.cacheInBuiltFormats?F:V;this.formats={number:s(((e,t)=>{const s=new Intl.NumberFormat(e,{...t});return e=>s.format(e)})),currency:s(((e,t)=>{const s=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>s.format(e)})),datetime:s(((e,t)=>{const s=new Intl.DateTimeFormat(e,{...t});return e=>s.format(e)})),relativetime:s(((e,t)=>{const s=new Intl.RelativeTimeFormat(e,{...t});return e=>s.format(e,t.range||"day")})),list:s(((e,t)=>{const s=new Intl.ListFormat(e,{...t});return e=>s.format(e)}))}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=F(t)}format(e,t,s,i={}){const o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find((e=>e.indexOf(")")>-1))){const e=o.findIndex((e=>e.indexOf(")")>-1));o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce(((e,t)=>{const{formatName:o,formatOptions:n}=(e=>{let t=e.toLowerCase().trim();const s={};if(e.indexOf("(")>-1){const i=e.split("(");t=i[0].toLowerCase().trim();const o=i[1].substring(0,i[1].length-1);"currency"===t&&o.indexOf(":")<0?s.currency||(s.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?s.range||(s.range=o.trim()):o.split(";").forEach((e=>{if(e){const[t,...i]=e.split(":"),o=i.join(":").trim().replace(/^'+|'+$/g,""),n=t.trim();s[n]||(s[n]=o),"false"===o&&(s[n]=!1),"true"===o&&(s[n]=!0),isNaN(o)||(s[n]=parseInt(o,10))}}))}return{formatName:t,formatOptions:s}})(t);if(this.formats[o]){let t=e;try{const a=i?.formatParams?.[i.interpolationkey]||{},r=a.locale||a.lng||i.locale||i.lng||s;t=this.formats[o](e,r,{...n,...i,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e}),e)}}class I extends b{constructor(e,t,s,i={}){super(),this.backend=e,this.store=t,this.services=s,this.languageUtils=s.languageUtils,this.options=i,this.logger=v.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(s,i.backend,i)}queueLoad(e,t,s,i){const o={},n={},a={},r={};return e.forEach((e=>{let i=!0;t.forEach((t=>{const a=`${e}|${t}`;!s.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===n[a]&&(n[a]=!0):(this.state[a]=1,i=!1,void 0===n[a]&&(n[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===r[t]&&(r[t]=!0)))})),i||(a[e]=!0)})),(Object.keys(o).length||Object.keys(n).length)&&this.queue.push({pending:n,pendingCount:Object.keys(n).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(n),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(r)}}loaded(e,t,s){const i=e.split("|"),o=i[0],n=i[1];t&&this.emit("failedLoading",o,n,t),!t&&s&&this.store.addResourceBundle(o,n,s,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&s&&(this.state[e]=0);const r={};this.queue.forEach((s=>{((e,t,s)=>{const{obj:i,k:o}=a(e,t,Object);i[o]=i[o]||[],i[o].push(s)})(s.loaded,[o],n),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(s,e),t&&s.errors.push(t),0!==s.pendingCount||s.done||(Object.keys(s.loaded).forEach((e=>{r[e]||(r[e]={});const t=s.loaded[e];t.length&&t.forEach((t=>{void 0===r[e][t]&&(r[e][t]=!0)}))})),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())})),this.emit("loaded",r),this.queue=this.queue.filter((e=>!e.done))}read(e,t,s,i=0,o=this.retryTimeout,n){if(!e.length)return n(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:s,tried:i,wait:o,callback:n});this.readingCalls++;const a=(a,r)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&r&&i{this.read.call(this,e,t,s,i+1,2*o,n)}),o):n(a,r)},r=this.backend[s].bind(this.backend);if(2!==r.length)return r(e,t,a);try{const s=r(e,t);s&&"function"==typeof s.then?s.then((e=>a(null,e))).catch(a):a(null,s)}catch(e){a(e)}}prepareLoading(t,s,i={},o){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();e(t)&&(t=this.languageUtils.toResolveHierarchy(t)),e(s)&&(s=[s]);const n=this.queueLoad(t,s,i,o);if(!n.toLoad.length)return n.pending.length||o(),null;n.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,s){this.prepareLoading(e,t,{},s)}reload(e,t,s){this.prepareLoading(e,t,{reload:!0},s)}loadOne(e,t=""){const s=e.split("|"),i=s[0],o=s[1];this.read(i,o,"read",void 0,void 0,((s,n)=>{s&&this.logger.warn(`${t}loading namespace ${o} for language ${i} failed`,s),!s&&n&&this.logger.log(`${t}loaded namespace ${o} for language ${i}`,n),this.loaded(e,s,n)}))}saveMissing(e,t,s,i,o,n={},a=()=>{}){if(!this.services?.utils?.hasLoadedNamespace||this.services?.utils?.hasLoadedNamespace(t)){if(null!=s&&""!==s){if(this.backend?.create){const r={...n,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;o=5===l.length?l(e,t,s,i,r):l(e,t,s,i),o&&"function"==typeof o.then?o.then((e=>a(null,e))).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,s,i,a,r)}e&&e[0]&&this.store.addResource(e[0],t,s,i)}}else this.logger.warn(`did not save key "${s}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}}const T=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let s={};if("object"==typeof t[1]&&(s=t[1]),e(t[1])&&(s.defaultValue=t[1]),e(t[2])&&(s.tDescription=t[2]),"object"==typeof t[2]||"object"==typeof t[3]){const e=t[3]||t[2];Object.keys(e).forEach((t=>{s[t]=e[t]}))}return s},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),K=t=>(e(t.ns)&&(t.ns=[t.ns]),e(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),e(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs?.indexOf?.("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),"boolean"==typeof t.initImmediate&&(t.initAsync=t.initImmediate),t),U=()=>{};class A extends b{constructor(e={},t){var s;if(super(),this.options=K(e),this.services={},this.logger=v,this.modules={external:[]},s=this,Object.getOwnPropertyNames(Object.getPrototypeOf(s)).forEach((e=>{"function"==typeof s[e]&&(s[e]=s[e].bind(s))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(s={},i){this.isInitializing=!0,"function"==typeof s&&(i=s,s={}),null==s.defaultNS&&s.ns&&(e(s.ns)?s.defaultNS=s.ns:s.ns.indexOf("translation")<0&&(s.defaultNS=s.ns[0]));const o=T();this.options={...o,...this.options,...K(s)},this.options.interpolation={...o.interpolation,...this.options.interpolation},void 0!==s.keySeparator&&(this.options.userDefinedKeySeparator=s.keySeparator),void 0!==s.nsSeparator&&(this.options.userDefinedNsSeparator=s.nsSeparator);const n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let e;this.modules.logger?v.init(n(this.modules.logger),this.options):v.init(null,this.options),e=this.modules.formatter?this.modules.formatter:D;const t=new $(this.options);this.store=new k(this.options.resources,this.options);const s=this.services;s.logger=v,s.resourceStore=this.store,s.languageUtils=t,s.pluralResolver=new P(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!e||this.options.interpolation.format&&this.options.interpolation.format!==o.interpolation.format||(s.formatter=n(e),s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new E(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new I(n(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",((e,...t)=>{this.emit(e,...t)})),this.modules.languageDetector&&(s.languageDetector=n(this.modules.languageDetector),s.languageDetector.init&&s.languageDetector.init(s,this.options.detection,this.options)),this.modules.i18nFormat&&(s.i18nFormat=n(this.modules.i18nFormat),s.i18nFormat.init&&s.i18nFormat.init(this)),this.translator=new w(this.services,this.options),this.translator.on("*",((e,...t)=>{this.emit(e,...t)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,i||(i=U),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((e=>{this[e]=(...t)=>this.store[e](...t)}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((e=>{this[e]=(...t)=>(this.store[e](...t),this)}));const a=t(),r=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),a.resolve(t),i(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?r():setTimeout(r,0),a}loadResources(t,s=U){let i=s;const o=e(t)?t:this.language;if("function"==typeof t&&(i=t),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===o?.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return i();const e=[],t=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(o)t(o);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>t(e)))}this.options.preload?.forEach?.((e=>t(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),i(e)}))}else i(null)}reloadResources(e,s,i){const o=t();return"function"==typeof e&&(i=e,e=void 0),"function"==typeof s&&(i=s,s=void 0),e||(e=this.languages),s||(s=this.options.ns),i||(i=U),this.services.backendConnector.reload(e,s,(e=>{o.resolve(),i(e)})),o}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&S.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(s,i){this.isLanguageChangingTo=s;const o=t();this.emit("languageChanging",s);const n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},a=(e,t)=>{t?this.isLanguageChangingTo===s&&(n(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,o.resolve(((...e)=>this.t(...e))),i&&i(e,((...e)=>this.t(...e)))},r=t=>{s||t||!this.services.languageDetector||(t=[]);const i=e(t)?t:t&&t[0],o=this.store.hasLanguageSomeTranslations(i)?i:this.services.languageUtils.getBestMatchFromCodes(e(t)?[t]:t);o&&(this.language||n(o),this.translator.language||this.translator.changeLanguage(o),this.services.languageDetector?.cacheUserLanguage?.(o)),this.loadResources(o,(e=>{a(e,o)}))};return s||!this.services.languageDetector||this.services.languageDetector.async?!s&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(r):this.services.languageDetector.detect(r):r(s):r(this.services.languageDetector.detect()),o}getFixedT(t,s,i){const o=(e,t,...s)=>{let n;n="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(s)):{...t},n.lng=n.lng||o.lng,n.lngs=n.lngs||o.lngs,n.ns=n.ns||o.ns,""!==n.keyPrefix&&(n.keyPrefix=n.keyPrefix||i||o.keyPrefix);const a=this.options.keySeparator||".";let r;return r=n.keyPrefix&&Array.isArray(e)?e.map((e=>`${n.keyPrefix}${a}${e}`)):n.keyPrefix?`${n.keyPrefix}${a}${e}`:e,this.t(r,n)};return e(t)?o.lng=t:o.lngs=t,o.ns=s,o.keyPrefix=i,o}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const s=t.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===s.toLowerCase())return!0;const n=(e,t)=>{const s=this.services.backendConnector.state[`${e}|${t}`];return-1===s||0===s||2===s};if(t.precheck){const e=t.precheck(this,n);if(void 0!==e)return e}return!!this.hasResourceBundle(s,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!n(s,e)||i&&!n(o,e)))}loadNamespaces(s,i){const o=t();return this.options.ns?(e(s)&&(s=[s]),s.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{o.resolve(),i&&i(e)})),o):(i&&i(),Promise.resolve())}loadLanguages(s,i){const o=t();e(s)&&(s=[s]);const n=this.options.preload||[],a=s.filter((e=>n.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return a.length?(this.options.preload=n.concat(a),this.loadResources((e=>{o.resolve(),i&&i(e)})),o):(i&&i(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services?.languageUtils||new $(T());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new A(e,t)}cloneInstance(e={},t=U){const s=e.forkResourceStore;s&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},o=new A(i);void 0===e.debug&&void 0===e.prefix||(o.logger=o.logger.clone(e));if(["store","services","language"].forEach((e=>{o[e]=this[e]})),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},s){const e=Object.keys(this.store.data).reduce(((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce(((s,i)=>(s[i]={...e[t][i]},s)),e[t]),e)),{});o.store=new k(e,i),o.services.resourceStore=o.store}return o.translator=new w(o.services,i),o.translator.on("*",((e,...t)=>{o.emit(e,...t)})),o.init(i,t),o.translator.options=i,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const M=A.createInstance();return M.createInstance=A.createInstance,M})); diff --git a/node_modules/i18next/i18next.js b/node_modules/i18next/i18next.js new file mode 100644 index 00000000..e54bb966 --- /dev/null +++ b/node_modules/i18next/i18next.js @@ -0,0 +1,2147 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.i18next = factory()); +})(this, (function () { 'use strict'; + + const isString = obj => typeof obj === 'string'; + const defer = () => { + let res; + let rej; + const promise = new Promise((resolve, reject) => { + res = resolve; + rej = reject; + }); + promise.resolve = res; + promise.reject = rej; + return promise; + }; + const makeString = object => { + if (object == null) return ''; + return '' + object; + }; + const copy = (a, s, t) => { + a.forEach(m => { + if (s[m]) t[m] = s[m]; + }); + }; + const lastOfPathSeparatorRegExp = /###/g; + const cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key; + const canNotTraverseDeeper = object => !object || isString(object); + const getLastOfPath = (object, path, Empty) => { + const stack = !isString(path) ? path : path.split('.'); + let stackIndex = 0; + while (stackIndex < stack.length - 1) { + if (canNotTraverseDeeper(object)) return {}; + const key = cleanKey(stack[stackIndex]); + if (!object[key] && Empty) object[key] = new Empty(); + if (Object.prototype.hasOwnProperty.call(object, key)) { + object = object[key]; + } else { + object = {}; + } + ++stackIndex; + } + if (canNotTraverseDeeper(object)) return {}; + return { + obj: object, + k: cleanKey(stack[stackIndex]) + }; + }; + const setPath = (object, path, newValue) => { + const { + obj, + k + } = getLastOfPath(object, path, Object); + if (obj !== undefined || path.length === 1) { + obj[k] = newValue; + return; + } + let e = path[path.length - 1]; + let p = path.slice(0, path.length - 1); + let last = getLastOfPath(object, p, Object); + while (last.obj === undefined && p.length) { + e = `${p[p.length - 1]}.${e}`; + p = p.slice(0, p.length - 1); + last = getLastOfPath(object, p, Object); + if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') { + last.obj = undefined; + } + } + last.obj[`${last.k}.${e}`] = newValue; + }; + const pushPath = (object, path, newValue, concat) => { + const { + obj, + k + } = getLastOfPath(object, path, Object); + obj[k] = obj[k] || []; + obj[k].push(newValue); + }; + const getPath = (object, path) => { + const { + obj, + k + } = getLastOfPath(object, path); + if (!obj) return undefined; + if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined; + return obj[k]; + }; + const getPathWithDefaults = (data, defaultData, key) => { + const value = getPath(data, key); + if (value !== undefined) { + return value; + } + return getPath(defaultData, key); + }; + const deepExtend = (target, source, overwrite) => { + for (const prop in source) { + if (prop !== '__proto__' && prop !== 'constructor') { + if (prop in target) { + if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) { + if (overwrite) target[prop] = source[prop]; + } else { + deepExtend(target[prop], source[prop], overwrite); + } + } else { + target[prop] = source[prop]; + } + } + } + return target; + }; + const regexEscape = str => str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); + var _entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' + }; + const escape = data => { + if (isString(data)) { + return data.replace(/[&<>"'\/]/g, s => _entityMap[s]); + } + return data; + }; + class RegExpCache { + constructor(capacity) { + this.capacity = capacity; + this.regExpMap = new Map(); + this.regExpQueue = []; + } + getRegExp(pattern) { + const regExpFromCache = this.regExpMap.get(pattern); + if (regExpFromCache !== undefined) { + return regExpFromCache; + } + const regExpNew = new RegExp(pattern); + if (this.regExpQueue.length === this.capacity) { + this.regExpMap.delete(this.regExpQueue.shift()); + } + this.regExpMap.set(pattern, regExpNew); + this.regExpQueue.push(pattern); + return regExpNew; + } + } + const chars = [' ', ',', '?', '!', ';']; + const looksLikeObjectPathRegExpCache = new RegExpCache(20); + const looksLikeObjectPath = (key, nsSeparator, keySeparator) => { + nsSeparator = nsSeparator || ''; + keySeparator = keySeparator || ''; + const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0); + if (possibleChars.length === 0) return true; + const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\?' : c).join('|')})`); + let matched = !r.test(key); + if (!matched) { + const ki = key.indexOf(keySeparator); + if (ki > 0 && !r.test(key.substring(0, ki))) { + matched = true; + } + } + return matched; + }; + const deepFind = (obj, path, keySeparator = '.') => { + if (!obj) return undefined; + if (obj[path]) { + if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined; + return obj[path]; + } + const tokens = path.split(keySeparator); + let current = obj; + for (let i = 0; i < tokens.length;) { + if (!current || typeof current !== 'object') { + return undefined; + } + let next; + let nextPath = ''; + for (let j = i; j < tokens.length; ++j) { + if (j !== i) { + nextPath += keySeparator; + } + nextPath += tokens[j]; + next = current[nextPath]; + if (next !== undefined) { + if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) { + continue; + } + i += j - i + 1; + break; + } + } + current = next; + } + return current; + }; + const getCleanedCode = code => code?.replace('_', '-'); + + const consoleLogger = { + type: 'logger', + log(args) { + this.output('log', args); + }, + warn(args) { + this.output('warn', args); + }, + error(args) { + this.output('error', args); + }, + output(type, args) { + console?.[type]?.apply?.(console, args); + } + }; + class Logger { + constructor(concreteLogger, options = {}) { + this.init(concreteLogger, options); + } + init(concreteLogger, options = {}) { + this.prefix = options.prefix || 'i18next:'; + this.logger = concreteLogger || consoleLogger; + this.options = options; + this.debug = options.debug; + } + log(...args) { + return this.forward(args, 'log', '', true); + } + warn(...args) { + return this.forward(args, 'warn', '', true); + } + error(...args) { + return this.forward(args, 'error', ''); + } + deprecate(...args) { + return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true); + } + forward(args, lvl, prefix, debugOnly) { + if (debugOnly && !this.debug) return null; + if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`; + return this.logger[lvl](args); + } + create(moduleName) { + return new Logger(this.logger, { + ...{ + prefix: `${this.prefix}:${moduleName}:` + }, + ...this.options + }); + } + clone(options) { + options = options || this.options; + options.prefix = options.prefix || this.prefix; + return new Logger(this.logger, options); + } + } + var baseLogger = new Logger(); + + class EventEmitter { + constructor() { + this.observers = {}; + } + on(events, listener) { + events.split(' ').forEach(event => { + if (!this.observers[event]) this.observers[event] = new Map(); + const numListeners = this.observers[event].get(listener) || 0; + this.observers[event].set(listener, numListeners + 1); + }); + return this; + } + off(event, listener) { + if (!this.observers[event]) return; + if (!listener) { + delete this.observers[event]; + return; + } + this.observers[event].delete(listener); + } + emit(event, ...args) { + if (this.observers[event]) { + const cloned = Array.from(this.observers[event].entries()); + cloned.forEach(([observer, numTimesAdded]) => { + for (let i = 0; i < numTimesAdded; i++) { + observer(...args); + } + }); + } + if (this.observers['*']) { + const cloned = Array.from(this.observers['*'].entries()); + cloned.forEach(([observer, numTimesAdded]) => { + for (let i = 0; i < numTimesAdded; i++) { + observer.apply(observer, [event, ...args]); + } + }); + } + } + } + + class ResourceStore extends EventEmitter { + constructor(data, options = { + ns: ['translation'], + defaultNS: 'translation' + }) { + super(); + this.data = data || {}; + this.options = options; + if (this.options.keySeparator === undefined) { + this.options.keySeparator = '.'; + } + if (this.options.ignoreJSONStructure === undefined) { + this.options.ignoreJSONStructure = true; + } + } + addNamespaces(ns) { + if (this.options.ns.indexOf(ns) < 0) { + this.options.ns.push(ns); + } + } + removeNamespaces(ns) { + const index = this.options.ns.indexOf(ns); + if (index > -1) { + this.options.ns.splice(index, 1); + } + } + getResource(lng, ns, key, options = {}) { + const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure; + let path; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + } else { + path = [lng, ns]; + if (key) { + if (Array.isArray(key)) { + path.push(...key); + } else if (isString(key) && keySeparator) { + path.push(...key.split(keySeparator)); + } else { + path.push(key); + } + } + } + const result = getPath(this.data, path); + if (!result && !ns && !key && lng.indexOf('.') > -1) { + lng = path[0]; + ns = path[1]; + key = path.slice(2).join('.'); + } + if (result || !ignoreJSONStructure || !isString(key)) return result; + return deepFind(this.data?.[lng]?.[ns], key, keySeparator); + } + addResource(lng, ns, key, value, options = { + silent: false + }) { + const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; + let path = [lng, ns]; + if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key); + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + value = ns; + ns = path[1]; + } + this.addNamespaces(ns); + setPath(this.data, path, value); + if (!options.silent) this.emit('added', lng, ns, key, value); + } + addResources(lng, ns, resources, options = { + silent: false + }) { + for (const m in resources) { + if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], { + silent: true + }); + } + if (!options.silent) this.emit('added', lng, ns, resources); + } + addResourceBundle(lng, ns, resources, deep, overwrite, options = { + silent: false, + skipCopy: false + }) { + let path = [lng, ns]; + if (lng.indexOf('.') > -1) { + path = lng.split('.'); + deep = resources; + resources = ns; + ns = path[1]; + } + this.addNamespaces(ns); + let pack = getPath(this.data, path) || {}; + if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources)); + if (deep) { + deepExtend(pack, resources, overwrite); + } else { + pack = { + ...pack, + ...resources + }; + } + setPath(this.data, path, pack); + if (!options.silent) this.emit('added', lng, ns, resources); + } + removeResourceBundle(lng, ns) { + if (this.hasResourceBundle(lng, ns)) { + delete this.data[lng][ns]; + } + this.removeNamespaces(ns); + this.emit('removed', lng, ns); + } + hasResourceBundle(lng, ns) { + return this.getResource(lng, ns) !== undefined; + } + getResourceBundle(lng, ns) { + if (!ns) ns = this.options.defaultNS; + return this.getResource(lng, ns); + } + getDataByLanguage(lng) { + return this.data[lng]; + } + hasLanguageSomeTranslations(lng) { + const data = this.getDataByLanguage(lng); + const n = data && Object.keys(data) || []; + return !!n.find(v => data[v] && Object.keys(data[v]).length > 0); + } + toJSON() { + return this.data; + } + } + + var postProcessor = { + processors: {}, + addPostProcessor(module) { + this.processors[module.name] = module; + }, + handle(processors, value, key, options, translator) { + processors.forEach(processor => { + value = this.processors[processor]?.process(value, key, options, translator) ?? value; + }); + return value; + } + }; + + const checkedLoadedFor = {}; + const shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number'; + class Translator extends EventEmitter { + constructor(services, options = {}) { + super(); + copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this); + this.options = options; + if (this.options.keySeparator === undefined) { + this.options.keySeparator = '.'; + } + this.logger = baseLogger.create('translator'); + } + changeLanguage(lng) { + if (lng) this.language = lng; + } + exists(key, o = { + interpolation: {} + }) { + const opt = { + ...o + }; + if (key == null) return false; + const resolved = this.resolve(key, opt); + return resolved?.res !== undefined; + } + extractFromKey(key, opt) { + let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator; + let namespaces = opt.ns || this.options.defaultNS || []; + const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1; + const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator); + if (wouldCheckForNsInKey && !seemsNaturalLanguage) { + const m = key.match(this.interpolator.nestingRegexp); + if (m && m.length > 0) { + return { + key, + namespaces: isString(namespaces) ? [namespaces] : namespaces + }; + } + const parts = key.split(nsSeparator); + if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift(); + key = parts.join(keySeparator); + } + return { + key, + namespaces: isString(namespaces) ? [namespaces] : namespaces + }; + } + translate(keys, o, lastKey) { + let opt = typeof o === 'object' ? { + ...o + } : o; + if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) { + opt = this.options.overloadTranslationOptionHandler(arguments); + } + if (typeof options === 'object') opt = { + ...opt + }; + if (!opt) opt = {}; + if (keys == null) return ''; + if (!Array.isArray(keys)) keys = [String(keys)]; + const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails; + const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator; + const { + key, + namespaces + } = this.extractFromKey(keys[keys.length - 1], opt); + const namespace = namespaces[namespaces.length - 1]; + let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator; + if (nsSeparator === undefined) nsSeparator = ':'; + const lng = opt.lng || this.language; + const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode; + if (lng?.toLowerCase() === 'cimode') { + if (appendNamespaceToCIMode) { + if (returnDetails) { + return { + res: `${namespace}${nsSeparator}${key}`, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace, + usedParams: this.getUsedParamsDetails(opt) + }; + } + return `${namespace}${nsSeparator}${key}`; + } + if (returnDetails) { + return { + res: key, + usedKey: key, + exactUsedKey: key, + usedLng: lng, + usedNS: namespace, + usedParams: this.getUsedParamsDetails(opt) + }; + } + return key; + } + const resolved = this.resolve(keys, opt); + let res = resolved?.res; + const resUsedKey = resolved?.usedKey || key; + const resExactUsedKey = resolved?.exactUsedKey || key; + const noObject = ['[object Number]', '[object Function]', '[object RegExp]']; + const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays; + const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject; + const needsPluralHandling = opt.count !== undefined && !isString(opt.count); + const hasDefaultValue = Translator.hasDefaultValue(opt); + const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : ''; + const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, { + ordinal: false + }) : ''; + const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0; + const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue; + let resForObjHndl = res; + if (handleAsObjectInI18nFormat && !res && hasDefaultValue) { + resForObjHndl = defaultValue; + } + const handleAsObject = shouldHandleAsObject(resForObjHndl); + const resType = Object.prototype.toString.apply(resForObjHndl); + if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) { + if (!opt.returnObjects && !this.options.returnObjects) { + if (!this.options.returnedObjectHandler) { + this.logger.warn('accessing an object - but returnObjects options is not enabled!'); + } + const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, { + ...opt, + ns: namespaces + }) : `key '${key} (${this.language})' returned an object instead of string.`; + if (returnDetails) { + resolved.res = r; + resolved.usedParams = this.getUsedParamsDetails(opt); + return resolved; + } + return r; + } + if (keySeparator) { + const resTypeIsArray = Array.isArray(resForObjHndl); + const copy = resTypeIsArray ? [] : {}; + const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey; + for (const m in resForObjHndl) { + if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) { + const deepKey = `${newKeyToUse}${keySeparator}${m}`; + if (hasDefaultValue && !res) { + copy[m] = this.translate(deepKey, { + ...opt, + defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined, + ...{ + joinArrays: false, + ns: namespaces + } + }); + } else { + copy[m] = this.translate(deepKey, { + ...opt, + ...{ + joinArrays: false, + ns: namespaces + } + }); + } + if (copy[m] === deepKey) copy[m] = resForObjHndl[m]; + } + } + res = copy; + } + } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) { + res = res.join(joinArrays); + if (res) res = this.extendTranslation(res, keys, opt, lastKey); + } else { + let usedDefault = false; + let usedKey = false; + if (!this.isValidLookup(res) && hasDefaultValue) { + usedDefault = true; + res = defaultValue; + } + if (!this.isValidLookup(res)) { + usedKey = true; + res = key; + } + const missingKeyNoValueFallbackToKey = opt.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey; + const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res; + const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing; + if (usedKey || usedDefault || updateMissing) { + this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res); + if (keySeparator) { + const fk = this.resolve(key, { + ...opt, + keySeparator: false + }); + if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.'); + } + let lngs = []; + const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, opt.lng || this.language); + if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) { + for (let i = 0; i < fallbackLngs.length; i++) { + lngs.push(fallbackLngs[i]); + } + } else if (this.options.saveMissingTo === 'all') { + lngs = this.languageUtils.toResolveHierarchy(opt.lng || this.language); + } else { + lngs.push(opt.lng || this.language); + } + const send = (l, k, specificDefaultValue) => { + const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing; + if (this.options.missingKeyHandler) { + this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, opt); + } else if (this.backendConnector?.saveMissing) { + this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt); + } + this.emit('missingKey', l, namespace, k, res); + }; + if (this.options.saveMissing) { + if (this.options.saveMissingPlurals && needsPluralHandling) { + lngs.forEach(language => { + const suffixes = this.pluralResolver.getSuffixes(language, opt); + if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) { + suffixes.push(`${this.options.pluralSeparator}zero`); + } + suffixes.forEach(suffix => { + send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue); + }); + }); + } else { + send(lngs, key, defaultValue); + } + } + } + res = this.extendTranslation(res, keys, opt, resolved, lastKey); + if (usedKey && res === key && this.options.appendNamespaceToMissingKey) { + res = `${namespace}${nsSeparator}${key}`; + } + if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) { + res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt); + } + } + if (returnDetails) { + resolved.res = res; + resolved.usedParams = this.getUsedParamsDetails(opt); + return resolved; + } + return res; + } + extendTranslation(res, key, opt, resolved, lastKey) { + if (this.i18nFormat?.parse) { + res = this.i18nFormat.parse(res, { + ...this.options.interpolation.defaultVariables, + ...opt + }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, { + resolved + }); + } else if (!opt.skipInterpolation) { + if (opt.interpolation) this.interpolator.init({ + ...opt, + ...{ + interpolation: { + ...this.options.interpolation, + ...opt.interpolation + } + } + }); + const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables); + let nestBef; + if (skipOnVariables) { + const nb = res.match(this.interpolator.nestingRegexp); + nestBef = nb && nb.length; + } + let data = opt.replace && !isString(opt.replace) ? opt.replace : opt; + if (this.options.interpolation.defaultVariables) data = { + ...this.options.interpolation.defaultVariables, + ...data + }; + res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt); + if (skipOnVariables) { + const na = res.match(this.interpolator.nestingRegexp); + const nestAft = na && na.length; + if (nestBef < nestAft) opt.nest = false; + } + if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng; + if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => { + if (lastKey?.[0] === args[0] && !opt.context) { + this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`); + return null; + } + return this.translate(...args, key); + }, opt); + if (opt.interpolation) this.interpolator.reset(); + } + const postProcess = opt.postProcess || this.options.postProcess; + const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess; + if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) { + res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? { + i18nResolved: { + ...resolved, + usedParams: this.getUsedParamsDetails(opt) + }, + ...opt + } : opt, this); + } + return res; + } + resolve(keys, opt = {}) { + let found; + let usedKey; + let exactUsedKey; + let usedLng; + let usedNS; + if (isString(keys)) keys = [keys]; + keys.forEach(k => { + if (this.isValidLookup(found)) return; + const extracted = this.extractFromKey(k, opt); + const key = extracted.key; + usedKey = key; + let namespaces = extracted.namespaces; + if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS); + const needsPluralHandling = opt.count !== undefined && !isString(opt.count); + const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0; + const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== ''; + const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng); + namespaces.forEach(ns => { + if (this.isValidLookup(found)) return; + usedNS = ns; + if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) { + checkedLoadedFor[`${codes[0]}-${ns}`] = true; + this.logger.warn(`key "${usedKey}" for languages "${codes.join(', ')}" won't get resolved as namespace "${usedNS}" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + } + codes.forEach(code => { + if (this.isValidLookup(found)) return; + usedLng = code; + const finalKeys = [key]; + if (this.i18nFormat?.addLookupKeys) { + this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt); + } else { + let pluralSuffix; + if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt); + const zeroSuffix = `${this.options.pluralSeparator}zero`; + const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`; + if (needsPluralHandling) { + finalKeys.push(key + pluralSuffix); + if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) { + finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator)); + } + if (needsZeroSuffixLookup) { + finalKeys.push(key + zeroSuffix); + } + } + if (needsContextHandling) { + const contextKey = `${key}${this.options.contextSeparator}${opt.context}`; + finalKeys.push(contextKey); + if (needsPluralHandling) { + finalKeys.push(contextKey + pluralSuffix); + if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) { + finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator)); + } + if (needsZeroSuffixLookup) { + finalKeys.push(contextKey + zeroSuffix); + } + } + } + } + let possibleKey; + while (possibleKey = finalKeys.pop()) { + if (!this.isValidLookup(found)) { + exactUsedKey = possibleKey; + found = this.getResource(code, ns, possibleKey, opt); + } + } + }); + }); + }); + return { + res: found, + usedKey, + exactUsedKey, + usedLng, + usedNS + }; + } + isValidLookup(res) { + return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === ''); + } + getResource(code, ns, key, options = {}) { + if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options); + return this.resourceStore.getResource(code, ns, key, options); + } + getUsedParamsDetails(options = {}) { + const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation']; + const useOptionsReplaceForData = options.replace && !isString(options.replace); + let data = useOptionsReplaceForData ? options.replace : options; + if (useOptionsReplaceForData && typeof options.count !== 'undefined') { + data.count = options.count; + } + if (this.options.interpolation.defaultVariables) { + data = { + ...this.options.interpolation.defaultVariables, + ...data + }; + } + if (!useOptionsReplaceForData) { + data = { + ...data + }; + for (const key of optionsKeys) { + delete data[key]; + } + } + return data; + } + static hasDefaultValue(options) { + const prefix = 'defaultValue'; + for (const option in options) { + if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) { + return true; + } + } + return false; + } + } + + class LanguageUtil { + constructor(options) { + this.options = options; + this.supportedLngs = this.options.supportedLngs || false; + this.logger = baseLogger.create('languageUtils'); + } + getScriptPartFromCode(code) { + code = getCleanedCode(code); + if (!code || code.indexOf('-') < 0) return null; + const p = code.split('-'); + if (p.length === 2) return null; + p.pop(); + if (p[p.length - 1].toLowerCase() === 'x') return null; + return this.formatLanguageCode(p.join('-')); + } + getLanguagePartFromCode(code) { + code = getCleanedCode(code); + if (!code || code.indexOf('-') < 0) return code; + const p = code.split('-'); + return this.formatLanguageCode(p[0]); + } + formatLanguageCode(code) { + if (isString(code) && code.indexOf('-') > -1) { + let formattedCode; + try { + formattedCode = Intl.getCanonicalLocales(code)[0]; + } catch (e) {} + if (formattedCode && this.options.lowerCaseLng) { + formattedCode = formattedCode.toLowerCase(); + } + if (formattedCode) return formattedCode; + if (this.options.lowerCaseLng) { + return code.toLowerCase(); + } + return code; + } + return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code; + } + isSupportedCode(code) { + if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) { + code = this.getLanguagePartFromCode(code); + } + return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1; + } + getBestMatchFromCodes(codes) { + if (!codes) return null; + let found; + codes.forEach(code => { + if (found) return; + const cleanedLng = this.formatLanguageCode(code); + if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng; + }); + if (!found && this.options.supportedLngs) { + codes.forEach(code => { + if (found) return; + const lngScOnly = this.getScriptPartFromCode(code); + if (this.isSupportedCode(lngScOnly)) return found = lngScOnly; + const lngOnly = this.getLanguagePartFromCode(code); + if (this.isSupportedCode(lngOnly)) return found = lngOnly; + found = this.options.supportedLngs.find(supportedLng => { + if (supportedLng === lngOnly) return supportedLng; + if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return; + if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng; + if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng; + }); + }); + } + if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0]; + return found; + } + getFallbackCodes(fallbacks, code) { + if (!fallbacks) return []; + if (typeof fallbacks === 'function') fallbacks = fallbacks(code); + if (isString(fallbacks)) fallbacks = [fallbacks]; + if (Array.isArray(fallbacks)) return fallbacks; + if (!code) return fallbacks.default || []; + let found = fallbacks[code]; + if (!found) found = fallbacks[this.getScriptPartFromCode(code)]; + if (!found) found = fallbacks[this.formatLanguageCode(code)]; + if (!found) found = fallbacks[this.getLanguagePartFromCode(code)]; + if (!found) found = fallbacks.default; + return found || []; + } + toResolveHierarchy(code, fallbackCode) { + const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code); + const codes = []; + const addCode = c => { + if (!c) return; + if (this.isSupportedCode(c)) { + codes.push(c); + } else { + this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`); + } + }; + if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) { + if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code)); + if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code)); + if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code)); + } else if (isString(code)) { + addCode(this.formatLanguageCode(code)); + } + fallbackCodes.forEach(fc => { + if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc)); + }); + return codes; + } + } + + const suffixesOrder = { + zero: 0, + one: 1, + two: 2, + few: 3, + many: 4, + other: 5 + }; + const dummyRule = { + select: count => count === 1 ? 'one' : 'other', + resolvedOptions: () => ({ + pluralCategories: ['one', 'other'] + }) + }; + class PluralResolver { + constructor(languageUtils, options = {}) { + this.languageUtils = languageUtils; + this.options = options; + this.logger = baseLogger.create('pluralResolver'); + this.pluralRulesCache = {}; + } + addRule(lng, obj) { + this.rules[lng] = obj; + } + clearCache() { + this.pluralRulesCache = {}; + } + getRule(code, options = {}) { + const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code); + const type = options.ordinal ? 'ordinal' : 'cardinal'; + const cacheKey = JSON.stringify({ + cleanedCode, + type + }); + if (cacheKey in this.pluralRulesCache) { + return this.pluralRulesCache[cacheKey]; + } + let rule; + try { + rule = new Intl.PluralRules(cleanedCode, { + type + }); + } catch (err) { + if (!Intl) { + this.logger.error('No Intl support, please use an Intl polyfill!'); + return dummyRule; + } + if (!code.match(/-|_/)) return dummyRule; + const lngPart = this.languageUtils.getLanguagePartFromCode(code); + rule = this.getRule(lngPart, options); + } + this.pluralRulesCache[cacheKey] = rule; + return rule; + } + needsPlural(code, options = {}) { + let rule = this.getRule(code, options); + if (!rule) rule = this.getRule('dev', options); + return rule?.resolvedOptions().pluralCategories.length > 1; + } + getPluralFormsOfKey(code, key, options = {}) { + return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`); + } + getSuffixes(code, options = {}) { + let rule = this.getRule(code, options); + if (!rule) rule = this.getRule('dev', options); + if (!rule) return []; + return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`); + } + getSuffix(code, count, options = {}) { + const rule = this.getRule(code, options); + if (rule) { + return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`; + } + this.logger.warn(`no plural rule found for: ${code}`); + return this.getSuffix('dev', count, options); + } + } + + const deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => { + let path = getPathWithDefaults(data, defaultData, key); + if (!path && ignoreJSONStructure && isString(key)) { + path = deepFind(data, key, keySeparator); + if (path === undefined) path = deepFind(defaultData, key, keySeparator); + } + return path; + }; + const regexSafe = val => val.replace(/\$/g, '$$$$'); + class Interpolator { + constructor(options = {}) { + this.logger = baseLogger.create('interpolator'); + this.options = options; + this.format = options?.interpolation?.format || (value => value); + this.init(options); + } + init(options = {}) { + if (!options.interpolation) options.interpolation = { + escapeValue: true + }; + const { + escape: escape$1, + escapeValue, + useRawValueToEscape, + prefix, + prefixEscaped, + suffix, + suffixEscaped, + formatSeparator, + unescapeSuffix, + unescapePrefix, + nestingPrefix, + nestingPrefixEscaped, + nestingSuffix, + nestingSuffixEscaped, + nestingOptionsSeparator, + maxReplaces, + alwaysFormat + } = options.interpolation; + this.escape = escape$1 !== undefined ? escape$1 : escape; + this.escapeValue = escapeValue !== undefined ? escapeValue : true; + this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false; + this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{'; + this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}'; + this.formatSeparator = formatSeparator || ','; + this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-'; + this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || ''; + this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t('); + this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')'); + this.nestingOptionsSeparator = nestingOptionsSeparator || ','; + this.maxReplaces = maxReplaces || 1000; + this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false; + this.resetRegExp(); + } + reset() { + if (this.options) this.init(this.options); + } + resetRegExp() { + const getOrResetRegExp = (existingRegExp, pattern) => { + if (existingRegExp?.source === pattern) { + existingRegExp.lastIndex = 0; + return existingRegExp; + } + return new RegExp(pattern, 'g'); + }; + this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`); + this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`); + this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`); + } + interpolate(str, data, lng, options) { + let match; + let value; + let replaces; + const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}; + const handleFormat = key => { + if (key.indexOf(this.formatSeparator) < 0) { + const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure); + return this.alwaysFormat ? this.format(path, undefined, lng, { + ...options, + ...data, + interpolationkey: key + }) : path; + } + const p = key.split(this.formatSeparator); + const k = p.shift().trim(); + const f = p.join(this.formatSeparator).trim(); + return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, { + ...options, + ...data, + interpolationkey: k + }); + }; + this.resetRegExp(); + const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler; + const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables; + const todos = [{ + regex: this.regexpUnescape, + safeValue: val => regexSafe(val) + }, { + regex: this.regexp, + safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val) + }]; + todos.forEach(todo => { + replaces = 0; + while (match = todo.regex.exec(str)) { + const matchedVar = match[1].trim(); + value = handleFormat(matchedVar); + if (value === undefined) { + if (typeof missingInterpolationHandler === 'function') { + const temp = missingInterpolationHandler(str, match, options); + value = isString(temp) ? temp : ''; + } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) { + value = ''; + } else if (skipOnVariables) { + value = match[0]; + continue; + } else { + this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`); + value = ''; + } + } else if (!isString(value) && !this.useRawValueToEscape) { + value = makeString(value); + } + const safeValue = todo.safeValue(value); + str = str.replace(match[0], safeValue); + if (skipOnVariables) { + todo.regex.lastIndex += value.length; + todo.regex.lastIndex -= match[0].length; + } else { + todo.regex.lastIndex = 0; + } + replaces++; + if (replaces >= this.maxReplaces) { + break; + } + } + }); + return str; + } + nest(str, fc, options = {}) { + let match; + let value; + let clonedOptions; + const handleHasOptions = (key, inheritedOptions) => { + const sep = this.nestingOptionsSeparator; + if (key.indexOf(sep) < 0) return key; + const c = key.split(new RegExp(`${sep}[ ]*{`)); + let optionsString = `{${c[1]}`; + key = c[0]; + optionsString = this.interpolate(optionsString, clonedOptions); + const matchedSingleQuotes = optionsString.match(/'/g); + const matchedDoubleQuotes = optionsString.match(/"/g); + if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) { + optionsString = optionsString.replace(/'/g, '"'); + } + try { + clonedOptions = JSON.parse(optionsString); + if (inheritedOptions) clonedOptions = { + ...inheritedOptions, + ...clonedOptions + }; + } catch (e) { + this.logger.warn(`failed parsing options string in nesting for key ${key}`, e); + return `${key}${sep}${optionsString}`; + } + if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue; + return key; + }; + while (match = this.nestingRegexp.exec(str)) { + let formatters = []; + clonedOptions = { + ...options + }; + clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions; + clonedOptions.applyPostProcessor = false; + delete clonedOptions.defaultValue; + let doReduce = false; + if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) { + const r = match[1].split(this.formatSeparator).map(elem => elem.trim()); + match[1] = r.shift(); + formatters = r; + doReduce = true; + } + value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions); + if (value && match[0] === str && !isString(value)) return value; + if (!isString(value)) value = makeString(value); + if (!value) { + this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`); + value = ''; + } + if (doReduce) { + value = formatters.reduce((v, f) => this.format(v, f, options.lng, { + ...options, + interpolationkey: match[1].trim() + }), value.trim()); + } + str = str.replace(match[0], value); + this.regexp.lastIndex = 0; + } + return str; + } + } + + const parseFormatStr = formatStr => { + let formatName = formatStr.toLowerCase().trim(); + const formatOptions = {}; + if (formatStr.indexOf('(') > -1) { + const p = formatStr.split('('); + formatName = p[0].toLowerCase().trim(); + const optStr = p[1].substring(0, p[1].length - 1); + if (formatName === 'currency' && optStr.indexOf(':') < 0) { + if (!formatOptions.currency) formatOptions.currency = optStr.trim(); + } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) { + if (!formatOptions.range) formatOptions.range = optStr.trim(); + } else { + const opts = optStr.split(';'); + opts.forEach(opt => { + if (opt) { + const [key, ...rest] = opt.split(':'); + const val = rest.join(':').trim().replace(/^'+|'+$/g, ''); + const trimmedKey = key.trim(); + if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val; + if (val === 'false') formatOptions[trimmedKey] = false; + if (val === 'true') formatOptions[trimmedKey] = true; + if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10); + } + }); + } + } + return { + formatName, + formatOptions + }; + }; + const createCachedFormatter = fn => { + const cache = {}; + return (v, l, o) => { + let optForCache = o; + if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) { + optForCache = { + ...optForCache, + [o.interpolationkey]: undefined + }; + } + const key = l + JSON.stringify(optForCache); + let frm = cache[key]; + if (!frm) { + frm = fn(getCleanedCode(l), o); + cache[key] = frm; + } + return frm(v); + }; + }; + const createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v); + class Formatter { + constructor(options = {}) { + this.logger = baseLogger.create('formatter'); + this.options = options; + this.init(options); + } + init(services, options = { + interpolation: {} + }) { + this.formatSeparator = options.interpolation.formatSeparator || ','; + const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter; + this.formats = { + number: cf((lng, opt) => { + const formatter = new Intl.NumberFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }), + currency: cf((lng, opt) => { + const formatter = new Intl.NumberFormat(lng, { + ...opt, + style: 'currency' + }); + return val => formatter.format(val); + }), + datetime: cf((lng, opt) => { + const formatter = new Intl.DateTimeFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }), + relativetime: cf((lng, opt) => { + const formatter = new Intl.RelativeTimeFormat(lng, { + ...opt + }); + return val => formatter.format(val, opt.range || 'day'); + }), + list: cf((lng, opt) => { + const formatter = new Intl.ListFormat(lng, { + ...opt + }); + return val => formatter.format(val); + }) + }; + } + add(name, fc) { + this.formats[name.toLowerCase().trim()] = fc; + } + addCached(name, fc) { + this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc); + } + format(value, format, lng, options = {}) { + const formats = format.split(this.formatSeparator); + if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) { + const lastIndex = formats.findIndex(f => f.indexOf(')') > -1); + formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator); + } + const result = formats.reduce((mem, f) => { + const { + formatName, + formatOptions + } = parseFormatStr(f); + if (this.formats[formatName]) { + let formatted = mem; + try { + const valOptions = options?.formatParams?.[options.interpolationkey] || {}; + const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng; + formatted = this.formats[formatName](mem, l, { + ...formatOptions, + ...options, + ...valOptions + }); + } catch (error) { + this.logger.warn(error); + } + return formatted; + } else { + this.logger.warn(`there was no format function for ${formatName}`); + } + return mem; + }, value); + return result; + } + } + + const removePending = (q, name) => { + if (q.pending[name] !== undefined) { + delete q.pending[name]; + q.pendingCount--; + } + }; + class Connector extends EventEmitter { + constructor(backend, store, services, options = {}) { + super(); + this.backend = backend; + this.store = store; + this.services = services; + this.languageUtils = services.languageUtils; + this.options = options; + this.logger = baseLogger.create('backendConnector'); + this.waitingReads = []; + this.maxParallelReads = options.maxParallelReads || 10; + this.readingCalls = 0; + this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5; + this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350; + this.state = {}; + this.queue = []; + this.backend?.init?.(services, options.backend, options); + } + queueLoad(languages, namespaces, options, callback) { + const toLoad = {}; + const pending = {}; + const toLoadLanguages = {}; + const toLoadNamespaces = {}; + languages.forEach(lng => { + let hasAllNamespaces = true; + namespaces.forEach(ns => { + const name = `${lng}|${ns}`; + if (!options.reload && this.store.hasResourceBundle(lng, ns)) { + this.state[name] = 2; + } else if (this.state[name] < 0) ; else if (this.state[name] === 1) { + if (pending[name] === undefined) pending[name] = true; + } else { + this.state[name] = 1; + hasAllNamespaces = false; + if (pending[name] === undefined) pending[name] = true; + if (toLoad[name] === undefined) toLoad[name] = true; + if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true; + } + }); + if (!hasAllNamespaces) toLoadLanguages[lng] = true; + }); + if (Object.keys(toLoad).length || Object.keys(pending).length) { + this.queue.push({ + pending, + pendingCount: Object.keys(pending).length, + loaded: {}, + errors: [], + callback + }); + } + return { + toLoad: Object.keys(toLoad), + pending: Object.keys(pending), + toLoadLanguages: Object.keys(toLoadLanguages), + toLoadNamespaces: Object.keys(toLoadNamespaces) + }; + } + loaded(name, err, data) { + const s = name.split('|'); + const lng = s[0]; + const ns = s[1]; + if (err) this.emit('failedLoading', lng, ns, err); + if (!err && data) { + this.store.addResourceBundle(lng, ns, data, undefined, undefined, { + skipCopy: true + }); + } + this.state[name] = err ? -1 : 2; + if (err && data) this.state[name] = 0; + const loaded = {}; + this.queue.forEach(q => { + pushPath(q.loaded, [lng], ns); + removePending(q, name); + if (err) q.errors.push(err); + if (q.pendingCount === 0 && !q.done) { + Object.keys(q.loaded).forEach(l => { + if (!loaded[l]) loaded[l] = {}; + const loadedKeys = q.loaded[l]; + if (loadedKeys.length) { + loadedKeys.forEach(n => { + if (loaded[l][n] === undefined) loaded[l][n] = true; + }); + } + }); + q.done = true; + if (q.errors.length) { + q.callback(q.errors); + } else { + q.callback(); + } + } + }); + this.emit('loaded', loaded); + this.queue = this.queue.filter(q => !q.done); + } + read(lng, ns, fcName, tried = 0, wait = this.retryTimeout, callback) { + if (!lng.length) return callback(null, {}); + if (this.readingCalls >= this.maxParallelReads) { + this.waitingReads.push({ + lng, + ns, + fcName, + tried, + wait, + callback + }); + return; + } + this.readingCalls++; + const resolver = (err, data) => { + this.readingCalls--; + if (this.waitingReads.length > 0) { + const next = this.waitingReads.shift(); + this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback); + } + if (err && data && tried < this.maxRetries) { + setTimeout(() => { + this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback); + }, wait); + return; + } + callback(err, data); + }; + const fc = this.backend[fcName].bind(this.backend); + if (fc.length === 2) { + try { + const r = fc(lng, ns); + if (r && typeof r.then === 'function') { + r.then(data => resolver(null, data)).catch(resolver); + } else { + resolver(null, r); + } + } catch (err) { + resolver(err); + } + return; + } + return fc(lng, ns, resolver); + } + prepareLoading(languages, namespaces, options = {}, callback) { + if (!this.backend) { + this.logger.warn('No backend was added via i18next.use. Will not load resources.'); + return callback && callback(); + } + if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages); + if (isString(namespaces)) namespaces = [namespaces]; + const toLoad = this.queueLoad(languages, namespaces, options, callback); + if (!toLoad.toLoad.length) { + if (!toLoad.pending.length) callback(); + return null; + } + toLoad.toLoad.forEach(name => { + this.loadOne(name); + }); + } + load(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, {}, callback); + } + reload(languages, namespaces, callback) { + this.prepareLoading(languages, namespaces, { + reload: true + }, callback); + } + loadOne(name, prefix = '') { + const s = name.split('|'); + const lng = s[0]; + const ns = s[1]; + this.read(lng, ns, 'read', undefined, undefined, (err, data) => { + if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err); + if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data); + this.loaded(name, err, data); + }); + } + saveMissing(languages, namespace, key, fallbackValue, isUpdate, options = {}, clb = () => {}) { + if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) { + this.logger.warn(`did not save key "${key}" as the namespace "${namespace}" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); + return; + } + if (key === undefined || key === null || key === '') return; + if (this.backend?.create) { + const opts = { + ...options, + isUpdate + }; + const fc = this.backend.create.bind(this.backend); + if (fc.length < 6) { + try { + let r; + if (fc.length === 5) { + r = fc(languages, namespace, key, fallbackValue, opts); + } else { + r = fc(languages, namespace, key, fallbackValue); + } + if (r && typeof r.then === 'function') { + r.then(data => clb(null, data)).catch(clb); + } else { + clb(null, r); + } + } catch (err) { + clb(err); + } + } else { + fc(languages, namespace, key, fallbackValue, clb, opts); + } + } + if (!languages || !languages[0]) return; + this.store.addResource(languages[0], namespace, key, fallbackValue); + } + } + + const get = () => ({ + debug: false, + initAsync: true, + ns: ['translation'], + defaultNS: ['translation'], + fallbackLng: ['dev'], + fallbackNS: false, + supportedLngs: false, + nonExplicitSupportedLngs: false, + load: 'all', + preload: false, + simplifyPluralSuffix: true, + keySeparator: '.', + nsSeparator: ':', + pluralSeparator: '_', + contextSeparator: '_', + partialBundledLanguages: false, + saveMissing: false, + updateMissing: false, + saveMissingTo: 'fallback', + saveMissingPlurals: true, + missingKeyHandler: false, + missingInterpolationHandler: false, + postProcess: false, + postProcessPassResolved: false, + returnNull: false, + returnEmptyString: true, + returnObjects: false, + joinArrays: false, + returnedObjectHandler: false, + parseMissingKeyHandler: false, + appendNamespaceToMissingKey: false, + appendNamespaceToCIMode: false, + overloadTranslationOptionHandler: args => { + let ret = {}; + if (typeof args[1] === 'object') ret = args[1]; + if (isString(args[1])) ret.defaultValue = args[1]; + if (isString(args[2])) ret.tDescription = args[2]; + if (typeof args[2] === 'object' || typeof args[3] === 'object') { + const options = args[3] || args[2]; + Object.keys(options).forEach(key => { + ret[key] = options[key]; + }); + } + return ret; + }, + interpolation: { + escapeValue: true, + format: value => value, + prefix: '{{', + suffix: '}}', + formatSeparator: ',', + unescapePrefix: '-', + nestingPrefix: '$t(', + nestingSuffix: ')', + nestingOptionsSeparator: ',', + maxReplaces: 1000, + skipOnVariables: true + }, + cacheInBuiltFormats: true + }); + const transformOptions = options => { + if (isString(options.ns)) options.ns = [options.ns]; + if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng]; + if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS]; + if (options.supportedLngs?.indexOf?.('cimode') < 0) { + options.supportedLngs = options.supportedLngs.concat(['cimode']); + } + if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate; + return options; + }; + + const noop = () => {}; + const bindMemberFunctions = inst => { + const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst)); + mems.forEach(mem => { + if (typeof inst[mem] === 'function') { + inst[mem] = inst[mem].bind(inst); + } + }); + }; + class I18n extends EventEmitter { + constructor(options = {}, callback) { + super(); + this.options = transformOptions(options); + this.services = {}; + this.logger = baseLogger; + this.modules = { + external: [] + }; + bindMemberFunctions(this); + if (callback && !this.isInitialized && !options.isClone) { + if (!this.options.initAsync) { + this.init(options, callback); + return this; + } + setTimeout(() => { + this.init(options, callback); + }, 0); + } + } + init(options = {}, callback) { + this.isInitializing = true; + if (typeof options === 'function') { + callback = options; + options = {}; + } + if (options.defaultNS == null && options.ns) { + if (isString(options.ns)) { + options.defaultNS = options.ns; + } else if (options.ns.indexOf('translation') < 0) { + options.defaultNS = options.ns[0]; + } + } + const defOpts = get(); + this.options = { + ...defOpts, + ...this.options, + ...transformOptions(options) + }; + this.options.interpolation = { + ...defOpts.interpolation, + ...this.options.interpolation + }; + if (options.keySeparator !== undefined) { + this.options.userDefinedKeySeparator = options.keySeparator; + } + if (options.nsSeparator !== undefined) { + this.options.userDefinedNsSeparator = options.nsSeparator; + } + const createClassOnDemand = ClassOrObject => { + if (!ClassOrObject) return null; + if (typeof ClassOrObject === 'function') return new ClassOrObject(); + return ClassOrObject; + }; + if (!this.options.isClone) { + if (this.modules.logger) { + baseLogger.init(createClassOnDemand(this.modules.logger), this.options); + } else { + baseLogger.init(null, this.options); + } + let formatter; + if (this.modules.formatter) { + formatter = this.modules.formatter; + } else { + formatter = Formatter; + } + const lu = new LanguageUtil(this.options); + this.store = new ResourceStore(this.options.resources, this.options); + const s = this.services; + s.logger = baseLogger; + s.resourceStore = this.store; + s.languageUtils = lu; + s.pluralResolver = new PluralResolver(lu, { + prepend: this.options.pluralSeparator, + simplifyPluralSuffix: this.options.simplifyPluralSuffix + }); + if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) { + s.formatter = createClassOnDemand(formatter); + s.formatter.init(s, this.options); + this.options.interpolation.format = s.formatter.format.bind(s.formatter); + } + s.interpolator = new Interpolator(this.options); + s.utils = { + hasLoadedNamespace: this.hasLoadedNamespace.bind(this) + }; + s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); + s.backendConnector.on('*', (event, ...args) => { + this.emit(event, ...args); + }); + if (this.modules.languageDetector) { + s.languageDetector = createClassOnDemand(this.modules.languageDetector); + if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options); + } + if (this.modules.i18nFormat) { + s.i18nFormat = createClassOnDemand(this.modules.i18nFormat); + if (s.i18nFormat.init) s.i18nFormat.init(this); + } + this.translator = new Translator(this.services, this.options); + this.translator.on('*', (event, ...args) => { + this.emit(event, ...args); + }); + this.modules.external.forEach(m => { + if (m.init) m.init(this); + }); + } + this.format = this.options.interpolation.format; + if (!callback) callback = noop; + if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) { + const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0]; + } + if (!this.services.languageDetector && !this.options.lng) { + this.logger.warn('init: no languageDetector is used and no lng is defined'); + } + const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage']; + storeApi.forEach(fcName => { + this[fcName] = (...args) => this.store[fcName](...args); + }); + const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle']; + storeApiChained.forEach(fcName => { + this[fcName] = (...args) => { + this.store[fcName](...args); + return this; + }; + }); + const deferred = defer(); + const load = () => { + const finish = (err, t) => { + this.isInitializing = false; + if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!'); + this.isInitialized = true; + if (!this.options.isClone) this.logger.log('initialized', this.options); + this.emit('initialized', this.options); + deferred.resolve(t); + callback(err, t); + }; + if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this)); + this.changeLanguage(this.options.lng, finish); + }; + if (this.options.resources || !this.options.initAsync) { + load(); + } else { + setTimeout(load, 0); + } + return deferred; + } + loadResources(language, callback = noop) { + let usedCallback = callback; + const usedLng = isString(language) ? language : this.language; + if (typeof language === 'function') usedCallback = language; + if (!this.options.resources || this.options.partialBundledLanguages) { + if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback(); + const toLoad = []; + const append = lng => { + if (!lng) return; + if (lng === 'cimode') return; + const lngs = this.services.languageUtils.toResolveHierarchy(lng); + lngs.forEach(l => { + if (l === 'cimode') return; + if (toLoad.indexOf(l) < 0) toLoad.push(l); + }); + }; + if (!usedLng) { + const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); + fallbacks.forEach(l => append(l)); + } else { + append(usedLng); + } + this.options.preload?.forEach?.(l => append(l)); + this.services.backendConnector.load(toLoad, this.options.ns, e => { + if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language); + usedCallback(e); + }); + } else { + usedCallback(null); + } + } + reloadResources(lngs, ns, callback) { + const deferred = defer(); + if (typeof lngs === 'function') { + callback = lngs; + lngs = undefined; + } + if (typeof ns === 'function') { + callback = ns; + ns = undefined; + } + if (!lngs) lngs = this.languages; + if (!ns) ns = this.options.ns; + if (!callback) callback = noop; + this.services.backendConnector.reload(lngs, ns, err => { + deferred.resolve(); + callback(err); + }); + return deferred; + } + use(module) { + if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()'); + if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()'); + if (module.type === 'backend') { + this.modules.backend = module; + } + if (module.type === 'logger' || module.log && module.warn && module.error) { + this.modules.logger = module; + } + if (module.type === 'languageDetector') { + this.modules.languageDetector = module; + } + if (module.type === 'i18nFormat') { + this.modules.i18nFormat = module; + } + if (module.type === 'postProcessor') { + postProcessor.addPostProcessor(module); + } + if (module.type === 'formatter') { + this.modules.formatter = module; + } + if (module.type === '3rdParty') { + this.modules.external.push(module); + } + return this; + } + setResolvedLanguage(l) { + if (!l || !this.languages) return; + if (['cimode', 'dev'].indexOf(l) > -1) return; + for (let li = 0; li < this.languages.length; li++) { + const lngInLngs = this.languages[li]; + if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue; + if (this.store.hasLanguageSomeTranslations(lngInLngs)) { + this.resolvedLanguage = lngInLngs; + break; + } + } + if (!this.resolvedLanguage && this.languages.indexOf(l) < 0 && this.store.hasLanguageSomeTranslations(l)) { + this.resolvedLanguage = l; + this.languages.unshift(l); + } + } + changeLanguage(lng, callback) { + this.isLanguageChangingTo = lng; + const deferred = defer(); + this.emit('languageChanging', lng); + const setLngProps = l => { + this.language = l; + this.languages = this.services.languageUtils.toResolveHierarchy(l); + this.resolvedLanguage = undefined; + this.setResolvedLanguage(l); + }; + const done = (err, l) => { + if (l) { + if (this.isLanguageChangingTo === lng) { + setLngProps(l); + this.translator.changeLanguage(l); + this.isLanguageChangingTo = undefined; + this.emit('languageChanged', l); + this.logger.log('languageChanged', l); + } + } else { + this.isLanguageChangingTo = undefined; + } + deferred.resolve((...args) => this.t(...args)); + if (callback) callback(err, (...args) => this.t(...args)); + }; + const setLng = lngs => { + if (!lng && !lngs && this.services.languageDetector) lngs = []; + const fl = isString(lngs) ? lngs : lngs && lngs[0]; + const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs); + if (l) { + if (!this.language) { + setLngProps(l); + } + if (!this.translator.language) this.translator.changeLanguage(l); + this.services.languageDetector?.cacheUserLanguage?.(l); + } + this.loadResources(l, err => { + done(err, l); + }); + }; + if (!lng && this.services.languageDetector && !this.services.languageDetector.async) { + setLng(this.services.languageDetector.detect()); + } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) { + if (this.services.languageDetector.detect.length === 0) { + this.services.languageDetector.detect().then(setLng); + } else { + this.services.languageDetector.detect(setLng); + } + } else { + setLng(lng); + } + return deferred; + } + getFixedT(lng, ns, keyPrefix) { + const fixedT = (key, opts, ...rest) => { + let o; + if (typeof opts !== 'object') { + o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest)); + } else { + o = { + ...opts + }; + } + o.lng = o.lng || fixedT.lng; + o.lngs = o.lngs || fixedT.lngs; + o.ns = o.ns || fixedT.ns; + if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix; + const keySeparator = this.options.keySeparator || '.'; + let resultKey; + if (o.keyPrefix && Array.isArray(key)) { + resultKey = key.map(k => `${o.keyPrefix}${keySeparator}${k}`); + } else { + resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key; + } + return this.t(resultKey, o); + }; + if (isString(lng)) { + fixedT.lng = lng; + } else { + fixedT.lngs = lng; + } + fixedT.ns = ns; + fixedT.keyPrefix = keyPrefix; + return fixedT; + } + t(...args) { + return this.translator?.translate(...args); + } + exists(...args) { + return this.translator?.exists(...args); + } + setDefaultNamespace(ns) { + this.options.defaultNS = ns; + } + hasLoadedNamespace(ns, options = {}) { + if (!this.isInitialized) { + this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages); + return false; + } + if (!this.languages || !this.languages.length) { + this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages); + return false; + } + const lng = options.lng || this.resolvedLanguage || this.languages[0]; + const fallbackLng = this.options ? this.options.fallbackLng : false; + const lastLng = this.languages[this.languages.length - 1]; + if (lng.toLowerCase() === 'cimode') return true; + const loadNotPending = (l, n) => { + const loadState = this.services.backendConnector.state[`${l}|${n}`]; + return loadState === -1 || loadState === 0 || loadState === 2; + }; + if (options.precheck) { + const preResult = options.precheck(this, loadNotPending); + if (preResult !== undefined) return preResult; + } + if (this.hasResourceBundle(lng, ns)) return true; + if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true; + if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; + return false; + } + loadNamespaces(ns, callback) { + const deferred = defer(); + if (!this.options.ns) { + if (callback) callback(); + return Promise.resolve(); + } + if (isString(ns)) ns = [ns]; + ns.forEach(n => { + if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n); + }); + this.loadResources(err => { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + loadLanguages(lngs, callback) { + const deferred = defer(); + if (isString(lngs)) lngs = [lngs]; + const preloaded = this.options.preload || []; + const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng)); + if (!newLngs.length) { + if (callback) callback(); + return Promise.resolve(); + } + this.options.preload = preloaded.concat(newLngs); + this.loadResources(err => { + deferred.resolve(); + if (callback) callback(err); + }); + return deferred; + } + dir(lng) { + if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language); + if (!lng) return 'rtl'; + const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb']; + const languageUtils = this.services?.languageUtils || new LanguageUtil(get()); + return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr'; + } + static createInstance(options = {}, callback) { + return new I18n(options, callback); + } + cloneInstance(options = {}, callback = noop) { + const forkResourceStore = options.forkResourceStore; + if (forkResourceStore) delete options.forkResourceStore; + const mergedOptions = { + ...this.options, + ...options, + ...{ + isClone: true + } + }; + const clone = new I18n(mergedOptions); + if (options.debug !== undefined || options.prefix !== undefined) { + clone.logger = clone.logger.clone(options); + } + const membersToCopy = ['store', 'services', 'language']; + membersToCopy.forEach(m => { + clone[m] = this[m]; + }); + clone.services = { + ...this.services + }; + clone.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + if (forkResourceStore) { + const clonedData = Object.keys(this.store.data).reduce((prev, l) => { + prev[l] = { + ...this.store.data[l] + }; + prev[l] = Object.keys(prev[l]).reduce((acc, n) => { + acc[n] = { + ...prev[l][n] + }; + return acc; + }, prev[l]); + return prev; + }, {}); + clone.store = new ResourceStore(clonedData, mergedOptions); + clone.services.resourceStore = clone.store; + } + clone.translator = new Translator(clone.services, mergedOptions); + clone.translator.on('*', (event, ...args) => { + clone.emit(event, ...args); + }); + clone.init(mergedOptions, callback); + clone.translator.options = mergedOptions; + clone.translator.backendConnector.services.utils = { + hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone) + }; + return clone; + } + toJSON() { + return { + options: this.options, + store: this.store, + language: this.language, + languages: this.languages, + resolvedLanguage: this.resolvedLanguage + }; + } + } + const instance = I18n.createInstance(); + instance.createInstance = I18n.createInstance; + + return instance; + +})); diff --git a/node_modules/i18next/i18next.min.js b/node_modules/i18next/i18next.min.js new file mode 100644 index 00000000..2ce1b783 --- /dev/null +++ b/node_modules/i18next/i18next.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).i18next=t()}(this,(function(){"use strict";const e=e=>"string"==typeof e,t=()=>{let e,t;const s=new Promise(((s,i)=>{e=s,t=i}));return s.resolve=e,s.reject=t,s},s=e=>null==e?"":""+e,i=/###/g,o=e=>e&&e.indexOf("###")>-1?e.replace(i,"."):e,n=t=>!t||e(t),a=(t,s,i)=>{const a=e(s)?s.split("."):s;let r=0;for(;r{const{obj:i,k:o}=a(e,t,Object);if(void 0!==i||1===t.length)return void(i[o]=s);let n=t[t.length-1],r=t.slice(0,t.length-1),l=a(e,r,Object);for(;void 0===l.obj&&r.length;)n=`${r[r.length-1]}.${n}`,r=r.slice(0,r.length-1),l=a(e,r,Object),l?.obj&&void 0!==l.obj[`${l.k}.${n}`]&&(l.obj=void 0);l.obj[`${l.k}.${n}`]=s},l=(e,t)=>{const{obj:s,k:i}=a(e,t);if(s&&Object.prototype.hasOwnProperty.call(s,i))return s[i]},h=(t,s,i)=>{for(const o in s)"__proto__"!==o&&"constructor"!==o&&(o in t?e(t[o])||t[o]instanceof String||e(s[o])||s[o]instanceof String?i&&(t[o]=s[o]):h(t[o],s[o],i):t[o]=s[o]);return t},p=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var u={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const c=t=>e(t)?t.replace(/[&<>"'\/]/g,(e=>u[e])):t;const g=[" ",",","?","!",";"],d=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}(20),f=(e,t,s=".")=>{if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}const i=t.split(s);let o=e;for(let e=0;e-1&&ae?.replace("_","-"),y={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class x{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||y,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(t,s,i,o){return o&&!this.debug?null:(e(t[0])&&(t[0]=`${i}${this.prefix} ${t[0]}`),this.logger[s](t))}create(e){return new x(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new x(this.logger,e)}}var v=new x;class b{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]||(this.observers[e]=new Map);const s=this.observers[e].get(t)||0;this.observers[e].set(t,s+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e,...t){if(this.observers[e]){Array.from(this.observers[e].entries()).forEach((([e,s])=>{for(let i=0;i{for(let o=0;o-1&&this.options.ns.splice(t,1)}getResource(t,s,i,o={}){const n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=void 0!==o.ignoreJSONStructure?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let r;t.indexOf(".")>-1?r=t.split("."):(r=[t,s],i&&(Array.isArray(i)?r.push(...i):e(i)&&n?r.push(...i.split(n)):r.push(i)));const h=l(this.data,r);return!h&&!s&&!i&&t.indexOf(".")>-1&&(t=r[0],s=r[1],i=r.slice(2).join(".")),!h&&a&&e(i)?f(this.data?.[t]?.[s],i,n):h}addResource(e,t,s,i,o={silent:!1}){const n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator;let a=[e,t];s&&(a=a.concat(n?s.split(n):s)),e.indexOf(".")>-1&&(a=e.split("."),i=t,t=a[1]),this.addNamespaces(t),r(this.data,a,i),o.silent||this.emit("added",e,t,s,i)}addResources(t,s,i,o={silent:!1}){for(const o in i)(e(i[o])||Array.isArray(i[o]))&&this.addResource(t,s,o,i[o],{silent:!0});o.silent||this.emit("added",t,s,i)}addResourceBundle(e,t,s,i,o,n={silent:!1,skipCopy:!1}){let a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),i=s,s=t,t=a[1]),this.addNamespaces(t);let p=l(this.data,a)||{};n.skipCopy||(s=JSON.parse(JSON.stringify(s))),i?h(p,s,o):p={...p,...s},r(this.data,a,p),n.silent||this.emit("added",e,t,s)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var S={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,s,i,o){return e.forEach((e=>{t=this.processors[e]?.process(t,s,i,o)??t})),t}};const O={},L=t=>!e(t)&&"boolean"!=typeof t&&"number"!=typeof t;class w extends b{constructor(e,t={}){var s,i;super(),s=e,i=this,["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach((e=>{s[e]&&(i[e]=s[e])})),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=v.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const s={...t};if(null==e)return!1;const i=this.resolve(e,s);return void 0!==i?.res}extractFromKey(t,s){let i=void 0!==s.nsSeparator?s.nsSeparator:this.options.nsSeparator;void 0===i&&(i=":");const o=void 0!==s.keySeparator?s.keySeparator:this.options.keySeparator;let n=s.ns||this.options.defaultNS||[];const a=i&&t.indexOf(i)>-1,r=!(this.options.userDefinedKeySeparator||s.keySeparator||this.options.userDefinedNsSeparator||s.nsSeparator||((e,t,s)=>{t=t||"",s=s||"";const i=g.filter((e=>t.indexOf(e)<0&&s.indexOf(e)<0));if(0===i.length)return!0;const o=d.getRegExp(`(${i.map((e=>"?"===e?"\\?":e)).join("|")})`);let n=!o.test(e);if(!n){const t=e.indexOf(s);t>0&&!o.test(e.substring(0,t))&&(n=!0)}return n})(t,i,o));if(a&&!r){const s=t.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:t,namespaces:e(n)?[n]:n};const a=t.split(i);(i!==o||i===o&&this.options.ns.indexOf(a[0])>-1)&&(n=a.shift()),t=a.join(o)}return{key:t,namespaces:e(n)?[n]:n}}translate(t,s,i){let o="object"==typeof s?{...s}:s;if("object"!=typeof o&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof options&&(o={...o}),o||(o={}),null==t)return"";Array.isArray(t)||(t=[String(t)]);const n=void 0!==o.returnDetails?o.returnDetails:this.options.returnDetails,a=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,{key:r,namespaces:l}=this.extractFromKey(t[t.length-1],o),h=l[l.length-1];let p=void 0!==o.nsSeparator?o.nsSeparator:this.options.nsSeparator;void 0===p&&(p=":");const u=o.lng||this.language,c=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===u?.toLowerCase())return c?n?{res:`${h}${p}${r}`,usedKey:r,exactUsedKey:r,usedLng:u,usedNS:h,usedParams:this.getUsedParamsDetails(o)}:`${h}${p}${r}`:n?{res:r,usedKey:r,exactUsedKey:r,usedLng:u,usedNS:h,usedParams:this.getUsedParamsDetails(o)}:r;const g=this.resolve(t,o);let d=g?.res;const f=g?.usedKey||r,m=g?.exactUsedKey||r,y=void 0!==o.joinArrays?o.joinArrays:this.options.joinArrays,x=!this.i18nFormat||this.i18nFormat.handleAsObject,v=void 0!==o.count&&!e(o.count),b=w.hasDefaultValue(o),k=v?this.pluralResolver.getSuffix(u,o.count,o):"",S=o.ordinal&&v?this.pluralResolver.getSuffix(u,o.count,{ordinal:!1}):"",O=v&&!o.ordinal&&0===o.count,$=O&&o[`defaultValue${this.options.pluralSeparator}zero`]||o[`defaultValue${k}`]||o[`defaultValue${S}`]||o.defaultValue;let R=d;x&&!d&&b&&(R=$);const C=L(R),P=Object.prototype.toString.apply(R);if(!(x&&R&&C&&["[object Number]","[object Function]","[object RegExp]"].indexOf(P)<0)||e(y)&&Array.isArray(R))if(x&&e(y)&&Array.isArray(d))d=d.join(y),d&&(d=this.extendTranslation(d,t,o,i));else{let e=!1,s=!1;!this.isValidLookup(d)&&b&&(e=!0,d=$),this.isValidLookup(d)||(s=!0,d=r);const n=(o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&s?void 0:d,l=b&&$!==d&&this.options.updateMissing;if(s||e||l){if(this.logger.log(l?"updateKey":"missingKey",u,h,r,l?$:d),a){const e=this.resolve(r,{...o,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let s=0;s{const i=b&&s!==d?s:n;this.options.missingKeyHandler?this.options.missingKeyHandler(e,h,t,i,l,o):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,h,t,i,l,o),this.emit("missingKey",e,h,t,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&v?e.forEach((e=>{const t=this.pluralResolver.getSuffixes(e,o);O&&o[`defaultValue${this.options.pluralSeparator}zero`]&&t.indexOf(`${this.options.pluralSeparator}zero`)<0&&t.push(`${this.options.pluralSeparator}zero`),t.forEach((t=>{s([e],r+t,o[`defaultValue${t}`]||$)}))})):s(e,r,$))}d=this.extendTranslation(d,t,o,g,i),s&&d===r&&this.options.appendNamespaceToMissingKey&&(d=`${h}${p}${r}`),(s||e)&&this.options.parseMissingKeyHandler&&(d=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${h}${p}${r}`:r,e?d:void 0,o))}else{if(!o.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(f,R,{...o,ns:l}):`key '${r} (${this.language})' returned an object instead of string.`;return n?(g.res=e,g.usedParams=this.getUsedParamsDetails(o),g):e}if(a){const e=Array.isArray(R),t=e?[]:{},s=e?m:f;for(const e in R)if(Object.prototype.hasOwnProperty.call(R,e)){const i=`${s}${a}${e}`;t[e]=b&&!d?this.translate(i,{...o,defaultValue:L($)?$[e]:void 0,joinArrays:!1,ns:l}):this.translate(i,{...o,joinArrays:!1,ns:l}),t[e]===i&&(t[e]=R[e])}d=t}}return n?(g.res=d,g.usedParams=this.getUsedParamsDetails(o),g):d}extendTranslation(t,s,i,o,n){if(this.i18nFormat?.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const a=e(t)&&(void 0!==i?.interpolation?.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let r;if(a){const e=t.match(this.interpolator.nestingRegexp);r=e&&e.length}let l=i.replace&&!e(i.replace)?i.replace:i;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),t=this.interpolator.interpolate(t,l,i.lng||this.language||o.usedLng,i),a){const e=t.match(this.interpolator.nestingRegexp);r<(e&&e.length)&&(i.nest=!1)}!i.lng&&o&&o.res&&(i.lng=this.language||o.usedLng),!1!==i.nest&&(t=this.interpolator.nest(t,((...e)=>n?.[0]!==e[0]||i.context?this.translate(...e,s):(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${s[0]}`),null)),i)),i.interpolation&&this.interpolator.reset()}const a=i.postProcess||this.options.postProcess,r=e(a)?[a]:a;return null!=t&&r?.length&&!1!==i.applyPostProcessor&&(t=S.handle(r,t,s,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...o,usedParams:this.getUsedParamsDetails(i)},...i}:i,this)),t}resolve(t,s={}){let i,o,n,a,r;return e(t)&&(t=[t]),t.forEach((t=>{if(this.isValidLookup(i))return;const l=this.extractFromKey(t,s),h=l.key;o=h;let p=l.namespaces;this.options.fallbackNS&&(p=p.concat(this.options.fallbackNS));const u=void 0!==s.count&&!e(s.count),c=u&&!s.ordinal&&0===s.count,g=void 0!==s.context&&(e(s.context)||"number"==typeof s.context)&&""!==s.context,d=s.lngs?s.lngs:this.languageUtils.toResolveHierarchy(s.lng||this.language,s.fallbackLng);p.forEach((e=>{this.isValidLookup(i)||(r=e,O[`${d[0]}-${e}`]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(r)||(O[`${d[0]}-${e}`]=!0,this.logger.warn(`key "${o}" for languages "${d.join(", ")}" won't get resolved as namespace "${r}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),d.forEach((t=>{if(this.isValidLookup(i))return;a=t;const o=[h];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(o,h,t,e,s);else{let e;u&&(e=this.pluralResolver.getSuffix(t,s.count,s));const i=`${this.options.pluralSeparator}zero`,n=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(o.push(h+e),s.ordinal&&0===e.indexOf(n)&&o.push(h+e.replace(n,this.options.pluralSeparator)),c&&o.push(h+i)),g){const t=`${h}${this.options.contextSeparator}${s.context}`;o.push(t),u&&(o.push(t+e),s.ordinal&&0===e.indexOf(n)&&o.push(t+e.replace(n,this.options.pluralSeparator)),c&&o.push(t+i))}}let r;for(;r=o.pop();)this.isValidLookup(i)||(n=r,i=this.getResource(t,e,r,s))})))}))})),{res:i,usedKey:o,exactUsedKey:n,usedLng:a,usedNS:r}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,s,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,s,i):this.resourceStore.getResource(e,t,s,i)}getUsedParamsDetails(t={}){const s=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=t.replace&&!e(t.replace);let o=i?t.replace:t;if(i&&void 0!==t.count&&(o.count=t.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!i){o={...o};for(const e of s)delete o[e]}return o}static hasDefaultValue(e){const t="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t===s.substring(0,12)&&void 0!==e[s])return!0;return!1}}class ${constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=v.create("languageUtils")}getScriptPartFromCode(e){if(!(e=m(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=m(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(t){if(e(t)&&t.indexOf("-")>-1){let e;try{e=Intl.getCanonicalLocales(t)[0]}catch(e){}return e&&this.options.lowerCaseLng&&(e=e.toLowerCase()),e||(this.options.lowerCaseLng?t.toLowerCase():t)}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const s=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(s)||(t=s)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const s=this.getScriptPartFromCode(e);if(this.isSupportedCode(s))return t=s;const i=this.getLanguagePartFromCode(e);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find((e=>e===i?e:e.indexOf("-")<0&&i.indexOf("-")<0?void 0:e.indexOf("-")>0&&i.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===i||0===e.indexOf(i)&&i.length>1?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(t,s){if(!t)return[];if("function"==typeof t&&(t=t(s)),e(t)&&(t=[t]),Array.isArray(t))return t;if(!s)return t.default||[];let i=t[s];return i||(i=t[this.getScriptPartFromCode(s)]),i||(i=t[this.formatLanguageCode(s)]),i||(i=t[this.getLanguagePartFromCode(s)]),i||(i=t.default),i||[]}toResolveHierarchy(t,s){const i=this.getFallbackCodes(s||this.options.fallbackLng||[],t),o=[],n=e=>{e&&(this.isSupportedCode(e)?o.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return e(t)&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(t)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(t)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(t))):e(t)&&n(this.formatLanguageCode(t)),i.forEach((e=>{o.indexOf(e)<0&&n(this.formatLanguageCode(e))})),o}}const R={zero:0,one:1,two:2,few:3,many:4,other:5},C={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class P{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=v.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const s=m("dev"===e?"en":e),i=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:s,type:i});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let n;try{n=new Intl.PluralRules(s,{type:i})}catch(s){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),C;if(!e.match(/-|_/))return C;const i=this.languageUtils.getLanguagePartFromCode(e);n=this.getRule(i,t)}return this.pluralRulesCache[o]=n,n}needsPlural(e,t={}){let s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,s={}){return this.getSuffixes(e,s).map((e=>`${t}${e}`))}getSuffixes(e,t={}){let s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?s.resolvedOptions().pluralCategories.sort(((e,t)=>R[e]-R[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):[]}getSuffix(e,t,s={}){const i=this.getRule(e,s);return i?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,s))}}const N=(t,s,i,o=".",n=!0)=>{let a=((e,t,s)=>{const i=l(e,s);return void 0!==i?i:l(t,s)})(t,s,i);return!a&&n&&e(i)&&(a=f(t,i,o),void 0===a&&(a=f(s,i,o))),a},j=e=>e.replace(/\$/g,"$$$$");class E{constructor(e={}){this.logger=v.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:s,useRawValueToEscape:i,prefix:o,prefixEscaped:n,suffix:a,suffixEscaped:r,formatSeparator:l,unescapeSuffix:h,unescapePrefix:u,nestingPrefix:g,nestingPrefixEscaped:d,nestingSuffix:f,nestingSuffixEscaped:m,nestingOptionsSeparator:y,maxReplaces:x,alwaysFormat:v}=e.interpolation;this.escape=void 0!==t?t:c,this.escapeValue=void 0===s||s,this.useRawValueToEscape=void 0!==i&&i,this.prefix=o?p(o):n||"{{",this.suffix=a?p(a):r||"}}",this.formatSeparator=l||",",this.unescapePrefix=h?"":u||"-",this.unescapeSuffix=this.unescapePrefix?"":h||"",this.nestingPrefix=g?p(g):d||p("$t("),this.nestingSuffix=f?p(f):m||p(")"),this.nestingOptionsSeparator=y||",",this.maxReplaces=x||1e3,this.alwaysFormat=void 0!==v&&v,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,i,o,n){let a,r,l;const h=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},p=e=>{if(e.indexOf(this.formatSeparator)<0){const t=N(i,h,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(t,void 0,o,{...n,...i,interpolationkey:e}):t}const t=e.split(this.formatSeparator),s=t.shift().trim(),a=t.join(this.formatSeparator).trim();return this.format(N(i,h,s,this.options.keySeparator,this.options.ignoreJSONStructure),a,o,{...n,...i,interpolationkey:s})};this.resetRegExp();const u=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=void 0!==n?.interpolation?.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>j(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?j(this.escape(e)):j(e)}].forEach((i=>{for(l=0;a=i.regex.exec(t);){const o=a[1].trim();if(r=p(o),void 0===r)if("function"==typeof u){const s=u(t,a,n);r=e(s)?s:""}else if(n&&Object.prototype.hasOwnProperty.call(n,o))r="";else{if(c){r=a[0];continue}this.logger.warn(`missed to pass in variable ${o} for interpolating ${t}`),r=""}else e(r)||this.useRawValueToEscape||(r=s(r));const h=i.safeValue(r);if(t=t.replace(a[0],h),c?(i.regex.lastIndex+=r.length,i.regex.lastIndex-=a[0].length):i.regex.lastIndex=0,l++,l>=this.maxReplaces)break}})),t}nest(t,i,o={}){let n,a,r;const l=(e,t)=>{const s=this.nestingOptionsSeparator;if(e.indexOf(s)<0)return e;const i=e.split(new RegExp(`${s}[ ]*{`));let o=`{${i[1]}`;e=i[0],o=this.interpolate(o,r);const n=o.match(/'/g),a=o.match(/"/g);((n?.length??0)%2==0&&!a||a.length%2!=0)&&(o=o.replace(/'/g,'"'));try{r=JSON.parse(o),t&&(r={...t,...r})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${s}${o}`}return r.defaultValue&&r.defaultValue.indexOf(this.prefix)>-1&&delete r.defaultValue,e};for(;n=this.nestingRegexp.exec(t);){let h=[];r={...o},r=r.replace&&!e(r.replace)?r.replace:r,r.applyPostProcessor=!1,delete r.defaultValue;let p=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){const e=n[1].split(this.formatSeparator).map((e=>e.trim()));n[1]=e.shift(),h=e,p=!0}if(a=i(l.call(this,n[1].trim(),r),r),a&&n[0]===t&&!e(a))return a;e(a)||(a=s(a)),a||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${t}`),a=""),p&&(a=h.reduce(((e,t)=>this.format(e,t,o.lng,{...o,interpolationkey:n[1].trim()})),a.trim())),t=t.replace(n[0],a),this.regexp.lastIndex=0}return t}}const F=e=>{const t={};return(s,i,o)=>{let n=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(n={...n,[o.interpolationkey]:void 0});const a=i+JSON.stringify(n);let r=t[a];return r||(r=e(m(i),o),t[a]=r),r(s)}},V=e=>(t,s,i)=>e(m(s),i)(t);class D{constructor(e={}){this.logger=v.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const s=t.cacheInBuiltFormats?F:V;this.formats={number:s(((e,t)=>{const s=new Intl.NumberFormat(e,{...t});return e=>s.format(e)})),currency:s(((e,t)=>{const s=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>s.format(e)})),datetime:s(((e,t)=>{const s=new Intl.DateTimeFormat(e,{...t});return e=>s.format(e)})),relativetime:s(((e,t)=>{const s=new Intl.RelativeTimeFormat(e,{...t});return e=>s.format(e,t.range||"day")})),list:s(((e,t)=>{const s=new Intl.ListFormat(e,{...t});return e=>s.format(e)}))}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=F(t)}format(e,t,s,i={}){const o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find((e=>e.indexOf(")")>-1))){const e=o.findIndex((e=>e.indexOf(")")>-1));o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce(((e,t)=>{const{formatName:o,formatOptions:n}=(e=>{let t=e.toLowerCase().trim();const s={};if(e.indexOf("(")>-1){const i=e.split("(");t=i[0].toLowerCase().trim();const o=i[1].substring(0,i[1].length-1);"currency"===t&&o.indexOf(":")<0?s.currency||(s.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?s.range||(s.range=o.trim()):o.split(";").forEach((e=>{if(e){const[t,...i]=e.split(":"),o=i.join(":").trim().replace(/^'+|'+$/g,""),n=t.trim();s[n]||(s[n]=o),"false"===o&&(s[n]=!1),"true"===o&&(s[n]=!0),isNaN(o)||(s[n]=parseInt(o,10))}}))}return{formatName:t,formatOptions:s}})(t);if(this.formats[o]){let t=e;try{const a=i?.formatParams?.[i.interpolationkey]||{},r=a.locale||a.lng||i.locale||i.lng||s;t=this.formats[o](e,r,{...n,...i,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e}),e)}}class I extends b{constructor(e,t,s,i={}){super(),this.backend=e,this.store=t,this.services=s,this.languageUtils=s.languageUtils,this.options=i,this.logger=v.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(s,i.backend,i)}queueLoad(e,t,s,i){const o={},n={},a={},r={};return e.forEach((e=>{let i=!0;t.forEach((t=>{const a=`${e}|${t}`;!s.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===n[a]&&(n[a]=!0):(this.state[a]=1,i=!1,void 0===n[a]&&(n[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===r[t]&&(r[t]=!0)))})),i||(a[e]=!0)})),(Object.keys(o).length||Object.keys(n).length)&&this.queue.push({pending:n,pendingCount:Object.keys(n).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(n),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(r)}}loaded(e,t,s){const i=e.split("|"),o=i[0],n=i[1];t&&this.emit("failedLoading",o,n,t),!t&&s&&this.store.addResourceBundle(o,n,s,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&s&&(this.state[e]=0);const r={};this.queue.forEach((s=>{((e,t,s)=>{const{obj:i,k:o}=a(e,t,Object);i[o]=i[o]||[],i[o].push(s)})(s.loaded,[o],n),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(s,e),t&&s.errors.push(t),0!==s.pendingCount||s.done||(Object.keys(s.loaded).forEach((e=>{r[e]||(r[e]={});const t=s.loaded[e];t.length&&t.forEach((t=>{void 0===r[e][t]&&(r[e][t]=!0)}))})),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())})),this.emit("loaded",r),this.queue=this.queue.filter((e=>!e.done))}read(e,t,s,i=0,o=this.retryTimeout,n){if(!e.length)return n(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:s,tried:i,wait:o,callback:n});this.readingCalls++;const a=(a,r)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&r&&i{this.read.call(this,e,t,s,i+1,2*o,n)}),o):n(a,r)},r=this.backend[s].bind(this.backend);if(2!==r.length)return r(e,t,a);try{const s=r(e,t);s&&"function"==typeof s.then?s.then((e=>a(null,e))).catch(a):a(null,s)}catch(e){a(e)}}prepareLoading(t,s,i={},o){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();e(t)&&(t=this.languageUtils.toResolveHierarchy(t)),e(s)&&(s=[s]);const n=this.queueLoad(t,s,i,o);if(!n.toLoad.length)return n.pending.length||o(),null;n.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,s){this.prepareLoading(e,t,{},s)}reload(e,t,s){this.prepareLoading(e,t,{reload:!0},s)}loadOne(e,t=""){const s=e.split("|"),i=s[0],o=s[1];this.read(i,o,"read",void 0,void 0,((s,n)=>{s&&this.logger.warn(`${t}loading namespace ${o} for language ${i} failed`,s),!s&&n&&this.logger.log(`${t}loaded namespace ${o} for language ${i}`,n),this.loaded(e,s,n)}))}saveMissing(e,t,s,i,o,n={},a=()=>{}){if(!this.services?.utils?.hasLoadedNamespace||this.services?.utils?.hasLoadedNamespace(t)){if(null!=s&&""!==s){if(this.backend?.create){const r={...n,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;o=5===l.length?l(e,t,s,i,r):l(e,t,s,i),o&&"function"==typeof o.then?o.then((e=>a(null,e))).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,s,i,a,r)}e&&e[0]&&this.store.addResource(e[0],t,s,i)}}else this.logger.warn(`did not save key "${s}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}}const T=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let s={};if("object"==typeof t[1]&&(s=t[1]),e(t[1])&&(s.defaultValue=t[1]),e(t[2])&&(s.tDescription=t[2]),"object"==typeof t[2]||"object"==typeof t[3]){const e=t[3]||t[2];Object.keys(e).forEach((t=>{s[t]=e[t]}))}return s},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),K=t=>(e(t.ns)&&(t.ns=[t.ns]),e(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),e(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs?.indexOf?.("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),"boolean"==typeof t.initImmediate&&(t.initAsync=t.initImmediate),t),U=()=>{};class A extends b{constructor(e={},t){var s;if(super(),this.options=K(e),this.services={},this.logger=v,this.modules={external:[]},s=this,Object.getOwnPropertyNames(Object.getPrototypeOf(s)).forEach((e=>{"function"==typeof s[e]&&(s[e]=s[e].bind(s))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(s={},i){this.isInitializing=!0,"function"==typeof s&&(i=s,s={}),null==s.defaultNS&&s.ns&&(e(s.ns)?s.defaultNS=s.ns:s.ns.indexOf("translation")<0&&(s.defaultNS=s.ns[0]));const o=T();this.options={...o,...this.options,...K(s)},this.options.interpolation={...o.interpolation,...this.options.interpolation},void 0!==s.keySeparator&&(this.options.userDefinedKeySeparator=s.keySeparator),void 0!==s.nsSeparator&&(this.options.userDefinedNsSeparator=s.nsSeparator);const n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let e;this.modules.logger?v.init(n(this.modules.logger),this.options):v.init(null,this.options),e=this.modules.formatter?this.modules.formatter:D;const t=new $(this.options);this.store=new k(this.options.resources,this.options);const s=this.services;s.logger=v,s.resourceStore=this.store,s.languageUtils=t,s.pluralResolver=new P(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!e||this.options.interpolation.format&&this.options.interpolation.format!==o.interpolation.format||(s.formatter=n(e),s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new E(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new I(n(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",((e,...t)=>{this.emit(e,...t)})),this.modules.languageDetector&&(s.languageDetector=n(this.modules.languageDetector),s.languageDetector.init&&s.languageDetector.init(s,this.options.detection,this.options)),this.modules.i18nFormat&&(s.i18nFormat=n(this.modules.i18nFormat),s.i18nFormat.init&&s.i18nFormat.init(this)),this.translator=new w(this.services,this.options),this.translator.on("*",((e,...t)=>{this.emit(e,...t)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,i||(i=U),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((e=>{this[e]=(...t)=>this.store[e](...t)}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((e=>{this[e]=(...t)=>(this.store[e](...t),this)}));const a=t(),r=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),a.resolve(t),i(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?r():setTimeout(r,0),a}loadResources(t,s=U){let i=s;const o=e(t)?t:this.language;if("function"==typeof t&&(i=t),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===o?.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return i();const e=[],t=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(o)t(o);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>t(e)))}this.options.preload?.forEach?.((e=>t(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),i(e)}))}else i(null)}reloadResources(e,s,i){const o=t();return"function"==typeof e&&(i=e,e=void 0),"function"==typeof s&&(i=s,s=void 0),e||(e=this.languages),s||(s=this.options.ns),i||(i=U),this.services.backendConnector.reload(e,s,(e=>{o.resolve(),i(e)})),o}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&S.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(s,i){this.isLanguageChangingTo=s;const o=t();this.emit("languageChanging",s);const n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},a=(e,t)=>{t?this.isLanguageChangingTo===s&&(n(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,o.resolve(((...e)=>this.t(...e))),i&&i(e,((...e)=>this.t(...e)))},r=t=>{s||t||!this.services.languageDetector||(t=[]);const i=e(t)?t:t&&t[0],o=this.store.hasLanguageSomeTranslations(i)?i:this.services.languageUtils.getBestMatchFromCodes(e(t)?[t]:t);o&&(this.language||n(o),this.translator.language||this.translator.changeLanguage(o),this.services.languageDetector?.cacheUserLanguage?.(o)),this.loadResources(o,(e=>{a(e,o)}))};return s||!this.services.languageDetector||this.services.languageDetector.async?!s&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(r):this.services.languageDetector.detect(r):r(s):r(this.services.languageDetector.detect()),o}getFixedT(t,s,i){const o=(e,t,...s)=>{let n;n="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(s)):{...t},n.lng=n.lng||o.lng,n.lngs=n.lngs||o.lngs,n.ns=n.ns||o.ns,""!==n.keyPrefix&&(n.keyPrefix=n.keyPrefix||i||o.keyPrefix);const a=this.options.keySeparator||".";let r;return r=n.keyPrefix&&Array.isArray(e)?e.map((e=>`${n.keyPrefix}${a}${e}`)):n.keyPrefix?`${n.keyPrefix}${a}${e}`:e,this.t(r,n)};return e(t)?o.lng=t:o.lngs=t,o.ns=s,o.keyPrefix=i,o}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const s=t.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===s.toLowerCase())return!0;const n=(e,t)=>{const s=this.services.backendConnector.state[`${e}|${t}`];return-1===s||0===s||2===s};if(t.precheck){const e=t.precheck(this,n);if(void 0!==e)return e}return!!this.hasResourceBundle(s,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!n(s,e)||i&&!n(o,e)))}loadNamespaces(s,i){const o=t();return this.options.ns?(e(s)&&(s=[s]),s.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{o.resolve(),i&&i(e)})),o):(i&&i(),Promise.resolve())}loadLanguages(s,i){const o=t();e(s)&&(s=[s]);const n=this.options.preload||[],a=s.filter((e=>n.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return a.length?(this.options.preload=n.concat(a),this.loadResources((e=>{o.resolve(),i&&i(e)})),o):(i&&i(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services?.languageUtils||new $(T());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new A(e,t)}cloneInstance(e={},t=U){const s=e.forkResourceStore;s&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},o=new A(i);void 0===e.debug&&void 0===e.prefix||(o.logger=o.logger.clone(e));if(["store","services","language"].forEach((e=>{o[e]=this[e]})),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},s){const e=Object.keys(this.store.data).reduce(((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce(((s,i)=>(s[i]={...e[t][i]},s)),e[t]),e)),{});o.store=new k(e,i),o.services.resourceStore=o.store}return o.translator=new w(o.services,i),o.translator.on("*",((e,...t)=>{o.emit(e,...t)})),o.init(i,t),o.translator.options=i,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const M=A.createInstance();return M.createInstance=A.createInstance,M})); diff --git a/node_modules/i18next/index.d.mts b/node_modules/i18next/index.d.mts new file mode 100644 index 00000000..278bc333 --- /dev/null +++ b/node_modules/i18next/index.d.mts @@ -0,0 +1,59 @@ +import * as i18nextMod from './index.js'; +import type { $Dictionary } from './typescript/helpers.js'; + +import type { DefaultNamespace, Namespace } from './typescript/options.js'; + +export type WithT = i18nextMod.WithT; +export type Interpolator = i18nextMod.Interpolator; +export type ResourceStore = i18nextMod.ResourceStore; +export type Formatter = i18nextMod.Formatter; +export type Services = i18nextMod.Services; +export type ModuleType = i18nextMod.ModuleType; +export type Module = i18nextMod.Module; +export type CallbackError = i18nextMod.CallbackError; +export type ReadCallback = i18nextMod.ReadCallback; +export type MultiReadCallback = i18nextMod.MultiReadCallback; +export type BackendModule = i18nextMod.BackendModule; +export type LanguageDetectorModule = i18nextMod.LanguageDetectorModule; +export type LanguageDetectorAsyncModule = i18nextMod.LanguageDetectorAsyncModule; +export type PostProcessorModule = i18nextMod.PostProcessorModule; +export type LoggerModule = i18nextMod.LoggerModule; +export type I18nFormatModule = i18nextMod.I18nFormatModule; +export type FormatterModule = i18nextMod.FormatterModule; +export type ThirdPartyModule = i18nextMod.ThirdPartyModule; +export type Modules = i18nextMod.Modules; +export type Newable = i18nextMod.Newable; +export type NewableModule = i18nextMod.NewableModule; +export type Callback = i18nextMod.Callback; +export type ExistsFunction< + TKeys extends string = string, + TInterpolationMap extends object = $Dictionary, +> = i18nextMod.ExistsFunction; +export type CloneOptions = i18nextMod.CloneOptions; + +export type * from './typescript/options.js'; +export type * from './typescript/t.js'; + +export interface CustomInstanceExtensions {} + +// eslint-disable-next-line @typescript-eslint/naming-convention +export interface i18n extends i18nextMod.i18n, CustomInstanceExtensions {} + +declare const i18next: i18n; +export default i18next; + +export const createInstance: i18n['createInstance']; + +export const dir: i18n['dir']; +export const init: i18n['init']; +export const loadResources: i18n['loadResources']; +export const reloadResources: i18n['reloadResources']; +export const use: i18n['use']; +export const changeLanguage: i18n['changeLanguage']; +export const getFixedT: i18n['getFixedT']; +export const t: i18n['t']; +export const exists: i18n['exists']; +export const setDefaultNamespace: i18n['setDefaultNamespace']; +export const hasLoadedNamespace: i18n['hasLoadedNamespace']; +export const loadNamespaces: i18n['loadNamespaces']; +export const loadLanguages: i18n['loadLanguages']; diff --git a/node_modules/i18next/index.d.ts b/node_modules/i18next/index.d.ts new file mode 100644 index 00000000..90bdcd67 --- /dev/null +++ b/node_modules/i18next/index.d.ts @@ -0,0 +1,576 @@ +// Internal Helpers +import type { $Dictionary, $NormalizeIntoArray } from './typescript/helpers.js'; +import type { + DefaultNamespace, + FlatNamespace, + FormatFunction, + InitOptions, + InterpolationOptions, + Namespace, + Resource, + ResourceKey, + ResourceLanguage, + TOptions, +} from './typescript/options.js'; +import type { KeyPrefix, TFunction } from './typescript/t.js'; + +export interface WithT { + // Expose parameterized t in the i18next interface hierarchy + t: TFunction; +} + +export interface Interpolator { + init(options: InterpolationOptions, reset: boolean): undefined; + reset(): undefined; + resetRegExp(): undefined; + interpolate(str: string, data: object, lng: string, options: InterpolationOptions): string; + nest(str: string, fc: (...args: any[]) => any, options: InterpolationOptions): string; +} + +export class ResourceStore { + constructor(data: Resource, options: InitOptions); + + public data: Resource; + + public options: InitOptions; + + /** + * Gets fired when resources got added or removed + */ + on(event: 'added' | 'removed', callback: (lng: string, ns: string) => void): void; + + /** + * Remove event listener + * removes all callback when callback not specified + */ + off(event: 'added' | 'removed', callback?: (lng: string, ns: string) => void): void; +} + +export interface Formatter { + init(services: Services, i18nextOptions: InitOptions): void; + add(name: string, fc: (value: any, lng: string | undefined, options: any) => string): void; + addCached( + name: string, + fc: (lng: string | undefined, options: any) => (value: any) => string, + ): void; + format: FormatFunction; +} + +export interface Services { + backendConnector: any; + i18nFormat: any; + interpolator: Interpolator; + languageDetector: any; + languageUtils: any; + logger: any; + pluralResolver: any; + resourceStore: ResourceStore; + formatter?: Formatter; +} + +export type ModuleType = + | 'backend' + | 'logger' + | 'languageDetector' + | 'postProcessor' + | 'i18nFormat' + | 'formatter' + | '3rdParty'; + +export interface Module { + type: ModuleType; +} + +export type CallbackError = Error | string | null | undefined; +export type ReadCallback = ( + err: CallbackError, + data: ResourceKey | boolean | null | undefined, +) => void; +export type MultiReadCallback = (err: CallbackError, data: Resource | null | undefined) => void; + +/** + * Used to load data for i18next. + * Can be provided as a singleton or as a prototype constructor (preferred for supporting multiple instances of i18next). + * For singleton set property `type` to `'backend'` For a prototype constructor set static property. + */ +export interface BackendModule extends Module { + type: 'backend'; + init(services: Services, backendOptions: Options, i18nextOptions: InitOptions): void; + read(language: string, namespace: string, callback: ReadCallback): void; + /** Save the missing translation */ + create?( + languages: readonly string[], + namespace: string, + key: string, + fallbackValue: string, + ): void; + /** Load multiple languages and namespaces. For backends supporting multiple resources loading */ + readMulti?( + languages: readonly string[], + namespaces: readonly string[], + callback: MultiReadCallback, + ): void; + /** Store the translation. For backends acting as cache layer */ + save?(language: string, namespace: string, data: ResourceLanguage): void; +} + +/** + * Used to detect language in user land. + * Can be provided as a singleton or as a prototype constructor (preferred for supporting multiple instances of i18next). + * For singleton set property `type` to `'languageDetector'` For a prototype constructor set static property. + */ +export interface LanguageDetectorModule extends Module { + type: 'languageDetector'; + init?(services: Services, detectorOptions: object, i18nextOptions: InitOptions): void; + /** Must return detected language */ + detect(): string | readonly string[] | undefined; + cacheUserLanguage?(lng: string): void; +} + +/** + * Used to detect language in user land. + * Can be provided as a singleton or as a prototype constructor (preferred for supporting multiple instances of i18next). + * For singleton set property `type` to `'languageDetector'` For a prototype constructor set static property. + */ +export interface LanguageDetectorAsyncModule extends Module { + type: 'languageDetector'; + /** Set to true to enable async detection */ + async: true; + init?(services: Services, detectorOptions: object, i18nextOptions: InitOptions): void; + /** Must call callback passing detected language or return a Promise */ + detect( + callback: (lng: string | readonly string[] | undefined) => void | undefined, + ): void | Promise; + cacheUserLanguage?(lng: string): void | Promise; +} + +/** + * Used to extend or manipulate the translated values before returning them in `t` function. + * Need to be a singleton object. + */ +export interface PostProcessorModule extends Module { + /** Unique name */ + name: string; + type: 'postProcessor'; + process(value: string, key: string | string[], options: TOptions, translator: any): string; +} + +/** + * Override the built-in console logger. + * Do not need to be a prototype function. + */ +export interface LoggerModule extends Module { + type: 'logger'; + log(...args: any[]): void; + warn(...args: any[]): void; + error(...args: any[]): void; +} + +export interface I18nFormatModule extends Module { + type: 'i18nFormat'; +} + +export interface FormatterModule extends Module, Formatter { + type: 'formatter'; +} + +export interface ThirdPartyModule extends Module { + type: '3rdParty'; + init(i18next: i18n): void; +} + +export interface Modules { + backend?: BackendModule; + logger?: LoggerModule; + languageDetector?: LanguageDetectorModule | LanguageDetectorAsyncModule; + i18nFormat?: I18nFormatModule; + formatter?: FormatterModule; + external: ThirdPartyModule[]; +} + +// helper to identify class https://stackoverflow.com/a/45983481/2363935 +export interface Newable { + new (...args: any[]): T; +} +export interface NewableModule extends Newable { + type: T['type']; +} + +export type Callback = (error: any, t: TFunction) => void; + +/** + * Uses similar args as the t function and returns true if a key exists. + */ +export interface ExistsFunction< + TKeys extends string = string, + TInterpolationMap extends object = $Dictionary, +> { + (key: TKeys | TKeys[], options?: TOptions): boolean; +} + +export interface CloneOptions extends InitOptions { + /** + * Will create a new instance of the resource store and import the existing translation resources. + * This way it will not shared the resource store instance. + * @default false + */ + forkResourceStore?: boolean; +} + +export interface CustomInstanceExtensions {} + +// Used just here to exclude `DefaultNamespace` which can be both string or array from `FlatNamespace` +// in TFunction declaration below. +// Due to this only very special usage I'm not moving this inside helpers. +type InferArrayValuesElseReturnType = T extends (infer A)[] ? A : T; + +// eslint-disable-next-line @typescript-eslint/naming-convention +export interface i18n extends CustomInstanceExtensions { + // Expose parameterized t in the i18next interface hierarchy + t: TFunction< + [ + ...$NormalizeIntoArray, + ...Exclude>[], + ] + >; + + /** + * The default of the i18next module is an i18next instance ready to be initialized by calling init. + * You can create additional instances using the createInstance function. + * + * @param options - Initial options. + * @param callback - will be called after all translations were loaded or with an error when failed (in case of using a backend). + */ + init(callback?: Callback): Promise; + init(options: InitOptions, callback?: Callback): Promise; + + loadResources(callback?: (err: any) => void): void; + + /** + * The use function is there to load additional plugins to i18next. + * For available module see the plugins page and don't forget to read the documentation of the plugin. + * + * @param module Accepts a class or object + */ + use(module: T | NewableModule | Newable): this; + + /** + * List of modules used + */ + modules: Modules; + + /** + * Internal container for all used plugins and implementation details like languageUtils, pluralResolvers, etc. + */ + services: Services; + + /** + * Internal container for translation resources + */ + store: ResourceStore; + + /** + * Uses similar args as the t function and returns true if a key exists. + */ + exists: ExistsFunction; + + /** + * Returns a resource data by language. + */ + getDataByLanguage(lng: string): { [key: string]: { [key: string]: string } } | undefined; + + /** + * Returns a t function that defaults to given language or namespace. + * Both params could be arrays of languages or namespaces and will be treated as fallbacks in that case. + * On the returned function you can like in the t function override the languages or namespaces by passing them in options or by prepending namespace. + * + * Accepts optional keyPrefix that will be automatically applied to returned t function. + */ + getFixedT< + Ns extends Namespace | null = DefaultNamespace, + TKPrefix extends KeyPrefix = undefined, + ActualNs extends Namespace = Ns extends null ? DefaultNamespace : Ns, + >( + ...args: + | [lng: string | readonly string[], ns?: Ns, keyPrefix?: TKPrefix] + | [lng: null, ns: Ns, keyPrefix?: TKPrefix] + ): TFunction; + + /** + * Changes the language. The callback will be called as soon translations were loaded or an error occurs while loading. + * HINT: For easy testing - setting lng to 'cimode' will set t function to always return the key. + */ + changeLanguage(lng?: string, callback?: Callback): Promise; + + /** + * Is set to the current detected or set language. + * If you need the primary used language depending on your configuration (supportedLngs, load) you will prefer using i18next.languages[0]. + */ + language: string; + + /** + * Is set to an array of language-codes that will be used it order to lookup the translation value. + */ + languages: readonly string[]; + + /** + * Is set to the current resolved language. + * It can be used as primary used language, for example in a language switcher. + */ + resolvedLanguage?: string; + + /** + * Checks if namespace has loaded yet. + * i.e. used by react-i18next + */ + hasLoadedNamespace( + ns: string | readonly string[], + options?: { + lng?: string | readonly string[]; + fallbackLng?: InitOptions['fallbackLng']; + /** + * if `undefined` is returned default checks are performed. + */ + precheck?: ( + i18n: i18n, + /** + * Check if the language namespace provided are not in loading status: + * returns `true` if load is completed successfully or with an error. + */ + loadNotPending: ( + lng: string | readonly string[], + ns: string | readonly string[], + ) => boolean, + ) => boolean | undefined; + }, + ): boolean; + + /** + * Loads additional namespaces not defined in init options. + */ + loadNamespaces(ns: string | readonly string[], callback?: Callback): Promise; + + /** + * Loads additional languages not defined in init options (preload). + */ + loadLanguages(lngs: string | readonly string[], callback?: Callback): Promise; + + /** + * Reloads resources on given state. Optionally you can pass an array of languages and namespaces as params if you don't want to reload all. + */ + reloadResources( + lngs?: string | readonly string[], + ns?: string | readonly string[], + callback?: () => void, + ): Promise; + reloadResources(lngs: null, ns: string | readonly string[], callback?: () => void): Promise; + + /** + * Changes the default namespace. + */ + setDefaultNamespace(ns: string | readonly string[]): void; + + /** + * Returns rtl or ltr depending on languages read direction. + */ + dir(lng?: string): 'ltr' | 'rtl'; + + /** + * Exposes interpolation.format function added on init. + */ + format: FormatFunction; + + /** + * Will return a new i18next instance. + * Please read the options page for details on configuration options. + * Providing a callback will automatically call init. + * The callback will be called after all translations were loaded or with an error when failed (in case of using a backend). + */ + createInstance(options?: InitOptions, callback?: Callback): i18n; + + /** + * Creates a clone of the current instance. Shares store, plugins and initial configuration. + * Can be used to create an instance sharing storage but being independent on set language or namespaces. + */ + cloneInstance(options?: CloneOptions, callback?: Callback): i18n; + + /** + * Gets fired after initialization. + */ + on(event: 'initialized', callback: (options: InitOptions) => void): void; + + /** + * Gets fired on loaded resources. + */ + on( + event: 'loaded', + callback: (loaded: { [language: string]: { [namespace: string]: boolean } }) => void, + ): void; + + /** + * Gets fired if loading resources failed. + */ + on(event: 'failedLoading', callback: (lng: string, ns: string, msg: string) => void): void; + + /** + * Gets fired on accessing a key not existing. + */ + on( + event: 'missingKey', + callback: (lngs: readonly string[], namespace: string, key: string, res: string) => void, + ): void; + + /** + * Gets fired when resources got added or removed. + */ + on(event: 'added' | 'removed', callback: (lng: string, ns: string) => void): void; + + /** + * Gets fired when changeLanguage got called. + */ + on(event: 'languageChanged', callback: (lng: string) => void): void; + + /** + * Event listener + */ + on(event: string, listener: (...args: any[]) => void): void; + + /** + * Remove event listener + * removes all callback when callback not specified + */ + off(event: string, listener?: (...args: any[]) => void): void; + + /** + * Gets one value by given key. + */ + getResource( + lng: string, + ns: string, + key: string, + options?: Pick, + ): any; + + /** + * Adds one key/value. + */ + addResource( + lng: string, + ns: string, + key: string, + value: string, + options?: { keySeparator?: string; silent?: boolean }, + ): i18n; + + /** + * Adds multiple key/values. + */ + addResources(lng: string, ns: string, resources: any): i18n; + + /** + * Adds a complete bundle. + * Setting deep param to true will extend existing translations in that file. + * Setting overwrite to true it will overwrite existing translations in that file. + */ + addResourceBundle( + lng: string, + ns: string, + resources: any, + deep?: boolean, + overwrite?: boolean, + ): i18n; + + /** + * Checks if a resource bundle exists. + */ + hasResourceBundle(lng: string, ns: string): boolean; + + /** + * Returns a resource bundle. + */ + getResourceBundle(lng: string, ns: string): any; + + /** + * Removes an existing bundle. + */ + removeResourceBundle(lng: string, ns: string): i18n; + + /** + * Current options + */ + options: InitOptions; + + /** + * Is initialized + */ + isInitialized: boolean; + + /** + * Is initializing + */ + isInitializing: boolean; + + /** + * Store was initialized + */ + initializedStoreOnce: boolean; + + /** + * Language was initialized + */ + initializedLanguageOnce: boolean; + + /** + * Emit event + */ + emit(eventName: string, ...args: any[]): void; +} + +export type * from './typescript/options.js'; +export type { + // we need to explicitely export some types, to prevent some issues with next-i18next and interpolation variable validation, etc... + FallbackLngObjList, + FallbackLng, + InitOptions, + TypeOptions, + CustomTypeOptions, + CustomPluginOptions, + PluginOptions, + FormatFunction, + InterpolationOptions, + ReactOptions, + ResourceKey, + ResourceLanguage, + Resource, + TOptions, + Namespace, + DefaultNamespace, + FlatNamespace, +} from './typescript/options.js'; +export type * from './typescript/t.js'; +export type { + TFunction, + ParseKeys, + TFunctionReturn, + TFunctionDetailedResult, + KeyPrefix, +} from './typescript/t.js'; + +declare const i18next: i18n; +export default i18next; + +export const createInstance: i18n['createInstance']; + +export const dir: i18n['dir']; +export const init: i18n['init']; +export const loadResources: i18n['loadResources']; +export const reloadResources: i18n['reloadResources']; +export const use: i18n['use']; +export const changeLanguage: i18n['changeLanguage']; +export const getFixedT: i18n['getFixedT']; +export const t: i18n['t']; +export const exists: i18n['exists']; +export const setDefaultNamespace: i18n['setDefaultNamespace']; +export const hasLoadedNamespace: i18n['hasLoadedNamespace']; +export const loadNamespaces: i18n['loadNamespaces']; +export const loadLanguages: i18n['loadLanguages']; diff --git a/node_modules/i18next/index.js b/node_modules/i18next/index.js new file mode 100644 index 00000000..69980a04 --- /dev/null +++ b/node_modules/i18next/index.js @@ -0,0 +1,5 @@ +/* eslint no-var: 0 */ +var main = require('./dist/cjs/i18next.js'); + +module.exports = main; +module.exports.default = main; diff --git a/node_modules/i18next/package.json b/node_modules/i18next/package.json new file mode 100644 index 00000000..e51f6902 --- /dev/null +++ b/node_modules/i18next/package.json @@ -0,0 +1,124 @@ +{ + "name": "i18next", + "version": "25.2.0", + "description": "i18next internationalization framework", + "main": "./dist/cjs/i18next.js", + "module": "./dist/esm/i18next.js", + "types": "./index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "types": "./index.d.mts", + "default": "./dist/esm/i18next.js" + }, + "require": { + "types": "./index.d.ts", + "default": "./dist/cjs/i18next.js" + } + } + }, + "keywords": [ + "i18next", + "internationalization", + "i18n", + "translation", + "localization", + "l10n", + "globalization", + "gettext" + ], + "homepage": "https://www.i18next.com", + "bugs": "https://github.com/i18next/i18next/issues", + "repository": { + "type": "git", + "url": "https://github.com/i18next/i18next.git" + }, + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "dependencies": { + "@babel/runtime": "^7.27.1" + }, + "peerDependencies": { + "typescript": "^5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + }, + "devDependencies": { + "@babel/core": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-runtime": "^7.27.1", + "@babel/polyfill": "^7.12.1", + "@babel/preset-env": "^7.27.2", + "@babel/preset-react": "^7.27.1", + "@babel/register": "^7.27.1", + "@rollup/plugin-babel": "^6.0.4", + "@rollup/plugin-commonjs": "^28.0.3", + "@rollup/plugin-node-resolve": "^16.0.1", + "@rollup/plugin-terser": "^0.4.4", + "@types/node": "^22.15.17", + "@typescript-eslint/eslint-plugin": "^7.18.0", + "@typescript-eslint/parser": "^7.18.0", + "@vitest/coverage-v8": "^3.1.3", + "babelify": "^10.0.0", + "coveralls": "^3.1.1", + "cpy-cli": "^5.0.0", + "eslint": "^8.57.1", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-prettier": "^9.1.0", + "eslint-import-resolver-typescript": "^4.3.4", + "eslint-plugin-import": "^2.31.0", + "gh-release": "^7.0.2", + "husky": "^9.1.7", + "i18next-browser-languagedetector": "^8.1.0", + "i18next-fs-backend": "^2.6.0", + "i18next-http-backend": "^3.0.2", + "i18next-localstorage-cache": "^1.1.1", + "i18next-sprintf-postprocessor": "^0.2.2", + "lint-staged": "^16.0.0", + "prettier": "^3.5.3", + "rimraf": "^6.0.1", + "rollup": "^4.40.2", + "sinon": "^19.0.5", + "typescript": "^5.8.3", + "vitest": "^3.1.3" + }, + "scripts": { + "lint": "eslint src typescript test \"./*.{ts,mts,mjs}\"", + "format": "prettier \"{,**/}*.{ts,tsx,mts,js,mjs,json,md}\" --check", + "format:fix": "prettier \"{,**/}*.{ts,tsx,mts,js,mjs,json,md}\" --write", + "test": "vitest --run", + "test:coverage": "vitest --coverage --run", + "test:runtime": "vitest --project runtime", + "test:compatibility": "vitest --project compatibility", + "test:typescript": "vitest --workspace vitest.workspace.typescript.mts", + "test:local": "vitest --workspace vitest.workspace.local.mts", + "build": "rimraf dist && rollup -c && echo '{\"type\":\"module\"}' > dist/esm/package.json && cpy \"./dist/umd/*.js\" ./", + "fix_dist_package": "node -e 'console.log(`{\"type\":\"module\",\"version\":\"${process.env.npm_package_version}\"}`)' > dist/esm/package.json", + "preversion": "npm run test && npm run build && git push", + "postversion": "npm run fix_dist_package && git push && git push --tags && npm run release", + "prepare": "husky", + "release": "gh-release" + }, + "author": "Jan Mühlemann (https://github.com/jamuhl)", + "license": "MIT", + "lint-staged": { + "*": "prettier --write --ignore-unknown" + } +} diff --git a/node_modules/i18next/typescript/helpers.d.ts b/node_modules/i18next/typescript/helpers.d.ts new file mode 100644 index 00000000..0ebaf804 --- /dev/null +++ b/node_modules/i18next/typescript/helpers.d.ts @@ -0,0 +1,68 @@ +// Types + +export type $Dictionary = { [key: string]: T }; + +export type $SpecialObject = object | Array; + +// Types Operators + +export type $MergeBy = Omit & K; + +export type $OmitArrayKeys = Arr extends readonly any[] ? Omit : Arr; + +export type $PreservedValue = [Value] extends [never] ? Fallback : Value; + +export type $NormalizeIntoArray = + T extends readonly unknown[] ? T : [T]; + +/** + * @typeParam T + * @example + * ``` + * $UnionToIntersection<{foo: {bar: string} | {asd: boolean}}> = {foo: {bar: string} & {asd: boolean}} + * ``` + * + * @see https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection-type + */ +type $UnionToIntersection = (T extends unknown ? (k: T) => void : never) extends ( + k: infer I, +) => void + ? I + : never; + +/** + * @typeParam TPath union of strings + * @typeParam TValue value of the record + * @example + * ``` + * $StringKeyPathToRecord<'foo.bar' | 'asd'> = {foo: {bar: string} | {asd: boolean}} + * ``` + */ +type $StringKeyPathToRecordUnion< + TPath extends string, + TValue, +> = TPath extends `${infer TKey}.${infer Rest}` + ? { [Key in TKey]: $StringKeyPathToRecord } + : { [Key in TPath]: TValue }; + +/** + * Used to intersect output of {@link $StringKeyPathToRecordUnion} + * + * @typeParam TPath union of strings + * @typeParam TValue value of the record + * @example + * ``` + * $StringKeyPathToRecord<'foo.bar' | 'asd'> = {foo: {bar: string} & {asd: boolean}} + * ``` + */ +export type $StringKeyPathToRecord = $UnionToIntersection< + $StringKeyPathToRecordUnion +>; + +/** + * We could use NoInfer typescript build-in utility, + * however this project still supports ts < 5.4. + * + * @see https://github.com/millsp/ts-toolbelt/blob/master/sources/Function/NoInfer.ts + */ +export type $NoInfer = [A][A extends any ? 0 : never]; diff --git a/node_modules/i18next/typescript/options.d.ts b/node_modules/i18next/typescript/options.d.ts new file mode 100644 index 00000000..af894c04 --- /dev/null +++ b/node_modules/i18next/typescript/options.d.ts @@ -0,0 +1,763 @@ +import type { $MergeBy, $PreservedValue, $Dictionary } from './helpers.js'; + +/** + * This interface can be augmented by users to add types to `i18next` default TypeOptions. + * + * Usage: + * ```ts + * // i18next.d.ts + * import 'i18next'; + * declare module 'i18next' { + * interface CustomTypeOptions { + * defaultNS: 'custom'; + * returnNull: false; + * returnObjects: false; + * nsSeparator: ':'; + * keySeparator: '.'; + * compatibilityJSON: 'v4'; + * allowObjectInHTMLChildren: false; + * resources: { + * custom: { + * foo: 'foo'; + * }; + * }; + * } + * } + * ``` + */ +export interface CustomTypeOptions {} + +/** + * This interface can be augmented by users to add types to `i18next` default PluginOptions. + */ +export interface CustomPluginOptions {} + +export type TypeOptions = $MergeBy< + { + /** @see {InitOptions.returnNull} */ + returnNull: false; + + /** @see {InitOptions.returnEmptyString} */ + returnEmptyString: true; + + /** @see {InitOptions.returnObjects} */ + returnObjects: false; + + /** @see {InitOptions.keySeparator} */ + keySeparator: '.'; + + /** @see {InitOptions.nsSeparator} */ + nsSeparator: ':'; + + /** @see {InitOptions.pluralSeparator} */ + pluralSeparator: '_'; + + /** @see {InitOptions.contextSeparator} */ + contextSeparator: '_'; + + /** @see {InitOptions.defaultNS} */ + defaultNS: 'translation'; + + /** @see {InitOptions.fallbackNS} */ + fallbackNS: false; + + /** @see {InitOptions.compatibilityJSON} */ + compatibilityJSON: 'v4'; + + /** @see {InitOptions.resources} */ + resources: object; + + /** + * Flag that allows HTML elements to receive objects. This is only useful for React applications + * where you pass objects to HTML elements so they can be replaced to their respective interpolation + * values (mostly with Trans component) + */ + allowObjectInHTMLChildren: false; + + /** + * Flag that enables strict key checking even if a `defaultValue` has been provided. + * This ensures all calls of `t` function don't accidentally use implicitly missing keys. + */ + strictKeyChecks: false; + + /** + * Prefix for interpolation + */ + interpolationPrefix: '{{'; + + /** + * Suffix for interpolation + */ + interpolationSuffix: '}}'; + + /** @see {InterpolationOptions.unescapePrefix} */ + unescapePrefix: '-'; + + /** @see {InterpolationOptions.unescapeSuffix} */ + unescapeSuffix: ''; + }, + CustomTypeOptions +>; + +export type PluginOptions = $MergeBy< + { + /** + * Options for language detection - check documentation of plugin + * @default undefined + */ + detection?: object; + + /** + * Options for backend - check documentation of plugin + * @default undefined + */ + backend?: T; + + /** + * Options for cache layer - check documentation of plugin + * @default undefined + */ + cache?: object; + + /** + * Options for i18n message format - check documentation of plugin + * @default undefined + */ + i18nFormat?: object; + }, + CustomPluginOptions +>; + +export type FormatFunction = ( + value: any, + format?: string, + lng?: string, + options?: InterpolationOptions & $Dictionary, +) => string; + +export interface InterpolationOptions { + /** + * Format function see formatting for details + * @default noop + */ + format?: FormatFunction; + /** + * Used to separate format from interpolation value + * @default ',' + */ + formatSeparator?: string; + /** + * Escape function + * @default str => str + */ + escape?(str: string): string; + + /** + * Always format interpolated values. + * @default false + */ + alwaysFormat?: boolean; + /** + * Escape passed in values to avoid xss injection + * @default true + */ + escapeValue?: boolean; + /** + * If true, then value passed into escape function is not casted to string, use with custom escape function that does its own type check + * @default false + */ + useRawValueToEscape?: boolean; + /** + * Prefix for interpolation + * @default '{{' + */ + prefix?: string; + /** + * Suffix for interpolation + * @default '}}' + */ + suffix?: string; + /** + * Escaped prefix for interpolation (regexSafe) + * @default undefined + */ + prefixEscaped?: string; + /** + * Escaped suffix for interpolation (regexSafe) + * @default undefined + */ + suffixEscaped?: string; + /** + * Suffix to unescaped mode + * @default undefined + */ + unescapeSuffix?: string; + /** + * Prefix to unescaped mode + * @default '-' + */ + unescapePrefix?: string; + /** + * Prefix for nesting + * @default '$t(' + */ + nestingPrefix?: string; + /** + * Suffix for nesting + * @default ')' + */ + nestingSuffix?: string; + /** + * Escaped prefix for nesting (regexSafe) + * @default undefined + */ + nestingPrefixEscaped?: string; + /** + * Escaped suffix for nesting (regexSafe) + * @default undefined + */ + nestingSuffixEscaped?: string; + /** + * Separates options from key + * @default ',' + */ + nestingOptionsSeparator?: string; + /** + * Global variables to use in interpolation replacements + * @default undefined + */ + + defaultVariables?: { [index: string]: any }; + /** + * After how many interpolation runs to break out before throwing a stack overflow + * @default 1000 + */ + maxReplaces?: number; + + /** + * If true, it will skip to interpolate the variables + * @default true + */ + skipOnVariables?: boolean; +} + +export interface FallbackLngObjList { + [language: string]: readonly string[]; +} + +export type FallbackLng = + | string + | readonly string[] + | FallbackLngObjList + | ((code: string) => string | readonly string[] | FallbackLngObjList); + +export interface ReactOptions { + /** + * Set it to fallback to let passed namespaces to translated hoc act as fallbacks + * @default 'default' + */ + nsMode?: 'default' | 'fallback'; + /** + * Set it to the default parent element created by the Trans component. + * @default 'div' + */ + defaultTransParent?: string; + /** + * Set which events trigger a re-render, can be set to false or string of events + * @default 'languageChanged' + */ + bindI18n?: string | false; + /** + * Set which events on store trigger a re-render, can be set to false or string of events + * @default '' + */ + bindI18nStore?: string | false; + /** + * Set fallback value for Trans components without children + * @default undefined + */ + transEmptyNodeValue?: string; + /** + * Set it to false if you do not want to use Suspense + * @default true + */ + useSuspense?: boolean; + /** + * Function to generate an i18nKey from the defaultValue (or Trans children) + * when no key is provided. + * By default, the defaultValue (Trans text) itself is used as the key. + * If you want to require keys for all translations, supply a function + * that always throws an error. + * @default undefined + */ + hashTransKey?(defaultValue: TOptionsBase['defaultValue']): TOptionsBase['defaultValue']; + /** + * Convert eg.
found in translations to a react component of type br + * @default true + */ + transSupportBasicHtmlNodes?: boolean; + /** + * Which nodes not to convert in defaultValue generation in the Trans component. + * @default ['br', 'strong', 'i', 'p'] + */ + transKeepBasicHtmlNodesFor?: readonly string[]; + /** + * Wrap text nodes in a user-specified element. + * @default '' + */ + transWrapTextNodes?: string; + /** + * Optional keyPrefix that will be automatically applied to returned t function in useTranslation for example. + * @default undefined + */ + keyPrefix?: string; + /** + * Unescape function + * by default it unescapes some basic html entities + */ + unescape?(str: string): string; +} + +export type ResourceKey = + | string + | { + [key: string]: any; + }; + +export interface ResourceLanguage { + [namespace: string]: ResourceKey; +} + +export interface Resource { + [language: string]: ResourceLanguage; +} + +export interface InitOptions extends PluginOptions { + /** + * Logs info level to console output. Helps finding issues with loading not working. + * @default false + */ + debug?: boolean; + + /** + * Resources to initialize with (if not using loading or not appending using addResourceBundle) + * @default undefined + */ + resources?: Resource; + + /** + * Allow initializing with bundled resources while using a backend to load non bundled ones. + * @default false + */ + partialBundledLanguages?: boolean; + + /** + * Language to use (overrides language detection) + * @default undefined + */ + lng?: string; + + /** + * Language to use if translations in user language are not available. + * @default 'dev' + */ + fallbackLng?: false | FallbackLng; + + /** + * Array of allowed languages + * @default false + */ + supportedLngs?: false | readonly string[]; + + /** + * If true will pass eg. en-US if finding en in supportedLngs + * @default false + */ + nonExplicitSupportedLngs?: boolean; + + /** + * Language codes to lookup, given set language is + * 'en-US': 'all' --> ['en-US', 'en', 'dev'], + * 'currentOnly' --> 'en-US', + * 'languageOnly' --> 'en' + * @default 'all' + */ + load?: 'all' | 'currentOnly' | 'languageOnly'; + + /** + * Array of languages to preload. Important on server-side to assert translations are loaded before rendering views. + * @default false + */ + preload?: false | readonly string[]; + + /** + * Language will be lowercased eg. en-US --> en-us + * @default false + */ + lowerCaseLng?: boolean; + + /** + * Language will be lowercased EN --> en while leaving full locales like en-US + * @default false + */ + cleanCode?: boolean; + + /** + * String or array of namespaces to load + * @default 'translation' + */ + ns?: string | readonly string[]; + + /** + * Default namespace used if not passed to translation function + * @default 'translation' + */ + defaultNS?: string | false | readonly string[]; + + /** + * String or array of namespaces to lookup key if not found in given namespace. + * @default false + */ + fallbackNS?: false | string | readonly string[]; + + /** + * Calls save missing key function on backend if key not found. + * @default false + */ + saveMissing?: boolean; + + /** + * Calls save missing key function on backend if key not found also for plural forms. + * @default false + */ + saveMissingPlurals?: boolean; + + /** + * Experimental: enable to update default values using the saveMissing + * (Works only if defaultValue different from translated value. + * Only useful on initial development or when keeping code as source of truth not changing values outside of code. + * Only supported if backend supports it already) + * @default false + */ + updateMissing?: boolean; + + /** + * @default 'fallback' + */ + saveMissingTo?: 'current' | 'all' | 'fallback'; + + /** + * Used to not fallback to the key as default value, when using saveMissing functionality. + * i.e. when using with i18next-http-backend this will result in having a key with an empty string value. + * @default false + */ + missingKeyNoValueFallbackToKey?: boolean; + + /** + * Used for custom missing key handling (needs saveMissing set to true!) + * @default false + */ + missingKeyHandler?: + | false + | (( + lngs: readonly string[], + ns: string, + key: string, + fallbackValue: string, + updateMissing: boolean, + options: any, + ) => void); + + /** + * Receives a key that was not found in `t()` and returns a value, that will be returned by `t()` + * @default noop + */ + parseMissingKeyHandler?(key: string, defaultValue?: string, options?: any): any; + + /** + * Appends namespace to missing key + * @default false + */ + appendNamespaceToMissingKey?: boolean; + + /** + * Gets called in case a interpolation value is undefined. This method will not be called if the value is empty string or null + * @default noop + */ + missingInterpolationHandler?: (text: string, value: any, options: InitOptions) => any; + + /** + * Will use 'plural' as suffix for languages only having 1 plural form, setting it to false will suffix all with numbers + * @default true + */ + simplifyPluralSuffix?: boolean; + + /** + * String or array of postProcessors to apply per default + * @default false + */ + postProcess?: false | string | readonly string[]; + + /** + * passthrough the resolved object including 'usedNS', 'usedLang' etc into options object of postprocessors as 'i18nResolved' property + * @default false + */ + postProcessPassResolved?: boolean; + + /** + * Allows null values as valid translation + * @default false + */ + returnNull?: boolean; + + /** + * Allows empty string as valid translation + * @default true + */ + returnEmptyString?: boolean; + + /** + * Allows objects as valid translation result + * @default false + */ + returnObjects?: boolean; + + /** + * Returns an object that includes information about the used language, namespace, key and value + * @default false + */ + returnDetails?: boolean; + + /** + * Gets called if object was passed in as key but returnObjects was set to false + * @default noop + */ + returnedObjectHandler?(key: string, value: string, options: any): void; + + /** + * Char, eg. '\n' that arrays will be joined by + * @default false + */ + joinArrays?: false | string; + + /** + * Sets defaultValue + * @default args => ({ defaultValue: args[1] }) + */ + overloadTranslationOptionHandler?(args: string[]): TOptions; + + /** + * @see https://www.i18next.com/translation-function/interpolation + */ + interpolation?: InterpolationOptions; + + /** + * Options for react - check documentation of plugin + * @default undefined + */ + react?: ReactOptions; + + /** + * Triggers resource loading in init function inside a setTimeout (default async behaviour). + * Set it to false if your backend loads resources sync - that way calling i18next.t after + * init is possible without relaying on the init callback. + * @default true + */ + initAsync?: boolean; + + /** + * @deprecated Use initAsync instead. + */ + initImmediate?: boolean; + + /** + * Char to separate keys + * @default '.' + */ + keySeparator?: false | string; + + /** + * Char to split namespace from key + * @default ':' + */ + nsSeparator?: false | string; + + /** + * Char to split plural from key + * @default '_' + */ + pluralSeparator?: string; + + /** + * Char to split context from key + * @default '_' + */ + contextSeparator?: string; + + /** + * Prefixes the namespace to the returned key when using `cimode` + * @default false + */ + appendNamespaceToCIMode?: boolean; + + /** + * Compatibility JSON version + * @warning only `v4` is available and supported by typescript + * @default 'v4' + */ + compatibilityJSON?: 'v4'; + + /** + * Options for https://github.com/locize/locize-lastused + * @default undefined + */ + locizeLastUsed?: { + /** + * The id of your locize project + */ + projectId: string; + + /** + * An api key if you want to send missing keys + */ + apiKey?: string; + + /** + * The reference language of your project + * @default 'en' + */ + referenceLng?: string; + + /** + * Version + * @default 'latest' + */ + version?: string; + + /** + * Debounce interval to send data in milliseconds + * @default 90000 + */ + debounceSubmit?: number; + + /** + * Hostnames that are allowed to send last used data. + * Please keep those to your local system, staging, test servers (not production) + * @default ['localhost'] + */ + allowedHosts?: readonly string[]; + }; + + /** + * Automatically lookup for a flat key if a nested key is not found an vice-versa + * @default true + */ + ignoreJSONStructure?: boolean; + + /** + * Limit parallelism of calls to backend + * This is needed to prevent trying to open thousands of + * sockets or file descriptors, which can cause failures + * and actually make the entire process take longer. + * @default 10 + */ + maxParallelReads?: number; + + /** + * The maximum number of retries to perform. + * Note that retries are only performed when a request has no response + * and throws an error. + * The default value is used if value is set below 0. + * @default 5 + */ + maxRetries?: number; + + /** + * Set how long to wait, in milliseconds, between retries of failed requests. + * This number is compounded by a factor of 2 for subsequent retry. + * The default value is used if value is set below 1ms. + * @default 350 + */ + retryTimeout?: number; + + /** + * Initializes the internal formatter for the in-built formats as cached version. + * Can be set to false for this type of issues: https://github.com/i18next/i18next/issues/2227 + * @default true + */ + cacheInBuiltFormats?: boolean; +} + +export interface TOptionsBase { + /** + * Default value to return if a translation was not found + */ + defaultValue?: unknown; + /** + * Count value used for plurals + */ + count?: number; + /** + * Ordinal flag for ordinal plurals + */ + ordinal?: boolean; + /** + * Used for contexts (eg. male\female) + */ + context?: unknown; + /** + * Object with vars for interpolation - or put them directly in options + */ + replace?: any; + /** + * Override language to use + */ + lng?: string; + /** + * Override languages to use + */ + lngs?: readonly string[]; + /** + * Override language to lookup key if not found see fallbacks for details + */ + fallbackLng?: FallbackLng; + /** + * Override namespaces (string or array) + */ + ns?: Namespace; + /** + * Override char to separate keys + */ + keySeparator?: false | string; + /** + * Override char to split namespace from key + */ + nsSeparator?: false | string; + /** + * Accessing an object not a translation string (can be set globally too) + */ + returnObjects?: boolean; + /** + * Returns an object that includes information about the used language, namespace, key and value + */ + returnDetails?: boolean; + /** + * Char, eg. '\n' that arrays will be joined by (can be set globally too) + */ + joinArrays?: string; + /** + * String or array of postProcessors to apply see interval plurals as a sample + */ + postProcess?: string | readonly string[]; + /** + * Override interpolation options + */ + interpolation?: InterpolationOptions; +} + +export type TOptions = TOptionsBase & + TInterpolationMap; + +export type FlatNamespace = $PreservedValue; +export type Namespace = T | readonly T[]; +export type DefaultNamespace = TypeOptions['defaultNS']; diff --git a/node_modules/i18next/typescript/t.d.ts b/node_modules/i18next/typescript/t.d.ts new file mode 100644 index 00000000..88f255bf --- /dev/null +++ b/node_modules/i18next/typescript/t.d.ts @@ -0,0 +1,328 @@ +import type { + $OmitArrayKeys, + $PreservedValue, + $Dictionary, + $SpecialObject, + $StringKeyPathToRecord, + $NoInfer, +} from './helpers.js'; +import type { + TypeOptions, + Namespace, + FlatNamespace, + DefaultNamespace, + TOptions, +} from './options.js'; + +/** @todo consider to replace {} with Record */ +/* eslint @typescript-eslint/ban-types: ['error', { types: { "{}": false } }] */ + +// Type Options +type _ReturnObjects = TypeOptions['returnObjects']; +type _ReturnEmptyString = TypeOptions['returnEmptyString']; +type _ReturnNull = TypeOptions['returnNull']; +type _KeySeparator = TypeOptions['keySeparator']; +type _NsSeparator = TypeOptions['nsSeparator']; +type _PluralSeparator = TypeOptions['pluralSeparator']; +type _ContextSeparator = TypeOptions['contextSeparator']; +type _FallbackNamespace = TypeOptions['fallbackNS']; +type _Resources = TypeOptions['resources']; +type _CompatibilityJSON = TypeOptions['compatibilityJSON']; +type _InterpolationPrefix = TypeOptions['interpolationPrefix']; +type _InterpolationSuffix = TypeOptions['interpolationSuffix']; +type _UnescapePrefix = TypeOptions['unescapePrefix']; +type _UnescapeSuffix = TypeOptions['unescapeSuffix']; +type _StrictKeyChecks = TypeOptions['strictKeyChecks']; + +type $IsResourcesDefined = [keyof _Resources] extends [never] ? false : true; +type $ValueIfResourcesDefined = $IsResourcesDefined extends true + ? Value + : Fallback; +type $FirstNamespace = Ns extends readonly any[] ? Ns[0] : Ns; + +type Resources = $ValueIfResourcesDefined<_Resources, $Dictionary>; + +type PluralSuffix = 'zero' | 'one' | 'two' | 'few' | 'many' | 'other'; + +type WithOrWithoutPlural = _CompatibilityJSON extends 'v4' + ? Key extends `${infer KeyWithoutOrdinalPlural}${_PluralSeparator}ordinal${_PluralSeparator}${PluralSuffix}` + ? KeyWithoutOrdinalPlural | Key + : Key extends `${infer KeyWithoutPlural}${_PluralSeparator}${PluralSuffix}` + ? KeyWithoutPlural | Key + : Key + : Key; + +type JoinKeys = `${K1 & string}${_KeySeparator}${K2 & string}`; +type AppendNamespace = `${Ns & string}${_NsSeparator}${Keys & string}`; + +type TrimSpaces = T extends `${infer Char}${infer Rest}` + ? Char extends ' ' + ? TrimSpaces + : TrimSpaces + : T extends '' + ? Acc + : never; + +/** **************************************************** + * Build all keys and key prefixes based on Resources * + ***************************************************** */ +type KeysBuilderWithReturnObjects = Key extends keyof Res + ? Res[Key] extends $Dictionary | readonly unknown[] + ? + | JoinKeys>> + | JoinKeys> + : never + : never; + +type KeysBuilderWithoutReturnObjects> = Key extends keyof Res + ? Res[Key] extends $Dictionary | readonly unknown[] + ? JoinKeys> + : Key + : never; + +type KeysBuilder = $IsResourcesDefined extends true + ? WithReturnObjects extends true + ? keyof Res | KeysBuilderWithReturnObjects + : KeysBuilderWithoutReturnObjects + : string; + +type KeysWithReturnObjects = { + [Ns in FlatNamespace]: WithOrWithoutPlural>; +}; +type KeysWithoutReturnObjects = { + [Ns in FlatNamespace]: WithOrWithoutPlural>; +}; + +type ResourceKeys = WithReturnObjects extends true + ? KeysWithReturnObjects + : KeysWithoutReturnObjects; + +/** ********************************************************************** + * Parse t function keys based on the namespace, options and key prefix * + *********************************************************************** */ +export type KeysByTOptions = TOpt['returnObjects'] extends true + ? ResourceKeys + : ResourceKeys; + +export type NsByTOptions = TOpt['ns'] extends Namespace + ? TOpt['ns'] + : Ns; + +type ParseKeysByKeyPrefix = KPrefix extends string + ? Keys extends `${KPrefix}${_KeySeparator}${infer Key}` + ? Key + : never + : Keys; + +type ParseKeysByNamespaces = Ns extends readonly (infer UnionNsps)[] + ? UnionNsps extends keyof Keys + ? AppendNamespace + : never + : never; + +type ParseKeysByFallbackNs = _FallbackNamespace extends false + ? never + : _FallbackNamespace extends (infer UnionFallbackNs extends string)[] + ? Keys[UnionFallbackNs] + : Keys[_FallbackNamespace & string]; + +export type FilterKeysByContext = Context extends string + ? Keys extends + | `${infer Prefix}${_ContextSeparator}${Context}${_PluralSeparator}${PluralSuffix}` + | `${infer Prefix}${_ContextSeparator}${Context}` + ? Prefix + : never + : Keys; + +export type ParseKeys< + Ns extends Namespace = DefaultNamespace, + TOpt extends TOptions = {}, + KPrefix = undefined, + Keys extends $Dictionary = KeysByTOptions, + ActualNS extends Namespace = NsByTOptions, + Context extends TOpt['context'] = TOpt['context'], +> = $IsResourcesDefined extends true + ? FilterKeysByContext< + | ParseKeysByKeyPrefix], KPrefix> + | ParseKeysByNamespaces + | ParseKeysByFallbackNs, + Context + > + : string; + +/** ******************************************************* + * Parse t function return type and interpolation values * + ******************************************************** */ +type ParseActualValue = Ret extends `${_UnescapePrefix}${infer ActualValue}${_UnescapeSuffix}` + ? TrimSpaces + : Ret; + +type ParseInterpolationValues = + Ret extends `${string}${_InterpolationPrefix}${infer Value}${_InterpolationSuffix}${infer Rest}` + ? + | (Value extends `${infer ActualValue},${string}` + ? ParseActualValue + : ParseActualValue) + | ParseInterpolationValues + : never; + +type InterpolationMap = $PreservedValue< + $StringKeyPathToRecord, unknown>, + Record +>; + +type ParseTReturnPlural< + Res, + Key, + KeyWithPlural = `${Key & string}${_PluralSeparator}${PluralSuffix}`, +> = Res[(KeyWithPlural | Key) & keyof Res]; + +type ParseTReturnPluralOrdinal< + Res, + Key, + KeyWithOrdinalPlural = `${Key & + string}${_PluralSeparator}ordinal${_PluralSeparator}${PluralSuffix}`, +> = Res[(KeyWithOrdinalPlural | Key) & keyof Res]; + +type ParseTReturnWithFallback = Val extends '' + ? _ReturnEmptyString extends true + ? '' + : Key + : Val extends null + ? _ReturnNull extends true + ? null + : Key + : Val; + +type ParseTReturn = ParseTReturnWithFallback< + Key, + Key extends `${infer K1}${_KeySeparator}${infer RestKey}` + ? ParseTReturn + : // Process plurals only if count is provided inside options + TOpt['count'] extends number + ? TOpt['ordinal'] extends boolean + ? ParseTReturnPluralOrdinal + : ParseTReturnPlural + : // otherwise access plain key without adding plural and ordinal suffixes + Res extends readonly unknown[] + ? Key extends `${infer NKey extends number}` + ? Res[NKey] + : never + : Res[Key & keyof Res] +>; + +type TReturnOptionalNull = _ReturnNull extends true ? null : never; +type TReturnOptionalObjects = _ReturnObjects extends true + ? $SpecialObject | string + : TOpt['returnObjects'] extends true + ? $SpecialObject + : string; +type DefaultTReturn = TReturnOptionalObjects | TReturnOptionalNull; + +export type KeyWithContext = TOpt['context'] extends string + ? `${Key & string}${_ContextSeparator}${TOpt['context']}` + : Key; + +export type TFunctionReturn< + Ns extends Namespace, + Key, + TOpt extends TOptions, + ActualNS extends Namespace = NsByTOptions, + ActualKey = KeyWithContext, +> = $IsResourcesDefined extends true + ? ActualKey extends `${infer Nsp}${_NsSeparator}${infer RestKey}` + ? ParseTReturn + : ParseTReturn], TOpt> + : DefaultTReturn; + +export type TFunctionDetailedResult = { + /** + * The plain used key + */ + usedKey: string; + /** + * The translation result. + */ + res: T; + /** + * The key with context / plural + */ + exactUsedKey: string; + /** + * The used language for this translation. + */ + usedLng: string; + /** + * The used namespace for this translation. + */ + usedNS: string; + /** + * The parameters used for interpolation. + */ + usedParams: InterpolationMap & { count?: TOpt['count'] }; +}; + +type TFunctionProcessReturnValue = Ret extends string | $SpecialObject | null + ? Ret + : [DefaultValue] extends [never] + ? Ret + : DefaultValue; + +type TFunctionReturnOptionalDetails = TOpt['returnDetails'] extends true + ? TFunctionDetailedResult + : Ret; + +type AppendKeyPrefix = KPrefix extends string + ? `${KPrefix}${_KeySeparator}${Key & string}` + : Key; + +/** ************************ + * T function declaration * + ************************* */ + +interface TFunctionStrict { + $TFunctionBrand: $IsResourcesDefined extends true ? `${$FirstNamespace}` : never; + < + const Key extends ParseKeys | TemplateStringsArray, + const TOpt extends TOptions, + Ret extends TFunctionReturn, TOpt>, + >( + key: Key | Key[], + options?: TOpt & InterpolationMap, + ): TFunctionReturnOptionalDetails, never>, TOpt>; + < + const Key extends ParseKeys | TemplateStringsArray, + const TOpt extends TOptions, + Ret extends TFunctionReturn, TOpt>, + >( + key: Key | Key[], + defaultValue: string, + options?: TOpt & InterpolationMap, + ): TFunctionReturnOptionalDetails, never>, TOpt>; +} + +interface TFunctionNonStrict { + $TFunctionBrand: $IsResourcesDefined extends true ? `${$FirstNamespace}` : never; + < + const Key extends ParseKeys | TemplateStringsArray, + const TOpt extends TOptions, + Ret extends TFunctionReturn, TOpt>, + const ActualOptions extends TOpt & InterpolationMap = TOpt & InterpolationMap, + DefaultValue extends string = never, + >( + ...args: + | [key: Key | Key[], options?: ActualOptions] + | [key: string | string[], options: TOpt & $Dictionary & { defaultValue: DefaultValue }] + | [key: string | string[], defaultValue: DefaultValue, options?: TOpt & $Dictionary] + ): TFunctionReturnOptionalDetails, DefaultValue>, TOpt>; +} + +type TFunctionSignature< + Ns extends Namespace = DefaultNamespace, + KPrefix = undefined, +> = _StrictKeyChecks extends true ? TFunctionStrict : TFunctionNonStrict; + +export interface TFunction + extends TFunctionSignature {} + +export type KeyPrefix = ResourceKeys[$FirstNamespace] | undefined; diff --git a/node_modules/iso-639-1/.eslintrc b/node_modules/iso-639-1/.eslintrc new file mode 100644 index 00000000..1ae9ef84 --- /dev/null +++ b/node_modules/iso-639-1/.eslintrc @@ -0,0 +1,38 @@ +{ + // 基于 airbnb 规则 + "extends": "airbnb", + // 使用 babel 解析器,支持一些还没有进入 ES6+ 标准的特性。比如 class property + "parser": "babel-eslint", + // 解析 webpack alias 中的模块名 + "settings": { + "import/resolver": "webpack" + }, + "env": { + "browser": true + }, + "rules": { + "no-plusplus": [ + "error", + { + // 允许 for 循环中的 i++ + "allowForLoopAfterthoughts": true + } + ], + "no-param-reassign": [ + "error", + { + // 允许修改参数的属性 + "props": false + } + ], + // 允许在循环里使用 await + "no-await-in-loop": 0, + // 允许在一个表达式里使用多种操作符,否则与 prettier 冲突 + // see https://github.com/prettier/eslint-config-prettier#no-mixed-operators + "no-mixed-operators": 0, + // 允许在 jsx 中使用 bind + "react/jsx-no-bind": 0, + // 允许所有类型的 proptype + "react/forbid-prop-types": 0 + } +} \ No newline at end of file diff --git a/node_modules/iso-639-1/.nvmrc b/node_modules/iso-639-1/.nvmrc new file mode 100644 index 00000000..ddc92898 --- /dev/null +++ b/node_modules/iso-639-1/.nvmrc @@ -0,0 +1 @@ +14.17 \ No newline at end of file diff --git a/node_modules/iso-639-1/.prettierrc b/node_modules/iso-639-1/.prettierrc new file mode 100644 index 00000000..dcb72794 --- /dev/null +++ b/node_modules/iso-639-1/.prettierrc @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "trailingComma": "all" +} \ No newline at end of file diff --git a/node_modules/iso-639-1/.travis.yml b/node_modules/iso-639-1/.travis.yml new file mode 100644 index 00000000..734ba64f --- /dev/null +++ b/node_modules/iso-639-1/.travis.yml @@ -0,0 +1,6 @@ +language: node_js +node_js: + - '8.0' + - '6.1' +script: + - npm run test \ No newline at end of file diff --git a/node_modules/iso-639-1/.vscode/settings.json b/node_modules/iso-639-1/.vscode/settings.json new file mode 100644 index 00000000..d563084a --- /dev/null +++ b/node_modules/iso-639-1/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "eslint.enable": true, + "eslint.packageManager": "yarn", + "prettier.eslintIntegration": true +} \ No newline at end of file diff --git a/node_modules/iso-639-1/CHANGELOG.md b/node_modules/iso-639-1/CHANGELOG.md new file mode 100644 index 00000000..965378b9 --- /dev/null +++ b/node_modules/iso-639-1/CHANGELOG.md @@ -0,0 +1,34 @@ +# iso-639-1 Changelog + +## v2.1.14 +- Bump async from 2.6.0 to 2.6.4 [#53](https://github.com/meikidd/iso-639-1/pull/53) +- Add a type to list the langage codes in the TS definition file [#55](https://github.com/meikidd/iso-639-1/pull/55) + +## v2.1.13 +- update Arabic native name [#50](https://github.com/meikidd/iso-639-1/pull/50) + +## v2.1.12 +- remove 'bh' [#51](https://github.com/meikidd/iso-639-1/pull/51) +- fj native name changed to "vosa Vakaviti" [#51](https://github.com/meikidd/iso-639-1/pull/51) +- dv native name changed to "ދިވެހި" [#51](https://github.com/meikidd/iso-639-1/pull/51) +- lo native name changed to "ພາສາລາວ" [#51](https://github.com/meikidd/iso-639-1/pull/51) +- ms native name changed to "Bahasa Melayu" [#51](https://github.com/meikidd/iso-639-1/pull/51) +- lu native name changed to "Kiluba" [#51](https://github.com/meikidd/iso-639-1/pull/51) +- na native name changed to "Dorerin Naoero" [#51](https://github.com/meikidd/iso-639-1/pull/51) +- tk native name changed to "Türkmençe" [#51](https://github.com/meikidd/iso-639-1/pull/51) + +## v2.1.11 +- Slovenian native name "slovenski jezik" -> "slovenščina" [#49](https://github.com/meikidd/iso-639-1/pull/49) + +## v2.1.10 +- Polish native name "język polski" -> "Polski" [#48](https://github.com/meikidd/iso-639-1/pull/48) + +## v2.1.9 +- Change hu native name "Magyar" -> "magyar" [#40](https://github.com/meikidd/iso-639-1/pull/40) + +## v2.1.8 +- Change hr native name "hrvatski jezik" -> "Hrvatski" +- Change sl English name "Slovene" -> "Slovenian" + +## v2.1.0 +- Correctly handle prototype property names passed as codes [#20](https://github.com/meikidd/iso-639-1/issues/20) \ No newline at end of file diff --git a/node_modules/iso-639-1/LICENSE b/node_modules/iso-639-1/LICENSE new file mode 100644 index 00000000..8e3035e0 --- /dev/null +++ b/node_modules/iso-639-1/LICENSE @@ -0,0 +1,21 @@ +This software is licensed under the MIT License. + +Copyright(c) by Mei Qingguang + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. \ No newline at end of file diff --git a/node_modules/iso-639-1/build/index.js b/node_modules/iso-639-1/build/index.js new file mode 100644 index 00000000..f1fcbb11 --- /dev/null +++ b/node_modules/iso-639-1/build/index.js @@ -0,0 +1,1643 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["ISO6391"] = factory(); + else + root["ISO6391"] = factory(); +})(typeof self !== 'undefined' ? self : this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "./src/index.js"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "./node_modules/babel-runtime/core-js/object/define-property.js": +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/object/define-property.js"), __esModule: true }; + +/***/ }), + +/***/ "./node_modules/babel-runtime/core-js/object/keys.js": +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/object/keys.js"), __esModule: true }; + +/***/ }), + +/***/ "./node_modules/babel-runtime/core-js/object/values.js": +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__("./node_modules/core-js/library/fn/object/values.js"), __esModule: true }; + +/***/ }), + +/***/ "./node_modules/babel-runtime/helpers/classCallCheck.js": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +exports.default = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; + +/***/ }), + +/***/ "./node_modules/babel-runtime/helpers/createClass.js": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _defineProperty = __webpack_require__("./node_modules/babel-runtime/core-js/object/define-property.js"); + +var _defineProperty2 = _interopRequireDefault(_defineProperty); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + (0, _defineProperty2.default)(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; +}(); + +/***/ }), + +/***/ "./node_modules/core-js/library/fn/object/define-property.js": +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__("./node_modules/core-js/library/modules/es6.object.define-property.js"); +var $Object = __webpack_require__("./node_modules/core-js/library/modules/_core.js").Object; +module.exports = function defineProperty(it, key, desc) { + return $Object.defineProperty(it, key, desc); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/fn/object/keys.js": +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__("./node_modules/core-js/library/modules/es6.object.keys.js"); +module.exports = __webpack_require__("./node_modules/core-js/library/modules/_core.js").Object.keys; + + +/***/ }), + +/***/ "./node_modules/core-js/library/fn/object/values.js": +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__("./node_modules/core-js/library/modules/es7.object.values.js"); +module.exports = __webpack_require__("./node_modules/core-js/library/modules/_core.js").Object.values; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_a-function.js": +/***/ (function(module, exports) { + +module.exports = function (it) { + if (typeof it != 'function') throw TypeError(it + ' is not a function!'); + return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_an-object.js": +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__("./node_modules/core-js/library/modules/_is-object.js"); +module.exports = function (it) { + if (!isObject(it)) throw TypeError(it + ' is not an object!'); + return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_array-includes.js": +/***/ (function(module, exports, __webpack_require__) { + +// false -> Array#indexOf +// true -> Array#includes +var toIObject = __webpack_require__("./node_modules/core-js/library/modules/_to-iobject.js"); +var toLength = __webpack_require__("./node_modules/core-js/library/modules/_to-length.js"); +var toAbsoluteIndex = __webpack_require__("./node_modules/core-js/library/modules/_to-absolute-index.js"); +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_cof.js": +/***/ (function(module, exports) { + +var toString = {}.toString; + +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_core.js": +/***/ (function(module, exports) { + +var core = module.exports = { version: '2.6.9' }; +if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_ctx.js": +/***/ (function(module, exports, __webpack_require__) { + +// optional / simple context binding +var aFunction = __webpack_require__("./node_modules/core-js/library/modules/_a-function.js"); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_defined.js": +/***/ (function(module, exports) { + +// 7.2.1 RequireObjectCoercible(argument) +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_descriptors.js": +/***/ (function(module, exports, __webpack_require__) { + +// Thank's IE8 for his funny defineProperty +module.exports = !__webpack_require__("./node_modules/core-js/library/modules/_fails.js")(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_dom-create.js": +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__("./node_modules/core-js/library/modules/_is-object.js"); +var document = __webpack_require__("./node_modules/core-js/library/modules/_global.js").document; +// typeof document.createElement is 'object' in old IE +var is = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return is ? document.createElement(it) : {}; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_enum-bug-keys.js": +/***/ (function(module, exports) { + +// IE 8- don't enum bug keys +module.exports = ( + 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' +).split(','); + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_export.js": +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__("./node_modules/core-js/library/modules/_global.js"); +var core = __webpack_require__("./node_modules/core-js/library/modules/_core.js"); +var ctx = __webpack_require__("./node_modules/core-js/library/modules/_ctx.js"); +var hide = __webpack_require__("./node_modules/core-js/library/modules/_hide.js"); +var has = __webpack_require__("./node_modules/core-js/library/modules/_has.js"); +var PROTOTYPE = 'prototype'; + +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var IS_WRAP = type & $export.W; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE]; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; + var key, own, out; + if (IS_GLOBAL) source = name; + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + if (own && has(exports, key)) continue; + // export native or passed + out = own ? target[key] : source[key]; + // prevent global pollution for namespaces + exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] + // bind timers to global for call from export context + : IS_BIND && own ? ctx(out, global) + // wrap global constructors for prevent change them in library + : IS_WRAP && target[key] == out ? (function (C) { + var F = function (a, b, c) { + if (this instanceof C) { + switch (arguments.length) { + case 0: return new C(); + case 1: return new C(a); + case 2: return new C(a, b); + } return new C(a, b, c); + } return C.apply(this, arguments); + }; + F[PROTOTYPE] = C[PROTOTYPE]; + return F; + // make static versions for prototype methods + })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% + if (IS_PROTO) { + (exports.virtual || (exports.virtual = {}))[key] = out; + // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% + if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); + } + } +}; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +$export.U = 64; // safe +$export.R = 128; // real proto method for `library` +module.exports = $export; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_fails.js": +/***/ (function(module, exports) { + +module.exports = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_global.js": +/***/ (function(module, exports) { + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); +if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_has.js": +/***/ (function(module, exports) { + +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_hide.js": +/***/ (function(module, exports, __webpack_require__) { + +var dP = __webpack_require__("./node_modules/core-js/library/modules/_object-dp.js"); +var createDesc = __webpack_require__("./node_modules/core-js/library/modules/_property-desc.js"); +module.exports = __webpack_require__("./node_modules/core-js/library/modules/_descriptors.js") ? function (object, key, value) { + return dP.f(object, key, createDesc(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_ie8-dom-define.js": +/***/ (function(module, exports, __webpack_require__) { + +module.exports = !__webpack_require__("./node_modules/core-js/library/modules/_descriptors.js") && !__webpack_require__("./node_modules/core-js/library/modules/_fails.js")(function () { + return Object.defineProperty(__webpack_require__("./node_modules/core-js/library/modules/_dom-create.js")('div'), 'a', { get: function () { return 7; } }).a != 7; +}); + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_iobject.js": +/***/ (function(module, exports, __webpack_require__) { + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var cof = __webpack_require__("./node_modules/core-js/library/modules/_cof.js"); +// eslint-disable-next-line no-prototype-builtins +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { + return cof(it) == 'String' ? it.split('') : Object(it); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_is-object.js": +/***/ (function(module, exports) { + +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_library.js": +/***/ (function(module, exports) { + +module.exports = true; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_object-dp.js": +/***/ (function(module, exports, __webpack_require__) { + +var anObject = __webpack_require__("./node_modules/core-js/library/modules/_an-object.js"); +var IE8_DOM_DEFINE = __webpack_require__("./node_modules/core-js/library/modules/_ie8-dom-define.js"); +var toPrimitive = __webpack_require__("./node_modules/core-js/library/modules/_to-primitive.js"); +var dP = Object.defineProperty; + +exports.f = __webpack_require__("./node_modules/core-js/library/modules/_descriptors.js") ? Object.defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return dP(O, P, Attributes); + } catch (e) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_object-keys-internal.js": +/***/ (function(module, exports, __webpack_require__) { + +var has = __webpack_require__("./node_modules/core-js/library/modules/_has.js"); +var toIObject = __webpack_require__("./node_modules/core-js/library/modules/_to-iobject.js"); +var arrayIndexOf = __webpack_require__("./node_modules/core-js/library/modules/_array-includes.js")(false); +var IE_PROTO = __webpack_require__("./node_modules/core-js/library/modules/_shared-key.js")('IE_PROTO'); + +module.exports = function (object, names) { + var O = toIObject(object); + var i = 0; + var result = []; + var key; + for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~arrayIndexOf(result, key) || result.push(key); + } + return result; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_object-keys.js": +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = __webpack_require__("./node_modules/core-js/library/modules/_object-keys-internal.js"); +var enumBugKeys = __webpack_require__("./node_modules/core-js/library/modules/_enum-bug-keys.js"); + +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_object-pie.js": +/***/ (function(module, exports) { + +exports.f = {}.propertyIsEnumerable; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_object-sap.js": +/***/ (function(module, exports, __webpack_require__) { + +// most Object methods by ES6 should accept primitives +var $export = __webpack_require__("./node_modules/core-js/library/modules/_export.js"); +var core = __webpack_require__("./node_modules/core-js/library/modules/_core.js"); +var fails = __webpack_require__("./node_modules/core-js/library/modules/_fails.js"); +module.exports = function (KEY, exec) { + var fn = (core.Object || {})[KEY] || Object[KEY]; + var exp = {}; + exp[KEY] = exec(fn); + $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_object-to-array.js": +/***/ (function(module, exports, __webpack_require__) { + +var DESCRIPTORS = __webpack_require__("./node_modules/core-js/library/modules/_descriptors.js"); +var getKeys = __webpack_require__("./node_modules/core-js/library/modules/_object-keys.js"); +var toIObject = __webpack_require__("./node_modules/core-js/library/modules/_to-iobject.js"); +var isEnum = __webpack_require__("./node_modules/core-js/library/modules/_object-pie.js").f; +module.exports = function (isEntries) { + return function (it) { + var O = toIObject(it); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) { + key = keys[i++]; + if (!DESCRIPTORS || isEnum.call(O, key)) { + result.push(isEntries ? [key, O[key]] : O[key]); + } + } + return result; + }; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_property-desc.js": +/***/ (function(module, exports) { + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_shared-key.js": +/***/ (function(module, exports, __webpack_require__) { + +var shared = __webpack_require__("./node_modules/core-js/library/modules/_shared.js")('keys'); +var uid = __webpack_require__("./node_modules/core-js/library/modules/_uid.js"); +module.exports = function (key) { + return shared[key] || (shared[key] = uid(key)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_shared.js": +/***/ (function(module, exports, __webpack_require__) { + +var core = __webpack_require__("./node_modules/core-js/library/modules/_core.js"); +var global = __webpack_require__("./node_modules/core-js/library/modules/_global.js"); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || (global[SHARED] = {}); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: core.version, + mode: __webpack_require__("./node_modules/core-js/library/modules/_library.js") ? 'pure' : 'global', + copyright: '© 2019 Denis Pushkarev (zloirock.ru)' +}); + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_to-absolute-index.js": +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__("./node_modules/core-js/library/modules/_to-integer.js"); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_to-integer.js": +/***/ (function(module, exports) { + +// 7.1.4 ToInteger +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_to-iobject.js": +/***/ (function(module, exports, __webpack_require__) { + +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = __webpack_require__("./node_modules/core-js/library/modules/_iobject.js"); +var defined = __webpack_require__("./node_modules/core-js/library/modules/_defined.js"); +module.exports = function (it) { + return IObject(defined(it)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_to-length.js": +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.15 ToLength +var toInteger = __webpack_require__("./node_modules/core-js/library/modules/_to-integer.js"); +var min = Math.min; +module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_to-object.js": +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.13 ToObject(argument) +var defined = __webpack_require__("./node_modules/core-js/library/modules/_defined.js"); +module.exports = function (it) { + return Object(defined(it)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_to-primitive.js": +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.1 ToPrimitive(input [, PreferredType]) +var isObject = __webpack_require__("./node_modules/core-js/library/modules/_is-object.js"); +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (it, S) { + if (!isObject(it)) return it; + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/_uid.js": +/***/ (function(module, exports) { + +var id = 0; +var px = Math.random(); +module.exports = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); +}; + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/es6.object.define-property.js": +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__("./node_modules/core-js/library/modules/_export.js"); +// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) +$export($export.S + $export.F * !__webpack_require__("./node_modules/core-js/library/modules/_descriptors.js"), 'Object', { defineProperty: __webpack_require__("./node_modules/core-js/library/modules/_object-dp.js").f }); + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/es6.object.keys.js": +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.14 Object.keys(O) +var toObject = __webpack_require__("./node_modules/core-js/library/modules/_to-object.js"); +var $keys = __webpack_require__("./node_modules/core-js/library/modules/_object-keys.js"); + +__webpack_require__("./node_modules/core-js/library/modules/_object-sap.js")('keys', function () { + return function keys(it) { + return $keys(toObject(it)); + }; +}); + + +/***/ }), + +/***/ "./node_modules/core-js/library/modules/es7.object.values.js": +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/tc39/proposal-object-values-entries +var $export = __webpack_require__("./node_modules/core-js/library/modules/_export.js"); +var $values = __webpack_require__("./node_modules/core-js/library/modules/_object-to-array.js")(false); + +$export($export.S, 'Object', { + values: function values(it) { + return $values(it); + } +}); + + +/***/ }), + +/***/ "./src/data.js": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var LANGUAGES_LIST = { + aa: { + name: 'Afar', + nativeName: 'Afaraf' + }, + ab: { + name: 'Abkhaz', + nativeName: 'аҧсуа бызшәа' + }, + ae: { + name: 'Avestan', + nativeName: 'avesta' + }, + af: { + name: 'Afrikaans', + nativeName: 'Afrikaans' + }, + ak: { + name: 'Akan', + nativeName: 'Akan' + }, + am: { + name: 'Amharic', + nativeName: 'አማርኛ' + }, + an: { + name: 'Aragonese', + nativeName: 'aragonés' + }, + ar: { + name: 'Arabic', + nativeName: 'اَلْعَرَبِيَّةُ' + }, + as: { + name: 'Assamese', + nativeName: 'অসমীয়া' + }, + av: { + name: 'Avaric', + nativeName: 'авар мацӀ' + }, + ay: { + name: 'Aymara', + nativeName: 'aymar aru' + }, + az: { + name: 'Azerbaijani', + nativeName: 'azərbaycan dili' + }, + ba: { + name: 'Bashkir', + nativeName: 'башҡорт теле' + }, + be: { + name: 'Belarusian', + nativeName: 'беларуская мова' + }, + bg: { + name: 'Bulgarian', + nativeName: 'български език' + }, + bi: { + name: 'Bislama', + nativeName: 'Bislama' + }, + bm: { + name: 'Bambara', + nativeName: 'bamanankan' + }, + bn: { + name: 'Bengali', + nativeName: 'বাংলা' + }, + bo: { + name: 'Tibetan', + nativeName: 'བོད་ཡིག' + }, + br: { + name: 'Breton', + nativeName: 'brezhoneg' + }, + bs: { + name: 'Bosnian', + nativeName: 'bosanski jezik' + }, + ca: { + name: 'Catalan', + nativeName: 'Català' + }, + ce: { + name: 'Chechen', + nativeName: 'нохчийн мотт' + }, + ch: { + name: 'Chamorro', + nativeName: 'Chamoru' + }, + co: { + name: 'Corsican', + nativeName: 'corsu' + }, + cr: { + name: 'Cree', + nativeName: 'ᓀᐦᐃᔭᐍᐏᐣ' + }, + cs: { + name: 'Czech', + nativeName: 'čeština' + }, + cu: { + name: 'Old Church Slavonic', + nativeName: 'ѩзыкъ словѣньскъ' + }, + cv: { + name: 'Chuvash', + nativeName: 'чӑваш чӗлхи' + }, + cy: { + name: 'Welsh', + nativeName: 'Cymraeg' + }, + da: { + name: 'Danish', + nativeName: 'dansk' + }, + de: { + name: 'German', + nativeName: 'Deutsch' + }, + dv: { + name: 'Divehi', + nativeName: 'ދިވެހި' + }, + dz: { + name: 'Dzongkha', + nativeName: 'རྫོང་ཁ' + }, + ee: { + name: 'Ewe', + nativeName: 'Eʋegbe' + }, + el: { + name: 'Greek', + nativeName: 'Ελληνικά' + }, + en: { + name: 'English', + nativeName: 'English' + }, + eo: { + name: 'Esperanto', + nativeName: 'Esperanto' + }, + es: { + name: 'Spanish', + nativeName: 'Español' + }, + et: { + name: 'Estonian', + nativeName: 'eesti' + }, + eu: { + name: 'Basque', + nativeName: 'euskara' + }, + fa: { + name: 'Persian', + nativeName: 'فارسی' + }, + ff: { + name: 'Fula', + nativeName: 'Fulfulde' + }, + fi: { + name: 'Finnish', + nativeName: 'suomi' + }, + fj: { + name: 'Fijian', + nativeName: 'vosa Vakaviti' + }, + fo: { + name: 'Faroese', + nativeName: 'føroyskt' + }, + fr: { + name: 'French', + nativeName: 'Français' + }, + fy: { + name: 'Western Frisian', + nativeName: 'Frysk' + }, + ga: { + name: 'Irish', + nativeName: 'Gaeilge' + }, + gd: { + name: 'Scottish Gaelic', + nativeName: 'Gàidhlig' + }, + gl: { + name: 'Galician', + nativeName: 'galego' + }, + gn: { + name: 'Guaraní', + nativeName: "Avañe'ẽ" + }, + gu: { + name: 'Gujarati', + nativeName: 'ગુજરાતી' + }, + gv: { + name: 'Manx', + nativeName: 'Gaelg' + }, + ha: { + name: 'Hausa', + nativeName: 'هَوُسَ' + }, + he: { + name: 'Hebrew', + nativeName: 'עברית' + }, + hi: { + name: 'Hindi', + nativeName: 'हिन्दी' + }, + ho: { + name: 'Hiri Motu', + nativeName: 'Hiri Motu' + }, + hr: { + name: 'Croatian', + nativeName: 'Hrvatski' + }, + ht: { + name: 'Haitian', + nativeName: 'Kreyòl ayisyen' + }, + hu: { + name: 'Hungarian', + nativeName: 'magyar' + }, + hy: { + name: 'Armenian', + nativeName: 'Հայերեն' + }, + hz: { + name: 'Herero', + nativeName: 'Otjiherero' + }, + ia: { + name: 'Interlingua', + nativeName: 'Interlingua' + }, + id: { + name: 'Indonesian', + nativeName: 'Bahasa Indonesia' + }, + ie: { + name: 'Interlingue', + nativeName: 'Interlingue' + }, + ig: { + name: 'Igbo', + nativeName: 'Asụsụ Igbo' + }, + ii: { + name: 'Nuosu', + nativeName: 'ꆈꌠ꒿ Nuosuhxop' + }, + ik: { + name: 'Inupiaq', + nativeName: 'Iñupiaq' + }, + io: { + name: 'Ido', + nativeName: 'Ido' + }, + is: { + name: 'Icelandic', + nativeName: 'Íslenska' + }, + it: { + name: 'Italian', + nativeName: 'Italiano' + }, + iu: { + name: 'Inuktitut', + nativeName: 'ᐃᓄᒃᑎᑐᑦ' + }, + ja: { + name: 'Japanese', + nativeName: '日本語' + }, + jv: { + name: 'Javanese', + nativeName: 'basa Jawa' + }, + ka: { + name: 'Georgian', + nativeName: 'ქართული' + }, + kg: { + name: 'Kongo', + nativeName: 'Kikongo' + }, + ki: { + name: 'Kikuyu', + nativeName: 'Gĩkũyũ' + }, + kj: { + name: 'Kwanyama', + nativeName: 'Kuanyama' + }, + kk: { + name: 'Kazakh', + nativeName: 'қазақ тілі' + }, + kl: { + name: 'Kalaallisut', + nativeName: 'kalaallisut' + }, + km: { + name: 'Khmer', + nativeName: 'ខេមរភាសា' + }, + kn: { + name: 'Kannada', + nativeName: 'ಕನ್ನಡ' + }, + ko: { + name: 'Korean', + nativeName: '한국어' + }, + kr: { + name: 'Kanuri', + nativeName: 'Kanuri' + }, + ks: { + name: 'Kashmiri', + nativeName: 'कश्मीरी' + }, + ku: { + name: 'Kurdish', + nativeName: 'Kurdî' + }, + kv: { + name: 'Komi', + nativeName: 'коми кыв' + }, + kw: { + name: 'Cornish', + nativeName: 'Kernewek' + }, + ky: { + name: 'Kyrgyz', + nativeName: 'Кыргызча' + }, + la: { + name: 'Latin', + nativeName: 'latine' + }, + lb: { + name: 'Luxembourgish', + nativeName: 'Lëtzebuergesch' + }, + lg: { + name: 'Ganda', + nativeName: 'Luganda' + }, + li: { + name: 'Limburgish', + nativeName: 'Limburgs' + }, + ln: { + name: 'Lingala', + nativeName: 'Lingála' + }, + lo: { + name: 'Lao', + nativeName: 'ພາສາລາວ' + }, + lt: { + name: 'Lithuanian', + nativeName: 'lietuvių kalba' + }, + lu: { + name: 'Luba-Katanga', + nativeName: 'Kiluba' + }, + lv: { + name: 'Latvian', + nativeName: 'latviešu valoda' + }, + mg: { + name: 'Malagasy', + nativeName: 'fiteny malagasy' + }, + mh: { + name: 'Marshallese', + nativeName: 'Kajin M̧ajeļ' + }, + mi: { + name: 'Māori', + nativeName: 'te reo Māori' + }, + mk: { + name: 'Macedonian', + nativeName: 'македонски јазик' + }, + ml: { + name: 'Malayalam', + nativeName: 'മലയാളം' + }, + mn: { + name: 'Mongolian', + nativeName: 'Монгол хэл' + }, + mr: { + name: 'Marathi', + nativeName: 'मराठी' + }, + ms: { + name: 'Malay', + nativeName: 'Bahasa Melayu' + }, + mt: { + name: 'Maltese', + nativeName: 'Malti' + }, + my: { + name: 'Burmese', + nativeName: 'ဗမာစာ' + }, + na: { + name: 'Nauru', + nativeName: 'Dorerin Naoero' + }, + nb: { + name: 'Norwegian Bokmål', + nativeName: 'Norsk bokmål' + }, + nd: { + name: 'Northern Ndebele', + nativeName: 'isiNdebele' + }, + ne: { + name: 'Nepali', + nativeName: 'नेपाली' + }, + ng: { + name: 'Ndonga', + nativeName: 'Owambo' + }, + nl: { + name: 'Dutch', + nativeName: 'Nederlands' + }, + nn: { + name: 'Norwegian Nynorsk', + nativeName: 'Norsk nynorsk' + }, + no: { + name: 'Norwegian', + nativeName: 'Norsk' + }, + nr: { + name: 'Southern Ndebele', + nativeName: 'isiNdebele' + }, + nv: { + name: 'Navajo', + nativeName: 'Diné bizaad' + }, + ny: { + name: 'Chichewa', + nativeName: 'chiCheŵa' + }, + oc: { + name: 'Occitan', + nativeName: 'occitan' + }, + oj: { + name: 'Ojibwe', + nativeName: 'ᐊᓂᔑᓈᐯᒧᐎᓐ' + }, + om: { + name: 'Oromo', + nativeName: 'Afaan Oromoo' + }, + or: { + name: 'Oriya', + nativeName: 'ଓଡ଼ିଆ' + }, + os: { + name: 'Ossetian', + nativeName: 'ирон æвзаг' + }, + pa: { + name: 'Panjabi', + nativeName: 'ਪੰਜਾਬੀ' + }, + pi: { + name: 'Pāli', + nativeName: 'पाऴि' + }, + pl: { + name: 'Polish', + nativeName: 'Polski' + }, + ps: { + name: 'Pashto', + nativeName: 'پښتو' + }, + pt: { + name: 'Portuguese', + nativeName: 'Português' + }, + qu: { + name: 'Quechua', + nativeName: 'Runa Simi' + }, + rm: { + name: 'Romansh', + nativeName: 'rumantsch grischun' + }, + rn: { + name: 'Kirundi', + nativeName: 'Ikirundi' + }, + ro: { + name: 'Romanian', + nativeName: 'Română' + }, + ru: { + name: 'Russian', + nativeName: 'Русский' + }, + rw: { + name: 'Kinyarwanda', + nativeName: 'Ikinyarwanda' + }, + sa: { + name: 'Sanskrit', + nativeName: 'संस्कृतम्' + }, + sc: { + name: 'Sardinian', + nativeName: 'sardu' + }, + sd: { + name: 'Sindhi', + nativeName: 'सिन्धी' + }, + se: { + name: 'Northern Sami', + nativeName: 'Davvisámegiella' + }, + sg: { + name: 'Sango', + nativeName: 'yângâ tî sängö' + }, + si: { + name: 'Sinhala', + nativeName: 'සිංහල' + }, + sk: { + name: 'Slovak', + nativeName: 'slovenčina' + }, + sl: { + name: 'Slovenian', + nativeName: 'slovenščina' + }, + sm: { + name: 'Samoan', + nativeName: "gagana fa'a Samoa" + }, + sn: { + name: 'Shona', + nativeName: 'chiShona' + }, + so: { + name: 'Somali', + nativeName: 'Soomaaliga' + }, + sq: { + name: 'Albanian', + nativeName: 'Shqip' + }, + sr: { + name: 'Serbian', + nativeName: 'српски језик' + }, + ss: { + name: 'Swati', + nativeName: 'SiSwati' + }, + st: { + name: 'Southern Sotho', + nativeName: 'Sesotho' + }, + su: { + name: 'Sundanese', + nativeName: 'Basa Sunda' + }, + sv: { + name: 'Swedish', + nativeName: 'Svenska' + }, + sw: { + name: 'Swahili', + nativeName: 'Kiswahili' + }, + ta: { + name: 'Tamil', + nativeName: 'தமிழ்' + }, + te: { + name: 'Telugu', + nativeName: 'తెలుగు' + }, + tg: { + name: 'Tajik', + nativeName: 'тоҷикӣ' + }, + th: { + name: 'Thai', + nativeName: 'ไทย' + }, + ti: { + name: 'Tigrinya', + nativeName: 'ትግርኛ' + }, + tk: { + name: 'Turkmen', + nativeName: 'Türkmençe' + }, + tl: { + name: 'Tagalog', + nativeName: 'Wikang Tagalog' + }, + tn: { + name: 'Tswana', + nativeName: 'Setswana' + }, + to: { + name: 'Tonga', + nativeName: 'faka Tonga' + }, + tr: { + name: 'Turkish', + nativeName: 'Türkçe' + }, + ts: { + name: 'Tsonga', + nativeName: 'Xitsonga' + }, + tt: { + name: 'Tatar', + nativeName: 'татар теле' + }, + tw: { + name: 'Twi', + nativeName: 'Twi' + }, + ty: { + name: 'Tahitian', + nativeName: 'Reo Tahiti' + }, + ug: { + name: 'Uyghur', + nativeName: 'ئۇيغۇرچە‎' + }, + uk: { + name: 'Ukrainian', + nativeName: 'Українська' + }, + ur: { + name: 'Urdu', + nativeName: 'اردو' + }, + uz: { + name: 'Uzbek', + nativeName: 'Ўзбек' + }, + ve: { + name: 'Venda', + nativeName: 'Tshivenḓa' + }, + vi: { + name: 'Vietnamese', + nativeName: 'Tiếng Việt' + }, + vo: { + name: 'Volapük', + nativeName: 'Volapük' + }, + wa: { + name: 'Walloon', + nativeName: 'walon' + }, + wo: { + name: 'Wolof', + nativeName: 'Wollof' + }, + xh: { + name: 'Xhosa', + nativeName: 'isiXhosa' + }, + yi: { + name: 'Yiddish', + nativeName: 'ייִדיש' + }, + yo: { + name: 'Yoruba', + nativeName: 'Yorùbá' + }, + za: { + name: 'Zhuang', + nativeName: 'Saɯ cueŋƅ' + }, + zh: { + name: 'Chinese', + nativeName: '中文' + }, + zu: { + name: 'Zulu', + nativeName: 'isiZulu' + } +}; + +exports.default = LANGUAGES_LIST; +module.exports = exports['default']; + +/***/ }), + +/***/ "./src/index.js": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _keys = __webpack_require__("./node_modules/babel-runtime/core-js/object/keys.js"); + +var _keys2 = _interopRequireDefault(_keys); + +var _values = __webpack_require__("./node_modules/babel-runtime/core-js/object/values.js"); + +var _values2 = _interopRequireDefault(_values); + +var _classCallCheck2 = __webpack_require__("./node_modules/babel-runtime/helpers/classCallCheck.js"); + +var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); + +var _createClass2 = __webpack_require__("./node_modules/babel-runtime/helpers/createClass.js"); + +var _createClass3 = _interopRequireDefault(_createClass2); + +var _data = __webpack_require__("./src/data.js"); + +var _data2 = _interopRequireDefault(_data); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var ISO6391 = function () { + function ISO6391() { + (0, _classCallCheck3.default)(this, ISO6391); + } + + (0, _createClass3.default)(ISO6391, null, [{ + key: 'getLanguages', + value: function getLanguages() { + var codes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + + return codes.map(function (code) { + return { + code: code, + name: ISO6391.getName(code), + nativeName: ISO6391.getNativeName(code) + }; + }); + } + }, { + key: 'getName', + value: function getName(code) { + return ISO6391.validate(code) ? _data2.default[code].name : ''; + } + }, { + key: 'getAllNames', + value: function getAllNames() { + return (0, _values2.default)(_data2.default).map(function (l) { + return l.name; + }); + } + }, { + key: 'getNativeName', + value: function getNativeName(code) { + return ISO6391.validate(code) ? _data2.default[code].nativeName : ''; + } + }, { + key: 'getAllNativeNames', + value: function getAllNativeNames() { + return (0, _values2.default)(_data2.default).map(function (l) { + return l.nativeName; + }); + } + }, { + key: 'getCode', + value: function getCode(name) { + var code = (0, _keys2.default)(_data2.default).find(function (code) { + var language = _data2.default[code]; + + return language.name.toLowerCase() === name.toLowerCase() || language.nativeName.toLowerCase() === name.toLowerCase(); + }); + return code || ''; + } + }, { + key: 'getAllCodes', + value: function getAllCodes() { + return (0, _keys2.default)(_data2.default); + } + }, { + key: 'validate', + value: function validate(code) { + return _data2.default.hasOwnProperty(code); + } + }]); + return ISO6391; +}(); + +exports.default = ISO6391; +module.exports = exports['default']; + +/***/ }) + +/******/ }); +}); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/iso-639-1/build/index.js.map b/node_modules/iso-639-1/build/index.js.map new file mode 100644 index 00000000..566c793e --- /dev/null +++ b/node_modules/iso-639-1/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 2540c00564a92261ab21","webpack:///./node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/babel-runtime/core-js/object/values.js","webpack:///./node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///./node_modules/babel-runtime/helpers/createClass.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/fn/object/values.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/core-js/library/modules/_object-to-array.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./node_modules/core-js/library/modules/es7.object.values.js","webpack:///./src/data.js","webpack:///./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ISO6391\"] = factory();\n\telse\n\t\troot[\"ISO6391\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 2540c00564a92261ab21","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-property.js\n// module id = ./node_modules/babel-runtime/core-js/object/define-property.js\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/keys.js\n// module id = ./node_modules/babel-runtime/core-js/object/keys.js\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/values\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/values.js\n// module id = ./node_modules/babel-runtime/core-js/object/values.js\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/classCallCheck.js\n// module id = ./node_modules/babel-runtime/helpers/classCallCheck.js\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/createClass.js\n// module id = ./node_modules/babel-runtime/helpers/createClass.js\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-property.js\n// module id = ./node_modules/core-js/library/fn/object/define-property.js\n// module chunks = 0","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/keys.js\n// module id = ./node_modules/core-js/library/fn/object/keys.js\n// module chunks = 0","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/values.js\n// module id = ./node_modules/core-js/library/fn/object/values.js\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = ./node_modules/core-js/library/modules/_a-function.js\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-object.js\n// module id = ./node_modules/core-js/library/modules/_an-object.js\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = ./node_modules/core-js/library/modules/_array-includes.js\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = ./node_modules/core-js/library/modules/_cof.js\n// module chunks = 0","var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_core.js\n// module id = ./node_modules/core-js/library/modules/_core.js\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = ./node_modules/core-js/library/modules/_ctx.js\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = ./node_modules/core-js/library/modules/_defined.js\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_descriptors.js\n// module id = ./node_modules/core-js/library/modules/_descriptors.js\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = ./node_modules/core-js/library/modules/_dom-create.js\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_export.js\n// module id = ./node_modules/core-js/library/modules/_export.js\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = ./node_modules/core-js/library/modules/_fails.js\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_global.js\n// module id = ./node_modules/core-js/library/modules/_global.js\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_has.js\n// module id = ./node_modules/core-js/library/modules/_has.js\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = ./node_modules/core-js/library/modules/_hide.js\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = ./node_modules/core-js/library/modules/_iobject.js\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = ./node_modules/core-js/library/modules/_is-object.js\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = ./node_modules/core-js/library/modules/_library.js\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dp.js\n// module id = ./node_modules/core-js/library/modules/_object-dp.js\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = ./node_modules/core-js/library/modules/_object-keys.js\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = ./node_modules/core-js/library/modules/_object-pie.js\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-sap.js\n// module id = ./node_modules/core-js/library/modules/_object-sap.js\n// module chunks = 0","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-to-array.js\n// module id = ./node_modules/core-js/library/modules/_object-to-array.js\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = ./node_modules/core-js/library/modules/_property-desc.js\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = ./node_modules/core-js/library/modules/_shared-key.js\n// module chunks = 0","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = ./node_modules/core-js/library/modules/_shared.js\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = ./node_modules/core-js/library/modules/_to-integer.js\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = ./node_modules/core-js/library/modules/_to-iobject.js\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = ./node_modules/core-js/library/modules/_to-length.js\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = ./node_modules/core-js/library/modules/_to-object.js\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = ./node_modules/core-js/library/modules/_to-primitive.js\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = ./node_modules/core-js/library/modules/_uid.js\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = ./node_modules/core-js/library/modules/es6.object.keys.js\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.object.values.js\n// module id = ./node_modules/core-js/library/modules/es7.object.values.js\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar LANGUAGES_LIST = {\n aa: {\n name: 'Afar',\n nativeName: 'Afaraf'\n },\n ab: {\n name: 'Abkhaz',\n nativeName: 'аҧсуа бызшәа'\n },\n ae: {\n name: 'Avestan',\n nativeName: 'avesta'\n },\n af: {\n name: 'Afrikaans',\n nativeName: 'Afrikaans'\n },\n ak: {\n name: 'Akan',\n nativeName: 'Akan'\n },\n am: {\n name: 'Amharic',\n nativeName: 'አማርኛ'\n },\n an: {\n name: 'Aragonese',\n nativeName: 'aragonés'\n },\n ar: {\n name: 'Arabic',\n nativeName: 'اَلْعَرَبِيَّةُ'\n },\n as: {\n name: 'Assamese',\n nativeName: 'অসমীয়া'\n },\n av: {\n name: 'Avaric',\n nativeName: 'авар мацӀ'\n },\n ay: {\n name: 'Aymara',\n nativeName: 'aymar aru'\n },\n az: {\n name: 'Azerbaijani',\n nativeName: 'azərbaycan dili'\n },\n ba: {\n name: 'Bashkir',\n nativeName: 'башҡорт теле'\n },\n be: {\n name: 'Belarusian',\n nativeName: 'беларуская мова'\n },\n bg: {\n name: 'Bulgarian',\n nativeName: 'български език'\n },\n bi: {\n name: 'Bislama',\n nativeName: 'Bislama'\n },\n bm: {\n name: 'Bambara',\n nativeName: 'bamanankan'\n },\n bn: {\n name: 'Bengali',\n nativeName: 'বাংলা'\n },\n bo: {\n name: 'Tibetan',\n nativeName: 'བོད་ཡིག'\n },\n br: {\n name: 'Breton',\n nativeName: 'brezhoneg'\n },\n bs: {\n name: 'Bosnian',\n nativeName: 'bosanski jezik'\n },\n ca: {\n name: 'Catalan',\n nativeName: 'Català'\n },\n ce: {\n name: 'Chechen',\n nativeName: 'нохчийн мотт'\n },\n ch: {\n name: 'Chamorro',\n nativeName: 'Chamoru'\n },\n co: {\n name: 'Corsican',\n nativeName: 'corsu'\n },\n cr: {\n name: 'Cree',\n nativeName: 'ᓀᐦᐃᔭᐍᐏᐣ'\n },\n cs: {\n name: 'Czech',\n nativeName: 'čeština'\n },\n cu: {\n name: 'Old Church Slavonic',\n nativeName: 'ѩзыкъ словѣньскъ'\n },\n cv: {\n name: 'Chuvash',\n nativeName: 'чӑваш чӗлхи'\n },\n cy: {\n name: 'Welsh',\n nativeName: 'Cymraeg'\n },\n da: {\n name: 'Danish',\n nativeName: 'dansk'\n },\n de: {\n name: 'German',\n nativeName: 'Deutsch'\n },\n dv: {\n name: 'Divehi',\n nativeName: 'ދިވެހި'\n },\n dz: {\n name: 'Dzongkha',\n nativeName: 'རྫོང་ཁ'\n },\n ee: {\n name: 'Ewe',\n nativeName: 'Eʋegbe'\n },\n el: {\n name: 'Greek',\n nativeName: 'Ελληνικά'\n },\n en: {\n name: 'English',\n nativeName: 'English'\n },\n eo: {\n name: 'Esperanto',\n nativeName: 'Esperanto'\n },\n es: {\n name: 'Spanish',\n nativeName: 'Español'\n },\n et: {\n name: 'Estonian',\n nativeName: 'eesti'\n },\n eu: {\n name: 'Basque',\n nativeName: 'euskara'\n },\n fa: {\n name: 'Persian',\n nativeName: 'فارسی'\n },\n ff: {\n name: 'Fula',\n nativeName: 'Fulfulde'\n },\n fi: {\n name: 'Finnish',\n nativeName: 'suomi'\n },\n fj: {\n name: 'Fijian',\n nativeName: 'vosa Vakaviti'\n },\n fo: {\n name: 'Faroese',\n nativeName: 'føroyskt'\n },\n fr: {\n name: 'French',\n nativeName: 'Français'\n },\n fy: {\n name: 'Western Frisian',\n nativeName: 'Frysk'\n },\n ga: {\n name: 'Irish',\n nativeName: 'Gaeilge'\n },\n gd: {\n name: 'Scottish Gaelic',\n nativeName: 'Gàidhlig'\n },\n gl: {\n name: 'Galician',\n nativeName: 'galego'\n },\n gn: {\n name: 'Guaraní',\n nativeName: \"Avañe'ẽ\"\n },\n gu: {\n name: 'Gujarati',\n nativeName: 'ગુજરાતી'\n },\n gv: {\n name: 'Manx',\n nativeName: 'Gaelg'\n },\n ha: {\n name: 'Hausa',\n nativeName: 'هَوُسَ'\n },\n he: {\n name: 'Hebrew',\n nativeName: 'עברית'\n },\n hi: {\n name: 'Hindi',\n nativeName: 'हिन्दी'\n },\n ho: {\n name: 'Hiri Motu',\n nativeName: 'Hiri Motu'\n },\n hr: {\n name: 'Croatian',\n nativeName: 'Hrvatski'\n },\n ht: {\n name: 'Haitian',\n nativeName: 'Kreyòl ayisyen'\n },\n hu: {\n name: 'Hungarian',\n nativeName: 'magyar'\n },\n hy: {\n name: 'Armenian',\n nativeName: 'Հայերեն'\n },\n hz: {\n name: 'Herero',\n nativeName: 'Otjiherero'\n },\n ia: {\n name: 'Interlingua',\n nativeName: 'Interlingua'\n },\n id: {\n name: 'Indonesian',\n nativeName: 'Bahasa Indonesia'\n },\n ie: {\n name: 'Interlingue',\n nativeName: 'Interlingue'\n },\n ig: {\n name: 'Igbo',\n nativeName: 'Asụsụ Igbo'\n },\n ii: {\n name: 'Nuosu',\n nativeName: 'ꆈꌠ꒿ Nuosuhxop'\n },\n ik: {\n name: 'Inupiaq',\n nativeName: 'Iñupiaq'\n },\n io: {\n name: 'Ido',\n nativeName: 'Ido'\n },\n is: {\n name: 'Icelandic',\n nativeName: 'Íslenska'\n },\n it: {\n name: 'Italian',\n nativeName: 'Italiano'\n },\n iu: {\n name: 'Inuktitut',\n nativeName: 'ᐃᓄᒃᑎᑐᑦ'\n },\n ja: {\n name: 'Japanese',\n nativeName: '日本語'\n },\n jv: {\n name: 'Javanese',\n nativeName: 'basa Jawa'\n },\n ka: {\n name: 'Georgian',\n nativeName: 'ქართული'\n },\n kg: {\n name: 'Kongo',\n nativeName: 'Kikongo'\n },\n ki: {\n name: 'Kikuyu',\n nativeName: 'Gĩkũyũ'\n },\n kj: {\n name: 'Kwanyama',\n nativeName: 'Kuanyama'\n },\n kk: {\n name: 'Kazakh',\n nativeName: 'қазақ тілі'\n },\n kl: {\n name: 'Kalaallisut',\n nativeName: 'kalaallisut'\n },\n km: {\n name: 'Khmer',\n nativeName: 'ខេមរភាសា'\n },\n kn: {\n name: 'Kannada',\n nativeName: 'ಕನ್ನಡ'\n },\n ko: {\n name: 'Korean',\n nativeName: '한국어'\n },\n kr: {\n name: 'Kanuri',\n nativeName: 'Kanuri'\n },\n ks: {\n name: 'Kashmiri',\n nativeName: 'कश्मीरी'\n },\n ku: {\n name: 'Kurdish',\n nativeName: 'Kurdî'\n },\n kv: {\n name: 'Komi',\n nativeName: 'коми кыв'\n },\n kw: {\n name: 'Cornish',\n nativeName: 'Kernewek'\n },\n ky: {\n name: 'Kyrgyz',\n nativeName: 'Кыргызча'\n },\n la: {\n name: 'Latin',\n nativeName: 'latine'\n },\n lb: {\n name: 'Luxembourgish',\n nativeName: 'Lëtzebuergesch'\n },\n lg: {\n name: 'Ganda',\n nativeName: 'Luganda'\n },\n li: {\n name: 'Limburgish',\n nativeName: 'Limburgs'\n },\n ln: {\n name: 'Lingala',\n nativeName: 'Lingála'\n },\n lo: {\n name: 'Lao',\n nativeName: 'ພາສາລາວ'\n },\n lt: {\n name: 'Lithuanian',\n nativeName: 'lietuvių kalba'\n },\n lu: {\n name: 'Luba-Katanga',\n nativeName: 'Kiluba'\n },\n lv: {\n name: 'Latvian',\n nativeName: 'latviešu valoda'\n },\n mg: {\n name: 'Malagasy',\n nativeName: 'fiteny malagasy'\n },\n mh: {\n name: 'Marshallese',\n nativeName: 'Kajin M̧ajeļ'\n },\n mi: {\n name: 'Māori',\n nativeName: 'te reo Māori'\n },\n mk: {\n name: 'Macedonian',\n nativeName: 'македонски јазик'\n },\n ml: {\n name: 'Malayalam',\n nativeName: 'മലയാളം'\n },\n mn: {\n name: 'Mongolian',\n nativeName: 'Монгол хэл'\n },\n mr: {\n name: 'Marathi',\n nativeName: 'मराठी'\n },\n ms: {\n name: 'Malay',\n nativeName: 'Bahasa Melayu'\n },\n mt: {\n name: 'Maltese',\n nativeName: 'Malti'\n },\n my: {\n name: 'Burmese',\n nativeName: 'ဗမာစာ'\n },\n na: {\n name: 'Nauru',\n nativeName: 'Dorerin Naoero'\n },\n nb: {\n name: 'Norwegian Bokmål',\n nativeName: 'Norsk bokmål'\n },\n nd: {\n name: 'Northern Ndebele',\n nativeName: 'isiNdebele'\n },\n ne: {\n name: 'Nepali',\n nativeName: 'नेपाली'\n },\n ng: {\n name: 'Ndonga',\n nativeName: 'Owambo'\n },\n nl: {\n name: 'Dutch',\n nativeName: 'Nederlands'\n },\n nn: {\n name: 'Norwegian Nynorsk',\n nativeName: 'Norsk nynorsk'\n },\n no: {\n name: 'Norwegian',\n nativeName: 'Norsk'\n },\n nr: {\n name: 'Southern Ndebele',\n nativeName: 'isiNdebele'\n },\n nv: {\n name: 'Navajo',\n nativeName: 'Diné bizaad'\n },\n ny: {\n name: 'Chichewa',\n nativeName: 'chiCheŵa'\n },\n oc: {\n name: 'Occitan',\n nativeName: 'occitan'\n },\n oj: {\n name: 'Ojibwe',\n nativeName: 'ᐊᓂᔑᓈᐯᒧᐎᓐ'\n },\n om: {\n name: 'Oromo',\n nativeName: 'Afaan Oromoo'\n },\n or: {\n name: 'Oriya',\n nativeName: 'ଓଡ଼ିଆ'\n },\n os: {\n name: 'Ossetian',\n nativeName: 'ирон æвзаг'\n },\n pa: {\n name: 'Panjabi',\n nativeName: 'ਪੰਜਾਬੀ'\n },\n pi: {\n name: 'Pāli',\n nativeName: 'पाऴि'\n },\n pl: {\n name: 'Polish',\n nativeName: 'Polski'\n },\n ps: {\n name: 'Pashto',\n nativeName: 'پښتو'\n },\n pt: {\n name: 'Portuguese',\n nativeName: 'Português'\n },\n qu: {\n name: 'Quechua',\n nativeName: 'Runa Simi'\n },\n rm: {\n name: 'Romansh',\n nativeName: 'rumantsch grischun'\n },\n rn: {\n name: 'Kirundi',\n nativeName: 'Ikirundi'\n },\n ro: {\n name: 'Romanian',\n nativeName: 'Română'\n },\n ru: {\n name: 'Russian',\n nativeName: 'Русский'\n },\n rw: {\n name: 'Kinyarwanda',\n nativeName: 'Ikinyarwanda'\n },\n sa: {\n name: 'Sanskrit',\n nativeName: 'संस्कृतम्'\n },\n sc: {\n name: 'Sardinian',\n nativeName: 'sardu'\n },\n sd: {\n name: 'Sindhi',\n nativeName: 'सिन्धी'\n },\n se: {\n name: 'Northern Sami',\n nativeName: 'Davvisámegiella'\n },\n sg: {\n name: 'Sango',\n nativeName: 'yângâ tî sängö'\n },\n si: {\n name: 'Sinhala',\n nativeName: 'සිංහල'\n },\n sk: {\n name: 'Slovak',\n nativeName: 'slovenčina'\n },\n sl: {\n name: 'Slovenian',\n nativeName: 'slovenščina'\n },\n sm: {\n name: 'Samoan',\n nativeName: \"gagana fa'a Samoa\"\n },\n sn: {\n name: 'Shona',\n nativeName: 'chiShona'\n },\n so: {\n name: 'Somali',\n nativeName: 'Soomaaliga'\n },\n sq: {\n name: 'Albanian',\n nativeName: 'Shqip'\n },\n sr: {\n name: 'Serbian',\n nativeName: 'српски језик'\n },\n ss: {\n name: 'Swati',\n nativeName: 'SiSwati'\n },\n st: {\n name: 'Southern Sotho',\n nativeName: 'Sesotho'\n },\n su: {\n name: 'Sundanese',\n nativeName: 'Basa Sunda'\n },\n sv: {\n name: 'Swedish',\n nativeName: 'Svenska'\n },\n sw: {\n name: 'Swahili',\n nativeName: 'Kiswahili'\n },\n ta: {\n name: 'Tamil',\n nativeName: 'தமிழ்'\n },\n te: {\n name: 'Telugu',\n nativeName: 'తెలుగు'\n },\n tg: {\n name: 'Tajik',\n nativeName: 'тоҷикӣ'\n },\n th: {\n name: 'Thai',\n nativeName: 'ไทย'\n },\n ti: {\n name: 'Tigrinya',\n nativeName: 'ትግርኛ'\n },\n tk: {\n name: 'Turkmen',\n nativeName: 'Türkmençe'\n },\n tl: {\n name: 'Tagalog',\n nativeName: 'Wikang Tagalog'\n },\n tn: {\n name: 'Tswana',\n nativeName: 'Setswana'\n },\n to: {\n name: 'Tonga',\n nativeName: 'faka Tonga'\n },\n tr: {\n name: 'Turkish',\n nativeName: 'Türkçe'\n },\n ts: {\n name: 'Tsonga',\n nativeName: 'Xitsonga'\n },\n tt: {\n name: 'Tatar',\n nativeName: 'татар теле'\n },\n tw: {\n name: 'Twi',\n nativeName: 'Twi'\n },\n ty: {\n name: 'Tahitian',\n nativeName: 'Reo Tahiti'\n },\n ug: {\n name: 'Uyghur',\n nativeName: 'ئۇيغۇرچە‎'\n },\n uk: {\n name: 'Ukrainian',\n nativeName: 'Українська'\n },\n ur: {\n name: 'Urdu',\n nativeName: 'اردو'\n },\n uz: {\n name: 'Uzbek',\n nativeName: 'Ўзбек'\n },\n ve: {\n name: 'Venda',\n nativeName: 'Tshivenḓa'\n },\n vi: {\n name: 'Vietnamese',\n nativeName: 'Tiếng Việt'\n },\n vo: {\n name: 'Volapük',\n nativeName: 'Volapük'\n },\n wa: {\n name: 'Walloon',\n nativeName: 'walon'\n },\n wo: {\n name: 'Wolof',\n nativeName: 'Wollof'\n },\n xh: {\n name: 'Xhosa',\n nativeName: 'isiXhosa'\n },\n yi: {\n name: 'Yiddish',\n nativeName: 'ייִדיש'\n },\n yo: {\n name: 'Yoruba',\n nativeName: 'Yorùbá'\n },\n za: {\n name: 'Zhuang',\n nativeName: 'Saɯ cueŋƅ'\n },\n zh: {\n name: 'Chinese',\n nativeName: '中文'\n },\n zu: {\n name: 'Zulu',\n nativeName: 'isiZulu'\n }\n};\n\nexports.default = LANGUAGES_LIST;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/data.js\n// module id = ./src/data.js\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _keys = require('babel-runtime/core-js/object/keys');\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _values = require('babel-runtime/core-js/object/values');\n\nvar _values2 = _interopRequireDefault(_values);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _data = require('./data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ISO6391 = function () {\n function ISO6391() {\n (0, _classCallCheck3.default)(this, ISO6391);\n }\n\n (0, _createClass3.default)(ISO6391, null, [{\n key: 'getLanguages',\n value: function getLanguages() {\n var codes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return codes.map(function (code) {\n return {\n code: code,\n name: ISO6391.getName(code),\n nativeName: ISO6391.getNativeName(code)\n };\n });\n }\n }, {\n key: 'getName',\n value: function getName(code) {\n return ISO6391.validate(code) ? _data2.default[code].name : '';\n }\n }, {\n key: 'getAllNames',\n value: function getAllNames() {\n return (0, _values2.default)(_data2.default).map(function (l) {\n return l.name;\n });\n }\n }, {\n key: 'getNativeName',\n value: function getNativeName(code) {\n return ISO6391.validate(code) ? _data2.default[code].nativeName : '';\n }\n }, {\n key: 'getAllNativeNames',\n value: function getAllNativeNames() {\n return (0, _values2.default)(_data2.default).map(function (l) {\n return l.nativeName;\n });\n }\n }, {\n key: 'getCode',\n value: function getCode(name) {\n var code = (0, _keys2.default)(_data2.default).find(function (code) {\n var language = _data2.default[code];\n\n return language.name.toLowerCase() === name.toLowerCase() || language.nativeName.toLowerCase() === name.toLowerCase();\n });\n return code || '';\n }\n }, {\n key: 'getAllCodes',\n value: function getAllCodes() {\n return (0, _keys2.default)(_data2.default);\n }\n }, {\n key: 'validate',\n value: function validate(code) {\n return _data2.default.hasOwnProperty(code);\n }\n }]);\n return ISO6391;\n}();\n\nexports.default = ISO6391;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/index.js\n// module id = ./src/index.js\n// module chunks = 0"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7DA;;;;;;;ACAA;;;;;;;ACAA;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1BA;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;;;;;;;;ACDA;AACA;;;;;;;;ACDA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;;;;;;;;ACFA;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACruBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;A","sourceRoot":""} \ No newline at end of file diff --git a/node_modules/iso-639-1/index.d.ts b/node_modules/iso-639-1/index.d.ts new file mode 100644 index 00000000..9ea0dc73 --- /dev/null +++ b/node_modules/iso-639-1/index.d.ts @@ -0,0 +1,205 @@ +declare module 'iso-639-1' { + export type LanguageCode = + 'aa' + | 'ab' + | 'ae' + | 'af' + | 'ak' + | 'am' + | 'an' + | 'ar' + | 'as' + | 'av' + | 'ay' + | 'az' + | 'ba' + | 'be' + | 'bg' + | 'bi' + | 'bm' + | 'bn' + | 'bo' + | 'br' + | 'bs' + | 'ca' + | 'ce' + | 'ch' + | 'co' + | 'cr' + | 'cs' + | 'cu' + | 'cv' + | 'cy' + | 'da' + | 'de' + | 'dv' + | 'dz' + | 'ee' + | 'el' + | 'en' + | 'eo' + | 'es' + | 'et' + | 'eu' + | 'fa' + | 'ff' + | 'fi' + | 'fj' + | 'fo' + | 'fr' + | 'fy' + | 'ga' + | 'gd' + | 'gl' + | 'gn' + | 'gu' + | 'gv' + | 'ha' + | 'he' + | 'hi' + | 'ho' + | 'hr' + | 'ht' + | 'hu' + | 'hy' + | 'hz' + | 'ia' + | 'id' + | 'ie' + | 'ig' + | 'ii' + | 'ik' + | 'io' + | 'is' + | 'it' + | 'iu' + | 'ja' + | 'jv' + | 'ka' + | 'kg' + | 'ki' + | 'kj' + | 'kk' + | 'kl' + | 'km' + | 'kn' + | 'ko' + | 'kr' + | 'ks' + | 'ku' + | 'kv' + | 'kw' + | 'ky' + | 'la' + | 'lb' + | 'lg' + | 'li' + | 'ln' + | 'lo' + | 'lt' + | 'lu' + | 'lv' + | 'mg' + | 'mh' + | 'mi' + | 'mk' + | 'ml' + | 'mn' + | 'mr' + | 'ms' + | 'mt' + | 'my' + | 'na' + | 'nb' + | 'nd' + | 'ne' + | 'ng' + | 'nl' + | 'nn' + | 'no' + | 'nr' + | 'nv' + | 'ny' + | 'oc' + | 'oj' + | 'om' + | 'or' + | 'os' + | 'pa' + | 'pi' + | 'pl' + | 'ps' + | 'pt' + | 'qu' + | 'rm' + | 'rn' + | 'ro' + | 'ru' + | 'rw' + | 'sa' + | 'sc' + | 'sd' + | 'se' + | 'sg' + | 'si' + | 'sk' + | 'sl' + | 'sm' + | 'sn' + | 'so' + | 'sq' + | 'sr' + | 'ss' + | 'st' + | 'su' + | 'sv' + | 'sw' + | 'ta' + | 'te' + | 'tg' + | 'th' + | 'ti' + | 'tk' + | 'tl' + | 'tn' + | 'to' + | 'tr' + | 'ts' + | 'tt' + | 'tw' + | 'ty' + | 'ug' + | 'uk' + | 'ur' + | 'uz' + | 've' + | 'vi' + | 'vo' + | 'wa' + | 'wo' + | 'xh' + | 'yi' + | 'yo' + | 'za' + | 'zh' + | 'zu' + + interface ISO6391 { + getName: (code: string) => string; + getAllNames: () => Array; + getNativeName: (code: string) => string; + getAllNativeNames: () => Array; + getCode: (name: string) => LanguageCode; + getAllCodes: () => Array; + validate: (code: string) => boolean; + getLanguages: (codes: Array) => Array<{ + code: LanguageCode; + name: string; + nativeName: string; + }>; + } + + let localeCode: ISO6391; + + export default localeCode; +} diff --git a/node_modules/iso-639-1/package.json b/node_modules/iso-639-1/package.json new file mode 100644 index 00000000..90163fd0 --- /dev/null +++ b/node_modules/iso-639-1/package.json @@ -0,0 +1,46 @@ +{ + "name": "iso-639-1", + "version": "2.1.15", + "description": "ISO-639-1 codes", + "main": "build/index.js", + "module": "src/index.js", + "typings": "index.d.ts", + "scripts": { + "build": "webpack", + "test": "mocha" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/meikidd/iso-639-1.git" + }, + "keywords": [ + "iso", + "iso-639", + "iso-639-1", + "language", + "language code", + "locale", + "locale code" + ], + "author": "meikidd ", + "license": "MIT", + "bugs": { + "url": "https://github.com/meikidd/iso-639-1/issues" + }, + "devDependencies": { + "babel-cli": "^6.26.0", + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-plugin-add-module-exports": "^0.2.1", + "babel-plugin-transform-runtime": "^6.23.0", + "babel-preset-es2015": "^6.24.1", + "babel-preset-stage-0": "^6.24.1", + "clean-webpack-plugin": "^0.1.17", + "mocha": "^4.0.1", + "webpack": "^3.10.0" + }, + "homepage": "https://github.com/meikidd/iso-639-1#readme", + "engines": { + "node": ">=6.0" + } +} diff --git a/node_modules/iso-639-1/readme.md b/node_modules/iso-639-1/readme.md new file mode 100644 index 00000000..d32de7f8 --- /dev/null +++ b/node_modules/iso-639-1/readme.md @@ -0,0 +1,121 @@ +# ISO-639-1 +[![NPM Version][npm-image]][npm-url] +[![Build Status][travis-image]][travis-url] +[![Download Count][download-url]][npm-url] + +[travis-image]: https://travis-ci.org/meikidd/iso-639-1.svg?branch=master +[travis-url]: https://travis-ci.org/meikidd/iso-639-1 +[npm-image]: https://img.shields.io/npm/v/iso-639-1.svg?style=flat-square +[npm-url]: https://npmjs.org/package/iso-639-1 +[download-url]: https://img.shields.io/npm/dt/iso-639-1.svg?style=flat-square + + +Simple interface for [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language codes + +## Installation + +``` +npm install iso-639-1 +``` + +## Usage + +### Node.js + +```javascript +const ISO6391 = require('iso-639-1'); +console.log(ISO6391.getName('en')); // 'English' +``` + +### ES Module + +```javascript +import ISO6391 from 'iso-639-1'; +console.log(ISO6391.getName('en')); // 'English' +``` + +### Browsers + +HTML + +```html + +``` + +Visit global variable ISO6391 in js + +```javascript +console.log(ISO6391.getName('en')); // 'English' +``` + +## Methods + +### getName(code) + - @param code {string} + - @return {string} + +Lookup language english name by code + +### getAllNames() + - @return {array} + +Get array of all language english names + +### getNativeName(code) + - @param code {string} + - @return {string} + +Lookup language native name by code + +### getAllNativeNames() + - @return {array} + +Get array of all language native names + + +### getCode(name) + - @param name {string} + - @return {string} + +Lookup code by english name or native name + +### getAllCodes() + - @return {array} + +Get array of all codes + +### validate(code) + - @param code {string} + - @return {boolean} + +Check whether the given code is in the list of [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) + +### getLanguages(codes) + - @param codes {array} + - @return {array} + +Get the array of the language objects by the given codes + +## Example + +``` +const ISO6391 = require('iso-639-1') + +console.log(ISO6391.getName('zh')) // 'Chinese' +console.log(ISO6391.getNativeName('zh')) // '中文' + +console.log(ISO6391.getAllNames()) // ['Afar','Abkhaz', ... ,'Zulu'] +console.log(ISO6391.getAllNativeNames()) //['Afaraf','аҧсуа бызшәа', ... ,'isiZulu' ] + +console.log(ISO6391.getCode('Chinese')) // 'zh' +console.log(ISO6391.getCode('中文')) // 'zh' + +console.log(ISO6391.getAllCodes()) //['aa','ab',...,'zu'] + +console.log(ISO6391.validate('en')) // true +console.log(ISO6391.validate('xx')) // false + +console.log(ISO6391.getLanguages(['en', 'zh'])) +// [{code:'en',name:'English',nativeName:'English'},{code:'zh',name:'Chinese',nativeName:'中文'}] + +``` diff --git a/node_modules/iso-639-1/src/data.js b/node_modules/iso-639-1/src/data.js new file mode 100644 index 00000000..e74cfa3a --- /dev/null +++ b/node_modules/iso-639-1/src/data.js @@ -0,0 +1,736 @@ +const LANGUAGES_LIST = { + aa: { + name: 'Afar', + nativeName: 'Afaraf', + }, + ab: { + name: 'Abkhaz', + nativeName: 'аҧсуа бызшәа', + }, + ae: { + name: 'Avestan', + nativeName: 'avesta', + }, + af: { + name: 'Afrikaans', + nativeName: 'Afrikaans', + }, + ak: { + name: 'Akan', + nativeName: 'Akan', + }, + am: { + name: 'Amharic', + nativeName: 'አማርኛ', + }, + an: { + name: 'Aragonese', + nativeName: 'aragonés', + }, + ar: { + name: 'Arabic', + nativeName: 'اَلْعَرَبِيَّةُ', + }, + as: { + name: 'Assamese', + nativeName: 'অসমীয়া', + }, + av: { + name: 'Avaric', + nativeName: 'авар мацӀ', + }, + ay: { + name: 'Aymara', + nativeName: 'aymar aru', + }, + az: { + name: 'Azerbaijani', + nativeName: 'azərbaycan dili', + }, + ba: { + name: 'Bashkir', + nativeName: 'башҡорт теле', + }, + be: { + name: 'Belarusian', + nativeName: 'беларуская мова', + }, + bg: { + name: 'Bulgarian', + nativeName: 'български език', + }, + bi: { + name: 'Bislama', + nativeName: 'Bislama', + }, + bm: { + name: 'Bambara', + nativeName: 'bamanankan', + }, + bn: { + name: 'Bengali', + nativeName: 'বাংলা', + }, + bo: { + name: 'Tibetan', + nativeName: 'བོད་ཡིག', + }, + br: { + name: 'Breton', + nativeName: 'brezhoneg', + }, + bs: { + name: 'Bosnian', + nativeName: 'bosanski jezik', + }, + ca: { + name: 'Catalan', + nativeName: 'Català', + }, + ce: { + name: 'Chechen', + nativeName: 'нохчийн мотт', + }, + ch: { + name: 'Chamorro', + nativeName: 'Chamoru', + }, + co: { + name: 'Corsican', + nativeName: 'corsu', + }, + cr: { + name: 'Cree', + nativeName: 'ᓀᐦᐃᔭᐍᐏᐣ', + }, + cs: { + name: 'Czech', + nativeName: 'čeština', + }, + cu: { + name: 'Old Church Slavonic', + nativeName: 'ѩзыкъ словѣньскъ', + }, + cv: { + name: 'Chuvash', + nativeName: 'чӑваш чӗлхи', + }, + cy: { + name: 'Welsh', + nativeName: 'Cymraeg', + }, + da: { + name: 'Danish', + nativeName: 'dansk', + }, + de: { + name: 'German', + nativeName: 'Deutsch', + }, + dv: { + name: 'Divehi', + nativeName: 'ދިވެހި', + }, + dz: { + name: 'Dzongkha', + nativeName: 'རྫོང་ཁ', + }, + ee: { + name: 'Ewe', + nativeName: 'Eʋegbe', + }, + el: { + name: 'Greek', + nativeName: 'Ελληνικά', + }, + en: { + name: 'English', + nativeName: 'English', + }, + eo: { + name: 'Esperanto', + nativeName: 'Esperanto', + }, + es: { + name: 'Spanish', + nativeName: 'Español', + }, + et: { + name: 'Estonian', + nativeName: 'eesti', + }, + eu: { + name: 'Basque', + nativeName: 'euskara', + }, + fa: { + name: 'Persian', + nativeName: 'فارسی', + }, + ff: { + name: 'Fula', + nativeName: 'Fulfulde', + }, + fi: { + name: 'Finnish', + nativeName: 'suomi', + }, + fj: { + name: 'Fijian', + nativeName: 'vosa Vakaviti', + }, + fo: { + name: 'Faroese', + nativeName: 'føroyskt', + }, + fr: { + name: 'French', + nativeName: 'Français', + }, + fy: { + name: 'Western Frisian', + nativeName: 'Frysk', + }, + ga: { + name: 'Irish', + nativeName: 'Gaeilge', + }, + gd: { + name: 'Scottish Gaelic', + nativeName: 'Gàidhlig', + }, + gl: { + name: 'Galician', + nativeName: 'galego', + }, + gn: { + name: 'Guaraní', + nativeName: "Avañe'ẽ", + }, + gu: { + name: 'Gujarati', + nativeName: 'ગુજરાતી', + }, + gv: { + name: 'Manx', + nativeName: 'Gaelg', + }, + ha: { + name: 'Hausa', + nativeName: 'هَوُسَ', + }, + he: { + name: 'Hebrew', + nativeName: 'עברית', + }, + hi: { + name: 'Hindi', + nativeName: 'हिन्दी', + }, + ho: { + name: 'Hiri Motu', + nativeName: 'Hiri Motu', + }, + hr: { + name: 'Croatian', + nativeName: 'Hrvatski', + }, + ht: { + name: 'Haitian', + nativeName: 'Kreyòl ayisyen', + }, + hu: { + name: 'Hungarian', + nativeName: 'magyar', + }, + hy: { + name: 'Armenian', + nativeName: 'Հայերեն', + }, + hz: { + name: 'Herero', + nativeName: 'Otjiherero', + }, + ia: { + name: 'Interlingua', + nativeName: 'Interlingua', + }, + id: { + name: 'Indonesian', + nativeName: 'Bahasa Indonesia', + }, + ie: { + name: 'Interlingue', + nativeName: 'Interlingue', + }, + ig: { + name: 'Igbo', + nativeName: 'Asụsụ Igbo', + }, + ii: { + name: 'Nuosu', + nativeName: 'ꆈꌠ꒿ Nuosuhxop', + }, + ik: { + name: 'Inupiaq', + nativeName: 'Iñupiaq', + }, + io: { + name: 'Ido', + nativeName: 'Ido', + }, + is: { + name: 'Icelandic', + nativeName: 'Íslenska', + }, + it: { + name: 'Italian', + nativeName: 'Italiano', + }, + iu: { + name: 'Inuktitut', + nativeName: 'ᐃᓄᒃᑎᑐᑦ', + }, + ja: { + name: 'Japanese', + nativeName: '日本語', + }, + jv: { + name: 'Javanese', + nativeName: 'basa Jawa', + }, + ka: { + name: 'Georgian', + nativeName: 'ქართული', + }, + kg: { + name: 'Kongo', + nativeName: 'Kikongo', + }, + ki: { + name: 'Kikuyu', + nativeName: 'Gĩkũyũ', + }, + kj: { + name: 'Kwanyama', + nativeName: 'Kuanyama', + }, + kk: { + name: 'Kazakh', + nativeName: 'қазақ тілі', + }, + kl: { + name: 'Kalaallisut', + nativeName: 'kalaallisut', + }, + km: { + name: 'Khmer', + nativeName: 'ខេមរភាសា', + }, + kn: { + name: 'Kannada', + nativeName: 'ಕನ್ನಡ', + }, + ko: { + name: 'Korean', + nativeName: '한국어', + }, + kr: { + name: 'Kanuri', + nativeName: 'Kanuri', + }, + ks: { + name: 'Kashmiri', + nativeName: 'कश्मीरी', + }, + ku: { + name: 'Kurdish', + nativeName: 'Kurdî', + }, + kv: { + name: 'Komi', + nativeName: 'коми кыв', + }, + kw: { + name: 'Cornish', + nativeName: 'Kernewek', + }, + ky: { + name: 'Kyrgyz', + nativeName: 'Кыргызча', + }, + la: { + name: 'Latin', + nativeName: 'latine', + }, + lb: { + name: 'Luxembourgish', + nativeName: 'Lëtzebuergesch', + }, + lg: { + name: 'Ganda', + nativeName: 'Luganda', + }, + li: { + name: 'Limburgish', + nativeName: 'Limburgs', + }, + ln: { + name: 'Lingala', + nativeName: 'Lingála', + }, + lo: { + name: 'Lao', + nativeName: 'ພາສາລາວ', + }, + lt: { + name: 'Lithuanian', + nativeName: 'lietuvių kalba', + }, + lu: { + name: 'Luba-Katanga', + nativeName: 'Kiluba', + }, + lv: { + name: 'Latvian', + nativeName: 'latviešu valoda', + }, + mg: { + name: 'Malagasy', + nativeName: 'fiteny malagasy', + }, + mh: { + name: 'Marshallese', + nativeName: 'Kajin M̧ajeļ', + }, + mi: { + name: 'Māori', + nativeName: 'te reo Māori', + }, + mk: { + name: 'Macedonian', + nativeName: 'македонски јазик', + }, + ml: { + name: 'Malayalam', + nativeName: 'മലയാളം', + }, + mn: { + name: 'Mongolian', + nativeName: 'Монгол хэл', + }, + mr: { + name: 'Marathi', + nativeName: 'मराठी', + }, + ms: { + name: 'Malay', + nativeName: 'Bahasa Melayu', + }, + mt: { + name: 'Maltese', + nativeName: 'Malti', + }, + my: { + name: 'Burmese', + nativeName: 'ဗမာစာ', + }, + na: { + name: 'Nauru', + nativeName: 'Dorerin Naoero', + }, + nb: { + name: 'Norwegian Bokmål', + nativeName: 'Norsk bokmål', + }, + nd: { + name: 'Northern Ndebele', + nativeName: 'isiNdebele', + }, + ne: { + name: 'Nepali', + nativeName: 'नेपाली', + }, + ng: { + name: 'Ndonga', + nativeName: 'Owambo', + }, + nl: { + name: 'Dutch', + nativeName: 'Nederlands', + }, + nn: { + name: 'Norwegian Nynorsk', + nativeName: 'Norsk nynorsk', + }, + no: { + name: 'Norwegian', + nativeName: 'Norsk', + }, + nr: { + name: 'Southern Ndebele', + nativeName: 'isiNdebele', + }, + nv: { + name: 'Navajo', + nativeName: 'Diné bizaad', + }, + ny: { + name: 'Chichewa', + nativeName: 'chiCheŵa', + }, + oc: { + name: 'Occitan', + nativeName: 'occitan', + }, + oj: { + name: 'Ojibwe', + nativeName: 'ᐊᓂᔑᓈᐯᒧᐎᓐ', + }, + om: { + name: 'Oromo', + nativeName: 'Afaan Oromoo', + }, + or: { + name: 'Oriya', + nativeName: 'ଓଡ଼ିଆ', + }, + os: { + name: 'Ossetian', + nativeName: 'ирон æвзаг', + }, + pa: { + name: 'Panjabi', + nativeName: 'ਪੰਜਾਬੀ', + }, + pi: { + name: 'Pāli', + nativeName: 'पाऴि', + }, + pl: { + name: 'Polish', + nativeName: 'Polski', + }, + ps: { + name: 'Pashto', + nativeName: 'پښتو', + }, + pt: { + name: 'Portuguese', + nativeName: 'Português', + }, + qu: { + name: 'Quechua', + nativeName: 'Runa Simi', + }, + rm: { + name: 'Romansh', + nativeName: 'rumantsch grischun', + }, + rn: { + name: 'Kirundi', + nativeName: 'Ikirundi', + }, + ro: { + name: 'Romanian', + nativeName: 'Română', + }, + ru: { + name: 'Russian', + nativeName: 'Русский', + }, + rw: { + name: 'Kinyarwanda', + nativeName: 'Ikinyarwanda', + }, + sa: { + name: 'Sanskrit', + nativeName: 'संस्कृतम्', + }, + sc: { + name: 'Sardinian', + nativeName: 'sardu', + }, + sd: { + name: 'Sindhi', + nativeName: 'सिन्धी', + }, + se: { + name: 'Northern Sami', + nativeName: 'Davvisámegiella', + }, + sg: { + name: 'Sango', + nativeName: 'yângâ tî sängö', + }, + si: { + name: 'Sinhala', + nativeName: 'සිංහල', + }, + sk: { + name: 'Slovak', + nativeName: 'slovenčina', + }, + sl: { + name: 'Slovenian', + nativeName: 'slovenščina', + }, + sm: { + name: 'Samoan', + nativeName: "gagana fa'a Samoa", + }, + sn: { + name: 'Shona', + nativeName: 'chiShona', + }, + so: { + name: 'Somali', + nativeName: 'Soomaaliga', + }, + sq: { + name: 'Albanian', + nativeName: 'Shqip', + }, + sr: { + name: 'Serbian', + nativeName: 'српски језик', + }, + ss: { + name: 'Swati', + nativeName: 'SiSwati', + }, + st: { + name: 'Southern Sotho', + nativeName: 'Sesotho', + }, + su: { + name: 'Sundanese', + nativeName: 'Basa Sunda', + }, + sv: { + name: 'Swedish', + nativeName: 'Svenska', + }, + sw: { + name: 'Swahili', + nativeName: 'Kiswahili', + }, + ta: { + name: 'Tamil', + nativeName: 'தமிழ்', + }, + te: { + name: 'Telugu', + nativeName: 'తెలుగు', + }, + tg: { + name: 'Tajik', + nativeName: 'тоҷикӣ', + }, + th: { + name: 'Thai', + nativeName: 'ไทย', + }, + ti: { + name: 'Tigrinya', + nativeName: 'ትግርኛ', + }, + tk: { + name: 'Turkmen', + nativeName: 'Türkmençe', + }, + tl: { + name: 'Tagalog', + nativeName: 'Wikang Tagalog', + }, + tn: { + name: 'Tswana', + nativeName: 'Setswana', + }, + to: { + name: 'Tonga', + nativeName: 'faka Tonga', + }, + tr: { + name: 'Turkish', + nativeName: 'Türkçe', + }, + ts: { + name: 'Tsonga', + nativeName: 'Xitsonga', + }, + tt: { + name: 'Tatar', + nativeName: 'татар теле', + }, + tw: { + name: 'Twi', + nativeName: 'Twi', + }, + ty: { + name: 'Tahitian', + nativeName: 'Reo Tahiti', + }, + ug: { + name: 'Uyghur', + nativeName: 'ئۇيغۇرچە‎', + }, + uk: { + name: 'Ukrainian', + nativeName: 'Українська', + }, + ur: { + name: 'Urdu', + nativeName: 'اردو', + }, + uz: { + name: 'Uzbek', + nativeName: 'Ўзбек', + }, + ve: { + name: 'Venda', + nativeName: 'Tshivenḓa', + }, + vi: { + name: 'Vietnamese', + nativeName: 'Tiếng Việt', + }, + vo: { + name: 'Volapük', + nativeName: 'Volapük', + }, + wa: { + name: 'Walloon', + nativeName: 'walon', + }, + wo: { + name: 'Wolof', + nativeName: 'Wollof', + }, + xh: { + name: 'Xhosa', + nativeName: 'isiXhosa', + }, + yi: { + name: 'Yiddish', + nativeName: 'ייִדיש', + }, + yo: { + name: 'Yoruba', + nativeName: 'Yorùbá', + }, + za: { + name: 'Zhuang', + nativeName: 'Saɯ cueŋƅ', + }, + zh: { + name: 'Chinese', + nativeName: '中文', + }, + zu: { + name: 'Zulu', + nativeName: 'isiZulu', + }, +}; + +export default LANGUAGES_LIST; diff --git a/node_modules/iso-639-1/src/index.js b/node_modules/iso-639-1/src/index.js new file mode 100644 index 00000000..9069e2d4 --- /dev/null +++ b/node_modules/iso-639-1/src/index.js @@ -0,0 +1,47 @@ +import LANGUAGES_LIST from './data'; + +export default class ISO6391 { + static getLanguages(codes = []) { + return codes.map(code => ({ + code, + name: ISO6391.getName(code), + nativeName: ISO6391.getNativeName(code), + })); + } + + static getName(code) { + return ISO6391.validate(code) ? LANGUAGES_LIST[code].name : ''; + } + + static getAllNames() { + return Object.values(LANGUAGES_LIST).map(l => l.name); + } + + static getNativeName(code) { + return ISO6391.validate(code) ? LANGUAGES_LIST[code].nativeName : ''; + } + + static getAllNativeNames() { + return Object.values(LANGUAGES_LIST).map(l => l.nativeName); + } + + static getCode(name) { + const code = Object.keys(LANGUAGES_LIST).find(code => { + const language = LANGUAGES_LIST[code]; + + return ( + language.name.toLowerCase() === name.toLowerCase() || + language.nativeName.toLowerCase() === name.toLowerCase() + ); + }); + return code || ''; + } + + static getAllCodes() { + return Object.keys(LANGUAGES_LIST); + } + + static validate(code) { + return LANGUAGES_LIST.hasOwnProperty(code); + } +} diff --git a/node_modules/iso-639-1/test/test.js b/node_modules/iso-639-1/test/test.js new file mode 100644 index 00000000..a84156cc --- /dev/null +++ b/node_modules/iso-639-1/test/test.js @@ -0,0 +1,92 @@ +const assert = require('assert'); +const ISO6391 = require('../build/index'); + +describe('getName()', function() { + it('en', function() { + assert.equal(ISO6391.getName('en'), 'English'); + }); + it('zh', function() { + assert.equal(ISO6391.getName('zh'), 'Chinese'); + }); + it('xx', function() { + assert.equal(ISO6391.getName('xx'), ''); + }); + it('toString', function() { + assert.equal(ISO6391.getName('toString'), ''); + }); +}); + +describe('getNativeName()', function() { + it('en', function() { + assert.equal(ISO6391.getNativeName('en'), 'English'); + }); + it('zh', function() { + assert.equal(ISO6391.getNativeName('zh'), '中文'); + }); + it('xx', function() { + assert.equal(ISO6391.getNativeName('xx'), ''); + }); + it('toString', function() { + assert.equal(ISO6391.getNativeName('toString'), ''); + }); +}); + +describe('getCode()', function() { + it('English', function() { + assert.equal(ISO6391.getCode('English'), 'en'); + }); + it('Chinese', function() { + assert.equal(ISO6391.getCode('Chinese'), 'zh'); + }); + it('中文', function() { + assert.equal(ISO6391.getCode('中文'), 'zh'); + }); + it('xx', function() { + assert.equal(ISO6391.getCode('xx'), ''); + }); + it('toString', function() { + assert.equal(ISO6391.getCode('toString'), ''); + }); +}); + +describe('validate()', function() { + it('en', function() { + assert.equal(ISO6391.validate('en'), true); + }); + it('zh', function() { + assert.equal(ISO6391.validate('zh'), true); + }); + it('xx', function() { + assert.equal(ISO6391.validate('xx'), false); + }); + it('toString', function() { + assert.equal(ISO6391.validate('toString'), false); + }); +}); + +describe('getLanguages()', function() { + it('[en, zh, xx, toString]', function() { + assert.deepEqual(ISO6391.getLanguages(['en', 'zh', 'xx', 'toString']), [ + { + code: 'en', + name: 'English', + nativeName: 'English', + }, + { + code: 'zh', + name: 'Chinese', + nativeName: '中文', + }, + { + code: 'xx', + name: '', + nativeName: '', + }, + { + code: 'toString', + name: '', + nativeName: '', + }, + ]); + }); +}); diff --git a/node_modules/iso-639-1/webpack.config.js b/node_modules/iso-639-1/webpack.config.js new file mode 100644 index 00000000..926f6bb0 --- /dev/null +++ b/node_modules/iso-639-1/webpack.config.js @@ -0,0 +1,41 @@ +const path = require('path'); +const webpack = require('webpack'); +const CleanWebpackPlugin = require('clean-webpack-plugin'); +// const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); + +// webpack 配置 +let webpackConfig = { + entry: { + index: './src/index.js', + }, + output: { + path: path.resolve(__dirname, `./build`), // 输出路径 + filename: '[name].js', // js 文件路径 + library: 'ISO6391', + libraryTarget: 'umd' + }, + devtool: 'cheap-source-map', + module: { + rules: [ + { + test: /\.js$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + options: { + cacheDirectory: require('os').tmpdir(), + presets: ['es2015', 'stage-0'], + plugins: ['add-module-exports', 'transform-runtime'], + }, + }, + }, + ], + }, + plugins: [ + new webpack.NamedModulesPlugin(), + new CleanWebpackPlugin(['./build']), + // new UglifyJSPlugin() + ], +}; + +module.exports = webpackConfig; diff --git a/node_modules/locale-emoji/.editorconfig b/node_modules/locale-emoji/.editorconfig new file mode 100644 index 00000000..ab33bb7e --- /dev/null +++ b/node_modules/locale-emoji/.editorconfig @@ -0,0 +1,51 @@ +# +# EditorConfig: http://EditorConfig.org +# +# This files specifies some basic editor conventions for the files in this +# project. Many editors support this standard, you simply need to find a plugin +# for your favorite! +# +# For a full list of possible values consult the reference. +# https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties +# + +# Stop searching for other .editorconfig files above this folder. +root = true + +# Pick some sane defaults for all files. +[*] + +# UNIX line-endings are preferred. +# http://adaptivepatchwork.com/2012/03/01/mind-the-end-of-your-line/ +end_of_line = lf + +# No reason in these modern times to use anything other than UTF-8. +charset = utf-8 + +# Ensure that there's no bogus whitespace in the file. +trim_trailing_whitespace = true + +# A little esoteric, but it's kind of a standard now. +# http://stackoverflow.com/questions/729692/why-should-files-end-with-a-newline +insert_final_newline = true + +# Pragmatism today. +# http://programmers.stackexchange.com/questions/57 +indent_style = 2 + +# Personal preference here. Smaller indent size means you can fit more on a line +# which can be nice when there are lines with several indentations. +indent_size = 2 + +# Prefer a more conservative default line length – this allows editors with +# sidebars, minimaps, etc. to show at least two documents side-by-side. +# Hard wrapping by default for code is useful since many editors don't support +# an elegant soft wrap; however, soft wrap is fine for things where text just +# flows normally, like Markdown documents or git commit messages. Hard wrap +# is also easier for line-based diffing tools to consume. +# See: http://tex.stackexchange.com/questions/54140 +max_line_length = 80 + +# Markdown uses trailing spaces to create line breaks. +[*.md] +trim_trailing_whitespace = false diff --git a/node_modules/locale-emoji/.npmignore b/node_modules/locale-emoji/.npmignore new file mode 100644 index 00000000..31aae6f5 --- /dev/null +++ b/node_modules/locale-emoji/.npmignore @@ -0,0 +1,4 @@ +node_modules +*.log +coverage +.nyc_output diff --git a/node_modules/locale-emoji/.travis.yml b/node_modules/locale-emoji/.travis.yml new file mode 100644 index 00000000..eccc64c4 --- /dev/null +++ b/node_modules/locale-emoji/.travis.yml @@ -0,0 +1,10 @@ +sudo: false + +language: node_js +node_js: + - '4' + - '6' + - 'stable' + +after_success: + - cat coverage/lcov.info | node_modules/.bin/coveralls diff --git a/node_modules/locale-emoji/README.md b/node_modules/locale-emoji/README.md new file mode 100644 index 00000000..0425be3c --- /dev/null +++ b/node_modules/locale-emoji/README.md @@ -0,0 +1,25 @@ +# locale-emoji + +Convert a locale id string (LCID) to a unicode regional indicator symbol. + +[![build status](http://img.shields.io/travis/10xjs/locale-emoji/master.svg?style=flat)](https://travis-ci.org/10xjs/locale-emoji) +[![coverage](http://img.shields.io/coveralls/10xjs/locale-emoji/master.svg?style=flat)](https://coveralls.io/github/10xjs/locale-emoji?branch=master) +[![license](http://img.shields.io/npm/l/locale-emoji.svg?style=flat)](https://www.npmjs.com/package/locale-emoji) +[![version](http://img.shields.io/npm/v/locale-emoji.svg?style=flat)](https://www.npmjs.com/package/locale-emoji) +[![downloads](http://img.shields.io/npm/dm/locale-emoji.svg?style=flat)](https://www.npmjs.com/package/locale-emoji) + +## Installation + +```sh +$ npm install locale-emoji +``` + +## Usage + +```js +import localeEmoji from 'locale-emoji'; + +localeEmoji('en-CA'); // 🇨🇦 +localeEmoji('en_CA'); // 🇨🇦 +localeEmoji('en'); // 🇺🇸 +``` diff --git a/node_modules/locale-emoji/index.js b/node_modules/locale-emoji/index.js new file mode 100644 index 00000000..02fe73eb --- /dev/null +++ b/node_modules/locale-emoji/index.js @@ -0,0 +1,751 @@ +// --- DEFAULTS START --- +var defaults = { + aa: 'ET', + ab: 'GE', + abr: 'GH', + ace: 'ID', + ach: 'UG', + ada: 'GH', + ady: 'RU', + ae: 'IR', + aeb: 'TN', + af: 'ZA', + agq: 'CM', + aho: 'IN', + ak: 'GH', + akk: 'IQ', + aln: 'XK', + alt: 'RU', + am: 'ET', + amo: 'NG', + aoz: 'ID', + apd: 'TG', + ar: 'EG', + arc: 'IR', + 'arc-Nbat': 'JO', + 'arc-Palm': 'SY', + arn: 'CL', + aro: 'BO', + arq: 'DZ', + ary: 'MA', + arz: 'EG', + as: 'IN', + asa: 'TZ', + ase: 'US', + ast: 'ES', + atj: 'CA', + av: 'RU', + awa: 'IN', + ay: 'BO', + az: 'AZ', + 'az-Arab': 'IR', + ba: 'RU', + bal: 'PK', + ban: 'ID', + bap: 'NP', + bar: 'AT', + bas: 'CM', + bax: 'CM', + bbc: 'ID', + bbj: 'CM', + bci: 'CI', + be: 'BY', + bej: 'SD', + bem: 'ZM', + bew: 'ID', + bez: 'TZ', + bfd: 'CM', + bfq: 'IN', + bft: 'PK', + bfy: 'IN', + bg: 'BG', + bgc: 'IN', + bgn: 'PK', + bgx: 'TR', + bhb: 'IN', + bhi: 'IN', + bhk: 'PH', + bho: 'IN', + bi: 'VU', + bik: 'PH', + bin: 'NG', + bjj: 'IN', + bjn: 'ID', + bjt: 'SN', + bkm: 'CM', + bku: 'PH', + blt: 'VN', + bm: 'ML', + bmq: 'ML', + bn: 'BD', + bo: 'CN', + bpy: 'IN', + bqi: 'IR', + bqv: 'CI', + br: 'FR', + bra: 'IN', + brh: 'PK', + brx: 'IN', + bs: 'BA', + bsq: 'LR', + bss: 'CM', + bto: 'PH', + btv: 'PK', + bua: 'RU', + buc: 'YT', + bug: 'ID', + bum: 'CM', + bvb: 'GQ', + byn: 'ER', + byv: 'CM', + bze: 'ML', + ca: 'ES', + cch: 'NG', + ccp: 'BD', + ce: 'RU', + ceb: 'PH', + cgg: 'UG', + ch: 'GU', + chk: 'FM', + chm: 'RU', + cho: 'US', + chp: 'CA', + chr: 'US', + cja: 'KH', + cjm: 'VN', + ckb: 'IQ', + co: 'FR', + cop: 'EG', + cps: 'PH', + cr: 'CA', + crh: 'UA', + crj: 'CA', + crk: 'CA', + crl: 'CA', + crm: 'CA', + crs: 'SC', + cs: 'CZ', + csb: 'PL', + csw: 'CA', + ctd: 'MM', + cu: 'RU', + 'cu-Glag': 'BG', + cv: 'RU', + cy: 'GB', + da: 'DK', + dak: 'US', + dar: 'RU', + dav: 'KE', + dcc: 'IN', + de: 'DE', + den: 'CA', + dgr: 'CA', + dje: 'NE', + dnj: 'CI', + doi: 'IN', + dsb: 'DE', + dtm: 'ML', + dtp: 'MY', + dty: 'NP', + dua: 'CM', + dv: 'MV', + dyo: 'SN', + dyu: 'BF', + dz: 'BT', + ebu: 'KE', + ee: 'GH', + efi: 'NG', + egl: 'IT', + egy: 'EG', + eky: 'MM', + el: 'GR', + en: 'US', + 'en-Shaw': 'GB', + es: 'ES', + esu: 'US', + et: 'EE', + ett: 'IT', + eu: 'ES', + ewo: 'CM', + ext: 'ES', + fa: 'IR', + fan: 'GQ', + ff: 'SN', + 'ff-Adlm': 'GN', + ffm: 'ML', + fi: 'FI', + fia: 'SD', + fil: 'PH', + fit: 'SE', + fj: 'FJ', + fo: 'FO', + fon: 'BJ', + fr: 'FR', + frc: 'US', + frp: 'FR', + frr: 'DE', + frs: 'DE', + fub: 'CM', + fud: 'WF', + fuf: 'GN', + fuq: 'NE', + fur: 'IT', + fuv: 'NG', + fvr: 'SD', + fy: 'NL', + ga: 'IE', + gaa: 'GH', + gag: 'MD', + gan: 'CN', + gay: 'ID', + gbm: 'IN', + gbz: 'IR', + gcr: 'GF', + gd: 'GB', + gez: 'ET', + ggn: 'NP', + gil: 'KI', + gjk: 'PK', + gju: 'PK', + gl: 'ES', + glk: 'IR', + gn: 'PY', + gom: 'IN', + gon: 'IN', + gor: 'ID', + gos: 'NL', + got: 'UA', + grc: 'CY', + 'grc-Linb': 'GR', + grt: 'IN', + gsw: 'CH', + gu: 'IN', + gub: 'BR', + guc: 'CO', + gur: 'GH', + guz: 'KE', + gv: 'IM', + gvr: 'NP', + gwi: 'CA', + ha: 'NG', + hak: 'CN', + haw: 'US', + haz: 'AF', + he: 'IL', + hi: 'IN', + hif: 'FJ', + hil: 'PH', + hlu: 'TR', + hmd: 'CN', + hnd: 'PK', + hne: 'IN', + hnj: 'LA', + hnn: 'PH', + hno: 'PK', + ho: 'PG', + hoc: 'IN', + hoj: 'IN', + hr: 'HR', + hsb: 'DE', + hsn: 'CN', + ht: 'HT', + hu: 'HU', + hy: 'AM', + hz: 'NA', + ia: 'FR', + iba: 'MY', + ibb: 'NG', + id: 'ID', + ife: 'TG', + ig: 'NG', + ii: 'CN', + ik: 'US', + ikt: 'CA', + ilo: 'PH', + in: 'ID', + inh: 'RU', + is: 'IS', + it: 'IT', + iu: 'CA', + iw: 'IL', + izh: 'RU', + ja: 'JP', + jam: 'JM', + jgo: 'CM', + ji: 'UA', + jmc: 'TZ', + jml: 'NP', + jut: 'DK', + jv: 'ID', + jw: 'ID', + ka: 'GE', + kaa: 'UZ', + kab: 'DZ', + kac: 'MM', + kaj: 'NG', + kam: 'KE', + kao: 'ML', + kbd: 'RU', + kby: 'NE', + kcg: 'NG', + kck: 'ZW', + kde: 'TZ', + kdh: 'TG', + kdt: 'TH', + kea: 'CV', + ken: 'CM', + kfo: 'CI', + kfr: 'IN', + kfy: 'IN', + kg: 'CD', + kge: 'ID', + kgp: 'BR', + kha: 'IN', + khb: 'CN', + khn: 'IN', + khq: 'ML', + kht: 'IN', + khw: 'PK', + ki: 'KE', + kiu: 'TR', + kj: 'NA', + kjg: 'LA', + kk: 'KZ', + 'kk-Arab': 'CN', + kkj: 'CM', + kl: 'GL', + kln: 'KE', + km: 'KH', + kmb: 'AO', + kn: 'IN', + knf: 'SN', + ko: 'KR', + koi: 'RU', + kok: 'IN', + kos: 'FM', + kpe: 'LR', + krc: 'RU', + kri: 'SL', + krj: 'PH', + krl: 'RU', + kru: 'IN', + ks: 'IN', + ksb: 'TZ', + ksf: 'CM', + ksh: 'DE', + ku: 'TR', + 'ku-Arab': 'IQ', + kum: 'RU', + kv: 'RU', + kvr: 'ID', + kvx: 'PK', + kw: 'GB', + kxm: 'TH', + kxp: 'PK', + ky: 'KG', + 'ky-Arab': 'CN', + 'ky-Latn': 'TR', + la: 'VA', + lab: 'GR', + lad: 'IL', + lag: 'TZ', + lah: 'PK', + laj: 'UG', + lb: 'LU', + lbe: 'RU', + lbw: 'ID', + lcp: 'CN', + lep: 'IN', + lez: 'RU', + lg: 'UG', + li: 'NL', + lif: 'NP', + 'lif-Limb': 'IN', + lij: 'IT', + lis: 'CN', + ljp: 'ID', + lki: 'IR', + lkt: 'US', + lmn: 'IN', + lmo: 'IT', + ln: 'CD', + lo: 'LA', + lol: 'CD', + loz: 'ZM', + lrc: 'IR', + lt: 'LT', + ltg: 'LV', + lu: 'CD', + lua: 'CD', + luo: 'KE', + luy: 'KE', + luz: 'IR', + lv: 'LV', + lwl: 'TH', + lzh: 'CN', + lzz: 'TR', + mad: 'ID', + maf: 'CM', + mag: 'IN', + mai: 'IN', + mak: 'ID', + man: 'GM', + 'man-Nkoo': 'GN', + mas: 'KE', + maz: 'MX', + mdf: 'RU', + mdh: 'PH', + mdr: 'ID', + men: 'SL', + mer: 'KE', + mfa: 'TH', + mfe: 'MU', + mg: 'MG', + mgh: 'MZ', + mgo: 'CM', + mgp: 'NP', + mgy: 'TZ', + mh: 'MH', + mi: 'NZ', + min: 'ID', + mis: 'IQ', + mk: 'MK', + ml: 'IN', + mls: 'SD', + mn: 'MN', + 'mn-Mong': 'CN', + mni: 'IN', + mnw: 'MM', + moe: 'CA', + moh: 'CA', + mos: 'BF', + mr: 'IN', + mrd: 'NP', + mrj: 'RU', + mro: 'BD', + ms: 'MY', + mt: 'MT', + mtr: 'IN', + mua: 'CM', + mus: 'US', + mvy: 'PK', + mwk: 'ML', + mwr: 'IN', + mwv: 'ID', + mxc: 'ZW', + my: 'MM', + myv: 'RU', + myx: 'UG', + myz: 'IR', + mzn: 'IR', + na: 'NR', + nan: 'CN', + nap: 'IT', + naq: 'NA', + nb: 'NO', + nch: 'MX', + nd: 'ZW', + ndc: 'MZ', + nds: 'DE', + ne: 'NP', + new: 'NP', + ng: 'NA', + ngl: 'MZ', + nhe: 'MX', + nhw: 'MX', + nij: 'ID', + niu: 'NU', + njo: 'IN', + nl: 'NL', + nmg: 'CM', + nn: 'NO', + nnh: 'CM', + no: 'NO', + nod: 'TH', + noe: 'IN', + non: 'SE', + nqo: 'GN', + nr: 'ZA', + nsk: 'CA', + nso: 'ZA', + nus: 'SS', + nv: 'US', + nxq: 'CN', + ny: 'MW', + nym: 'TZ', + nyn: 'UG', + nzi: 'GH', + oc: 'FR', + om: 'ET', + or: 'IN', + os: 'GE', + osa: 'US', + otk: 'MN', + pa: 'IN', + 'pa-Arab': 'PK', + pag: 'PH', + pal: 'IR', + 'pal-Phlp': 'CN', + pam: 'PH', + pap: 'AW', + pau: 'PW', + pcd: 'FR', + pcm: 'NG', + pdc: 'US', + pdt: 'CA', + peo: 'IR', + pfl: 'DE', + phn: 'LB', + pka: 'IN', + pko: 'KE', + pl: 'PL', + pms: 'IT', + pnt: 'GR', + pon: 'FM', + pra: 'PK', + prd: 'IR', + ps: 'AF', + pt: 'BR', + puu: 'GA', + qu: 'PE', + quc: 'GT', + qug: 'EC', + raj: 'IN', + rcf: 'RE', + rej: 'ID', + rgn: 'IT', + ria: 'IN', + rif: 'MA', + rjs: 'NP', + rkt: 'BD', + rm: 'CH', + rmf: 'FI', + rmo: 'CH', + rmt: 'IR', + rmu: 'SE', + rn: 'BI', + rng: 'MZ', + ro: 'RO', + rob: 'ID', + rof: 'TZ', + rtm: 'FJ', + ru: 'RU', + rue: 'UA', + rug: 'SB', + rw: 'RW', + rwk: 'TZ', + ryu: 'JP', + sa: 'IN', + saf: 'GH', + sah: 'RU', + saq: 'KE', + sas: 'ID', + sat: 'IN', + sav: 'SN', + saz: 'IN', + sbp: 'TZ', + sc: 'IT', + sck: 'IN', + scn: 'IT', + sco: 'GB', + scs: 'CA', + sd: 'PK', + 'sd-Deva': 'IN', + 'sd-Khoj': 'IN', + 'sd-Sind': 'IN', + sdc: 'IT', + sdh: 'IR', + se: 'NO', + sef: 'CI', + seh: 'MZ', + sei: 'MX', + ses: 'ML', + sg: 'CF', + sga: 'IE', + sgs: 'LT', + shi: 'MA', + shn: 'MM', + si: 'LK', + sid: 'ET', + sk: 'SK', + skr: 'PK', + sl: 'SI', + sli: 'PL', + sly: 'ID', + sm: 'WS', + sma: 'SE', + smj: 'SE', + smn: 'FI', + smp: 'IL', + sms: 'FI', + sn: 'ZW', + snk: 'ML', + so: 'SO', + sou: 'TH', + sq: 'AL', + sr: 'RS', + srb: 'IN', + srn: 'SR', + srr: 'SN', + srx: 'IN', + ss: 'ZA', + ssy: 'ER', + st: 'ZA', + stq: 'DE', + su: 'ID', + suk: 'TZ', + sus: 'GN', + sv: 'SE', + sw: 'TZ', + swb: 'YT', + swc: 'CD', + swg: 'DE', + swv: 'IN', + sxn: 'ID', + syl: 'BD', + syr: 'IQ', + szl: 'PL', + ta: 'IN', + taj: 'NP', + tbw: 'PH', + tcy: 'IN', + tdd: 'CN', + tdg: 'NP', + tdh: 'NP', + te: 'IN', + tem: 'SL', + teo: 'UG', + tet: 'TL', + tg: 'TJ', + 'tg-Arab': 'PK', + th: 'TH', + thl: 'NP', + thq: 'NP', + thr: 'NP', + ti: 'ET', + tig: 'ER', + tiv: 'NG', + tk: 'TM', + tkl: 'TK', + tkr: 'AZ', + tkt: 'NP', + tl: 'PH', + tly: 'AZ', + tmh: 'NE', + tn: 'ZA', + to: 'TO', + tog: 'MW', + tpi: 'PG', + tr: 'TR', + tru: 'TR', + trv: 'TW', + ts: 'ZA', + tsd: 'GR', + tsf: 'NP', + tsg: 'PH', + tsj: 'BT', + tt: 'RU', + ttj: 'UG', + tts: 'TH', + ttt: 'AZ', + tum: 'MW', + tvl: 'TV', + twq: 'NE', + txg: 'CN', + ty: 'PF', + tyv: 'RU', + tzm: 'MA', + udm: 'RU', + ug: 'CN', + 'ug-Cyrl': 'KZ', + uga: 'SY', + uk: 'UA', + uli: 'FM', + umb: 'AO', + und: 'US', + unr: 'IN', + 'unr-Deva': 'NP', + unx: 'IN', + ur: 'PK', + uz: 'UZ', + 'uz-Arab': 'AF', + vai: 'LR', + ve: 'ZA', + vec: 'IT', + vep: 'RU', + vi: 'VN', + vic: 'SX', + vls: 'BE', + vmf: 'DE', + vmw: 'MZ', + vot: 'RU', + vro: 'EE', + vun: 'TZ', + wa: 'BE', + wae: 'CH', + wal: 'ET', + war: 'PH', + wbp: 'AU', + wbq: 'IN', + wbr: 'IN', + wls: 'WF', + wni: 'KM', + wo: 'SN', + wtm: 'IN', + wuu: 'CN', + xav: 'BR', + xcr: 'TR', + xh: 'ZA', + xlc: 'TR', + xld: 'TR', + xmf: 'GE', + xmn: 'CN', + xmr: 'SD', + xna: 'SA', + xnr: 'IN', + xog: 'UG', + xpr: 'IR', + xsa: 'YE', + xsr: 'NP', + yao: 'MZ', + yap: 'FM', + yav: 'CM', + ybb: 'CM', + yo: 'NG', + yrl: 'BR', + yua: 'MX', + yue: 'HK', + 'yue-Hans': 'CN', + za: 'CN', + zag: 'SD', + zdj: 'KM', + zea: 'NL', + zgh: 'MA', + zh: 'CN', + 'zh-Bopo': 'TW', + 'zh-Hanb': 'TW', + 'zh-Hant': 'TW', + zlm: 'TG', + zmi: 'MY', + zu: 'ZA', + zza: 'TR', +}; +// --- DEFAULTS END --- + +module.exports = function(locale) { + var split = locale.toUpperCase().split(/-|_/); + var lang = split.shift(); + var code = split.pop(); + + if (!/^[A-Z]{2}$/.test(code)) { + code = defaults[lang.toLowerCase()]; + } + + if (!code) { + return ''; + } + + const a = String.fromCodePoint(code.codePointAt(0) - 0x41 + 0x1F1E6); + const b = String.fromCodePoint(code.codePointAt(1) - 0x41 + 0x1F1E6); + return a + b; +}; diff --git a/node_modules/locale-emoji/package.json b/node_modules/locale-emoji/package.json new file mode 100644 index 00000000..b65f041b --- /dev/null +++ b/node_modules/locale-emoji/package.json @@ -0,0 +1,32 @@ +{ + "name": "locale-emoji", + "version": "0.3.0", + "description": "Convert a locale id string (LCID) to a unicode regional indicator symbol.", + "main": "index.js", + "scripts": { + "test": "jest --coverage", + "update-defaults": "node update-defaults.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/10xjs/locale-emoji.git" + }, + "keywords": [ + "emoji", + "flag", + "locale", + "country", + "code" + ], + "author": "Neal Granger ", + "license": "CC0-1.0", + "bugs": { + "url": "https://github.com/10xjs/locale-emoji/issues" + }, + "homepage": "https://github.com/10xjs/locale-emoji#readme", + "devDependencies": { + "cldr-core": "^31.0.1", + "coveralls": "^2.11.16", + "jest": "^21.1.0" + } +} diff --git a/node_modules/locale-emoji/test.js b/node_modules/locale-emoji/test.js new file mode 100644 index 00000000..f4b75573 --- /dev/null +++ b/node_modules/locale-emoji/test.js @@ -0,0 +1,32 @@ +var localeEmoji = require('.'); + +describe('localeEmoji', function() { + var tests = { + 'de': '🇩🇪', + 'de-DE': '🇩🇪', + 'de_DE': '🇩🇪', + 'de-CH': '🇨🇭', + 'en': '🇺🇸', + 'EN': '🇺🇸', + 'en-GB': '🇬🇧', + 'en-US': '🇺🇸', + 'EN-US': '🇺🇸', + 'EN-us': '🇺🇸', + 'en-us': '🇺🇸', + 'pt': '🇧🇷', + 'sk_Latin_SK': '🇸🇰', + 'eo': '', + }; + + Object.keys(tests).forEach(function(from) { + var to = tests[from]; + + it(from + ' -> ' + to, function() { + expect(localeEmoji(from)).toEqual(to); + }); + }); + + it('should return a empty string for invalid input', function() { + expect(localeEmoji('potato')).toEqual(''); + }); +}); diff --git a/node_modules/locale-emoji/update-defaults.js b/node_modules/locale-emoji/update-defaults.js new file mode 100644 index 00000000..5c652c30 --- /dev/null +++ b/node_modules/locale-emoji/update-defaults.js @@ -0,0 +1,40 @@ +var fs = require('fs'); + +var cldr = require('cldr-core/supplemental/likelySubtags.json'); +var likelySubtags = cldr.supplemental.likelySubtags; + +var defaultsCode = 'var defaults = {\n'; + +Object.keys(likelySubtags).forEach(key => { + if (key.indexOf('und-') === 0 || (/-[A-Z]{2}$/g).test(key)) { + return; + } + + var locale = likelySubtags[key]; + + var split = locale.toUpperCase().split(/-|_/); + if (split.length < 2) { + return; + } + + var code = split.pop(); + if (!code || code === 'ZZ' || !/^[A-Z]{2}$/.test(code)) { + return; + } + + if (key.indexOf('-') !== -1) { + key = `'${key}'`; + } + + defaultsCode += ` ${key}: '${code}',\n`; +}); + +defaultsCode += '};\n'; + +let path = `${__dirname}/index.js`; + +let content = fs.readFileSync(path, 'utf-8') + .replace(/\/\/ --- DEFAULTS START ---\n((.|\n)+)\/\/ --- DEFAULTS END ---/gm, + `// --- DEFAULTS START ---\n${defaultsCode}// --- DEFAULTS END ---`); + +fs.writeFileSync(path, content, 'utf-8'); diff --git a/node_modules/node-fetch/LICENSE.md b/node_modules/node-fetch/LICENSE.md new file mode 100644 index 00000000..660ffecb --- /dev/null +++ b/node_modules/node-fetch/LICENSE.md @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2016 David Frank + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. + diff --git a/node_modules/node-fetch/README.md b/node_modules/node-fetch/README.md new file mode 100644 index 00000000..55f09b7f --- /dev/null +++ b/node_modules/node-fetch/README.md @@ -0,0 +1,634 @@ +node-fetch +========== + +[![npm version][npm-image]][npm-url] +[![build status][travis-image]][travis-url] +[![coverage status][codecov-image]][codecov-url] +[![install size][install-size-image]][install-size-url] +[![Discord][discord-image]][discord-url] + +A light-weight module that brings `window.fetch` to Node.js + +(We are looking for [v2 maintainers and collaborators](https://github.com/bitinn/node-fetch/issues/567)) + +[![Backers][opencollective-image]][opencollective-url] + + + +- [Motivation](#motivation) +- [Features](#features) +- [Difference from client-side fetch](#difference-from-client-side-fetch) +- [Installation](#installation) +- [Loading and configuring the module](#loading-and-configuring-the-module) +- [Common Usage](#common-usage) + - [Plain text or HTML](#plain-text-or-html) + - [JSON](#json) + - [Simple Post](#simple-post) + - [Post with JSON](#post-with-json) + - [Post with form parameters](#post-with-form-parameters) + - [Handling exceptions](#handling-exceptions) + - [Handling client and server errors](#handling-client-and-server-errors) +- [Advanced Usage](#advanced-usage) + - [Streams](#streams) + - [Buffer](#buffer) + - [Accessing Headers and other Meta data](#accessing-headers-and-other-meta-data) + - [Extract Set-Cookie Header](#extract-set-cookie-header) + - [Post data using a file stream](#post-data-using-a-file-stream) + - [Post with form-data (detect multipart)](#post-with-form-data-detect-multipart) + - [Request cancellation with AbortSignal](#request-cancellation-with-abortsignal) +- [API](#api) + - [fetch(url[, options])](#fetchurl-options) + - [Options](#options) + - [Class: Request](#class-request) + - [Class: Response](#class-response) + - [Class: Headers](#class-headers) + - [Interface: Body](#interface-body) + - [Class: FetchError](#class-fetcherror) +- [License](#license) +- [Acknowledgement](#acknowledgement) + + + +## Motivation + +Instead of implementing `XMLHttpRequest` in Node.js to run browser-specific [Fetch polyfill](https://github.com/github/fetch), why not go from native `http` to `fetch` API directly? Hence, `node-fetch`, minimal code for a `window.fetch` compatible API on Node.js runtime. + +See Matt Andrews' [isomorphic-fetch](https://github.com/matthew-andrews/isomorphic-fetch) or Leonardo Quixada's [cross-fetch](https://github.com/lquixada/cross-fetch) for isomorphic usage (exports `node-fetch` for server-side, `whatwg-fetch` for client-side). + +## Features + +- Stay consistent with `window.fetch` API. +- Make conscious trade-off when following [WHATWG fetch spec][whatwg-fetch] and [stream spec](https://streams.spec.whatwg.org/) implementation details, document known differences. +- Use native promise but allow substituting it with [insert your favorite promise library]. +- Use native Node streams for body on both request and response. +- Decode content encoding (gzip/deflate) properly and convert string output (such as `res.text()` and `res.json()`) to UTF-8 automatically. +- Useful extensions such as timeout, redirect limit, response size limit, [explicit errors](ERROR-HANDLING.md) for troubleshooting. + +## Difference from client-side fetch + +- See [Known Differences](LIMITS.md) for details. +- If you happen to use a missing feature that `window.fetch` offers, feel free to open an issue. +- Pull requests are welcomed too! + +## Installation + +Current stable release (`2.x`) + +```sh +$ npm install node-fetch +``` + +## Loading and configuring the module +We suggest you load the module via `require` until the stabilization of ES modules in node: +```js +const fetch = require('node-fetch'); +``` + +If you are using a Promise library other than native, set it through `fetch.Promise`: +```js +const Bluebird = require('bluebird'); + +fetch.Promise = Bluebird; +``` + +## Common Usage + +NOTE: The documentation below is up-to-date with `2.x` releases; see the [`1.x` readme](https://github.com/bitinn/node-fetch/blob/1.x/README.md), [changelog](https://github.com/bitinn/node-fetch/blob/1.x/CHANGELOG.md) and [2.x upgrade guide](UPGRADE-GUIDE.md) for the differences. + +#### Plain text or HTML +```js +fetch('https://github.com/') + .then(res => res.text()) + .then(body => console.log(body)); +``` + +#### JSON + +```js + +fetch('https://api.github.com/users/github') + .then(res => res.json()) + .then(json => console.log(json)); +``` + +#### Simple Post +```js +fetch('https://httpbin.org/post', { method: 'POST', body: 'a=1' }) + .then(res => res.json()) // expecting a json response + .then(json => console.log(json)); +``` + +#### Post with JSON + +```js +const body = { a: 1 }; + +fetch('https://httpbin.org/post', { + method: 'post', + body: JSON.stringify(body), + headers: { 'Content-Type': 'application/json' }, + }) + .then(res => res.json()) + .then(json => console.log(json)); +``` + +#### Post with form parameters +`URLSearchParams` is available in Node.js as of v7.5.0. See [official documentation](https://nodejs.org/api/url.html#url_class_urlsearchparams) for more usage methods. + +NOTE: The `Content-Type` header is only set automatically to `x-www-form-urlencoded` when an instance of `URLSearchParams` is given as such: + +```js +const { URLSearchParams } = require('url'); + +const params = new URLSearchParams(); +params.append('a', 1); + +fetch('https://httpbin.org/post', { method: 'POST', body: params }) + .then(res => res.json()) + .then(json => console.log(json)); +``` + +#### Handling exceptions +NOTE: 3xx-5xx responses are *NOT* exceptions and should be handled in `then()`; see the next section for more information. + +Adding a catch to the fetch promise chain will catch *all* exceptions, such as errors originating from node core libraries, network errors and operational errors, which are instances of FetchError. See the [error handling document](ERROR-HANDLING.md) for more details. + +```js +fetch('https://domain.invalid/') + .catch(err => console.error(err)); +``` + +#### Handling client and server errors +It is common to create a helper function to check that the response contains no client (4xx) or server (5xx) error responses: + +```js +function checkStatus(res) { + if (res.ok) { // res.status >= 200 && res.status < 300 + return res; + } else { + throw MyCustomError(res.statusText); + } +} + +fetch('https://httpbin.org/status/400') + .then(checkStatus) + .then(res => console.log('will not get here...')) +``` + +## Advanced Usage + +#### Streams +The "Node.js way" is to use streams when possible: + +```js +fetch('https://assets-cdn.github.com/images/modules/logos_page/Octocat.png') + .then(res => { + const dest = fs.createWriteStream('./octocat.png'); + res.body.pipe(dest); + }); +``` + +In Node.js 14 you can also use async iterators to read `body`; however, be careful to catch +errors -- the longer a response runs, the more likely it is to encounter an error. + +```js +const fetch = require('node-fetch'); +const response = await fetch('https://httpbin.org/stream/3'); +try { + for await (const chunk of response.body) { + console.dir(JSON.parse(chunk.toString())); + } +} catch (err) { + console.error(err.stack); +} +``` + +In Node.js 12 you can also use async iterators to read `body`; however, async iterators with streams +did not mature until Node.js 14, so you need to do some extra work to ensure you handle errors +directly from the stream and wait on it response to fully close. + +```js +const fetch = require('node-fetch'); +const read = async body => { + let error; + body.on('error', err => { + error = err; + }); + for await (const chunk of body) { + console.dir(JSON.parse(chunk.toString())); + } + return new Promise((resolve, reject) => { + body.on('close', () => { + error ? reject(error) : resolve(); + }); + }); +}; +try { + const response = await fetch('https://httpbin.org/stream/3'); + await read(response.body); +} catch (err) { + console.error(err.stack); +} +``` + +#### Buffer +If you prefer to cache binary data in full, use buffer(). (NOTE: `buffer()` is a `node-fetch`-only API) + +```js +const fileType = require('file-type'); + +fetch('https://assets-cdn.github.com/images/modules/logos_page/Octocat.png') + .then(res => res.buffer()) + .then(buffer => fileType(buffer)) + .then(type => { /* ... */ }); +``` + +#### Accessing Headers and other Meta data +```js +fetch('https://github.com/') + .then(res => { + console.log(res.ok); + console.log(res.status); + console.log(res.statusText); + console.log(res.headers.raw()); + console.log(res.headers.get('content-type')); + }); +``` + +#### Extract Set-Cookie Header + +Unlike browsers, you can access raw `Set-Cookie` headers manually using `Headers.raw()`. This is a `node-fetch` only API. + +```js +fetch(url).then(res => { + // returns an array of values, instead of a string of comma-separated values + console.log(res.headers.raw()['set-cookie']); +}); +``` + +#### Post data using a file stream + +```js +const { createReadStream } = require('fs'); + +const stream = createReadStream('input.txt'); + +fetch('https://httpbin.org/post', { method: 'POST', body: stream }) + .then(res => res.json()) + .then(json => console.log(json)); +``` + +#### Post with form-data (detect multipart) + +```js +const FormData = require('form-data'); + +const form = new FormData(); +form.append('a', 1); + +fetch('https://httpbin.org/post', { method: 'POST', body: form }) + .then(res => res.json()) + .then(json => console.log(json)); + +// OR, using custom headers +// NOTE: getHeaders() is non-standard API + +const form = new FormData(); +form.append('a', 1); + +const options = { + method: 'POST', + body: form, + headers: form.getHeaders() +} + +fetch('https://httpbin.org/post', options) + .then(res => res.json()) + .then(json => console.log(json)); +``` + +#### Request cancellation with AbortSignal + +> NOTE: You may cancel streamed requests only on Node >= v8.0.0 + +You may cancel requests with `AbortController`. A suggested implementation is [`abort-controller`](https://www.npmjs.com/package/abort-controller). + +An example of timing out a request after 150ms could be achieved as the following: + +```js +import AbortController from 'abort-controller'; + +const controller = new AbortController(); +const timeout = setTimeout( + () => { controller.abort(); }, + 150, +); + +fetch(url, { signal: controller.signal }) + .then(res => res.json()) + .then( + data => { + useData(data) + }, + err => { + if (err.name === 'AbortError') { + // request was aborted + } + }, + ) + .finally(() => { + clearTimeout(timeout); + }); +``` + +See [test cases](https://github.com/bitinn/node-fetch/blob/master/test/test.js) for more examples. + + +## API + +### fetch(url[, options]) + +- `url` A string representing the URL for fetching +- `options` [Options](#fetch-options) for the HTTP(S) request +- Returns: Promise<[Response](#class-response)> + +Perform an HTTP(S) fetch. + +`url` should be an absolute url, such as `https://example.com/`. A path-relative URL (`/file/under/root`) or protocol-relative URL (`//can-be-http-or-https.com/`) will result in a rejected `Promise`. + +
+### Options + +The default values are shown after each option key. + +```js +{ + // These properties are part of the Fetch Standard + method: 'GET', + headers: {}, // request headers. format is the identical to that accepted by the Headers constructor (see below) + body: null, // request body. can be null, a string, a Buffer, a Blob, or a Node.js Readable stream + redirect: 'follow', // set to `manual` to extract redirect headers, `error` to reject redirect + signal: null, // pass an instance of AbortSignal to optionally abort requests + + // The following properties are node-fetch extensions + follow: 20, // maximum redirect count. 0 to not follow redirect + timeout: 0, // req/res timeout in ms, it resets on redirect. 0 to disable (OS limit applies). Signal is recommended instead. + compress: true, // support gzip/deflate content encoding. false to disable + size: 0, // maximum response body size in bytes. 0 to disable + agent: null // http(s).Agent instance or function that returns an instance (see below) +} +``` + +##### Default Headers + +If no values are set, the following request headers will be sent automatically: + +Header | Value +------------------- | -------------------------------------------------------- +`Accept-Encoding` | `gzip,deflate` _(when `options.compress === true`)_ +`Accept` | `*/*` +`Content-Length` | _(automatically calculated, if possible)_ +`Transfer-Encoding` | `chunked` _(when `req.body` is a stream)_ +`User-Agent` | `node-fetch/1.0 (+https://github.com/bitinn/node-fetch)` + +Note: when `body` is a `Stream`, `Content-Length` is not set automatically. + +##### Custom Agent + +The `agent` option allows you to specify networking related options which are out of the scope of Fetch, including and not limited to the following: + +- Support self-signed certificate +- Use only IPv4 or IPv6 +- Custom DNS Lookup + +See [`http.Agent`](https://nodejs.org/api/http.html#http_new_agent_options) for more information. + +If no agent is specified, the default agent provided by Node.js is used. Note that [this changed in Node.js 19](https://github.com/nodejs/node/blob/4267b92604ad78584244488e7f7508a690cb80d0/lib/_http_agent.js#L564) to have `keepalive` true by default. If you wish to enable `keepalive` in an earlier version of Node.js, you can override the agent as per the following code sample. + +In addition, the `agent` option accepts a function that returns `http`(s)`.Agent` instance given current [URL](https://nodejs.org/api/url.html), this is useful during a redirection chain across HTTP and HTTPS protocol. + +```js +const httpAgent = new http.Agent({ + keepAlive: true +}); +const httpsAgent = new https.Agent({ + keepAlive: true +}); + +const options = { + agent: function (_parsedURL) { + if (_parsedURL.protocol == 'http:') { + return httpAgent; + } else { + return httpsAgent; + } + } +} +``` + + +### Class: Request + +An HTTP(S) request containing information about URL, method, headers, and the body. This class implements the [Body](#iface-body) interface. + +Due to the nature of Node.js, the following properties are not implemented at this moment: + +- `type` +- `destination` +- `referrer` +- `referrerPolicy` +- `mode` +- `credentials` +- `cache` +- `integrity` +- `keepalive` + +The following node-fetch extension properties are provided: + +- `follow` +- `compress` +- `counter` +- `agent` + +See [options](#fetch-options) for exact meaning of these extensions. + +#### new Request(input[, options]) + +*(spec-compliant)* + +- `input` A string representing a URL, or another `Request` (which will be cloned) +- `options` [Options][#fetch-options] for the HTTP(S) request + +Constructs a new `Request` object. The constructor is identical to that in the [browser](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request). + +In most cases, directly `fetch(url, options)` is simpler than creating a `Request` object. + + +### Class: Response + +An HTTP(S) response. This class implements the [Body](#iface-body) interface. + +The following properties are not implemented in node-fetch at this moment: + +- `Response.error()` +- `Response.redirect()` +- `type` +- `trailer` + +#### new Response([body[, options]]) + +*(spec-compliant)* + +- `body` A `String` or [`Readable` stream][node-readable] +- `options` A [`ResponseInit`][response-init] options dictionary + +Constructs a new `Response` object. The constructor is identical to that in the [browser](https://developer.mozilla.org/en-US/docs/Web/API/Response/Response). + +Because Node.js does not implement service workers (for which this class was designed), one rarely has to construct a `Response` directly. + +#### response.ok + +*(spec-compliant)* + +Convenience property representing if the request ended normally. Will evaluate to true if the response status was greater than or equal to 200 but smaller than 300. + +#### response.redirected + +*(spec-compliant)* + +Convenience property representing if the request has been redirected at least once. Will evaluate to true if the internal redirect counter is greater than 0. + + +### Class: Headers + +This class allows manipulating and iterating over a set of HTTP headers. All methods specified in the [Fetch Standard][whatwg-fetch] are implemented. + +#### new Headers([init]) + +*(spec-compliant)* + +- `init` Optional argument to pre-fill the `Headers` object + +Construct a new `Headers` object. `init` can be either `null`, a `Headers` object, an key-value map object or any iterable object. + +```js +// Example adapted from https://fetch.spec.whatwg.org/#example-headers-class + +const meta = { + 'Content-Type': 'text/xml', + 'Breaking-Bad': '<3' +}; +const headers = new Headers(meta); + +// The above is equivalent to +const meta = [ + [ 'Content-Type', 'text/xml' ], + [ 'Breaking-Bad', '<3' ] +]; +const headers = new Headers(meta); + +// You can in fact use any iterable objects, like a Map or even another Headers +const meta = new Map(); +meta.set('Content-Type', 'text/xml'); +meta.set('Breaking-Bad', '<3'); +const headers = new Headers(meta); +const copyOfHeaders = new Headers(headers); +``` + + +### Interface: Body + +`Body` is an abstract interface with methods that are applicable to both `Request` and `Response` classes. + +The following methods are not yet implemented in node-fetch at this moment: + +- `formData()` + +#### body.body + +*(deviation from spec)* + +* Node.js [`Readable` stream][node-readable] + +Data are encapsulated in the `Body` object. Note that while the [Fetch Standard][whatwg-fetch] requires the property to always be a WHATWG `ReadableStream`, in node-fetch it is a Node.js [`Readable` stream][node-readable]. + +#### body.bodyUsed + +*(spec-compliant)* + +* `Boolean` + +A boolean property for if this body has been consumed. Per the specs, a consumed body cannot be used again. + +#### body.arrayBuffer() +#### body.blob() +#### body.json() +#### body.text() + +*(spec-compliant)* + +* Returns: Promise + +Consume the body and return a promise that will resolve to one of these formats. + +#### body.buffer() + +*(node-fetch extension)* + +* Returns: Promise<Buffer> + +Consume the body and return a promise that will resolve to a Buffer. + +#### body.textConverted() + +*(node-fetch extension)* + +* Returns: Promise<String> + +Identical to `body.text()`, except instead of always converting to UTF-8, encoding sniffing will be performed and text converted to UTF-8 if possible. + +(This API requires an optional dependency of the npm package [encoding](https://www.npmjs.com/package/encoding), which you need to install manually. `webpack` users may see [a warning message](https://github.com/bitinn/node-fetch/issues/412#issuecomment-379007792) due to this optional dependency.) + + +### Class: FetchError + +*(node-fetch extension)* + +An operational error in the fetching process. See [ERROR-HANDLING.md][] for more info. + + +### Class: AbortError + +*(node-fetch extension)* + +An Error thrown when the request is aborted in response to an `AbortSignal`'s `abort` event. It has a `name` property of `AbortError`. See [ERROR-HANDLING.MD][] for more info. + +## Acknowledgement + +Thanks to [github/fetch](https://github.com/github/fetch) for providing a solid implementation reference. + +`node-fetch` v1 was maintained by [@bitinn](https://github.com/bitinn); v2 was maintained by [@TimothyGu](https://github.com/timothygu), [@bitinn](https://github.com/bitinn) and [@jimmywarting](https://github.com/jimmywarting); v2 readme is written by [@jkantr](https://github.com/jkantr). + +## License + +MIT + +[npm-image]: https://flat.badgen.net/npm/v/node-fetch +[npm-url]: https://www.npmjs.com/package/node-fetch +[travis-image]: https://flat.badgen.net/travis/bitinn/node-fetch +[travis-url]: https://travis-ci.org/bitinn/node-fetch +[codecov-image]: https://flat.badgen.net/codecov/c/github/bitinn/node-fetch/master +[codecov-url]: https://codecov.io/gh/bitinn/node-fetch +[install-size-image]: https://flat.badgen.net/packagephobia/install/node-fetch +[install-size-url]: https://packagephobia.now.sh/result?p=node-fetch +[discord-image]: https://img.shields.io/discord/619915844268326952?color=%237289DA&label=Discord&style=flat-square +[discord-url]: https://discord.gg/Zxbndcm +[opencollective-image]: https://opencollective.com/node-fetch/backers.svg +[opencollective-url]: https://opencollective.com/node-fetch +[whatwg-fetch]: https://fetch.spec.whatwg.org/ +[response-init]: https://fetch.spec.whatwg.org/#responseinit +[node-readable]: https://nodejs.org/api/stream.html#stream_readable_streams +[mdn-headers]: https://developer.mozilla.org/en-US/docs/Web/API/Headers +[LIMITS.md]: https://github.com/bitinn/node-fetch/blob/master/LIMITS.md +[ERROR-HANDLING.md]: https://github.com/bitinn/node-fetch/blob/master/ERROR-HANDLING.md +[UPGRADE-GUIDE.md]: https://github.com/bitinn/node-fetch/blob/master/UPGRADE-GUIDE.md diff --git a/node_modules/node-fetch/browser.js b/node_modules/node-fetch/browser.js new file mode 100644 index 00000000..ee86265a --- /dev/null +++ b/node_modules/node-fetch/browser.js @@ -0,0 +1,25 @@ +"use strict"; + +// ref: https://github.com/tc39/proposal-global +var getGlobal = function () { + // the only reliable means to get the global object is + // `Function('return this')()` + // However, this causes CSP violations in Chrome apps. + if (typeof self !== 'undefined') { return self; } + if (typeof window !== 'undefined') { return window; } + if (typeof global !== 'undefined') { return global; } + throw new Error('unable to locate global object'); +} + +var globalObject = getGlobal(); + +module.exports = exports = globalObject.fetch; + +// Needed for TypeScript and Webpack. +if (globalObject.fetch) { + exports.default = globalObject.fetch.bind(globalObject); +} + +exports.Headers = globalObject.Headers; +exports.Request = globalObject.Request; +exports.Response = globalObject.Response; diff --git a/node_modules/node-fetch/lib/index.es.js b/node_modules/node-fetch/lib/index.es.js new file mode 100644 index 00000000..aae9799c --- /dev/null +++ b/node_modules/node-fetch/lib/index.es.js @@ -0,0 +1,1777 @@ +process.emitWarning("The .es.js file is deprecated. Use .mjs instead."); + +import Stream from 'stream'; +import http from 'http'; +import Url from 'url'; +import whatwgUrl from 'whatwg-url'; +import https from 'https'; +import zlib from 'zlib'; + +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js + +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; + +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); + +class Blob { + constructor() { + this[TYPE] = ''; + + const blobParts = arguments[0]; + const options = arguments[1]; + + const buffers = []; + let size = 0; + + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + + this[BUFFER] = Buffer.concat(buffers); + + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; + + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} + +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * fetch-error.js + * + * FetchError interface for operational errors + */ + +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; + +let convert; +try { + convert = require('encoding').convert; +} catch (e) {} + +const INTERNALS = Symbol('Body internals'); + +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; + +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); + } +} + +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, + + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, + + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; + +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); + +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; + +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + + this[INTERNALS].disturbed = true; + + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + + let body = this.body; + + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is blob + if (isBlob(body)) { + body = body.stream(); + } + + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } + + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + + accumBytes += chunk.length; + accum.push(chunk); + }); + + body.on('end', function () { + if (abort) { + return; + } + + clearTimeout(resTimeout); + + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} + +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; + + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); + + // html5 + if (!res && str) { + res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; + + this[MAP] = Object.create(null); + + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + + return; + } + + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } + + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } + + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } + + return this[MAP][key].join(', '); + } + + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; + + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } + + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } + + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } + + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } + + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); + +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} + +const INTERNAL = Symbol('internal'); + +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} + +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } + + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + + return obj; +} + +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} + +const INTERNALS$1 = Symbol('Response internals'); + +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; + +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + Body.call(this, body, opts); + + const status = opts.status || 200; + const headers = new Headers(opts.headers); + + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + + get url() { + return this[INTERNALS$1].url || ''; + } + + get status() { + return this[INTERNALS$1].status; + } + + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + + get redirected() { + return this[INTERNALS$1].counter > 0; + } + + get statusText() { + return this[INTERNALS$1].statusText; + } + + get headers() { + return this[INTERNALS$1].headers; + } + + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } +} + +Body.mixIn(Response.prototype); + +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); + +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); + +const INTERNALS$2 = Symbol('Request internals'); +const URL = Url.URL || whatwgUrl.URL; + +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; + +/** + * Wrapper around `new URL` to handle arbitrary URLs + * + * @param {string} urlStr + * @return {void} + */ +function parseURL(urlStr) { + /* + Check whether the URL is absolute or not + Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 + Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 + */ + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL(urlStr).toString(); + } + + // Fallback to old implementation for arbitrary URLs + return parse_url(urlStr); +} + +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} + +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} + +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + let parsedURL; + + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parseURL(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); + + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + + const headers = new Headers(init.headers || input.headers || {}); + + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; + + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } + + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; + + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + + get method() { + return this[INTERNALS$2].method; + } + + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + + get headers() { + return this[INTERNALS$2].headers; + } + + get redirect() { + return this[INTERNALS$2].redirect; + } + + get signal() { + return this[INTERNALS$2].signal; + } + + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} + +Body.mixIn(Request.prototype); + +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); + +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); + + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } + + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } + + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); + } + + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); + } + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); + } + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + } + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress && !headers.has('Accept-Encoding')) { + headers.set('Accept-Encoding', 'gzip,deflate'); + } + + let agent = request.agent; + if (typeof agent === 'function') { + agent = agent(parsedURL); + } + + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js + + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); +} + +/** + * abort-error.js + * + * AbortError interface for cancelled requests + */ + +/** + * Create AbortError instance + * + * @param String message Error message for human + * @return AbortError + */ +function AbortError(message) { + Error.call(this, message); + + this.type = 'aborted'; + this.message = message; + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +AbortError.prototype = Object.create(Error.prototype); +AbortError.prototype.constructor = AbortError; +AbortError.prototype.name = 'AbortError'; + +const URL$1 = Url.URL || whatwgUrl.URL; + +// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 +const PassThrough$1 = Stream.PassThrough; + +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; + +/** + * isSameProtocol reports whether the two provided URLs use the same protocol. + * + * Both domains must already be in canonical form. + * @param {string|URL} original + * @param {string|URL} destination + */ +const isSameProtocol = function isSameProtocol(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + + return orig === dest; +}; + +/** + * Fetch function + * + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise + */ +function fetch(url, opts) { + + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } + + Body.Promise = fetch.Promise; + + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); + + const send = (options.protocol === 'https:' ? https : http).request; + const signal = request.signal; + + let response = null; + + const abort = function abort() { + let error = new AbortError('The user aborted a request.'); + reject(error); + if (request.body && request.body instanceof Stream.Readable) { + destroyStream(request.body, error); + } + if (!response || !response.body) return; + response.body.emit('error', error); + }; + + if (signal && signal.aborted) { + abort(); + return; + } + + const abortAndFinalize = function abortAndFinalize() { + abort(); + finalize(); + }; + + // send request + const req = send(options); + let reqTimeout; + + if (signal) { + signal.addEventListener('abort', abortAndFinalize); + } + + function finalize() { + req.abort(); + if (signal) signal.removeEventListener('abort', abortAndFinalize); + clearTimeout(reqTimeout); + } + + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } + + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + + if (response && response.body) { + destroyStream(response.body, err); + } + + finalize(); + }); + + fixResponseChunkedTransferBadEnding(req, function (err) { + if (signal && signal.aborted) { + return; + } + + if (response && response.body) { + destroyStream(response.body, err); + } + }); + + /* c8 ignore next 18 */ + if (parseInt(process.version.substring(1)) < 14) { + // Before Node.js 14, pipeline() does not fully support async iterators and does not always + // properly handle when the socket close/end events are out of order. + req.on('socket', function (s) { + s.addListener('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = s.listenerCount('data') > 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + + req.on('response', function (res) { + clearTimeout(reqTimeout); + + const headers = createHeadersLenient(res.headers); + + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); + + // HTTP fetch step 5.3 + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } + + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + // handle corrupted header + try { + headers.set('Location', locationURL); + } catch (err) { + // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request + reject(err); + } + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } + + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout, + size: request.size + }; + + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } + + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + + // prepare response + res.once('end', function () { + if (signal) signal.removeEventListener('abort', abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response(body, response_options); + resolve(response); + return; + } + + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response(body, response_options); + resolve(response); + return; + } + + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response(body, response_options); + resolve(response); + }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); + return; + } + + // for br + if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response(body, response_options); + resolve(response); + return; + } + + // otherwise, use response as-is + response = new Response(body, response_options); + resolve(response); + }); + + writeToStream(req, request); + }); +} +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // tests for socket presence, as in some situations the + // the 'socket' event is not triggered for the request + // (happens in deno), avoids `TypeError` + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket && socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + +/** + * Redirect code matching + * + * @param Number code Status code + * @return Boolean + */ +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; + +// expose Promise +fetch.Promise = global.Promise; + +export default fetch; +export { Headers, Request, Response, FetchError, AbortError }; diff --git a/node_modules/node-fetch/lib/index.js b/node_modules/node-fetch/lib/index.js new file mode 100644 index 00000000..567ff5da --- /dev/null +++ b/node_modules/node-fetch/lib/index.js @@ -0,0 +1,1787 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var Stream = _interopDefault(require('stream')); +var http = _interopDefault(require('http')); +var Url = _interopDefault(require('url')); +var whatwgUrl = _interopDefault(require('whatwg-url')); +var https = _interopDefault(require('https')); +var zlib = _interopDefault(require('zlib')); + +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js + +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; + +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); + +class Blob { + constructor() { + this[TYPE] = ''; + + const blobParts = arguments[0]; + const options = arguments[1]; + + const buffers = []; + let size = 0; + + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + + this[BUFFER] = Buffer.concat(buffers); + + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; + + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} + +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * fetch-error.js + * + * FetchError interface for operational errors + */ + +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; + +let convert; +try { + convert = require('encoding').convert; +} catch (e) {} + +const INTERNALS = Symbol('Body internals'); + +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; + +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); + } +} + +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, + + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, + + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; + +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); + +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; + +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + + this[INTERNALS].disturbed = true; + + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + + let body = this.body; + + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is blob + if (isBlob(body)) { + body = body.stream(); + } + + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } + + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + + accumBytes += chunk.length; + accum.push(chunk); + }); + + body.on('end', function () { + if (abort) { + return; + } + + clearTimeout(resTimeout); + + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} + +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; + + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); + + // html5 + if (!res && str) { + res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; + + this[MAP] = Object.create(null); + + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + + return; + } + + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } + + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } + + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } + + return this[MAP][key].join(', '); + } + + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; + + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } + + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } + + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } + + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } + + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); + +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} + +const INTERNAL = Symbol('internal'); + +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} + +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } + + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + + return obj; +} + +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} + +const INTERNALS$1 = Symbol('Response internals'); + +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; + +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + Body.call(this, body, opts); + + const status = opts.status || 200; + const headers = new Headers(opts.headers); + + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + + get url() { + return this[INTERNALS$1].url || ''; + } + + get status() { + return this[INTERNALS$1].status; + } + + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + + get redirected() { + return this[INTERNALS$1].counter > 0; + } + + get statusText() { + return this[INTERNALS$1].statusText; + } + + get headers() { + return this[INTERNALS$1].headers; + } + + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } +} + +Body.mixIn(Response.prototype); + +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); + +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); + +const INTERNALS$2 = Symbol('Request internals'); +const URL = Url.URL || whatwgUrl.URL; + +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; + +/** + * Wrapper around `new URL` to handle arbitrary URLs + * + * @param {string} urlStr + * @return {void} + */ +function parseURL(urlStr) { + /* + Check whether the URL is absolute or not + Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 + Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 + */ + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL(urlStr).toString(); + } + + // Fallback to old implementation for arbitrary URLs + return parse_url(urlStr); +} + +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} + +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} + +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + let parsedURL; + + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parseURL(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); + + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + + const headers = new Headers(init.headers || input.headers || {}); + + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; + + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } + + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; + + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + + get method() { + return this[INTERNALS$2].method; + } + + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + + get headers() { + return this[INTERNALS$2].headers; + } + + get redirect() { + return this[INTERNALS$2].redirect; + } + + get signal() { + return this[INTERNALS$2].signal; + } + + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} + +Body.mixIn(Request.prototype); + +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); + +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); + + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } + + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } + + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); + } + + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); + } + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); + } + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + } + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress && !headers.has('Accept-Encoding')) { + headers.set('Accept-Encoding', 'gzip,deflate'); + } + + let agent = request.agent; + if (typeof agent === 'function') { + agent = agent(parsedURL); + } + + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js + + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); +} + +/** + * abort-error.js + * + * AbortError interface for cancelled requests + */ + +/** + * Create AbortError instance + * + * @param String message Error message for human + * @return AbortError + */ +function AbortError(message) { + Error.call(this, message); + + this.type = 'aborted'; + this.message = message; + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +AbortError.prototype = Object.create(Error.prototype); +AbortError.prototype.constructor = AbortError; +AbortError.prototype.name = 'AbortError'; + +const URL$1 = Url.URL || whatwgUrl.URL; + +// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 +const PassThrough$1 = Stream.PassThrough; + +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; + +/** + * isSameProtocol reports whether the two provided URLs use the same protocol. + * + * Both domains must already be in canonical form. + * @param {string|URL} original + * @param {string|URL} destination + */ +const isSameProtocol = function isSameProtocol(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + + return orig === dest; +}; + +/** + * Fetch function + * + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise + */ +function fetch(url, opts) { + + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } + + Body.Promise = fetch.Promise; + + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); + + const send = (options.protocol === 'https:' ? https : http).request; + const signal = request.signal; + + let response = null; + + const abort = function abort() { + let error = new AbortError('The user aborted a request.'); + reject(error); + if (request.body && request.body instanceof Stream.Readable) { + destroyStream(request.body, error); + } + if (!response || !response.body) return; + response.body.emit('error', error); + }; + + if (signal && signal.aborted) { + abort(); + return; + } + + const abortAndFinalize = function abortAndFinalize() { + abort(); + finalize(); + }; + + // send request + const req = send(options); + let reqTimeout; + + if (signal) { + signal.addEventListener('abort', abortAndFinalize); + } + + function finalize() { + req.abort(); + if (signal) signal.removeEventListener('abort', abortAndFinalize); + clearTimeout(reqTimeout); + } + + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } + + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + + if (response && response.body) { + destroyStream(response.body, err); + } + + finalize(); + }); + + fixResponseChunkedTransferBadEnding(req, function (err) { + if (signal && signal.aborted) { + return; + } + + if (response && response.body) { + destroyStream(response.body, err); + } + }); + + /* c8 ignore next 18 */ + if (parseInt(process.version.substring(1)) < 14) { + // Before Node.js 14, pipeline() does not fully support async iterators and does not always + // properly handle when the socket close/end events are out of order. + req.on('socket', function (s) { + s.addListener('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = s.listenerCount('data') > 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + + req.on('response', function (res) { + clearTimeout(reqTimeout); + + const headers = createHeadersLenient(res.headers); + + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); + + // HTTP fetch step 5.3 + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } + + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + // handle corrupted header + try { + headers.set('Location', locationURL); + } catch (err) { + // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request + reject(err); + } + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } + + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout, + size: request.size + }; + + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } + + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + + // prepare response + res.once('end', function () { + if (signal) signal.removeEventListener('abort', abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response(body, response_options); + resolve(response); + return; + } + + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response(body, response_options); + resolve(response); + return; + } + + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response(body, response_options); + resolve(response); + }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); + return; + } + + // for br + if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response(body, response_options); + resolve(response); + return; + } + + // otherwise, use response as-is + response = new Response(body, response_options); + resolve(response); + }); + + writeToStream(req, request); + }); +} +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // tests for socket presence, as in some situations the + // the 'socket' event is not triggered for the request + // (happens in deno), avoids `TypeError` + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket && socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + +/** + * Redirect code matching + * + * @param Number code Status code + * @return Boolean + */ +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; + +// expose Promise +fetch.Promise = global.Promise; + +module.exports = exports = fetch; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = exports; +exports.Headers = Headers; +exports.Request = Request; +exports.Response = Response; +exports.FetchError = FetchError; +exports.AbortError = AbortError; diff --git a/node_modules/node-fetch/lib/index.mjs b/node_modules/node-fetch/lib/index.mjs new file mode 100644 index 00000000..2863dd9c --- /dev/null +++ b/node_modules/node-fetch/lib/index.mjs @@ -0,0 +1,1775 @@ +import Stream from 'stream'; +import http from 'http'; +import Url from 'url'; +import whatwgUrl from 'whatwg-url'; +import https from 'https'; +import zlib from 'zlib'; + +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js + +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; + +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); + +class Blob { + constructor() { + this[TYPE] = ''; + + const blobParts = arguments[0]; + const options = arguments[1]; + + const buffers = []; + let size = 0; + + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + + this[BUFFER] = Buffer.concat(buffers); + + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; + + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} + +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * fetch-error.js + * + * FetchError interface for operational errors + */ + +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; + +let convert; +try { + convert = require('encoding').convert; +} catch (e) {} + +const INTERNALS = Symbol('Body internals'); + +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; + +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); + } +} + +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, + + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, + + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; + +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); + +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; + +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + + this[INTERNALS].disturbed = true; + + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + + let body = this.body; + + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is blob + if (isBlob(body)) { + body = body.stream(); + } + + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } + + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + + accumBytes += chunk.length; + accum.push(chunk); + }); + + body.on('end', function () { + if (abort) { + return; + } + + clearTimeout(resTimeout); + + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} + +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; + + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); + + // html5 + if (!res && str) { + res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; + + this[MAP] = Object.create(null); + + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + + return; + } + + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } + + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } + + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } + + return this[MAP][key].join(', '); + } + + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; + + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } + + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } + + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } + + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } + + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); + +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} + +const INTERNAL = Symbol('internal'); + +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} + +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } + + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + + return obj; +} + +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} + +const INTERNALS$1 = Symbol('Response internals'); + +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; + +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + Body.call(this, body, opts); + + const status = opts.status || 200; + const headers = new Headers(opts.headers); + + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + + get url() { + return this[INTERNALS$1].url || ''; + } + + get status() { + return this[INTERNALS$1].status; + } + + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + + get redirected() { + return this[INTERNALS$1].counter > 0; + } + + get statusText() { + return this[INTERNALS$1].statusText; + } + + get headers() { + return this[INTERNALS$1].headers; + } + + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } +} + +Body.mixIn(Response.prototype); + +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); + +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); + +const INTERNALS$2 = Symbol('Request internals'); +const URL = Url.URL || whatwgUrl.URL; + +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; + +/** + * Wrapper around `new URL` to handle arbitrary URLs + * + * @param {string} urlStr + * @return {void} + */ +function parseURL(urlStr) { + /* + Check whether the URL is absolute or not + Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 + Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 + */ + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL(urlStr).toString(); + } + + // Fallback to old implementation for arbitrary URLs + return parse_url(urlStr); +} + +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} + +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} + +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + let parsedURL; + + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parseURL(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); + + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + + const headers = new Headers(init.headers || input.headers || {}); + + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; + + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } + + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; + + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + + get method() { + return this[INTERNALS$2].method; + } + + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + + get headers() { + return this[INTERNALS$2].headers; + } + + get redirect() { + return this[INTERNALS$2].redirect; + } + + get signal() { + return this[INTERNALS$2].signal; + } + + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} + +Body.mixIn(Request.prototype); + +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); + +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); + + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } + + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } + + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); + } + + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); + } + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); + } + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + } + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress && !headers.has('Accept-Encoding')) { + headers.set('Accept-Encoding', 'gzip,deflate'); + } + + let agent = request.agent; + if (typeof agent === 'function') { + agent = agent(parsedURL); + } + + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js + + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); +} + +/** + * abort-error.js + * + * AbortError interface for cancelled requests + */ + +/** + * Create AbortError instance + * + * @param String message Error message for human + * @return AbortError + */ +function AbortError(message) { + Error.call(this, message); + + this.type = 'aborted'; + this.message = message; + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +AbortError.prototype = Object.create(Error.prototype); +AbortError.prototype.constructor = AbortError; +AbortError.prototype.name = 'AbortError'; + +const URL$1 = Url.URL || whatwgUrl.URL; + +// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 +const PassThrough$1 = Stream.PassThrough; + +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; + +/** + * isSameProtocol reports whether the two provided URLs use the same protocol. + * + * Both domains must already be in canonical form. + * @param {string|URL} original + * @param {string|URL} destination + */ +const isSameProtocol = function isSameProtocol(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + + return orig === dest; +}; + +/** + * Fetch function + * + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise + */ +function fetch(url, opts) { + + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } + + Body.Promise = fetch.Promise; + + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); + + const send = (options.protocol === 'https:' ? https : http).request; + const signal = request.signal; + + let response = null; + + const abort = function abort() { + let error = new AbortError('The user aborted a request.'); + reject(error); + if (request.body && request.body instanceof Stream.Readable) { + destroyStream(request.body, error); + } + if (!response || !response.body) return; + response.body.emit('error', error); + }; + + if (signal && signal.aborted) { + abort(); + return; + } + + const abortAndFinalize = function abortAndFinalize() { + abort(); + finalize(); + }; + + // send request + const req = send(options); + let reqTimeout; + + if (signal) { + signal.addEventListener('abort', abortAndFinalize); + } + + function finalize() { + req.abort(); + if (signal) signal.removeEventListener('abort', abortAndFinalize); + clearTimeout(reqTimeout); + } + + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } + + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + + if (response && response.body) { + destroyStream(response.body, err); + } + + finalize(); + }); + + fixResponseChunkedTransferBadEnding(req, function (err) { + if (signal && signal.aborted) { + return; + } + + if (response && response.body) { + destroyStream(response.body, err); + } + }); + + /* c8 ignore next 18 */ + if (parseInt(process.version.substring(1)) < 14) { + // Before Node.js 14, pipeline() does not fully support async iterators and does not always + // properly handle when the socket close/end events are out of order. + req.on('socket', function (s) { + s.addListener('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = s.listenerCount('data') > 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + + req.on('response', function (res) { + clearTimeout(reqTimeout); + + const headers = createHeadersLenient(res.headers); + + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); + + // HTTP fetch step 5.3 + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } + + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + // handle corrupted header + try { + headers.set('Location', locationURL); + } catch (err) { + // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request + reject(err); + } + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } + + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout, + size: request.size + }; + + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } + + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + + // prepare response + res.once('end', function () { + if (signal) signal.removeEventListener('abort', abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response(body, response_options); + resolve(response); + return; + } + + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response(body, response_options); + resolve(response); + return; + } + + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response(body, response_options); + resolve(response); + }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); + return; + } + + // for br + if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response(body, response_options); + resolve(response); + return; + } + + // otherwise, use response as-is + response = new Response(body, response_options); + resolve(response); + }); + + writeToStream(req, request); + }); +} +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // tests for socket presence, as in some situations the + // the 'socket' event is not triggered for the request + // (happens in deno), avoids `TypeError` + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket && socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + +/** + * Redirect code matching + * + * @param Number code Status code + * @return Boolean + */ +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; + +// expose Promise +fetch.Promise = global.Promise; + +export default fetch; +export { Headers, Request, Response, FetchError, AbortError }; diff --git a/node_modules/node-fetch/package.json b/node_modules/node-fetch/package.json new file mode 100644 index 00000000..e0be1768 --- /dev/null +++ b/node_modules/node-fetch/package.json @@ -0,0 +1,89 @@ +{ + "name": "node-fetch", + "version": "2.7.0", + "description": "A light-weight module that brings window.fetch to node.js", + "main": "lib/index.js", + "browser": "./browser.js", + "module": "lib/index.mjs", + "files": [ + "lib/index.js", + "lib/index.mjs", + "lib/index.es.js", + "browser.js" + ], + "engines": { + "node": "4.x || >=6.0.0" + }, + "scripts": { + "build": "cross-env BABEL_ENV=rollup rollup -c", + "prepare": "npm run build", + "test": "cross-env BABEL_ENV=test mocha --require babel-register --throw-deprecation test/test.js", + "report": "cross-env BABEL_ENV=coverage nyc --reporter lcov --reporter text mocha -R spec test/test.js", + "coverage": "cross-env BABEL_ENV=coverage nyc --reporter json --reporter text mocha -R spec test/test.js && codecov -f coverage/coverage-final.json" + }, + "repository": { + "type": "git", + "url": "https://github.com/bitinn/node-fetch.git" + }, + "keywords": [ + "fetch", + "http", + "promise" + ], + "author": "David Frank", + "license": "MIT", + "bugs": { + "url": "https://github.com/bitinn/node-fetch/issues" + }, + "homepage": "https://github.com/bitinn/node-fetch", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + }, + "devDependencies": { + "@ungap/url-search-params": "^0.1.2", + "abort-controller": "^1.1.0", + "abortcontroller-polyfill": "^1.3.0", + "babel-core": "^6.26.3", + "babel-plugin-istanbul": "^4.1.6", + "babel-plugin-transform-async-generator-functions": "^6.24.1", + "babel-polyfill": "^6.26.0", + "babel-preset-env": "1.4.0", + "babel-register": "^6.16.3", + "chai": "^3.5.0", + "chai-as-promised": "^7.1.1", + "chai-iterator": "^1.1.1", + "chai-string": "~1.3.0", + "codecov": "3.3.0", + "cross-env": "^5.2.0", + "form-data": "^2.3.3", + "is-builtin-module": "^1.0.0", + "mocha": "^5.0.0", + "nyc": "11.9.0", + "parted": "^0.1.1", + "promise": "^8.0.3", + "resumer": "0.0.0", + "rollup": "^0.63.4", + "rollup-plugin-babel": "^3.0.7", + "string-to-arraybuffer": "^1.0.2", + "teeny-request": "3.7.0" + }, + "release": { + "branches": [ + "+([0-9]).x", + "main", + "next", + { + "name": "beta", + "prerelease": true + } + ] + } +} diff --git a/node_modules/pathe/LICENSE b/node_modules/pathe/LICENSE new file mode 100644 index 00000000..743af992 --- /dev/null +++ b/node_modules/pathe/LICENSE @@ -0,0 +1,44 @@ +MIT License + +Copyright (c) Pooya Parsa - Daniel Roe + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. + +-------------------------------------------------------------------------------- + +Copyright Joyent, Inc. and other Node contributors. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. diff --git a/node_modules/pathe/README.md b/node_modules/pathe/README.md new file mode 100644 index 00000000..a2af0fd2 --- /dev/null +++ b/node_modules/pathe/README.md @@ -0,0 +1,69 @@ +# 🛣️ pathe + +> Universal filesystem path utils + +[![version][npm-v-src]][npm-v-href] +[![downloads][npm-d-src]][npm-d-href] +[![size][size-src]][size-href] + +> **❓ Why** +> +> For [historical reasons](https://docs.microsoft.com/en-us/archive/blogs/larryosterman/why-is-the-dos-path-character), windows followed MS-DOS and using backslash for separating paths rather than slash used for macOS, Linux, and other Posix operating systems. Nowadays, [Windows](https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file?redirectedfrom=MSDN) supports both Slash and Backslash for paths. [Node.js's built in `path` module](https://nodejs.org/api/path.html) in the default operation of the path module varies based on the operating system on which a Node.js application is running. Specifically, when running on a Windows operating system, the path module will assume that Windows-style paths are being used. **This makes inconsistent code behavior between Windows and POSIX.** +> Compared to popular [upath](https://github.com/anodynos/upath), pathe is providing **identical exports** of Node.js with normalization on **all operations** and written in modern **ESM/Typescript** and has **no dependency on Node.js**! + +This package is a drop-in replacement of the Node.js's [path module](https://nodejs.org/api/path.html) module and ensures paths are normalized with slash `/` and work in environments including Node.js. + +## 💿 Usage + +Install using npm or yarn: + +```bash +# npm +npm i pathe + +# yarn +yarn add pathe + +# pnpm +pnpm i pathe +``` + +Import: + +```js +// ESM / Typescript +import { resolve } from 'pathe' + +// CommonJS +const { resolve } = require('pathe') +``` + +Read more about path utils from [Node.js documentation](https://nodejs.org/api/path.html) and rest assured behavior is ALWAYS like POSIX regardless of your input paths format and running platform! + +### Extra utilties + +Pathe exports some extra utilities that do not exist in standard Node.js [path module](https://nodejs.org/api/path.html). +In order to use them, you can import from `pathe/utils` subpath: + +```js +import { filename, normalizeAliases, resolveAlias } from 'pathe/utils' +``` + +## License + +MIT. Made with 💖 + +Some code used from Node.js project. See [LICENSE](./LICENSE). + + +[npm-v-src]: https://img.shields.io/npm/v/pathe?style=flat-square +[npm-v-href]: https://npmjs.com/package/pathe + +[npm-d-src]: https://img.shields.io/npm/dm/pathe?style=flat-square +[npm-d-href]: https://npmjs.com/package/pathe + +[github-actions-src]: https://img.shields.io/github/workflow/status/unjs/pathe/ci/main?style=flat-square +[github-actions-href]: https://github.com/unjs/pathe/actions?query=workflow%3Aci + +[size-src]: https://packagephobia.now.sh/badge?p=pathe +[size-href]: https://packagephobia.now.sh/result?p=pathe diff --git a/node_modules/pathe/dist/index.cjs b/node_modules/pathe/dist/index.cjs new file mode 100644 index 00000000..3832e065 --- /dev/null +++ b/node_modules/pathe/dist/index.cjs @@ -0,0 +1,23 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const index = require('./shared/pathe.1f0a373c.cjs'); + + + +exports.basename = index.basename; +exports.default = index.path; +exports.delimiter = index.delimiter; +exports.dirname = index.dirname; +exports.extname = index.extname; +exports.format = index.format; +exports.isAbsolute = index.isAbsolute; +exports.join = index.join; +exports.normalize = index.normalize; +exports.normalizeString = index.normalizeString; +exports.parse = index.parse; +exports.relative = index.relative; +exports.resolve = index.resolve; +exports.sep = index.sep; +exports.toNamespacedPath = index.toNamespacedPath; diff --git a/node_modules/pathe/dist/index.d.cts b/node_modules/pathe/dist/index.d.cts new file mode 100644 index 00000000..531b6906 --- /dev/null +++ b/node_modules/pathe/dist/index.d.cts @@ -0,0 +1,36 @@ +import path$1 from 'node:path'; + +declare const sep = "/"; +declare const delimiter = ":"; +declare const normalize: typeof path$1.normalize; +declare const join: typeof path$1.join; +declare const resolve: typeof path$1.resolve; +declare function normalizeString(path: string, allowAboveRoot: boolean): string; +declare const isAbsolute: typeof path$1.isAbsolute; +declare const toNamespacedPath: typeof path$1.toNamespacedPath; +declare const extname: typeof path$1.extname; +declare const relative: typeof path$1.relative; +declare const dirname: typeof path$1.dirname; +declare const format: typeof path$1.format; +declare const basename: typeof path$1.basename; +declare const parse: typeof path$1.parse; + +declare const path_basename: typeof basename; +declare const path_delimiter: typeof delimiter; +declare const path_dirname: typeof dirname; +declare const path_extname: typeof extname; +declare const path_format: typeof format; +declare const path_isAbsolute: typeof isAbsolute; +declare const path_join: typeof join; +declare const path_normalize: typeof normalize; +declare const path_normalizeString: typeof normalizeString; +declare const path_parse: typeof parse; +declare const path_relative: typeof relative; +declare const path_resolve: typeof resolve; +declare const path_sep: typeof sep; +declare const path_toNamespacedPath: typeof toNamespacedPath; +declare namespace path { + export { path_basename as basename, path_delimiter as delimiter, path_dirname as dirname, path_extname as extname, path_format as format, path_isAbsolute as isAbsolute, path_join as join, path_normalize as normalize, path_normalizeString as normalizeString, path_parse as parse, path_relative as relative, path_resolve as resolve, path_sep as sep, path_toNamespacedPath as toNamespacedPath }; +} + +export { basename, path as default, delimiter, dirname, extname, format, isAbsolute, join, normalize, normalizeString, parse, relative, resolve, sep, toNamespacedPath }; diff --git a/node_modules/pathe/dist/index.d.mts b/node_modules/pathe/dist/index.d.mts new file mode 100644 index 00000000..531b6906 --- /dev/null +++ b/node_modules/pathe/dist/index.d.mts @@ -0,0 +1,36 @@ +import path$1 from 'node:path'; + +declare const sep = "/"; +declare const delimiter = ":"; +declare const normalize: typeof path$1.normalize; +declare const join: typeof path$1.join; +declare const resolve: typeof path$1.resolve; +declare function normalizeString(path: string, allowAboveRoot: boolean): string; +declare const isAbsolute: typeof path$1.isAbsolute; +declare const toNamespacedPath: typeof path$1.toNamespacedPath; +declare const extname: typeof path$1.extname; +declare const relative: typeof path$1.relative; +declare const dirname: typeof path$1.dirname; +declare const format: typeof path$1.format; +declare const basename: typeof path$1.basename; +declare const parse: typeof path$1.parse; + +declare const path_basename: typeof basename; +declare const path_delimiter: typeof delimiter; +declare const path_dirname: typeof dirname; +declare const path_extname: typeof extname; +declare const path_format: typeof format; +declare const path_isAbsolute: typeof isAbsolute; +declare const path_join: typeof join; +declare const path_normalize: typeof normalize; +declare const path_normalizeString: typeof normalizeString; +declare const path_parse: typeof parse; +declare const path_relative: typeof relative; +declare const path_resolve: typeof resolve; +declare const path_sep: typeof sep; +declare const path_toNamespacedPath: typeof toNamespacedPath; +declare namespace path { + export { path_basename as basename, path_delimiter as delimiter, path_dirname as dirname, path_extname as extname, path_format as format, path_isAbsolute as isAbsolute, path_join as join, path_normalize as normalize, path_normalizeString as normalizeString, path_parse as parse, path_relative as relative, path_resolve as resolve, path_sep as sep, path_toNamespacedPath as toNamespacedPath }; +} + +export { basename, path as default, delimiter, dirname, extname, format, isAbsolute, join, normalize, normalizeString, parse, relative, resolve, sep, toNamespacedPath }; diff --git a/node_modules/pathe/dist/index.d.ts b/node_modules/pathe/dist/index.d.ts new file mode 100644 index 00000000..531b6906 --- /dev/null +++ b/node_modules/pathe/dist/index.d.ts @@ -0,0 +1,36 @@ +import path$1 from 'node:path'; + +declare const sep = "/"; +declare const delimiter = ":"; +declare const normalize: typeof path$1.normalize; +declare const join: typeof path$1.join; +declare const resolve: typeof path$1.resolve; +declare function normalizeString(path: string, allowAboveRoot: boolean): string; +declare const isAbsolute: typeof path$1.isAbsolute; +declare const toNamespacedPath: typeof path$1.toNamespacedPath; +declare const extname: typeof path$1.extname; +declare const relative: typeof path$1.relative; +declare const dirname: typeof path$1.dirname; +declare const format: typeof path$1.format; +declare const basename: typeof path$1.basename; +declare const parse: typeof path$1.parse; + +declare const path_basename: typeof basename; +declare const path_delimiter: typeof delimiter; +declare const path_dirname: typeof dirname; +declare const path_extname: typeof extname; +declare const path_format: typeof format; +declare const path_isAbsolute: typeof isAbsolute; +declare const path_join: typeof join; +declare const path_normalize: typeof normalize; +declare const path_normalizeString: typeof normalizeString; +declare const path_parse: typeof parse; +declare const path_relative: typeof relative; +declare const path_resolve: typeof resolve; +declare const path_sep: typeof sep; +declare const path_toNamespacedPath: typeof toNamespacedPath; +declare namespace path { + export { path_basename as basename, path_delimiter as delimiter, path_dirname as dirname, path_extname as extname, path_format as format, path_isAbsolute as isAbsolute, path_join as join, path_normalize as normalize, path_normalizeString as normalizeString, path_parse as parse, path_relative as relative, path_resolve as resolve, path_sep as sep, path_toNamespacedPath as toNamespacedPath }; +} + +export { basename, path as default, delimiter, dirname, extname, format, isAbsolute, join, normalize, normalizeString, parse, relative, resolve, sep, toNamespacedPath }; diff --git a/node_modules/pathe/dist/index.mjs b/node_modules/pathe/dist/index.mjs new file mode 100644 index 00000000..ecd6cd01 --- /dev/null +++ b/node_modules/pathe/dist/index.mjs @@ -0,0 +1 @@ +export { h as basename, p as default, d as delimiter, f as dirname, e as extname, g as format, i as isAbsolute, j as join, a as normalize, b as normalizeString, k as parse, c as relative, r as resolve, s as sep, t as toNamespacedPath } from './shared/pathe.ff20891b.mjs'; diff --git a/node_modules/pathe/dist/shared/pathe.1f0a373c.cjs b/node_modules/pathe/dist/shared/pathe.1f0a373c.cjs new file mode 100644 index 00000000..64e3a33f --- /dev/null +++ b/node_modules/pathe/dist/shared/pathe.1f0a373c.cjs @@ -0,0 +1,238 @@ +'use strict'; + +const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//; +function normalizeWindowsPath(input = "") { + if (!input) { + return input; + } + return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase()); +} + +const _UNC_REGEX = /^[/\\]{2}/; +const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/; +const _DRIVE_LETTER_RE = /^[A-Za-z]:$/; +const _ROOT_FOLDER_RE = /^\/([A-Za-z]:)?$/; +const sep = "/"; +const delimiter = ":"; +const normalize = function(path) { + if (path.length === 0) { + return "."; + } + path = normalizeWindowsPath(path); + const isUNCPath = path.match(_UNC_REGEX); + const isPathAbsolute = isAbsolute(path); + const trailingSeparator = path[path.length - 1] === "/"; + path = normalizeString(path, !isPathAbsolute); + if (path.length === 0) { + if (isPathAbsolute) { + return "/"; + } + return trailingSeparator ? "./" : "."; + } + if (trailingSeparator) { + path += "/"; + } + if (_DRIVE_LETTER_RE.test(path)) { + path += "/"; + } + if (isUNCPath) { + if (!isPathAbsolute) { + return `//./${path}`; + } + return `//${path}`; + } + return isPathAbsolute && !isAbsolute(path) ? `/${path}` : path; +}; +const join = function(...arguments_) { + if (arguments_.length === 0) { + return "."; + } + let joined; + for (const argument of arguments_) { + if (argument && argument.length > 0) { + if (joined === void 0) { + joined = argument; + } else { + joined += `/${argument}`; + } + } + } + if (joined === void 0) { + return "."; + } + return normalize(joined.replace(/\/\/+/g, "/")); +}; +function cwd() { + if (typeof process !== "undefined" && typeof process.cwd === "function") { + return process.cwd().replace(/\\/g, "/"); + } + return "/"; +} +const resolve = function(...arguments_) { + arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument)); + let resolvedPath = ""; + let resolvedAbsolute = false; + for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) { + const path = index >= 0 ? arguments_[index] : cwd(); + if (!path || path.length === 0) { + continue; + } + resolvedPath = `${path}/${resolvedPath}`; + resolvedAbsolute = isAbsolute(path); + } + resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute); + if (resolvedAbsolute && !isAbsolute(resolvedPath)) { + return `/${resolvedPath}`; + } + return resolvedPath.length > 0 ? resolvedPath : "."; +}; +function normalizeString(path, allowAboveRoot) { + let res = ""; + let lastSegmentLength = 0; + let lastSlash = -1; + let dots = 0; + let char = null; + for (let index = 0; index <= path.length; ++index) { + if (index < path.length) { + char = path[index]; + } else if (char === "/") { + break; + } else { + char = "/"; + } + if (char === "/") { + if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) { + if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") { + if (res.length > 2) { + const lastSlashIndex = res.lastIndexOf("/"); + if (lastSlashIndex === -1) { + res = ""; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf("/"); + } + lastSlash = index; + dots = 0; + continue; + } else if (res.length > 0) { + res = ""; + lastSegmentLength = 0; + lastSlash = index; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + res += res.length > 0 ? "/.." : ".."; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) { + res += `/${path.slice(lastSlash + 1, index)}`; + } else { + res = path.slice(lastSlash + 1, index); + } + lastSegmentLength = index - lastSlash - 1; + } + lastSlash = index; + dots = 0; + } else if (char === "." && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; +} +const isAbsolute = function(p) { + return _IS_ABSOLUTE_RE.test(p); +}; +const toNamespacedPath = function(p) { + return normalizeWindowsPath(p); +}; +const _EXTNAME_RE = /.(\.[^./]+)$/; +const extname = function(p) { + const match = _EXTNAME_RE.exec(normalizeWindowsPath(p)); + return match && match[1] || ""; +}; +const relative = function(from, to) { + const _from = resolve(from).replace(_ROOT_FOLDER_RE, "$1").split("/"); + const _to = resolve(to).replace(_ROOT_FOLDER_RE, "$1").split("/"); + if (_to[0][1] === ":" && _from[0][1] === ":" && _from[0] !== _to[0]) { + return _to.join("/"); + } + const _fromCopy = [..._from]; + for (const segment of _fromCopy) { + if (_to[0] !== segment) { + break; + } + _from.shift(); + _to.shift(); + } + return [..._from.map(() => ".."), ..._to].join("/"); +}; +const dirname = function(p) { + const segments = normalizeWindowsPath(p).replace(/\/$/, "").split("/").slice(0, -1); + if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) { + segments[0] += "/"; + } + return segments.join("/") || (isAbsolute(p) ? "/" : "."); +}; +const format = function(p) { + const segments = [p.root, p.dir, p.base ?? p.name + p.ext].filter(Boolean); + return normalizeWindowsPath( + p.root ? resolve(...segments) : segments.join("/") + ); +}; +const basename = function(p, extension) { + const lastSegment = normalizeWindowsPath(p).split("/").pop(); + return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment; +}; +const parse = function(p) { + const root = normalizeWindowsPath(p).split("/").shift() || "/"; + const base = basename(p); + const extension = extname(base); + return { + root, + dir: dirname(p), + base, + ext: extension, + name: base.slice(0, base.length - extension.length) + }; +}; + +const path = { + __proto__: null, + basename: basename, + delimiter: delimiter, + dirname: dirname, + extname: extname, + format: format, + isAbsolute: isAbsolute, + join: join, + normalize: normalize, + normalizeString: normalizeString, + parse: parse, + relative: relative, + resolve: resolve, + sep: sep, + toNamespacedPath: toNamespacedPath +}; + +exports.basename = basename; +exports.delimiter = delimiter; +exports.dirname = dirname; +exports.extname = extname; +exports.format = format; +exports.isAbsolute = isAbsolute; +exports.join = join; +exports.normalize = normalize; +exports.normalizeString = normalizeString; +exports.normalizeWindowsPath = normalizeWindowsPath; +exports.parse = parse; +exports.path = path; +exports.relative = relative; +exports.resolve = resolve; +exports.sep = sep; +exports.toNamespacedPath = toNamespacedPath; diff --git a/node_modules/pathe/dist/shared/pathe.ff20891b.mjs b/node_modules/pathe/dist/shared/pathe.ff20891b.mjs new file mode 100644 index 00000000..e91d8d62 --- /dev/null +++ b/node_modules/pathe/dist/shared/pathe.ff20891b.mjs @@ -0,0 +1,221 @@ +const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//; +function normalizeWindowsPath(input = "") { + if (!input) { + return input; + } + return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase()); +} + +const _UNC_REGEX = /^[/\\]{2}/; +const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/; +const _DRIVE_LETTER_RE = /^[A-Za-z]:$/; +const _ROOT_FOLDER_RE = /^\/([A-Za-z]:)?$/; +const sep = "/"; +const delimiter = ":"; +const normalize = function(path) { + if (path.length === 0) { + return "."; + } + path = normalizeWindowsPath(path); + const isUNCPath = path.match(_UNC_REGEX); + const isPathAbsolute = isAbsolute(path); + const trailingSeparator = path[path.length - 1] === "/"; + path = normalizeString(path, !isPathAbsolute); + if (path.length === 0) { + if (isPathAbsolute) { + return "/"; + } + return trailingSeparator ? "./" : "."; + } + if (trailingSeparator) { + path += "/"; + } + if (_DRIVE_LETTER_RE.test(path)) { + path += "/"; + } + if (isUNCPath) { + if (!isPathAbsolute) { + return `//./${path}`; + } + return `//${path}`; + } + return isPathAbsolute && !isAbsolute(path) ? `/${path}` : path; +}; +const join = function(...arguments_) { + if (arguments_.length === 0) { + return "."; + } + let joined; + for (const argument of arguments_) { + if (argument && argument.length > 0) { + if (joined === void 0) { + joined = argument; + } else { + joined += `/${argument}`; + } + } + } + if (joined === void 0) { + return "."; + } + return normalize(joined.replace(/\/\/+/g, "/")); +}; +function cwd() { + if (typeof process !== "undefined" && typeof process.cwd === "function") { + return process.cwd().replace(/\\/g, "/"); + } + return "/"; +} +const resolve = function(...arguments_) { + arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument)); + let resolvedPath = ""; + let resolvedAbsolute = false; + for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) { + const path = index >= 0 ? arguments_[index] : cwd(); + if (!path || path.length === 0) { + continue; + } + resolvedPath = `${path}/${resolvedPath}`; + resolvedAbsolute = isAbsolute(path); + } + resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute); + if (resolvedAbsolute && !isAbsolute(resolvedPath)) { + return `/${resolvedPath}`; + } + return resolvedPath.length > 0 ? resolvedPath : "."; +}; +function normalizeString(path, allowAboveRoot) { + let res = ""; + let lastSegmentLength = 0; + let lastSlash = -1; + let dots = 0; + let char = null; + for (let index = 0; index <= path.length; ++index) { + if (index < path.length) { + char = path[index]; + } else if (char === "/") { + break; + } else { + char = "/"; + } + if (char === "/") { + if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) { + if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") { + if (res.length > 2) { + const lastSlashIndex = res.lastIndexOf("/"); + if (lastSlashIndex === -1) { + res = ""; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf("/"); + } + lastSlash = index; + dots = 0; + continue; + } else if (res.length > 0) { + res = ""; + lastSegmentLength = 0; + lastSlash = index; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + res += res.length > 0 ? "/.." : ".."; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) { + res += `/${path.slice(lastSlash + 1, index)}`; + } else { + res = path.slice(lastSlash + 1, index); + } + lastSegmentLength = index - lastSlash - 1; + } + lastSlash = index; + dots = 0; + } else if (char === "." && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; +} +const isAbsolute = function(p) { + return _IS_ABSOLUTE_RE.test(p); +}; +const toNamespacedPath = function(p) { + return normalizeWindowsPath(p); +}; +const _EXTNAME_RE = /.(\.[^./]+)$/; +const extname = function(p) { + const match = _EXTNAME_RE.exec(normalizeWindowsPath(p)); + return match && match[1] || ""; +}; +const relative = function(from, to) { + const _from = resolve(from).replace(_ROOT_FOLDER_RE, "$1").split("/"); + const _to = resolve(to).replace(_ROOT_FOLDER_RE, "$1").split("/"); + if (_to[0][1] === ":" && _from[0][1] === ":" && _from[0] !== _to[0]) { + return _to.join("/"); + } + const _fromCopy = [..._from]; + for (const segment of _fromCopy) { + if (_to[0] !== segment) { + break; + } + _from.shift(); + _to.shift(); + } + return [..._from.map(() => ".."), ..._to].join("/"); +}; +const dirname = function(p) { + const segments = normalizeWindowsPath(p).replace(/\/$/, "").split("/").slice(0, -1); + if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) { + segments[0] += "/"; + } + return segments.join("/") || (isAbsolute(p) ? "/" : "."); +}; +const format = function(p) { + const segments = [p.root, p.dir, p.base ?? p.name + p.ext].filter(Boolean); + return normalizeWindowsPath( + p.root ? resolve(...segments) : segments.join("/") + ); +}; +const basename = function(p, extension) { + const lastSegment = normalizeWindowsPath(p).split("/").pop(); + return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment; +}; +const parse = function(p) { + const root = normalizeWindowsPath(p).split("/").shift() || "/"; + const base = basename(p); + const extension = extname(base); + return { + root, + dir: dirname(p), + base, + ext: extension, + name: base.slice(0, base.length - extension.length) + }; +}; + +const path = { + __proto__: null, + basename: basename, + delimiter: delimiter, + dirname: dirname, + extname: extname, + format: format, + isAbsolute: isAbsolute, + join: join, + normalize: normalize, + normalizeString: normalizeString, + parse: parse, + relative: relative, + resolve: resolve, + sep: sep, + toNamespacedPath: toNamespacedPath +}; + +export { normalize as a, normalizeString as b, relative as c, delimiter as d, extname as e, dirname as f, format as g, basename as h, isAbsolute as i, join as j, parse as k, normalizeWindowsPath as n, path as p, resolve as r, sep as s, toNamespacedPath as t }; diff --git a/node_modules/pathe/dist/utils.cjs b/node_modules/pathe/dist/utils.cjs new file mode 100644 index 00000000..e2591bfc --- /dev/null +++ b/node_modules/pathe/dist/utils.cjs @@ -0,0 +1,58 @@ +'use strict'; + +const index = require('./shared/pathe.1f0a373c.cjs'); + +const pathSeparators = /* @__PURE__ */ new Set(["/", "\\", void 0]); +const normalizedAliasSymbol = Symbol.for("pathe:normalizedAlias"); +function normalizeAliases(_aliases) { + if (_aliases[normalizedAliasSymbol]) { + return _aliases; + } + const aliases = Object.fromEntries( + Object.entries(_aliases).sort(([a], [b]) => _compareAliases(a, b)) + ); + for (const key in aliases) { + for (const alias in aliases) { + if (alias === key || key.startsWith(alias)) { + continue; + } + if (aliases[key].startsWith(alias) && pathSeparators.has(aliases[key][alias.length])) { + aliases[key] = aliases[alias] + aliases[key].slice(alias.length); + } + } + } + Object.defineProperty(aliases, normalizedAliasSymbol, { + value: true, + enumerable: false + }); + return aliases; +} +function resolveAlias(path, aliases) { + const _path = index.normalizeWindowsPath(path); + aliases = normalizeAliases(aliases); + for (const [alias, to] of Object.entries(aliases)) { + if (!_path.startsWith(alias)) { + continue; + } + const _alias = hasTrailingSlash(alias) ? alias.slice(0, -1) : alias; + if (hasTrailingSlash(_path[_alias.length])) { + return index.join(to, _path.slice(alias.length)); + } + } + return _path; +} +const FILENAME_RE = /(^|[/\\])([^/\\]+?)(?=(\.[^.]+)?$)/; +function filename(path) { + return path.match(FILENAME_RE)?.[2]; +} +function _compareAliases(a, b) { + return b.split("/").length - a.split("/").length; +} +function hasTrailingSlash(path = "/") { + const lastChar = path[path.length - 1]; + return lastChar === "/" || lastChar === "\\"; +} + +exports.filename = filename; +exports.normalizeAliases = normalizeAliases; +exports.resolveAlias = resolveAlias; diff --git a/node_modules/pathe/dist/utils.d.cts b/node_modules/pathe/dist/utils.d.cts new file mode 100644 index 00000000..2798305a --- /dev/null +++ b/node_modules/pathe/dist/utils.d.cts @@ -0,0 +1,5 @@ +declare function normalizeAliases(_aliases: Record): Record; +declare function resolveAlias(path: string, aliases: Record): string; +declare function filename(path: string): string; + +export { filename, normalizeAliases, resolveAlias }; diff --git a/node_modules/pathe/dist/utils.d.mts b/node_modules/pathe/dist/utils.d.mts new file mode 100644 index 00000000..2798305a --- /dev/null +++ b/node_modules/pathe/dist/utils.d.mts @@ -0,0 +1,5 @@ +declare function normalizeAliases(_aliases: Record): Record; +declare function resolveAlias(path: string, aliases: Record): string; +declare function filename(path: string): string; + +export { filename, normalizeAliases, resolveAlias }; diff --git a/node_modules/pathe/dist/utils.d.ts b/node_modules/pathe/dist/utils.d.ts new file mode 100644 index 00000000..2798305a --- /dev/null +++ b/node_modules/pathe/dist/utils.d.ts @@ -0,0 +1,5 @@ +declare function normalizeAliases(_aliases: Record): Record; +declare function resolveAlias(path: string, aliases: Record): string; +declare function filename(path: string): string; + +export { filename, normalizeAliases, resolveAlias }; diff --git a/node_modules/pathe/dist/utils.mjs b/node_modules/pathe/dist/utils.mjs new file mode 100644 index 00000000..004080bd --- /dev/null +++ b/node_modules/pathe/dist/utils.mjs @@ -0,0 +1,54 @@ +import { n as normalizeWindowsPath, j as join } from './shared/pathe.ff20891b.mjs'; + +const pathSeparators = /* @__PURE__ */ new Set(["/", "\\", void 0]); +const normalizedAliasSymbol = Symbol.for("pathe:normalizedAlias"); +function normalizeAliases(_aliases) { + if (_aliases[normalizedAliasSymbol]) { + return _aliases; + } + const aliases = Object.fromEntries( + Object.entries(_aliases).sort(([a], [b]) => _compareAliases(a, b)) + ); + for (const key in aliases) { + for (const alias in aliases) { + if (alias === key || key.startsWith(alias)) { + continue; + } + if (aliases[key].startsWith(alias) && pathSeparators.has(aliases[key][alias.length])) { + aliases[key] = aliases[alias] + aliases[key].slice(alias.length); + } + } + } + Object.defineProperty(aliases, normalizedAliasSymbol, { + value: true, + enumerable: false + }); + return aliases; +} +function resolveAlias(path, aliases) { + const _path = normalizeWindowsPath(path); + aliases = normalizeAliases(aliases); + for (const [alias, to] of Object.entries(aliases)) { + if (!_path.startsWith(alias)) { + continue; + } + const _alias = hasTrailingSlash(alias) ? alias.slice(0, -1) : alias; + if (hasTrailingSlash(_path[_alias.length])) { + return join(to, _path.slice(alias.length)); + } + } + return _path; +} +const FILENAME_RE = /(^|[/\\])([^/\\]+?)(?=(\.[^.]+)?$)/; +function filename(path) { + return path.match(FILENAME_RE)?.[2]; +} +function _compareAliases(a, b) { + return b.split("/").length - a.split("/").length; +} +function hasTrailingSlash(path = "/") { + const lastChar = path[path.length - 1]; + return lastChar === "/" || lastChar === "\\"; +} + +export { filename, normalizeAliases, resolveAlias }; diff --git a/node_modules/pathe/package.json b/node_modules/pathe/package.json new file mode 100644 index 00000000..1b14f7dc --- /dev/null +++ b/node_modules/pathe/package.json @@ -0,0 +1,48 @@ +{ + "name": "pathe", + "version": "1.1.2", + "description": "Universal filesystem path utils", + "repository": "unjs/pathe", + "license": "MIT", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "./utils": { + "types": "./dist/utils.d.ts", + "import": "./dist/utils.mjs", + "require": "./dist/utils.cjs" + } + }, + "main": "./dist/index.cjs", + "types": "./dist/index.d.ts", + "files": [ + "dist", + "utils.d.ts" + ], + "devDependencies": { + "@types/node": "^20.10.8", + "@vitest/coverage-v8": "^1.1.3", + "changelogen": "^0.5.5", + "eslint": "^8.56.0", + "eslint-config-unjs": "^0.2.1", + "jiti": "^1.21.0", + "prettier": "^3.1.1", + "typescript": "^5.3.3", + "unbuild": "^2.0.0", + "vitest": "^1.1.3" + }, + "packageManager": "pnpm@8.14.0", + "scripts": { + "build": "unbuild", + "dev": "vitest", + "lint": "eslint --ext .ts . && prettier -c src test", + "lint:fix": "eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w", + "release": "pnpm test && pnpm build && changelogen --release && pnpm publish && git push --follow-tags", + "test": "pnpm lint && vitest run --coverage", + "test:types": "tsc --noEmit" + } +} \ No newline at end of file diff --git a/node_modules/pathe/utils.d.ts b/node_modules/pathe/utils.d.ts new file mode 100644 index 00000000..59cabd3e --- /dev/null +++ b/node_modules/pathe/utils.d.ts @@ -0,0 +1 @@ +export * from "./dist/utils"; diff --git a/node_modules/tr46/.npmignore b/node_modules/tr46/.npmignore new file mode 100644 index 00000000..96e9161f --- /dev/null +++ b/node_modules/tr46/.npmignore @@ -0,0 +1,4 @@ +scripts/ +test/ + +!lib/mapping_table.json diff --git a/node_modules/tr46/index.js b/node_modules/tr46/index.js new file mode 100644 index 00000000..9ce12ca2 --- /dev/null +++ b/node_modules/tr46/index.js @@ -0,0 +1,193 @@ +"use strict"; + +var punycode = require("punycode"); +var mappingTable = require("./lib/mappingTable.json"); + +var PROCESSING_OPTIONS = { + TRANSITIONAL: 0, + NONTRANSITIONAL: 1 +}; + +function normalize(str) { // fix bug in v8 + return str.split('\u0000').map(function (s) { return s.normalize('NFC'); }).join('\u0000'); +} + +function findStatus(val) { + var start = 0; + var end = mappingTable.length - 1; + + while (start <= end) { + var mid = Math.floor((start + end) / 2); + + var target = mappingTable[mid]; + if (target[0][0] <= val && target[0][1] >= val) { + return target; + } else if (target[0][0] > val) { + end = mid - 1; + } else { + start = mid + 1; + } + } + + return null; +} + +var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + +function countSymbols(string) { + return string + // replace every surrogate pair with a BMP symbol + .replace(regexAstralSymbols, '_') + // then get the length + .length; +} + +function mapChars(domain_name, useSTD3, processing_option) { + var hasError = false; + var processed = ""; + + var len = countSymbols(domain_name); + for (var i = 0; i < len; ++i) { + var codePoint = domain_name.codePointAt(i); + var status = findStatus(codePoint); + + switch (status[1]) { + case "disallowed": + hasError = true; + processed += String.fromCodePoint(codePoint); + break; + case "ignored": + break; + case "mapped": + processed += String.fromCodePoint.apply(String, status[2]); + break; + case "deviation": + if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { + processed += String.fromCodePoint.apply(String, status[2]); + } else { + processed += String.fromCodePoint(codePoint); + } + break; + case "valid": + processed += String.fromCodePoint(codePoint); + break; + case "disallowed_STD3_mapped": + if (useSTD3) { + hasError = true; + processed += String.fromCodePoint(codePoint); + } else { + processed += String.fromCodePoint.apply(String, status[2]); + } + break; + case "disallowed_STD3_valid": + if (useSTD3) { + hasError = true; + } + + processed += String.fromCodePoint(codePoint); + break; + } + } + + return { + string: processed, + error: hasError + }; +} + +var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; + +function validateLabel(label, processing_option) { + if (label.substr(0, 4) === "xn--") { + label = punycode.toUnicode(label); + processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; + } + + var error = false; + + if (normalize(label) !== label || + (label[3] === "-" && label[4] === "-") || + label[0] === "-" || label[label.length - 1] === "-" || + label.indexOf(".") !== -1 || + label.search(combiningMarksRegex) === 0) { + error = true; + } + + var len = countSymbols(label); + for (var i = 0; i < len; ++i) { + var status = findStatus(label.codePointAt(i)); + if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid") || + (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && + status[1] !== "valid" && status[1] !== "deviation")) { + error = true; + break; + } + } + + return { + label: label, + error: error + }; +} + +function processing(domain_name, useSTD3, processing_option) { + var result = mapChars(domain_name, useSTD3, processing_option); + result.string = normalize(result.string); + + var labels = result.string.split("."); + for (var i = 0; i < labels.length; ++i) { + try { + var validation = validateLabel(labels[i]); + labels[i] = validation.label; + result.error = result.error || validation.error; + } catch(e) { + result.error = true; + } + } + + return { + string: labels.join("."), + error: result.error + }; +} + +module.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { + var result = processing(domain_name, useSTD3, processing_option); + var labels = result.string.split("."); + labels = labels.map(function(l) { + try { + return punycode.toASCII(l); + } catch(e) { + result.error = true; + return l; + } + }); + + if (verifyDnsLength) { + var total = labels.slice(0, labels.length - 1).join(".").length; + if (total.length > 253 || total.length === 0) { + result.error = true; + } + + for (var i=0; i < labels.length; ++i) { + if (labels.length > 63 || labels.length === 0) { + result.error = true; + break; + } + } + } + + if (result.error) return null; + return labels.join("."); +}; + +module.exports.toUnicode = function(domain_name, useSTD3) { + var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); + + return { + domain: result.string, + error: result.error + }; +}; + +module.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; diff --git a/node_modules/tr46/lib/.gitkeep b/node_modules/tr46/lib/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/node_modules/tr46/lib/mappingTable.json b/node_modules/tr46/lib/mappingTable.json new file mode 100644 index 00000000..89cf19a7 --- /dev/null +++ b/node_modules/tr46/lib/mappingTable.json @@ -0,0 +1 @@ +[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]] \ No newline at end of file diff --git a/node_modules/tr46/package.json b/node_modules/tr46/package.json new file mode 100644 index 00000000..b6826da1 --- /dev/null +++ b/node_modules/tr46/package.json @@ -0,0 +1,31 @@ +{ + "name": "tr46", + "version": "0.0.3", + "description": "An implementation of the Unicode TR46 spec", + "main": "index.js", + "scripts": { + "test": "mocha", + "pretest": "node scripts/getLatestUnicodeTests.js", + "prepublish": "node scripts/generateMappingTable.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Sebmaster/tr46.js.git" + }, + "keywords": [ + "unicode", + "tr46", + "url", + "whatwg" + ], + "author": "Sebastian Mayr ", + "license": "MIT", + "bugs": { + "url": "https://github.com/Sebmaster/tr46.js/issues" + }, + "homepage": "https://github.com/Sebmaster/tr46.js#readme", + "devDependencies": { + "mocha": "^2.2.5", + "request": "^2.57.0" + } +} diff --git a/node_modules/tsm/bin.js b/node_modules/tsm/bin.js new file mode 100755 index 00000000..ad273137 --- /dev/null +++ b/node_modules/tsm/bin.js @@ -0,0 +1,18 @@ +#!/usr/bin/env node +"use strict";let argv=process.argv.slice(2);if(argv.includes("-h")||argv.includes("--help")){let e="";e+=` + Usage + $ tsm [options] -- +`,e+=` + Options`,e+=` + --tsmconfig Configuration file path (default: tsm.js)`,e+=` + --quiet Silence all terminal messages`,e+=` + --version Displays current version`,e+=` + --help Displays this message +`,e+=` + Examples`,e+=` + $ tsm server.ts`,e+=` + $ node -r tsm input.jsx`,e+=` + $ node --loader tsm input.jsx`,e+=` + $ NO_COLOR=1 tsm input.jsx --trace-warnings`,e+=` + $ tsm server.tsx --tsmconfig tsm.mjs +`,console.log(e),process.exit(0)}(argv.includes("-v")||argv.includes("--version"))&&(console.log("tsm, v2.3.0"),process.exit(0));let{URL,pathToFileURL}=require("url");argv=["--enable-source-maps","--loader",new URL("loader.mjs",pathToFileURL(__filename)).href,...argv],require("child_process").spawn("node",argv,{stdio:"inherit"}).on("exit",process.exit); diff --git a/node_modules/tsm/config/index.d.ts b/node_modules/tsm/config/index.d.ts new file mode 100644 index 00000000..ccd557eb --- /dev/null +++ b/node_modules/tsm/config/index.d.ts @@ -0,0 +1,22 @@ +import type { Loader, TransformOptions } from 'esbuild'; + +export type Extension = `.${string}`; +export type Options = TransformOptions; + +export type Config = { + [extn: Extension]: Options; +} + +export type ConfigFile = + | { common?: Options; config?: Config; loaders?: never; [extn: Extension]: never } + | { common?: Options; loaders?: Loaders; config?: never; [extn: Extension]: never } + | { common?: Options; config?: never; loaders?: never; [extn: Extension]: Options } + +export type Loaders = { + [extn: Extension]: Loader; +} + +/** + * TypeScript helper for writing `tsm.js` contents. + */ +export function define(contents: ConfigFile): ConfigFile; diff --git a/node_modules/tsm/config/index.js b/node_modules/tsm/config/index.js new file mode 100644 index 00000000..78b62b9e --- /dev/null +++ b/node_modules/tsm/config/index.js @@ -0,0 +1 @@ +exports.define=c=>c; diff --git a/node_modules/tsm/license b/node_modules/tsm/license new file mode 100644 index 00000000..fa6089fa --- /dev/null +++ b/node_modules/tsm/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Luke Edwards (lukeed.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. diff --git a/node_modules/tsm/loader.mjs b/node_modules/tsm/loader.mjs new file mode 100644 index 00000000..8ee9727c --- /dev/null +++ b/node_modules/tsm/loader.mjs @@ -0,0 +1 @@ +"use strict";import{existsSync as j,promises as S}from"fs";import{fileURLToPath as d,URL as h}from"url";import*as y from"./utils.js";let u,m,c=y.$defaults("esm"),T=c.file&&import("file:///"+c.file);async function x(){let t=await T;return t=t&&t.default||t,y.$finalize(c,t)}const w=/\.\w+(?=\?|$)/,b=/\.[mc]?tsx?(?=\?|$)/;async function p(t){u=u||await x();let[r]=w.exec(t)||[];return u[r]}function g(t){let r=d(t);if(j(r))return t}const C={".js":[".ts",".tsx",".jsx"],".jsx":[".tsx"],".mjs":[".mts"],".cjs":[".cts"]},R=new h("file:///"+process.cwd()+"/");export const resolve=async function(t,r,o){if(/^\w+\:?/.test(t))return o(t,r,o);let e=new h(t,r.parentURL||R),s,n,l,i,a=0,f;if(i=w.exec(e.href)){if(s=i[0],!r.parentURL||b.test(s))return{url:e.href,shortCircuit:!0};if(n=g(e.href))return{url:n,shortCircuit:!0};if(l=C[s]){for(f=e.href.substring(0,i.index);ae.href.length?f+e.href.substring(a):n}}return o(t,r,o)}u=u||await x();for(s in u)if(n=g(e.href+s),n)return{url:n,shortCircuit:!0};return o(t,r,o)},load=async function(t,r,o){let e=await p(t);if(e==null)return o(t,r,o);let s=e.format==="cjs"?"commonjs":"module",n=d(t),l=await S.readFile(n);m=m||await import("esbuild");let i=await m.transform(l.toString(),{...e,sourcefile:n,format:s==="module"?"esm":"cjs"});return{format:s,source:i.code,shortCircuit:!0}},getFormat=async function(t,r,o){let e=await p(t);return e==null?o(t,r,o):{format:e.format==="cjs"?"commonjs":"module"}},transformSource=async function(t,r,o){let e=await p(r.url);return e==null?o(t,r,o):(m=m||await import("esbuild"),{source:(await m.transform(t.toString(),{...e,sourcefile:r.url,format:r.format==="module"?"esm":"cjs"})).code})}; diff --git a/node_modules/tsm/node_modules/.bin/esbuild b/node_modules/tsm/node_modules/.bin/esbuild new file mode 120000 index 00000000..c83ac070 --- /dev/null +++ b/node_modules/tsm/node_modules/.bin/esbuild @@ -0,0 +1 @@ +../esbuild/bin/esbuild \ No newline at end of file diff --git a/node_modules/tsm/node_modules/esbuild/LICENSE.md b/node_modules/tsm/node_modules/esbuild/LICENSE.md new file mode 100644 index 00000000..2027e8dc --- /dev/null +++ b/node_modules/tsm/node_modules/esbuild/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Evan Wallace + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. diff --git a/node_modules/tsm/node_modules/esbuild/README.md b/node_modules/tsm/node_modules/esbuild/README.md new file mode 100644 index 00000000..93863d19 --- /dev/null +++ b/node_modules/tsm/node_modules/esbuild/README.md @@ -0,0 +1,3 @@ +# esbuild + +This is a JavaScript bundler and minifier. See https://github.com/evanw/esbuild and the [JavaScript API documentation](https://esbuild.github.io/api/) for details. diff --git a/node_modules/tsm/node_modules/esbuild/bin/esbuild b/node_modules/tsm/node_modules/esbuild/bin/esbuild new file mode 100755 index 00000000..1c37e14b Binary files /dev/null and b/node_modules/tsm/node_modules/esbuild/bin/esbuild differ diff --git a/node_modules/tsm/node_modules/esbuild/install.js b/node_modules/tsm/node_modules/esbuild/install.js new file mode 100644 index 00000000..a36de4cd --- /dev/null +++ b/node_modules/tsm/node_modules/esbuild/install.js @@ -0,0 +1,245 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); + +// lib/npm/node-platform.ts +var fs = require("fs"); +var os = require("os"); +var path = require("path"); +var ESBUILD_BINARY_PATH = process.env.ESBUILD_BINARY_PATH || ESBUILD_BINARY_PATH; +var knownWindowsPackages = { + "win32 arm64 LE": "esbuild-windows-arm64", + "win32 ia32 LE": "esbuild-windows-32", + "win32 x64 LE": "esbuild-windows-64" +}; +var knownUnixlikePackages = { + "android arm64 LE": "esbuild-android-arm64", + "darwin arm64 LE": "esbuild-darwin-arm64", + "darwin x64 LE": "esbuild-darwin-64", + "freebsd arm64 LE": "esbuild-freebsd-arm64", + "freebsd x64 LE": "esbuild-freebsd-64", + "linux arm LE": "esbuild-linux-arm", + "linux arm64 LE": "esbuild-linux-arm64", + "linux ia32 LE": "esbuild-linux-32", + "linux mips64el LE": "esbuild-linux-mips64le", + "linux ppc64 LE": "esbuild-linux-ppc64le", + "linux riscv64 LE": "esbuild-linux-riscv64", + "linux s390x BE": "esbuild-linux-s390x", + "linux x64 LE": "esbuild-linux-64", + "linux loong64 LE": "@esbuild/linux-loong64", + "netbsd x64 LE": "esbuild-netbsd-64", + "openbsd x64 LE": "esbuild-openbsd-64", + "sunos x64 LE": "esbuild-sunos-64" +}; +var knownWebAssemblyFallbackPackages = { + "android arm LE": "@esbuild/android-arm", + "android x64 LE": "esbuild-android-64" +}; +function pkgAndSubpathForCurrentPlatform() { + let pkg; + let subpath; + let isWASM = false; + let platformKey = `${process.platform} ${os.arch()} ${os.endianness()}`; + if (platformKey in knownWindowsPackages) { + pkg = knownWindowsPackages[platformKey]; + subpath = "esbuild.exe"; + } else if (platformKey in knownUnixlikePackages) { + pkg = knownUnixlikePackages[platformKey]; + subpath = "bin/esbuild"; + } else if (platformKey in knownWebAssemblyFallbackPackages) { + pkg = knownWebAssemblyFallbackPackages[platformKey]; + subpath = "bin/esbuild"; + isWASM = true; + } else { + throw new Error(`Unsupported platform: ${platformKey}`); + } + return { pkg, subpath, isWASM }; +} +function downloadedBinPath(pkg, subpath) { + const esbuildLibDir = path.dirname(require.resolve("esbuild")); + return path.join(esbuildLibDir, `downloaded-${pkg}-${path.basename(subpath)}`); +} + +// lib/npm/node-install.ts +var fs2 = require("fs"); +var os2 = require("os"); +var path2 = require("path"); +var zlib = require("zlib"); +var https = require("https"); +var child_process = require("child_process"); +var toPath = path2.join(__dirname, "bin", "esbuild"); +var isToPathJS = true; +function validateBinaryVersion(...command) { + command.push("--version"); + const stdout = child_process.execFileSync(command.shift(), command, { + stdio: "pipe" + }).toString().trim(); + if (stdout !== "0.15.18") { + throw new Error(`Expected ${JSON.stringify("0.15.18")} but got ${JSON.stringify(stdout)}`); + } +} +function isYarn() { + const { npm_config_user_agent } = process.env; + if (npm_config_user_agent) { + return /\byarn\//.test(npm_config_user_agent); + } + return false; +} +function fetch(url) { + return new Promise((resolve, reject) => { + https.get(url, (res) => { + if ((res.statusCode === 301 || res.statusCode === 302) && res.headers.location) + return fetch(res.headers.location).then(resolve, reject); + if (res.statusCode !== 200) + return reject(new Error(`Server responded with ${res.statusCode}`)); + let chunks = []; + res.on("data", (chunk) => chunks.push(chunk)); + res.on("end", () => resolve(Buffer.concat(chunks))); + }).on("error", reject); + }); +} +function extractFileFromTarGzip(buffer, subpath) { + try { + buffer = zlib.unzipSync(buffer); + } catch (err) { + throw new Error(`Invalid gzip data in archive: ${err && err.message || err}`); + } + let str = (i, n) => String.fromCharCode(...buffer.subarray(i, i + n)).replace(/\0.*$/, ""); + let offset = 0; + subpath = `package/${subpath}`; + while (offset < buffer.length) { + let name = str(offset, 100); + let size = parseInt(str(offset + 124, 12), 8); + offset += 512; + if (!isNaN(size)) { + if (name === subpath) + return buffer.subarray(offset, offset + size); + offset += size + 511 & ~511; + } + } + throw new Error(`Could not find ${JSON.stringify(subpath)} in archive`); +} +function installUsingNPM(pkg, subpath, binPath) { + const env = { ...process.env, npm_config_global: void 0 }; + const esbuildLibDir = path2.dirname(require.resolve("esbuild")); + const installDir = path2.join(esbuildLibDir, "npm-install"); + fs2.mkdirSync(installDir); + try { + fs2.writeFileSync(path2.join(installDir, "package.json"), "{}"); + child_process.execSync( + `npm install --loglevel=error --prefer-offline --no-audit --progress=false ${pkg}@${"0.15.18"}`, + { cwd: installDir, stdio: "pipe", env } + ); + const installedBinPath = path2.join(installDir, "node_modules", pkg, subpath); + fs2.renameSync(installedBinPath, binPath); + } finally { + try { + removeRecursive(installDir); + } catch { + } + } +} +function removeRecursive(dir) { + for (const entry of fs2.readdirSync(dir)) { + const entryPath = path2.join(dir, entry); + let stats; + try { + stats = fs2.lstatSync(entryPath); + } catch { + continue; + } + if (stats.isDirectory()) + removeRecursive(entryPath); + else + fs2.unlinkSync(entryPath); + } + fs2.rmdirSync(dir); +} +function applyManualBinaryPathOverride(overridePath) { + const pathString = JSON.stringify(overridePath); + fs2.writeFileSync(toPath, `#!/usr/bin/env node +require('child_process').execFileSync(${pathString}, process.argv.slice(2), { stdio: 'inherit' }); +`); + const libMain = path2.join(__dirname, "lib", "main.js"); + const code = fs2.readFileSync(libMain, "utf8"); + fs2.writeFileSync(libMain, `var ESBUILD_BINARY_PATH = ${pathString}; +${code}`); +} +function maybeOptimizePackage(binPath) { + if (os2.platform() !== "win32" && !isYarn()) { + const tempPath = path2.join(__dirname, "bin-esbuild"); + try { + fs2.linkSync(binPath, tempPath); + fs2.renameSync(tempPath, toPath); + isToPathJS = false; + fs2.unlinkSync(tempPath); + } catch { + } + } +} +async function downloadDirectlyFromNPM(pkg, subpath, binPath) { + const url = `https://registry.npmjs.org/${pkg}/-/${pkg}-${"0.15.18"}.tgz`; + console.error(`[esbuild] Trying to download ${JSON.stringify(url)}`); + try { + fs2.writeFileSync(binPath, extractFileFromTarGzip(await fetch(url), subpath)); + fs2.chmodSync(binPath, 493); + } catch (e) { + console.error(`[esbuild] Failed to download ${JSON.stringify(url)}: ${e && e.message || e}`); + throw e; + } +} +async function checkAndPreparePackage() { + if (ESBUILD_BINARY_PATH) { + applyManualBinaryPathOverride(ESBUILD_BINARY_PATH); + return; + } + const { pkg, subpath } = pkgAndSubpathForCurrentPlatform(); + let binPath; + try { + binPath = require.resolve(`${pkg}/${subpath}`); + } catch (e) { + console.error(`[esbuild] Failed to find package "${pkg}" on the file system + +This can happen if you use the "--no-optional" flag. The "optionalDependencies" +package.json feature is used by esbuild to install the correct binary executable +for your current platform. This install script will now attempt to work around +this. If that fails, you need to remove the "--no-optional" flag to use esbuild. +`); + binPath = downloadedBinPath(pkg, subpath); + try { + console.error(`[esbuild] Trying to install package "${pkg}" using npm`); + installUsingNPM(pkg, subpath, binPath); + } catch (e2) { + console.error(`[esbuild] Failed to install package "${pkg}" using npm: ${e2 && e2.message || e2}`); + try { + await downloadDirectlyFromNPM(pkg, subpath, binPath); + } catch (e3) { + throw new Error(`Failed to install package "${pkg}"`); + } + } + } + maybeOptimizePackage(binPath); +} +checkAndPreparePackage().then(() => { + if (isToPathJS) { + validateBinaryVersion(process.execPath, toPath); + } else { + validateBinaryVersion(toPath); + } +}); diff --git a/node_modules/tsm/node_modules/esbuild/lib/main.d.ts b/node_modules/tsm/node_modules/esbuild/lib/main.d.ts new file mode 100644 index 00000000..56426a72 --- /dev/null +++ b/node_modules/tsm/node_modules/esbuild/lib/main.d.ts @@ -0,0 +1,611 @@ +export type Platform = 'browser' | 'node' | 'neutral'; +export type Format = 'iife' | 'cjs' | 'esm'; +export type Loader = 'js' | 'jsx' | 'ts' | 'tsx' | 'css' | 'json' | 'text' | 'base64' | 'file' | 'dataurl' | 'binary' | 'copy' | 'default'; +export type LogLevel = 'verbose' | 'debug' | 'info' | 'warning' | 'error' | 'silent'; +export type Charset = 'ascii' | 'utf8'; +export type Drop = 'console' | 'debugger'; + +interface CommonOptions { + /** Documentation: https://esbuild.github.io/api/#sourcemap */ + sourcemap?: boolean | 'linked' | 'inline' | 'external' | 'both'; + /** Documentation: https://esbuild.github.io/api/#legal-comments */ + legalComments?: 'none' | 'inline' | 'eof' | 'linked' | 'external'; + /** Documentation: https://esbuild.github.io/api/#source-root */ + sourceRoot?: string; + /** Documentation: https://esbuild.github.io/api/#sources-content */ + sourcesContent?: boolean; + + /** Documentation: https://esbuild.github.io/api/#format */ + format?: Format; + /** Documentation: https://esbuild.github.io/api/#global-name */ + globalName?: string; + /** Documentation: https://esbuild.github.io/api/#target */ + target?: string | string[]; + /** Documentation: https://esbuild.github.io/api/#supported */ + supported?: Record; + /** Documentation: https://esbuild.github.io/api/#platform */ + platform?: Platform; + + /** Documentation: https://esbuild.github.io/api/#mangle-props */ + mangleProps?: RegExp; + /** Documentation: https://esbuild.github.io/api/#mangle-props */ + reserveProps?: RegExp; + /** Documentation: https://esbuild.github.io/api/#mangle-props */ + mangleQuoted?: boolean; + /** Documentation: https://esbuild.github.io/api/#mangle-props */ + mangleCache?: Record; + /** Documentation: https://esbuild.github.io/api/#drop */ + drop?: Drop[]; + /** Documentation: https://esbuild.github.io/api/#minify */ + minify?: boolean; + /** Documentation: https://esbuild.github.io/api/#minify */ + minifyWhitespace?: boolean; + /** Documentation: https://esbuild.github.io/api/#minify */ + minifyIdentifiers?: boolean; + /** Documentation: https://esbuild.github.io/api/#minify */ + minifySyntax?: boolean; + /** Documentation: https://esbuild.github.io/api/#charset */ + charset?: Charset; + /** Documentation: https://esbuild.github.io/api/#tree-shaking */ + treeShaking?: boolean; + /** Documentation: https://esbuild.github.io/api/#ignore-annotations */ + ignoreAnnotations?: boolean; + + /** Documentation: https://esbuild.github.io/api/#jsx */ + jsx?: 'transform' | 'preserve' | 'automatic'; + /** Documentation: https://esbuild.github.io/api/#jsx-factory */ + jsxFactory?: string; + /** Documentation: https://esbuild.github.io/api/#jsx-fragment */ + jsxFragment?: string; + /** Documentation: https://esbuild.github.io/api/#jsx-import-source */ + jsxImportSource?: string; + /** Documentation: https://esbuild.github.io/api/#jsx-development */ + jsxDev?: boolean; + /** Documentation: https://esbuild.github.io/api/#jsx-side-effects */ + jsxSideEffects?: boolean; + + /** Documentation: https://esbuild.github.io/api/#define */ + define?: { [key: string]: string }; + /** Documentation: https://esbuild.github.io/api/#pure */ + pure?: string[]; + /** Documentation: https://esbuild.github.io/api/#keep-names */ + keepNames?: boolean; + + /** Documentation: https://esbuild.github.io/api/#color */ + color?: boolean; + /** Documentation: https://esbuild.github.io/api/#log-level */ + logLevel?: LogLevel; + /** Documentation: https://esbuild.github.io/api/#log-limit */ + logLimit?: number; + /** Documentation: https://esbuild.github.io/api/#log-override */ + logOverride?: Record; +} + +export interface BuildOptions extends CommonOptions { + /** Documentation: https://esbuild.github.io/api/#bundle */ + bundle?: boolean; + /** Documentation: https://esbuild.github.io/api/#splitting */ + splitting?: boolean; + /** Documentation: https://esbuild.github.io/api/#preserve-symlinks */ + preserveSymlinks?: boolean; + /** Documentation: https://esbuild.github.io/api/#outfile */ + outfile?: string; + /** Documentation: https://esbuild.github.io/api/#metafile */ + metafile?: boolean; + /** Documentation: https://esbuild.github.io/api/#outdir */ + outdir?: string; + /** Documentation: https://esbuild.github.io/api/#outbase */ + outbase?: string; + /** Documentation: https://esbuild.github.io/api/#external */ + external?: string[]; + /** Documentation: https://esbuild.github.io/api/#alias */ + alias?: Record; + /** Documentation: https://esbuild.github.io/api/#loader */ + loader?: { [ext: string]: Loader }; + /** Documentation: https://esbuild.github.io/api/#resolve-extensions */ + resolveExtensions?: string[]; + /** Documentation: https://esbuild.github.io/api/#main-fields */ + mainFields?: string[]; + /** Documentation: https://esbuild.github.io/api/#conditions */ + conditions?: string[]; + /** Documentation: https://esbuild.github.io/api/#write */ + write?: boolean; + /** Documentation: https://esbuild.github.io/api/#allow-overwrite */ + allowOverwrite?: boolean; + /** Documentation: https://esbuild.github.io/api/#tsconfig */ + tsconfig?: string; + /** Documentation: https://esbuild.github.io/api/#out-extension */ + outExtension?: { [ext: string]: string }; + /** Documentation: https://esbuild.github.io/api/#public-path */ + publicPath?: string; + /** Documentation: https://esbuild.github.io/api/#entry-names */ + entryNames?: string; + /** Documentation: https://esbuild.github.io/api/#chunk-names */ + chunkNames?: string; + /** Documentation: https://esbuild.github.io/api/#asset-names */ + assetNames?: string; + /** Documentation: https://esbuild.github.io/api/#inject */ + inject?: string[]; + /** Documentation: https://esbuild.github.io/api/#banner */ + banner?: { [type: string]: string }; + /** Documentation: https://esbuild.github.io/api/#footer */ + footer?: { [type: string]: string }; + /** Documentation: https://esbuild.github.io/api/#incremental */ + incremental?: boolean; + /** Documentation: https://esbuild.github.io/api/#entry-points */ + entryPoints?: string[] | Record; + /** Documentation: https://esbuild.github.io/api/#stdin */ + stdin?: StdinOptions; + /** Documentation: https://esbuild.github.io/plugins/ */ + plugins?: Plugin[]; + /** Documentation: https://esbuild.github.io/api/#working-directory */ + absWorkingDir?: string; + /** Documentation: https://esbuild.github.io/api/#node-paths */ + nodePaths?: string[]; // The "NODE_PATH" variable from Node.js + /** Documentation: https://esbuild.github.io/api/#watch */ + watch?: boolean | WatchMode; +} + +export interface WatchMode { + onRebuild?: (error: BuildFailure | null, result: BuildResult | null) => void; +} + +export interface StdinOptions { + contents: string | Uint8Array; + resolveDir?: string; + sourcefile?: string; + loader?: Loader; +} + +export interface Message { + id: string; + pluginName: string; + text: string; + location: Location | null; + notes: Note[]; + + /** + * Optional user-specified data that is passed through unmodified. You can + * use this to stash the original error, for example. + */ + detail: any; +} + +export interface Note { + text: string; + location: Location | null; +} + +export interface Location { + file: string; + namespace: string; + /** 1-based */ + line: number; + /** 0-based, in bytes */ + column: number; + /** in bytes */ + length: number; + lineText: string; + suggestion: string; +} + +export interface OutputFile { + path: string; + /** "text" as bytes */ + contents: Uint8Array; + /** "contents" as text */ + text: string; +} + +export interface BuildInvalidate { + (): Promise; + dispose(): void; +} + +export interface BuildIncremental extends BuildResult { + rebuild: BuildInvalidate; +} + +export interface BuildResult { + errors: Message[]; + warnings: Message[]; + /** Only when "write: false" */ + outputFiles?: OutputFile[]; + /** Only when "incremental: true" */ + rebuild?: BuildInvalidate; + /** Only when "watch: true" */ + stop?: () => void; + /** Only when "metafile: true" */ + metafile?: Metafile; + /** Only when "mangleCache" is present */ + mangleCache?: Record; +} + +export interface BuildFailure extends Error { + errors: Message[]; + warnings: Message[]; +} + +/** Documentation: https://esbuild.github.io/api/#serve-arguments */ +export interface ServeOptions { + port?: number; + host?: string; + servedir?: string; + onRequest?: (args: ServeOnRequestArgs) => void; +} + +export interface ServeOnRequestArgs { + remoteAddress: string; + method: string; + path: string; + status: number; + /** The time to generate the response, not to send it */ + timeInMS: number; +} + +/** Documentation: https://esbuild.github.io/api/#serve-return-values */ +export interface ServeResult { + port: number; + host: string; + wait: Promise; + stop: () => void; +} + +export interface TransformOptions extends CommonOptions { + tsconfigRaw?: string | { + compilerOptions?: { + alwaysStrict?: boolean, + importsNotUsedAsValues?: 'remove' | 'preserve' | 'error', + jsx?: 'react' | 'react-jsx' | 'react-jsxdev' | 'preserve', + jsxFactory?: string, + jsxFragmentFactory?: string, + jsxImportSource?: string, + preserveValueImports?: boolean, + target?: string, + useDefineForClassFields?: boolean, + }, + }; + + sourcefile?: string; + loader?: Loader; + banner?: string; + footer?: string; +} + +export interface TransformResult { + code: string; + map: string; + warnings: Message[]; + /** Only when "mangleCache" is present */ + mangleCache?: Record; +} + +export interface TransformFailure extends Error { + errors: Message[]; + warnings: Message[]; +} + +export interface Plugin { + name: string; + setup: (build: PluginBuild) => (void | Promise); +} + +export interface PluginBuild { + initialOptions: BuildOptions; + resolve(path: string, options?: ResolveOptions): Promise; + + onStart(callback: () => + (OnStartResult | null | void | Promise)): void; + onEnd(callback: (result: BuildResult) => + (void | Promise)): void; + onResolve(options: OnResolveOptions, callback: (args: OnResolveArgs) => + (OnResolveResult | null | undefined | Promise)): void; + onLoad(options: OnLoadOptions, callback: (args: OnLoadArgs) => + (OnLoadResult | null | undefined | Promise)): void; + + // This is a full copy of the esbuild library in case you need it + esbuild: { + serve: typeof serve, + build: typeof build, + buildSync: typeof buildSync, + transform: typeof transform, + transformSync: typeof transformSync, + formatMessages: typeof formatMessages, + formatMessagesSync: typeof formatMessagesSync, + analyzeMetafile: typeof analyzeMetafile, + analyzeMetafileSync: typeof analyzeMetafileSync, + initialize: typeof initialize, + version: typeof version, + }; +} + +export interface ResolveOptions { + pluginName?: string; + importer?: string; + namespace?: string; + resolveDir?: string; + kind?: ImportKind; + pluginData?: any; +} + +export interface ResolveResult { + errors: Message[]; + warnings: Message[]; + + path: string; + external: boolean; + sideEffects: boolean; + namespace: string; + suffix: string; + pluginData: any; +} + +export interface OnStartResult { + errors?: PartialMessage[]; + warnings?: PartialMessage[]; +} + +export interface OnResolveOptions { + filter: RegExp; + namespace?: string; +} + +export interface OnResolveArgs { + path: string; + importer: string; + namespace: string; + resolveDir: string; + kind: ImportKind; + pluginData: any; +} + +export type ImportKind = + | 'entry-point' + + // JS + | 'import-statement' + | 'require-call' + | 'dynamic-import' + | 'require-resolve' + + // CSS + | 'import-rule' + | 'url-token' + +export interface OnResolveResult { + pluginName?: string; + + errors?: PartialMessage[]; + warnings?: PartialMessage[]; + + path?: string; + external?: boolean; + sideEffects?: boolean; + namespace?: string; + suffix?: string; + pluginData?: any; + + watchFiles?: string[]; + watchDirs?: string[]; +} + +export interface OnLoadOptions { + filter: RegExp; + namespace?: string; +} + +export interface OnLoadArgs { + path: string; + namespace: string; + suffix: string; + pluginData: any; +} + +export interface OnLoadResult { + pluginName?: string; + + errors?: PartialMessage[]; + warnings?: PartialMessage[]; + + contents?: string | Uint8Array; + resolveDir?: string; + loader?: Loader; + pluginData?: any; + + watchFiles?: string[]; + watchDirs?: string[]; +} + +export interface PartialMessage { + id?: string; + pluginName?: string; + text?: string; + location?: Partial | null; + notes?: PartialNote[]; + detail?: any; +} + +export interface PartialNote { + text?: string; + location?: Partial | null; +} + +export interface Metafile { + inputs: { + [path: string]: { + bytes: number + imports: { + path: string + kind: ImportKind + }[] + } + } + outputs: { + [path: string]: { + bytes: number + inputs: { + [path: string]: { + bytesInOutput: number + } + } + imports: { + path: string + kind: ImportKind + }[] + exports: string[] + entryPoint?: string + cssBundle?: string + } + } +} + +export interface FormatMessagesOptions { + kind: 'error' | 'warning'; + color?: boolean; + terminalWidth?: number; +} + +export interface AnalyzeMetafileOptions { + color?: boolean; + verbose?: boolean; +} + +/** + * This function invokes the "esbuild" command-line tool for you. It returns a + * promise that either resolves with a "BuildResult" object or rejects with a + * "BuildFailure" object. + * + * - Works in node: yes + * - Works in browser: yes + * + * Documentation: https://esbuild.github.io/api/#build-api + */ +export declare function build(options: BuildOptions & { write: false }): Promise; +export declare function build(options: BuildOptions & { incremental: true, metafile: true }): Promise; +export declare function build(options: BuildOptions & { incremental: true }): Promise; +export declare function build(options: BuildOptions & { metafile: true }): Promise; +export declare function build(options: BuildOptions): Promise; + +/** + * This function is similar to "build" but it serves the resulting files over + * HTTP on a localhost address with the specified port. + * + * - Works in node: yes + * - Works in browser: no + * + * Documentation: https://esbuild.github.io/api/#serve + */ +export declare function serve(serveOptions: ServeOptions, buildOptions: BuildOptions): Promise; + +/** + * This function transforms a single JavaScript file. It can be used to minify + * JavaScript, convert TypeScript/JSX to JavaScript, or convert newer JavaScript + * to older JavaScript. It returns a promise that is either resolved with a + * "TransformResult" object or rejected with a "TransformFailure" object. + * + * - Works in node: yes + * - Works in browser: yes + * + * Documentation: https://esbuild.github.io/api/#transform-api + */ +export declare function transform(input: string | Uint8Array, options?: TransformOptions): Promise; + +/** + * Converts log messages to formatted message strings suitable for printing in + * the terminal. This allows you to reuse the built-in behavior of esbuild's + * log message formatter. This is a batch-oriented API for efficiency. + * + * - Works in node: yes + * - Works in browser: yes + */ +export declare function formatMessages(messages: PartialMessage[], options: FormatMessagesOptions): Promise; + +/** + * Pretty-prints an analysis of the metafile JSON to a string. This is just for + * convenience to be able to match esbuild's pretty-printing exactly. If you want + * to customize it, you can just inspect the data in the metafile yourself. + * + * - Works in node: yes + * - Works in browser: yes + * + * Documentation: https://esbuild.github.io/api/#analyze + */ +export declare function analyzeMetafile(metafile: Metafile | string, options?: AnalyzeMetafileOptions): Promise; + +/** + * A synchronous version of "build". + * + * - Works in node: yes + * - Works in browser: no + * + * Documentation: https://esbuild.github.io/api/#build-api + */ +export declare function buildSync(options: BuildOptions & { write: false }): BuildResult & { outputFiles: OutputFile[] }; +export declare function buildSync(options: BuildOptions): BuildResult; + +/** + * A synchronous version of "transform". + * + * - Works in node: yes + * - Works in browser: no + * + * Documentation: https://esbuild.github.io/api/#transform-api + */ +export declare function transformSync(input: string, options?: TransformOptions): TransformResult; + +/** + * A synchronous version of "formatMessages". + * + * - Works in node: yes + * - Works in browser: no + */ +export declare function formatMessagesSync(messages: PartialMessage[], options: FormatMessagesOptions): string[]; + +/** + * A synchronous version of "analyzeMetafile". + * + * - Works in node: yes + * - Works in browser: no + * + * Documentation: https://esbuild.github.io/api/#analyze + */ +export declare function analyzeMetafileSync(metafile: Metafile | string, options?: AnalyzeMetafileOptions): string; + +/** + * This configures the browser-based version of esbuild. It is necessary to + * call this first and wait for the returned promise to be resolved before + * making other API calls when using esbuild in the browser. + * + * - Works in node: yes + * - Works in browser: yes ("options" is required) + * + * Documentation: https://esbuild.github.io/api/#running-in-the-browser + */ +export declare function initialize(options: InitializeOptions): Promise; + +export interface InitializeOptions { + /** + * The URL of the "esbuild.wasm" file. This must be provided when running + * esbuild in the browser. + */ + wasmURL?: string | URL + + /** + * The result of calling "new WebAssembly.Module(buffer)" where "buffer" + * is a typed array or ArrayBuffer containing the binary code of the + * "esbuild.wasm" file. + * + * You can use this as an alternative to "wasmURL" for environments where it's + * not possible to download the WebAssembly module. + */ + wasmModule?: WebAssembly.Module + + /** + * By default esbuild runs the WebAssembly-based browser API in a web worker + * to avoid blocking the UI thread. This can be disabled by setting "worker" + * to false. + */ + worker?: boolean +} + +export let version: string; diff --git a/node_modules/tsm/node_modules/esbuild/lib/main.js b/node_modules/tsm/node_modules/esbuild/lib/main.js new file mode 100644 index 00000000..a4884355 --- /dev/null +++ b/node_modules/tsm/node_modules/esbuild/lib/main.js @@ -0,0 +1,2318 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// lib/npm/node.ts +var node_exports = {}; +__export(node_exports, { + analyzeMetafile: () => analyzeMetafile, + analyzeMetafileSync: () => analyzeMetafileSync, + build: () => build, + buildSync: () => buildSync, + default: () => node_default, + formatMessages: () => formatMessages, + formatMessagesSync: () => formatMessagesSync, + initialize: () => initialize, + serve: () => serve, + transform: () => transform, + transformSync: () => transformSync, + version: () => version +}); +module.exports = __toCommonJS(node_exports); + +// lib/shared/stdio_protocol.ts +function encodePacket(packet) { + let visit = (value) => { + if (value === null) { + bb.write8(0); + } else if (typeof value === "boolean") { + bb.write8(1); + bb.write8(+value); + } else if (typeof value === "number") { + bb.write8(2); + bb.write32(value | 0); + } else if (typeof value === "string") { + bb.write8(3); + bb.write(encodeUTF8(value)); + } else if (value instanceof Uint8Array) { + bb.write8(4); + bb.write(value); + } else if (value instanceof Array) { + bb.write8(5); + bb.write32(value.length); + for (let item of value) { + visit(item); + } + } else { + let keys = Object.keys(value); + bb.write8(6); + bb.write32(keys.length); + for (let key of keys) { + bb.write(encodeUTF8(key)); + visit(value[key]); + } + } + }; + let bb = new ByteBuffer(); + bb.write32(0); + bb.write32(packet.id << 1 | +!packet.isRequest); + visit(packet.value); + writeUInt32LE(bb.buf, bb.len - 4, 0); + return bb.buf.subarray(0, bb.len); +} +function decodePacket(bytes) { + let visit = () => { + switch (bb.read8()) { + case 0: + return null; + case 1: + return !!bb.read8(); + case 2: + return bb.read32(); + case 3: + return decodeUTF8(bb.read()); + case 4: + return bb.read(); + case 5: { + let count = bb.read32(); + let value2 = []; + for (let i = 0; i < count; i++) { + value2.push(visit()); + } + return value2; + } + case 6: { + let count = bb.read32(); + let value2 = {}; + for (let i = 0; i < count; i++) { + value2[decodeUTF8(bb.read())] = visit(); + } + return value2; + } + default: + throw new Error("Invalid packet"); + } + }; + let bb = new ByteBuffer(bytes); + let id = bb.read32(); + let isRequest = (id & 1) === 0; + id >>>= 1; + let value = visit(); + if (bb.ptr !== bytes.length) { + throw new Error("Invalid packet"); + } + return { id, isRequest, value }; +} +var ByteBuffer = class { + constructor(buf = new Uint8Array(1024)) { + this.buf = buf; + this.len = 0; + this.ptr = 0; + } + _write(delta) { + if (this.len + delta > this.buf.length) { + let clone = new Uint8Array((this.len + delta) * 2); + clone.set(this.buf); + this.buf = clone; + } + this.len += delta; + return this.len - delta; + } + write8(value) { + let offset = this._write(1); + this.buf[offset] = value; + } + write32(value) { + let offset = this._write(4); + writeUInt32LE(this.buf, value, offset); + } + write(bytes) { + let offset = this._write(4 + bytes.length); + writeUInt32LE(this.buf, bytes.length, offset); + this.buf.set(bytes, offset + 4); + } + _read(delta) { + if (this.ptr + delta > this.buf.length) { + throw new Error("Invalid packet"); + } + this.ptr += delta; + return this.ptr - delta; + } + read8() { + return this.buf[this._read(1)]; + } + read32() { + return readUInt32LE(this.buf, this._read(4)); + } + read() { + let length = this.read32(); + let bytes = new Uint8Array(length); + let ptr = this._read(bytes.length); + bytes.set(this.buf.subarray(ptr, ptr + length)); + return bytes; + } +}; +var encodeUTF8; +var decodeUTF8; +if (typeof TextEncoder !== "undefined" && typeof TextDecoder !== "undefined") { + let encoder = new TextEncoder(); + let decoder = new TextDecoder(); + encodeUTF8 = (text) => encoder.encode(text); + decodeUTF8 = (bytes) => decoder.decode(bytes); +} else if (typeof Buffer !== "undefined") { + encodeUTF8 = (text) => { + let buffer = Buffer.from(text); + if (!(buffer instanceof Uint8Array)) { + buffer = new Uint8Array(buffer); + } + return buffer; + }; + decodeUTF8 = (bytes) => { + let { buffer, byteOffset, byteLength } = bytes; + return Buffer.from(buffer, byteOffset, byteLength).toString(); + }; +} else { + throw new Error("No UTF-8 codec found"); +} +function readUInt32LE(buffer, offset) { + return buffer[offset++] | buffer[offset++] << 8 | buffer[offset++] << 16 | buffer[offset++] << 24; +} +function writeUInt32LE(buffer, value, offset) { + buffer[offset++] = value; + buffer[offset++] = value >> 8; + buffer[offset++] = value >> 16; + buffer[offset++] = value >> 24; +} + +// lib/shared/common.ts +var buildLogLevelDefault = "warning"; +var transformLogLevelDefault = "silent"; +function validateTarget(target) { + target += ""; + if (target.indexOf(",") >= 0) + throw new Error(`Invalid target: ${target}`); + return target; +} +var canBeAnything = () => null; +var mustBeBoolean = (value) => typeof value === "boolean" ? null : "a boolean"; +var mustBeBooleanOrObject = (value) => typeof value === "boolean" || typeof value === "object" && !Array.isArray(value) ? null : "a boolean or an object"; +var mustBeString = (value) => typeof value === "string" ? null : "a string"; +var mustBeRegExp = (value) => value instanceof RegExp ? null : "a RegExp object"; +var mustBeInteger = (value) => typeof value === "number" && value === (value | 0) ? null : "an integer"; +var mustBeFunction = (value) => typeof value === "function" ? null : "a function"; +var mustBeArray = (value) => Array.isArray(value) ? null : "an array"; +var mustBeObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value) ? null : "an object"; +var mustBeWebAssemblyModule = (value) => value instanceof WebAssembly.Module ? null : "a WebAssembly.Module"; +var mustBeArrayOrRecord = (value) => typeof value === "object" && value !== null ? null : "an array or an object"; +var mustBeObjectOrNull = (value) => typeof value === "object" && !Array.isArray(value) ? null : "an object or null"; +var mustBeStringOrBoolean = (value) => typeof value === "string" || typeof value === "boolean" ? null : "a string or a boolean"; +var mustBeStringOrObject = (value) => typeof value === "string" || typeof value === "object" && value !== null && !Array.isArray(value) ? null : "a string or an object"; +var mustBeStringOrArray = (value) => typeof value === "string" || Array.isArray(value) ? null : "a string or an array"; +var mustBeStringOrUint8Array = (value) => typeof value === "string" || value instanceof Uint8Array ? null : "a string or a Uint8Array"; +var mustBeStringOrURL = (value) => typeof value === "string" || value instanceof URL ? null : "a string or a URL"; +function getFlag(object, keys, key, mustBeFn) { + let value = object[key]; + keys[key + ""] = true; + if (value === void 0) + return void 0; + let mustBe = mustBeFn(value); + if (mustBe !== null) + throw new Error(`"${key}" must be ${mustBe}`); + return value; +} +function checkForInvalidFlags(object, keys, where) { + for (let key in object) { + if (!(key in keys)) { + throw new Error(`Invalid option ${where}: "${key}"`); + } + } +} +function validateInitializeOptions(options) { + let keys = /* @__PURE__ */ Object.create(null); + let wasmURL = getFlag(options, keys, "wasmURL", mustBeStringOrURL); + let wasmModule = getFlag(options, keys, "wasmModule", mustBeWebAssemblyModule); + let worker = getFlag(options, keys, "worker", mustBeBoolean); + checkForInvalidFlags(options, keys, "in initialize() call"); + return { + wasmURL, + wasmModule, + worker + }; +} +function validateMangleCache(mangleCache) { + let validated; + if (mangleCache !== void 0) { + validated = /* @__PURE__ */ Object.create(null); + for (let key of Object.keys(mangleCache)) { + let value = mangleCache[key]; + if (typeof value === "string" || value === false) { + validated[key] = value; + } else { + throw new Error(`Expected ${JSON.stringify(key)} in mangle cache to map to either a string or false`); + } + } + } + return validated; +} +function pushLogFlags(flags, options, keys, isTTY2, logLevelDefault) { + let color = getFlag(options, keys, "color", mustBeBoolean); + let logLevel = getFlag(options, keys, "logLevel", mustBeString); + let logLimit = getFlag(options, keys, "logLimit", mustBeInteger); + if (color !== void 0) + flags.push(`--color=${color}`); + else if (isTTY2) + flags.push(`--color=true`); + flags.push(`--log-level=${logLevel || logLevelDefault}`); + flags.push(`--log-limit=${logLimit || 0}`); +} +function pushCommonFlags(flags, options, keys) { + let legalComments = getFlag(options, keys, "legalComments", mustBeString); + let sourceRoot = getFlag(options, keys, "sourceRoot", mustBeString); + let sourcesContent = getFlag(options, keys, "sourcesContent", mustBeBoolean); + let target = getFlag(options, keys, "target", mustBeStringOrArray); + let format = getFlag(options, keys, "format", mustBeString); + let globalName = getFlag(options, keys, "globalName", mustBeString); + let mangleProps = getFlag(options, keys, "mangleProps", mustBeRegExp); + let reserveProps = getFlag(options, keys, "reserveProps", mustBeRegExp); + let mangleQuoted = getFlag(options, keys, "mangleQuoted", mustBeBoolean); + let minify = getFlag(options, keys, "minify", mustBeBoolean); + let minifySyntax = getFlag(options, keys, "minifySyntax", mustBeBoolean); + let minifyWhitespace = getFlag(options, keys, "minifyWhitespace", mustBeBoolean); + let minifyIdentifiers = getFlag(options, keys, "minifyIdentifiers", mustBeBoolean); + let drop = getFlag(options, keys, "drop", mustBeArray); + let charset = getFlag(options, keys, "charset", mustBeString); + let treeShaking = getFlag(options, keys, "treeShaking", mustBeBoolean); + let ignoreAnnotations = getFlag(options, keys, "ignoreAnnotations", mustBeBoolean); + let jsx = getFlag(options, keys, "jsx", mustBeString); + let jsxFactory = getFlag(options, keys, "jsxFactory", mustBeString); + let jsxFragment = getFlag(options, keys, "jsxFragment", mustBeString); + let jsxImportSource = getFlag(options, keys, "jsxImportSource", mustBeString); + let jsxDev = getFlag(options, keys, "jsxDev", mustBeBoolean); + let jsxSideEffects = getFlag(options, keys, "jsxSideEffects", mustBeBoolean); + let define = getFlag(options, keys, "define", mustBeObject); + let logOverride = getFlag(options, keys, "logOverride", mustBeObject); + let supported = getFlag(options, keys, "supported", mustBeObject); + let pure = getFlag(options, keys, "pure", mustBeArray); + let keepNames = getFlag(options, keys, "keepNames", mustBeBoolean); + let platform = getFlag(options, keys, "platform", mustBeString); + if (legalComments) + flags.push(`--legal-comments=${legalComments}`); + if (sourceRoot !== void 0) + flags.push(`--source-root=${sourceRoot}`); + if (sourcesContent !== void 0) + flags.push(`--sources-content=${sourcesContent}`); + if (target) { + if (Array.isArray(target)) + flags.push(`--target=${Array.from(target).map(validateTarget).join(",")}`); + else + flags.push(`--target=${validateTarget(target)}`); + } + if (format) + flags.push(`--format=${format}`); + if (globalName) + flags.push(`--global-name=${globalName}`); + if (platform) + flags.push(`--platform=${platform}`); + if (minify) + flags.push("--minify"); + if (minifySyntax) + flags.push("--minify-syntax"); + if (minifyWhitespace) + flags.push("--minify-whitespace"); + if (minifyIdentifiers) + flags.push("--minify-identifiers"); + if (charset) + flags.push(`--charset=${charset}`); + if (treeShaking !== void 0) + flags.push(`--tree-shaking=${treeShaking}`); + if (ignoreAnnotations) + flags.push(`--ignore-annotations`); + if (drop) + for (let what of drop) + flags.push(`--drop:${what}`); + if (mangleProps) + flags.push(`--mangle-props=${mangleProps.source}`); + if (reserveProps) + flags.push(`--reserve-props=${reserveProps.source}`); + if (mangleQuoted !== void 0) + flags.push(`--mangle-quoted=${mangleQuoted}`); + if (jsx) + flags.push(`--jsx=${jsx}`); + if (jsxFactory) + flags.push(`--jsx-factory=${jsxFactory}`); + if (jsxFragment) + flags.push(`--jsx-fragment=${jsxFragment}`); + if (jsxImportSource) + flags.push(`--jsx-import-source=${jsxImportSource}`); + if (jsxDev) + flags.push(`--jsx-dev`); + if (jsxSideEffects) + flags.push(`--jsx-side-effects`); + if (define) { + for (let key in define) { + if (key.indexOf("=") >= 0) + throw new Error(`Invalid define: ${key}`); + flags.push(`--define:${key}=${define[key]}`); + } + } + if (logOverride) { + for (let key in logOverride) { + if (key.indexOf("=") >= 0) + throw new Error(`Invalid log override: ${key}`); + flags.push(`--log-override:${key}=${logOverride[key]}`); + } + } + if (supported) { + for (let key in supported) { + if (key.indexOf("=") >= 0) + throw new Error(`Invalid supported: ${key}`); + flags.push(`--supported:${key}=${supported[key]}`); + } + } + if (pure) + for (let fn of pure) + flags.push(`--pure:${fn}`); + if (keepNames) + flags.push(`--keep-names`); +} +function flagsForBuildOptions(callName, options, isTTY2, logLevelDefault, writeDefault) { + var _a2; + let flags = []; + let entries = []; + let keys = /* @__PURE__ */ Object.create(null); + let stdinContents = null; + let stdinResolveDir = null; + let watchMode = null; + pushLogFlags(flags, options, keys, isTTY2, logLevelDefault); + pushCommonFlags(flags, options, keys); + let sourcemap = getFlag(options, keys, "sourcemap", mustBeStringOrBoolean); + let bundle = getFlag(options, keys, "bundle", mustBeBoolean); + let watch = getFlag(options, keys, "watch", mustBeBooleanOrObject); + let splitting = getFlag(options, keys, "splitting", mustBeBoolean); + let preserveSymlinks = getFlag(options, keys, "preserveSymlinks", mustBeBoolean); + let metafile = getFlag(options, keys, "metafile", mustBeBoolean); + let outfile = getFlag(options, keys, "outfile", mustBeString); + let outdir = getFlag(options, keys, "outdir", mustBeString); + let outbase = getFlag(options, keys, "outbase", mustBeString); + let tsconfig = getFlag(options, keys, "tsconfig", mustBeString); + let resolveExtensions = getFlag(options, keys, "resolveExtensions", mustBeArray); + let nodePathsInput = getFlag(options, keys, "nodePaths", mustBeArray); + let mainFields = getFlag(options, keys, "mainFields", mustBeArray); + let conditions = getFlag(options, keys, "conditions", mustBeArray); + let external = getFlag(options, keys, "external", mustBeArray); + let alias = getFlag(options, keys, "alias", mustBeObject); + let loader = getFlag(options, keys, "loader", mustBeObject); + let outExtension = getFlag(options, keys, "outExtension", mustBeObject); + let publicPath = getFlag(options, keys, "publicPath", mustBeString); + let entryNames = getFlag(options, keys, "entryNames", mustBeString); + let chunkNames = getFlag(options, keys, "chunkNames", mustBeString); + let assetNames = getFlag(options, keys, "assetNames", mustBeString); + let inject = getFlag(options, keys, "inject", mustBeArray); + let banner = getFlag(options, keys, "banner", mustBeObject); + let footer = getFlag(options, keys, "footer", mustBeObject); + let entryPoints = getFlag(options, keys, "entryPoints", mustBeArrayOrRecord); + let absWorkingDir = getFlag(options, keys, "absWorkingDir", mustBeString); + let stdin = getFlag(options, keys, "stdin", mustBeObject); + let write = (_a2 = getFlag(options, keys, "write", mustBeBoolean)) != null ? _a2 : writeDefault; + let allowOverwrite = getFlag(options, keys, "allowOverwrite", mustBeBoolean); + let incremental = getFlag(options, keys, "incremental", mustBeBoolean) === true; + let mangleCache = getFlag(options, keys, "mangleCache", mustBeObject); + keys.plugins = true; + checkForInvalidFlags(options, keys, `in ${callName}() call`); + if (sourcemap) + flags.push(`--sourcemap${sourcemap === true ? "" : `=${sourcemap}`}`); + if (bundle) + flags.push("--bundle"); + if (allowOverwrite) + flags.push("--allow-overwrite"); + if (watch) { + flags.push("--watch"); + if (typeof watch === "boolean") { + watchMode = {}; + } else { + let watchKeys = /* @__PURE__ */ Object.create(null); + let onRebuild = getFlag(watch, watchKeys, "onRebuild", mustBeFunction); + checkForInvalidFlags(watch, watchKeys, `on "watch" in ${callName}() call`); + watchMode = { onRebuild }; + } + } + if (splitting) + flags.push("--splitting"); + if (preserveSymlinks) + flags.push("--preserve-symlinks"); + if (metafile) + flags.push(`--metafile`); + if (outfile) + flags.push(`--outfile=${outfile}`); + if (outdir) + flags.push(`--outdir=${outdir}`); + if (outbase) + flags.push(`--outbase=${outbase}`); + if (tsconfig) + flags.push(`--tsconfig=${tsconfig}`); + if (resolveExtensions) { + let values = []; + for (let value of resolveExtensions) { + value += ""; + if (value.indexOf(",") >= 0) + throw new Error(`Invalid resolve extension: ${value}`); + values.push(value); + } + flags.push(`--resolve-extensions=${values.join(",")}`); + } + if (publicPath) + flags.push(`--public-path=${publicPath}`); + if (entryNames) + flags.push(`--entry-names=${entryNames}`); + if (chunkNames) + flags.push(`--chunk-names=${chunkNames}`); + if (assetNames) + flags.push(`--asset-names=${assetNames}`); + if (mainFields) { + let values = []; + for (let value of mainFields) { + value += ""; + if (value.indexOf(",") >= 0) + throw new Error(`Invalid main field: ${value}`); + values.push(value); + } + flags.push(`--main-fields=${values.join(",")}`); + } + if (conditions) { + let values = []; + for (let value of conditions) { + value += ""; + if (value.indexOf(",") >= 0) + throw new Error(`Invalid condition: ${value}`); + values.push(value); + } + flags.push(`--conditions=${values.join(",")}`); + } + if (external) + for (let name of external) + flags.push(`--external:${name}`); + if (alias) { + for (let old in alias) { + if (old.indexOf("=") >= 0) + throw new Error(`Invalid package name in alias: ${old}`); + flags.push(`--alias:${old}=${alias[old]}`); + } + } + if (banner) { + for (let type in banner) { + if (type.indexOf("=") >= 0) + throw new Error(`Invalid banner file type: ${type}`); + flags.push(`--banner:${type}=${banner[type]}`); + } + } + if (footer) { + for (let type in footer) { + if (type.indexOf("=") >= 0) + throw new Error(`Invalid footer file type: ${type}`); + flags.push(`--footer:${type}=${footer[type]}`); + } + } + if (inject) + for (let path3 of inject) + flags.push(`--inject:${path3}`); + if (loader) { + for (let ext in loader) { + if (ext.indexOf("=") >= 0) + throw new Error(`Invalid loader extension: ${ext}`); + flags.push(`--loader:${ext}=${loader[ext]}`); + } + } + if (outExtension) { + for (let ext in outExtension) { + if (ext.indexOf("=") >= 0) + throw new Error(`Invalid out extension: ${ext}`); + flags.push(`--out-extension:${ext}=${outExtension[ext]}`); + } + } + if (entryPoints) { + if (Array.isArray(entryPoints)) { + for (let entryPoint of entryPoints) { + entries.push(["", entryPoint + ""]); + } + } else { + for (let [key, value] of Object.entries(entryPoints)) { + entries.push([key + "", value + ""]); + } + } + } + if (stdin) { + let stdinKeys = /* @__PURE__ */ Object.create(null); + let contents = getFlag(stdin, stdinKeys, "contents", mustBeStringOrUint8Array); + let resolveDir = getFlag(stdin, stdinKeys, "resolveDir", mustBeString); + let sourcefile = getFlag(stdin, stdinKeys, "sourcefile", mustBeString); + let loader2 = getFlag(stdin, stdinKeys, "loader", mustBeString); + checkForInvalidFlags(stdin, stdinKeys, 'in "stdin" object'); + if (sourcefile) + flags.push(`--sourcefile=${sourcefile}`); + if (loader2) + flags.push(`--loader=${loader2}`); + if (resolveDir) + stdinResolveDir = resolveDir + ""; + if (typeof contents === "string") + stdinContents = encodeUTF8(contents); + else if (contents instanceof Uint8Array) + stdinContents = contents; + } + let nodePaths = []; + if (nodePathsInput) { + for (let value of nodePathsInput) { + value += ""; + nodePaths.push(value); + } + } + return { + entries, + flags, + write, + stdinContents, + stdinResolveDir, + absWorkingDir, + incremental, + nodePaths, + watch: watchMode, + mangleCache: validateMangleCache(mangleCache) + }; +} +function flagsForTransformOptions(callName, options, isTTY2, logLevelDefault) { + let flags = []; + let keys = /* @__PURE__ */ Object.create(null); + pushLogFlags(flags, options, keys, isTTY2, logLevelDefault); + pushCommonFlags(flags, options, keys); + let sourcemap = getFlag(options, keys, "sourcemap", mustBeStringOrBoolean); + let tsconfigRaw = getFlag(options, keys, "tsconfigRaw", mustBeStringOrObject); + let sourcefile = getFlag(options, keys, "sourcefile", mustBeString); + let loader = getFlag(options, keys, "loader", mustBeString); + let banner = getFlag(options, keys, "banner", mustBeString); + let footer = getFlag(options, keys, "footer", mustBeString); + let mangleCache = getFlag(options, keys, "mangleCache", mustBeObject); + checkForInvalidFlags(options, keys, `in ${callName}() call`); + if (sourcemap) + flags.push(`--sourcemap=${sourcemap === true ? "external" : sourcemap}`); + if (tsconfigRaw) + flags.push(`--tsconfig-raw=${typeof tsconfigRaw === "string" ? tsconfigRaw : JSON.stringify(tsconfigRaw)}`); + if (sourcefile) + flags.push(`--sourcefile=${sourcefile}`); + if (loader) + flags.push(`--loader=${loader}`); + if (banner) + flags.push(`--banner=${banner}`); + if (footer) + flags.push(`--footer=${footer}`); + return { + flags, + mangleCache: validateMangleCache(mangleCache) + }; +} +function createChannel(streamIn) { + const requestCallbacksByKey = {}; + const closeData = { didClose: false, reason: "" }; + let responseCallbacks = {}; + let nextRequestID = 0; + let nextBuildKey = 0; + let stdout = new Uint8Array(16 * 1024); + let stdoutUsed = 0; + let readFromStdout = (chunk) => { + let limit = stdoutUsed + chunk.length; + if (limit > stdout.length) { + let swap = new Uint8Array(limit * 2); + swap.set(stdout); + stdout = swap; + } + stdout.set(chunk, stdoutUsed); + stdoutUsed += chunk.length; + let offset = 0; + while (offset + 4 <= stdoutUsed) { + let length = readUInt32LE(stdout, offset); + if (offset + 4 + length > stdoutUsed) { + break; + } + offset += 4; + handleIncomingPacket(stdout.subarray(offset, offset + length)); + offset += length; + } + if (offset > 0) { + stdout.copyWithin(0, offset, stdoutUsed); + stdoutUsed -= offset; + } + }; + let afterClose = (error) => { + closeData.didClose = true; + if (error) + closeData.reason = ": " + (error.message || error); + const text = "The service was stopped" + closeData.reason; + for (let id in responseCallbacks) { + responseCallbacks[id](text, null); + } + responseCallbacks = {}; + }; + let sendRequest = (refs, value, callback) => { + if (closeData.didClose) + return callback("The service is no longer running" + closeData.reason, null); + let id = nextRequestID++; + responseCallbacks[id] = (error, response) => { + try { + callback(error, response); + } finally { + if (refs) + refs.unref(); + } + }; + if (refs) + refs.ref(); + streamIn.writeToStdin(encodePacket({ id, isRequest: true, value })); + }; + let sendResponse = (id, value) => { + if (closeData.didClose) + throw new Error("The service is no longer running" + closeData.reason); + streamIn.writeToStdin(encodePacket({ id, isRequest: false, value })); + }; + let handleRequest = async (id, request) => { + try { + if (request.command === "ping") { + sendResponse(id, {}); + return; + } + if (typeof request.key === "number") { + const requestCallbacks = requestCallbacksByKey[request.key]; + if (requestCallbacks) { + const callback = requestCallbacks[request.command]; + if (callback) { + await callback(id, request); + return; + } + } + } + throw new Error(`Invalid command: ` + request.command); + } catch (e) { + sendResponse(id, { errors: [extractErrorMessageV8(e, streamIn, null, void 0, "")] }); + } + }; + let isFirstPacket = true; + let handleIncomingPacket = (bytes) => { + if (isFirstPacket) { + isFirstPacket = false; + let binaryVersion = String.fromCharCode(...bytes); + if (binaryVersion !== "0.15.18") { + throw new Error(`Cannot start service: Host version "${"0.15.18"}" does not match binary version ${JSON.stringify(binaryVersion)}`); + } + return; + } + let packet = decodePacket(bytes); + if (packet.isRequest) { + handleRequest(packet.id, packet.value); + } else { + let callback = responseCallbacks[packet.id]; + delete responseCallbacks[packet.id]; + if (packet.value.error) + callback(packet.value.error, {}); + else + callback(null, packet.value); + } + }; + let buildOrServe = ({ callName, refs, serveOptions, options, isTTY: isTTY2, defaultWD: defaultWD2, callback }) => { + let refCount = 0; + const buildKey = nextBuildKey++; + const requestCallbacks = {}; + const buildRefs = { + ref() { + if (++refCount === 1) { + if (refs) + refs.ref(); + } + }, + unref() { + if (--refCount === 0) { + delete requestCallbacksByKey[buildKey]; + if (refs) + refs.unref(); + } + } + }; + requestCallbacksByKey[buildKey] = requestCallbacks; + buildRefs.ref(); + buildOrServeImpl( + callName, + buildKey, + sendRequest, + sendResponse, + buildRefs, + streamIn, + requestCallbacks, + options, + serveOptions, + isTTY2, + defaultWD2, + closeData, + (err, res) => { + try { + callback(err, res); + } finally { + buildRefs.unref(); + } + } + ); + }; + let transform2 = ({ callName, refs, input, options, isTTY: isTTY2, fs: fs3, callback }) => { + const details = createObjectStash(); + let start = (inputPath) => { + try { + if (typeof input !== "string" && !(input instanceof Uint8Array)) + throw new Error('The input to "transform" must be a string or a Uint8Array'); + let { + flags, + mangleCache + } = flagsForTransformOptions(callName, options, isTTY2, transformLogLevelDefault); + let request = { + command: "transform", + flags, + inputFS: inputPath !== null, + input: inputPath !== null ? encodeUTF8(inputPath) : typeof input === "string" ? encodeUTF8(input) : input + }; + if (mangleCache) + request.mangleCache = mangleCache; + sendRequest(refs, request, (error, response) => { + if (error) + return callback(new Error(error), null); + let errors = replaceDetailsInMessages(response.errors, details); + let warnings = replaceDetailsInMessages(response.warnings, details); + let outstanding = 1; + let next = () => { + if (--outstanding === 0) { + let result = { warnings, code: response.code, map: response.map }; + if (response.mangleCache) + result.mangleCache = response == null ? void 0 : response.mangleCache; + callback(null, result); + } + }; + if (errors.length > 0) + return callback(failureErrorWithLog("Transform failed", errors, warnings), null); + if (response.codeFS) { + outstanding++; + fs3.readFile(response.code, (err, contents) => { + if (err !== null) { + callback(err, null); + } else { + response.code = contents; + next(); + } + }); + } + if (response.mapFS) { + outstanding++; + fs3.readFile(response.map, (err, contents) => { + if (err !== null) { + callback(err, null); + } else { + response.map = contents; + next(); + } + }); + } + next(); + }); + } catch (e) { + let flags = []; + try { + pushLogFlags(flags, options, {}, isTTY2, transformLogLevelDefault); + } catch { + } + const error = extractErrorMessageV8(e, streamIn, details, void 0, ""); + sendRequest(refs, { command: "error", flags, error }, () => { + error.detail = details.load(error.detail); + callback(failureErrorWithLog("Transform failed", [error], []), null); + }); + } + }; + if ((typeof input === "string" || input instanceof Uint8Array) && input.length > 1024 * 1024) { + let next = start; + start = () => fs3.writeFile(input, next); + } + start(null); + }; + let formatMessages2 = ({ callName, refs, messages, options, callback }) => { + let result = sanitizeMessages(messages, "messages", null, ""); + if (!options) + throw new Error(`Missing second argument in ${callName}() call`); + let keys = {}; + let kind = getFlag(options, keys, "kind", mustBeString); + let color = getFlag(options, keys, "color", mustBeBoolean); + let terminalWidth = getFlag(options, keys, "terminalWidth", mustBeInteger); + checkForInvalidFlags(options, keys, `in ${callName}() call`); + if (kind === void 0) + throw new Error(`Missing "kind" in ${callName}() call`); + if (kind !== "error" && kind !== "warning") + throw new Error(`Expected "kind" to be "error" or "warning" in ${callName}() call`); + let request = { + command: "format-msgs", + messages: result, + isWarning: kind === "warning" + }; + if (color !== void 0) + request.color = color; + if (terminalWidth !== void 0) + request.terminalWidth = terminalWidth; + sendRequest(refs, request, (error, response) => { + if (error) + return callback(new Error(error), null); + callback(null, response.messages); + }); + }; + let analyzeMetafile2 = ({ callName, refs, metafile, options, callback }) => { + if (options === void 0) + options = {}; + let keys = {}; + let color = getFlag(options, keys, "color", mustBeBoolean); + let verbose = getFlag(options, keys, "verbose", mustBeBoolean); + checkForInvalidFlags(options, keys, `in ${callName}() call`); + let request = { + command: "analyze-metafile", + metafile + }; + if (color !== void 0) + request.color = color; + if (verbose !== void 0) + request.verbose = verbose; + sendRequest(refs, request, (error, response) => { + if (error) + return callback(new Error(error), null); + callback(null, response.result); + }); + }; + return { + readFromStdout, + afterClose, + service: { + buildOrServe, + transform: transform2, + formatMessages: formatMessages2, + analyzeMetafile: analyzeMetafile2 + } + }; +} +function buildOrServeImpl(callName, buildKey, sendRequest, sendResponse, refs, streamIn, requestCallbacks, options, serveOptions, isTTY2, defaultWD2, closeData, callback) { + const details = createObjectStash(); + const logPluginError = (e, pluginName, note, done) => { + const flags = []; + try { + pushLogFlags(flags, options, {}, isTTY2, buildLogLevelDefault); + } catch { + } + const message = extractErrorMessageV8(e, streamIn, details, note, pluginName); + sendRequest(refs, { command: "error", flags, error: message }, () => { + message.detail = details.load(message.detail); + done(message); + }); + }; + const handleError = (e, pluginName) => { + logPluginError(e, pluginName, void 0, (error) => { + callback(failureErrorWithLog("Build failed", [error], []), null); + }); + }; + let plugins; + if (typeof options === "object") { + const value = options.plugins; + if (value !== void 0) { + if (!Array.isArray(value)) + throw new Error(`"plugins" must be an array`); + plugins = value; + } + } + if (plugins && plugins.length > 0) { + if (streamIn.isSync) { + handleError(new Error("Cannot use plugins in synchronous API calls"), ""); + return; + } + handlePlugins( + buildKey, + sendRequest, + sendResponse, + refs, + streamIn, + requestCallbacks, + options, + plugins, + details + ).then( + (result) => { + if (!result.ok) { + handleError(result.error, result.pluginName); + return; + } + try { + buildOrServeContinue(result.requestPlugins, result.runOnEndCallbacks); + } catch (e) { + handleError(e, ""); + } + }, + (e) => handleError(e, "") + ); + return; + } + try { + buildOrServeContinue(null, (result, logPluginError2, done) => done()); + } catch (e) { + handleError(e, ""); + } + function buildOrServeContinue(requestPlugins, runOnEndCallbacks) { + let writeDefault = !streamIn.isWriteUnavailable; + let { + entries, + flags, + write, + stdinContents, + stdinResolveDir, + absWorkingDir, + incremental, + nodePaths, + watch, + mangleCache + } = flagsForBuildOptions(callName, options, isTTY2, buildLogLevelDefault, writeDefault); + let request = { + command: "build", + key: buildKey, + entries, + flags, + write, + stdinContents, + stdinResolveDir, + absWorkingDir: absWorkingDir || defaultWD2, + incremental, + nodePaths + }; + if (requestPlugins) + request.plugins = requestPlugins; + if (mangleCache) + request.mangleCache = mangleCache; + let serve2 = serveOptions && buildServeData(buildKey, sendRequest, sendResponse, refs, requestCallbacks, serveOptions, request); + let rebuild; + let stop; + let copyResponseToResult = (response, result) => { + if (response.outputFiles) + result.outputFiles = response.outputFiles.map(convertOutputFiles); + if (response.metafile) + result.metafile = JSON.parse(response.metafile); + if (response.mangleCache) + result.mangleCache = response.mangleCache; + if (response.writeToStdout !== void 0) + console.log(decodeUTF8(response.writeToStdout).replace(/\n$/, "")); + }; + let buildResponseToResult = (response, callback2) => { + let result = { + errors: replaceDetailsInMessages(response.errors, details), + warnings: replaceDetailsInMessages(response.warnings, details) + }; + copyResponseToResult(response, result); + runOnEndCallbacks(result, logPluginError, () => { + if (result.errors.length > 0) { + return callback2(failureErrorWithLog("Build failed", result.errors, result.warnings), null); + } + if (response.rebuild) { + if (!rebuild) { + let isDisposed = false; + rebuild = () => new Promise((resolve, reject) => { + if (isDisposed || closeData.didClose) + throw new Error("Cannot rebuild"); + sendRequest( + refs, + { command: "rebuild", key: buildKey }, + (error2, response2) => { + if (error2) { + const message = { id: "", pluginName: "", text: error2, location: null, notes: [], detail: void 0 }; + return callback2(failureErrorWithLog("Build failed", [message], []), null); + } + buildResponseToResult(response2, (error3, result3) => { + if (error3) + reject(error3); + else + resolve(result3); + }); + } + ); + }); + refs.ref(); + rebuild.dispose = () => { + if (isDisposed) + return; + isDisposed = true; + sendRequest(refs, { command: "rebuild-dispose", key: buildKey }, () => { + }); + refs.unref(); + }; + } + result.rebuild = rebuild; + } + if (response.watch) { + if (!stop) { + let isStopped = false; + refs.ref(); + stop = () => { + if (isStopped) + return; + isStopped = true; + delete requestCallbacks["watch-rebuild"]; + sendRequest(refs, { command: "watch-stop", key: buildKey }, () => { + }); + refs.unref(); + }; + if (watch) { + requestCallbacks["watch-rebuild"] = (id, request2) => { + try { + let watchResponse = request2.args; + let result2 = { + errors: replaceDetailsInMessages(watchResponse.errors, details), + warnings: replaceDetailsInMessages(watchResponse.warnings, details) + }; + copyResponseToResult(watchResponse, result2); + runOnEndCallbacks(result2, logPluginError, () => { + if (result2.errors.length > 0) { + if (watch.onRebuild) + watch.onRebuild(failureErrorWithLog("Build failed", result2.errors, result2.warnings), null); + return; + } + result2.stop = stop; + if (watch.onRebuild) + watch.onRebuild(null, result2); + }); + } catch (err) { + console.error(err); + } + sendResponse(id, {}); + }; + } + } + result.stop = stop; + } + callback2(null, result); + }); + }; + if (write && streamIn.isWriteUnavailable) + throw new Error(`The "write" option is unavailable in this environment`); + if (incremental && streamIn.isSync) + throw new Error(`Cannot use "incremental" with a synchronous build`); + if (watch && streamIn.isSync) + throw new Error(`Cannot use "watch" with a synchronous build`); + sendRequest(refs, request, (error, response) => { + if (error) + return callback(new Error(error), null); + if (serve2) { + let serveResponse = response; + let isStopped = false; + refs.ref(); + let result = { + port: serveResponse.port, + host: serveResponse.host, + wait: serve2.wait, + stop() { + if (isStopped) + return; + isStopped = true; + serve2.stop(); + refs.unref(); + } + }; + refs.ref(); + serve2.wait.then(refs.unref, refs.unref); + return callback(null, result); + } + return buildResponseToResult(response, callback); + }); + } +} +var buildServeData = (buildKey, sendRequest, sendResponse, refs, requestCallbacks, options, request) => { + let keys = {}; + let port = getFlag(options, keys, "port", mustBeInteger); + let host = getFlag(options, keys, "host", mustBeString); + let servedir = getFlag(options, keys, "servedir", mustBeString); + let onRequest = getFlag(options, keys, "onRequest", mustBeFunction); + let wait = new Promise((resolve, reject) => { + requestCallbacks["serve-wait"] = (id, request2) => { + if (request2.error !== null) + reject(new Error(request2.error)); + else + resolve(); + sendResponse(id, {}); + }; + }); + request.serve = {}; + checkForInvalidFlags(options, keys, `in serve() call`); + if (port !== void 0) + request.serve.port = port; + if (host !== void 0) + request.serve.host = host; + if (servedir !== void 0) + request.serve.servedir = servedir; + requestCallbacks["serve-request"] = (id, request2) => { + if (onRequest) + onRequest(request2.args); + sendResponse(id, {}); + }; + return { + wait, + stop() { + sendRequest(refs, { command: "serve-stop", key: buildKey }, () => { + }); + } + }; +}; +var handlePlugins = async (buildKey, sendRequest, sendResponse, refs, streamIn, requestCallbacks, initialOptions, plugins, details) => { + let onStartCallbacks = []; + let onEndCallbacks = []; + let onResolveCallbacks = {}; + let onLoadCallbacks = {}; + let nextCallbackID = 0; + let i = 0; + let requestPlugins = []; + let isSetupDone = false; + plugins = [...plugins]; + for (let item of plugins) { + let keys = {}; + if (typeof item !== "object") + throw new Error(`Plugin at index ${i} must be an object`); + const name = getFlag(item, keys, "name", mustBeString); + if (typeof name !== "string" || name === "") + throw new Error(`Plugin at index ${i} is missing a name`); + try { + let setup = getFlag(item, keys, "setup", mustBeFunction); + if (typeof setup !== "function") + throw new Error(`Plugin is missing a setup function`); + checkForInvalidFlags(item, keys, `on plugin ${JSON.stringify(name)}`); + let plugin = { + name, + onResolve: [], + onLoad: [] + }; + i++; + let resolve = (path3, options = {}) => { + if (!isSetupDone) + throw new Error('Cannot call "resolve" before plugin setup has completed'); + if (typeof path3 !== "string") + throw new Error(`The path to resolve must be a string`); + let keys2 = /* @__PURE__ */ Object.create(null); + let pluginName = getFlag(options, keys2, "pluginName", mustBeString); + let importer = getFlag(options, keys2, "importer", mustBeString); + let namespace = getFlag(options, keys2, "namespace", mustBeString); + let resolveDir = getFlag(options, keys2, "resolveDir", mustBeString); + let kind = getFlag(options, keys2, "kind", mustBeString); + let pluginData = getFlag(options, keys2, "pluginData", canBeAnything); + checkForInvalidFlags(options, keys2, "in resolve() call"); + return new Promise((resolve2, reject) => { + const request = { + command: "resolve", + path: path3, + key: buildKey, + pluginName: name + }; + if (pluginName != null) + request.pluginName = pluginName; + if (importer != null) + request.importer = importer; + if (namespace != null) + request.namespace = namespace; + if (resolveDir != null) + request.resolveDir = resolveDir; + if (kind != null) + request.kind = kind; + if (pluginData != null) + request.pluginData = details.store(pluginData); + sendRequest(refs, request, (error, response) => { + if (error !== null) + reject(new Error(error)); + else + resolve2({ + errors: replaceDetailsInMessages(response.errors, details), + warnings: replaceDetailsInMessages(response.warnings, details), + path: response.path, + external: response.external, + sideEffects: response.sideEffects, + namespace: response.namespace, + suffix: response.suffix, + pluginData: details.load(response.pluginData) + }); + }); + }); + }; + let promise = setup({ + initialOptions, + resolve, + onStart(callback) { + let registeredText = `This error came from the "onStart" callback registered here:`; + let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onStart"); + onStartCallbacks.push({ name, callback, note: registeredNote }); + }, + onEnd(callback) { + let registeredText = `This error came from the "onEnd" callback registered here:`; + let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onEnd"); + onEndCallbacks.push({ name, callback, note: registeredNote }); + }, + onResolve(options, callback) { + let registeredText = `This error came from the "onResolve" callback registered here:`; + let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onResolve"); + let keys2 = {}; + let filter = getFlag(options, keys2, "filter", mustBeRegExp); + let namespace = getFlag(options, keys2, "namespace", mustBeString); + checkForInvalidFlags(options, keys2, `in onResolve() call for plugin ${JSON.stringify(name)}`); + if (filter == null) + throw new Error(`onResolve() call is missing a filter`); + let id = nextCallbackID++; + onResolveCallbacks[id] = { name, callback, note: registeredNote }; + plugin.onResolve.push({ id, filter: filter.source, namespace: namespace || "" }); + }, + onLoad(options, callback) { + let registeredText = `This error came from the "onLoad" callback registered here:`; + let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onLoad"); + let keys2 = {}; + let filter = getFlag(options, keys2, "filter", mustBeRegExp); + let namespace = getFlag(options, keys2, "namespace", mustBeString); + checkForInvalidFlags(options, keys2, `in onLoad() call for plugin ${JSON.stringify(name)}`); + if (filter == null) + throw new Error(`onLoad() call is missing a filter`); + let id = nextCallbackID++; + onLoadCallbacks[id] = { name, callback, note: registeredNote }; + plugin.onLoad.push({ id, filter: filter.source, namespace: namespace || "" }); + }, + esbuild: streamIn.esbuild + }); + if (promise) + await promise; + requestPlugins.push(plugin); + } catch (e) { + return { ok: false, error: e, pluginName: name }; + } + } + requestCallbacks["on-start"] = async (id, request) => { + let response = { errors: [], warnings: [] }; + await Promise.all(onStartCallbacks.map(async ({ name, callback, note }) => { + try { + let result = await callback(); + if (result != null) { + if (typeof result !== "object") + throw new Error(`Expected onStart() callback in plugin ${JSON.stringify(name)} to return an object`); + let keys = {}; + let errors = getFlag(result, keys, "errors", mustBeArray); + let warnings = getFlag(result, keys, "warnings", mustBeArray); + checkForInvalidFlags(result, keys, `from onStart() callback in plugin ${JSON.stringify(name)}`); + if (errors != null) + response.errors.push(...sanitizeMessages(errors, "errors", details, name)); + if (warnings != null) + response.warnings.push(...sanitizeMessages(warnings, "warnings", details, name)); + } + } catch (e) { + response.errors.push(extractErrorMessageV8(e, streamIn, details, note && note(), name)); + } + })); + sendResponse(id, response); + }; + requestCallbacks["on-resolve"] = async (id, request) => { + let response = {}, name = "", callback, note; + for (let id2 of request.ids) { + try { + ({ name, callback, note } = onResolveCallbacks[id2]); + let result = await callback({ + path: request.path, + importer: request.importer, + namespace: request.namespace, + resolveDir: request.resolveDir, + kind: request.kind, + pluginData: details.load(request.pluginData) + }); + if (result != null) { + if (typeof result !== "object") + throw new Error(`Expected onResolve() callback in plugin ${JSON.stringify(name)} to return an object`); + let keys = {}; + let pluginName = getFlag(result, keys, "pluginName", mustBeString); + let path3 = getFlag(result, keys, "path", mustBeString); + let namespace = getFlag(result, keys, "namespace", mustBeString); + let suffix = getFlag(result, keys, "suffix", mustBeString); + let external = getFlag(result, keys, "external", mustBeBoolean); + let sideEffects = getFlag(result, keys, "sideEffects", mustBeBoolean); + let pluginData = getFlag(result, keys, "pluginData", canBeAnything); + let errors = getFlag(result, keys, "errors", mustBeArray); + let warnings = getFlag(result, keys, "warnings", mustBeArray); + let watchFiles = getFlag(result, keys, "watchFiles", mustBeArray); + let watchDirs = getFlag(result, keys, "watchDirs", mustBeArray); + checkForInvalidFlags(result, keys, `from onResolve() callback in plugin ${JSON.stringify(name)}`); + response.id = id2; + if (pluginName != null) + response.pluginName = pluginName; + if (path3 != null) + response.path = path3; + if (namespace != null) + response.namespace = namespace; + if (suffix != null) + response.suffix = suffix; + if (external != null) + response.external = external; + if (sideEffects != null) + response.sideEffects = sideEffects; + if (pluginData != null) + response.pluginData = details.store(pluginData); + if (errors != null) + response.errors = sanitizeMessages(errors, "errors", details, name); + if (warnings != null) + response.warnings = sanitizeMessages(warnings, "warnings", details, name); + if (watchFiles != null) + response.watchFiles = sanitizeStringArray(watchFiles, "watchFiles"); + if (watchDirs != null) + response.watchDirs = sanitizeStringArray(watchDirs, "watchDirs"); + break; + } + } catch (e) { + response = { id: id2, errors: [extractErrorMessageV8(e, streamIn, details, note && note(), name)] }; + break; + } + } + sendResponse(id, response); + }; + requestCallbacks["on-load"] = async (id, request) => { + let response = {}, name = "", callback, note; + for (let id2 of request.ids) { + try { + ({ name, callback, note } = onLoadCallbacks[id2]); + let result = await callback({ + path: request.path, + namespace: request.namespace, + suffix: request.suffix, + pluginData: details.load(request.pluginData) + }); + if (result != null) { + if (typeof result !== "object") + throw new Error(`Expected onLoad() callback in plugin ${JSON.stringify(name)} to return an object`); + let keys = {}; + let pluginName = getFlag(result, keys, "pluginName", mustBeString); + let contents = getFlag(result, keys, "contents", mustBeStringOrUint8Array); + let resolveDir = getFlag(result, keys, "resolveDir", mustBeString); + let pluginData = getFlag(result, keys, "pluginData", canBeAnything); + let loader = getFlag(result, keys, "loader", mustBeString); + let errors = getFlag(result, keys, "errors", mustBeArray); + let warnings = getFlag(result, keys, "warnings", mustBeArray); + let watchFiles = getFlag(result, keys, "watchFiles", mustBeArray); + let watchDirs = getFlag(result, keys, "watchDirs", mustBeArray); + checkForInvalidFlags(result, keys, `from onLoad() callback in plugin ${JSON.stringify(name)}`); + response.id = id2; + if (pluginName != null) + response.pluginName = pluginName; + if (contents instanceof Uint8Array) + response.contents = contents; + else if (contents != null) + response.contents = encodeUTF8(contents); + if (resolveDir != null) + response.resolveDir = resolveDir; + if (pluginData != null) + response.pluginData = details.store(pluginData); + if (loader != null) + response.loader = loader; + if (errors != null) + response.errors = sanitizeMessages(errors, "errors", details, name); + if (warnings != null) + response.warnings = sanitizeMessages(warnings, "warnings", details, name); + if (watchFiles != null) + response.watchFiles = sanitizeStringArray(watchFiles, "watchFiles"); + if (watchDirs != null) + response.watchDirs = sanitizeStringArray(watchDirs, "watchDirs"); + break; + } + } catch (e) { + response = { id: id2, errors: [extractErrorMessageV8(e, streamIn, details, note && note(), name)] }; + break; + } + } + sendResponse(id, response); + }; + let runOnEndCallbacks = (result, logPluginError, done) => done(); + if (onEndCallbacks.length > 0) { + runOnEndCallbacks = (result, logPluginError, done) => { + (async () => { + for (const { name, callback, note } of onEndCallbacks) { + try { + await callback(result); + } catch (e) { + result.errors.push(await new Promise((resolve) => logPluginError(e, name, note && note(), resolve))); + } + } + })().then(done); + }; + } + isSetupDone = true; + return { + ok: true, + requestPlugins, + runOnEndCallbacks + }; +}; +function createObjectStash() { + const map = /* @__PURE__ */ new Map(); + let nextID = 0; + return { + load(id) { + return map.get(id); + }, + store(value) { + if (value === void 0) + return -1; + const id = nextID++; + map.set(id, value); + return id; + } + }; +} +function extractCallerV8(e, streamIn, ident) { + let note; + let tried = false; + return () => { + if (tried) + return note; + tried = true; + try { + let lines = (e.stack + "").split("\n"); + lines.splice(1, 1); + let location = parseStackLinesV8(streamIn, lines, ident); + if (location) { + note = { text: e.message, location }; + return note; + } + } catch { + } + }; +} +function extractErrorMessageV8(e, streamIn, stash, note, pluginName) { + let text = "Internal error"; + let location = null; + try { + text = (e && e.message || e) + ""; + } catch { + } + try { + location = parseStackLinesV8(streamIn, (e.stack + "").split("\n"), ""); + } catch { + } + return { id: "", pluginName, text, location, notes: note ? [note] : [], detail: stash ? stash.store(e) : -1 }; +} +function parseStackLinesV8(streamIn, lines, ident) { + let at = " at "; + if (streamIn.readFileSync && !lines[0].startsWith(at) && lines[1].startsWith(at)) { + for (let i = 1; i < lines.length; i++) { + let line = lines[i]; + if (!line.startsWith(at)) + continue; + line = line.slice(at.length); + while (true) { + let match = /^(?:new |async )?\S+ \((.*)\)$/.exec(line); + if (match) { + line = match[1]; + continue; + } + match = /^eval at \S+ \((.*)\)(?:, \S+:\d+:\d+)?$/.exec(line); + if (match) { + line = match[1]; + continue; + } + match = /^(\S+):(\d+):(\d+)$/.exec(line); + if (match) { + let contents; + try { + contents = streamIn.readFileSync(match[1], "utf8"); + } catch { + break; + } + let lineText = contents.split(/\r\n|\r|\n|\u2028|\u2029/)[+match[2] - 1] || ""; + let column = +match[3] - 1; + let length = lineText.slice(column, column + ident.length) === ident ? ident.length : 0; + return { + file: match[1], + namespace: "file", + line: +match[2], + column: encodeUTF8(lineText.slice(0, column)).length, + length: encodeUTF8(lineText.slice(column, column + length)).length, + lineText: lineText + "\n" + lines.slice(1).join("\n"), + suggestion: "" + }; + } + break; + } + } + } + return null; +} +function failureErrorWithLog(text, errors, warnings) { + let limit = 5; + let summary = errors.length < 1 ? "" : ` with ${errors.length} error${errors.length < 2 ? "" : "s"}:` + errors.slice(0, limit + 1).map((e, i) => { + if (i === limit) + return "\n..."; + if (!e.location) + return ` +error: ${e.text}`; + let { file, line, column } = e.location; + let pluginText = e.pluginName ? `[plugin: ${e.pluginName}] ` : ""; + return ` +${file}:${line}:${column}: ERROR: ${pluginText}${e.text}`; + }).join(""); + let error = new Error(`${text}${summary}`); + error.errors = errors; + error.warnings = warnings; + return error; +} +function replaceDetailsInMessages(messages, stash) { + for (const message of messages) { + message.detail = stash.load(message.detail); + } + return messages; +} +function sanitizeLocation(location, where) { + if (location == null) + return null; + let keys = {}; + let file = getFlag(location, keys, "file", mustBeString); + let namespace = getFlag(location, keys, "namespace", mustBeString); + let line = getFlag(location, keys, "line", mustBeInteger); + let column = getFlag(location, keys, "column", mustBeInteger); + let length = getFlag(location, keys, "length", mustBeInteger); + let lineText = getFlag(location, keys, "lineText", mustBeString); + let suggestion = getFlag(location, keys, "suggestion", mustBeString); + checkForInvalidFlags(location, keys, where); + return { + file: file || "", + namespace: namespace || "", + line: line || 0, + column: column || 0, + length: length || 0, + lineText: lineText || "", + suggestion: suggestion || "" + }; +} +function sanitizeMessages(messages, property, stash, fallbackPluginName) { + let messagesClone = []; + let index = 0; + for (const message of messages) { + let keys = {}; + let id = getFlag(message, keys, "id", mustBeString); + let pluginName = getFlag(message, keys, "pluginName", mustBeString); + let text = getFlag(message, keys, "text", mustBeString); + let location = getFlag(message, keys, "location", mustBeObjectOrNull); + let notes = getFlag(message, keys, "notes", mustBeArray); + let detail = getFlag(message, keys, "detail", canBeAnything); + let where = `in element ${index} of "${property}"`; + checkForInvalidFlags(message, keys, where); + let notesClone = []; + if (notes) { + for (const note of notes) { + let noteKeys = {}; + let noteText = getFlag(note, noteKeys, "text", mustBeString); + let noteLocation = getFlag(note, noteKeys, "location", mustBeObjectOrNull); + checkForInvalidFlags(note, noteKeys, where); + notesClone.push({ + text: noteText || "", + location: sanitizeLocation(noteLocation, where) + }); + } + } + messagesClone.push({ + id: id || "", + pluginName: pluginName || fallbackPluginName, + text: text || "", + location: sanitizeLocation(location, where), + notes: notesClone, + detail: stash ? stash.store(detail) : -1 + }); + index++; + } + return messagesClone; +} +function sanitizeStringArray(values, property) { + const result = []; + for (const value of values) { + if (typeof value !== "string") + throw new Error(`${JSON.stringify(property)} must be an array of strings`); + result.push(value); + } + return result; +} +function convertOutputFiles({ path: path3, contents }) { + let text = null; + return { + path: path3, + contents, + get text() { + const binary = this.contents; + if (text === null || binary !== contents) { + contents = binary; + text = decodeUTF8(binary); + } + return text; + } + }; +} + +// lib/npm/node-platform.ts +var fs = require("fs"); +var os = require("os"); +var path = require("path"); +var ESBUILD_BINARY_PATH = process.env.ESBUILD_BINARY_PATH || ESBUILD_BINARY_PATH; +var packageDarwin_arm64 = "esbuild-darwin-arm64"; +var packageDarwin_x64 = "esbuild-darwin-64"; +var knownWindowsPackages = { + "win32 arm64 LE": "esbuild-windows-arm64", + "win32 ia32 LE": "esbuild-windows-32", + "win32 x64 LE": "esbuild-windows-64" +}; +var knownUnixlikePackages = { + "android arm64 LE": "esbuild-android-arm64", + "darwin arm64 LE": "esbuild-darwin-arm64", + "darwin x64 LE": "esbuild-darwin-64", + "freebsd arm64 LE": "esbuild-freebsd-arm64", + "freebsd x64 LE": "esbuild-freebsd-64", + "linux arm LE": "esbuild-linux-arm", + "linux arm64 LE": "esbuild-linux-arm64", + "linux ia32 LE": "esbuild-linux-32", + "linux mips64el LE": "esbuild-linux-mips64le", + "linux ppc64 LE": "esbuild-linux-ppc64le", + "linux riscv64 LE": "esbuild-linux-riscv64", + "linux s390x BE": "esbuild-linux-s390x", + "linux x64 LE": "esbuild-linux-64", + "linux loong64 LE": "@esbuild/linux-loong64", + "netbsd x64 LE": "esbuild-netbsd-64", + "openbsd x64 LE": "esbuild-openbsd-64", + "sunos x64 LE": "esbuild-sunos-64" +}; +var knownWebAssemblyFallbackPackages = { + "android arm LE": "@esbuild/android-arm", + "android x64 LE": "esbuild-android-64" +}; +function pkgAndSubpathForCurrentPlatform() { + let pkg; + let subpath; + let isWASM = false; + let platformKey = `${process.platform} ${os.arch()} ${os.endianness()}`; + if (platformKey in knownWindowsPackages) { + pkg = knownWindowsPackages[platformKey]; + subpath = "esbuild.exe"; + } else if (platformKey in knownUnixlikePackages) { + pkg = knownUnixlikePackages[platformKey]; + subpath = "bin/esbuild"; + } else if (platformKey in knownWebAssemblyFallbackPackages) { + pkg = knownWebAssemblyFallbackPackages[platformKey]; + subpath = "bin/esbuild"; + isWASM = true; + } else { + throw new Error(`Unsupported platform: ${platformKey}`); + } + return { pkg, subpath, isWASM }; +} +function pkgForSomeOtherPlatform() { + const libMainJS = require.resolve("esbuild"); + const nodeModulesDirectory = path.dirname(path.dirname(path.dirname(libMainJS))); + if (path.basename(nodeModulesDirectory) === "node_modules") { + for (const unixKey in knownUnixlikePackages) { + try { + const pkg = knownUnixlikePackages[unixKey]; + if (fs.existsSync(path.join(nodeModulesDirectory, pkg))) + return pkg; + } catch { + } + } + for (const windowsKey in knownWindowsPackages) { + try { + const pkg = knownWindowsPackages[windowsKey]; + if (fs.existsSync(path.join(nodeModulesDirectory, pkg))) + return pkg; + } catch { + } + } + } + return null; +} +function downloadedBinPath(pkg, subpath) { + const esbuildLibDir = path.dirname(require.resolve("esbuild")); + return path.join(esbuildLibDir, `downloaded-${pkg}-${path.basename(subpath)}`); +} +function generateBinPath() { + if (ESBUILD_BINARY_PATH) { + return { binPath: ESBUILD_BINARY_PATH, isWASM: false }; + } + const { pkg, subpath, isWASM } = pkgAndSubpathForCurrentPlatform(); + let binPath; + try { + binPath = require.resolve(`${pkg}/${subpath}`); + } catch (e) { + binPath = downloadedBinPath(pkg, subpath); + if (!fs.existsSync(binPath)) { + try { + require.resolve(pkg); + } catch { + const otherPkg = pkgForSomeOtherPlatform(); + if (otherPkg) { + let suggestions = ` +Specifically the "${otherPkg}" package is present but this platform +needs the "${pkg}" package instead. People often get into this +situation by installing esbuild on Windows or macOS and copying "node_modules" +into a Docker image that runs Linux, or by copying "node_modules" between +Windows and WSL environments. + +If you are installing with npm, you can try not copying the "node_modules" +directory when you copy the files over, and running "npm ci" or "npm install" +on the destination platform after the copy. Or you could consider using yarn +instead of npm which has built-in support for installing a package on multiple +platforms simultaneously. + +If you are installing with yarn, you can try listing both this platform and the +other platform in your ".yarnrc.yml" file using the "supportedArchitectures" +feature: https://yarnpkg.com/configuration/yarnrc/#supportedArchitectures +Keep in mind that this means multiple copies of esbuild will be present. +`; + if (pkg === packageDarwin_x64 && otherPkg === packageDarwin_arm64 || pkg === packageDarwin_arm64 && otherPkg === packageDarwin_x64) { + suggestions = ` +Specifically the "${otherPkg}" package is present but this platform +needs the "${pkg}" package instead. People often get into this +situation by installing esbuild with npm running inside of Rosetta 2 and then +trying to use it with node running outside of Rosetta 2, or vice versa (Rosetta +2 is Apple's on-the-fly x86_64-to-arm64 translation service). + +If you are installing with npm, you can try ensuring that both npm and node are +not running under Rosetta 2 and then reinstalling esbuild. This likely involves +changing how you installed npm and/or node. For example, installing node with +the universal installer here should work: https://nodejs.org/en/download/. Or +you could consider using yarn instead of npm which has built-in support for +installing a package on multiple platforms simultaneously. + +If you are installing with yarn, you can try listing both "arm64" and "x64" +in your ".yarnrc.yml" file using the "supportedArchitectures" feature: +https://yarnpkg.com/configuration/yarnrc/#supportedArchitectures +Keep in mind that this means multiple copies of esbuild will be present. +`; + } + throw new Error(` +You installed esbuild for another platform than the one you're currently using. +This won't work because esbuild is written with native code and needs to +install a platform-specific binary executable. +${suggestions} +Another alternative is to use the "esbuild-wasm" package instead, which works +the same way on all platforms. But it comes with a heavy performance cost and +can sometimes be 10x slower than the "esbuild" package, so you may also not +want to do that. +`); + } + throw new Error(`The package "${pkg}" could not be found, and is needed by esbuild. + +If you are installing esbuild with npm, make sure that you don't specify the +"--no-optional" or "--omit=optional" flags. The "optionalDependencies" feature +of "package.json" is used by esbuild to install the correct binary executable +for your current platform.`); + } + throw e; + } + } + if (/\.zip\//.test(binPath)) { + let pnpapi; + try { + pnpapi = require("pnpapi"); + } catch (e) { + } + if (pnpapi) { + const root = pnpapi.getPackageInformation(pnpapi.topLevel).packageLocation; + const binTargetPath = path.join( + root, + "node_modules", + ".cache", + "esbuild", + `pnpapi-${pkg}-${"0.15.18"}-${path.basename(subpath)}` + ); + if (!fs.existsSync(binTargetPath)) { + fs.mkdirSync(path.dirname(binTargetPath), { recursive: true }); + fs.copyFileSync(binPath, binTargetPath); + fs.chmodSync(binTargetPath, 493); + } + return { binPath: binTargetPath, isWASM }; + } + } + return { binPath, isWASM }; +} + +// lib/npm/node.ts +var child_process = require("child_process"); +var crypto = require("crypto"); +var path2 = require("path"); +var fs2 = require("fs"); +var os2 = require("os"); +var tty = require("tty"); +var worker_threads; +if (process.env.ESBUILD_WORKER_THREADS !== "0") { + try { + worker_threads = require("worker_threads"); + } catch { + } + let [major, minor] = process.versions.node.split("."); + if (+major < 12 || +major === 12 && +minor < 17 || +major === 13 && +minor < 13) { + worker_threads = void 0; + } +} +var _a; +var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.15.18"; +var esbuildCommandAndArgs = () => { + if ((!ESBUILD_BINARY_PATH || false) && (path2.basename(__filename) !== "main.js" || path2.basename(__dirname) !== "lib")) { + throw new Error( + `The esbuild JavaScript API cannot be bundled. Please mark the "esbuild" package as external so it's not included in the bundle. + +More information: The file containing the code for esbuild's JavaScript API (${__filename}) does not appear to be inside the esbuild package on the file system, which usually means that the esbuild package was bundled into another file. This is problematic because the API needs to run a binary executable inside the esbuild package which is located using a relative path from the API code to the executable. If the esbuild package is bundled, the relative path will be incorrect and the executable won't be found.` + ); + } + if (false) { + return ["node", [path2.join(__dirname, "..", "bin", "esbuild")]]; + } else { + const { binPath, isWASM } = generateBinPath(); + if (isWASM) { + return ["node", [binPath]]; + } else { + return [binPath, []]; + } + } +}; +var isTTY = () => tty.isatty(2); +var fsSync = { + readFile(tempFile, callback) { + try { + let contents = fs2.readFileSync(tempFile, "utf8"); + try { + fs2.unlinkSync(tempFile); + } catch { + } + callback(null, contents); + } catch (err) { + callback(err, null); + } + }, + writeFile(contents, callback) { + try { + let tempFile = randomFileName(); + fs2.writeFileSync(tempFile, contents); + callback(tempFile); + } catch { + callback(null); + } + } +}; +var fsAsync = { + readFile(tempFile, callback) { + try { + fs2.readFile(tempFile, "utf8", (err, contents) => { + try { + fs2.unlink(tempFile, () => callback(err, contents)); + } catch { + callback(err, contents); + } + }); + } catch (err) { + callback(err, null); + } + }, + writeFile(contents, callback) { + try { + let tempFile = randomFileName(); + fs2.writeFile(tempFile, contents, (err) => err !== null ? callback(null) : callback(tempFile)); + } catch { + callback(null); + } + } +}; +var version = "0.15.18"; +var build = (options) => ensureServiceIsRunning().build(options); +var serve = (serveOptions, buildOptions) => ensureServiceIsRunning().serve(serveOptions, buildOptions); +var transform = (input, options) => ensureServiceIsRunning().transform(input, options); +var formatMessages = (messages, options) => ensureServiceIsRunning().formatMessages(messages, options); +var analyzeMetafile = (messages, options) => ensureServiceIsRunning().analyzeMetafile(messages, options); +var buildSync = (options) => { + if (worker_threads && !isInternalWorkerThread) { + if (!workerThreadService) + workerThreadService = startWorkerThreadService(worker_threads); + return workerThreadService.buildSync(options); + } + let result; + runServiceSync((service) => service.buildOrServe({ + callName: "buildSync", + refs: null, + serveOptions: null, + options, + isTTY: isTTY(), + defaultWD, + callback: (err, res) => { + if (err) + throw err; + result = res; + } + })); + return result; +}; +var transformSync = (input, options) => { + if (worker_threads && !isInternalWorkerThread) { + if (!workerThreadService) + workerThreadService = startWorkerThreadService(worker_threads); + return workerThreadService.transformSync(input, options); + } + let result; + runServiceSync((service) => service.transform({ + callName: "transformSync", + refs: null, + input, + options: options || {}, + isTTY: isTTY(), + fs: fsSync, + callback: (err, res) => { + if (err) + throw err; + result = res; + } + })); + return result; +}; +var formatMessagesSync = (messages, options) => { + if (worker_threads && !isInternalWorkerThread) { + if (!workerThreadService) + workerThreadService = startWorkerThreadService(worker_threads); + return workerThreadService.formatMessagesSync(messages, options); + } + let result; + runServiceSync((service) => service.formatMessages({ + callName: "formatMessagesSync", + refs: null, + messages, + options, + callback: (err, res) => { + if (err) + throw err; + result = res; + } + })); + return result; +}; +var analyzeMetafileSync = (metafile, options) => { + if (worker_threads && !isInternalWorkerThread) { + if (!workerThreadService) + workerThreadService = startWorkerThreadService(worker_threads); + return workerThreadService.analyzeMetafileSync(metafile, options); + } + let result; + runServiceSync((service) => service.analyzeMetafile({ + callName: "analyzeMetafileSync", + refs: null, + metafile: typeof metafile === "string" ? metafile : JSON.stringify(metafile), + options, + callback: (err, res) => { + if (err) + throw err; + result = res; + } + })); + return result; +}; +var initializeWasCalled = false; +var initialize = (options) => { + options = validateInitializeOptions(options || {}); + if (options.wasmURL) + throw new Error(`The "wasmURL" option only works in the browser`); + if (options.wasmModule) + throw new Error(`The "wasmModule" option only works in the browser`); + if (options.worker) + throw new Error(`The "worker" option only works in the browser`); + if (initializeWasCalled) + throw new Error('Cannot call "initialize" more than once'); + ensureServiceIsRunning(); + initializeWasCalled = true; + return Promise.resolve(); +}; +var defaultWD = process.cwd(); +var longLivedService; +var ensureServiceIsRunning = () => { + if (longLivedService) + return longLivedService; + let [command, args] = esbuildCommandAndArgs(); + let child = child_process.spawn(command, args.concat(`--service=${"0.15.18"}`, "--ping"), { + windowsHide: true, + stdio: ["pipe", "pipe", "inherit"], + cwd: defaultWD + }); + let { readFromStdout, afterClose, service } = createChannel({ + writeToStdin(bytes) { + child.stdin.write(bytes, (err) => { + if (err) + afterClose(err); + }); + }, + readFileSync: fs2.readFileSync, + isSync: false, + isWriteUnavailable: false, + esbuild: node_exports + }); + child.stdin.on("error", afterClose); + child.on("error", afterClose); + const stdin = child.stdin; + const stdout = child.stdout; + stdout.on("data", readFromStdout); + stdout.on("end", afterClose); + let refCount = 0; + child.unref(); + if (stdin.unref) { + stdin.unref(); + } + if (stdout.unref) { + stdout.unref(); + } + const refs = { + ref() { + if (++refCount === 1) + child.ref(); + }, + unref() { + if (--refCount === 0) + child.unref(); + } + }; + longLivedService = { + build: (options) => { + return new Promise((resolve, reject) => { + service.buildOrServe({ + callName: "build", + refs, + serveOptions: null, + options, + isTTY: isTTY(), + defaultWD, + callback: (err, res) => err ? reject(err) : resolve(res) + }); + }); + }, + serve: (serveOptions, buildOptions) => { + if (serveOptions === null || typeof serveOptions !== "object") + throw new Error("The first argument must be an object"); + return new Promise((resolve, reject) => service.buildOrServe({ + callName: "serve", + refs, + serveOptions, + options: buildOptions, + isTTY: isTTY(), + defaultWD, + callback: (err, res) => err ? reject(err) : resolve(res) + })); + }, + transform: (input, options) => { + return new Promise((resolve, reject) => service.transform({ + callName: "transform", + refs, + input, + options: options || {}, + isTTY: isTTY(), + fs: fsAsync, + callback: (err, res) => err ? reject(err) : resolve(res) + })); + }, + formatMessages: (messages, options) => { + return new Promise((resolve, reject) => service.formatMessages({ + callName: "formatMessages", + refs, + messages, + options, + callback: (err, res) => err ? reject(err) : resolve(res) + })); + }, + analyzeMetafile: (metafile, options) => { + return new Promise((resolve, reject) => service.analyzeMetafile({ + callName: "analyzeMetafile", + refs, + metafile: typeof metafile === "string" ? metafile : JSON.stringify(metafile), + options, + callback: (err, res) => err ? reject(err) : resolve(res) + })); + } + }; + return longLivedService; +}; +var runServiceSync = (callback) => { + let [command, args] = esbuildCommandAndArgs(); + let stdin = new Uint8Array(); + let { readFromStdout, afterClose, service } = createChannel({ + writeToStdin(bytes) { + if (stdin.length !== 0) + throw new Error("Must run at most one command"); + stdin = bytes; + }, + isSync: true, + isWriteUnavailable: false, + esbuild: node_exports + }); + callback(service); + let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.15.18"}`), { + cwd: defaultWD, + windowsHide: true, + input: stdin, + maxBuffer: +process.env.ESBUILD_MAX_BUFFER || 16 * 1024 * 1024 + }); + readFromStdout(stdout); + afterClose(null); +}; +var randomFileName = () => { + return path2.join(os2.tmpdir(), `esbuild-${crypto.randomBytes(32).toString("hex")}`); +}; +var workerThreadService = null; +var startWorkerThreadService = (worker_threads2) => { + let { port1: mainPort, port2: workerPort } = new worker_threads2.MessageChannel(); + let worker = new worker_threads2.Worker(__filename, { + workerData: { workerPort, defaultWD, esbuildVersion: "0.15.18" }, + transferList: [workerPort], + execArgv: [] + }); + let nextID = 0; + let fakeBuildError = (text) => { + let error = new Error(`Build failed with 1 error: +error: ${text}`); + let errors = [{ id: "", pluginName: "", text, location: null, notes: [], detail: void 0 }]; + error.errors = errors; + error.warnings = []; + return error; + }; + let validateBuildSyncOptions = (options) => { + if (!options) + return; + let plugins = options.plugins; + let incremental = options.incremental; + let watch = options.watch; + if (plugins && plugins.length > 0) + throw fakeBuildError(`Cannot use plugins in synchronous API calls`); + if (incremental) + throw fakeBuildError(`Cannot use "incremental" with a synchronous build`); + if (watch) + throw fakeBuildError(`Cannot use "watch" with a synchronous build`); + }; + let applyProperties = (object, properties) => { + for (let key in properties) { + object[key] = properties[key]; + } + }; + let runCallSync = (command, args) => { + let id = nextID++; + let sharedBuffer = new SharedArrayBuffer(8); + let sharedBufferView = new Int32Array(sharedBuffer); + let msg = { sharedBuffer, id, command, args }; + worker.postMessage(msg); + let status = Atomics.wait(sharedBufferView, 0, 0); + if (status !== "ok" && status !== "not-equal") + throw new Error("Internal error: Atomics.wait() failed: " + status); + let { message: { id: id2, resolve, reject, properties } } = worker_threads2.receiveMessageOnPort(mainPort); + if (id !== id2) + throw new Error(`Internal error: Expected id ${id} but got id ${id2}`); + if (reject) { + applyProperties(reject, properties); + throw reject; + } + return resolve; + }; + worker.unref(); + return { + buildSync(options) { + validateBuildSyncOptions(options); + return runCallSync("build", [options]); + }, + transformSync(input, options) { + return runCallSync("transform", [input, options]); + }, + formatMessagesSync(messages, options) { + return runCallSync("formatMessages", [messages, options]); + }, + analyzeMetafileSync(metafile, options) { + return runCallSync("analyzeMetafile", [metafile, options]); + } + }; +}; +var startSyncServiceWorker = () => { + let workerPort = worker_threads.workerData.workerPort; + let parentPort = worker_threads.parentPort; + let extractProperties = (object) => { + let properties = {}; + if (object && typeof object === "object") { + for (let key in object) { + properties[key] = object[key]; + } + } + return properties; + }; + try { + let service = ensureServiceIsRunning(); + defaultWD = worker_threads.workerData.defaultWD; + parentPort.on("message", (msg) => { + (async () => { + let { sharedBuffer, id, command, args } = msg; + let sharedBufferView = new Int32Array(sharedBuffer); + try { + switch (command) { + case "build": + workerPort.postMessage({ id, resolve: await service.build(args[0]) }); + break; + case "transform": + workerPort.postMessage({ id, resolve: await service.transform(args[0], args[1]) }); + break; + case "formatMessages": + workerPort.postMessage({ id, resolve: await service.formatMessages(args[0], args[1]) }); + break; + case "analyzeMetafile": + workerPort.postMessage({ id, resolve: await service.analyzeMetafile(args[0], args[1]) }); + break; + default: + throw new Error(`Invalid command: ${command}`); + } + } catch (reject) { + workerPort.postMessage({ id, reject, properties: extractProperties(reject) }); + } + Atomics.add(sharedBufferView, 0, 1); + Atomics.notify(sharedBufferView, 0, Infinity); + })(); + }); + } catch (reject) { + parentPort.on("message", (msg) => { + let { sharedBuffer, id } = msg; + let sharedBufferView = new Int32Array(sharedBuffer); + workerPort.postMessage({ id, reject, properties: extractProperties(reject) }); + Atomics.add(sharedBufferView, 0, 1); + Atomics.notify(sharedBufferView, 0, Infinity); + }); + } +}; +if (isInternalWorkerThread) { + startSyncServiceWorker(); +} +var node_default = node_exports; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + analyzeMetafile, + analyzeMetafileSync, + build, + buildSync, + formatMessages, + formatMessagesSync, + initialize, + serve, + transform, + transformSync, + version +}); diff --git a/node_modules/tsm/node_modules/esbuild/package.json b/node_modules/tsm/node_modules/esbuild/package.json new file mode 100644 index 00000000..f7b00d71 --- /dev/null +++ b/node_modules/tsm/node_modules/esbuild/package.json @@ -0,0 +1,42 @@ +{ + "name": "esbuild", + "version": "0.15.18", + "description": "An extremely fast JavaScript and CSS bundler and minifier.", + "repository": "https://github.com/evanw/esbuild", + "scripts": { + "postinstall": "node install.js" + }, + "main": "lib/main.js", + "types": "lib/main.d.ts", + "engines": { + "node": ">=12" + }, + "bin": { + "esbuild": "bin/esbuild" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" + }, + "license": "MIT" +} diff --git a/node_modules/tsm/package.json b/node_modules/tsm/package.json new file mode 100644 index 00000000..c0ec13bc --- /dev/null +++ b/node_modules/tsm/package.json @@ -0,0 +1,51 @@ +{ + "name": "tsm", + "version": "2.3.0", + "repository": "lukeed/tsm", + "description": "TypeScript Module Loader", + "license": "MIT", + "bin": "bin.js", + "author": { + "name": "Luke Edwards", + "email": "luke.edwards05@gmail.com", + "url": "https://lukeed.com" + }, + "exports": { + ".": { + "import": "./loader.mjs", + "require": "./require.js" + }, + "./config": "./config/index.js", + "./package.json": "./package.json" + }, + "files": [ + "bin.js", + "utils.js", + "require.js", + "loader.mjs", + "config" + ], + "engines": { + "node": ">=12" + }, + "scripts": { + "build": "node build", + "types": "tsc --skipLibCheck" + }, + "dependencies": { + "esbuild": "^0.15.16" + }, + "devDependencies": { + "@types/node": "16.11.6", + "@types/react": "17.0.33", + "typescript": "4.9.3" + }, + "keywords": [ + "esm", + "loader", + "typescript", + "loader hook", + "require hook", + "experimental-loader" + ] +} diff --git a/node_modules/tsm/readme.md b/node_modules/tsm/readme.md new file mode 100644 index 00000000..d4cd2850 --- /dev/null +++ b/node_modules/tsm/readme.md @@ -0,0 +1,62 @@ +
+ tsm +
+ + + +
TypeScript Module Loader
+ +## Features + +* Supports `node ` usage +* Supports [ESM `--loader`](https://nodejs.org/api/esm.html#esm_loaders) usage +* Supports [`--require` hook](https://nodejs.org/api/cli.html#cli_r_require_module) usage +* Optional [configuration](/docs/configuration.md) file for per-extension customization + +> The ESM Loader API is still **experimental** and will change in the future. + +## Install + +```sh +# install as project dependency +$ npm install --save-dev tsm + +# or install globally +$ npm install --global tsm +``` + +## Usage + +> **Note:** Refer to [`/docs/usage.md`](/docs/usage.md) for more information. + +```sh +# use as `node` replacement +$ tsm server.ts + +# forwards any `node` ENV or flags +$ NO_COLOR=1 tsm server.ts --trace-warnings + +# use as `--require` hook +$ node --require tsm server.tsx +$ node -r tsm server.tsx + +# use as `--loader` hook +$ node --loader tsm main.jsx +``` + +## License + +MIT © [Luke Edwards](https://lukeed.com) diff --git a/node_modules/tsm/require.js b/node_modules/tsm/require.js new file mode 100644 index 00000000..c42cd08e --- /dev/null +++ b/node_modules/tsm/require.js @@ -0,0 +1 @@ +"use strict";const{readFileSync}=require("fs"),{extname}=require("path"),tsm=require("./utils"),loadJS=require.extensions[".js"];let esbuild,env=tsm.$defaults("cjs"),uconf=env.file&&require(env.file),config=tsm.$finalize(env,uconf);const tsrequire='var $$req=require("module").createRequire(__filename);require=('+function(){let{existsSync:t}=$$req("fs"),r=$$req("url");return new Proxy(require,{apply(l,n,o){let[e]=o;if(!e)return l.apply(n||$$req,o);if(/^\w+\:?/.test(e))return $$req(e);let u=/\.([mc])?[tj]sx?(?=\?|$)/.exec(e);if(u==null)return $$req(e);let f=r.pathToFileURL(__filename),s=r.fileURLToPath(new r.URL(e,f));if(t(s))return $$req(e);let p=u[0],a=new RegExp(p+"$"),i=s.replace(a,p.replace("js","ts"));return t(i)||p===".js"&&(i=s.replace(a,".tsx"),t(i)||(i=s.replace(a,".jsx"),t(i)))?$$req(i):$$req(e)}})}+")();";function transform(t,r){return esbuild=esbuild||require("esbuild"),esbuild.transformSync(t,r).code}function loader(t,r){let l=extname(r),n=config[l]||{},o=t._compile.bind(t);n.sourcefile=r,/\.[mc]?[tj]sx?$/.test(l)&&(n.banner=tsrequire+(n.banner||""),n.supported=n.supported||{},n.supported["dynamic-import"]=!1),config[l]!=null&&(t._compile=e=>{let u=transform(e,n);return o(u,r)});try{return loadJS(t,r)}catch(e){if((e&&e.code)!=="ERR_REQUIRE_ESM")throw e;let f=readFileSync(r,"utf8"),s=transform(f,{...n,format:"cjs"});return o(s,r)}}for(let t in config)require.extensions[t]=loader;config[".js"]==null&&(require.extensions[".js"]=loader); diff --git a/node_modules/tsm/utils.js b/node_modules/tsm/utils.js new file mode 100644 index 00000000..b4128098 --- /dev/null +++ b/node_modules/tsm/utils.js @@ -0,0 +1 @@ +"use strict";const{resolve}=require("path"),{existsSync}=require("fs");exports.$defaults=function(l){let{FORCE_COLOR:e,NO_COLOR:s,NODE_DISABLE_COLORS:o,TERM:t}=process.env,i=process.argv.slice(2),n=new Set(i),f=n.has("-q")||n.has("--quiet"),d=!o&&s==null&&t!=="dumb"&&(e!=null&&e!=="0"||process.stdout.isTTY),r=n.has("--tsmconfig")?i.indexOf("--tsmconfig"):-1,a=resolve(".",!!~r&&i[++r]||"tsm.js");return{file:existsSync(a)&&a,isESM:l==="esm",options:{format:l,charset:"utf8",sourcemap:"inline",target:"node"+process.versions.node,logLevel:f?"silent":"warning",color:d}}},exports.$finalize=function(l,e){let s=l.options;e&&e.common&&(Object.assign(s,e.common),delete e.common);let o={".mts":{...s,loader:"ts"},".jsx":{...s,loader:"jsx"},".tsx":{...s,loader:"tsx"},".cts":{...s,loader:"ts"},".ts":{...s,loader:"ts"}};l.isESM?o[".json"]={...s,loader:"json"}:o[".mjs"]={...s,loader:"js"};let t;if(e&&e.loaders)for(t in e.loaders)o[t]={...s,loader:e.loaders[t]};else if(e){let i=e.config||e;for(t in i)o[t]={...s,...i[t]}}return o}; diff --git a/node_modules/webidl-conversions/LICENSE.md b/node_modules/webidl-conversions/LICENSE.md new file mode 100644 index 00000000..d4a994f5 --- /dev/null +++ b/node_modules/webidl-conversions/LICENSE.md @@ -0,0 +1,12 @@ +# The BSD 2-Clause License + +Copyright (c) 2014, Domenic Denicola +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/webidl-conversions/README.md b/node_modules/webidl-conversions/README.md new file mode 100644 index 00000000..3657890a --- /dev/null +++ b/node_modules/webidl-conversions/README.md @@ -0,0 +1,53 @@ +# WebIDL Type Conversions on JavaScript Values + +This package implements, in JavaScript, the algorithms to convert a given JavaScript value according to a given [WebIDL](http://heycam.github.io/webidl/) [type](http://heycam.github.io/webidl/#idl-types). + +The goal is that you should be able to write code like + +```js +const conversions = require("webidl-conversions"); + +function doStuff(x, y) { + x = conversions["boolean"](x); + y = conversions["unsigned long"](y); + // actual algorithm code here +} +``` + +and your function `doStuff` will behave the same as a WebIDL operation declared as + +```webidl +void doStuff(boolean x, unsigned long y); +``` + +## API + +This package's main module's default export is an object with a variety of methods, each corresponding to a different WebIDL type. Each method, when invoked on a JavaScript value, will give back the new JavaScript value that results after passing through the WebIDL conversion rules. (See below for more details on what that means.) Alternately, the method could throw an error, if the WebIDL algorithm is specified to do so: for example `conversions["float"](NaN)` [will throw a `TypeError`](http://heycam.github.io/webidl/#es-float). + +## Status + +All of the numeric types are implemented (float being implemented as double) and some others are as well - check the source for all of them. This list will grow over time in service of the [HTML as Custom Elements](https://github.com/dglazkov/html-as-custom-elements) project, but in the meantime, pull requests welcome! + +I'm not sure yet what the strategy will be for modifiers, e.g. [`[Clamp]`](http://heycam.github.io/webidl/#Clamp). Maybe something like `conversions["unsigned long"](x, { clamp: true })`? We'll see. + +We might also want to extend the API to give better error messages, e.g. "Argument 1 of HTMLMediaElement.fastSeek is not a finite floating-point value" instead of "Argument is not a finite floating-point value." This would require passing in more information to the conversion functions than we currently do. + +## Background + +What's actually going on here, conceptually, is pretty weird. Let's try to explain. + +WebIDL, as part of its madness-inducing design, has its own type system. When people write algorithms in web platform specs, they usually operate on WebIDL values, i.e. instances of WebIDL types. For example, if they were specifying the algorithm for our `doStuff` operation above, they would treat `x` as a WebIDL value of [WebIDL type `boolean`](http://heycam.github.io/webidl/#idl-boolean). Crucially, they would _not_ treat `x` as a JavaScript variable whose value is either the JavaScript `true` or `false`. They're instead working in a different type system altogether, with its own rules. + +Separately from its type system, WebIDL defines a ["binding"](http://heycam.github.io/webidl/#ecmascript-binding) of the type system into JavaScript. This contains rules like: when you pass a JavaScript value to the JavaScript method that manifests a given WebIDL operation, how does that get converted into a WebIDL value? For example, a JavaScript `true` passed in the position of a WebIDL `boolean` argument becomes a WebIDL `true`. But, a JavaScript `true` passed in the position of a [WebIDL `unsigned long`](http://heycam.github.io/webidl/#idl-unsigned-long) becomes a WebIDL `1`. And so on. + +Finally, we have the actual implementation code. This is usually C++, although these days [some smart people are using Rust](https://github.com/servo/servo). The implementation, of course, has its own type system. So when they implement the WebIDL algorithms, they don't actually use WebIDL values, since those aren't "real" outside of specs. Instead, implementations apply the WebIDL binding rules in such a way as to convert incoming JavaScript values into C++ values. For example, if code in the browser called `doStuff(true, true)`, then the implementation code would eventually receive a C++ `bool` containing `true` and a C++ `uint32_t` containing `1`. + +The upside of all this is that implementations can abstract all the conversion logic away, letting WebIDL handle it, and focus on implementing the relevant methods in C++ with values of the correct type already provided. That is payoff of WebIDL, in a nutshell. + +And getting to that payoff is the goal of _this_ project—but for JavaScript implementations, instead of C++ ones. That is, this library is designed to make it easier for JavaScript developers to write functions that behave like a given WebIDL operation. So conceptually, the conversion pipeline, which in its general form is JavaScript values ↦ WebIDL values ↦ implementation-language values, in this case becomes JavaScript values ↦ WebIDL values ↦ JavaScript values. And that intermediate step is where all the logic is performed: a JavaScript `true` becomes a WebIDL `1` in an unsigned long context, which then becomes a JavaScript `1`. + +## Don't Use This + +Seriously, why would you ever use this? You really shouldn't. WebIDL is … not great, and you shouldn't be emulating its semantics. If you're looking for a generic argument-processing library, you should find one with better rules than those from WebIDL. In general, your JavaScript should not be trying to become more like WebIDL; if anything, we should fix WebIDL to make it more like JavaScript. + +The _only_ people who should use this are those trying to create faithful implementations (or polyfills) of web platform interfaces defined in WebIDL. diff --git a/node_modules/webidl-conversions/lib/index.js b/node_modules/webidl-conversions/lib/index.js new file mode 100644 index 00000000..c5153a3a --- /dev/null +++ b/node_modules/webidl-conversions/lib/index.js @@ -0,0 +1,189 @@ +"use strict"; + +var conversions = {}; +module.exports = conversions; + +function sign(x) { + return x < 0 ? -1 : 1; +} + +function evenRound(x) { + // Round x to the nearest integer, choosing the even integer if it lies halfway between two. + if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor) + return Math.floor(x); + } else { + return Math.round(x); + } +} + +function createNumberConversion(bitLength, typeOpts) { + if (!typeOpts.unsigned) { + --bitLength; + } + const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); + const upperBound = Math.pow(2, bitLength) - 1; + + const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); + const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); + + return function(V, opts) { + if (!opts) opts = {}; + + let x = +V; + + if (opts.enforceRange) { + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite number"); + } + + x = sign(x) * Math.floor(Math.abs(x)); + if (x < lowerBound || x > upperBound) { + throw new TypeError("Argument is not in byte range"); + } + + return x; + } + + if (!isNaN(x) && opts.clamp) { + x = evenRound(x); + + if (x < lowerBound) x = lowerBound; + if (x > upperBound) x = upperBound; + return x; + } + + if (!Number.isFinite(x) || x === 0) { + return 0; + } + + x = sign(x) * Math.floor(Math.abs(x)); + x = x % moduloVal; + + if (!typeOpts.unsigned && x >= moduloBound) { + return x - moduloVal; + } else if (typeOpts.unsigned) { + if (x < 0) { + x += moduloVal; + } else if (x === -0) { // don't return negative zero + return 0; + } + } + + return x; + } +} + +conversions["void"] = function () { + return undefined; +}; + +conversions["boolean"] = function (val) { + return !!val; +}; + +conversions["byte"] = createNumberConversion(8, { unsigned: false }); +conversions["octet"] = createNumberConversion(8, { unsigned: true }); + +conversions["short"] = createNumberConversion(16, { unsigned: false }); +conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); + +conversions["long"] = createNumberConversion(32, { unsigned: false }); +conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); + +conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); +conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); + +conversions["double"] = function (V) { + const x = +V; + + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite floating-point value"); + } + + return x; +}; + +conversions["unrestricted double"] = function (V) { + const x = +V; + + if (isNaN(x)) { + throw new TypeError("Argument is NaN"); + } + + return x; +}; + +// not quite valid, but good enough for JS +conversions["float"] = conversions["double"]; +conversions["unrestricted float"] = conversions["unrestricted double"]; + +conversions["DOMString"] = function (V, opts) { + if (!opts) opts = {}; + + if (opts.treatNullAsEmptyString && V === null) { + return ""; + } + + return String(V); +}; + +conversions["ByteString"] = function (V, opts) { + const x = String(V); + let c = undefined; + for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) { + if (c > 255) { + throw new TypeError("Argument is not a valid bytestring"); + } + } + + return x; +}; + +conversions["USVString"] = function (V) { + const S = String(V); + const n = S.length; + const U = []; + for (let i = 0; i < n; ++i) { + const c = S.charCodeAt(i); + if (c < 0xD800 || c > 0xDFFF) { + U.push(String.fromCodePoint(c)); + } else if (0xDC00 <= c && c <= 0xDFFF) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + if (i === n - 1) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + const d = S.charCodeAt(i + 1); + if (0xDC00 <= d && d <= 0xDFFF) { + const a = c & 0x3FF; + const b = d & 0x3FF; + U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); + ++i; + } else { + U.push(String.fromCodePoint(0xFFFD)); + } + } + } + } + + return U.join(''); +}; + +conversions["Date"] = function (V, opts) { + if (!(V instanceof Date)) { + throw new TypeError("Argument is not a Date object"); + } + if (isNaN(V)) { + return undefined; + } + + return V; +}; + +conversions["RegExp"] = function (V, opts) { + if (!(V instanceof RegExp)) { + V = new RegExp(V); + } + + return V; +}; diff --git a/node_modules/webidl-conversions/package.json b/node_modules/webidl-conversions/package.json new file mode 100644 index 00000000..c31bc074 --- /dev/null +++ b/node_modules/webidl-conversions/package.json @@ -0,0 +1,23 @@ +{ + "name": "webidl-conversions", + "version": "3.0.1", + "description": "Implements the WebIDL algorithms for converting to and from JavaScript values", + "main": "lib/index.js", + "scripts": { + "test": "mocha test/*.js" + }, + "repository": "jsdom/webidl-conversions", + "keywords": [ + "webidl", + "web", + "types" + ], + "files": [ + "lib/" + ], + "author": "Domenic Denicola (https://domenic.me/)", + "license": "BSD-2-Clause", + "devDependencies": { + "mocha": "^1.21.4" + } +} diff --git a/node_modules/whatwg-url/LICENSE.txt b/node_modules/whatwg-url/LICENSE.txt new file mode 100644 index 00000000..54dfac39 --- /dev/null +++ b/node_modules/whatwg-url/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015–2016 Sebastian Mayr + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 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. diff --git a/node_modules/whatwg-url/README.md b/node_modules/whatwg-url/README.md new file mode 100644 index 00000000..4347a7fc --- /dev/null +++ b/node_modules/whatwg-url/README.md @@ -0,0 +1,67 @@ +# whatwg-url + +whatwg-url is a full implementation of the WHATWG [URL Standard](https://url.spec.whatwg.org/). It can be used standalone, but it also exposes a lot of the internal algorithms that are useful for integrating a URL parser into a project like [jsdom](https://github.com/tmpvar/jsdom). + +## Current Status + +whatwg-url is currently up to date with the URL spec up to commit [a62223](https://github.com/whatwg/url/commit/a622235308342c9adc7fc2fd1659ff059f7d5e2a). + +## API + +### The `URL` Constructor + +The main API is the [`URL`](https://url.spec.whatwg.org/#url) export, which follows the spec's behavior in all ways (including e.g. `USVString` conversion). Most consumers of this library will want to use this. + +### Low-level URL Standard API + +The following methods are exported for use by places like jsdom that need to implement things like [`HTMLHyperlinkElementUtils`](https://html.spec.whatwg.org/#htmlhyperlinkelementutils). They operate on or return an "internal URL" or ["URL record"](https://url.spec.whatwg.org/#concept-url) type. + +- [URL parser](https://url.spec.whatwg.org/#concept-url-parser): `parseURL(input, { baseURL, encodingOverride })` +- [Basic URL parser](https://url.spec.whatwg.org/#concept-basic-url-parser): `basicURLParse(input, { baseURL, encodingOverride, url, stateOverride })` +- [URL serializer](https://url.spec.whatwg.org/#concept-url-serializer): `serializeURL(urlRecord, excludeFragment)` +- [Host serializer](https://url.spec.whatwg.org/#concept-host-serializer): `serializeHost(hostFromURLRecord)` +- [Serialize an integer](https://url.spec.whatwg.org/#serialize-an-integer): `serializeInteger(number)` +- [Origin](https://url.spec.whatwg.org/#concept-url-origin) [serializer](https://html.spec.whatwg.org/multipage/browsers.html#serialization-of-an-origin): `serializeURLOrigin(urlRecord)` +- [Set the username](https://url.spec.whatwg.org/#set-the-username): `setTheUsername(urlRecord, usernameString)` +- [Set the password](https://url.spec.whatwg.org/#set-the-password): `setThePassword(urlRecord, passwordString)` +- [Cannot have a username/password/port](https://url.spec.whatwg.org/#cannot-have-a-username-password-port): `cannotHaveAUsernamePasswordPort(urlRecord)` + +The `stateOverride` parameter is one of the following strings: + +- [`"scheme start"`](https://url.spec.whatwg.org/#scheme-start-state) +- [`"scheme"`](https://url.spec.whatwg.org/#scheme-state) +- [`"no scheme"`](https://url.spec.whatwg.org/#no-scheme-state) +- [`"special relative or authority"`](https://url.spec.whatwg.org/#special-relative-or-authority-state) +- [`"path or authority"`](https://url.spec.whatwg.org/#path-or-authority-state) +- [`"relative"`](https://url.spec.whatwg.org/#relative-state) +- [`"relative slash"`](https://url.spec.whatwg.org/#relative-slash-state) +- [`"special authority slashes"`](https://url.spec.whatwg.org/#special-authority-slashes-state) +- [`"special authority ignore slashes"`](https://url.spec.whatwg.org/#special-authority-ignore-slashes-state) +- [`"authority"`](https://url.spec.whatwg.org/#authority-state) +- [`"host"`](https://url.spec.whatwg.org/#host-state) +- [`"hostname"`](https://url.spec.whatwg.org/#hostname-state) +- [`"port"`](https://url.spec.whatwg.org/#port-state) +- [`"file"`](https://url.spec.whatwg.org/#file-state) +- [`"file slash"`](https://url.spec.whatwg.org/#file-slash-state) +- [`"file host"`](https://url.spec.whatwg.org/#file-host-state) +- [`"path start"`](https://url.spec.whatwg.org/#path-start-state) +- [`"path"`](https://url.spec.whatwg.org/#path-state) +- [`"cannot-be-a-base-URL path"`](https://url.spec.whatwg.org/#cannot-be-a-base-url-path-state) +- [`"query"`](https://url.spec.whatwg.org/#query-state) +- [`"fragment"`](https://url.spec.whatwg.org/#fragment-state) + +The URL record type has the following API: + +- [`scheme`](https://url.spec.whatwg.org/#concept-url-scheme) +- [`username`](https://url.spec.whatwg.org/#concept-url-username) +- [`password`](https://url.spec.whatwg.org/#concept-url-password) +- [`host`](https://url.spec.whatwg.org/#concept-url-host) +- [`port`](https://url.spec.whatwg.org/#concept-url-port) +- [`path`](https://url.spec.whatwg.org/#concept-url-path) (as an array) +- [`query`](https://url.spec.whatwg.org/#concept-url-query) +- [`fragment`](https://url.spec.whatwg.org/#concept-url-fragment) +- [`cannotBeABaseURL`](https://url.spec.whatwg.org/#url-cannot-be-a-base-url-flag) (as a boolean) + +These properties should be treated with care, as in general changing them will cause the URL record to be in an inconsistent state until the appropriate invocation of `basicURLParse` is used to fix it up. You can see examples of this in the URL Standard, where there are many step sequences like "4. Set context object’s url’s fragment to the empty string. 5. Basic URL parse _input_ with context object’s url as _url_ and fragment state as _state override_." In between those two steps, a URL record is in an unusable state. + +The return value of "failure" in the spec is represented by the string `"failure"`. That is, functions like `parseURL` and `basicURLParse` can return _either_ a URL record _or_ the string `"failure"`. diff --git a/node_modules/whatwg-url/lib/URL-impl.js b/node_modules/whatwg-url/lib/URL-impl.js new file mode 100644 index 00000000..dc7452cc --- /dev/null +++ b/node_modules/whatwg-url/lib/URL-impl.js @@ -0,0 +1,200 @@ +"use strict"; +const usm = require("./url-state-machine"); + +exports.implementation = class URLImpl { + constructor(constructorArgs) { + const url = constructorArgs[0]; + const base = constructorArgs[1]; + + let parsedBase = null; + if (base !== undefined) { + parsedBase = usm.basicURLParse(base); + if (parsedBase === "failure") { + throw new TypeError("Invalid base URL"); + } + } + + const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + + this._url = parsedURL; + + // TODO: query stuff + } + + get href() { + return usm.serializeURL(this._url); + } + + set href(v) { + const parsedURL = usm.basicURLParse(v); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + + this._url = parsedURL; + } + + get origin() { + return usm.serializeURLOrigin(this._url); + } + + get protocol() { + return this._url.scheme + ":"; + } + + set protocol(v) { + usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); + } + + get username() { + return this._url.username; + } + + set username(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + usm.setTheUsername(this._url, v); + } + + get password() { + return this._url.password; + } + + set password(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + usm.setThePassword(this._url, v); + } + + get host() { + const url = this._url; + + if (url.host === null) { + return ""; + } + + if (url.port === null) { + return usm.serializeHost(url.host); + } + + return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port); + } + + set host(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); + } + + get hostname() { + if (this._url.host === null) { + return ""; + } + + return usm.serializeHost(this._url.host); + } + + set hostname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); + } + + get port() { + if (this._url.port === null) { + return ""; + } + + return usm.serializeInteger(this._url.port); + } + + set port(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + if (v === "") { + this._url.port = null; + } else { + usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); + } + } + + get pathname() { + if (this._url.cannotBeABaseURL) { + return this._url.path[0]; + } + + if (this._url.path.length === 0) { + return ""; + } + + return "/" + this._url.path.join("/"); + } + + set pathname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + this._url.path = []; + usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); + } + + get search() { + if (this._url.query === null || this._url.query === "") { + return ""; + } + + return "?" + this._url.query; + } + + set search(v) { + // TODO: query stuff + + const url = this._url; + + if (v === "") { + url.query = null; + return; + } + + const input = v[0] === "?" ? v.substring(1) : v; + url.query = ""; + usm.basicURLParse(input, { url, stateOverride: "query" }); + } + + get hash() { + if (this._url.fragment === null || this._url.fragment === "") { + return ""; + } + + return "#" + this._url.fragment; + } + + set hash(v) { + if (v === "") { + this._url.fragment = null; + return; + } + + const input = v[0] === "#" ? v.substring(1) : v; + this._url.fragment = ""; + usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); + } + + toJSON() { + return this.href; + } +}; diff --git a/node_modules/whatwg-url/lib/URL.js b/node_modules/whatwg-url/lib/URL.js new file mode 100644 index 00000000..78c7207e --- /dev/null +++ b/node_modules/whatwg-url/lib/URL.js @@ -0,0 +1,196 @@ +"use strict"; + +const conversions = require("webidl-conversions"); +const utils = require("./utils.js"); +const Impl = require(".//URL-impl.js"); + +const impl = utils.implSymbol; + +function URL(url) { + if (!this || this[impl] || !(this instanceof URL)) { + throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); + } + if (arguments.length < 1) { + throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); + } + const args = []; + for (let i = 0; i < arguments.length && i < 2; ++i) { + args[i] = arguments[i]; + } + args[0] = conversions["USVString"](args[0]); + if (args[1] !== undefined) { + args[1] = conversions["USVString"](args[1]); + } + + module.exports.setup(this, args); +} + +URL.prototype.toJSON = function toJSON() { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + const args = []; + for (let i = 0; i < arguments.length && i < 0; ++i) { + args[i] = arguments[i]; + } + return this[impl].toJSON.apply(this[impl], args); +}; +Object.defineProperty(URL.prototype, "href", { + get() { + return this[impl].href; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].href = V; + }, + enumerable: true, + configurable: true +}); + +URL.prototype.toString = function () { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + return this.href; +}; + +Object.defineProperty(URL.prototype, "origin", { + get() { + return this[impl].origin; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "protocol", { + get() { + return this[impl].protocol; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].protocol = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "username", { + get() { + return this[impl].username; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].username = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "password", { + get() { + return this[impl].password; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].password = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "host", { + get() { + return this[impl].host; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].host = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "hostname", { + get() { + return this[impl].hostname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hostname = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "port", { + get() { + return this[impl].port; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].port = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "pathname", { + get() { + return this[impl].pathname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].pathname = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "search", { + get() { + return this[impl].search; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].search = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "hash", { + get() { + return this[impl].hash; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hash = V; + }, + enumerable: true, + configurable: true +}); + + +module.exports = { + is(obj) { + return !!obj && obj[impl] instanceof Impl.implementation; + }, + create(constructorArgs, privateData) { + let obj = Object.create(URL.prototype); + this.setup(obj, constructorArgs, privateData); + return obj; + }, + setup(obj, constructorArgs, privateData) { + if (!privateData) privateData = {}; + privateData.wrapper = obj; + + obj[impl] = new Impl.implementation(constructorArgs, privateData); + obj[impl][utils.wrapperSymbol] = obj; + }, + interface: URL, + expose: { + Window: { URL: URL }, + Worker: { URL: URL } + } +}; + diff --git a/node_modules/whatwg-url/lib/public-api.js b/node_modules/whatwg-url/lib/public-api.js new file mode 100644 index 00000000..932dcada --- /dev/null +++ b/node_modules/whatwg-url/lib/public-api.js @@ -0,0 +1,11 @@ +"use strict"; + +exports.URL = require("./URL").interface; +exports.serializeURL = require("./url-state-machine").serializeURL; +exports.serializeURLOrigin = require("./url-state-machine").serializeURLOrigin; +exports.basicURLParse = require("./url-state-machine").basicURLParse; +exports.setTheUsername = require("./url-state-machine").setTheUsername; +exports.setThePassword = require("./url-state-machine").setThePassword; +exports.serializeHost = require("./url-state-machine").serializeHost; +exports.serializeInteger = require("./url-state-machine").serializeInteger; +exports.parseURL = require("./url-state-machine").parseURL; diff --git a/node_modules/whatwg-url/lib/url-state-machine.js b/node_modules/whatwg-url/lib/url-state-machine.js new file mode 100644 index 00000000..c25dbc2c --- /dev/null +++ b/node_modules/whatwg-url/lib/url-state-machine.js @@ -0,0 +1,1297 @@ +"use strict"; +const punycode = require("punycode"); +const tr46 = require("tr46"); + +const specialSchemes = { + ftp: 21, + file: null, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +const failure = Symbol("failure"); + +function countSymbols(str) { + return punycode.ucs2.decode(str).length; +} + +function at(input, idx) { + const c = input[idx]; + return isNaN(c) ? undefined : String.fromCodePoint(c); +} + +function isASCIIDigit(c) { + return c >= 0x30 && c <= 0x39; +} + +function isASCIIAlpha(c) { + return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A); +} + +function isASCIIAlphanumeric(c) { + return isASCIIAlpha(c) || isASCIIDigit(c); +} + +function isASCIIHex(c) { + return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66); +} + +function isSingleDot(buffer) { + return buffer === "." || buffer.toLowerCase() === "%2e"; +} + +function isDoubleDot(buffer) { + buffer = buffer.toLowerCase(); + return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; +} + +function isWindowsDriveLetterCodePoints(cp1, cp2) { + return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); +} + +function isWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); +} + +function isNormalizedWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; +} + +function containsForbiddenHostCodePoint(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; +} + +function containsForbiddenHostCodePointExcludingPercent(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; +} + +function isSpecialScheme(scheme) { + return specialSchemes[scheme] !== undefined; +} + +function isSpecial(url) { + return isSpecialScheme(url.scheme); +} + +function defaultPort(scheme) { + return specialSchemes[scheme]; +} + +function percentEncode(c) { + let hex = c.toString(16).toUpperCase(); + if (hex.length === 1) { + hex = "0" + hex; + } + + return "%" + hex; +} + +function utf8PercentEncode(c) { + const buf = new Buffer(c); + + let str = ""; + + for (let i = 0; i < buf.length; ++i) { + str += percentEncode(buf[i]); + } + + return str; +} + +function utf8PercentDecode(str) { + const input = new Buffer(str); + const output = []; + for (let i = 0; i < input.length; ++i) { + if (input[i] !== 37) { + output.push(input[i]); + } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { + output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); + i += 2; + } else { + output.push(input[i]); + } + } + return new Buffer(output).toString(); +} + +function isC0ControlPercentEncode(c) { + return c <= 0x1F || c > 0x7E; +} + +const extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); +function isPathPercentEncode(c) { + return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); +} + +const extraUserinfoPercentEncodeSet = + new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); +function isUserinfoPercentEncode(c) { + return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); +} + +function percentEncodeChar(c, encodeSetPredicate) { + const cStr = String.fromCodePoint(c); + + if (encodeSetPredicate(c)) { + return utf8PercentEncode(cStr); + } + + return cStr; +} + +function parseIPv4Number(input) { + let R = 10; + + if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { + input = input.substring(2); + R = 16; + } else if (input.length >= 2 && input.charAt(0) === "0") { + input = input.substring(1); + R = 8; + } + + if (input === "") { + return 0; + } + + const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/); + if (regex.test(input)) { + return failure; + } + + return parseInt(input, R); +} + +function parseIPv4(input) { + const parts = input.split("."); + if (parts[parts.length - 1] === "") { + if (parts.length > 1) { + parts.pop(); + } + } + + if (parts.length > 4) { + return input; + } + + const numbers = []; + for (const part of parts) { + if (part === "") { + return input; + } + const n = parseIPv4Number(part); + if (n === failure) { + return input; + } + + numbers.push(n); + } + + for (let i = 0; i < numbers.length - 1; ++i) { + if (numbers[i] > 255) { + return failure; + } + } + if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { + return failure; + } + + let ipv4 = numbers.pop(); + let counter = 0; + + for (const n of numbers) { + ipv4 += n * Math.pow(256, 3 - counter); + ++counter; + } + + return ipv4; +} + +function serializeIPv4(address) { + let output = ""; + let n = address; + + for (let i = 1; i <= 4; ++i) { + output = String(n % 256) + output; + if (i !== 4) { + output = "." + output; + } + n = Math.floor(n / 256); + } + + return output; +} + +function parseIPv6(input) { + const address = [0, 0, 0, 0, 0, 0, 0, 0]; + let pieceIndex = 0; + let compress = null; + let pointer = 0; + + input = punycode.ucs2.decode(input); + + if (input[pointer] === 58) { + if (input[pointer + 1] !== 58) { + return failure; + } + + pointer += 2; + ++pieceIndex; + compress = pieceIndex; + } + + while (pointer < input.length) { + if (pieceIndex === 8) { + return failure; + } + + if (input[pointer] === 58) { + if (compress !== null) { + return failure; + } + ++pointer; + ++pieceIndex; + compress = pieceIndex; + continue; + } + + let value = 0; + let length = 0; + + while (length < 4 && isASCIIHex(input[pointer])) { + value = value * 0x10 + parseInt(at(input, pointer), 16); + ++pointer; + ++length; + } + + if (input[pointer] === 46) { + if (length === 0) { + return failure; + } + + pointer -= length; + + if (pieceIndex > 6) { + return failure; + } + + let numbersSeen = 0; + + while (input[pointer] !== undefined) { + let ipv4Piece = null; + + if (numbersSeen > 0) { + if (input[pointer] === 46 && numbersSeen < 4) { + ++pointer; + } else { + return failure; + } + } + + if (!isASCIIDigit(input[pointer])) { + return failure; + } + + while (isASCIIDigit(input[pointer])) { + const number = parseInt(at(input, pointer)); + if (ipv4Piece === null) { + ipv4Piece = number; + } else if (ipv4Piece === 0) { + return failure; + } else { + ipv4Piece = ipv4Piece * 10 + number; + } + if (ipv4Piece > 255) { + return failure; + } + ++pointer; + } + + address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece; + + ++numbersSeen; + + if (numbersSeen === 2 || numbersSeen === 4) { + ++pieceIndex; + } + } + + if (numbersSeen !== 4) { + return failure; + } + + break; + } else if (input[pointer] === 58) { + ++pointer; + if (input[pointer] === undefined) { + return failure; + } + } else if (input[pointer] !== undefined) { + return failure; + } + + address[pieceIndex] = value; + ++pieceIndex; + } + + if (compress !== null) { + let swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + const temp = address[compress + swaps - 1]; + address[compress + swaps - 1] = address[pieceIndex]; + address[pieceIndex] = temp; + --pieceIndex; + --swaps; + } + } else if (compress === null && pieceIndex !== 8) { + return failure; + } + + return address; +} + +function serializeIPv6(address) { + let output = ""; + const seqResult = findLongestZeroSequence(address); + const compress = seqResult.idx; + let ignore0 = false; + + for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { + if (ignore0 && address[pieceIndex] === 0) { + continue; + } else if (ignore0) { + ignore0 = false; + } + + if (compress === pieceIndex) { + const separator = pieceIndex === 0 ? "::" : ":"; + output += separator; + ignore0 = true; + continue; + } + + output += address[pieceIndex].toString(16); + + if (pieceIndex !== 7) { + output += ":"; + } + } + + return output; +} + +function parseHost(input, isSpecialArg) { + if (input[0] === "[") { + if (input[input.length - 1] !== "]") { + return failure; + } + + return parseIPv6(input.substring(1, input.length - 1)); + } + + if (!isSpecialArg) { + return parseOpaqueHost(input); + } + + const domain = utf8PercentDecode(input); + const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); + if (asciiDomain === null) { + return failure; + } + + if (containsForbiddenHostCodePoint(asciiDomain)) { + return failure; + } + + const ipv4Host = parseIPv4(asciiDomain); + if (typeof ipv4Host === "number" || ipv4Host === failure) { + return ipv4Host; + } + + return asciiDomain; +} + +function parseOpaqueHost(input) { + if (containsForbiddenHostCodePointExcludingPercent(input)) { + return failure; + } + + let output = ""; + const decoded = punycode.ucs2.decode(input); + for (let i = 0; i < decoded.length; ++i) { + output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); + } + return output; +} + +function findLongestZeroSequence(arr) { + let maxIdx = null; + let maxLen = 1; // only find elements > 1 + let currStart = null; + let currLen = 0; + + for (let i = 0; i < arr.length; ++i) { + if (arr[i] !== 0) { + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + + currStart = null; + currLen = 0; + } else { + if (currStart === null) { + currStart = i; + } + ++currLen; + } + } + + // if trailing zeros + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + + return { + idx: maxIdx, + len: maxLen + }; +} + +function serializeHost(host) { + if (typeof host === "number") { + return serializeIPv4(host); + } + + // IPv6 serializer + if (host instanceof Array) { + return "[" + serializeIPv6(host) + "]"; + } + + return host; +} + +function trimControlChars(url) { + return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); +} + +function trimTabAndNewline(url) { + return url.replace(/\u0009|\u000A|\u000D/g, ""); +} + +function shortenPath(url) { + const path = url.path; + if (path.length === 0) { + return; + } + if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { + return; + } + + path.pop(); +} + +function includesCredentials(url) { + return url.username !== "" || url.password !== ""; +} + +function cannotHaveAUsernamePasswordPort(url) { + return url.host === null || url.host === "" || url.cannotBeABaseURL || url.scheme === "file"; +} + +function isNormalizedWindowsDriveLetter(string) { + return /^[A-Za-z]:$/.test(string); +} + +function URLStateMachine(input, base, encodingOverride, url, stateOverride) { + this.pointer = 0; + this.input = input; + this.base = base || null; + this.encodingOverride = encodingOverride || "utf-8"; + this.stateOverride = stateOverride; + this.url = url; + this.failure = false; + this.parseError = false; + + if (!this.url) { + this.url = { + scheme: "", + username: "", + password: "", + host: null, + port: null, + path: [], + query: null, + fragment: null, + + cannotBeABaseURL: false + }; + + const res = trimControlChars(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + } + + const res = trimTabAndNewline(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + + this.state = stateOverride || "scheme start"; + + this.buffer = ""; + this.atFlag = false; + this.arrFlag = false; + this.passwordTokenSeenFlag = false; + + this.input = punycode.ucs2.decode(this.input); + + for (; this.pointer <= this.input.length; ++this.pointer) { + const c = this.input[this.pointer]; + const cStr = isNaN(c) ? undefined : String.fromCodePoint(c); + + // exec state machine + const ret = this["parse " + this.state](c, cStr); + if (!ret) { + break; // terminate algorithm + } else if (ret === failure) { + this.failure = true; + break; + } + } +} + +URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { + if (isASCIIAlpha(c)) { + this.buffer += cStr.toLowerCase(); + this.state = "scheme"; + } else if (!this.stateOverride) { + this.state = "no scheme"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { + if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { + this.buffer += cStr.toLowerCase(); + } else if (c === 58) { + if (this.stateOverride) { + if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { + return false; + } + + if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { + return false; + } + + if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { + return false; + } + + if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { + return false; + } + } + this.url.scheme = this.buffer; + this.buffer = ""; + if (this.stateOverride) { + return false; + } + if (this.url.scheme === "file") { + if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { + this.parseError = true; + } + this.state = "file"; + } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { + this.state = "special relative or authority"; + } else if (isSpecial(this.url)) { + this.state = "special authority slashes"; + } else if (this.input[this.pointer + 1] === 47) { + this.state = "path or authority"; + ++this.pointer; + } else { + this.url.cannotBeABaseURL = true; + this.url.path.push(""); + this.state = "cannot-be-a-base-URL path"; + } + } else if (!this.stateOverride) { + this.buffer = ""; + this.state = "no scheme"; + this.pointer = -1; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { + if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) { + return failure; + } else if (this.base.cannotBeABaseURL && c === 35) { + this.url.scheme = this.base.scheme; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.url.cannotBeABaseURL = true; + this.state = "fragment"; + } else if (this.base.scheme === "file") { + this.state = "file"; + --this.pointer; + } else { + this.state = "relative"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "relative"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { + if (c === 47) { + this.state = "authority"; + } else { + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse relative"] = function parseRelative(c) { + this.url.scheme = this.base.scheme; + if (isNaN(c)) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 47) { + this.state = "relative slash"; + } else if (c === 63) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else if (isSpecial(this.url) && c === 92) { + this.parseError = true; + this.state = "relative slash"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(0, this.base.path.length - 1); + + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { + if (isSpecial(this.url) && (c === 47 || c === 92)) { + if (c === 92) { + this.parseError = true; + } + this.state = "special authority ignore slashes"; + } else if (c === 47) { + this.state = "authority"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "special authority ignore slashes"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { + if (c !== 47 && c !== 92) { + this.state = "authority"; + --this.pointer; + } else { + this.parseError = true; + } + + return true; +}; + +URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { + if (c === 64) { + this.parseError = true; + if (this.atFlag) { + this.buffer = "%40" + this.buffer; + } + this.atFlag = true; + + // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars + const len = countSymbols(this.buffer); + for (let pointer = 0; pointer < len; ++pointer) { + const codePoint = this.buffer.codePointAt(pointer); + + if (codePoint === 58 && !this.passwordTokenSeenFlag) { + this.passwordTokenSeenFlag = true; + continue; + } + const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); + if (this.passwordTokenSeenFlag) { + this.url.password += encodedCodePoints; + } else { + this.url.username += encodedCodePoints; + } + } + this.buffer = ""; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92)) { + if (this.atFlag && this.buffer === "") { + this.parseError = true; + return failure; + } + this.pointer -= countSymbols(this.buffer) + 1; + this.buffer = ""; + this.state = "host"; + } else { + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse hostname"] = +URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { + if (this.stateOverride && this.url.scheme === "file") { + --this.pointer; + this.state = "file host"; + } else if (c === 58 && !this.arrFlag) { + if (this.buffer === "") { + this.parseError = true; + return failure; + } + + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + + this.url.host = host; + this.buffer = ""; + this.state = "port"; + if (this.stateOverride === "hostname") { + return false; + } + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92)) { + --this.pointer; + if (isSpecial(this.url) && this.buffer === "") { + this.parseError = true; + return failure; + } else if (this.stateOverride && this.buffer === "" && + (includesCredentials(this.url) || this.url.port !== null)) { + this.parseError = true; + return false; + } + + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + + this.url.host = host; + this.buffer = ""; + this.state = "path start"; + if (this.stateOverride) { + return false; + } + } else { + if (c === 91) { + this.arrFlag = true; + } else if (c === 93) { + this.arrFlag = false; + } + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { + if (isASCIIDigit(c)) { + this.buffer += cStr; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92) || + this.stateOverride) { + if (this.buffer !== "") { + const port = parseInt(this.buffer); + if (port > Math.pow(2, 16) - 1) { + this.parseError = true; + return failure; + } + this.url.port = port === defaultPort(this.url.scheme) ? null : port; + this.buffer = ""; + } + if (this.stateOverride) { + return false; + } + this.state = "path start"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +const fileOtherwiseCodePoints = new Set([47, 92, 63, 35]); + +URLStateMachine.prototype["parse file"] = function parseFile(c) { + this.url.scheme = "file"; + + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file slash"; + } else if (this.base !== null && this.base.scheme === "file") { + if (isNaN(c)) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 63) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points + !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || + (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points + !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + shortenPath(this.url); + } else { + this.parseError = true; + } + + this.state = "path"; + --this.pointer; + } + } else { + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file host"; + } else { + if (this.base !== null && this.base.scheme === "file") { + if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { + this.url.path.push(this.base.path[0]); + } else { + this.url.host = this.base.host; + } + } + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { + if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { + --this.pointer; + if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { + this.parseError = true; + this.state = "path"; + } else if (this.buffer === "") { + this.url.host = ""; + if (this.stateOverride) { + return false; + } + this.state = "path start"; + } else { + let host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + if (host === "localhost") { + host = ""; + } + this.url.host = host; + + if (this.stateOverride) { + return false; + } + + this.buffer = ""; + this.state = "path start"; + } + } else { + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { + if (isSpecial(this.url)) { + if (c === 92) { + this.parseError = true; + } + this.state = "path"; + + if (c !== 47 && c !== 92) { + --this.pointer; + } + } else if (!this.stateOverride && c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (!this.stateOverride && c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else if (c !== undefined) { + this.state = "path"; + if (c !== 47) { + --this.pointer; + } + } + + return true; +}; + +URLStateMachine.prototype["parse path"] = function parsePath(c) { + if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) || + (!this.stateOverride && (c === 63 || c === 35))) { + if (isSpecial(this.url) && c === 92) { + this.parseError = true; + } + + if (isDoubleDot(this.buffer)) { + shortenPath(this.url); + if (c !== 47 && !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } + } else if (isSingleDot(this.buffer) && c !== 47 && + !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } else if (!isSingleDot(this.buffer)) { + if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { + if (this.url.host !== "" && this.url.host !== null) { + this.parseError = true; + this.url.host = ""; + } + this.buffer = this.buffer[0] + ":"; + } + this.url.path.push(this.buffer); + } + this.buffer = ""; + if (this.url.scheme === "file" && (c === undefined || c === 63 || c === 35)) { + while (this.url.path.length > 1 && this.url.path[0] === "") { + this.parseError = true; + this.url.path.shift(); + } + } + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + // TODO: If c is not a URL code point and not "%", parse error. + + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.buffer += percentEncodeChar(c, isPathPercentEncode); + } + + return true; +}; + +URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else { + // TODO: Add: not a URL code point + if (!isNaN(c) && c !== 37) { + this.parseError = true; + } + + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + if (!isNaN(c)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); + } + } + + return true; +}; + +URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { + if (isNaN(c) || (!this.stateOverride && c === 35)) { + if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { + this.encodingOverride = "utf-8"; + } + + const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead + for (let i = 0; i < buffer.length; ++i) { + if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 || + buffer[i] === 0x3C || buffer[i] === 0x3E) { + this.url.query += percentEncode(buffer[i]); + } else { + this.url.query += String.fromCodePoint(buffer[i]); + } + } + + this.buffer = ""; + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + // TODO: If c is not a URL code point and not "%", parse error. + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { + if (isNaN(c)) { // do nothing + } else if (c === 0x0) { + this.parseError = true; + } else { + // TODO: If c is not a URL code point and not "%", parse error. + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); + } + + return true; +}; + +function serializeURL(url, excludeFragment) { + let output = url.scheme + ":"; + if (url.host !== null) { + output += "//"; + + if (url.username !== "" || url.password !== "") { + output += url.username; + if (url.password !== "") { + output += ":" + url.password; + } + output += "@"; + } + + output += serializeHost(url.host); + + if (url.port !== null) { + output += ":" + url.port; + } + } else if (url.host === null && url.scheme === "file") { + output += "//"; + } + + if (url.cannotBeABaseURL) { + output += url.path[0]; + } else { + for (const string of url.path) { + output += "/" + string; + } + } + + if (url.query !== null) { + output += "?" + url.query; + } + + if (!excludeFragment && url.fragment !== null) { + output += "#" + url.fragment; + } + + return output; +} + +function serializeOrigin(tuple) { + let result = tuple.scheme + "://"; + result += serializeHost(tuple.host); + + if (tuple.port !== null) { + result += ":" + tuple.port; + } + + return result; +} + +module.exports.serializeURL = serializeURL; + +module.exports.serializeURLOrigin = function (url) { + // https://url.spec.whatwg.org/#concept-url-origin + switch (url.scheme) { + case "blob": + try { + return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0])); + } catch (e) { + // serializing an opaque origin returns "null" + return "null"; + } + case "ftp": + case "gopher": + case "http": + case "https": + case "ws": + case "wss": + return serializeOrigin({ + scheme: url.scheme, + host: url.host, + port: url.port + }); + case "file": + // spec says "exercise to the reader", chrome says "file://" + return "file://"; + default: + // serializing an opaque origin returns "null" + return "null"; + } +}; + +module.exports.basicURLParse = function (input, options) { + if (options === undefined) { + options = {}; + } + + const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); + if (usm.failure) { + return "failure"; + } + + return usm.url; +}; + +module.exports.setTheUsername = function (url, username) { + url.username = ""; + const decoded = punycode.ucs2.decode(username); + for (let i = 0; i < decoded.length; ++i) { + url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } +}; + +module.exports.setThePassword = function (url, password) { + url.password = ""; + const decoded = punycode.ucs2.decode(password); + for (let i = 0; i < decoded.length; ++i) { + url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } +}; + +module.exports.serializeHost = serializeHost; + +module.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; + +module.exports.serializeInteger = function (integer) { + return String(integer); +}; + +module.exports.parseURL = function (input, options) { + if (options === undefined) { + options = {}; + } + + // We don't handle blobs, so this just delegates: + return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); +}; diff --git a/node_modules/whatwg-url/lib/utils.js b/node_modules/whatwg-url/lib/utils.js new file mode 100644 index 00000000..a562009c --- /dev/null +++ b/node_modules/whatwg-url/lib/utils.js @@ -0,0 +1,20 @@ +"use strict"; + +module.exports.mixin = function mixin(target, source) { + const keys = Object.getOwnPropertyNames(source); + for (let i = 0; i < keys.length; ++i) { + Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); + } +}; + +module.exports.wrapperSymbol = Symbol("wrapper"); +module.exports.implSymbol = Symbol("impl"); + +module.exports.wrapperForImpl = function (impl) { + return impl[module.exports.wrapperSymbol]; +}; + +module.exports.implForWrapper = function (wrapper) { + return wrapper[module.exports.implSymbol]; +}; + diff --git a/node_modules/whatwg-url/package.json b/node_modules/whatwg-url/package.json new file mode 100644 index 00000000..fce35ae7 --- /dev/null +++ b/node_modules/whatwg-url/package.json @@ -0,0 +1,32 @@ +{ + "name": "whatwg-url", + "version": "5.0.0", + "description": "An implementation of the WHATWG URL Standard's URL API and parsing machinery", + "main": "lib/public-api.js", + "files": [ + "lib/" + ], + "author": "Sebastian Mayr ", + "license": "MIT", + "repository": "jsdom/whatwg-url", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + }, + "devDependencies": { + "eslint": "^2.6.0", + "istanbul": "~0.4.3", + "mocha": "^2.2.4", + "recast": "~0.10.29", + "request": "^2.55.0", + "webidl2js": "^3.0.2" + }, + "scripts": { + "build": "node scripts/transform.js && node scripts/convert-idl.js", + "coverage": "istanbul cover node_modules/mocha/bin/_mocha", + "lint": "eslint .", + "prepublish": "npm run build", + "pretest": "node scripts/get-latest-platform-tests.js && npm run build", + "test": "mocha" + } +} diff --git a/package-lock.json b/package-lock.json index 3f5627df..d8663287 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,8 @@ "dependencies": { "@astrojs/tailwind": "^5.1.0", "astro": "^4.0.0", + "astro-i18next": "^1.0.0-beta.21", + "i18next": "^25.2.0", "tailwindcss": "^3.0.0" }, "devDependencies": { @@ -367,6 +369,15 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/runtime": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz", + "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.27.2", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", @@ -1307,6 +1318,28 @@ "node": ">=14" } }, + "node_modules/@proload/core": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@proload/core/-/core-0.3.3.tgz", + "integrity": "sha512-7dAFWsIK84C90AMl24+N/ProHKm4iw0akcnoKjRvbfHifJZBLhaDsDus1QJmhG12lXj4e/uB/8mB/0aduCW+NQ==", + "license": "MIT", + "dependencies": { + "deepmerge": "^4.2.2", + "escalade": "^3.1.1" + } + }, + "node_modules/@proload/plugin-tsm": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@proload/plugin-tsm/-/plugin-tsm-0.2.1.tgz", + "integrity": "sha512-Ex1sL2BxU+g8MHdAdq9SZKz+pU34o8Zcl9PHWo2WaG9hrnlZme607PU6gnpoAYsDBpHX327+eu60wWUk+d/b+A==", + "license": "MIT", + "dependencies": { + "tsm": "^2.1.4" + }, + "peerDependencies": { + "@proload/core": "^0.3.2" + } + }, "node_modules/@rollup/pluginutils": { "version": "5.1.4", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", @@ -2010,6 +2043,52 @@ "sharp": "^0.33.3" } }, + "node_modules/astro-i18next": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/astro-i18next/-/astro-i18next-1.0.0-beta.21.tgz", + "integrity": "sha512-1YPqwexumHpK/d9afEoi52CBFTu6k4MYv/oHjsaAasZDvFClU6U5VPttC/OgZcXRYggCM6ee2LOnyHqlmXOeLA==", + "license": "MIT", + "dependencies": { + "@proload/core": "^0.3.3", + "@proload/plugin-tsm": "^0.2.1", + "i18next": "^22.4.10", + "i18next-browser-languagedetector": "^7.0.1", + "i18next-fs-backend": "^2.1.1", + "i18next-http-backend": "^2.1.1", + "iso-639-1": "^2.1.15", + "locale-emoji": "^0.3.0", + "pathe": "^1.1.0" + }, + "bin": { + "astro-i18next": "dist/cli/index.js" + }, + "peerDependencies": { + "astro": ">=1.0.0" + } + }, + "node_modules/astro-i18next/node_modules/i18next": { + "version": "22.5.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", + "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.6" + } + }, "node_modules/autoprefixer": { "version": "10.4.21", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", @@ -2428,6 +2507,15 @@ "node": ">= 0.6" } }, + "node_modules/cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2484,6 +2572,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -2644,6 +2741,326 @@ "@esbuild/win32-x64": "0.21.5" } }, + "node_modules/esbuild-android-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", + "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", + "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", + "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", + "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", + "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", + "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", + "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", + "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", + "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", + "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", + "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", + "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", + "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", + "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", + "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", + "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", + "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", + "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", + "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -3176,6 +3593,61 @@ "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "license": "BSD-2-Clause" }, + "node_modules/i18next": { + "version": "25.2.0", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-25.2.0.tgz", + "integrity": "sha512-ERhJICsxkw1vE7G0lhCUYv4ZxdBEs03qblt1myJs94rYRK9loJF3xDj8mgQz3LmCyp0yYrNjbN/1/GWZTZDGCA==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.27.1" + }, + "peerDependencies": { + "typescript": "^5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/i18next-browser-languagedetector": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.2.tgz", + "integrity": "sha512-6b7r75uIJDWCcCflmbof+sJ94k9UQO4X0YR62oUfqGI/GjCLVzlCwu8TFdRZIqVLzWbzNcmkmhfqKEr4TLz4HQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/i18next-fs-backend": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/i18next-fs-backend/-/i18next-fs-backend-2.6.0.tgz", + "integrity": "sha512-3ZlhNoF9yxnM8pa8bWp5120/Ob6t4lVl1l/tbLmkml/ei3ud8IWySCHt2lrY5xWRlSU5D9IV2sm5bEbGuTqwTw==", + "license": "MIT" + }, + "node_modules/i18next-http-backend": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.7.3.tgz", + "integrity": "sha512-FgZxrXdRA5u44xfYsJlEBL4/KH3f2IluBpgV/7riW0YW2VEyM8FzVt2XHAOi6id0Ppj7vZvCZVpp5LrGXnc8Ig==", + "license": "MIT", + "dependencies": { + "cross-fetch": "4.0.0" + } + }, "node_modules/import-meta-resolve": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", @@ -3358,6 +3830,15 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "license": "ISC" }, + "node_modules/iso-639-1": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/iso-639-1/-/iso-639-1-2.1.15.tgz", + "integrity": "sha512-7c7mBznZu2ktfvyT582E2msM+Udc1EjOyhVRE/0ZsjD9LBtWSm23h3PtiRh2a35XoUsTQQjJXaJzuLjXsOdFDg==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, "node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -3506,6 +3987,12 @@ "node": ">=6" } }, + "node_modules/locale-emoji": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/locale-emoji/-/locale-emoji-0.3.0.tgz", + "integrity": "sha512-JGm8+naU49CBDnH1jksS3LecPdfWQLxFgkLN6ZhYONKa850pJ0Xt8DPGJnYK0ZuJI8jTuiDDPCDtSL3nyacXwg==", + "license": "CC0-1.0" + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -4519,6 +5006,26 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-releases": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", @@ -4771,6 +5278,12 @@ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "license": "ISC" }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -5823,6 +6336,12 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, "node_modules/trim-lines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", @@ -5876,6 +6395,90 @@ "license": "0BSD", "optional": true }, + "node_modules/tsm": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tsm/-/tsm-2.3.0.tgz", + "integrity": "sha512-++0HFnmmR+gMpDtKTnW3XJ4yv9kVGi20n+NfyQWB9qwJvTaIWY9kBmzek2YUQK5APTQ/1DTrXmm4QtFPmW9Rzw==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.15.16" + }, + "bin": { + "tsm": "bin.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/tsm/node_modules/@esbuild/android-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", + "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsm/node_modules/@esbuild/linux-loong64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", + "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/tsm/node_modules/esbuild": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", + "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" + } + }, "node_modules/type-fest": { "version": "4.41.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", @@ -6216,6 +6819,22 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index 30716a37..9cbc95c0 100644 --- a/package.json +++ b/package.json @@ -12,9 +12,11 @@ "dependencies": { "@astrojs/tailwind": "^5.1.0", "astro": "^4.0.0", + "astro-i18next": "^1.0.0-beta.21", + "i18next": "^25.2.0", "tailwindcss": "^3.0.0" }, "devDependencies": { "@types/node": "^20.10.0" } -} \ No newline at end of file +} diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json new file mode 100644 index 00000000..34598e13 --- /dev/null +++ b/public/locales/en/translation.json @@ -0,0 +1,146 @@ +{ + "site": { + "title": "Tiber365", + "description": "Your trusted partner in digital transformation" + }, + "nav": { + "home": "Home", + "about": "About", + "services": "Services", + "contact": "Contact" + }, + "meta": { + "title": "Tiber365", + "description": "Your trusted partner in digital transformation", + "keywords": "digital transformation, IT services, consulting" + }, + "hero": { + "title": "Professional IT Services for Your Business", + "subtitle": "Empowering freelancers and small businesses with reliable Microsoft 365 support, networking solutions, web hosting, and custom IT projects.", + "trusted": "Trusted by businesses across Italy", + "cta": { + "primary": "Get Started Today", + "secondary": "View Our Services" + } + }, + "services": { + "title": "Our Services", + "subtitle": "Comprehensive IT solutions tailored for small businesses and freelancers", + "viewAll": "View All Services", + "microsoft365": { + "title": "Microsoft 365 Support", + "description": "Complete Microsoft 365 setup, migration, and ongoing support for your business.", + "features": { + "migrations": "Email & data migrations", + "apps": "Office apps configuration", + "teams": "Microsoft Teams setup", + "sharepoint": "SharePoint collaboration", + "admin": "Admin portal management" + } + }, + "management": { + "title": "Full M365 Management", + "description": "Let us handle your entire Microsoft 365 environment with proactive management.", + "features": { + "automation": "Automated workflows", + "monitoring": "24/7 system monitoring", + "maintenance": "Regular maintenance", + "optimization": "Performance optimization" + } + }, + "networking": { + "title": "Networking & Infrastructure", + "description": "Professional networking solutions using Ubiquiti and UniFi equipment.", + "features": { + "ubiquiti": "Ubiquiti/UniFi specialists", + "infrastructure": "Network infrastructure", + "security": "Network security", + "monitoring": "Traffic monitoring" + } + }, + "hosting": { + "title": "Web Hosting & Management", + "description": "Reliable web hosting with full management and maintenance included.", + "features": { + "webhosting": "Reliable web hosting", + "domains": "Domain management", + "ssl": "SSL certificates", + "backup": "Automated backups" + } + }, + "custom": { + "title": "Custom IT Projects", + "description": "Tailored IT solutions designed specifically for your business needs.", + "features": { + "consultation": "IT consultation", + "development": "Custom development", + "integration": "System integration", + "support": "Ongoing support" + } + } + }, + "testimonials": { + "title": "What Our Clients Say", + "subtitle": "Don't just take our word for it - see what our satisfied clients have to say", + "1": { + "name": "Marco Rossi", + "company": "Freelance Designer", + "content": "Tiber365 transformed our Microsoft 365 setup. Professional service and excellent support!" + }, + "2": { + "name": "Sofia Bianchi", + "company": "Small Business Owner", + "content": "Their networking solutions are top-notch. Our office runs smoothly thanks to their expertise." + }, + "3": { + "name": "Giuseppe Verdi", + "company": "Consultant", + "content": "Reliable web hosting and great customer service. Highly recommend Tiber365!" + } + }, + "about": { + "title": "About Us", + "subtitle": "Your trusted IT partner", + "description": "We specialize in providing comprehensive IT services to freelancers and small businesses.", + "mission": "Our mission is to make technology work for you, not against you.", + "experience": "Years of Experience", + "clients": "Happy Clients", + "projects": "Projects Completed" + }, + "contact": { + "title": "Get In Touch", + "subtitle": "Ready to transform your IT infrastructure? Let's talk!", + "info": { + "email": "info@tiber365.it", + "phone": "+39 123 456 7890", + "address": "Rome, Italy" + }, + "form": { + "name": "Name", + "email": "Email", + "company": "Company", + "service": "Service", + "message": "Message", + "send": "Send Message" + } + }, + "cta": { + "title": "Ready to Get Started?", + "subtitle": "Let's discuss how we can help transform your IT infrastructure.", + "button": "Contact Us Today" + }, + "footer": { + "description": "Professional IT services for freelancers and small businesses.", + "copyright": "© 2024 Tiber365. All rights reserved.", + "links": { + "contact": "Contact", + "privacy": "Privacy Policy", + "terms": "Terms of Service" + } + }, + "404": { + "title": "Page Not Found", + "description": "Sorry, we couldn't find the page you're looking for.", + "button": "Go back home" + } +} \ No newline at end of file diff --git a/public/locales/it/translation.json b/public/locales/it/translation.json new file mode 100644 index 00000000..f1b4b172 --- /dev/null +++ b/public/locales/it/translation.json @@ -0,0 +1,146 @@ +{ + "site": { + "title": "Tiber365", + "description": "Il tuo partner di fiducia nella trasformazione digitale" + }, + "nav": { + "home": "Home", + "about": "Chi Siamo", + "services": "Servizi", + "contact": "Contatti" + }, + "meta": { + "title": "Tiber365", + "description": "Il tuo partner di fiducia nella trasformazione digitale", + "keywords": "trasformazione digitale, servizi IT, consulenza" + }, + "hero": { + "title": "Servizi IT Professionali per la Tua Azienda", + "subtitle": "Supportiamo freelancer e piccole imprese con supporto Microsoft 365 affidabile, soluzioni di rete, hosting web e progetti IT personalizzati.", + "trusted": "Fidato dalle aziende in tutta Italia", + "cta": { + "primary": "Inizia Oggi", + "secondary": "Vedi i Nostri Servizi" + } + }, + "services": { + "title": "I Nostri Servizi", + "subtitle": "Soluzioni IT complete su misura per piccole imprese e freelancer", + "viewAll": "Vedi Tutti i Servizi", + "microsoft365": { + "title": "Supporto Microsoft 365", + "description": "Installazione completa, migrazione e supporto continuo per Microsoft 365.", + "features": { + "migrations": "Migrazioni email e dati", + "apps": "Configurazione app Office", + "teams": "Configurazione Microsoft Teams", + "sharepoint": "Collaborazione SharePoint", + "admin": "Gestione portale amministratore" + } + }, + "management": { + "title": "Gestione Completa M365", + "description": "Lascia che ci occupiamo dell'intero ambiente Microsoft 365 con gestione proattiva.", + "features": { + "automation": "Flussi di lavoro automatizzati", + "monitoring": "Monitoraggio sistema 24/7", + "maintenance": "Manutenzione regolare", + "optimization": "Ottimizzazione prestazioni" + } + }, + "networking": { + "title": "Networking e Infrastruttura", + "description": "Soluzioni di rete professionali con apparecchiature Ubiquiti e UniFi.", + "features": { + "ubiquiti": "Specialisti Ubiquiti/UniFi", + "infrastructure": "Infrastruttura di rete", + "security": "Sicurezza di rete", + "monitoring": "Monitoraggio traffico" + } + }, + "hosting": { + "title": "Web Hosting e Gestione", + "description": "Hosting web affidabile con gestione completa e manutenzione inclusa.", + "features": { + "webhosting": "Hosting web affidabile", + "domains": "Gestione domini", + "ssl": "Certificati SSL", + "backup": "Backup automatizzati" + } + }, + "custom": { + "title": "Progetti IT Personalizzati", + "description": "Soluzioni IT su misura progettate specificamente per le tue esigenze aziendali.", + "features": { + "consultation": "Consulenza IT", + "development": "Sviluppo personalizzato", + "integration": "Integrazione sistemi", + "support": "Supporto continuo" + } + } + }, + "testimonials": { + "title": "Cosa Dicono i Nostri Clienti", + "subtitle": "Non prendere solo la nostra parola - vedi cosa hanno da dire i nostri clienti soddisfatti", + "1": { + "name": "Marco Rossi", + "company": "Designer Freelance", + "content": "Tiber365 ha trasformato la nostra configurazione Microsoft 365. Servizio professionale e supporto eccellente!" + }, + "2": { + "name": "Sofia Bianchi", + "company": "Proprietaria Piccola Impresa", + "content": "Le loro soluzioni di rete sono di prim'ordine. Il nostro ufficio funziona perfettamente grazie alla loro competenza." + }, + "3": { + "name": "Giuseppe Verdi", + "company": "Consulente", + "content": "Hosting web affidabile e ottimo servizio clienti. Raccomando vivamente Tiber365!" + } + }, + "about": { + "title": "Chi Siamo", + "subtitle": "Il tuo partner IT di fiducia", + "description": "Siamo specializzati nel fornire servizi IT completi a freelancer e piccole imprese.", + "mission": "La nostra missione è far sì che la tecnologia lavori per te, non contro di te.", + "experience": "Anni di Esperienza", + "clients": "Clienti Soddisfatti", + "projects": "Progetti Completati" + }, + "contact": { + "title": "Contattaci", + "subtitle": "Pronto a trasformare la tua infrastruttura IT? Parliamone!", + "info": { + "email": "info@tiber365.it", + "phone": "+39 123 456 7890", + "address": "Roma, Italia" + }, + "form": { + "name": "Nome", + "email": "Email", + "company": "Azienda", + "service": "Servizio", + "message": "Messaggio", + "send": "Invia Messaggio" + } + }, + "cta": { + "title": "Pronto per Iniziare?", + "subtitle": "Discutiamo di come possiamo aiutare a trasformare la tua infrastruttura IT.", + "button": "Contattaci Oggi" + }, + "footer": { + "description": "Servizi IT professionali per freelancer e piccole imprese.", + "copyright": "© 2024 Tiber365. Tutti i diritti riservati.", + "links": { + "contact": "Contatti", + "privacy": "Privacy Policy", + "terms": "Termini di Servizio" + } + }, + "404": { + "title": "Pagina Non Trovata", + "description": "Spiacenti, non siamo riusciti a trovare la pagina che stai cercando.", + "button": "Torna alla home" + } +} \ No newline at end of file diff --git a/public/locales/nl/translation.json b/public/locales/nl/translation.json new file mode 100644 index 00000000..8a8eec61 --- /dev/null +++ b/public/locales/nl/translation.json @@ -0,0 +1,146 @@ +{ + "site": { + "title": "Tiber365", + "description": "Uw betrouwbare partner in digitale transformatie" + }, + "nav": { + "home": "Home", + "about": "Over Ons", + "services": "Diensten", + "contact": "Contact" + }, + "meta": { + "title": "Tiber365", + "description": "Uw betrouwbare partner in digitale transformatie", + "keywords": "digitale transformatie, IT-diensten, consultancy" + }, + "hero": { + "title": "Professionele IT Services voor Uw Bedrijf", + "subtitle": "Ondersteuning van freelancers en kleine bedrijven met betrouwbare Microsoft 365 ondersteuning, netwerkoplossingen, webhosting en aangepaste IT-projecten.", + "trusted": "Vertrouwd door bedrijven in heel Italië", + "cta": { + "primary": "Begin Vandaag", + "secondary": "Bekijk Onze Diensten" + } + }, + "services": { + "title": "Onze Diensten", + "subtitle": "Uitgebreide IT-oplossingen op maat voor kleine bedrijven en freelancers", + "viewAll": "Alle Diensten Bekijken", + "microsoft365": { + "title": "Microsoft 365 Ondersteuning", + "description": "Complete Microsoft 365 installatie, migratie en doorlopende ondersteuning.", + "features": { + "migrations": "E-mail & data migraties", + "apps": "Office apps configuratie", + "teams": "Microsoft Teams installatie", + "sharepoint": "SharePoint samenwerking", + "admin": "Beheerportaal management" + } + }, + "management": { + "title": "Volledig M365 Beheer", + "description": "Laat ons uw volledige Microsoft 365 omgeving beheren met proactief management.", + "features": { + "automation": "Geautomatiseerde workflows", + "monitoring": "24/7 systeembewaking", + "maintenance": "Regelmatig onderhoud", + "optimization": "Prestatie optimalisatie" + } + }, + "networking": { + "title": "Netwerken & Infrastructuur", + "description": "Professionele netwerkoplossingen met Ubiquiti en UniFi apparatuur.", + "features": { + "ubiquiti": "Ubiquiti/UniFi specialisten", + "infrastructure": "Netwerkinfrastructuur", + "security": "Netwerkbeveiliging", + "monitoring": "Verkeer monitoring" + } + }, + "hosting": { + "title": "Webhosting & Beheer", + "description": "Betrouwbare webhosting met volledig beheer en onderhoud inbegrepen.", + "features": { + "webhosting": "Betrouwbare webhosting", + "domains": "Domeinbeheer", + "ssl": "SSL certificaten", + "backup": "Geautomatiseerde backups" + } + }, + "custom": { + "title": "Aangepaste IT Projecten", + "description": "Op maat gemaakte IT-oplossingen speciaal ontworpen voor uw bedrijfsbehoeften.", + "features": { + "consultation": "IT consultatie", + "development": "Aangepaste ontwikkeling", + "integration": "Systeemintegratie", + "support": "Doorlopende ondersteuning" + } + } + }, + "testimonials": { + "title": "Wat Onze Klanten Zeggen", + "subtitle": "Geloof ons niet zomaar - zie wat onze tevreden klanten te zeggen hebben", + "1": { + "name": "Marco Rossi", + "company": "Freelance Designer", + "content": "Tiber365 heeft onze Microsoft 365 installatie getransformeerd. Professionele service en uitstekende ondersteuning!" + }, + "2": { + "name": "Sofia Bianchi", + "company": "Kleine Bedrijfseigenaar", + "content": "Hun netwerkoplossingen zijn eersteklas. Ons kantoor draait soepel dankzij hun expertise." + }, + "3": { + "name": "Giuseppe Verdi", + "company": "Consultant", + "content": "Betrouwbare webhosting en geweldige klantenservice. Beveel Tiber365 ten zeerste aan!" + } + }, + "about": { + "title": "Over Ons", + "subtitle": "Uw vertrouwde IT-partner", + "description": "Wij zijn gespecialiseerd in het leveren van uitgebreide IT-diensten aan freelancers en kleine bedrijven.", + "mission": "Onze missie is om technologie voor u te laten werken, niet tegen u.", + "experience": "Jaren Ervaring", + "clients": "Tevreden Klanten", + "projects": "Voltooide Projecten" + }, + "contact": { + "title": "Neem Contact Op", + "subtitle": "Klaar om uw IT-infrastructuur te transformeren? Laten we praten!", + "info": { + "email": "info@tiber365.it", + "phone": "+39 123 456 7890", + "address": "Rome, Italië" + }, + "form": { + "name": "Naam", + "email": "E-mail", + "company": "Bedrijf", + "service": "Dienst", + "message": "Bericht", + "send": "Bericht Versturen" + } + }, + "cta": { + "title": "Klaar om te Beginnen?", + "subtitle": "Laten we bespreken hoe wij uw IT-infrastructuur kunnen transformeren.", + "button": "Neem Vandaag Contact Op" + }, + "footer": { + "description": "Professionele IT-diensten voor freelancers en kleine bedrijven.", + "copyright": "© 2024 Tiber365. Alle rechten voorbehouden.", + "links": { + "contact": "Contact", + "privacy": "Privacybeleid", + "terms": "Servicevoorwaarden" + } + }, + "404": { + "title": "Pagina Niet Gevonden", + "description": "Sorry, we konden de pagina die u zoekt niet vinden.", + "button": "Ga terug naar home" + } +} \ No newline at end of file diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 00000000..f3c9190a Binary files /dev/null and b/src/.DS_Store differ diff --git a/src/components/Hero.astro b/src/components/Hero.astro index 3a39f535..931b4cdd 100644 --- a/src/components/Hero.astro +++ b/src/components/Hero.astro @@ -1,97 +1,56 @@ --- -import { t, getCurrentLocale } from '../utils/i18n'; +import { t } from '../utils/i18n'; +import { Trans } from 'astro-i18next/components'; +import i18next from 'i18next'; -const currentLocale = getCurrentLocale(); -console.log('Hero component locale:', currentLocale); +// Log the locale for debugging +console.log('Hero component locale:', i18next.language); --- -
- -
-
-
-
-
- - -
- +
-
- -

- - {t('hero.title', currentLocale)} - +
+

+ {t('hero.title', 'en')}

- - -

- {t('hero.subtitle', currentLocale)} +

+ {t('hero.subtitle', 'en')}

- - -
+ - - -
-

{t('hero.trusted', currentLocale)}

- - -
- -
- 🏢 -
- -
- 🌐 -
- -
- 🚀 -
- -
- ⚙️ -
- -
- 🛠️ -
-
- - -
- -
+

+ {t('hero.trusted', 'en')} +

+ +
+ 🗂️ + 🌐 + ⚙️ + 🔒 + 🛠️ +
+ +
+
+
+
+
+

\ No newline at end of file diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index 7a638827..24884cdf 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -1,24 +1,26 @@ --- import { SITE } from '../site.config'; -import { getCurrentLocale } from '../utils/i18n'; +import i18next, { t } from "i18next"; +import { Trans, HeadHrefLangs } from "astro-i18next/components"; +import { localizePath } from "astro-i18next"; import '../styles/global.css'; export interface Props { title?: string; description?: string; image?: string; - lang?: string; keywords?: string; } const { - title = SITE.title, - description = SITE.description, + title = t('site.title'), + description = t('site.description'), image = SITE.ogImage, - lang = getCurrentLocale(), - keywords = '' + keywords = t('meta.keywords') } = Astro.props; +const lang = Astro.currentLocale || 'en'; + // Safe URL creation with fallbacks let canonicalURL; let ogImageURL; @@ -37,7 +39,10 @@ try { twitterImageURL = new URL(image, fallbackSite); } -const fullTitle = title === SITE.title ? title : `${title} | ${SITE.title}`; +const fullTitle = title === t('site.title') ? title : `${title} | ${t('site.title')}`; + +// Get all available locales +const locales = ["en", "nl", "it"]; --- @@ -73,7 +78,7 @@ const fullTitle = title === SITE.title ? title : `${title} | ${SITE.title}`; - + @@ -87,61 +92,14 @@ const fullTitle = title === SITE.title ? title : `${title} | ${SITE.title}`; - - - - - - - - - - - - + + {locales.map(locale => ( + + ))} diff --git a/src/pages/about.astro b/src/pages/about.astro index a3e719f4..30cc16df 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -1,190 +1,4 @@ --- -import BaseLayout from '../layouts/BaseLayout.astro'; -import Header from '../components/Header.astro'; -import Footer from '../components/Footer.astro'; -import CTA from '../components/CTA.astro'; -import { t } from '../utils/i18n'; ---- - - -
-
- -
-
-
-

- {t('about.title')} -

-

- {t('about.subtitle')} -

-
-
-
- - -
-
-
- -
-

- Our Story -

-

- {t('about.description')} -

-

- {t('about.mission')} -

-
- - -
-
-
-
🚀
-

Modern IT Solutions

-

- Empowering businesses with cutting-edge technology and reliable support. -

-
-
-
-
-
-
- - -
-
-
-
-
5+
-
{t('about.experience')}
-
-
-
100+
-
{t('about.clients')}
-
-
-
200+
-
{t('about.projects')}
-
-
-
-
- - -
-
-
-

- Our Values -

-

- The principles that guide everything we do -

-
- -
-
-
🔒
-

Security First

-

- We prioritize the security and privacy of your business data above all else. -

-
- -
-
🤝
-

Reliability

-

- Count on us for consistent, dependable service that keeps your business running. -

-
- -
-
💡
-

Innovation

-

- We stay ahead of technology trends to bring you the best solutions. -

-
- -
-
📞
-

Support

-

- Dedicated support when you need it, with real people who understand your business. -

-
- -
-
-

Efficiency

-

- Streamlined processes and quick resolutions to minimize downtime. -

-
- -
-
🎯
-

Focus

-

- Laser-focused on small business needs and cost-effective solutions. -

-
-
-
-
- - -
-
-
-

- Our Expertise -

-

- Specialized knowledge in the technologies that matter to your business -

-
- -
-
-
🏢
-
Microsoft 365
-
-
-
☁️
-
Cloud Services
-
-
-
🌐
-
Networking
-
-
-
🔒
-
Security
-
-
-
🚀
-
Web Hosting
-
-
-
⚙️
-
Automation
-
-
-
-
- - -
-