@hellpig/anarchy-i18n 1.3.1 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -0
- package/README.md +1 -1
- package/dist/Constants/Locales.gen.js +2 -0
- package/dist/Constants/Locales.gen.js.map +1 -0
- package/dist/Mixins/ReactiveTranslationMixin.js +2 -0
- package/dist/Mixins/ReactiveTranslationMixin.js.map +1 -0
- package/dist/Services/TranslationService.js +2 -0
- package/dist/Services/TranslationService.js.map +1 -0
- package/dist/Utils/LocalesUtils.js +2 -0
- package/dist/Utils/LocalesUtils.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/node_modules/@formatjs/fast-memoize/index.js +2 -0
- package/dist/node_modules/@formatjs/fast-memoize/index.js.map +1 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js +2 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js.map +1 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/error.js +2 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/error.js.map +1 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/index.js +2 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/index.js.map +1 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/parser.js +2 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/parser.js.map +1 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js +2 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js.map +1 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js +2 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js.map +1 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/types.js +2 -0
- package/dist/node_modules/@formatjs/icu-messageformat-parser/types.js.map +1 -0
- package/dist/node_modules/@formatjs/icu-skeleton-parser/date-time.js +2 -0
- package/dist/node_modules/@formatjs/icu-skeleton-parser/date-time.js.map +1 -0
- package/dist/node_modules/@formatjs/icu-skeleton-parser/number.js +2 -0
- package/dist/node_modules/@formatjs/icu-skeleton-parser/number.js.map +1 -0
- package/dist/node_modules/@formatjs/icu-skeleton-parser/regex.generated.js +2 -0
- package/dist/node_modules/@formatjs/icu-skeleton-parser/regex.generated.js.map +1 -0
- package/dist/node_modules/@formatjs/intl/src/create-intl.js +2 -0
- package/dist/node_modules/@formatjs/intl/src/create-intl.js.map +1 -0
- package/dist/node_modules/@formatjs/intl/src/dateTime.js +2 -0
- package/dist/node_modules/@formatjs/intl/src/dateTime.js.map +1 -0
- package/dist/node_modules/@formatjs/intl/src/displayName.js +2 -0
- package/dist/node_modules/@formatjs/intl/src/displayName.js.map +1 -0
- package/dist/node_modules/@formatjs/intl/src/error.js +2 -0
- package/dist/node_modules/@formatjs/intl/src/error.js.map +1 -0
- package/dist/node_modules/@formatjs/intl/src/list.js +2 -0
- package/dist/node_modules/@formatjs/intl/src/list.js.map +1 -0
- package/dist/node_modules/@formatjs/intl/src/message.js +2 -0
- package/dist/node_modules/@formatjs/intl/src/message.js.map +1 -0
- package/dist/node_modules/@formatjs/intl/src/number.js +2 -0
- package/dist/node_modules/@formatjs/intl/src/number.js.map +1 -0
- package/dist/node_modules/@formatjs/intl/src/plural.js +2 -0
- package/dist/node_modules/@formatjs/intl/src/plural.js.map +1 -0
- package/dist/node_modules/@formatjs/intl/src/relativeTime.js +2 -0
- package/dist/node_modules/@formatjs/intl/src/relativeTime.js.map +1 -0
- package/dist/node_modules/@formatjs/intl/src/utils.js +2 -0
- package/dist/node_modules/@formatjs/intl/src/utils.js.map +1 -0
- package/dist/node_modules/intl-messageformat/src/core.js +2 -0
- package/dist/node_modules/intl-messageformat/src/core.js.map +1 -0
- package/dist/node_modules/intl-messageformat/src/error.js +2 -0
- package/dist/node_modules/intl-messageformat/src/error.js.map +1 -0
- package/dist/node_modules/intl-messageformat/src/formatters.js +2 -0
- package/dist/node_modules/intl-messageformat/src/formatters.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subject.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subject.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/config.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/config.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/firstValueFrom.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/firstValueFrom.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/from.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/from.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/of.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/of.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/filter.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/filter.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/map.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/map.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/share.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/share.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/tap.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/tap.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/args.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/args.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/createObject.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/createObject.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isIterable.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isIterable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isObservable.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isObservable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isPromise.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isPromise.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/lift.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/lift.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js +2 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js.map +1 -0
- package/dist/node_modules/tslib/tslib.es6.js +2 -0
- package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Utils/ArrayUtils.js +2 -0
- package/dist/packages/anarchy-shared/src/Utils/ArrayUtils.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Utils/CheckUtils.js +2 -0
- package/dist/packages/anarchy-shared/src/Utils/CheckUtils.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Utils/RxJsUtils.js +2 -0
- package/dist/packages/anarchy-shared/src/Utils/RxJsUtils.js.map +1 -0
- package/dist/styles/anarchy-i18n.d.ts +1 -0
- package/dist/styles/anarchy-i18n.js +2 -0
- package/dist/styles/anarchy-i18n.js.map +1 -0
- package/package.json +19 -3
- package/src/assets/_i18n.scss +15 -0
- package/dist/anarchy-i18n.es.js +0 -2
- package/dist/anarchy-i18n.es.js.map +0 -1
- package/dist/styles/anarchy-i18n.es.js +0 -2
- package/dist/styles/anarchy-i18n.es.js.map +0 -1
- /package/dist/{anarchy-i18n/src/Constants → Constants}/Locales.gen.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Constants → Constants}/index.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Mixins → Mixins}/ReactiveTranslationMixin.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Mixins → Mixins}/index.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Models → Models}/TLocale.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Models → Models}/TLocales.gen.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Models → Models}/TLocalesMapping.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Models → Models}/TMessages.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Models → Models}/TReactiveTranslationMixin.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Models → Models}/TTranslationService.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Models → Models}/index.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Services → Services}/TranslationService.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Services → Services}/index.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Utils → Utils}/LocalesUtils.d.ts +0 -0
- /package/dist/{anarchy-i18n/src/Utils → Utils}/index.d.ts +0 -0
- /package/dist/{styles/anarchy-i18n.css → assets/_i18n.css} +0 -0
- /package/dist/{anarchy-i18n/src/index.d.ts → index.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anarchy-i18n.es.js","sources":["../src/Constants/Locales.gen.ts","../../anarchy-shared/src/Utils/CheckUtils.ts","../../../node_modules/tslib/tslib.es6.mjs","../../../node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../../node_modules/rxjs/dist/esm5/internal/Subscription.js","../../../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../../node_modules/rxjs/dist/esm5/internal/util/noop.js","../../../node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../../node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../../node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../../node_modules/rxjs/dist/esm5/internal/util/identity.js","../../../node_modules/rxjs/dist/esm5/internal/Observable.js","../../../node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../../node_modules/rxjs/dist/esm5/internal/config.js","../../../node_modules/rxjs/dist/esm5/internal/util/lift.js","../../../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../../../node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","../../../node_modules/rxjs/dist/esm5/internal/Subject.js","../../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js","../../../node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../../../node_modules/rxjs/dist/esm5/internal/ReplaySubject.js","../../../node_modules/rxjs/dist/esm5/internal/util/args.js","../../../node_modules/rxjs/dist/esm5/internal/util/isScheduler.js","../../../node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","../../../node_modules/rxjs/dist/esm5/internal/util/isPromise.js","../../../node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","../../../node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","../../../node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","../../../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","../../../node_modules/rxjs/dist/esm5/internal/util/isIterable.js","../../../node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","../../../node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","../../../node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","../../../node_modules/rxjs/dist/esm5/internal/operators/observeOn.js","../../../node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js","../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js","../../../node_modules/rxjs/dist/esm5/internal/observable/from.js","../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js","../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js","../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js","../../../node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js","../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js","../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js","../../../node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","../../../node_modules/rxjs/dist/esm5/internal/operators/map.js","../../../node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js","../../../node_modules/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js","../../../node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js","../../../node_modules/rxjs/dist/esm5/internal/util/createObject.js","../../../node_modules/rxjs/dist/esm5/internal/operators/filter.js","../../../node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js","../../../node_modules/rxjs/dist/esm5/internal/operators/share.js","../../../node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js","../../anarchy-shared/src/Utils/RxJsUtils.ts","../../../node_modules/rxjs/dist/esm5/internal/util/isObservable.js","../../../node_modules/rxjs/dist/esm5/internal/observable/of.js","../src/Mixins/ReactiveTranslationMixin.ts","../../../node_modules/rxjs/dist/esm5/internal/operators/tap.js","../../../node_modules/@formatjs/fast-memoize/index.js","../../../node_modules/@formatjs/icu-messageformat-parser/error.js","../../../node_modules/@formatjs/icu-messageformat-parser/types.js","../../../node_modules/@formatjs/icu-messageformat-parser/regex.generated.js","../../../node_modules/@formatjs/icu-skeleton-parser/date-time.js","../../../node_modules/@formatjs/icu-skeleton-parser/regex.generated.js","../../../node_modules/@formatjs/icu-skeleton-parser/number.js","../../../node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js","../../../node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js","../../../node_modules/@formatjs/icu-messageformat-parser/parser.js","../../../node_modules/intl-messageformat/src/error.js","../../../node_modules/@formatjs/icu-messageformat-parser/index.js","../../../node_modules/intl-messageformat/src/formatters.js","../../../node_modules/intl-messageformat/src/core.js","../../../node_modules/@formatjs/intl/src/error.js","../../../node_modules/@formatjs/intl/src/utils.js","../../../node_modules/@formatjs/intl/src/message.js","../../../node_modules/@formatjs/intl/src/dateTime.js","../../../node_modules/@formatjs/intl/src/displayName.js","../../../node_modules/@formatjs/intl/src/list.js","../../../node_modules/@formatjs/intl/src/plural.js","../../../node_modules/@formatjs/intl/src/relativeTime.js","../../../node_modules/@formatjs/intl/src/number.js","../../../node_modules/@formatjs/intl/src/create-intl.js","../src/Services/TranslationService.ts","../../../node_modules/rxjs/dist/esm5/internal/firstValueFrom.js","../src/Utils/LocalesUtils.ts","../../anarchy-shared/src/Utils/ArrayUtils.ts"],"sourcesContent":["/* AUTO-GENERATED by GenerateLocales.js script — do not edit manually. */\n/* eslint-disable spellcheck/spell-checker */\nimport type { TLocale } from '@Anarchy/i18n/Models';\n\nexport const afZa: TLocale = { id: 'af-ZA', languageCode: 'af', regionCode: 'ZA', englishName: 'Afrikaans', nativeName: 'Afrikaans', direction: 'ltr' };\nexport const amEt: TLocale = { id: 'am-ET', languageCode: 'am', regionCode: 'ET', englishName: 'Amharic', nativeName: 'አማርኛ', direction: 'ltr' };\nexport const arSa: TLocale = { id: 'ar-SA', languageCode: 'ar', regionCode: 'SA', englishName: 'Arabic', nativeName: 'العربية', direction: 'rtl' };\nexport const azArabIr: TLocale = { id: 'az-Arab-IR', languageCode: 'az', regionCode: 'IR', scriptCode: 'Arab', englishName: 'Azerbaijani (Arabic)', nativeName: 'azərbaycan (ərəb)', direction: 'rtl' };\nexport const azLatnAz: TLocale = { id: 'az-Latn-AZ', languageCode: 'az', regionCode: 'AZ', scriptCode: 'Latn', englishName: 'Azerbaijani (Latin)', nativeName: 'azərbaycan (latın)', direction: 'ltr' };\nexport const beBy: TLocale = { id: 'be-BY', languageCode: 'be', regionCode: 'BY', englishName: 'Belarusian', nativeName: 'беларуская', direction: 'ltr' };\nexport const bgBg: TLocale = { id: 'bg-BG', languageCode: 'bg', regionCode: 'BG', englishName: 'Bulgarian', nativeName: 'български', direction: 'ltr' };\nexport const bnBd: TLocale = { id: 'bn-BD', languageCode: 'bn', regionCode: 'BD', englishName: 'Bangla', nativeName: 'বাংলা', direction: 'ltr' };\nexport const bnIn: TLocale = { id: 'bn-IN', languageCode: 'bn', regionCode: 'IN', englishName: 'Bangla', nativeName: 'বাংলা', direction: 'ltr' };\nexport const bsBa: TLocale = { id: 'bs-BA', languageCode: 'bs', regionCode: 'BA', englishName: 'Bosnian', nativeName: 'bosanski', direction: 'ltr' };\nexport const caEs: TLocale = { id: 'ca-ES', languageCode: 'ca', regionCode: 'ES', englishName: 'Catalan', nativeName: 'català', direction: 'ltr' };\nexport const csCz: TLocale = { id: 'cs-CZ', languageCode: 'cs', regionCode: 'CZ', englishName: 'Czech', nativeName: 'čeština', direction: 'ltr' };\nexport const cyGb: TLocale = { id: 'cy-GB', languageCode: 'cy', regionCode: 'GB', englishName: 'Welsh', nativeName: 'Cymraeg', direction: 'ltr' };\nexport const daDk: TLocale = { id: 'da-DK', languageCode: 'da', regionCode: 'DK', englishName: 'Danish', nativeName: 'dansk', direction: 'ltr' };\nexport const deAt: TLocale = { id: 'de-AT', languageCode: 'de', regionCode: 'AT', englishName: 'German', nativeName: 'Deutsch', direction: 'ltr' };\nexport const deCh: TLocale = { id: 'de-CH', languageCode: 'de', regionCode: 'CH', englishName: 'German', nativeName: 'Deutsch', direction: 'ltr' };\nexport const deDe: TLocale = { id: 'de-DE', languageCode: 'de', regionCode: 'DE', englishName: 'German', nativeName: 'Deutsch', direction: 'ltr' };\nexport const elGr: TLocale = { id: 'el-GR', languageCode: 'el', regionCode: 'GR', englishName: 'Greek', nativeName: 'Ελληνικά', direction: 'ltr' };\nexport const enAu: TLocale = { id: 'en-AU', languageCode: 'en', regionCode: 'AU', englishName: 'English', nativeName: 'English', direction: 'ltr' };\nexport const enCa: TLocale = { id: 'en-CA', languageCode: 'en', regionCode: 'CA', englishName: 'English', nativeName: 'English', direction: 'ltr' };\nexport const enGb: TLocale = { id: 'en-GB', languageCode: 'en', regionCode: 'GB', englishName: 'English', nativeName: 'English', direction: 'ltr' };\nexport const enIe: TLocale = { id: 'en-IE', languageCode: 'en', regionCode: 'IE', englishName: 'English', nativeName: 'English', direction: 'ltr' };\nexport const enIn: TLocale = { id: 'en-IN', languageCode: 'en', regionCode: 'IN', englishName: 'English', nativeName: 'English', direction: 'ltr' };\nexport const enNz: TLocale = { id: 'en-NZ', languageCode: 'en', regionCode: 'NZ', englishName: 'English', nativeName: 'English', direction: 'ltr' };\nexport const enUs: TLocale = { id: 'en-US', languageCode: 'en', regionCode: 'US', englishName: 'English', nativeName: 'English', direction: 'ltr' };\nexport const enZa: TLocale = { id: 'en-ZA', languageCode: 'en', regionCode: 'ZA', englishName: 'English', nativeName: 'English', direction: 'ltr' };\nexport const esAr: TLocale = { id: 'es-AR', languageCode: 'es', regionCode: 'AR', englishName: 'Spanish', nativeName: 'español', direction: 'ltr' };\nexport const esCl: TLocale = { id: 'es-CL', languageCode: 'es', regionCode: 'CL', englishName: 'Spanish', nativeName: 'español', direction: 'ltr' };\nexport const esCo: TLocale = { id: 'es-CO', languageCode: 'es', regionCode: 'CO', englishName: 'Spanish', nativeName: 'español', direction: 'ltr' };\nexport const esEs: TLocale = { id: 'es-ES', languageCode: 'es', regionCode: 'ES', englishName: 'Spanish', nativeName: 'español', direction: 'ltr' };\nexport const esMx: TLocale = { id: 'es-MX', languageCode: 'es', regionCode: 'MX', englishName: 'Spanish', nativeName: 'español', direction: 'ltr' };\nexport const esPe: TLocale = { id: 'es-PE', languageCode: 'es', regionCode: 'PE', englishName: 'Spanish', nativeName: 'español', direction: 'ltr' };\nexport const esUs: TLocale = { id: 'es-US', languageCode: 'es', regionCode: 'US', englishName: 'Spanish', nativeName: 'español', direction: 'ltr' };\nexport const etEe: TLocale = { id: 'et-EE', languageCode: 'et', regionCode: 'EE', englishName: 'Estonian', nativeName: 'eesti', direction: 'ltr' };\nexport const faIr: TLocale = { id: 'fa-IR', languageCode: 'fa', regionCode: 'IR', englishName: 'Persian', nativeName: 'فارسی', direction: 'rtl' };\nexport const fiFi: TLocale = { id: 'fi-FI', languageCode: 'fi', regionCode: 'FI', englishName: 'Finnish', nativeName: 'suomi', direction: 'ltr' };\nexport const filPh: TLocale = { id: 'fil-PH', languageCode: 'fil', regionCode: 'PH', englishName: 'Filipino', nativeName: 'Filipino', direction: 'ltr' };\nexport const frBe: TLocale = { id: 'fr-BE', languageCode: 'fr', regionCode: 'BE', englishName: 'French', nativeName: 'français', direction: 'ltr' };\nexport const frCa: TLocale = { id: 'fr-CA', languageCode: 'fr', regionCode: 'CA', englishName: 'French', nativeName: 'français', direction: 'ltr' };\nexport const frCh: TLocale = { id: 'fr-CH', languageCode: 'fr', regionCode: 'CH', englishName: 'French', nativeName: 'français', direction: 'ltr' };\nexport const frFr: TLocale = { id: 'fr-FR', languageCode: 'fr', regionCode: 'FR', englishName: 'French', nativeName: 'français', direction: 'ltr' };\nexport const gaIe: TLocale = { id: 'ga-IE', languageCode: 'ga', regionCode: 'IE', englishName: 'Irish', nativeName: 'Gaeilge', direction: 'ltr' };\nexport const glEs: TLocale = { id: 'gl-ES', languageCode: 'gl', regionCode: 'ES', englishName: 'Galician', nativeName: 'galego', direction: 'ltr' };\nexport const guIn: TLocale = { id: 'gu-IN', languageCode: 'gu', regionCode: 'IN', englishName: 'Gujarati', nativeName: 'ગુજરાતી', direction: 'ltr' };\nexport const heIl: TLocale = { id: 'he-IL', languageCode: 'he', regionCode: 'IL', englishName: 'Hebrew', nativeName: 'עברית', direction: 'rtl' };\nexport const hiIn: TLocale = { id: 'hi-IN', languageCode: 'hi', regionCode: 'IN', englishName: 'Hindi', nativeName: 'हिन्दी', direction: 'ltr' };\nexport const hrHr: TLocale = { id: 'hr-HR', languageCode: 'hr', regionCode: 'HR', englishName: 'Croatian', nativeName: 'hrvatski', direction: 'ltr' };\nexport const huHu: TLocale = { id: 'hu-HU', languageCode: 'hu', regionCode: 'HU', englishName: 'Hungarian', nativeName: 'magyar', direction: 'ltr' };\nexport const idId: TLocale = { id: 'id-ID', languageCode: 'id', regionCode: 'ID', englishName: 'Indonesian', nativeName: 'Indonesia', direction: 'ltr' };\nexport const isIs: TLocale = { id: 'is-IS', languageCode: 'is', regionCode: 'IS', englishName: 'Icelandic', nativeName: 'íslenska', direction: 'ltr' };\nexport const itCh: TLocale = { id: 'it-CH', languageCode: 'it', regionCode: 'CH', englishName: 'Italian', nativeName: 'italiano', direction: 'ltr' };\nexport const itIt: TLocale = { id: 'it-IT', languageCode: 'it', regionCode: 'IT', englishName: 'Italian', nativeName: 'italiano', direction: 'ltr' };\nexport const jaJp: TLocale = { id: 'ja-JP', languageCode: 'ja', regionCode: 'JP', englishName: 'Japanese', nativeName: '日本語', direction: 'ltr' };\nexport const jvId: TLocale = { id: 'jv-ID', languageCode: 'jv', regionCode: 'ID', englishName: 'Javanese', nativeName: 'Jawa', direction: 'ltr' };\nexport const kmKh: TLocale = { id: 'km-KH', languageCode: 'km', regionCode: 'KH', englishName: 'Khmer', nativeName: 'ខ្មែរ', direction: 'ltr' };\nexport const knIn: TLocale = { id: 'kn-IN', languageCode: 'kn', regionCode: 'IN', englishName: 'Kannada', nativeName: 'ಕನ್ನಡ', direction: 'ltr' };\nexport const koKr: TLocale = { id: 'ko-KR', languageCode: 'ko', regionCode: 'KR', englishName: 'Korean', nativeName: '한국어', direction: 'ltr' };\nexport const loLa: TLocale = { id: 'lo-LA', languageCode: 'lo', regionCode: 'LA', englishName: 'Lao', nativeName: 'ລາວ', direction: 'ltr' };\nexport const ltLt: TLocale = { id: 'lt-LT', languageCode: 'lt', regionCode: 'LT', englishName: 'Lithuanian', nativeName: 'lietuvių', direction: 'ltr' };\nexport const lvLv: TLocale = { id: 'lv-LV', languageCode: 'lv', regionCode: 'LV', englishName: 'Latvian', nativeName: 'latviešu', direction: 'ltr' };\nexport const mlIn: TLocale = { id: 'ml-IN', languageCode: 'ml', regionCode: 'IN', englishName: 'Malayalam', nativeName: 'മലയാളം', direction: 'ltr' };\nexport const mrIn: TLocale = { id: 'mr-IN', languageCode: 'mr', regionCode: 'IN', englishName: 'Marathi', nativeName: 'मराठी', direction: 'ltr' };\nexport const msMy: TLocale = { id: 'ms-MY', languageCode: 'ms', regionCode: 'MY', englishName: 'Malay', nativeName: 'Melayu', direction: 'ltr' };\nexport const nbNo: TLocale = { id: 'nb-NO', languageCode: 'nb', regionCode: 'NO', englishName: 'Norwegian Bokmål', nativeName: 'norsk bokmål', direction: 'ltr' };\nexport const nnNo: TLocale = { id: 'nn-NO', languageCode: 'nn', regionCode: 'NO', englishName: 'Norwegian Nynorsk', nativeName: 'norsk nynorsk', direction: 'ltr' };\nexport const neNp: TLocale = { id: 'ne-NP', languageCode: 'ne', regionCode: 'NP', englishName: 'Nepali', nativeName: 'नेपाली', direction: 'ltr' };\nexport const nlBe: TLocale = { id: 'nl-BE', languageCode: 'nl', regionCode: 'BE', englishName: 'Dutch', nativeName: 'Nederlands', direction: 'ltr' };\nexport const nlNl: TLocale = { id: 'nl-NL', languageCode: 'nl', regionCode: 'NL', englishName: 'Dutch', nativeName: 'Nederlands', direction: 'ltr' };\nexport const paIn: TLocale = { id: 'pa-IN', languageCode: 'pa', regionCode: 'IN', englishName: 'Punjabi', nativeName: 'ਪੰਜਾਬੀ', direction: 'ltr' };\nexport const plPl: TLocale = { id: 'pl-PL', languageCode: 'pl', regionCode: 'PL', englishName: 'Polish', nativeName: 'polski', direction: 'ltr' };\nexport const ptBr: TLocale = { id: 'pt-BR', languageCode: 'pt', regionCode: 'BR', englishName: 'Portuguese', nativeName: 'português', direction: 'ltr' };\nexport const ptPt: TLocale = { id: 'pt-PT', languageCode: 'pt', regionCode: 'PT', englishName: 'Portuguese', nativeName: 'português', direction: 'ltr' };\nexport const roRo: TLocale = { id: 'ro-RO', languageCode: 'ro', regionCode: 'RO', englishName: 'Romanian', nativeName: 'română', direction: 'ltr' };\nexport const ruRu: TLocale = { id: 'ru-RU', languageCode: 'ru', regionCode: 'RU', englishName: 'Russian', nativeName: 'русский', direction: 'ltr' };\nexport const siLk: TLocale = { id: 'si-LK', languageCode: 'si', regionCode: 'LK', englishName: 'Sinhala', nativeName: 'සිංහල', direction: 'ltr' };\nexport const skSk: TLocale = { id: 'sk-SK', languageCode: 'sk', regionCode: 'SK', englishName: 'Slovak', nativeName: 'slovenčina', direction: 'ltr' };\nexport const slSi: TLocale = { id: 'sl-SI', languageCode: 'sl', regionCode: 'SI', englishName: 'Slovenian', nativeName: 'slovenščina', direction: 'ltr' };\nexport const sqAl: TLocale = { id: 'sq-AL', languageCode: 'sq', regionCode: 'AL', englishName: 'Albanian', nativeName: 'shqip', direction: 'ltr' };\nexport const srCyrlRs: TLocale = { id: 'sr-Cyrl-RS', languageCode: 'sr', regionCode: 'RS', scriptCode: 'Cyrl', englishName: 'Serbian (Cyrillic)', nativeName: 'српски (ћирилица)', direction: 'ltr' };\nexport const srLatnRs: TLocale = { id: 'sr-Latn-RS', languageCode: 'sr', regionCode: 'RS', scriptCode: 'Latn', englishName: 'Serbian (Latin)', nativeName: 'srpski (latinica)', direction: 'ltr' };\nexport const svFi: TLocale = { id: 'sv-FI', languageCode: 'sv', regionCode: 'FI', englishName: 'Swedish', nativeName: 'svenska', direction: 'ltr' };\nexport const svSe: TLocale = { id: 'sv-SE', languageCode: 'sv', regionCode: 'SE', englishName: 'Swedish', nativeName: 'svenska', direction: 'ltr' };\nexport const swKe: TLocale = { id: 'sw-KE', languageCode: 'sw', regionCode: 'KE', englishName: 'Swahili', nativeName: 'Kiswahili', direction: 'ltr' };\nexport const taIn: TLocale = { id: 'ta-IN', languageCode: 'ta', regionCode: 'IN', englishName: 'Tamil', nativeName: 'தமிழ்', direction: 'ltr' };\nexport const taLk: TLocale = { id: 'ta-LK', languageCode: 'ta', regionCode: 'LK', englishName: 'Tamil', nativeName: 'தமிழ்', direction: 'ltr' };\nexport const thTh: TLocale = { id: 'th-TH', languageCode: 'th', regionCode: 'TH', englishName: 'Thai', nativeName: 'ไทย', direction: 'ltr' };\nexport const trTr: TLocale = { id: 'tr-TR', languageCode: 'tr', regionCode: 'TR', englishName: 'Turkish', nativeName: 'Türkçe', direction: 'ltr' };\nexport const ukUa: TLocale = { id: 'uk-UA', languageCode: 'uk', regionCode: 'UA', englishName: 'Ukrainian', nativeName: 'українська', direction: 'ltr' };\nexport const urPk: TLocale = { id: 'ur-PK', languageCode: 'ur', regionCode: 'PK', englishName: 'Urdu', nativeName: 'اردو', direction: 'rtl' };\nexport const viVn: TLocale = { id: 'vi-VN', languageCode: 'vi', regionCode: 'VN', englishName: 'Vietnamese', nativeName: 'Tiếng Việt', direction: 'ltr' };\nexport const zhHansCn: TLocale = { id: 'zh-Hans-CN', languageCode: 'zh', regionCode: 'CN', scriptCode: 'Hans', englishName: 'Chinese (Simplified)', nativeName: '中文 (简体)', direction: 'ltr' };\nexport const zhHansSg: TLocale = { id: 'zh-Hans-SG', languageCode: 'zh', regionCode: 'SG', scriptCode: 'Hans', englishName: 'Chinese (Simplified)', nativeName: '中文 (简体)', direction: 'ltr' };\nexport const zhHantHk: TLocale = { id: 'zh-Hant-HK', languageCode: 'zh', regionCode: 'HK', scriptCode: 'Hant', englishName: 'Chinese (Traditional)', nativeName: '中文 (繁體字)', direction: 'ltr' };\nexport const zhHantTw: TLocale = { id: 'zh-Hant-TW', languageCode: 'zh', regionCode: 'TW', scriptCode: 'Hant', englishName: 'Chinese (Traditional)', nativeName: '中文 (繁體)', direction: 'ltr' };\nexport const zuZa: TLocale = { id: 'zu-ZA', languageCode: 'zu', regionCode: 'ZA', englishName: 'Zulu', nativeName: 'isiZulu', direction: 'ltr' };\n","export const isDefined = <T>(value: T | undefined | null): value is T => <T>value !== undefined && <T>value !== null;\n\nexport const isAllDefined = <T>(values: ReadonlyArray<T | undefined | null>): values is ReadonlyArray<T> => !values.some(isNotDefined);\n\nexport const isNotDefined = <T>(value: T | undefined | null): value is undefined | null => !isDefined<T>(value);\n\nexport const isAllNotDefined = <T>(values: ReadonlyArray<T | undefined | null>): values is ReadonlyArray<undefined | null> => values.every(isNotDefined);\n\nexport const isString = (value: unknown): value is string => typeof value === 'string';\n\nexport const isBoolean = (value: unknown): value is boolean => typeof value === 'boolean';\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n 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);\n 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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n 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\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n 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\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nvar BehaviorSubject = (function (_super) {\n __extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: false,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, _value = _a._value;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, (this._value = value));\n };\n return BehaviorSubject;\n}(Subject));\nexport { BehaviorSubject };\n//# sourceMappingURL=BehaviorSubject.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {\n if (_bufferSize === void 0) { _bufferSize = Infinity; }\n if (_windowTime === void 0) { _windowTime = Infinity; }\n if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider; }\n var _this = _super.call(this) || this;\n _this._bufferSize = _bufferSize;\n _this._windowTime = _windowTime;\n _this._timestampProvider = _timestampProvider;\n _this._buffer = [];\n _this._infiniteTimeWindow = true;\n _this._infiniteTimeWindow = _windowTime === Infinity;\n _this._bufferSize = Math.max(1, _bufferSize);\n _this._windowTime = Math.max(1, _windowTime);\n return _this;\n }\n ReplaySubject.prototype.next = function (value) {\n var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n var subscription = this._innerSubscribe(subscriber);\n var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;\n var copy = _buffer.slice();\n for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n };\n ReplaySubject.prototype._trimBuffer = function () {\n var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;\n var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n var now = _timestampProvider.now();\n var last = 0;\n for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\n//# sourceMappingURL=ReplaySubject.js.map","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n//# sourceMappingURL=args.js.map","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n//# sourceMappingURL=isScheduler.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return executeSchedule(subscriber, scheduler, function () { return subscriber.next(value); }, delay); }, function () { return executeSchedule(subscriber, scheduler, function () { return subscriber.complete(); }, delay); }, function (err) { return executeSchedule(subscriber, scheduler, function () { return subscriber.error(err); }, delay); }));\n });\n}\n//# sourceMappingURL=observeOn.js.map","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n subscriber.add(scheduler.schedule(function () { return source.subscribe(subscriber); }, delay));\n });\n}\n//# sourceMappingURL=subscribeOn.js.map","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n executeSchedule(subscriber, scheduler, function () {\n var iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, function () {\n iterator.next().then(function (result) {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n//# sourceMappingURL=scheduleAsyncIterable.js.map","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n//# sourceMappingURL=from.js.map","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n//# sourceMappingURL=scheduled.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=scheduleObservable.js.map","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n//# sourceMappingURL=scheduleArray.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=schedulePromise.js.map","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable(function (subscriber) {\n var iterator;\n executeSchedule(subscriber, scheduler, function () {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, function () {\n var _a;\n var value;\n var done;\n try {\n (_a = iterator.next(), value = _a.value, done = _a.done);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return function () { return isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); };\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n//# sourceMappingURL=scheduleReadableStreamLike.js.map","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) {\n return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n };\n});\n//# sourceMappingURL=EmptyError.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { map } from \"../operators/map\";\nvar isArray = Array.isArray;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(function (args) { return callOrApply(fn, args); });\n}\n//# sourceMappingURL=mapOneOrManyArgs.js.map","var isArray = Array.isArray;\nvar getPrototypeOf = Object.getPrototypeOf, objectProto = Object.prototype, getKeys = Object.keys;\nexport function argsArgArrayOrObject(args) {\n if (args.length === 1) {\n var first_1 = args[0];\n if (isArray(first_1)) {\n return { args: first_1, keys: null };\n }\n if (isPOJO(first_1)) {\n var keys = getKeys(first_1);\n return {\n args: keys.map(function (key) { return first_1[key]; }),\n keys: keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n//# sourceMappingURL=argsArgArrayOrObject.js.map","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { from } from './from';\nimport { identity } from '../util/identity';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { popResultSelector, popScheduler } from '../util/args';\nimport { createObject } from '../util/createObject';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function combineLatest() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = popScheduler(args);\n var resultSelector = popResultSelector(args);\n var _a = argsArgArrayOrObject(args), observables = _a.args, keys = _a.keys;\n if (observables.length === 0) {\n return from([], scheduler);\n }\n var result = new Observable(combineLatestInit(observables, scheduler, keys\n ?\n function (values) { return createObject(keys, values); }\n :\n identity));\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\nexport function combineLatestInit(observables, scheduler, valueTransform) {\n if (valueTransform === void 0) { valueTransform = identity; }\n return function (subscriber) {\n maybeSchedule(scheduler, function () {\n var length = observables.length;\n var values = new Array(length);\n var active = length;\n var remainingFirstValues = length;\n var _loop_1 = function (i) {\n maybeSchedule(scheduler, function () {\n var source = from(observables[i], scheduler);\n var hasFirstValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n values[i] = value;\n if (!hasFirstValue) {\n hasFirstValue = true;\n remainingFirstValues--;\n }\n if (!remainingFirstValues) {\n subscriber.next(valueTransform(values.slice()));\n }\n }, function () {\n if (!--active) {\n subscriber.complete();\n }\n }));\n }, subscriber);\n };\n for (var i = 0; i < length; i++) {\n _loop_1(i);\n }\n }, subscriber);\n };\n}\nfunction maybeSchedule(scheduler, execute, subscription) {\n if (scheduler) {\n executeSchedule(subscription, scheduler, execute);\n }\n else {\n execute();\n }\n}\n//# sourceMappingURL=combineLatest.js.map","export function createObject(keys, values) {\n return keys.reduce(function (result, key, i) { return ((result[key] = values[i]), result); }, {});\n}\n//# sourceMappingURL=createObject.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\n//# sourceMappingURL=filter.js.map","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector) {\n if (keySelector === void 0) { keySelector = identity; }\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate(function (source, subscriber) {\n var previousKey;\n var first = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { innerFrom } from '../observable/innerFrom';\nimport { Subject } from '../Subject';\nimport { SafeSubscriber } from '../Subscriber';\nimport { operate } from '../util/lift';\nexport function share(options) {\n if (options === void 0) { options = {}; }\n var _a = options.connector, connector = _a === void 0 ? function () { return new Subject(); } : _a, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c = options.resetOnComplete, resetOnComplete = _c === void 0 ? true : _c, _d = options.resetOnRefCountZero, resetOnRefCountZero = _d === void 0 ? true : _d;\n return function (wrapperSource) {\n var connection;\n var resetConnection;\n var subject;\n var refCount = 0;\n var hasCompleted = false;\n var hasErrored = false;\n var cancelReset = function () {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = undefined;\n };\n var reset = function () {\n cancelReset();\n connection = subject = undefined;\n hasCompleted = hasErrored = false;\n };\n var resetAndUnsubscribe = function () {\n var conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return operate(function (source, subscriber) {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n var dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(function () {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection &&\n refCount > 0) {\n connection = new SafeSubscriber({\n next: function (value) { return dest.next(value); },\n error: function (err) {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: function () {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n innerFrom(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nfunction handleReset(reset, on) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (on === true) {\n reset();\n return;\n }\n if (on === false) {\n return;\n }\n var onSubscriber = new SafeSubscriber({\n next: function () {\n onSubscriber.unsubscribe();\n reset();\n },\n });\n return innerFrom(on.apply(void 0, __spreadArray([], __read(args)))).subscribe(onSubscriber);\n}\n//# sourceMappingURL=share.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n var _a, _b, _c;\n var bufferSize;\n var refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n (_a = configOrBufferSize.bufferSize, bufferSize = _a === void 0 ? Infinity : _a, _b = configOrBufferSize.windowTime, windowTime = _b === void 0 ? Infinity : _b, _c = configOrBufferSize.refCount, refCount = _c === void 0 ? false : _c, scheduler = configOrBufferSize.scheduler);\n }\n else {\n bufferSize = (configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity);\n }\n return share({\n connector: function () { return new ReplaySubject(bufferSize, windowTime, scheduler); },\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount,\n });\n}\n//# sourceMappingURL=shareReplay.js.map","import type { Observable } from 'rxjs';\nimport { isObservable, of } from 'rxjs';\n\nexport const toObservable$ = <T>(x: T | Observable<T>): Observable<T> => (isObservable(x) ? x : of(x));\n","import { Observable } from '../Observable';\nimport { isFunction } from './isFunction';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (isFunction(obj.lift) && isFunction(obj.subscribe)));\n}\n//# sourceMappingURL=isObservable.js.map","import { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function of() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = popScheduler(args);\n return from(args, scheduler);\n}\n//# sourceMappingURL=of.js.map","import type { TReactiveTranslationMixin, TTranslationService } from '@Anarchy/i18n/Models';\nimport { isDefined, toObservable$ } from '@Anarchy/Shared/Utils';\nimport type { FormatNumberOptions, IntlShape } from '@formatjs/intl';\nimport type { FormatDateOptions } from '@formatjs/intl/src/types';\nimport type { Observable } from 'rxjs';\nimport { combineLatest, distinctUntilChanged, filter, map, shareReplay, tap } from 'rxjs';\n\nexport function ReactiveTranslationMixin(service: Omit<TTranslationService, keyof TReactiveTranslationMixin>): TReactiveTranslationMixin {\n function translate$(id: string, params?: Record<string, string> | Observable<Record<string, string>>): Observable<string> {\n const params$ = toObservable$(params ?? {});\n return combineLatest([service.locale$, params$]).pipe(\n map(([, p]) => {\n const intl = service.getCurrentIntl();\n return [intl, p] as [IntlShape | undefined, typeof p];\n }),\n filter(([intl]) => isDefined(intl)),\n map(([intl, p]) => (intl as IntlShape).formatMessage({ id, defaultMessage: id }, p)),\n distinctUntilChanged(),\n tap((value: string): string => {\n if (value === id) console.warn(`[TranslationService]: Can't find translation for \"${id}\".`);\n return value;\n }),\n shareReplay({ bufferSize: 1, refCount: true })\n );\n }\n\n function formatNumber$(value: number | Observable<number>, options?: FormatNumberOptions | Observable<FormatNumberOptions | undefined>): Observable<string> {\n return combineLatest([service.locale$, toObservable$(value), toObservable$(options)]).pipe(\n map(([, v, o]) => {\n const intl = service.getCurrentIntl();\n return [intl, v, o] as [IntlShape | undefined, typeof v, typeof o];\n }),\n filter(([intl]) => isDefined(intl)),\n map(([intl, v, o]) => (intl as IntlShape).formatNumber(v, o)),\n distinctUntilChanged(),\n shareReplay({ bufferSize: 1, refCount: true })\n );\n }\n\n function formatDate$(value: number | Date | Observable<number | Date>, options?: FormatDateOptions | Observable<FormatDateOptions | undefined>): Observable<string> {\n return combineLatest([service.locale$, toObservable$(value), toObservable$(options)]).pipe(\n map(([, v, o]) => {\n const intl = service.getCurrentIntl();\n return [intl, v, o] as [IntlShape | undefined, typeof v, typeof o];\n }),\n filter(([intl]) => isDefined(intl)),\n map(([intl, v, o]) => (intl as IntlShape).formatDate(v, o)),\n distinctUntilChanged(),\n shareReplay({ bufferSize: 1, refCount: true })\n );\n }\n\n return { translate$, formatNumber$, formatDate$ };\n}\n","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n var tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error: error, complete: complete }\n : observerOrNext;\n return tapObserver\n ? operate(function (source, subscriber) {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n var isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, function () {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, function (err) {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, function () {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map","//\n// Main\n//\nexport function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nvar ObjectWithoutPrototypeCache = /** @class */ (function () {\n function ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n }\n ObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n };\n ObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n };\n return ObjectWithoutPrototypeCache;\n}());\nvar cacheDefault = {\n create: function create() {\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `<bold!>foo</bold!>) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo</123>`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `<bold>foo</italic>`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `<bold>foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));\n","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.dateTime);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n","// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) patterns are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: milliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated.js';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton\n .split(WHITE_SPACE_REGEX)\n .filter(function (x) { return x.length > 0; });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0], options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({ stem: stem, options: options });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n }\n else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n case '()':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering',\n };\n stem = stem.slice(2);\n }\n else if (stem[0] === 'E') {\n result = {\n notation: 'scientific',\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n }\n else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function parseNumberSkeleton(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n case 'rounding-mode-floor':\n result.roundingMode = 'floor';\n continue;\n case 'rounding-mode-ceiling':\n result.roundingMode = 'ceil';\n continue;\n case 'rounding-mode-down':\n result.roundingMode = 'trunc';\n continue;\n case 'rounding-mode-up':\n result.roundingMode = 'expand';\n continue;\n case 'rounding-mode-half-even':\n result.roundingMode = 'halfEven';\n continue;\n case 'rounding-mode-half-down':\n result.roundingMode = 'halfTrunc';\n continue;\n case 'rounding-mode-half-up':\n result.roundingMode = 'halfExpand';\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\n else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n }\n else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });\n }\n else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}\n","// @generated from time-data-gen.ts\n// prettier-ignore\nexport var timeData = {\n \"001\": [\n \"H\",\n \"h\"\n ],\n \"419\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"AC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AD\": [\n \"H\",\n \"hB\"\n ],\n \"AE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"AF\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"AG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AL\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"AM\": [\n \"H\",\n \"hB\"\n ],\n \"AO\": [\n \"H\",\n \"hB\"\n ],\n \"AR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"AS\": [\n \"h\",\n \"H\"\n ],\n \"AT\": [\n \"H\",\n \"hB\"\n ],\n \"AU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AW\": [\n \"H\",\n \"hB\"\n ],\n \"AX\": [\n \"H\"\n ],\n \"AZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BD\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"BE\": [\n \"H\",\n \"hB\"\n ],\n \"BF\": [\n \"H\",\n \"hB\"\n ],\n \"BG\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"BI\": [\n \"H\",\n \"h\"\n ],\n \"BJ\": [\n \"H\",\n \"hB\"\n ],\n \"BL\": [\n \"H\",\n \"hB\"\n ],\n \"BM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BN\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"BO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"BQ\": [\n \"H\"\n ],\n \"BR\": [\n \"H\",\n \"hB\"\n ],\n \"BS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BT\": [\n \"h\",\n \"H\"\n ],\n \"BW\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BY\": [\n \"H\",\n \"h\"\n ],\n \"BZ\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CA\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"CC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CD\": [\n \"hB\",\n \"H\"\n ],\n \"CF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CG\": [\n \"H\",\n \"hB\"\n ],\n \"CH\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"CI\": [\n \"H\",\n \"hB\"\n ],\n \"CK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CL\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"CM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CN\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"CO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"CP\": [\n \"H\"\n ],\n \"CR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"CU\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"CV\": [\n \"H\",\n \"hB\"\n ],\n \"CW\": [\n \"H\",\n \"hB\"\n ],\n \"CX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CY\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"CZ\": [\n \"H\"\n ],\n \"DE\": [\n \"H\",\n \"hB\"\n ],\n \"DG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"DJ\": [\n \"h\",\n \"H\"\n ],\n \"DK\": [\n \"H\"\n ],\n \"DM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"DO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"DZ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"EC\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"EE\": [\n \"H\",\n \"hB\"\n ],\n \"EG\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ER\": [\n \"h\",\n \"H\"\n ],\n \"ES\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"ET\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"FI\": [\n \"H\"\n ],\n \"FJ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"FM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FO\": [\n \"H\",\n \"h\"\n ],\n \"FR\": [\n \"H\",\n \"hB\"\n ],\n \"GA\": [\n \"H\",\n \"hB\"\n ],\n \"GB\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GD\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GE\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"GF\": [\n \"H\",\n \"hB\"\n ],\n \"GG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GH\": [\n \"h\",\n \"H\"\n ],\n \"GI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GL\": [\n \"H\",\n \"h\"\n ],\n \"GM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GN\": [\n \"H\",\n \"hB\"\n ],\n \"GP\": [\n \"H\",\n \"hB\"\n ],\n \"GQ\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"GR\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"GS\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GT\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"GU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GW\": [\n \"H\",\n \"hB\"\n ],\n \"GY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"HK\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"HN\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"HR\": [\n \"H\",\n \"hB\"\n ],\n \"HU\": [\n \"H\",\n \"h\"\n ],\n \"IC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"ID\": [\n \"H\"\n ],\n \"IE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IL\": [\n \"H\",\n \"hB\"\n ],\n \"IM\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IN\": [\n \"h\",\n \"H\"\n ],\n \"IO\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IQ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"IR\": [\n \"hB\",\n \"H\"\n ],\n \"IS\": [\n \"H\"\n ],\n \"IT\": [\n \"H\",\n \"hB\"\n ],\n \"JE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"JM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"JO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"JP\": [\n \"H\",\n \"K\",\n \"h\"\n ],\n \"KE\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"KG\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KH\": [\n \"hB\",\n \"h\",\n \"H\",\n \"hb\"\n ],\n \"KI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KM\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KN\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KP\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KW\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"KY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KZ\": [\n \"H\",\n \"hB\"\n ],\n \"LA\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"LB\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LI\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"LK\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"LR\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LS\": [\n \"h\",\n \"H\"\n ],\n \"LT\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"LU\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"LV\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"LY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MC\": [\n \"H\",\n \"hB\"\n ],\n \"MD\": [\n \"H\",\n \"hB\"\n ],\n \"ME\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"MF\": [\n \"H\",\n \"hB\"\n ],\n \"MG\": [\n \"H\",\n \"h\"\n ],\n \"MH\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ML\": [\n \"H\"\n ],\n \"MM\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"MN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MP\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MQ\": [\n \"H\",\n \"hB\"\n ],\n \"MR\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MS\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MT\": [\n \"H\",\n \"h\"\n ],\n \"MU\": [\n \"H\",\n \"h\"\n ],\n \"MV\": [\n \"H\",\n \"h\"\n ],\n \"MW\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MX\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"MY\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"MZ\": [\n \"H\",\n \"hB\"\n ],\n \"NA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"NC\": [\n \"H\",\n \"hB\"\n ],\n \"NE\": [\n \"H\"\n ],\n \"NF\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NI\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"NL\": [\n \"H\",\n \"hB\"\n ],\n \"NO\": [\n \"H\",\n \"h\"\n ],\n \"NP\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"NR\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NU\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"OM\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PE\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"PG\": [\n \"h\",\n \"H\"\n ],\n \"PH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PK\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"PL\": [\n \"H\",\n \"h\"\n ],\n \"PM\": [\n \"H\",\n \"hB\"\n ],\n \"PN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"PR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PS\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PT\": [\n \"H\",\n \"hB\"\n ],\n \"PW\": [\n \"h\",\n \"H\"\n ],\n \"PY\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"QA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"RE\": [\n \"H\",\n \"hB\"\n ],\n \"RO\": [\n \"H\",\n \"hB\"\n ],\n \"RS\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"RU\": [\n \"H\"\n ],\n \"RW\": [\n \"H\",\n \"h\"\n ],\n \"SA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SC\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SD\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SE\": [\n \"H\"\n ],\n \"SG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SH\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SI\": [\n \"H\",\n \"hB\"\n ],\n \"SJ\": [\n \"H\"\n ],\n \"SK\": [\n \"H\"\n ],\n \"SL\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SN\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SO\": [\n \"h\",\n \"H\"\n ],\n \"SR\": [\n \"H\",\n \"hB\"\n ],\n \"SS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ST\": [\n \"H\",\n \"hB\"\n ],\n \"SV\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"SX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"TC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TD\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"TF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"TG\": [\n \"H\",\n \"hB\"\n ],\n \"TH\": [\n \"H\",\n \"h\"\n ],\n \"TJ\": [\n \"H\",\n \"h\"\n ],\n \"TL\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"TM\": [\n \"H\",\n \"h\"\n ],\n \"TN\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"TO\": [\n \"h\",\n \"H\"\n ],\n \"TR\": [\n \"H\",\n \"hB\"\n ],\n \"TT\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TW\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"TZ\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UG\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"US\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"UY\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"UZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"VA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"VC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VE\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"VG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VN\": [\n \"H\",\n \"h\"\n ],\n \"VU\": [\n \"h\",\n \"H\"\n ],\n \"WF\": [\n \"H\",\n \"hB\"\n ],\n \"WS\": [\n \"h\",\n \"H\"\n ],\n \"XK\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"YE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"YT\": [\n \"H\",\n \"hB\"\n ],\n \"ZA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ZM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ZW\": [\n \"H\",\n \"h\"\n ],\n \"af-ZA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"ar-001\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ca-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"en-001\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"en-HK\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"en-IL\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"en-MY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"es-BR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-ES\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-GQ\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"fr-CA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gl-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gu-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"hi-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"it-CH\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-IT\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"kn-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ku-SY\": [\n \"H\",\n \"hB\"\n ],\n \"ml-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"mr-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"pa-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"ta-IN\": [\n \"hB\",\n \"h\",\n \"hb\",\n \"H\"\n ],\n \"te-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"zu-ZA\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ]\n};\n","import { timeData } from './time-data.generated.js';\n/**\n * Returns the best matching date time pattern if a date time skeleton\n * pattern is provided with a locale. Follows the Unicode specification:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns\n * @param skeleton date time skeleton pattern that possibly includes j, J or C\n * @param locale\n */\nexport function getBestPattern(skeleton, locale) {\n var skeletonCopy = '';\n for (var patternPos = 0; patternPos < skeleton.length; patternPos++) {\n var patternChar = skeleton.charAt(patternPos);\n if (patternChar === 'j') {\n var extraLength = 0;\n while (patternPos + 1 < skeleton.length &&\n skeleton.charAt(patternPos + 1) === patternChar) {\n extraLength++;\n patternPos++;\n }\n var hourLen = 1 + (extraLength & 1);\n var dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1);\n var dayPeriodChar = 'a';\n var hourChar = getDefaultHourSymbolFromLocale(locale);\n if (hourChar == 'H' || hourChar == 'k') {\n dayPeriodLen = 0;\n }\n while (dayPeriodLen-- > 0) {\n skeletonCopy += dayPeriodChar;\n }\n while (hourLen-- > 0) {\n skeletonCopy = hourChar + skeletonCopy;\n }\n }\n else if (patternChar === 'J') {\n skeletonCopy += 'H';\n }\n else {\n skeletonCopy += patternChar;\n }\n }\n return skeletonCopy;\n}\n/**\n * Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)\n * of the given `locale` to the corresponding time pattern.\n * @param locale\n */\nfunction getDefaultHourSymbolFromLocale(locale) {\n var hourCycle = locale.hourCycle;\n if (hourCycle === undefined &&\n // @ts-ignore hourCycle(s) is not identified yet\n locale.hourCycles &&\n // @ts-ignore\n locale.hourCycles.length) {\n // @ts-ignore\n hourCycle = locale.hourCycles[0];\n }\n if (hourCycle) {\n switch (hourCycle) {\n case 'h24':\n return 'k';\n case 'h23':\n return 'H';\n case 'h12':\n return 'h';\n case 'h11':\n return 'K';\n default:\n throw new Error('Invalid hourCycle');\n }\n }\n // TODO: Once hourCycle is fully supported remove the following with data generation\n var languageTag = locale.language;\n var regionTag;\n if (languageTag !== 'root') {\n regionTag = locale.maximize().region;\n }\n var hourCycles = timeData[regionTag || ''] ||\n timeData[languageTag || ''] ||\n timeData[\"\".concat(languageTag, \"-001\")] ||\n timeData['001'];\n return hourCycles[0];\n}\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error.js';\nimport { SKELETON_TYPE, TYPE, } from './types.js';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated.js';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton, } from '@formatjs/icu-skeleton-parser';\nimport { getBestPattern } from './date-time-pattern-generator.js';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\".concat(SPACE_SEPARATOR_REGEX.source, \"*\"));\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(\"\".concat(SPACE_SEPARATOR_REGEX.source, \"*$\"));\nfunction createLocation(start, end) {\n return { start: start, end: end };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar fromEntries = \n// native\nhasNativeFromEntries\n ? Object.fromEntries\n : // Ponyfill\n function fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], k = _a[0], v = _a[1];\n obj[k] = v;\n }\n return obj;\n };\nvar trimStart = hasTrimStart\n ? // Native\n function trimStart(s) {\n return s.trimStart();\n }\n : // Ponyfill\n function trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n };\nvar trimEnd = hasTrimEnd\n ? // Native\n function trimEnd(s) {\n return s.trimEnd();\n }\n : // Ponyfill\n function trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n };\n// #endregion\nvar IDENTIFIER_PREFIX_RE = new RegExp('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\nfunction matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n}\nvar Parser = /** @class */ (function () {\n function Parser(message, options) {\n if (options === void 0) { options = {}; }\n this.message = message;\n this.position = { offset: 0, line: 1, column: 1 };\n this.ignoreTag = !!options.ignoreTag;\n this.locale = options.locale;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n }\n else if (char === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition()),\n });\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n }\n else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return { val: elements, err: null };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"</\" tagName (whitespace)* \">\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\".concat(tagName, \"/>\"),\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('</')) {\n if (this.isEOF() || !_isAlpha(this.char())) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n var closingTagNameStartPosition = this.clonePosition();\n var closingTagName = this.parseTagName();\n if (tagName !== closingTagName) {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(closingTagNameStartPosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (!this.bumpIf('>')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n }\n else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: { type: TYPE.literal, value: value, location: location },\n err: null,\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() &&\n this.char() === 60 /* `<` */ &&\n (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35: // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n }\n else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n }\n else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return String.fromCodePoint.apply(String, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ ||\n ch === 123 /* `{` */ ||\n (ch === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) ||\n (ch === 125 /* `}` */ && nestingLevel > 0)) {\n return null;\n }\n else {\n this.bump();\n return String.fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */: {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n err: null,\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */: {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return { value: value, location: location };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time': {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = { style: style, styleLocation: styleLocation };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && styleAndLocation.style.startsWith('::')) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: { type: TYPE.number, value: value, location: location_1, style: result.val },\n err: null,\n };\n }\n else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var dateTimePattern = skeleton;\n // Get \"best match\" pattern only if locale is passed, if not, let it\n // pass as-is where `parseDateTimeSkeleton()` will throw an error\n // for unsupported patterns.\n if (this.locale) {\n dateTimePattern = getBestPattern(skeleton, this.locale);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: dateTimePattern,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons\n ? parseDateTimeSkeleton(dateTimePattern)\n : {},\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: { type: type, value: value, location: location_1, style: style },\n err: null,\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number'\n ? TYPE.number\n : argType === 'date'\n ? TYPE.date\n : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null,\n },\n err: null,\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select': {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2,\n },\n err: null,\n };\n }\n else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2,\n },\n err: null,\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return { val: true, err: null };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */: {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */: {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */: {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n }\n else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n }\n catch (_a) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons\n ? parseNumberSkeleton(tokens)\n : {},\n },\n err: null,\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value, selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n }\n else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([\n selector,\n {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n ]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n (_a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location);\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return { val: options, err: null };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {\n }\n else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n }\n else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!Number.isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return { val: decimal, err: null };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column,\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = this.message.codePointAt(offset);\n if (code === undefined) {\n throw Error(\"Offset \".concat(offset, \" is at invalid UTF-16 code unit boundary\"));\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location,\n },\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n }\n else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (this.message.startsWith(prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n }\n else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" must be greater than or equal to the current offset \").concat(this.offset()));\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" is at invalid UTF-16 code unit boundary\"));\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return ((codepoint >= 97 && codepoint <= 122) ||\n (codepoint >= 65 && codepoint <= 90));\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return (c === 45 /* '-' */ ||\n c === 46 /* '.' */ ||\n (c >= 48 && c <= 57) /* 0..9 */ ||\n c === 95 /* '_' */ ||\n (c >= 97 && c <= 122) /** a..z */ ||\n (c >= 65 && c <= 90) /* A..Z */ ||\n c == 0xb7 ||\n (c >= 0xc0 && c <= 0xd6) ||\n (c >= 0xd8 && c <= 0xf6) ||\n (c >= 0xf8 && c <= 0x37d) ||\n (c >= 0x37f && c <= 0x1fff) ||\n (c >= 0x200c && c <= 0x200d) ||\n (c >= 0x203f && c <= 0x2040) ||\n (c >= 0x2070 && c <= 0x218f) ||\n (c >= 0x2c00 && c <= 0x2fef) ||\n (c >= 0x3001 && c <= 0xd7ff) ||\n (c >= 0xf900 && c <= 0xfdcf) ||\n (c >= 0xfdf0 && c <= 0xfffd) ||\n (c >= 0x10000 && c <= 0xeffff));\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return ((c >= 0x0009 && c <= 0x000d) ||\n c === 0x0020 ||\n c === 0x0085 ||\n (c >= 0x200e && c <= 0x200f) ||\n c === 0x2028 ||\n c === 0x2029);\n}\n","import { __extends } from \"tslib\";\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \".concat(this.code, \"] \").concat(this.message);\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\".concat(variableId, \"\\\": \\\"\").concat(value, \"\\\". Options are \\\"\").concat(Object.keys(options).join('\", \"'), \"\\\"\"), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\".concat(value, \"\\\" must be of type \").concat(type), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\".concat(variableId, \"\\\" was not provided to the string \\\"\").concat(originalMessage, \"\\\"\"), ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error.js';\nimport { Parser } from './parser.js';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement, } from './types.js';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n }\n else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n }\n else if ((isDateElement(el) || isTimeElement(el)) &&\n isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n }\n else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) { opts = {}; }\n opts = __assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types.js';\n// only for testing\nexport var _Parser = Parser;\nexport { isStructurallySame } from './manipulator.js';\n","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTagElement, isTimeElement, } from '@formatjs/icu-messageformat-parser';\nimport { ErrorCode, FormatError, InvalidValueError, InvalidValueTypeError, MissingValueError, } from './error.js';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== PART_TYPE.literal ||\n part.type !== PART_TYPE.literal) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: PART_TYPE.literal,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : formats.time.medium;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n if (style && style.scale) {\n value =\n value *\n (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\".concat(value)];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __rest, __spreadArray } from \"tslib\";\nimport { memoize, strategies } from '@formatjs/fast-memoize';\nimport { parse, } from '@formatjs/icu-messageformat-parser';\nimport { formatToParts, PART_TYPE, } from './formatters.js';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, c1), c2), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), c2[k]);\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n }),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n var _this = this;\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== PART_TYPE.literal ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () {\n var _a;\n return ({\n locale: ((_a = _this.resolvedLocale) === null || _a === void 0 ? void 0 : _a.toString()) ||\n Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n });\n };\n this.getAst = function () { return _this.ast; };\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.resolvedLocale = IntlMessageFormat.resolveLocale(locales);\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n var parseOpts = __rest(opts || {}\n // Parse string messages into an AST.\n , []);\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, __assign(__assign({}, parseOpts), { locale: this.resolvedLocale }));\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale =\n new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.resolveLocale = function (locales) {\n if (typeof Intl.Locale === 'undefined') {\n return;\n }\n var supportedLocales = Intl.NumberFormat.supportedLocalesOf(locales);\n if (supportedLocales.length > 0) {\n return new Intl.Locale(supportedLocales[0]);\n }\n return new Intl.Locale(typeof locales === 'string' ? locales : locales[0]);\n };\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0,\n },\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\n","import { __extends } from \"tslib\";\nexport var IntlErrorCode;\n(function (IntlErrorCode) {\n IntlErrorCode[\"FORMAT_ERROR\"] = \"FORMAT_ERROR\";\n IntlErrorCode[\"UNSUPPORTED_FORMATTER\"] = \"UNSUPPORTED_FORMATTER\";\n IntlErrorCode[\"INVALID_CONFIG\"] = \"INVALID_CONFIG\";\n IntlErrorCode[\"MISSING_DATA\"] = \"MISSING_DATA\";\n IntlErrorCode[\"MISSING_TRANSLATION\"] = \"MISSING_TRANSLATION\";\n})(IntlErrorCode || (IntlErrorCode = {}));\nvar IntlError = /** @class */ (function (_super) {\n __extends(IntlError, _super);\n function IntlError(code, message, exception) {\n var _this = this;\n var err = exception\n ? exception instanceof Error\n ? exception\n : new Error(String(exception))\n : undefined;\n _this = _super.call(this, \"[@formatjs/intl Error \".concat(code, \"] \").concat(message, \"\\n\").concat(err ? \"\\n\".concat(err.message, \"\\n\").concat(err.stack) : '')) || this;\n _this.code = code;\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (typeof Error.captureStackTrace === 'function') {\n // @ts-ignore just so we don't need to declare dep on @types/node\n Error.captureStackTrace(_this, IntlError);\n }\n return _this;\n }\n return IntlError;\n}(Error));\nexport { IntlError };\nvar UnsupportedFormatterError = /** @class */ (function (_super) {\n __extends(UnsupportedFormatterError, _super);\n function UnsupportedFormatterError(message, exception) {\n return _super.call(this, IntlErrorCode.UNSUPPORTED_FORMATTER, message, exception) || this;\n }\n return UnsupportedFormatterError;\n}(IntlError));\nexport { UnsupportedFormatterError };\nvar InvalidConfigError = /** @class */ (function (_super) {\n __extends(InvalidConfigError, _super);\n function InvalidConfigError(message, exception) {\n return _super.call(this, IntlErrorCode.INVALID_CONFIG, message, exception) || this;\n }\n return InvalidConfigError;\n}(IntlError));\nexport { InvalidConfigError };\nvar MissingDataError = /** @class */ (function (_super) {\n __extends(MissingDataError, _super);\n function MissingDataError(message, exception) {\n return _super.call(this, IntlErrorCode.MISSING_DATA, message, exception) || this;\n }\n return MissingDataError;\n}(IntlError));\nexport { MissingDataError };\nvar IntlFormatError = /** @class */ (function (_super) {\n __extends(IntlFormatError, _super);\n function IntlFormatError(message, locale, exception) {\n var _this = _super.call(this, IntlErrorCode.FORMAT_ERROR, \"\".concat(message, \"\\nLocale: \").concat(locale, \"\\n\"), exception) || this;\n _this.locale = locale;\n return _this;\n }\n return IntlFormatError;\n}(IntlError));\nexport { IntlFormatError };\nvar MessageFormatError = /** @class */ (function (_super) {\n __extends(MessageFormatError, _super);\n function MessageFormatError(message, locale, descriptor, exception) {\n var _this = _super.call(this, \"\".concat(message, \"\\nMessageID: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.id, \"\\nDefault Message: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.defaultMessage, \"\\nDescription: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.description, \"\\n\"), locale, exception) || this;\n _this.descriptor = descriptor;\n _this.locale = locale;\n return _this;\n }\n return MessageFormatError;\n}(IntlFormatError));\nexport { MessageFormatError };\nvar MissingTranslationError = /** @class */ (function (_super) {\n __extends(MissingTranslationError, _super);\n function MissingTranslationError(descriptor, locale) {\n var _this = _super.call(this, IntlErrorCode.MISSING_TRANSLATION, \"Missing message: \\\"\".concat(descriptor.id, \"\\\" for locale \\\"\").concat(locale, \"\\\", using \").concat(descriptor.defaultMessage\n ? \"default message (\".concat(typeof descriptor.defaultMessage === 'string'\n ? descriptor.defaultMessage\n : descriptor.defaultMessage\n .map(function (e) { var _a; return (_a = e.value) !== null && _a !== void 0 ? _a : JSON.stringify(e); })\n .join(), \")\")\n : 'id', \" as fallback.\")) || this;\n _this.descriptor = descriptor;\n return _this;\n }\n return MissingTranslationError;\n}(IntlError));\nexport { MissingTranslationError };\n","import { __assign, __spreadArray } from \"tslib\";\nimport { memoize, strategies } from '@formatjs/fast-memoize';\nimport { IntlMessageFormat } from 'intl-messageformat';\nimport { UnsupportedFormatterError } from './error.js';\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\nexport function filterProps(props, allowlist, defaults) {\n if (defaults === void 0) { defaults = {}; }\n return allowlist.reduce(function (filtered, name) {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nvar defaultErrorHandler = function (error) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n};\nvar defaultWarnHandler = function (warning) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n};\nexport var DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n defaultLocale: 'en',\n defaultFormats: {},\n fallbackOnEmptyString: true,\n onError: defaultErrorHandler,\n onWarn: defaultWarnHandler,\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {},\n };\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache) {\n if (cache === void 0) { cache = createIntlCache(); }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n var ListFormat = Intl.ListFormat;\n var DisplayNames = Intl.DisplayNames;\n var getDateTimeFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n });\n var getNumberFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n });\n var getPluralRules = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n });\n return {\n getDateTimeFormat: getDateTimeFormat,\n getNumberFormat: getNumberFormat,\n getMessageFormat: memoize(function (message, locales, overrideFormats, opts) {\n return new IntlMessageFormat(message, locales, overrideFormats, __assign({ formatters: {\n getNumberFormat: getNumberFormat,\n getDateTimeFormat: getDateTimeFormat,\n getPluralRules: getPluralRules,\n } }, opts));\n }, {\n cache: createFastMemoizeCache(cache.message),\n strategy: strategies.variadic,\n }),\n getRelativeTimeFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (RelativeTimeFormat.bind.apply(RelativeTimeFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.relativeTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: getPluralRules,\n getListFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (ListFormat.bind.apply(ListFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.list),\n strategy: strategies.variadic,\n }),\n getDisplayNames: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (DisplayNames.bind.apply(DisplayNames, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.displayNames),\n strategy: strategies.variadic,\n }),\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n var formatType = formats && formats[type];\n var format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(new UnsupportedFormatterError(\"No \".concat(type, \" format named: \").concat(name)));\n}\n","import { __assign } from \"tslib\";\nimport { TYPE } from '@formatjs/icu-messageformat-parser';\nimport { IntlMessageFormat, } from 'intl-messageformat';\nimport { MessageFormatError, MissingTranslationError } from './error.js';\nimport { invariant } from './utils.js';\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce(function (all, k) {\n all[k] = __assign({ timeZone: timeZone }, opts[k]);\n return all;\n }, {});\n}\nfunction deepMergeOptions(opts1, opts2) {\n var keys = Object.keys(__assign(__assign({}, opts1), opts2));\n return keys.reduce(function (all, k) {\n all[k] = __assign(__assign({}, opts1[k]), opts2[k]);\n return all;\n }, {});\n}\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n var mfFormats = IntlMessageFormat.formats;\n return __assign(__assign(__assign({}, mfFormats), f1), { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });\n}\nexport var formatMessage = function (_a, state, messageDescriptor, values, opts) {\n var locale = _a.locale, formats = _a.formats, messages = _a.messages, defaultLocale = _a.defaultLocale, defaultFormats = _a.defaultFormats, fallbackOnEmptyString = _a.fallbackOnEmptyString, onError = _a.onError, timeZone = _a.timeZone, defaultRichTextElements = _a.defaultRichTextElements;\n if (messageDescriptor === void 0) { messageDescriptor = { id: '' }; }\n var msgId = messageDescriptor.id, defaultMessage = messageDescriptor.defaultMessage;\n // `id` is a required field of a Message Descriptor.\n invariant(!!msgId, \"[@formatjs/intl] An `id` must be provided to format a message. You can either:\\n1. Configure your build toolchain with [babel-plugin-formatjs](https://formatjs.github.io/docs/tooling/babel-plugin)\\nor [@formatjs/ts-transformer](https://formatjs.github.io/docs/tooling/ts-transformer) OR\\n2. Configure your `eslint` config to include [eslint-plugin-formatjs](https://formatjs.github.io/docs/tooling/linter#enforce-id)\\nto autofix this issue\");\n var id = String(msgId);\n var message = \n // In case messages is Object.create(null)\n // e.g import('foo.json') from webpack)\n // See https://github.com/formatjs/formatjs/issues/1914\n messages &&\n Object.prototype.hasOwnProperty.call(messages, id) &&\n messages[id];\n // IMPORTANT: Hot path if `message` is AST with a single literal node\n if (Array.isArray(message) &&\n message.length === 1 &&\n message[0].type === TYPE.literal) {\n return message[0].value;\n }\n // IMPORTANT: Hot path straight lookup for performance\n if (!values &&\n message &&\n typeof message === 'string' &&\n !defaultRichTextElements) {\n return message.replace(/'\\{(.*?)\\}'/gi, \"{$1}\");\n }\n values = __assign(__assign({}, defaultRichTextElements), values);\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n if (!message) {\n if (fallbackOnEmptyString === false && message === '') {\n return message;\n }\n if (!defaultMessage ||\n (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the <IntlProvider> for the\n // default locale.\n onError(new MissingTranslationError(messageDescriptor, locale));\n }\n if (defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats, opts);\n return formatter.format(values);\n }\n catch (e) {\n onError(new MessageFormatError(\"Error formatting default message for: \\\"\".concat(id, \"\\\", rendering default message verbatim\"), locale, messageDescriptor, e));\n return typeof defaultMessage === 'string' ? defaultMessage : id;\n }\n }\n return id;\n }\n // We have the translated message\n try {\n var formatter = state.getMessageFormat(message, locale, formats, __assign({ formatters: state }, opts));\n return formatter.format(values);\n }\n catch (e) {\n onError(new MessageFormatError(\"Error formatting message: \\\"\".concat(id, \"\\\", using \").concat(defaultMessage ? 'default message' : 'id', \" as fallback.\"), locale, messageDescriptor, e));\n }\n if (defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats, opts);\n return formatter.format(values);\n }\n catch (e) {\n onError(new MessageFormatError(\"Error formatting the default message for: \\\"\".concat(id, \"\\\", rendering message verbatim\"), locale, messageDescriptor, e));\n }\n }\n if (typeof message === 'string') {\n return message;\n }\n if (typeof defaultMessage === 'string') {\n return defaultMessage;\n }\n return id;\n};\n","import { __assign } from \"tslib\";\nimport { IntlFormatError } from './error.js';\nimport { filterProps, getNamedFormat } from './utils.js';\nvar DATE_TIME_FORMAT_OPTIONS = [\n 'formatMatcher',\n 'timeZone',\n 'hour12',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'hourCycle',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n // 'dayPeriod',\n 'numberingSystem',\n 'fractionalSecondDigits',\n];\nexport function getFormatter(_a, type, getDateTimeFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError, timeZone = _a.timeZone;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = __assign(__assign({}, (timeZone && { timeZone: timeZone })), (format && getNamedFormat(formats, type, format, onError)));\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n if (type === 'time' &&\n !filteredOptions.hour &&\n !filteredOptions.minute &&\n !filteredOptions.second &&\n !filteredOptions.timeStyle &&\n !filteredOptions.dateStyle) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = __assign(__assign({}, filteredOptions), { hour: 'numeric', minute: 'numeric' });\n }\n return getDateTimeFormat(locale, filteredOptions);\n}\nexport function formatDate(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting date.', config.locale, e));\n }\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting time.', config.locale, e));\n }\n return String(date);\n}\nexport function formatDateTimeRange(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var from = _a[0], to = _a[1], _b = _a[2], options = _b === void 0 ? {} : _b;\n var fromDate = typeof from === 'string' ? new Date(from || 0) : from;\n var toDate = typeof to === 'string' ? new Date(to || 0) : to;\n try {\n return getFormatter(config, 'dateTimeRange', getDateTimeFormat, options).formatRange(fromDate, toDate);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting date time range.', config.locale, e));\n }\n return String(fromDate);\n}\nexport function formatDateToParts(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date); // TODO: remove this when https://github.com/microsoft/TypeScript/pull/50402 is merged\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting date.', config.locale, e));\n }\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date); // TODO: remove this when https://github.com/microsoft/TypeScript/pull/50402 is merged\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting time.', config.locale, e));\n }\n return [];\n}\n","import { filterProps } from './utils.js';\nimport { ErrorCode, FormatError } from 'intl-messageformat';\nimport { IntlFormatError } from './error.js';\nvar DISPLAY_NAMES_OPTONS = [\n 'style',\n 'type',\n 'fallback',\n 'languageDisplay',\n];\nexport function formatDisplayName(_a, getDisplayNames, value, options) {\n var locale = _a.locale, onError = _a.onError;\n var DisplayNames = Intl.DisplayNames;\n if (!DisplayNames) {\n onError(new FormatError(\"Intl.DisplayNames is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-displaynames\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, DISPLAY_NAMES_OPTONS);\n try {\n return getDisplayNames(locale, filteredOptions).of(value);\n }\n catch (e) {\n onError(new IntlFormatError('Error formatting display name.', locale, e));\n }\n}\n","import { __assign } from \"tslib\";\nimport { ErrorCode, FormatError } from 'intl-messageformat';\nimport { IntlFormatError } from './error.js';\nimport { filterProps } from './utils.js';\nvar LIST_FORMAT_OPTIONS = [\n 'type',\n 'style',\n];\nvar now = Date.now();\nfunction generateToken(i) {\n return \"\".concat(now, \"_\").concat(i, \"_\").concat(now);\n}\nexport function formatList(opts, getListFormat, values, options) {\n if (options === void 0) { options = {}; }\n var results = formatListToParts(opts, getListFormat, values, options).reduce(function (all, el) {\n var val = el.value;\n if (typeof val !== 'string') {\n all.push(val);\n }\n else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n }\n else {\n all.push(val);\n }\n return all;\n }, []);\n return results.length === 1 ? results[0] : results.length === 0 ? '' : results;\n}\nexport function formatListToParts(_a, getListFormat, values, options) {\n var locale = _a.locale, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var ListFormat = Intl.ListFormat;\n if (!ListFormat) {\n onError(new FormatError(\"Intl.ListFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-listformat\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n try {\n var richValues_1 = {};\n var serializedValues = Array.from(values).map(function (v, i) {\n if (typeof v === 'object' && v !== null) {\n var id = generateToken(i);\n richValues_1[id] = v;\n return id;\n }\n return String(v);\n });\n return getListFormat(locale, filteredOptions)\n .formatToParts(serializedValues)\n .map(function (part) {\n return (part.type === 'literal'\n ? part\n : __assign(__assign({}, part), { value: richValues_1[part.value] || part.value }));\n });\n }\n catch (e) {\n onError(new IntlFormatError('Error formatting list.', locale, e));\n }\n // @ts-ignore\n return values;\n}\n","import { ErrorCode, FormatError } from 'intl-messageformat';\nimport { IntlFormatError } from './error.js';\nimport { filterProps } from './utils.js';\nvar PLURAL_FORMAT_OPTIONS = ['type'];\nexport function formatPlural(_a, getPluralRules, value, options) {\n var locale = _a.locale, onError = _a.onError;\n if (options === void 0) { options = {}; }\n if (!Intl.PluralRules) {\n onError(new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n }\n catch (e) {\n onError(new IntlFormatError('Error formatting plural.', locale, e));\n }\n return 'other';\n}\n","import { getNamedFormat, filterProps } from './utils.js';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlFormatError } from './error.js';\nvar RELATIVE_TIME_FORMAT_OPTIONS = ['numeric', 'style'];\nfunction getFormatter(_a, getRelativeTimeFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = (!!format && getNamedFormat(formats, 'relative', format, onError)) || {};\n var filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\nexport function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options) {\n if (options === void 0) { options = {}; }\n if (!unit) {\n unit = 'second';\n }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n if (!RelativeTimeFormat) {\n config.onError(new FormatError(\"Intl.RelativeTimeFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-relativetimeformat\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting relative time.', config.locale, e));\n }\n return String(value);\n}\n","import { IntlFormatError } from './error.js';\nimport { filterProps, getNamedFormat } from './utils.js';\nvar NUMBER_FORMAT_OPTIONS = [\n 'style',\n 'currency',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n // ES2020 NumberFormat\n 'compactDisplay',\n 'currencyDisplay',\n 'currencySign',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'numberingSystem',\n // ES2023 NumberFormat\n 'trailingZeroDisplay',\n 'roundingPriority',\n 'roundingIncrement',\n 'roundingMode',\n];\nexport function getFormatter(_a, getNumberFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = ((format &&\n getNamedFormat(formats, 'number', format, onError)) ||\n {});\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexport function formatNumber(config, getNumberFormat, value, options) {\n if (options === void 0) { options = {}; }\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting number.', config.locale, e));\n }\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options) {\n if (options === void 0) { options = {}; }\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting number.', config.locale, e));\n }\n return [];\n}\n","import { __assign } from \"tslib\";\nimport { formatDate, formatDateTimeRange, formatDateToParts, formatTime, formatTimeToParts, } from './dateTime.js';\nimport { formatDisplayName } from './displayName.js';\nimport { InvalidConfigError, MissingDataError } from './error.js';\nimport { formatList, formatListToParts } from './list.js';\nimport { formatMessage } from './message.js';\nimport { formatNumber, formatNumberToParts } from './number.js';\nimport { formatPlural } from './plural.js';\nimport { formatRelativeTime } from './relativeTime.js';\nimport { createFormatters, DEFAULT_INTL_CONFIG } from './utils.js';\nfunction messagesContainString(messages) {\n var firstMessage = messages ? messages[Object.keys(messages)[0]] : undefined;\n return typeof firstMessage === 'string';\n}\nfunction verifyConfigMessages(config) {\n if (config.onWarn &&\n config.defaultRichTextElements &&\n messagesContainString(config.messages || {})) {\n config.onWarn(\"[@formatjs/intl] \\\"defaultRichTextElements\\\" was specified but \\\"message\\\" was not pre-compiled. \\nPlease consider using \\\"@formatjs/cli\\\" to pre-compile your messages for performance.\\nFor more details see https://formatjs.github.io/docs/getting-started/message-distribution\");\n }\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport function createIntl(config, cache) {\n var formatters = createFormatters(cache);\n var resolvedConfig = __assign(__assign({}, DEFAULT_INTL_CONFIG), config);\n var locale = resolvedConfig.locale, defaultLocale = resolvedConfig.defaultLocale, onError = resolvedConfig.onError;\n if (!locale) {\n if (onError) {\n onError(new InvalidConfigError(\"\\\"locale\\\" was not configured, using \\\"\".concat(defaultLocale, \"\\\" as fallback. See https://formatjs.github.io/docs/react-intl/api#intlshape for more details\")));\n }\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each <FormattedMessage> contains a `defaultMessage` prop.\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n }\n else if (!Intl.NumberFormat.supportedLocalesOf(locale).length && onError) {\n onError(new MissingDataError(\"Missing locale data for locale: \\\"\".concat(locale, \"\\\" in Intl.NumberFormat. Using default locale: \\\"\").concat(defaultLocale, \"\\\" as fallback. See https://formatjs.github.io/docs/react-intl#runtime-requirements for more details\")));\n }\n else if (!Intl.DateTimeFormat.supportedLocalesOf(locale).length &&\n onError) {\n onError(new MissingDataError(\"Missing locale data for locale: \\\"\".concat(locale, \"\\\" in Intl.DateTimeFormat. Using default locale: \\\"\").concat(defaultLocale, \"\\\" as fallback. See https://formatjs.github.io/docs/react-intl#runtime-requirements for more details\")));\n }\n verifyConfigMessages(resolvedConfig);\n return __assign(__assign({}, resolvedConfig), { formatters: formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateTimeRange: formatDateTimeRange.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: formatMessage.bind(null, resolvedConfig, formatters), $t: formatMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat), formatListToParts: formatListToParts.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames) });\n}\n","import { ReactiveTranslationMixin } from '@Anarchy/i18n/Mixins';\nimport type { TLocale, TLocaleId, TLocalesMapping, TMessages, TReactiveTranslationMixin, TTranslationService } from '@Anarchy/i18n/Models';\nimport { isDefined, isNotDefined } from '@Anarchy/Shared/Utils';\nimport type { MessageFormatElement } from '@formatjs/icu-messageformat-parser';\nimport type { FormatNumberOptions, IntlCache, IntlShape } from '@formatjs/intl';\nimport { createIntl, createIntlCache } from '@formatjs/intl';\nimport type { FormatDateOptions } from '@formatjs/intl/src/types';\nimport type { Observable, Subscription } from 'rxjs';\nimport { BehaviorSubject, distinctUntilChanged, filter, firstValueFrom, Subject } from 'rxjs';\n\nexport function TranslationService(initialLocale: TLocale, defaultLocale: TLocale, locales: TLocalesMapping): TTranslationService {\n const loaded: Map<TLocaleId, TMessages> = new Map<TLocaleId, TMessages>();\n const loadingLocales: Set<TLocaleId> = new Set();\n\n const cache: IntlCache = createIntlCache();\n const ready$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n const locale$: BehaviorSubject<TLocale> = new BehaviorSubject<TLocale>(initialLocale);\n const destroy$: Subject<void> = new Subject<void>();\n\n const intlMap: Map<TLocaleId, IntlShape<string>> = new Map<TLocaleId, IntlShape<string>>();\n\n function getIntl(locale: TLocale): IntlShape<string> {\n const existed: IntlShape<string> | undefined = intlMap.get(locale.id);\n if (isDefined(existed)) return existed;\n\n const current: TMessages = loaded.get(locale.id) ?? {};\n const fallback: TMessages = loaded.get(defaultLocale.id) ?? {};\n\n const intl: IntlShape<string> = createIntl({ locale: locale.id, defaultLocale: defaultLocale.id, messages: { ...fallback, ...current } }, cache);\n\n intlMap.set(locale.id, intl);\n\n return intl;\n }\n\n function addToLoading(id: TLocaleId): void {\n const before: number = loadingLocales.size;\n loadingLocales.add(id);\n if (loadingLocales.size !== before) ready$.next(loadingLocales.size === 0);\n }\n\n function removeFromLoading(id: TLocaleId): void {\n const before: number = loadingLocales.size;\n loadingLocales.delete(id);\n if (loadingLocales.size !== before) ready$.next(loadingLocales.size === 0);\n }\n\n async function loadLocale(locale: TLocale): Promise<void> | never {\n if (loadingLocales.has(locale.id) || loaded.has(locale.id)) return Promise.resolve();\n addToLoading(locale.id);\n\n const loadFn: (() => Promise<TMessages>) | undefined = locales[locale.id];\n if (isNotDefined(loadFn)) throw new Error('[TranslateService]: The locale is not defined in the locales mapping');\n const messages: TMessages = await loadLocaleSafe(loadFn, locale.id);\n\n loaded.set(locale.id, messages);\n removeFromLoading(locale.id);\n\n return Promise.resolve();\n }\n\n async function loadLocaleSafe(loadFn: () => Promise<TMessages>, localeId: TLocaleId): Promise<TMessages> | never {\n try {\n return await loadFn();\n } catch (error) {\n throw new Error(`[TranslateService]: Failed to load locale \"${localeId}\". Error: ${error instanceof Error ? error.message : String(error)}`);\n }\n }\n\n async function setLocale(locale: TLocale): Promise<void> {\n await loadLocale(locale);\n getIntl(locale);\n locale$.next(locale);\n }\n\n const localeSub$: Subscription = locale$.pipe(distinctUntilChanged((prev: TLocale, current: TLocale): boolean => prev.id === current.id)).subscribe((locale: TLocale): void => {\n const html: HTMLElement | undefined = document?.documentElement;\n html?.setAttribute?.('lang', intlMap.get(locale.id)?.locale ?? locale.id);\n html?.setAttribute?.('dir', locale.direction);\n\n // This allows to change the font depending on the locale.\n // To have effect, you should define in related @fontFaces and add variable, e.g.:\n //:root {\n // --anarchy-i18n-font: system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif;\n // }\n // body { font-family: var(--anarchy-i18n-font); }\n if (isDefined(locale.font)) html?.style?.setProperty('--anarchy-i18n-font', locale.font);\n });\n\n //Preload the locales (without waiting for the result)\n setLocale(defaultLocale);\n if (defaultLocale.id !== initialLocale.id) setLocale(initialLocale);\n\n const destroySub$: Subscription = destroy$.subscribe((): void => {\n destroySub$.unsubscribe();\n localeSub$.unsubscribe();\n\n ready$.complete();\n });\n\n const waitForTrue = async (source$: Observable<boolean>): Promise<boolean> => firstValueFrom(source$.pipe(filter(Boolean)));\n\n function translate(id: string, params?: Record<string, string>): string | never {\n const intl: IntlShape<string> | undefined = intlMap.get(locale$.value.id);\n // const intl: IntlShape<string> | undefined = getIntl(locale$.value);\n if (isNotDefined(intl)) throw new Error(`[TranslateService]: The service is not ready. Tried to translate: \"${id}\"`);\n\n const defaultMessage: string = (loaded.get(defaultLocale.id) ?? {})[id] ?? id;\n const result: string = intl.formatMessage({ id, defaultMessage }, params);\n\n if (result === id) console.warn(`[TranslateService]: Can't find translation for \"${id}\".`);\n return result;\n }\n\n function formatDate(value: Date | number, options?: FormatDateOptions): string | never {\n const intl: IntlShape<string> | undefined = intlMap.get(locale$.value.id);\n if (isDefined(intl)) return intl.formatDate(value, options);\n throw new Error(`[TranslateService]: The service is not ready. Tried to formatDate: \"${value}\"`);\n }\n\n function formatNumber(value: number, options?: FormatNumberOptions): string | never {\n const intl: IntlShape<string> | undefined = intlMap.get(locale$.value.id);\n if (isDefined(intl)) return intl.formatNumber(value, options);\n throw new Error(`[TranslateService]: The service is not ready. Tried to formatNumber: \"${value}\"`);\n }\n\n const result: Omit<TTranslationService, keyof TReactiveTranslationMixin> = {\n setLocale,\n translateSafe: async (id: string, params?: Record<string, string>): Promise<string> => {\n await waitForTrue(ready$);\n return translate(id, params);\n },\n translate,\n formatDate,\n formatDateSafe: async (value: Date | number, options?: FormatDateOptions): Promise<string> => {\n await waitForTrue(ready$);\n return formatDate(value, options);\n },\n formatNumber,\n formatNumberSafe: async (value: number, options?: FormatNumberOptions): Promise<string> => {\n await waitForTrue(ready$);\n return formatNumber(value, options);\n },\n getCurrentIntl: (): IntlShape | undefined => intlMap.get(locale$.value.id),\n getCurrentMessages: (): TMessages | Record<string, MessageFormatElement[]> | undefined => intlMap.get(locale$.value.id)?.messages,\n ready$,\n locale$: locale$.asObservable(),\n getCurrentLocale: (): TLocale => locale$.value,\n destroy$\n };\n\n const reactiveMixin: TReactiveTranslationMixin = ReactiveTranslationMixin(result);\n\n // eslint-disable-next-line functional/immutable-data\n return Object.assign(result, reactiveMixin);\n}\n","import { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\nexport function firstValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: function () {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=firstValueFrom.js.map","import type { TLocale, TLocaleId } from '@Anarchy/i18n/Models';\nimport { isDefined, isNotDefined, removeDuplicatesStr } from '@Anarchy/Shared/Utils';\n\nexport const getLangFromLocaleId = (localeId: TLocaleId): string => localeId.split('-')[0].toLowerCase();\n\nexport function getPreferLocaleId(preferredLocaleIds: ReadonlyArray<TLocaleId>, availableLocaleIds: ReadonlyArray<TLocaleId>, fallBackLocaleId: TLocaleId): TLocaleId {\n const exactMatch: TLocaleId | undefined = preferredLocaleIds.find((locale: TLocaleId) => availableLocaleIds.includes(locale));\n if (exactMatch) return exactMatch;\n\n // Try to find match by language only (e.g. \"en\" from \"en-US\")\n const preferredLangs: ReadonlyArray<string> = removeDuplicatesStr(preferredLocaleIds.map(getLangFromLocaleId));\n const langMatch: TLocaleId | undefined = availableLocaleIds.find((id: TLocaleId): boolean => preferredLangs.includes(getLangFromLocaleId(id)));\n\n if (isDefined(langMatch)) return langMatch;\n\n return fallBackLocaleId;\n}\n\nexport function getLocaleByLocaleId(localeId: TLocaleId, availableLocales: ReadonlyArray<TLocale>): TLocale | never {\n const result: TLocale | undefined = availableLocales.find((locale: TLocale): boolean => locale.id === localeId);\n if (isNotDefined(result)) throw new Error(`[LOCALE] Cannot find locale. Locale id is not defined`);\n return result;\n}\n\nexport function stringToLocaleId(str: string | TLocaleId): TLocaleId {\n if (isNotDefined(str)) throw new Error(`[LOCALE] Cannot convert string \"${str}\" to LocaleId: not defined`);\n const clean = String(str).trim().replace(/_/g, '-');\n const [canon] = Intl.getCanonicalLocales(clean);\n return canon as TLocaleId;\n}\n","export function omitInArray<T>(array: ReadonlyArray<T>, item: T): ReadonlyArray<T> {\n return array.filter((arrayItem: T): boolean => arrayItem !== item);\n}\n\nexport function forEachEnum<T extends Record<string | number, string | number>>(enumType: T, callback: (value: number | string, key: number | string, index: number) => void): void {\n Object.keys(enumType).forEach((key: string, index: number): void => callback(enumType[key], key, index));\n}\n\nexport function removeDuplicates<T extends { id: string }>(array: ReadonlyArray<T>): ReadonlyArray<T> {\n const uniqueMap = new Map<string, T>();\n // eslint-disable-next-line functional/no-loop-statements\n for (const item of array) {\n uniqueMap.set(item.id, item);\n }\n return Array.from(uniqueMap.values());\n}\n\nexport const removeDuplicatesStr = (arr: ReadonlyArray<string>): ReadonlyArray<string> => Array.from(new Set(arr));\n\nexport function asRecord<T, K extends keyof T, V extends string | number | symbol = T[K] & (string | number | symbol)>(key: K, list: ReadonlyArray<T>): Record<V, T> {\n return list.reduce(\n (acc, item) => {\n // eslint-disable-next-line functional/immutable-data\n acc[item[key] as V] = item;\n return acc;\n },\n {} as Record<V, T>\n );\n}\n\nexport function findDuplicateString(arr: ReadonlyArray<string>): string | undefined {\n const seen: Set<string> = new Set<string>();\n // eslint-disable-next-line functional/no-loop-statements\n for (const str of arr) {\n if (seen.has(str)) return str;\n seen.add(str);\n }\n return undefined;\n}\n"],"names":["afZa","id","languageCode","regionCode","englishName","nativeName","direction","amEt","arSa","azArabIr","scriptCode","azLatnAz","beBy","bgBg","bnBd","bnIn","bsBa","caEs","csCz","cyGb","daDk","deAt","deCh","deDe","elGr","enAu","enCa","enGb","enIe","enIn","enNz","enUs","enZa","esAr","esCl","esCo","esEs","esMx","esPe","esUs","etEe","faIr","fiFi","filPh","frBe","frCa","frCh","frFr","gaIe","glEs","guIn","heIl","hiIn","hrHr","huHu","idId","isIs","itCh","itIt","jaJp","jvId","kmKh","knIn","koKr","loLa","ltLt","lvLv","mlIn","mrIn","msMy","nbNo","nnNo","neNp","nlBe","nlNl","paIn","plPl","ptBr","ptPt","roRo","ruRu","siLk","skSk","slSi","sqAl","srCyrlRs","srLatnRs","svFi","svSe","swKe","taIn","taLk","thTh","trTr","ukUa","urPk","viVn","zhHansCn","zhHansSg","zhHantHk","zhHantTw","zuZa","isDefined","value","isNotDefined","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__generator","thisArg","body","f","y","_","label","sent","trys","ops","g","Iterator","next","verb","Symbol","iterator","v","op","done","pop","push","e","step","__values","o","m","__read","r","ar","error","__spreadArray","to","from","pack","l","slice","concat","__await","isFunction","createErrorClass","createImpl","ctorFunc","instance","Error","stack","SuppressedError","UnsubscriptionError","_super","errors","message","map","err","toString","join","name","arrRemove","arr","item","index","indexOf","splice","Subscription","initialTeardown","closed","_parentage","_finalizers","empty","unsubscribe","e_1","_a","e_2","_b","isArray","_parentage_1","_parentage_1_1","remove","e_1_1","return","initialFinalizer","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","add","teardown","_hasParent","_addParent","parent","includes","_removeParent","EMPTY","EMPTY_SUBSCRIPTION","isSubscription","reportUnhandledError","handler","timeout","args","_i","setTimeout","timeoutProvider","noop","errorContext","cb","Subscriber","destination","_this","isStopped","EMPTY_OBSERVER","complete","SafeSubscriber","_next","_error","_complete","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","undefined","observable","identity","x","Observable","subscribe","_subscribe","lift","operator","source","subscriber","isObserver","_trySubscribe","sink","forEach","promiseCtor","getPromiseCtor","resolve","reject","Symbol_observable","pipe","fns","operations","input","reduce","prev","fn","toPromise","Promise","operate","init","hasLift","liftedSource","createOperatorSubscriber","onNext","onComplete","onError","onFinalize","OperatorSubscriber","shouldUnsubscribe","closed_1","ObjectUnsubscribedError","Subject","currentObservers","observers","hasError","thrownError","subject","AnonymousSubject","_throwIfClosed","_c","shift","defineProperty","get","enumerable","configurable","_checkFinalizedStatuses","_innerSubscribe","asObservable","BehaviorSubject","_value","getValue","subscription","dateTimestampProvider","now","delegate","Date","ReplaySubject","_bufferSize","_windowTime","_timestampProvider","Infinity","_buffer","_infiniteTimeWindow","Math","max","_trimBuffer","copy","adjustedBufferSize","last","popScheduler","schedule","isArrayLike","isPromise","then","isInteropObservable","isAsyncIterable","obj","asyncIterator","createInvalidObservableTypeError","isIterable","Symbol_iterator","readableStreamLikeToAsyncGenerator","readableStream","_arguments","reader","getReader","read","releaseLock","q","AsyncIterator","a","resume","fulfill","settle","__asyncGenerator","isReadableStreamLike","innerFrom","obs","array","promise","fromAsyncIterable","iterable","iterable_1","iterable_1_1","asyncIterable","asyncIterable_1","asyncIterable_1_1","P","generator","__asyncValues","fulfilled","rejected","result","process","catch","executeSchedule","parentSubscription","scheduler","work","delay","repeat","scheduleSubscription","observeOn","subscribeOn","scheduleAsyncIterable","scheduleObservable","scheduleArray","schedulePromise","scheduleIterable","scheduleReadableStreamLike","scheduled","EmptyError","project","getPrototypeOf","objectProto","getKeys","keys","combineLatest","resultSelector","popResultSelector","first_1","key","argsArgArrayOrObject","observables","valueTransform","maybeSchedule","values","active","remainingFirstValues","_loop_1","hasFirstValue","combineLatestInit","createObject","callOrApply","execute","filter","predicate","distinctUntilChanged","comparator","keySelector","defaultCompare","previousKey","first","currentKey","handleReset","reset","on","onSubscriber","shareReplay","configOrBufferSize","windowTime","bufferSize","refCount","options","connector","resetOnError","resetOnComplete","_d","resetOnRefCountZero","wrapperSource","connection","resetConnection","hasCompleted","hasErrored","cancelReset","resetAndUnsubscribe","conn","dest","share","toObservable$","isObservable","of","ReactiveTranslationMixin","service","translate$","params","params$","locale$","getCurrentIntl","intl","formatMessage","defaultMessage","tapObserver","console","warn","isUnsub","finalize","formatNumber$","formatNumber","formatDate$","formatDate","memoize","strategy","strategyDefault","cache","cacheDefault","serializer","serializerDefault","monadic","arg","cacheKey","computedValue","set","variadic","assemble","context","serialize","bind","ErrorKind","TYPE","SKELETON_TYPE","JSON","stringify","ObjectWithoutPrototypeCache","strategies","isLiteralElement","el","type","literal","isArgumentElement","argument","isNumberElement","number","isDateElement","date","isTimeElement","time","isSelectElement","select","isPluralElement","plural","isPoundElement","pound","isTagElement","tag","isNumberSkeleton","isDateTimeSkeleton","dateTime","SPACE_SEPARATOR_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","skeleton","replace","match","len","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","WHITE_SPACE_REGEX","icuUnitToEcma","unit","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","INTEGER_WIDTH_REGEX","CONCISE_INTEGER_WIDTH_REGEX","parseSignificantPrecision","str","roundingPriority","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseConciseScientificAndEngineeringStem","stem","notation","test","minimumIntegerDigits","parseNotationOptions","opt","parseNumberSkeleton","tokens","tokens_1","token","style","scale","currency","useGrouping","maximumFractionDigits","compactDisplay","all","currencyDisplay","unitDisplay","parseFloat","roundingMode","g3","g4","g5","minimumFractionDigits","trailingZeroDisplay","signOpts","conciseScientificAndEngineeringOpts","timeData","AC","AD","AE","AF","AG","AI","AL","AM","AO","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CP","CR","CU","CV","CW","CX","CY","CZ","DE","DG","DJ","DK","DM","DO","DZ","EA","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HN","HR","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TA","TC","TD","TF","TG","TH","TJ","TL","TM","TN","TO","TR","TT","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW","getDefaultHourSymbolFromLocale","locale","hourCycles","regionTag","languageTag","language","maximize","region","SPACE_SEPARATOR_START_REGEX","RegExp","SPACE_SEPARATOR_END_REGEX","createLocation","start","end","ErrorCode","fromEntries","entries","entries_1","trimStart","trimEnd","IDENTIFIER_PREFIX_RE","Parser","position","offset","line","column","ignoreTag","requiresOtherClause","shouldParseSkeletons","parse","parseMessage","nestingLevel","parentArgType","expectingCloseTag","elements","isEOF","char","parseArgument","val","peek","UNMATCHED_CLOSING_TAG","clonePosition","_isAlpha","parseTag","parseLiteral","bump","location","startPosition","tagName","parseTagName","bumpSpace","bumpIf","childrenResult","children","endTagStartPosition","INVALID_TAG","closingTagNameStartPosition","UNCLOSED_TAG","startOffset","_isPotentialElementNameChar","parseQuoteResult","tryParseQuote","parseUnquotedResult","tryParseUnquoted","parseLeftAngleResult","tryParseLeftAngleBracket","codepoint","codePoints","ch","fromCodePoint","openingBracePosition","EXPECT_ARGUMENT_CLOSING_BRACE","EMPTY_ARGUMENT","parseIdentifierIfPossible","MALFORMED_ARGUMENT","parseArgumentOptions","startingPosition","lastIndex","exec","bumpTo","typeStartPosition","argType","typeEndPosition","EXPECT_ARGUMENT_TYPE","styleAndLocation","styleStartPosition","parseSimpleArgStyleIfPossible","EXPECT_ARGUMENT_STYLE","styleLocation","argCloseResult","tryParseArgumentClose","location_1","startsWith","parseNumberSkeletonFromString","EXPECT_DATE_TIME_SKELETON","dateTimePattern","skeletonCopy","patternPos","patternChar","charAt","extraLength","hourLen","dayPeriodLen","hourChar","getBestPattern","pattern","parsedOptions","typeEndPosition_1","EXPECT_SELECT_ARGUMENT_OPTIONS","identifierAndLocation","pluralOffset","EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE","tryParseDecimalInteger","INVALID_PLURAL_ARGUMENT_OFFSET_VALUE","optionsResult","tryParsePluralOrSelectOptions","location_2","pluralType","INVALID_ARGUMENT_TYPE","nestedBraces","apostrophePosition","bumpUntil","UNCLOSED_QUOTE_IN_ARGUMENT_STYLE","stringTokens_1","split","stemAndOptions","options_1","INVALID_NUMBER_SKELETON","expectCloseTag","parsedFirstIdentifier","hasOtherClause","parsedSelectors","Set","selector","selectorLocation","EXPECT_PLURAL_ARGUMENT_SELECTOR","INVALID_PLURAL_ARGUMENT_SELECTOR","has","DUPLICATE_SELECT_ARGUMENT_SELECTOR","DUPLICATE_PLURAL_ARGUMENT_SELECTOR","EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT","EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT","fragmentResult","EXPECT_SELECT_ARGUMENT_SELECTOR","MISSING_OTHER_CLAUSE","expectNumberError","invalidNumberError","sign","hasDigits","decimal","Number","isSafeInteger","code","codePointAt","kind","prefix","currentOffset","targetOffset","min","_isWhiteSpace","nextCode","charCodeAt","c","pruneLocation","els","k","opts","SyntaxError","originalMessage","captureLocation","PART_TYPE","FormatError","msg","InvalidValueError","variableId","INVALID_VALUE","InvalidValueTypeError","MissingValueError","MISSING_VALUE","isFormatXMLElementFn","formatToParts","locales","formatters","formats","currentPluralValue","els_1","getNumberFormat","format","varName","object","getDateTimeFormat","medium","value_1","formatFn","chunks","other","Intl","PluralRules","MISSING_INTL_API","rule","getPluralRules","parts","part","lastPart","createFastMemoizeCache","store","IntlErrorCode","IntlMessageFormat","overrideFormats","defaultLocale","defaultConfig","configs","formatterCache","pluralRules","ast","resolvedOptions","resolvedLocale","NumberFormat","supportedLocalesOf","getAst","resolveLocale","__parse","parseOpts","getOwnPropertySymbols","propertyIsEnumerable","__rest","c1","c2","DateTimeFormat","memoizedDefaultLocale","Locale","supportedLocales","integer","percent","short","long","full","IntlError","exception","captureStackTrace","UnsupportedFormatterError","UNSUPPORTED_FORMATTER","InvalidConfigError","INVALID_CONFIG","MissingDataError","MISSING_DATA","IntlFormatError","FORMAT_ERROR","MessageFormatError","descriptor","description","MissingTranslationError","MISSING_TRANSLATION","filterProps","props","allowlist","defaults","filtered","DEFAULT_INTL_CONFIG","messages","timeZone","defaultFormats","fallbackOnEmptyString","env","NODE_ENV","onWarn","warning","getNamedFormat","formatType","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","state","messageDescriptor","defaultRichTextElements","msgId","condition","Err","invariant","toLowerCase","getMessageFormat","DATE_TIME_FORMAT_OPTIONS","getFormatter","filteredOptions","timeStyle","dateStyle","config","formatTime","formatDateTimeRange","fromDate","toDate","formatRange","formatDateToParts","formatTimeToParts","DISPLAY_NAMES_OPTONS","formatDisplayName","getDisplayNames","DisplayNames","LIST_FORMAT_OPTIONS","formatList","getListFormat","results","formatListToParts","ListFormat","richValues_1","serializedValues","generateToken","PLURAL_FORMAT_OPTIONS","formatPlural","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","getRelativeTimeFormat","RelativeTimeFormat","NUMBER_FORMAT_OPTIONS","formatNumberToParts","createIntl","relativeTime","list","displayNames","createFormatters","resolvedConfig","verifyConfigMessages","$t","TranslationService","initialLocale","loaded","Map","loadingLocales","ready$","destroy$","intlMap","async","setLocale","before","size","addToLoading","loadFn","localeId","loadLocaleSafe","delete","removeFromLoading","loadLocale","existed","current","fallback","getIntl","localeSub$","html","document","documentElement","setAttribute","font","setProperty","destroySub$","waitForTrue","source$","firstValueFrom","Boolean","translate","translateSafe","formatDateSafe","formatNumberSafe","getCurrentMessages","getCurrentLocale","reactiveMixin","getLangFromLocaleId","getPreferLocaleId","preferredLocaleIds","availableLocaleIds","fallBackLocaleId","exactMatch","find","preferredLangs","langMatch","getLocaleByLocaleId","availableLocales","stringToLocaleId","clean","trim","canon","getCanonicalLocales"],"mappings":"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E,MAEA,GAAInB,4BAA4BgB,KAAKO,MAAMT,MACvCvL,OAAS1P,SAASA,SAAS,CAAA,EAAI0P,QAAS4K,0BAA0BoB,MAAMT,WAD5E,CAIA,IAAI0B,SAAW9B,UAAUa,MAAMT,MAC3B0B,WACAjN,OAAS1P,SAASA,SAAS,CAAA,EAAI0P,QAASiN,WAE5C,IAAIC,oCAAsC5B,yCAAyCU,MAAMT,MACrF2B,sCACAlN,OAAS1P,SAASA,SAAS,CAAA,EAAI0P,QAASkN,qCAP5C,CASJ,CACA,OAAOlN,MACX,CCzTO,IAAImN,SAAW,CAClB,MAAO,CACH,IACA,KAEJ,IAAO,CACH,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,KAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,KACA,KACA,IACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,KACA,KAEJC,GAAM,CACF,IACA,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,KACA,KACA,IACA,KAEJC,GAAM,CACF,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,KACA,KAEJC,GAAM,CACF,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,IACA,KAEJC,GAAM,CACF,KACA,KACA,IACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,KACA,IACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,KAEJC,GAAM,CACF,KACA,KACA,IACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,KACA,KACA,IACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,KAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,KAEJC,GAAM,CACF,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,MAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,KACA,KACA,IACA,KAEJC,GAAM,CACF,KACA,KACA,IACA,KAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,KACA,KACA,IACA,KAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,IACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,KAEJC,GAAM,CACF,IACA,KACA,KAEJC,GAAM,CACF,IACA,KACA,KACA,KAEJC,GAAM,CACF,IACA,MAEJC,GAAM,CACF,IACA,IACA,KACA,MAEJC,GAAM,CACF,IACA,KACA,IACA,MAEJC,GAAM,CACF,IACA,KAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,SAAU,CACN,IACA,KACA,KACA,KAEJ,QAAS,CACL,IACA,IACA,MAEJ,SAAU,CACN,IACA,KACA,IACA,MAEJ,QAAS,CACL,IACA,KACA,IACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,87]}
|