{"version":3,"sources":["./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../../../src/internal/operators/repeat.ts","../../../src/internal/operators/distinctUntilChanged.ts","../../../src/internal/operators/distinct.ts","../../../src/internal/observable/fromEventPattern.ts","../../../src/internal/operators/publishReplay.ts","../../../src/internal/operators/concatAll.ts","../../../src/internal/operators/endWith.ts","../../../src/internal/operators/reduce.ts","../../../src/internal/operators/takeUntil.ts","./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../src/internal/operators/sampleTime.ts","@ng-bootstrap/ng-bootstrap/util/util.ts","@ng-bootstrap/ng-bootstrap/accordion/accordion-config.ts","@ng-bootstrap/ng-bootstrap/accordion/accordion.ts","@ng-bootstrap/ng-bootstrap/accordion/accordion.module.ts","@ng-bootstrap/ng-bootstrap/alert/alert-config.ts","@ng-bootstrap/ng-bootstrap/alert/alert.ts","@ng-bootstrap/ng-bootstrap/alert/alert.module.ts","@ng-bootstrap/ng-bootstrap/buttons/label.ts","@ng-bootstrap/ng-bootstrap/buttons/checkbox.ts","@ng-bootstrap/ng-bootstrap/buttons/radio.ts","@ng-bootstrap/ng-bootstrap/buttons/buttons.module.ts","@ng-bootstrap/ng-bootstrap/carousel/carousel-config.ts","@ng-bootstrap/ng-bootstrap/carousel/carousel.ts","@ng-bootstrap/ng-bootstrap/carousel/carousel.module.ts","@ng-bootstrap/ng-bootstrap/collapse/collapse.ts","@ng-bootstrap/ng-bootstrap/collapse/collapse.module.ts","@ng-bootstrap/ng-bootstrap/datepicker/ngb-date.ts","@ng-bootstrap/ng-bootstrap/datepicker/ngb-calendar.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-tools.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-i18n.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-service.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-view-model.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-config.ts","@ng-bootstrap/ng-bootstrap/datepicker/adapters/ngb-date-adapter.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker.ts","@ng-bootstrap/ng-bootstrap/util/key.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-keyboard-service.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-month.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation.ts","@ng-bootstrap/ng-bootstrap/util/autoclose.ts","@ng-bootstrap/ng-bootstrap/util/focus-trap.ts","@ng-bootstrap/ng-bootstrap/util/positioning.ts","@ng-bootstrap/ng-bootstrap/datepicker/ngb-date-parser-formatter.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-input-config.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-input.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-day-view.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.ts","@ng-bootstrap/ng-bootstrap/datepicker/hijri/ngb-calendar-hijri.ts","@ng-bootstrap/ng-bootstrap/datepicker/hijri/ngb-calendar-islamic-civil.ts","@ng-bootstrap/ng-bootstrap/datepicker/hijri/ngb-calendar-islamic-umalqura.ts","@ng-bootstrap/ng-bootstrap/datepicker/jalali/jalali.ts","@ng-bootstrap/ng-bootstrap/datepicker/jalali/ngb-calendar-persian.ts","@ng-bootstrap/ng-bootstrap/datepicker/hebrew/hebrew.ts","@ng-bootstrap/ng-bootstrap/datepicker/hebrew/ngb-calendar-hebrew.ts","@ng-bootstrap/ng-bootstrap/datepicker/hebrew/datepicker-i18n-hebrew.ts","@ng-bootstrap/ng-bootstrap/datepicker/adapters/ngb-date-native-adapter.ts","@ng-bootstrap/ng-bootstrap/datepicker/adapters/ngb-date-native-utc-adapter.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker.module.ts","@ng-bootstrap/ng-bootstrap/dropdown/dropdown-config.ts","@ng-bootstrap/ng-bootstrap/dropdown/dropdown.ts","@ng-bootstrap/ng-bootstrap/dropdown/dropdown.module.ts","@ng-bootstrap/ng-bootstrap/modal/modal-config.ts","@ng-bootstrap/ng-bootstrap/util/popup.ts","@ng-bootstrap/ng-bootstrap/util/scrollbar.ts","@ng-bootstrap/ng-bootstrap/modal/modal-backdrop.ts","@ng-bootstrap/ng-bootstrap/modal/modal-ref.ts","@ng-bootstrap/ng-bootstrap/modal/modal-dismiss-reasons.ts","@ng-bootstrap/ng-bootstrap/modal/modal-window.ts","@ng-bootstrap/ng-bootstrap/modal/modal-stack.ts","@ng-bootstrap/ng-bootstrap/modal/modal.ts","@ng-bootstrap/ng-bootstrap/modal/modal.module.ts","@ng-bootstrap/ng-bootstrap/nav/nav-config.ts","@ng-bootstrap/ng-bootstrap/nav/nav.ts","@ng-bootstrap/ng-bootstrap/nav/nav-outlet.ts","@ng-bootstrap/ng-bootstrap/nav/nav.module.ts","@ng-bootstrap/ng-bootstrap/pagination/pagination-config.ts","@ng-bootstrap/ng-bootstrap/pagination/pagination.ts","@ng-bootstrap/ng-bootstrap/pagination/pagination.module.ts","@ng-bootstrap/ng-bootstrap/util/triggers.ts","@ng-bootstrap/ng-bootstrap/popover/popover-config.ts","@ng-bootstrap/ng-bootstrap/popover/popover.ts","@ng-bootstrap/ng-bootstrap/popover/popover.module.ts","@ng-bootstrap/ng-bootstrap/progressbar/progressbar-config.ts","@ng-bootstrap/ng-bootstrap/progressbar/progressbar.ts","@ng-bootstrap/ng-bootstrap/progressbar/progressbar.module.ts","@ng-bootstrap/ng-bootstrap/rating/rating-config.ts","@ng-bootstrap/ng-bootstrap/rating/rating.ts","@ng-bootstrap/ng-bootstrap/rating/rating.module.ts","@ng-bootstrap/ng-bootstrap/tabset/tabset-config.ts","@ng-bootstrap/ng-bootstrap/tabset/tabset.ts","@ng-bootstrap/ng-bootstrap/tabset/tabset.module.ts","@ng-bootstrap/ng-bootstrap/timepicker/ngb-time.ts","@ng-bootstrap/ng-bootstrap/timepicker/timepicker-config.ts","@ng-bootstrap/ng-bootstrap/timepicker/ngb-time-adapter.ts","@ng-bootstrap/ng-bootstrap/timepicker/timepicker-i18n.ts","@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts","@ng-bootstrap/ng-bootstrap/timepicker/timepicker.module.ts","@ng-bootstrap/ng-bootstrap/toast/toast-config.ts","@ng-bootstrap/ng-bootstrap/toast/toast.ts","@ng-bootstrap/ng-bootstrap/toast/toast.module.ts","@ng-bootstrap/ng-bootstrap/tooltip/tooltip-config.ts","@ng-bootstrap/ng-bootstrap/tooltip/tooltip.ts","@ng-bootstrap/ng-bootstrap/tooltip/tooltip.module.ts","@ng-bootstrap/ng-bootstrap/typeahead/highlight.ts","@ng-bootstrap/ng-bootstrap/typeahead/typeahead-window.ts","@ng-bootstrap/ng-bootstrap/util/accessibility/live.ts","@ng-bootstrap/ng-bootstrap/typeahead/typeahead-config.ts","@ng-bootstrap/ng-bootstrap/typeahead/typeahead.ts","@ng-bootstrap/ng-bootstrap/typeahead/typeahead.module.ts","@ng-bootstrap/ng-bootstrap/index.ts","@ng-bootstrap/ng-bootstrap/ng-bootstrap.ts","./node_modules/@angular/compiler/fesm2015/compiler.js","../../../src/internal/observable/zip.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../src/internal/symbol/rxSubscriber.ts","../../../src/internal/observable/partition.ts","../../src/internal/BehaviorSubject.ts","./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../src/internal/config.ts","../../../src/internal/operators/skipWhile.ts","../../../src/internal/operators/delay.ts","../../../src/internal/scheduler/AsyncAction.ts","../../../../../../packages/forms/src/directives/control_value_accessor.ts","../../../../../../packages/forms/src/directives/checkbox_value_accessor.ts","../../../../../../packages/forms/src/directives/default_value_accessor.ts","../../../../../../packages/forms/src/validators.ts","../../../../../../packages/forms/src/directives/abstract_control_directive.ts","../../../../../../packages/forms/src/directives/control_container.ts","../../../../../../packages/forms/src/directives/ng_control.ts","../../../../../../packages/forms/src/directives/ng_control_status.ts","../../../../../../packages/forms/src/directives/number_value_accessor.ts","../../../../../../packages/forms/src/directives/radio_control_value_accessor.ts","../../../../../../packages/forms/src/directives/range_value_accessor.ts","../../../../../../packages/forms/src/directives/error_examples.ts","../../../../../../packages/forms/src/directives/reactive_errors.ts","../../../../../../packages/forms/src/directives/select_control_value_accessor.ts","../../../../../../packages/forms/src/directives/select_multiple_control_value_accessor.ts","../../../../../../packages/forms/src/directives/shared.ts","../../../../../../packages/forms/src/model.ts","../../../../../../packages/forms/src/directives/ng_form.ts","../../../../../../packages/forms/src/directives/abstract_form_group_directive.ts","../../../../../../packages/forms/src/directives/template_driven_errors.ts","../../../../../../packages/forms/src/directives/ng_model_group.ts","../../../../../../packages/forms/src/directives/ng_model.ts","../../../../../../packages/forms/src/directives/ng_no_validate_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_name.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_name.ts","../../../../../../packages/forms/src/directives/validators.ts","../../../../../../packages/forms/src/directives.ts","../../../../../../packages/forms/src/form_builder.ts","../../../../../../packages/forms/src/version.ts","../../../../../../packages/forms/src/form_providers.ts","../../../../../../packages/forms/src/forms.ts","../../../../../../packages/forms/public_api.ts","../../../../../../packages/forms/index.ts","../../../../../../packages/forms/forms.ts","../../../src/internal/operators/auditTime.ts","../../../src/internal/operators/ignoreElements.ts","../../../src/internal/util/ArgumentOutOfRangeError.ts","../../../src/internal/observable/bindNodeCallback.ts","../../../src/internal/operators/race.ts","../../../src/internal/operators/timeInterval.ts","../../../src/internal/scheduled/schedulePromise.ts","../../../src/internal/operators/mergeMap.ts","../../../src/internal/operators/mergeScan.ts","../../src/internal/InnerSubscriber.ts","../../../src/internal/scheduled/scheduleObservable.ts","../../../src/internal/observable/never.ts","../../../src/internal/operators/debounce.ts","./node_modules/nouislider/distribute/nouislider.js","../../../src/internal/util/isObservable.ts","../../../src/internal/scheduled/scheduled.ts","../../../src/internal/scheduler/asap.ts","../../src/internal/Subscriber.ts","../../../src/internal/scheduler/Action.ts","../../../src/internal/operators/combineAll.ts","../../../src/internal/util/canReportError.ts","../../../src/internal/operators/bufferCount.ts","../../../src/internal/operators/elementAt.ts","../../../src/internal/util/ObjectUnsubscribedError.ts","../../../src/internal/operators/partition.ts","../src/compat/operator/filter.ts","../../../src/internal/operators/takeLast.ts","./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../src/internal/util/isIterable.ts","../../../src/internal/util/subscribeToObservable.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../src/internal/observable/from.ts","../../../src/internal/operators/mapTo.ts","../../../src/internal/scheduler/async.ts","../../../src/internal/util/isArray.ts","./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../src/internal/observable/ConnectableObservable.ts","../../../src/internal/observable/empty.ts","../../../src/internal/util/not.ts","../../../src/internal/operators/bufferToggle.ts","../../../src/internal/operators/expand.ts","../../../src/internal/operators/min.ts","../../../src/internal/operators/takeWhile.ts","../../../src/internal/operators/every.ts","../../../src/internal/operators/zip.ts","../../../src/internal/operators/repeatWhen.ts","../../../src/internal/observable/concat.ts","../../src/internal/Observable.ts","../../../src/internal/scheduler/QueueScheduler.ts","../../../src/internal/observable/onErrorResumeNext.ts","../../../src/internal/operators/count.ts","../../../src/internal/util/isArrayLike.ts","../../../src/internal/operators/toArray.ts","../../../src/internal/scheduler/AsyncScheduler.ts","../../../src/internal/operators/take.ts","../../../src/internal/operators/catchError.ts","./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../src/internal/operators/startWith.ts","./node_modules/@babel/runtime/helpers/esm/inherits.js","../../../src/internal/operators/zipAll.ts","../../../src/internal/operators/findIndex.ts","./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../src/internal/operators/debounceTime.ts","../../../src/internal/operators/scan.ts","../../../src/internal/util/noop.ts","./node_modules/@babel/runtime/helpers/esm/createSuper.js","../../../src/internal/observable/of.ts","../../../src/internal/symbol/iterator.ts","../../../src/internal/scheduled/scheduleIterable.ts","../../../src/internal/operators/retryWhen.ts","./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../src/internal/AsyncSubject.ts","../../../src/internal/util/hostReportError.ts","../../../src/internal/operators/last.ts","../../../src/internal/observable/range.ts","../../../src/internal/observable/defer.ts","../../../src/internal/operators/publish.ts","../../../src/internal/observable/race.ts","../../../src/internal/observable/SubscribeOnObservable.ts","./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../src/internal/operators/groupBy.ts","../../../src/internal/operators/bufferTime.ts","./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../src/internal/operators/distinctUntilKeyChanged.ts","../../../src/internal/operators/bufferWhen.ts","../../../src/internal/observable/timer.ts","../../../src/internal/scheduler/AsapAction.ts","../../../src/internal/util/isInteropObservable.ts","../../../src/internal/observable/using.ts","../../../src/internal/observable/bindCallback.ts","./node_modules/@babel/runtime/helpers/esm/construct.js","../../../src/internal/scheduler/AsapScheduler.ts","./node_modules/@babel/runtime/helpers/esm/get.js","../../../src/internal/util/subscribeTo.ts","../../../src/internal/util/identity.ts","../../../src/internal/operators/first.ts","./node_modules/@babel/runtime/helpers/esm/toArray.js","./node_modules/@babel/runtime/helpers/esm/typeof.js","../../../src/internal/operators/publishBehavior.ts","../../../src/internal/operators/windowTime.ts","../../../src/internal/operators/mergeMapTo.ts","../../../src/internal/operators/shareReplay.ts","../../../src/internal/observable/merge.ts","../../../src/internal/scheduler/AnimationFrameAction.ts","../../src/internal/Notification.ts","../../../src/internal/observable/generate.ts","../../../src/internal/util/toSubscriber.ts","../../../src/internal/operators/throwIfEmpty.ts","../../src/internal/Subject.ts","./node_modules/@babel/runtime/helpers/esm/superPropBase.js","../../../src/internal/util/isObject.ts","../../../src/internal/operators/exhaustMap.ts","../../src/internal/Scheduler.ts","../../../src/internal/util/TimeoutError.ts","../../../src/internal/operators/switchAll.ts","../../../src/internal/util/isNumeric.ts","./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../src/internal/SubjectSubscription.ts","../../../src/internal/scheduler/QueueAction.ts","../../../src/internal/util/subscribeToResult.ts","../../../src/internal/operators/pairwise.ts","../../../src/internal/operators/sequenceEqual.ts","./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../../../packages/platform-browser-dynamic/src/compiler_reflector.ts","../../../../../../packages/platform-browser-dynamic/src/compiler_factory.ts","../../../../../../packages/platform-browser-dynamic/src/platform_core_dynamic.ts","../../../../../../packages/platform-browser-dynamic/src/resource_loader/resource_loader_impl.ts","../../../../../../packages/platform-browser-dynamic/src/platform_providers.ts","../../../../../../packages/platform-browser-dynamic/src/resource_loader/resource_loader_cache.ts","../../../../../../packages/platform-browser-dynamic/src/private_export.ts","../../../../../../packages/platform-browser-dynamic/src/version.ts","../../../../../../packages/platform-browser-dynamic/src/platform-browser-dynamic.ts","../../../../../../packages/platform-browser-dynamic/public_api.ts","../../../../../../packages/platform-browser-dynamic/index.ts","../../../../../../packages/platform-browser-dynamic/platform-browser-dynamic.ts","../../../src/internal/util/subscribeToPromise.ts","../../../src/internal/operators/switchMapTo.ts","../../../src/internal/operators/mergeAll.ts","../../../src/internal/operators/concatMap.ts","../../../src/internal/util/isPromise.ts","../../../src/internal/operators/sample.ts","../../../src/internal/util/Immediate.ts","../../../src/internal/operators/find.ts","../../../src/internal/operators/delayWhen.ts","../../../src/internal/observable/forkJoin.ts","../../../src/internal/operators/single.ts","../../../src/internal/operators/materialize.ts","../../../src/internal/operators/switchMap.ts","../../../src/internal/scheduler/animationFrame.ts","../../../src/internal/operators/concat.ts","../../../src/internal/operators/combineLatest.ts","./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","../../src/add/operator/filter.ts","./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../src/internal/Observer.ts","../../../src/internal/operators/throttleTime.ts","./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../../../src/internal/observable/pairs.ts","../../src/compat/add/operator/filter.ts","../../../src/internal/scheduler/VirtualTimeScheduler.ts","../../../src/internal/observable/combineLatest.ts","../../../src/internal/scheduled/scheduleArray.ts","../../../../../../packages/platform-browser/src/browser/generic_browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/server-transition.ts","../../../../../../packages/platform-browser/src/browser/testability.ts","../../../../../../packages/platform-browser/src/dom/util.ts","../../../../../../packages/platform-browser/src/dom/debug/ng_probe.ts","../../../../../../packages/platform-browser/src/dom/events/event_manager.ts","../../../../../../packages/platform-browser/src/dom/shared_styles_host.ts","../../../../../../packages/platform-browser/src/dom/dom_renderer.ts","../../../../../../packages/platform-browser/src/dom/events/dom_events.ts","../../../../../../packages/platform-browser/src/dom/events/hammer_gestures.ts","../../../../../../packages/platform-browser/src/dom/events/key_events.ts","../../../../../../packages/platform-browser/src/security/dom_sanitization_service.ts","../../../../../../packages/platform-browser/src/browser.ts","../../../../../../packages/platform-browser/src/browser/meta.ts","../../../../../../packages/platform-browser/src/browser/title.ts","../../../../../../packages/platform-browser/src/browser/tools/browser.ts","../../../../../../packages/platform-browser/src/browser/tools/common_tools.ts","../../../../../../packages/platform-browser/src/browser/tools/tools.ts","../../../../../../packages/platform-browser/src/browser/transfer_state.ts","../../../../../../packages/platform-browser/src/dom/debug/by.ts","../../../../../../packages/platform-browser/src/private_export.ts","../../../../../../packages/platform-browser/src/version.ts","../../../../../../packages/platform-browser/src/platform-browser.ts","../../../../../../packages/platform-browser/public_api.ts","../../../../../../packages/platform-browser/index.ts","../../../../../../packages/platform-browser/platform-browser.ts","../../src/internal/ReplaySubject.ts","./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../../../src/internal/symbol/observable.ts","../../src/operators/index.ts","../../../src/internal/operators/skipLast.ts","../../../src/internal/operators/dematerialize.ts","../../../src/internal/observable/interval.ts","../../src/internal/OuterSubscriber.ts","../../../src/internal/operators/map.ts","../../../src/internal/operators/windowCount.ts","../../../src/internal/operators/isEmpty.ts","../../../src/internal/util/pipe.ts","./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../src/internal/operators/window.ts","../../../src/internal/util/isDate.ts","./node_modules/tslib/tslib.es6.js","../../../src/internal/util/isFunction.ts","../../../src/internal/operators/finalize.ts","../../../src/internal/util/subscribeToArray.ts","../../../src/internal/operators/multicast.ts","../../../../../../packages/common/src/dom_adapter.ts","../../../../../../packages/common/src/dom_tokens.ts","../../../../../../packages/common/src/location/platform_location.ts","../../../../../../packages/common/src/private_export.ts","../../../../../../packages/common/src/location/util.ts","../../../../../../packages/common/src/location/location_strategy.ts","../../../../../../packages/common/src/location/hash_location_strategy.ts","../../../../../../packages/common/src/location/location.ts","../../../../../../packages/common/src/location/index.ts","../../../../../../packages/common/src/i18n/currencies.ts","../../../../../../packages/common/src/i18n/locale_data_api.ts","../../../../../../packages/common/src/i18n/format_date.ts","../../../../../../packages/common/src/i18n/format_number.ts","../../../../../../packages/common/src/i18n/localization.ts","../../../../../../packages/common/src/i18n/locale_data.ts","../../../../../../packages/common/src/cookie.ts","../../../../../../packages/common/src/directives/ng_class.ts","../../../../../../packages/common/src/directives/ng_component_outlet.ts","../../../../../../packages/common/src/directives/ng_for_of.ts","../../../../../../packages/common/src/directives/ng_if.ts","../../../../../../packages/common/src/directives/ng_switch.ts","../../../../../../packages/common/src/directives/ng_plural.ts","../../../../../../packages/common/src/directives/ng_style.ts","../../../../../../packages/common/src/directives/ng_template_outlet.ts","../../../../../../packages/common/src/directives/index.ts","../../../../../../packages/common/src/pipes/invalid_pipe_argument_error.ts","../../../../../../packages/common/src/pipes/async_pipe.ts","../../../../../../packages/common/src/pipes/case_conversion_pipes.ts","../../../../../../packages/common/src/pipes/date_pipe.ts","../../../../../../packages/common/src/pipes/i18n_plural_pipe.ts","../../../../../../packages/common/src/pipes/i18n_select_pipe.ts","../../../../../../packages/common/src/pipes/json_pipe.ts","../../../../../../packages/common/src/pipes/keyvalue_pipe.ts","../../../../../../packages/common/src/pipes/number_pipe.ts","../../../../../../packages/common/src/pipes/slice_pipe.ts","../../../../../../packages/common/src/pipes/index.ts","../../../../../../packages/common/src/common_module.ts","../../../../../../packages/common/src/platform_id.ts","../../../../../../packages/common/src/version.ts","../../../../../../packages/common/src/viewport_scroller.ts","../../../../../../packages/common/src/common.ts","../../../../../../packages/common/public_api.ts","../../../../../../packages/common/index.ts","../../../../../../packages/common/common.ts","../../../src/internal/operators/buffer.ts","../../../src/internal/operators/filter.ts","../../../src/internal/util/subscribeToIterable.ts","../../../src/internal/operators/windowWhen.ts","../../../src/internal/util/UnsubscriptionError.ts","../../../src/internal/operators/observeOn.ts","../../../src/internal/operators/concatMapTo.ts","../../../src/internal/operators/merge.ts","../src/index.ts","../../../src/internal/operators/publishLast.ts","../../../src/internal/scheduler/queue.ts","../../src/internal/Subscription.ts","../../../src/internal/operators/timestamp.ts","../../../src/internal/observable/iif.ts","./node_modules/@babel/runtime/helpers/esm/defineProperty.js","./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../src/internal/operators/windowToggle.ts","../../../src/internal/util/EmptyError.ts","../../../src/internal/operators/timeoutWith.ts","../../../src/internal/operators/timeout.ts","../../../src/internal/operators/subscribeOn.ts","../../../../../../packages/common/http/src/backend.ts","../../../../../../packages/common/http/src/headers.ts","../../../../../../packages/common/http/src/params.ts","../../../../../../packages/common/http/src/request.ts","../../../../../../packages/common/http/src/response.ts","../../../../../../packages/common/http/src/client.ts","../../../../../../packages/common/http/src/interceptor.ts","../../../../../../packages/common/http/src/jsonp.ts","../../../../../../packages/common/http/src/xhr.ts","../../../../../../packages/common/http/src/xsrf.ts","../../../../../../packages/common/http/src/module.ts","../../../../../../packages/common/http/public_api.ts","../../../../../../packages/common/http/index.ts","../../../../../../packages/common/http/http.ts","../../../src/internal/operators/audit.ts","../../../../../../packages/router/src/events.ts","../../../../../../packages/router/src/shared.ts","../../../../../../packages/router/src/utils/collection.ts","../../../../../../packages/router/src/url_tree.ts","../../../../../../packages/router/src/utils/tree.ts","../../../../../../packages/router/src/router_state.ts","../../../../../../packages/router/src/create_router_state.ts","../../../../../../packages/router/src/create_url_tree.ts","../../../../../../packages/router/src/operators/activate_routes.ts","../../../../../../packages/router/src/config.ts","../../../../../../packages/router/src/utils/type_guards.ts","../../../../../../packages/router/src/operators/prioritized_guard_value.ts","../../../../../../packages/router/src/components/empty_outlet.ts","../../../../../../packages/router/src/utils/config.ts","../../../../../../packages/router/src/apply_redirects.ts","../../../../../../packages/router/src/operators/apply_redirects.ts","../../../../../../packages/router/src/utils/preactivation.ts","../../../../../../packages/router/src/operators/check_guards.ts","../../../../../../packages/router/src/recognize.ts","../../../../../../packages/router/src/operators/recognize.ts","../../../../../../packages/router/src/operators/resolve_data.ts","../../../../../../packages/router/src/operators/switch_tap.ts","../../../../../../packages/router/src/route_reuse_strategy.ts","../../../../../../packages/router/src/router_config_loader.ts","../../../../../../packages/router/src/router_outlet_context.ts","../../../../../../packages/router/src/url_handling_strategy.ts","../../../../../../packages/router/src/router.ts","../../../../../../packages/router/src/directives/router_link.ts","../../../../../../packages/router/src/directives/router_link_active.ts","../../../../../../packages/router/src/directives/router_outlet.ts","../../../../../../packages/router/src/router_preloader.ts","../../../../../../packages/router/src/router_scroller.ts","../../../../../../packages/router/src/router_module.ts","../../../../../../packages/router/src/version.ts","../../../../../../packages/router/src/private_export.ts","../../../../../../packages/router/src/index.ts","../../../../../../packages/router/public_api.ts","../../../../../../packages/router/index.ts","../../../../../../packages/router/router.ts","./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../../../src/internal/operators/onErrorResumeNext.ts","../../../src/internal/operators/retry.ts","../../../src/internal/operators/tap.ts","../../../src/internal/operators/skipUntil.ts","./node_modules/@babel/runtime/helpers/esm/createClass.js","../../../src/internal/operators/share.ts","../../../src/internal/operators/pluck.ts","../../../src/internal/operators/refCount.ts","../../../src/internal/operators/defaultIfEmpty.ts","../../../src/internal/observable/fromEvent.ts","../../../src/internal/observable/fromArray.ts","../../../src/internal/operators/max.ts","jw-bootstrap-switch-ng2/lib/jw-bootstrap-switch-ng2.component.ts","jw-bootstrap-switch-ng2/lib/jw-bootstrap-switch-ng2.module.ts","../../../src/internal/operators/throttle.ts","ts/src/ng2-nouislider.component.ts","ts/src/ng2-nouislider.module.ts","ts/src/ng2-nouislider.ts","../../../src/internal/util/isScheduler.ts","../../../src/internal/observable/throwError.ts","../../../src/internal/operators/skip.ts","../../../src/internal/scheduler/AnimationFrameScheduler.ts","../../../src/internal/operators/withLatestFrom.ts","../../../src/internal/operators/exhaust.ts","../../src/internal/innerSubscribe.ts"],"names":["nextId","NGB_DATEPICKER_VALUE_ACCESSOR","mod","GREGORIAN_EPOCH","isGregorianLeapYear","fromGregorian","toGregorian","TagContentType","splitNsName","elementName","colonIndex","indexOf","Error","slice","isNgContainer","tagName","isNgContent","isNgTemplate","getNsPrefix","fullName","mergeNsAndName","prefix","localName","NAMED_ENTITIES","NGSP_UNICODE","HtmlTagDefinition","closedByChildren","implicitNamespacePrefix","contentType","PARSABLE_DATA","closedByParent","isVoid","ignoreFirstLf","preventNamespaceInheritance","canSelfClose","length","forEach","name","toLowerCase","_DEFAULT_TAG_DEFINITION","TAG_DEFINITIONS","getHtmlTagDefinition","_a","_b","RAW_TEXT","ESCAPABLE_RAW_TEXT","_SELECTOR_REGEXP","RegExp","CssSelector","element","classNames","attrs","notSelectors","hasElementSelector","classAttr","join","i","attrName","attrValue","result","push","concat","value","res","klass","notSelector","selector","results","_addResult","cssSel","cssSelector","match","current","inNot","lastIndex","exec","tag","addAttribute","substr","addClassName","setElement","attribute","SelectorMatcher","_elementMap","Map","_elementPartialMap","_classMap","_classPartialMap","_attrValueMap","_attrValuePartialMap","_listContexts","cssSelectors","callbackCtxt","listContext","SelectorListContext","_addSelectable","matcher","selectable","SelectorContext","isTerminal","_addTerminal","_addPartial","className","terminalMap","terminalValuesMap","get","set","partialMap","partialValuesMap","map","terminalList","matchedCallback","alreadyMatched","_matchTerminal","_matchPartial","selectables","starSelectables","finalize","nestedSelector","notMatcher","addSelectables","selectors","cbContext","callback","createNotMatcher","createInject","makeMetadataFactory","token","createInjectionToken","desc","_desc","ɵprov","undefined","createAttribute","attributeName","createContentChildren","data","Object","assign","first","isViewQuery","descendants","createContentChild","createViewChildren","createViewChild","createDirective","dir","ViewEncapsulation","ChangeDetectionStrategy","createComponent","c","changeDetection","Default","createPipe","p","pure","createInput","bindingPropertyName","createOutput","createHostBinding","hostPropertyName","createHostListener","eventName","args","createNgModule","ngModule","createInjectable","injectable","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","createOptional","createSelf","createSkipSelf","createHost","Type","Function","SecurityContext","MissingTranslationStrategy","props","factory","values","ngMetadataName","isTypeOf","obj","parserSelectorToSimpleSelector","classes","parserSelectorToNegativeSelector","parserSelectorToR3Selector","positive","negative","parseSelectorToR3Selector","parse","core","freeze","__proto__","TypeModifier","Type$1","modifiers","modifier","BuiltinTypeName","BuiltinType","visitor","context","visitBuiltinType","ExpressionType","typeParams","visitExpressionType","ArrayType","of","visitArrayType","MapType","valueType","visitMapType","DYNAMIC_TYPE","Dynamic","INFERRED_TYPE","Inferred","BOOL_TYPE","Bool","INT_TYPE","Int","NUMBER_TYPE","Number","STRING_TYPE","String","FUNCTION_TYPE","NONE_TYPE","None","UnaryOperator","BinaryOperator","nullSafeIsEquivalent","base","other","isEquivalent","areAllEquivalent","len","Expression","type","sourceSpan","ReadPropExpr","index","ReadKeyExpr","params","InvokeMethodExpr","InvokeFunctionExpr","InstantiateExpr","trueCase","falseCase","ConditionalExpr","rhs","BinaryOperatorExpr","Equals","NotEquals","Identical","NotIdentical","Minus","Plus","Divide","Multiply","Modulo","And","parens","BitwiseAnd","Or","Lower","LowerEquals","Bigger","BiggerEquals","equals","TYPED_NULL_EXPR","CastExpr","ExpressionStatement","BuiltinVar","ReadVarExpr","builtin","e","visitReadVarExpr","WriteVarExpr","TypeofExpr","expr","visitTypeofExpr","isConstant","WrappedNodeExpr","node","visitWrappedNodeExpr","visitWriteVarExpr","DeclareVarStmt","toDeclStmt","StmtModifier","Final","WriteKeyExpr","receiver","visitWriteKeyExpr","WritePropExpr","visitWritePropExpr","BuiltinMethod","method","visitInvokeMethodExpr","fn","visitInvokeFunctionExpr","classExpr","visitInstantiateExpr","LiteralExpr","visitLiteralExpr","MessagePiece","text","LiteralPiece","PlaceholderPiece","LocalizedString","metaBlock","messageParts","placeHolderNames","expressions","visitLocalizedString","MEANING_SEPARATOR","ID_SEPARATOR","LEGACY_ID_INDICATOR","description","meaning","customId","legacyIds","legacyId","createCookedRawString","getMessagePartSourceSpan","_c","_d","partIndex","placeholderName","messagePart","escapeSlashes","str","replace","escapeStartingColon","escapeColons","escapeForMessagePart","range","cooked","raw","ExternalExpr","moduleName","runtime","visitExternalExpr","ExternalReference","condition","visitConditionalExpr","NotExpr","visitNotExpr","AssertNotNull","visitAssertNotNullExpr","visitCastExpr","FnParam","param","FunctionExpr","statements","visitFunctionExpr","DeclareFunctionStmt","UnaryOperatorExpr","operator","visitUnaryOperatorExpr","lhs","visitBinaryOperatorExpr","visitReadPropExpr","visitReadKeyExpr","LiteralArrayExpr","entries","every","visitLiteralArrayExpr","LiteralMapEntry","key","quoted","LiteralMapExpr","visitLiteralMapExpr","CommaExpr","parts","visitCommaExpr","THIS_EXPR","This","SUPER_EXPR","Super","CATCH_ERROR_VAR","CatchError","CATCH_STACK_VAR","CatchStack","NULL_EXPR","LeadingComment","multiline","trailingNewline","JSDocComment","tags","serializeTags","Statement","leadingComments","leadingComment","stmt","visitDeclareVarStmt","visitDeclareFunctionStmt","visitExpressionStmt","ReturnStatement","visitReturnStmt","AbstractClassPart","ClassField","initializer","f","ClassMethod","body","m","ClassGetter","ClassStmt","parent","fields","getters","constructorMethod","methods","visitDeclareClassStmt","IfStmt","visitIfStmt","TryCatchStmt","bodyStmts","catchStmts","visitTryCatchStmt","ThrowStmt","error","visitThrowStmt","AstTransformer","ast","transformExpr","visitExpression","visitAllExpressions","visitAllStatements","entry","mapType","exprs","transformStmt","getter","ctorMethod","stmts","visitStatement","RecursiveAstVisitor","visitType","findReadVarNames","_ReadVarVisitor","varNames","arguments","Set","add","collectExternalReferences","_FindExternalReferencesVisitor","externalReferences","applySourceSpanToStatementIfNeeded","transformer","_ApplySourceSpanTransformer","applySourceSpanToExpressionIfNeeded","clone","create","constructor","prototype","keys","prop","_clone","jsDocComment","variable","importExpr","id","importType","typeModifiers","expressionType","typeofExpr","literalArr","literalMap","unary","not","assertNotNull","ifStmt","thenClause","elseClause","literal","localizedString","placeholderNames","isNull","exp","tagToString","out","DASH_CASE_REGEXP","dashCaseToCamelCase","input","toUpperCase","splitAtColon","defaultValues","_splitAt","splitAtPeriod","character","characterIndex","trim","visitValue","Array","isArray","visitArray","isStrictStringMap","visitStringMap","visitPrimitive","visitOther","isDefined","val","noUndefined","ValueTransformer","arr","SyncAsync","assertSync","isPromise","then","cb","all","syncAsyncValues","some","Promise","msg","syntaxError","parseErrors","ERROR_SYNTAX_ERROR","ERROR_PARSE_ERRORS","isSyntaxError","getParseErrors","escapeRegExp","s","STRING_MAP_PROTO","getPrototypeOf","utf8Encode","encoded","codePoint","charCodeAt","low","stringify","overriddenName","toString","newLineIndex","substring","resolveForwardRef","hasOwnProperty","Version","full","splits","split","major","minor","patch","__window","window","__self","self","WorkerGlobalScope","__global","global","_global","newArray","size","list","partitionArray","conditionFn","truthy","falsy","item","CONSTANT_PREFIX","UNKNOWN_VALUE_KEY","KEY_CONTEXT","POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS","FixupExpression","resolved","original","expression","shared","ConstantPool","isClosureCompilerEnabled","literals","literalFactories","injectorDefinitions","directiveDefinitions","componentDefinitions","pipeDefinitions","nextNameIndex","forceShared","isLongStringLiteral","keyOf","fixup","newValue","freshName","definition","usage","callFn","kind","ctx","definitions","definitionsOf","property","propertyNameOf","argumentsForKey","_getLiteralFactory","expressionForKey","resultMap","literalFactory","literalFactoryArguments","filter","resultExpressions","getConstLiteral","parameters","isVariable","pureFunctionDeclaration","uniqueName","KeyVisitor","invalid","mapKey","quote","mapEntry","arg","CORE","Identifiers","ANALYZE_FOR_ENTRY_COMPONENTS","ElementRef","NgModuleRef","ViewContainerRef","ChangeDetectorRef","QueryList","TemplateRef","Renderer2","CodegenComponentFactoryResolver","ComponentFactoryResolver","ComponentFactory","ComponentRef","NgModuleFactory","createModuleFactory","moduleDef","moduleProviderDef","RegisterModuleFactoryFn","inject","directiveInject","INJECTOR","Injector","ɵɵdefineInjectable","InjectableDef","LOCALE_ID","TRANSLATIONS_FORMAT","inlineInterpolate","interpolate","EMPTY_ARRAY","EMPTY_MAP","Renderer","viewDef","elementDef","anchorDef","textDef","directiveDef","providerDef","queryDef","pureArrayDef","pureObjectDef","purePipeDef","pipeDef","nodeValue","ngContentDef","unwrapValue","createRendererType2","RendererType2","ViewDefinition","createComponentFactory","setClassMetadata","createTokenForReference","reference","identifier","createTokenForExternalReference","reflector","resolveExternalReference","StaticSymbol","filePath","members","JSON","StaticSymbolCache","cache","declarationFile","memberSuffix","HOST_REG_EXP","sanitizeIdentifier","_anonymousTypeIndex","identifierName","compileIdentifier","ref","identifierModuleUrl","viewClassName","compType","embeddedTemplateIndex","rendererTypeName","hostViewClassName","componentFactoryName","CompileSummaryKind","tokenName","tokenReference","CompileStylesheetMetadata","moduleUrl","styles","styleUrls","_normalizeArray","CompileTemplateMetadata","encapsulation","template","templateUrl","htmlAst","externalStylesheets","animations","ngContentSelectors","interpolation","isInline","preserveWhitespaces","flatten","CompileDirectiveMetadata","isHost","isComponent","exportAs","inputs","outputs","hostListeners","hostProperties","hostAttributes","providers","viewProviders","queries","guards","viewQueries","entryComponents","componentViewType","rendererType","componentFactory","summaryKind","Directive","toSummary","host","matches","inputsMap","bindConfig","outputsMap","CompilePipeMetadata","Pipe","CompileShallowModuleMetadata","CompileNgModuleMetadata","declaredDirectives","exportedDirectives","declaredPipes","exportedPipes","bootstrapComponents","importedModules","exportedModules","schemas","transitiveModule","module","NgModule","modules","TransitiveCompileNgModuleMetadata","directivesSet","directives","exportedDirectivesSet","pipesSet","pipes","exportedPipesSet","modulesSet","entryComponentsSet","provider","has","ec","componentType","ProviderMeta","useClass","useValue","useExisting","useFactory","deps","multi","dependencies","reduce","flat","flatItem","jitSourceUrl","url","templateSourceUrl","ngModuleType","compMeta","templateMeta","sharedStylesheetJitUrl","meta","pathParts","baseName","ngModuleJitUrl","moduleMeta","templateJitUrl","CORE$1","Identifiers$1","NEW_METHOD","TRANSFORM_METHOD","PATCH_DEPS","namespaceHTML","namespaceMathML","namespaceSVG","elementStart","elementEnd","advance","syntheticHostProperty","syntheticHostListener","attributeInterpolate1","attributeInterpolate2","attributeInterpolate3","attributeInterpolate4","attributeInterpolate5","attributeInterpolate6","attributeInterpolate7","attributeInterpolate8","attributeInterpolateV","classProp","elementContainerStart","elementContainerEnd","elementContainer","styleMap","styleMapInterpolate1","styleMapInterpolate2","styleMapInterpolate3","styleMapInterpolate4","styleMapInterpolate5","styleMapInterpolate6","styleMapInterpolate7","styleMapInterpolate8","styleMapInterpolateV","classMap","classMapInterpolate1","classMapInterpolate2","classMapInterpolate3","classMapInterpolate4","classMapInterpolate5","classMapInterpolate6","classMapInterpolate7","classMapInterpolate8","classMapInterpolateV","styleProp","stylePropInterpolate1","stylePropInterpolate2","stylePropInterpolate3","stylePropInterpolate4","stylePropInterpolate5","stylePropInterpolate6","stylePropInterpolate7","stylePropInterpolate8","stylePropInterpolateV","nextContext","templateCreate","enableBindings","disableBindings","getCurrentView","textInterpolate","textInterpolate1","textInterpolate2","textInterpolate3","textInterpolate4","textInterpolate5","textInterpolate6","textInterpolate7","textInterpolate8","textInterpolateV","restoreView","pureFunction0","pureFunction1","pureFunction2","pureFunction3","pureFunction4","pureFunction5","pureFunction6","pureFunction7","pureFunction8","pureFunctionV","pipeBind1","pipeBind2","pipeBind3","pipeBind4","pipeBindV","hostProperty","propertyInterpolate","propertyInterpolate1","propertyInterpolate2","propertyInterpolate3","propertyInterpolate4","propertyInterpolate5","propertyInterpolate6","propertyInterpolate7","propertyInterpolate8","propertyInterpolateV","i18n","i18nAttributes","i18nExp","i18nStart","i18nEnd","i18nApply","i18nPostprocess","pipe","projection","projectionDef","injectAttribute","injectPipeChangeDetectorRef","invalidFactory","invalidFactoryDep","templateRefExtractor","resolveWindow","resolveDocument","resolveBody","defineComponent","setComponentScope","ComponentDefWithMeta","FactoryDef","defineDirective","DirectiveDefWithMeta","InjectorDef","defineInjector","NgModuleDefWithMeta","ModuleWithProviders","defineNgModule","setNgModuleScope","PipeDefWithMeta","definePipe","queryRefresh","viewQuery","staticViewQuery","staticContentQuery","loadQuery","contentQuery","NgOnChangesFeature","InheritDefinitionFeature","CopyDefinitionFeature","ProvidersFeature","listener","getFactoryOf","getInheritedFactory","sanitizeHtml","sanitizeStyle","sanitizeResourceUrl","sanitizeScript","sanitizeUrl","sanitizeUrlOrResourceUrl","trustConstantHtml","trustConstantScript","trustConstantResourceUrl","mapToMapExpression","convertMetaToOutput","typeWithParameters","numParams","ANIMATE_SYMBOL_PREFIX","prepareSyntheticPropertyName","prepareSyntheticListenerName","phase","isSyntheticPropertyOrListener","charAt","getSyntheticPropertyName","prepareSyntheticListenerFunctionName","jitOnlyGuardedExpression","ngJitMode","jitFlagNotDefined","jitFlagUndefinedOrTrue","wrapReference","wrapped","Text","visitText","BoundText","visitBoundText","TextAttribute","valueSpan","visitTextAttribute","BoundAttribute","securityContext","unit","keySpan","visitBoundAttribute","BoundEvent","handler","target","handlerSpan","visitBoundEvent","event","targetOrPhase","Element","attributes","children","references","startSourceSpan","endSourceSpan","visitElement","Template","templateAttrs","variables","visitTemplate","Content","visitContent","Variable","visitVariable","Reference","visitReference","Icu","vars","placeholders","visitIcu","NullVisitor","content","icu","RecursiveVisitor","visitAll","TransformVisitor","newAttributes","transformAll","newInputs","newOutputs","newChildren","newReferences","newTemplateAttrs","newVariables","nodes","visit","newNode","changed","Message","placeholderToMessage","sources","start","file","startLine","line","startCol","col","endLine","end","endCol","Text$1","Container","visitContainer","Icu$1","cases","TagPlaceholder","startName","closeName","visitTagPlaceholder","Placeholder","visitPlaceholder","IcuPlaceholder","visitIcuPlaceholder","CloneVisitor","container","n","expressionPlaceholder","ph","RecurseVisitor","child","k","BigInteger","digits","addToSelf","maxNrOfDigits","Math","max","carry","digitSum","BigIntForMultiplication","powerOfTwos","num","product","zero","multiplyByAndAddTo","exponent","getMultipliedByPowerOfTwo","previousPower","BigIntExponentiation","exponents","one","multiplyBy","digest","message","computeDigest","sha1","serializeNodes","decimalDigest","computeDecimalDigest","_SerializerIgnoreIcuExpVisitor","a","computeMsgId","_SerializerVisitor","strCases","serializerVisitor","utf8","words32","bytesToWords32","Endian","Big","w","b","d","h0","h1","h2","h3","h4","j","rol32","fkVal","fk","temp","add32","bytesToHexString","words32ToByteString","fingerprint","hi","hash32","lo","msgFingerprint","meaningFingerprint","add64","rol64","wordsToDecimalString","bytes","wordAt","Little","mix","sub32","add32to64","high","ah","al","bh","bl","l","h","count","endian","byteAt","word","word32ToByteString","hex","base256","decimal","toThePowerOf","Serializer","SimplePlaceholderMapper","mapName","internalToPublic","publicToNextId","publicToInternal","internalName","publicName","visitPlaceholderName","_Visitor","strAttrs","_serializeAttributes","strChildren","decl","doctype","rootTag","dtd","_visitor","serialize","Declaration","unescapedAttrs","escapeXml","visitDeclaration","Doctype","visitDoctype","Tag","visitTag","Text$2","unescapedValue","CR","ws","_ESCAPED_CHARS","_MESSAGES_TAG","_MESSAGE_TAG","_PLACEHOLDER_TAG","_EXAMPLE_TAG","_SOURCE_TAG","_DOCTYPE","Xmb","messages","locale","exampleVisitor","ExampleVisitor","_Visitor$1","rootNode","sourceTags","source","version","encoding","addDefaultExamples","digest$1","toPublicName","startTagAsText","startEx","startTagPh","closeTagAsText","closeEx","closeTagPh","interpolationAsText","exTag","icuExpression","icuType","icuCases","icuAsText","exText","CLOSURE_TRANSLATION_VAR_PREFIX","TRANSLATION_VAR_PREFIX","I18N_ATTR","I18N_ATTR_PREFIX","I18N_ICU_VAR_PREFIX","I18N_ICU_MAPPING_PREFIX","I18N_PLACEHOLDER_SYMBOL","isI18nAttribute","startsWith","isI18nRootNode","isSingleI18nIcu","hasI18nMeta","hasI18nAttrs","attr","icuFromI18nMessage","wrapI18nPlaceholder","contextId","blockId","assembleI18nBoundString","strings","bindingStartIndex","acc","lastIdx","getSeqNumberGenerator","startsAt","placeholdersToParams","updatePlaceholderMap","assembleBoundTextPlaceholders","startIdx","find","idx","i18nFormatPlaceholderNames","useCamelCase","_params","formatI18nPlaceholderName","chunks","postfix","test","pop","shift","getTranslationConstPrefix","extra","declareI18nVariable","UNSAFE_OBJECT_KEY_NAME_REGEXP","TEMPORARY_NAME","CONTEXT_NAME","RENDER_FLAGS","REFERENCE_PREFIX","IMPLICIT_REFERENCE","NON_BINDABLE_ATTR","temporaryAllocator","unsupported","feature","invalid$1","asLiteral","conditionallyCreateMapObjectLiteral","keepDeclared","getOwnPropertyNames","mapToExpression","declaredName","minifiedName","trimTrailingNulls","getQueryPredicate","query","constantPool","predicate","DefinitionMap","getAttrsForDirectiveMatching","elOrTpl","attributesMap","o","chainedInstruction","calls","span","getInterpolationArgsLength","R3FactoryDelegateType","R3FactoryTarget","R3ResolvedDependencyType","compileFactoryFunction","t","ctorDepsType","typeForCtor","isDelegatedMetadata","internalType","ctorExpr","injectDependencies","injectFn","createCtorDepsType","baseFactory","baseFactoryStmt","Exported","ctorExprFinal","retExpr","makeConditionalFactory","nonCtorExpr","r","ctorStmt","toStmt","delegateType","Factory","delegateFactory","delegate","delegateFactoryStmt","delegateArgs","delegateDeps","factoryExpr","Class","isExpressionFactoryMetadata","typeArgumentCount","isPipe","dep","compileInjectDependency","Token","flags","skipSelf","optional","flagsParam","injectArgs","Attribute","Invalid","hasTypes","attributeTypes","createCtorDepType","dependenciesFromGlobalMetadata","outputCtx","injectorRef","diDeps","dependency","tokenRef","isAttribute","isOptional","isSelf","isSkipSelf","compileInjectable","factoryMeta","Injectable","useClassOnSelf","userDeps","delegateToFactory","injectableProps","providedIn","callMethod","assertArrayOfStrings","UNUSABLE_INTERPOLATION_REGEXPS","assertInterpolationSymbols","regexp","InterpolationConfig","markers","DEFAULT_INTERPOLATION_CONFIG","VERSION","JS_B64_PREFIX","SourceMapGenerator","sourcesContent","lines","lastCol0","hasMappings","col0","sourceUrl","sourceLine0","sourceCol0","currentLine","sourcesIndex","from","mappings","lastSourceIndex","lastSourceLine0","lastSourceCol0","segments","segment","segAsStr","toBase64VLQ","toBase64String","b64","i1","i2","i3","toBase64Digit","digit","B64_DIGITS","_SINGLE_QUOTE_ESCAPE_STRING_RE","_LEGAL_IDENTIFIER_RE","_INDENT_WITH","CATCH_ERROR_VAR$1","CATCH_STACK_VAR$1","_EmittedLine","indent","partsLength","srcSpans","EmitterVisitorContext","_indent","_classes","_preambleLineCount","_lines","lastPart","print","_currentLine","part","newLine","lineIsEmpty","clazz","sourceLines","_createIndent","genFilePath","startsAtLine","firstOffsetMapped","mapFirstOffsetIfNeeded","addSource","addMapping","addLine","lineIdx","spans","spanIdx","sourceLine","sourceCol","column","emittedLine","columnsLeft","AbstractEmitterVisitor","_escapeDollarInStrings","comment","println","printLeadingComments","hasElseCase","removeEmptyLastLine","incIndent","decIndent","lineWasEmpty","getBuiltinMethodName","varName","escapeIdentifier","head","serializeI18nHead","serializeI18nTemplatePart","opStr","visitAllObjects","separator","incrementedIndent","lineLength","escapeDollar","alwaysQuote","requiresQuotes","AbstractJsEmitterVisitor","pushClass","_visitClassConstructor","_visitClassGetter","_visitClassMethod","popClass","_visitParams","fnExpr","currentClass","ConcatArray","SubscribeObservable","Bind","JitEvaluator","createSourceMaps","converter","JitEmitterVisitor","createRoot","isUseStrictStatement","createReturnStmt","evaluateCode","getArgs","createSourceMap","fnBody","toSource","fnArgNames","fnArgValues","argName","emptyFn","headerLines","toSourceMapGenerator","toJsComment","executeFunction","_evalArgNames","_evalArgValues","_evalExportedVars","resultVar","_emitReferenceToExternal","hasModifier","statement","$EOF","$BSPACE","$TAB","$LF","$VTAB","$FF","$CR","$SPACE","$BANG","$DQ","$HASH","$$","$PERCENT","$AMPERSAND","$SQ","$LPAREN","$RPAREN","$STAR","$PLUS","$COMMA","$MINUS","$PERIOD","$SLASH","$COLON","$SEMICOLON","$LT","$EQ","$GT","$QUESTION","$0","$7","$9","$A","$E","$F","$X","$Z","$LBRACKET","$BACKSLASH","$RBRACKET","$CARET","$_","$a","$b","$e","$f","$n","$r","$t","$u","$v","$x","$z","$LBRACE","$BAR","$RBRACE","$NBSP","$PIPE","$TILDA","$AT","$BT","isWhitespace","code","isDigit","isAsciiLetter","isAsciiHexDigit","isNewLine","isOctalDigit","ParseLocation","offset","delta","ch","priorLine","lastIndexOf","fromCharCode","maxChars","maxLines","startOffset","endOffset","ctxChars","ctxLines","before","after","ParseSourceFile","ParseSourceSpan","fullStart","details","ParseErrorLevel","ParseError","level","ERROR","getContext","contextualMessage","typeSourceSpan","sourceFileName","sourceFile","r3JitTypeSourceSpan","typeName","R3JitReflector","typeOrFunc","lcProperty","cmpMetadata","mapLiteral","compileNgModule","moduleType","bootstrap","declarations","imports","exports","containsForwardDecls","emitInline","additionalStatements","definitionMap","refsToArray","setNgModuleScopeCall","generateSetNgModuleScopeCall","tupleTypeOf","adjacentType","scopeMap","fnCall","guardedCall","iife","iifeCall","compileInjector","compileNgModuleFromRender2","injectableCompiler","rawImports","rawExports","injectorDefArg","factoryFor","symbol","rawProviders","injectorDef","Static","accessExportScope","selectorScope","types","refs","shouldForwardDeclare","compilePipeFromMetadata","metadata","definitionMapValues","pipeName","compilePipeFromRender2","factoryRes","definitionField","ngFactoryDefStatement","pipeDefStatement","ParserError","errLocation","ctxLocation","ParseSpan","absoluteOffset","AbsoluteSourceSpan","AST","ASTWithName","nameSpan","Quote","uninterpretedExpression","location","visitQuote","EmptyExpr","ImplicitReceiver","visitImplicitReceiver","ThisReceiver","visitThisReceiver","call","Chain","visitChain","Conditional","trueExp","falseExp","visitConditional","PropertyRead","visitPropertyRead","PropertyWrite","visitPropertyWrite","SafePropertyRead","visitSafePropertyRead","KeyedRead","visitKeyedRead","KeyedWrite","visitKeyedWrite","BindingPipe","visitPipe","LiteralPrimitive","visitLiteralPrimitive","LiteralArray","visitLiteralArray","LiteralMap","visitLiteralMap","Interpolation","visitInterpolation","Binary","operation","left","right","visitBinary","Unary","binaryOp","binaryLeft","binaryRight","visitUnary","PrefixNot","visitPrefixNot","NonNullAssert","visitNonNullAssert","MethodCall","visitMethodCall","SafeMethodCall","visitSafeMethodCall","FunctionCall","visitFunctionCall","ASTWithSource","errors","visitASTWithSource","VariableBinding","ExpressionBinding","RecursiveAstVisitor$1","asts","AstTransformer$1","createPlus","createMinus","AstMemoryEfficientTransformer","modified","ParsedProperty","isLiteral","ParsedPropertyType","LITERAL_ATTR","isAnimation","ANIMATION","ParsedEvent","ParsedVariable","BoundElementProperty","EventHandlerVars","ConvertActionBindingResult","allowDefault","render3Stmts","convertActionBinding","localResolver","implicitReceiver","action","bindingId","interpolationFunction","baseSourceSpan","implicitReceiverAccesses","globals","DefaultLocalResolver","actionWithoutBuiltins","convertPropertyBindingBuiltins","createLiteralArrayConverter","argCount","createLiteralMapConverter","createPipeConverter","_AstToIrVisitor","actionStmts","flattenStatements","_Mode","prependTemporaryDecls","temporaryCount","usesImplicitReceiver","notifyImplicitReceiverUse","preventDefaultVar","lastStatement","returnExpr","convertStmtIntoExpression","createPreventDefaultVar","cast","notIdentical","converterFactory","convertBuiltins","ConvertPropertyBindingResult","currValExpr","BindingForm","convertPropertyBinding","expressionWithoutBuiltins","form","outputExpr","getStatementsFromVisitor","TrySimple","createCurrValueExpr","convertUpdateArguments","contextVariableExpression","expressionWithArgumentsToExtract","temporaryDeclaration","_BuiltinAstConverter","temporaryName","temporaryNumber","unshift","ensureStatementMode","mode","ensureExpressionMode","convertToStatementIfNeeded","_converterFactory","BuiltinFunctionCall","_localResolver","_implicitReceiver","_nodeMap","_resultMap","_currentTemporary","op","_visit","convertSourceSpan","conditional","convertedArgs","fnResult","leftMostSafe","leftMostSafeNode","convertSafeAccess","getLocal","prevUsesImplicitReceiver","varExpr","_getLocal","addImplicitReceiverAccess","localExpr","guardedExpression","temporary","needsTemporary","allocateTemporary","isBlank","access","delete","releaseTemporary","visitSome","tempNumber","moveBy","output","ShadowCss","strictStyling","cssText","hostSelector","commentsWithHash","extractCommentsWithHash","stripComments","_insertDirectives","scopedCssText","_scopeCssText","_insertPolyfillDirectivesInCssText","_insertPolyfillRulesInCssText","_cssContentNextSelectorRe","_cssContentRuleRe","rule","scopeSelector","unscopedRules","_extractUnscopedRulesFromCssText","_insertPolyfillHostInCssText","_convertColonHost","_convertColonHostContext","_convertShadowDOMSelectors","_scopeSelectors","_cssContentUnscopedRuleRe","_convertColonRule","_cssColonHostRe","_colonHostPartReplacer","_cssColonHostContextRe","_colonHostContextPartReplacer","regExp","partReplacer","_polyfillHostNoCombinator","suffix","_polyfillHost","_shadowDOMSelectorsRe","pattern","processRules","_scopeSelector","CssRule","strict","_shadowDeepSelectors","deepParts","shallowPart","otherParts","applyScope","_selectorNeedsScoping","_applyStrictSelectorScope","_applySelectorScope","re","_makeScopeMatcher","lre","rre","_selectorReSuffix","_applySimpleSelectorScope","_polyfillHostRe","replaceBy","_polyfillHostNoCombinatorRe","hnc","_","colon","isRe","_scopeSelectorPart","scopedP","safeContent","SafeSelector","scopedSelector","startIndex","sep","hasHost","shouldScope","scopedPart","restore","_colonHostContextRe","_polyfillHostContext","_colonHostRe","keep","_content","pseudo","_parenSuffix","_commentRe","_commentWithHashRe","BLOCK_PLACEHOLDER","QUOTE_PLACEHOLDER","_ruleRe","_quotedRe","CONTENT_PAIRS","QUOTE_PAIRS","ruleCallback","inputWithEscapedQuotes","escapeBlocks","inputWithEscapedBlocks","escapedString","nextBlockIndex","nextQuoteIndex","contentPrefix","blocks","StringWithEscapedBlocks","charPairs","placeholder","resultParts","escapedBlocks","openCharCount","nonBlockStartIndex","blockStartIndex","openChar","closeChar","char","COMPONENT_VARIABLE","HOST_ATTR","CONTENT_ATTR","StylesCompileDependency","setValue","CompiledStylesheet","stylesVar","isShimmed","StyleCompiler","_urlResolver","_shadowCss","comp","_compileStyles","needsStyleShim","stylesheet","shim","Emulated","isComponentStylesheet","styleExpressions","plainStyle","_shimIfNeeded","styleUrl","exprIndex","getStylesVarName","Const","style","shimCssText","component","AstPath","path","position","ctor","NodeWithI18n","Text$3","Expansion","switchValue","switchValueSourceSpan","visitExpansion","ExpansionCase","valueSourceSpan","expSourceSpan","visitExpansionCase","visitAttribute","Element$1","Comment","visitComment","visitAll$1","astResult","RecursiveVisitor$1","visitChildren","apply","spanOf","findNode","TokenType","TokenError","errorMsg","tokenType","TokenizeResult","tokens","nonNormalizedIcuExpressions","tokenize","getTagDefinition","options","tokenizer","_Tokenizer","mergeTextTokens","_CR_OR_CRLF_REGEXP","_unexpectedCharacterErrorMsg","charCode","_unknownEntityErrorMsg","entitySrc","_unparsableEntityErrorMsg","entityStr","CharacterReferenceType","_ControlFlowError","_file","_getTagDefinition","_currentTokenStart","_currentTokenType","_expansionCaseStack","_inInterpolation","_tokenizeIcu","tokenizeExpansionForms","_interpolationConfig","interpolationConfig","_leadingTriviaCodePoints","leadingTriviaChars","codePointAt","endPos","startPos","_cursor","EscapedCharacterCursor","PlainCharacterCursor","_preserveLineEndings","preserveLineEndings","_escapedString","_i18nNormalizeLineEndingsInICUs","i18nNormalizeLineEndingsInICUs","init","handleError","peek","_attemptCharCode","_consumeCdata","_consumeComment","_consumeDocType","_consumeTagClose","_consumeTagOpen","_tokenizeExpansionForm","_consumeText","_beginToken","EOF","_endToken","isExpansionFormStart","_consumeExpansionFormStart","isExpansionCaseStart","_isInExpansionForm","_consumeExpansionCaseStart","_isInExpansionCase","_consumeExpansionCaseEnd","_consumeExpansionFormEnd","getSpan","CursorError","_createError","cursor","compareCharCodeCaseInsensitive","chars","charsLeft","initialPosition","_attemptCharCodeCaseInsensitive","_attemptStr","_attemptCharCodeUntilFn","diff","decodeEntities","_decodeEntity","fromCodePoint","isHex","codeStart","isDigitEntityEnd","entityType","HEX","DEC","getChars","strNum","parseInt","nameStart","isNamedEntityEnd","endMarkerPredicate","tagCloseStart","foundEndMarker","_readChar","_processCarriageReturns","COMMENT_START","_requireCharCode","_consumeRawText","COMMENT_END","_requireStr","CDATA_START","CDATA_END","DOC_TYPE","contentStart","_attemptUntilChar","nameOrPrefixStart","isPrefixEnd","_requireCharCodeUntilFn","isNameEnd","openTagToken","_consumeTagOpenStart","isNotWhitespace","_consumeAttributeName","_consumeAttributeValue","_consumeTagOpenEnd","INCOMPLETE_TAG_OPEN","TEXT","contentTokenType","_consumeRawTextWithTagClose","textToken","_attemptStrCaseInsensitive","TAG_CLOSE","TAG_OPEN_START","_consumePrefixAndName","attrNameStart","ATTR_NAME","prefixAndName","ATTR_QUOTE","quoteChar","ATTR_VALUE","valueStart","TAG_OPEN_END_VOID","TAG_OPEN_END","EXPANSION_FORM_START","_readUntil","normalizedCondition","conditionToken","EXPANSION_CASE_VALUE","EXPANSION_CASE_EXP_START","EXPANSION_CASE_EXP_END","EXPANSION_FORM_END","_isTextEnd","isInterpolation","code1","code2","toUpperCaseCharCode","srcTokens","dstTokens","lastDstToken","fileOrCursor","state","advanceState","updatePeek","leadingTriviaCodePoints","startLocation","locationFromCursor","endLocation","fullStartLocation","pos","currentChar","internalState","processEscapeSequence","digitStart","decodeHexDigits","octal","previous","isNaN","TreeError","ParseTreeResult","rootNodes","Parser","tokenizeResult","parser","_TreeBuilder","build","_index","_elementStack","_advance","_peek","_consumeStartTag","_consumeEndTag","_closeVoidElement","_consumeExpansion","prev","_startToken","_advanceIf","_addToParent","expCase","_parseExpansionCase","_collectExpansionExpTokens","expansionCaseParser","expansionFormStack","lastOnStack","_getParentElement","el","startTagToken","_consumeAttr","_getElementFullName","selfClosing","tagDef","startSpan","_pushElement","_popElement","parentEl","isClosedByChild","endTagToken","errMsg","stackIndex","splice","valueToken","quoteToken","parentElement","parentTagName","parentTagDefinition","stack","HtmlParser","PRESERVE_WS_ATTR_NAME","SKIP_WS_TRIM_TAGS","WS_CHARS","NO_WS_REGEXP","WS_REPLACE_REGEXP","hasPreserveWhitespacesAttr","replaceNgsp","WhitespaceVisitor","visitAllWithSiblings","isNotBlank","hasExpansionSibling","next","expansion","expansionCase","removeWhitespaces","htmlAstWithErrors","PLURAL_CASES","expandNodes","expander","_Expander","ExpansionResult","isExpanded","expanded","ExpansionError","_expandPluralForm","_expandDefaultForm","icuCase","expansionResult","switchAttr","TextAst","ngContentIndex","BoundTextAst","AttrAst","visitAttr","BoundPropertyMapping","BoundElementPropertyAst","visitElementProperty","BoundEventAst","calcFullName","visitEvent","ReferenceAst","originalValue","VariableAst","v","ElementAst","hasViewContainer","queryMatches","EmbeddedTemplateAst","visitEmbeddedTemplate","BoundDirectivePropertyAst","directiveName","templateName","visitDirectiveProperty","DirectiveAst","directive","hostEvents","contentQueryStartId","visitDirective","ProviderAst","multiProvider","eager","providerType","lifecycleHooks","isModule","ProviderAstType","NgContentAst","visitNgContent","NullTemplateVisitor","RecursiveTemplateAstVisitor","templateVisitAll","ProviderError","ProviderViewContext","_getViewQueries","ProviderElementContext","viewContext","_parent","_isViewRoot","_directiveAsts","isTemplate","_sourceSpan","_transformedProviders","_seenProviders","_queriedTokens","transformedHasViewContainer","_attrs","attrAst","directivesMeta","directiveAst","_allProviders","_resolveProvidersFromDirectives","_contentQueries","_getContentQueries","_addQueryReadsTo","templateRefId","refAst","defaultQueryValue","_getOrCreateLocalProvider","lazyProviders","eagerProviders","sortedProviderTypes","transformProviders","sortedDirectives","sort","dir1","dir2","allMatches","defaultValue","queryReadTokens","_getQueriesFor","queryValue","read","queryId","currentEl","distance","requestingProviderType","resolvedProvider","PublicService","PrivateService","Builtin","transformedProviderAst","transformedProviders","transformedUseValue","transformedUseExisting","transformedDeps","existingDiDep","_getDependency","_transformProvider","_transformProviderAst","isValue","Component","currElement","currEager","_getLocalDependency","prevElement","NgModuleProviderAnalyzer","extraProviders","_errors","ngModuleProvider","_resolveProviders","errorString","requestorSourceSpan","foundLocal","targetErrors","providersByToken","dirProvider","directivesWithComponentFirst","targetProvidersByToken","isUseValue","viewQueryId","_addQueryToTokenMap","contentQueryId","contentQueries","directiveIndex","StyleWithImports","isStyleUrlResolvable","schemeMatch","URL_WITH_SCHEMA_REGEXP","extractStyleUrls","resolver","baseUrl","foundUrls","modifiedCssText","CSS_STRIPPABLE_COMMENT_REGEXP","CSS_IMPORT_REGEXP","resolve","PROPERTY_PARTS_SEPARATOR","ATTRIBUTE_PREFIX","CLASS_PREFIX","STYLE_PREFIX","TEMPLATE_ATTR_PREFIX","ANIMATE_PROP_PREFIX","BindingParser","_exprParser","_schemaRegistry","pipesByName","_usedPipes","dirMeta","boundProps","propName","parsePropertyBinding","_reportError","elementSelector","createBoundHostProperties","createBoundElementProperty","targetEvents","parseEvent","sourceInfo","parseInterpolation","_reportExpressionParserErrors","_checkPipes","wrapLiteralPrimitive","parseInterpolationExpression","tplKey","tplValue","absoluteValueOffset","targetMatchableAttrs","targetProps","targetVars","isIvyAst","absoluteKeyOffset","bindings","_parseTemplateBindings","binding","bindingSpan","moveParseSourceSpan","srcSpan","_parsePropertyAst","parseLiteralAttr","bindingsResult","parseTemplateBindings","templateBindings","warnings","warning","WARNING","isAnimationLabel","_parseAnimation","isAnimationProp","_parseBinding","DEFAULT","isHostBinding","parseSimpleBinding","parseBinding","boundProp","skipValidation","mapPropertyName","NONE","bindingType","boundPropertyName","securityContexts","_validatePropertyOrAttributeName","calcPossibleSecurityContexts","nsSeparatorIdx","ns","STYLE","mappedPropName","getMappedPropName","_parseAnimationEvent","_parseRegularEvent","_parseAction","parseAction","collector","PipeCollector","pipeMeta","isAttr","report","validateAttribute","validateProperty","registry","ctxs","elementNames","allKnownElementNames","notElementNames","isElementSelector","possibleElementNames","absoluteSpan","startDiff","endDiff","NG_CONTENT_SELECT_ATTR","LINK_ELEMENT","LINK_STYLE_REL_ATTR","LINK_STYLE_HREF_ATTR","LINK_STYLE_REL_VALUE","STYLE_ELEMENT","SCRIPT_ELEMENT","NG_NON_BINDABLE_ATTR","NG_PROJECT_AS","preparseElement","selectAttr","hrefAttr","relAttr","nonBindable","projectAs","lcAttrName","normalizeNgContentSelect","nodeName","PreparsedElementType","OTHER","NG_CONTENT","SCRIPT","STYLESHEET","PreparsedElement","BIND_NAME_REGEXP","KW_BIND_IDX","KW_LET_IDX","KW_REF_IDX","KW_ON_IDX","KW_BINDON_IDX","KW_AT_IDX","IDENT_KW_IDX","IDENT_BANANA_BOX_IDX","IDENT_PROPERTY_IDX","IDENT_EVENT_IDX","TEMPLATE_ATTR_PREFIX$1","CLASS_ATTR","_TEXT_CSS_SELECTOR","TEXT_CSS_SELECTOR","TemplateParseError","TemplateParseResult","templateAst","usedPipes","TemplateParser","_config","_reflector","_htmlParser","_console","transforms","tryParse","warn","htmlParseResult","getInterpolationConfig","tryParseHtml","expandHtml","uniqDirectives","removeSummaryDuplicates","uniqPipes","providerViewContext","bindingParser","parseVisitor","TemplateParseVisitor","EMPTY_ELEMENT_CONTEXT","getUsedPipes","_assertNoReferenceDuplicationOnTemplate","transform","forced","expandedHtmlAst","fromArray","existingReferences","config","_bindingParser","_schemas","_targetErrors","selectorMatcher","directivesIndex","ngContentCount","findNgContentIndex","valueNoNgsp","queryStartIndex","elName","preparsedElement","matchableAttrs","elementOrDirectiveProps","elementOrDirectiveRefs","elementVars","events","templateElementOrDirectiveProps","templateMatchableAttrs","templateElementVars","hasInlineTemplates","isTemplateElement","parsedVariables","hasBinding","_parseAttr","fromParsedVariable","templateValue","templateKey","normalizedName","_normalizeAttributeName","hasTemplateBinding","parseInlineTemplateBinding","elementCssSelector","createElementCssSelector","_parseDirectives","directiveMetas","matchElement","boundDirectivePropNames","directiveAsts","_createDirectiveAsts","elementProps","_createElementPropertyAsts","isViewRoot","providerContext","NON_BINDABLE_VISITOR","ElementContext","afterElement","projectionSelector","parsedElement","_isEmptyTextNode","_assertAllEventsPublishedByDirectives","_assertNoComponentsNorElementBindingsOnTemplate","transformedDirectiveAsts","_assertElementExists","_assertOnlyOneComponent","templateQueryStartIndex","templateSelector","templateBoundDirectivePropNames","templateDirectiveAsts","templateElementProps","templateProviderContext","targetRefs","boundEvents","bindParts","_parseVariable","_parseReference","_parseAssignmentEvent","parsePropertyInterpolation","fromParsedEvent","ElementOrDirectiveRef","elementSourceSpan","targetReferences","targetBoundDirectivePropNames","matchedReferences","directiveProperties","boundProperties","createDirectiveHostPropertyAsts","fromBoundProperty","_checkPropertiesInSchema","parsedEvents","createDirectiveHostEventAsts","_createDirectivePropertyAsts","elOrDirRef","isReferenceToDirective","refToken","targetBoundDirectiveProps","boundPropsByName","prevValue","dirProp","elProp","isEmptyExpression","boundElementProps","_findComponentDirectives","componentTypeNames","_findComponentDirectiveNames","hasElement","allDirectiveEvents","hasProperty","NonBindableVisitor","attrNameAndValues","splitExportAs","splitClasses","classAttrValue","_ngContentIndexMatcher","_wildcardNgContentIndex","ngContentIndices","wildcardNgContentIndex","elNameNoNs","attrNameNoNs","items","parenDepth","propStart","currentProp","valueHasQuotes","hyphenate","styleVal","stripUnnecessaryQuotes","qS","qE","tempValue","IMPORTANT_FLAG","MIN_STYLING_BINDING_SLOTS_REQUIRED","StylingBuilder","_directiveExpr","_hasInitialValues","hasBindings","hasBindingsWithPipes","_classMapInput","_styleMapInput","_singleStyleInputs","_singleClassInputs","_lastStylingInput","_firstStylingInput","_stylesIndex","_classesIndex","_initialStyleValues","_initialClassValues","registerInputBasedOnName","registerStyleInput","registerClassInput","isStyle","isClass","isMapBased","normalizePropName","parseProperty","hasOverrideFlag","bindingSuffix","registerIntoMap","_checkForPipes","populateInitialStylingAttrs","valueConverter","_buildMapBasedInstruction","isClassBased","stylingInput","totalBindingSlotsRequired","mapValue","getClassMapInterpolationExpression","getStyleMapInterpolationExpression","supportsInterpolation","allocateBindingSlots","convertFn","convertResult","getInterpolationExpressionFn","instructions","previousInstruction","referenceForCall","_buildSingleInputs","getStylePropInterpolationExpression","styleMapInstruction","buildStyleMapInstruction","classMapInstruction","buildClassMapInstruction","_buildStyleInputs","_buildClassInputs","overrideIndex","unitIndex","TokenType$1","KEYWORDS","Lexer","scanner","_Scanner","scanToken","Token$1","numValue","strValue","Character","Operator","Identifier","Keyword","newCharacterToken","newIdentifierToken","newKeywordToken","newOperatorToken","newStringToken","newNumberToken","newErrorToken","isIdentifierStart","scanIdentifier","scanNumber","scanCharacter","scanString","scanOperator","scanComplexOperator","twoCode","two","threeCode","three","isIdentifierPart","simple","isExponentStart","isExponentSign","parseIntAutoRadix","parseFloat","buffer","marker","unescapedCode","unescape","last","isIdentifier","isQuote","SplitInterpolation","offsets","TemplateBindingParseResult","defaultInterpolateRegExp","_createInterpolateRegExp","_getInterpolateRegExp","Parser$1","_lexer","simpleExpressionChecker","SimpleExpressionChecker","_checkNoInterpolation","sourceToLex","_stripComments","_ParseAST","parseChain","_parseBindingAst","checker","checkSimpleExpression","_parseQuote","prefixSeparatorIndex","toAbsolute","splitInterpolation","expressionNodes","expressionText","createInterpolationAst","atInterpolation","extendLastString","interpStart","interpEnd","exprStart","exprEnd","_getExpressiondEndIndex","fullEnd","piece","_commentStart","outerQuote","nextChar","_findInterpolationErrorColumn","partInErrIdx","expressionEnd","currentQuote","escapeCount","IvyParser","IvySimpleExpressionChecker","ParseContextFlags","inputLength","rparensExpected","rbracketsExpected","rbracesExpected","sourceSpanCache","atEOF","currentEndIndex","curToken","inputIndex","serial","ret","isCharacter","isKeywordLet","isKeywordAs","consumeOptionalCharacter","isOperator","consumeOptionalOperator","tok","isKeyword","prettyPrintToken","isString","parsePipe","parseExpression","expectIdentifierOrKeyword","parseConditional","parseLogicalOr","yes","no","parseLogicalAnd","parseEquality","parseRelational","parseAdditive","parseMultiplicative","parsePrefix","parseCallChain","parsePrimary","resultStart","parseAccessMemberOrMethodCall","withContext","Writable","expectCharacter","parseCallArguments","isKeywordNull","isKeywordUndefined","isKeywordTrue","isKeywordFalse","isKeywordThis","elements","parseExpressionList","parseLiteralMap","isNumber","toNumber","literalValue","terminator","expectIdentifierOrKeywordOrString","isSafe","positionals","operatorFound","currentAbsoluteOffset","parseDirectiveKeywordBindings","letBinding","parseLetBinding","expectTemplateBindingKey","parseAsBinding","consumeStatementTerminator","getDirectiveBoundTarget","spanEnd","asBinding","peekKeywordAs","peekKeywordLet","spanStart","locationText","skip","isError","_SECURITY_SCHEMA","SECURITY_SCHEMA","registerContext","HTML","URL","RESOURCE_URL","specs","spec","ElementSchemaRegistry","BOOLEAN","NUMBER","STRING","OBJECT","SCHEMA","_ATTR_TO_PROP","DomElementSchemaRegistry","_schema","encodedType","strType","strProperties","properties","typeNames","superName","superType","schemaMetas","schema","elementProperties","camelCaseProp","userProvidedProp","strVal","_isPixelDimensionStyle","valAndSuffixMatch","BIND_NAME_REGEXP$1","KW_BIND_IDX$1","KW_LET_IDX$1","KW_REF_IDX$1","KW_ON_IDX$1","KW_BINDON_IDX$1","KW_AT_IDX$1","IDENT_KW_IDX$1","IDENT_BANANA_BOX_IDX$1","IDENT_PROPERTY_IDX$1","IDENT_EVENT_IDX$1","TEMPLATE_ATTR_PREFIX$2","htmlAstToRender3Ast","htmlNodes","HtmlAstToIvyAst","ivyNodes","allErrors","inI18nBlock","isI18nRootElement","reportError","contents","textContents","parsedProperties","i18nAttrsMeta","templateParsedProperties","templateVariables","elementHasInlineTemplate","normalizeAttributeName","isTemplateBinding","parseAttribute","NON_BINDABLE_VISITOR$1","isEmptyTextNode","isCommentNode","extractAttributes","bound","hoistedAttrs","_visitTextWithInterpolation","formattedKey","i18nPropsMeta","bep","fromBoundElementProperty","matchableAttributes","createKeySpan","normalizationAdjustment","keySpanStart","keySpanEnd","parseVariable","parseReference","addEvents","parseAssignmentEvent","NonBindableVisitor$1","TagType","setupRegistry","getUniqueId","icus","I18nContext","templateIndex","isEmitted","_unresolvedCtxCount","_registry","closed","serializePlaceholderValue","phs","appendTag","TEMPLATE","ELEMENT","findTemplateFn","childPhs","tmplIdx","findIndex","isCloseTag","isTemplateTag","endsWith","tmpl","wrap","wrapTag","IcuSerializerVisitor","formatPh","serializer","serializeIcuNode","TAG_TO_PLACEHOLDER_NAMES","PlaceholderRegistry","_placeHolderNameCounts","_signatureToName","signature","_hashTag","upperTag","_generateUniqueName","_hashClosingTag","upperName","seen","_expParser","createI18nMessageFactory","_I18nVisitor","visitNodeFn","toI18nMessage","noopVisitNodeFn","_html","_expressionParser","isIcu","icuDepth","placeholderRegistry","placeholderToContent","i18nodes","startPhName","getStartTagPlaceholderName","closePhName","getCloseTagPlaceholderName","i18nIcuCases","i18nIcu","caze","expPh","getUniquePlaceholder","phName","getPlaceholderName","_icuCase","_context","previousI18n","_addText","_addPlaceholder","reusePreviousSourceSpans","textPiece","interpolationSpan","stringSpan","getOffsetSourceSpan","extractPlaceholderName","assertSingleContainerMessage","assertEquivalentNodes","previousNodes","_CUSTOM_PH_EXP","setI18nRefs","htmlNode","i18nNode","previousMessage","I18nMetaVisitor","keepI18nAttrs","enableI18nLegacyMessageIdFormat","_createI18nMessage","_parseMetadata","_setMessageId","_setLegacyIds","attrsMeta","_generateI18nMessage","currentMessage","parseI18nMeta","I18N_MEANING_SEPARATOR","I18N_ID_SEPARATOR","idIndex","descIndex","meaningAndDesc","i18nMetaToJSDoc","GOOG_GET_MSG","createGoogleGetMsgStatements","variable$1","closureVar","messageString","serializeI18nMessageForGetMsg","googGetMsgStmt","toConstDecl","metaComment","addLeadingComment","i18nAssignmentStmt","GetMsgSerializerVisitor","serializerVisitor$1","createLocalizeStatements","serializeI18nMessageForLocalize","placeHolders","getSourceSpan","localizedString$1","variableInitialization","LocalizeSerializerVisitor","createPlaceholderPiece","serializerVisitor$2","pieces","processMessagePieces","startNode","endNode","createEmptyMessagePart","NG_CONTENT_SELECT_ATTR$1","NG_PROJECT_AS_ATTR_NAME","EVENT_BINDING_SCOPE_GLOBALS","GLOBAL_TARGET_RESOLVERS","LEADING_TRIVIA_CHARS","renderFlagCheckIfStmt","bitwiseAnd","prepareEventListenerParameters","eventAst","handlerName","scope","eventArgumentName","implicitReceiverExpr","bindingLevel","getOrCreateSharedContextVar","bindingExpr","restoreViewStatement","variableDeclarations","fnName","fnArgs","handlerFn","createComponentDefConsts","prepareStatements","constExpressions","TemplateDefinitionBuilder","parentBindingScope","contextName","i18nContext","directiveMatcher","pipeTypeByName","_namespace","relativeContextFilePath","i18nUseExternalIds","_constants","_dataIndex","_bindingContext","_prefixCode","_creationCodeFns","_updateCodeFns","_currentIndex","_tempVariables","_nestedTemplateFns","_unsupported","_pureFunctionSlots","_bindingSlots","_ngContentReservedSlots","_ngContentSelectorsOffset","_implicitReceiverExpr","_bindingScope","nestedScope","fileBasedI18nSuffix","_valueConverter","ValueConverter","allocateDataSlot","numSlots","allocatePureFunctionSlots","slot","pipeType","creationInstruction","ngContentSelectorsOffset","registerContextVariables","initI18nContext","isSingleElementTemplate","selfClosingI18nInstruction","hasTextChildrenOnly","updatePipeSlotOffsets","buildTemplateFn","r3ReservedSlots","creationStatements","updateStatements","creationVariables","viewSnapshotStatements","updateVariables","creationBlock","updateBlock","transformFn","_ref","i18nGenerateMainBlockVar","i18nGenerateClosureVar","getTranslationDeclStmts","scopedName","freshReferenceName","retrievalLevel","relativeLevel","sharedCtxVar","getSharedContextName","generateNextContextExpr","appendBinding","label","i18nAppendBindings","messageId","uniqueSuffix","isRoot","isResolved","getSerializedPlaceholders","icuMapping","needsPostprocessing","instruction","i18nTranslate","forkChildContext","addToConsts","reconcileChildContext","i18nUpdateRef","chainBindings","updateInstructionChainWithAdvance","getConstCount","updateInstruction","nodeIndex","i18nAttrArgs","converted","constIndex","namespaceKey","nsInstruction","elementIndex","updateInstructionWithAdvance","getUpdateInstructionArguments","ngContent","projectionSlotIdx","nonContentSelectAttributes","getAttributeExpressions","appendProjection","stylingBuilder","isNonBindableMode","outputAttrs","isNgContainer$1","registerStyleAttr","registerClassAttr","matchDirectives","allOtherInputs","boundI18nAttrs","stylingInputWasSet","registerBoundInput","addAttrsToConsts","prepareRefsArray","wasInNamespace","currentNamespace","getNamespaceInstruction","addNamespaceInstruction","appendElement","hasChildren","createSelfClosingInstruction","createSelfClosingI18nInstruction","i18nAttributesInstruction","listeners","outputAst","prepareListenerParameter","creationInstructionChain","stylingInstructions","buildUpdateLevelInstructions","limit","processStylingUpdateInstruction","emptyValueBindInstruction","propertyBindings","attributeBindings","inputType","hasValue","attrNamespace","isAttributeBinding","sanitizationRef","resolveSanitizationFn","namespaceLiteral","interpolatedUpdateInstruction","getPropertyInterpolationExpression","getAttributeInterpolationExpression","boundValue","NG_TEMPLATE_TAG_NAME","appendTemplate","attrsExprs","templateVisitor","templateFunctionExpr","buildTemplateFunction","getVarCount","templatePropertyBindings","i18nInputs","appendBoundText","getTextInterpolationExpression","initWasInvoked","i18nBindProps","formatted","appendIcu","fns","paramsOrFn","prepend","instructionFn","addAdvanceInstructionIfNecessary","fnParams","updateInstructionChain","originalSlots","convertedPropertyBinding","getImplicitReceiverExpr","bindingContext","valExpr","createCssSelector","staticType","renderAttributes","alreadySeen","attrExprs","ngProjectAsAttr","getAttributeNameLiterals","trustedConstAttribute","getNgProjectAsLiteral","addAttrExpr","attrsLengthBeforeInputs","consts","refsParam","variableName","nextContextStmt","refExpr","bindingFnName","allocateSlot","_pipeBindExprs","slotPseudoLocal","pureFunctionSlot","pipeBindingCallInfo","isVarLength","pipeBindExpr","bindingSlots","slotOffset","array","getLiteralFactory","pipeBindingIdentifiers","pureFunctionIdentifiers","pureFunctionCallInfo","relativeLevelDiff","literal$1","allocateSlots","startSlot","attributeNamespace","nameLiteral","SHARED_CONTEXT_KEY","BindingScope","referenceNameIndex","restoreViewVariable","declareLocalCallback","declare","priority","localRef","maybeGenerateSharedContextVar","maybeRestoreView","getComponentProperty","newScope","generateSharedContextVar","bindingKey","sharedCtxObj","componentValue","localRefLookup","isListenerScope","getCurrentViewInstruction","currentContextLevel","levelDiff","currStmts","elementNameNoNs","nameNoNs","parsedR3Selector","parseTemplate","makeBindingParser","htmlParser","parseResult","i18nMetaVisitor","elementRegistry","isTextNode","NG_I18N_CLOSURE_MODE","createClosureModeGuard","and","ATTR_REGEX","baseDirectiveFields","createContentQueriesFunction","createViewQueriesFunction","createHostBindingsFunction","addFeatures","features","usesInheritance","fullInheritance","lifecycle","usesOnChanges","compileDirectiveFromMetadata","toLiteralMap","createDirectiveTypeParams","compileComponentFromMetadata","firstSelector","selectorAttributes","getAttrs","templateTypeName","directivesUsed","pipesUsed","templateBuilder","createRootScope","templateFunctionExpression","getNgContentSelectors","getConsts","constsExpr","directivesExpr","wrapDirectivesAndPipesInClosure","pipesExpr","styleValues","compileStyles","stringArrayAsType","compileDirectiveFromRender2","directiveMetadataFromGlobalMetadata","directiveDefStatement","compileComponentFromRender2","render3Ast","directiveTypeBySel","summary","typeMapToExpressionMap","queriesFromGlobalMetadata","componentDefStatement","propertyName","selectorsFromGlobalMetadata","static","selectorStrings","prepareQueryParams","convertAttributesToExpressions","createStatements","tempAllocator","queryInstruction","getQueryList","refresh","updateDirective","contentQueriesFnName","stringAsType","stringMapAsType","mapValues","selectorForType","q","queryDefinition","viewQueryFnName","hostBindingsMetadata","styleBuilder","specialAttributes","styleAttr","hostBindingSourceSpan","directiveSummary","metadataAsSummary","eventBindings","createHostListeners","allOtherBindings","totalHostVarsCount","getValueConverter","hostVarsCountFn","originalVarsCount","syntheticHostBindings","bindingFn","getBindingNameAndInstruction","bindingName","sanitizerFn","instructionParams","hostAttrs","assignHostAttrs","convertStylingCall","hostBindingsFnName","implicit","attrMatches","syntheticListeners","HOST_REG_EXP$1","parseHostBindings","verifyHostBindings","shadowCss","ResourceLoader","CompilerFacadeImpl","jitEvaluator","elementSchemaRegistry","angularCoreEnv","sourceMapUrl","facade","wrapReference$1","convertR3DependencyMetadataArray","jitExpression","computeProvidedIn","wrapExpression","USE_CLASS","USE_FACTORY","USE_VALUE","USE_EXISTING","convertDirectiveFacadeToMetadata","err","getDefaultComponentElementName","jitExpressionSourceMap","def","preStatements","evaluateStatements","convertToR3QueryMetadata","inputsFromMetadata","parseInputOutputs","outputsFromMetadata","propMetadata","inputsFromType","outputsFromType","field","ann","isInput","isOutput","extractHostBindings","convertR3DependencyMetadata","tokenExpr","facades","isHostListener","publishFacade","ng","ɵcompilerFacade","VERSION$1","CompilerConfig","defaultEncapsulation","useJit","jitDevMode","missingTranslation","strictInjectionParameters","preserveWhitespacesDefault","preserveWhitespacesOption","defaultSetting","DirectiveNormalizer","_resourceLoader","_resourceLoaderCache","clear","normalizedDirective","prenormData","_preParseTemplate","preparsedTemplate","_normalizeTemplateMetadata","prenomData","_fetch","_preparseLoadedTemplate","templateAbsUrl","rootNodesAndErrors","templateMetadataStyles","_normalizeStylesheet","TemplatePreparseVisitor","templateStyles","inlineStyleUrls","_loadMissingExternalStylesheets","_normalizeLoadedTemplateMetadata","stylesheets","_inlineStyles","targetStyles","loadedStylesheets","loadedStyle","allStyleUrls","allStyles","styleWithImports","ngNonBindableStackCount","textContent","QUERY_METADATA_IDENTIFIERS","DirectiveResolver","typeMetadata","annotations","isDirectiveMetadata","throwIfNotFound","findLast","propertyMetadata","_mergeWithPropertyMetadata","dm","directiveType","hostBindings","hostBinding","startWith","hostListener","_merge","names","publicNames","reversedResult","_extractPublicName","reverse","mergedInputs","_dedupeBindings","mergedOutputs","mergedHost","mergedQueries","moduleId","I18nError","_I18N_ATTR","_I18N_ATTR_PREFIX","_I18N_COMMENT_PREFIX_REGEXP","i18nCommentsWarned","extractMessages","implicitTags","implicitAttrs","_Visitor$2","extract","mergeTranslations","translations","merge","ExtractionResult","_VisitorMode","_implicitTags","_implicitAttrs","_init","Extract","_inI18nBlock","_messages","Merge","_translations","wrapper","translatedNode","_mode","_mayBeAddBlockChildren","wasInIcu","_inIcu","_isInTranslatableSection","_addMessage","isOpening","_isOpeningComment","isClosing","_isClosingComment","_inI18nNode","console","_blockStartDepth","_depth","_blockChildren","_blockMeaningAndDesc","_openTranslatableSection","_closeTranslatableSection","_translateMessage","wasInI18nNode","wasInImplicitNode","_inImplicitNode","childNodes","translatedChildNodes","i18nAttr","_getI18nAttr","i18nMeta","isImplicit","isTopLevelImplicit","isTranslatable","visitNodes","visited","_visitAttributesOf","translatedAttrs","_translateAttributes","_msgCountAtSectionStart","explicitAttrNameToValue","implicitAttrNames","msgMeta","_parseMessageMeta","i18nParsedMessageMeta","translatedAttributes","directChildren","significantChildren","XmlTagDefinition","currentParent","_TAG_DEFINITION","getXmlTagDefinition","XmlParser","_VERSION","_XMLNS","_DEFAULT_SOURCE_LANG","_PLACEHOLDER_TAG$1","_MARKER_TAG","_FILE_TAG","_SOURCE_TAG$1","_SEGMENT_SOURCE_TAG","_ALT_TRANS_TAG","_TARGET_TAG","_UNIT_TAG","_CONTEXT_GROUP_TAG","_CONTEXT_TAG","Xliff","_WriteVisitor","transUnits","contextTags","contextGroupTag","purpose","transUnit","datatype","xliff","xmlns","xliffParser","XliffParser","msgIdToHtml","i18nNodesByMsgId","XmlToI18n","msgId","convert","i18nNodes","ctype","getCtypeForTag","equivText","_locale","_unitMlString","_msgIdToHtml","xml","idAttr","_addError","innerTextStart","innerTextEnd","innerText","localeAttr","xmlIcu","nameAttr","caseMap","_VERSION$1","_XMLNS$1","_DEFAULT_SOURCE_LANG$1","_PLACEHOLDER_TAG$2","_PLACEHOLDER_SPANNING_TAG","_MARKER_TAG$1","_XLIFF_TAG","_SOURCE_TAG$2","_TARGET_TAG$1","_UNIT_TAG$1","Xliff2","_WriteVisitor$1","units","notes","category","srcLang","xliff2Parser","Xliff2Parser","XmlToI18n$1","getTypeForTag","tagPh","_nextPlaceholderId","equiv","disp","tagPc","equivStart","equivEnd","dispStart","dispEnd","idStr","versionAttr","startAttr","endAttr","startId","endId","_TRANSLATIONS_TAG","_TRANSLATION_TAG","_PLACEHOLDER_TAG$3","Xtb","xtbParser","XtbParser","XmlToI18n$2","valueFn","createLazyProperty","defineProperty","configurable","enumerable","xtb","_bundleDepth","langAttr","TranslationBundle","_i18nNodesByMsgId","mapperFactory","missingTranslationStrategy","Warning","_i18nToHtml","I18nToHtmlVisitor","srcMsg","html","load","digestFn","createNameMapper","_digest","_mapperFactory","_missingTranslationStrategy","_contextStack","_convertToText","_srcMsg","_mapper","mapper","toInternalName","I18NHtmlParser","translationsFormat","createSerializer","_translationBundle","format","QUOTED_KEYS","convertValueToOutputAst","_ValueOutputAstTransformer","quotedSet","mapEntry$1","InjectableCompiler","alwaysGenerateDef","tokenInjector","retValue","depsArray","depArgs","injectableDef","STRIP_SRC_FILE_SUFFIXES","GENERATED_FILE","JIT_SUMMARY_FILE","JIT_SUMMARY_NAME","ngfactoryFilePath","forceSourceFile","urlWithSuffix","splitTypescriptSuffix","normalizeGenFileSuffix","stripGeneratedFileSuffix","isGeneratedFile","lastDot","srcFileSuffix","summaryFileName","fileName","fileNameWithoutSuffix","summaryForJitFileName","stripSummaryForJitFileSuffix","summaryForJitName","symbolName","stripSummaryForJitNameSuffix","LOWERED_SYMBOL","isLoweredSymbol","createLoweredSymbol","LifecycleHooks","LIFECYCLE_HOOKS_VALUES","OnInit","OnDestroy","DoCheck","OnChanges","AfterContentInit","AfterContentChecked","AfterViewInit","AfterViewChecked","hasLifecycleHook","hook","getHookName","getAllLifecycleHooks","unexpected","ERROR_COMPONENT_TYPE","CompileMetadataResolver","_ngModuleResolver","_directiveResolver","_pipeResolver","_summaryResolver","_directiveNormalizer","_staticSymbolCache","_errorCollector","_nonNormalizedDirectiveCache","_directiveCache","_summaryCache","_pipeCache","_ngModuleCache","_ngModuleOfTypes","_shallowModuleCache","clearCacheFor","clearCache","baseType","proxyClass","setDelegate","dirType","_createProxyClass","getGeneratedClass","hostView","getHostComponentViewClass","typeSummary","resolveSummary","hostViewType","hostType","getHostComponentType","getMatchingElementTemplate","isSync","getNonNormalizedDirectiveMetadata","annotation","createDirectiveMetadata","templateMetadata","normalizedDirMeta","initComponentFactory","normalizeTemplate","componentModuleUrl","componentStillLoadingError","cacheEntry","nonNormalizedTemplateMetadata","changeDetectionStrategy","entryComponentMetadata","_getProvidersMetadata","stringifyType","flattenAndDedupeArray","_getEntryComponentMetadata","_getQueriesMetadata","_getTypeMetadata","getComponentViewClass","getRendererType","getComponentFactory","dirSummary","_loadSummary","isDirective","isNgModule","alreadyCollecting","moduleSummary","getNgModuleMetadata","loading","promise","loadDirectiveMetadata","_loadPipeMetadata","compileMeta","ngModuleMeta","shallowAnnotations","exportedNonModuleIdentifiers","importedType","importedModuleType","isValidType","moduleWithProviders","_checkSelfImport","_getTypeDescriptor","importedModuleSummary","getNgModuleSummary","exportedType","exportedModuleSummary","_getIdentifierMetadata","_getTransitiveNgModuleMetadata","declaredType","declaredIdentifier","isAbstractDirective","addDirective","_addTypeToModule","addPipe","exportedId","addExportedDirective","addExportedPipe","addEntryComponent","addProvider","addModule","provide","oldModule","modulesByToken","modSummary","addedTokens","prevModules","moduleRef","tryAnnotations","throwOnUnknownDeps","_getDependenciesMetadata","pipeSummary","pipeAnnotation","hasUnknownDeps","dependenciesMetadata","paramEntry","_getTokenMetadata","depsTokens","compileToken","targetEntryComponents","debugInfo","compileProviders","providerIdx","providerMeta","_validateProvider","providersInfo","soFar","seenProvider","seenProviderIdx","_getEntryComponentsFromProvider","getProviderMetadata","components","collectedIdentifiers","extractIdentifiers","compileDeps","compileTypeMetadata","compileFactoryMetadata","_getInjectableTypeMetadata","_getFactoryMetadata","_getQueryMetadata","_queryVarBindings","otherType","flattenArray","tree","dedupeArray","targetIdentifiers","_CompileValueConverter","providerAst","lifecycleHook","lifecycleHookToNodeFlag","multiProviderDef","singleProviderDef","providerExpr","providerFlags","depsExpr","allDepDefs","allParams","providerIndex","depExprs","convertDeps","instantiate","depIndex","paramName","depDef","tokenMeta","nodeFlag","componentFactoryResolverProviderDef","entryComponentFactories","entryComponent","classMeta","NgModuleCompileResult","ngModuleFactoryVar","LOG_VAR","NgModuleCompiler","providerParser","providerDefs","ngModuleDef","ngModuleDefFactory","_createNgModuleFactory","registerFactoryStmt","ngModuleReference","ngModuleFactoryStmt","NgModuleResolver","debugOutputAstAsTypeScript","_TsEmitterVisitor","TypeScriptEmitter","preamble","emitSourceMaps","referenceFilter","importFilter","preambleLines","reexports","exportedModuleName","reexportsCode","reexport","as","importsWithPrefixes","importedModuleName","sm","setPreambleLineCount","sourceText","emitStatementsAndContext","typeExpression","defaultType","_visitIdentifier","_printColonType","_visitClassField","Private","typeStr","suppliedParameters","PipeResolver","metas","TypeCheckCompiler","componentId","externalReferenceVars","embeddedViewCount","viewBuilderFactory","embeddedViewIndex","ViewBuilder","DYNAMIC_VAR_NAME","TypeCheckLocalResolver","defaultResolver","isHostComponent","refOutputVars","updates","actions","guard","useIf","astNodes","targetStatements","viewStmts","bindingCount","preprocessUpdateExpression","nameResolver","getOutputVar","General","guardExpression","guardClause","viewName","viewFactory","astWithSource","inter","visitElementOrTemplate","fullTemplateTypeCheck","getTypeGuardExpressions","childVisitor","inputDefs","updateRendererExpressions","outputDefs","inputAst","dirAst","outputVarType","hostEventAst","currBuilder","varAst","pipeExpr","pipeOutputVar","CLASS_ATTR$1","STYLE_ATTR","IMPLICIT_TEMPLATE_VAR","ViewCompileResult","viewClassVar","rendererTypeVar","ViewCompiler","renderComponentVarName","customRenderData","renderComponentVar","ViewBuilder$1","LOG_VAR$1","VIEW_VAR","CHECK_VAR","COMP_VAR","EVENT_NAME_VAR","ALLOW_DEFAULT_VAR","purePipeNodeIndices","refNodeIndices","_createPipe","queryIndex","calcStaticDynamicQueryFlags","nodeFlags","nodeDef","needsAdditionalRootNode","_createNodeExpressions","updateRendererStmts","updateDirectivesStmts","nodeDefExprs","updateRendererFn","_createUpdateFn","updateDirectivesFn","viewFlags","OnPush","updateStmts","updateFn","preStmts","checkIndex","bindingIndex","_preprocessUpdateExpression","updateRenderer","_visitElementOrTemplate","queryMatchesExpr","childCount","_createElementHandleEventFn","usedEvents","dirHostBindings","elementBindingDef","compAst","compRendererType","compView","fixedAttrsDef","elementEventNameAndTarget","elementEventFullName","_visitComponentFactoryResolverProvider","localDirAst","_visitDirective","dirHostEvents","_visitProvider","queryMatchExprs","_visitProviderOrDirective","updateDirectiveExpressions","dirContextExpr","updateDirectives","_addProviderNode","componentDirMeta","currViewExpr","refNodeIndex","varValue","valueExpr","callCheckStmt","compViewExpr","compBuilder","pipeNodeIndex","pipeValueExpr","callUnwrapValue","nodeValueExpr","diDep","_createLiteralArrayConverter","_createLiteralMapConverter","_createPipeConverter","updateBindingCount","createUpdateStatements","logWithNodeDef","allowEmptyExprs","handlers","handleEventStmts","handleEventBindingCount","trueStmts","eventTarget","fullEventName","identical","handleEventFn","lastAstNode","elementAst","mapResult","mergeAttributeValue","attrValue1","attrValue2","bindingIdx","MessageBundle","htmlParserResult","i18nParserResult","filterSources","mapperVisitor","MapPlaceholderNames","msgList","src","transformedMessage","write","GeneratedFile","srcFileUrl","genFileUrl","sourceOrStmts","toTypeScript","emitStatements","listLazyRoutes","allLazyRoutes","ROUTES","loadChildren","_collectLoadChildren","route","parseLazyRoute","routes","routePath","routeName","referencedModule","TS","ResolvedStaticSymbol","SUPPORTED_SCHEMA_VERSION","StaticSymbolResolver","staticSymbolCache","summaryResolver","errorRecorder","metadataCache","resolvedSymbols","importAs","symbolResourcePaths","symbolFromFile","knownFileNameToModuleNames","staticSymbol","_resolveSymbolMembers","resultFromSummary","_resolveSymbolFromSummary","resultFromCache","_createSymbolsOf","useSummaries","baseSymbol","getStaticSymbol","baseImportAs","getImportAs","summarizedFileName","summarizedName","resolvedSymbol","unwrapResolvedMetadata","resolveSymbol","arity","sourceSymbol","targetSymbol","assertNoMembers","symbols","recorder","baseResolvedSymbol","baseMetadata","__symbolic","statics","getModuleMetadata","metadataKey","decorators","summarySymbols","getSymbolsOf","moduleExport","export","exportSymbol","unescapeIdentifier","symName","resolvedModule","resolveModule","createExport","nestedExports","topLevelSymbolNames","origins","symbolMeta","origin","originFilePath","getOutputName","createResolvedSymbol","uniqueSymbols","topLevelPath","isTsFile","isLibraryFile","transformedMeta","_originalFileMemo","getOriginalName","ReferenceTransformer","functionParams","symbolic","oldLen","getMetadataFor","unwrappedTransformedMeta","moduleMetadata","moduleMetadatas","maxVersion","md","errorMessage","containingFile","moduleNameToFileName","serializeSummaries","srcFileName","forJitCtx","symbolResolver","createExternalSymbolReexports","toJsonSerializer","ToJsonSerializer","addSummary","json","forJitSerializer","ForJitSerializer","addSourceType","unprocessedSymbolSummariesBySymbol","addLibType","deserializeSummaries","symbolCache","libraryFileName","deserializer","FromJsonDeserializer","deserialize","createForJitStub","createSummaryForJitFunction","indexBySymbol","reexportedBy","processedSummaryBySymbol","processedSummaries","getKnownModuleName","unprocessedSummary","processedSummary","processValue","isCall","isFunctionCall","isMethodCallOnVariable","declarationSymbol","ngModuleSummary","summaries","reexportSymbol","__symbol","toSummaryFileName","visitStaticSymbol","loadSummary","isLibrary","exportAsArr","exportAsBySymbol","ngModuleSymbols","serializeSummaryWithDeps","ngModuleSymbol","jitExportAsName","serializeSummaryRef","serializeSummary","typeSymbol","jitImportedSymbol","Transformer","allImportAs","serializedSymbol","fromSummaryFileName","AotCompiler","_options","_host","_metadataResolver","_templateParser","_styleCompiler","_viewCompiler","_typeCheckCompiler","_ngModuleCompiler","_injectableCompiler","_outputEmitter","_symbolResolver","_templateAstCache","_analyzedFiles","_analyzedFilesForInjectables","rootFiles","analyzeResult","analyzeAndValidateNgModules","ngModules","loadNgModuleDirectiveAndPipeMetadata","analyzedFile","analyzeFile","analyzeFileForInjectables","genFileNames","_analyzeFile","allowEmptyCodegenFiles","injectables","exportsNonSourceFiles","enableSummariesForJit","fileSuffix","dirSymbol","normalizedUrl","resourceNameToFileName","needsShim","_stylesModuleUrl","genFileName","originalFileName","_createOutputContext","originalFile","_createNgFactoryStub","_createEmptyStub","_codegenSourceModule","fileNames","tsFiles","files","loadingPromises","analyzedInjectables","tsFile","_analyzeFileForInjectables","analyzedModules","mergeAndValidateNgFiles","emitFlags","ngModuleIndex","createStub","_externalIdentifierReferences","typeIndex","dirId","getDirectiveMetadata","_createTypeCheckBlock","getHostComponentMetadata","_parseTemplate","parsedTemplate","compileComponent","messageBundle","compMetas","updateFromTemplate","r3Files","ngModuleByPipeOrDirective","contextMap","_compilePartialModule","_compileShallowModules","shallowModules","schemaRegistry","hostBindingParser","expressionParser","directiveMetadata","getDirectiveSummary","getPipeSummary","pipeMetadata","getPipeMetadata","compile","_emitPartialModule2","sourceModules","_compileImplFile","generatedFiles","_createSummary","_compileModule","componentStylesheet","stylesheetMeta","_codegenStyles","compViewVars","_compileComponent","_compileComponentFactory","srcModule","ngFactoryCtx","symbolSummaries","typeData","getInjectableSummary","forJitOutputCtx","createExternalSymbolFactoryReexports","summaryJson","normalizedLocale","i18nFormat","hostMeta","hostViewFactoryVar","compFactoryVar","inputsExprs","outputsExprs","directiveIdentifiers","componentStyles","stylesExpr","viewResult","_resolveStyleStatements","importExpr$1","getTypeArity","importModule","_fileNameToModuleName","selfReference","suppliedTypeParams","missingTypeParamsCount","allTypeParams","memberName","importedFilePath","containingFilePath","fileNameToModuleName","stylesheetMetadata","compiledStylesheet","entryRoute","visitLazyRoute","lazyRoutes","lazyRoute","seenRoutes","compileResult","stylesheetUrl","analyzeNgModules","staticSymbolResolver","metadataResolver","_analyzeFilesIncludingNonProgramFiles","mergeAnalyzedFiles","validateAnalyzedModules","symbolsMissingModule","seenFiles","visitFile","isSourceFile","modMeta","abstractDirectives","hasDecorators","isDeclarationFile","isNgSymbol","isInjectable","getInjectableMetadata","isValueExportingNonSourceFile","getShallowModuleMetadata","Visitor","analyzedFiles","allNgModules","allPipesAndDirectives","af","FORMATTED_MESSAGE","indentStr","half","floor","formatChain","chain","kid","formattedError","isFormattedError","ANGULAR_CORE","ANGULAR_ROUTER","HIDDEN_KEY","IGNORE","USE_VALUE$1","PROVIDE","REFERENCE_SET","TYPEGUARD_POSTFIX","USE_IF","shouldIgnore","StaticReflector","knownMetadataClasses","knownMetadataFunctions","annotationCache","shallowAnnotationCache","propertyCache","parameterCache","methodCache","staticCache","conversionMap","resolvedExternalReferences","annotationForParentClassWithSummaryKind","initializeConversionMap","kc","_registerDecoratorOrConstructor","kf","_registerFunction","findSymbolDeclaration","getResourcePath","refSymbol","getSymbolByModule","recordModuleNameForFileName","recordImportAs","ignoreErrorsFor","findDeclaration","resolvedMetadata","originalRecorder","_annotations","simplify","classMetadata","getTypeMetadata","parentType","findParentType","parentAnnotations","ownAnnotations","requiredAnnotationTypes","typeHasRequiredAnnotation","requiredType","formatMetadataError","metadataError","parentPropMetadata","parentProp","propData","ctorData","rawParameterTypes","parameterDecorators","rawParamType","nestedResult","paramType","trySimplify","methodNames","parentMethodNames","_methodNames","isMethod","staticMembers","staticMemberData","_staticMembers","injectionToken","opaqueToken","tryFindDeclaration","lazy","BindingScope$1","empty","calling","rootContext","simplifyInContext","depth","resolveReferenceValue","simplifyEagerly","simplifyLazily","simplifyNested","nestedContext","isMetadataError","summaryMsg","errorSummary","advise","simplifyCall","functionSymbol","targetFunction","targetExpression","defaults","functionScope","define","oldScope","done","FUNCTION_CALL_NOT_SUPPORTED","isPrimitive","spreadArray","spreadItem","declarationValue","operand","indexTarget","member","selectContext","selectTarget","localValue","missing","argExpressions","mapStringMap","reportingContext","METADATA_ERROR","REFERENCE_TO_NONEXPORTED_CLASS","VARIABLE_NOT_INITIALIZED","DESTRUCTURE_NOT_SUPPORTED","COULD_NOT_RESOLVE_TYPE","REFERENCE_TO_LOCAL_SYMBOL","LAMBDA_NOT_SUPPORTED","expandedMessage","messageAdvise","PopulatedScope","formatMetadataMessageChain","nesting","AotSummaryResolver","summaryCache","loadedFilePaths","referringSrcFileName","referringLibFileName","rootSymbol","_loadSummaryFile","hasSummary","summaryFilePath","createAotUrlResolver","basePath","createAotCompiler","compilerHost","errorCollector","urlResolver","staticReflector","enableIvy","normalizer","loadResource","tmplParser","viewCompiler","typeCheckCompiler","compiler","SummaryResolver","JitSummaryResolver","_summaries","interpretStatements","_ExecutionContext","StatementInterpreter","exportName","_executeFunctionStatements","varValues","childCtx","createChildWihtLocalVars","instance","ReturnValue","createDynamicClass","_classStmt","_ctx","propertyDescriptors","instanceCtx","paramNames","writable","ctorParamNames","superClass","initialValue","currCtx","CATCH_ERROR_VAR$2","CATCH_STACK_VAR$2","subscribe","bind","_declareFn","JitCompiler","_jitEvaluator","_compilerConfig","getExtraNgModuleProviders","_compiledTemplateCache","_compiledHostTemplateCache","_compiledDirectiveWrapperCache","_compiledNgModuleCache","_sharedStylesheetCount","_addedAotSummaries","_compileModuleAndComponents","_compileModuleAndAllComponents","_addAotSummaries","ids","hasAotSummary","_loadModules","_compileComponents","componentFactories","ngModuleFactory","mainModule","mainNgModule","_filterJitIdentifiers","nestedNgModule","getOrLoadPipeMetadata","createOutputContext","_interpretOrJit","allComponentFactories","moduleByJitDirective","templates","transJitModules","localMod","localModuleMeta","dirRef","_createCompiledTemplate","_createCompiledHostTemplate","entryComponentType","_compileTemplate","compiledTemplate","assertComponent","viewDefFactory","CompiledTemplate","isCompiled","externalStylesheetsByModuleUrl","outputContext","_resolveStylesCompileResult","evalResult","viewClass","compiled","nestedCompileResult","nestedStylesArr","_resolveAndEvalStylesCompileResult","_viewClass","CompileReflector","createUrlResolverWithoutPackagePrefix","UrlResolver","createOfflineCompileUrlResolver","_packagePrefix","resolvedUrl","_resolveUrl","resolvedParts","_split","_ComponentIndex","Scheme","Path","getUrlScheme","_buildFromEncodedParts","opt_scheme","opt_userInfo","opt_domain","opt_port","opt_path","opt_queryData","opt_fragment","_splitRe","uri","_removeDotSegments","leadingSlash","trailingSlash","up","_joinAndCanonicalizePath","UserInfo","Domain","Port","QueryData","Fragment","encodeURI","baseParts","Extractor","extractor","R3TargetBinder","Scope","templateEntities","extractTemplateEntities","DirectiveBinder","TemplateBinder","nestingLevel","R3BoundTarget","parentScope","namedEntities","childScopes","ingest","maybeDeclare","thing","lookup","newRootScope","dirTarget","setAttributeBinding","ioType","hasBindingPropertyName","visitNode","childScope","getChildScope","binder","maybeMap","exprTargets","dirs","rootScope","entityMap","extractScopeEntities","currentEntities","scopesToProcess","entities","getDOM","isObservable","Examples","_buildValueString","_extractId","resolvedPromise","formControlBinding","formDirectiveProvider","NgNoValidate","NgSelectMultipleOption","InternalFormsSharedModule","isValidFormatter","to","removeElement","removeChild","isSet","preventDefault","unique","closest","round","elem","orientation","rect","getBoundingClientRect","doc","ownerDocument","docElem","documentElement","pageOffset","getPageOffset","navigator","userAgent","x","top","y","clientTop","clientLeft","isNumeric","isFinite","addClassFor","duration","addClass","setTimeout","removeClass","min","asArray","countDecimals","numStr","classList","remove","hasClass","contains","supportPageOffset","pageXOffset","isCSS1Compat","compatMode","scrollLeft","pageYOffset","scrollTop","getActions","pointerEnabled","move","msPointerEnabled","getSupportsPassive","supportsPassive","opts","addEventListener","getSupportsTouchActionNone","CSS","supports","subRangeRatio","pa","pb","fromPercentage","startRange","toPercentage","abs","isPercentage","getJ","toStepping","xVal","xPct","va","vb","fromStepping","getStep","xSteps","snap","handleEntryPoint","that","percentage","xHighestCompleteStep","handleStepPoint","totalSteps","xNumSteps","highestStep","ceil","toFixed","step","Spectrum","singleStep","ordered","getDistance","distances","getAbsoluteDistance","direction","xPct_index","start_factor","rest_factor","rest_rel_distance","range_pct","rel_range_distance","abs_distance_counter","range_counter","getDefaultStep","isDown","getNearbySteps","stepBefore","startValue","thisStep","stepAfter","countStepDecimals","stepDecimals","defaultFormatter","cssClasses","handle","handleLower","handleUpper","touchArea","horizontal","vertical","background","connect","connects","ltr","rtl","textDirectionLtr","textDirectionRtl","draggable","drag","tap","active","tooltip","pips","pipsHorizontal","pipsVertical","markerHorizontal","markerVertical","markerNormal","markerLarge","markerSub","valueHorizontal","valueVertical","valueNormal","valueLarge","valueSub","INTERNAL_EVENT_NS","tooltips","aria","validateFormat","testStep","parsed","testKeyboardPageMultiplier","keyboardPageMultiplier","testKeyboardDefaultStep","keyboardDefaultStep","testRange","spectrum","testStart","handles","testSnap","testAnimate","animate","testAnimationDuration","animationDuration","testConnect","testOrientation","ort","testMargin","margin","testLimit","testPadding","padding","totalPadding","firstValue","lastValue","testDirection","testBehaviour","fixed","hover","unconstrained","testTooltips","formatter","testAriaFormat","ariaFormat","testFormat","testKeyboardSupport","keyboardSupport","testDocumentElement","testCssPrefix","cssPrefix","testCssClasses","testOptions","tests","behaviour","document","createElement","msPrefix","msTransform","noPrefix","transformRule","originalOptions","supportsTouchActionNone","scope_Target","scope_Base","scope_Handles","scope_Connects","scope_Pips","scope_Tooltips","scope_Spectrum","scope_Values","scope_Locations","scope_HandleNumbers","scope_ActiveHandlesCount","scope_Events","scope_Self","scope_Document","scope_DocumentElement","scope_Body","PIPS_NONE","PIPS_NO_VALUE","PIPS_LARGE_VALUE","PIPS_SMALL_VALUE","scope_DirOffset","addNodeTo","addTarget","div","appendChild","addOrigin","handleNumber","setAttribute","eventKeydown","addConnect","addElements","connectOptions","connectBase","addSlider","textDirection","getComputedStyle","addTooltip","firstChild","isSliderDisabled","hasAttribute","isHandleDisabled","handleOrigin","removeTooltips","removeEvent","bindEvent","unencoded","formattedValue","innerHTML","positions","checkHandlePosition","now","getGroup","stepped","interval","spread","generateSpread","density","group","safeIncrement","increment","indexes","firstInRange","lastInRange","ignoreFirst","ignoreLast","prevPct","newPct","pctDifference","pctPos","steps","realSteps","stepSize","isSteps","addMarking","filterFunc","valueSizeClasses","markerSizeClasses","valueOrientationClasses","markerOrientationClasses","getClasses","orientationClasses","sizeClasses","addSpread","removePips","grid","baseSize","alt","width","height","attachEvent","fixEvent","doNotReject","buttons","calcPoint","points","passive","touch","mouse","pointer","touches","isTouchOnTarget","checkTouch","shadowRoot","targetTouches","pageX","pageY","targetTouch","changedTouches","clientX","clientY","calcPointToPercentage","proposal","getClosestHandle","clickedPosition","smallestDifference","handlePosition","differenceWithThisHandle","clickAtEdge","isCloser","isCloserAfter","documentLeave","relatedTarget","eventEnd","eventMove","appVersion","buttonsProperty","movement","startCalcPoint","moveHandles","locations","handleNumbers","removeEventListener","setZindex","fireEvent","eventStart","stopPropagation","moveEvent","endEvent","outEvent","eventTap","setHandle","eventHover","targetEvent","horizontalKeys","verticalKeys","largeStepKeys","edgeKeys","isLargeDown","isLargeUp","isUp","isMin","isMax","multiplier","getNextStepsForHandle","bindSliderEvents","handleBefore","handleAfter","eventHolders","eventHolder","namespacedEvent","isInternalNamespace","namespace","tEvent","tNamespace","eventType","lookBackward","lookForward","getValue","inRuleOrder","upward","proposals","transformDirection","updateHandlePosition","translation","translateRule","updateConnect","zIndex","exactInput","connectWidth","scaleRule","resolveToValue","valueSet","fireSetEvent","isInit","valueReset","valueSetHandle","valueGet","destroy","noUiSlider","nearbySteps","decrement","getNextSteps","updateOptions","optionsToUpdate","updateAble","newOptions","setupSlider","on","off","reset","__moveHandles","getTooltips","getOrigins","initialize","api","__spectrum","ReflectionCapabilities","Console","PLATFORM_BROWSER_ID","INTERNAL_BROWSER_PLATFORM_PROVIDERS","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","concatStringsWithSpace","__forward_ref__","forwardRef","forwardRefFn","isForwardRef","assertNumber","actual","throwError","assertNumberInRange","minInclusive","maxInclusive","assertLessThanOrEqual","assertGreaterThanOrEqual","assertString","assertFunction","assertEqual","expected","assertNotEqual","assertSame","assertNotSame","assertLessThan","assertGreaterThan","assertNotDefined","assertDefined","comparison","assertDomNode","Node","assertIndexInRange","maxLen","assertOneOf","validValues","defineInjectable","ɵɵdefineInjector","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","getInheritedInjectableDef","getTypeName","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ɵinj","ngInjectableDef","ngInjectorDef","InjectFlags","_injectImplementation","getInjectImplementation","setInjectImplementation","impl","injectRootLimpMode","notFoundValue","Optional","assertInjectImplementationNotEqual","ngDevMode","noSideEffects","ChangeDetectorStatus","isDefaultChangeDetectionStrategy","__globalThis","globalThis","ngDevModeResetPerfCounters","locationString","newCounters","namedConstructors","firstCreatePass","tNode","tView","rendererCreateTextNode","rendererSetText","rendererCreateElement","rendererAddEventListener","rendererSetAttribute","rendererRemoveAttribute","rendererSetProperty","rendererSetClassName","rendererAddClass","rendererRemoveClass","rendererSetStyle","rendererRemoveStyle","rendererDestroy","rendererDestroyNode","rendererMoveNode","rendererRemoveNode","rendererAppendChild","rendererInsertBefore","rendererCreateComment","allowNgDevModeTrue","initNgDevMode","EMPTY_OBJ","NG_COMP_DEF","ɵcmp","NG_DIR_DEF","ɵdir","NG_PIPE_DEF","ɵpipe","NG_MOD_DEF","ɵmod","NG_LOC_ID_DEF","ɵloc","NG_FACTORY_DEF","ɵfac","NG_ELEMENT_ID","__NG_ELEMENT_ID__","_renderCompCount","ɵɵdefineComponent","componentDefinition","typePrototype","declaredInputs","providersResolver","decls","hostVars","onPush","directiveDefs","pipeDefs","setInput","directiveTypes","pipeTypes","invertObject","extractDirectiveDef","extractPipeDef","ɵɵsetComponentScope","getComponentDef","getDirectiveDef","getPipeDef","autoRegisterModuleById","ɵɵdefineNgModule","transitiveCompileScopes","ɵɵsetNgModuleScope","getNgModuleDef","secondary","newLookup","minifiedKey","ɵɵdefineDirective","ɵɵdefinePipe","onDestroy","ngOnDestroy","throwNotFound","getNgLocaleIdDef","HOST","TVIEW","FLAGS","PARENT","NEXT","TRANSPLANTED_VIEWS_TO_REFRESH","T_HOST","CLEANUP","CONTEXT","RENDERER_FACTORY","RENDERER","SANITIZER","CHILD_HEAD","CHILD_TAIL","DECLARATION_VIEW","DECLARATION_COMPONENT_VIEW","DECLARATION_LCONTAINER","PREORDER_HOOK_FLAGS","QUERIES","HEADER_OFFSET","TViewTypeAsString","unusedValueExportToPlacateAjd","TYPE","HAS_TRANSPLANTED_VIEWS","NATIVE","VIEW_REFS","MOVED_VIEWS","CONTAINER_HEADER_OFFSET","unusedValueExportToPlacateAjd$1","isLView","isLContainer","isContentQueryHost","isComponentHost","isDirectiveHost","isComponentDef","isRootView","assertTNodeForLView","lView","assertTNodeForTView","assertTNode","tView_","assertTIcu","tIcu","currentCaseLViewIndex","assertComponentType","assertNgModuleType","assertCurrentTNodeIsParent","isParent","assertHasParent","assertDataNext","assertLContainer","assertLViewOrUndefined","assertLView","assertFirstCreatePass","errMessage","assertFirstUpdatePass","firstUpdatePass","assertDirectiveDef","assertIndexInDeclRange","assertBetween","assertIndexInVarsRange","expandoStartIndex","assertIndexInExpandoRange","lower","upper","assertNodeInjector","injectorIndex","getFactoryDef","hasFactoryDef","RuntimeError","formatRuntimeError","fullCode","renderStringify","stringifyForError","throwCyclicDependencyError","depPath","throwMixedMultiProviderError","throwInvalidProviderError","ngModuleDetail","providerDetail","throwProviderNotFoundError","injectorName","injectorDetails","SimpleChange","previousValue","currentValue","firstChange","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","ngOnChanges","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","ngInherit","simpleChangesStore","getSimpleChangesStore","privateName","setSimpleChangesStore","previousChange","SIMPLE_CHANGES_STORE","store","SVG_NAMESPACE","MATH_ML_NAMESPACE","MONKEY_PATCH_KEY_NAME","DOCUMENT","setDocument","getDocument","RendererStyleFlags3","isProceduralRenderer","renderer","listen","ɵ0","hostElement","domRendererFactory3","createRenderer","unusedValueExportToPlacateAjd$2","unwrapRNode","unwrapLView","unwrapLContainer","getNativeByIndex","getNativeByTNode","getNativeByTNodeOrNull","getTNode","view","getComponentLViewByIndex","slotValue","readPatchedData","readPatchedLView","isCreationMode","viewAttachedToChangeDetector","viewAttachedToContainer","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","amount","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","isInCheckNoChangesMode","specOnlyIsInstructionStateEmpty","getElementDepthCount","elementDepthCount","increaseElementDepthCount","decreaseElementDepthCount","getBindingsEnabled","ɵɵenableBindings","ɵɵdisableBindings","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","getCurrentTNode","currentTNode","getCurrentTNodePlaceholderOk","getCurrentParentTNode","setCurrentTNode","isCurrentTNodeParent","setCurrentTNodeAsNotParent","setCurrentTNodeAsParent","getContextLView","setIsInCheckNoChangesMode","getBindingRoot","bindingRootIndex","getBindingIndex","setBindingIndex","nextBindingIndex","incrementBindingIndex","isInI18nBlock","inI18n","setInI18nBlock","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveIndex","getCurrentDirectiveDef","tData","getCurrentQueryIndex","currentQueryIndex","setCurrentQueryIndex","getDeclarationTNode","declTNode","enterDI","SkipSelf","parentTNode","parentLView","Host","allocLFrame","enterView","newView","newLFrame","selectedIndex","currentLFrame","childLFrame","leaveViewLight","oldLFrame","leaveDI","leaveView","nextContextImpl","walkUpViews","currentView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceMathML","ɵɵnamespaceHTML","namespaceHTMLInternal","getNamespace","registerPreOrderHooks","ngOnInit","ngDoCheck","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","registerPostOrderHooks","directiveStart","directiveEnd","ngAfterContentInit","ngAfterContentChecked","ngAfterViewInit","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentNodeIndex","nodeIndexLimit","lastNodeIndexFound","isInitHook","callHook","indexWithintInitPhase","NO_PARENT_INJECTOR","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","isFactory","unusedValueExportToPlacateAjd$3","toTNodeTypeAsString","tNodeType","unusedValueExportToPlacateAjd$4","hasClassInput","hasStyleInput","assertTNodeType","expectedTypes","assertPureTNodeType","setUpAttributes","native","isProc","namespaceURI","attrVal","setAttributeNS","setProperty","isNameOnlyAttributeMarker","mergeHostAttrs","dst","srcMarker","mergeHostAttribute","key1","key2","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","parentInjectorIndex","getParentInjectorViewOffset","getParentInjectorView","startView","viewOffset","parentView","includeViewProviders","setIncludeViewProviders","oldValue","BLOOM_SIZE","BLOOM_MASK","nextNgElementId","bloomAdd","bloomBit","mask","b7","b6","b5","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentData","footer","declarationViewOffset","lViewCursor","tViewType","diPublicInInjector","injectAttributeImpl","attrNameToInject","attrsLength","notFoundValueOrThrow","lookupTokenUsingModuleInjector","Self","moduleInjector","previousInjectImplementation","getOrCreateInjectable","bloomHash","bloomHashBitOrFactory","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","searchTokensOnInjector","NOT_FOUND","createNodeInjector","NodeInjector","currentTView","canAccessViewProviders","isHostSpecialCase","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","startingIndex","endIndex","providerTokenOrDef","dirDef","previousIncludeViewProviders","success","tokenId","injectorView","isFirstHostTNode","_tNode","_lView","ɵɵgetFactoryOf","typeAny","ɵɵgetInheritedFactory","ownConstructor","ownFactory","objectPrototype","ɵɵinjectAttribute","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","annotationInstance","TypeDecorator","cls","annotationCls","makeParamDecorator","ParamDecoratorFactory","ParamDecorator","unusedKey","makePropDecorator","PropDecoratorFactory","decoratorInstance","PropDecorator","CREATE_ATTRIBUTE_DECORATOR__PRE_R3__","CREATE_ATTRIBUTE_DECORATOR__POST_R3__","CREATE_ATTRIBUTE_DECORATOR_IMPL","InjectionToken","Query","ɵ0$1","ContentChildren","ɵ1","ContentChild","ɵ2","ViewChildren","ɵ3","ViewChild","ViewEncapsulation$1","getCompilerFacade","globalNg","isType","addAllToArray","deepForEach","addToArray","removeFromArray","arraySplice","arrayInsert","previousEnd","arrayInsert2","value1","value2","arrayInsertSorted","arrayIndexOfSorted","arrayRemoveSorted","_arrayIndexOfSorted","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","keyValueArrayGet","keyValueArrayDelete","middle","ES5_DELEGATE_CTOR","ES2015_INHERITED_CLASS","ES2015_INHERITED_CLASS_WITH_CTOR","ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR","isDelegateCtor","reflect","_reflect","paramTypes","paramAnnotations","parentCtor","tsickleCtorParams","ctorParameters","ctorParam","convertTsickleDecoratorIntoMetadata","_zipTypesAndAnnotations","getOwnMetadata","getParentCtor","_ownParameters","_ownAnnotations","propDecorators","ownPropMetadata","_ownPropMetadata","functionBody","enumIdentifier","decoratorInvocations","decoratorInvocation","decoratorType","annotationArgs","parentProto","ɵ0$2","Inject","getReflect","reflectDependencies","convertDependencies","reflectDependency","setTokenAndResolvedType","proto","__ChangeDetectorRef__","resolveComponentResources","resourceResolver","componentResolved","urlMap","cachedResourceResolve","resp","unwrapResponse","componentResourceResolutionQueue","promises","styleOffset","fullyResolved","componentDefResolved","clearResolutionOfComponentResourcesQueue","componentDefPendingResolution","maybeQueueResolutionOfComponentResources","componentNeedsResolution","isComponentDefPendingResolution","old","restoreComponentResolutionQueue","queue","isComponentResourceResolutionQueueEmpty","response","_THROW_IF_NOT_FOUND","THROW_IF_NOT_FOUND","NG_TEMP_TOKEN_PATH","NG_TOKEN_PATH","NEW_LINE","NO_NEW_LINE","SOURCE","ɵ0$3","_currentInjector","setCurrentInjector","injector","former","injectInjectorOnly","ɵɵinject","ɵɵinvalidFactoryDep","catchInjectorError","injectorErrorName","tokenPath","formatError","policy","getPolicy","trustedTypes","createPolicy","createHTML","createScript","createScriptURL","trustedHTMLFromString","trustedScriptFromString","script","trustedScriptURLFromString","newTrustedFunctionForDev","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","getInertBodyHelper","defaultDoc","isDOMParserAvailable","DOMParserHelper","InertDocumentHelper","DOMParser","parseFromString","inertDocument","implementation","createHTMLDocument","inertHtml","inertBodyElement","templateEl","inertBody","documentMode","stripCustomNsAttrs","elAttrs","attrib","removeAttribute","childNode","nodeType","ELEMENT_NODE","nextSibling","SAFE_URL_PATTERN","SAFE_SRCSET_PATTERN","DATA_URL_PATTERN","_sanitizeUrl","sanitizeSrcset","srcset","tagSet","sets","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","OPTIONAL_END_TAG_ELEMENTS","BLOCK_ELEMENTS","INLINE_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","SRCSET_ATTRS","HTML_ATTRS","ARIA_ATTRS","VALID_ATTRS","SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS","SanitizingHtmlSerializer","sanitizedSomething","buf","traverseContent","startElement","TEXT_NODE","endElement","checkClobberedElement","parentNode","elAttr","encodeEntities","nextNode","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","outerHTML","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","getInertBodyElement","mXSSAttempts","parsedHtml","sanitizer","safeHtml","sanitizeChildren","getTemplateContent","ɵɵsanitizeHtml","getSanitizer","sanitize","ɵɵsanitizeStyle","unsafeStyle","ɵɵsanitizeUrl","unsafeUrl","ɵɵsanitizeResourceUrl","unsafeResourceUrl","ɵɵsanitizeScript","unsafeScript","ɵɵtrustConstantHtml","ɵɵtrustConstantScript","ɵɵtrustConstantResourceUrl","getUrlSanitizer","ɵɵsanitizeUrlOrResourceUrl","validateAgainstEventProperties","validateAgainstEventAttributes","ERROR_TYPE","ERROR_DEBUG_CONTEXT","ERROR_ORIGINAL_ERROR","ERROR_LOGGER","wrappedError","originalError","getType","getDebugContext","getOriginalError","getErrorLogger","defaultErrorLogger","ErrorHandler","_findOriginalError","_findContext","errorLogger","END_COMMENT","END_COMMENT_ESCAPED","escapeCommentText","createNamedArrayType","normalizeDebugBindingName","camelCaseToDashCase","CAMEL_CASE_REGEXP","normalizeDebugBindingValue","getLContext","mpValue","isComponentInstance","findViaComponent","isDirectiveInstance","findViaDirective","getDirectivesAtNodeIndex","findViaNativeElement","existingCtx","createLContext","attachPatchData","rElement","parentContext","localRefs","getComponentViewByInstance","componentInstance","traverseNextElement","componentIndices","elementComponentIndex","componentView","rootComponentView","rootComponent","directiveInstance","directiveIndexStart","directiveIndexEnd","includeComponents","directiveStartIndex","directiveEndIndex","getComponentAtNodeIndex","discoverLocalRefs","localNames","localIndex","ɵ0$4","requestAnimationFrame","defaultScheduler","ɵɵresolveWindow","defaultView","ɵɵresolveDocument","ɵɵresolveBody","INTERPOLATION_DELIMITER","maybeUnwrapFn","throwMultipleComponentError","throwErrorIfNoChangesMode","creationMode","currValue","constructDetailsForInterpolation","rootIndex","expressionIndex","changedValue","slotIdx","getExpressionChangedErrorDetails","RendererStyleFlags2","_icuContainerIterate","icuContainerIterate","tIcuContainerNode","ensureIcuContainerVisitorLoaded","loader","unusedValueExportToPlacateAjd$5","getLViewParent","getRootView","componentOrLView","getRootContext","viewOrComponent","rootView","getFirstLContainer","getNearestLContainer","getNextLContainer","unusedValueToPlacateAjd","applyToElementOrContainer","lNodeToHandle","beforeNode","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","destroyNode","applyContainer","createTextNode","createText","updateTextNode","createCommentNode","createComment","createElementNode","createElementNS","removeViewFromContainer","applyView","addViewToContainer","parentNativeNode","renderDetachView","destroyViewTree","lViewOrLContainer","cleanUpView","firstView","insertView","indexInContainer","containerLength","declarationLContainer","trackMovedView","lQueries","declarationContainer","movedViews","insertedLContainer","insertedComponentLView","declaredComponentLView","detachMovedView","declarationViewIndex","insertionLContainer","detachView","removeIndex","viewToDetach","removedLView","destroyLView","executeOnDestroys","processCleanups","tCleanup","cleanup","lCleanup","lastLCleanupIndex","idxOrTargetGetter","useCaptureOrSubIdx","unsubscribe","instanceCleanupFn","toCall","getParentRElement","getClosestRElement","isMove","insertBefore","nativeAppendOrInsertBefore","nativeRemoveChild","isHostElement","nativeParentNode","nativeNextSibling","getInsertInFrontOfRNode","_getInsertInFrontOfRNodeWithI18n","getInsertInFrontOfRNodeWithNoI18n","_processI18nInsertBefore","setI18nHandling","getInsertInFrontOfRNodeWithI18n","processI18nInsertBefore","childRNode","childTNode","parentRNode","anchorNode","getFirstNativeNode","getBeforeNodeForView","elIcuContainerChild","rNodeOrLContainer","nextRNode","componentHost","firstProjectedTNode","viewIndexInContainer","nextViewIndex","firstTNodeOfView","nativeParent","applyNodes","parentRElement","isProjection","rawSlotValue","applyProjectionRecursive","projectionNext","applyProjection","tProjectionNode","componentLView","componentNode","nodeToProjectOrRNodes","nodeToProject","projectedComponentLView","anchor","applyStyling","isProcedural","DashCase","removeStyle","removeProperty","isImportant","Important","setStyle","writeDirectStyle","writeDirectClass","classIndexOf","classToSearch","foundIndex","unusedValueToPlacateAjd$1","NG_TEMPLATE_SELECTOR","isCssClassMatching","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","tagNameToCompare","isNodeMatchingSelector","nodeAttrs","nameOnlyMarkerIdx","getNameOnlyMarkerIndex","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","compareAgainstClassName","bindingsMode","maybeAttrName","matchTemplateAttribute","isNodeMatchingSelectorList","getProjectAsAttrValue","ngProjectAsAttrIdx","nodeAttr","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","chunk","stringifyCSSSelector","currentChunk","valueOrMarker","stringifyCSSSelectorList","selectorList","extractAttrsAndClassesFromSelector","NO_CHANGE","__brand__","ɵɵadvance","selectIndexInternal","checkNoChangesMode","hooksInitPhaseCompleted","toTStylingRange","getTStylingRangePrev","tStylingRange","getTStylingRangePrevDuplicate","setTStylingRangePrev","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","getTStylingRangeNextDuplicate","setTStylingRangeNextDuplicate","getTStylingRangeTail","attachDebugObject","debug","attachDebugGetter","debugGetter","NG_DEV_MODE","LVIEW_COMPONENT_CACHE","LVIEW_EMBEDDED_CACHE","LVIEW_ROOT","cloneToLViewFromTViewBlueprint","debugTView","getLViewToClone","componentArray","nameSuffix","embeddedArray","TViewConstructor","hostBindingOpCodes","staticViewQueries","staticContentQueries","directiveRegistry","pipeRegistry","incompleteFirstPass","_decls","_vars","processTNodeChildren","TNode","insertBeforeIndex","directiveStylingLast","mergedAttrs","initialInputs","tViews","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","buildDebugNode","type_","flags_","toDebugStyleBinding","providerIndexStart_","TNodeDebug","itemKey","itemRange","prevDuplicate","nextDuplicate","nextIndex","prevIndex","template_","TViewData","TVIEWDATA_EMPTY","cloneToTViewData","LViewBlueprint","MatchesArray","TViewComponents","TNodeLocalNames","TNodeInitialInputs","TNodeInitialData","LCleanup","TCleanup","attachLViewDebug","LViewDebug","attachLContainerDebug","LContainerDebug","toDebug","toHtml","includeChildren","COMMENT_NODE","_raw_lView","__raw__flags__","initPhaseState","firstViewPass","checkAlways","dirty","attached","destroyed","indexWithinInitPhase","mapToHTML","toDebugNodes","toLViewRange","childViews","childHead","debugNodes","tNodeCursor","rawValue","factories","instances","buildNodeInjectorDebug","providerIndexEnd_","nodeInjectorDebug","bloom","toBloom","cumulativeBloom","binary","_raw_lContainer","ɵ0$5","_CLEAN_PROMISE","processHostBindingOpCodes","opCode","directiveIdx","bindingRootIndx","hostBindingFn","refreshContentQueries","queryStartIdx","directiveDefIdx","refreshChildComponents","hostLView","refreshComponent","renderChildComponents","renderComponent","createLView","tHostNode","rendererFactory","getOrCreateTNode","createTNodeAtIndex","createTNode","allocExpando","numSlotsToAlloc","allocIdx","renderView","executeViewQueryFn","templateFn","executeTemplate","refreshView","isInCheckNoChangesPass","markTransplantedViewsForRefresh","refreshEmbeddedViews","renderComponentOrTemplate","normalExecutionPath","creationModeIsActive","begin","rf","prevSelectedIndex","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","getOrCreateTComponentView","createTView","constsOrFactory","initialViewLength","createViewBlueprint","fill","seal","createError","assertHostNodeExists","elementOrSelector","locateHostElement","preserveContent","ShadowDom","selectRootElement","querySelector","storeCleanupWithContext","cleanupFn","getLCleanup","getTViewCleanup","tParent","generatePropertyAliases","inputAliasMap","propStore","initializeInputAndOutputAliases","tViewData","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","directiveInputs","generateInitialInputs","mapPropName","elementPropertyInternal","nativeOnly","inputData","dataValue","setInputsForProperty","markDirtyIfOnPush","setNgReflectProperties","logUnknownPropertyError","matchingSchemas","viewIndex","childComponentLView","setNgReflectProperty","debugValue","instantiateRootComponent","rootTNode","configureViewWithDirective","resolveDirectives","hasDirectives","findDirectiveDefMatches","exportsMap","initTNodeFlags","preOrderHooksFound","preOrderCheckHooksFound","saveNameToExportMap","lifeCycleHooks","cacheMatchingLocalNames","registerHostBindingOpCodes","directiveVarsIdx","elementIndx","lastSelectedElementIdx","addComponentLogic","setInputsFromAttrs","dirIndex","invokeHostBindingsInCreationMode","markAsComponentHost","hostTNode","numberOfDirectives","directiveFactory","nodeInjectorFactory","addToViewTree","elementAttributeInternal","setElementAttribute","initialInputData","nativeElement","inputsToStore","LContainerArray","createLContainer","hostNative","embeddedLView","embeddedTView","movedLView","componentHostIdx","refreshContainsDirtyView","componentTView","syncViewWithBlueprint","markViewDirty","scheduleTick","nothingScheduled","clean","scheduler","tickRootContext","playerHandler","flushPlayers","detectChangesInternal","detectChangesInRootView","checkNoChangesInternal","checkNoChangesInRootView","viewQueryFn","storePropertyBindingMetadata","propBindingIdxs","bindingMetadata","interpolationParts","CLEAN_PROMISE","loadComponentRenderer","currentDef","errorHandler","textBindingInternal","computeStaticStyling","writeToHost","styleValue","detectChanges","markDirty","tick","INJECTOR$1","NullInjector","INJECTOR_SCOPE","NOT_YET","CIRCULAR","EMPTY_ARRAY$1","NULL_INJECTOR","getNullInjector","createInjector","defType","additionalProviders","createInjectorWithoutInjectorInstances","_resolveInjectorDefTypes","R3Injector","records","injectorDefTypes","_destroyed","dedupStack","processProvider","processInjectorType","makeRecord","record","assertNotDestroyed","service","previousInjector","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","nextInjector","defOrWrappedDef","parents","defName","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","isTypeProvider","providerToRecord","multiRecord","existing","hasOnDestroy","getUndecoratedInjectableFactory","paramLength","inheritedInjectableDef","isValueProvider","providerToFactory","unwrappedProvider","isFactoryProvider","isExistingProvider","classRef","hasDeps","isClassProvider","INJECTOR_IMPL__PRE_R3__","StaticInjector","INJECTOR_IMPL__POST_R3__","INJECTOR_IMPL","NULL","IDENT","ɵ0$6","EMPTY","CIRCULAR$1","MULTI_PROVIDER_FN","ɵ1$1","NO_NEW_LINE$1","_records","useNew","recursivelyProcessProviders","resolveProvider","lastInjector","tryResolveToken","computeDeps","staticError","multiProviderMixError","resolveToken","depRecords","depRecord","childRecord","providerDeps","getComponent","assertDomElement","loadLContext","getOwningComponent","elementOrDir","getRootComponents","getInjector","getInjectionTokens","providerTokens","isDirectiveDefHack","getDirectives","throwOnNotFound","getLocalRefs","getHostElement","componentOrDirective","getRenderedText","loadLContextFromNode","getListeners","lContext","firstParam","secondParam","listenerElement","useCaptureOrIndx","useCapture","sortListeners","getDebugNode","debugNode","valueInLView","getComponentLView","nodeIndx","applyChanges","GLOBAL_PUBLISH_EXPANDO_KEY","_published","publishDefaultGlobalUtils","publishGlobalUtil","COMPILED","ɵ0$7","NULL_INJECTOR$1","renderComponent$1","componentDef","componentTag","hostRenderer","hostRNode","rootFlags","createRootContext","rootTView","createRootComponentView","createRootComponent","hostFeatures","viewRenderer","rootLView","LifecycleHooksFeature","whenRendered","getSuperType","ɵɵInheritDefinitionFeature","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","animation","defData","mergeHostAttrsAcrossInheritance","prevViewQuery","prevContentQueries","prevHostBindings","COPY_DIRECTIVE_FIELDS","COPY_COMPONENT_FIELDS","ɵɵCopyDefinitionFeature","defAny","_symbolIterator","getSymbolIterator","Symbol","iterator","devModeEqual","isListLikeIterableA","isListLikeIterable","isListLikeIterableB","areIterablesEqual","isAObject","isBObject","is","WrappedValue","isWrapped","isJsObject","comparator","iterator1","iterator2","item1","item2","iterateListLike","updateBinding","getBinding","bindingUpdated","oldValueToCompare","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","v0","interpolation2","i0","v1","interpolation3","v2","interpolation4","v3","interpolation5","v4","interpolation6","i4","v5","interpolation7","i5","v6","interpolation8","i6","v7","ɵɵattributeInterpolate1","interpolatedValue","ɵɵattributeInterpolate2","ɵɵattributeInterpolate3","ɵɵattributeInterpolate4","ɵɵattributeInterpolate5","ɵɵattributeInterpolate6","ɵɵattributeInterpolate7","ɵɵattributeInterpolate8","ɵɵattributeInterpolateV","interpolated","interpolationInBetween","templateFirstCreatePass","attrsIndex","localRefsIndex","tViewConsts","ɵɵtemplate","adjustedIndex","ɵɵreference","angularCoreDiEnv","srcMeta","ngFactoryDef","compileFactory","ɵ0$8","isUseClassProvider","isUseValueProvider","isUseFactoryProvider","isUseExistingProvider","compilerMeta","ɵ0$9","USE_VALUE$2","EMPTY_ARRAY$2","convertInjectableProviderToFactory","reflectionCapabilities","valueProvider","existingProvider","factoryProvider","classProvider","ɵ0$a","SWITCH_COMPILE_INJECTABLE","render2CompileInjectable","injectableType","SWITCH_COMPILE_INJECTABLE__POST_R3__","SWITCH_COMPILE_INJECTABLE__PRE_R3__","findFirstClosedCycle","constructResolvingPath","reversed","tokenStrs","injectionError","constructResolvingMessage","addKey","injectors","noProviderError","cyclicDependencyError","instantiationError","originalException","originalStack","invalidProviderError","noAnnotationError","ii","parameter","outOfBoundsError","mixingMultiProvidersWithRegularProvidersError","provider1","provider2","ReflectiveKey","displayName","_globalKeyRegistry","numberOfKeys","KeyRegistry","_allKeys","newKey","Reflector","caps","setter","importUri","resourceUri","resolveIdentifier","resolveEnum","ReflectiveDependency","visibility","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","resolvedFactory","ResolvedReflectiveFactory","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","fromKey","constructDependencies","resolveReflectiveProvider","resolveReflectiveProviders","normalized","_normalizeProviders","resolvedProviderMap","mergeResolvedReflectiveProviders","normalizedProvidersMap","_extractToken","_createDependency","paramMetadata","UNDEFINED","ReflectiveInjector","ResolvedReflectiveProviders","fromResolvedProviders","ReflectiveInjector_","_providers","_constructionCounter","keyIds","objs","_getByKey","createChildFromResolved","inj","instantiateResolved","_instantiateProvider","_getMaxNumberOfObjects","_instantiate","_getByReflectiveDependency","INJECTOR_KEY","_getByKeySelf","_getByKeyDefault","keyId","_new","_getObjByKeyId","_throwOrNull","inj_","_mapProviders","getProviderAtIndex","ɵɵdirectiveInject","ɵɵinvalidFactory","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","elementStartFirstCreatePass","logUnknownElementError","ɵɵelementStart","ɵɵelementEnd","ɵɵelement","isUnknown","HTMLUnknownElement","customElements","elementContainerStartFirstCreatePass","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","ɵɵlistener","listenerFn","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","findExistingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","isTNodeDirectiveHost","processOutputs","lCleanupIndex","existingListener","lastListenerFn","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","propsLength","subscription","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","returnValue","ɵɵnextContext","matchingProjectionSlotIndex","projectionSlots","ngProjectAsAttrVal","ɵɵprojectionDef","numProjectionSlots","projectionHeads","tails","componentChild","slotIndex","ɵɵprojection","selectorIndex","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","ɵɵpropertyInterpolate2","ɵɵpropertyInterpolate3","ɵɵpropertyInterpolate4","ɵɵpropertyInterpolate5","ɵɵpropertyInterpolate6","ɵɵpropertyInterpolate7","ɵɵpropertyInterpolate8","ɵɵpropertyInterpolateV","EMPTY_OBJ$1","EMPTY_ARRAY$3","__unused_const_as_closure_does_not_like_standalone_comment_blocks__","insertTStylingBinding","tStylingKeyWithStatic","isClassBinding","tBindings","tmplHead","tmplTail","isKeyDuplicateOfStatic","tStylingKey","staticKeyValueArray","hasTemplateBindings","previousNode","markDuplicates","markDuplicateOfResidualStyling","residual","isPrevDir","tStylingAtIndex","isMap","foundDuplicate","tStylingValueAtCursor","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","getLastParsedValue","parseClassName","resetParserState","parseClassNameNext","consumeWhitespace","consumeClassToken","parseStyle","parseStyleNext","consumeStyleKey","consumeSeparator","consumeStyleValue","malformedStyleError","ch1","ch2","ch3","lastChIndex","consumeQuotedText","quoteCharCode","expecting","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵstyleMap","checkStylingMap","styleKeyValueArraySet","styleStringParser","ɵɵclassMap","classStringParser","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","updateStylingMap","toStylingKeyValueArray","isHostBindings","wrapInStaticStylingKey","stylingKey","hostDirectiveDef","isFirstStylingInstructionInTemplate","collectStylingFromDirectives","collectStylingFromTAttrs","isFirstStylingInstructionInHostBinding","templateStylingKey","getTemplateHeadTStylingKey","setTemplateHeadTStylingKey","collectResidual","currentDirective","desiredMarker","currentMarker","styleKeyValueArray","unwrappedValue","oldKeyValueArray","newKeyValueArray","oldIndex","newIndex","oldKey","setKey","tRange","higherPriorityValue","findStylingValue","isStylingValuePresent","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵtext","textNative","ɵɵtextInterpolate","ɵɵtextInterpolate1","ɵɵtextInterpolate2","ɵɵtextInterpolate3","ɵɵtextInterpolate4","ɵɵtextInterpolate5","ɵɵtextInterpolate6","ɵɵtextInterpolate7","ɵɵtextInterpolate8","ɵɵtextInterpolateV","ɵɵclassMapInterpolate1","ɵɵclassMapInterpolate2","ɵɵclassMapInterpolate3","ɵɵclassMapInterpolate4","ɵɵclassMapInterpolate5","ɵɵclassMapInterpolate6","ɵɵclassMapInterpolate7","ɵɵclassMapInterpolate8","ɵɵclassMapInterpolateV","ɵɵstyleMapInterpolate1","ɵɵstyleMapInterpolate2","ɵɵstyleMapInterpolate3","ɵɵstyleMapInterpolate4","ɵɵstyleMapInterpolate5","ɵɵstyleMapInterpolate6","ɵɵstyleMapInterpolate7","ɵɵstyleMapInterpolate8","ɵɵstyleMapInterpolateV","ɵɵstylePropInterpolate1","valueSuffix","ɵɵstylePropInterpolate2","ɵɵstylePropInterpolate3","ɵɵstylePropInterpolate4","ɵɵstylePropInterpolate5","ɵɵstylePropInterpolate6","ɵɵstylePropInterpolate7","ɵɵstylePropInterpolate8","ɵɵstylePropInterpolateV","ɵɵhostProperty","ɵɵsyntheticHostProperty","ngI18nClosureMode","goog","getMsg","u","plural","localeEn","LOCALE_DATA","registerLocaleData","localeId","extraData","LocaleDataIndex","LocaleId","ExtraData","findLocaleData","normalizeLocale","getLocaleData","parentLocale","getLocaleCurrencyCode","CurrencyCode","getLocalePluralCase","PluralCase","common","locales","unregisterAllLocaleData","pluralMapping","getPluralCase","DEFAULT_LOCALE_ID","USD_CURRENCY_CODE","ELEMENT_MARKER","ICU_MARKER","I18nCreateOpCode","unusedValueExportToPlacateAjd$6","setLocaleId","getLocaleId","tNodeInsertBeforeIndex","i18nParent","anchorRNode","i18nChild","addTNodeAndUpdateInsertBeforeIndex","previousTNodes","newTNode","existingTNode","isI18nText","isNewTNodeCreatedBefore","getInsertBeforeIndex","setInsertBeforeIndex","getTIcu","setTIcu","setTNodeInsertBeforeIndex","createTNodePlaceholder","getCurrentICUCaseIndex","currentCase","getParentFromIcuCreateOpCode","mergedCode","getRefFromIcuCreateOpCode","getInstructionFromIcuCreateOpCode","icuCreateOpCode","parentIdx","refIdx","changeMask","changeMaskCounter","setMaskBit","hasChange","applyI18n","tI18n","updateOpCodes","update","bindingsStartIndex","applyUpdateOpCodes","applyCreateOpCodes","createOpCodes","insertInFrontOf","isComment","COMMENT","appendNow","APPEND_EAGERLY","SHIFT","applyMutableOpCodes","mutableOpCodes","rootIdx","rootRNode","textNodeIndex","caseIndex","anchorIdx","elementNodeIndex","commentValue","commentNodeIndex","commentRNode","elementRNode","checkBit","skipCodes","sanitizeFn","tNodeOrTagName","rText","applyIcuSwitchCase","applyIcuUpdateCase","currentIndex","activeCaseIndex","getCaseIndex","applyIcuSwitchCaseRemove","removeCodes","nodeOrIcuIndex","bindingValue","resolvedCase","loadIcuContainerVisitor","_stack","_removes","icuContainerIteratorStart","enterIcu","icuContainerIteratorNext","removeOpCode","tIcuIndex","i18nCreateOpCodesToString","opcodes","i18nUpdateOpCodesToString","OpCodeParser","consumeOpCode","consumeString","sanitizationFn","consumeFunction","hasMore","consumeNumber","consumeNumberOrString","opCodeText","icuCreateOpCodesToString","lastRef","consumeNumberStringOrMarker","i18nRemoveOpCodesToString","codes","BINDING_REGEXP","ICU_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","MARKER","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","i18nStartFirstCreatePass","parentTNodeIndex","subTemplateIndex","existingTNodeStack","getTranslationForTemplate","msgParts","i18nParseTextIntoPartsAndICU","i18nStartFirstCreatePassProcessTextNode","icuContainerTNode","createTNodeAndAddOpCode","mainBinding","icuNodeIndex","icuStart","existingTNodes","isICU","i18nNodeIdx","generateBindingUpdateOpCodes","i18nAttributesFirstPass","previousElement","previousElementIndex","destinationNode","maskIndex","sizeIndex","textParts","textValue","toMaskBit","isRootTemplateMessage","removeInnerTemplateTranslation","inTemplate","tagMatched","search","bindingMask","addUpdateIcuSwitch","valueArr","nestedIcus","icuIndex","parseIcuCase","addUpdateIcuUpdate","parseICUBlock","prevPos","braceStack","braces","block","caseName","unsafeCaseHtml","inertRootNode","walkIcuTree","sharedUpdateOpCodes","currentNode","addCreateNodeAndAppend","lowerAttrName","addCreateAttribute","addRemoveNode","isNestedIcu","nestedIcuIndex","addRemoveNestedIcu","appendToParentIdx","createAtIdx","ROOT_TEMPLATE_ID","PP_MULTI_VALUE_PLACEHOLDERS_REGEXP","PP_PLACEHOLDERS_REGEXP","PP_ICU_VARS_REGEXP","PP_ICU_PLACEHOLDERS_REGEXP","PP_ICUS_REGEXP","PP_CLOSE_TEMPLATE_REGEXP","PP_TEMPLATE_ID_REGEXP","replacements","templateIdsStack","templateId","isCloseTemplateTag","currentTemplateId","_type","_idx","ɵɵi18nStart","messageIndex","sameViewParentTNode","ɵɵi18nEnd","ɵɵi18n","ɵɵi18nAttributes","ɵɵi18nExp","ɵɵi18nApply","ɵɵi18nPostprocess","resolveProvider$1","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesProvidersFactoryExist","doesViewProvidersFactoryExist","multiFactory","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","indexInFactory","multiFactoryAdd","componentProviders","contextIndex","providerIsTypeProvider","existingCallbacksIndex","isComponentProvider","lData","multiResolve","componentCount","multiProviders","ɵɵProvidersFeature","processProvidersFn","noComponentFactoryError","ERROR_COMPONENT","getComponent$1","_NullComponentFactoryResolver","_ngModule","_factories","resolveComponentFactory","ComponentFactoryBoundToModule","projectableNodes","rootSelectorOrNode","noop","injectElementRef","createElementRef","SWITCH_ELEMENT_REF_FACTORY__POST_R3__","SWITCH_ELEMENT_REF_FACTORY__PRE_R3__","SWITCH_ELEMENT_REF_FACTORY","Renderer2Interceptor","RendererFactory2","SWITCH_RENDERER2_FACTORY","SWITCH_RENDERER2_FACTORY__POST_R3__","injectRenderer2","SWITCH_RENDERER2_FACTORY__PRE_R3__","getOrCreateRenderer2","nodeAtIndex","Sanitizer","DefaultIterableDifferFactory","trackByFn","DefaultIterableDiffer","trackByIdentity","ɵ0$b","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","_trackByFn","_next","nextIt","nextRemove","addRemoveOffset","moveOffsets","getPreviousIndex","adjPreviousIndex","_nextRemoved","previousIndex","localMovePreviousIndex","localCurrentIndex","_nextPrevious","_nextAdded","_nextMoved","_nextIdentityChange","collection","check","_reset","mayBeDirty","itemTrackBy","trackById","_mismatch","_verifyReinsertion","_addIdentityChange","_truncate","isDirty","previousRecord","_prev","_remove","_moveAfter","_reinsertAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","nextRecord","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","put","toIndex","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","IterableDiffers","iterable","getTypeNameForDebugging","copied","KeyValueDiffers","kv","collectNativeNodes","lNode","lViewInAContainer","lViewFirstChildTNode","nodesInSlot","ViewRef","_cdRefInjectingView","_appRef","_viewContainerRef","detach","vcRef","appRef","RootViewRef","_view","SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__","injectChangeDetectorRef","SWITCH_CHANGE_DETECTOR_REF_FACTORY__PRE_R3__","SWITCH_CHANGE_DETECTOR_REF_FACTORY","createViewRef","isComponentView","hostComponentView","keyValDiff","iterableDiff","defaultIterableDiffers","defaultKeyValueDiffers","SWITCH_TEMPLATE_REF_FACTORY__POST_R3__","injectTemplateRef","SWITCH_TEMPLATE_REF_FACTORY__PRE_R3__","SWITCH_TEMPLATE_REF_FACTORY","ViewEngineTemplateRef","R3TemplateRef","_declarationLView","_declarationTContainer","elementRef","declarationViewLQueries","createEmbeddedView","createTemplateRef","SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__","injectViewContainerRef","SWITCH_VIEW_CONTAINER_REF_FACTORY__PRE_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY","previousTNode","createContainerRef","VE_ViewContainerRef","R3ViewContainerRef","_lContainer","_hostTNode","_hostLView","viewRefs","getViewRefs","templateRef","viewRef","insert","ngModuleRef","contextInjector","parentInjector","componentRef","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","attachToViewContainerRef","getOrCreateViewRefs","viewRefsArr","detachedView","wasDetached","commentNode","parentOfHostNative","expressionChangedAfterItHasBeenCheckedError","isFirstCheck","viewDebugError","viewWrappedDebugError","_addDebugContext","logError","isViewDebugError","viewDestroyedError","shiftInitState","priorInitState","newInitState","initState","initIndex","shouldCallLifecycleInitHook","NodeData","asTextData","asElementData","asProviderData","asPureExpressionData","asQueryList","DebugContext","Services","setCurrentNode","createRootView","createComponentView","createNgModuleRef","overrideProvider","overrideComponentView","clearOverrides","checkAndUpdateView","checkNoChangesView","destroyView","resolveDep","createDebugContext","handleEvent","dirtyParentQueries","NOOP","_tokenKeyCache","tokenKey","nodeIdx","unwrap","globalBindingIdx","oldValues","UNDEFINED_RENDERER_TYPE_ID","EMPTY_RENDERER_TYPE_ID","_renderCompCount$1","resolveRendererType2","isFilled","checkBinding","checkAndUpdateBinding","checkBindingNoChanges","markParentViewsForCheck","currView","viewContainerParent","markParentViewsForCheckProjectedViews","endView","dispatchEvent","root","declaredViewContainer","parentNodeDef","viewParentEl","renderNode","renderElement","renderText","isEmbeddedView","filterQueryId","splitMatchedQueriesDsl","matchedQueriesDsl","matchedQueries","matchedQueryIds","splitDepsDsl","sourceName","getParentRenderElement","renderHost","renderParent","componentRendererType","DEFINITION_CACHE","WeakMap","resolveDefinition","rootRenderNodes","renderNodes","visitRootRenderNodes","lastRenderRootNode","visitSiblingRenderNodes","visitRenderNode","visitProjectedRenderNodes","hostElDef","projectedNodes","execRenderNodeAction","rn","bindingFlags","embeddedViews","viewContainer","_embeddedViews","NS_PREFIX_RE","splitNamespace","calcBindingFlags","valueCount","constAndInterp","_toStringWithNull","c0","a1","c1","a2","c2","a3","c3","a4","c4","a5","c5","a6","c6","a7","c7","a8","c8","a9","c9","EMPTY_ARRAY$4","UNDEFINED_VALUE","InjectorRefTokenKey","INJECTORRefTokenKey","NgModuleRefTokenKey","moduleProvideDef","depDefs","providersByKey","initNgModule","_def","provDef","_createProviderInstance","resolveNgModuleDep","providerInstance","targetsModule","moduleTransitivelyPresent","_createClass","_callFactory","depValues","callNgModuleLifecycle","lifecycles","attachEmbeddedView","elementData","attachProjectedView","prevView","renderAttachEmbeddedView","vcElementData","dvcElementData","projectedViews","_projectedViews","markNodeAsProjectedTemplate","childFlags","detachEmbeddedView","renderDetachView$1","detachProjectedView","moveEmbeddedView","oldViewIndex","newViewIndex","prevRenderNode","EMPTY_CONTEXT","ComponentFactory_","getComponentViewDefinitionFactory","_inputs","_outputs","inputsArr","outputsArr","componentNodeIndex","componentProvider","ComponentRef_","ViewRef_","_viewRef","_component","_elDef","changeDetectorRef","Injector_","createViewContainerData","elDef","elData","ViewContainerRef_","_data","viewRef_","createChangeDetectorRef","fs","disposables","createTemplateData","TemplateRef_","_parentView","createInjector$1","allowPrivateServices","NgModuleRef_","_moduleType","_bootstrapComponents","_destroyListeners","injectFlags","Renderer2TokenKey","ElementRefTokenKey","ViewContainerRefTokenKey","TemplateRefTokenKey","ChangeDetectorRefTokenKey","InjectorRefTokenKey$1","INJECTORRefTokenKey$1","nonMinifiedName","outputIndex","directChildFlags","childMatchedQueries","createProviderInstance","_createProviderInstance$1","createPipeInstance","createClass","createDirectiveInstance","outputObservable","eventHandlerClosure","checkAndUpdateDirectiveInline","v8","v9","providerData","changes","bindLen","updateProp","checkAndUpdateDirectiveDynamic","callFactory","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","searchView","findCompView","cdView","allProviders","publicProviders","callLifecycleHooksChildrenFirst","callProviderLifecycles","callElementProvidersLifecycles","ComponentFactoryResolver$1","ComponentFactory$1","toRefArray","nonMinified","minified","getNamespace$1","SCHEDULER","createChainedInjector","rootViewInjector","isBoundToModule","tElementNode","nodesforSlot","ComponentRef$1","componentFactoryResolver","injectComponentFactoryResolver","_rootLView","registerModuleFactory","assertSameOrNotExisting","incoming","registerNgModuleType","recurse","clearModulesForTest","getRegisteredNgModuleType","NgModuleRef$1","destroyCbs","ngLocaleIdDef","_r3Injector","NgModuleFactory$1","ɵɵpureFunction0","pureFn","thisArg","ɵɵpureFunction1","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","pureFunction4Internal","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunction8","exp8","ɵɵpureFunctionV","exps","pureFunctionVInternal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","getPipeDef$1","pipeFactory","pipeInstance","ɵɵpipeBind1","unwrapValue$1","isPure","ɵɵpipeBind2","ɵɵpipeBind3","ɵɵpipeBind4","ɵɵpipeBindV","bindingToInvalidateIdx","EventEmitter_","isAsync","__isAsync","generatorOrNext","complete","schedulerFn","errorFn","completeFn","sink","Subscription","Subject","EventEmitter","symbolIterator","_results","resultsTree","emit","unusedValueExportToPlacateAjd$7","unusedValueExportToPlacateAjd$8","unusedValueToPlacateAjd$2","LQuery_","queryList","setDirty","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","parentLQuery","indexInDeclarationView","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","isStatic","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","matchIdx","createResultByTNodeType","createResultForNode","matchingIdx","createSpecialToken","materializeViewResults","lQuery","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","ɵɵqueryRefresh","notifyOnChanges","ɵɵstaticViewQuery","descend","viewQueryInternal","ɵɵviewQuery","createTQuery","createLQuery","ɵɵcontentQuery","contentQueryInternal","ɵɵstaticContentQuery","saveContentQueryAndDirectiveIndex","ɵɵloadQuery","loadQueryInternal","track","tViewContentQueries","lastSavedDirectiveIndex","ɵɵtemplateRefExtractor","ɵɵinjectPipeChangeDetectorRef","ɵ0$c","jitOptions","setJitOptions","getJitOptions","resetJitOptions","EMPTY_ARRAY$5","moduleQueue","enqueueModuleForDelayedScoping","flushingModuleQueue","flushModuleScopingQueueAsMuchAsPossible","isResolvedDeclaration","setScopeOnDeclaredComponents","declaration","compileNgModuleDefs","allowDuplicateDeclarationsInRoot","expandModuleWithProviders","verifySemanticsOfNgModuleDef","importingModule","verifiedNgModule","unwrapModuleWithProvidersImports","verifySemanticsOfNgModuleImport","verifyDeclarationsHaveDefinitions","verifyDirectivesHaveSelector","combinedDeclarations","computeCombinedExports","verifyExportsAreDeclaredOrReExported","verifyDeclarationIsUnique","verifyComponentEntryComponentsIsPartOfNgModule","getAnnotation","verifyCorrectBootstrapType","verifyComponentIsPartOfNgModule","suppressErrors","existingModule","ownerNgModule","typeOrWithProviders","collect","__annotations__","readAnnotation","decorator","resetCompiledComponents","transitiveScopes","transitiveScopesFor","patchComponentDefWithScope","ngSelectorScope","compilation","scopes","exported","importedScope","declared","declaredWithDefs","exportedScope","isModuleWithProviders","compilationDepth","ngComponentDef","addDirectiveFactoryDef","createParseSourceSpan","addDirectiveDefToUndecoratedParents","hasSelectorScope","compileDirective","ngDirectiveDef","extendsDirectlyFromObject","extractQueriesMetadata","isContentQuery","extractExportAs","objPrototype","shouldAddAbstractDirective","convertToR3QueryPredicate","splitByComma","isQueryAnn","queriesMeta","isInputAnnotation","LIFECYCLE_HOOKS","hookName","metadataName","compilePipe","ngPipeDef","ɵ0$d","ɵ1$2","SWITCH_COMPILE_DIRECTIVE","ɵ2$1","ɵ3$1","SWITCH_COMPILE_COMPONENT","ɵ4","ɵ5","SWITCH_COMPILE_PIPE","ɵ6","Input","ɵ7","Output","ɵ8","HostBinding","ɵ9","HostListener","SWITCH_COMPILE_COMPONENT__POST_R3__","SWITCH_COMPILE_DIRECTIVE__POST_R3__","SWITCH_COMPILE_PIPE__POST_R3__","SWITCH_COMPILE_COMPONENT__PRE_R3__","SWITCH_COMPILE_DIRECTIVE__PRE_R3__","SWITCH_COMPILE_PIPE__PRE_R3__","ɵ0$e","ɵ1$3","SWITCH_COMPILE_NGMODULE","preR3NgModuleCompile","SWITCH_COMPILE_NGMODULE__POST_R3__","SWITCH_COMPILE_NGMODULE__PRE_R3__","APP_INITIALIZER","ApplicationInitStatus","appInits","reject","initialized","donePromise","rej","asyncInitPromises","initResult","catch","ApplicationInitStatus_Factory","APP_ID","_appIdRandomProviderFactory","_randomChar","APP_ID_RANDOM_PROVIDER","random","PLATFORM_INITIALIZER","PLATFORM_ID","APP_BOOTSTRAP_LISTENER","PACKAGE_ROOT_URL","log","Console_Factory","LOCALE_ID$1","DEFAULT_CURRENCY_CODE","TRANSLATIONS","SWITCH_IVY_ENABLED__POST_R3__","SWITCH_IVY_ENABLED__PRE_R3__","ivyEnabled","ModuleWithComponentFactories","_throwError","Compiler_compileModuleSync__PRE_R3__","Compiler_compileModuleSync__POST_R3__","Compiler_compileModuleSync","Compiler_compileModuleAsync__PRE_R3__","Compiler_compileModuleAsync__POST_R3__","Compiler_compileModuleAsync","Compiler_compileModuleAndAllComponentsSync__PRE_R3__","Compiler_compileModuleAndAllComponentsSync__POST_R3__","Compiler_compileModuleAndAllComponentsSync","Compiler_compileModuleAndAllComponentsAsync__PRE_R3__","Compiler_compileModuleAndAllComponentsAsync__POST_R3__","Compiler_compileModuleAndAllComponentsAsync","Compiler","compileModuleSync","compileModuleAsync","compileModuleAndAllComponentsSync","compileModuleAndAllComponentsAsync","Compiler_Factory","COMPILER_OPTIONS","CompilerFactory","scheduleMicroTask","Zone","getNativeRequestAnimationFrame","nativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","NgZone","enableLongStackTrace","shouldCoalesceEventChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","isStable","onUnstable","onMicrotaskEmpty","onStable","onError","assertZonePatched","_nesting","_outer","_inner","fork","lastRequestAnimationFrameId","forkInnerZoneWithAngularBehavior","applyThis","applyArgs","run","zone","task","scheduleEventTask","EMPTY_PAYLOAD","runTask","cancelTask","runGuarded","isInAngularZone","checkStable","runOutsideAngular","delayChangeDetectionForEvents","fakeTopEventTask","updateMicroTaskStatus","invoke","delayChangeDetectionForEventsDelegate","maybeDelayChangeDetection","onInvokeTask","onEnter","invokeTask","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","change","_hasPendingMicrotasks","microTask","macroTask","onHandleError","NoopNgZone","Testability","_ngZone","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","clearTimeout","timeoutId","doneCb","pending","getPendingTasks","updateCb","macroTasks","creationLocation","timeout","addCallback","using","exactMatch","Testability_Factory","TestabilityRegistry","_applications","_testabilityGetter","addToWindow","testability","findInAncestors","findTestabilityInTree","TestabilityRegistry_Factory","_NoopGetTestability","setTestabilityGetter","_devMode","_runModeLocked","isDevMode","enableProdMode","_platform","compileNgModuleFactory","compileNgModuleFactory__POST_R3__","compileNgModuleFactory__PRE_R3__","compilerFactory","createCompiler","moduleFactory","compilerOptions","_lastDefined","compilerProviders","_mergeArrays","compilerInjector","resourceLoader","publishDefaultGlobalUtils__PRE_R3__","publishDefaultGlobalUtils__POST_R3__","publishDefaultGlobalUtils$1","isBoundToModule__POST_R3__","isBoundToModule__PRE_R3__","cf","ALLOW_MULTIPLE_PLATFORMS","NgProbeToken","createPlatform","PlatformRef","inits","createPlatformFactory","parentPlatformFactory","platform","getPlatform","injectedProviders","assertPlatform","requiredToken","destroyPlatform","_injector","_modules","ngZoneOption","ngZone","ngZoneEventCoalescing","getNgZone","ngZoneInjector","exceptionHandler","_callAndReportToErrorHandler","initStatus","runInitializers","_moduleDoBootstrap","optionsReducer","bootstrapModuleFactory","ApplicationRef","ngDoBootstrap","PlatformRef_Factory","_zone","_exceptionHandler","_componentFactoryResolver","_initStatus","_bootstrapListeners","_views","_runningTick","_stable","componentTypes","_onMicrotaskEmptySubscription","isCurrentlyStable","Observable","observer","stableSub","unstableSub","assertInAngularZone","merge$1","share","componentOrFactory","selectorOrNode","compRef","testabilityRegistry","registerApplication","unregisterApplication","_loadComponent","checkNoChanges","attachToAppRef","detachFromAppRef","attachView","ApplicationRef_Factory","NgModuleFactoryLoader","getModuleFactory__PRE_R3__","noModuleError","getModuleFactory__POST_R3__","getModuleFactory","_SEPARATOR","FACTORY_CLASS_SUFFIX","SystemJsNgModuleLoaderConfig","DEFAULT_CONFIG","factoryPathPrefix","factoryPathSuffix","SystemJsNgModuleLoader","_compiler","legacyOfflineMode","loadFactory","loadAndCompile","System","checkNotEmpty","factoryClassSuffix","SystemJsNgModuleLoader_Factory","modulePath","ViewRef$1","EmbeddedViewRef","DebugEventListener","DebugNode__PRE_R3__","nativeNode","_debugContext","DebugElement__PRE_R3__","addChild","childIndex","siblingIndex","refChild","newChild","refIndex","queryAll","_queryElementChildren","_queryNodeChildren","eventObj","asNativeElements","debugEls","DebugNode__POST_R3__","DebugElement__POST_R3__","copyDomProperties","collectPropertyBindings","lowercaseTNodeAttrs","eAttrs","lowercaseName","baseVal","getDebugNode__POST_R3__","_queryAllR3","invokedListeners","eventListeners","unwrappedListener","NodePrototype","descriptors","getOwnPropertyDescriptors","isPrimitiveValue","elementsOnly","_queryNodeChildrenR3","_queryNativeNodeDescendants","rootNativeNode","_addQueryMatchR3","nodeOrContainer","_queryNodeChildrenInContainerR3","nextLView","nextTNode","childView","getDebugNode$1","bindingIndexes","metadataParts","_nativeNodeToDebugNode","getDebugNode__PRE_R3__","NG_DEBUG_PROPERTY","getDebugNodeR2__PRE_R3__","getDebugNodeR2__POST_R3__","_nativeNode","getDebugNodeR2","getAllDebugNodes","indexDebugNode","removeDebugNodeFromIndex","DebugNode","DebugElement","_CORE_PLATFORM_PROVIDERS","platformCore","_iterableDiffersFactory","_keyValueDiffersFactory","_localeFactory","getGlobalLocale","LOCALE","$localize","ɵ0$f","APPLICATION_MODULE_PROVIDERS","zoneSchedulerFactory","ApplicationModule","ApplicationModule_Factory","templateFactory","namespaceAndName","fixedAttrs","bindingDefs","suffixOrSecurityContext","listenToElementOutputs","handleEventClosure","renderEventHandlerClosure","listenTarget","listenerView","disposable","checkAndUpdateElementInline","checkAndUpdateElementValue","checkAndUpdateElementDynamic","setElementAttribute$1","setElementClass","setElementStyle","bindView","setElementProperty","renderValue","filterId","createQuery","queryIds","nodeMatchedQueries","tplDef","checkAndUpdateQuery","newValues","calcQueryValues","notify","getQueryValue","embeddedView","dvc","projectedView","queryValueType","appendNgContent","_pureExpressionDef","propToIndex","nbKeys","propertyNames","createPureExpression","checkAndUpdatePureExpressionInline","checkAndUpdatePureExpressionDynamic","staticText","checkAndUpdateTextInline","_addInterpolationPart","checkAndUpdateTextDynamic","valueStr","viewBindingCount","viewDisposableCount","viewNodeFlags","viewRootNodeFlags","viewMatchedQueries","currentRenderParent","currentElementHasPublicProviders","currentElementHasPrivateProviders","validateNode","isPrivateService","newParent","rootNodeFlags","outputCount","nodeCount","parentFlags","parentEnd","createView","initView","createViewNodes","compRenderer","hostDef","nodeData","compViewDef","execComponentViewsAction","ViewAction","CreateViewNodes","execQueriesAction","markProjectedViewsForCheck","execEmbeddedViewsAction","CheckNoChanges","CheckAndUpdate","callInit","checkAndUpdateNode","argStyle","checkAndUpdateNodeInline","checkAndUpdateNodeDynamic","checkNoChangesNode","checkNoChangesNodeInline","checkNoChangesNodeDynamic","checkNoChangesQuery","Destroy","destroyViewNodes","callViewAction","viewState","execProjectedViewsAction","CheckNoChangesProjectedViews","CheckAndUpdateProjectedViews","queryFlags","staticDynamicQueryFlag","checkType","initServicesIfNeeded","services","createDebugServices","createProdServices","createProdRootView","DebugContext_","prodCheckAndUpdateNode","prodCheckNoChangesNode","debugSetCurrentNode","debugCreateRootView","debugCreateEmbeddedView","debugCreateComponentView","debugCreateNgModuleRef","debugOverrideProvider","debugOverrideComponentView","debugClearOverrides","debugCheckAndUpdateView","debugCheckNoChangesView","debugDestroyView","debugHandleEvent","debugUpdateDirectives","debugUpdateRenderer","elInjector","createRootData","DebugRendererFactory2","defWithOverride","applyProviderOverridesToView","callWithDebugContext","DebugAction","viewDefOverrides","applyProviderOverridesToNgModule","providerOverrides","providerOverridesWithScope","override","compFactory","hostViewDef","elementIndicesWithOverwrittenProviders","findElementIndicesWithOverwrittenProviders","applyProviderOverridesToElement","elIndicesWithOverwrittenProviders","lastElementDef","elIndex","calcHasOverrides","hasOverrides","hasDeprecatedOverrides","applyProviderOverrides","deprecatedBehavior","moduleSet","_currentAction","_currentView","_currentNodeIndex","nextDirectiveWithBinding","debugCheckDirectivesFn","debugCheckAndUpdateNode","debugCheckNoChangesNode","nextRenderNodeWithBinding","debugCheckRenderNodeFn","givenValues","bindingValues","elView","elOrCompView","childDef","collectReferences","findHostElement","logViewDef","logNodeIndex","renderNodeIndex","getRenderNodeIndex","currRenderNodeIndex","nodeLogger","refName","oldAction","oldView","oldNodeIndex","getCurrentDebugContext","renderData","DebugRenderer2","whenRenderingDone","debugContextFactory","debugCtx","debugEl","debugChildEl","debugRefEl","oldChild","createNgModuleFactory","defFactory","NgModuleFactory_","cloneNgModuleDefinition","_ngModuleDefFactory","DomAdapter","parseCookieValue","setRootDomAdapter","allowSanitizationBypassOrThrow","EmptyOutletComponent","applyRedirects","applyRedirectsFn","NoMatch","recognize","recognizeFn","noUiSlider.create"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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EAA4C;AACxC,SAAOhvC,QAAQ,cAAOgvC,SAAP,EAAf;AACH;;AACD,SAASuB,yBAAT,CAAmC10C,IAAnC,EAAyC;AACrC,MAAIA,IAAI,YAAY1H,mBAApB,EAAyC;AACrC,WAAO0H,IAAI,CAAClH,IAAZ;AACH,GAFD,MAGK,IAAIkH,IAAI,YAAYI,eAApB,EAAqC;AACtC,WAAOJ,IAAI,CAAC3U,KAAZ;AACH;;AACD,SAAO,IAAP;AACH;;IACKkrD,mB;;;;;AACF,+BAAYrf,IAAZ,EAAkB7gC,UAAlB,EAA8B3E,IAA9B,EAAoC8wC,SAApC,EAA+C;AAAA;;AAAA;;AAC3C,mCAAMtL,IAAN,EAAY7gC,UAAZ,EAAwB,IAAxB,EAA8B3E,IAA9B;AACA,aAAKA,IAAL,GAAYA,IAAZ;AACA,aAAK8wC,SAAL,GAAiBA,SAAjB;AAH2C;AAI9C;;;EAL6B4O,Y;AAQlC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMoH,S;AACF,uBAAc;AAAA;;AACV,SAAKC,aAAL,GAAqB,I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CH;;AACD,SAASugF,SAAT,CAAmBvgF,KAAnB,EAA0B;AACtB,SAAOA,KAAK,CACP6Q,OADE,CACM,aADN,EACqB,UAAA42D,CAAC,EAAI;AAC7B,WAAOA,CAAC,CAAChwC,MAAF,CAAS,CAAT,IAAc,GAAd,GAAoBgwC,CAAC,CAAChwC,MAAF,CAAS,CAAT,CAA3B;AACH,GAHM,EAIFj5B,WAJE,EAAP;AAKH;;AAED,IAAMqiF,cAAc,GAAG,YAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,kCAAkC,GAAG,CAA3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,c;AACF,0BAAYC,cAAZ,EAA4B;AAAA;;AACxB,SAAKA,cAAL,GAAsBA,cAAtB;AACA;;AACA,SAAKC,iBAAL,GAAyB,KAAzB;AACA;AACR;AACA;AACA;;AACQ,SAAKC,WAAL,GAAmB,KAAnB;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACA;;AACA,SAAKC,cAAL,GAAsB,IAAtB;AACA;;AACA,SAAKC,cAAL,GAAsB,IAAtB;AACA;;AACA,SAAKC,kBAAL,GAA0B,IAA1B;AACA;;AACA,SAAKC,kBAAL,GAA0B,IAA1B;AACA,SAAKC,iBAAL,GAAyB,IAAzB;AACA,SAAKC,kBAAL,GAA0B,IAA1B,CAnBwB,CAoBxB;AACA;;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKC,YAAL,GAAoB,IAAIpgF,GAAJ,EAApB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKqgF,aAAL,GAAqB,IAAIrgF,GAAJ,EAArB;AACA,SAAKsgF,mBAAL,GAA2B,EAA3B;AACA,SAAKC,mBAAL,GAA2B,EAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,4BAAmBvnE,KAAnB,EAA0B;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,UAAIk3D,OAAO,GAAG,IAAd;AACA,UAAIjzE,IAAI,GAAG+b,KAAK,CAAC/b,IAAjB;;AACA,cAAQ+b,KAAK,CAACvP,IAAd;AACI,aAAK;AAAE;AAAP;AACIymE,iBAAO,GAAG,KAAKsQ,wBAAL,CAA8BvjF,IAA9B,EAAoC+b,KAAK,CAACta,KAA1C,EAAiDsa,KAAK,CAACtP,UAAvD,CAAV;AACA;;AACJ,aAAK;AAAE;AAAP;AACIwmE,iBAAO,GAAG,KAAKuQ,kBAAL,CAAwBxjF,IAAxB,EAA8B,KAA9B,EAAqC+b,KAAK,CAACta,KAA3C,EAAkDsa,KAAK,CAACtP,UAAxD,EAAoEsP,KAAK,CAACqe,IAA1E,CAAV;AACA;;AACJ,aAAK;AAAE;AAAP;AACI64C,iBAAO,GAAG,KAAKwQ,kBAAL,CAAwBzjF,IAAxB,EAA8B,KAA9B,EAAqC+b,KAAK,CAACta,KAA3C,EAAkDsa,KAAK,CAACtP,UAAxD,CAAV;AACA;AATR;;AAWA,aAAOwmE,OAAO,GAAG,IAAH,GAAU,KAAxB;AACH;;;WACD,kCAAyBjzE,IAAzB,EAA+BmhB,UAA/B,EAA2C1U,UAA3C,EAAuD;AACnD,UAAIwmE,OAAO,GAAG,IAAd;AACA,UAAMj0E,MAAM,GAAGgB,IAAI,CAACkf,SAAL,CAAe,CAAf,EAAkB,CAAlB,CAAf;AACA,UAAMwkE,OAAO,GAAG1jF,IAAI,KAAK,OAAT,IAAoBhB,MAAM,KAAK,QAA/B,IAA2CA,MAAM,KAAK,QAAtE;AACA,UAAM2kF,OAAO,GAAG,CAACD,OAAD,KAAa1jF,IAAI,KAAK,OAAT,IAAoBhB,MAAM,KAAK,QAA/B,IAA2CA,MAAM,KAAK,QAAnE,CAAhB;;AACA,UAAI0kF,OAAO,IAAIC,OAAf,EAAwB;AACpB,YAAMC,UAAU,GAAG5jF,IAAI,CAACk5B,MAAL,CAAY,CAAZ,MAAmB,GAAtC,CADoB,CACuB;;AAC3C,YAAMvW,QAAQ,GAAG3iB,IAAI,CAACyC,MAAL,CAAYmhF,UAAU,GAAG,CAAH,GAAO,CAA7B,CAAjB,CAFoB,CAE8B;;AAClD,YAAIF,OAAJ,EAAa;AACTzQ,iBAAO,GAAG,KAAKuQ,kBAAL,CAAwB7gE,QAAxB,EAAkCihE,UAAlC,EAA8CziE,UAA9C,EAA0D1U,UAA1D,CAAV;AACH,SAFD,MAGK;AACDwmE,iBAAO,GAAG,KAAKwQ,kBAAL,CAAwB9gE,QAAxB,EAAkCihE,UAAlC,EAA8CziE,UAA9C,EAA0D1U,UAA1D,CAAV;AACH;AACJ;;AACD,aAAOwmE,OAAP;AACH;;;WACD,4BAAmBjzE,IAAnB,EAAyB4jF,UAAzB,EAAqCniF,KAArC,EAA4CgL,UAA5C,EAAwDmkD,MAAxD,EAAgE;AAC5D,UAAI4vB,iBAAiB,CAAC/+E,KAAD,CAArB,EAA8B;AAC1B,eAAO,IAAP;AACH;;AACDzB,UAAI,GAAG6jF,iBAAiB,CAAC7jF,IAAD,CAAxB;;AACA,2BAA6D8jF,aAAa,CAAC9jF,IAAD,CAA1E;AAAA,UAAQ2iB,QAAR,kBAAQA,QAAR;AAAA,UAAkBohE,eAAlB,kBAAkBA,eAAlB;AAAA,UAA2CC,aAA3C,kBAAmCpzB,MAAnC;;AACAA,YAAM,GAAG,OAAOA,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,CAAC9wD,MAAP,KAAkB,CAAhD,GAAoD8wD,MAApD,GAA6DozB,aAAtE;AACA,UAAMxrE,KAAK,GAAG;AAAExY,YAAI,EAAE2iB,QAAR;AAAkBiuC,cAAM,EAAEA,MAA1B;AAAkCnvD,aAAK,EAALA,KAAlC;AAAyCgL,kBAAU,EAAVA,UAAzC;AAAqDs3E,uBAAe,EAAfA;AAArD,OAAd;;AACA,UAAIH,UAAJ,EAAgB;AACZ,aAAKd,cAAL,GAAsBtqE,KAAtB;AACH,OAFD,MAGK;AACD,SAAC,KAAKuqE,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B,EAAtD,EAA0DxhF,IAA1D,CAA+DiX,KAA/D;AACAyrE,uBAAe,CAAC,KAAKd,YAAN,EAAoBxgE,QAApB,CAAf;AACH;;AACD,WAAKsgE,iBAAL,GAAyBzqE,KAAzB;AACA,WAAK0qE,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B1qE,KAArD;;AACA,WAAK0rE,cAAL,CAAoBziF,KAApB;;AACA,WAAKkhF,WAAL,GAAmB,IAAnB;AACA,aAAOnqE,KAAP;AACH;;;WACD,4BAAmBxY,IAAnB,EAAyB4jF,UAAzB,EAAqCniF,KAArC,EAA4CgL,UAA5C,EAAwD;AACpD,UAAI+zE,iBAAiB,CAAC/+E,KAAD,CAArB,EAA8B;AAC1B,eAAO,IAAP;AACH;;AACD,4BAAsCqiF,aAAa,CAAC9jF,IAAD,CAAnD;AAAA,UAAQ2iB,QAAR,mBAAQA,QAAR;AAAA,UAAkBohE,eAAlB,mBAAkBA,eAAlB;;AACA,UAAMvrE,KAAK,GAAG;AAAExY,YAAI,EAAE2iB,QAAR;AAAkBlhB,aAAK,EAALA,KAAlB;AAAyBgL,kBAAU,EAAVA,UAAzB;AAAqCs3E,uBAAe,EAAfA,eAArC;AAAsDnzB,cAAM,EAAE;AAA9D,OAAd;;AACA,UAAIgzB,UAAJ,EAAgB;AACZ,YAAI,KAAKf,cAAT,EAAyB;AACrB,gBAAM,IAAItkF,KAAJ,CAAU,oFAAV,CAAN;AACH;;AACD,aAAKskF,cAAL,GAAsBrqE,KAAtB;AACH,OALD,MAMK;AACD,SAAC,KAAKwqE,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B,EAAtD,EAA0DzhF,IAA1D,CAA+DiX,KAA/D;AACAyrE,uBAAe,CAAC,KAAKb,aAAN,EAAqBzgE,QAArB,CAAf;AACH;;AACD,WAAKsgE,iBAAL,GAAyBzqE,KAAzB;AACA,WAAK0qE,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B1qE,KAArD;;AACA,WAAK0rE,cAAL,CAAoBziF,KAApB;;AACA,WAAKkhF,WAAL,GAAmB,IAAnB;AACA,aAAOnqE,KAAP;AACH;;;WACD,wBAAe/W,KAAf,EAAsB;AAClB,UAAKA,KAAK,YAAYimD,aAAlB,IAAqCjmD,KAAK,CAAC0W,GAAN,YAAqBytC,WAA9D,EAA4E;AACxE,aAAKg9B,oBAAL,GAA4B,IAA5B;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;;WACI,2BAAkBnhF,KAAlB,EAAyB;AACrB,WAAK4hF,mBAAL,GAA2B35E,KAAK,CAACjI,KAAD,CAAhC;AACA,WAAKihF,iBAAL,GAAyB,IAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;;;;WACI,2BAAkBjhF,KAAlB,EAAyB;AACrB,WAAK6hF,mBAAL,GAA2B7hF,KAAK,CAAC8a,IAAN,GAAaiD,KAAb,CAAmB,MAAnB,CAA3B;AACA,WAAKkjE,iBAAL,GAAyB,IAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,qCAA4B5hF,KAA5B,EAAmC;AAC/B;AACA,UAAI,KAAKwiF,mBAAL,CAAyBxjF,MAA7B,EAAqC;AACjCgB,aAAK,CAACS,IAAN,CAAW+Z,OAAO,CAAC;AAAE;AAAH,SAAlB;;AACA,aAAK,IAAIna,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmiF,mBAAL,CAAyBxjF,MAA7C,EAAqDqB,CAAC,EAAtD,EAA0D;AACtDL,eAAK,CAACS,IAAN,CAAW+Z,OAAO,CAAC,KAAKgoE,mBAAL,CAAyBniF,CAAzB,CAAD,CAAlB;AACH;AACJ,OAP8B,CAQ/B;;;AACA,UAAI,KAAKkiF,mBAAL,CAAyBvjF,MAA7B,EAAqC;AACjCgB,aAAK,CAACS,IAAN,CAAW+Z,OAAO,CAAC;AAAE;AAAH,SAAlB;;AACA,aAAK,IAAIna,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAG,KAAKkiF,mBAAL,CAAyBvjF,MAA7C,EAAqDqB,GAAC,IAAI,CAA1D,EAA6D;AACzDL,eAAK,CAACS,IAAN,CAAW+Z,OAAO,CAAC,KAAK+nE,mBAAL,CAAyBliF,GAAzB,CAAD,CAAlB,EAAiDma,OAAO,CAAC,KAAK+nE,mBAAL,CAAyBliF,GAAC,GAAG,CAA7B,CAAD,CAAxD;AACH;AACJ;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,yBAAgBL,KAAhB,EAAuBugD,aAAvB,EAAsC;AAClC,UAAI,KAAKohC,cAAL,KAAwB3hF,KAAK,CAAChB,MAAN,IAAgB,KAAK4iF,iBAA7C,CAAJ,EAAqE;AACjE,aAAKyB,2BAAL,CAAiCrjF,KAAjC;AACAugD,qBAAa,CAACh9C,GAAd,CAAkB,WAAlB,EAA+ByW,UAAU,CAACha,KAAD,CAAzC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,kCAAyBsjF,cAAzB,EAAyC;AACrC,UAAI,KAAKvB,cAAT,EAAyB;AACrB,eAAO,KAAKwB,yBAAL,CAA+BD,cAA/B,EAA+C,IAA/C,EAAqD,KAAKvB,cAA1D,CAAP;AACH;;AACD,aAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,kCAAyBuB,cAAzB,EAAyC;AACrC,UAAI,KAAKtB,cAAT,EAAyB;AACrB,eAAO,KAAKuB,yBAAL,CAA+BD,cAA/B,EAA+C,KAA/C,EAAsD,KAAKtB,cAA3D,CAAP;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,mCAA0BsB,cAA1B,EAA0CE,YAA1C,EAAwDC,YAAxD,EAAsE;AAClE;AACA;AACA;AACA;AACA,UAAIC,yBAAyB,GAAGjC,kCAAhC,CALkE,CAMlE;AACA;AACA;;AACA,UAAMkC,QAAQ,GAAGF,YAAY,CAAC9iF,KAAb,CAAmBy7B,KAAnB,CAAyBknD,cAAzB,CAAjB;AACA,UAAIh9D,SAAJ;;AACA,UAAIq9D,QAAQ,YAAYr+B,aAAxB,EAAuC;AACnCo+B,iCAAyB,IAAIC,QAAQ,CAACtzE,WAAT,CAAqBrR,MAAlD;AACAsnB,iBAAS,GAAGk9D,YAAY,GAAGI,kCAAkC,CAACD,QAAD,CAArC,GACpBE,kCAAkC,CAACF,QAAD,CADtC;AAEH,OAJD,MAKK;AACDr9D,iBAAS,GAAGk9D,YAAY,GAAGp1D,aAAa,CAACmC,QAAjB,GAA4BnC,aAAa,CAACyB,QAAlE;AACH;;AACD,aAAO;AACHvJ,iBAAS,EAATA,SADG;AAEHimB,aAAK,EAAE,CAAC;AACAu3C,+BAAqB,EAAE,IADvB;AAEAn4E,oBAAU,EAAE83E,YAAY,CAAC93E,UAFzB;AAGAo4E,8BAAoB,EAAEL,yBAHtB;AAIA33E,gBAAM,EAAE,gBAACi4E,SAAD,EAAe;AACnB,gBAAMC,aAAa,GAAGD,SAAS,CAACL,QAAD,CAA/B;AACA,gBAAM53E,MAAM,GAAG4P,KAAK,CAACC,OAAN,CAAcqoE,aAAd,IAA+BA,aAA/B,GAA+C,CAACA,aAAD,CAA9D;AACA,mBAAOl4E,MAAP;AACH;AARD,SAAD;AAFJ,OAAP;AAaH;;;WACD,4BAAmBua,SAAnB,EAA8BkD,MAA9B,EAAsC85D,cAAtC,EAAsDY,4BAAtD,EAAoFV,YAApF,EAAkG;AAC9F,UAAMW,YAAY,GAAG,EAArB;AACA36D,YAAM,CAACvqB,OAAP,CAAe,UAAAgc,KAAK,EAAI;AACpB,YAAMmpE,mBAAmB,GAAGD,YAAY,CAACA,YAAY,CAACnlF,MAAb,GAAsB,CAAvB,CAAxC;AACA,YAAM2B,KAAK,GAAGsa,KAAK,CAACta,KAAN,CAAYy7B,KAAZ,CAAkBknD,cAAlB,CAAd;AACA,YAAIe,gBAAgB,GAAG/9D,SAAvB,CAHoB,CAIpB;AACA;AACA;AACA;AACA;AACA;;AACA,YAAIo9D,yBAAyB,GAAGjC,kCAAhC;;AACA,YAAI9gF,KAAK,YAAY2kD,aAArB,EAAoC;AAChCo+B,mCAAyB,IAAI/iF,KAAK,CAAC0P,WAAN,CAAkBrR,MAA/C;;AACA,cAAIklF,4BAAJ,EAAkC;AAC9BG,4BAAgB,GAAGH,4BAA4B,CAACvjF,KAAD,CAA/C;AACH;AACJ;;AACD,YAAMkjD,IAAI,GAAG;AACTl4C,oBAAU,EAAEsP,KAAK,CAACtP,UADT;AAETo4E,8BAAoB,EAAEL,yBAFb;AAGTI,+BAAqB,EAAE,CAAC,CAACI,4BAHhB;AAITn4E,gBAAM,EAAE,gBAACi4E,SAAD,EAAe;AACnB;AACA,gBAAMj4E,MAAM,GAAG,EAAf;AACAA,kBAAM,CAACtL,IAAP,CAAY+Z,OAAO,CAACS,KAAK,CAAC/b,IAAP,CAAnB;AACA,gBAAM+kF,aAAa,GAAGD,SAAS,CAACrjF,KAAD,CAA/B;;AACA,gBAAIgb,KAAK,CAACC,OAAN,CAAcqoE,aAAd,CAAJ,EAAkC;AAC9Bl4E,oBAAM,CAACtL,IAAP,OAAAsL,MAAM,qJAASk4E,aAAT,EAAN;AACH,aAFD,MAGK;AACDl4E,oBAAM,CAACtL,IAAP,CAAYwjF,aAAZ;AACH,aAVkB,CAWnB;AACA;;;AACA,gBAAI,CAACT,YAAD,IAAiBvoE,KAAK,CAAC60C,MAAN,KAAiB,IAAtC,EAA4C;AACxC/jD,oBAAM,CAACtL,IAAP,CAAY+Z,OAAO,CAACS,KAAK,CAAC60C,MAAP,CAAnB;AACH;;AACD,mBAAO/jD,MAAP;AACH;AArBQ,SAAb,CAjBoB,CAwCpB;AACA;AACA;AACA;AACA;;AACA,YAAIq4E,mBAAmB,IAAIA,mBAAmB,CAAC99D,SAApB,KAAkC+9D,gBAA7D,EAA+E;AAC3ED,6BAAmB,CAAC73C,KAApB,CAA0B9rC,IAA1B,CAA+BojD,IAA/B;AACH,SAFD,MAGK;AACDsgC,sBAAY,CAAC1jF,IAAb,CAAkB;AAAE6lB,qBAAS,EAAE+9D,gBAAb;AAA+B93C,iBAAK,EAAE,CAACsX,IAAD;AAAtC,WAAlB;AACH;AACJ,OAnDD;AAoDA,aAAOsgC,YAAP;AACH;;;WACD,2BAAkBb,cAAlB,EAAkC;AAC9B,UAAI,KAAKpB,kBAAT,EAA6B;AACzB,eAAO,KAAKoC,kBAAL,CAAwBl2D,aAAa,CAACqB,SAAtC,EAAiD,KAAKyyD,kBAAtD,EAA0EoB,cAA1E,EAA0F,IAA1F,EAAgG,IAAhG,CAAP;AACH;;AACD,aAAO,EAAP;AACH;;;WACD,2BAAkBA,cAAlB,EAAkC;AAC9B,UAAI,KAAKrB,kBAAT,EAA6B;AACzB,eAAO,KAAKqC,kBAAL,CAAwBl2D,aAAa,CAAC6C,SAAtC,EAAiD,KAAKgxD,kBAAtD,EAA0EqB,cAA1E,EAA0FiB,mCAA1F,EAA+H,KAA/H,CAAP;AACH;;AACD,aAAO,EAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,sCAA6BjB,cAA7B,EAA6C;AACzC,UAAMa,YAAY,GAAG,EAArB;;AACA,UAAI,KAAKtC,WAAT,EAAsB;AAClB,YAAM2C,mBAAmB,GAAG,KAAKC,wBAAL,CAA8BnB,cAA9B,CAA5B;;AACA,YAAIkB,mBAAJ,EAAyB;AACrBL,sBAAY,CAAC1jF,IAAb,CAAkB+jF,mBAAlB;AACH;;AACD,YAAME,mBAAmB,GAAG,KAAKC,wBAAL,CAA8BrB,cAA9B,CAA5B;;AACA,YAAIoB,mBAAJ,EAAyB;AACrBP,sBAAY,CAAC1jF,IAAb,CAAkBikF,mBAAlB;AACH;;AACDP,oBAAY,CAAC1jF,IAAb,OAAA0jF,YAAY,qJAAS,KAAKS,iBAAL,CAAuBtB,cAAvB,CAAT,EAAZ;AACAa,oBAAY,CAAC1jF,IAAb,OAAA0jF,YAAY,qJAAS,KAAKU,iBAAL,CAAuBvB,cAAvB,CAAT,EAAZ;AACH;;AACD,aAAOa,YAAP;AACH;;;;;;AAEL,SAAShB,eAAT,CAAyBz/E,GAAzB,EAA8BmQ,GAA9B,EAAmC;AAC/B,MAAI,CAACnQ,GAAG,CAAC8oB,GAAJ,CAAQ3Y,GAAR,CAAL,EAAmB;AACfnQ,OAAG,CAACH,GAAJ,CAAQsQ,GAAR,EAAanQ,GAAG,CAAC6b,IAAjB;AACH;AACJ;;AACD,SAASyjE,aAAT,CAAuB9jF,IAAvB,EAA6B;AACzB,MAAI+jF,eAAe,GAAG,KAAtB;AACA,MAAM6B,aAAa,GAAG5lF,IAAI,CAAC1B,OAAL,CAAagkF,cAAb,CAAtB;;AACA,MAAIsD,aAAa,KAAK,CAAC,CAAvB,EAA0B;AACtB5lF,QAAI,GAAG4lF,aAAa,GAAG,CAAhB,GAAoB5lF,IAAI,CAACkf,SAAL,CAAe,CAAf,EAAkB0mE,aAAlB,CAApB,GAAuD,EAA9D;AACA7B,mBAAe,GAAG,IAAlB;AACH;;AACD,MAAInzB,MAAM,GAAG,IAAb;AACA,MAAIjuC,QAAQ,GAAG3iB,IAAf;AACA,MAAM6lF,SAAS,GAAG7lF,IAAI,CAAC8+C,WAAL,CAAiB,GAAjB,CAAlB;;AACA,MAAI+mC,SAAS,GAAG,CAAhB,EAAmB;AACfj1B,UAAM,GAAG5wD,IAAI,CAACyC,MAAL,CAAYojF,SAAS,GAAG,CAAxB,CAAT;AACAljE,YAAQ,GAAG3iB,IAAI,CAACkf,SAAL,CAAe,CAAf,EAAkB2mE,SAAlB,CAAX;AACH;;AACD,SAAO;AAAEljE,YAAQ,EAARA,QAAF;AAAYiuC,UAAM,EAANA,MAAZ;AAAoBmzB,mBAAe,EAAfA;AAApB,GAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASW,kCAAT,CAA4C56D,aAA5C,EAA2D;AACvD,UAAQyjB,0BAA0B,CAACzjB,aAAD,CAAlC;AACI,SAAK,CAAL;AACI,aAAOoF,aAAa,CAACmC,QAArB;;AACJ,SAAK,CAAL;AACI,aAAOnC,aAAa,CAACoC,oBAArB;;AACJ,SAAK,CAAL;AACI,aAAOpC,aAAa,CAACqC,oBAArB;;AACJ,SAAK,CAAL;AACI,aAAOrC,aAAa,CAACsC,oBAArB;;AACJ,SAAK,CAAL;AACI,aAAOtC,aAAa,CAACuC,oBAArB;;AACJ,SAAK,EAAL;AACI,aAAOvC,aAAa,CAACwC,oBAArB;;AACJ,SAAK,EAAL;AACI,aAAOxC,aAAa,CAACyC,oBAArB;;AACJ,SAAK,EAAL;AACI,aAAOzC,aAAa,CAAC0C,oBAArB;;AACJ,SAAK,EAAL;AACI,aAAO1C,aAAa,CAAC2C,oBAArB;;AACJ;AACI,aAAO3C,aAAa,CAAC4C,oBAArB;AApBR;AAsBH;AACD;AACA;AACA;AACA;;;AACA,SAAS6yD,kCAAT,CAA4C76D,aAA5C,EAA2D;AACvD,UAAQyjB,0BAA0B,CAACzjB,aAAD,CAAlC;AACI,SAAK,CAAL;AACI,aAAOoF,aAAa,CAACyB,QAArB;;AACJ,SAAK,CAAL;AACI,aAAOzB,aAAa,CAAC0B,oBAArB;;AACJ,SAAK,CAAL;AACI,aAAO1B,aAAa,CAAC2B,oBAArB;;AACJ,SAAK,CAAL;AACI,aAAO3B,aAAa,CAAC4B,oBAArB;;AACJ,SAAK,CAAL;AACI,aAAO5B,aAAa,CAAC6B,oBAArB;;AACJ,SAAK,EAAL;AACI,aAAO7B,aAAa,CAAC8B,oBAArB;;AACJ,SAAK,EAAL;AACI,aAAO9B,aAAa,CAAC+B,oBAArB;;AACJ,SAAK,EAAL;AACI,aAAO/B,aAAa,CAACgC,oBAArB;;AACJ,SAAK,EAAL;AACI,aAAOhC,aAAa,CAACiC,oBAArB;;AACJ;AACI,aAAOjC,aAAa,CAACkC,oBAArB;AApBR;AAsBH;AACD;AACA;AACA;AACA;;;AACA,SAASi0D,mCAAT,CAA6Cv7D,aAA7C,EAA4D;AACxD,UAAQyjB,0BAA0B,CAACzjB,aAAD,CAAlC;AACI,SAAK,CAAL;AACI,aAAOoF,aAAa,CAAC6C,SAArB;;AACJ,SAAK,CAAL;AACI,aAAO7C,aAAa,CAAC8C,qBAArB;;AACJ,SAAK,CAAL;AACI,aAAO9C,aAAa,CAAC+C,qBAArB;;AACJ,SAAK,CAAL;AACI,aAAO/C,aAAa,CAACgD,qBAArB;;AACJ,SAAK,CAAL;AACI,aAAOhD,aAAa,CAACiD,qBAArB;;AACJ,SAAK,EAAL;AACI,aAAOjD,aAAa,CAACkD,qBAArB;;AACJ,SAAK,EAAL;AACI,aAAOlD,aAAa,CAACmD,qBAArB;;AACJ,SAAK,EAAL;AACI,aAAOnD,aAAa,CAACoD,qBAArB;;AACJ,SAAK,EAAL;AACI,aAAOpD,aAAa,CAACqD,qBAArB;;AACJ;AACI,aAAOrD,aAAa,CAACsD,qBAArB;AApBR;AAsBH;;AACD,SAASqxD,iBAAT,CAA2BzpE,IAA3B,EAAiC;AAC7B,SAAO4nE,SAAS,CAAC5nE,IAAD,CAAhB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAI0rE,WAAJ;;AACA,CAAC,UAAUltB,SAAV,EAAqB;AAClBA,WAAS,CAACA,SAAS,CAAC,WAAD,CAAT,GAAyB,CAA1B,CAAT,GAAwC,WAAxC;AACAA,WAAS,CAACA,SAAS,CAAC,YAAD,CAAT,GAA0B,CAA3B,CAAT,GAAyC,YAAzC;AACAA,WAAS,CAACA,SAAS,CAAC,SAAD,CAAT,GAAuB,CAAxB,CAAT,GAAsC,SAAtC;AACAA,WAAS,CAACA,SAAS,CAAC,QAAD,CAAT,GAAsB,CAAvB,CAAT,GAAqC,QAArC;AACAA,WAAS,CAACA,SAAS,CAAC,UAAD,CAAT,GAAwB,CAAzB,CAAT,GAAuC,UAAvC;AACAA,WAAS,CAACA,SAAS,CAAC,QAAD,CAAT,GAAsB,CAAvB,CAAT,GAAqC,QAArC;AACAA,WAAS,CAACA,SAAS,CAAC,OAAD,CAAT,GAAqB,CAAtB,CAAT,GAAoC,OAApC;AACH,CARD,EAQGktB,WAAW,KAAKA,WAAW,GAAG,EAAnB,CARd;;AASA,IAAMC,QAAQ,GAAG,CAAC,KAAD,EAAQ,KAAR,EAAe,IAAf,EAAqB,MAArB,EAA6B,WAA7B,EAA0C,MAA1C,EAAkD,OAAlD,EAA2D,IAA3D,EAAiE,MAAjE,EAAyE,MAAzE,CAAjB;;IACMC,K;;;;;;;WACF,kBAASp1E,IAAT,EAAe;AACX,UAAMq1E,OAAO,GAAG,IAAIC,QAAJ,CAAat1E,IAAb,CAAhB;AACA,UAAMqoD,MAAM,GAAG,EAAf;AACA,UAAIvzD,KAAK,GAAGugF,OAAO,CAACE,SAAR,EAAZ;;AACA,aAAOzgF,KAAK,IAAI,IAAhB,EAAsB;AAClBuzD,cAAM,CAAC13D,IAAP,CAAYmE,KAAZ;AACAA,aAAK,GAAGugF,OAAO,CAACE,SAAR,EAAR;AACH;;AACD,aAAOltB,MAAP;AACH;;;;;;IAECmtB,O;AACF,mBAAYz5E,KAAZ,EAAmBoxB,GAAnB,EAAwBvxB,IAAxB,EAA8B65E,QAA9B,EAAwCC,QAAxC,EAAkD;AAAA;;AAC9C,SAAK35E,KAAL,GAAaA,KAAb;AACA,SAAKoxB,GAAL,GAAWA,GAAX;AACA,SAAKvxB,IAAL,GAAYA,IAAZ;AACA,SAAK65E,QAAL,GAAgBA,QAAhB;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACH;;;;WACD,qBAAYnoC,IAAZ,EAAkB;AACd,aAAO,KAAK3xC,IAAL,IAAas5E,WAAW,CAACS,SAAzB,IAAsC,KAAKF,QAAL,IAAiBloC,IAA9D;AACH;;;WACD,oBAAW;AACP,aAAO,KAAK3xC,IAAL,IAAas5E,WAAW,CAACr6E,MAAhC;AACH;;;WACD,oBAAW;AACP,aAAO,KAAKe,IAAL,IAAas5E,WAAW,CAACn6E,MAAhC;AACH;;;WACD,oBAAWqI,QAAX,EAAqB;AACjB,aAAO,KAAKxH,IAAL,IAAas5E,WAAW,CAACU,QAAzB,IAAqC,KAAKF,QAAL,IAAiBtyE,QAA7D;AACH;;;WACD,wBAAe;AACX,aAAO,KAAKxH,IAAL,IAAas5E,WAAW,CAACW,UAAhC;AACH;;;WACD,qBAAY;AACR,aAAO,KAAKj6E,IAAL,IAAas5E,WAAW,CAACY,OAAhC;AACH;;;WACD,wBAAe;AACX,aAAO,KAAKl6E,IAAL,IAAas5E,WAAW,CAACY,OAAzB,IAAoC,KAAKJ,QAAL,IAAiB,KAA5D;AACH;;;WACD,uBAAc;AACV,aAAO,KAAK95E,IAAL,IAAas5E,WAAW,CAACY,OAAzB,IAAoC,KAAKJ,QAAL,IAAiB,IAA5D;AACH;;;WACD,yBAAgB;AACZ,aAAO,KAAK95E,IAAL,IAAas5E,WAAW,CAACY,OAAzB,IAAoC,KAAKJ,QAAL,IAAiB,MAA5D;AACH;;;WACD,8BAAqB;AACjB,aAAO,KAAK95E,IAAL,IAAas5E,WAAW,CAACY,OAAzB,IAAoC,KAAKJ,QAAL,IAAiB,WAA5D;AACH;;;WACD,yBAAgB;AACZ,aAAO,KAAK95E,IAAL,IAAas5E,WAAW,CAACY,OAAzB,IAAoC,KAAKJ,QAAL,IAAiB,MAA5D;AACH;;;WACD,0BAAiB;AACb,aAAO,KAAK95E,IAAL,IAAas5E,WAAW,CAACY,OAAzB,IAAoC,KAAKJ,QAAL,IAAiB,OAA5D;AACH;;;WACD,yBAAgB;AACZ,aAAO,KAAK95E,IAAL,IAAas5E,WAAW,CAACY,OAAzB,IAAoC,KAAKJ,QAAL,IAAiB,MAA5D;AACH;;;WACD,mBAAU;AACN,aAAO,KAAK95E,IAAL,IAAas5E,WAAW,CAACvnF,KAAhC;AACH;;;WACD,oBAAW;AACP,aAAO,KAAKiO,IAAL,IAAas5E,WAAW,CAACr6E,MAAzB,GAAkC,KAAK46E,QAAvC,GAAkD,CAAC,CAA1D;AACH;;;WACD,oBAAW;AACP,cAAQ,KAAK75E,IAAb;AACI,aAAKs5E,WAAW,CAACS,SAAjB;AACA,aAAKT,WAAW,CAACW,UAAjB;AACA,aAAKX,WAAW,CAACY,OAAjB;AACA,aAAKZ,WAAW,CAACU,QAAjB;AACA,aAAKV,WAAW,CAACn6E,MAAjB;AACA,aAAKm6E,WAAW,CAACvnF,KAAjB;AACI,iBAAO,KAAK+nF,QAAZ;;AACJ,aAAKR,WAAW,CAACr6E,MAAjB;AACI,iBAAO,KAAK46E,QAAL,CAAcrnE,QAAd,EAAP;;AACJ;AACI,iBAAO,IAAP;AAXR;AAaH;;;;;;AAEL,SAAS2nE,iBAAT,CAA2Bh6E,KAA3B,EAAkCoxB,GAAlC,EAAuCogB,IAAvC,EAA6C;AACzC,SAAO,IAAIioC,OAAJ,CAAYz5E,KAAZ,EAAmBoxB,GAAnB,EAAwB+nD,WAAW,CAACS,SAApC,EAA+CpoC,IAA/C,EAAqDxyC,MAAM,CAACozC,YAAP,CAAoBZ,IAApB,CAArD,CAAP;AACH;;AACD,SAASyoC,kBAAT,CAA4Bj6E,KAA5B,EAAmCoxB,GAAnC,EAAwCntB,IAAxC,EAA8C;AAC1C,SAAO,IAAIw1E,OAAJ,CAAYz5E,KAAZ,EAAmBoxB,GAAnB,EAAwB+nD,WAAW,CAACW,UAApC,EAAgD,CAAhD,EAAmD71E,IAAnD,CAAP;AACH;;AACD,SAASi2E,eAAT,CAAyBl6E,KAAzB,EAAgCoxB,GAAhC,EAAqCntB,IAArC,EAA2C;AACvC,SAAO,IAAIw1E,OAAJ,CAAYz5E,KAAZ,EAAmBoxB,GAAnB,EAAwB+nD,WAAW,CAACY,OAApC,EAA6C,CAA7C,EAAgD91E,IAAhD,CAAP;AACH;;AACD,SAASk2E,gBAAT,CAA0Bn6E,KAA1B,EAAiCoxB,GAAjC,EAAsCntB,IAAtC,EAA4C;AACxC,SAAO,IAAIw1E,OAAJ,CAAYz5E,KAAZ,EAAmBoxB,GAAnB,EAAwB+nD,WAAW,CAACU,QAApC,EAA8C,CAA9C,EAAiD51E,IAAjD,CAAP;AACH;;AACD,SAASm2E,cAAT,CAAwBp6E,KAAxB,EAA+BoxB,GAA/B,EAAoCntB,IAApC,EAA0C;AACtC,SAAO,IAAIw1E,OAAJ,CAAYz5E,KAAZ,EAAmBoxB,GAAnB,EAAwB+nD,WAAW,CAACn6E,MAApC,EAA4C,CAA5C,EAA+CiF,IAA/C,CAAP;AACH;;AACD,SAASo2E,cAAT,CAAwBr6E,KAAxB,EAA+BoxB,GAA/B,EAAoCiB,CAApC,EAAuC;AACnC,SAAO,IAAIonD,OAAJ,CAAYz5E,KAAZ,EAAmBoxB,GAAnB,EAAwB+nD,WAAW,CAACr6E,MAApC,EAA4CuzB,CAA5C,EAA+C,EAA/C,CAAP;AACH;;AACD,SAASioD,aAAT,CAAuBt6E,KAAvB,EAA8BoxB,GAA9B,EAAmC6C,OAAnC,EAA4C;AACxC,SAAO,IAAIwlD,OAAJ,CAAYz5E,KAAZ,EAAmBoxB,GAAnB,EAAwB+nD,WAAW,CAACvnF,KAApC,EAA2C,CAA3C,EAA8CqiC,OAA9C,CAAP;AACH;;AACD,IAAMy7B,GAAG,GAAG,IAAI+pB,OAAJ,CAAY,CAAC,CAAb,EAAgB,CAAC,CAAjB,EAAoBN,WAAW,CAACS,SAAhC,EAA2C,CAA3C,EAA8C,EAA9C,CAAZ;;IACML,Q;AACF,oBAAYnqE,KAAZ,EAAmB;AAAA;;AACf,SAAKA,KAAL,GAAaA,KAAb;AACA,SAAK4/C,IAAL,GAAY,CAAZ;AACA,SAAKhvD,KAAL,GAAa,CAAC,CAAd;AACA,SAAK7M,MAAL,GAAcic,KAAK,CAACjc,MAApB;AACA,SAAK6vB,OAAL;AACH;;;;WACD,mBAAU;AACN,WAAKgsC,IAAL,GAAY,EAAE,KAAKhvD,KAAP,IAAgB,KAAK7M,MAArB,GAA8Bu6C,IAA9B,GAAqC,KAAKt+B,KAAL,CAAW6C,UAAX,CAAsB,KAAKjS,KAA3B,CAAjD;AACH;;;WACD,qBAAY;AACR,UAAMoP,KAAK,GAAG,KAAKA,KAAnB;AAAA,UAA0Bjc,MAAM,GAAG,KAAKA,MAAxC;AACA,UAAI67D,IAAI,GAAG,KAAKA,IAAhB;AAAA,UAAsBhvD,KAAK,GAAG,KAAKA,KAAnC,CAFQ,CAGR;;AACA,aAAOgvD,IAAI,IAAI/gB,MAAf,EAAuB;AACnB,YAAI,EAAEjuC,KAAF,IAAW7M,MAAf,EAAuB;AACnB67D,cAAI,GAAGthB,IAAP;AACA;AACH,SAHD,MAIK;AACDshB,cAAI,GAAG5/C,KAAK,CAAC6C,UAAN,CAAiBjS,KAAjB,CAAP;AACH;AACJ;;AACD,WAAKgvD,IAAL,GAAYA,IAAZ;AACA,WAAKhvD,KAAL,GAAaA,KAAb;;AACA,UAAIA,KAAK,IAAI7M,MAAb,EAAqB;AACjB,eAAO,IAAP;AACH,OAjBO,CAkBR;;;AACA,UAAIonF,iBAAiB,CAACvrB,IAAD,CAArB,EACI,OAAO,KAAKwrB,cAAL,EAAP;AACJ,UAAI/oC,OAAO,CAACud,IAAD,CAAX,EACI,OAAO,KAAKyrB,UAAL,CAAgBz6E,KAAhB,CAAP;AACJ,UAAM6wB,KAAK,GAAG7wB,KAAd;;AACA,cAAQgvD,IAAR;AACI,aAAKjgB,OAAL;AACI,eAAK/rB,OAAL;AACA,iBAAOyuB,OAAO,CAAC,KAAKud,IAAN,CAAP,GAAqB,KAAKyrB,UAAL,CAAgB5pD,KAAhB,CAArB,GACHmpD,iBAAiB,CAACnpD,KAAD,EAAQ,KAAK7wB,KAAb,EAAoB+uC,OAApB,CADrB;;AAEJ,aAAKN,OAAL;AACA,aAAKC,OAAL;AACA,aAAKqC,OAAL;AACA,aAAKE,OAAL;AACA,aAAKlB,SAAL;AACA,aAAKE,SAAL;AACA,aAAKpB,MAAL;AACA,aAAKI,MAAL;AACA,aAAKC,UAAL;AACI,iBAAO,KAAKwrC,aAAL,CAAmB7pD,KAAnB,EAA0Bm+B,IAA1B,CAAP;;AACJ,aAAKxgB,GAAL;AACA,aAAKL,GAAL;AACI,iBAAO,KAAKwsC,UAAL,EAAP;;AACJ,aAAKvsC,KAAL;AACA,aAAKQ,KAAL;AACA,aAAKE,MAAL;AACA,aAAKH,KAAL;AACA,aAAKK,MAAL;AACA,aAAKV,QAAL;AACA,aAAK4B,MAAL;AACI,iBAAO,KAAK0qC,YAAL,CAAkB/pD,KAAlB,EAAyB7xB,MAAM,CAACozC,YAAP,CAAoB4c,IAApB,CAAzB,CAAP;;AACJ,aAAK1f,SAAL;AACI,iBAAO,KAAKurC,mBAAL,CAAyBhqD,KAAzB,EAAgC,GAAhC,EAAqCke,OAArC,EAA8C,GAA9C,CAAP;;AACJ,aAAKI,GAAL;AACA,aAAKE,GAAL;AACI,iBAAO,KAAKwrC,mBAAL,CAAyBhqD,KAAzB,EAAgC7xB,MAAM,CAACozC,YAAP,CAAoB4c,IAApB,CAAhC,EAA2D5f,GAA3D,EAAgE,GAAhE,CAAP;;AACJ,aAAKlB,KAAL;AACA,aAAKkB,GAAL;AACI,iBAAO,KAAKyrC,mBAAL,CAAyBhqD,KAAzB,EAAgC7xB,MAAM,CAACozC,YAAP,CAAoB4c,IAApB,CAAhC,EAA2D5f,GAA3D,EAAgE,GAAhE,EAAqEA,GAArE,EAA0E,GAA1E,CAAP;;AACJ,aAAKb,UAAL;AACI,iBAAO,KAAKssC,mBAAL,CAAyBhqD,KAAzB,EAAgC,GAAhC,EAAqC0d,UAArC,EAAiD,GAAjD,CAAP;;AACJ,aAAKyC,IAAL;AACI,iBAAO,KAAK6pC,mBAAL,CAAyBhqD,KAAzB,EAAgC,GAAhC,EAAqCmgB,IAArC,EAA2C,GAA3C,CAAP;;AACJ,aAAKE,KAAL;AACI,iBAAOK,YAAY,CAAC,KAAKyd,IAAN,CAAnB;AACI,iBAAKhsC,OAAL;AADJ;;AAEA,iBAAO,KAAKw2D,SAAL,EAAP;AAzCR;;AA2CA,WAAKx2D,OAAL;AACA,aAAO,KAAK3X,KAAL,iCAAoCrM,MAAM,CAACozC,YAAP,CAAoB4c,IAApB,CAApC,QAAkE,CAAlE,CAAP;AACH;;;WACD,uBAAcn+B,KAAd,EAAqB2gB,IAArB,EAA2B;AACvB,WAAKxuB,OAAL;AACA,aAAOg3D,iBAAiB,CAACnpD,KAAD,EAAQ,KAAK7wB,KAAb,EAAoBwxC,IAApB,CAAxB;AACH;;;WACD,sBAAa3gB,KAAb,EAAoBnrB,GAApB,EAAyB;AACrB,WAAKsd,OAAL;AACA,aAAOm3D,gBAAgB,CAACtpD,KAAD,EAAQ,KAAK7wB,KAAb,EAAoB0F,GAApB,CAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,6BAAoBmrB,KAApB,EAA2BiD,GAA3B,EAAgCgnD,OAAhC,EAAyCC,GAAzC,EAA8CC,SAA9C,EAAyDC,KAAzD,EAAgE;AAC5D,WAAKj4D,OAAL;AACA,UAAItd,GAAG,GAAGouB,GAAV;;AACA,UAAI,KAAKk7B,IAAL,IAAa8rB,OAAjB,EAA0B;AACtB,aAAK93D,OAAL;AACAtd,WAAG,IAAIq1E,GAAP;AACH;;AACD,UAAIC,SAAS,IAAI,IAAb,IAAqB,KAAKhsB,IAAL,IAAagsB,SAAtC,EAAiD;AAC7C,aAAKh4D,OAAL;AACAtd,WAAG,IAAIu1E,KAAP;AACH;;AACD,aAAOd,gBAAgB,CAACtpD,KAAD,EAAQ,KAAK7wB,KAAb,EAAoB0F,GAApB,CAAvB;AACH;;;WACD,0BAAiB;AACb,UAAMmrB,KAAK,GAAG,KAAK7wB,KAAnB;AACA,WAAKgjB,OAAL;;AACA,aAAOk4D,gBAAgB,CAAC,KAAKlsB,IAAN,CAAvB;AACI,aAAKhsC,OAAL;AADJ;;AAEA,UAAMtd,GAAG,GAAG,KAAK0J,KAAL,CAAWmD,SAAX,CAAqBse,KAArB,EAA4B,KAAK7wB,KAAjC,CAAZ;AACA,aAAOo5E,QAAQ,CAACznF,OAAT,CAAiB+T,GAAjB,IAAwB,CAAC,CAAzB,GAA6Bw0E,eAAe,CAACrpD,KAAD,EAAQ,KAAK7wB,KAAb,EAAoB0F,GAApB,CAA5C,GACHu0E,kBAAkB,CAACppD,KAAD,EAAQ,KAAK7wB,KAAb,EAAoB0F,GAApB,CADtB;AAEH;;;WACD,oBAAWmrB,KAAX,EAAkB;AACd,UAAIsqD,MAAM,GAAI,KAAKn7E,KAAL,KAAe6wB,KAA7B;AACA,WAAK7N,OAAL,GAFc,CAEE;;AAChB,aAAO,IAAP,EAAa;AACT,YAAIyuB,OAAO,CAAC,KAAKud,IAAN,CAAX,EAAwB,CACpB;AACH,SAFD,MAGK,IAAI,KAAKA,IAAL,IAAajgB,OAAjB,EAA0B;AAC3BosC,gBAAM,GAAG,KAAT;AACH,SAFI,MAGA,IAAIC,eAAe,CAAC,KAAKpsB,IAAN,CAAnB,EAAgC;AACjC,eAAKhsC,OAAL;AACA,cAAIq4D,cAAc,CAAC,KAAKrsB,IAAN,CAAlB,EACI,KAAKhsC,OAAL;AACJ,cAAI,CAACyuB,OAAO,CAAC,KAAKud,IAAN,CAAZ,EACI,OAAO,KAAK3jD,KAAL,CAAW,kBAAX,EAA+B,CAAC,CAAhC,CAAP;AACJ8vE,gBAAM,GAAG,KAAT;AACH,SAPI,MAQA;AACD;AACH;;AACD,aAAKn4D,OAAL;AACH;;AACD,UAAMtd,GAAG,GAAG,KAAK0J,KAAL,CAAWmD,SAAX,CAAqBse,KAArB,EAA4B,KAAK7wB,KAAjC,CAAZ;AACA,UAAMlL,KAAK,GAAGqmF,MAAM,GAAGG,iBAAiB,CAAC51E,GAAD,CAApB,GAA4B61E,UAAU,CAAC71E,GAAD,CAA1D;AACA,aAAO20E,cAAc,CAACxpD,KAAD,EAAQ,KAAK7wB,KAAb,EAAoBlL,KAApB,CAArB;AACH;;;WACD,sBAAa;AACT,UAAM+7B,KAAK,GAAG,KAAK7wB,KAAnB;AACA,UAAMkX,KAAK,GAAG,KAAK83C,IAAnB;AACA,WAAKhsC,OAAL,GAHS,CAGO;;AAChB,UAAIw4D,MAAM,GAAG,EAAb;AACA,UAAIC,MAAM,GAAG,KAAKz7E,KAAlB;AACA,UAAMoP,KAAK,GAAG,KAAKA,KAAnB;;AACA,aAAO,KAAK4/C,IAAL,IAAa93C,KAApB,EAA2B;AACvB,YAAI,KAAK83C,IAAL,IAAahf,UAAjB,EAA6B;AACzBwrC,gBAAM,IAAIpsE,KAAK,CAACmD,SAAN,CAAgBkpE,MAAhB,EAAwB,KAAKz7E,KAA7B,CAAV;AACA,eAAKgjB,OAAL;AACA,cAAI04D,aAAa,SAAjB,CAHyB,CAIzB;;AACA,eAAK1sB,IAAL,GAAY,KAAKA,IAAjB;;AACA,cAAI,KAAKA,IAAL,IAAare,EAAjB,EAAqB;AACjB;AACA,gBAAM9Y,GAAG,GAAGzoB,KAAK,CAACmD,SAAN,CAAgB,KAAKvS,KAAL,GAAa,CAA7B,EAAgC,KAAKA,KAAL,GAAa,CAA7C,CAAZ;;AACA,gBAAI,eAAeu+B,IAAf,CAAoB1G,GAApB,CAAJ,EAA8B;AAC1B6jD,2BAAa,GAAG/pB,QAAQ,CAAC95B,GAAD,EAAM,EAAN,CAAxB;AACH,aAFD,MAGK;AACD,qBAAO,KAAKxsB,KAAL,sCAAyCwsB,GAAzC,QAAiD,CAAjD,CAAP;AACH;;AACD,iBAAK,IAAIrjC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuBA,CAAC,EAAxB,EAA4B;AACxB,mBAAKwuB,OAAL;AACH;AACJ,WAZD,MAaK;AACD04D,yBAAa,GAAGC,QAAQ,CAAC,KAAK3sB,IAAN,CAAxB;AACA,iBAAKhsC,OAAL;AACH;;AACDw4D,gBAAM,IAAIx8E,MAAM,CAACozC,YAAP,CAAoBspC,aAApB,CAAV;AACAD,gBAAM,GAAG,KAAKz7E,KAAd;AACH,SAzBD,MA0BK,IAAI,KAAKgvD,IAAL,IAAathB,IAAjB,EAAuB;AACxB,iBAAO,KAAKriC,KAAL,CAAW,oBAAX,EAAiC,CAAjC,CAAP;AACH,SAFI,MAGA;AACD,eAAK2X,OAAL;AACH;AACJ;;AACD,UAAM44D,IAAI,GAAGxsE,KAAK,CAACmD,SAAN,CAAgBkpE,MAAhB,EAAwB,KAAKz7E,KAA7B,CAAb;AACA,WAAKgjB,OAAL,GA1CS,CA0CO;;AAChB,aAAOo3D,cAAc,CAACvpD,KAAD,EAAQ,KAAK7wB,KAAb,EAAoBw7E,MAAM,GAAGI,IAA7B,CAArB;AACH;;;WACD,eAAM3nD,OAAN,EAAe8d,MAAf,EAAuB;AACnB,UAAM2Y,QAAQ,GAAG,KAAK1qD,KAAL,GAAa+xC,MAA9B;AACA,aAAOuoC,aAAa,CAAC5vB,QAAD,EAAW,KAAK1qD,KAAhB,yBAAuCi0B,OAAvC,wBAA4Dy2B,QAA5D,6BAAuF,KAAKt7C,KAA5F,OAApB;AACH;;;;;;AAEL,SAASmrE,iBAAT,CAA2B/oC,IAA3B,EAAiC;AAC7B,SAAQpB,EAAE,IAAIoB,IAAN,IAAcA,IAAI,IAAIV,EAAvB,IAA+BpB,EAAE,IAAI8B,IAAN,IAAcA,IAAI,IAAI1B,EAArD,IACF0B,IAAI,IAAIrB,EADN,IACcqB,IAAI,IAAInD,EAD7B;AAEH;;AACD,SAASwtC,YAAT,CAAsBzsE,KAAtB,EAA6B;AACzB,MAAIA,KAAK,CAACjc,MAAN,IAAgB,CAApB,EACI,OAAO,KAAP;AACJ,MAAMmmF,OAAO,GAAG,IAAIC,QAAJ,CAAanqE,KAAb,CAAhB;AACA,MAAI,CAACmrE,iBAAiB,CAACjB,OAAO,CAACtqB,IAAT,CAAtB,EACI,OAAO,KAAP;AACJsqB,SAAO,CAACt2D,OAAR;;AACA,SAAOs2D,OAAO,CAACtqB,IAAR,KAAiBthB,IAAxB,EAA8B;AAC1B,QAAI,CAACwtC,gBAAgB,CAAC5B,OAAO,CAACtqB,IAAT,CAArB,EACI,OAAO,KAAP;AACJsqB,WAAO,CAACt2D,OAAR;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAASk4D,gBAAT,CAA0B1pC,IAA1B,EAAgC;AAC5B,SAAOE,aAAa,CAACF,IAAD,CAAb,IAAuBC,OAAO,CAACD,IAAD,CAA9B,IAAyCA,IAAI,IAAIrB,EAAjD,IACFqB,IAAI,IAAInD,EADb;AAEH;;AACD,SAAS+sC,eAAT,CAAyB5pC,IAAzB,EAA+B;AAC3B,SAAOA,IAAI,IAAIlB,EAAR,IAAckB,IAAI,IAAI7B,EAA7B;AACH;;AACD,SAAS0rC,cAAT,CAAwB7pC,IAAxB,EAA8B;AAC1B,SAAOA,IAAI,IAAI1C,MAAR,IAAkB0C,IAAI,IAAI5C,KAAjC;AACH;;AACD,SAASktC,OAAT,CAAiBtqC,IAAjB,EAAuB;AACnB,SAAOA,IAAI,KAAKhD,GAAT,IAAgBgD,IAAI,KAAKrD,GAAzB,IAAgCqD,IAAI,KAAKF,GAAhD;AACH;;AACD,SAASqqC,QAAT,CAAkBnqC,IAAlB,EAAwB;AACpB,UAAQA,IAAR;AACI,SAAKhB,EAAL;AACI,aAAO3C,GAAP;;AACJ,SAAK0C,EAAL;AACI,aAAOxC,GAAP;;AACJ,SAAK0C,EAAL;AACI,aAAOzC,GAAP;;AACJ,SAAK0C,EAAL;AACI,aAAO9C,IAAP;;AACJ,SAAKgD,EAAL;AACI,aAAO9C,KAAP;;AACJ;AACI,aAAO0D,IAAP;AAZR;AAcH;;AACD,SAAS8pC,iBAAT,CAA2Br3E,IAA3B,EAAiC;AAC7B,MAAMtP,MAAM,GAAGg9D,QAAQ,CAAC1tD,IAAD,CAAvB;;AACA,MAAIyyD,KAAK,CAAC/hE,MAAD,CAAT,EAAmB;AACf,UAAM,IAAI/C,KAAJ,CAAU,0CAA0CqS,IAApD,CAAN;AACH;;AACD,SAAOtP,MAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMonF,kB,GACF,4BAAY1+C,OAAZ,EAAqB74B,WAArB,EAAkCw3E,OAAlC,EAA2C;AAAA;;AACvC,OAAK3+C,OAAL,GAAeA,OAAf;AACA,OAAK74B,WAAL,GAAmBA,WAAnB;AACA,OAAKw3E,OAAL,GAAeA,OAAf;AACH,C;;IAECC,0B,GACF,oCAAYnV,gBAAZ,EAA8BC,QAA9B,EAAwC/rB,MAAxC,EAAgD;AAAA;;AAC5C,OAAK8rB,gBAAL,GAAwBA,gBAAxB;AACA,OAAKC,QAAL,GAAgBA,QAAhB;AACA,OAAK/rB,MAAL,GAAcA,MAAd;AACH,C;;AAEL,IAAMkhC,wBAAwB,GAAGC,wBAAwB,CAAC72C,4BAAD,CAAzD;;AACA,SAAS82C,qBAAT,CAA+BjO,MAA/B,EAAuC;AACnC,MAAIA,MAAM,KAAK7oC,4BAAf,EAA6C;AACzC,WAAO42C,wBAAP;AACH,GAFD,MAGK;AACD,WAAOC,wBAAwB,CAAChO,MAAD,CAA/B;AACH;AACJ;;AACD,SAASgO,wBAAT,CAAkChO,MAAlC,EAA0C;AACtC,MAAM/pB,OAAO,GAAG1yC,YAAY,CAACy8D,MAAM,CAACt9C,KAAR,CAAZ,GAA6B,cAA7B,GAA8Cnf,YAAY,CAACy8D,MAAM,CAAC/8C,GAAR,CAA1E;AACA,SAAO,IAAIr9B,MAAJ,CAAWqwD,OAAX,EAAoB,GAApB,CAAP;AACH;;IACKi4B,Q;AACF,oBAAYC,MAAZ,EAAoB;AAAA;;AAChB,SAAKA,MAAL,GAAcA,MAAd;AACA,SAAKthC,MAAL,GAAc,EAAd;AACA,SAAKuhC,uBAAL,GAA+BC,uBAA/B;AACH;;;;WACD,qBAAYptE,KAAZ,EAAmBqoC,QAAnB,EAA6BP,cAA7B,EAAiG;AAAA,UAApD8W,mBAAoD,uEAA9B1oB,4BAA8B;;AAC7F,WAAKm3C,qBAAL,CAA2BrtE,KAA3B,EAAkCqoC,QAAlC,EAA4CuW,mBAA5C;;AACA,UAAM0uB,WAAW,GAAG,KAAKC,cAAL,CAAoBvtE,KAApB,CAApB;;AACA,UAAMk9C,MAAM,GAAG,KAAKgwB,MAAL,CAAY9vB,QAAZ,CAAqB,KAAKmwB,cAAL,CAAoBvtE,KAApB,CAArB,CAAf;;AACA,UAAM5D,GAAG,GAAG,IAAIoxE,SAAJ,CAAcxtE,KAAd,EAAqBqoC,QAArB,EAA+BP,cAA/B,EAA+CoV,MAA/C,EAAuDowB,WAAW,CAACvpF,MAAnE,EAA2E,IAA3E,EAAiF,KAAK6nD,MAAtF,EAA8F5rC,KAAK,CAACjc,MAAN,GAAeupF,WAAW,CAACvpF,MAAzH,EACP0pF,UADO,EAAZ;AAEA,aAAO,IAAI9hC,aAAJ,CAAkBvvC,GAAlB,EAAuB4D,KAAvB,EAA8BqoC,QAA9B,EAAwCP,cAAxC,EAAwD,KAAK8D,MAA7D,CAAP;AACH;;;WACD,sBAAa5rC,KAAb,EAAoBqoC,QAApB,EAA8BP,cAA9B,EAAkG;AAAA,UAApD8W,mBAAoD,uEAA9B1oB,4BAA8B;;AAC9F,UAAM95B,GAAG,GAAG,KAAKsxE,gBAAL,CAAsB1tE,KAAtB,EAA6BqoC,QAA7B,EAAuCP,cAAvC,EAAuD8W,mBAAvD,CAAZ;;AACA,aAAO,IAAIjT,aAAJ,CAAkBvvC,GAAlB,EAAuB4D,KAAvB,EAA8BqoC,QAA9B,EAAwCP,cAAxC,EAAwD,KAAK8D,MAA7D,CAAP;AACH;;;WACD,+BAAsBxvC,GAAtB,EAA2B;AACvB,UAAMuxE,OAAO,GAAG,IAAI,KAAKR,uBAAT,EAAhB;AACA/wE,SAAG,CAAC+kB,KAAJ,CAAUwsD,OAAV;AACA,aAAOA,OAAO,CAAC/hC,MAAf;AACH;;;WACD,4BAAmB5rC,KAAnB,EAA0BqoC,QAA1B,EAAoCP,cAApC,EAAwG;AAAA,UAApD8W,mBAAoD,uEAA9B1oB,4BAA8B;;AACpG,UAAM95B,GAAG,GAAG,KAAKsxE,gBAAL,CAAsB1tE,KAAtB,EAA6BqoC,QAA7B,EAAuCP,cAAvC,EAAuD8W,mBAAvD,CAAZ;;AACA,UAAMhT,MAAM,GAAG,KAAKgiC,qBAAL,CAA2BxxE,GAA3B,CAAf;;AACA,UAAIwvC,MAAM,CAAC7nD,MAAP,GAAgB,CAApB,EAAuB;AACnB,aAAK6xE,YAAL,kDAA4DhqB,MAAM,CAACzmD,IAAP,CAAY,GAAZ,CAA5D,GAAgF6a,KAAhF,EAAuFqoC,QAAvF;AACH;;AACD,aAAO,IAAIsD,aAAJ,CAAkBvvC,GAAlB,EAAuB4D,KAAvB,EAA8BqoC,QAA9B,EAAwCP,cAAxC,EAAwD,KAAK8D,MAA7D,CAAP;AACH;;;WACD,sBAAa/mB,OAAb,EAAsB7kB,KAAtB,EAA6B2nC,WAA7B,EAA0CC,WAA1C,EAAuD;AACnD,WAAKgE,MAAL,CAAYpmD,IAAZ,CAAiB,IAAIkiD,WAAJ,CAAgB7iB,OAAhB,EAAyB7kB,KAAzB,EAAgC2nC,WAAhC,EAA6CC,WAA7C,CAAjB;AACH;;;WACD,0BAAiB5nC,KAAjB,EAAwBqoC,QAAxB,EAAkCP,cAAlC,EAAkD8W,mBAAlD,EAAuE;AACnE;AACA;AACA,UAAM92C,KAAK,GAAG,KAAK+lE,WAAL,CAAiB7tE,KAAjB,EAAwBqoC,QAAxB,EAAkCP,cAAlC,CAAd;;AACA,UAAIhgC,KAAK,IAAI,IAAb,EAAmB;AACf,eAAOA,KAAP;AACH;;AACD,WAAKulE,qBAAL,CAA2BrtE,KAA3B,EAAkCqoC,QAAlC,EAA4CuW,mBAA5C;;AACA,UAAM0uB,WAAW,GAAG,KAAKC,cAAL,CAAoBvtE,KAApB,CAApB;;AACA,UAAMk9C,MAAM,GAAG,KAAKgwB,MAAL,CAAY9vB,QAAZ,CAAqBkwB,WAArB,CAAf;;AACA,aAAO,IAAIE,SAAJ,CAAcxtE,KAAd,EAAqBqoC,QAArB,EAA+BP,cAA/B,EAA+CoV,MAA/C,EAAuDowB,WAAW,CAACvpF,MAAnE,EAA2E,KAA3E,EAAkF,KAAK6nD,MAAvF,EAA+F5rC,KAAK,CAACjc,MAAN,GAAeupF,WAAW,CAACvpF,MAA1H,EACF0pF,UADE,EAAP;AAEH;;;WACD,qBAAYztE,KAAZ,EAAmBqoC,QAAnB,EAA6BP,cAA7B,EAA6C;AACzC,UAAI9nC,KAAK,IAAI,IAAb,EACI,OAAO,IAAP;AACJ,UAAM8tE,oBAAoB,GAAG9tE,KAAK,CAACzd,OAAN,CAAc,GAAd,CAA7B;AACA,UAAIurF,oBAAoB,IAAI,CAAC,CAA7B,EACI,OAAO,IAAP;AACJ,UAAM7qF,MAAM,GAAG+c,KAAK,CAACmD,SAAN,CAAgB,CAAhB,EAAmB2qE,oBAAnB,EAAyCttE,IAAzC,EAAf;AACA,UAAI,CAACisE,YAAY,CAACxpF,MAAD,CAAjB,EACI,OAAO,IAAP;AACJ,UAAMmlD,uBAAuB,GAAGpoC,KAAK,CAACmD,SAAN,CAAgB2qE,oBAAoB,GAAG,CAAvC,CAAhC;AACA,UAAMv8C,IAAI,GAAG,IAAIsW,SAAJ,CAAc,CAAd,EAAiB7nC,KAAK,CAACjc,MAAvB,CAAb;AACA,aAAO,IAAIokD,KAAJ,CAAU5W,IAAV,EAAgBA,IAAI,CAACw8C,UAAL,CAAgBjmC,cAAhB,CAAhB,EAAiD7kD,MAAjD,EAAyDmlD,uBAAzD,EAAkFC,QAAlF,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,+BAAsBq4B,WAAtB,EAAmCD,aAAnC,EAAkD/yD,WAAlD,EAA+DqpD,iBAA/D,EAAkFL,mBAAlF,EAAuG;AACnG,UAAMxZ,MAAM,GAAG,KAAKgwB,MAAL,CAAY9vB,QAAZ,CAAqBqjB,aAArB,CAAf;;AACA,UAAM7Y,MAAM,GAAG,IAAI4lB,SAAJ,CAAc/M,aAAd,EAA6B/yD,WAA7B,EAA0CgpD,mBAA1C,EAA+DxZ,MAA/D,EAAuEujB,aAAa,CAAC18E,MAArF,EAA6F;AAAM;AAAnG,QAAsH,KAAK6nD,MAA3H,EAAmI;AAAE;AAArI,OAAf;AACA,aAAOgc,MAAM,CAAC6P,qBAAP,CAA6B;AAChC9rC,cAAM,EAAE+0C,WADwB;AAEhCnvC,YAAI,EAAE,IAAIwW,kBAAJ,CAAuBgvB,iBAAvB,EAA0CA,iBAAiB,GAAG2J,WAAW,CAAC38E,MAA1E;AAF0B,OAA7B,CAAP;AAIH;;;WACD,4BAAmBic,KAAnB,EAA0BqoC,QAA1B,EAAoCP,cAApC,EAAwG;AAAA,UAApD8W,mBAAoD,uEAA9B1oB,4BAA8B;;AACpG,kCAA0C,KAAK83C,kBAAL,CAAwBhuE,KAAxB,EAA+BqoC,QAA/B,EAAyCuW,mBAAzC,CAA1C;AAAA,UAAQ3wB,OAAR,yBAAQA,OAAR;AAAA,UAAiB74B,WAAjB,yBAAiBA,WAAjB;AAAA,UAA8Bw3E,OAA9B,yBAA8BA,OAA9B;;AACA,UAAIx3E,WAAW,CAACrR,MAAZ,KAAuB,CAA3B,EACI,OAAO,IAAP;AACJ,UAAMkqF,eAAe,GAAG,EAAxB;;AACA,WAAK,IAAI7oF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgQ,WAAW,CAACrR,MAAhC,EAAwC,EAAEqB,CAA1C,EAA6C;AACzC,YAAM8oF,cAAc,GAAG94E,WAAW,CAAChQ,CAAD,CAAX,CAAeyP,IAAtC;;AACA,YAAMy4E,WAAW,GAAG,KAAKC,cAAL,CAAoBW,cAApB,CAApB;;AACA,YAAMhxB,MAAM,GAAG,KAAKgwB,MAAL,CAAY9vB,QAAZ,CAAqBkwB,WAArB,CAAf;;AACA,YAAMlxE,GAAG,GAAG,IAAIoxE,SAAJ,CAAcxtE,KAAd,EAAqBqoC,QAArB,EAA+BP,cAA/B,EAA+CoV,MAA/C,EAAuDowB,WAAW,CAACvpF,MAAnE,EAA2E,KAA3E,EAAkF,KAAK6nD,MAAvF,EAA+FghC,OAAO,CAACxnF,CAAD,CAAP,IAAc8oF,cAAc,CAACnqF,MAAf,GAAwBupF,WAAW,CAACvpF,MAAlD,CAA/F,EACP0pF,UADO,EAAZ;AAEAQ,uBAAe,CAACzoF,IAAhB,CAAqB4W,GAArB;AACH;;AACD,aAAO,KAAK+xE,sBAAL,CAA4BlgD,OAAO,CAACxlC,GAAR,CAAY,UAAA8Z,CAAC;AAAA,eAAIA,CAAC,CAAC1N,IAAN;AAAA,OAAb,CAA5B,EAAsDo5E,eAAtD,EAAuEjuE,KAAvE,EAA8EqoC,QAA9E,EAAwFP,cAAxF,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;;WACI,sCAA6B1iC,UAA7B,EAAyCijC,QAAzC,EAAmDP,cAAnD,EAAmE;AAC/D,UAAMwlC,WAAW,GAAG,KAAKC,cAAL,CAAoBnoE,UAApB,CAApB;;AACA,UAAM83C,MAAM,GAAG,KAAKgwB,MAAL,CAAY9vB,QAAZ,CAAqBkwB,WAArB,CAAf;;AACA,UAAMlxE,GAAG,GAAG,IAAIoxE,SAAJ,CAAcpoE,UAAd,EAA0BijC,QAA1B,EAAoCP,cAApC,EAAoDoV,MAApD,EAA4DowB,WAAW,CAACvpF,MAAxE;AACZ;AAAkB,WADN,EACa,KAAK6nD,MADlB,EAC0B,CAD1B,EAEP6hC,UAFO,EAAZ;AAGA,UAAMx/C,OAAO,GAAG,CAAC,EAAD,EAAK,EAAL,CAAhB,CAN+D,CAMrC;;AAC1B,aAAO,KAAKkgD,sBAAL,CAA4BlgD,OAA5B,EAAqC,CAAC7xB,GAAD,CAArC,EAA4CgJ,UAA5C,EAAwDijC,QAAxD,EAAkEP,cAAlE,CAAP;AACH;;;WACD,gCAAuB7Z,OAAvB,EAAgC74B,WAAhC,EAA6C4K,KAA7C,EAAoDqoC,QAApD,EAA8DP,cAA9D,EAA8E;AAC1E,UAAMvW,IAAI,GAAG,IAAIsW,SAAJ,CAAc,CAAd,EAAiB7nC,KAAK,CAACjc,MAAvB,CAAb;AACA,UAAMgqB,aAAa,GAAG,IAAIs8B,aAAJ,CAAkB9Y,IAAlB,EAAwBA,IAAI,CAACw8C,UAAL,CAAgBjmC,cAAhB,CAAxB,EAAyD7Z,OAAzD,EAAkE74B,WAAlE,CAAtB;AACA,aAAO,IAAIu2C,aAAJ,CAAkB59B,aAAlB,EAAiC/N,KAAjC,EAAwCqoC,QAAxC,EAAkDP,cAAlD,EAAkE,KAAK8D,MAAvE,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,4BAAmB5rC,KAAnB,EAA0BqoC,QAA1B,EAAwF;AAAA,UAApDuW,mBAAoD,uEAA9B1oB,4BAA8B;AACpF,UAAMjI,OAAO,GAAG,EAAhB;AACA,UAAM74B,WAAW,GAAG,EAApB;AACA,UAAMw3E,OAAO,GAAG,EAAhB;AACA,UAAIxnF,CAAC,GAAG,CAAR;AACA,UAAIgpF,eAAe,GAAG,KAAtB;AACA,UAAIC,gBAAgB,GAAG,KAAvB;AACA,UAAaC,WAAb,GAA6C1vB,mBAA7C,CAAMn9B,KAAN;AAAA,UAA+B8sD,SAA/B,GAA6C3vB,mBAA7C,CAA0B58B,GAA1B;;AACA,aAAO58B,CAAC,GAAG4a,KAAK,CAACjc,MAAjB,EAAyB;AACrB,YAAI,CAACqqF,eAAL,EAAsB;AAClB;AACA,cAAM3sD,OAAK,GAAGr8B,CAAd;AACAA,WAAC,GAAG4a,KAAK,CAACzd,OAAN,CAAc+rF,WAAd,EAA2BlpF,CAA3B,CAAJ;;AACA,cAAIA,CAAC,KAAK,CAAC,CAAX,EAAc;AACVA,aAAC,GAAG4a,KAAK,CAACjc,MAAV;AACH;;AACD,cAAM8Q,IAAI,GAAGmL,KAAK,CAACmD,SAAN,CAAgBse,OAAhB,EAAuBr8B,CAAvB,CAAb;AACA6oC,iBAAO,CAACzoC,IAAR,CAAa;AAAEqP,gBAAI,EAAJA,IAAF;AAAQ4sB,iBAAK,EAALA,OAAR;AAAeO,eAAG,EAAE58B;AAApB,WAAb;AACAgpF,yBAAe,GAAG,IAAlB;AACH,SAVD,MAWK;AACD;AACA,cAAMzqC,SAAS,GAAGv+C,CAAlB;AACA,cAAMopF,SAAS,GAAG7qC,SAAS,GAAG2qC,WAAW,CAACvqF,MAA1C;;AACA,cAAM0qF,OAAO,GAAG,KAAKC,uBAAL,CAA6B1uE,KAA7B,EAAoCuuE,SAApC,EAA+CC,SAA/C,CAAhB;;AACA,cAAIC,OAAO,KAAK,CAAC,CAAjB,EAAoB;AAChB;AACA;AACAL,2BAAe,GAAG,KAAlB;AACAC,4BAAgB,GAAG,IAAnB;AACA;AACH;;AACD,cAAMM,OAAO,GAAGF,OAAO,GAAGF,SAAS,CAACxqF,MAApC;;AACA,cAAM8Q,KAAI,GAAGmL,KAAK,CAACmD,SAAN,CAAgBqrE,SAAhB,EAA2BC,OAA3B,CAAb;;AACA,cAAI55E,KAAI,CAAC2L,IAAL,GAAYzc,MAAZ,GAAqB,CAAzB,EAA4B;AACxBqR,uBAAW,CAAC5P,IAAZ,CAAiB;AAAEqP,kBAAI,EAAJA,KAAF;AAAQ4sB,mBAAK,EAAEkiB,SAAf;AAA0B3hB,iBAAG,EAAE2sD;AAA/B,aAAjB;AACH,WAFD,MAGK;AACD,iBAAK/Y,YAAL,CAAkB,2DAAlB,EAA+E51D,KAA/E,sBAAmG5a,CAAnG,UAA2GijD,QAA3G;;AACAjzC,uBAAW,CAAC5P,IAAZ,CAAiB;AAAEqP,kBAAI,EAAE,WAAR;AAAqB4sB,mBAAK,EAAEkiB,SAA5B;AAAuC3hB,iBAAG,EAAE2sD;AAA5C,aAAjB;AACH;;AACD/B,iBAAO,CAACpnF,IAAR,CAAagpF,SAAb;AACAppF,WAAC,GAAGupF,OAAJ;AACAP,yBAAe,GAAG,KAAlB;AACH;AACJ;;AACD,UAAI,CAACA,eAAL,EAAsB;AAClB;AACA,YAAIC,gBAAJ,EAAsB;AAClB,cAAMO,KAAK,GAAG3gD,OAAO,CAACA,OAAO,CAAClqC,MAAR,GAAiB,CAAlB,CAArB;AACA6qF,eAAK,CAAC/5E,IAAN,IAAcmL,KAAK,CAACmD,SAAN,CAAgB/d,CAAhB,CAAd;AACAwpF,eAAK,CAAC5sD,GAAN,GAAYhiB,KAAK,CAACjc,MAAlB;AACH,SAJD,MAKK;AACDkqC,iBAAO,CAACzoC,IAAR,CAAa;AAAEqP,gBAAI,EAAEmL,KAAK,CAACmD,SAAN,CAAgB/d,CAAhB,CAAR;AAA4Bq8B,iBAAK,EAAEr8B,CAAnC;AAAsC48B,eAAG,EAAEhiB,KAAK,CAACjc;AAAjD,WAAb;AACH;AACJ;;AACD,aAAO,IAAI4oF,kBAAJ,CAAuB1+C,OAAvB,EAAgC74B,WAAhC,EAA6Cw3E,OAA7C,CAAP;AACH;;;WACD,8BAAqB5sE,KAArB,EAA4BqoC,QAA5B,EAAsCP,cAAtC,EAAsD;AAClD,UAAMvW,IAAI,GAAG,IAAIsW,SAAJ,CAAc,CAAd,EAAiB7nC,KAAK,IAAI,IAAT,GAAgB,CAAhB,GAAoBA,KAAK,CAACjc,MAA3C,CAAb;AACA,aAAO,IAAI4nD,aAAJ,CAAkB,IAAI5B,gBAAJ,CAAqBxY,IAArB,EAA2BA,IAAI,CAACw8C,UAAL,CAAgBjmC,cAAhB,CAA3B,EAA4D9nC,KAA5D,CAAlB,EAAsFA,KAAtF,EAA6FqoC,QAA7F,EAAuGP,cAAvG,EAAuH,KAAK8D,MAA5H,CAAP;AACH;;;WACD,wBAAe5rC,KAAf,EAAsB;AAClB,UAAM5a,CAAC,GAAG,KAAKypF,aAAL,CAAmB7uE,KAAnB,CAAV;;AACA,aAAO5a,CAAC,IAAI,IAAL,GAAY4a,KAAK,CAACmD,SAAN,CAAgB,CAAhB,EAAmB/d,CAAnB,EAAsBob,IAAtB,EAAZ,GAA2CR,KAAlD;AACH;;;WACD,uBAAcA,KAAd,EAAqB;AACjB,UAAI8uE,UAAU,GAAG,IAAjB;;AACA,WAAK,IAAI1pF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4a,KAAK,CAACjc,MAAN,GAAe,CAAnC,EAAsCqB,CAAC,EAAvC,EAA2C;AACvC,YAAMm0D,IAAI,GAAGv5C,KAAK,CAAC6C,UAAN,CAAiBzd,CAAjB,CAAb;AACA,YAAM2pF,QAAQ,GAAG/uE,KAAK,CAAC6C,UAAN,CAAiBzd,CAAC,GAAG,CAArB,CAAjB;AACA,YAAIm0D,IAAI,KAAK3Z,MAAT,IAAmBmvC,QAAQ,IAAInvC,MAA/B,IAAyCkvC,UAAU,IAAI,IAA3D,EACI,OAAO1pF,CAAP;;AACJ,YAAI0pF,UAAU,KAAKv1B,IAAnB,EAAyB;AACrBu1B,oBAAU,GAAG,IAAb;AACH,SAFD,MAGK,IAAIA,UAAU,IAAI,IAAd,IAAsBpC,OAAO,CAACnzB,IAAD,CAAjC,EAAyC;AAC1Cu1B,oBAAU,GAAGv1B,IAAb;AACH;AACJ;;AACD,aAAO,IAAP;AACH;;;WACD,+BAAsBv5C,KAAtB,EAA6BqoC,QAA7B,EAAuCuW,mBAAvC,EAA4D;AACxD,UAAM7oB,MAAM,GAAGi3C,qBAAqB,CAACpuB,mBAAD,CAApC;;AACA,UAAM3lD,KAAK,GAAG+G,KAAK,CAACyD,KAAN,CAAYsyB,MAAZ,CAAd;;AACA,UAAI98B,KAAK,CAAClV,MAAN,GAAe,CAAnB,EAAsB;AAClB,aAAK6xE,YAAL,8BAAwChX,mBAAmB,CAACn9B,KAA5D,SAAoEm9B,mBAAmB,CAAC58B,GAAxF,sCAA8HhiB,KAA9H,sBAAkJ,KAAKgvE,6BAAL,CAAmC/1E,KAAnC,EAA0C,CAA1C,EAA6C2lD,mBAA7C,CAAlJ,UAA0NvW,QAA1N;AACH;AACJ;;;WACD,uCAA8BpvC,KAA9B,EAAqCg2E,YAArC,EAAmDrwB,mBAAnD,EAAwE;AACpE,UAAIjX,WAAW,GAAG,EAAlB;;AACA,WAAK,IAAIrhB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2oD,YAApB,EAAkC3oD,CAAC,EAAnC,EAAuC;AACnCqhB,mBAAW,IAAIrhB,CAAC,GAAG,CAAJ,KAAU,CAAV,GACXrtB,KAAK,CAACqtB,CAAD,CADM,aAERs4B,mBAAmB,CAACn9B,KAFZ,SAEoBxoB,KAAK,CAACqtB,CAAD,CAFzB,SAE+Bs4B,mBAAmB,CAAC58B,GAFnD,CAAf;AAGH;;AACD,aAAO2lB,WAAW,CAAC5jD,MAAnB;AACH;AACD;AACJ;AACA;AACA;;;;WACI,iCAAwBic,KAAxB,EAA+BkvE,aAA/B,EAA8CztD,KAA9C,EAAqD;AACjD,UAAI0tD,YAAY,GAAG,IAAnB;AACA,UAAIC,WAAW,GAAG,CAAlB;;AACA,WAAK,IAAIhqF,CAAC,GAAGq8B,KAAb,EAAoBr8B,CAAC,GAAG4a,KAAK,CAACjc,MAA9B,EAAsCqB,CAAC,EAAvC,EAA2C;AACvC,YAAMm0D,IAAI,GAAGv5C,KAAK,CAAC5a,CAAD,CAAlB,CADuC,CAEvC;AACA;;AACA,YAAIsnF,OAAO,CAAC1sE,KAAK,CAAC6C,UAAN,CAAiBzd,CAAjB,CAAD,CAAP,KAAiC+pF,YAAY,KAAK,IAAjB,IAAyBA,YAAY,KAAK51B,IAA3E,KACA61B,WAAW,GAAG,CAAd,KAAoB,CADxB,EAC2B;AACvBD,sBAAY,GAAGA,YAAY,KAAK,IAAjB,GAAwB51B,IAAxB,GAA+B,IAA9C;AACH,SAHD,MAIK,IAAI41B,YAAY,KAAK,IAArB,EAA2B;AAC5B,cAAInvE,KAAK,CAACstB,UAAN,CAAiB4hD,aAAjB,EAAgC9pF,CAAhC,CAAJ,EAAwC;AACpC,mBAAOA,CAAP;AACH,WAH2B,CAI5B;AACA;;;AACA,cAAI4a,KAAK,CAACstB,UAAN,CAAiB,IAAjB,EAAuBloC,CAAvB,CAAJ,EAA+B;AAC3B,mBAAO4a,KAAK,CAACzd,OAAN,CAAc2sF,aAAd,EAA6B9pF,CAA7B,CAAP;AACH;AACJ;;AACDgqF,mBAAW,GAAG71B,IAAI,KAAK,IAAT,GAAgB61B,WAAW,GAAG,CAA9B,GAAkC,CAAhD;AACH;;AACD,aAAO,CAAC,CAAR;AACH;;;;;;IAECC,S;;;;;AACF,uBAAc;AAAA;;AAAA;;AACV,oCAAS/xE,SAAT;AACA,aAAK6vE,uBAAL,GAA+BmC,0BAA/B;AAFU;AAGb;;;EAJmBrC,Q;AAMxB;;;AACA,IAAIsC,iBAAJ;;AACA,CAAC,UAAUA,iBAAV,EAA6B;AAC1BA,mBAAiB,CAACA,iBAAiB,CAAC,MAAD,CAAjB,GAA4B,CAA7B,CAAjB,GAAmD,MAAnD;AACA;AACJ;AACA;AACA;AACA;AACA;AACA;;AACIA,mBAAiB,CAACA,iBAAiB,CAAC,UAAD,CAAjB,GAAgC,CAAjC,CAAjB,GAAuD,UAAvD;AACH,CAVD,EAUGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CAVpB;;IAWM/B,S;AACF,qBAAYxtE,KAAZ,EAAmBqoC,QAAnB,EAA6BP,cAA7B,EAA6CoV,MAA7C,EAAqDsyB,WAArD,EAAkEjW,WAAlE,EAA+E3tB,MAA/E,EAAuFjJ,MAAvF,EAA+F;AAAA;;AAC3F,SAAK3iC,KAAL,GAAaA,KAAb;AACA,SAAKqoC,QAAL,GAAgBA,QAAhB;AACA,SAAKP,cAAL,GAAsBA,cAAtB;AACA,SAAKoV,MAAL,GAAcA,MAAd;AACA,SAAKsyB,WAAL,GAAmBA,WAAnB;AACA,SAAKjW,WAAL,GAAmBA,WAAnB;AACA,SAAK3tB,MAAL,GAAcA,MAAd;AACA,SAAKjJ,MAAL,GAAcA,MAAd;AACA,SAAK8sC,eAAL,GAAuB,CAAvB;AACA,SAAKC,iBAAL,GAAyB,CAAzB;AACA,SAAKC,eAAL,GAAuB,CAAvB;AACA,SAAKrhF,OAAL,GAAeihF,iBAAiB,CAACx/E,IAAjC,CAZ2F,CAa3F;AACA;AACA;AACA;;AACA,SAAK6/E,eAAL,GAAuB,IAAI5oF,GAAJ,EAAvB;AACA,SAAK4J,KAAL,GAAa,CAAb;AACH;;;;WACD,cAAK+xC,MAAL,EAAa;AACT,UAAMv9C,CAAC,GAAG,KAAKwL,KAAL,GAAa+xC,MAAvB;AACA,aAAOv9C,CAAC,GAAG,KAAK83D,MAAL,CAAYn5D,MAAhB,GAAyB,KAAKm5D,MAAL,CAAY93D,CAAZ,CAAzB,GAA0Ck7D,GAAjD;AACH;;;SACD,eAAW;AACP,aAAO,KAAKV,IAAL,CAAU,CAAV,CAAP;AACH;AACD;;;;SACA,eAAY;AACR,aAAO,KAAKhvD,KAAL,IAAc,KAAKssD,MAAL,CAAYn5D,MAAjC;AACH;AACD;AACJ;AACA;AACA;;;;SACI,eAAiB;AACb,aAAO,KAAK8rF,KAAL,GAAa,KAAKC,eAAlB,GAAoC,KAAK3kB,IAAL,CAAUv6D,KAAV,GAAkB,KAAK+xC,MAAlE;AACH;AACD;AACJ;AACA;AACA;;;;SACI,eAAsB;AAClB,UAAI,KAAK/xC,KAAL,GAAa,CAAjB,EAAoB;AAChB,YAAMm/E,QAAQ,GAAG,KAAKnwB,IAAL,CAAU,CAAC,CAAX,CAAjB;AACA,eAAOmwB,QAAQ,CAAC/tD,GAAT,GAAe,KAAK2gB,MAA3B;AACH,OAJiB,CAKlB;AACA;;;AACA,UAAI,KAAKua,MAAL,CAAYn5D,MAAZ,KAAuB,CAA3B,EAA8B;AAC1B,eAAO,KAAKyrF,WAAL,GAAmB,KAAK7sC,MAA/B;AACH;;AACD,aAAO,KAAKwoB,IAAL,CAAUv6D,KAAV,GAAkB,KAAK+xC,MAA9B;AACH;AACD;AACJ;AACA;;;;SACI,eAA4B;AACxB,aAAO,KAAKmF,cAAL,GAAsB,KAAKkoC,UAAlC;AACH;;;WACD,cAAKvuD,KAAL,EAAY;AACR,aAAO,IAAIomB,SAAJ,CAAcpmB,KAAd,EAAqB,KAAKquD,eAA1B,CAAP;AACH;;;WACD,oBAAWruD,KAAX,EAAkB;AACd,UAAMwuD,MAAM,aAAMxuD,KAAN,cAAe,KAAKuuD,UAApB,CAAZ;;AACA,UAAI,CAAC,KAAKJ,eAAL,CAAqBr+D,GAArB,CAAyB0+D,MAAzB,CAAL,EAAuC;AACnC,aAAKL,eAAL,CAAqBtnF,GAArB,CAAyB2nF,MAAzB,EAAiC,KAAK1+C,IAAL,CAAU9P,KAAV,EAAiBssD,UAAjB,CAA4B,KAAKjmC,cAAjC,CAAjC;AACH;;AACD,aAAO,KAAK8nC,eAAL,CAAqBvnF,GAArB,CAAyB4nF,MAAzB,CAAP;AACH;;;WACD,mBAAU;AACN,WAAKr/E,KAAL;AACH;AACD;AACJ;AACA;;;;WACI,qBAAYtC,OAAZ,EAAqBoT,EAArB,EAAyB;AACrB,WAAKpT,OAAL,IAAgBA,OAAhB;AACA,UAAM4hF,GAAG,GAAGxuE,EAAE,EAAd;AACA,WAAKpT,OAAL,IAAgBA,OAAhB;AACA,aAAO4hF,GAAP;AACH;;;WACD,kCAAyB9tC,IAAzB,EAA+B;AAC3B,UAAI,KAAK+oB,IAAL,CAAUglB,WAAV,CAAsB/tC,IAAtB,CAAJ,EAAiC;AAC7B,aAAKxuB,OAAL;AACA,eAAO,IAAP;AACH,OAHD,MAIK;AACD,eAAO,KAAP;AACH;AACJ;;;WACD,0BAAiB;AACb,aAAO,KAAKu3C,IAAL,CAAUilB,YAAV,EAAP;AACH;;;WACD,yBAAgB;AACZ,aAAO,KAAKjlB,IAAL,CAAUklB,WAAV,EAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,yBAAgBjuC,IAAhB,EAAsB;AAClB,UAAI,KAAKkuC,wBAAL,CAA8BluC,IAA9B,CAAJ,EACI;AACJ,WAAKnmC,KAAL,4BAA+BrM,MAAM,CAACozC,YAAP,CAAoBZ,IAApB,CAA/B;AACH;;;WACD,iCAAwB8O,EAAxB,EAA4B;AACxB,UAAI,KAAKia,IAAL,CAAUolB,UAAV,CAAqBr/B,EAArB,CAAJ,EAA8B;AAC1B,aAAKt9B,OAAL;AACA,eAAO,IAAP;AACH,OAHD,MAIK;AACD,eAAO,KAAP;AACH;AACJ;;;WACD,wBAAe3b,QAAf,EAAyB;AACrB,UAAI,KAAKu4E,uBAAL,CAA6Bv4E,QAA7B,CAAJ,EACI;AACJ,WAAKgE,KAAL,qCAAwChE,QAAxC;AACH;;;WACD,0BAAiBw4E,GAAjB,EAAsB;AAClB,aAAOA,GAAG,KAAKnwB,GAAR,GAAc,cAAd,mBAAwCmwB,GAAxC,CAAP;AACH;;;WACD,qCAA4B;AACxB,UAAMxtD,CAAC,GAAG,KAAKkoC,IAAf;;AACA,UAAI,CAACloC,CAAC,CAACwpD,YAAF,EAAD,IAAqB,CAACxpD,CAAC,CAACytD,SAAF,EAA1B,EAAyC;AACrC,aAAKz0E,KAAL,sBAAyB,KAAK00E,gBAAL,CAAsB1tD,CAAtB,CAAzB;AACA,eAAO,EAAP;AACH;;AACD,WAAKrP,OAAL;AACA,aAAOqP,CAAC,CAAChgB,QAAF,EAAP;AACH;;;WACD,6CAAoC;AAChC,UAAMggB,CAAC,GAAG,KAAKkoC,IAAf;;AACA,UAAI,CAACloC,CAAC,CAACwpD,YAAF,EAAD,IAAqB,CAACxpD,CAAC,CAACytD,SAAF,EAAtB,IAAuC,CAACztD,CAAC,CAAC2tD,QAAF,EAA5C,EAA0D;AACtD,aAAK30E,KAAL,sBAAyB,KAAK00E,gBAAL,CAAsB1tD,CAAtB,CAAzB;AACA,eAAO,EAAP;AACH;;AACD,WAAKrP,OAAL;AACA,aAAOqP,CAAC,CAAChgB,QAAF,EAAP;AACH;;;WACD,sBAAa;AACT,UAAMtG,KAAK,GAAG,EAAd;AACA,UAAM8kB,KAAK,GAAG,KAAKuuD,UAAnB;;AACA,aAAO,KAAKp/E,KAAL,GAAa,KAAKssD,MAAL,CAAYn5D,MAAhC,EAAwC;AACpC,YAAMoP,IAAI,GAAG,KAAK09E,SAAL,EAAb;AACAl0E,aAAK,CAACnX,IAAN,CAAW2N,IAAX;;AACA,YAAI,KAAKm9E,wBAAL,CAA8BxwC,UAA9B,CAAJ,EAA+C;AAC3C,cAAI,CAAC,KAAKy5B,WAAV,EAAuB;AACnB,iBAAKt9D,KAAL,CAAW,sDAAX;AACH;;AACD,iBAAO,KAAKq0E,wBAAL,CAA8BxwC,UAA9B,CAAP,EAAkD,CACjD,CAL0C,CAKzC;;AACL,SAND,MAOK,IAAI,KAAKlvC,KAAL,GAAa,KAAKssD,MAAL,CAAYn5D,MAA7B,EAAqC;AACtC,eAAKkY,KAAL,6BAAgC,KAAKkvD,IAArC;AACH;AACJ;;AACD,UAAIxuD,KAAK,CAAC5Y,MAAN,IAAgB,CAApB,EACI,OAAO,IAAIwkD,SAAJ,CAAc,KAAKhX,IAAL,CAAU9P,KAAV,CAAd,EAAgC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAhC,CAAP;AACJ,UAAI9kB,KAAK,CAAC5Y,MAAN,IAAgB,CAApB,EACI,OAAO4Y,KAAK,CAAC,CAAD,CAAZ;AACJ,aAAO,IAAIksC,KAAJ,CAAU,KAAKtX,IAAL,CAAU9P,KAAV,CAAV,EAA4B,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAA5B,EAAoD9kB,KAApD,CAAP;AACH;;;WACD,qBAAY;AACR,UAAIpX,MAAM,GAAG,KAAKurF,eAAL,EAAb;;AACA,UAAI,KAAKN,uBAAL,CAA6B,GAA7B,CAAJ,EAAuC;AACnC,YAAI,KAAKjX,WAAT,EAAsB;AAClB,eAAKt9D,KAAL,CAAW,4CAAX;AACH;;AACD,WAAG;AACC,cAAMumD,SAAS,GAAG,KAAKwtB,UAAvB;AACA,cAAM/rF,IAAI,GAAG,KAAK8sF,yBAAL,EAAb;AACA,cAAM7oC,QAAQ,GAAG,KAAKx3C,UAAL,CAAgB8xD,SAAhB,CAAjB;AACA,cAAMz2D,IAAI,GAAG,EAAb;;AACA,iBAAO,KAAKukF,wBAAL,CAA8BzwC,MAA9B,CAAP,EAA8C;AAC1C9zC,gBAAI,CAACvG,IAAL,CAAU,KAAKsrF,eAAL,EAAV;AACH;;AACD,cAAQrvD,OAAR,GAAkBl8B,MAAM,CAACgsC,IAAzB,CAAQ9P,KAAR;AACAl8B,gBAAM,GACF,IAAIskD,WAAJ,CAAgB,KAAKtY,IAAL,CAAU9P,OAAV,CAAhB,EAAkC,KAAK/wB,UAAL,CAAgB+wB,OAAhB,CAAlC,EAA0Dl8B,MAA1D,EAAkEtB,IAAlE,EAAwE8H,IAAxE,EAA8Em8C,QAA9E,CADJ;AAEH,SAXD,QAWS,KAAKsoC,uBAAL,CAA6B,GAA7B,CAXT;AAYH;;AACD,aAAOjrF,MAAP;AACH;;;WACD,2BAAkB;AACd,aAAO,KAAKyrF,gBAAL,EAAP;AACH;;;WACD,4BAAmB;AACf,UAAMvvD,KAAK,GAAG,KAAKuuD,UAAnB;AACA,UAAMzqF,MAAM,GAAG,KAAK0rF,cAAL,EAAf;;AACA,UAAI,KAAKT,uBAAL,CAA6B,GAA7B,CAAJ,EAAuC;AACnC,YAAMU,GAAG,GAAG,KAAKL,SAAL,EAAZ;AACA,YAAIM,EAAJ;;AACA,YAAI,CAAC,KAAKb,wBAAL,CAA8BzwC,MAA9B,CAAL,EAA4C;AACxC,cAAM7d,GAAG,GAAG,KAAKguD,UAAjB;AACA,cAAM5qE,UAAU,GAAG,KAAKpF,KAAL,CAAWmD,SAAX,CAAqBse,KAArB,EAA4BO,GAA5B,CAAnB;AACA,eAAK/lB,KAAL,kCAAqCmJ,UAArC;AACA+rE,YAAE,GAAG,IAAI5oC,SAAJ,CAAc,KAAKhX,IAAL,CAAU9P,KAAV,CAAd,EAAgC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAhC,CAAL;AACH,SALD,MAMK;AACD0vD,YAAE,GAAG,KAAKN,SAAL,EAAL;AACH;;AACD,eAAO,IAAI9nC,WAAJ,CAAgB,KAAKxX,IAAL,CAAU9P,KAAV,CAAhB,EAAkC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAlC,EAA0Dl8B,MAA1D,EAAkE2rF,GAAlE,EAAuEC,EAAvE,CAAP;AACH,OAbD,MAcK;AACD,eAAO5rF,MAAP;AACH;AACJ;;;WACD,0BAAiB;AACb;AACA,UAAIA,MAAM,GAAG,KAAK6rF,eAAL,EAAb;;AACA,aAAO,KAAKZ,uBAAL,CAA6B,IAA7B,CAAP,EAA2C;AACvC,YAAM9lC,KAAK,GAAG,KAAK0mC,eAAL,EAAd;AACA,YAAQ3vD,OAAR,GAAkBl8B,MAAM,CAACgsC,IAAzB,CAAQ9P,KAAR;AACAl8B,cAAM,GAAG,IAAIglD,MAAJ,CAAW,KAAKhZ,IAAL,CAAU9P,OAAV,CAAX,EAA6B,KAAK/wB,UAAL,CAAgB+wB,OAAhB,CAA7B,EAAqD,IAArD,EAA2Dl8B,MAA3D,EAAmEmlD,KAAnE,CAAT;AACH;;AACD,aAAOnlD,MAAP;AACH;;;WACD,2BAAkB;AACd;AACA,UAAIA,MAAM,GAAG,KAAK8rF,aAAL,EAAb;;AACA,aAAO,KAAKb,uBAAL,CAA6B,IAA7B,CAAP,EAA2C;AACvC,YAAM9lC,KAAK,GAAG,KAAK2mC,aAAL,EAAd;AACA,YAAQ5vD,OAAR,GAAkBl8B,MAAM,CAACgsC,IAAzB,CAAQ9P,KAAR;AACAl8B,cAAM,GAAG,IAAIglD,MAAJ,CAAW,KAAKhZ,IAAL,CAAU9P,OAAV,CAAX,EAA6B,KAAK/wB,UAAL,CAAgB+wB,OAAhB,CAA7B,EAAqD,IAArD,EAA2Dl8B,MAA3D,EAAmEmlD,KAAnE,CAAT;AACH;;AACD,aAAOnlD,MAAP;AACH;;;WACD,yBAAgB;AACZ;AACA,UAAIA,MAAM,GAAG,KAAK+rF,eAAL,EAAb;;AACA,aAAO,KAAKnmB,IAAL,CAAU16D,IAAV,IAAkBs5E,WAAW,CAACU,QAArC,EAA+C;AAC3C,YAAMxyE,QAAQ,GAAG,KAAKkzD,IAAL,CAAUof,QAA3B;;AACA,gBAAQtyE,QAAR;AACI,eAAK,IAAL;AACA,eAAK,KAAL;AACA,eAAK,IAAL;AACA,eAAK,KAAL;AACI,iBAAK2b,OAAL;AACA,gBAAM82B,KAAK,GAAG,KAAK4mC,eAAL,EAAd;AACA,gBAAQ7vD,OAAR,GAAkBl8B,MAAM,CAACgsC,IAAzB,CAAQ9P,KAAR;AACAl8B,kBAAM,GAAG,IAAIglD,MAAJ,CAAW,KAAKhZ,IAAL,CAAU9P,OAAV,CAAX,EAA6B,KAAK/wB,UAAL,CAAgB+wB,OAAhB,CAA7B,EAAqDxpB,QAArD,EAA+D1S,MAA/D,EAAuEmlD,KAAvE,CAAT;AACA;AATR;;AAWA;AACH;;AACD,aAAOnlD,MAAP;AACH;;;WACD,2BAAkB;AACd;AACA,UAAIA,MAAM,GAAG,KAAKgsF,aAAL,EAAb;;AACA,aAAO,KAAKpmB,IAAL,CAAU16D,IAAV,IAAkBs5E,WAAW,CAACU,QAArC,EAA+C;AAC3C,YAAMxyE,QAAQ,GAAG,KAAKkzD,IAAL,CAAUof,QAA3B;;AACA,gBAAQtyE,QAAR;AACI,eAAK,GAAL;AACA,eAAK,GAAL;AACA,eAAK,IAAL;AACA,eAAK,IAAL;AACI,iBAAK2b,OAAL;AACA,gBAAM82B,KAAK,GAAG,KAAK6mC,aAAL,EAAd;AACA,gBAAQ9vD,OAAR,GAAkBl8B,MAAM,CAACgsC,IAAzB,CAAQ9P,KAAR;AACAl8B,kBAAM,GAAG,IAAIglD,MAAJ,CAAW,KAAKhZ,IAAL,CAAU9P,OAAV,CAAX,EAA6B,KAAK/wB,UAAL,CAAgB+wB,OAAhB,CAA7B,EAAqDxpB,QAArD,EAA+D1S,MAA/D,EAAuEmlD,KAAvE,CAAT;AACA;AATR;;AAWA;AACH;;AACD,aAAOnlD,MAAP;AACH;;;WACD,yBAAgB;AACZ;AACA,UAAIA,MAAM,GAAG,KAAKisF,mBAAL,EAAb;;AACA,aAAO,KAAKrmB,IAAL,CAAU16D,IAAV,IAAkBs5E,WAAW,CAACU,QAArC,EAA+C;AAC3C,YAAMxyE,QAAQ,GAAG,KAAKkzD,IAAL,CAAUof,QAA3B;;AACA,gBAAQtyE,QAAR;AACI,eAAK,GAAL;AACA,eAAK,GAAL;AACI,iBAAK2b,OAAL;AACA,gBAAI82B,KAAK,GAAG,KAAK8mC,mBAAL,EAAZ;AACA,gBAAQ/vD,QAAR,GAAkBl8B,MAAM,CAACgsC,IAAzB,CAAQ9P,KAAR;AACAl8B,kBAAM,GAAG,IAAIglD,MAAJ,CAAW,KAAKhZ,IAAL,CAAU9P,QAAV,CAAX,EAA6B,KAAK/wB,UAAL,CAAgB+wB,QAAhB,CAA7B,EAAqDxpB,QAArD,EAA+D1S,MAA/D,EAAuEmlD,KAAvE,CAAT;AACA;AAPR;;AASA;AACH;;AACD,aAAOnlD,MAAP;AACH;;;WACD,+BAAsB;AAClB;AACA,UAAIA,MAAM,GAAG,KAAKksF,WAAL,EAAb;;AACA,aAAO,KAAKtmB,IAAL,CAAU16D,IAAV,IAAkBs5E,WAAW,CAACU,QAArC,EAA+C;AAC3C,YAAMxyE,QAAQ,GAAG,KAAKkzD,IAAL,CAAUof,QAA3B;;AACA,gBAAQtyE,QAAR;AACI,eAAK,GAAL;AACA,eAAK,GAAL;AACA,eAAK,GAAL;AACI,iBAAK2b,OAAL;AACA,gBAAI82B,KAAK,GAAG,KAAK+mC,WAAL,EAAZ;AACA,gBAAQhwD,QAAR,GAAkBl8B,MAAM,CAACgsC,IAAzB,CAAQ9P,KAAR;AACAl8B,kBAAM,GAAG,IAAIglD,MAAJ,CAAW,KAAKhZ,IAAL,CAAU9P,QAAV,CAAX,EAA6B,KAAK/wB,UAAL,CAAgB+wB,QAAhB,CAA7B,EAAqDxpB,QAArD,EAA+D1S,MAA/D,EAAuEmlD,KAAvE,CAAT;AACA;AARR;;AAUA;AACH;;AACD,aAAOnlD,MAAP;AACH;;;WACD,uBAAc;AACV,UAAI,KAAK4lE,IAAL,CAAU16D,IAAV,IAAkBs5E,WAAW,CAACU,QAAlC,EAA4C;AACxC,YAAMhpD,QAAK,GAAG,KAAKuuD,UAAnB;AACA,YAAM/3E,QAAQ,GAAG,KAAKkzD,IAAL,CAAUof,QAA3B;AACA,YAAIhlF,MAAJ;;AACA,gBAAQ0S,QAAR;AACI,eAAK,GAAL;AACI,iBAAK2b,OAAL;AACAruB,kBAAM,GAAG,KAAKksF,WAAL,EAAT;AACA,mBAAO7mC,KAAK,CAACuB,UAAN,CAAiB,KAAK5a,IAAL,CAAU9P,QAAV,CAAjB,EAAmC,KAAK/wB,UAAL,CAAgB+wB,QAAhB,CAAnC,EAA2Dl8B,MAA3D,CAAP;;AACJ,eAAK,GAAL;AACI,iBAAKquB,OAAL;AACAruB,kBAAM,GAAG,KAAKksF,WAAL,EAAT;AACA,mBAAO7mC,KAAK,CAACwB,WAAN,CAAkB,KAAK7a,IAAL,CAAU9P,QAAV,CAAlB,EAAoC,KAAK/wB,UAAL,CAAgB+wB,QAAhB,CAApC,EAA4Dl8B,MAA5D,CAAP;;AACJ,eAAK,GAAL;AACI,iBAAKquB,OAAL;AACAruB,kBAAM,GAAG,KAAKksF,WAAL,EAAT;AACA,mBAAO,IAAIxmC,SAAJ,CAAc,KAAK1Z,IAAL,CAAU9P,QAAV,CAAd,EAAgC,KAAK/wB,UAAL,CAAgB+wB,QAAhB,CAAhC,EAAwDl8B,MAAxD,CAAP;AAZR;AAcH;;AACD,aAAO,KAAKmsF,cAAL,EAAP;AACH;;;WACD,0BAAiB;AAAA;;AACb,UAAInsF,MAAM,GAAG,KAAKosF,YAAL,EAAb;AACA,UAAMC,WAAW,GAAGrsF,MAAM,CAACgsC,IAAP,CAAY9P,KAAhC;;AACA,aAAO,IAAP,EAAa;AACT,YAAI,KAAK6uD,wBAAL,CAA8B3wC,OAA9B,CAAJ,EAA4C;AACxCp6C,gBAAM,GAAG,KAAKssF,6BAAL,CAAmCtsF,MAAnC,EAA2C,KAA3C,CAAT;AACH,SAFD,MAGK,IAAI,KAAKirF,uBAAL,CAA6B,IAA7B,CAAJ,EAAwC;AACzCjrF,gBAAM,GAAG,KAAKssF,6BAAL,CAAmCtsF,MAAnC,EAA2C,IAA3C,CAAT;AACH,SAFI,MAGA,IAAI,KAAK+qF,wBAAL,CAA8B3vC,SAA9B,CAAJ,EAA8C;AAC/C,eAAKmxC,WAAL,CAAiBvC,iBAAiB,CAACwC,QAAnC,EAA6C,YAAM;AAC/C,oBAAI,CAACrC,iBAAL;;AACA,gBAAM92E,GAAG,GAAG,QAAI,CAACi4E,SAAL,EAAZ;;AACA,gBAAIj4E,GAAG,YAAY2vC,SAAnB,EAA8B;AAC1B,sBAAI,CAACtsC,KAAL;AACH;;AACD,oBAAI,CAACyzE,iBAAL;;AACA,oBAAI,CAACsC,eAAL,CAAqBnxC,SAArB;;AACA,gBAAI,QAAI,CAAC2vC,uBAAL,CAA6B,GAA7B,CAAJ,EAAuC;AACnC,kBAAM9qF,KAAK,GAAG,QAAI,CAACsrF,gBAAL,EAAd;;AACAzrF,oBAAM,GAAG,IAAIokD,UAAJ,CAAe,QAAI,CAACpY,IAAL,CAAUqgD,WAAV,CAAf,EAAuC,QAAI,CAAClhF,UAAL,CAAgBkhF,WAAhB,CAAvC,EAAqErsF,MAArE,EAA6EqT,GAA7E,EAAkFlT,KAAlF,CAAT;AACH,aAHD,MAIK;AACDH,oBAAM,GACF,IAAIkkD,SAAJ,CAAc,QAAI,CAAClY,IAAL,CAAUqgD,WAAV,CAAd,EAAsC,QAAI,CAAClhF,UAAL,CAAgBkhF,WAAhB,CAAtC,EAAoErsF,MAApE,EAA4EqT,GAA5E,CADJ;AAEH;AACJ,WAhBD;AAiBH,SAlBI,MAmBA,IAAI,KAAK03E,wBAAL,CAA8BjxC,OAA9B,CAAJ,EAA4C;AAC7C,eAAKowC,eAAL;AACA,cAAM1jF,IAAI,GAAG,KAAKkmF,kBAAL,EAAb;AACA,eAAKxC,eAAL;AACA,eAAKuC,eAAL,CAAqB1yC,OAArB;AACA/5C,gBAAM,GACF,IAAIkmD,YAAJ,CAAiB,KAAKla,IAAL,CAAUqgD,WAAV,CAAjB,EAAyC,KAAKlhF,UAAL,CAAgBkhF,WAAhB,CAAzC,EAAuErsF,MAAvE,EAA+EwG,IAA/E,CADJ;AAEH,SAPI,MAQA,IAAI,KAAKykF,uBAAL,CAA6B,GAA7B,CAAJ,EAAuC;AACxCjrF,gBAAM,GAAG,IAAI4lD,aAAJ,CAAkB,KAAK5Z,IAAL,CAAUqgD,WAAV,CAAlB,EAA0C,KAAKlhF,UAAL,CAAgBkhF,WAAhB,CAA1C,EAAwErsF,MAAxE,CAAT;AACH,SAFI,MAGA;AACD,iBAAOA,MAAP;AACH;AACJ;AACJ;;;WACD,wBAAe;AACX,UAAMk8B,KAAK,GAAG,KAAKuuD,UAAnB;;AACA,UAAI,KAAKM,wBAAL,CAA8BjxC,OAA9B,CAAJ,EAA4C;AACxC,aAAKowC,eAAL;AACA,YAAMlqF,MAAM,GAAG,KAAKsrF,SAAL,EAAf;AACA,aAAKpB,eAAL;AACA,aAAKuC,eAAL,CAAqB1yC,OAArB;AACA,eAAO/5C,MAAP;AACH,OAND,MAOK,IAAI,KAAK4lE,IAAL,CAAU+mB,aAAV,EAAJ,EAA+B;AAChC,aAAKt+D,OAAL;AACA,eAAO,IAAIm2B,gBAAJ,CAAqB,KAAKxY,IAAL,CAAU9P,KAAV,CAArB,EAAuC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAvC,EAA+D,IAA/D,CAAP;AACH,OAHI,MAIA,IAAI,KAAK0pC,IAAL,CAAUgnB,kBAAV,EAAJ,EAAoC;AACrC,aAAKv+D,OAAL;AACA,eAAO,IAAIm2B,gBAAJ,CAAqB,KAAKxY,IAAL,CAAU9P,KAAV,CAArB,EAAuC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAvC,EAA+D,KAAK,CAApE,CAAP;AACH,OAHI,MAIA,IAAI,KAAK0pC,IAAL,CAAUinB,aAAV,EAAJ,EAA+B;AAChC,aAAKx+D,OAAL;AACA,eAAO,IAAIm2B,gBAAJ,CAAqB,KAAKxY,IAAL,CAAU9P,KAAV,CAArB,EAAuC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAvC,EAA+D,IAA/D,CAAP;AACH,OAHI,MAIA,IAAI,KAAK0pC,IAAL,CAAUknB,cAAV,EAAJ,EAAgC;AACjC,aAAKz+D,OAAL;AACA,eAAO,IAAIm2B,gBAAJ,CAAqB,KAAKxY,IAAL,CAAU9P,KAAV,CAArB,EAAuC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAvC,EAA+D,KAA/D,CAAP;AACH,OAHI,MAIA,IAAI,KAAK0pC,IAAL,CAAUmnB,aAAV,EAAJ,EAA+B;AAChC,aAAK1+D,OAAL;AACA,eAAO,IAAI80B,YAAJ,CAAiB,KAAKnX,IAAL,CAAU9P,KAAV,CAAjB,EAAmC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAnC,CAAP;AACH,OAHI,MAIA,IAAI,KAAK6uD,wBAAL,CAA8B3vC,SAA9B,CAAJ,EAA8C;AAC/C,aAAK+uC,iBAAL;AACA,YAAM6C,QAAQ,GAAG,KAAKC,mBAAL,CAAyB3xC,SAAzB,CAAjB;AACA,aAAK6uC,iBAAL;AACA,aAAKsC,eAAL,CAAqBnxC,SAArB;AACA,eAAO,IAAIoJ,YAAJ,CAAiB,KAAK1Y,IAAL,CAAU9P,KAAV,CAAjB,EAAmC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAnC,EAA2D8wD,QAA3D,CAAP;AACH,OANI,MAOA,IAAI,KAAKpnB,IAAL,CAAUglB,WAAV,CAAsBxuC,OAAtB,CAAJ,EAAoC;AACrC,eAAO,KAAK8wC,eAAL,EAAP;AACH,OAFI,MAGA,IAAI,KAAKtnB,IAAL,CAAUshB,YAAV,EAAJ,EAA8B;AAC/B,eAAO,KAAKoF,6BAAL,CAAmC,IAAIrpC,gBAAJ,CAAqB,KAAKjX,IAAL,CAAU9P,KAAV,CAArB,EAAuC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAvC,CAAnC,EAAmG,KAAnG,CAAP;AACH,OAFI,MAGA,IAAI,KAAK0pC,IAAL,CAAUunB,QAAV,EAAJ,EAA0B;AAC3B,YAAMhtF,KAAK,GAAG,KAAKylE,IAAL,CAAUwnB,QAAV,EAAd;AACA,aAAK/+D,OAAL;AACA,eAAO,IAAIm2B,gBAAJ,CAAqB,KAAKxY,IAAL,CAAU9P,KAAV,CAArB,EAAuC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAvC,EAA+D/7B,KAA/D,CAAP;AACH,OAJI,MAKA,IAAI,KAAKylE,IAAL,CAAUylB,QAAV,EAAJ,EAA0B;AAC3B,YAAMgC,YAAY,GAAG,KAAKznB,IAAL,CAAUloD,QAAV,EAArB;AACA,aAAK2Q,OAAL;AACA,eAAO,IAAIm2B,gBAAJ,CAAqB,KAAKxY,IAAL,CAAU9P,KAAV,CAArB,EAAuC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAvC,EAA+DmxD,YAA/D,CAAP;AACH,OAJI,MAKA,IAAI,KAAKhiF,KAAL,IAAc,KAAKssD,MAAL,CAAYn5D,MAA9B,EAAsC;AACvC,aAAKkY,KAAL,yCAA4C,KAAK+D,KAAjD;AACA,eAAO,IAAIuoC,SAAJ,CAAc,KAAKhX,IAAL,CAAU9P,KAAV,CAAd,EAAgC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAhC,CAAP;AACH,OAHI,MAIA;AACD,aAAKxlB,KAAL,4BAA+B,KAAKkvD,IAApC;AACA,eAAO,IAAI5iB,SAAJ,CAAc,KAAKhX,IAAL,CAAU9P,KAAV,CAAd,EAAgC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAhC,CAAP;AACH;AACJ;;;WACD,6BAAoBoxD,UAApB,EAAgC;AAC5B,UAAMttF,MAAM,GAAG,EAAf;;AACA,UAAI,CAAC,KAAK4lE,IAAL,CAAUglB,WAAV,CAAsB0C,UAAtB,CAAL,EAAwC;AACpC,WAAG;AACCttF,gBAAM,CAACC,IAAP,CAAY,KAAKqrF,SAAL,EAAZ;AACH,SAFD,QAES,KAAKP,wBAAL,CAA8B7wC,MAA9B,CAFT;AAGH;;AACD,aAAOl6C,MAAP;AACH;;;WACD,2BAAkB;AACd,UAAM6Y,IAAI,GAAG,EAAb;AACA,UAAMpR,MAAM,GAAG,EAAf;AACA,UAAMy0B,KAAK,GAAG,KAAKuuD,UAAnB;AACA,WAAKgC,eAAL,CAAqBrwC,OAArB;;AACA,UAAI,CAAC,KAAK2uC,wBAAL,CAA8BzuC,OAA9B,CAAL,EAA6C;AACzC,aAAK8tC,eAAL;;AACA,WAAG;AACC,cAAM92E,MAAM,GAAG,KAAKsyD,IAAL,CAAUylB,QAAV,EAAf;AACA,cAAMh4E,GAAG,GAAG,KAAKk6E,iCAAL,EAAZ;AACA10E,cAAI,CAAC5Y,IAAL,CAAU;AAAEoT,eAAG,EAAHA,GAAF;AAAOC,kBAAM,EAANA;AAAP,WAAV;AACA,eAAKm5E,eAAL,CAAqBnyC,MAArB;AACA7yC,gBAAM,CAACxH,IAAP,CAAY,KAAKqrF,SAAL,EAAZ;AACH,SAND,QAMS,KAAKP,wBAAL,CAA8B7wC,MAA9B,CANT;;AAOA,aAAKkwC,eAAL;AACA,aAAKqC,eAAL,CAAqBnwC,OAArB;AACH;;AACD,aAAO,IAAIsI,UAAJ,CAAe,KAAK5Y,IAAL,CAAU9P,KAAV,CAAf,EAAiC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAjC,EAAyDrjB,IAAzD,EAA+DpR,MAA/D,CAAP;AACH;;;WACD,uCAA8B+G,QAA9B,EAAwD;AAAA,UAAhBg/E,MAAgB,uEAAP,KAAO;AACpD,UAAMtxD,KAAK,GAAG1tB,QAAQ,CAACw9B,IAAT,CAAc9P,KAA5B;AACA,UAAM+gC,SAAS,GAAG,KAAKwtB,UAAvB;AACA,UAAMtxE,EAAE,GAAG,KAAKqyE,yBAAL,EAAX;AACA,UAAM7oC,QAAQ,GAAG,KAAKx3C,UAAL,CAAgB8xD,SAAhB,CAAjB;;AACA,UAAI,KAAK8tB,wBAAL,CAA8BjxC,OAA9B,CAAJ,EAA4C;AACxC,aAAKowC,eAAL;AACA,YAAM1jF,IAAI,GAAG,KAAKkmF,kBAAL,EAAb;AACA,aAAKD,eAAL,CAAqB1yC,OAArB;AACA,aAAKmwC,eAAL;AACA,YAAMl+C,IAAI,GAAG,KAAKA,IAAL,CAAU9P,KAAV,CAAb;AACA,YAAM/wB,UAAU,GAAG,KAAKA,UAAL,CAAgB+wB,KAAhB,CAAnB;AACA,eAAOsxD,MAAM,GAAG,IAAIxnC,cAAJ,CAAmBha,IAAnB,EAAyB7gC,UAAzB,EAAqCw3C,QAArC,EAA+Cn0C,QAA/C,EAAyD2K,EAAzD,EAA6D3S,IAA7D,CAAH,GACT,IAAIs/C,UAAJ,CAAe9Z,IAAf,EAAqB7gC,UAArB,EAAiCw3C,QAAjC,EAA2Cn0C,QAA3C,EAAqD2K,EAArD,EAAyD3S,IAAzD,CADJ;AAEH,OATD,MAUK;AACD,YAAIgnF,MAAJ,EAAY;AACR,cAAI,KAAKvC,uBAAL,CAA6B,GAA7B,CAAJ,EAAuC;AACnC,iBAAKv0E,KAAL,CAAW,sDAAX;AACA,mBAAO,IAAIssC,SAAJ,CAAc,KAAKhX,IAAL,CAAU9P,KAAV,CAAd,EAAgC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAhC,CAAP;AACH,WAHD,MAIK;AACD,mBAAO,IAAI8nB,gBAAJ,CAAqB,KAAKhY,IAAL,CAAU9P,KAAV,CAArB,EAAuC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAvC,EAA+DymB,QAA/D,EAAyEn0C,QAAzE,EAAmF2K,EAAnF,CAAP;AACH;AACJ,SARD,MASK;AACD,cAAI,KAAK8xE,uBAAL,CAA6B,GAA7B,CAAJ,EAAuC;AACnC,gBAAI,CAAC,KAAKjX,WAAV,EAAuB;AACnB,mBAAKt9D,KAAL,CAAW,qCAAX;AACA,qBAAO,IAAIssC,SAAJ,CAAc,KAAKhX,IAAL,CAAU9P,KAAV,CAAd,EAAgC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAhC,CAAP;AACH;;AACD,gBAAM/7B,KAAK,GAAG,KAAKsrF,gBAAL,EAAd;AACA,mBAAO,IAAI3nC,aAAJ,CAAkB,KAAK9X,IAAL,CAAU9P,KAAV,CAAlB,EAAoC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAApC,EAA4DymB,QAA5D,EAAsEn0C,QAAtE,EAAgF2K,EAAhF,EAAoFhZ,KAApF,CAAP;AACH,WAPD,MAQK;AACD,mBAAO,IAAIyjD,YAAJ,CAAiB,KAAK5X,IAAL,CAAU9P,KAAV,CAAjB,EAAmC,KAAK/wB,UAAL,CAAgB+wB,KAAhB,CAAnC,EAA2DymB,QAA3D,EAAqEn0C,QAArE,EAA+E2K,EAA/E,CAAP;AACH;AACJ;AACJ;AACJ;;;WACD,8BAAqB;AACjB,UAAI,KAAKysD,IAAL,CAAUglB,WAAV,CAAsB7wC,OAAtB,CAAJ,EACI,OAAO,EAAP;AACJ,UAAM0zC,WAAW,GAAG,EAApB;;AACA,SAAG;AACCA,mBAAW,CAACxtF,IAAZ,CAAiB,KAAKqrF,SAAL,EAAjB;AACH,OAFD,QAES,KAAKP,wBAAL,CAA8B7wC,MAA9B,CAFT;;AAGA,aAAOuzC,WAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,oCAA2B;AACvB,UAAIztF,MAAM,GAAG,EAAb;AACA,UAAI0tF,aAAa,GAAG,KAApB;AACA,UAAMxxD,KAAK,GAAG,KAAKyxD,qBAAnB;;AACA,SAAG;AACC3tF,cAAM,IAAI,KAAKutF,iCAAL,EAAV;AACAG,qBAAa,GAAG,KAAKzC,uBAAL,CAA6B,GAA7B,CAAhB;;AACA,YAAIyC,aAAJ,EAAmB;AACf1tF,gBAAM,IAAI,GAAV;AACH;AACJ,OAND,QAMS0tF,aANT;;AAOA,aAAO;AACHtnD,cAAM,EAAEpmC,MADL;AAEHgsC,YAAI,EAAE,IAAIwW,kBAAJ,CAAuBtmB,KAAvB,EAA8BA,KAAK,GAAGl8B,MAAM,CAACxB,MAA7C;AAFH,OAAP;AAIH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,+BAAsB28E,WAAtB,EAAmC;AAC/B,UAAM1J,QAAQ,GAAG,EAAjB,CAD+B,CAE/B;AACA;AACA;;AACAA,cAAQ,CAACxxE,IAAT,OAAAwxE,QAAQ,qJAAS,KAAKmc,6BAAL,CAAmCzS,WAAnC,CAAT,EAAR;;AACA,aAAO,KAAK9vE,KAAL,GAAa,KAAKssD,MAAL,CAAYn5D,MAAhC,EAAwC;AACpC;AACA,YAAMqvF,UAAU,GAAG,KAAKC,eAAL,EAAnB;;AACA,YAAID,UAAJ,EAAgB;AACZpc,kBAAQ,CAACxxE,IAAT,CAAc4tF,UAAd;AACH,SAFD,MAGK;AACD;AACA;AACA;AACA;AACA,cAAMx6E,GAAG,GAAG,KAAK06E,wBAAL,EAAZ,CALC,CAMD;AACA;;AACA,cAAMpc,OAAO,GAAG,KAAKqc,cAAL,CAAoB36E,GAApB,CAAhB;;AACA,cAAIs+D,OAAJ,EAAa;AACTF,oBAAQ,CAACxxE,IAAT,CAAc0xE,OAAd;AACH,WAFD,MAGK;AACD;AACA;AACAt+D,eAAG,CAAC+yB,MAAJ,GACI+0C,WAAW,CAAC/0C,MAAZ,GAAqB/yB,GAAG,CAAC+yB,MAAJ,CAAWxO,MAAX,CAAkB,CAAlB,EAAqBld,WAArB,EAArB,GAA0DrH,GAAG,CAAC+yB,MAAJ,CAAWxoB,SAAX,CAAqB,CAArB,CAD9D;AAEA6zD,oBAAQ,CAACxxE,IAAT,OAAAwxE,QAAQ,qJAAS,KAAKmc,6BAAL,CAAmCv6E,GAAnC,CAAT,EAAR;AACH;AACJ;;AACD,aAAK46E,0BAAL;AACH;;AACD,aAAO,IAAI3G,0BAAJ,CAA+B7V,QAA/B,EAAyC;AAAG;AAA5C,QAA4D,KAAKprB,MAAjE,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,uCAA8BhzC,GAA9B,EAAmC;AAC/B,UAAMo+D,QAAQ,GAAG,EAAjB;AACA,WAAKsZ,wBAAL,CAA8BzwC,MAA9B,EAF+B,CAEQ;;AACvC,UAAMn6C,KAAK,GAAG,KAAK+tF,uBAAL,EAAd;AACA,UAAIC,OAAO,GAAG,KAAKR,qBAAnB,CAJ+B,CAK/B;AACA;AACA;AACA;;AACA,UAAMS,SAAS,GAAG,KAAKJ,cAAL,CAAoB36E,GAApB,CAAlB;;AACA,UAAI,CAAC+6E,SAAL,EAAgB;AACZ,aAAKH,0BAAL;AACAE,eAAO,GAAG,KAAKR,qBAAf;AACH;;AACD,UAAMxiF,UAAU,GAAG,IAAIq3C,kBAAJ,CAAuBnvC,GAAG,CAAC24B,IAAJ,CAAS9P,KAAhC,EAAuCiyD,OAAvC,CAAnB;AACA1c,cAAQ,CAACxxE,IAAT,CAAc,IAAIumD,iBAAJ,CAAsBr7C,UAAtB,EAAkCkI,GAAlC,EAAuClT,KAAvC,CAAd;;AACA,UAAIiuF,SAAJ,EAAe;AACX3c,gBAAQ,CAACxxE,IAAT,CAAcmuF,SAAd;AACH;;AACD,aAAO3c,QAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,mCAA0B;AACtB,UAAI,KAAK7L,IAAL,KAAc7K,GAAd,IAAqB,KAAKszB,aAAL,EAArB,IAA6C,KAAKC,cAAL,EAAjD,EAAwE;AACpE,eAAO,IAAP;AACH;;AACD,UAAMz3E,GAAG,GAAG,KAAKy0E,SAAL,EAAZ,CAJsB,CAIQ;;AAC9B,sBAAuBz0E,GAAG,CAACm1B,IAA3B;AAAA,UAAQ9P,KAAR,aAAQA,KAAR;AAAA,UAAeO,GAAf,aAAeA,GAAf;AACA,UAAMt8B,KAAK,GAAG,KAAKsa,KAAL,CAAWmD,SAAX,CAAqBse,KAArB,EAA4BO,GAA5B,CAAd;AACA,aAAO,IAAI2pB,aAAJ,CAAkBvvC,GAAlB,EAAuB1W,KAAvB,EAA8B,KAAK2iD,QAAnC,EAA6C,KAAKP,cAAL,GAAsBrmB,KAAnE,EAA0E,KAAKmqB,MAA/E,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,wBAAelmD,KAAf,EAAsB;AAClB,UAAI,CAAC,KAAKkuF,aAAL,EAAL,EAA2B;AACvB,eAAO,IAAP;AACH;;AACD,WAAKhgE,OAAL,GAJkB,CAIF;;AAChB,UAAMhb,GAAG,GAAG,KAAK06E,wBAAL,EAAZ;AACA,WAAKE,0BAAL;AACA,UAAM9iF,UAAU,GAAG,IAAIq3C,kBAAJ,CAAuBriD,KAAK,CAAC6rC,IAAN,CAAW9P,KAAlC,EAAyC,KAAKyxD,qBAA9C,CAAnB;AACA,aAAO,IAAIpnC,eAAJ,CAAoBp7C,UAApB,EAAgCkI,GAAhC,EAAqClT,KAArC,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,2BAAkB;AACd,UAAI,CAAC,KAAKmuF,cAAL,EAAL,EAA4B;AACxB,eAAO,IAAP;AACH;;AACD,UAAMC,SAAS,GAAG,KAAKZ,qBAAvB;AACA,WAAKt/D,OAAL,GALc,CAKE;;AAChB,UAAMhb,GAAG,GAAG,KAAK06E,wBAAL,EAAZ;AACA,UAAI5tF,KAAK,GAAG,IAAZ;;AACA,UAAI,KAAK8qF,uBAAL,CAA6B,GAA7B,CAAJ,EAAuC;AACnC9qF,aAAK,GAAG,KAAK4tF,wBAAL,EAAR;AACH;;AACD,WAAKE,0BAAL;AACA,UAAM9iF,UAAU,GAAG,IAAIq3C,kBAAJ,CAAuB+rC,SAAvB,EAAkC,KAAKZ,qBAAvC,CAAnB;AACA,aAAO,IAAIpnC,eAAJ,CAAoBp7C,UAApB,EAAgCkI,GAAhC,EAAqClT,KAArC,CAAP;AACH;AACD;AACJ;AACA;;;;WACI,sCAA6B;AACzB,WAAK4qF,wBAAL,CAA8BxwC,UAA9B,KAA6C,KAAKwwC,wBAAL,CAA8B7wC,MAA9B,CAA7C;AACH;AACD;AACJ;AACA;AACA;;;;WACI,eAAM5a,OAAN,EAA6B;AAAA,UAAdj0B,KAAc,uEAAN,IAAM;AACzB,WAAKg7C,MAAL,CAAYpmD,IAAZ,CAAiB,IAAIkiD,WAAJ,CAAgB7iB,OAAhB,EAAyB,KAAK7kB,KAA9B,EAAqC,KAAK+zE,YAAL,CAAkBnjF,KAAlB,CAArC,EAA+D,KAAKy3C,QAApE,CAAjB;AACA,WAAK2rC,IAAL;AACH;;;WACD,wBAA2B;AAAA,UAAdpjF,KAAc,uEAAN,IAAM;AACvB,UAAIA,KAAK,IAAI,IAAb,EACIA,KAAK,GAAG,KAAKA,KAAb;AACJ,aAAQA,KAAK,GAAG,KAAKssD,MAAL,CAAYn5D,MAArB,uBAA4C,KAAKm5D,MAAL,CAAYtsD,KAAZ,EAAmBA,KAAnB,GAA2B,CAAvE,yCAAP;AAEH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO;AACH,UAAIqyB,CAAC,GAAG,KAAKkoC,IAAb;;AACA,aAAO,KAAKv6D,KAAL,GAAa,KAAKssD,MAAL,CAAYn5D,MAAzB,IAAmC,CAACk/B,CAAC,CAACktD,WAAF,CAAcrwC,UAAd,CAApC,KACF,KAAK2vC,eAAL,IAAwB,CAAxB,IAA6B,CAACxsD,CAAC,CAACktD,WAAF,CAAc7wC,OAAd,CAD5B,MAEF,KAAKqwC,eAAL,IAAwB,CAAxB,IAA6B,CAAC1sD,CAAC,CAACktD,WAAF,CAActuC,OAAd,CAF5B,MAGF,KAAK6tC,iBAAL,IAA0B,CAA1B,IAA+B,CAACzsD,CAAC,CAACktD,WAAF,CAActvC,SAAd,CAH9B,MAIF,EAAE,KAAKvyC,OAAL,GAAeihF,iBAAiB,CAACwC,QAAnC,KAAgD,CAAC9uD,CAAC,CAACstD,UAAF,CAAa,GAAb,CAJ/C,CAAP,EAI0E;AACtE,YAAI,KAAKplB,IAAL,CAAU8oB,OAAV,EAAJ,EAAyB;AACrB,eAAKroC,MAAL,CAAYpmD,IAAZ,CAAiB,IAAIkiD,WAAJ,CAAgB,KAAKyjB,IAAL,CAAUloD,QAAV,EAAhB,EAAsC,KAAKjD,KAA3C,EAAkD,KAAK+zE,YAAL,EAAlD,EAAuE,KAAK1rC,QAA5E,CAAjB;AACH;;AACD,aAAKz0B,OAAL;AACAqP,SAAC,GAAG,KAAKkoC,IAAT;AACH;AACJ;;;;;;IAECiiB,uB;AACF,qCAAc;AAAA;;AACV,SAAKxhC,MAAL,GAAc,EAAd;AACH;;;;WACD,+BAAsBxvC,GAAtB,EAA2B9N,OAA3B,EAAoC,CAAG;;;WACvC,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC,CAAG;;;WACnC,4BAAmB8N,GAAnB,EAAwB9N,OAAxB,EAAiC,CAAG;;;WACpC,+BAAsB8N,GAAtB,EAA2B9N,OAA3B,EAAoC,CAAG;;;WACvC,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC,CAAG;;;WACnC,4BAAmB8N,GAAnB,EAAwB9N,OAAxB,EAAiC,CAAG;;;WACpC,+BAAsB8N,GAAtB,EAA2B9N,OAA3B,EAAoC,CAAG;;;WACvC,yBAAgB8N,GAAhB,EAAqB9N,OAArB,EAA8B,CAAG;;;WACjC,6BAAoB8N,GAApB,EAAyB9N,OAAzB,EAAkC,CAAG;;;WACrC,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC,CAAG;;;WACnC,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,WAAKkyB,QAAL,CAAcpkB,GAAG,CAAChH,WAAlB,EAA+B9G,OAA/B;AACH;;;WACD,yBAAgB8N,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,WAAKkyB,QAAL,CAAcpkB,GAAG,CAACpP,MAAlB,EAA0BsB,OAA1B;AACH;;;WACD,oBAAW8N,GAAX,EAAgB9N,OAAhB,EAAyB,CAAG;;;WAC5B,qBAAY8N,GAAZ,EAAiB9N,OAAjB,EAA0B,CAAG;;;WAC7B,wBAAe8N,GAAf,EAAoB9N,OAApB,EAA6B,CAAG;;;WAChC,4BAAmB8N,GAAnB,EAAwB9N,OAAxB,EAAiC,CAAG;;;WACpC,0BAAiB8N,GAAjB,EAAsB9N,OAAtB,EAA+B,CAAG;;;WAClC,mBAAU8N,GAAV,EAAe9N,OAAf,EAAwB;AACpB,WAAKs9C,MAAL,CAAYpmD,IAAZ,CAAiB,OAAjB;AACH;;;WACD,wBAAe4W,GAAf,EAAoB9N,OAApB,EAA6B,CAAG;;;WAChC,yBAAgB8N,GAAhB,EAAqB9N,OAArB,EAA8B,CAAG;;;WACjC,kBAAS29C,IAAT,EAAe39C,OAAf,EAAwB;AAAA;;AACpB,aAAO29C,IAAI,CAACxjD,GAAL,CAAS,UAAA8K,IAAI;AAAA,eAAIA,IAAI,CAAC4tB,KAAL,CAAW,QAAX,EAAiB7yB,OAAjB,CAAJ;AAAA,OAAb,CAAP;AACH;;;WACD,oBAAW8N,GAAX,EAAgB9N,OAAhB,EAAyB,CAAG;;;WAC5B,oBAAW8N,GAAX,EAAgB9N,OAAhB,EAAyB,CAAG;;;;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMghF,0B;;;;;AACF,wCAAc;AAAA;;AAAA;;AACV,oCAAShyE,SAAT;AACA,aAAKsuC,MAAL,GAAc,EAAd;AAFU;AAGb;;;;WACD,qBAAY;AACR,WAAKA,MAAL,CAAYpmD,IAAZ,CAAiB,OAAjB;AACH;;;;EAPoCwmD,qB;AAUzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAIkoC,gBAAJ;;AACA,SAASC,eAAT,GAA2B;AACvB,MAAI,CAACD,gBAAL,EAAuB;AACnBA,oBAAgB,GAAG,EAAnB,CADmB,CAEnB;;AACAE,mBAAe,CAACxnF,eAAe,CAACynF,IAAjB,EAAuB,CAClC,eADkC,EAElC,aAFkC,EAGlC,aAHkC,CAAvB,CAAf;AAKAD,mBAAe,CAACxnF,eAAe,CAACqsE,KAAjB,EAAwB,CAAC,SAAD,CAAxB,CAAf,CARmB,CASnB;;AACAmb,mBAAe,CAACxnF,eAAe,CAAC0nF,GAAjB,EAAsB,CACjC,cADiC,EACjB,WADiB,EACJ,WADI,EACS,WADT,EACsB,QADtB,EAEjC,QAFiC,EAEvB,iBAFuB,EAEJ,iBAFI,EAEe,UAFf,EAE2B,aAF3B,EAGjC,SAHiC,EAGtB,YAHsB,EAGR,WAHQ,EAGK,UAHL,EAGiB,QAHjB,EAIjC,YAJiC,EAInB,eAJmB,EAIF,WAJE,EAIW,cAJX,EAI2B,WAJ3B,CAAtB,CAAf;AAMAF,mBAAe,CAACxnF,eAAe,CAAC2nF,YAAjB,EAA+B,CAC1C,aAD0C,EAE1C,iBAF0C,EAG1C,WAH0C,EAI1C,WAJ0C,EAK1C,WAL0C,EAM1C,cAN0C,EAO1C,eAP0C,EAQ1C,YAR0C,EAS1C,WAT0C,EAU1C,WAV0C,EAW1C,iBAX0C,EAY1C,aAZ0C,EAa1C,YAb0C,CAA/B,CAAf;AAeH;;AACD,SAAOL,gBAAP;AACH;;AACD,SAASE,eAAT,CAAyB3tE,GAAzB,EAA8B+tE,KAA9B,EAAqC;AAAA,8KACdA,KADc;AAAA;;AAAA;AACjC;AAAA,UAAWC,IAAX;AACIP,sBAAgB,CAACO,IAAI,CAACvwF,WAAL,EAAD,CAAhB,GAAuCuiB,GAAvC;AADJ;AADiC;AAAA;AAAA;AAAA;AAAA;AAGpC;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMiuE,qB;;;AAGN;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,OAAO,GAAG,SAAhB;AACA,IAAMC,MAAM,GAAG,QAAf;AACA,IAAMC,MAAM,GAAG,QAAf;AACA,IAAMC,MAAM,GAAG,QAAf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,MAAM,GAAG,CACX;AACI;AACA,kKAHO,EAIX,q1BAJW,EAKX,ogCALW,EAMX,+NANW,EAOX,0uBAPW,EAQX,sBARW,EASX,0CATW,EAUX,sBAVW,EAWX,uCAXW,EAYX,sBAZW,EAaX,iCAbW,EAcX,wCAdW,EAeX,kLAfW,EAgBX,6JAhBW,EAiBX,cAjBW,EAkBX,wBAlBW,EAmBX,gCAnBW,EAoBX,gQApBW,EAqBX,wHArBW,EAsBX,qCAtBW,EAuBX,8BAvBW,EAwBX,2BAxBW,EAyBX,yBAzBW,EA0BX,6BA1BW,EA2BX,wCA3BW,EA4BX,4BA5BW,EA6BX,yBA7BW,EA8BX,sDA9BW,EA+BX,uCA/BW,EAgCX,oCAhCW,EAiCX,sGAjCW,EAkCX,gGAlCW,EAmCX,qOAnCW,EAoCX,kDApCW,EAqCX,qBArCW,EAsCX,uCAtCW,EAuCX,4BAvCW,EAwCX,0JAxCW,EAyCX,mJAzCW,EA0CX,ubA1CW,EA2CX,8BA3CW,EA4CX,6BA5CW,EA6CX,4BA7CW,EA8CX,uIA9CW,EA+CX,wBA/CW,EAgDX,2HAhDW,EAiDX,6BAjDW,EAkDX,kDAlDW,EAmDX,0DAnDW,EAoDX,qCApDW,EAqDX,iDArDW,EAsDX,sIAtDW,EAuDX,wCAvDW,EAwDX,4EAxDW,EAyDX,uDAzDW,EA0DX,uBA1DW,EA2DX,+CA3DW,EA4DX,wBA5DW,EA6DX,0BA7DW,EA8DX,oCA9DW,EA+DX,kCA/DW,EAgEX,+FAhEW,EAiEX,uGAjEW,EAkEX,uBAlEW,EAmEX,yBAnEW,EAoEX,kDApEW,EAqEX,qBArEW,EAsEX,0CAtEW,EAuEX,6BAvEW,EAwEX,kHAxEW,EAyEX,8DAzEW,EA0EX,mHA1EW,EA2EX,gDA3EW,EA4EX,uDA5EW,EA6EX,yBA7EW,EA8EX,oNA9EW,EA+EX,0BA/EW,EAgFX,qDAhFW,EAiFX,gCAjFW,EAkFX,wBAlFW,EAmFX,mCAnFW,EAoFX,uBApFW,EAqFX,8BArFW,EAsFX,oCAtFW,EAuFX,uCAvFW,EAwFX,4BAxFW,EAyFX,8BAzFW,EA0FX,0BA1FW,EA2FX,kBA3FW,EA4FX,qBA5FW,EA6FX,6BA7FW,EA8FX,qBA9FW,EA+FX,2BA/FW,EAgGX,iCAhGW,EAiGX,yBAjGW,EAkGX,8BAlGW,EAmGX,+BAnGW,EAoGX,+BApGW,EAqGX,4BArGW,EAsGX,0BAtGW,EAuGX,qBAvGW,EAwGX,8CAxGW,EAyGX,8CAzGW,EA0GX,8CA1GW,EA2GX,8CA3GW,EA4GX,4BA5GW,EA6GX,qBA7GW,EA8GX,qBA9GW,EA+GX,yBA/GW,EAgHX,0BAhHW,EAiHX,sBAjHW,EAkHX,0BAlHW,EAmHX,gCAnHW,EAoHX,yBApHW,EAqHX,oBArHW,EAsHX,0BAtHW,EAuHX,oBAvHW,EAwHX,mCAxHW,EAyHX,uBAzHW,EA0HX,2BA1HW,EA2HX,0BA3HW,EA4HX,oCA5HW,EA6HX,mBA7HW,EA8HX,oBA9HW,EA+HX,kBA/HW,EAgIX,sBAhIW,EAiIX,0BAjIW,EAkIX,qBAlIW,EAmIX,6BAnIW,EAoIX,8BApIW,EAqIX,oCArIW,EAsIX,0BAtIW,EAuIX,kDAvIW,EAwIX,wBAxIW,EAyIX,0BAzIW,EA0IX,kBA1IW,EA2IX,6CA3IW,EA4IX,4BA5IW,EA6IX,oBA7IW,EA8IX,kCA9IW,EA+IX,iCA/IW,EAgJX,iCAhJW,EAiJX,mBAjJW,EAkJX,yBAlJW,EAmJX,6BAnJW,EAoJX,0BApJW,EAqJX,uEArJW,EAsJX,+EAtJW,EAuJX,wBAvJW,EAwJX,6BAxJW,EAyJX,oBAzJW,CAAf;AA2JA,IAAMC,aAAa,GAAG;AAClB,WAAS,WADS;AAElB,SAAO,SAFW;AAGlB,gBAAc,YAHI;AAIlB,eAAa,WAJK;AAKlB,cAAY,UALM;AAMlB,cAAY;AANM,CAAtB;;IAQMC,wB;;;;;AACF,sCAAc;AAAA;;AAAA;;AACV;AACA,aAAKC,OAAL,GAAe,EAAf;AACAH,UAAM,CAAC/wF,OAAP,CAAe,UAAAmxF,WAAW,EAAI;AAC1B,UAAM1kF,IAAI,GAAG,EAAb;;AACA,+BAAiC0kF,WAAW,CAAC1xE,KAAZ,CAAkB,GAAlB,CAAjC;AAAA;AAAA,UAAO2xE,OAAP;AAAA,UAAgBC,aAAhB;;AACA,UAAMC,UAAU,GAAGD,aAAa,CAAC5xE,KAAd,CAAoB,GAApB,CAAnB;;AACA,2BAA+B2xE,OAAO,CAAC3xE,KAAR,CAAc,GAAd,CAA/B;AAAA;AAAA,UAAO8xE,SAAP;AAAA,UAAkBC,SAAlB;;AACAD,eAAS,CAAC9xE,KAAV,CAAgB,GAAhB,EAAqBzf,OAArB,CAA6B,UAAAwC,GAAG;AAAA,eAAI,SAAK0uF,OAAL,CAAa1uF,GAAG,CAACtC,WAAJ,EAAb,IAAkCuM,IAAtC;AAAA,OAAhC;;AACA,UAAMglF,SAAS,GAAGD,SAAS,IAAI,SAAKN,OAAL,CAAaM,SAAS,CAACtxF,WAAV,EAAb,CAA/B;;AACA,UAAIuxF,SAAJ,EAAe;AACXprF,cAAM,CAAC+T,IAAP,CAAYq3E,SAAZ,EAAuBzxF,OAAvB,CAA+B,UAACqa,IAAD,EAAU;AACrC5N,cAAI,CAAC4N,IAAD,CAAJ,GAAao3E,SAAS,CAACp3E,IAAD,CAAtB;AACH,SAFD;AAGH;;AACDi3E,gBAAU,CAACtxF,OAAX,CAAmB,UAAC4iB,QAAD,EAAc;AAC7B,YAAIA,QAAQ,CAAC7iB,MAAT,GAAkB,CAAtB,EAAyB;AACrB,kBAAQ6iB,QAAQ,CAAC,CAAD,CAAhB;AACI,iBAAK,GAAL;AACI;AACA;AACA;AACA;AACA;AACA;;AACJ,iBAAK,GAAL;AACInW,kBAAI,CAACmW,QAAQ,CAACzD,SAAT,CAAmB,CAAnB,CAAD,CAAJ,GAA8BwxE,OAA9B;AACA;;AACJ,iBAAK,GAAL;AACIlkF,kBAAI,CAACmW,QAAQ,CAACzD,SAAT,CAAmB,CAAnB,CAAD,CAAJ,GAA8ByxE,MAA9B;AACA;;AACJ,iBAAK,GAAL;AACInkF,kBAAI,CAACmW,QAAQ,CAACzD,SAAT,CAAmB,CAAnB,CAAD,CAAJ,GAA8B2xE,MAA9B;AACA;;AACJ;AACIrkF,kBAAI,CAACmW,QAAD,CAAJ,GAAiBiuE,MAAjB;AAlBR;AAoBH;AACJ,OAvBD;AAwBH,KApCD;AAHU;AAwCb;;;;WACD,qBAAYlyF,OAAZ,EAAqB+yE,QAArB,EAA+BggB,WAA/B,EAA4C;AACxC,UAAIA,WAAW,CAAC7zE,IAAZ,CAAiB,UAAC8zE,MAAD;AAAA,eAAYA,MAAM,CAAC1xF,IAAP,KAAgBoI,gBAAgB,CAACpI,IAA7C;AAAA,OAAjB,CAAJ,EAAyE;AACrE,eAAO,IAAP;AACH;;AACD,UAAItB,OAAO,CAACJ,OAAR,CAAgB,GAAhB,IAAuB,CAAC,CAA5B,EAA+B;AAC3B,YAAIG,aAAa,CAACC,OAAD,CAAb,IAA0BC,WAAW,CAACD,OAAD,CAAzC,EAAoD;AAChD,iBAAO,KAAP;AACH;;AACD,YAAI+yF,WAAW,CAAC7zE,IAAZ,CAAiB,UAAC8zE,MAAD;AAAA,iBAAYA,MAAM,CAAC1xF,IAAP,KAAgBmI,sBAAsB,CAACnI,IAAnD;AAAA,SAAjB,CAAJ,EAA+E;AAC3E;AACA;AACA,iBAAO,IAAP;AACH;AACJ;;AACD,UAAM2xF,iBAAiB,GAAG,KAAKV,OAAL,CAAavyF,OAAO,CAACuB,WAAR,EAAb,KAAuC,KAAKgxF,OAAL,CAAa,SAAb,CAAjE;;AACA,aAAO,CAAC,CAACU,iBAAiB,CAAClgB,QAAD,CAA1B;AACH;;;WACD,oBAAW/yE,OAAX,EAAoB+yF,WAApB,EAAiC;AAC7B,UAAIA,WAAW,CAAC7zE,IAAZ,CAAiB,UAAC8zE,MAAD;AAAA,eAAYA,MAAM,CAAC1xF,IAAP,KAAgBoI,gBAAgB,CAACpI,IAA7C;AAAA,OAAjB,CAAJ,EAAyE;AACrE,eAAO,IAAP;AACH;;AACD,UAAItB,OAAO,CAACJ,OAAR,CAAgB,GAAhB,IAAuB,CAAC,CAA5B,EAA+B;AAC3B,YAAIG,aAAa,CAACC,OAAD,CAAb,IAA0BC,WAAW,CAACD,OAAD,CAAzC,EAAoD;AAChD,iBAAO,IAAP;AACH;;AACD,YAAI+yF,WAAW,CAAC7zE,IAAZ,CAAiB,UAAC8zE,MAAD;AAAA,iBAAYA,MAAM,CAAC1xF,IAAP,KAAgBmI,sBAAsB,CAACnI,IAAnD;AAAA,SAAjB,CAAJ,EAA+E;AAC3E;AACA,iBAAO,IAAP;AACH;AACJ;;AACD,aAAO,CAAC,CAAC,KAAKixF,OAAL,CAAavyF,OAAO,CAACuB,WAAR,EAAb,CAAT;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,yBAAgBvB,OAAhB,EAAyB+yE,QAAzB,EAAmC3gC,WAAnC,EAAgD;AAC5C,UAAIA,WAAJ,EAAiB;AACb;AACA2gC,gBAAQ,GAAG,KAAKyD,iBAAL,CAAuBzD,QAAvB,CAAX;AACH,OAJ2C,CAK5C;AACA;;;AACA/yE,aAAO,GAAGA,OAAO,CAACuB,WAAR,EAAV;AACAwxE,cAAQ,GAAGA,QAAQ,CAACxxE,WAAT,EAAX;AACA,UAAIuiB,GAAG,GAAG0tE,eAAe,GAAGxxF,OAAO,GAAG,GAAV,GAAgB+yE,QAAnB,CAAzB;;AACA,UAAIjvD,GAAJ,EAAS;AACL,eAAOA,GAAP;AACH;;AACDA,SAAG,GAAG0tE,eAAe,GAAG,OAAOze,QAAV,CAArB;AACA,aAAOjvD,GAAG,GAAGA,GAAH,GAAS7Z,eAAe,CAAC6rE,IAAnC;AACH;;;WACD,2BAAkB/C,QAAlB,EAA4B;AACxB,aAAOsf,aAAa,CAACtf,QAAD,CAAb,IAA2BA,QAAlC;AACH;;;WACD,0CAAiC;AAC7B,aAAO,cAAP;AACH;;;WACD,0BAAiBzxE,IAAjB,EAAuB;AACnB,UAAIA,IAAI,CAACC,WAAL,GAAmBopC,UAAnB,CAA8B,IAA9B,CAAJ,EAAyC;AACrC,YAAMvrB,GAAG,GAAG,qCAA8B9d,IAA9B,oEACOA,IAAI,CAACxB,KAAL,CAAW,CAAX,CADP,6BAECwB,IAFD,4FAAZ;AAIA,eAAO;AAAEgY,eAAK,EAAE,IAAT;AAAe8F,aAAG,EAAEA;AAApB,SAAP;AACH,OAND,MAOK;AACD,eAAO;AAAE9F,eAAK,EAAE;AAAT,SAAP;AACH;AACJ;;;WACD,2BAAkBhY,IAAlB,EAAwB;AACpB,UAAIA,IAAI,CAACC,WAAL,GAAmBopC,UAAnB,CAA8B,IAA9B,CAAJ,EAAyC;AACrC,YAAMvrB,GAAG,GAAG,sCAA+B9d,IAA/B,oEACOA,IAAI,CAACxB,KAAL,CAAW,CAAX,CADP,UAAZ;AAEA,eAAO;AAAEwZ,eAAK,EAAE,IAAT;AAAe8F,aAAG,EAAEA;AAApB,SAAP;AACH,OAJD,MAKK;AACD,eAAO;AAAE9F,eAAK,EAAE;AAAT,SAAP;AACH;AACJ;;;WACD,gCAAuB;AACnB,aAAO5R,MAAM,CAAC+T,IAAP,CAAY,KAAK82E,OAAjB,CAAP;AACH;;;WACD,yCAAgCxf,QAAhC,EAA0C;AACtC,aAAO31D,mBAAmB,CAAC21D,QAAD,CAA1B;AACH;;;WACD,sCAA6BmgB,aAA7B,EAA4CC,gBAA5C,EAA8D50E,GAA9D,EAAmE;AAC/D,UAAImd,IAAI,GAAG,EAAX;AACA,UAAM03D,MAAM,GAAG70E,GAAG,CAAC+B,QAAJ,GAAezC,IAAf,EAAf;AACA,UAAIu8C,QAAQ,GAAG,IAAf;;AACA,UAAIi5B,sBAAsB,CAACH,aAAD,CAAtB,IAAyC30E,GAAG,KAAK,CAAjD,IAAsDA,GAAG,KAAK,GAAlE,EAAuE;AACnE,YAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AACzBmd,cAAI,GAAG,IAAP;AACH,SAFD,MAGK;AACD,cAAM43D,iBAAiB,GAAG/0E,GAAG,CAAC/a,KAAJ,CAAU,wBAAV,CAA1B;;AACA,cAAI8vF,iBAAiB,IAAIA,iBAAiB,CAAC,CAAD,CAAjB,CAAqBlyF,MAArB,IAA+B,CAAxD,EAA2D;AACvDg5D,oBAAQ,iDAA0C+4B,gBAA1C,cAA8D50E,GAA9D,CAAR;AACH;AACJ;AACJ;;AACD,aAAO;AAAEjF,aAAK,EAAE8gD,QAAT;AAAmBr3D,aAAK,EAAEqwF,MAAM,GAAG13D;AAAnC,OAAP;AACH;;;;EAtJkCq2D,qB;;AAwJvC,SAASsB,sBAAT,CAAgC33E,IAAhC,EAAsC;AAClC,UAAQA,IAAR;AACI,SAAK,OAAL;AACA,SAAK,QAAL;AACA,SAAK,UAAL;AACA,SAAK,WAAL;AACA,SAAK,UAAL;AACA,SAAK,WAAL;AACA,SAAK,MAAL;AACA,SAAK,KAAL;AACA,SAAK,QAAL;AACA,SAAK,OAAL;AACA,SAAK,UAAL;AACA,SAAK,cAAL;AACA,SAAK,eAAL;AACA,SAAK,YAAL;AACA,SAAK,aAAL;AACA,SAAK,eAAL;AACA,SAAK,cAAL;AACA,SAAK,WAAL;AACA,SAAK,YAAL;AACA,SAAK,cAAL;AACA,SAAK,aAAL;AACA,SAAK,cAAL;AACA,SAAK,aAAL;AACA,SAAK,gBAAL;AACA,SAAK,iBAAL;AACA,SAAK,kBAAL;AACA,SAAK,mBAAL;AACA,SAAK,YAAL;AACI,aAAO,IAAP;;AACJ;AACI,aAAO,KAAP;AA/BR;AAiCH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM63E,kBAAkB,GAAG,0GAA3B,C,CACA;;AACA,IAAMC,aAAa,GAAG,CAAtB,C,CACA;;AACA,IAAMC,YAAY,GAAG,CAArB,C,CACA;;AACA,IAAMC,YAAY,GAAG,CAArB,C,CACA;;AACA,IAAMC,WAAW,GAAG,CAApB,C,CACA;;AACA,IAAMC,eAAe,GAAG,CAAxB,C,CACA;;AACA,IAAMC,WAAW,GAAG,CAApB,C,CACA;;AACA,IAAMC,cAAc,GAAG,CAAvB,C,CACA;;AACA,IAAMC,sBAAsB,GAAG,CAA/B,C,CACA;;AACA,IAAMC,oBAAoB,GAAG,CAA7B,C,CACA;;AACA,IAAMC,iBAAiB,GAAG,EAA1B;AACA,IAAMC,sBAAsB,GAAG,GAA/B;;AACA,SAASC,mBAAT,CAA6BC,SAA7B,EAAwC3Y,aAAxC,EAAuD;AACnD,MAAMvgE,WAAW,GAAG,IAAIm5E,eAAJ,CAAoB5Y,aAApB,CAApB;AACA,MAAM6Y,QAAQ,GAAG36B,UAAU,CAACz+C,WAAD,EAAck5E,SAAd,CAA3B,CAFmD,CAGnD;;AACA,MAAMG,SAAS,GAAG9Y,aAAa,CAACxyB,MAAd,CAAqBnmD,MAArB,CAA4BoY,WAAW,CAAC+tC,MAAxC,CAAlB;AACA,SAAO;AACH1qB,SAAK,EAAE+1D,QADJ;AAEHrrC,UAAM,EAAEsrC,SAFL;AAGH7pE,aAAS,EAAExP,WAAW,CAACwP,SAHpB;AAIHD,UAAM,EAAEvP,WAAW,CAACuP,MAJjB;AAKHU,sBAAkB,EAAEjQ,WAAW,CAACiQ;AAL7B,GAAP;AAOH;;IACKkpE,e;AACF,2BAAY5Y,aAAZ,EAA2B;AAAA;;AACvB,SAAKA,aAAL,GAAqBA,aAArB;AACA,SAAKxyB,MAAL,GAAc,EAAd;AACA,SAAKx+B,MAAL,GAAc,EAAd;AACA,SAAKC,SAAL,GAAiB,EAAjB;AACA,SAAKS,kBAAL,GAA0B,EAA1B;AACA,SAAKqpE,WAAL,GAAmB,KAAnB;AACH,G,CACD;;;;;WACA,sBAAatyF,OAAb,EAAsB;AAAA;;AAClB,UAAMuyF,iBAAiB,GAAG7pD,cAAc,CAAC1oC,OAAO,CAACu0B,IAAT,CAAxC;;AACA,UAAIg+D,iBAAJ,EAAuB;AACnB,YAAI,KAAKD,WAAT,EAAsB;AAClB,eAAKE,WAAL,CAAiB,gHAAjB,EAAmIxyF,OAAO,CAAC6L,UAA3I;AACH;;AACD,aAAKymF,WAAL,GAAmB,IAAnB;AACH;;AACD,UAAMzX,gBAAgB,GAAGxE,eAAe,CAACr2E,OAAD,CAAxC;;AACA,UAAI66E,gBAAgB,CAACjvE,IAAjB,KAA0BkrE,oBAAoB,CAACG,MAAnD,EAA2D;AACvD,eAAO,IAAP;AACH,OAFD,MAGK,IAAI4D,gBAAgB,CAACjvE,IAAjB,KAA0BkrE,oBAAoB,CAAC1C,KAAnD,EAA0D;AAC3D,YAAMqe,QAAQ,GAAGC,YAAY,CAAC1yF,OAAD,CAA7B;;AACA,YAAIyyF,QAAQ,KAAK,IAAjB,EAAuB;AACnB,eAAKlqE,MAAL,CAAY5nB,IAAZ,CAAiB8xF,QAAjB;AACH;;AACD,eAAO,IAAP;AACH,OANI,MAOA,IAAI5X,gBAAgB,CAACjvE,IAAjB,KAA0BkrE,oBAAoB,CAACI,UAA/C,IACL7H,oBAAoB,CAACwL,gBAAgB,CAACtE,QAAlB,CADnB,EACgD;AACjD,aAAK/tD,SAAL,CAAe7nB,IAAf,CAAoBk6E,gBAAgB,CAACtE,QAArC;AACA,eAAO,IAAP;AACH,OAvBiB,CAwBlB;;;AACA,UAAMgF,iBAAiB,GAAGv9E,YAAY,CAACgC,OAAO,CAACZ,IAAT,CAAtC;AACA,UAAMuzF,gBAAgB,GAAG,EAAzB;AACA,UAAM3U,WAAW,GAAG,EAApB;AACA,UAAMrjD,SAAS,GAAG,EAAlB;AACA,UAAMN,UAAU,GAAG,EAAnB;AACA,UAAMF,UAAU,GAAG,EAAnB;AACA,UAAMy4D,aAAa,GAAG,EAAtB;AACA,UAAMC,wBAAwB,GAAG,EAAjC;AACA,UAAMC,iBAAiB,GAAG,EAA1B,CAjCkB,CAkClB;;AACA,UAAIC,wBAAwB,GAAG,KAA/B;;AAnCkB,kLAoCM/yF,OAAO,CAACE,KApCd;AAAA;;AAAA;AAoClB,kEAAuC;AAAA,cAA5B8B,SAA4B;AACnC,cAAIy5E,UAAU,GAAG,KAAjB;AACA,cAAMK,cAAc,GAAGkX,sBAAsB,CAAChxF,SAAS,CAAC5C,IAAX,CAA7C,CAFmC,CAGnC;;AACA,cAAI6zF,iBAAiB,GAAG,KAAxB;;AACA,cAAIjxF,SAAS,CAACuyB,IAAd,EAAoB;AAChBq+D,yBAAa,CAAC5wF,SAAS,CAAC5C,IAAX,CAAb,GAAgC4C,SAAS,CAACuyB,IAA1C;AACH;;AACD,cAAIunD,cAAc,CAACrzC,UAAf,CAA0BupD,sBAA1B,CAAJ,EAAuD;AACnD;AACA,gBAAIe,wBAAJ,EAA8B;AAC1B,mBAAKP,WAAL,iGAAiHxwF,SAAS,CAAC6J,UAA3H;AACH;;AACDonF,6BAAiB,GAAG,IAApB;AACAF,oCAAwB,GAAG,IAA3B;AACA,gBAAMnX,aAAa,GAAG55E,SAAS,CAACnB,KAAhC;AACA,gBAAMg7E,WAAW,GAAGC,cAAc,CAACx9D,SAAf,CAAyB0zE,sBAAsB,CAAC9yF,MAAhD,CAApB;AACA,gBAAMs8E,eAAe,GAAG,EAAxB;AACA,gBAAM3J,mBAAmB,GAAG7vE,SAAS,CAACo3B,SAAV,GACxBp3B,SAAS,CAACo3B,SAAV,CAAoBwD,KAApB,CAA0BkhB,MADF,GAExB;AACA;AACA;AACA97C,qBAAS,CAAC6J,UAAV,CAAqB+wB,KAArB,CAA2BkhB,MAA3B,GAAoC97C,SAAS,CAAC5C,IAAV,CAAeF,MALvD;AAMA,iBAAKq6E,aAAL,CAAmB0C,0BAAnB,CAA8CJ,WAA9C,EAA2DD,aAA3D,EAA0E55E,SAAS,CAAC6J,UAApF,EAAgGgmE,mBAAhG,EAAqH,EAArH,EAAyHghB,wBAAzH,EAAmJrX,eAAnJ,EAAoK;AAAK;AAAzK;AACAsX,6BAAiB,CAACnyF,IAAlB,OAAAmyF,iBAAiB,qJAAStX,eAAe,CAAC53E,GAAhB,CAAoB,UAAA0kE,CAAC;AAAA,qBAAI,IAAIvtC,QAAJ,CAAautC,CAAC,CAAClpE,IAAf,EAAqBkpE,CAAC,CAACznE,KAAvB,EAA8BynE,CAAC,CAACz8D,UAAhC,EAA4Cy8D,CAAC,CAAC7uC,OAA9C,EAAuD6uC,CAAC,CAAClvC,SAAzD,CAAJ;AAAA,aAArB,CAAT,EAAjB;AACH,WAlBD,MAmBK;AACD;AACAqiD,sBAAU,GAAG,KAAKyX,cAAL,CAAoB3X,iBAApB,EAAuCv5E,SAAvC,EAAkD,EAAlD,EAAsD2wF,gBAAtD,EAAwE3U,WAAxE,EAAqFrjD,SAArF,EAAgGN,UAAhG,CAAb;AACH;;AACD,cAAI,CAACohD,UAAD,IAAe,CAACwX,iBAApB,EAAuC;AACnC;AACA94D,sBAAU,CAACx5B,IAAX,CAAgB,KAAK02D,cAAL,CAAoBr1D,SAApB,CAAhB;AACH;AACJ;AAvEiB;AAAA;AAAA;AAAA;AAAA;;AAwElB,UAAMo4B,QAAQ,GAAGq9B,UAAU,CAACojB,gBAAgB,CAACpE,WAAjB,GAA+B0c,sBAA/B,GAAwD,IAAzD,EAA+DnzF,OAAO,CAACo6B,QAAvE,CAA3B;AACA,UAAI8iD,aAAJ;;AACA,UAAIrC,gBAAgB,CAACjvE,IAAjB,KAA0BkrE,oBAAoB,CAACE,UAAnD,EAA+D;AAC3D;AACA,YAAIh3E,OAAO,CAACo6B,QAAR,IACA,CAACp6B,OAAO,CAACo6B,QAAR,CAAiBxmB,KAAjB,CAAuB,UAAClF,IAAD;AAAA,iBAAU0kF,eAAe,CAAC1kF,IAAD,CAAf,IAAyB2kF,aAAa,CAAC3kF,IAAD,CAAhD;AAAA,SAAvB,CADL,EACqF;AACjF,eAAK8jF,WAAL,8CAA8DxyF,OAAO,CAAC6L,UAAtE;AACH;;AACD,YAAM5K,QAAQ,GAAG45E,gBAAgB,CAACvE,UAAlC;AACA,YAAMp2E,KAAK,GAAGF,OAAO,CAACE,KAAR,CAAc0D,GAAd,CAAkB,UAAAklC,IAAI;AAAA,iBAAI,QAAI,CAACuuB,cAAL,CAAoBvuB,IAApB,CAAJ;AAAA,SAAtB,CAAd;AACAo0C,qBAAa,GAAG,IAAIriD,OAAJ,CAAY55B,QAAZ,EAAsBf,KAAtB,EAA6BF,OAAO,CAAC6L,UAArC,EAAiD7L,OAAO,CAACu0B,IAAzD,CAAhB;AACA,aAAKtL,kBAAL,CAAwBtoB,IAAxB,CAA6BM,QAA7B;AACH,OAVD,MAWK,IAAIs6E,iBAAJ,EAAuB;AACxB;AACA,YAAMr7E,MAAK,GAAG,KAAKozF,iBAAL,CAAuBtzF,OAAO,CAACZ,IAA/B,EAAqCuzF,gBAArC,EAAuDC,aAAvD,CAAd;;AACA1V,qBAAa,GAAG,IAAIziD,QAAJ,CAAaz6B,OAAO,CAACZ,IAArB,EAA2B+6B,UAA3B,EAAuCj6B,MAAK,CAACqzF,KAA7C,EAAoDvV,WAApD,EAAiE;AAAE;AAAF,SAAjE,EAAkG5jD,QAAlG,EAA4GC,UAA5G,EAAwHM,SAAxH,EAAmI36B,OAAO,CAAC6L,UAA3I,EAAuJ7L,OAAO,CAACs6B,eAA/J,EAAgLt6B,OAAO,CAACu6B,aAAxL,EAAuMv6B,OAAO,CAACu0B,IAA/M,CAAhB;AACH,OAJI,MAKA;AACD,YAAMr0B,OAAK,GAAG,KAAKozF,iBAAL,CAAuBtzF,OAAO,CAACZ,IAA/B,EAAqCuzF,gBAArC,EAAuDC,aAAvD,CAAd;;AACA1V,qBAAa,GAAG,IAAIhjD,OAAJ,CAAYl6B,OAAO,CAACZ,IAApB,EAA0B+6B,UAA1B,EAAsCj6B,OAAK,CAACqzF,KAA5C,EAAmDvV,WAAnD,EAAgE5jD,QAAhE,EAA0EC,UAA1E,EAAsFr6B,OAAO,CAAC6L,UAA9F,EAA0G7L,OAAO,CAACs6B,eAAlH,EAAmIt6B,OAAO,CAACu6B,aAA3I,EAA0Jv6B,OAAO,CAACu0B,IAAlK,CAAhB;AACH;;AACD,UAAIw+D,wBAAJ,EAA8B;AAC1B;AACA;AACA;AACA;AACA,YAAM7yF,OAAK,GAAG,KAAKozF,iBAAL,CAAuB,aAAvB,EAAsCT,wBAAtC,EAAgED,aAAhE,CAAd;;AACA,YAAMl4D,aAAa,GAAG,EAAtB;;AACAx6B,eAAK,CAACwa,OAAN,CAAcvb,OAAd,CAAsB,UAAA2pC,IAAI;AAAA,iBAAIpO,aAAa,CAAC/5B,IAAd,CAAmBmoC,IAAnB,CAAJ;AAAA,SAA1B;;AACA5oC,eAAK,CAACqzF,KAAN,CAAYp0F,OAAZ,CAAoB,UAAA2pC,IAAI;AAAA,iBAAIpO,aAAa,CAAC/5B,IAAd,CAAmBmoC,IAAnB,CAAJ;AAAA,SAAxB;;AACA,YAAM0qD,YAAY,GAAGtW,aAAa,YAAYhjD,OAAzB,GACjB;AACIC,oBAAU,EAAE+iD,aAAa,CAAC/iD,UAD9B;AAEIzQ,gBAAM,EAAEwzD,aAAa,CAACxzD,MAF1B;AAGIC,iBAAO,EAAEuzD,aAAa,CAACvzD;AAH3B,SADiB,GAMjB;AAAEwQ,oBAAU,EAAE,EAAd;AAAkBzQ,gBAAM,EAAE,EAA1B;AAA8BC,iBAAO,EAAE;AAAvC,SANJ,CAT0B,CAgB1B;AACA;AACA;;AACA,YAAM4K,IAAI,GAAGgnD,iBAAiB,IAAIgX,iBAArB,GAAyCptF,SAAzC,GAAqDnF,OAAO,CAACu0B,IAA1E,CAnB0B,CAoB1B;;AACA2oD,qBAAa,GAAG,IAAIziD,QAAJ,CAAayiD,aAAa,CAAC99E,IAA3B,EAAiCo0F,YAAY,CAACr5D,UAA9C,EAA0Dq5D,YAAY,CAAC9pE,MAAvE,EAA+E8pE,YAAY,CAAC7pE,OAA5F,EAAqG+Q,aAArG,EAAoH,CAACwiD,aAAD,CAApH,EAAqI;AAAE;AAAF,SAArI,EAA6J4V,iBAA7J,EAAgL9yF,OAAO,CAAC6L,UAAxL,EAAoM7L,OAAO,CAACs6B,eAA5M,EAA6Nt6B,OAAO,CAACu6B,aAArO,EAAoPhG,IAApP,CAAhB;AACH;;AACD,UAAIg+D,iBAAJ,EAAuB;AACnB,aAAKD,WAAL,GAAmB,KAAnB;AACH;;AACD,aAAOpV,aAAP;AACH;;;WACD,wBAAel7E,SAAf,EAA0B;AACtB,aAAO,IAAIm3B,aAAJ,CAAkBn3B,SAAS,CAAC5C,IAA5B,EAAkC4C,SAAS,CAACnB,KAA5C,EAAmDmB,SAAS,CAAC6J,UAA7D,EAAyE7J,SAAS,CAACo3B,SAAnF,EAA8Fp3B,SAAS,CAACuyB,IAAxG,CAAP;AACH;;;WACD,mBAAUvkB,IAAV,EAAgB;AACZ,aAAO,KAAKyjF,2BAAL,CAAiCzjF,IAAI,CAACnP,KAAtC,EAA6CmP,IAAI,CAACnE,UAAlD,EAA8DmE,IAAI,CAACukB,IAAnE,CAAP;AACH;;;WACD,wBAAegyC,SAAf,EAA0B;AAAA;;AACtB,UAAI,CAACA,SAAS,CAAChyC,IAAf,EAAqB;AACjB;AACA;AACA,eAAO,IAAP;AACH;;AACD,UAAI,CAACmU,cAAc,CAAC69B,SAAS,CAAChyC,IAAX,CAAnB,EAAqC;AACjC,cAAM,IAAI52B,KAAJ,0BAA2B4oE,SAAS,CAAChyC,IAAV,CAAelb,WAA1C,yCAAiFktD,SAAS,CAAC16D,UAAV,CAAqBuS,QAArB,EAAjF,8BAAN;AACH;;AACD,UAAM4hB,OAAO,GAAGumC,SAAS,CAAChyC,IAA1B;AACA,UAAM6G,IAAI,GAAG,EAAb;AACA,UAAMC,YAAY,GAAG,EAArB,CAXsB,CAYtB;AACA;AACA;;AACA71B,YAAM,CAAC+T,IAAP,CAAYymB,OAAO,CAAC3E,YAApB,EAAkCl8B,OAAlC,CAA0C,UAAA4U,GAAG,EAAI;AAC7C,YAAMlT,KAAK,GAAGm/B,OAAO,CAAC3E,YAAR,CAAqBtnB,GAArB,CAAd;;AACA,YAAIA,GAAG,CAAC00B,UAAJ,CAAeJ,mBAAf,CAAJ,EAAyC;AACrC;AACA;AACA;AACA;AACA;AACA,cAAMqrD,YAAY,GAAG3/E,GAAG,CAAC4H,IAAJ,EAArB;;AACA,cAAMpE,GAAG,GAAG,QAAI,CAACgiE,aAAL,CAAmB7H,4BAAnB,CAAgD7wE,KAAK,CAACmP,IAAtD,EAA4DnP,KAAK,CAACgL,UAAlE,CAAZ;;AACAuvB,cAAI,CAACs4D,YAAD,CAAJ,GAAqB,IAAIz6D,SAAJ,CAAc1hB,GAAd,EAAmB1W,KAAK,CAACgL,UAAzB,CAArB;AACH,SATD,MAUK;AACDwvB,sBAAY,CAACtnB,GAAD,CAAZ,GAAoB,QAAI,CAAC0/E,2BAAL,CAAiC5yF,KAAK,CAACmP,IAAvC,EAA6CnP,KAAK,CAACgL,UAAnD,CAApB;AACH;AACJ,OAfD;AAgBA,aAAO,IAAIsvB,GAAJ,CAAQC,IAAR,EAAcC,YAAd,EAA4BkrC,SAAS,CAAC16D,UAAtC,EAAkDm0B,OAAlD,CAAP;AACH;;;WACD,4BAAmBwmC,aAAnB,EAAkC;AAC9B,aAAO,IAAP;AACH;;;WACD,sBAAa5wB,OAAb,EAAsB;AAClB,aAAO,IAAP;AACH,K,CACD;;;;WACA,2BAAkBp4C,WAAlB,EAA+BizF,UAA/B,EAA2CkD,aAA3C,EAA0D;AAAA;;AACtD,UAAMJ,KAAK,GAAG,EAAd;AACA,UAAM74E,OAAO,GAAG,EAAhB;AACA+1E,gBAAU,CAACtxF,OAAX,CAAmB,UAAAqa,IAAI,EAAI;AACvB,YAAM+a,IAAI,GAAGo/D,aAAa,CAACn6E,IAAI,CAACpa,IAAN,CAA1B;;AACA,YAAIoa,IAAI,CAACmuC,SAAT,EAAoB;AAChBjtC,iBAAO,CAAC/Z,IAAR,CAAa,IAAIw4B,aAAJ,CAAkB3f,IAAI,CAACpa,IAAvB,EAA6Boa,IAAI,CAAC+G,UAAL,CAAgBumB,MAAhB,IAA0B,EAAvD,EAA2DttB,IAAI,CAAC3N,UAAhE,EAA4E1G,SAA5E,EAAuFovB,IAAvF,CAAb;AACH,SAFD,MAGK;AACD;AACA;AACA;AACA,cAAMq/D,GAAG,GAAG,QAAI,CAACra,aAAL,CAAmBrI,0BAAnB,CAA8C1zE,WAA9C,EAA2Dgc,IAA3D;AAAiE;AAAqB,cAAtF;AAA4F;AAAsB,eAAlH,CAAZ;;AACA+5E,eAAK,CAAC5yF,IAAN,CAAW24B,cAAc,CAACu6D,wBAAf,CAAwCD,GAAxC,EAA6Cr/D,IAA7C,CAAX;AACH;AACJ,OAZD;AAaA,aAAO;AAAEg/D,aAAK,EAALA,KAAF;AAAS74E,eAAO,EAAPA;AAAT,OAAP;AACH;;;WACD,wBAAe6gE,iBAAf,EAAkCv5E,SAAlC,EAA6C8xF,mBAA7C,EAAkEnB,gBAAlE,EAAoF3U,WAApF,EAAiGrjD,SAAjG,EAA4GN,UAA5G,EAAwH;AACpH,UAAMj7B,IAAI,GAAG4zF,sBAAsB,CAAChxF,SAAS,CAAC5C,IAAX,CAAnC;AACA,UAAMyB,KAAK,GAAGmB,SAAS,CAACnB,KAAxB;AACA,UAAM2xE,OAAO,GAAGxwE,SAAS,CAAC6J,UAA1B;AACA,UAAMo3C,cAAc,GAAGjhD,SAAS,CAACo3B,SAAV,GAAsBp3B,SAAS,CAACo3B,SAAV,CAAoBwD,KAApB,CAA0BkhB,MAAhD,GAAyD00B,OAAO,CAAC51C,KAAR,CAAckhB,MAA9F;;AACA,eAASi2C,aAAT,CAAuBvhB,OAAvB,EAAgCp0E,MAAhC,EAAwCqoB,UAAxC,EAAoD;AAChD;AACA;AACA,YAAMutE,uBAAuB,GAAGhyF,SAAS,CAAC5C,IAAV,CAAeF,MAAf,GAAwBE,IAAI,CAACF,MAA7D;AACA,YAAM+0F,YAAY,GAAGzhB,OAAO,CAAC51C,KAAR,CAAckxB,MAAd,CAAqB1vD,MAAM,CAACc,MAAP,GAAgB80F,uBAArC,CAArB;AACA,YAAME,UAAU,GAAGD,YAAY,CAACnmC,MAAb,CAAoBrnC,UAAU,CAACvnB,MAA/B,CAAnB;AACA,eAAO,IAAI2/C,eAAJ,CAAoBo1C,YAApB,EAAkCC,UAAlC,EAA8CD,YAA9C,EAA4DxtE,UAA5D,CAAP;AACH;;AACD,UAAMw3D,SAAS,GAAG7+E,IAAI,CAACkC,KAAL,CAAW+vF,kBAAX,CAAlB;AACA,UAAI5V,UAAU,GAAG,KAAjB;;AACA,UAAIwC,SAAJ,EAAe;AACXxC,kBAAU,GAAG,IAAb;;AACA,YAAIwC,SAAS,CAACqT,aAAD,CAAT,IAA4B,IAAhC,EAAsC;AAClC,cAAM7qE,UAAU,GAAGw3D,SAAS,CAAC2T,cAAD,CAA5B;AACA,cAAMn4D,OAAO,GAAGs6D,aAAa,CAACvhB,OAAD,EAAUyL,SAAS,CAACqT,aAAD,CAAnB,EAAoC7qE,UAApC,CAA7B;AACA,eAAK8yD,aAAL,CAAmBzI,oBAAnB,CAAwCrqD,UAAxC,EAAoD5lB,KAApD,EAA2D,KAA3D,EAAkE2xE,OAAlE,EAA2EvvB,cAA3E,EAA2FjhD,SAAS,CAACo3B,SAArG,EAAgH06D,mBAAhH,EAAqInB,gBAArI,EAAuJl5D,OAAvJ;AACH,SAJD,MAKK,IAAIwkD,SAAS,CAACsT,YAAD,CAAb,EAA6B;AAC9B,cAAIhW,iBAAJ,EAAuB;AACnB,gBAAM90D,YAAU,GAAGw3D,SAAS,CAAC2T,cAAD,CAA5B;;AACA,gBAAMn4D,QAAO,GAAGs6D,aAAa,CAACvhB,OAAD,EAAUyL,SAAS,CAACsT,YAAD,CAAnB,EAAmC9qE,YAAnC,CAA7B;;AACA,iBAAK0tE,aAAL,CAAmB1tE,YAAnB,EAA+B5lB,KAA/B,EAAsC2xE,OAAtC,EAA+C/4C,QAA/C,EAAwDz3B,SAAS,CAACo3B,SAAlE,EAA6EuB,SAA7E;AACH,WAJD,MAKK;AACD,iBAAK63D,WAAL,wDAAsEhgB,OAAtE;AACH;AACJ,SATI,MAUA,IAAIyL,SAAS,CAACuT,YAAD,CAAb,EAA6B;AAC9B,cAAM/qE,YAAU,GAAGw3D,SAAS,CAAC2T,cAAD,CAA5B;AACA,eAAKwC,cAAL,CAAoB3tE,YAApB,EAAgC5lB,KAAhC,EAAuC2xE,OAAvC,EAAgDxwE,SAAS,CAACo3B,SAA1D,EAAqEiB,UAArE;AACH,SAHI,MAIA,IAAI4jD,SAAS,CAACwT,WAAD,CAAb,EAA4B;AAC7B,cAAMvW,MAAM,GAAG,EAAf;AACA,cAAMz0D,YAAU,GAAGw3D,SAAS,CAAC2T,cAAD,CAA5B;AACA,eAAKrY,aAAL,CAAmBnI,UAAnB,CAA8B3qD,YAA9B,EAA0C5lB,KAA1C,EAAiD2xE,OAAjD,EAA0DxwE,SAAS,CAACo3B,SAAV,IAAuBo5C,OAAjF,EAA0FshB,mBAA1F,EAA+G5Y,MAA/G;AACAmZ,mBAAS,CAACnZ,MAAD,EAAS8C,WAAT,CAAT;AACH,SALI,MAMA,IAAIC,SAAS,CAACyT,eAAD,CAAb,EAAgC;AACjC,cAAMjrE,YAAU,GAAGw3D,SAAS,CAAC2T,cAAD,CAA5B;;AACA,cAAMn4D,SAAO,GAAGs6D,aAAa,CAACvhB,OAAD,EAAUyL,SAAS,CAACyT,eAAD,CAAnB,EAAsCjrE,YAAtC,CAA7B;;AACA,eAAK8yD,aAAL,CAAmBzI,oBAAnB,CAAwCrqD,YAAxC,EAAoD5lB,KAApD,EAA2D,KAA3D,EAAkE2xE,OAAlE,EAA2EvvB,cAA3E,EAA2FjhD,SAAS,CAACo3B,SAArG,EAAgH06D,mBAAhH,EAAqInB,gBAArI,EAAuJl5D,SAAvJ;AACA,eAAK66D,oBAAL,CAA0B7tE,YAA1B,EAAsC5lB,KAAtC,EAA6C2xE,OAA7C,EAAsDxwE,SAAS,CAACo3B,SAAhE,EAA2E06D,mBAA3E,EAAgG9V,WAAhG;AACH,SALI,MAMA,IAAIC,SAAS,CAAC0T,WAAD,CAAb,EAA4B;AAC7B,cAAMl4D,SAAO,GAAGs6D,aAAa,CAACvhB,OAAD,EAAU,EAAV,EAAcpzE,IAAd,CAA7B;;AACA,eAAKm6E,aAAL,CAAmB7G,gBAAnB,CAAoCtzE,IAApC,EAA0CyB,KAA1C,EAAiD2xE,OAAjD,EAA0DvvB,cAA1D,EAA0EjhD,SAAS,CAACo3B,SAApF,EAA+F06D,mBAA/F,EAAoHnB,gBAApH,EAAsIl5D,SAAtI;AACH,SAHI,MAIA,IAAIwkD,SAAS,CAAC4T,sBAAD,CAAb,EAAuC;AACxC,cAAMp4D,SAAO,GAAGs6D,aAAa,CAACvhB,OAAD,EAAU,IAAV,EAAgByL,SAAS,CAAC4T,sBAAD,CAAzB,CAA7B;;AACA,eAAKtY,aAAL,CAAmBzI,oBAAnB,CAAwCmN,SAAS,CAAC4T,sBAAD,CAAjD,EAA2EhxF,KAA3E,EAAkF,KAAlF,EAAyF2xE,OAAzF,EAAkGvvB,cAAlG,EAAkHjhD,SAAS,CAACo3B,SAA5H,EAAuI06D,mBAAvI,EAA4JnB,gBAA5J,EAA8Kl5D,SAA9K;AACA,eAAK66D,oBAAL,CAA0BrW,SAAS,CAAC4T,sBAAD,CAAnC,EAA6DhxF,KAA7D,EAAoE2xE,OAApE,EAA6ExwE,SAAS,CAACo3B,SAAvF,EAAkG06D,mBAAlG,EAAuH9V,WAAvH;AACH,SAJI,MAKA,IAAIC,SAAS,CAAC6T,oBAAD,CAAb,EAAqC;AACtC,cAAMr4D,SAAO,GAAGs6D,aAAa,CAACvhB,OAAD,EAAU,GAAV,EAAeyL,SAAS,CAAC6T,oBAAD,CAAxB,CAA7B;;AACA,eAAKvY,aAAL,CAAmBzI,oBAAnB,CAAwCmN,SAAS,CAAC6T,oBAAD,CAAjD,EAAyEjxF,KAAzE,EAAgF,KAAhF,EAAuF2xE,OAAvF,EAAgGvvB,cAAhG,EAAgHjhD,SAAS,CAACo3B,SAA1H,EAAqI06D,mBAArI,EAA0JnB,gBAA1J,EAA4Kl5D,SAA5K;AACH,SAHI,MAIA,IAAIwkD,SAAS,CAAC8T,iBAAD,CAAb,EAAkC;AACnC,cAAM7W,OAAM,GAAG,EAAf;AACA,eAAK3B,aAAL,CAAmBnI,UAAnB,CAA8B6M,SAAS,CAAC8T,iBAAD,CAAvC,EAA4DlxF,KAA5D,EAAmE2xE,OAAnE,EAA4ExwE,SAAS,CAACo3B,SAAV,IAAuBo5C,OAAnG,EAA4GshB,mBAA5G,EAAiI5Y,OAAjI;AACAmZ,mBAAS,CAACnZ,OAAD,EAAS8C,WAAT,CAAT;AACH;AACJ,OAnDD,MAoDK;AACD,YAAMvkD,SAAO,GAAGs6D,aAAa,CAACvhB,OAAD,EAAU;AAAG;AAAb,UAA2BpzE,IAA3B,CAA7B;;AACAq8E,kBAAU,GAAG,KAAKlC,aAAL,CAAmB8E,0BAAnB,CAA8Cj/E,IAA9C,EAAoDyB,KAApD,EAA2D2xE,OAA3D,EAAoExwE,SAAS,CAACo3B,SAA9E,EAAyF06D,mBAAzF,EAA8GnB,gBAA9G,EAAgIl5D,SAAhI,CAAb;AACH;;AACD,aAAOgiD,UAAP;AACH;;;WACD,qCAA4B56E,KAA5B,EAAmCgL,UAAnC,EAA+C0oB,IAA/C,EAAqD;AACjD,UAAMmmD,WAAW,GAAGzU,WAAW,CAACplE,KAAD,CAA/B;AACA,UAAMyN,IAAI,GAAG,KAAKirE,aAAL,CAAmBjI,kBAAnB,CAAsCoJ,WAAtC,EAAmD7uE,UAAnD,CAAb;AACA,aAAOyC,IAAI,GAAG,IAAI2qB,SAAJ,CAAc3qB,IAAd,EAAoBzC,UAApB,EAAgC0oB,IAAhC,CAAH,GAA2C,IAAIwE,IAAJ,CAAS2hD,WAAT,EAAsB7uE,UAAtB,CAAtD;AACH;;;WACD,uBAAc4a,UAAd,EAA0B5lB,KAA1B,EAAiCgL,UAAjC,EAA6C4tB,OAA7C,EAAsDL,SAAtD,EAAiEuB,SAAjE,EAA4E;AACxE,UAAIlU,UAAU,CAAC/oB,OAAX,CAAmB,GAAnB,IAA0B,CAAC,CAA/B,EAAkC;AAC9B,aAAK80F,WAAL,2CAAyD3mF,UAAzD;AACH,OAFD,MAGK,IAAI4a,UAAU,CAACvnB,MAAX,KAAsB,CAA1B,EAA6B;AAC9B,aAAKszF,WAAL,kCAAkD3mF,UAAlD;AACH;;AACD8uB,eAAS,CAACh6B,IAAV,CAAe,IAAIo6B,QAAJ,CAAatU,UAAb,EAAyB5lB,KAAzB,EAAgCgL,UAAhC,EAA4C4tB,OAA5C,EAAqDL,SAArD,CAAf;AACH;;;WACD,wBAAe3S,UAAf,EAA2B5lB,KAA3B,EAAkCgL,UAAlC,EAA8CutB,SAA9C,EAAyDiB,UAAzD,EAAqE;AACjE,UAAI5T,UAAU,CAAC/oB,OAAX,CAAmB,GAAnB,IAA0B,CAAC,CAA/B,EAAkC;AAC9B,aAAK80F,WAAL,4CAA0D3mF,UAA1D;AACH,OAFD,MAGK,IAAI4a,UAAU,CAACvnB,MAAX,KAAsB,CAA1B,EAA6B;AAC9B,aAAKszF,WAAL,mCAAmD3mF,UAAnD;AACH;;AACDwuB,gBAAU,CAAC15B,IAAX,CAAgB,IAAIs6B,SAAJ,CAAcxU,UAAd,EAA0B5lB,KAA1B,EAAiCgL,UAAjC,EAA6CutB,SAA7C,CAAhB;AACH;;;WACD,8BAAqBh6B,IAArB,EAA2BmhB,UAA3B,EAAuC1U,UAAvC,EAAmDutB,SAAnD,EAA8D04C,oBAA9D,EAAoFkM,WAApF,EAAiG;AAC7F,UAAM9C,MAAM,GAAG,EAAf;AACA,WAAK3B,aAAL,CAAmBnI,UAAnB,WAAiChyE,IAAjC,uBAAkDmhB,UAAlD,cAAuE1U,UAAvE,EAAmFutB,SAAS,IAAIvtB,UAAhG,EAA4GimE,oBAA5G,EAAkIoJ,MAAlI;AACAmZ,eAAS,CAACnZ,MAAD,EAAS8C,WAAT,CAAT;AACH;;;WACD,qBAAYh+C,OAAZ,EAAqBn0B,UAArB,EAAgE;AAAA,UAA/BqzC,KAA+B,uEAAvBF,eAAe,CAACG,KAAO;AAC5D,WAAK4H,MAAL,CAAYpmD,IAAZ,CAAiB,IAAIs+C,UAAJ,CAAepzC,UAAf,EAA2Bm0B,OAA3B,EAAoCkf,KAApC,CAAjB;AACH;;;;;;IAECq1C,oB;;;;;;;WACF,sBAAah9E,GAAb,EAAkB;AACd,UAAMsjE,gBAAgB,GAAGxE,eAAe,CAAC9+D,GAAD,CAAxC;;AACA,UAAIsjE,gBAAgB,CAACjvE,IAAjB,KAA0BkrE,oBAAoB,CAACG,MAA/C,IACA4D,gBAAgB,CAACjvE,IAAjB,KAA0BkrE,oBAAoB,CAAC1C,KAD/C,IAEAyG,gBAAgB,CAACjvE,IAAjB,KAA0BkrE,oBAAoB,CAACI,UAFnD,EAE+D;AAC3D;AACA;AACA;AACA,eAAO,IAAP;AACH;;AACD,UAAM98C,QAAQ,GAAGq9B,UAAU,CAAC,IAAD,EAAOlgD,GAAG,CAAC6iB,QAAX,EAAqB,IAArB,CAA3B;AACA,aAAO,IAAIF,OAAJ,CAAY3iB,GAAG,CAACnY,IAAhB,EAAsBq4D,UAAU,CAAC,IAAD,EAAOlgD,GAAG,CAACrX,KAAX,CAAhC;AACP;AAAa,QADN;AACU;AAAc,QADxB,EAC4Bk6B,QAD5B;AACsC;AAAiB,QADvD,EAC2D7iB,GAAG,CAAC1L,UAD/D,EAC2E0L,GAAG,CAAC+iB,eAD/E,EACgG/iB,GAAG,CAACgjB,aADpG,CAAP;AAEH;;;WACD,sBAAaqb,OAAb,EAAsB;AAClB,aAAO,IAAP;AACH;;;WACD,wBAAe5zC,SAAf,EAA0B;AACtB,aAAO,IAAIm3B,aAAJ,CAAkBn3B,SAAS,CAAC5C,IAA5B,EAAkC4C,SAAS,CAACnB,KAA5C,EAAmDmB,SAAS,CAAC6J,UAA7D,EAAyE1G,SAAzE,EAAoFnD,SAAS,CAACuyB,IAA9F,CAAP;AACH;;;WACD,mBAAUvkB,IAAV,EAAgB;AACZ,aAAO,IAAI+oB,IAAJ,CAAS/oB,IAAI,CAACnP,KAAd,EAAqBmP,IAAI,CAACnE,UAA1B,CAAP;AACH;;;WACD,wBAAe06D,SAAf,EAA0B;AACtB,aAAO,IAAP;AACH;;;WACD,4BAAmBC,aAAnB,EAAkC;AAC9B,aAAO,IAAP;AACH;;;;;;AAEL,IAAM2sB,sBAAsB,GAAG,IAAIoB,oBAAJ,EAA/B;;AACA,SAASvB,sBAAT,CAAgCxyF,QAAhC,EAA0C;AACtC,SAAO,UAAU8pC,IAAV,CAAe9pC,QAAf,IAA2BA,QAAQ,CAAC8d,SAAT,CAAmB,CAAnB,CAA3B,GAAmD9d,QAA1D;AACH;;AACD,SAAS6zF,SAAT,CAAmBnZ,MAAnB,EAA2B8C,WAA3B,EAAwC;AACpCA,aAAW,CAACr9E,IAAZ,OAAAq9E,WAAW,qJAAS9C,MAAM,CAACt3E,GAAP,CAAW,UAAAsK,CAAC;AAAA,WAAIyrB,UAAU,CAAC2kD,eAAX,CAA2BpwE,CAA3B,CAAJ;AAAA,GAAZ,CAAT,EAAX;AACH;;AACD,SAASklF,eAAT,CAAyB1kF,IAAzB,EAA+B;AAC3B,SAAOA,IAAI,YAAYkoD,MAAhB,IAA0BloD,IAAI,CAAC7N,KAAL,CAAW8a,IAAX,GAAkBzc,MAAlB,IAA4B,CAA7D;AACH;;AACD,SAASm0F,aAAT,CAAuB3kF,IAAvB,EAA6B;AACzB,SAAOA,IAAI,YAAY6oD,OAAvB;AACH;;AACD,SAASm7B,YAAT,CAAsBhkF,IAAtB,EAA4B;AACxB,MAAIA,IAAI,CAAC0rB,QAAL,CAAcl7B,MAAd,KAAyB,CAAzB,IAA8B,EAAEwP,IAAI,CAAC0rB,QAAL,CAAc,CAAd,aAA4Bw8B,MAA9B,CAAlC,EAAyE;AACrE,WAAO,IAAP;AACH,GAFD,MAGK;AACD,WAAOloD,IAAI,CAAC0rB,QAAL,CAAc,CAAd,EAAiBv5B,KAAxB;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAI2zF,OAAJ;;AACA,CAAC,UAAUA,OAAV,EAAmB;AAChBA,SAAO,CAACA,OAAO,CAAC,SAAD,CAAP,GAAqB,CAAtB,CAAP,GAAkC,SAAlC;AACAA,SAAO,CAACA,OAAO,CAAC,UAAD,CAAP,GAAsB,CAAvB,CAAP,GAAmC,UAAnC;AACH,CAHD,EAGGA,OAAO,KAAKA,OAAO,GAAG,EAAf,CAHV;AAIA;AACA;AACA;;;AACA,SAASC,aAAT,GAAyB;AACrB,SAAO;AAAEC,eAAW,EAAElrD,qBAAqB,EAApC;AAAwCmrD,QAAI,EAAE,IAAIxyF,GAAJ;AAA9C,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMyyF,W;AACF,uBAAY7oF,KAAZ,EAAmB2b,GAAnB,EAAyE;AAAA,QAAjDw3B,KAAiD,uEAAzC,CAAyC;AAAA,QAAtC21C,aAAsC,uEAAtB,IAAsB;AAAA,QAAhB9mE,IAAgB;AAAA,QAAVmnD,QAAU;;AAAA;;AACrE,SAAKnpE,KAAL,GAAaA,KAAb;AACA,SAAK2b,GAAL,GAAWA,GAAX;AACA,SAAKw3B,KAAL,GAAaA,KAAb;AACA,SAAK21C,aAAL,GAAqBA,aAArB;AACA,SAAK9mE,IAAL,GAAYA,IAAZ;AACA,SAAKmnD,QAAL,GAAgBA,QAAhB;AACA,SAAK/C,QAAL,GAAgB,IAAIz5D,GAAJ,EAAhB;AACA,SAAK2iB,YAAL,GAAoB,IAAIl5B,GAAJ,EAApB;AACA,SAAK2yF,SAAL,GAAiB,KAAjB;AACA,SAAKC,mBAAL,GAA2B,CAA3B;AACA,SAAKC,SAAL,GAAiB9f,QAAQ,IAAIuf,aAAa,EAA1C;AACA,SAAK56E,EAAL,GAAU,KAAKm7E,SAAL,CAAeN,WAAf,EAAV;AACH;;;;WACD,mBAAU9oF,IAAV,EAAgB8C,IAAhB,EAAsB3C,KAAtB,EAA6BkpF,MAA7B,EAAqC;AACjC,UAAIvmF,IAAI,CAAC5P,MAAL,IAAem2F,MAAnB,EAA2B;AACvB,eADuB,CACf;AACX;;AACD,UAAM32D,EAAE,GAAG5vB,IAAI,CAAC5P,MAAL,IAAe,CAACm2F,MAAhB,GAAyBvmF,IAAI,CAACivB,SAA9B,GAA0CjvB,IAAI,CAACkvB,SAA1D;AACA,UAAMpC,OAAO,GAAG;AAAE5vB,YAAI,EAAJA,IAAF;AAAQG,aAAK,EAALA,KAAR;AAAe6V,WAAG,EAAE,KAAK/H,EAAzB;AAA6B/a,cAAM,EAAE4P,IAAI,CAAC5P,MAA1C;AAAkDm2F,cAAM,EAANA;AAAlD,OAAhB;AACAtrD,0BAAoB,CAAC,KAAKtO,YAAN,EAAoBiD,EAApB,EAAwB9C,OAAxB,CAApB;AACH;;;SACD,eAAW;AACP,aAAO,KAAKw5D,SAAL,CAAeL,IAAtB;AACH;;;SACD,eAAa;AACT,aAAO,KAAKz1C,KAAL,KAAe,CAAtB;AACH;;;SACD,eAAiB;AACb,aAAO,KAAK61C,mBAAL,KAA6B,CAApC;AACH;;;WACD,qCAA4B;AACxB,UAAMr0F,MAAM,GAAG,IAAIyB,GAAJ,EAAf;AACA,WAAKk5B,YAAL,CAAkBl8B,OAAlB,CAA0B,UAACgJ,MAAD,EAAS4L,GAAT;AAAA,eAAiBrT,MAAM,CAAC+C,GAAP,CAAWsQ,GAAX,EAAgB5L,MAAM,CAACvE,GAAP,CAAWsxF,yBAAX,CAAhB,CAAjB;AAAA,OAA1B;AACA,aAAOx0F,MAAP;AACH,K,CACD;;;;WACA,uBAAc2xE,OAAd,EAAuB;AACnB,WAAKF,QAAL,CAAcx5D,GAAd,CAAkB05D,OAAlB;AACH;;;WACD,mBAAUjzE,IAAV,EAAgBsoB,GAAhB,EAAqB;AACjBiiB,0BAAoB,CAAC,KAAKqrD,SAAL,CAAeL,IAAhB,EAAsBv1F,IAAtB,EAA4BsoB,GAA5B,CAApB;AACH;;;WACD,yBAAgBhZ,IAAhB,EAAsB;AAAA;;AAClB,UAAMymF,GAAG,GAAGvrD,6BAA6B,CAACl7B,IAAD,EAAO,KAAKyjE,QAAL,CAAc1yD,IAArB,EAA2B,KAAK5F,EAAhC,CAAzC;AACAs7E,SAAG,CAACh2F,OAAJ,CAAY,UAACgJ,MAAD,EAAS4L,GAAT;AAAA,eAAiB41B,oBAAoB,MAApB,UAAqB,QAAI,CAACtO,YAA1B,EAAwCtnB,GAAxC,4JAAgD5L,MAAhD,GAAjB;AAAA,OAAZ;AACH;;;WACD,wBAAeuG,IAAf,EAAqB3C,KAArB,EAA4B;AACxB;AACA;AACA,WAAKqpF,SAAL,CAAeZ,OAAO,CAACa,QAAvB,EAAiC3mF,IAAjC,EAAuC3C,KAAvC,EAA8C,KAA9C;AACA,WAAKqpF,SAAL,CAAeZ,OAAO,CAACa,QAAvB,EAAiC3mF,IAAjC,EAAuC3C,KAAvC,EAA8C,IAA9C;AACA,WAAKgpF,mBAAL;AACH;;;WACD,uBAAcrmF,IAAd,EAAoB3C,KAApB,EAA2BkpF,MAA3B,EAAmC;AAC/B,WAAKG,SAAL,CAAeZ,OAAO,CAACc,OAAvB,EAAgC5mF,IAAhC,EAAsC3C,KAAtC,EAA6CkpF,MAA7C;AACH;;;WACD,0BAAiBvmF,IAAjB,EAAuB3C,KAAvB,EAA8B;AAC1B;AACA;AACA;AACA;AACA,WAAKqpF,SAAL,CAAeZ,OAAO,CAACc,OAAvB,EAAgC5mF,IAAhC,EAAsC3C,KAAtC,EAA6C,KAA7C;AACA,WAAKqpF,SAAL,CAAeZ,OAAO,CAACc,OAAvB,EAAgC5mF,IAAhC,EAAsC3C,KAAtC,EAA6C,IAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,0BAAiBA,KAAjB,EAAwB8oF,aAAxB,EAAuC9mE,IAAvC,EAA6C;AACzC,aAAO,IAAI6mE,WAAJ,CAAgB7oF,KAAhB,EAAuB,KAAK2b,GAA5B,EAAiC,KAAKw3B,KAAL,GAAa,CAA9C,EAAiD21C,aAAjD,EAAgE9mE,IAAhE,EAAsE,KAAKinE,SAA3E,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;;WACI,+BAAsBvrF,OAAtB,EAA+B;AAAA;;AAC3B;AACA;AACA,OAAC,OAAD,EAAU,OAAV,EAAmBtK,OAAnB,CAA2B,UAACktD,EAAD,EAAQ;AAC/B,YAAMt4C,GAAG,GAAGtK,OAAO,CAACskB,IAAR,WAAgBs+B,EAAhB,UAAZ;AACA,YAAM8oC,GAAG,GAAG,QAAI,CAAC95D,YAAL,CAAkB73B,GAAlB,CAAsBuQ,GAAtB,KAA8B,EAA1C;AACA,YAAMpS,GAAG,GAAGwzF,GAAG,CAACrrD,IAAJ,CAASyrD,cAAc,CAAC,QAAI,CAAC17E,EAAN,EAAUpQ,OAAO,CAACorF,aAAlB,CAAvB,CAAZ;;AACA,YAAIlzF,GAAJ,EAAS;AACLA,aAAG,CAACigB,GAAJ,GAAUnY,OAAO,CAACoQ,EAAlB;AACH;AACJ,OAPD,EAH2B,CAW3B;;AACA,UAAM27E,QAAQ,GAAG/rF,OAAO,CAAC4xB,YAAzB;AACAm6D,cAAQ,CAACr2F,OAAT,CAAiB,UAACgJ,MAAD,EAAS4L,GAAT,EAAiB;AAC9B,YAAMohF,GAAG,GAAG,QAAI,CAAC95D,YAAL,CAAkB73B,GAAlB,CAAsBuQ,GAAtB,CAAZ;;AACA,YAAI,CAACohF,GAAL,EAAU;AACN,kBAAI,CAAC95D,YAAL,CAAkB53B,GAAlB,CAAsBsQ,GAAtB,EAA2B5L,MAA3B;;AACA;AACH,SAL6B,CAM9B;;;AACA,YAAMstF,OAAO,GAAGN,GAAG,CAACO,SAAJ,CAAcH,cAAc,CAAC9rF,OAAO,CAACoQ,EAAT,EAAapQ,OAAO,CAACorF,aAArB,CAA5B,CAAhB;;AACA,YAAIY,OAAO,IAAI,CAAf,EAAkB;AACd;AACA,cAAME,UAAU,GAAG5hF,GAAG,CAAC00B,UAAJ,CAAe,OAAf,CAAnB;AACA,cAAMmtD,aAAa,GAAG7hF,GAAG,CAAC8hF,QAAJ,CAAa,aAAb,CAAtB;;AACA,cAAID,aAAJ,EAAmB;AACf;AACA;AACAT,eAAG,CAAChwB,MAAJ,OAAAgwB,GAAG,GAAQM,OAAO,IAAIE,UAAU,GAAG,CAAH,GAAO,CAArB,CAAf,EAAwC,CAAxC,4JAA8CxtF,MAA9C,GAAH;AACH,WAJD,MAKK;AACD,gBAAM4hC,GAAG,GAAG4rD,UAAU,GAAGxtF,MAAM,CAACjJ,MAAP,GAAgB,CAAnB,GAAuB,CAA7C;AACAiJ,kBAAM,CAAC4hC,GAAD,CAAN,CAAY+rD,IAAZ,GAAmBX,GAAG,CAACM,OAAD,CAAtB;AACAN,eAAG,CAAChwB,MAAJ,OAAAgwB,GAAG,GAAQM,OAAR,EAAiB,CAAjB,4JAAuBttF,MAAvB,GAAH;AACH;AACJ,SAdD,MAeK;AACD;AACAgtF,aAAG,CAACx0F,IAAJ,OAAAw0F,GAAG,qJAAShtF,MAAT,EAAH;AACH;;AACD,gBAAI,CAACkzB,YAAL,CAAkB53B,GAAlB,CAAsBsQ,GAAtB,EAA2BohF,GAA3B;AACH,OA5BD;AA6BA,WAAKJ,mBAAL;AACH;;;;KAEL;AACA;AACA;;;AACA,SAASgB,IAAT,CAAcp0C,MAAd,EAAsB51C,KAAtB,EAA6Bk9B,SAA7B,EAAwCgsD,MAAxC,EAAgD;AAC5C,MAAMxzB,KAAK,GAAGwzB,MAAM,GAAG,GAAH,GAAS,EAA7B;AACA,SAAOjsD,mBAAmB,WAAIy4B,KAAJ,SAAY9f,MAAZ,SAAqB51C,KAArB,GAA8Bk9B,SAA9B,CAA1B;AACH;;AACD,SAAS+sD,OAAT,CAAiBr0C,MAAjB,UAAiDszC,MAAjD,EAAyD;AAAA,MAA9BlpF,KAA8B,UAA9BA,KAA8B;AAAA,MAAvB6V,GAAuB,UAAvBA,GAAuB;AAAA,MAAlB9iB,MAAkB,UAAlBA,MAAkB;AACrD,SAAOA,MAAM,GAAGi3F,IAAI,CAACp0C,MAAD,EAAS51C,KAAT,EAAgB6V,GAAhB,CAAJ,GAA2Bm0E,IAAI,CAACp0C,MAAD,EAAS51C,KAAT,EAAgB6V,GAAhB,EAAqB,IAArB,CAAlC,GACTm0E,IAAI,CAACp0C,MAAD,EAAS51C,KAAT,EAAgB6V,GAAhB,EAAqBqzE,MAArB,CADR;AAEH;;AACD,SAASM,cAAT,CAAwB3zE,GAAxB,EAA6BizE,aAA7B,EAA4C;AACxC,SAAO,UAAC/vF,KAAD;AAAA,WAAW,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,CAAC8G,IAAN,KAAe4oF,OAAO,CAACa,QAApD,IACdvwF,KAAK,CAACiH,KAAN,KAAgB8oF,aADF,IACmB/vF,KAAK,CAAC8c,GAAN,KAAcA,GAD5C;AAAA,GAAP;AAEH;;AACD,SAASszE,yBAAT,CAAmCr0F,KAAnC,EAA0C;AACtC,MAAMb,OAAO,GAAG,SAAVA,OAAU,CAACuF,IAAD,EAAO0vF,MAAP;AAAA,WAAkBe,OAAO,CAAC,GAAD,EAAMzwF,IAAN,EAAY0vF,MAAZ,CAAzB;AAAA,GAAhB;;AACA,MAAMrsE,QAAQ,GAAG,SAAXA,QAAW,CAACrjB,IAAD,EAAO0vF,MAAP;AAAA,WAAkBe,OAAO,CAAC,GAAD,EAAMzwF,IAAN,EAAY0vF,MAAZ,CAAzB;AAAA,GAAjB;;AACA,MAAMlgE,UAAU,GAAG,SAAbA,UAAa,CAACxvB,IAAD,EAAO0vF,MAAP;AAAA,WAAkBe,OAAO,CAAC,GAAD,EAAMzwF,IAAN,EAAY0vF,MAAZ,CAAzB;AAAA,GAAnB;;AACA,UAAQp0F,KAAK,CAAC+K,IAAd;AACI,SAAK4oF,OAAO,CAACc,OAAb;AACI;AACA,UAAIz0F,KAAK,CAACo0F,MAAV,EAAkB;AACd,eAAOj1F,OAAO,CAACa,KAAD,EAAQ,IAAR,CAAP,IAAwBA,KAAK,CAACi1F,IAAN,GAAaltE,QAAQ,CAAC/nB,KAAK,CAACi1F,IAAP,EAAa,IAAb,CAArB,GAA0C,EAAlE,CAAP;AACH,OAJL,CAKI;;;AACA,UAAIj1F,KAAK,CAACi1F,IAAV,EAAgB;AACZ,eAAOltE,QAAQ,CAAC/nB,KAAK,CAACi1F,IAAP,CAAR,GAAuB91F,OAAO,CAACa,KAAD,CAA9B,IACFA,KAAK,CAAC/B,MAAN,GAAe8pB,QAAQ,CAAC/nB,KAAK,CAACi1F,IAAP,EAAa,IAAb,CAAvB,GAA4C,EAD1C,CAAP;AAEH;;AACD,aAAO91F,OAAO,CAACa,KAAD,CAAd;;AACJ,SAAK2zF,OAAO,CAACa,QAAb;AACI,aAAOzsE,QAAQ,CAAC/nB,KAAD,EAAQA,KAAK,CAACo0F,MAAd,CAAf;;AACJ;AACI,aAAOp0F,KAAP;AAfR;AAiBH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMo1F,oB;;;;;;;WACF,mBAAUjmF,IAAV,EAAgB;AACZ,aAAOA,IAAI,CAACnP,KAAZ;AACH;;;WACD,wBAAes9B,SAAf,EAA0B;AAAA;;AACtB,aAAOA,SAAS,CAAC/D,QAAV,CAAmBx2B,GAAnB,CAAuB,UAAA46B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,QAAZ,CAAJ;AAAA,OAA5B,EAAmDh8B,IAAnD,CAAwD,EAAxD,CAAP;AACH;;;WACD,kBAASm7B,GAAT,EAAc;AAAA;;AACV,UAAMiF,QAAQ,GAAGl7B,MAAM,CAAC+T,IAAP,CAAYkiB,GAAG,CAACgC,KAAhB,EAAuB75B,GAAvB,CAA2B,UAAC66B,CAAD;AAAA,yBAAUA,CAAV,eAAgBhD,GAAG,CAACgC,KAAJ,CAAUgB,CAAV,EAAanC,KAAb,CAAmB,QAAnB,CAAhB;AAAA,OAA3B,CAAjB;AACA,UAAM57B,MAAM,cAAO+6B,GAAG,CAAC4C,qBAAX,eAAqC5C,GAAG,CAAC7vB,IAAzC,eAAkD80B,QAAQ,CAACpgC,IAAT,CAAc,GAAd,CAAlD,MAAZ;AACA,aAAOI,MAAP;AACH;;;WACD,6BAAoB49B,EAApB,EAAwB;AAAA;;AACpB,aAAOA,EAAE,CAACx/B,MAAH,GACH,KAAKo3F,QAAL,CAAc53D,EAAE,CAACX,SAAjB,CADG,aAEA,KAAKu4D,QAAL,CAAc53D,EAAE,CAACX,SAAjB,CAFA,SAE8BW,EAAE,CAAClE,QAAH,CAAYx2B,GAAZ,CAAgB,UAAA46B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,QAAZ,CAAJ;AAAA,OAArB,EAA4Ch8B,IAA5C,CAAiD,EAAjD,CAF9B,SAEqF,KAAK41F,QAAL,CAAc53D,EAAE,CAACV,SAAjB,CAFrF,CAAP;AAGH;;;WACD,0BAAiBU,EAAjB,EAAqB;AACjB,aAAO,KAAK43D,QAAL,CAAc53D,EAAE,CAACl/B,IAAjB,CAAP;AACH;;;WACD,6BAAoBk/B,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7B,aAAO,KAAKysF,QAAL,CAAc53D,EAAE,CAACl/B,IAAjB,CAAP;AACH;;;WACD,kBAASyB,KAAT,EAAgB;AACZ,wBAAWspC,yBAAyB,CAACtpC,KAAD;AAAQ;AAAmB,WAA3B,CAApC;AACH;;;;;;AAEL,IAAMs1F,UAAU,GAAG,IAAIF,oBAAJ,EAAnB;;AACA,SAASG,gBAAT,CAA0B36D,GAA1B,EAA+B;AAC3B,SAAOA,GAAG,CAACa,KAAJ,CAAU65D,UAAV,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAME,wBAAwB,GAAG;AAC7B,OAAK,MADwB;AAE7B,OAAK,WAFwB;AAG7B,QAAM,YAHuB;AAI7B,QAAM,iBAJuB;AAK7B,QAAM,gBALuB;AAM7B,QAAM,gBANuB;AAO7B,QAAM,gBAPuB;AAQ7B,QAAM,gBARuB;AAS7B,QAAM,gBATuB;AAU7B,QAAM,gBAVuB;AAW7B,QAAM,iBAXuB;AAY7B,OAAK,aAZwB;AAa7B,QAAM,WAbuB;AAc7B,UAAQ,YAdqB;AAe7B,QAAM,cAfuB;AAgB7B,OAAK,WAhBwB;AAiB7B,OAAK,WAjBwB;AAkB7B,OAAK,oBAlBwB;AAmB7B,WAAS,YAnBoB;AAoB7B,SAAO,WApBsB;AAqB7B,SAAO,aArBsB;AAsB7B,WAAS,YAtBoB;AAuB7B,QAAM,YAvBuB;AAwB7B,WAAS,cAxBoB;AAyB7B,QAAM,mBAzBuB;AA0B7B,WAAS,cA1BoB;AA2B7B,QAAM,WA3BuB;AA4B7B,QAAM,iBA5BuB;AA6B7B,OAAK,iBA7BwB;AA8B7B,QAAM;AA9BuB,CAAjC;AAgCA;AACA;AACA;AACA;AACA;;IACMC,mB;AACF,iCAAc;AAAA;;AACV;AACA,SAAKC,sBAAL,GAA8B,EAA9B,CAFU,CAGV;;AACA,SAAKC,gBAAL,GAAwB,EAAxB;AACH;;;;WACD,oCAA2B70F,GAA3B,EAAgCzB,KAAhC,EAAuCpB,MAAvC,EAA+C;AAC3C,UAAM23F,SAAS,GAAG,KAAKC,QAAL,CAAc/0F,GAAd,EAAmBzB,KAAnB,EAA0BpB,MAA1B,CAAlB;;AACA,UAAI,KAAK03F,gBAAL,CAAsBC,SAAtB,CAAJ,EAAsC;AAClC,eAAO,KAAKD,gBAAL,CAAsBC,SAAtB,CAAP;AACH;;AACD,UAAME,QAAQ,GAAGh1F,GAAG,CAACyZ,WAAJ,EAAjB;AACA,UAAM6S,QAAQ,GAAGooE,wBAAwB,CAACM,QAAD,CAAxB,kBAA6CA,QAA7C,CAAjB;;AACA,UAAMv3F,IAAI,GAAG,KAAKw3F,mBAAL,CAAyB93F,MAAM,GAAGmvB,QAAH,mBAAuBA,QAAvB,CAA/B,CAAb;;AACA,WAAKuoE,gBAAL,CAAsBC,SAAtB,IAAmCr3F,IAAnC;AACA,aAAOA,IAAP;AACH;;;WACD,oCAA2BuC,GAA3B,EAAgC;AAC5B,UAAM80F,SAAS,GAAG,KAAKI,eAAL,CAAqBl1F,GAArB,CAAlB;;AACA,UAAI,KAAK60F,gBAAL,CAAsBC,SAAtB,CAAJ,EAAsC;AAClC,eAAO,KAAKD,gBAAL,CAAsBC,SAAtB,CAAP;AACH;;AACD,UAAME,QAAQ,GAAGh1F,GAAG,CAACyZ,WAAJ,EAAjB;AACA,UAAM6S,QAAQ,GAAGooE,wBAAwB,CAACM,QAAD,CAAxB,kBAA6CA,QAA7C,CAAjB;;AACA,UAAMv3F,IAAI,GAAG,KAAKw3F,mBAAL,iBAAkC3oE,QAAlC,EAAb;;AACA,WAAKuoE,gBAAL,CAAsBC,SAAtB,IAAmCr3F,IAAnC;AACA,aAAOA,IAAP;AACH;;;WACD,4BAAmBA,IAAnB,EAAyBo8B,OAAzB,EAAkC;AAC9B,UAAMs7D,SAAS,GAAG13F,IAAI,CAACgc,WAAL,EAAlB;AACA,UAAMq7E,SAAS,iBAAUK,SAAV,cAAuBt7D,OAAvB,CAAf;;AACA,UAAI,KAAKg7D,gBAAL,CAAsBC,SAAtB,CAAJ,EAAsC;AAClC,eAAO,KAAKD,gBAAL,CAAsBC,SAAtB,CAAP;AACH;;AACD,UAAM5zE,UAAU,GAAG,KAAK+zE,mBAAL,CAAyBE,SAAzB,CAAnB;;AACA,WAAKN,gBAAL,CAAsBC,SAAtB,IAAmC5zE,UAAnC;AACA,aAAOA,UAAP;AACH;;;WACD,8BAAqBzjB,IAArB,EAA2B;AACvB,aAAO,KAAKw3F,mBAAL,CAAyBx3F,IAAI,CAACgc,WAAL,EAAzB,CAAP;AACH,K,CACD;;;;WACA,kBAASzZ,GAAT,EAAczB,KAAd,EAAqBpB,MAArB,EAA6B;AACzB,UAAM89B,KAAK,cAAOj7B,GAAP,CAAX;AACA,UAAM+iC,QAAQ,GAAGl/B,MAAM,CAAC+T,IAAP,CAAYrZ,KAAZ,EAAmB+rE,IAAnB,GAA0BroE,GAA1B,CAA8B,UAACxE,IAAD;AAAA,0BAAcA,IAAd,cAAsBc,KAAK,CAACd,IAAD,CAA3B;AAAA,OAA9B,EAAmEkB,IAAnE,CAAwE,EAAxE,CAAjB;AACA,UAAM68B,GAAG,GAAGr+B,MAAM,GAAG,IAAH,gBAAgB6C,GAAhB,MAAlB;AACA,aAAOi7B,KAAK,GAAG8H,QAAR,GAAmBvH,GAA1B;AACH;;;WACD,yBAAgBx7B,GAAhB,EAAqB;AACjB,aAAO,KAAK+0F,QAAL,YAAkB/0F,GAAlB,GAAyB,EAAzB,EAA6B,KAA7B,CAAP;AACH;;;WACD,6BAAoB2J,IAApB,EAA0B;AACtB,UAAMyrF,IAAI,GAAG,KAAKR,sBAAL,CAA4B/3E,cAA5B,CAA2ClT,IAA3C,CAAb;;AACA,UAAI,CAACyrF,IAAL,EAAW;AACP,aAAKR,sBAAL,CAA4BjrF,IAA5B,IAAoC,CAApC;AACA,eAAOA,IAAP;AACH;;AACD,UAAMuO,EAAE,GAAG,KAAK08E,sBAAL,CAA4BjrF,IAA5B,CAAX;AACA,WAAKirF,sBAAL,CAA4BjrF,IAA5B,IAAoCuO,EAAE,GAAG,CAAzC;AACA,uBAAUvO,IAAV,cAAkBuO,EAAlB;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMm9E,UAAU,GAAG,IAAI5O,QAAJ,CAAa,IAAIhD,KAAJ,EAAb,CAAnB;AACA;AACA;AACA;;;AACA,SAAS6R,wBAAT,CAAkCl9B,mBAAlC,EAAuD;AACnD,MAAMvwD,OAAO,GAAG,IAAI0tF,YAAJ,CAAiBF,UAAjB,EAA6Bj9B,mBAA7B,CAAhB;AACA,SAAO,UAAC19B,KAAD,EAAQxrB,OAAR,EAAiBD,WAAjB,EAA8BE,QAA9B,EAAwCqmF,WAAxC;AAAA,WAAwD3tF,OAAO,CAAC4tF,aAAR,CAAsB/6D,KAAtB,EAA6BxrB,OAA7B,EAAsCD,WAAtC,EAAmDE,QAAnD,EAA6DqmF,WAA7D,CAAxD;AAAA,GAAP;AACH;;AACD,SAASE,eAAT,CAAyBC,KAAzB,EAAgC/iE,IAAhC,EAAsC;AAClC,SAAOA,IAAP;AACH;;IACK2iE,Y;AACF,wBAAYK,iBAAZ,EAA+Bz9B,oBAA/B,EAAqD;AAAA;;AACjD,SAAKy9B,iBAAL,GAAyBA,iBAAzB;AACA,SAAKz9B,oBAAL,GAA4BA,oBAA5B;AACH;;;;WACD,uBAAcz9B,KAAd,EAAiF;AAAA,UAA5DxrB,OAA4D,uEAAlD,EAAkD;AAAA,UAA9CD,WAA8C,uEAAhC,EAAgC;AAAA,UAA5BE,QAA4B,uEAAjB,EAAiB;AAAA,UAAbqmF,WAAa;AAC7E,UAAM1tF,OAAO,GAAG;AACZ+tF,aAAK,EAAEn7D,KAAK,CAACn9B,MAAN,IAAgB,CAAhB,IAAqBm9B,KAAK,CAAC,CAAD,CAAL,YAAoBw6B,SADpC;AAEZ4gC,gBAAQ,EAAE,CAFE;AAGZC,2BAAmB,EAAE,IAAIpB,mBAAJ,EAHT;AAIZqB,4BAAoB,EAAE,EAJV;AAKZj7D,4BAAoB,EAAE,EALV;AAMZy6D,mBAAW,EAAEA,WAAW,IAAIE;AANhB,OAAhB;AAQA,UAAMO,QAAQ,GAAGngC,UAAU,CAAC,IAAD,EAAOp7B,KAAP,EAAc5yB,OAAd,CAA3B;AACA,aAAO,IAAIgzB,OAAJ,CAAYm7D,QAAZ,EAAsBnuF,OAAO,CAACkuF,oBAA9B,EAAoDluF,OAAO,CAACizB,oBAA5D,EAAkF7rB,OAAlF,EAA2FD,WAA3F,EAAwGE,QAAxG,CAAP;AACH;;;WACD,sBAAauzD,EAAb,EAAiB56D,OAAjB,EAA0B;AACtB,UAAIhK,EAAJ;;AACA,UAAM26B,QAAQ,GAAGq9B,UAAU,CAAC,IAAD,EAAO4M,EAAE,CAACjqC,QAAV,EAAoB3wB,OAApB,CAA3B;AACA,UAAMvJ,KAAK,GAAG,EAAd;AACAmkE,QAAE,CAACnkE,KAAH,CAASf,OAAT,CAAiB,UAAA2pC,IAAI,EAAI;AACrB;AACA5oC,aAAK,CAAC4oC,IAAI,CAAC1pC,IAAN,CAAL,GAAmB0pC,IAAI,CAACjoC,KAAxB;AACH,OAHD;AAIA,UAAM/B,MAAM,GAAGU,oBAAoB,CAAC6kE,EAAE,CAACjlE,IAAJ,CAApB,CAA8BN,MAA7C;AACA,UAAM+4F,WAAW,GAAGpuF,OAAO,CAACiuF,mBAAR,CAA4BI,0BAA5B,CAAuDzzB,EAAE,CAACjlE,IAA1D,EAAgEc,KAAhE,EAAuEpB,MAAvE,CAApB;AACA2K,aAAO,CAACkuF,oBAAR,CAA6BE,WAA7B,IAA4C;AACxC7nF,YAAI,EAAEq0D,EAAE,CAAC/pC,eAAH,CAAmBlc,QAAnB,EADkC;AAExCvS,kBAAU,EAAEw4D,EAAE,CAAC/pC;AAFyB,OAA5C;AAIA,UAAIy9D,WAAW,GAAG,EAAlB;;AACA,UAAI,CAACj5F,MAAL,EAAa;AACTi5F,mBAAW,GAAGtuF,OAAO,CAACiuF,mBAAR,CAA4BM,0BAA5B,CAAuD3zB,EAAE,CAACjlE,IAA1D,CAAd;AACAqK,eAAO,CAACkuF,oBAAR,CAA6BI,WAA7B,IAA4C;AACxC/nF,cAAI,cAAOq0D,EAAE,CAACjlE,IAAV,MADoC;AAExCyM,oBAAU,EAAE,CAACpM,EAAE,GAAG4kE,EAAE,CAAC9pC,aAAT,MAA4B,IAA5B,IAAoC96B,EAAE,KAAK,KAAK,CAAhD,GAAoDA,EAApD,GAAyD4kE,EAAE,CAACx4D;AAFhC,SAA5C;AAIH;;AACD,UAAM6C,IAAI,GAAG,IAAIgvB,cAAJ,CAAmB2mC,EAAE,CAACjlE,IAAtB,EAA4Bc,KAA5B,EAAmC23F,WAAnC,EAAgDE,WAAhD,EAA6D39D,QAA7D,EAAuEt7B,MAAvE,EAA+EulE,EAAE,CAACx4D,UAAlF,EAA8Fw4D,EAAE,CAAC/pC,eAAjG,EAAkH+pC,EAAE,CAAC9pC,aAArH,CAAb;AACA,aAAO9wB,OAAO,CAAC0tF,WAAR,CAAoB9yB,EAApB,EAAwB31D,IAAxB,CAAP;AACH;;;WACD,wBAAe1M,SAAf,EAA0ByH,OAA1B,EAAmC;AAC/B,UAAMiF,IAAI,GAAG,KAAK+kF,2BAAL,CAAiCzxF,SAAS,CAACnB,KAA3C,EAAkDmB,SAAS,CAACo3B,SAAV,IAAuBp3B,SAAS,CAAC6J,UAAnF,EAA+FpC,OAA/F,EAAwGzH,SAAS,CAACuyB,IAAlH,CAAb;;AACA,aAAO9qB,OAAO,CAAC0tF,WAAR,CAAoBn1F,SAApB,EAA+B0M,IAA/B,CAAP;AACH;;;WACD,mBAAUsB,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB,UAAMiF,IAAI,GAAG,KAAK+kF,2BAAL,CAAiCzjF,IAAI,CAACnP,KAAtC,EAA6CmP,IAAI,CAACnE,UAAlD,EAA8DpC,OAA9D,EAAuEuG,IAAI,CAACukB,IAA5E,CAAb;;AACA,aAAO9qB,OAAO,CAAC0tF,WAAR,CAAoBnnF,IAApB,EAA0BtB,IAA1B,CAAP;AACH;;;WACD,sBAAaknC,OAAb,EAAsBnsC,OAAtB,EAA+B;AAC3B,aAAO,IAAP;AACH;;;WACD,wBAAegyB,GAAf,EAAoBhyB,OAApB,EAA6B;AAAA;;AACzBA,aAAO,CAACguF,QAAR;AACA,UAAMQ,YAAY,GAAG,EAArB;AACA,UAAMC,OAAO,GAAG,IAAI16D,KAAJ,CAAU/B,GAAG,CAACq7B,WAAd,EAA2Br7B,GAAG,CAAC7vB,IAA/B,EAAqCqsF,YAArC,EAAmDx8D,GAAG,CAAC5vB,UAAvD,CAAhB;AACA4vB,SAAG,CAACgC,KAAJ,CAAUt+B,OAAV,CAAkB,UAACg5F,IAAD,EAAU;AACxBF,oBAAY,CAACE,IAAI,CAACt3F,KAAN,CAAZ,GAA2B,IAAIy8B,SAAJ,CAAc66D,IAAI,CAAC53E,UAAL,CAAgB3c,GAAhB,CAAoB,UAAC8K,IAAD;AAAA,iBAAUA,IAAI,CAAC4tB,KAAL,CAAW,QAAX,EAAiB7yB,OAAjB,CAAV;AAAA,SAApB,CAAd,EAAwE0uF,IAAI,CAAChhC,aAA7E,CAA3B;AACH,OAFD;AAGA1tD,aAAO,CAACguF,QAAR;;AACA,UAAIhuF,OAAO,CAAC+tF,KAAR,IAAiB/tF,OAAO,CAACguF,QAAR,GAAmB,CAAxC,EAA2C;AACvC;AACA;AACA;AACA,YAAMW,KAAK,GAAG3uF,OAAO,CAACiuF,mBAAR,CAA4BW,oBAA5B,eAAwD58D,GAAG,CAAC7vB,IAA5D,EAAd;AACAssF,eAAO,CAAC75D,qBAAR,GAAgC+5D,KAAhC;AACA3uF,eAAO,CAACkuF,oBAAR,CAA6BS,KAA7B,IAAsC;AAClCpoF,cAAI,EAAEyrB,GAAG,CAACq7B,WADwB;AAElCjrD,oBAAU,EAAE4vB,GAAG,CAACs7B;AAFkB,SAAtC;AAIA,eAAOttD,OAAO,CAAC0tF,WAAR,CAAoB17D,GAApB,EAAyBy8D,OAAzB,CAAP;AACH,OAnBwB,CAoBzB;AACA;AACA;AACA;;;AACA,UAAMI,MAAM,GAAG7uF,OAAO,CAACiuF,mBAAR,CAA4Ba,kBAA5B,CAA+C,KAA/C,EAAsD98D,GAAG,CAAC5vB,UAAJ,CAAeuS,QAAf,EAAtD,CAAf;AACA3U,aAAO,CAACizB,oBAAR,CAA6B47D,MAA7B,IAAuC,KAAKlB,aAAL,CAAmB,CAAC37D,GAAD,CAAnB,EAA0B,EAA1B,EAA8B,EAA9B,EAAkC,EAAlC,EAAsCt2B,SAAtC,CAAvC;AACA,UAAMuJ,IAAI,GAAG,IAAIsvB,cAAJ,CAAmBk6D,OAAnB,EAA4BI,MAA5B,EAAoC78D,GAAG,CAAC5vB,UAAxC,CAAb;AACA,aAAOpC,OAAO,CAAC0tF,WAAR,CAAoB17D,GAApB,EAAyB/sB,IAAzB,CAAP;AACH;;;WACD,4BAAmB8pF,QAAnB,EAA6BC,QAA7B,EAAuC;AACnC,YAAM,IAAI96F,KAAJ,CAAU,kBAAV,CAAN;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,qCAA4BqS,IAA5B,EAAkCnE,UAAlC,EAA8CpC,OAA9C,EAAuDivF,YAAvD,EAAqE;AACjE,kCAAiC,KAAKnB,iBAAL,CAAuBpO,kBAAvB,CAA0Cn5E,IAA1C,EAAgDnE,UAAU,CAAC+wB,KAAX,CAAiBxe,QAAjB,EAAhD,EAA6E,KAAK07C,oBAAlF,CAAjC;AAAA,UAAQ1wB,OAAR,yBAAQA,OAAR;AAAA,UAAiB74B,WAAjB,yBAAiBA,WAAjB,CADiE,CAEjE;;;AACA,UAAIA,WAAW,CAACrR,MAAZ,KAAuB,CAA3B,EAA8B;AAC1B,eAAO,IAAIm+B,MAAJ,CAAWrtB,IAAX,EAAiBnE,UAAjB,CAAP;AACH,OALgE,CAMjE;;;AACA,UAAMwwB,KAAK,GAAG,EAAd;;AACA,WAAK,IAAI97B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6oC,OAAO,CAAClqC,MAAR,GAAiB,CAArC,EAAwCqB,CAAC,EAAzC,EAA6C;AACzC,aAAKo4F,QAAL,CAAct8D,KAAd,EAAqB+M,OAAO,CAAC7oC,CAAD,CAA5B,EAAiCsL,UAAjC;;AACA,aAAK+sF,eAAL,CAAqBv8D,KAArB,EAA4B5yB,OAA5B,EAAqC8G,WAAW,CAAChQ,CAAD,CAAhD,EAAqDsL,UAArD;AACH,OAXgE,CAYjE;;;AACA,WAAK8sF,QAAL,CAAct8D,KAAd,EAAqB+M,OAAO,CAACA,OAAO,CAAClqC,MAAR,GAAiB,CAAlB,CAA5B,EAAkD2M,UAAlD,EAbiE,CAcjE;;;AACAgtF,8BAAwB,CAACx8D,KAAD,EAAQq8D,YAAR,CAAxB;AACA,aAAO,IAAIp7D,SAAJ,CAAcjB,KAAd,EAAqBxwB,UAArB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,kBAASwwB,KAAT,EAAgBy8D,SAAhB,EAA2BC,iBAA3B,EAA8C;AAC1C,UAAID,SAAS,CAAC9oF,IAAV,CAAe9Q,MAAf,GAAwB,CAA5B,EAA+B;AAC3B;AACA,YAAM85F,UAAU,GAAGC,mBAAmB,CAACF,iBAAD,EAAoBD,SAApB,CAAtC;AACAz8D,aAAK,CAAC17B,IAAN,CAAW,IAAI08B,MAAJ,CAAWy7D,SAAS,CAAC9oF,IAArB,EAA2BgpF,UAA3B,CAAX;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,yBAAgB38D,KAAhB,EAAuB5yB,OAAvB,EAAgC8W,UAAhC,EAA4Cw4E,iBAA5C,EAA+D;AAC3D,UAAMltF,UAAU,GAAGotF,mBAAmB,CAACF,iBAAD,EAAoBx4E,UAApB,CAAtC;AACA,UAAM0N,QAAQ,GAAGirE,sBAAsB,CAAC34E,UAAU,CAACvQ,IAAZ,CAAtB,IAA2C,eAA5D;AACA,UAAMsoF,MAAM,GAAG7uF,OAAO,CAACiuF,mBAAR,CAA4Ba,kBAA5B,CAA+CtqE,QAA/C,EAAyD1N,UAAU,CAACvQ,IAApE,CAAf;AACA,UAAMA,IAAI,GAAG,KAAK8pD,oBAAL,CAA0Bl9B,KAA1B,GAAkCrc,UAAU,CAACvQ,IAA7C,GAAoD,KAAK8pD,oBAAL,CAA0B38B,GAA3F;AACA1zB,aAAO,CAACkuF,oBAAR,CAA6BW,MAA7B,IAAuC;AAAEtoF,YAAI,EAAJA,IAAF;AAAQnE,kBAAU,EAAVA;AAAR,OAAvC;AACAwwB,WAAK,CAAC17B,IAAN,CAAW,IAAIm9B,WAAJ,CAAgBvd,UAAU,CAACvQ,IAA3B,EAAiCsoF,MAAjC,EAAyCzsF,UAAzC,CAAX;AACH;;;;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgtF,wBAAT,CAAkCx8D,KAAlC,EAAyCq8D,YAAzC,EAAuD;AACnD,MAAIA,YAAY,YAAYj8D,OAA5B,EAAqC;AACjC;AACA;AACA;AACA08D,gCAA4B,CAACT,YAAD,CAA5B;AACAA,gBAAY,GAAGA,YAAY,CAACr8D,KAAb,CAAmB,CAAnB,CAAf;AACH;;AACD,MAAIq8D,YAAY,YAAYp7D,SAA5B,EAAuC;AACnC;AACA;AACA87D,yBAAqB,CAACV,YAAY,CAACt+D,QAAd,EAAwBiC,KAAxB,CAArB,CAHmC,CAInC;;AACA,SAAK,IAAI97B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG87B,KAAK,CAACn9B,MAA1B,EAAkCqB,CAAC,EAAnC,EAAuC;AACnC87B,WAAK,CAAC97B,CAAD,CAAL,CAASsL,UAAT,GAAsB6sF,YAAY,CAACt+D,QAAb,CAAsB75B,CAAtB,EAAyBsL,UAA/C;AACH;AACJ;AACJ;AACD;AACA;AACA;;;AACA,SAASstF,4BAAT,CAAsCn5D,OAAtC,EAA+C;AAC3C,MAAM3D,KAAK,GAAG2D,OAAO,CAAC3D,KAAtB;;AACA,MAAIA,KAAK,CAACn9B,MAAN,KAAiB,CAAjB,IAAsB,EAAEm9B,KAAK,CAAC,CAAD,CAAL,YAAoBiB,SAAtB,CAA1B,EAA4D;AACxD,UAAM,IAAI3/B,KAAJ,CAAU,8FAAV,CAAN;AACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASy7F,qBAAT,CAA+BC,aAA/B,EAA8Ch9D,KAA9C,EAAqD;AACjD,MAAIg9D,aAAa,CAACn6F,MAAd,KAAyBm9B,KAAK,CAACn9B,MAAnC,EAA2C;AACvC,UAAM,IAAIvB,KAAJ,CAAU,4EAAV,CAAN;AACH;;AACD,MAAI07F,aAAa,CAACr8E,IAAd,CAAmB,UAACtO,IAAD,EAAOnO,CAAP;AAAA,WAAa87B,KAAK,CAAC97B,CAAD,CAAL,CAAS8Y,WAAT,KAAyB3K,IAAI,CAAC2K,WAA3C;AAAA,GAAnB,CAAJ,EAAgF;AAC5E,UAAM,IAAI1b,KAAJ,CAAU,+EAAV,CAAN;AACH;AACJ;AACD;AACA;AACA;;;AACA,SAASs7F,mBAAT,CAA6BptF,UAA7B,UAAyD;AAAA,MAAd+wB,KAAc,UAAdA,KAAc;AAAA,MAAPO,GAAO,UAAPA,GAAO;AACrD,SAAO,IAAI0hB,eAAJ,CAAoBhzC,UAAU,CAACizC,SAAX,CAAqBgP,MAArB,CAA4BlxB,KAA5B,CAApB,EAAwD/wB,UAAU,CAACizC,SAAX,CAAqBgP,MAArB,CAA4B3wB,GAA5B,CAAxD,CAAP;AACH;;AACD,IAAMm8D,cAAc,GAAG,6EAAvB;;AACA,SAASJ,sBAAT,CAAgC/9E,KAAhC,EAAuC;AACnC,SAAOA,KAAK,CAACyD,KAAN,CAAY06E,cAAZ,EAA4B,CAA5B,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAWC,QAAX,EAAwB;AACxC,MAAID,QAAQ,YAAY7iC,YAAxB,EAAsC;AAClC,QAAI8iC,QAAQ,YAAYz7D,cAApB,IAAsCw7D,QAAQ,CAACjlE,IAAT,YAAyBkI,OAAnE,EAA4E;AACxE;AACA;AACA;AACA;AACAg9D,cAAQ,CAACC,eAAT,GAA2BF,QAAQ,CAACjlE,IAApC;AACH;;AACDilE,YAAQ,CAACjlE,IAAT,GAAgBklE,QAAhB;AACH;;AACD,SAAOA,QAAP;AACH,CAZD;AAaA;AACA;AACA;AACA;AACA;;;IACME,e;AACF,6BAAgI;AAAA,QAApH5/B,mBAAoH,uEAA9F1oB,4BAA8F;AAAA,QAAhEuoD,aAAgE,uEAAhD,KAAgD;AAAA,QAAzCC,+BAAyC,uEAAP,KAAO;;AAAA;;AAC5H,SAAK9/B,mBAAL,GAA2BA,mBAA3B;AACA,SAAK6/B,aAAL,GAAqBA,aAArB;AACA,SAAKC,+BAAL,GAAuCA,+BAAvC,CAH4H,CAI5H;;AACA,SAAKjxD,WAAL,GAAmB,KAAnB,CAL4H,CAM5H;;AACA,SAAKkxD,kBAAL,GAA0B7C,wBAAwB,CAAC,KAAKl9B,mBAAN,CAAlD;AACH;;;;WACD,8BAAqB19B,KAArB,EAAoD;AAAA,UAAxBtO,IAAwB,uEAAjB,EAAiB;AAAA,UAAbopE,WAAa;;AAChD,iCAA2C,KAAK4C,cAAL,CAAoBhsE,IAApB,CAA3C;AAAA,UAAQld,OAAR,wBAAQA,OAAR;AAAA,UAAiBD,WAAjB,wBAAiBA,WAAjB;AAAA,UAA8BE,QAA9B,wBAA8BA,QAA9B;;AACA,UAAMkvB,OAAO,GAAG,KAAK85D,kBAAL,CAAwBz9D,KAAxB,EAA+BxrB,OAA/B,EAAwCD,WAAxC,EAAqDE,QAArD,EAA+DqmF,WAA/D,CAAhB;;AACA,WAAK6C,aAAL,CAAmBh6D,OAAnB,EAA4BjS,IAA5B;;AACA,WAAKksE,aAAL,CAAmBj6D,OAAnB,EAA4BjS,IAA5B;;AACA,aAAOiS,OAAP;AACH;;;WACD,sBAAahgC,OAAb,EAAsB;AAClB,UAAI6oC,YAAY,CAAC7oC,OAAD,CAAhB,EAA2B;AACvB,aAAK4oC,WAAL,GAAmB,IAAnB;AACA,YAAM1oC,KAAK,GAAG,EAAd;AACA,YAAMg6F,SAAS,GAAG,EAAlB;;AAHuB,oLAIJl6F,OAAO,CAACE,KAJJ;AAAA;;AAAA;AAIvB,oEAAkC;AAAA,gBAAvB4oC,KAAuB;;AAC9B,gBAAIA,KAAI,CAAC1pC,IAAL,KAAc+oC,SAAlB,EAA6B;AACzB;AACA,kBAAM5T,IAAI,GAAGv0B,OAAO,CAACu0B,IAAR,IAAgBuU,KAAI,CAACjoC,KAAlC;;AACA,kBAAMm/B,OAAO,GAAG,KAAKm6D,oBAAL,CAA0Bn6F,OAAO,CAACo6B,QAAlC,EAA4C7F,IAA5C,EAAkDglE,WAAlD,CAAhB,CAHyB,CAIzB;;;AACA,kBAAIv5D,OAAO,CAAC3D,KAAR,CAAcn9B,MAAlB,EAA0B;AACtBc,uBAAO,CAACu0B,IAAR,GAAeyL,OAAf;AACH;AACJ,aARD,MASK,IAAI8I,KAAI,CAAC1pC,IAAL,CAAUqpC,UAAV,CAAqBL,gBAArB,CAAJ,EAA4C;AAC7C;AACA,kBAAMr0B,GAAG,GAAG+0B,KAAI,CAAC1pC,IAAL,CAAUxB,KAAV,CAAgBwqC,gBAAgB,CAAClpC,MAAjC,CAAZ;;AACAg7F,uBAAS,CAACnmF,GAAD,CAAT,GAAiB+0B,KAAI,CAACjoC,KAAtB;AACH,aAJI,MAKA;AACD;AACAX,mBAAK,CAACS,IAAN,CAAWmoC,KAAX;AACH;AACJ,WAvBsB,CAwBvB;;AAxBuB;AAAA;AAAA;AAAA;AAAA;;AAyBvB,YAAItjC,MAAM,CAAC+T,IAAP,CAAY2gF,SAAZ,EAAuBh7F,MAA3B,EAAmC;AAAA,sLACZgB,KADY;AAAA;;AAAA;AAC/B,sEAA0B;AAAA,kBAAf4oC,IAAe;AACtB,kBAAM/a,IAAI,GAAGmsE,SAAS,CAACpxD,IAAI,CAAC1pC,IAAN,CAAtB,CADsB,CAEtB;;AACA,kBAAI2uB,IAAI,KAAK5oB,SAAT,IAAsB2jC,IAAI,CAACjoC,KAA/B,EAAsC;AAClCioC,oBAAI,CAACvU,IAAL,GAAY,KAAK4lE,oBAAL,CAA0B,CAACrxD,IAAD,CAA1B,EAAkCA,IAAI,CAACvU,IAAL,IAAaxG,IAA/C,CAAZ;AACH;AACJ;AAP8B;AAAA;AAAA;AAAA;AAAA;AAQlC;;AACD,YAAI,CAAC,KAAK6rE,aAAV,EAAyB;AACrB;AACA;AACA55F,iBAAO,CAACE,KAAR,GAAgBA,KAAhB;AACH;AACJ;;AACDu3D,gBAAU,CAAC,IAAD,EAAOz3D,OAAO,CAACo6B,QAAf,EAAyBp6B,OAAO,CAACu0B,IAAjC,CAAV;AACA,aAAOv0B,OAAP;AACH;;;WACD,wBAAeumE,SAAf,EAA0B6zB,cAA1B,EAA0C;AACtC,UAAIp6D,OAAJ;AACA,UAAMjS,IAAI,GAAGw4C,SAAS,CAAChyC,IAAvB;AACA,WAAKqU,WAAL,GAAmB,IAAnB;;AACA,UAAI7a,IAAI,YAAYiQ,cAApB,EAAoC;AAChC;AACA;AACA;AACA,YAAM5+B,IAAI,GAAG2uB,IAAI,CAAC3uB,IAAlB;AACA4gC,eAAO,GAAG,KAAKm6D,oBAAL,CAA0B,CAAC5zB,SAAD,CAA1B,EAAuCx4C,IAAvC,CAAV;AACA,YAAM0N,GAAG,GAAGsN,kBAAkB,CAAC/I,OAAD,CAA9B;AACAvE,WAAG,CAACr8B,IAAJ,GAAWA,IAAX;AACH,OARD,MASK;AACD;AACA;AACA;AACA4gC,eAAO,GAAG,KAAKm6D,oBAAL,CAA0B,CAAC5zB,SAAD,CAA1B,EAAuC6zB,cAAc,IAAIrsE,IAAzD,CAAV;AACH;;AACDw4C,eAAS,CAAChyC,IAAV,GAAiByL,OAAjB;AACA,aAAOumC,SAAP;AACH;;;WACD,mBAAUv2D,IAAV,EAAgB;AACZ,aAAOA,IAAP;AACH;;;WACD,wBAAehO,SAAf,EAA0B;AACtB,aAAOA,SAAP;AACH;;;WACD,sBAAa4zC,OAAb,EAAsB;AAClB,aAAOA,OAAP;AACH;;;WACD,4BAAmB4wB,aAAnB,EAAkC;AAC9B,aAAOA,aAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,wBAAez4C,IAAf,EAAqB;AACjB,aAAO,OAAOA,IAAP,KAAgB,QAAhB,GAA2BssE,aAAa,CAACtsE,IAAD,CAAxC,GACHA,IAAI,YAAY0O,OAAhB,GAA0B1O,IAA1B,GAAiC,EADrC;AAEH;AACD;AACJ;AACA;;;;WACI,uBAAciS,OAAd,EAAuBjS,IAAvB,EAA6B;AACzB,UAAI,CAACiS,OAAO,CAACnmB,EAAb,EAAiB;AACbmmB,eAAO,CAACnmB,EAAR,GAAakU,IAAI,YAAY0O,OAAhB,IAA2B1O,IAAI,CAAClU,EAAhC,IAAsCumB,aAAa,CAACJ,OAAD,CAAhE;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,uBAAcA,OAAd,EAAuBjS,IAAvB,EAA6B;AACzB,UAAI,KAAK8rE,+BAAT,EAA0C;AACtC75D,eAAO,CAACjvB,SAAR,GAAoB,CAACkvB,aAAa,CAACD,OAAD,CAAd,EAAyBK,oBAAoB,CAACL,OAAD,CAA7C,CAApB;AACH,OAFD,MAGK,IAAI,OAAOjS,IAAP,KAAgB,QAApB,EAA8B;AAC/B;AACA;AACA;AACA;AACA,YAAM2rE,eAAe,GAAG3rE,IAAI,YAAY0O,OAAhB,GACpB1O,IADoB,GAEpBA,IAAI,YAAYiQ,cAAhB,GAAiCjQ,IAAI,CAAC2rE,eAAtC,GAAwDv0F,SAF5D;AAGA66B,eAAO,CAACjvB,SAAR,GAAoB2oF,eAAe,GAAGA,eAAe,CAAC3oF,SAAnB,GAA+B,EAAlE;AACH;AACJ;;;;;AAEL;;;AACA,IAAMupF,sBAAsB,GAAG,GAA/B;AACA,IAAMC,iBAAiB,GAAG,IAA1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASF,aAAT,GAAkC;AAAA,MAAXtsE,IAAW,uEAAJ,EAAI;AAC9B,MAAIjd,QAAJ;AACA,MAAID,OAAJ;AACA,MAAID,WAAJ;AACAmd,MAAI,GAAGA,IAAI,CAACpS,IAAL,EAAP;;AACA,MAAIoS,IAAJ,EAAU;AACN,QAAMysE,OAAO,GAAGzsE,IAAI,CAACrwB,OAAL,CAAa68F,iBAAb,CAAhB;AACA,QAAME,SAAS,GAAG1sE,IAAI,CAACrwB,OAAL,CAAa48F,sBAAb,CAAlB;AACA,QAAII,cAAJ;;AAHM,iBAKDF,OAAO,GAAG,CAAC,CAAZ,GAAiB,CAACzsE,IAAI,CAACnwB,KAAL,CAAW,CAAX,EAAc48F,OAAd,CAAD,EAAyBzsE,IAAI,CAACnwB,KAAL,CAAW48F,OAAO,GAAG,CAArB,CAAzB,CAAjB,GAAqE,CAACzsE,IAAD,EAAO,EAAP,CALnE;;AAAA;;AAIL2sE,kBAJK;AAIW5pF,YAJX;;AAAA,iBAMoB2pF,SAAS,GAAG,CAAC,CAAd,GACrB,CAACC,cAAc,CAAC98F,KAAf,CAAqB,CAArB,EAAwB68F,SAAxB,CAAD,EAAqCC,cAAc,CAAC98F,KAAf,CAAqB68F,SAAS,GAAG,CAAjC,CAArC,CADqB,GAErB,CAAC,EAAD,EAAKC,cAAL,CARE;;AAAA;;AAML7pF,WANK;AAMID,eANJ;AAST;;AACD,SAAO;AAAEE,YAAQ,EAARA,QAAF;AAAYD,WAAO,EAAPA,OAAZ;AAAqBD,eAAW,EAAXA;AAArB,GAAP;AACH,C,CACD;AACA;;;AACA,SAAS+pF,eAAT,CAAyB5sE,IAAzB,EAA+B;AAC3B,MAAM5Y,IAAI,GAAG,EAAb;;AACA,MAAI4Y,IAAI,CAACnd,WAAT,EAAsB;AAClBuE,QAAI,CAACxU,IAAL,CAAU;AAAE7C,aAAO,EAAE;AAAO;AAAlB;AAA8BkS,UAAI,EAAE+d,IAAI,CAACnd;AAAzC,KAAV;AACH;;AACD,MAAImd,IAAI,CAACld,OAAT,EAAkB;AACdsE,QAAI,CAACxU,IAAL,CAAU;AAAE7C,aAAO,EAAE;AAAU;AAArB;AAAoCkS,UAAI,EAAE+d,IAAI,CAACld;AAA/C,KAAV;AACH;;AACD,SAAOsE,IAAI,CAACjW,MAAL,IAAe,CAAf,GAAmB,IAAnB,GAA0Bwa,YAAY,CAACvE,IAAD,CAA7C;AACH;AAED;;;AACA,IAAMylF,YAAY,GAAG,aAArB;;AACA,SAASC,4BAAT,CAAsCC,UAAtC,EAAkD96D,OAAlD,EAA2D+6D,UAA3D,EAAuE9uF,MAAvE,EAA+E;AAC3E,MAAM+uF,aAAa,GAAGC,6BAA6B,CAACj7D,OAAD,CAAnD;AACA,MAAM94B,IAAI,GAAG,CAACwT,OAAO,CAACsgF,aAAD,CAAR,CAAb;;AACA,MAAIx1F,MAAM,CAAC+T,IAAP,CAAYtN,MAAZ,EAAoB/M,MAAxB,EAAgC;AAC5BgI,QAAI,CAACvG,IAAL,CAAUo/C,UAAU,CAAC9zC,MAAD,EAAS,IAAT,CAApB;AACH,GAL0E,CAM3E;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMivF,cAAc,GAAGH,UAAU,CAACt3F,GAAX,CAAekW,QAAQ,CAACihF,YAAD,CAAR,CAAuBl5E,MAAvB,CAA8Bxa,IAA9B,CAAf,EAAoDi0F,WAApD,EAAvB;AACA,MAAMC,WAAW,GAAGT,eAAe,CAAC36D,OAAD,CAAnC;;AACA,MAAIo7D,WAAW,KAAK,IAApB,EAA0B;AACtBF,kBAAc,CAACG,iBAAf,CAAiCD,WAAjC;AACH;;AACD,MAAME,kBAAkB,GAAG,IAAIxtF,mBAAJ,CAAwBgtF,UAAU,CAACr3F,GAAX,CAAes3F,UAAf,CAAxB,CAA3B;AACA,SAAO,CAACG,cAAD,EAAiBI,kBAAjB,CAAP;AACH;AACD;AACA;AACA;AACA;;;IACMC,uB;;;;;;;WACF,kBAAS16F,KAAT,EAAgB;AACZ,yBAAYspC,yBAAyB,CAACtpC,KAAD,CAArC;AACH;;;WACD,mBAAUmP,IAAV,EAAgB;AACZ,aAAOA,IAAI,CAACnP,KAAZ;AACH;;;WACD,wBAAes9B,SAAf,EAA0B;AAAA;;AACtB,aAAOA,SAAS,CAAC/D,QAAV,CAAmBx2B,GAAnB,CAAuB,UAAA46B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,QAAZ,CAAJ;AAAA,OAA5B,EAAmDh8B,IAAnD,CAAwD,EAAxD,CAAP;AACH;;;WACD,kBAASm7B,GAAT,EAAc;AACV,aAAO26D,gBAAgB,CAAC36D,GAAD,CAAvB;AACH;;;WACD,6BAAoB6C,EAApB,EAAwB;AAAA;;AACpB,aAAOA,EAAE,CAACx/B,MAAH,GACH,KAAKo3F,QAAL,CAAc53D,EAAE,CAACX,SAAjB,CADG,aAEA,KAAKu4D,QAAL,CAAc53D,EAAE,CAACX,SAAjB,CAFA,SAE8BW,EAAE,CAAClE,QAAH,CAAYx2B,GAAZ,CAAgB,UAAA46B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,QAAZ,CAAJ;AAAA,OAArB,EAA4Ch8B,IAA5C,CAAiD,EAAjD,CAF9B,SAEqF,KAAK41F,QAAL,CAAc53D,EAAE,CAACV,SAAjB,CAFrF,CAAP;AAGH;;;WACD,0BAAiBU,EAAjB,EAAqB;AACjB,aAAO,KAAK43D,QAAL,CAAc53D,EAAE,CAACl/B,IAAjB,CAAP;AACH;;;WACD,6BAAoBk/B,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7B,aAAO,KAAKysF,QAAL,CAAc53D,EAAE,CAACl/B,IAAjB,CAAP;AACH;;;;;;AAEL,IAAMo8F,mBAAmB,GAAG,IAAID,uBAAJ,EAA5B;;AACA,SAASN,6BAAT,CAAuCj7D,OAAvC,EAAgD;AAC5C,SAAOA,OAAO,CAAC3D,KAAR,CAAcz4B,GAAd,CAAkB,UAAA8K,IAAI;AAAA,WAAIA,IAAI,CAAC4tB,KAAL,CAAWk/D,mBAAX,EAAgC,IAAhC,CAAJ;AAAA,GAAtB,EAAiEl7F,IAAjE,CAAsE,EAAtE,CAAP;AACH;;AAED,SAASm7F,wBAAT,CAAkC9hF,QAAlC,EAA4CqmB,OAA5C,EAAqD/zB,MAArD,EAA6D;AACzD,8BAAuCyvF,+BAA+B,CAAC17D,OAAD,CAAtE;AAAA,MAAQ3vB,YAAR,yBAAQA,YAAR;AAAA,MAAsBsrF,YAAtB,yBAAsBA,YAAtB;;AACA,MAAM9vF,UAAU,GAAG+vF,aAAa,CAAC57D,OAAD,CAAhC;AACA,MAAMzvB,WAAW,GAAGorF,YAAY,CAAC/3F,GAAb,CAAiB,UAAA06B,EAAE;AAAA,WAAIryB,MAAM,CAACqyB,EAAE,CAACtuB,IAAJ,CAAV;AAAA,GAAnB,CAApB;AACA,MAAM6rF,iBAAiB,GAAGlhF,eAAe,CAACqlB,OAAD,EAAU3vB,YAAV,EAAwBsrF,YAAxB,EAAsCprF,WAAtC,EAAmD1E,UAAnD,CAAzC;AACA,MAAMiwF,sBAAsB,GAAGniF,QAAQ,CAAClW,GAAT,CAAao4F,iBAAb,CAA/B;AACA,SAAO,CAAC,IAAI/tF,mBAAJ,CAAwBguF,sBAAxB,CAAD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;IACMC,yB;;;;;;;WACF,mBAAU/rF,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB,UAAIA,OAAO,CAACA,OAAO,CAACvK,MAAR,GAAiB,CAAlB,CAAP,YAAuC+Q,YAA3C,EAAyD;AACrD;AACAxG,eAAO,CAACA,OAAO,CAACvK,MAAR,GAAiB,CAAlB,CAAP,CAA4B8Q,IAA5B,IAAoCA,IAAI,CAACnP,KAAzC;AACH,OAHD,MAIK;AACD4I,eAAO,CAAC9I,IAAR,CAAa,IAAIsP,YAAJ,CAAiBD,IAAI,CAACnP,KAAtB,EAA6BmP,IAAI,CAACnE,UAAlC,CAAb;AACH;AACJ;;;WACD,wBAAesyB,SAAf,EAA0B10B,OAA1B,EAAmC;AAAA;;AAC/B00B,eAAS,CAAC/D,QAAV,CAAmBj7B,OAAnB,CAA2B,UAAAq/B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,QAAZ,EAAkB7yB,OAAlB,CAAJ;AAAA,OAAhC;AACH;;;WACD,kBAASgyB,GAAT,EAAchyB,OAAd,EAAuB;AACnBA,aAAO,CAAC9I,IAAR,CAAa,IAAIsP,YAAJ,CAAiBmmF,gBAAgB,CAAC36D,GAAD,CAAjC,EAAwCA,GAAG,CAAC5vB,UAA5C,CAAb;AACH;;;WACD,6BAAoByyB,EAApB,EAAwB70B,OAAxB,EAAiC;AAAA;;AAC7B,UAAIhK,EAAJ,EAAQC,EAAR;;AACA+J,aAAO,CAAC9I,IAAR,CAAa,KAAKq7F,sBAAL,CAA4B19D,EAAE,CAACX,SAA/B,EAA0C,CAACl+B,EAAE,GAAG6+B,EAAE,CAAChE,eAAT,MAA8B,IAA9B,IAAsC76B,EAAE,KAAK,KAAK,CAAlD,GAAsDA,EAAtD,GAA2D6+B,EAAE,CAACzyB,UAAxG,CAAb;;AACA,UAAI,CAACyyB,EAAE,CAACx/B,MAAR,EAAgB;AACZw/B,UAAE,CAAClE,QAAH,CAAYj7B,OAAZ,CAAoB,UAAAq/B,KAAK;AAAA,iBAAIA,KAAK,CAAClC,KAAN,CAAY,QAAZ,EAAkB7yB,OAAlB,CAAJ;AAAA,SAAzB;AACAA,eAAO,CAAC9I,IAAR,CAAa,KAAKq7F,sBAAL,CAA4B19D,EAAE,CAACV,SAA/B,EAA0C,CAACl+B,EAAE,GAAG4+B,EAAE,CAAC/D,aAAT,MAA4B,IAA5B,IAAoC76B,EAAE,KAAK,KAAK,CAAhD,GAAoDA,EAApD,GAAyD4+B,EAAE,CAACzyB,UAAtG,CAAb;AACH;AACJ;;;WACD,0BAAiByyB,EAAjB,EAAqB70B,OAArB,EAA8B;AAC1BA,aAAO,CAAC9I,IAAR,CAAa,KAAKq7F,sBAAL,CAA4B19D,EAAE,CAACl/B,IAA/B,EAAqCk/B,EAAE,CAACzyB,UAAxC,CAAb;AACH;;;WACD,6BAAoByyB,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7BA,aAAO,CAAC9I,IAAR,CAAa,KAAKq7F,sBAAL,CAA4B19D,EAAE,CAACl/B,IAA/B,EAAqCk/B,EAAE,CAACzyB,UAAxC,CAAb;AACH;;;WACD,gCAAuBzM,IAAvB,EAA6ByM,UAA7B,EAAyC;AACrC,aAAO,IAAIqE,gBAAJ,CAAqBi6B,yBAAyB,CAAC/qC,IAAD;AAAO;AAAmB,WAA1B,CAA9C,EAAgFyM,UAAhF,CAAP;AACH;;;;;;AAEL,IAAMowF,mBAAmB,GAAG,IAAIF,yBAAJ,EAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASL,+BAAT,CAAyC17D,OAAzC,EAAkD;AAC9C,MAAMk8D,MAAM,GAAG,EAAf;AACAl8D,SAAO,CAAC3D,KAAR,CAAcl9B,OAAd,CAAsB,UAAAuP,IAAI;AAAA,WAAIA,IAAI,CAAC4tB,KAAL,CAAW2/D,mBAAX,EAAgCC,MAAhC,CAAJ;AAAA,GAA1B;AACA,SAAOC,oBAAoB,CAACD,MAAD,CAA3B;AACH;;AACD,SAASN,aAAT,CAAuB57D,OAAvB,EAAgC;AAC5B,MAAMo8D,SAAS,GAAGp8D,OAAO,CAAC3D,KAAR,CAAc,CAAd,CAAlB;AACA,MAAMggE,OAAO,GAAGr8D,OAAO,CAAC3D,KAAR,CAAc2D,OAAO,CAAC3D,KAAR,CAAcn9B,MAAd,GAAuB,CAArC,CAAhB;AACA,SAAO,IAAI2/C,eAAJ,CAAoBu9C,SAAS,CAACvwF,UAAV,CAAqB+wB,KAAzC,EAAgDy/D,OAAO,CAACxwF,UAAR,CAAmBsxB,GAAnE,EAAwEi/D,SAAS,CAACvwF,UAAV,CAAqBizC,SAA7F,EAAwGs9C,SAAS,CAACvwF,UAAV,CAAqBkzC,OAA7H,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo9C,oBAAT,CAA8BD,MAA9B,EAAsC;AAClC,MAAM7rF,YAAY,GAAG,EAArB;AACA,MAAMsrF,YAAY,GAAG,EAArB;;AACA,MAAIO,MAAM,CAAC,CAAD,CAAN,YAAqBhsF,gBAAzB,EAA2C;AACvC;AACAG,gBAAY,CAAC1P,IAAb,CAAkB27F,sBAAsB,CAACJ,MAAM,CAAC,CAAD,CAAN,CAAUrwF,UAAV,CAAqB+wB,KAAtB,CAAxC;AACH;;AACD,OAAK,IAAIr8B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG27F,MAAM,CAACh9F,MAA3B,EAAmCqB,CAAC,EAApC,EAAwC;AACpC,QAAM8zC,IAAI,GAAG6nD,MAAM,CAAC37F,CAAD,CAAnB;;AACA,QAAI8zC,IAAI,YAAYpkC,YAApB,EAAkC;AAC9BI,kBAAY,CAAC1P,IAAb,CAAkB0zC,IAAlB;AACH,KAFD,MAGK;AACDsnD,kBAAY,CAACh7F,IAAb,CAAkB0zC,IAAlB;;AACA,UAAI6nD,MAAM,CAAC37F,CAAC,GAAG,CAAL,CAAN,YAAyB2P,gBAA7B,EAA+C;AAC3C;AACAG,oBAAY,CAAC1P,IAAb,CAAkB27F,sBAAsB,CAACJ,MAAM,CAAC37F,CAAC,GAAG,CAAL,CAAN,CAAcsL,UAAd,CAAyBsxB,GAA1B,CAAxC;AACH;AACJ;AACJ;;AACD,MAAI++D,MAAM,CAACA,MAAM,CAACh9F,MAAP,GAAgB,CAAjB,CAAN,YAAqCgR,gBAAzC,EAA2D;AACvD;AACAG,gBAAY,CAAC1P,IAAb,CAAkB27F,sBAAsB,CAACJ,MAAM,CAACA,MAAM,CAACh9F,MAAP,GAAgB,CAAjB,CAAN,CAA0B2M,UAA1B,CAAqCsxB,GAAtC,CAAxC;AACH;;AACD,SAAO;AAAE9sB,gBAAY,EAAZA,YAAF;AAAgBsrF,gBAAY,EAAZA;AAAhB,GAAP;AACH;;AACD,SAASW,sBAAT,CAAgC94C,QAAhC,EAA0C;AACtC,SAAO,IAAIvzC,YAAJ,CAAiB,EAAjB,EAAqB,IAAI4uC,eAAJ,CAAoB2E,QAApB,EAA8BA,QAA9B,CAArB,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM+4C,wBAAwB,GAAG,QAAjC,C,CACA;;AACA,IAAMC,uBAAuB,GAAG,aAAhC,C,CACA;;AACA,IAAMC,2BAA2B,GAAG,IAAI/jF,GAAJ,CAAQ,CAAC,QAAD,CAAR,CAApC,C,CACA;;AACA,IAAMgkF,uBAAuB,GAAG,IAAIv6F,GAAJ,CAAQ,CAAC,CAAC,QAAD,EAAWmsB,aAAa,CAACgH,aAAzB,CAAD,EAA0C,CAAC,UAAD,EAAahH,aAAa,CAACiH,eAA3B,CAA1C,EAAuF,CAAC,MAAD,EAASjH,aAAa,CAACkH,WAAvB,CAAvF,CAAR,CAAhC;AACA,IAAMmnE,oBAAoB,GAAG,CAAC,GAAD,EAAM,IAAN,EAAY,IAAZ,EAAkB,IAAlB,CAA7B,C,CACA;;AACA,SAASC,qBAAT,CAA+B1tD,KAA/B,EAAsCl8B,UAAtC,EAAkD;AAC9C,SAAOuH,MAAM,CAACZ,QAAQ,CAACoxB,YAAD,CAAR,CAAuB8xD,UAAvB,CAAkCniF,OAAO,CAACw0B,KAAD,CAAzC,EAAkD,IAAlD,EAAwD,KAAxD,CAAD,EAAiEl8B,UAAjE,CAAb;AACH;;AACD,SAAS8pF,8BAAT,CAAwCC,QAAxC,EAAoF;AAAA,MAAlCC,WAAkC,uEAApB,IAAoB;AAAA,MAAdC,KAAc,uEAAN,IAAM;AAChF,MAAQrxF,IAAR,GAA+CmxF,QAA/C,CAAQnxF,IAAR;AAAA,MAAcxM,IAAd,GAA+C29F,QAA/C,CAAc39F,IAAd;AAAA,MAAoBy6B,MAApB,GAA+CkjE,QAA/C,CAAoBljE,MAApB;AAAA,MAA4BzB,KAA5B,GAA+C2kE,QAA/C,CAA4B3kE,KAA5B;AAAA,MAAmCwB,OAAnC,GAA+CmjE,QAA/C,CAAmCnjE,OAAnC;;AACA,MAAIC,MAAM,IAAI,CAAC6iE,uBAAuB,CAAChwE,GAAxB,CAA4BmN,MAA5B,CAAf,EAAoD;AAChD,UAAM,IAAIl8B,KAAJ,qCAAuCk8B,MAAvC,4BAA+Dz6B,IAA/D,iEAC8Byc,KAAK,CAACs2B,IAAN,CAAWuqD,uBAAuB,CAACnjF,IAAxB,EAAX,CAD9B,OAAN;AAEH;;AACD,MAAM2jF,iBAAiB,GAAG,QAA1B;AACA,MAAMp0C,wBAAwB,GAAG,IAAIpwC,GAAJ,EAAjC;AACA,MAAMykF,oBAAoB,GAAIF,KAAK,KAAK,IAAV,IAAkBA,KAAK,CAACG,YAAN,KAAuB,CAA1C,GACzBzjF,QAAQ,CAACmxB,YAAD,CADiB,GAEzBmyD,KAAK,CAACI,2BAAN,CAAkC,CAAlC,CAFJ;AAGA,MAAMC,WAAW,GAAG/0C,oBAAoB,CAAC00C,KAAD,EAAQE,oBAAR,EAA8BvjE,OAA9B,EAAuC,GAAvC,EAA4C;AAAA,WAAMxiB,KAAK,CAAC,0BAAD,CAAX;AAAA,GAA5C,EAAqF2lF,QAAQ,CAACjjE,WAA9F,EAA2GgvB,wBAA3G,EAAqI2zC,2BAArI,CAAxC;AACA,MAAMzpF,UAAU,GAAG,EAAnB;;AACA,MAAIiqF,KAAJ,EAAW;AACPjqF,cAAU,CAACrS,IAAX,OAAAqS,UAAU,qJAASiqF,KAAK,CAACM,oBAAN,EAAT,EAAV;AACAvqF,cAAU,CAACrS,IAAX,OAAAqS,UAAU,qJAASiqF,KAAK,CAACO,oBAAN,EAAT,EAAV;AACH;;AACDxqF,YAAU,CAACrS,IAAX,OAAAqS,UAAU,qJAASsqF,WAAW,CAACh1C,YAArB,EAAV;AACA,MAAMrhD,SAAS,GAAG2E,IAAI,KAAK;AAAE;AAAX,IAA6BusB,4BAA4B,CAAC/4B,IAAD,EAAOg5B,KAAP,CAAzD,GAAyEh5B,IAA3F;AACA,MAAMq+F,MAAM,GAAGT,WAAW,IAAI11E,kBAAkB,CAAC01E,WAAD,CAAhD;AACA,MAAMU,MAAM,GAAG,EAAf;;AACA,MAAI50C,wBAAwB,CAACp8B,GAAzB,CAA6BwwE,iBAA7B,CAAJ,EAAqD;AACjDQ,UAAM,CAAC/8F,IAAP,CAAY,IAAIkS,OAAJ,CAAYqqF,iBAAZ,EAA+B9yF,YAA/B,CAAZ;AACH;;AACD,MAAMuzF,SAAS,GAAGluF,EAAE,CAACiuF,MAAD,EAAS1qF,UAAT,EAAqB1I,aAArB,EAAoC,IAApC,EAA0CmzF,MAA1C,CAApB;AACA,MAAMxxF,MAAM,GAAG,CAACyO,OAAO,CAACzT,SAAD,CAAR,EAAqB02F,SAArB,CAAf;;AACA,MAAI9jE,MAAJ,EAAY;AACR5tB,UAAM,CAACtL,IAAP,CAAY+Z,OAAO,CAAC,KAAD,CAAnB,EAA4B;AAC5Bd,cAAU,CAAC8iF,uBAAuB,CAACl5F,GAAxB,CAA4Bq2B,MAA5B,CAAD,CADV;AAEH;;AACD,SAAO5tB,MAAP;AACH;;AACD,SAAS2xF,wBAAT,GAAoC;AAChC,SAAO;AAAEC,qBAAiB,EAAE,EAArB;AAAyBC,oBAAgB,EAAE;AAA3C,GAAP;AACH;;IACKC,yB;AACF,qCAAY9xD,YAAZ,EAA0B+xD,kBAA1B,EAAuQ;AAAA;;AAAA,QAAzN9+C,KAAyN,uEAAjN,CAAiN;AAAA,QAA9M++C,WAA8M;AAAA,QAAjMC,WAAiM;AAAA,QAApLrJ,aAAoL;AAAA,QAArK/rB,YAAqK;AAAA,QAAvJq1B,gBAAuJ;AAAA,QAArIjyE,UAAqI;AAAA,QAAzHkyE,cAAyH;AAAA,QAAzG/xE,KAAyG;;AAAA,QAAlGgyE,UAAkG;;AAAA,QAAtFC,uBAAsF;AAAA,QAA7DC,kBAA6D;;AAAA,QAAzCC,UAAyC,0EAA5BZ,wBAAwB,EAAI;;AAAA;;AACnQ,SAAK3xD,YAAL,GAAoBA,YAApB;AACA,SAAKiT,KAAL,GAAaA,KAAb;AACA,SAAK++C,WAAL,GAAmBA,WAAnB;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKrJ,aAAL,GAAqBA,aAArB;AACA,SAAK/rB,YAAL,GAAoBA,YAApB;AACA,SAAKq1B,gBAAL,GAAwBA,gBAAxB;AACA,SAAKjyE,UAAL,GAAkBA,UAAlB;AACA,SAAKkyE,cAAL,GAAsBA,cAAtB;AACA,SAAK/xE,KAAL,GAAaA,KAAb;AACA,SAAKgyE,UAAL,GAAkBA,UAAlB;AACA,SAAKE,kBAAL,GAA0BA,kBAA1B;AACA,SAAKC,UAAL,GAAkBA,UAAlB;AACA,SAAKC,UAAL,GAAkB,CAAlB;AACA,SAAKC,eAAL,GAAuB,CAAvB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKC,gBAAL,GAAwB,EAAxB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKC,cAAL,GAAsB,EAAtB;AACA;;AACA,SAAKC,aAAL,GAAqB,CAArB;AACA;;AACA,SAAKC,cAAL,GAAsB,EAAtB;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,SAAKC,kBAAL,GAA0B,EAA1B;AACA,SAAKC,YAAL,GAAoB7zD,WAApB,CAxCmQ,CAyCnQ;;AACA,SAAK7W,IAAL,GAAY,IAAZ,CA1CmQ,CA2CnQ;;AACA,SAAK2qE,kBAAL,GAA0B,CAA1B,CA5CmQ,CA6CnQ;;AACA,SAAKC,aAAL,GAAqB,CAArB,CA9CmQ,CA+CnQ;AACA;AACA;;AACA,SAAKC,uBAAL,GAA+B,EAA/B,CAlDmQ,CAmDnQ;AACA;;AACA,SAAKC,yBAAL,GAAiC,CAAjC,CArDmQ,CAsDnQ;AACA;;AACA,SAAKC,qBAAL,GAA6B,IAA7B,CAxDmQ,CAyDnQ;;AACA,SAAKpkE,cAAL,GAAsBoQ,SAAtB;AACA,SAAKtQ,aAAL,GAAqBsQ,SAArB;AACA,SAAKjS,kBAAL,GAA0BiS,SAA1B;AACA,SAAK5R,mBAAL,GAA2B4R,SAA3B;AACA,SAAKvR,eAAL,GAAuBuR,SAAvB;AACA,SAAKi0D,aAAL,GAAqBvB,kBAAkB,CAACwB,WAAnB,CAA+BtgD,KAA/B,CAArB,CA/DmQ,CAgEnQ;AACA;;AACA,SAAKugD,mBAAL,GAA2BnB,uBAAuB,CAAC5sF,OAAxB,CAAgC,eAAhC,EAAiD,GAAjD,IAAwD,GAAnF;AACA,SAAKguF,eAAL,GAAuB,IAAIC,cAAJ,CAAmB1zD,YAAnB,EAAiC;AAAA,aAAM,QAAI,CAAC2zD,gBAAL,EAAN;AAAA,KAAjC,EAAgE,UAACC,QAAD;AAAA,aAAc,QAAI,CAACC,yBAAL,CAA+BD,QAA/B,CAAd;AAAA,KAAhE,EAAwH,UAACzgG,IAAD,EAAOf,SAAP,EAAkB0hG,IAAlB,EAAwBl/F,KAAxB,EAAkC;AAC7K,UAAMm/F,QAAQ,GAAG5B,cAAc,CAAC56F,GAAf,CAAmBpE,IAAnB,CAAjB;;AACA,UAAI4gG,QAAJ,EAAc;AACV,gBAAI,CAAC3zE,KAAL,CAAW1T,GAAX,CAAeqnF,QAAf;AACH;;AACD,cAAI,CAACT,aAAL,CAAmB97F,GAAnB,CAAuB,QAAI,CAACy7C,KAA5B,EAAmC7gD,SAAnC,EAA8CwC,KAA9C;;AACA,cAAI,CAACo/F,mBAAL,CAAyB,IAAzB,EAA+B3xE,aAAa,CAACwG,IAA7C,EAAmD,CAACpa,OAAO,CAACqlF,IAAD,CAAR,EAAgBrlF,OAAO,CAACtb,IAAD,CAAvB,CAAnD;AACH,KAPsB,CAAvB;AAQH;;;;WACD,+BAAsBi9B,KAAtB,EAA6B1B,SAA7B,EAA4E;AAAA;;AAAA,UAApCulE,wBAAoC,uEAAT,CAAS;AAAA,UAAN3rE,IAAM;AACxE,WAAK8qE,yBAAL,GAAiCa,wBAAjC;;AACA,UAAI,KAAK7B,UAAL,KAAoB/vE,aAAa,CAACI,aAAtC,EAAqD;AACjD,aAAKuxE,mBAAL,CAAyB,IAAzB,EAA+B,KAAK5B,UAApC;AACH,OAJuE,CAKxE;;;AACA1jE,eAAS,CAACx7B,OAAV,CAAkB,UAAAmpE,CAAC;AAAA,eAAI,QAAI,CAAC63B,wBAAL,CAA8B73B,CAA9B,CAAJ;AAAA,OAAnB,EANwE,CAOxE;AACA;AACA;AACA;;AACA,UAAM83B,eAAe,GAAG,KAAKlC,WAAL,IACnBx1D,cAAc,CAACnU,IAAD,CAAd,IAAwB,CAACoU,eAAe,CAACpU,IAAD,CAAxC,IACG,EAAE8rE,uBAAuB,CAAChkE,KAAD,CAAvB,IAAkCA,KAAK,CAAC,CAAD,CAAL,CAAS9H,IAAT,KAAkBA,IAAtD,CAFR;AAGA,UAAM+rE,0BAA0B,GAAGC,mBAAmB,CAAClkE,KAAD,CAAtD;;AACA,UAAI+jE,eAAJ,EAAqB;AACjB,aAAK1rE,SAAL,CAAe,IAAf,EAAqBH,IAArB,EAA2B+rE,0BAA3B;AACH,OAjBuE,CAkBxE;AACA;AACA;AACA;;;AACA3kE,cAAQ,CAAC,IAAD,EAAOU,KAAP,CAAR,CAtBwE,CAuBxE;AACA;;AACA,WAAK6iE,kBAAL,IAA2B,KAAKC,aAAhC,CAzBwE,CA0BxE;AACA;AACA;;AACA,WAAKO,eAAL,CAAqBc,qBAArB,CAA2C,KAAKrB,aAAhD,EA7BwE,CA8BxE;AACA;;;AACA,WAAKH,kBAAL,CAAwB7/F,OAAxB,CAAgC,UAAAshG,eAAe;AAAA,eAAIA,eAAe,EAAnB;AAAA,OAA/C,EAhCwE,CAiCxE;AACA;AACA;;;AACA,UAAI,KAAKvhD,KAAL,KAAe,CAAf,IAAoB,KAAKkgD,uBAAL,CAA6BlgG,MAArD,EAA6D;AACzD,YAAMwjB,UAAU,GAAG,EAAnB,CADyD,CAEzD;AACA;AACA;;AACA,YAAI,KAAK08E,uBAAL,CAA6BlgG,MAA7B,GAAsC,CAAtC,IAA2C,KAAKkgG,uBAAL,CAA6B,CAA7B,MAAoC,GAAnF,EAAwF;AACpF,cAAMsB,eAAe,GAAG,KAAKtB,uBAAL,CAA6Bx7F,GAA7B,CAAiC,UAAA8Z,CAAC;AAAA,mBAAIA,CAAC,KAAK,GAAN,GAAY7U,yBAAyB,CAAC6U,CAAD,CAArC,GAA2CA,CAA/C;AAAA,WAAlC,CAAxB;;AACAgF,oBAAU,CAAC/hB,IAAX,CAAgB,KAAKsrC,YAAL,CAAkBxpB,eAAlB,CAAkC8oB,SAAS,CAACm1D,eAAD,CAA3C,EAA8D,IAA9D,CAAhB;AACH,SARwD,CASzD;AACA;AACA;;;AACA,aAAKT,mBAAL,CAAyB,IAAzB,EAA+B3xE,aAAa,CAAC0G,aAA7C,EAA4DtS,UAA5D;AAAwE;AAAc,YAAtF;AACH;;AACD,UAAI09E,eAAJ,EAAqB;AACjB,aAAKzrE,OAAL,CAAa,IAAb,EAAmB2rE,0BAAnB;AACH,OApDuE,CAqDxE;;;AACA,UAAMK,kBAAkB,GAAG,KAAK/B,gBAAL,CAAsBh7F,GAAtB,CAA0B,UAAC6L,EAAD;AAAA,eAAQA,EAAE,EAAV;AAAA,OAA1B,CAA3B,CAtDwE,CAuDxE;;;AACA,UAAMmxF,gBAAgB,GAAG,KAAK/B,cAAL,CAAoBj7F,GAApB,CAAwB,UAAC6L,EAAD;AAAA,eAAQA,EAAE,EAAV;AAAA,OAAxB,CAAzB,CAxDwE,CAyDxE;AACA;AACA;;;AACA,UAAMoxF,iBAAiB,GAAG,KAAKtB,aAAL,CAAmBuB,sBAAnB,EAA1B;;AACA,UAAMC,eAAe,GAAG,KAAKxB,aAAL,CAAmB/B,oBAAnB,GAA0C58F,MAA1C,CAAiD,KAAKm+F,cAAtD,CAAxB;;AACA,UAAMiC,aAAa,GAAGL,kBAAkB,CAACzhG,MAAnB,GAA4B,CAA5B,GAClB,CAAC09F,qBAAqB,CAAC;AAAE;AAAH,QAAiBiE,iBAAiB,CAACjgG,MAAlB,CAAyB+/F,kBAAzB,CAAjB,CAAtB,CADkB,GAElB,EAFJ;AAGA,UAAMM,WAAW,GAAGL,gBAAgB,CAAC1hG,MAAjB,GAA0B,CAA1B,GAChB,CAAC09F,qBAAqB,CAAC;AAAE;AAAH,QAAiBmE,eAAe,CAACngG,MAAhB,CAAuBggG,gBAAvB,CAAjB,CAAtB,CADgB,GAEhB,EAFJ;AAGA,aAAOnxF,EAAE,EACT;AACA,OAAC,IAAIoD,OAAJ,CAAYk4B,YAAZ,EAA0BngC,WAA1B,CAAD,EAAyC,IAAIiI,OAAJ,CAAYi4B,YAAZ,EAA0B,IAA1B,CAAzC,CAFS,+JAIF,KAAK6zD,WAJH,GAMFqC,aANE,EAQFC,WARE,GASN32F,aATM,EASS,IATT,EASe,KAAKw+D,YATpB,CAAT;AAUH,K,CACD;;;;WACA,kBAAS1pE,IAAT,EAAe;AACX,aAAO,KAAKmgG,aAAL,CAAmB/7F,GAAnB,CAAuBpE,IAAvB,CAAP;AACH,K,CACD;;;;WACA,qCAA4B;AACxB,WAAKmgG,aAAL,CAAmBz1C,yBAAnB;AACH;;;WACD,uBAAc9pB,OAAd,EAAsD;AAAA;;AAAA,UAA/B/zB,MAA+B,uEAAtB,EAAsB;AAAA,UAAlByb,GAAkB;AAAA,UAAbw5E,WAAa;;AAClD,UAAMC,IAAI,GAAGz5E,GAAG,IAAI,KAAK05E,wBAAL,EAApB,CADkD,CAElD;AACA;;;AACA,UAAMrG,UAAU,GAAG,KAAKsG,sBAAL,CAA4BrhE,OAAO,CAACnmB,EAApC,CAAnB;AACA,UAAM7G,UAAU,GAAGsuF,uBAAuB,CAACthE,OAAD,EAAUmhE,IAAV,EAAgBpG,UAAhB,EAA4B9uF,MAA5B,EAAoCi1F,WAApC,CAA1C;;AACA,oCAAK1C,UAAL,CAAgBX,iBAAhB,EAAkCl9F,IAAlC,iLAA0CqS,UAA1C;;AACA,aAAOmuF,IAAP;AACH;;;WACD,kCAAyBrG,UAAzB,EAAqC;AACjC,UAAMyG,UAAU,GAAG,KAAKhC,aAAL,CAAmBiC,kBAAnB,EAAnB;;AACA,UAAMC,cAAc,GAAG,KAAKviD,KAA5B;AACA,UAAM5rC,GAAG,GAAGqG,QAAQ,CAACmhF,UAAU,CAAC17F,IAAX,GAAkBmiG,UAAnB,CAApB;;AACA,WAAKhC,aAAL,CAAmB97F,GAAnB,CAAuBg+F,cAAvB,EAAuC3G,UAAU,CAAC17F,IAAlD,EAAwDkU,GAAxD,EAA6D;AAAE;AAA/D,QAA8E,UAAC2pF,KAAD,EAAQyE,aAAR,EAA0B;AACpG,YAAIl1F,GAAJ;;AACA,YAAIywF,KAAK,CAACG,YAAN,KAAuBqE,cAA3B,EAA2C;AACvC;AACAj1F,aAAG,GAAGmN,QAAQ,CAACmxB,YAAD,CAAd;AACH,SAHD,MAIK;AACD,cAAM62D,YAAY,GAAG1E,KAAK,CAAC2E,oBAAN,CAA2BH,cAA3B,CAArB,CADC,CAED;;AACAj1F,aAAG,GAAGm1F,YAAY,GAAGA,YAAH,GAAkBE,uBAAuB,CAACH,aAAD,CAA3D;AACH,SAVmG,CAWpG;;;AACA,eAAO,CAACpuF,GAAG,CAAC7P,GAAJ,CAAQ+I,GAAG,CAACgN,IAAJ,CAASshF,UAAU,CAACj6F,KAAX,IAAoBoqC,kBAA7B,CAAR,EAA0DkwD,WAA1D,EAAD,CAAP;AACH,OAbD;AAcH;;;WACD,4BAAmB5qF,WAAnB,EAAgC;AAAA;;AAC5B,UAAIA,WAAW,CAACrR,MAAZ,GAAqB,CAAzB,EAA4B;AACxBqR,mBAAW,CAACpR,OAAZ,CAAoB,UAAAohB,UAAU;AAAA,iBAAI,QAAI,CAACgU,IAAL,CAAUutE,aAAV,CAAwBvhF,UAAxB,CAAJ;AAAA,SAA9B;AACH;AACJ;;;WACD,uBAActY,KAAd,EAAqB;AAAA;;AACjB,UAAMsrF,KAAK,GAAG,EAAd;AACA/tF,YAAM,CAAC+T,IAAP,CAAYtR,KAAZ,EAAmB9I,OAAnB,CAA2B,UAAA4U,GAAG,EAAI;AAC9B,YAAMyF,IAAI,GAAGvR,KAAK,CAAC8L,GAAD,CAAlB;;AACA,YAAIyF,IAAI,YAAYuf,IAApB,EAA0B;AACtBw6D,eAAK,CAACx/E,GAAD,CAAL,GAAa2G,OAAO,CAAClB,IAAI,CAAC3Y,KAAN,CAApB;AACH,SAFD,MAGK;AACD,cAAMA,KAAK,GAAG2Y,IAAI,CAAC3Y,KAAL,CAAWy7B,KAAX,CAAiB,QAAI,CAACojE,eAAtB,CAAd;;AACA,kBAAI,CAACzb,oBAAL,CAA0BpjF,KAA1B;;AACA,cAAIA,KAAK,YAAY2kD,aAArB,EAAoC;AAChC,gBAAQpc,OAAR,GAAiCvoC,KAAjC,CAAQuoC,OAAR;AAAA,gBAAiB74B,WAAjB,GAAiC1P,KAAjC,CAAiB0P,WAAjB;AACA,gCAAyB,QAAI,CAACgkB,IAA9B;AAAA,gBAAQ1a,EAAR,iBAAQA,EAAR;AAAA,gBAAYs4D,QAAZ,iBAAYA,QAAZ;AACA,gBAAM4vB,KAAK,GAAG54D,uBAAuB,CAACC,OAAD,EAAU+oC,QAAQ,CAAC1yD,IAAnB,EAAyB5F,EAAzB,CAArC;;AACA,oBAAI,CAACmoF,kBAAL,CAAwBzxF,WAAxB;;AACAgjF,iBAAK,CAACx/E,GAAD,CAAL,GAAa2G,OAAO,CAACqnF,KAAD,CAApB;AACH;AACJ;AACJ,OAhBD;AAiBA,aAAOxO,KAAP;AACH,K,CACD;;;;WACA,oCAA2B;AACvB,aAAO55E,QAAQ,CAAC,KAAKsyB,YAAL,CAAkBppB,UAAlB,CAA6BqlB,sBAA7B,CAAD,CAAf;AACH,K,CACD;;;;WACA,gCAAuB+5D,SAAvB,EAAkC;AAC9B,UAAI7iG,IAAJ;AACA,UAAM4wD,MAAM,GAAG,KAAKyvC,mBAAL,CAAyBrkF,WAAzB,EAAf;;AACA,UAAI,KAAKmjF,kBAAT,EAA6B;AACzB,YAAMngG,MAAM,GAAGqsC,yBAAyB,aAAxC;AACA,YAAMy3D,YAAY,GAAG,KAAKj2D,YAAL,CAAkBppB,UAAlB,CAA6BmtC,MAA7B,CAArB;AACA5wD,YAAI,aAAMhB,MAAN,SAAekpB,kBAAkB,CAAC26E,SAAD,CAAjC,eAAiDC,YAAjD,CAAJ;AACH,OAJD,MAKK;AACD,YAAM9jG,OAAM,GAAGqsC,yBAAyB,CAACulB,MAAD,CAAxC;;AACA5wD,YAAI,GAAG,KAAK6sC,YAAL,CAAkBppB,UAAlB,CAA6BzkB,OAA7B,CAAP;AACH;;AACD,aAAOub,QAAQ,CAACva,IAAD,CAAf;AACH;;;WACD,uBAAcqK,OAAd,EAAuB;AACnB,UAAQkrF,IAAR,GAAsDlrF,OAAtD,CAAQkrF,IAAR;AAAA,UAAc5mE,IAAd,GAAsDtkB,OAAtD,CAAcskB,IAAd;AAAA,UAAoBo0E,MAApB,GAAsD14F,OAAtD,CAAoB04F,MAApB;AAAA,UAA4BC,UAA5B,GAAsD34F,OAAtD,CAA4B24F,UAA5B;AAAA,UAAwCtN,SAAxC,GAAsDrrF,OAAtD,CAAwCqrF,SAAxC;;AACA,UAAIqN,MAAM,IAAIC,UAAV,IAAwB,CAACtN,SAAzB,IAAsC,CAACnsD,eAAe,CAAC5a,IAAD,CAA1D,EAAkE;AAC9DtkB,eAAO,CAACqrF,SAAR,GAAoB,IAApB;AACA,YAAMz5D,YAAY,GAAG5xB,OAAO,CAAC44F,yBAAR,EAArB;AACA,YAAIC,UAAU,GAAG,EAAjB;AACA,YAAIr2F,MAAM,GAAGovB,YAAY,CAAC5b,IAAb,GAAoBiqB,oBAAoB,CAACrO,YAAD,CAAxC,GAAyD,EAAtE;;AACA,YAAIs5D,IAAI,CAACl1E,IAAT,EAAe;AACXk1E,cAAI,CAACx1F,OAAL,CAAa,UAAC+iD,IAAD,EAAOnuC,GAAP,EAAe;AACxB,gBAAImuC,IAAI,CAAChjD,MAAL,KAAgB,CAApB,EAAuB;AACnB;AACA;AACA+M,oBAAM,CAAC8H,GAAD,CAAN,GAAcmuC,IAAI,CAAC,CAAD,CAAlB;AACH,aAJD,MAKK;AACD;AACA;AACA,kBAAMgS,WAAW,GAAGlrB,mBAAmB,WAAIV,uBAAJ,SAA8Bv0B,GAA9B,EAAvC;AACA9H,oBAAM,CAAC8H,GAAD,CAAN,GAAc2G,OAAO,CAACw5C,WAAD,CAArB;AACAouC,wBAAU,CAACvuF,GAAD,CAAV,GAAkBmG,UAAU,CAACgoC,IAAD,CAA5B;AACH;AACJ,WAbD;AAcH,SApB6D,CAqB9D;AACA;AACA;;;AACA,YAAMqgD,mBAAmB,GAAG1mF,KAAK,CAACs2B,IAAN,CAAW9W,YAAY,CAAClzB,MAAb,EAAX,EAAkC6U,IAAlC,CAAuC,UAACnc,KAAD;AAAA,iBAAWA,KAAK,CAAC3B,MAAN,GAAe,CAA1B;AAAA,SAAvC,KACxBsG,MAAM,CAAC+T,IAAP,CAAY+oF,UAAZ,EAAwBpjG,MAD5B;AAEA,YAAIgiG,WAAJ;;AACA,YAAIqB,mBAAJ,EAAyB;AACrBrB,qBAAW,GAAG,qBAAClvF,GAAD,EAAS;AACnB,gBAAM9K,IAAI,GAAG,CAAC8K,GAAD,CAAb;;AACA,gBAAIxM,MAAM,CAAC+T,IAAP,CAAY+oF,UAAZ,EAAwBpjG,MAA5B,EAAoC;AAChCgI,kBAAI,CAACvG,IAAL,CAAUo/C,UAAU,CAACuiD,UAAD,EAAa,IAAb,CAApB;AACH;;AACD,mBAAOE,WAAW,CAAC,IAAD,EAAOl0E,aAAa,CAACuG,eAArB,EAAsC3tB,IAAtC,CAAlB;AACH,WAND;AAOH;;AACD,aAAKu7F,aAAL,CAAmB10E,IAAnB,EAAyB9hB,MAAzB,EAAiCxC,OAAO,CAACie,GAAzC,EAA8Cw5E,WAA9C;AACH;AACJ;;;WACD,qBAA0C;AAAA,UAAhCx0D,IAAgC,uEAAzB,IAAyB;AAAA,UAAnB3e,IAAmB;AAAA,UAAb02C,WAAa;AACtC,UAAM14D,KAAK,GAAG,KAAK6zF,gBAAL,EAAd;AACA,WAAKrrE,IAAL,GAAY,KAAK2pE,WAAL,GACR,KAAKA,WAAL,CAAiBwE,gBAAjB,CAAkC32F,KAAlC,EAAyC,KAAK8oF,aAA9C,EAA6D9mE,IAA7D,CADQ,GAER,IAAI6mE,WAAJ,CAAgB7oF,KAAhB,EAAuB,KAAKq1F,wBAAL,EAAvB,EAAwD,CAAxD,EAA2D,KAAKvM,aAAhE,EAA+E9mE,IAA/E,CAFJ,CAFsC,CAKtC;;AACA,uBAAoB,KAAKwG,IAAzB;AAAA,UAAQ1a,EAAR,cAAQA,EAAR;AAAA,UAAY6N,GAAZ,cAAYA,GAAZ;AACA,UAAMzb,MAAM,GAAG,CAACyO,OAAO,CAAC3O,KAAD,CAAR,EAAiB,KAAK42F,WAAL,CAAiBj7E,GAAjB,CAAjB,CAAf;;AACA,UAAI7N,EAAE,GAAG,CAAT,EAAY;AACR;AACA;AACA5N,cAAM,CAACtL,IAAP,CAAY+Z,OAAO,CAACb,EAAD,CAAnB;AACH;;AACD,WAAKomF,mBAAL,CAAyBvzD,IAAzB,EAA+B+3B,WAAW,GAAGn2C,aAAa,CAACiG,IAAjB,GAAwBjG,aAAa,CAACoG,SAAhF,EAA2FzoB,MAA3F;AACH;;;WACD,mBAAkC;AAAA;;AAAA,UAA1BygC,IAA0B,uEAAnB,IAAmB;AAAA,UAAb+3B,WAAa;;AAC9B,UAAI,CAAC,KAAKlwC,IAAV,EAAgB;AACZ,cAAM,IAAI52B,KAAJ,CAAU,kDAAV,CAAN;AACH;;AACD,UAAI,KAAKugG,WAAT,EAAsB;AAClB,aAAKA,WAAL,CAAiB0E,qBAAjB,CAAuC,KAAKruE,IAA5C;AACA,aAAKsuE,aAAL,CAAmB,KAAK3E,WAAxB;AACH,OAHD,MAIK;AACD,aAAK2E,aAAL,CAAmB,KAAKtuE,IAAxB;AACH,OAV6B,CAW9B;;;AACA,wBAA4B,KAAKA,IAAjC;AAAA,UAAQxoB,KAAR,eAAQA,KAAR;AAAA,UAAeomE,QAAf,eAAeA,QAAf;;AACA,UAAIA,QAAQ,CAAC1yD,IAAb,EAAmB;AACf,YAAMqjF,aAAa,GAAG,EAAtB;AACA3wB,gBAAQ,CAAChzE,OAAT,CAAiB,UAAAkzE,OAAO,EAAI;AACxBywB,uBAAa,CAACniG,IAAd,CAAmB;AAAEkL,sBAAU,EAAE6gC,IAAd;AAAoB7rC,iBAAK,EAAE;AAAA,qBAAM,QAAI,CAAC8pD,sBAAL,CAA4B0nB,OAA5B,CAAN;AAAA;AAA3B,WAAnB;AACH,SAFD,EAFe,CAKf;AACA;AACA;;AACA,aAAK0wB,iCAAL,CAAuC,KAAKC,aAAL,KAAuB,CAA9D,EAAiE10E,aAAa,CAACmG,OAA/E,EAAwFquE,aAAxF;AACA,aAAKG,iBAAL,CAAuBv2D,IAAvB,EAA6Bpe,aAAa,CAACsG,SAA3C,EAAsD,CAACla,OAAO,CAAC3O,KAAD,CAAR,CAAtD;AACH;;AACD,UAAI,CAAC04D,WAAL,EAAkB;AACd,aAAKw7B,mBAAL,CAAyBvzD,IAAzB,EAA+Bpe,aAAa,CAACqG,OAA7C;AACH;;AACD,WAAKJ,IAAL,GAAY,IAAZ,CA3B8B,CA2BZ;AACrB;;;WACD,mCAA0B2uE,SAA1B,EAAqChjG,KAArC,EAA4C2L,UAA5C,EAAwD;AAAA;;AACpD,UAAIk2E,WAAW,GAAG,KAAlB;AACA,UAAMohB,YAAY,GAAG,EAArB;AACA,UAAMhxB,QAAQ,GAAG,EAAjB;AACAjyE,WAAK,CAACf,OAAN,CAAc,UAAA2pC,IAAI,EAAI;AAClB,YAAM9I,OAAO,GAAG8I,IAAI,CAACvU,IAArB;AACA,YAAM6uE,SAAS,GAAGt6D,IAAI,CAACjoC,KAAL,CAAWy7B,KAAX,CAAiB,QAAI,CAACojE,eAAtB,CAAlB;;AACA,gBAAI,CAACzb,oBAAL,CAA0Bmf,SAA1B;;AACA,YAAIA,SAAS,YAAY59C,aAAzB,EAAwC;AACpC,cAAMnqB,YAAY,GAAGuO,6BAA6B,CAAC5J,OAAD,CAAlD;AACA,cAAM/zB,MAAM,GAAGy9B,oBAAoB,CAACrO,YAAD,CAAnC;AACA8nE,sBAAY,CAACxiG,IAAb,CAAkB+Z,OAAO,CAACouB,IAAI,CAAC1pC,IAAN,CAAzB,EAAsC,QAAI,CAACqjG,aAAL,CAAmBziE,OAAnB,EAA4B/zB,MAA5B,CAAtC;AACAm3F,mBAAS,CAAC7yF,WAAV,CAAsBpR,OAAtB,CAA8B,UAAAohB,UAAU,EAAI;AACxCwhE,uBAAW,GAAG,IAAd;AACA5P,oBAAQ,CAACxxE,IAAT,CAAc;AACVkL,wBAAU,EAAVA,UADU;AAEVhL,mBAAK,EAAE;AAAA,uBAAM,QAAI,CAAC8pD,sBAAL,CAA4BpqC,UAA5B,CAAN;AAAA;AAFG,aAAd;AAIH,WAND;AAOH;AACJ,OAhBD;;AAiBA,UAAI4xD,QAAQ,CAACjzE,MAAT,GAAkB,CAAtB,EAAyB;AACrB,aAAK6jG,iCAAL,CAAuCG,SAAvC,EAAkD50E,aAAa,CAACmG,OAAhE,EAAyE09C,QAAzE;AACH;;AACD,UAAIgxB,YAAY,CAACjkG,MAAb,GAAsB,CAA1B,EAA6B;AACzB,YAAM6M,KAAK,GAAG2O,OAAO,CAAC,KAAKklF,gBAAL,EAAD,CAArB;AACA,YAAMyD,UAAU,GAAG,KAAKV,WAAL,CAAiBzoF,UAAU,CAACipF,YAAD,CAA3B,CAAnB;AACA,aAAKlD,mBAAL,CAAyBp0F,UAAzB,EAAqCyiB,aAAa,CAACkG,cAAnD,EAAmE,CAACzoB,KAAD,EAAQs3F,UAAR,CAAnE;;AACA,YAAIthB,WAAJ,EAAiB;AACb,eAAKkhB,iBAAL,CAAuBp3F,UAAvB,EAAmCyiB,aAAa,CAACsG,SAAjD,EAA4D,CAAC7oB,KAAD,CAA5D;AACH;AACJ;AACJ;;;WACD,iCAAwBu3F,YAAxB,EAAsC;AAClC,cAAQA,YAAR;AACI,aAAK,MAAL;AACI,iBAAOh1E,aAAa,CAACK,eAArB;;AACJ,aAAK,KAAL;AACI,iBAAOL,aAAa,CAACM,YAArB;;AACJ;AACI,iBAAON,aAAa,CAACI,aAArB;AANR;AAQH;;;WACD,iCAAwB60E,aAAxB,EAAuCvjG,OAAvC,EAAgD;AAC5C,WAAKq+F,UAAL,GAAkBkF,aAAlB;AACA,WAAKtD,mBAAL,CAAyBjgG,OAAO,CAACs6B,eAAjC,EAAkDipE,aAAlD;AACH;AACD;AACJ;AACA;AACA;;;;WACI,uCAA8Bf,WAA9B,EAA2CgB,YAA3C,EAAyDhjG,QAAzD,EAAmE2a,KAAnE,EAA0Eta,KAA1E,EAAiFoL,MAAjF,EAAyF;AAAA;;AACrF,WAAKw3F,4BAAL,CAAkCD,YAAlC,EAAgDroF,KAAK,CAACtP,UAAtD,EAAkE22F,WAAlE,EAA+E;AAAA,gBAAO9nF,OAAO,CAACla,QAAD,CAAd,4JAA6B,QAAI,CAACkjG,6BAAL,CAAmC7iG,KAAnC,CAA7B,sJAA2EoL,MAA3E;AAAA,OAA/E;AACH;;;WACD,sBAAa03F,SAAb,EAAwB;AACpB,UAAM5D,IAAI,GAAG,KAAKH,gBAAL,EAAb;AACA,UAAMgE,iBAAiB,GAAG,KAAKvE,yBAAL,GAAiC,KAAKD,uBAAL,CAA6BlgG,MAAxF;AACA,UAAMwjB,UAAU,GAAG,CAAChI,OAAO,CAACqlF,IAAD,CAAR,CAAnB;;AACA,WAAKX,uBAAL,CAA6Bz+F,IAA7B,CAAkCgjG,SAAS,CAAC1iG,QAA5C;;AACA,UAAM4iG,0BAA0B,GAAGF,SAAS,CAACxpE,UAAV,CAAqB5X,MAArB,CAA4B,UAAAumB,IAAI;AAAA,eAAIA,IAAI,CAAC1pC,IAAL,CAAUC,WAAV,OAA4Bk9F,wBAAhC;AAAA,OAAhC,CAAnC;AACA,UAAMpiE,UAAU,GAAG,KAAK2pE,uBAAL,CAA6BH,SAAS,CAACvkG,IAAvC,EAA6CykG,0BAA7C,EAAyE,EAAzE,EAA6E,EAA7E,CAAnB;;AACA,UAAI1pE,UAAU,CAACj7B,MAAX,GAAoB,CAAxB,EAA2B;AACvBwjB,kBAAU,CAAC/hB,IAAX,CAAgB+Z,OAAO,CAACkpF,iBAAD,CAAvB,EAA4C1pF,UAAU,CAACigB,UAAD,CAAtD;AACH,OAFD,MAGK,IAAIypE,iBAAiB,KAAK,CAA1B,EAA6B;AAC9BlhF,kBAAU,CAAC/hB,IAAX,CAAgB+Z,OAAO,CAACkpF,iBAAD,CAAvB;AACH;;AACD,WAAK3D,mBAAL,CAAyB0D,SAAS,CAAC93F,UAAnC,EAA+CyiB,aAAa,CAACyG,UAA7D,EAAyErS,UAAzE;;AACA,UAAI,KAAK6R,IAAT,EAAe;AACX,aAAKA,IAAL,CAAUwvE,gBAAV,CAA2BJ,SAAS,CAACpvE,IAArC,EAA2CwrE,IAA3C;AACH;AACJ;;;WACD,sBAAa//F,OAAb,EAAsB;AAAA;;AAClB,UAAIP,EAAJ,EAAQC,EAAR;;AACA,UAAM8jG,YAAY,GAAG,KAAK5D,gBAAL,EAArB;AACA,UAAMoE,cAAc,GAAG,IAAIpiB,cAAJ,CAAmB,IAAnB,CAAvB;AACA,UAAIqiB,iBAAiB,GAAG,KAAxB;AACA,UAAM1R,iBAAiB,GAAG7pD,cAAc,CAAC1oC,OAAO,CAACu0B,IAAT,CAAd,IAAgC,CAACoU,eAAe,CAAC3oC,OAAO,CAACu0B,IAAT,CAA1E;AACA,UAAM2vE,WAAW,GAAG,EAApB;;AACA,yBAAoC3mG,WAAW,CAACyC,OAAO,CAACZ,IAAT,CAA/C;AAAA;AAAA,UAAOkkG,YAAP;AAAA,UAAqB9lG,WAArB;;AACA,UAAM2mG,eAAe,GAAGtmG,aAAa,CAACmC,OAAO,CAACZ,IAAT,CAArC,CARkB,CASlB;;AATkB,kLAUCY,OAAO,CAACm6B,UAVT;AAAA;;AAAA;AAUlB,kEAAuC;AAAA,cAA5B2O,IAA4B;AACnC,cAAQ1pC,IAAR,GAAwB0pC,IAAxB,CAAQ1pC,IAAR;AAAA,cAAcyB,KAAd,GAAwBioC,IAAxB,CAAcjoC,KAAd;;AACA,cAAIzB,IAAI,KAAK8rC,iBAAb,EAAgC;AAC5B+4D,6BAAiB,GAAG,IAApB;AACH,WAFD,MAGK,IAAI7kG,IAAI,KAAK,OAAb,EAAsB;AACvB4kG,0BAAc,CAACI,iBAAf,CAAiCvjG,KAAjC;AACH,WAFI,MAGA,IAAIzB,IAAI,KAAK,OAAb,EAAsB;AACvB4kG,0BAAc,CAACK,iBAAf,CAAiCxjG,KAAjC;AACH,WAFI,MAGA;AACDqjG,uBAAW,CAACvjG,IAAZ,CAAiBmoC,IAAjB;AACH;AACJ,SAxBiB,CAyBlB;;AAzBkB;AAAA;AAAA;AAAA;AAAA;;AA0BlB,WAAKw7D,eAAL,CAAqBtkG,OAAO,CAACZ,IAA7B,EAAmCY,OAAnC,EA1BkB,CA2BlB;;AACA,UAAM0iB,UAAU,GAAG,CAAChI,OAAO,CAAC8oF,YAAD,CAAR,CAAnB;;AACA,UAAI,CAACW,eAAL,EAAsB;AAClBzhF,kBAAU,CAAC/hB,IAAX,CAAgB+Z,OAAO,CAACld,WAAD,CAAvB;AACH,OA/BiB,CAgClB;;;AACA,UAAM+mG,cAAc,GAAG,EAAvB;AACA,UAAMC,cAAc,GAAG,EAAvB;AACAxkG,aAAO,CAAC0pB,MAAR,CAAevqB,OAAf,CAAuB,UAAAgc,KAAK,EAAI;AAC5B,YAAMspF,kBAAkB,GAAGT,cAAc,CAACU,kBAAf,CAAkCvpF,KAAlC,CAA3B;;AACA,YAAI,CAACspF,kBAAL,EAAyB;AACrB,cAAItpF,KAAK,CAACvP,IAAN,KAAe;AAAE;AAAjB,aAAmCuP,KAAK,CAACoZ,IAA7C,EAAmD;AAC/CiwE,0BAAc,CAAC7jG,IAAf,CAAoBwa,KAApB;AACH,WAFD,MAGK;AACDopF,0BAAc,CAAC5jG,IAAf,CAAoBwa,KAApB;AACH;AACJ;AACJ,OAVD,EAnCkB,CA8ClB;;AACA,UAAMgf,UAAU,GAAG,KAAK2pE,uBAAL,CAA6B9jG,OAAO,CAACZ,IAArC,EAA2C8kG,WAA3C,EAAwDK,cAAxD,EAAwEvkG,OAAO,CAAC2pB,OAAhF,EAAyFq6E,cAAzF,EAAyG,EAAzG,EAA6GQ,cAA7G,CAAnB;AACA9hF,gBAAU,CAAC/hB,IAAX,CAAgB,KAAKgkG,gBAAL,CAAsBxqE,UAAtB,CAAhB,EAhDkB,CAiDlB;;AACA,UAAM+nB,IAAI,GAAG,KAAK0iD,gBAAL,CAAsB5kG,OAAO,CAACq6B,UAA9B,CAAb;AACA3X,gBAAU,CAAC/hB,IAAX,CAAgB,KAAKgiG,WAAL,CAAiBzgD,IAAjB,CAAhB;AACA,UAAM2iD,cAAc,GAAG,KAAKxG,UAA5B;AACA,UAAMyG,gBAAgB,GAAG,KAAKC,uBAAL,CAA6BzB,YAA7B,CAAzB,CArDkB,CAsDlB;AACA;;AACA,UAAIwB,gBAAgB,KAAKD,cAAzB,EAAyC;AACrC,aAAKG,uBAAL,CAA6BF,gBAA7B,EAA+C9kG,OAA/C;AACH;;AACD,UAAI,KAAKu0B,IAAT,EAAe;AACX,aAAKA,IAAL,CAAU0wE,aAAV,CAAwBjlG,OAAO,CAACu0B,IAAhC,EAAsCivE,YAAtC;AACH,OA7DiB,CA8DlB;AACA;;;AACA,UAAM0B,WAAW,GAAI,CAAC3S,iBAAD,IAAsB,KAAKh+D,IAA5B,GAAoC,CAACgsE,mBAAmB,CAACvgG,OAAO,CAACo6B,QAAT,CAAxD,GAChBp6B,OAAO,CAACo6B,QAAR,CAAiBl7B,MAAjB,GAA0B,CAD9B;AAEA,UAAMimG,4BAA4B,GAAG,CAACnB,cAAc,CAAChiB,oBAAhB,IACjChiF,OAAO,CAAC2pB,OAAR,CAAgBzqB,MAAhB,KAA2B,CADM,IACDslG,cAAc,CAACtlG,MAAf,KAA0B,CADzB,IAC8B,CAACgmG,WADpE;AAEA,UAAME,gCAAgC,GAAG,CAACD,4BAAD,IAAiC5E,mBAAmB,CAACvgG,OAAO,CAACo6B,QAAT,CAA7F;;AACA,UAAI+qE,4BAAJ,EAAkC;AAC9B,aAAKlF,mBAAL,CAAyBjgG,OAAO,CAAC6L,UAAjC,EAA6Cs4F,eAAe,GAAG71E,aAAa,CAACwB,gBAAjB,GAAoCxB,aAAa,CAACtuB,OAA9G,EAAuH8rC,iBAAiB,CAACppB,UAAD,CAAxI;AACH,OAFD,MAGK;AACD,aAAKu9E,mBAAL,CAAyBjgG,OAAO,CAACs6B,eAAjC,EAAkD6pE,eAAe,GAAG71E,aAAa,CAACsB,qBAAjB,GAAyCtB,aAAa,CAACO,YAAxH,EAAsIid,iBAAiB,CAACppB,UAAD,CAAvJ;;AACA,YAAIuhF,iBAAJ,EAAuB;AACnB,eAAKhE,mBAAL,CAAyBjgG,OAAO,CAACs6B,eAAjC,EAAkDhM,aAAa,CAAC0D,eAAhE;AACH;;AACD,YAAIwyE,cAAc,CAACtlG,MAAf,GAAwB,CAA5B,EAA+B;AAC3B,eAAKmmG,yBAAL,CAA+B7B,YAA/B,EAA6CgB,cAA7C,EAA6D,CAAC/kG,EAAE,GAAGO,OAAO,CAACs6B,eAAd,MAAmC,IAAnC,IAA2C76B,EAAE,KAAK,KAAK,CAAvD,GAA2DA,EAA3D,GAAgEO,OAAO,CAAC6L,UAArI;AACH,SAPA,CAQD;;;AACA,YAAI7L,OAAO,CAAC2pB,OAAR,CAAgBzqB,MAAhB,GAAyB,CAA7B,EAAgC;AAC5B,cAAMomG,SAAS,GAAGtlG,OAAO,CAAC2pB,OAAR,CAAgB/lB,GAAhB,CAAoB,UAAC2hG,SAAD;AAAA,mBAAgB;AAClD15F,wBAAU,EAAE05F,SAAS,CAAC15F,UAD4B;AAElDI,oBAAM,EAAE,QAAI,CAACu5F,wBAAL,CAA8BxlG,OAAO,CAACZ,IAAtC,EAA4CmmG,SAA5C,EAAuD/B,YAAvD;AAF0C,aAAhB;AAAA,WAApB,CAAlB;AAIA,eAAKiC,wBAAL,CAA8Bn3E,aAAa,CAAC2I,QAA5C,EAAsDquE,SAAtD;AACH,SAfA,CAgBD;AACA;;;AACA,YAAI/S,iBAAJ,EAAuB;AACnB,eAAK79D,SAAL,CAAe10B,OAAO,CAACs6B,eAAvB,EAAwCt6B,OAAO,CAACu0B,IAAhD,EAAsD6wE,gCAAtD;AACH;AACJ,OA7FiB,CA8FlB;AACA;AACA;AACA;;;AACA,UAAMM,mBAAmB,GAAG1B,cAAc,CAAC2B,4BAAf,CAA4C,KAAKjG,eAAjD,CAA5B;AACA,UAAMkG,KAAK,GAAGF,mBAAmB,CAACxmG,MAApB,GAA6B,CAA3C;;AACA,WAAK,IAAIqB,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAIqlG,KAArB,EAA4BrlG,CAAC,EAA7B,EAAiC;AAC7B,YAAMiiG,YAAW,GAAGkD,mBAAmB,CAACnlG,CAAD,CAAvC;AACA,aAAK4+F,aAAL,IAAsB,KAAK0G,+BAAL,CAAqCrC,YAArC,EAAmDhB,YAAnD,CAAtB;AACH,OAvGiB,CAwGlB;AACA;AACA;;;AACA,UAAMsD,yBAAyB,GAAGprF,OAAO,CAACvV,SAAD,CAAzC;AACA,UAAM4gG,gBAAgB,GAAG,EAAzB;AACA,UAAMC,iBAAiB,GAAG,EAA1B,CA7GkB,CA8GlB;;AACAzB,oBAAc,CAACplG,OAAf,CAAuB,UAAAgc,KAAK,EAAI;AAC5B,YAAM8qF,SAAS,GAAG9qF,KAAK,CAACvP,IAAxB;;AACA,YAAIq6F,SAAS,KAAK;AAAE;AAApB,UAAqC;AACjC,gBAAMplG,OAAK,GAAGsa,KAAK,CAACta,KAAN,CAAYy7B,KAAZ,CAAkB,QAAI,CAACojE,eAAvB,CAAd,CADiC,CAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,gBAAMwG,QAAQ,GAAGrlG,OAAK,YAAYqkD,gBAAjB,GAAoC,CAAC,CAACrkD,OAAK,CAACA,KAA5C,GAAoD,IAArE;;AACA,oBAAI,CAACojF,oBAAL,CAA0BpjF,OAA1B;;AACAklG,4BAAgB,CAACplG,IAAjB,CAAsB;AAClBvB,kBAAI,EAAE84B,4BAA4B,CAAC/c,KAAK,CAAC/b,IAAP,CADhB;AAElByM,wBAAU,EAAEsP,KAAK,CAACtP,UAFA;AAGlBhL,mBAAK,EAAE;AAAA,uBAAMqlG,QAAQ,GAAG,QAAI,CAACv7C,sBAAL,CAA4B9pD,OAA5B,CAAH,GAAwCilG,yBAAtD;AAAA;AAHW,aAAtB;AAKH,WAlBD,MAmBK;AACD;AACA;AACA,cAAI3qF,KAAK,CAACoZ,IAAV,EACI;;AACJ,cAAM1zB,OAAK,GAAGsa,KAAK,CAACta,KAAN,CAAYy7B,KAAZ,CAAkB,QAAI,CAACojE,eAAvB,CAAd;;AACA,cAAI7+F,OAAK,KAAKsE,SAAd,EAAyB;AACrB,gBAAM8G,MAAM,GAAG,EAAf;;AACA,gCAAkC1O,WAAW,CAAC4d,KAAK,CAAC/b,IAAP,CAA7C;AAAA;AAAA,gBAAO+mG,aAAP;AAAA,gBAAsB3lG,QAAtB;;AACA,gBAAM4lG,kBAAkB,GAAGH,SAAS,KAAK;AAAE;AAA3C;AACA,gBAAMI,eAAe,GAAGC,qBAAqB,CAACnrF,KAAK,CAACoe,eAAP,EAAwB6sE,kBAAxB,CAA7C;AACA,gBAAIC,eAAJ,EACIp6F,MAAM,CAACtL,IAAP,CAAY0lG,eAAZ;;AACJ,gBAAIF,aAAJ,EAAmB;AACf,kBAAMI,gBAAgB,GAAG7rF,OAAO,CAACyrF,aAAD,CAAhC;;AACA,kBAAIE,eAAJ,EAAqB;AACjBp6F,sBAAM,CAACtL,IAAP,CAAY4lG,gBAAZ;AACH,eAFD,MAGK;AACD;AACA;AACAt6F,sBAAM,CAACtL,IAAP,CAAY+Z,OAAO,CAAC,IAAD,CAAnB,EAA2B6rF,gBAA3B;AACH;AACJ;;AACD,oBAAI,CAACtiB,oBAAL,CAA0BpjF,OAA1B;;AACA,gBAAIolG,SAAS,KAAK;AAAE;AAApB,cAAoC;AAChC,oBAAIplG,OAAK,YAAY2kD,aAArB,EAAoC;AAChC;AACA,0BAAI,CAACghD,6BAAL,CAAmCC,kCAAkC,CAAC5lG,OAAD,CAArE,EAA8E2iG,YAA9E,EAA4FhjG,QAA5F,EAAsG2a,KAAtG,EAA6Gta,OAA7G,EAAoHoL,MAApH;AACH,iBAHD,MAIK;AACD;AACA;AACA85F,kCAAgB,CAACplG,IAAjB,CAAsB;AAClBvB,wBAAI,EAAEoB,QADY;AAElBqL,8BAAU,EAAEsP,KAAK,CAACtP,UAFA;AAGlBhL,yBAAK,EAAE;AAAA,6BAAM,QAAI,CAAC8pD,sBAAL,CAA4B9pD,OAA5B,CAAN;AAAA,qBAHW;AAIlBoL,0BAAM,EAANA;AAJkB,mBAAtB;AAMH;AACJ,eAfD,MAgBK,IAAIg6F,SAAS,KAAK;AAAE;AAApB,cAAqC;AACtC,oBAAIplG,OAAK,YAAY2kD,aAAjB,IAAkC7Y,0BAA0B,CAAC9rC,OAAD,CAA1B,GAAoC,CAA1E,EAA6E;AACzE;AACA,0BAAI,CAAC2lG,6BAAL,CAAmCE,mCAAmC,CAAC7lG,OAAD,CAAtE,EAA+E2iG,YAA/E,EAA6FhjG,QAA7F,EAAuG2a,KAAvG,EAA8Gta,OAA9G,EAAqHoL,MAArH;AACH,iBAHD,MAIK;AACD,sBAAM06F,UAAU,GAAG9lG,OAAK,YAAY2kD,aAAjB,GAAiC3kD,OAAK,CAAC0P,WAAN,CAAkB,CAAlB,CAAjC,GAAwD1P,OAA3E,CADC,CAED;AACA;;AACAmlG,mCAAiB,CAACrlG,IAAlB,CAAuB;AACnBvB,wBAAI,EAAEoB,QADa;AAEnBqL,8BAAU,EAAEsP,KAAK,CAACtP,UAFC;AAGnBhL,yBAAK,EAAE;AAAA,6BAAM,QAAI,CAAC8pD,sBAAL,CAA4Bg8C,UAA5B,CAAN;AAAA,qBAHY;AAInB16F,0BAAM,EAANA;AAJmB,mBAAvB;AAMH;AACJ,eAhBI,MAiBA;AACD;AACA,sBAAI,CAACw3F,4BAAL,CAAkCD,YAAlC,EAAgDroF,KAAK,CAACtP,UAAtD,EAAkEyiB,aAAa,CAACqB,SAAhF,EAA2F,YAAM;AAC7F,wBACIjV,OAAO,CAAC8oF,YAAD,CADX,EAC2B9oF,OAAO,CAACla,QAAD,CADlC,EAC8C,QAAI,CAACmqD,sBAAL,CAA4B9pD,OAA5B,CAD9C,SAEOoL,MAFP;AAIH,eALD;AAMH;AACJ;AACJ;AACJ,OA1FD;;AA2FA,UAAI85F,gBAAgB,CAAC7mG,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B,aAAK6jG,iCAAL,CAAuCS,YAAvC,EAAqDl1E,aAAa,CAACvM,QAAnE,EAA6EgkF,gBAA7E;AACH;;AACD,UAAIC,iBAAiB,CAAC9mG,MAAlB,GAA2B,CAA/B,EAAkC;AAC9B,aAAK6jG,iCAAL,CAAuCS,YAAvC,EAAqDl1E,aAAa,CAACtsB,SAAnE,EAA8EgkG,iBAA9E;AACH,OA/MiB,CAgNlB;;;AACArqE,cAAQ,CAAC,IAAD,EAAO37B,OAAO,CAACo6B,QAAf,CAAR;;AACA,UAAI,CAACm4D,iBAAD,IAAsB,KAAKh+D,IAA/B,EAAqC;AACjC,aAAKA,IAAL,CAAU0wE,aAAV,CAAwBjlG,OAAO,CAACu0B,IAAhC,EAAsCivE,YAAtC,EAAoD,IAApD;AACH;;AACD,UAAI,CAAC2B,4BAAL,EAAmC;AAC/B;AACA,YAAMz4D,IAAI,GAAG,CAAChtC,EAAE,GAAGM,OAAO,CAACu6B,aAAd,MAAiC,IAAjC,IAAyC76B,EAAE,KAAK,KAAK,CAArD,GAAyDA,EAAzD,GAA8DM,OAAO,CAAC6L,UAAnF;;AACA,YAAI0mF,iBAAJ,EAAuB;AACnB,eAAK59D,OAAL,CAAa+X,IAAb,EAAmB04D,gCAAnB;AACH;;AACD,YAAInB,iBAAJ,EAAuB;AACnB,eAAKhE,mBAAL,CAAyBvzD,IAAzB,EAA+Bpe,aAAa,CAACyD,cAA7C;AACH;;AACD,aAAKkuE,mBAAL,CAAyBvzD,IAAzB,EAA+By3D,eAAe,GAAG71E,aAAa,CAACuB,mBAAjB,GAAuCvB,aAAa,CAACQ,UAAnG;AACH;AACJ;;;WACD,uBAAclG,QAAd,EAAwB;AAAA;;AACpB,UAAInpB,EAAJ;;AACA,UAAMmnG,oBAAoB,GAAG,aAA7B;AACA,UAAM/R,aAAa,GAAG,KAAK+K,gBAAL,EAAtB;;AACA,UAAI,KAAKrrE,IAAT,EAAe;AACX,aAAKA,IAAL,CAAUsyE,cAAV,CAAyBj+E,QAAQ,CAAC2L,IAAlC,EAAwCsgE,aAAxC;AACH;;AACD,UAAM/2F,OAAO,GAAGwpB,kBAAkB,CAACsB,QAAQ,CAAC9qB,OAAT,IAAoB,EAArB,CAAlC;AACA,UAAMmgG,WAAW,aAAM,KAAKA,WAAX,SAAyBngG,OAAO,GAAG,MAAMA,OAAT,GAAmB,EAAnD,cAAyD+2F,aAAzD,CAAjB;AACA,UAAM/rB,YAAY,aAAMm1B,WAAN,cAAlB;AACA,UAAMv7E,UAAU,GAAG,CACfhI,OAAO,CAACm6E,aAAD,CADQ,EAEfl7E,QAAQ,CAACmvD,YAAD,CAFO,EAGf;AACA;AACApuD,aAAO,CAACkO,QAAQ,CAAC9qB,OAAT,GAAmBP,WAAW,CAACqrB,QAAQ,CAAC9qB,OAAV,CAAX,CAA8B,CAA9B,CAAnB,GAAsD8qB,QAAQ,CAAC9qB,OAAhE,CALQ,CAAnB,CAVoB,CAiBpB;;AACA,WAAKwmG,eAAL,CAAqBsC,oBAArB,EAA2Ch+E,QAA3C,EAlBoB,CAmBpB;;AACA,UAAMk+E,UAAU,GAAG,KAAKhD,uBAAL,CAA6B8C,oBAA7B,EAAmDh+E,QAAQ,CAACuR,UAA5D,EAAwEvR,QAAQ,CAACc,MAAjF,EAAyFd,QAAQ,CAACe,OAAlG,EAA2GxkB;AAAU;AAArH,QAAmIyjB,QAAQ,CAAC8R,aAA5I,CAAnB;AACAhY,gBAAU,CAAC/hB,IAAX,CAAgB,KAAKgkG,gBAAL,CAAsBmC,UAAtB,CAAhB,EArBoB,CAsBpB;;AACA,UAAIl+E,QAAQ,CAACyR,UAAT,IAAuBzR,QAAQ,CAACyR,UAAT,CAAoBn7B,MAA/C,EAAuD;AACnD,YAAMgjD,IAAI,GAAG,KAAK0iD,gBAAL,CAAsBh8E,QAAQ,CAACyR,UAA/B,CAAb;AACA3X,kBAAU,CAAC/hB,IAAX,CAAgB,KAAKgiG,WAAL,CAAiBzgD,IAAjB,CAAhB;AACAx/B,kBAAU,CAAC/hB,IAAX,CAAgBiZ,UAAU,CAAC0U,aAAa,CAAC+G,oBAAf,CAA1B;AACH,OA3BmB,CA4BpB;;;AACA,UAAM0xE,eAAe,GAAG,IAAIhJ,yBAAJ,CAA8B,KAAK9xD,YAAnC,EAAiD,KAAKszD,aAAtD,EAAqE,KAAKrgD,KAAL,GAAa,CAAlF,EAAqF++C,WAArF,EAAkG,KAAK1pE,IAAvG,EAA6GsgE,aAA7G,EAA4H/rB,YAA5H,EAA0I,KAAKq1B,gBAA/I,EAAiK,KAAKjyE,UAAtK,EAAkL,KAAKkyE,cAAvL,EAAuM,KAAK/xE,KAA5M,EAAmN,KAAKgyE,UAAxN,EAAoO,KAAKoB,mBAAzO,EAA8P,KAAKlB,kBAAnQ,EAAuR,KAAKC,UAA5R,CAAxB,CA7BoB,CA8BpB;AACA;AACA;AACA;;AACA,WAAKQ,kBAAL,CAAwBr+F,IAAxB,CAA6B,YAAM;AAC/B,YAAMqmG,oBAAoB,GAAGD,eAAe,CAACE,qBAAhB,CAAsCr+E,QAAQ,CAACwR,QAA/C,EAAyDxR,QAAQ,CAAC+R,SAAlE,EAA6E,QAAI,CAACykE,uBAAL,CAA6BlgG,MAA7B,GAAsC,QAAI,CAACmgG,yBAAxH,EAAmJz2E,QAAQ,CAAC2L,IAA5J,CAA7B;;AACA,gBAAI,CAAC0X,YAAL,CAAkBj5B,UAAlB,CAA6BrS,IAA7B,CAAkCqmG,oBAAoB,CAACl4F,UAArB,CAAgCg6D,YAAhC,CAAlC;;AACA,YAAIi+B,eAAe,CAAC3H,uBAAhB,CAAwClgG,MAA5C,EAAoD;AAAA;;AAChD,2CAAI,CAACkgG,uBAAL,EAA6Bz+F,IAA7B,iLAAqComG,eAAe,CAAC3H,uBAArD;AACH;AACJ,OAND,EAlCoB,CAyCpB;;;AACA,WAAKa,mBAAL,CAAyBr3E,QAAQ,CAAC/c,UAAlC,EAA8CyiB,aAAa,CAACwD,cAA5D,EAA4E,YAAM;AAC9EpP,kBAAU,CAACyiD,MAAX,CAAkB,CAAlB,EAAqB,CAArB,EAAwBzqD,OAAO,CAACqsF,eAAe,CAAC/D,aAAhB,EAAD,CAA/B,EAAkEtoF,OAAO,CAACqsF,eAAe,CAACG,WAAhB,EAAD,CAAzE;AACA,eAAOp7D,iBAAiB,CAACppB,UAAD,CAAxB;AACH,OAHD,EA1CoB,CA8CpB;;AACA,WAAKykF,wBAAL,CAA8BtS,aAA9B,EAA6CjsE,QAAQ,CAAC8R,aAAtD,EA/CoB,CAgDpB;;AACA,UAAI9R,QAAQ,CAAC9qB,OAAT,KAAqB8oG,oBAAzB,EAA+C;AAC3C,8BAA6BjnF,cAAc,CAACiJ,QAAQ,CAACc,MAAV,EAAkBkf,WAAlB,CAA3C;AAAA;AAAA,YAAOw+D,UAAP;AAAA,YAAmB19E,MAAnB,uBAD2C,CAE3C;AACA;AACA;AACA;;;AACA,YAAI09E,UAAU,CAACloG,MAAX,GAAoB,CAAxB,EAA2B;AACvB,eAAKmmG,yBAAL,CAA+BxQ,aAA/B,EAA8CuS,UAA9C,EAA0D,CAAC3nG,EAAE,GAAGmpB,QAAQ,CAAC0R,eAAf,MAAoC,IAApC,IAA4C76B,EAAE,KAAK,KAAK,CAAxD,GAA4DA,EAA5D,GAAiEmpB,QAAQ,CAAC/c,UAApI;AACH,SAR0C,CAS3C;;;AACA,YAAI6d,MAAM,CAACxqB,MAAP,GAAgB,CAApB,EAAuB;AACnB,eAAKioG,wBAAL,CAA8BtS,aAA9B,EAA6CnrE,MAA7C;AACH,SAZ0C,CAa3C;;;AACA,YAAId,QAAQ,CAACe,OAAT,CAAiBzqB,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B,cAAMomG,SAAS,GAAG18E,QAAQ,CAACe,OAAT,CAAiB/lB,GAAjB,CAAqB,UAAC2hG,SAAD;AAAA,mBAAgB;AACnD15F,wBAAU,EAAE05F,SAAS,CAAC15F,UAD6B;AAEnDI,oBAAM,EAAE,QAAI,CAACu5F,wBAAL,CAA8B,aAA9B,EAA6CD,SAA7C,EAAwD1Q,aAAxD;AAF2C,aAAhB;AAAA,WAArB,CAAlB;AAIA,eAAK4Q,wBAAL,CAA8Bn3E,aAAa,CAAC2I,QAA5C,EAAsDquE,SAAtD;AACH;AACJ;AACJ;;;WACD,wBAAet1F,IAAf,EAAqB;AAAA;;AACjB,UAAI,KAAKukB,IAAT,EAAe;AACX,YAAM1zB,OAAK,GAAGmP,IAAI,CAACnP,KAAL,CAAWy7B,KAAX,CAAiB,KAAKojE,eAAtB,CAAd;;AACA,aAAKzb,oBAAL,CAA0BpjF,OAA1B;;AACA,YAAIA,OAAK,YAAY2kD,aAArB,EAAoC;AAChC,eAAKjxB,IAAL,CAAU8yE,eAAV,CAA0Br3F,IAAI,CAACukB,IAA/B;AACA,eAAKytE,kBAAL,CAAwBnhG,OAAK,CAAC0P,WAA9B;AACH;;AACD;AACH;;AACD,UAAM2yF,SAAS,GAAG,KAAKtD,gBAAL,EAAlB;AACA,WAAKK,mBAAL,CAAyBjwF,IAAI,CAACnE,UAA9B,EAA0CyiB,aAAa,CAACte,IAAxD,EAA8D,CAAC0K,OAAO,CAACwoF,SAAD,CAAR,CAA9D;AACA,UAAMriG,KAAK,GAAGmP,IAAI,CAACnP,KAAL,CAAWy7B,KAAX,CAAiB,KAAKojE,eAAtB,CAAd;AACA,WAAKzb,oBAAL,CAA0BpjF,KAA1B;;AACA,UAAIA,KAAK,YAAY2kD,aAArB,EAAoC;AAChC,aAAKi+C,4BAAL,CAAkCP,SAAlC,EAA6ClzF,IAAI,CAACnE,UAAlD,EAA8Dy7F,8BAA8B,CAACzmG,KAAD,CAA5F,EAAqG;AAAA,iBAAM,QAAI,CAAC6iG,6BAAL,CAAmC7iG,KAAnC,CAAN;AAAA,SAArG;AACH,OAFD,MAGK;AACDuW,aAAK,CAAC,6DAAD,CAAL;AACH;AACJ;;;WACD,mBAAUpH,IAAV,EAAgB;AACZ;AACA;AACA;AACA,UAAI,CAAC,KAAKukB,IAAV,EAAgB;AACZ,aAAK0rE,mBAAL,CAAyBjwF,IAAI,CAACnE,UAA9B,EAA0CyiB,aAAa,CAACte,IAAxD,EAA8D,CAAC0K,OAAO,CAAC,KAAKklF,gBAAL,EAAD,CAAR,EAAmCllF,OAAO,CAAC1K,IAAI,CAACnP,KAAN,CAA1C,CAA9D;AACH;AACJ;;;WACD,kBAAS46B,GAAT,EAAc;AACV,UAAI8rE,cAAc,GAAG,KAArB,CADU,CAEV;AACA;AACA;;AACA,UAAI,CAAC,KAAKhzE,IAAV,EAAgB;AACZgzE,sBAAc,GAAG,IAAjB;AACA,aAAK7yE,SAAL,CAAe,IAAf,EAAqB+G,GAAG,CAAClH,IAAzB,EAA+B,IAA/B;AACH;;AACD,UAAMA,IAAI,GAAG,KAAKA,IAAlB;AACA,UAAM6G,IAAI,GAAG,KAAKosE,aAAL,CAAmB/rE,GAAG,CAACL,IAAvB,CAAb;AACA,UAAMC,YAAY,GAAG,KAAKmsE,aAAL,CAAmB/rE,GAAG,CAACJ,YAAvB,CAArB,CAXU,CAYV;;AACA,UAAM2E,OAAO,GAAGvE,GAAG,CAAClH,IAApB,CAbU,CAcV;AACA;AACA;AACA;AACA;;AACA,UAAM2sE,WAAW,GAAG,SAAdA,WAAc,CAAClvF,GAAD,EAAS;AACzB,YAAM/F,MAAM,GAAGzG,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB21B,IAAlB,CAAd,EAAuCC,YAAvC,CAAf;AACA,YAAMosE,SAAS,GAAGz9D,0BAA0B,CAAC/9B,MAAD;AAAS;AAAmB,aAA5B,CAA5C;AACA,eAAOu2F,WAAW,CAAC,IAAD,EAAOl0E,aAAa,CAACuG,eAArB,EAAsC,CAAC7iB,GAAD,EAAM+tC,UAAU,CAAC0nD,SAAD,EAAY,IAAZ,CAAhB,CAAtC,CAAlB;AACH,OAJD,CAnBU,CAwBV;AACA;AACA;AACA;AACA;;;AACA,UAAI9+D,eAAe,CAACpU,IAAI,CAACxG,IAAN,CAAnB,EAAgC;AAC5B,aAAK00E,aAAL,CAAmBziE,OAAnB;AAA4B;AAAmB,UAA/C,EAAmDzL,IAAI,CAAC7M,GAAxD,EAA6Dw5E,WAA7D;AACH,OAFD,MAGK;AACD;AACA,YAAMx5E,GAAG,GAAG,KAAK+6E,aAAL,CAAmBziE,OAAnB;AAA4B;AAAmB,UAA/C;AAAmD;AAAU76B,iBAA7D,EAAwE+7F,WAAxE,CAAZ;AACA3sE,YAAI,CAACmzE,SAAL,CAAe3+D,kBAAkB,CAAC/I,OAAD,CAAlB,CAA4B5gC,IAA3C,EAAiDsoB,GAAjD;AACH;;AACD,UAAI6/E,cAAJ,EAAoB;AAChB,aAAK5yE,OAAL,CAAa,IAAb,EAAmB,IAAnB;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,4BAAmB;AACf,aAAO,KAAK8pE,UAAL,EAAP;AACH;;;WACD,yBAAgB;AACZ,aAAO,KAAKA,UAAZ;AACH;;;WACD,uBAAc;AACV,aAAO,KAAKS,kBAAZ;AACH;;;WACD,qBAAY;AACR,aAAO,KAAKV,UAAZ;AACH;;;WACD,iCAAwB;AACpB,aAAO,KAAKY,uBAAL,CAA6BlgG,MAA7B,GACH,KAAK+sC,YAAL,CAAkBxpB,eAAlB,CAAkC8oB,SAAS,CAAC,KAAK6zD,uBAAN,CAA3C,EAA2E,IAA3E,CADG,GAEH,IAFJ;AAGH;;;WACD,0BAAiB;AACb,uBAAU,KAAKV,eAAL,EAAV;AACH;;;WACD,kCAAyB7J,aAAzB,EAAwC30F,KAAxC,EAA+C;AAAA;;AAC3C,UAAM6lG,gBAAgB,GAAG,EAAzB;AACA7lG,WAAK,CAACf,OAAN,CAAc,UAAAgc,KAAK,EAAI;AACnB,YAAIA,KAAK,YAAYme,cAArB,EAAqC;AACjC,cAAMz4B,OAAK,GAAGsa,KAAK,CAACta,KAAN,CAAYy7B,KAAZ,CAAkB,QAAI,CAACojE,eAAvB,CAAd;;AACA,cAAI7+F,OAAK,KAAKsE,SAAd,EAAyB;AACrB,oBAAI,CAAC8+E,oBAAL,CAA0BpjF,OAA1B;;AACA,gBAAIA,OAAK,YAAY2kD,aAArB,EAAoC;AAChC;AACA;AACA;AACA,kBAAMv5C,MAAM,GAAG,EAAf,CAJgC,CAKhC;;AACA,sBAAI,CAACu6F,6BAAL,CAAmCC,kCAAkC,CAAC5lG,OAAD,CAArE,EAA8Eg0F,aAA9E,EAA6F15E,KAAK,CAAC/b,IAAnG,EAAyG+b,KAAzG,EAAgHta,OAAhH,EAAuHoL,MAAvH;AACH,aAPD,MAQK;AACD;AACA85F,8BAAgB,CAACplG,IAAjB,CAAsB;AAClBvB,oBAAI,EAAE+b,KAAK,CAAC/b,IADM;AAElByM,0BAAU,EAAEsP,KAAK,CAACtP,UAFA;AAGlBhL,qBAAK,EAAE;AAAA,yBAAM,QAAI,CAAC8pD,sBAAL,CAA4B9pD,OAA5B,CAAN;AAAA;AAHW,eAAtB;AAKH;AACJ;AACJ;AACJ,OAvBD;;AAwBA,UAAIklG,gBAAgB,CAAC7mG,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B,aAAK6jG,iCAAL,CAAuClO,aAAvC,EAAsDvmE,aAAa,CAACvM,QAApE,EAA8EgkF,gBAA9E;AACH;AACJ,K,CACD;AACA;AACA;AACA;;;;WACA,uBAAc4B,GAAd,EAAmBj7D,IAAnB,EAAyBlmB,SAAzB,EAAoCohF,UAApC,EAAiE;AAAA,UAAjBC,OAAiB,uEAAP,KAAO;AAC7DF,SAAG,CAACE,OAAO,GAAG,SAAH,GAAe,MAAvB,CAAH,CAAkC,YAAM;AACpC,YAAM57F,MAAM,GAAG4P,KAAK,CAACC,OAAN,CAAc8rF,UAAd,IAA4BA,UAA5B,GAAyCA,UAAU,EAAlE;AACA,eAAOpF,WAAW,CAAC91D,IAAD,EAAOlmB,SAAP,EAAkBva,MAAlB,CAAX,CAAqCiiC,MAArC,EAAP;AACH,OAHD;AAIH;;;WACD,yCAAgCs1D,YAAhC,EAA8ChB,WAA9C,EAA2D;AAAA;;AACvD,UAAIve,oBAAoB,GAAG,CAA3B;;AACA,UAAIue,WAAJ,EAAiB;AACb,YAAM/1D,KAAK,GAAG,EAAd;AACA+1D,mBAAW,CAAC/1D,KAAZ,CAAkBttC,OAAlB,CAA0B,UAAA4kD,IAAI,EAAI;AAC9BkgC,8BAAoB,IAAIlgC,IAAI,CAACkgC,oBAA7B;AACAx3C,eAAK,CAAC9rC,IAAN,CAAW;AACPkL,sBAAU,EAAEk4C,IAAI,CAACl4C,UADV;AAEPhL,iBAAK,EAAE,iBAAM;AACT,qBAAOkjD,IAAI,CAAC93C,MAAL,CAAY,UAAApL,KAAK;AAAA,uBAAKkjD,IAAI,CAACigC,qBAAL,IAA8BnjF,KAAK,YAAY2kD,aAAhD,GACxB,QAAI,CAACk+C,6BAAL,CAAmC7iG,KAAnC,CADwB,GAExB,QAAI,CAAC8pD,sBAAL,CAA4B9pD,KAA5B,CAFoB;AAAA,eAAjB,CAAP;AAGH;AANM,WAAX;AAQH,SAVD;AAWA,aAAKkiG,iCAAL,CAAuCS,YAAvC,EAAqDhB,WAAW,CAACh8E,SAAjE,EAA4EimB,KAA5E;AACH;;AACD,aAAOw3C,oBAAP;AACH;;;WACD,6BAAoBv3C,IAApB,EAA0BlmB,SAA1B,EAAqCohF,UAArC,EAAiDC,OAAjD,EAA0D;AACtD,WAAKC,aAAL,CAAmB,KAAKlJ,gBAAxB,EAA0ClyD,IAA1C,EAAgDlmB,SAAhD,EAA2DohF,UAAU,IAAI,EAAzE,EAA6EC,OAA7E;AACH;;;WACD,kCAAyBrhF,SAAzB,EAAoCimB,KAApC,EAA2C;AACvC,UAAMC,IAAI,GAAGD,KAAK,CAACvtC,MAAN,GAAeutC,KAAK,CAAC,CAAD,CAAL,CAAS5gC,UAAxB,GAAqC,IAAlD;;AACA,WAAK+yF,gBAAL,CAAsBj+F,IAAtB,CAA2B,YAAM;AAC7B,eAAO6rC,kBAAkB,CAAChmB,SAAD,EAAYimB,KAAK,CAAC7oC,GAAN,CAAU,UAAAmgD,IAAI;AAAA,iBAAIA,IAAI,CAAC93C,MAAL,EAAJ;AAAA,SAAd,CAAZ,EAA8CygC,IAA9C,CAAlB,CAAsEwB,MAAtE,EAAP;AACH,OAFD;AAGH;;;WACD,sCAA6Bg1D,SAA7B,EAAwCx2D,IAAxC,EAA8ClmB,SAA9C,EAAyDohF,UAAzD,EAAqE;AACjE,WAAKG,gCAAL,CAAsC7E,SAAtC,EAAiDx2D,IAAjD;AACA,WAAKu2D,iBAAL,CAAuBv2D,IAAvB,EAA6BlmB,SAA7B,EAAwCohF,UAAxC;AACH;;;WACD,2BAAkBl7D,IAAlB,EAAwBlmB,SAAxB,EAAmCohF,UAAnC,EAA+C;AAC3C,WAAKE,aAAL,CAAmB,KAAKjJ,cAAxB,EAAwCnyD,IAAxC,EAA8ClmB,SAA9C,EAAyDohF,UAAU,IAAI,EAAvE;AACH;;;WACD,gCAAuBphF,SAAvB,EAAkC2rD,QAAlC,EAA4C;AACxC,UAAMzlC,IAAI,GAAGylC,QAAQ,CAACjzE,MAAT,GAAkBizE,QAAQ,CAAC,CAAD,CAAR,CAAYtmE,UAA9B,GAA2C,IAAxD;;AACA,WAAKgzF,cAAL,CAAoBl+F,IAApB,CAAyB,YAAM;AAC3B,YAAM8rC,KAAK,GAAG0lC,QAAQ,CAACvuE,GAAT,CAAa,UAAAme,QAAQ,EAAI;AACnC,cAAMlhB,KAAK,GAAGkhB,QAAQ,CAAClhB,KAAT,EAAd;AACA,cAAMmnG,QAAQ,GAAGnsF,KAAK,CAACC,OAAN,CAAcjb,KAAd,IAAuBA,KAAvB,GAA+B,CAACA,KAAD,CAAhD;;AACA,cAAIkhB,QAAQ,CAAC9V,MAAb,EAAqB;AACjB+7F,oBAAQ,CAACrnG,IAAT,OAAAqnG,QAAQ,qJAASjmF,QAAQ,CAAC9V,MAAlB,EAAR;AACH;;AACD,cAAI8V,QAAQ,CAAC3iB,IAAb,EAAmB;AACf;AACA4oG,oBAAQ,CAACv8C,OAAT,CAAiB/wC,OAAO,CAACqH,QAAQ,CAAC3iB,IAAV,CAAxB;AACH;;AACD,iBAAO4oG,QAAP;AACH,SAXa,CAAd;AAYA,eAAOx7D,kBAAkB,CAAChmB,SAAD,EAAYimB,KAAZ,EAAmBC,IAAnB,CAAlB,CAA2CwB,MAA3C,EAAP;AACH,OAdD;AAeH;;;WACD,2CAAkCg1D,SAAlC,EAA6C18E,SAA7C,EAAwD2rD,QAAxD,EAAkE;AAC9D,WAAK41B,gCAAL,CAAsC7E,SAAtC,EAAiD/wB,QAAQ,CAACjzE,MAAT,GAAkBizE,QAAQ,CAAC,CAAD,CAAR,CAAYtmE,UAA9B,GAA2C,IAA5F;AACA,WAAKo8F,sBAAL,CAA4BzhF,SAA5B,EAAuC2rD,QAAvC;AACH;;;WACD,0CAAiC+wB,SAAjC,EAA4Cx2D,IAA5C,EAAkD;AAC9C,UAAIw2D,SAAS,KAAK,KAAKpE,aAAvB,EAAsC;AAClC,YAAM/gD,KAAK,GAAGmlD,SAAS,GAAG,KAAKpE,aAA/B;;AACA,YAAI/gD,KAAK,GAAG,CAAZ,EAAe;AACX,gBAAM,IAAIpgD,KAAJ,CAAU,0CAAV,CAAN;AACH;;AACD,aAAKmqG,aAAL,CAAmB,KAAKjJ,cAAxB,EAAwCnyD,IAAxC,EAA8Cpe,aAAa,CAACS,OAA5D,EAAqE,CAACrU,OAAO,CAACqjC,KAAD,CAAR,CAArE;AACA,aAAK+gD,aAAL,GAAqBoE,SAArB;AACH;AACJ;;;WACD,mCAA0BrD,QAA1B,EAAoC;AAChC,UAAMqI,aAAa,GAAG,KAAKhJ,kBAA3B;AACA,WAAKA,kBAAL,IAA2BW,QAA3B;AACA,aAAOqI,aAAP;AACH;;;WACD,8BAAqBrnG,KAArB,EAA4B;AACxB,WAAKs+F,aAAL,IAAsBt+F,KAAK,YAAY2kD,aAAjB,GAAiC3kD,KAAK,CAAC0P,WAAN,CAAkBrR,MAAnD,GAA4D,CAAlF;AACH;AACD;AACJ;AACA;AACA;;;;WACI,mCAA0B;AACtB,UAAI,KAAKogG,qBAAT,EAAgC;AAC5B,eAAO,KAAKA,qBAAZ;AACH;;AACD,aAAO,KAAKA,qBAAL,GAA6B,KAAKpgD,KAAL,KAAe,CAAf,GAChCvlC,QAAQ,CAACmxB,YAAD,CADwB,GAEhC,KAAKy0D,aAAL,CAAmBlC,2BAAnB,CAA+C,CAA/C,CAFJ;AAGH;;;WACD,gCAAuBx8F,KAAvB,EAA8B;AAAA;;AAC1B,UAAMsnG,wBAAwB,GAAGx9C,uBAAsB,CAAC,IAAD,EAAO,KAAKy9C,uBAAL,EAAP,EAAuCvnG,KAAvC,EAA8C,KAAKwnG,cAAL,EAA9C,EAAqE39C,WAAW,CAAC/+C,UAAjF,EAA6F;AAAA,eAAMyL,KAAK,CAAC,0BAAD,CAAX;AAAA,OAA7F,CAAvD;;AACA,UAAMkxF,OAAO,GAAGH,wBAAwB,CAAC19C,WAAzC;;AACA,mCAAKs0C,cAAL,EAAoBp+F,IAApB,gLAA4BwnG,wBAAwB,CAACjwF,KAArD;;AACA,aAAOowF,OAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,uCAA8BznG,KAA9B,EAAqC;AAAA;;AACjC,kCAAwBqqD,sBAAsB,CAAC,IAAD,EAAO,KAAKk9C,uBAAL,EAAP,EAAuCvnG,KAAvC,EAA8C,KAAKwnG,cAAL,EAA9C,CAA9C;AAAA,UAAQnhG,IAAR,yBAAQA,IAAR;AAAA,UAAcgR,KAAd,yBAAcA,KAAd;;AACA,oCAAK6mF,cAAL,EAAoBp+F,IAApB,iLAA4BuX,KAA5B;;AACA,aAAOhR,IAAP;AACH;;;WACD,yBAAgB1J,WAAhB,EAA6B6uC,OAA7B,EAAsC;AAAA;;AAClC,UAAI,KAAK8xD,gBAAT,EAA2B;AACvB,YAAMl9F,QAAQ,GAAGsnG,iBAAiB,CAAC/qG,WAAD,EAAc4uC,4BAA4B,CAACC,OAAD,CAA1C,CAAlC;AACA,aAAK8xD,gBAAL,CAAsB78F,KAAtB,CAA4BL,QAA5B,EAAsC,UAACI,WAAD,EAAcmnG,UAAd,EAA6B;AAC/D,kBAAI,CAACt8E,UAAL,CAAgBvT,GAAhB,CAAoB6vF,UAApB;AACH,SAFD;AAGH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,iCAAwBhrG,WAAxB,EAAqCirG,gBAArC,EAAuD/+E,MAAvD,EAA+DC,OAA/D,EAAwEpB,MAAxE,EAAyH;AAAA,UAAzCmS,aAAyC,uEAAzB,EAAyB;AAAA,UAArB8pE,cAAqB,uEAAJ,EAAI;AACrH,UAAMkE,WAAW,GAAG,IAAIhwF,GAAJ,EAApB;AACA,UAAMiwF,SAAS,GAAG,EAAlB;AACA,UAAIC,eAAJ;;AAHqH,kLAIlGH,gBAJkG;AAAA;;AAAA;AAIrH,kEAAqC;AAAA,cAA1B3/D,IAA0B;;AACjC,cAAIA,IAAI,CAAC1pC,IAAL,KAAco9F,uBAAlB,EAA2C;AACvCoM,2BAAe,GAAG9/D,IAAlB;AACH,WAHgC,CAIjC;AACA;;;AACA,cAAIA,IAAI,CAACvU,IAAT,EAAe;AACXo0E,qBAAS,CAAChoG,IAAV,CAAe+Z,OAAO,CAACouB,IAAI,CAAC1pC,IAAN,CAAtB,EAAmC,KAAKqjG,aAAL,CAAmB35D,IAAI,CAACvU,IAAxB,CAAnC;AACH,WAFD,MAGK;AACDo0E,qBAAS,CAAChoG,IAAV,OAAAgoG,SAAS,qJAASE,wBAAwB,CAAC//D,IAAI,CAAC1pC,IAAN,CAAjC,UAA8C0pG,qBAAqB,CAACtrG,WAAD,EAAcsrC,IAAd,CAAnE,GAAT;AACH;AACJ,SAhBoH,CAiBrH;AACA;;AAlBqH;AAAA;AAAA;AAAA;AAAA;;AAmBrH,UAAI8/D,eAAJ,EAAqB;AACjBD,iBAAS,CAAChoG,IAAV,OAAAgoG,SAAS,qJAASI,qBAAqB,CAACH,eAAD,CAA9B,EAAT;AACH;;AACD,eAASI,WAAT,CAAqBj1F,GAArB,EAA0BlT,KAA1B,EAAiC;AAC7B,YAAI,OAAOkT,GAAP,KAAe,QAAnB,EAA6B;AACzB,cAAI,CAAC20F,WAAW,CAACh8E,GAAZ,CAAgB3Y,GAAhB,CAAL,EAA2B;AACvB40F,qBAAS,CAAChoG,IAAV,OAAAgoG,SAAS,qJAASE,wBAAwB,CAAC90F,GAAD,CAAjC,EAAT;AACAlT,iBAAK,KAAKsE,SAAV,IAAuBwjG,SAAS,CAAChoG,IAAV,CAAeE,KAAf,CAAvB;AACA6nG,uBAAW,CAAC/vF,GAAZ,CAAgB5E,GAAhB;AACH;AACJ,SAND,MAOK;AACD40F,mBAAS,CAAChoG,IAAV,CAAe+Z,OAAO,CAAC3G,GAAD,CAAtB;AACH;AACJ,OAjCoH,CAkCrH;AACA;AACA;;;AACA,UAAIwU,MAAJ,EAAY;AACRA,cAAM,CAACg7D,2BAAP,CAAmColB,SAAnC;AACH;;AACD,UAAIj/E,MAAM,CAACxqB,MAAP,IAAiByqB,OAAO,CAACzqB,MAA7B,EAAqC;AACjC,YAAM+pG,uBAAuB,GAAGN,SAAS,CAACzpG,MAA1C;;AACA,aAAK,IAAIqB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmpB,MAAM,CAACxqB,MAA3B,EAAmCqB,CAAC,EAApC,EAAwC;AACpC,cAAM4a,KAAK,GAAGuO,MAAM,CAACnpB,CAAD,CAApB,CADoC,CAEpC;AACA;;AACA,cAAI4a,KAAK,CAACvP,IAAN,KAAe;AAAE;AAAjB,aAAoCuP,KAAK,CAACvP,IAAN,KAAe;AAAE;AAAzD,YAA0E;AACtEo9F,yBAAW,CAAC7tF,KAAK,CAAC/b,IAAP,CAAX;AACH;AACJ;;AACD,aAAK,IAAImB,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAGopB,OAAO,CAACzqB,MAA5B,EAAoCqB,GAAC,EAArC,EAAyC;AACrC,cAAMwtD,MAAM,GAAGpkC,OAAO,CAACppB,GAAD,CAAtB;;AACA,cAAIwtD,MAAM,CAACniD,IAAP,KAAgB;AAAE;AAAtB,YAAuC;AACnCo9F,yBAAW,CAACj7C,MAAM,CAAC3uD,IAAR,CAAX;AACH;AACJ,SAfgC,CAgBjC;AACA;AACA;AACA;;;AACA,YAAIupG,SAAS,CAACzpG,MAAV,KAAqB+pG,uBAAzB,EAAkD;AAC9CN,mBAAS,CAACxjC,MAAV,CAAiB8jC,uBAAjB,EAA0C,CAA1C,EAA6CvuF,OAAO,CAAC;AAAE;AAAH,WAApD;AACH;AACJ;;AACD,UAAIggB,aAAa,CAACx7B,MAAlB,EAA0B;AACtBypG,iBAAS,CAAChoG,IAAV,CAAe+Z,OAAO,CAAC;AAAE;AAAH,SAAtB;AACAggB,qBAAa,CAACv7B,OAAd,CAAsB,UAAA2pC,IAAI;AAAA,iBAAIkgE,WAAW,CAAClgE,IAAI,CAAC1pC,IAAN,CAAf;AAAA,SAA1B;AACH;;AACD,UAAIolG,cAAc,CAACtlG,MAAnB,EAA2B;AACvBypG,iBAAS,CAAChoG,IAAV,CAAe+Z,OAAO,CAAC;AAAE;AAAH,SAAtB;AACA8pF,sBAAc,CAACrlG,OAAf,CAAuB,UAAA2pC,IAAI;AAAA,iBAAIkgE,WAAW,CAAClgE,IAAI,CAAC1pC,IAAN,CAAf;AAAA,SAA3B;AACH;;AACD,aAAOupG,SAAP;AACH;;;WACD,qBAAYpoF,UAAZ,EAAwB;AACpB,UAAI1F,MAAM,CAAC0F,UAAD,CAAV,EAAwB;AACpB,eAAO3S,eAAP;AACH;;AACD,UAAMs7F,MAAM,GAAG,KAAK1K,UAAL,CAAgBV,gBAA/B,CAJoB,CAKpB;;AACA,WAAK,IAAIv9F,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2oG,MAAM,CAAChqG,MAA3B,EAAmCqB,CAAC,EAApC,EAAwC;AACpC,YAAI2oG,MAAM,CAAC3oG,CAAD,CAAN,CAAUiL,YAAV,CAAuB+U,UAAvB,CAAJ,EAAwC;AACpC,iBAAO7F,OAAO,CAACna,CAAD,CAAd;AACH;AACJ;;AACD,aAAOma,OAAO,CAACwuF,MAAM,CAACvoG,IAAP,CAAY4f,UAAZ,IAA0B,CAA3B,CAAd;AACH;;;WACD,0BAAiBrgB,KAAjB,EAAwB;AACpB,aAAOA,KAAK,CAAChB,MAAN,GAAe,CAAf,GAAmB,KAAKyjG,WAAL,CAAiBzoF,UAAU,CAACha,KAAD,CAA3B,CAAnB,GAAyD0N,eAAhE;AACH;;;WACD,0BAAiBysB,UAAjB,EAA6B;AAAA;;AACzB,UAAI,CAACA,UAAD,IAAeA,UAAU,CAACn7B,MAAX,KAAsB,CAAzC,EAA4C;AACxC,eAAO0O,eAAP;AACH;;AACD,UAAMu7F,SAAS,GAAG9/E,OAAO,CAACgR,UAAU,CAACz2B,GAAX,CAAe,UAAA4iB,SAAS,EAAI;AAClD,YAAMu5E,IAAI,GAAG,QAAI,CAACH,gBAAL,EAAb,CADkD,CAElD;;;AACA,YAAMwJ,YAAY,GAAG,QAAI,CAAC7J,aAAL,CAAmBiC,kBAAnB,EAArB;;AACA,YAAMC,cAAc,GAAG,QAAI,CAACviD,KAA5B;AACA,YAAM5rC,GAAG,GAAGqG,QAAQ,CAACyvF,YAAD,CAApB;;AACA,gBAAI,CAAC7J,aAAL,CAAmB97F,GAAnB,CAAuBg+F,cAAvB,EAAuCj7E,SAAS,CAACpnB,IAAjD,EAAuDkU,GAAvD,EAA4D;AAAE;AAA9D,UAA6E,UAAC2pF,KAAD,EAAQyE,aAAR,EAA0B;AACnG;AACA,cAAM2H,eAAe,GAAG3H,aAAa,GAAG,CAAhB,GAAoB,CAACG,uBAAuB,CAACH,aAAD,CAAvB,CAAuCxzD,MAAvC,EAAD,CAApB,GAAwE,EAAhG,CAFmG,CAGnG;;AACA,cAAMo7D,OAAO,GAAGh2F,GAAG,CAAC7P,GAAJ,CAAQmW,UAAU,CAAC0U,aAAa,CAAC9H,SAAf,CAAV,CAAoC9E,MAApC,CAA2C,CAAChH,OAAO,CAACqlF,IAAD,CAAR,CAA3C,CAAR,CAAhB;AACA,iBAAOsJ,eAAe,CAACzoG,MAAhB,CAAuB0oG,OAAO,CAACnO,WAAR,EAAvB,CAAP;AACH,SAND,EAMG,IANH;;AAOA,eAAO,CAAC30E,SAAS,CAACpnB,IAAX,EAAiBonB,SAAS,CAAC3lB,KAA3B,CAAP;AACH,OAdyB,CAAD,CAAzB;AAeA,aAAO0qC,SAAS,CAAC49D,SAAD,CAAhB;AACH;;;WACD,kCAAyBrrG,OAAzB,EAAkCynG,SAAlC,EAA6Cx5F,KAA7C,EAAoD;AAAA;;AAChD,aAAO,YAAM;AACT,YAAM9E,SAAS,GAAGs+F,SAAS,CAACnmG,IAA5B;AACA,YAAMmqG,aAAa,GAAGhE,SAAS,CAAC35F,IAAV,KAAmB;AAAE;AAArB,UAClB;AACA4sB,4CAAoC,CAACvxB,SAAD,EAAYs+F,SAAS,CAACntE,KAAtB,CAFlB,GAGlB9Q,kBAAkB,CAACrgB,SAAD,CAHtB;AAIA,YAAM+1F,WAAW,aAAM,QAAI,CAACl0B,YAAX,cAA2BhrE,OAA3B,cAAsCyrG,aAAtC,cAAuDx9F,KAAvD,cAAjB;;AACA,YAAMkxF,KAAK,GAAG,QAAI,CAACsC,aAAL,CAAmBC,WAAnB,CAA+B,QAAI,CAACD,aAAL,CAAmBnC,YAAlD,EAAgEX,2BAAhE,CAAd;;AACA,eAAOK,8BAA8B,CAACyI,SAAD,EAAYvI,WAAZ,EAAyBC,KAAzB,CAArC;AACH,OATD;AAUH;;;;;;IAEC0C,c;;;;;AACF,0BAAY1zD,YAAZ,EAA0Bu9D,YAA1B,EAAwC1J,yBAAxC,EAAmExpE,UAAnE,EAA+E;AAAA;;AAAA;;AAC3E;AACA,aAAK2V,YAAL,GAAoBA,YAApB;AACA,aAAKu9D,YAAL,GAAoBA,YAApB;AACA,aAAK1J,yBAAL,GAAiCA,yBAAjC;AACA,aAAKxpE,UAAL,GAAkBA,UAAlB;AACA,aAAKmzE,cAAL,GAAsB,EAAtB;AAN2E;AAO9E,G,CACD;;;;;WACA,mBAAU30E,IAAV,EAAgBrrB,OAAhB,EAAyB;AACrB;AACA,UAAMs2F,IAAI,GAAG,KAAKyJ,YAAL,EAAb;AACA,UAAME,eAAe,kBAAW3J,IAAX,CAArB,CAHqB,CAIrB;;AACA,UAAM4J,gBAAgB,GAAG,KAAK7J,yBAAL,CAA+B,IAAIhrE,IAAI,CAAC5tB,IAAL,CAAUhI,MAA7C,CAAzB;AACA,UAAM26B,MAAM,GAAG,IAAIyqB,YAAJ,CAAiBxvB,IAAI,CAAC4X,IAAtB,EAA4B5X,IAAI,CAACjpB,UAAjC,EAA6CipB,IAAI,CAACuuB,QAAlD,EAA4D,IAAIM,gBAAJ,CAAqB7uB,IAAI,CAAC4X,IAA1B,EAAgC5X,IAAI,CAACjpB,UAArC,CAA5D,EAA8G69F,eAA9G,CAAf;;AACA,iCAAoCE,mBAAmB,CAAC90E,IAAI,CAAC5tB,IAAN,CAAvD;AAAA,UAAQuf,UAAR,wBAAQA,UAAR;AAAA,UAAoBojF,WAApB,wBAAoBA,WAApB;;AACA,WAAKvzE,UAAL,CAAgBxB,IAAI,CAAC11B,IAArB,EAA2BsqG,eAA3B,EAA4C3J,IAA5C,EAAkDnmF,UAAU,CAAC6M,UAAD,CAA5D;AACA,UAAMvf,IAAI,IAAI4tB,IAAI,CAACha,GAAT,4JAAiBga,IAAI,CAAC5tB,IAAtB,EAAV;AACA,UAAMulD,aAAa,GAAGo9C,WAAW,GAC7B,KAAKluE,QAAL,CAAc,CAAC,IAAIypB,YAAJ,CAAiBtwB,IAAI,CAAC4X,IAAtB,EAA4B5X,IAAI,CAACjpB,UAAjC,EAA6C3E,IAA7C,CAAD,CAAd,CAD6B,GAE7B,KAAKy0B,QAAL,CAAcz0B,IAAd,CAFJ;AAGA,UAAM4iG,YAAY,GAAG,IAAIljD,YAAJ,CAAiB9xB,IAAI,CAAC4X,IAAtB,EAA4B5X,IAAI,CAACjpB,UAAjC,EAA6CguB,MAA7C,GACjB,IAAIqrB,gBAAJ,CAAqBpwB,IAAI,CAAC4X,IAA1B,EAAgC5X,IAAI,CAACjpB,UAArC,EAAiDk0F,IAAjD,CADiB,EAEjB,IAAI76C,gBAAJ,CAAqBpwB,IAAI,CAAC4X,IAA1B,EAAgC5X,IAAI,CAACjpB,UAArC,EAAiD89F,gBAAjD,CAFiB,4JAGdl9C,aAHc,GAArB;;AAKA,WAAKg9C,cAAL,CAAoB9oG,IAApB,CAAyBmpG,YAAzB;;AACA,aAAOA,YAAP;AACH;;;WACD,+BAAsBC,YAAtB,EAAoC;AAChC,WAAKN,cAAL,CAAoBtqG,OAApB,CAA4B,UAAC21B,IAAD,EAAU;AAClC;AACA,YAAMk1E,UAAU,GAAGl1E,IAAI,CAAC5tB,IAAL,CAAU,CAAV,CAAnB;AACA8iG,kBAAU,CAACnpG,KAAX,IAAoBkpG,YAApB;AACH,OAJD;AAKH;;;WACD,2BAAkBE,KAAlB,EAAyBxgG,OAAzB,EAAkC;AAAA;;AAC9B,aAAO,IAAIsiD,mBAAJ,CAAwBk+C,KAAK,CAACv9D,IAA9B,EAAoCu9D,KAAK,CAACp+F,UAA1C,EAAsD,KAAK8vB,QAAL,CAAcsuE,KAAK,CAAC15F,WAApB,CAAtD,EAAwF,UAAApI,MAAM,EAAI;AACrG;AACA;AACA;AACA,YAAMuS,OAAO,GAAGR,UAAU,CAAC/R,MAAD,CAA1B;AACA,eAAO+hG,iBAAiB,CAAC,QAAI,CAACj+D,YAAN,EAAoBvxB,OAApB,EAA6B,QAAI,CAAColF,yBAAlC,CAAxB;AACH,OANM,CAAP;AAOH;;;WACD,yBAAgBl8F,GAAhB,EAAqB6F,OAArB,EAA8B;AAAA;;AAC1B,aAAO,IAAIsiD,mBAAJ,CAAwBnoD,GAAG,CAAC8oC,IAA5B,EAAkC9oC,GAAG,CAACiI,UAAtC,EAAkD,KAAK8vB,QAAL,CAAc/3B,GAAG,CAACuE,MAAlB,CAAlD,EAA6E,UAAAA,MAAM,EAAI;AAC1F;AACA;AACA;AACA,YAAMuS,OAAO,GAAGP,UAAU,CAAChS,MAAM,CAACvE,GAAP,CAAW,UAAC/C,KAAD,EAAQkL,KAAR;AAAA,iBAAmB;AAAEgI,eAAG,EAAEnQ,GAAG,CAAC2V,IAAJ,CAASxN,KAAT,EAAgBgI,GAAvB;AAA4BlT,iBAAK,EAALA,KAA5B;AAAmCmT,kBAAM,EAAEpQ,GAAG,CAAC2V,IAAJ,CAASxN,KAAT,EAAgBiI;AAA3D,WAAnB;AAAA,SAAX,CAAD,CAA1B;AACA,eAAOk2F,iBAAiB,CAAC,QAAI,CAACj+D,YAAN,EAAoBvxB,OAApB,EAA6B,QAAI,CAAColF,yBAAlC,CAAxB;AACH,OANM,CAAP;AAOH;;;;EAvDwBt4C,6B,GAyD7B;;;AACA,IAAM2iD,sBAAsB,GAAG,CAAC77E,aAAa,CAACiF,SAAf,EAA0BjF,aAAa,CAACkF,SAAxC,EAAmDlF,aAAa,CAACmF,SAAjE,EAA4EnF,aAAa,CAACoF,SAA1F,CAA/B;;AACA,SAASk2E,mBAAT,CAA6B1iG,IAA7B,EAAmC;AAC/B,MAAMuf,UAAU,GAAG0jF,sBAAsB,CAACjjG,IAAI,CAAChI,MAAN,CAAzC;AACA,SAAO;AACHunB,cAAU,EAAEA,UAAU,IAAI6H,aAAa,CAACqF,SADrC;AAEHk2E,eAAW,EAAE,CAACpjF;AAFX,GAAP;AAIH;;AACD,IAAM2jF,uBAAuB,GAAG,CAC5B97E,aAAa,CAACuE,aADc,EACCvE,aAAa,CAACwE,aADf,EAC8BxE,aAAa,CAACyE,aAD5C,EAC2DzE,aAAa,CAAC0E,aADzE,EACwF1E,aAAa,CAAC2E,aADtG,EAE5B3E,aAAa,CAAC4E,aAFc,EAEC5E,aAAa,CAAC6E,aAFf,EAE8B7E,aAAa,CAAC8E,aAF5C,EAE2D9E,aAAa,CAAC+E,aAFzE,CAAhC;;AAIA,SAASg3E,oBAAT,CAA8BnjG,IAA9B,EAAoC;AAChC,MAAMuf,UAAU,GAAG2jF,uBAAuB,CAACljG,IAAI,CAAChI,MAAN,CAA1C;AACA,SAAO;AACHunB,cAAU,EAAEA,UAAU,IAAI6H,aAAa,CAACgF,aADrC;AAEHu2E,eAAW,EAAE,CAACpjF;AAFX,GAAP;AAIH;;AACD,SAAS+7E,WAAT,CAAqB91D,IAArB,EAA2BlmB,SAA3B,EAAsCva,MAAtC,EAA8C;AAC1C,SAAO2N,UAAU,CAAC4M,SAAD,EAAY,IAAZ,EAAkBkmB,IAAlB,CAAV,CAAkChrB,MAAlC,CAAyCzV,MAAzC,EAAiDygC,IAAjD,CAAP;AACH,C,CACD;;;AACA,SAASm1D,uBAAT,CAAiCyI,iBAAjC,EAAoD;AAChD,SAAO1wF,UAAU,CAAC0U,aAAa,CAACuD,WAAf,CAAV,CACFnQ,MADE,CACK4oF,iBAAiB,GAAG,CAApB,GAAwB,CAAC5vF,OAAO,CAAC4vF,iBAAD,CAAR,CAAxB,GAAuD,EAD5D,CAAP;AAEH;;AACD,SAASJ,iBAAT,CAA2Bj+D,YAA3B,EAAyCs+D,SAAzC,EAAoDC,aAApD,EAAmE;AAC/D,8BAAoDv+D,YAAY,CAACi+D,iBAAb,CAA+BK,SAA/B,CAApD;AAAA,MAAQloF,cAAR,yBAAQA,cAAR;AAAA,MAAwBC,uBAAxB,yBAAwBA,uBAAxB,CAD+D,CAE/D;;;AACA,MAAMmoF,SAAS,GAAGD,aAAa,CAAC,IAAIloF,uBAAuB,CAACpjB,MAA7B,CAA/B;;AACA,8BAAoCmrG,oBAAoB,CAAC/nF,uBAAD,CAAxD;AAAA,MAAQmE,UAAR,yBAAQA,UAAR;AAAA,MAAoBojF,WAApB,yBAAoBA,WAApB,CAJ+D,CAK/D;AACA;;;AACA,MAAM3iG,IAAI,GAAG,CAACwT,OAAO,CAAC+vF,SAAD,CAAR,EAAqBpoF,cAArB,CAAb;;AACA,MAAIwnF,WAAJ,EAAiB;AACb3iG,QAAI,CAACvG,IAAL,CAAUuZ,UAAU,CAACoI,uBAAD,CAApB;AACH,GAFD,MAGK;AACDpb,QAAI,CAACvG,IAAL,OAAAuG,IAAI,qJAASob,uBAAT,EAAJ;AACH;;AACD,SAAO1I,UAAU,CAAC6M,UAAD,CAAV,CAAuB/E,MAAvB,CAA8Bxa,IAA9B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2hG,wBAAT,CAAkCzpG,IAAlC,EAAwC;AACpC,sBAA4C7B,WAAW,CAAC6B,IAAD,CAAvD;AAAA;AAAA,MAAOsrG,kBAAP;AAAA,MAA2BrlG,aAA3B;;AACA,MAAMslG,WAAW,GAAGjwF,OAAO,CAACrV,aAAD,CAA3B;;AACA,MAAIqlG,kBAAJ,EAAwB;AACpB,WAAO,CACHhwF,OAAO,CAAC;AAAE;AAAH,KADJ,EAC4BA,OAAO,CAACgwF,kBAAD,CADnC,EACyDC,WADzD,CAAP;AAGH;;AACD,SAAO,CAACA,WAAD,CAAP;AACH;AACD;;;AACA,IAAMC,kBAAkB,GAAG,gBAA3B;;IACMC,Y;AACF,0BAAsD;AAAA,QAA1CzN,YAA0C,uEAA3B,CAA2B;AAAA,QAAxB7mF,MAAwB,uEAAf,IAAe;AAAA,QAATwyC,OAAS;;AAAA;;AAClD,SAAKq0C,YAAL,GAAoBA,YAApB;AACA,SAAK7mF,MAAL,GAAcA,MAAd;AACA,SAAKwyC,OAAL,GAAeA,OAAf;AACA;;AACA,SAAKnlD,GAAL,GAAW,IAAIzB,GAAJ,EAAX;AACA,SAAK2oG,kBAAL,GAA0B,CAA1B;AACA,SAAKC,mBAAL,GAA2B,IAA3B;;AACA,QAAIhiD,OAAO,KAAK5jD,SAAhB,EAA2B;AAAA,kLACJ4jD,OADI;AAAA;;AAAA;AACvB,kEAA4B;AAAA,cAAjB3pD,IAAiB;AACxB,eAAKqE,GAAL,CAAS,CAAT,EAAYrE,IAAZ,EAAkBua,QAAQ,CAACva,IAAD,CAA1B;AACH;AAHsB;AAAA;AAAA;AAAA;AAAA;AAI1B;AACJ;;;;WAID,aAAIA,IAAJ,EAAU;AACN,UAAImC,OAAO,GAAG,IAAd;;AACA,aAAOA,OAAP,EAAgB;AACZ,YAAIV,KAAK,GAAGU,OAAO,CAACqC,GAAR,CAAYJ,GAAZ,CAAgBpE,IAAhB,CAAZ;;AACA,YAAIyB,KAAK,IAAI,IAAb,EAAmB;AACf,cAAIU,OAAO,KAAK,IAAhB,EAAsB;AAClB;AACAV,iBAAK,GAAG;AACJ4gG,4BAAc,EAAE5gG,KAAK,CAAC4gG,cADlB;AAEJnuF,iBAAG,EAAEzS,KAAK,CAACyS,GAFP;AAGJ03F,kCAAoB,EAAEnqG,KAAK,CAACmqG,oBAHxB;AAIJC,qBAAO,EAAE,KAJL;AAKJC,sBAAQ,EAAErqG,KAAK,CAACqqG,QALZ;AAMJC,sBAAQ,EAAEtqG,KAAK,CAACsqG;AANZ,aAAR,CAFkB,CAUlB;;AACA,iBAAKvnG,GAAL,CAASH,GAAT,CAAarE,IAAb,EAAmByB,KAAnB,EAXkB,CAYlB;;AACA,iBAAKuqG,6BAAL,CAAmCvqG,KAAnC;AACA,iBAAKwqG,gBAAL,CAAsBxqG,KAAK,CAAC4gG,cAA5B,EAA4C5gG,KAAK,CAACsqG,QAAlD;AACH;;AACD,cAAItqG,KAAK,CAACmqG,oBAAN,IAA8B,CAACnqG,KAAK,CAACoqG,OAAzC,EAAkD;AAC9CpqG,iBAAK,CAACoqG,OAAN,GAAgB,IAAhB;AACH;;AACD,iBAAOpqG,KAAK,CAACyS,GAAb;AACH;;AACD/R,eAAO,GAAGA,OAAO,CAACgV,MAAlB;AACH,OA3BK,CA4BN;AACA;AACA;AACA;;;AACA,aAAO,KAAK6mF,YAAL,KAAsB,CAAtB,GAA0B,IAA1B,GAAiC,KAAKkO,oBAAL,CAA0BlsG,IAA1B,CAAxC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,aAAIqiG,cAAJ,EAAoBriG,IAApB,EAA0BkU,GAA1B,EAA2F;AAAA,UAA5D43F,QAA4D,uEAAjD,CAAiD;AAAA;AAA/C;AAAeF,0BAAgC;AAAA,UAAVG,QAAU;;AACvF,UAAI,KAAKvnG,GAAL,CAAS8oB,GAAT,CAAattB,IAAb,CAAJ,EAAwB;AACpB,YAAI+rG,QAAJ,EAAc;AACV;AACA;AACA,iBAAO,IAAP;AACH;;AACD/zF,aAAK,oBAAahY,IAAb,gDAAuD,KAAKwE,GAAL,CAASJ,GAAT,CAAapE,IAAb,CAAvD,EAAL;AACH;;AACD,WAAKwE,GAAL,CAASH,GAAT,CAAarE,IAAb,EAAmB;AACfqiG,sBAAc,EAAEA,cADD;AAEfnuF,WAAG,EAAEA,GAFU;AAGf23F,eAAO,EAAE,KAHM;AAIfD,4BAAoB,EAAEA,oBAJP;AAKfE,gBAAQ,EAAEA,QALK;AAMfC,gBAAQ,EAAEA,QAAQ,IAAI;AANP,OAAnB;AAQA,aAAO,IAAP;AACH,K,CACD;;;;WACA,kBAAS/rG,IAAT,EAAe;AACX,aAAO,KAAKoE,GAAL,CAASpE,IAAT,CAAP;AACH,K,CACD;;;;WACA,qCAA4B;AACxB,UAAI,KAAKg+F,YAAL,KAAsB,CAA1B,EAA6B;AACzB;AACA;AACA;AACA,aAAKx5F,GAAL,CAASJ,GAAT,CAAaonG,kBAAkB,GAAG,CAAlC,EAAqCK,OAArC,GAA+C,IAA/C;AACH;AACJ;;;WACD,qBAAY/rD,KAAZ,EAAmB6J,OAAnB,EAA4B;AACxB,UAAMwiD,QAAQ,GAAG,IAAIV,YAAJ,CAAiB3rD,KAAjB,EAAwB,IAAxB,EAA8B6J,OAA9B,CAAjB;AACA,UAAI7J,KAAK,GAAG,CAAZ,EACIqsD,QAAQ,CAACC,wBAAT,CAAkC,CAAlC;AACJ,aAAOD,QAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;;WACI,qCAA4B9J,cAA5B,EAA4C;AACxC,UAAMgK,UAAU,GAAGb,kBAAkB,GAAGnJ,cAAxC;;AACA,UAAI,CAAC,KAAK79F,GAAL,CAAS8oB,GAAT,CAAa++E,UAAb,CAAL,EAA+B;AAC3B,aAAKD,wBAAL,CAA8B/J,cAA9B;AACH,OAJuC,CAKxC;;;AACA,aAAO,KAAK79F,GAAL,CAASJ,GAAT,CAAaioG,UAAb,EAAyBn4F,GAAhC;AACH;;;WACD,8BAAqBmuF,cAArB,EAAqC;AACjC,UAAMiK,YAAY,GAAG,KAAK9nG,GAAL,CAASJ,GAAT,CAAaonG,kBAAkB,GAAGnJ,cAAlC,CAArB,CADiC,CAEjC;;AACA,aAAOiK,YAAY,IAAIA,YAAY,CAACT,OAA7B,GAAuCS,YAAY,CAACp4F,GAApD,GAA0D,IAAjE;AACH;;;WACD,uCAA8BzS,KAA9B,EAAqC;AACjC,UAAIA,KAAK,CAACqqG,QAAN,KAAmB;AAAE;AAArB,SACArqG,KAAK,CAAC4gG,cAAN,GAAuB,KAAKrE,YADhC,EAC8C;AAC1C,YAAMsO,YAAY,GAAG,KAAK9nG,GAAL,CAASJ,GAAT,CAAaonG,kBAAkB,GAAG/pG,KAAK,CAAC4gG,cAAxC,CAArB;;AACA,YAAIiK,YAAJ,EAAkB;AACdA,sBAAY,CAACT,OAAb,GAAuB,IAAvB;AACH,SAFD,MAGK;AACD,eAAKO,wBAAL,CAA8B3qG,KAAK,CAAC4gG,cAApC;AACH;AACJ;AACJ;;;WACD,kCAAyBA,cAAzB,EAAyC;AACrC,UAAMnuF,GAAG,GAAGqG,QAAQ,CAACmxB,YAAY,GAAG,KAAK02D,kBAAL,EAAhB,CAApB;AACA,WAAK59F,GAAL,CAASH,GAAT,CAAamnG,kBAAkB,GAAGnJ,cAAlC,EAAkD;AAC9CA,sBAAc,EAAEA,cAD8B;AAE9CnuF,WAAG,EAAEA,GAFyC;AAG9C03F,4BAAoB,EAAE,8BAAC/N,KAAD,EAAQyE,aAAR,EAA0B;AAC5C;AACA,iBAAO,CAACpuF,GAAG,CAAC7P,GAAJ,CAAQo+F,uBAAuB,CAACH,aAAD,CAA/B,EAAgDvG,WAAhD,EAAD,CAAP;AACH,SAN6C;AAO9C8P,eAAO,EAAE,KAPqC;AAQ9CC,gBAAQ,EAAE;AAAE;AARkC;AAS9CC,gBAAQ,EAAE;AAToC,OAAlD;AAWH;;;WACD,8BAAqB/rG,IAArB,EAA2B;AACvB,UAAMusG,cAAc,GAAG,KAAK/nG,GAAL,CAASJ,GAAT,CAAaonG,kBAAkB,GAAG,CAAlC,CAAvB;AACAe,oBAAc,CAACV,OAAf,GAAyB,IAAzB;AACA,WAAKI,gBAAL,CAAsB,CAAtB,EAAyB,KAAzB;AACA,aAAOM,cAAc,CAACr4F,GAAf,CAAmBkG,IAAnB,CAAwBpa,IAAxB,CAAP;AACH;;;WACD,0BAAiBqiG,cAAjB,EAAiCmK,cAAjC,EAAiD;AAC7C;AACA;AACA;AACA;AACA;AACA,UAAI,KAAKC,eAAL,OAA2BpK,cAAc,GAAG,KAAKrE,YAAtB,IAAsCwO,cAAjE,CAAJ,EAAsF;AAClF,YAAI,CAAC,KAAKr1F,MAAL,CAAYw0F,mBAAjB,EAAsC;AAClC;AACA,eAAKx0F,MAAL,CAAYw0F,mBAAZ,GAAkCpxF,QAAQ,CAAC,KAAKpD,MAAL,CAAYirF,kBAAZ,EAAD,CAA1C;AACH;;AACD,aAAKuJ,mBAAL,GAA2B,KAAKx0F,MAAL,CAAYw0F,mBAAvC;AACH;AACJ;;;WACD,gCAAuB;AACnB;AACA,aAAO,KAAKA,mBAAL,GACH,CAACvI,WAAW,CAAC,IAAD,EAAOl0E,aAAa,CAACsE,WAArB,EAAkC,CAAC,KAAKm4E,mBAAN,CAAlC,CAAX,CAAyE78D,MAAzE,EAAD,CADG,GAEH,EAFJ;AAGH;;;WACD,kCAAyB;AACrB;AACA,UAAM49D,yBAAyB,GAAGtJ,WAAW,CAAC,IAAD,EAAOl0E,aAAa,CAAC2D,cAArB,EAAqC,EAArC,CAA7C;AACA,aAAO,KAAK84E,mBAAL,GACH,CAAC,KAAKA,mBAAL,CAAyBtnG,GAAzB,CAA6BqoG,yBAA7B,EAAwD3Q,WAAxD,EAAD,CADG,GAEH,EAFJ;AAGH;;;WACD,2BAAkB;AACd,aAAO,KAAK5kF,MAAL,IAAe,KAAKA,MAAL,CAAY6mF,YAAZ,KAA6B,KAAKA,YAAxD;AACH;;;WACD,gCAAuB;AAAA;;AACnB,UAAI2O,mBAAmB,GAAG,CAA1B;AACA,aAAOlwF,KAAK,CAACs2B,IAAN,CAAW,KAAKvuC,GAAL,CAASuE,MAAT,EAAX,EACFoa,MADE,CACK,UAAA1hB,KAAK;AAAA,eAAIA,KAAK,CAACoqG,OAAV;AAAA,OADV,EAEFh/B,IAFE,CAEG,UAAC1rC,CAAD,EAAIW,CAAJ;AAAA,eAAUA,CAAC,CAACugE,cAAF,GAAmBlhE,CAAC,CAACkhE,cAArB,IAAuCvgE,CAAC,CAACgqE,QAAF,GAAa3qE,CAAC,CAAC2qE,QAAhE;AAAA,OAFH,EAGF79E,MAHE,CAGK,UAACnV,KAAD,EAAQrX,KAAR,EAAkB;AAC1B,YAAMmrG,SAAS,GAAG,QAAI,CAAC5O,YAAL,GAAoBv8F,KAAK,CAAC4gG,cAA5C;AACA,YAAMwK,SAAS,GAAGprG,KAAK,CAACmqG,oBAAN,CAA2B,QAA3B,EAAiCgB,SAAS,GAAGD,mBAA7C,CAAlB;AACAA,2BAAmB,GAAGC,SAAtB;AACA,eAAO9zF,KAAK,CAACtX,MAAN,CAAaqrG,SAAb,CAAP;AACH,OARM,EAQJ,EARI,CAAP;AASH;;;WACD,8BAAqB;AACjB,UAAI1qG,OAAO,GAAG,IAAd,CADiB,CAEjB;;AACA,aAAOA,OAAO,CAACgV,MAAf;AACIhV,eAAO,GAAGA,OAAO,CAACgV,MAAlB;AADJ;;AAEA,UAAMmR,GAAG,aAAMsjB,gBAAN,SAAyBzpC,OAAO,CAACupG,kBAAR,EAAzB,CAAT;AACA,aAAOpjF,GAAP;AACH;;;WAxLD,2BAAyB;AACrB,aAAO,IAAImjF,YAAJ,EAAP;AACH;;;;;AAwLL;AACA;AACA;;;AACA,SAAStC,iBAAT,CAA2B/qG,WAA3B,EAAwC28B,UAAxC,EAAoD;AAChD,MAAM94B,WAAW,GAAG,IAAItB,WAAJ,EAApB;AACA,MAAMmsG,eAAe,GAAG3uG,WAAW,CAACC,WAAD,CAAX,CAAyB,CAAzB,CAAxB;AACA6D,aAAW,CAACU,UAAZ,CAAuBmqG,eAAvB;AACA1mG,QAAM,CAACkmC,mBAAP,CAA2BvR,UAA3B,EAAuCh7B,OAAvC,CAA+C,UAACC,IAAD,EAAU;AACrD,QAAM+sG,QAAQ,GAAG5uG,WAAW,CAAC6B,IAAD,CAAX,CAAkB,CAAlB,CAAjB;AACA,QAAMyB,KAAK,GAAGs5B,UAAU,CAAC/6B,IAAD,CAAxB;AACAiC,eAAW,CAACO,YAAZ,CAAyBuqG,QAAzB,EAAmCtrG,KAAnC;;AACA,QAAIzB,IAAI,CAACC,WAAL,OAAuB,OAA3B,EAAoC;AAChC,UAAMmJ,OAAO,GAAG3H,KAAK,CAAC8a,IAAN,GAAaiD,KAAb,CAAmB,KAAnB,CAAhB;AACApW,aAAO,CAACrJ,OAAR,CAAgB,UAAAkE,SAAS;AAAA,eAAIhC,WAAW,CAACS,YAAZ,CAAyBuB,SAAzB,CAAJ;AAAA,OAAzB;AACH;AACJ,GARD;AASA,SAAOhC,WAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS0nG,qBAAT,CAA+B/mG,SAA/B,EAA0C;AACtC;AACA;AACA,MAAMoqG,gBAAgB,GAAGvjG,yBAAyB,CAAC7G,SAAS,CAACnB,KAAX,CAAzB,CAA2C,CAA3C,CAAzB;AACA,SAAO,CAAC6Z,OAAO,CAAC;AAAE;AAAH,GAAR,EAA6B6wB,SAAS,CAAC6gE,gBAAD,CAAtC,CAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS3F,kCAAT,CAA4Cv9E,aAA5C,EAA2D;AACvD,UAAQyjB,0BAA0B,CAACzjB,aAAD,CAAlC;AACI,SAAK,CAAL;AACI,aAAOoF,aAAa,CAACuF,mBAArB;;AACJ,SAAK,CAAL;AACI,aAAOvF,aAAa,CAACwF,oBAArB;;AACJ,SAAK,CAAL;AACI,aAAOxF,aAAa,CAACyF,oBAArB;;AACJ,SAAK,CAAL;AACI,aAAOzF,aAAa,CAAC0F,oBAArB;;AACJ,SAAK,CAAL;AACI,aAAO1F,aAAa,CAAC2F,oBAArB;;AACJ,SAAK,EAAL;AACI,aAAO3F,aAAa,CAAC4F,oBAArB;;AACJ,SAAK,EAAL;AACI,aAAO5F,aAAa,CAAC6F,oBAArB;;AACJ,SAAK,EAAL;AACI,aAAO7F,aAAa,CAAC8F,oBAArB;;AACJ,SAAK,EAAL;AACI,aAAO9F,aAAa,CAAC+F,oBAArB;;AACJ;AACI,aAAO/F,aAAa,CAACgG,oBAArB;AApBR;AAsBH;AACD;AACA;AACA;AACA;;;AACA,SAASoyE,mCAAT,CAA6Cx9E,aAA7C,EAA4D;AACxD,UAAQyjB,0BAA0B,CAACzjB,aAAD,CAAlC;AACI,SAAK,CAAL;AACI,aAAOoF,aAAa,CAACY,qBAArB;;AACJ,SAAK,CAAL;AACI,aAAOZ,aAAa,CAACa,qBAArB;;AACJ,SAAK,CAAL;AACI,aAAOb,aAAa,CAACc,qBAArB;;AACJ,SAAK,CAAL;AACI,aAAOd,aAAa,CAACe,qBAArB;;AACJ,SAAK,EAAL;AACI,aAAOf,aAAa,CAACgB,qBAArB;;AACJ,SAAK,EAAL;AACI,aAAOhB,aAAa,CAACiB,qBAArB;;AACJ,SAAK,EAAL;AACI,aAAOjB,aAAa,CAACkB,qBAArB;;AACJ,SAAK,EAAL;AACI,aAAOlB,aAAa,CAACmB,qBAArB;;AACJ;AACI,aAAOnB,aAAa,CAACoB,qBAArB;AAlBR;AAoBH;AACD;AACA;AACA;AACA;;;AACA,SAAS43E,8BAAT,CAAwCp+E,aAAxC,EAAuD;AACnD,UAAQyjB,0BAA0B,CAACzjB,aAAD,CAAlC;AACI,SAAK,CAAL;AACI,aAAOoF,aAAa,CAAC4D,eAArB;;AACJ,SAAK,CAAL;AACI,aAAO5D,aAAa,CAAC6D,gBAArB;;AACJ,SAAK,CAAL;AACI,aAAO7D,aAAa,CAAC8D,gBAArB;;AACJ,SAAK,CAAL;AACI,aAAO9D,aAAa,CAAC+D,gBAArB;;AACJ,SAAK,CAAL;AACI,aAAO/D,aAAa,CAACgE,gBAArB;;AACJ,SAAK,EAAL;AACI,aAAOhE,aAAa,CAACiE,gBAArB;;AACJ,SAAK,EAAL;AACI,aAAOjE,aAAa,CAACkE,gBAArB;;AACJ,SAAK,EAAL;AACI,aAAOlE,aAAa,CAACmE,gBAArB;;AACJ,SAAK,EAAL;AACI,aAAOnE,aAAa,CAACoE,gBAArB;;AACJ;AACI,aAAOpE,aAAa,CAACqE,gBAArB;AApBR;AAsBH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS05E,aAAT,CAAuBzjF,QAAvB,EAAiCC,WAAjC,EAA4D;AAAA,MAAd4vC,OAAc,uEAAJ,EAAI;AACxD,MAAQsB,mBAAR,GAAsFtB,OAAtF,CAAQsB,mBAAR;AAAA,MAA6B3wC,mBAA7B,GAAsFqvC,OAAtF,CAA6BrvC,mBAA7B;AAAA,MAAkDywE,+BAAlD,GAAsFphC,OAAtF,CAAkDohC,+BAAlD;AACA,MAAMtgB,aAAa,GAAG+yB,iBAAiB,CAACvyC,mBAAD,CAAvC;AACA,MAAMwyC,UAAU,GAAG,IAAI7mC,UAAJ,EAAnB;AACA,MAAM8mC,WAAW,GAAGD,UAAU,CAACzjG,KAAX,CAAiB8f,QAAjB,EAA2BC,WAA3B,EAAwCrjB,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc;AAAEw0D,sBAAkB,EAAE0iC;AAAtB,GAAd,EAA4DlkC,OAA5D,CAAd,EAAoF;AAAEoB,0BAAsB,EAAE;AAA1B,GAApF,CAAxC,CAApB;;AACA,MAAI2yC,WAAW,CAACzlD,MAAZ,IAAsBylD,WAAW,CAACzlD,MAAZ,CAAmB7nD,MAAnB,GAA4B,CAAtD,EAAyD;AACrD;AACA;AACA,WAAO;AACH66D,yBAAmB,EAAnBA,mBADG;AAEH3wC,yBAAmB,EAAnBA,mBAFG;AAGHR,cAAQ,EAARA,QAHG;AAIHm+B,YAAM,EAAEylD,WAAW,CAACzlD,MAJjB;AAKH1qB,WAAK,EAAE,EALJ;AAMH7T,eAAS,EAAE,EANR;AAOHD,YAAM,EAAE,EAPL;AAQHU,wBAAkB,EAAE;AARjB,KAAP;AAUH;;AACD,MAAI25C,SAAS,GAAG4pC,WAAW,CAAC5pC,SAA5B,CAnBwD,CAoBxD;AACA;AACA;AACA;;AACA,MAAM6pC,eAAe,GAAG,IAAI9S,eAAJ,CAAoB5/B,mBAApB;AAAyC;AAAoB,GAAC3wC,mBAA9D,EAAmFywE,+BAAnF,CAAxB;AACAj3B,WAAS,GAAGnL,UAAU,CAACg1C,eAAD,EAAkB7pC,SAAlB,CAAtB;;AACA,MAAI,CAACx5C,mBAAL,EAA0B;AACtBw5C,aAAS,GAAGnL,UAAU,CAAC,IAAIyO,iBAAJ,EAAD,EAA0BtD,SAA1B,CAAtB,CADsB,CAEtB;AACA;AACA;AACA;;AACA,QAAI6pC,eAAe,CAAC7jE,WAApB,EAAiC;AAC7Bg6B,eAAS,GAAGnL,UAAU,CAAC,IAAIkiC,eAAJ,CAAoB5/B,mBAApB;AAAyC;AAAoB,WAA7D,CAAD,EAAsE6I,SAAtE,CAAtB;AACH;AACJ;;AACD,6BAAiEqvB,mBAAmB,CAACrvB,SAAD,EAAY2W,aAAZ,CAApF;AAAA,MAAQl9C,KAAR,wBAAQA,KAAR;AAAA,MAAe0qB,MAAf,wBAAeA,MAAf;AAAA,MAAuBv+B,SAAvB,wBAAuBA,SAAvB;AAAA,MAAkCD,MAAlC,wBAAkCA,MAAlC;AAAA,MAA0CU,kBAA1C,wBAA0CA,kBAA1C;;AACA,SAAO;AACH8wC,uBAAmB,EAAnBA,mBADG;AAEH3wC,uBAAmB,EAAnBA,mBAFG;AAGH29B,UAAM,EAAEA,MAAM,CAAC7nD,MAAP,GAAgB,CAAhB,GAAoB6nD,MAApB,GAA6B,IAHlC;AAIHn+B,YAAQ,EAARA,QAJG;AAKHyT,SAAK,EAALA,KALG;AAMH7T,aAAS,EAATA,SANG;AAOHD,UAAM,EAANA,MAPG;AAQHU,sBAAkB,EAAlBA;AARG,GAAP;AAUH;;AACD,IAAMyjF,eAAe,GAAG,IAAItc,wBAAJ,EAAxB;AACA;AACA;AACA;;AACA,SAASkc,iBAAT,GAA+E;AAAA,MAApDvyC,mBAAoD,uEAA9B1oB,4BAA8B;AAC3E,SAAO,IAAIi/B,aAAJ,CAAkB,IAAIka,SAAJ,CAAc,IAAIpF,KAAJ,EAAd,CAAlB,EAA8CrrB,mBAA9C,EAAmE2yC,eAAnE,EAAoF,IAApF,EAA0F,EAA1F,CAAP;AACH;;AACD,SAASpG,qBAAT,CAA+B78F,OAA/B,EAAwCymC,WAAxC,EAAqD;AACjD,UAAQzmC,OAAR;AACI,SAAK1B,eAAe,CAACynF,IAArB;AACI,aAAO51E,UAAU,CAAC0U,aAAa,CAAC8I,YAAf,CAAjB;;AACJ,SAAKrvB,eAAe,CAACkvE,MAArB;AACI,aAAOr9D,UAAU,CAAC0U,aAAa,CAACiJ,cAAf,CAAjB;;AACJ,SAAKxvB,eAAe,CAACqsE,KAArB;AACI;AACA;AACA;AACA,aAAOlkC,WAAW,GAAGt2B,UAAU,CAAC0U,aAAa,CAAC+I,aAAf,CAAb,GAA6C,IAA/D;;AACJ,SAAKtvB,eAAe,CAAC0nF,GAArB;AACI,aAAO71E,UAAU,CAAC0U,aAAa,CAACkJ,WAAf,CAAjB;;AACJ,SAAKzvB,eAAe,CAAC2nF,YAArB;AACI,aAAO91E,UAAU,CAAC0U,aAAa,CAACgJ,mBAAf,CAAjB;;AACJ;AACI,aAAO,IAAP;AAfR;AAiBH;;AACD,SAASwxE,qBAAT,CAA+BhrG,OAA/B,EAAwCgrC,IAAxC,EAA8C;AAC1C,MAAMjoC,KAAK,GAAG0qC,SAAS,CAACzC,IAAI,CAACjoC,KAAN,CAAvB;;AACA,UAAQ6rG,eAAe,CAACnzE,eAAhB,CAAgCz7B,OAAhC,EAAyCgrC,IAAI,CAAC1pC,IAA9C;AAAoD;AAAkB,MAAtE,CAAR;AACI,SAAK2I,eAAe,CAACynF,IAArB;AACI,aAAO51E,UAAU,CAAC0U,aAAa,CAACoJ,iBAAf,CAAV,CAA4ChW,MAA5C,CAAmD,CAAC7gB,KAAD,CAAnD,EAA4DioC,IAAI,CAAC1P,SAAjE,CAAP;;AACJ,SAAKrxB,eAAe,CAACkvE,MAArB;AACI,aAAOr9D,UAAU,CAAC0U,aAAa,CAACqJ,mBAAf,CAAV,CAA8CjW,MAA9C,CAAqD,CAAC7gB,KAAD,CAArD,EAA8DioC,IAAI,CAAC1P,SAAnE,CAAP;;AACJ,SAAKrxB,eAAe,CAAC2nF,YAArB;AACI,aAAO91E,UAAU,CAAC0U,aAAa,CAACsJ,wBAAf,CAAV,CAAmDlW,MAAnD,CAA0D,CAAC7gB,KAAD,CAA1D,EAAmEioC,IAAI,CAAC1P,SAAxE,CAAP;;AACJ;AACI,aAAOv4B,KAAP;AARR;AAUH;;AACD,SAASw/F,uBAAT,CAAiCjmE,QAAjC,EAA2C;AACvC,SAAOA,QAAQ,CAACl7B,MAAT,KAAoB,CAApB,IAAyBk7B,QAAQ,CAAC,CAAD,CAAR,YAAuBF,OAAvD;AACH;;AACD,SAASyyE,UAAT,CAAoBj+F,IAApB,EAA0B;AACtB,SAAOA,IAAI,YAAYqqB,IAAhB,IAAwBrqB,IAAI,YAAYuqB,SAAxC,IAAqDvqB,IAAI,YAAYysB,GAA5E;AACH;;AACD,SAASolE,mBAAT,CAA6BnmE,QAA7B,EAAuC;AACnC,SAAOA,QAAQ,CAACxmB,KAAT,CAAe+4F,UAAf,CAAP;AACH;AACD;;;AACA,IAAMC,oBAAoB,GAAG,mBAA7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAStL,uBAAT,CAAiCthE,OAAjC,EAA0CrmB,QAA1C,EAAoDohF,UAApD,EAA0F;AAAA,MAA1B9uF,MAA0B,uEAAjB,EAAiB;AAAA,MAAbi1F,WAAa;AACtF,MAAMluF,UAAU,GAAG,CACf23B,mBAAmB,CAAChxB,QAAD,CADJ,EAEfY,MAAM,CAACsyF,sBAAsB,EAAvB,EAA2BhS,4BAA4B,CAAClhF,QAAD,EAAWqmB,OAAX,EAAoB+6D,UAApB,EAAgC/wD,0BAA0B,CAAC/9B,MAAD;AAAS;AAAmB,MAA5B,CAA1D,CAAvD,EAAqJwvF,wBAAwB,CAAC9hF,QAAD,EAAWqmB,OAAX,EAAoBgK,0BAA0B,CAAC/9B,MAAD;AAAS;AAAmB,OAA5B,CAA9C,CAA7K,CAFS,CAAnB;;AAIA,MAAIi1F,WAAJ,EAAiB;AACbluF,cAAU,CAACrS,IAAX,CAAgB,IAAImN,mBAAJ,CAAwB6L,QAAQ,CAAClW,GAAT,CAAay9F,WAAW,CAACvnF,QAAD,CAAxB,CAAxB,CAAhB;AACH;;AACD,SAAO3G,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS65F,sBAAT,GAAkC;AAC9B,SAAO5yF,UAAU,CAACN,QAAQ,CAACizF,oBAAD,CAAT,CAAV,CACFviD,YADE,CACW3vC,OAAO,CAAC,WAAD,EAAc5P,WAAd,CADlB,EAEFgiG,GAFE,CAEEnzF,QAAQ,CAACizF,oBAAD,CAFV,CAAP;AAGH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM3nF,WAAW,GAAG,EAApB,C,CACA;AACA;;AACA,IAAM8nF,UAAU,GAAG,gBAAnB;;AACA,SAASC,mBAAT,CAA6Bj/E,IAA7B,EAAmCke,YAAnC,EAAiDstC,aAAjD,EAAgE;AAC5D,MAAM94B,aAAa,GAAG,IAAItU,aAAJ,EAAtB;AACA,MAAM3nC,SAAS,GAAGqE,yBAAyB,CAACklB,IAAI,CAAC9sB,QAAN,CAA3C,CAF4D,CAG5D;;AACAw/C,eAAa,CAACh9C,GAAd,CAAkB,MAAlB,EAA0BsqB,IAAI,CAACqf,YAA/B,EAJ4D,CAK5D;;AACA,MAAI5oC,SAAS,CAACtF,MAAV,GAAmB,CAAvB,EAA0B;AACtBuhD,iBAAa,CAACh9C,GAAd,CAAkB,WAAlB,EAA+B8nC,SAAS,CAAC/mC,SAAD,CAAxC;AACH;;AACD,MAAIupB,IAAI,CAAC9D,OAAL,CAAa/qB,MAAb,GAAsB,CAA1B,EAA6B;AACzB;AACAuhD,iBAAa,CAACh9C,GAAd,CAAkB,gBAAlB,EAAoCwpG,4BAA4B,CAACl/E,IAAI,CAAC9D,OAAN,EAAegiB,YAAf,EAA6Ble,IAAI,CAAC3uB,IAAlC,CAAhE;AACH;;AACD,MAAI2uB,IAAI,CAAC5D,WAAL,CAAiBjrB,MAArB,EAA6B;AACzBuhD,iBAAa,CAACh9C,GAAd,CAAkB,WAAlB,EAA+BypG,yBAAyB,CAACn/E,IAAI,CAAC5D,WAAN,EAAmB8hB,YAAnB,EAAiCle,IAAI,CAAC3uB,IAAtC,CAAxD;AACH,GAf2D,CAgB5D;;;AACAqhD,eAAa,CAACh9C,GAAd,CAAkB,cAAlB,EAAkC0pG,0BAA0B,CAACp/E,IAAI,CAACpD,IAAN,EAAYoD,IAAI,CAACuxB,cAAjB,EAAiCi6B,aAAjC,EAAgDttC,YAAhD,EAA8Dle,IAAI,CAAC9sB,QAAL,IAAiB,EAA/E,EAAmF8sB,IAAI,CAAC3uB,IAAxF,EAA8FqhD,aAA9F,CAA5D,EAjB4D,CAkB5D;;AACAA,eAAa,CAACh9C,GAAd,CAAkB,QAAlB,EAA4B+nC,mCAAmC,CAACzd,IAAI,CAACrE,MAAN,EAAc,IAAd,CAA/D,EAnB4D,CAoB5D;;AACA+2B,eAAa,CAACh9C,GAAd,CAAkB,SAAlB,EAA6B+nC,mCAAmC,CAACzd,IAAI,CAACpE,OAAN,CAAhE;;AACA,MAAIoE,IAAI,CAACtE,QAAL,KAAkB,IAAtB,EAA4B;AACxBg3B,iBAAa,CAACh9C,GAAd,CAAkB,UAAlB,EAA8ByW,UAAU,CAAC6T,IAAI,CAACtE,QAAL,CAAc7lB,GAAd,CAAkB,UAAAsK,CAAC;AAAA,aAAIwM,OAAO,CAACxM,CAAD,CAAX;AAAA,KAAnB,CAAD,CAAxC;AACH;;AACD,SAAOuyC,aAAP;AACH;AACD;AACA;AACA;;;AACA,SAAS2sD,WAAT,CAAqB3sD,aAArB,EAAoC1yB,IAApC,EAA0C;AACtC;AACA,MAAMs/E,QAAQ,GAAG,EAAjB;AACA,MAAMtjF,SAAS,GAAGgE,IAAI,CAAChE,SAAvB;AACA,MAAMC,aAAa,GAAG+D,IAAI,CAAC/D,aAA3B;;AACA,MAAID,SAAS,IAAIC,aAAjB,EAAgC;AAC5B,QAAM9iB,IAAI,GAAG,CAAC6iB,SAAS,IAAI,IAAIrW,gBAAJ,CAAqB,EAArB,CAAd,CAAb;;AACA,QAAIsW,aAAJ,EAAmB;AACf9iB,UAAI,CAACvG,IAAL,CAAUqpB,aAAV;AACH;;AACDqjF,YAAQ,CAAC1sG,IAAT,CAAciZ,UAAU,CAAC0U,aAAa,CAAC0I,gBAAf,CAAV,CAA2CtV,MAA3C,CAAkDxa,IAAlD,CAAd;AACH;;AACD,MAAI6mB,IAAI,CAACu/E,eAAT,EAA0B;AACtBD,YAAQ,CAAC1sG,IAAT,CAAciZ,UAAU,CAAC0U,aAAa,CAACwI,wBAAf,CAAxB;AACH;;AACD,MAAI/I,IAAI,CAACw/E,eAAT,EAA0B;AACtBF,YAAQ,CAAC1sG,IAAT,CAAciZ,UAAU,CAAC0U,aAAa,CAACyI,qBAAf,CAAxB;AACH;;AACD,MAAIhJ,IAAI,CAACy/E,SAAL,CAAeC,aAAnB,EAAkC;AAC9BJ,YAAQ,CAAC1sG,IAAT,CAAciZ,UAAU,CAAC0U,aAAa,CAACuI,kBAAf,CAAxB;AACH;;AACD,MAAIw2E,QAAQ,CAACnuG,MAAb,EAAqB;AACjBuhD,iBAAa,CAACh9C,GAAd,CAAkB,UAAlB,EAA8ByW,UAAU,CAACmzF,QAAD,CAAxC;AACH;AACJ;AACD;AACA;AACA;;;AACA,SAASK,4BAAT,CAAsC3/E,IAAtC,EAA4Cke,YAA5C,EAA0DstC,aAA1D,EAAyE;AACrE,MAAM94B,aAAa,GAAGusD,mBAAmB,CAACj/E,IAAD,EAAOke,YAAP,EAAqBstC,aAArB,CAAzC;AACA6zB,aAAW,CAAC3sD,aAAD,EAAgB1yB,IAAhB,CAAX;AACA,MAAMxN,UAAU,GAAG3G,UAAU,CAAC0U,aAAa,CAACuH,eAAf,CAAV,CAA0CnU,MAA1C,CAAiD,CAAC++B,aAAa,CAACktD,YAAd,EAAD,CAAjD,CAAnB;AACA,MAAM/jG,UAAU,GAAGgkG,yBAAyB,CAAC7/E,IAAD,CAA5C;AACA,MAAMniB,IAAI,GAAGoO,cAAc,CAACJ,UAAU,CAAC0U,aAAa,CAACwH,oBAAf,EAAqClsB,UAArC,CAAX,CAA3B;AACA,SAAO;AAAE2W,cAAU,EAAVA,UAAF;AAAc3U,QAAI,EAAJA;AAAd,GAAP;AACH;AACD;AACA;AACA;;;AACA,SAASiiG,4BAAT,CAAsC9/E,IAAtC,EAA4Cke,YAA5C,EAA0DstC,aAA1D,EAAyE;AACrE,MAAM94B,aAAa,GAAGusD,mBAAmB,CAACj/E,IAAD,EAAOke,YAAP,EAAqBstC,aAArB,CAAzC;AACA6zB,aAAW,CAAC3sD,aAAD,EAAgB1yB,IAAhB,CAAX;AACA,MAAM9sB,QAAQ,GAAG8sB,IAAI,CAAC9sB,QAAL,IAAiBlB,WAAW,CAAC+I,KAAZ,CAAkBilB,IAAI,CAAC9sB,QAAvB,CAAlC;AACA,MAAM6sG,aAAa,GAAG7sG,QAAQ,IAAIA,QAAQ,CAAC,CAAD,CAA1C,CAJqE,CAKrE;AACA;;AACA,MAAI6sG,aAAJ,EAAmB;AACf,QAAMC,kBAAkB,GAAGD,aAAa,CAACE,QAAd,EAA3B;;AACA,QAAID,kBAAkB,CAAC7uG,MAAvB,EAA+B;AAC3BuhD,mBAAa,CAACh9C,GAAd,CAAkB,OAAlB,EAA2BwoC,YAAY,CAACxpB,eAAb,CAA6BvI,UAAU,CAAC6zF,kBAAkB,CAACnqG,GAAnB,CAAuB,UAAA/C,KAAK;AAAA,eAAIA,KAAK,IAAI,IAAT,GAAgB6Z,OAAO,CAAC7Z,KAAD,CAAvB,GAAiC6Z,OAAO,CAACvV,SAAD,CAA5C;AAAA,OAA5B,CAAD,CAAvC;AAC3B;AAAkB,UADS,CAA3B;AAEH;AACJ,GAboE,CAcrE;;;AACA,MAAIg5F,gBAAgB,GAAG,IAAvB;;AACA,MAAIpwE,IAAI,CAAC7B,UAAL,CAAgBhtB,MAAhB,GAAyB,CAA7B,EAAgC;AAC5B,QAAM6D,OAAO,GAAG,IAAId,eAAJ,EAAhB;;AAD4B,gLAEW8rB,IAAI,CAAC7B,UAFhB;AAAA;;AAAA;AAE5B,gEAAwD;AAAA;AAAA,YAA3CjrB,SAA2C,iBAA3CA,QAA2C;AAAA,YAAjCsf,WAAiC,iBAAjCA,UAAiC;AACpDxd,eAAO,CAACwB,cAAR,CAAuBxE,WAAW,CAAC+I,KAAZ,CAAkB7H,SAAlB,CAAvB,EAAoDsf,WAApD;AACH;AAJ2B;AAAA;AAAA;AAAA;AAAA;;AAK5B49E,oBAAgB,GAAGp7F,OAAnB;AACH,GAtBoE,CAuBrE;;;AACA,MAAMkrG,gBAAgB,GAAGlgF,IAAI,CAAC3uB,IAA9B;AACA,MAAM0pE,YAAY,GAAGmlC,gBAAgB,aAAMA,gBAAN,iBAAoC,IAAzE;AACA,MAAMC,cAAc,GAAG,IAAIx1F,GAAJ,EAAvB;AACA,MAAMy1F,SAAS,GAAG,IAAIz1F,GAAJ,EAAlB;AACA,MAAMpS,eAAe,GAAGynB,IAAI,CAACznB,eAA7B;AACA,MAAMsiB,QAAQ,GAAGmF,IAAI,CAACnF,QAAtB;AACA,MAAMwlF,eAAe,GAAG,IAAIrQ,yBAAJ,CAA8B9xD,YAA9B,EAA4C4+D,YAAY,CAACwD,eAAb,EAA5C,EAA4E,CAA5E,EAA+EJ,gBAA/E,EAAiG,IAAjG,EAAuG,IAAvG,EAA6GnlC,YAA7G,EAA2Hq1B,gBAA3H,EAA6I+P,cAA7I,EAA6JngF,IAAI,CAAC1B,KAAlK,EAAyK8hF,SAAzK,EAAoL7/E,aAAa,CAACI,aAAlM,EAAiNX,IAAI,CAACuwE,uBAAtN,EAA+OvwE,IAAI,CAACwwE,kBAApP,CAAxB;AACA,MAAM+P,0BAA0B,GAAGF,eAAe,CAACnH,qBAAhB,CAAsCr+E,QAAQ,CAACyT,KAA/C,EAAsD,EAAtD,CAAnC,CA/BqE,CAgCrE;AACA;;AACA,MAAMpT,kBAAkB,GAAGmlF,eAAe,CAACG,qBAAhB,EAA3B;;AACA,MAAItlF,kBAAJ,EAAwB;AACpBw3B,iBAAa,CAACh9C,GAAd,CAAkB,oBAAlB,EAAwCwlB,kBAAxC;AACH,GArCoE,CAsCrE;;;AACAw3B,eAAa,CAACh9C,GAAd,CAAkB,OAAlB,EAA2BiX,OAAO,CAAC0zF,eAAe,CAACpL,aAAhB,EAAD,CAAlC,EAvCqE,CAwCrE;;AACAviD,eAAa,CAACh9C,GAAd,CAAkB,MAAlB,EAA0BiX,OAAO,CAAC0zF,eAAe,CAAClH,WAAhB,EAAD,CAAjC,EAzCqE,CA0CrE;AACA;AACA;AACA;AACA;;AACA,8BAAgDkH,eAAe,CAACI,SAAhB,EAAhD;AAAA,MAAQ1Q,gBAAR,yBAAQA,gBAAR;AAAA,MAA0BD,iBAA1B,yBAA0BA,iBAA1B;;AACA,MAAIC,gBAAgB,CAAC5+F,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B,QAAIuvG,UAAU,GAAGv0F,UAAU,CAAC4jF,gBAAD,CAA3B,CAD6B,CAE7B;;AACA,QAAID,iBAAiB,CAAC3+F,MAAlB,GAA2B,CAA/B,EAAkC;AAC9BuvG,gBAAU,GAAGh/F,EAAE,CAAC,EAAD,+JAASouF,iBAAT,IAA4B,IAAIjoF,eAAJ,CAAoB64F,UAApB,CAA5B,GAAf;AACH;;AACDhuD,iBAAa,CAACh9C,GAAd,CAAkB,QAAlB,EAA4BgrG,UAA5B;AACH;;AACDhuD,eAAa,CAACh9C,GAAd,CAAkB,UAAlB,EAA8B6qG,0BAA9B,EAxDqE,CAyDrE;;AACA,MAAIJ,cAAc,CAACzuF,IAAnB,EAAyB;AACrB,QAAIivF,cAAc,GAAGx0F,UAAU,CAAC2B,KAAK,CAACs2B,IAAN,CAAW+7D,cAAX,CAAD,CAA/B;;AACA,QAAIngF,IAAI,CAAC4gF,+BAAT,EAA0C;AACtCD,oBAAc,GAAGj/F,EAAE,CAAC,EAAD,EAAK,CAAC,IAAImG,eAAJ,CAAoB84F,cAApB,CAAD,CAAL,CAAnB;AACH;;AACDjuD,iBAAa,CAACh9C,GAAd,CAAkB,YAAlB,EAAgCirG,cAAhC;AACH,GAhEoE,CAiErE;;;AACA,MAAIP,SAAS,CAAC1uF,IAAd,EAAoB;AAChB,QAAImvF,SAAS,GAAG10F,UAAU,CAAC2B,KAAK,CAACs2B,IAAN,CAAWg8D,SAAX,CAAD,CAA1B;;AACA,QAAIpgF,IAAI,CAAC4gF,+BAAT,EAA0C;AACtCC,eAAS,GAAGn/F,EAAE,CAAC,EAAD,EAAK,CAAC,IAAImG,eAAJ,CAAoBg5F,SAApB,CAAD,CAAL,CAAd;AACH;;AACDnuD,iBAAa,CAACh9C,GAAd,CAAkB,OAAlB,EAA2BmrG,SAA3B;AACH;;AACD,MAAI7gF,IAAI,CAACpF,aAAL,KAAuB,IAA3B,EAAiC;AAC7BoF,QAAI,CAACpF,aAAL,GAAqBziB,iBAAiB,CAACyvD,QAAvC;AACH,GA3EoE,CA4ErE;;;AACA,MAAI5nC,IAAI,CAACxF,MAAL,IAAewF,IAAI,CAACxF,MAAL,CAAYrpB,MAA/B,EAAuC;AACnC,QAAM2vG,WAAW,GAAG9gF,IAAI,CAACpF,aAAL,IAAsBziB,iBAAiB,CAACyvD,QAAxC,GAChBm5C,aAAa,CAAC/gF,IAAI,CAACxF,MAAN,EAAcssC,YAAd,EAA4BD,SAA5B,CADG,GAEhB7mC,IAAI,CAACxF,MAFT;AAGA,QAAM6gB,OAAO,GAAGylE,WAAW,CAACjrG,GAAZ,CAAgB,UAAA6N,GAAG;AAAA,aAAIw6B,YAAY,CAACxpB,eAAb,CAA6B/H,OAAO,CAACjJ,GAAD,CAApC,CAAJ;AAAA,KAAnB,CAAhB;AACAgvC,iBAAa,CAACh9C,GAAd,CAAkB,QAAlB,EAA4ByW,UAAU,CAACkvB,OAAD,CAAtC;AACH,GAND,MAOK,IAAIrb,IAAI,CAACpF,aAAL,KAAuBziB,iBAAiB,CAACyvD,QAA7C,EAAuD;AACxD;AACA5nC,QAAI,CAACpF,aAAL,GAAqBziB,iBAAiB,CAACgF,IAAvC;AACH,GAvFoE,CAwFrE;;;AACA,MAAI6iB,IAAI,CAACpF,aAAL,KAAuBziB,iBAAiB,CAACyvD,QAA7C,EAAuD;AACnDlV,iBAAa,CAACh9C,GAAd,CAAkB,eAAlB,EAAmCiX,OAAO,CAACqT,IAAI,CAACpF,aAAN,CAA1C;AACH,GA3FoE,CA4FrE;;;AACA,MAAIoF,IAAI,CAAC/E,UAAL,KAAoB,IAAxB,EAA8B;AAC1By3B,iBAAa,CAACh9C,GAAd,CAAkB,MAAlB,EAA0B0W,UAAU,CAAC,CAAC;AAAEpG,SAAG,EAAE,WAAP;AAAoBlT,WAAK,EAAEktB,IAAI,CAAC/E,UAAhC;AAA4ChV,YAAM,EAAE;AAApD,KAAD,CAAD,CAApC;AACH,GA/FoE,CAgGrE;;;AACA,MAAI1N,eAAe,IAAI,IAAnB,IAA2BA,eAAe,KAAKH,uBAAuB,CAACI,OAA3E,EAAoF;AAChFk6C,iBAAa,CAACh9C,GAAd,CAAkB,iBAAlB,EAAqCiX,OAAO,CAACpU,eAAD,CAA5C;AACH;;AACD,MAAMia,UAAU,GAAG3G,UAAU,CAAC0U,aAAa,CAACmH,eAAf,CAAV,CAA0C/T,MAA1C,CAAiD,CAAC++B,aAAa,CAACktD,YAAd,EAAD,CAAjD,CAAnB;AACA,MAAM/jG,UAAU,GAAGgkG,yBAAyB,CAAC7/E,IAAD,CAA5C;AACAnkB,YAAU,CAACjJ,IAAX,CAAgBouG,iBAAiB,CAAChhF,IAAI,CAACnF,QAAL,CAAcK,kBAAf,CAAjC;AACA,MAAMrd,IAAI,GAAGoO,cAAc,CAACJ,UAAU,CAAC0U,aAAa,CAACqH,oBAAf,EAAqC/rB,UAArC,CAAX,CAA3B;AACA,SAAO;AAAE2W,cAAU,EAAVA,UAAF;AAAc3U,QAAI,EAAJA;AAAd,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASojG,2BAAT,CAAqCn/D,SAArC,EAAgDo5B,SAAhD,EAA2DtiD,SAA3D,EAAsE4yD,aAAtE,EAAqF;AACjF,MAAMn6E,IAAI,GAAGooB,cAAc,CAACyhD,SAAS,CAACr9D,IAAX,CAA3B;AACAxM,MAAI,IAAIgY,KAAK,uCAAgC6xD,SAAS,CAACr9D,IAA1C,EAAb;AACA,MAAM82C,eAAe,GAAG7S,SAAS,CAAC5D,YAAV,CAAuBjqB,cAAvB,CAAsC;AAAE;AAAxC,GAAxB;AACA,MAAM+L,IAAI,GAAGkhF,mCAAmC,CAAChmC,SAAD,EAAYp5B,SAAZ,EAAuBlpB,SAAvB,CAAhD;AACA,MAAM7lB,GAAG,GAAG4sG,4BAA4B,CAAC3/E,IAAD,EAAO8hB,SAAS,CAAC5D,YAAjB,EAA+BstC,aAA/B,CAAxC;AACA,MAAM92B,UAAU,GAAG1V,sBAAsB,CAACvnC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBsoB,IAAlB,CAAd,EAAuC;AAAEwf,YAAQ,EAAEjf,aAAa,CAAC9J,eAA1B;AAA2CqV,UAAM,EAAEgT,eAAe,CAACpiB;AAAnE,GAAvC,CAAD,CAAzC;AACA,MAAMk4B,qBAAqB,GAAG,IAAIrsC,SAAJ,CAAclX,IAAd,EAAoB,IAApB,EAA0B,CAAC,IAAI2W,UAAJ,CAAe,MAAf,EAAuBzL,aAAvB,EAAsC,CAACyE,YAAY,CAAC+yC,MAAd,CAAtC,EAA6DW,UAAU,CAACv6C,OAAxE,CAAD,CAA1B,EAA8G,EAA9G,EAAkH,IAAIgO,WAAJ,CAAgB,IAAhB,EAAsB,EAAtB,EAA0B,EAA1B,CAAlH,EAAiJ,EAAjJ,CAA9B;AACA,MAAMg5F,qBAAqB,GAAG,IAAI54F,SAAJ,CAAclX,IAAd,EAAoB,IAApB,EAA0B,CAAC,IAAI2W,UAAJ,CAAe2sC,eAAf,EAAgCp4C,aAAhC,EAA+C,CAACyE,YAAY,CAAC+yC,MAAd,CAA/C,EAAsEhhD,GAAG,CAACyf,UAA1E,CAAD,CAA1B,EAAmH,EAAnH,EAAuH,IAAIrK,WAAJ,CAAgB,IAAhB,EAAsB,EAAtB,EAA0B,EAA1B,CAAvH,EAAsJ,EAAtJ,CAA9B,CARiF,CASjF;;AACA25B,WAAS,CAAC78B,UAAV,CAAqBrS,IAArB,CAA0BgiD,qBAA1B,EAAiDusD,qBAAjD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,2BAAT,CAAqCt/D,SAArC,EAAgDymB,SAAhD,EAA2D84C,UAA3D,EAAuEzoF,SAAvE,EAAkF4yD,aAAlF,EAAiG81B,kBAAjG,EAAqHjR,cAArH,EAAqI;AACjI,MAAMh/F,IAAI,GAAGooB,cAAc,CAAC8uC,SAAS,CAAC1qD,IAAX,CAA3B;AACAxM,MAAI,IAAIgY,KAAK,uCAAgCk/C,SAAS,CAAC1qD,IAA1C,EAAb;AACA,MAAM82C,eAAe,GAAG7S,SAAS,CAAC5D,YAAV,CAAuBjqB,cAAvB,CAAsC;AAAE;AAAxC,GAAxB;AACA,MAAMstF,OAAO,GAAGh5C,SAAS,CAAC5rC,SAAV,EAAhB,CAJiI,CAKjI;;AACA,MAAMqD,IAAI,GAAGvoB,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBwpG,mCAAmC,CAAC34C,SAAD,EAAYzmB,SAAZ,EAAuBlpB,SAAvB,CAArD,CAAd,EAAuG;AAAE1lB,YAAQ,EAAEq1D,SAAS,CAACr1D,QAAtB;AAAgC2nB,YAAQ,EAAE;AAAEyT,WAAK,EAAE+yE,UAAU,CAAC/yE,KAApB;AAA2BpT,wBAAkB,EAAEmmF,UAAU,CAACnmF;AAA1D,KAA1C;AAA0HiD,cAAU,EAAE,EAAtI;AAA0IG,SAAK,EAAEkjF,sBAAsB,CAACnR,cAAD,EAAiBvuD,SAAjB,CAAvK;AAAoM1lB,eAAW,EAAEqlF,yBAAyB,CAACl5C,SAAS,CAACnsC,WAAX,EAAwB0lB,SAAxB,CAA1O;AAA8Q8+D,mCAA+B,EAAE,KAA/S;AAAsTpmF,UAAM,EAAG+mF,OAAO,CAAC1mF,QAAR,IAAoB0mF,OAAO,CAAC1mF,QAAR,CAAiBL,MAAtC,IAAiDtD,WAA/W;AAA4X0D,iBAAa,EAAG2mF,OAAO,CAAC1mF,QAAR,IAAoB0mF,OAAO,CAAC1mF,QAAR,CAAiBD,aAAtC,IAAwDziB,iBAAiB,CAACyvD,QAArd;AAA+dzsC,iBAAa,EAAEmoB,4BAA9e;AAA4gBroB,cAAU,EAAE,IAAxhB;AAA8hBgB,iBAAa,EAAEssC,SAAS,CAACtsC,aAAV,CAAwB9qB,MAAxB,GAAiC,CAAjC,GAAqC,IAAIuP,eAAJ,CAAoB6nD,SAAS,CAACtsC,aAA9B,CAArC,GAAoF,IAAjoB;AAAuoBs0E,2BAAuB,EAAE,EAAhqB;AAAoqBC,sBAAkB,EAAE;AAAxrB,GAAvG,CAAb;AACA,MAAMz9F,GAAG,GAAG+sG,4BAA4B,CAAC9/E,IAAD,EAAO8hB,SAAS,CAAC5D,YAAjB,EAA+BstC,aAA/B,CAAxC;AACA,MAAM92B,UAAU,GAAG1V,sBAAsB,CAACvnC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBsoB,IAAlB,CAAd,EAAuC;AAAEwf,YAAQ,EAAEjf,aAAa,CAAC9J,eAA1B;AAA2CqV,UAAM,EAAEgT,eAAe,CAACpiB;AAAnE,GAAvC,CAAD,CAAzC;AACA,MAAMk4B,qBAAqB,GAAG,IAAIrsC,SAAJ,CAAclX,IAAd,EAAoB,IAApB,EAA0B,CAAC,IAAI2W,UAAJ,CAAe,MAAf,EAAuBzL,aAAvB,EAAsC,CAACyE,YAAY,CAAC+yC,MAAd,CAAtC,EAA6DW,UAAU,CAACv6C,OAAxE,CAAD,CAA1B,EAA8G,EAA9G,EAAkH,IAAIgO,WAAJ,CAAgB,IAAhB,EAAsB,EAAtB,EAA0B,EAA1B,CAAlH,EAAiJ,EAAjJ,CAA9B;AACA,MAAMu5F,qBAAqB,GAAG,IAAIn5F,SAAJ,CAAclX,IAAd,EAAoB,IAApB,EAA0B,CAAC,IAAI2W,UAAJ,CAAe2sC,eAAf,EAAgCp4C,aAAhC,EAA+C,CAACyE,YAAY,CAAC+yC,MAAd,CAA/C,EAAsEhhD,GAAG,CAACyf,UAA1E,CAAD,CAA1B,EAAmH,EAAnH,EAAuH,IAAIrK,WAAJ,CAAgB,IAAhB,EAAsB,EAAtB,EAA0B,EAA1B,CAAvH,EAAsJ,EAAtJ,CAA9B,CAViI,CAWjI;;AACA25B,WAAS,CAAC78B,UAAV,CAAqBrS,IAArB,CAA0BgiD,qBAA1B,EAAiD8sD,qBAAjD;AACH;AACD;AACA;AACA;;;AACA,SAASR,mCAAT,CAA6ChmC,SAA7C,EAAwDp5B,SAAxD,EAAmElpB,SAAnE,EAA8E;AAC1E;AACA,QAAM,IAAIhpB,KAAJ,CAAU,aAAV,CAAN;AACH;AACD;AACA;AACA;;;AACA,SAAS6xG,yBAAT,CAAmCvlF,OAAnC,EAA4C4lB,SAA5C,EAAuD;AACnD,SAAO5lB,OAAO,CAACrmB,GAAR,CAAY,UAAAooC,KAAK,EAAI;AACxB,QAAIygC,IAAI,GAAG,IAAX;;AACA,QAAIzgC,KAAK,CAACygC,IAAN,IAAczgC,KAAK,CAACygC,IAAN,CAAWhmD,UAA7B,EAAyC;AACrCgmD,UAAI,GAAG58B,SAAS,CAACj2B,UAAV,CAAqBoyB,KAAK,CAACygC,IAAN,CAAWhmD,UAAX,CAAsBD,SAA3C,CAAP;AACH;;AACD,WAAO;AACHkpF,kBAAY,EAAE1jE,KAAK,CAAC0jE,YADjB;AAEHhqG,WAAK,EAAEsmC,KAAK,CAACtmC,KAFV;AAGHwmC,eAAS,EAAEyjE,2BAA2B,CAAC3jE,KAAK,CAACxnC,SAAP,EAAkBqrC,SAAlB,CAHnC;AAIHjqC,iBAAW,EAAEomC,KAAK,CAACpmC,WAJhB;AAKH6mE,UAAI,EAAJA,IALG;AAMHmjC,YAAM,EAAE,CAAC,CAAC5jE,KAAK,CAAC4jE;AANb,KAAP;AAQH,GAbM,CAAP;AAcH;AACD;AACA;AACA;AACA;;;AACA,SAASD,2BAAT,CAAqCnrG,SAArC,EAAgDqrC,SAAhD,EAA2D;AACvD,MAAIrrC,SAAS,CAACtF,MAAV,GAAmB,CAAnB,IAAyBsF,SAAS,CAACtF,MAAV,IAAoB,CAApB,IAAyBsF,SAAS,CAAC,CAAD,CAAT,CAAa3D,KAAnE,EAA2E;AACvE,QAAMgvG,eAAe,GAAGrrG,SAAS,CAACZ,GAAV,CAAc,UAAA/C,KAAK;AAAA,aAAIA,KAAK,CAACA,KAAV;AAAA,KAAnB,CAAxB;AACAgvG,mBAAe,CAAC7yF,IAAhB,CAAqB,UAAAnc,KAAK;AAAA,aAAI,CAACA,KAAL;AAAA,KAA1B,KACIuW,KAAK,CAAC,kDAAD,CADT;AAEA,WAAOy4B,SAAS,CAAC5D,YAAV,CAAuBxpB,eAAvB,CAAuCvI,UAAU,CAAC21F,eAAe,CAACjsG,GAAhB,CAAoB,UAAA/C,KAAK;AAAA,aAAI6Z,OAAO,CAAC7Z,KAAD,CAAX;AAAA,KAAzB,CAAD,CAAjD,CAAP;AACH;;AACD,MAAI2D,SAAS,CAACtF,MAAV,IAAoB,CAAxB,EAA2B;AACvB,QAAMwG,KAAK,GAAGlB,SAAS,CAAC,CAAD,CAAvB;;AACA,QAAIkB,KAAK,CAAC+gB,UAAV,EAAsB;AAClB,aAAOopB,SAAS,CAACj2B,UAAV,CAAqBlU,KAAK,CAAC+gB,UAAN,CAAiBD,SAAtC,CAAP;AACH;AACJ;;AACDpP,OAAK,CAAC,uBAAD,CAAL;AACA,SAAOtC,SAAP;AACH;;AACD,SAASg7F,kBAAT,CAA4B9jE,KAA5B,EAAmCC,YAAnC,EAAiD;AAC7C,MAAMvpB,UAAU,GAAG,CAACqpB,iBAAiB,CAACC,KAAD,EAAQC,YAAR,CAAlB,EAAyCvxB,OAAO,CAACsxB,KAAK,CAACpmC,WAAP,CAAhD,CAAnB;;AACA,MAAIomC,KAAK,CAACygC,IAAV,EAAgB;AACZ/pD,cAAU,CAAC/hB,IAAX,CAAgBqrC,KAAK,CAACygC,IAAtB;AACH;;AACD,SAAO/pD,UAAP;AACH;;AACD,SAASqtF,8BAAT,CAAwC51E,UAAxC,EAAoD;AAChD,MAAMhyB,MAAM,GAAG,EAAf;;AADgD,8KAEhC3C,MAAM,CAACkmC,mBAAP,CAA2BvR,UAA3B,CAFgC;AAAA;;AAAA;AAEhD,8DAAwD;AAAA,UAA/CpmB,GAA+C;AACpD,UAAMlT,KAAK,GAAGs5B,UAAU,CAACpmB,GAAD,CAAxB;AACA5L,YAAM,CAACxH,IAAP,CAAY+Z,OAAO,CAAC3G,GAAD,CAAnB,EAA0BlT,KAA1B;AACH;AAL+C;AAAA;AAAA;AAAA;AAAA;;AAMhD,SAAOsH,MAAP;AACH,C,CACD;;;AACA,SAAS8kG,4BAAT,CAAsChjF,OAAtC,EAA+CgiB,YAA/C,EAA6D7sC,IAA7D,EAAmE;AAC/D,MAAM4wG,gBAAgB,GAAG,EAAzB;AACA,MAAMpP,gBAAgB,GAAG,EAAzB;AACA,MAAMqP,aAAa,GAAG9kE,kBAAkB,CAACy1D,gBAAD,EAAmB/1D,cAAnB,CAAxC;;AAH+D,8KAI3C5gB,OAJ2C;AAAA;;AAAA;AAI/D,8DAA6B;AAAA,UAAlB+hB,KAAkB;AACzB,UAAMkkE,gBAAgB,GAAGlkE,KAAK,CAAC4jE,MAAN,GAAethF,aAAa,CAACoI,kBAA7B,GAAkDpI,aAAa,CAACsI,YAAzF,CADyB,CAEzB;;AACAo5E,sBAAgB,CAACrvG,IAAjB,CAAsBiZ,UAAU,CAACs2F,gBAAD,CAAV,CACjBxuF,MADiB,EACT/H,QAAQ,CAAC,UAAD,CADC,4JACgBm2F,kBAAkB,CAAC9jE,KAAD,EAAQC,YAAR,CADlC,IAEjBiC,MAFiB,EAAtB,EAHyB,CAMzB;;AACA,UAAMmf,SAAS,GAAG4iD,aAAa,EAA/B;AACA,UAAME,YAAY,GAAGv2F,UAAU,CAAC0U,aAAa,CAACqI,SAAf,CAAV,CAAoCjV,MAApC,CAA2C,EAA3C,CAArB;AACA,UAAM0uF,OAAO,GAAGx2F,UAAU,CAAC0U,aAAa,CAACiI,YAAf,CAAV,CAAuC7U,MAAvC,CAA8C,CAAC2rC,SAAS,CAAC5pD,GAAV,CAAc0sG,YAAd,CAAD,CAA9C,CAAhB;AACA,UAAME,eAAe,GAAG12F,QAAQ,CAACmxB,YAAD,CAAR,CACnBtxB,IADmB,CACdwyB,KAAK,CAAC0jE,YADQ,EAEnBjsG,GAFmB,CAEfuoC,KAAK,CAACtmC,KAAN,GAAc2nD,SAAS,CAAC7zC,IAAV,CAAe,OAAf,CAAd,GAAwC6zC,SAFzB,CAAxB;AAGAuzC,sBAAgB,CAACjgG,IAAjB,CAAsByvG,OAAO,CAACtD,GAAR,CAAYuD,eAAZ,EAA6BniE,MAA7B,EAAtB;AACH;AAlB8D;AAAA;AAAA;AAAA;AAAA;;AAmB/D,MAAMoiE,oBAAoB,GAAGlxG,IAAI,aAAMA,IAAN,uBAA8B,IAA/D;AACA,SAAOqQ,EAAE,CAAC,CACN,IAAIoD,OAAJ,CAAYk4B,YAAZ,EAA0BngC,WAA1B,CADM,EACkC,IAAIiI,OAAJ,CAAYi4B,YAAZ,EAA0B,IAA1B,CADlC,EAEN,IAAIj4B,OAAJ,CAAY,UAAZ,EAAwB,IAAxB,CAFM,CAAD,EAGN,CACC+pF,qBAAqB,CAAC;AAAE;AAAH,IAAiBoT,gBAAjB,CADtB,EAECpT,qBAAqB,CAAC;AAAE;AAAH,IAAiBgE,gBAAjB,CAFtB,CAHM,EAMNt2F,aANM,EAMS,IANT,EAMegmG,oBANf,CAAT;AAOH;;AACD,SAASC,YAAT,CAAsB9+F,GAAtB,EAA2B;AACvB,SAAOuI,cAAc,CAACU,OAAO,CAACjJ,GAAD,CAAR,CAArB;AACH;;AACD,SAAS++F,eAAT,CAAyB5sG,GAAzB,EAA8B;AAC1B,MAAM6sG,SAAS,GAAGjrG,MAAM,CAAC+T,IAAP,CAAY3V,GAAZ,EAAiBA,GAAjB,CAAqB,UAAAmQ,GAAG,EAAI;AAC1C,QAAMlT,KAAK,GAAGgb,KAAK,CAACC,OAAN,CAAclY,GAAG,CAACmQ,GAAD,CAAjB,IAA0BnQ,GAAG,CAACmQ,GAAD,CAAH,CAAS,CAAT,CAA1B,GAAwCnQ,GAAG,CAACmQ,GAAD,CAAzD;AACA,WAAO;AACHA,SAAG,EAAHA,GADG;AAEHlT,WAAK,EAAE6Z,OAAO,CAAC7Z,KAAD,CAFX;AAGHmT,YAAM,EAAE;AAHL,KAAP;AAKH,GAPiB,CAAlB;AAQA,SAAOgG,cAAc,CAACG,UAAU,CAACs2F,SAAD,CAAX,CAArB;AACH;;AACD,SAAS1B,iBAAT,CAA2BvyF,GAA3B,EAAgC;AAC5B,SAAOA,GAAG,CAACtd,MAAJ,GAAa,CAAb,GAAiB8a,cAAc,CAACE,UAAU,CAACsC,GAAG,CAAC5Y,GAAJ,CAAQ,UAAA/C,KAAK;AAAA,WAAI6Z,OAAO,CAAC7Z,KAAD,CAAX;AAAA,GAAb,CAAD,CAAX,CAA/B,GACHoK,SADJ;AAEH;;AACD,SAAS2iG,yBAAT,CAAmC7/E,IAAnC,EAAyC;AACrC;AACA;AACA,MAAM2iF,eAAe,GAAG3iF,IAAI,CAAC9sB,QAAL,KAAkB,IAAlB,GAAyB8sB,IAAI,CAAC9sB,QAAL,CAAcyQ,OAAd,CAAsB,KAAtB,EAA6B,EAA7B,CAAzB,GAA4D,IAApF;AACA,SAAO,CACHqmB,kBAAkB,CAAChK,IAAI,CAACniB,IAAL,CAAUA,IAAX,EAAiBmiB,IAAI,CAAC8gB,iBAAtB,CADf,EAEH6hE,eAAe,KAAK,IAApB,GAA2BH,YAAY,CAACG,eAAD,CAAvC,GAA2DzlG,SAFxD,EAGH8iB,IAAI,CAACtE,QAAL,KAAkB,IAAlB,GAAyBslF,iBAAiB,CAAChhF,IAAI,CAACtE,QAAN,CAA1C,GAA4Dxe,SAHzD,EAIHulG,eAAe,CAACziF,IAAI,CAACrE,MAAN,CAJZ,EAKH8mF,eAAe,CAACziF,IAAI,CAACpE,OAAN,CALZ,EAMHolF,iBAAiB,CAAChhF,IAAI,CAAC9D,OAAL,CAAarmB,GAAb,CAAiB,UAAA+sG,CAAC;AAAA,WAAIA,CAAC,CAACjB,YAAN;AAAA,GAAlB,CAAD,CANd,CAAP;AAQH,C,CACD;;;AACA,SAASxC,yBAAT,CAAmC/iF,WAAnC,EAAgD8hB,YAAhD,EAA8D7sC,IAA9D,EAAoE;AAChE,MAAM4wG,gBAAgB,GAAG,EAAzB;AACA,MAAMpP,gBAAgB,GAAG,EAAzB;AACA,MAAMqP,aAAa,GAAG9kE,kBAAkB,CAACy1D,gBAAD,EAAmB/1D,cAAnB,CAAxC;AACA1gB,aAAW,CAAChrB,OAAZ,CAAoB,UAAC6sC,KAAD,EAAW;AAC3B,QAAMkkE,gBAAgB,GAAGlkE,KAAK,CAAC4jE,MAAN,GAAethF,aAAa,CAACmI,eAA7B,GAA+CnI,aAAa,CAACkI,SAAtF,CAD2B,CAE3B;;AACA,QAAMo6E,eAAe,GAAGh3F,UAAU,CAACs2F,gBAAD,CAAV,CAA6BxuF,MAA7B,CAAoCouF,kBAAkB,CAAC9jE,KAAD,EAAQC,YAAR,CAAtD,CAAxB;AACA+jE,oBAAgB,CAACrvG,IAAjB,CAAsBiwG,eAAe,CAAC1iE,MAAhB,EAAtB,EAJ2B,CAK3B;;AACA,QAAMmf,SAAS,GAAG4iD,aAAa,EAA/B;AACA,QAAME,YAAY,GAAGv2F,UAAU,CAAC0U,aAAa,CAACqI,SAAf,CAAV,CAAoCjV,MAApC,CAA2C,EAA3C,CAArB;AACA,QAAM0uF,OAAO,GAAGx2F,UAAU,CAAC0U,aAAa,CAACiI,YAAf,CAAV,CAAuC7U,MAAvC,CAA8C,CAAC2rC,SAAS,CAAC5pD,GAAV,CAAc0sG,YAAd,CAAD,CAA9C,CAAhB;AACA,QAAME,eAAe,GAAG12F,QAAQ,CAACmxB,YAAD,CAAR,CACnBtxB,IADmB,CACdwyB,KAAK,CAAC0jE,YADQ,EAEnBjsG,GAFmB,CAEfuoC,KAAK,CAACtmC,KAAN,GAAc2nD,SAAS,CAAC7zC,IAAV,CAAe,OAAf,CAAd,GAAwC6zC,SAFzB,CAAxB;AAGAuzC,oBAAgB,CAACjgG,IAAjB,CAAsByvG,OAAO,CAACtD,GAAR,CAAYuD,eAAZ,EAA6BniE,MAA7B,EAAtB;AACH,GAbD;AAcA,MAAM2iE,eAAe,GAAGzxG,IAAI,aAAMA,IAAN,cAAqB,IAAjD;AACA,SAAOqQ,EAAE,CAAC,CAAC,IAAIoD,OAAJ,CAAYk4B,YAAZ,EAA0BngC,WAA1B,CAAD,EAAyC,IAAIiI,OAAJ,CAAYi4B,YAAZ,EAA0B,IAA1B,CAAzC,CAAD,EAA4E,CACjF8xD,qBAAqB,CAAC;AAAE;AAAH,IAAiBoT,gBAAjB,CAD4D,EAEjFpT,qBAAqB,CAAC;AAAE;AAAH,IAAiBgE,gBAAjB,CAF4D,CAA5E,EAGNt2F,aAHM,EAGS,IAHT,EAGeumG,eAHf,CAAT;AAIH,C,CACD;;;AACA,SAAS1D,0BAAT,CAAoC2D,oBAApC,EAA0DxxD,cAA1D,EAA0Ei6B,aAA1E,EAAyFttC,YAAzF,EAAuGhrC,QAAvG,EAAiH7B,IAAjH,EAAuHqhD,aAAvH,EAAsI;AAClI,MAAM4nD,cAAc,GAAG1uF,QAAQ,CAACmxB,YAAD,CAA/B;AACA,MAAMimE,YAAY,GAAG,IAAInvB,cAAJ,CAAmBymB,cAAnB,CAArB;AACA,8BAAiCyI,oBAAoB,CAACE,iBAAtD;AAAA,MAAQC,SAAR,yBAAQA,SAAR;AAAA,MAAmB5wG,SAAnB,yBAAmBA,SAAnB;;AACA,MAAI4wG,SAAS,KAAK9rG,SAAlB,EAA6B;AACzB4rG,gBAAY,CAAC3M,iBAAb,CAA+B6M,SAA/B;AACH;;AACD,MAAI5wG,SAAS,KAAK8E,SAAlB,EAA6B;AACzB4rG,gBAAY,CAAC1M,iBAAb,CAA+BhkG,SAA/B;AACH;;AACD,MAAM2vG,gBAAgB,GAAG,EAAzB;AACA,MAAMpP,gBAAgB,GAAG,EAAzB;AACA,MAAMsQ,qBAAqB,GAAG5xD,cAA9B;AACA,MAAM6xD,gBAAgB,GAAGC,iBAAiB,CAACN,oBAAD,CAA1C,CAbkI,CAclI;;AACA,MAAMO,aAAa,GAAG93B,aAAa,CAAC2F,4BAAd,CAA2CiyB,gBAA3C,EAA6DD,qBAA7D,CAAtB;;AACA,MAAIG,aAAa,IAAIA,aAAa,CAACnyG,MAAnC,EAA2C;AACvC,QAAMomG,SAAS,GAAGgM,mBAAmB,CAACD,aAAD,EAAgBjyG,IAAhB,CAArC;AACA4wG,oBAAgB,CAACrvG,IAAjB,OAAAqvG,gBAAgB,qJAAS1K,SAAT,EAAhB;AACH,GAnBiI,CAoBlI;;;AACA,MAAMnzB,QAAQ,GAAGoH,aAAa,CAACtI,yBAAd,CAAwCkgC,gBAAxC,EAA0DD,qBAA1D,CAAjB;AACA,MAAMK,gBAAgB,GAAG,EAAzB,CAtBkI,CAuBlI;AACA;AACA;AACA;;AACA,MAAIC,kBAAkB,GAAG,CAAzB;AACAr/B,UAAQ,IAAIA,QAAQ,CAAChzE,OAAT,CAAiB,UAACkzE,OAAD,EAAa;AACtC,QAAMoyB,kBAAkB,GAAGsM,YAAY,CAACpuB,wBAAb,CAAsCtQ,OAAO,CAACjzE,IAA9C,EAAoDizE,OAAO,CAAC9xD,UAA5D,EAAwE2wF,qBAAxE,CAA3B;;AACA,QAAIzM,kBAAJ,EAAwB;AACpB+M,wBAAkB,IAAI7vB,kCAAtB;AACH,KAFD,MAGK;AACD4vB,sBAAgB,CAAC5wG,IAAjB,CAAsB0xE,OAAtB;AACAm/B,wBAAkB;AACrB;AACJ,GATW,CAAZ;AAUA,MAAIhuB,cAAJ;;AACA,MAAMiuB,iBAAiB,GAAG,SAApBA,iBAAoB,GAAM;AAC5B,QAAI,CAACjuB,cAAL,EAAqB;AACjB,UAAMkuB,eAAe,GAAG,SAAlBA,eAAkB,CAAC7R,QAAD,EAAc;AAClC,YAAM8R,iBAAiB,GAAGH,kBAA1B;AACAA,0BAAkB,IAAI3R,QAAtB;AACA,eAAO8R,iBAAP;AACH,OAJD;;AAKAnuB,oBAAc,GAAG,IAAImc,cAAJ,CAAmB1zD,YAAnB,EAAiC;AAAA,eAAM70B,KAAK,CAAC,iBAAD,CAAX;AAAA,OAAjC,EAAiE;AAClFs6F,qBADiB,EACA;AAAA,eAAMt6F,KAAK,CAAC,iBAAD,CAAX;AAAA,OADA,CAAjB,CANiB,CAOiC;AACrD;;AACD,WAAOosE,cAAP;AACH,GAXD;;AAYA,MAAMuiB,gBAAgB,GAAG,EAAzB;AACA,MAAMC,iBAAiB,GAAG,EAA1B;AACA,MAAM4L,qBAAqB,GAAG,EAA9B;AACAL,kBAAgB,CAACpyG,OAAjB,CAAyB,UAACkzE,OAAD,EAAa;AAClC;AACA,QAAMxxE,KAAK,GAAGwxE,OAAO,CAAC9xD,UAAR,CAAmB+b,KAAnB,CAAyBm1E,iBAAiB,EAA1C,CAAd;AACA,QAAMnU,WAAW,GAAGuU,SAAS,CAACxJ,cAAD,EAAiBxnG,KAAjB,CAA7B;;AACA,gCAAkDixG,4BAA4B,CAACz/B,OAAD,CAA9E;AAAA,QAAQ0/B,WAAR,yBAAQA,WAAR;AAAA,QAAqBvP,WAArB,yBAAqBA,WAArB;AAAA,QAAkCtyD,WAAlC,yBAAkCA,WAAlC;;AACA,QAAM6jC,gBAAgB,GAAGwF,aAAa,CAACtF,4BAAd,CAA2ChzE,QAA3C,EAAqD8wG,WAArD,EAAkE7hE,WAAlE,EACpB3tB,MADoB,CACb,UAAA9Y,OAAO;AAAA,aAAIA,OAAO,KAAK1B,eAAe,CAAC6rE,IAAhC;AAAA,KADM,CAAzB;AAEA,QAAIo+B,WAAW,GAAG,IAAlB;;AACA,QAAIj+B,gBAAgB,CAAC70E,MAArB,EAA6B;AACzB,UAAI60E,gBAAgB,CAAC70E,MAAjB,KAA4B,CAA5B,IACA60E,gBAAgB,CAACr2E,OAAjB,CAAyBqK,eAAe,CAAC0nF,GAAzC,IAAgD,CAAC,CADjD,IAEA1b,gBAAgB,CAACr2E,OAAjB,CAAyBqK,eAAe,CAAC2nF,YAAzC,IAAyD,CAAC,CAF9D,EAEiE;AAC7D;AACA;AACA;AACA;AACAsiB,mBAAW,GAAGp4F,UAAU,CAAC0U,aAAa,CAACmJ,wBAAf,CAAxB;AACH,OARD,MASK;AACDu6E,mBAAW,GAAG1L,qBAAqB,CAACvyB,gBAAgB,CAAC,CAAD,CAAjB,EAAsB7jC,WAAtB,CAAnC;AACH;AACJ;;AACD,QAAM+hE,iBAAiB,GAAG,CAACv3F,OAAO,CAACq3F,WAAD,CAAR,EAAuBzU,WAAW,CAAC7yC,WAAnC,CAA1B;;AACA,QAAIunD,WAAJ,EAAiB;AACbC,uBAAiB,CAACtxG,IAAlB,CAAuBqxG,WAAvB;AACH;;AACDpR,oBAAgB,CAACjgG,IAAjB,OAAAigG,gBAAgB,qJAAStD,WAAW,CAACplF,KAArB,EAAhB;;AACA,QAAIsqF,WAAW,KAAKl0E,aAAa,CAACsF,YAAlC,EAAgD;AAC5CmyE,sBAAgB,CAACplG,IAAjB,CAAsBsxG,iBAAtB;AACH,KAFD,MAGK,IAAIzP,WAAW,KAAKl0E,aAAa,CAACtsB,SAAlC,EAA6C;AAC9CgkG,uBAAiB,CAACrlG,IAAlB,CAAuBsxG,iBAAvB;AACH,KAFI,MAGA,IAAIzP,WAAW,KAAKl0E,aAAa,CAACU,qBAAlC,EAAyD;AAC1D4iF,2BAAqB,CAACjxG,IAAtB,CAA2BsxG,iBAA3B;AACH,KAFI,MAGA;AACDrR,sBAAgB,CAACjgG,IAAjB,CAAsBiZ,UAAU,CAAC4oF,WAAD,CAAV,CAAwB9gF,MAAxB,CAA+BuwF,iBAA/B,EAAkD/jE,MAAlD,EAAtB;AACH;AACJ,GAvCD;;AAwCA,MAAI63D,gBAAgB,CAAC7mG,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B0hG,oBAAgB,CAACjgG,IAAjB,CAAsB6rC,kBAAkB,CAACle,aAAa,CAACsF,YAAf,EAA6BmyE,gBAA7B,CAAlB,CAAiE73D,MAAjE,EAAtB;AACH;;AACD,MAAI83D,iBAAiB,CAAC9mG,MAAlB,GAA2B,CAA/B,EAAkC;AAC9B0hG,oBAAgB,CAACjgG,IAAjB,CAAsB6rC,kBAAkB,CAACle,aAAa,CAACtsB,SAAf,EAA0BgkG,iBAA1B,CAAlB,CAA+D93D,MAA/D,EAAtB;AACH;;AACD,MAAI0jE,qBAAqB,CAAC1yG,MAAtB,GAA+B,CAAnC,EAAsC;AAClC0hG,oBAAgB,CAACjgG,IAAjB,CAAsB6rC,kBAAkB,CAACle,aAAa,CAACU,qBAAf,EAAsC4iF,qBAAtC,CAAlB,CAA+E1jE,MAA/E,EAAtB;AACH,GAtGiI,CAuGlI;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgkE,SAAS,GAAGnC,8BAA8B,CAACe,oBAAoB,CAAC32E,UAAtB,CAAhD;AACA42E,cAAY,CAACoB,eAAb,CAA6BD,SAA7B,EAAwCzxD,aAAxC;;AACA,MAAIswD,YAAY,CAAChvB,WAAjB,EAA8B;AAC1B;AACA;AACA;AACAgvB,gBAAY,CAACpL,4BAAb,CAA0C8L,iBAAiB,EAA3D,EAA+DtyG,OAA/D,CAAuE,UAAAqjG,WAAW,EAAI;AAClF,UAAIA,WAAW,CAAC/1D,KAAZ,CAAkBvtC,MAAlB,GAA2B,CAA/B,EAAkC;AAC9B,YAAMutC,KAAK,GAAG,EAAd;AACA+1D,mBAAW,CAAC/1D,KAAZ,CAAkBttC,OAAlB,CAA0B,UAAA4kD,IAAI,EAAI;AAC9B;AACA;AACAytD,4BAAkB,IACd1yE,IAAI,CAACC,GAAL,CAASglB,IAAI,CAACkgC,oBAAL,GAA4BtC,kCAArC,EAAyE,CAAzE,CADJ;AAEAl1C,eAAK,CAAC9rC,IAAN,CAAWyxG,kBAAkB,CAACruD,IAAD,EAAOskD,cAAP,EAAuBwJ,SAAvB,CAA7B;AACH,SAND;AAOAjR,wBAAgB,CAACjgG,IAAjB,CAAsB6rC,kBAAkB,CAACg2D,WAAW,CAACh8E,SAAb,EAAwBimB,KAAxB,CAAlB,CAAiDyB,MAAjD,EAAtB;AACH;AACJ,KAZD;AAaH;;AACD,MAAIsjE,kBAAJ,EAAwB;AACpB/wD,iBAAa,CAACh9C,GAAd,CAAkB,UAAlB,EAA8BiX,OAAO,CAAC82F,kBAAD,CAArC;AACH;;AACD,MAAIxB,gBAAgB,CAAC9wG,MAAjB,GAA0B,CAA1B,IAA+B0hG,gBAAgB,CAAC1hG,MAAjB,GAA0B,CAA7D,EAAgE;AAC5D,QAAMmzG,kBAAkB,GAAGjzG,IAAI,aAAMA,IAAN,qBAA4B,IAA3D;AACA,QAAM4T,UAAU,GAAG,EAAnB;;AACA,QAAIg9F,gBAAgB,CAAC9wG,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B8T,gBAAU,CAACrS,IAAX,CAAgBi8F,qBAAqB,CAAC;AAAE;AAAH,QAAiBoT,gBAAjB,CAArC;AACH;;AACD,QAAIpP,gBAAgB,CAAC1hG,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B8T,gBAAU,CAACrS,IAAX,CAAgBi8F,qBAAqB,CAAC;AAAE;AAAH,QAAiBgE,gBAAjB,CAArC;AACH;;AACD,WAAOnxF,EAAE,CAAC,CAAC,IAAIoD,OAAJ,CAAYk4B,YAAZ,EAA0BngC,WAA1B,CAAD,EAAyC,IAAIiI,OAAJ,CAAYi4B,YAAZ,EAA0B,IAA1B,CAAzC,CAAD,EAA4E93B,UAA5E,EAAwF1I,aAAxF,EAAuG,IAAvG,EAA6G+nG,kBAA7G,CAAT;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAASR,SAAT,CAAmBS,QAAnB,EAA6BzxG,KAA7B,EAAoC;AAChC,SAAO8pD,uBAAsB,CAAC,IAAD,EAAO2nD,QAAP,EAAiBzxG,KAAjB,EAAwB,GAAxB,EAA6B6pD,WAAW,CAAC/+C,UAAzC,EAAqD;AAAA,WAAMyL,KAAK,CAAC,0BAAD,CAAX;AAAA,GAArD,CAA7B;AACH;;AACD,SAASg7F,kBAAT,CAA4BruD,IAA5B,EAAkCskD,cAAlC,EAAkDwJ,SAAlD,EAA6D;AACzD,SAAO9tD,IAAI,CAAC93C,MAAL,CAAY,UAAApL,KAAK;AAAA,WAAIgxG,SAAS,CAACxJ,cAAD,EAAiBxnG,KAAjB,CAAT,CAAiC4pD,WAArC;AAAA,GAAjB,CAAP;AACH;;AACD,SAASqnD,4BAAT,CAAsCz/B,OAAtC,EAA+C;AAC3C,MAAI0/B,WAAW,GAAG1/B,OAAO,CAACjzE,IAA1B;AACA,MAAIojG,WAAJ,CAF2C,CAG3C;;AACA,MAAM+P,WAAW,GAAGR,WAAW,CAACzwG,KAAZ,CAAkByrG,UAAlB,CAApB;;AACA,MAAIwF,WAAJ,EAAiB;AACbR,eAAW,GAAGQ,WAAW,CAAC,CAAD,CAAzB;AACA/P,eAAW,GAAGl0E,aAAa,CAACtsB,SAA5B;AACH,GAHD,MAIK;AACD,QAAIqwE,OAAO,CAACvqB,WAAZ,EAAyB;AACrBiqD,iBAAW,GAAG75E,4BAA4B,CAAC65E,WAAD,CAA1C,CADqB,CAErB;AACA;AACA;;AACAvP,iBAAW,GAAGl0E,aAAa,CAACU,qBAA5B;AACH,KAND,MAOK;AACDwzE,iBAAW,GAAGl0E,aAAa,CAACsF,YAA5B;AACH;AACJ;;AACD,SAAO;AAAEm+E,eAAW,EAAXA,WAAF;AAAevP,eAAW,EAAXA,WAAf;AAA4BtyD,eAAW,EAAE,CAAC,CAACqiE;AAA3C,GAAP;AACH;;AACD,SAASjB,mBAAT,CAA6BD,aAA7B,EAA4CjyG,IAA5C,EAAkD;AAC9C,MAAMkmG,SAAS,GAAG,EAAlB;AACA,MAAMkN,kBAAkB,GAAG,EAA3B;AACA,MAAMnuB,YAAY,GAAG,EAArB;AACAgtB,eAAa,CAAClyG,OAAd,CAAsB,UAAAkzE,OAAO,EAAI;AAC7B,QAAI0/B,WAAW,GAAG1/B,OAAO,CAACjzE,IAAR,IAAgBkoB,kBAAkB,CAAC+qD,OAAO,CAACjzE,IAAT,CAApD;AACA,QAAMmqG,aAAa,GAAGl3B,OAAO,CAACzmE,IAAR,KAAiB;AAAE;AAAnB,MAClB4sB,oCAAoC,CAACu5E,WAAD,EAAc1/B,OAAO,CAACp4C,aAAtB,CADlB,GAElB83E,WAFJ;AAGA,QAAM/U,WAAW,GAAG59F,IAAI,IAAI2yG,WAAR,aAAyB3yG,IAAzB,cAAiCmqG,aAAjC,2BAAsE,IAA1F;AACA,QAAMt9F,MAAM,GAAG6wF,8BAA8B,CAACnjE,UAAU,CAAC2kD,eAAX,CAA2BjM,OAA3B,CAAD,EAAsC2qB,WAAtC,CAA7C;;AACA,QAAI3qB,OAAO,CAACzmE,IAAR,IAAgB;AAAE;AAAtB,MAAuC;AACnC4mG,0BAAkB,CAAC7xG,IAAnB,CAAwBsL,MAAxB;AACH,OAFD,MAGK;AACDq5F,eAAS,CAAC3kG,IAAV,CAAesL,MAAf;AACH;AACJ,GAbD;;AAcA,MAAIumG,kBAAkB,CAACtzG,MAAnB,GAA4B,CAAhC,EAAmC;AAC/BmlF,gBAAY,CAAC1jF,IAAb,CAAkB6rC,kBAAkB,CAACle,aAAa,CAACW,qBAAf,EAAsCujF,kBAAtC,CAAlB,CAA4EtkE,MAA5E,EAAlB;AACH;;AACD,MAAIo3D,SAAS,CAACpmG,MAAV,GAAmB,CAAvB,EAA0B;AACtBmlF,gBAAY,CAAC1jF,IAAb,CAAkB6rC,kBAAkB,CAACle,aAAa,CAAC2I,QAAf,EAAyBquE,SAAzB,CAAlB,CAAsDp3D,MAAtD,EAAlB;AACH;;AACD,SAAOm2C,YAAP;AACH;;AACD,SAAS+sB,iBAAT,CAA2BrjF,IAA3B,EAAiC;AAC7B;AACA,SAAO;AACH;AACA;AACAjE,kBAAc,EAAE,EAHb;AAIHF,iBAAa,EAAEmE,IAAI,CAACu3E,SAJjB;AAKHz7E,kBAAc,EAAEkE,IAAI,CAAC0iE;AALlB,GAAP,CAF6B,CAS7B;AACH;;AACD,SAAS8e,sBAAT,CAAgC3rG,GAAhC,EAAqCisC,SAArC,EAAgD;AAC5C;AACA,MAAMl8B,OAAO,GAAGkI,KAAK,CAACs2B,IAAN,CAAWvuC,GAAX,EAAgBA,GAAhB,CAAoB;AAAA;AAAA,QAAEmQ,GAAF;AAAA,QAAOnI,IAAP;;AAAA,WAAiB,CAACmI,GAAD,EAAM87B,SAAS,CAACj2B,UAAV,CAAqBhO,IAArB,CAAN,CAAjB;AAAA,GAApB,CAAhB;AACA,SAAO,IAAIzJ,GAAJ,CAAQwR,OAAR,CAAP;AACH;;AACD,IAAM8+F,cAAc,GAAG,qCAAvB;;AACA,SAASC,iBAAT,CAA2B/nF,IAA3B,EAAiC;AAC7B,MAAMwP,UAAU,GAAG,EAAnB;AACA,MAAMmrE,SAAS,GAAG,EAAlB;AACA,MAAM7U,UAAU,GAAG,EAAnB;AACA,MAAMugB,iBAAiB,GAAG,EAA1B;;AACA,oCAAkBxrG,MAAM,CAAC+T,IAAP,CAAYoR,IAAZ,CAAlB,qCAAqC;AAAhC,QAAM5W,GAAG,qBAAT;AACD,QAAMlT,KAAK,GAAG8pB,IAAI,CAAC5W,GAAD,CAAlB;AACA,QAAM6W,OAAO,GAAG7W,GAAG,CAACzS,KAAJ,CAAUmxG,cAAV,CAAhB;;AACA,QAAI7nF,OAAO,KAAK,IAAhB,EAAsB;AAClB,cAAQ7W,GAAR;AACI,aAAK,OAAL;AACI,cAAI,OAAOlT,KAAP,KAAiB,QAArB,EAA+B;AAC3B;AACA,kBAAM,IAAIlD,KAAJ,gCAAN;AACH;;AACDqzG,2BAAiB,CAAC3wG,SAAlB,GAA8BQ,KAA9B;AACA;;AACJ,aAAK,OAAL;AACI,cAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B;AACA,kBAAM,IAAIlD,KAAJ,gCAAN;AACH;;AACDqzG,2BAAiB,CAACC,SAAlB,GAA8BpwG,KAA9B;AACA;;AACJ;AACI,cAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3Bs5B,sBAAU,CAACpmB,GAAD,CAAV,GAAkB2G,OAAO,CAAC7Z,KAAD,CAAzB;AACH,WAFD,MAGK;AACDs5B,sBAAU,CAACpmB,GAAD,CAAV,GAAkBlT,KAAlB;AACH;;AArBT;AAuBH,KAxBD,MAyBK,IAAI+pB,OAAO,CAAC;AAAE;AAAH,KAAP,IAA4B,IAAhC,EAAsC;AACvC,UAAI,OAAO/pB,KAAP,KAAiB,QAArB,EAA+B;AAC3B;AACA,cAAM,IAAIlD,KAAJ,mCAAN;AACH,OAJsC,CAKvC;AACA;AACA;;;AACA8yF,gBAAU,CAAC7lE,OAAO,CAAC;AAAE;AAAH,OAAR,CAAV,GAAuC/pB,KAAvC;AACH,KATI,MAUA,IAAI+pB,OAAO,CAAC;AAAE;AAAH,KAAP,IAA0B,IAA9B,EAAoC;AACrC,UAAI,OAAO/pB,KAAP,KAAiB,QAArB,EAA+B;AAC3B;AACA,cAAM,IAAIlD,KAAJ,gCAAN;AACH;;AACD2nG,eAAS,CAAC16E,OAAO,CAAC;AAAE;AAAH,OAAR,CAAT,GAAoC/pB,KAApC;AACH;AACJ;;AACD,SAAO;AAAEs5B,cAAU,EAAVA,UAAF;AAAcmrE,aAAS,EAATA,SAAd;AAAyB7U,cAAU,EAAVA,UAAzB;AAAqCugB,qBAAiB,EAAjBA;AAArC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2B,kBAAT,CAA4BxgC,QAA5B,EAAsCtmE,UAAtC,EAAkD;AAC9C,MAAMyjG,OAAO,GAAG8B,iBAAiB,CAACj/B,QAAD,CAAjC,CAD8C,CAE9C;AACA;;AACA,MAAMoH,aAAa,GAAG+yB,iBAAiB,EAAvC;AACA/yB,eAAa,CAAC2F,4BAAd,CAA2CowB,OAA3C,EAAoDzjG,UAApD;AACA0tE,eAAa,CAACtI,yBAAd,CAAwCq+B,OAAxC,EAAiDzjG,UAAjD;AACA,SAAO0tE,aAAa,CAACxyB,MAArB;AACH;;AACD,SAAS+nD,aAAT,CAAuBvmF,MAAvB,EAA+BtnB,QAA/B,EAAyCktD,YAAzC,EAAuD;AACnD,MAAMykD,SAAS,GAAG,IAAI5kD,SAAJ,EAAlB;AACA,SAAOzlC,MAAM,CAAC3kB,GAAP,CAAW,UAAAwyD,KAAK,EAAI;AACvB,WAAOw8C,SAAS,CAACv8C,WAAV,CAAsBD,KAAtB,EAA6Bn1D,QAA7B,EAAuCktD,YAAvC,CAAP;AACH,GAFM,CAAP;AAGH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;IACM0kD,c;;;;;;;WACF,aAAIplF,GAAJ,EAAS;AACL,aAAO,EAAP;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMqlF,kB;AACF,gCAA+C;AAAA,QAAnCC,YAAmC,uEAApB,IAAIj7D,YAAJ,EAAoB;;AAAA;;AAC3C,SAAKi7D,YAAL,GAAoBA,YAApB;AACA,SAAKjmE,wBAAL,GAAgCA,wBAAhC;AACA,SAAKD,eAAL,GAAuBA,eAAvB;AACA,SAAKgmE,cAAL,GAAsBA,cAAtB;AACA,SAAKG,qBAAL,GAA6B,IAAI5iB,wBAAJ,EAA7B;AACH;;;;WACD,qBAAY6iB,cAAZ,EAA4BC,YAA5B,EAA0CC,MAA1C,EAAkD;AAC9C,UAAM9wD,QAAQ,GAAG;AACbjjD,YAAI,EAAE+zG,MAAM,CAAC/zG,IADA;AAEbwM,YAAI,EAAEwnG,eAAe,CAACD,MAAM,CAACvnG,IAAR,CAFR;AAGbwhC,oBAAY,EAAE,IAAI3+B,eAAJ,CAAoB0kG,MAAM,CAACvnG,IAA3B,CAHD;AAIbijC,yBAAiB,EAAEskE,MAAM,CAACtkE,iBAJb;AAKb3hB,YAAI,EAAEmmF,gCAAgC,CAACF,MAAM,CAACjmF,IAAR,CALzB;AAMbq1B,gBAAQ,EAAE4wD,MAAM,CAAC5wD,QANJ;AAOb77C,YAAI,EAAEysG,MAAM,CAACzsG;AAPA,OAAjB;AASA,UAAM5F,GAAG,GAAGshD,uBAAuB,CAACC,QAAD,CAAnC;AACA,aAAO,KAAKixD,aAAL,CAAmBxyG,GAAG,CAACyf,UAAvB,EAAmC0yF,cAAnC,EAAmDC,YAAnD,EAAiE,EAAjE,CAAP;AACH;;;WACD,2BAAkBD,cAAlB,EAAkCC,YAAlC,EAAgDC,MAAhD,EAAwD;AACpD,gCAAmC7iE,kBAAiB,CAAC;AACjDlxC,YAAI,EAAE+zG,MAAM,CAAC/zG,IADoC;AAEjDwM,YAAI,EAAEwnG,eAAe,CAACD,MAAM,CAACvnG,IAAR,CAF4B;AAGjDwhC,oBAAY,EAAE,IAAI3+B,eAAJ,CAAoB0kG,MAAM,CAACvnG,IAA3B,CAHmC;AAIjDijC,yBAAiB,EAAEskE,MAAM,CAACtkE,iBAJuB;AAKjDgC,kBAAU,EAAE0iE,iBAAiB,CAACJ,MAAM,CAACtiE,UAAR,CALoB;AAMjD/jB,gBAAQ,EAAE0mF,cAAc,CAACL,MAAD,EAASM,SAAT,CANyB;AAOjDxmF,kBAAU,EAAEumF,cAAc,CAACL,MAAD,EAASO,WAAT,CAPuB;AAQjD3mF,gBAAQ,EAAEymF,cAAc,CAACL,MAAD,EAASQ,SAAT,CARyB;AASjD3mF,mBAAW,EAAEwmF,cAAc,CAACL,MAAD,EAASS,YAAT,CATsB;AAUjDljE,gBAAQ,EAAE2iE,gCAAgC,CAACF,MAAM,CAACziE,QAAR,CAAhC,IAAqDvrC;AAVd,OAAD,CAApD;AAAA,UAAQob,UAAR,uBAAQA,UAAR;AAAA,UAAoBvN,UAApB,uBAAoBA,UAApB;;AAYA,aAAO,KAAKsgG,aAAL,CAAmB/yF,UAAnB,EAA+B0yF,cAA/B,EAA+CC,YAA/C,EAA6DlgG,UAA7D,CAAP;AACH;;;WACD,yBAAgBigG,cAAhB,EAAgCC,YAAhC,EAA8CC,MAA9C,EAAsD;AAClD,UAAMplF,IAAI,GAAG;AACT3uB,YAAI,EAAE+zG,MAAM,CAAC/zG,IADJ;AAETwM,YAAI,EAAEwnG,eAAe,CAACD,MAAM,CAACvnG,IAAR,CAFZ;AAGTwhC,oBAAY,EAAE,IAAI3+B,eAAJ,CAAoB0kG,MAAM,CAACvnG,IAA3B,CAHL;AAITshB,YAAI,EAAEmmF,gCAAgC,CAACF,MAAM,CAACjmF,IAAR,CAJ7B;AAKTnD,iBAAS,EAAE,IAAItb,eAAJ,CAAoB0kG,MAAM,CAACppF,SAA3B,CALF;AAMTq2B,eAAO,EAAE+yD,MAAM,CAAC/yD,OAAP,CAAex8C,GAAf,CAAmB,UAAArD,CAAC;AAAA,iBAAI,IAAIkO,eAAJ,CAAoBlO,CAApB,CAAJ;AAAA,SAApB;AANA,OAAb;;AAQA,UAAMO,GAAG,GAAGsgD,gBAAe,CAACrzB,IAAD,CAA3B;;AACA,aAAO,KAAKulF,aAAL,CAAmBxyG,GAAG,CAACyf,UAAvB,EAAmC0yF,cAAnC,EAAmDC,YAAnD,EAAiEpyG,GAAG,CAACkS,UAArE,CAAP;AACH;;;WACD,yBAAgBigG,cAAhB,EAAgCC,YAAhC,EAA8CC,MAA9C,EAAsD;AAClD,UAAMplF,IAAI,GAAG;AACTniB,YAAI,EAAEwnG,eAAe,CAACD,MAAM,CAACvnG,IAAR,CADZ;AAETwhC,oBAAY,EAAE,IAAI3+B,eAAJ,CAAoB0kG,MAAM,CAACvnG,IAA3B,CAFL;AAGTk1C,oBAAY,EAAE,IAAIryC,eAAJ,CAAoB0kG,MAAM,CAACvnG,IAA3B,CAHL;AAITs0C,iBAAS,EAAEizD,MAAM,CAACjzD,SAAP,CAAiBt8C,GAAjB,CAAqBwvG,eAArB,CAJF;AAKTjzD,oBAAY,EAAEgzD,MAAM,CAAChzD,YAAP,CAAoBv8C,GAApB,CAAwBwvG,eAAxB,CALL;AAMThzD,eAAO,EAAE+yD,MAAM,CAAC/yD,OAAP,CAAex8C,GAAf,CAAmBwvG,eAAnB,CANA;AAOT/yD,eAAO,EAAE8yD,MAAM,CAAC9yD,OAAP,CAAez8C,GAAf,CAAmBwvG,eAAnB,CAPA;AAQT7yD,kBAAU,EAAE,IARH;AASTD,4BAAoB,EAAE,KATb;AAUT30B,eAAO,EAAEwnF,MAAM,CAACxnF,OAAP,GAAiBwnF,MAAM,CAACxnF,OAAP,CAAe/nB,GAAf,CAAmBwvG,eAAnB,CAAjB,GAAuD,IAVvD;AAWTv5F,UAAE,EAAEs5F,MAAM,CAACt5F,EAAP,GAAY,IAAIpL,eAAJ,CAAoB0kG,MAAM,CAACt5F,EAA3B,CAAZ,GAA6C;AAXxC,OAAb;;AAaA,UAAM/Y,GAAG,GAAGk/C,gBAAe,CAACjyB,IAAD,CAA3B;;AACA,aAAO,KAAKulF,aAAL,CAAmBxyG,GAAG,CAACyf,UAAvB,EAAmC0yF,cAAnC,EAAmDC,YAAnD,EAAiE,EAAjE,CAAP;AACH;;;WACD,0BAAiBD,cAAjB,EAAiCC,YAAjC,EAA+CC,MAA/C,EAAuD;AACnD,UAAMlnE,YAAY,GAAG,IAAIxrB,YAAJ,EAArB;AACA,UAAM84D,aAAa,GAAG+yB,iBAAiB,EAAvC;AACA,UAAMv+E,IAAI,GAAG8lF,gCAAgC,CAACV,MAAD,CAA7C;AACA,UAAMryG,GAAG,GAAG4sG,4BAA4B,CAAC3/E,IAAD,EAAOke,YAAP,EAAqBstC,aAArB,CAAxC;AACA,aAAO,KAAK+5B,aAAL,CAAmBxyG,GAAG,CAACyf,UAAvB,EAAmC0yF,cAAnC,EAAmDC,YAAnD,EAAiEjnE,YAAY,CAACj5B,UAA9E,CAAP;AACH;;;WACD,0BAAiBigG,cAAjB,EAAiCC,YAAjC,EAA+CC,MAA/C,EAAuD;AACnD;AACA,UAAMlnE,YAAY,GAAG,IAAIxrB,YAAJ,EAArB;AACA,UAAMs5C,mBAAmB,GAAGo5C,MAAM,CAACjqF,aAAP,GACxBioB,mBAAmB,CAAC6oC,SAApB,CAA8Bm5B,MAAM,CAACjqF,aAArC,CADwB,GAExBmoB,4BAFJ,CAHmD,CAMnD;;AACA,UAAMzoB,QAAQ,GAAGyjF,aAAa,CAAC8G,MAAM,CAACvqF,QAAR,EAAkBsqF,YAAlB,EAAgC;AAAE9pF,2BAAmB,EAAE+pF,MAAM,CAAC/pF,mBAA9B;AAAmD2wC,2BAAmB,EAAnBA;AAAnD,OAAhC,CAA9B;;AACA,UAAInxC,QAAQ,CAACm+B,MAAT,KAAoB,IAAxB,EAA8B;AAC1B,YAAMA,MAAM,GAAGn+B,QAAQ,CAACm+B,MAAT,CAAgBnjD,GAAhB,CAAoB,UAAAkwG,GAAG;AAAA,iBAAIA,GAAG,CAAC11F,QAAJ,EAAJ;AAAA,SAAvB,EAA2C9d,IAA3C,CAAgD,IAAhD,CAAf;AACA,cAAM,IAAI3C,KAAJ,yDAA2Dw1G,MAAM,CAAC/zG,IAAlE,eAA2E2nD,MAA3E,EAAN;AACH,OAXkD,CAYnD;AACA;;;AACA,UAAM1E,QAAQ,GAAG78C,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB0tG,MAAlB,CAAd,EAAyCU,gCAAgC,CAACV,MAAD,CAAzE,CAAd,EAAkG;AAAElyG,gBAAQ,EAAEkyG,MAAM,CAAClyG,QAAP,IAAmB,KAAK+xG,qBAAL,CAA2Be,8BAA3B,EAA/B;AAA4FnrF,gBAAQ,EAARA,QAA5F;AAAsG+lF,uCAA+B,EAAE,KAAvI;AAA8IpmF,cAAM,+JAAM4qF,MAAM,CAAC5qF,MAAb,sJAAwBK,QAAQ,CAACL,MAAjC,EAApJ;AAA8LI,qBAAa,EAAEwqF,MAAM,CAACxqF,aAApN;AAAmOO,qBAAa,EAAE6wC,mBAAlP;AAAuQzzD,uBAAe,EAAE6sG,MAAM,CAAC7sG,eAA/R;AAAgT0iB,kBAAU,EAAEmqF,MAAM,CAACnqF,UAAP,IAAqB,IAArB,GAA4B,IAAIva,eAAJ,CAAoB0kG,MAAM,CAACnqF,UAA3B,CAA5B,GAAqE,IAAjY;AAAuYgB,qBAAa,EAAEmpF,MAAM,CAACnpF,aAAP,IAAwB,IAAxB,GAA+B,IAAIvb,eAAJ,CAAoB0kG,MAAM,CAACnpF,aAA3B,CAA/B,GACjgB,IAD2G;AACrGs0E,+BAAuB,EAAE,EAD4E;AACxEC,0BAAkB,EAAE;AADoD,OAAlG,CAAjB;AAEA,UAAMz9F,GAAG,GAAG+sG,4BAA4B,CAACxrD,QAAD,EAAWpW,YAAX,EAAyBqgE,iBAAiB,CAACvyC,mBAAD,CAA1C,CAAxC;AACA,UAAMi6C,sBAAsB,mBAAYb,MAAM,CAAC/zG,IAAnB,QAA5B;AACA,aAAO,KAAKk0G,aAAL,CAAmBxyG,GAAG,CAACyf,UAAvB,EAAmC0yF,cAAnC,EAAmDe,sBAAnD,EAA2E/nE,YAAY,CAACj5B,UAAxF,CAAP;AACH;;;WACD,wBAAeigG,cAAf,EAA+BC,YAA/B,EAA6CnlF,IAA7C,EAAmD;AAC/C,UAAM00B,UAAU,GAAG1V,sBAAsB,CAAC;AACtC3tC,YAAI,EAAE2uB,IAAI,CAAC3uB,IAD2B;AAEtCwM,YAAI,EAAEwnG,eAAe,CAACrlF,IAAI,CAACniB,IAAN,CAFiB;AAGtCwhC,oBAAY,EAAE,IAAI3+B,eAAJ,CAAoBsf,IAAI,CAACniB,IAAzB,CAHwB;AAItCijC,yBAAiB,EAAE9gB,IAAI,CAAC8gB,iBAJc;AAKtC3hB,YAAI,EAAEmmF,gCAAgC,CAACtlF,IAAI,CAACb,IAAN,CALA;AAMtCqgB,gBAAQ,EAAExf,IAAI,CAACwf,QAAL,KAAkB,iBAAlB,GAAsClqB,WAAW,CAACmB,eAAlD,GACNnB,WAAW,CAACkB,MAPsB;AAQtCsV,cAAM,EAAE9L,IAAI,CAAC8L;AARyB,OAAD,CAAzC;AAUA,aAAO,KAAKy5E,aAAL,CAAmB7wD,UAAU,CAACv6C,OAA9B,EAAuC+qG,cAAvC,EAAuDC,YAAvD,EAAqEzwD,UAAU,CAACzvC,UAAhF,CAAP;AACH;;;WACD,+BAAsB2O,IAAtB,EAA4B+9B,QAA5B,EAAsC5N,SAAtC,EAAiD;AAC7C,aAAO2N,mBAAmB,CAAC99B,IAAD,EAAO+9B,QAAP,EAAiB5N,SAAjB,CAA1B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,uBAAcmiE,GAAd,EAAmBxqG,OAAnB,EAA4BqoC,SAA5B,EAAuCoiE,aAAvC,EAAsD;AAClD;AACA;AACA;AACA,UAAMlhG,UAAU,gKACTkhG,aADS,IAEZ,IAAIrlG,cAAJ,CAAmB,MAAnB,EAA2BolG,GAA3B,EAAgC9uG,SAAhC,EAA2C,CAAC4J,YAAY,CAAC4+B,QAAd,CAA3C,CAFY,EAAhB;AAIA,UAAM7sC,GAAG,GAAG,KAAKiyG,YAAL,CAAkBoB,kBAAlB,CAAqCriE,SAArC,EAAgD9+B,UAAhD,EAA4D,IAAI2sC,cAAJ,CAAmBl2C,OAAnB,CAA5D;AAAyF;AAAuB,UAAhH,CAAZ;AACA,aAAO3I,GAAG,CAAC,MAAD,CAAV;AACH;;;;;;AAEL,IAAM2yG,SAAS,GAAGjuG,MAAM,CAAC+T,IAAP,CAAY;AAAEuT,UAAQ,EAAE;AAAZ,CAAZ,EAAgC,CAAhC,CAAlB;AACA,IAAM4mF,WAAW,GAAGluG,MAAM,CAAC+T,IAAP,CAAY;AAAE0T,YAAU,EAAE;AAAd,CAAZ,EAAkC,CAAlC,CAApB;AACA,IAAM0mF,SAAS,GAAGnuG,MAAM,CAAC+T,IAAP,CAAY;AAAEwT,UAAQ,EAAE;AAAZ,CAAZ,EAAgC,CAAhC,CAAlB;AACA,IAAM6mF,YAAY,GAAGpuG,MAAM,CAAC+T,IAAP,CAAY;AAAEyT,aAAW,EAAE;AAAf,CAAZ,EAAmC,CAAnC,CAArB;;AACA,IAAMomF,eAAe,GAAG,SAAlBA,eAAkB,CAAUvyG,KAAV,EAAiB;AACrC,MAAMi4B,OAAO,GAAG,IAAIrqB,eAAJ,CAAoB5N,KAApB,CAAhB;AACA,SAAO;AAAEA,SAAK,EAAEi4B,OAAT;AAAkBltB,QAAI,EAAEktB;AAAxB,GAAP;AACH,CAHD;;AAIA,SAASs7E,wBAAT,CAAkCjB,MAAlC,EAA0C;AACtC,SAAO3tG,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB0tG,MAAlB,CAAd,EAAyC;AAAEjnE,aAAS,EAAErwB,KAAK,CAACC,OAAN,CAAcq3F,MAAM,CAACjnE,SAArB,IAAkCinE,MAAM,CAACjnE,SAAzC,GACrD,IAAIz9B,eAAJ,CAAoB0kG,MAAM,CAACjnE,SAA3B,CADwC;AACDugC,QAAI,EAAE0mC,MAAM,CAAC1mC,IAAP,GAAc,IAAIh+D,eAAJ,CAAoB0kG,MAAM,CAAC1mC,IAA3B,CAAd,GAAiD,IADtD;AAC4DmjC,UAAM,EAAEuD,MAAM,CAACvD;AAD3E,GAAzC,CAAP;AAEH;;AACD,SAASiE,gCAAT,CAA0CV,MAA1C,EAAkD;AAC9C,MAAMkB,kBAAkB,GAAGC,iBAAiB,CAACnB,MAAM,CAACzpF,MAAP,IAAiB,EAAlB,CAA5C;AACA,MAAM6qF,mBAAmB,GAAGD,iBAAiB,CAACnB,MAAM,CAACxpF,OAAP,IAAkB,EAAnB,CAA7C;AACA,MAAM6qF,YAAY,GAAGrB,MAAM,CAACqB,YAA5B;AACA,MAAMC,cAAc,GAAG,EAAvB;AACA,MAAMC,eAAe,GAAG,EAAxB;;AAL8C,6BAMnCC,KANmC;AAO1C,QAAIH,YAAY,CAACh2F,cAAb,CAA4Bm2F,KAA5B,CAAJ,EAAwC;AACpCH,kBAAY,CAACG,KAAD,CAAZ,CAAoBx1G,OAApB,CAA4B,UAAAy1G,GAAG,EAAI;AAC/B,YAAIC,OAAO,CAACD,GAAD,CAAX,EAAkB;AACdH,wBAAc,CAACE,KAAD,CAAd,GACIC,GAAG,CAAChuG,mBAAJ,GAA0B,CAACguG,GAAG,CAAChuG,mBAAL,EAA0B+tG,KAA1B,CAA1B,GAA6DA,KADjE;AAEH,SAHD,MAIK,IAAIG,QAAQ,CAACF,GAAD,CAAZ,EAAmB;AACpBF,yBAAe,CAACC,KAAD,CAAf,GAAyBC,GAAG,CAAChuG,mBAAJ,IAA2B+tG,KAApD;AACH;AACJ,OARD;AASH;AAjByC;;AAM9C,OAAK,IAAMA,KAAX,IAAoBH,YAApB,EAAkC;AAAA,UAAvBG,KAAuB;AAYjC;;AACD,SAAOnvG,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB0tG,MAAlB,CAAd,EAAyC;AAAE7zD,kBAAc,EAAE6zD,MAAM,CAAC7zD,cAAzB;AAAyC1zC,QAAI,EAAEwnG,eAAe,CAACD,MAAM,CAACvnG,IAAR,CAA9D;AAA6EwhC,gBAAY,EAAE,IAAI3+B,eAAJ,CAAoB0kG,MAAM,CAACvnG,IAA3B,CAA3F;AAA6HshB,QAAI,EAAEmmF,gCAAgC,CAACF,MAAM,CAACjmF,IAAR,CAAnK;AAAkLvC,QAAI,EAAEoqF,mBAAmB,CAAC5B,MAAM,CAACqB,YAAR,EAAsBrB,MAAM,CAAC7zD,cAA7B,EAA6C6zD,MAAM,CAACxoF,IAApD,CAA3M;AAAsQjB,UAAM,EAAElkB,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB4uG,kBAAlB,CAAd,EAAqDI,cAArD,CAA9Q;AAAoV9qF,WAAO,EAAEnkB,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB8uG,mBAAlB,CAAd,EAAsDG,eAAtD,CAA7V;AAAqazqF,WAAO,EAAEkpF,MAAM,CAAClpF,OAAP,CAAermB,GAAf,CAAmBwwG,wBAAnB,CAA9a;AAA4drqF,aAAS,EAAEopF,MAAM,CAACppF,SAAP,IAAoB,IAApB,GAA2B,IAAItb,eAAJ,CAAoB0kG,MAAM,CAACppF,SAA3B,CAA3B,GAAmE,IAA1iB;AAAgjBI,eAAW,EAAEgpF,MAAM,CAAChpF,WAAP,CAAmBvmB,GAAnB,CAAuBwwG,wBAAvB,CAA7jB;AAA+mB7G,mBAAe,EAAE;AAAhoB,GAAzC,CAAP;AACH;;AACD,SAASiG,cAAT,CAAwBlrG,GAAxB,EAA6ByZ,QAA7B,EAAuC;AACnC,MAAIzZ,GAAG,CAACkW,cAAJ,CAAmBuD,QAAnB,CAAJ,EAAkC;AAC9B,WAAO,IAAItT,eAAJ,CAAoBnG,GAAG,CAACyZ,QAAD,CAAvB,CAAP;AACH,GAFD,MAGK;AACD,WAAO5c,SAAP;AACH;AACJ;;AACD,SAASouG,iBAAT,CAA2B1iE,UAA3B,EAAuC;AACnC,MAAIA,UAAU,IAAI,IAAd,IAAsB,OAAOA,UAAP,KAAsB,QAAhD,EAA0D;AACtD,WAAO,IAAIhhC,WAAJ,CAAgBghC,UAAhB,CAAP;AACH,GAFD,MAGK;AACD,WAAO,IAAIpiC,eAAJ,CAAoBoiC,UAApB,CAAP;AACH;AACJ;;AACD,SAASmkE,2BAAT,CAAqC7B,MAArC,EAA6C;AACzC,MAAI8B,SAAJ;;AACA,MAAI9B,MAAM,CAACruG,KAAP,KAAiB,IAArB,EAA2B;AACvBmwG,aAAS,GAAG,IAAIplG,WAAJ,CAAgB,IAAhB,CAAZ;AACH,GAFD,MAGK,IAAIsjG,MAAM,CAAC9yF,QAAP,KAAoBysB,wBAAwB,CAACyC,SAAjD,EAA4D;AAC7D0lE,aAAS,GAAG,IAAIplG,WAAJ,CAAgBsjG,MAAM,CAACruG,KAAvB,CAAZ;AACH,GAFI,MAGA;AACDmwG,aAAS,GAAG,IAAIxmG,eAAJ,CAAoB0kG,MAAM,CAACruG,KAA3B,CAAZ;AACH;;AACD,SAAO;AACHA,SAAK,EAAEmwG,SADJ;AAEHjzG,aAAS,EAAE,IAFR;AAGHqe,YAAQ,EAAE8yF,MAAM,CAAC9yF,QAHd;AAIHsK,QAAI,EAAEwoF,MAAM,CAACxoF,IAJV;AAKHykB,YAAQ,EAAE+jE,MAAM,CAAC/jE,QALd;AAMHjwB,QAAI,EAAEg0F,MAAM,CAACh0F,IANV;AAOHgwB,YAAQ,EAAEgkE,MAAM,CAAChkE;AAPd,GAAP;AASH;;AACD,SAASkkE,gCAAT,CAA0C6B,OAA1C,EAAmD;AAC/C,SAAOA,OAAO,IAAI,IAAX,GAAkB,IAAlB,GAAyBA,OAAO,CAACtxG,GAAR,CAAYoxG,2BAAZ,CAAhC;AACH;;AACD,SAASD,mBAAT,CAA6BP,YAA7B,EAA2C3oG,UAA3C,EAAuD8e,IAAvD,EAA6D;AACzD;AACA,MAAMwnD,QAAQ,GAAGugC,iBAAiB,CAAC/nF,IAAI,IAAI,EAAT,CAAlC,CAFyD,CAGzD;;AACA,MAAMo8B,MAAM,GAAG4rD,kBAAkB,CAACxgC,QAAD,EAAWtmE,UAAX,CAAjC;;AACA,MAAIk7C,MAAM,CAAC7nD,MAAX,EAAmB;AACf,UAAM,IAAIvB,KAAJ,CAAUopD,MAAM,CAACnjD,GAAP,CAAW,UAACwT,KAAD;AAAA,aAAWA,KAAK,CAAC8F,GAAjB;AAAA,KAAX,EAAiC5c,IAAjC,CAAsC,IAAtC,CAAV,CAAN;AACH,GAPwD,CAQzD;;;AARyD,+BAS9Cq0G,KAT8C;AAUrD,QAAIH,YAAY,CAACh2F,cAAb,CAA4Bm2F,KAA5B,CAAJ,EAAwC;AACpCH,kBAAY,CAACG,KAAD,CAAZ,CAAoBx1G,OAApB,CAA4B,UAAAy1G,GAAG,EAAI;AAC/B,YAAIthC,aAAa,CAACshC,GAAD,CAAjB,EAAwB;AACpBziC,kBAAQ,CAACse,UAAT,CAAoBmkB,GAAG,CAAC7tG,gBAAJ,IAAwB4tG,KAA5C,IAAqDA,KAArD;AACH,SAFD,MAGK,IAAIQ,cAAc,CAACP,GAAD,CAAlB,EAAyB;AAC1BziC,kBAAQ,CAACmzB,SAAT,CAAmBsP,GAAG,CAAC3tG,SAAJ,IAAiB0tG,KAApC,cAAgDA,KAAhD,cAAyD,CAACC,GAAG,CAAC1tG,IAAJ,IAAY,EAAb,EAAiB5G,IAAjB,CAAsB,GAAtB,CAAzD;AACH;AACJ,OAPD;AAQH;AAnBoD;;AASzD,OAAK,IAAMq0G,KAAX,IAAoBH,YAApB,EAAkC;AAAA,WAAvBG,KAAuB;AAWjC;;AACD,SAAOxiC,QAAP;AACH;;AACD,SAASmB,aAAT,CAAuBzyE,KAAvB,EAA8B;AAC1B,SAAOA,KAAK,CAACuH,cAAN,KAAyB,aAAhC;AACH;;AACD,SAAS+sG,cAAT,CAAwBt0G,KAAxB,EAA+B;AAC3B,SAAOA,KAAK,CAACuH,cAAN,KAAyB,cAAhC;AACH;;AACD,SAASysG,OAAT,CAAiBh0G,KAAjB,EAAwB;AACpB,SAAOA,KAAK,CAACuH,cAAN,KAAyB,OAAhC;AACH;;AACD,SAAS0sG,QAAT,CAAkBj0G,KAAlB,EAAyB;AACrB,SAAOA,KAAK,CAACuH,cAAN,KAAyB,QAAhC;AACH;;AACD,SAASksG,iBAAT,CAA2BnsG,MAA3B,EAAmC;AAC/B,SAAOA,MAAM,CAACklB,MAAP,CAAc,UAACzpB,GAAD,EAAM/C,KAAN,EAAgB;AACjC,2BAA0BA,KAAK,CAAC+d,KAAN,CAAY,GAAZ,EAAiBhb,GAAjB,CAAqB,UAAAmmF,KAAK;AAAA,aAAIA,KAAK,CAACpuE,IAAN,EAAJ;AAAA,KAA1B,CAA1B;AAAA;AAAA,QAAOg5F,KAAP;AAAA,QAAc5yF,QAAd;;AACAne,OAAG,CAAC+wG,KAAD,CAAH,GAAa5yF,QAAQ,IAAI4yF,KAAzB;AACA,WAAO/wG,GAAP;AACH,GAJM,EAIJ,EAJI,CAAP;AAKH;;AACD,SAASwxG,aAAT,CAAuB91F,MAAvB,EAA+B;AAC3B,MAAM+1F,EAAE,GAAG/1F,MAAM,CAAC+1F,EAAP,KAAc/1F,MAAM,CAAC+1F,EAAP,GAAY,EAA1B,CAAX;AACAA,IAAE,CAACC,eAAH,GAAqB,IAAIxC,kBAAJ,EAArB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMyC,SAAS,GAAG,IAAI92F,OAAJ,CAAY,QAAZ,CAAlB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM+2F,c,GACF,0BAAsL;AAAA,mFAAJ,EAAI;AAAA,qCAAxKC,oBAAwK;AAAA,MAAxKA,oBAAwK,sCAAjJvvG,iBAAiB,CAACyvD,QAA+H;AAAA,6BAArH+/C,MAAqH;AAAA,MAArHA,MAAqH,8BAA5G,IAA4G;AAAA,iCAAtGC,UAAsG;AAAA,MAAtGA,UAAsG,kCAAzF,KAAyF;AAAA,qCAAlFC,kBAAkF;AAAA,MAAlFA,kBAAkF,sCAA7D,IAA6D;AAAA,MAAvDxsF,mBAAuD,UAAvDA,mBAAuD;AAAA,MAAlCysF,yBAAkC,UAAlCA,yBAAkC;;AAAA;;AAClL,OAAKJ,oBAAL,GAA4BA,oBAA5B;AACA,OAAKC,MAAL,GAAc,CAAC,CAACA,MAAhB;AACA,OAAKC,UAAL,GAAkB,CAAC,CAACA,UAApB;AACA,OAAKC,kBAAL,GAA0BA,kBAA1B;AACA,OAAKxsF,mBAAL,GAA2B0sF,0BAA0B,CAACx5F,WAAW,CAAC8M,mBAAD,CAAZ,CAArD;AACA,OAAKysF,yBAAL,GAAiCA,yBAAyB,KAAK,IAA/D;AACH,C;;AAEL,SAASC,0BAAT,CAAoCC,yBAApC,EAAuF;AAAA,MAAxBC,cAAwB,uEAAP,KAAO;AACnF,SAAOD,yBAAyB,KAAK,IAA9B,GAAqCC,cAArC,GAAsDD,yBAA7D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACME,mB;AACF,+BAAYC,eAAZ,EAA6B9gD,YAA7B,EAA2CsjB,WAA3C,EAAwDF,OAAxD,EAAiE;AAAA;;AAC7D,SAAK09B,eAAL,GAAuBA,eAAvB;AACA,SAAK9gD,YAAL,GAAoBA,YAApB;AACA,SAAKsjB,WAAL,GAAmBA,WAAnB;AACA,SAAKF,OAAL,GAAeA,OAAf;AACA,SAAK29B,oBAAL,GAA4B,IAAIh0G,GAAJ,EAA5B;AACH;;;;WACD,sBAAa;AACT,WAAKg0G,oBAAL,CAA0BC,KAA1B;AACH;;;WACD,uBAAcC,mBAAd,EAAmC;AAAA;;AAC/B,UAAI,CAACA,mBAAmB,CAAC7sF,WAAzB,EAAsC;AAClC;AACH;;AACD,UAAMZ,QAAQ,GAAGytF,mBAAmB,CAACztF,QAArC;;AACA,WAAKutF,oBAAL,CAA0BzoD,MAA1B,CAAiC9kC,QAAQ,CAACC,WAA1C;;AACAD,cAAQ,CAACG,mBAAT,CAA6B5pB,OAA7B,CAAqC,UAACs2D,UAAD,EAAgB;AACjD,gBAAI,CAAC0gD,oBAAL,CAA0BzoD,MAA1B,CAAiC+H,UAAU,CAACntC,SAA5C;AACH,OAFD;AAGH;;;WACD,gBAAOmF,GAAP,EAAY;AACR,UAAI/sB,MAAM,GAAG,KAAKy1G,oBAAL,CAA0B3yG,GAA1B,CAA8BiqB,GAA9B,CAAb;;AACA,UAAI,CAAC/sB,MAAL,EAAa;AACTA,cAAM,GAAG,KAAKw1G,eAAL,CAAqB1yG,GAArB,CAAyBiqB,GAAzB,CAAT;;AACA,aAAK0oF,oBAAL,CAA0B1yG,GAA1B,CAA8BgqB,GAA9B,EAAmC/sB,MAAnC;AACH;;AACD,aAAOA,MAAP;AACH;;;WACD,2BAAkB41G,WAAlB,EAA+B;AAAA;;AAC3B,UAAIl6F,SAAS,CAACk6F,WAAW,CAAC1tF,QAAb,CAAb,EAAqC;AACjC,YAAIxM,SAAS,CAACk6F,WAAW,CAACztF,WAAb,CAAb,EAAwC;AACpC,gBAAM1L,WAAW,YAAKe,SAAS,CAACo4F,WAAW,CACtC1pF,aAD0B,CAAd,6DAAjB;AAEH;;AACD,YAAI,OAAO0pF,WAAW,CAAC1tF,QAAnB,KAAgC,QAApC,EAA8C;AAC1C,gBAAMzL,WAAW,gDAAyCe,SAAS,CAACo4F,WAAW,CAAC1pF,aAAb,CAAlD,sBAAjB;AACH;AACJ,OARD,MASK,IAAIxQ,SAAS,CAACk6F,WAAW,CAACztF,WAAb,CAAb,EAAwC;AACzC,YAAI,OAAOytF,WAAW,CAACztF,WAAnB,KAAmC,QAAvC,EAAiD;AAC7C,gBAAM1L,WAAW,mDAA4Ce,SAAS,CAACo4F,WAAW,CAAC1pF,aAAb,CAArD,sBAAjB;AACH;AACJ,OAJI,MAKA;AACD,cAAMzP,WAAW,+CAAwCe,SAAS,CAACo4F,WAAW,CAAC1pF,aAAb,CAAjD,EAAjB;AACH;;AACD,UAAIxQ,SAAS,CAACk6F,WAAW,CAACltF,mBAAb,CAAT,IACA,OAAOktF,WAAW,CAACltF,mBAAnB,KAA2C,SAD/C,EAC0D;AACtD,cAAMjM,WAAW,wDAAiDe,SAAS,CAACo4F,WAAW,CAAC1pF,aAAb,CAA1D,wBAAjB;AACH;;AACD,aAAOnQ,SAAS,CAACG,IAAV,CAAe,KAAK25F,iBAAL,CAAuBD,WAAvB,CAAf,EAAoD,UAACE,iBAAD;AAAA,eAAuB,QAAI,CAACC,0BAAL,CAAgCH,WAAhC,EAA6CE,iBAA7C,CAAvB;AAAA,OAApD,CAAP;AACH;;;WACD,2BAAkBE,UAAlB,EAA8B;AAAA;;AAC1B,UAAI9tF,QAAJ;AACA,UAAIC,WAAJ;;AACA,UAAI6tF,UAAU,CAAC9tF,QAAX,IAAuB,IAA3B,EAAiC;AAC7BA,gBAAQ,GAAG8tF,UAAU,CAAC9tF,QAAtB;AACAC,mBAAW,GAAG6tF,UAAU,CAACpuF,SAAzB;AACH,OAHD,MAIK;AACDO,mBAAW,GAAG,KAAKusC,YAAL,CAAkB2a,OAAlB,CAA0B2mC,UAAU,CAACpuF,SAArC,EAAgDouF,UAAU,CAAC7tF,WAA3D,CAAd;AACAD,gBAAQ,GAAG,KAAK+tF,MAAL,CAAY9tF,WAAZ,CAAX;AACH;;AACD,aAAOpM,SAAS,CAACG,IAAV,CAAegM,QAAf,EAAyB,UAACA,QAAD;AAAA,eAAc,QAAI,CAACguF,uBAAL,CAA6BF,UAA7B,EAAyC9tF,QAAzC,EAAmDC,WAAnD,CAAd;AAAA,OAAzB,CAAP;AACH;;;WACD,iCAAwBytF,WAAxB,EAAqC1tF,QAArC,EAA+CiuF,cAA/C,EAA+D;AAC3D,UAAM1tF,QAAQ,GAAG,CAAC,CAACmtF,WAAW,CAAC1tF,QAA/B;AACA,UAAMmxC,mBAAmB,GAAG5oB,mBAAmB,CAAC6oC,SAApB,CAA8Bs8B,WAAW,CAACptF,aAA1C,CAA5B;AACA,UAAML,WAAW,GAAG6E,iBAAiB,CAAC;AAAElH,iBAAS,EAAE8vF,WAAW,CAAC3oF;AAAzB,OAAD,EAA0C;AAAE/hB,YAAI,EAAE;AAAE4a,mBAAS,EAAE8vF,WAAW,CAAC1pF;AAAzB;AAAR,OAA1C,EAA8F;AAAEzD,gBAAQ,EAARA,QAAF;AAAYN,mBAAW,EAAEguF;AAAzB,OAA9F,CAArC;;AACA,UAAMC,kBAAkB,GAAG,KAAKp+B,WAAL,CAAiB5vE,KAAjB,CAAuB8f,QAAvB,EAAiCC,WAAjC,EAA8C;AAAEgxC,8BAAsB,EAAE,IAA1B;AAAgCE,2BAAmB,EAAnBA;AAAhC,OAA9C,CAA3B;;AACA,UAAI+8C,kBAAkB,CAAC/vD,MAAnB,CAA0B7nD,MAA1B,GAAmC,CAAvC,EAA0C;AACtC,YAAMovE,WAAW,GAAGwoC,kBAAkB,CAAC/vD,MAAnB,CAA0BzmD,IAA1B,CAA+B,IAA/B,CAApB;AACA,cAAM6c,WAAW,mCAA4BmxD,WAA5B,EAAjB;AACH;;AACD,UAAMyoC,sBAAsB,GAAG,KAAKC,oBAAL,CAA0B,IAAI3uF,yBAAJ,CAA8B;AAAEE,cAAM,EAAE+tF,WAAW,CAAC/tF,MAAtB;AAA8BD,iBAAS,EAAEguF,WAAW,CAAChuF;AAArD,OAA9B,CAA1B,CAA/B;;AACA,UAAM9e,OAAO,GAAG,IAAIytG,uBAAJ,EAAhB;AACAx/C,gBAAU,CAACjuD,OAAD,EAAUstG,kBAAkB,CAACl0C,SAA7B,CAAV;;AACA,UAAMs0C,cAAc,GAAG,KAAKF,oBAAL,CAA0B,IAAI3uF,yBAAJ,CAA8B;AAAEE,cAAM,EAAE/e,OAAO,CAAC+e,MAAlB;AAA0BC,iBAAS,EAAEhf,OAAO,CAACgf,SAA7C;AAAwDF,iBAAS,EAAEuuF;AAAnE,OAA9B,CAA1B,CAAvB;;AACA,UAAMtuF,MAAM,GAAGwuF,sBAAsB,CAACxuF,MAAvB,CAA8B3nB,MAA9B,CAAqCs2G,cAAc,CAAC3uF,MAApD,CAAf;AACA,UAAM4uF,eAAe,GAAGJ,sBAAsB,CAACvuF,SAAvB,CAAiC5nB,MAAjC,CAAwCs2G,cAAc,CAAC1uF,SAAvD,CAAxB;;AACA,UAAMA,SAAS,GAAG,KACbwuF,oBADa,CACQ,IAAI3uF,yBAAJ,CAA8B;AAAEG,iBAAS,EAAE8tF,WAAW,CAAC9tF,SAAzB;AAAoCF,iBAAS,EAAEguF,WAAW,CAAChuF;AAA3D,OAA9B,CADR,EAEbE,SAFL;;AAGA,aAAO;AACHI,gBAAQ,EAARA,QADG;AAEHC,mBAAW,EAAEguF,cAFV;AAGH1tF,gBAAQ,EAARA,QAHG;AAIHL,eAAO,EAAEguF,kBAJN;AAKHvuF,cAAM,EAANA,MALG;AAMH4uF,uBAAe,EAAfA,eANG;AAOH3uF,iBAAS,EAATA,SAPG;AAQHS,0BAAkB,EAAEzf,OAAO,CAACyf;AARzB,OAAP;AAUH;;;WACD,oCAA2BqtF,WAA3B,EAAwCE,iBAAxC,EAA2D;AAAA;;AACvD,aAAO/5F,SAAS,CAACG,IAAV,CAAe,KAAKw6F,+BAAL,CAAqCZ,iBAAiB,CAAChuF,SAAlB,CAA4B5nB,MAA5B,CAAmC41G,iBAAiB,CAACW,eAArD,CAArC,CAAf,EAA4H,UAACpuF,mBAAD;AAAA,eAAyB,QAAI,CAACsuF,gCAAL,CAAsCf,WAAtC,EAAmDE,iBAAnD,EAAsEztF,mBAAtE,CAAzB;AAAA,OAA5H,CAAP;AACH;;;WACD,0CAAiCutF,WAAjC,EAA8CE,iBAA9C,EAAiEc,WAAjE,EAA8E;AAAA;;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAM/uF,MAAM,GAAG,mJAAIiuF,iBAAiB,CAACjuF,MAAzB,CAAZ;;AACA,WAAKgvF,aAAL,CAAmBf,iBAAiB,CAACW,eAArC,EAAsDG,WAAtD,EAAmE/uF,MAAnE;;AACA,UAAMC,SAAS,GAAGguF,iBAAiB,CAAChuF,SAApC;AACA,UAAMO,mBAAmB,GAAGP,SAAS,CAAC5kB,GAAV,CAAc,UAAAoyD,QAAQ,EAAI;AAClD,YAAMP,UAAU,GAAG6hD,WAAW,CAAC9zG,GAAZ,CAAgBwyD,QAAhB,CAAnB;;AACA,YAAMztC,MAAM,GAAG,mJAAIktC,UAAU,CAACltC,MAAlB,CAAZ;;AACA,gBAAI,CAACgvF,aAAL,CAAmB9hD,UAAU,CAACjtC,SAA9B,EAAyC8uF,WAAzC,EAAsD/uF,MAAtD;;AACA,eAAO,IAAIF,yBAAJ,CAA8B;AAAEC,mBAAS,EAAE0tC,QAAb;AAAuBztC,gBAAM,EAAEA;AAA/B,SAA9B,CAAP;AACH,OAL2B,CAA5B;AAMA,UAAII,aAAa,GAAG2tF,WAAW,CAAC3tF,aAAhC;;AACA,UAAIA,aAAa,IAAI,IAArB,EAA2B;AACvBA,qBAAa,GAAG,KAAK6vD,OAAL,CAAai9B,oBAA7B;AACH;;AACD,UAAI9sF,aAAa,KAAKziB,iBAAiB,CAACyvD,QAApC,IAAgDptC,MAAM,CAACrpB,MAAP,KAAkB,CAAlE,IACAspB,SAAS,CAACtpB,MAAV,KAAqB,CADzB,EAC4B;AACxBypB,qBAAa,GAAGziB,iBAAiB,CAACgF,IAAlC;AACH;;AACD,aAAO,IAAIwd,uBAAJ,CAA4B;AAC/BC,qBAAa,EAAbA,aAD+B;AAE/BC,gBAAQ,EAAE4tF,iBAAiB,CAAC5tF,QAFG;AAG/BC,mBAAW,EAAE2tF,iBAAiB,CAAC3tF,WAHA;AAI/BC,eAAO,EAAE0tF,iBAAiB,CAAC1tF,OAJI;AAK/BP,cAAM,EAANA,MAL+B;AAM/BC,iBAAS,EAATA,SAN+B;AAO/BS,0BAAkB,EAAEutF,iBAAiB,CAACvtF,kBAPP;AAQ/BD,kBAAU,EAAEstF,WAAW,CAACttF,UARO;AAS/BE,qBAAa,EAAEotF,WAAW,CAACptF,aATI;AAU/BC,gBAAQ,EAAEqtF,iBAAiB,CAACrtF,QAVG;AAW/BJ,2BAAmB,EAAnBA,mBAX+B;AAY/BK,2BAAmB,EAAE0sF,0BAA0B,CAACQ,WAAW,CAACltF,mBAAb,EAAkC,KAAKovD,OAAL,CAAapvD,mBAA/C;AAZhB,OAA5B,CAAP;AAcH;;;WACD,uBAAcZ,SAAd,EAAyB8uF,WAAzB,EAAsCE,YAAtC,EAAoD;AAAA;;AAChDhvF,eAAS,CAACrpB,OAAV,CAAkB,UAAA62D,QAAQ,EAAI;AAC1B,YAAMP,UAAU,GAAG6hD,WAAW,CAAC9zG,GAAZ,CAAgBwyD,QAAhB,CAAnB;AACAP,kBAAU,CAACltC,MAAX,CAAkBppB,OAAlB,CAA0B,UAAAi3D,KAAK;AAAA,iBAAIohD,YAAY,CAAC72G,IAAb,CAAkBy1D,KAAlB,CAAJ;AAAA,SAA/B;;AACA,gBAAI,CAACmhD,aAAL,CAAmB9hD,UAAU,CAACjtC,SAA9B,EAAyC8uF,WAAzC,EAAsDE,YAAtD;AACH,OAJD;AAKH;;;WACD,yCAAgChvF,SAAhC,EAA0E;AAAA;;AAAA,UAA/BivF,iBAA+B,uEAAX,IAAIt1G,GAAJ,EAAW;AACtE,aAAOsa,SAAS,CAACG,IAAV,CAAeH,SAAS,CAACK,GAAV,CAAc0L,SAAS,CAACjG,MAAV,CAAiB,UAACyzC,QAAD;AAAA,eAAc,CAACyhD,iBAAiB,CAAC/qF,GAAlB,CAAsBspC,QAAtB,CAAf;AAAA,OAAjB,EAC/BpyD,GAD+B,CAC3B,UAAAoyD,QAAQ;AAAA,eAAIv5C,SAAS,CAACG,IAAV,CAAe,QAAI,CAAC+5F,MAAL,CAAY3gD,QAAZ,CAAf,EAAsC,UAAC0hD,WAAD,EAAiB;AACxE,cAAMjiD,UAAU,GAAG,QAAI,CAACuhD,oBAAL,CAA0B,IAAI3uF,yBAAJ,CAA8B;AAAEE,kBAAM,EAAE,CAACmvF,WAAD,CAAV;AAAyBpvF,qBAAS,EAAE0tC;AAApC,WAA9B,CAA1B,CAAnB;;AACAyhD,2BAAiB,CAACh0G,GAAlB,CAAsBuyD,QAAtB,EAAgCP,UAAhC;AACA,iBAAO,QAAI,CAAC2hD,+BAAL,CAAqC3hD,UAAU,CAACjtC,SAAhD,EAA2DivF,iBAA3D,CAAP;AACH,SAJoB,CAAJ;AAAA,OADmB,CAAd,CAAf,EAKD,UAAC/lD,CAAD;AAAA,eAAO+lD,iBAAP;AAAA,OALC,CAAP;AAMH;;;WACD,8BAAqBhiD,UAArB,EAAiC;AAAA;;AAC7B,UAAMntC,SAAS,GAAGmtC,UAAU,CAACntC,SAA7B;AACA,UAAMqvF,YAAY,GAAGliD,UAAU,CAACjtC,SAAX,CAAqBjG,MAArB,CAA4B8sD,oBAA5B,EAChBzrE,GADgB,CACZ,UAAA6pB,GAAG;AAAA,eAAI,QAAI,CAAC2nC,YAAL,CAAkB2a,OAAlB,CAA0BznD,SAA1B,EAAqCmF,GAArC,CAAJ;AAAA,OADS,CAArB;AAEA,UAAMmqF,SAAS,GAAGniD,UAAU,CAACltC,MAAX,CAAkB3kB,GAAlB,CAAsB,UAAAwyD,KAAK,EAAI;AAC7C,YAAMyhD,gBAAgB,GAAGroC,gBAAgB,CAAC,QAAI,CAACpa,YAAN,EAAoB9sC,SAApB,EAA+B8tC,KAA/B,CAAzC;AACAuhD,oBAAY,CAACh3G,IAAb,OAAAg3G,YAAY,qJAASE,gBAAgB,CAACrvF,SAA1B,EAAZ;AACA,eAAOqvF,gBAAgB,CAACzhD,KAAxB;AACH,OAJiB,CAAlB;AAKA,aAAO,IAAI/tC,yBAAJ,CAA8B;AAAEE,cAAM,EAAEqvF,SAAV;AAAqBpvF,iBAAS,EAAEmvF,YAAhC;AAA8CrvF,iBAAS,EAAEA;AAAzD,OAA9B,CAAP;AACH;;;;;;IAEC2uF,uB;AACF,qCAAc;AAAA;;AACV,SAAKhuF,kBAAL,GAA0B,EAA1B;AACA,SAAKV,MAAL,GAAc,EAAd;AACA,SAAKC,SAAL,GAAiB,EAAjB;AACA,SAAKsvF,uBAAL,GAA+B,CAA/B;AACH;;;;WACD,sBAAavgG,GAAb,EAAkB9N,OAAlB,EAA2B;AACvB,UAAMoxE,gBAAgB,GAAGxE,eAAe,CAAC9+D,GAAD,CAAxC;;AACA,cAAQsjE,gBAAgB,CAACjvE,IAAzB;AACI,aAAKkrE,oBAAoB,CAACE,UAA1B;AACI,cAAI,KAAK8gC,uBAAL,KAAiC,CAArC,EAAwC;AACpC,iBAAK7uF,kBAAL,CAAwBtoB,IAAxB,CAA6Bk6E,gBAAgB,CAACvE,UAA9C;AACH;;AACD;;AACJ,aAAKQ,oBAAoB,CAAC1C,KAA1B;AACI,cAAI2jC,WAAW,GAAG,EAAlB;AACAxgG,aAAG,CAAC6iB,QAAJ,CAAaj7B,OAAb,CAAqB,UAAAq/B,KAAK,EAAI;AAC1B,gBAAIA,KAAK,YAAYo4B,MAArB,EAA6B;AACzBmhD,yBAAW,IAAIv5E,KAAK,CAAC39B,KAArB;AACH;AACJ,WAJD;AAKA,eAAK0nB,MAAL,CAAY5nB,IAAZ,CAAiBo3G,WAAjB;AACA;;AACJ,aAAKjhC,oBAAoB,CAACI,UAA1B;AACI,eAAK1uD,SAAL,CAAe7nB,IAAf,CAAoBk6E,gBAAgB,CAACtE,QAArC;AACA;;AACJ;AACI;AAnBR;;AAqBA,UAAIsE,gBAAgB,CAACpE,WAArB,EAAkC;AAC9B,aAAKqhC,uBAAL;AACH;;AACDrgD,gBAAU,CAAC,IAAD,EAAOlgD,GAAG,CAAC6iB,QAAX,CAAV;;AACA,UAAIygD,gBAAgB,CAACpE,WAArB,EAAkC;AAC9B,aAAKqhC,uBAAL;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,wBAAevgG,GAAf,EAAoB9N,OAApB,EAA6B;AACzBguD,gBAAU,CAAC,IAAD,EAAOlgD,GAAG,CAACkmB,KAAX,CAAV;AACH;;;WACD,4BAAmBlmB,GAAnB,EAAwB9N,OAAxB,EAAiC;AAC7BguD,gBAAU,CAAC,IAAD,EAAOlgD,GAAG,CAACgJ,UAAX,CAAV;AACH;;;WACD,sBAAahJ,GAAb,EAAkB9N,OAAlB,EAA2B;AACvB,aAAO,IAAP;AACH;;;WACD,wBAAe8N,GAAf,EAAoB9N,OAApB,EAA6B;AACzB,aAAO,IAAP;AACH;;;WACD,mBAAU8N,GAAV,EAAe9N,OAAf,EAAwB;AACpB,aAAO,IAAP;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMuuG,0BAA0B,GAAG,CAC/BjyG,eAD+B,EAE/BD,kBAF+B,EAG/BD,kBAH+B,EAI/BP,qBAJ+B,CAAnC;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM2yG,iB;AACF,6BAAYx/B,UAAZ,EAAwB;AAAA;;AACpB,SAAKA,UAAL,GAAkBA,UAAlB;AACH;;;;WACD,qBAAY7sE,IAAZ,EAAkB;AACd,UAAMssG,YAAY,GAAG,KAAKz/B,UAAL,CAAgB0/B,WAAhB,CAA4B55F,iBAAiB,CAAC3S,IAAD,CAA7C,CAArB;;AACA,aAAOssG,YAAY,IAAIA,YAAY,CAACl7F,IAAb,CAAkBo7F,mBAAlB,CAAvB;AACH;;;WACD,iBAAQxsG,IAAR,EAAsC;AAAA,UAAxBysG,eAAwB,uEAAN,IAAM;;AAClC,UAAMH,YAAY,GAAG,KAAKz/B,UAAL,CAAgB0/B,WAAhB,CAA4B55F,iBAAiB,CAAC3S,IAAD,CAA7C,CAArB;;AACA,UAAIssG,YAAJ,EAAkB;AACd,YAAM71D,QAAQ,GAAGi2D,QAAQ,CAACJ,YAAD,EAAeE,mBAAf,CAAzB;;AACA,YAAI/1D,QAAJ,EAAc;AACV,cAAMk2D,gBAAgB,GAAG,KAAK9/B,UAAL,CAAgB+7B,YAAhB,CAA6B5oG,IAA7B,CAAzB;;AACA,cAAMse,MAAM,GAAG,KAAKuuD,UAAL,CAAgBvuD,MAAhB,CAAuBte,IAAvB,CAAf;;AACA,iBAAO,KAAK4sG,0BAAL,CAAgCn2D,QAAhC,EAA0Ck2D,gBAA1C,EAA4DruF,MAA5D,EAAoEte,IAApE,CAAP;AACH;AACJ;;AACD,UAAIysG,eAAJ,EAAqB;AACjB,cAAM,IAAI16G,KAAJ,4CAA8CugB,SAAS,CAACtS,IAAD,CAAvD,EAAN;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,oCAA2B6sG,EAA3B,EAA+BF,gBAA/B,EAAiDruF,MAAjD,EAAyDwuF,aAAzD,EAAwE;AACpE,UAAMhvF,MAAM,GAAG,EAAf;AACA,UAAMC,OAAO,GAAG,EAAhB;AACA,UAAMgB,IAAI,GAAG,EAAb;AACA,UAAMV,OAAO,GAAG,EAAhB;AACAzkB,YAAM,CAAC+T,IAAP,CAAYg/F,gBAAZ,EAA8Bp5G,OAA9B,CAAsC,UAAC0xE,QAAD,EAAc;AAChD,YAAM11D,KAAK,GAAGm9F,QAAQ,CAACC,gBAAgB,CAAC1nC,QAAD,CAAjB,EAA6B,UAACtwC,CAAD;AAAA,iBAAO55B,WAAW,CAAC0B,QAAZ,CAAqBk4B,CAArB,CAAP;AAAA,SAA7B,CAAtB;;AACA,YAAIplB,KAAJ,EAAW;AACP,cAAIA,KAAK,CAACvU,mBAAV,EAA+B;AAC3B8iB,kBAAM,CAAC/oB,IAAP,WAAekwE,QAAf,eAA4B11D,KAAK,CAACvU,mBAAlC;AACH,WAFD,MAGK;AACD8iB,kBAAM,CAAC/oB,IAAP,CAAYkwE,QAAZ;AACH;AACJ;;AACD,YAAM9iB,MAAM,GAAGuqD,QAAQ,CAACC,gBAAgB,CAAC1nC,QAAD,CAAjB,EAA6B,UAACtwC,CAAD;AAAA,iBAAO15B,YAAY,CAACwB,QAAb,CAAsBk4B,CAAtB,CAAP;AAAA,SAA7B,CAAvB;;AACA,YAAIwtB,MAAJ,EAAY;AACR,cAAIA,MAAM,CAACnnD,mBAAX,EAAgC;AAC5B+iB,mBAAO,CAAChpB,IAAR,WAAgBkwE,QAAhB,eAA6B9iB,MAAM,CAACnnD,mBAApC;AACH,WAFD,MAGK;AACD+iB,mBAAO,CAAChpB,IAAR,CAAakwE,QAAb;AACH;AACJ;;AACD,YAAM8nC,YAAY,GAAGJ,gBAAgB,CAAC1nC,QAAD,CAAhB,CAA2BtuD,MAA3B,CAAkC,UAAAge,CAAC;AAAA,iBAAIz5B,iBAAiB,CAACuB,QAAlB,CAA2Bk4B,CAA3B,CAAJ;AAAA,SAAnC,CAArB;AACAo4E,oBAAY,CAACx5G,OAAb,CAAqB,UAAAy5G,WAAW,EAAI;AAChC,cAAIA,WAAW,CAAC7xG,gBAAhB,EAAkC;AAC9B,gBAAM8xG,SAAS,GAAGD,WAAW,CAAC7xG,gBAAZ,CAA6B,CAA7B,CAAlB;;AACA,gBAAI8xG,SAAS,KAAK,GAAlB,EAAuB;AACnB,oBAAM,IAAIl7G,KAAJ,mEAAN;AACH,aAFD,MAGK,IAAIk7G,SAAS,KAAK,GAAlB,EAAuB;AACxB,oBAAM,IAAIl7G,KAAJ,uFAAN;AACH;;AACDgtB,gBAAI,YAAKiuF,WAAW,CAAC7xG,gBAAjB,OAAJ,GAA4C8pE,QAA5C;AACH,WATD,MAUK;AACDlmD,gBAAI,YAAKkmD,QAAL,OAAJ,GAAwBA,QAAxB;AACH;AACJ,SAdD;AAeA,YAAMjnD,aAAa,GAAG2uF,gBAAgB,CAAC1nC,QAAD,CAAhB,CAA2BtuD,MAA3B,CAAkC,UAAAge,CAAC;AAAA,iBAAIv5B,kBAAkB,CAACqB,QAAnB,CAA4Bk4B,CAA5B,CAAJ;AAAA,SAAnC,CAAtB;AACA3W,qBAAa,CAACzqB,OAAd,CAAsB,UAAA25G,YAAY,EAAI;AAClC,cAAM5xG,IAAI,GAAG4xG,YAAY,CAAC5xG,IAAb,IAAqB,EAAlC;AACAyjB,cAAI,YAAKmuF,YAAY,CAAC7xG,SAAlB,OAAJ,aAAyC4pE,QAAzC,cAAqD3pE,IAAI,CAAC5G,IAAL,CAAU,GAAV,CAArD;AACH,SAHD;AAIA,YAAM0rC,KAAK,GAAGssE,QAAQ,CAACC,gBAAgB,CAAC1nC,QAAD,CAAjB,EAA6B,UAACtwC,CAAD;AAAA,iBAAOy3E,0BAA0B,CAACh7F,IAA3B,CAAgC,UAAAzc,CAAC;AAAA,mBAAIA,CAAC,CAAC8H,QAAF,CAAWk4B,CAAX,CAAJ;AAAA,WAAjC,CAAP;AAAA,SAA7B,CAAtB;;AACA,YAAIyL,KAAJ,EAAW;AACP/hB,iBAAO,CAAC4mD,QAAD,CAAP,GAAoB7kC,KAApB;AACH;AACJ,OA5CD;AA6CA,aAAO,KAAK+sE,MAAL,CAAYN,EAAZ,EAAgB/uF,MAAhB,EAAwBC,OAAxB,EAAiCgB,IAAjC,EAAuCV,OAAvC,EAAgDC,MAAhD,EAAwDwuF,aAAxD,CAAP;AACH;;;WACD,4BAAmBzE,GAAnB,EAAwB;AACpB,aAAO54F,YAAY,CAAC44F,GAAD,EAAM,CAAC,IAAD,EAAOA,GAAP,CAAN,CAAZ,CAA+B,CAA/B,EAAkCt4F,IAAlC,EAAP;AACH;;;WACD,yBAAgBw2D,QAAhB,EAA0B;AACtB,UAAM6mC,KAAK,GAAG,IAAItgG,GAAJ,EAAd;AACA,UAAMugG,WAAW,GAAG,IAAIvgG,GAAJ,EAApB;AACA,UAAMwgG,cAAc,GAAG,EAAvB,CAHsB,CAItB;;AACA,WAAK,IAAI34G,CAAC,GAAG4xE,QAAQ,CAACjzE,MAAT,GAAkB,CAA/B,EAAkCqB,CAAC,IAAI,CAAvC,EAA0CA,CAAC,EAA3C,EAA+C;AAC3C,YAAM8xE,OAAO,GAAGF,QAAQ,CAAC5xE,CAAD,CAAxB;;AACA,YAAMnB,IAAI,GAAG,KAAK+5G,kBAAL,CAAwB9mC,OAAxB,CAAb;;AACA4mC,mBAAW,CAACtgG,GAAZ,CAAgBvZ,IAAhB;;AACA,YAAI,CAAC45G,KAAK,CAACtsF,GAAN,CAAUttB,IAAV,CAAL,EAAsB;AAClB45G,eAAK,CAACrgG,GAAN,CAAUvZ,IAAV;AACA85G,wBAAc,CAACv4G,IAAf,CAAoB0xE,OAApB;AACH;AACJ;;AACD,aAAO6mC,cAAc,CAACE,OAAf,EAAP;AACH;;;WACD,gBAAOnwC,SAAP,EAAkBv/C,MAAlB,EAA0BC,OAA1B,EAAmCgB,IAAnC,EAAyCV,OAAzC,EAAkDC,MAAlD,EAA0DwuF,aAA1D,EAAyE;AACrE,UAAMW,YAAY,GAAG,KAAKC,eAAL,CAAqBrwC,SAAS,CAACv/C,MAAV,GAAmBu/C,SAAS,CAACv/C,MAAV,CAAiB9oB,MAAjB,CAAwB8oB,MAAxB,CAAnB,GAAqDA,MAA1E,CAArB;;AACA,UAAM6vF,aAAa,GAAG,KAAKD,eAAL,CAAqBrwC,SAAS,CAACt/C,OAAV,GAAoBs/C,SAAS,CAACt/C,OAAV,CAAkB/oB,MAAlB,CAAyB+oB,OAAzB,CAApB,GAAwDA,OAA7E,CAAtB;;AACA,UAAM6vF,UAAU,GAAGvwC,SAAS,CAACt+C,IAAV,GAAiBnlB,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBwjE,SAAS,CAACt+C,IAA5B,CAAd,EAAiDA,IAAjD,CAAjB,GAA0EA,IAA7F;AACA,UAAM8uF,aAAa,GAAGxwC,SAAS,CAACh/C,OAAV,GAAoBzkB,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBwjE,SAAS,CAACh/C,OAA5B,CAAd,EAAoDA,OAApD,CAApB,GAAmFA,OAAzG;;AACA,UAAI7jB,eAAe,CAACiC,QAAhB,CAAyB4gE,SAAzB,CAAJ,EAAyC;AACrC,YAAM3T,IAAI,GAAG2T,SAAb;AACA,eAAO7iE,eAAe,CAAC;AACnBnF,kBAAQ,EAAEq0D,IAAI,CAACr0D,QADI;AAEnByoB,gBAAM,EAAE2vF,YAFW;AAGnB1vF,iBAAO,EAAE4vF,aAHU;AAInB5uF,cAAI,EAAE6uF,UAJa;AAKnB/vF,kBAAQ,EAAE6rC,IAAI,CAAC7rC,QALI;AAMnBiwF,kBAAQ,EAAEpkD,IAAI,CAACokD,QANI;AAOnBzvF,iBAAO,EAAEwvF,aAPU;AAQnBnzG,yBAAe,EAAEgvD,IAAI,CAAChvD,eARH;AASnByjB,mBAAS,EAAEurC,IAAI,CAACvrC,SATG;AAUnBC,uBAAa,EAAEsrC,IAAI,CAACtrC,aAVD;AAWnBI,yBAAe,EAAEkrC,IAAI,CAAClrC,eAXH;AAYnBxB,kBAAQ,EAAE0sC,IAAI,CAAC1sC,QAZI;AAanBC,qBAAW,EAAEysC,IAAI,CAACzsC,WAbC;AAcnBN,gBAAM,EAAE+sC,IAAI,CAAC/sC,MAdM;AAenBC,mBAAS,EAAE8sC,IAAI,CAAC9sC,SAfG;AAgBnBG,uBAAa,EAAE2sC,IAAI,CAAC3sC,aAhBD;AAiBnBK,oBAAU,EAAEssC,IAAI,CAACtsC,UAjBE;AAkBnBE,uBAAa,EAAEosC,IAAI,CAACpsC,aAlBD;AAmBnBE,6BAAmB,EAAE6/C,SAAS,CAAC7/C;AAnBZ,SAAD,CAAtB;AAqBH,OAvBD,MAwBK;AACD,eAAOpjB,eAAe,CAAC;AACnB/E,kBAAQ,EAAEgoE,SAAS,CAAChoE,QADD;AAEnByoB,gBAAM,EAAE2vF,YAFW;AAGnB1vF,iBAAO,EAAE4vF,aAHU;AAInB5uF,cAAI,EAAE6uF,UAJa;AAKnB/vF,kBAAQ,EAAEw/C,SAAS,CAACx/C,QALD;AAMnBQ,iBAAO,EAAEwvF,aANU;AAOnB1vF,mBAAS,EAAEk/C,SAAS,CAACl/C,SAPF;AAQnBG,gBAAM,EAANA;AARmB,SAAD,CAAtB;AAUH;AACJ;;;;;;AAEL,SAASkuF,mBAAT,CAA6BxsG,IAA7B,EAAmC;AAC/B,SAAO5F,eAAe,CAACqC,QAAhB,CAAyBuD,IAAzB,KAAkCxF,eAAe,CAACiC,QAAhB,CAAyBuD,IAAzB,CAAzC;AACH;;AACD,SAAS0sG,QAAT,CAAkB97F,GAAlB,EAAuBlK,SAAvB,EAAkC;AAC9B,OAAK,IAAI/R,CAAC,GAAGic,GAAG,CAACtd,MAAJ,GAAa,CAA1B,EAA6BqB,CAAC,IAAI,CAAlC,EAAqCA,CAAC,EAAtC,EAA0C;AACtC,QAAI+R,SAAS,CAACkK,GAAG,CAACjc,CAAD,CAAJ,CAAb,EAAuB;AACnB,aAAOic,GAAG,CAACjc,CAAD,CAAV;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;IACMo5G,S;;;;;AACF,qBAAYjtE,IAAZ,EAAkBxvB,GAAlB,EAAuB;AAAA;;AAAA,+BACbwvB,IADa,EACPxvB,GADO;AAEtB;;;EAHmB+hC,U;AAMxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM26D,UAAU,GAAG,MAAnB;AACA,IAAMC,iBAAiB,GAAG,OAA1B;AACA,IAAMC,2BAA2B,GAAG,SAApC;AACA,IAAMrpG,iBAAiB,GAAG,GAA1B;AACA,IAAMC,YAAY,GAAG,IAArB;AACA,IAAIqpG,kBAAkB,GAAG,KAAzB;AACA;AACA;AACA;;AACA,SAASC,eAAT,CAAyB39E,KAAzB,EAAgC09B,mBAAhC,EAAqDkgD,YAArD,EAAmEC,aAAnE,EAAkF;AAC9E,MAAM1wG,OAAO,GAAG,IAAI2wG,UAAJ,CAAeF,YAAf,EAA6BC,aAA7B,CAAhB;AACA,SAAO1wG,OAAO,CAAC4wG,OAAR,CAAgB/9E,KAAhB,EAAuB09B,mBAAvB,CAAP;AACH;;AACD,SAASsgD,iBAAT,CAA2Bh+E,KAA3B,EAAkCi+E,YAAlC,EAAgDvgD,mBAAhD,EAAqEkgD,YAArE,EAAmFC,aAAnF,EAAkG;AAC9F,MAAM1wG,OAAO,GAAG,IAAI2wG,UAAJ,CAAeF,YAAf,EAA6BC,aAA7B,CAAhB;AACA,SAAO1wG,OAAO,CAAC+wG,KAAR,CAAcl+E,KAAd,EAAqBi+E,YAArB,EAAmCvgD,mBAAnC,CAAP;AACH;;IACKygD,gB,GACF,0BAAYj0E,QAAZ,EAAsBwgB,MAAtB,EAA8B;AAAA;;AAC1B,OAAKxgB,QAAL,GAAgBA,QAAhB;AACA,OAAKwgB,MAAL,GAAcA,MAAd;AACH,C;;AAEL,IAAI0zD,YAAJ;;AACA,CAAC,UAAUA,YAAV,EAAwB;AACrBA,cAAY,CAACA,YAAY,CAAC,SAAD,CAAZ,GAA0B,CAA3B,CAAZ,GAA4C,SAA5C;AACAA,cAAY,CAACA,YAAY,CAAC,OAAD,CAAZ,GAAwB,CAAzB,CAAZ,GAA0C,OAA1C;AACH,CAHD,EAGGA,YAAY,KAAKA,YAAY,GAAG,EAApB,CAHf;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMN,U;AACF,sBAAYO,aAAZ,EAA2BC,cAA3B,EAA2C;AAAA;;AACvC,SAAKD,aAAL,GAAqBA,aAArB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACH;AACD;AACJ;AACA;;;;;WACI,iBAAQt+E,KAAR,EAAe09B,mBAAf,EAAoC;AAAA;;AAChC,WAAK6gD,KAAL,CAAWH,YAAY,CAACI,OAAxB,EAAiC9gD,mBAAjC;;AACA19B,WAAK,CAACl9B,OAAN,CAAc,UAAAuP,IAAI;AAAA,eAAIA,IAAI,CAAC4tB,KAAL,CAAW,QAAX,EAAiB,IAAjB,CAAJ;AAAA,OAAlB;;AACA,UAAI,KAAKw+E,YAAT,EAAuB;AACnB,aAAK/pC,YAAL,CAAkB10C,KAAK,CAACA,KAAK,CAACn9B,MAAN,GAAe,CAAhB,CAAvB,EAA2C,gBAA3C;AACH;;AACD,aAAO,IAAIs7G,gBAAJ,CAAqB,KAAKO,SAA1B,EAAqC,KAAK5sC,OAA1C,CAAP;AACH;AACD;AACJ;AACA;;;;WACI,eAAM9xC,KAAN,EAAai+E,YAAb,EAA2BvgD,mBAA3B,EAAgD;AAC5C,WAAK6gD,KAAL,CAAWH,YAAY,CAACO,KAAxB,EAA+BjhD,mBAA/B;;AACA,WAAKkhD,aAAL,GAAqBX,YAArB,CAF4C,CAG5C;;AACA,UAAMY,OAAO,GAAG,IAAI5jD,SAAJ,CAAc,SAAd,EAAyB,EAAzB,EAA6Bj7B,KAA7B,EAAoCl3B,SAApC,EAA+CA,SAA/C,EAA0DA,SAA1D,CAAhB;AACA,UAAMg2G,cAAc,GAAGD,OAAO,CAAC5+E,KAAR,CAAc,IAAd,EAAoB,IAApB,CAAvB;;AACA,UAAI,KAAKw+E,YAAT,EAAuB;AACnB,aAAK/pC,YAAL,CAAkB10C,KAAK,CAACA,KAAK,CAACn9B,MAAN,GAAe,CAAhB,CAAvB,EAA2C,gBAA3C;AACH;;AACD,aAAO,IAAIyjE,eAAJ,CAAoBw4C,cAAc,CAAC/gF,QAAnC,EAA6C,KAAK+zC,OAAlD,CAAP;AACH;;;WACD,4BAAmB9G,OAAnB,EAA4B59D,OAA5B,EAAqC;AACjC;AACA,UAAM8W,UAAU,GAAGk3C,UAAU,CAAC,IAAD,EAAO4P,OAAO,CAAC9mD,UAAf,EAA2B9W,OAA3B,CAA7B;;AACA,UAAI,KAAK2xG,KAAL,KAAeX,YAAY,CAACO,KAAhC,EAAuC;AACnC,eAAO,IAAI/jD,aAAJ,CAAkBoQ,OAAO,CAACxmE,KAA1B,EAAiC0f,UAAjC,EAA6C8mD,OAAO,CAACx7D,UAArD,EAAiEw7D,OAAO,CAACnQ,eAAzE,EAA0FmQ,OAAO,CAAClQ,aAAlG,CAAP;AACH;AACJ;;;WACD,wBAAe17B,GAAf,EAAoBhyB,OAApB,EAA6B;AACzB,WAAK4xG,sBAAL,CAA4B5/E,GAA5B;;AACA,UAAM6/E,QAAQ,GAAG,KAAKC,MAAtB;;AACA,UAAI,CAAC,KAAKA,MAAV,EAAkB;AACd;AACA,YAAI,KAAKC,wBAAT,EAAmC;AAC/B,eAAKC,WAAL,CAAiB,CAAChgF,GAAD,CAAjB;AACH;;AACD,aAAK8/E,MAAL,GAAc,IAAd;AACH;;AACD,UAAM99E,KAAK,GAAGg6B,UAAU,CAAC,IAAD,EAAOh8B,GAAG,CAACgC,KAAX,EAAkBh0B,OAAlB,CAAxB;;AACA,UAAI,KAAK2xG,KAAL,KAAeX,YAAY,CAACO,KAAhC,EAAuC;AACnCv/E,WAAG,GAAG,IAAIo7B,SAAJ,CAAcp7B,GAAG,CAACq7B,WAAlB,EAA+Br7B,GAAG,CAAC7vB,IAAnC,EAAyC6xB,KAAzC,EAAgDhC,GAAG,CAAC5vB,UAApD,EAAgE4vB,GAAG,CAACs7B,qBAApE,CAAN;AACH;;AACD,WAAKwkD,MAAL,GAAcD,QAAd;AACA,aAAO7/E,GAAP;AACH;;;WACD,sBAAama,OAAb,EAAsBnsC,OAAtB,EAA+B;AAC3B,UAAMiyG,SAAS,GAAGC,iBAAiB,CAAC/lE,OAAD,CAAnC;;AACA,UAAI8lE,SAAS,IAAI,KAAKF,wBAAtB,EAAgD;AAC5C,aAAKzqC,YAAL,CAAkBn7B,OAAlB,EAA2B,uDAA3B;;AACA;AACH;;AACD,UAAMgmE,SAAS,GAAGC,iBAAiB,CAACjmE,OAAD,CAAnC;;AACA,UAAIgmE,SAAS,IAAI,CAAC,KAAKd,YAAvB,EAAqC;AACjC,aAAK/pC,YAAL,CAAkBn7B,OAAlB,EAA2B,mCAA3B;;AACA;AACH;;AACD,UAAI,CAAC,KAAKkmE,WAAN,IAAqB,CAAC,KAAKP,MAA/B,EAAuC;AACnC,YAAI,CAAC,KAAKT,YAAV,EAAwB;AACpB,cAAIY,SAAJ,EAAe;AACX;AACA,gBAAI,CAAC3B,kBAAD,IAAuBgC,OAAvB,IAAkCA,OAAO,CAACjjC,IAA9C,EAAoD;AAChDihC,gCAAkB,GAAG,IAArB;AACA,kBAAMh7D,OAAO,GAAGnJ,OAAO,CAAC/pC,UAAR,CAAmBkzC,OAAnB,eAAkCnJ,OAAO,CAAC/pC,UAAR,CAAmBkzC,OAArD,IAAiE,EAAjF,CAFgD,CAGhD;;AACAg9D,qBAAO,CAACjjC,IAAR,gFAAqFljC,OAAO,CAAC/pC,UAAR,CAAmB+wB,KAAxG,SAAgHmiB,OAAhH;AACH;;AACD,iBAAK+7D,YAAL,GAAoB,IAApB;AACA,iBAAKkB,gBAAL,GAAwB,KAAKC,MAA7B;AACA,iBAAKC,cAAL,GAAsB,EAAtB;AACA,iBAAKC,oBAAL,GACIvmE,OAAO,CAAC/0C,KAAR,CAAc6Q,OAAd,CAAsBooG,2BAAtB,EAAmD,EAAnD,EAAuDn+F,IAAvD,EADJ;;AAEA,iBAAKygG,wBAAL,CAA8BxmE,OAA9B;AACH;AACJ,SAhBD,MAiBK;AACD,cAAIgmE,SAAJ,EAAe;AACX,gBAAI,KAAKK,MAAL,IAAe,KAAKD,gBAAxB,EAA0C;AACtC,mBAAKK,yBAAL,CAA+BzmE,OAA/B,EAAwC,KAAKsmE,cAA7C;;AACA,mBAAKpB,YAAL,GAAoB,KAApB;;AACA,kBAAM96E,OAAO,GAAG,KAAKy7E,WAAL,CAAiB,KAAKS,cAAtB,EAAsC,KAAKC,oBAA3C,CAAhB,CAHsC,CAItC;;;AACA,kBAAM9/E,KAAK,GAAG,KAAKigF,iBAAL,CAAuB1mE,OAAvB,EAAgC5V,OAAhC,CAAd;;AACA,qBAAOy3B,UAAU,CAAC,IAAD,EAAOp7B,KAAP,CAAjB;AACH,aAPD,MAQK;AACD,mBAAK00C,YAAL,CAAkBn7B,OAAlB,EAA2B,iDAA3B;;AACA;AACH;AACJ;AACJ;AACJ;AACJ;;;WACD,mBAAU5lC,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB,UAAI,KAAK+xG,wBAAT,EAAmC;AAC/B,aAAKH,sBAAL,CAA4BrrG,IAA5B;AACH;;AACD,aAAOA,IAAP;AACH;;;WACD,sBAAaq0D,EAAb,EAAiB56D,OAAjB,EAA0B;AAAA;;AACtB,WAAK4xG,sBAAL,CAA4Bh3C,EAA5B;;AACA,WAAK43C,MAAL;AACA,UAAMM,aAAa,GAAG,KAAKT,WAA3B;AACA,UAAMU,iBAAiB,GAAG,KAAKC,eAA/B;AACA,UAAIC,UAAU,GAAG,EAAjB;AACA,UAAIC,oBAAoB,GAAGx3G,SAA3B,CANsB,CAOtB;AACA;AACA;;AACA,UAAMy3G,QAAQ,GAAGC,YAAY,CAACx4C,EAAD,CAA7B;;AACA,UAAMy4C,QAAQ,GAAGF,QAAQ,GAAGA,QAAQ,CAAC/7G,KAAZ,GAAoB,EAA7C;AACA,UAAMk8G,UAAU,GAAG,KAAKrC,aAAL,CAAmB19F,IAAnB,CAAwB,UAAArb,GAAG;AAAA,eAAI0iE,EAAE,CAACjlE,IAAH,KAAYuC,GAAhB;AAAA,OAA3B,KAAmD,CAAC,KAAK45G,MAAzD,IACf,CAAC,KAAKC,wBADV;AAEA,UAAMwB,kBAAkB,GAAG,CAACR,iBAAD,IAAsBO,UAAjD;AACA,WAAKN,eAAL,GAAuBD,iBAAiB,IAAIO,UAA5C;;AACA,UAAI,CAAC,KAAKvB,wBAAN,IAAkC,CAAC,KAAKD,MAA5C,EAAoD;AAChD,YAAIqB,QAAQ,IAAII,kBAAhB,EAAoC;AAChC,eAAKlB,WAAL,GAAmB,IAAnB;;AACA,cAAM97E,OAAO,GAAG,KAAKy7E,WAAL,CAAiBp3C,EAAE,CAACjqC,QAApB,EAA8B0iF,QAA9B,CAAhB;;AACAH,8BAAoB,GAAG,KAAKL,iBAAL,CAAuBj4C,EAAvB,EAA2BrkC,OAA3B,CAAvB;AACH;;AACD,YAAI,KAAKo7E,KAAL,IAAcX,YAAY,CAACI,OAA/B,EAAwC;AACpC,cAAMoC,cAAc,GAAGL,QAAQ,IAAII,kBAAnC;AACA,cAAIC,cAAJ,EACI,KAAKb,wBAAL,CAA8B/3C,EAA9B;AACJ5M,oBAAU,CAAC,IAAD,EAAO4M,EAAE,CAACjqC,QAAV,CAAV;AACA,cAAI6iF,cAAJ,EACI,KAAKZ,yBAAL,CAA+Bh4C,EAA/B,EAAmCA,EAAE,CAACjqC,QAAtC;AACP;AACJ,OAdD,MAeK;AACD,YAAIwiF,QAAQ,IAAII,kBAAhB,EAAoC;AAChC,eAAKjsC,YAAL,CAAkB1M,EAAlB,EAAsB,yEAAtB;AACH;;AACD,YAAI,KAAK+2C,KAAL,IAAcX,YAAY,CAACI,OAA/B,EAAwC;AACpC;AACApjD,oBAAU,CAAC,IAAD,EAAO4M,EAAE,CAACjqC,QAAV,CAAV;AACH;AACJ;;AACD,UAAI,KAAKghF,KAAL,KAAeX,YAAY,CAACO,KAAhC,EAAuC;AACnC,YAAMkC,UAAU,GAAGP,oBAAoB,IAAIt4C,EAAE,CAACjqC,QAA9C;AACA8iF,kBAAU,CAAC/9G,OAAX,CAAmB,UAAAq/B,KAAK,EAAI;AACxB,cAAM2+E,OAAO,GAAG3+E,KAAK,CAAClC,KAAN,CAAY,QAAZ,EAAkB7yB,OAAlB,CAAhB;;AACA,cAAI0zG,OAAO,IAAI,CAAC,QAAI,CAAC3B,wBAArB,EAA+C;AAC3C;AACA;AACAkB,sBAAU,GAAGA,UAAU,CAAC97G,MAAX,CAAkBu8G,OAAlB,CAAb;AACH;AACJ,SAPD;AAQH;;AACD,WAAKC,kBAAL,CAAwB/4C,EAAxB;;AACA,WAAK43C,MAAL;AACA,WAAKH,WAAL,GAAmBS,aAAnB;AACA,WAAKE,eAAL,GAAuBD,iBAAvB;;AACA,UAAI,KAAKpB,KAAL,KAAeX,YAAY,CAACO,KAAhC,EAAuC;AACnC,YAAMqC,eAAe,GAAG,KAAKC,oBAAL,CAA0Bj5C,EAA1B,CAAxB;;AACA,eAAO,IAAI/M,SAAJ,CAAc+M,EAAE,CAACjlE,IAAjB,EAAuBi+G,eAAvB,EAAwCX,UAAxC,EAAoDr4C,EAAE,CAACx4D,UAAvD,EAAmEw4D,EAAE,CAAC/pC,eAAtE,EAAuF+pC,EAAE,CAAC9pC,aAA1F,CAAP;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,wBAAev4B,SAAf,EAA0ByH,OAA1B,EAAmC;AAC/B,YAAM,IAAI9L,KAAJ,CAAU,kBAAV,CAAN;AACH;;;WACD,eAAMguD,IAAN,EAAYoO,mBAAZ,EAAiC;AAC7B,WAAKqhD,KAAL,GAAazvD,IAAb;AACA,WAAKmvD,YAAL,GAAoB,KAApB;AACA,WAAKgB,WAAL,GAAmB,KAAnB;AACA,WAAKG,MAAL,GAAc,CAAd;AACA,WAAKV,MAAL,GAAc,KAAd;AACA,WAAKgC,uBAAL,GAA+Bp4G,SAA/B;AACA,WAAKgpE,OAAL,GAAe,EAAf;AACA,WAAK4sC,SAAL,GAAiB,EAAjB;AACA,WAAK0B,eAAL,GAAuB,KAAvB;AACA,WAAK3iB,kBAAL,GAA0B7C,wBAAwB,CAACl9B,mBAAD,CAAlD;AACH,K,CACD;;;;WACA,4BAAmBsK,EAAnB,EAAuB;AAAA;;AACnB,UAAMm5C,uBAAuB,GAAG,EAAhC;AACA,UAAMC,iBAAiB,GAAG,KAAK9C,cAAL,CAAoBt2C,EAAE,CAACjlE,IAAvB,KAAgC,EAA1D;AACAilE,QAAE,CAACnkE,KAAH,CAASqiB,MAAT,CAAgB,UAAAumB,IAAI;AAAA,eAAIA,IAAI,CAAC1pC,IAAL,CAAUqpC,UAAV,CAAqBoxE,iBAArB,CAAJ;AAAA,OAApB,EACK16G,OADL,CACa,UAAA2pC,IAAI;AAAA,eAAI00E,uBAAuB,CAAC10E,IAAI,CAAC1pC,IAAL,CAAUxB,KAAV,CAAgBi8G,iBAAiB,CAAC36G,MAAlC,CAAD,CAAvB,GACjB4pC,IAAI,CAACjoC,KADQ;AAAA,OADjB;AAGAwjE,QAAE,CAACnkE,KAAH,CAASf,OAAT,CAAiB,UAAA2pC,IAAI,EAAI;AACrB,YAAIA,IAAI,CAAC1pC,IAAL,IAAao+G,uBAAjB,EAA0C;AACtC,kBAAI,CAAC/B,WAAL,CAAiB,CAAC3yE,IAAD,CAAjB,EAAyB00E,uBAAuB,CAAC10E,IAAI,CAAC1pC,IAAN,CAAhD;AACH,SAFD,MAGK,IAAIq+G,iBAAiB,CAACzgG,IAAlB,CAAuB,UAAA5d,IAAI;AAAA,iBAAI0pC,IAAI,CAAC1pC,IAAL,KAAcA,IAAlB;AAAA,SAA3B,CAAJ,EAAwD;AACzD,kBAAI,CAACq8G,WAAL,CAAiB,CAAC3yE,IAAD,CAAjB;AACH;AACJ,OAPD;AAQH,K,CACD;;;;WACA,qBAAYvxB,GAAZ,EAAiBmmG,OAAjB,EAA0B;AACtB,UAAInmG,GAAG,CAACrY,MAAJ,IAAc,CAAd,IACAqY,GAAG,CAACrY,MAAJ,IAAc,CAAd,IAAmBqY,GAAG,CAAC,CAAD,CAAH,YAAkBg4B,SAArC,IAAkD,CAACh4B,GAAG,CAAC,CAAD,CAAH,CAAO1W,KAD9D,EACqE;AACjE;AACA,eAAO,IAAP;AACH;;AACD,+BAAqC88G,iBAAiB,CAACD,OAAD,CAAtD;AAAA,UAAQ7sG,OAAR,sBAAQA,OAAR;AAAA,UAAiBD,WAAjB,sBAAiBA,WAAjB;AAAA,UAA8BiJ,EAA9B,sBAA8BA,EAA9B;;AACA,UAAMmmB,OAAO,GAAG,KAAK85D,kBAAL,CAAwBviF,GAAxB,EAA6B1G,OAA7B,EAAsCD,WAAtC,EAAmDiJ,EAAnD,CAAhB;;AACA,WAAKkhG,SAAL,CAAep6G,IAAf,CAAoBq/B,OAApB;;AACA,aAAOA,OAAP;AACH,K,CACD;AACA;AACA;;;;WACA,2BAAkBqkC,EAAlB,EAAsBrkC,OAAtB,EAA+B;AAC3B,UAAIA,OAAO,IAAI,KAAKo7E,KAAL,KAAeX,YAAY,CAACO,KAA3C,EAAkD;AAC9C,YAAM3+E,KAAK,GAAG,KAAK4+E,aAAL,CAAmBz3G,GAAnB,CAAuBw8B,OAAvB,CAAd;;AACA,YAAI3D,KAAJ,EAAW;AACP,iBAAOA,KAAP;AACH;;AACD,aAAK00C,YAAL,CAAkB1M,EAAlB,qDAAiE,KAAK42C,aAAL,CAAmBl7E,MAAnB,CAA0BC,OAA1B,CAAjE;AACH;;AACD,aAAO,EAAP;AACH,K,CACD;;;;WACA,8BAAqBqkC,EAArB,EAAyB;AAAA;;AACrB,UAAMlqC,UAAU,GAAGkqC,EAAE,CAACnkE,KAAtB;AACA,UAAM09G,qBAAqB,GAAG,EAA9B;AACAzjF,gBAAU,CAACh7B,OAAX,CAAmB,UAAA2pC,IAAI,EAAI;AACvB,YAAIA,IAAI,CAAC1pC,IAAL,CAAUqpC,UAAV,CAAqBoxE,iBAArB,CAAJ,EAA6C;AACzC+D,+BAAqB,CAAC90E,IAAI,CAAC1pC,IAAL,CAAUxB,KAAV,CAAgBi8G,iBAAiB,CAAC36G,MAAlC,CAAD,CAArB,GACIy+G,iBAAiB,CAAC70E,IAAI,CAACjoC,KAAN,CADrB;AAEH;AACJ,OALD;AAMA,UAAMg9G,oBAAoB,GAAG,EAA7B;AACA1jF,gBAAU,CAACh7B,OAAX,CAAmB,UAAC2pC,IAAD,EAAU;AACzB,YAAIA,IAAI,CAAC1pC,IAAL,KAAcw6G,UAAd,IAA4B9wE,IAAI,CAAC1pC,IAAL,CAAUqpC,UAAV,CAAqBoxE,iBAArB,CAAhC,EAAyE;AACrE;AACA;AACH;;AACD,YAAI/wE,IAAI,CAACjoC,KAAL,IAAcioC,IAAI,CAACjoC,KAAL,IAAc,EAA5B,IAAkC+8G,qBAAqB,CAACp/F,cAAtB,CAAqCsqB,IAAI,CAAC1pC,IAA1C,CAAtC,EAAuF;AACnF,sCAAqCw+G,qBAAqB,CAAC90E,IAAI,CAAC1pC,IAAN,CAA1D;AAAA,cAAQyR,OAAR,yBAAQA,OAAR;AAAA,cAAiBD,WAAjB,yBAAiBA,WAAjB;AAAA,cAA8BiJ,EAA9B,yBAA8BA,EAA9B;;AACA,cAAMmmB,OAAO,GAAG,QAAI,CAAC85D,kBAAL,CAAwB,CAAChxD,IAAD,CAAxB,EAAgCj4B,OAAhC,EAAyCD,WAAzC,EAAsDiJ,EAAtD,CAAhB;;AACA,cAAMwiB,KAAK,GAAG,QAAI,CAAC4+E,aAAL,CAAmBz3G,GAAnB,CAAuBw8B,OAAvB,CAAd;;AACA,cAAI3D,KAAJ,EAAW;AACP,gBAAIA,KAAK,CAACn9B,MAAN,IAAgB,CAApB,EAAuB;AACnB2+G,kCAAoB,CAACl9G,IAArB,CAA0B,IAAI4uC,SAAJ,CAAczG,IAAI,CAAC1pC,IAAnB,EAAyB,EAAzB,EAA6B0pC,IAAI,CAACj9B,UAAlC,CAA1B;AACH,aAFD,MAGK,IAAIwwB,KAAK,CAAC,CAAD,CAAL,YAAoBu6B,MAAxB,EAAgC;AACjC,kBAAM/1D,KAAK,GAAGw7B,KAAK,CAAC,CAAD,CAAL,CAASx7B,KAAvB;AACAg9G,kCAAoB,CAACl9G,IAArB,CAA0B,IAAI4uC,SAAJ,CAAczG,IAAI,CAAC1pC,IAAnB,EAAyByB,KAAzB,EAAgCioC,IAAI,CAACj9B,UAArC,CAA1B;AACH,aAHI,MAIA;AACD,sBAAI,CAACklE,YAAL,CAAkB1M,EAAlB,mDAA+Dv7B,IAAI,CAAC1pC,IAApE,sBAAkFya,EAAE,IAAI,QAAI,CAACohG,aAAL,CAAmBl7E,MAAnB,CAA0BC,OAA1B,CAAxF;AACH;AACJ,WAXD,MAYK;AACD,oBAAI,CAAC+wC,YAAL,CAAkB1M,EAAlB,oDAAgEv7B,IAAI,CAAC1pC,IAArE,sBAAmFya,EAAE,IAAI,QAAI,CAACohG,aAAL,CAAmBl7E,MAAnB,CAA0BC,OAA1B,CAAzF;AACH;AACJ,SAnBD,MAoBK;AACD69E,8BAAoB,CAACl9G,IAArB,CAA0BmoC,IAA1B;AACH;AACJ,OA5BD;AA6BA,aAAO+0E,oBAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,gCAAuBnvG,IAAvB,EAA6B;AACzB,UAAI,KAAKosG,YAAL,IAAqB,CAAC,KAAKS,MAA3B,IAAqC,KAAKU,MAAL,IAAe,KAAKD,gBAA7D,EAA+E;AAC3E,aAAKE,cAAL,CAAoBv7G,IAApB,CAAyB+N,IAAzB;AACH;AACJ;AACD;AACJ;AACA;;;;WACI,kCAAyBA,IAAzB,EAA+B;AAC3B,UAAI,KAAK8sG,wBAAT,EAAmC;AAC/B,aAAKzqC,YAAL,CAAkBriE,IAAlB,EAAwB,0BAAxB;AACH,OAFD,MAGK;AACD,aAAK6uG,uBAAL,GAA+B,KAAKxC,SAAL,CAAe77G,MAA9C;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;;SACI,eAA+B;AAC3B,aAAO,KAAKq+G,uBAAL,KAAiC,KAAK,CAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,mCAA0B7uG,IAA1B,EAAgCovG,cAAhC,EAAgD;AAC5C,UAAI,CAAC,KAAKtC,wBAAV,EAAoC;AAChC,aAAKzqC,YAAL,CAAkBriE,IAAlB,EAAwB,wBAAxB;;AACA;AACH;;AACD,UAAMwjD,UAAU,GAAG,KAAKqrD,uBAAxB;AACA,UAAMQ,mBAAmB,GAAGD,cAAc,CAACzwF,MAAf,CAAsB,UAACkW,KAAD,EAAQ70B,IAAR;AAAA,eAAiB60B,KAAK,IAAI70B,IAAI,YAAY6oD,OAAhB,GAA0B,CAA1B,GAA8B,CAAlC,CAAtB;AAAA,OAAtB,EAAkF,CAAlF,CAA5B;;AACA,UAAIwmD,mBAAmB,IAAI,CAA3B,EAA8B;AAC1B,aAAK,IAAIx9G,CAAC,GAAG,KAAKw6G,SAAL,CAAe77G,MAAf,GAAwB,CAArC,EAAwCqB,CAAC,IAAI2xD,UAA7C,EAAyD3xD,CAAC,EAA1D,EAA8D;AAC1D,cAAMgX,GAAG,GAAG,KAAKwjG,SAAL,CAAex6G,CAAf,EAAkB87B,KAA9B;;AACA,cAAI,EAAE9kB,GAAG,CAACrY,MAAJ,IAAc,CAAd,IAAmBqY,GAAG,CAAC,CAAD,CAAH,YAAkB8lB,MAAvC,CAAJ,EAAoD;AAChD,iBAAK09E,SAAL,CAAe51C,MAAf,CAAsB5kE,CAAtB,EAAyB,CAAzB;;AACA;AACH;AACJ;AACJ;;AACD,WAAKg9G,uBAAL,GAA+Bp4G,SAA/B;AACH;;;WACD,sBAAauJ,IAAb,EAAmBwO,GAAnB,EAAwB;AACpB,WAAKixD,OAAL,CAAaxtE,IAAb,CAAkB,IAAIg5G,SAAJ,CAAcjrG,IAAI,CAAC7C,UAAnB,EAA+BqR,GAA/B,CAAlB;AACH;;;;;;AAEL,SAASy+F,iBAAT,CAA2Bv9E,CAA3B,EAA8B;AAC1B,SAAO,CAAC,EAAEA,CAAC,YAAYm5B,OAAb,IAAwBn5B,CAAC,CAACv9B,KAA1B,IAAmCu9B,CAAC,CAACv9B,KAAF,CAAQ4nC,UAAR,CAAmB,MAAnB,CAArC,CAAR;AACH;;AACD,SAASozE,iBAAT,CAA2Bz9E,CAA3B,EAA8B;AAC1B,SAAO,CAAC,EAAEA,CAAC,YAAYm5B,OAAb,IAAwBn5B,CAAC,CAACv9B,KAA1B,IAAmCu9B,CAAC,CAACv9B,KAAF,KAAY,OAAjD,CAAR;AACH;;AACD,SAASg8G,YAAT,CAAsBp2G,CAAtB,EAAyB;AACrB,SAAOA,CAAC,CAACvG,KAAF,CAAQ4pC,IAAR,CAAa,UAAAhB,IAAI;AAAA,WAAIA,IAAI,CAAC1pC,IAAL,KAAcw6G,UAAlB;AAAA,GAAjB,KAAkD,IAAzD;AACH;;AACD,SAAS+D,iBAAT,CAA2BppF,IAA3B,EAAiC;AAC7B,MAAI,CAACA,IAAL,EACI,OAAO;AAAE1jB,WAAO,EAAE,EAAX;AAAeD,eAAW,EAAE,EAA5B;AAAgCiJ,MAAE,EAAE;AAApC,GAAP;AACJ,MAAM2gF,OAAO,GAAGjmE,IAAI,CAAC72B,OAAL,CAAagT,YAAb,CAAhB;AACA,MAAM+pF,SAAS,GAAGlmE,IAAI,CAAC72B,OAAL,CAAa+S,iBAAb,CAAlB;;AACA,eAA8B+pF,OAAO,GAAG,CAAC,CAAZ,GAAiB,CAACjmE,IAAI,CAAC32B,KAAL,CAAW,CAAX,EAAc48F,OAAd,CAAD,EAAyBjmE,IAAI,CAAC32B,KAAL,CAAW48F,OAAO,GAAG,CAArB,CAAzB,CAAjB,GAAqE,CAACjmE,IAAD,EAAO,EAAP,CAAlG;AAAA;AAAA,MAAOmmE,cAAP;AAAA,MAAuB7gF,EAAvB;;AACA,eAAgC4gF,SAAS,GAAG,CAAC,CAAd,GAC3B,CAACC,cAAc,CAAC98F,KAAf,CAAqB,CAArB,EAAwB68F,SAAxB,CAAD,EAAqCC,cAAc,CAAC98F,KAAf,CAAqB68F,SAAS,GAAG,CAAjC,CAArC,CAD2B,GAE3B,CAAC,EAAD,EAAKC,cAAL,CAFJ;AAAA;AAAA,MAAO7pF,OAAP;AAAA,MAAgBD,WAAhB;;AAGA,SAAO;AAAEC,WAAO,EAAPA,OAAF;AAAWD,eAAW,EAAXA,WAAX;AAAwBiJ,MAAE,EAAEA,EAAE,CAAC8B,IAAH;AAA5B,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMqiG,gB;AACF,8BAAc;AAAA;;AACV,SAAKn/G,cAAL,GAAsB,KAAtB;AACA,SAAKF,WAAL,GAAmBrB,cAAc,CAACsB,aAAlC;AACA,SAAKE,MAAL,GAAc,KAAd;AACA,SAAKC,aAAL,GAAqB,KAArB;AACA,SAAKE,YAAL,GAAoB,IAApB;AACA,SAAKD,2BAAL,GAAmC,KAAnC;AACH;;;;WACD,4BAAmBi/G,aAAnB,EAAkC;AAC9B,aAAO,KAAP;AACH;;;WACD,yBAAgB7+G,IAAhB,EAAsB;AAClB,aAAO,KAAP;AACH;;;;;;AAEL,IAAM8+G,eAAe,GAAG,IAAIF,gBAAJ,EAAxB;;AACA,SAASG,mBAAT,CAA6BrgH,OAA7B,EAAsC;AAClC,SAAOogH,eAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACME,S;;;;;AACF,uBAAc;AAAA;;AAAA,+BACJD,mBADI;AAEb;;;;WACD,eAAMr3E,MAAN,EAAcrZ,GAAd,EAAmBgrC,OAAnB,EAA4B;AACxB,gVAAmB3xB,MAAnB,EAA2BrZ,GAA3B,EAAgCgrC,OAAhC;AACH;;;;EANmBoK,M;AASxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMw7C,QAAQ,GAAG,KAAjB;AACA,IAAMC,MAAM,GAAG,uCAAf,C,CACA;;AACA,IAAMC,oBAAoB,GAAG,IAA7B;AACA,IAAMC,kBAAkB,GAAG,GAA3B;AACA,IAAMC,WAAW,GAAG,KAApB;AACA,IAAMC,SAAS,GAAG,MAAlB;AACA,IAAMC,aAAa,GAAG,QAAtB;AACA,IAAMC,mBAAmB,GAAG,YAA5B;AACA,IAAMC,cAAc,GAAG,WAAvB;AACA,IAAMC,WAAW,GAAG,QAApB;AACA,IAAMC,SAAS,GAAG,YAAlB;AACA,IAAMC,kBAAkB,GAAG,eAA3B;AACA,IAAMC,YAAY,GAAG,SAArB,C,CACA;AACA;;IACMC,K;;;;;;;;;;;;;WACF,eAAM34E,QAAN,EAAgBC,MAAhB,EAAwB;AACpB,UAAMh9B,OAAO,GAAG,IAAI21G,aAAJ,EAAhB;AACA,UAAMC,UAAU,GAAG,EAAnB;AACA74E,cAAQ,CAACpnC,OAAT,CAAiB,UAAA6gC,OAAO,EAAI;AAAA;;AACxB,YAAIq/E,WAAW,GAAG,EAAlB;AACAr/E,eAAO,CAACrD,OAAR,CAAgBx9B,OAAhB,CAAwB,UAAC2nC,MAAD,EAAY;AAChC,cAAIw4E,eAAe,GAAG,IAAI75E,GAAJ,CAAQu5E,kBAAR,EAA4B;AAAEO,mBAAO,EAAE;AAAX,WAA5B,CAAtB;AACAD,yBAAe,CAACllF,QAAhB,CAAyBz5B,IAAzB,CAA8B,IAAIklC,EAAJ,CAAO,EAAP,CAA9B,EAA0C,IAAIJ,GAAJ,CAAQw5E,YAAR,EAAsB;AAAE,4BAAgB;AAAlB,WAAtB,EAAwD,CAAC,IAAIt5E,MAAJ,CAAWmB,MAAM,CAAChgB,QAAlB,CAAD,CAAxD,CAA1C,EAAkI,IAAI+e,EAAJ,CAAO,EAAP,CAAlI,EAA8I,IAAIJ,GAAJ,CAAQw5E,YAAR,EAAsB;AAAE,4BAAgB;AAAlB,WAAtB,EAAwD,CAAC,IAAIt5E,MAAJ,WAAcmB,MAAM,CAAChK,SAArB,EAAD,CAAxD,CAA9I,EAA4O,IAAI+I,EAAJ,CAAO,CAAP,CAA5O;AACAw5E,qBAAW,CAAC1+G,IAAZ,CAAiB,IAAIklC,EAAJ,CAAO,CAAP,CAAjB,EAA4By5E,eAA5B;AACH,SAJD;AAKA,YAAME,SAAS,GAAG,IAAI/5E,GAAJ,CAAQs5E,SAAR,EAAmB;AAAEllG,YAAE,EAAEmmB,OAAO,CAACnmB,EAAd;AAAkB4lG,kBAAQ,EAAE;AAA5B,SAAnB,CAAlB;;AACA,+BAAAD,SAAS,CAACplF,QAAV,EAAmBz5B,IAAnB,6BAAwB,IAAIklC,EAAJ,CAAO,CAAP,CAAxB,EAAmC,IAAIJ,GAAJ,CAAQk5E,aAAR,EAAuB,EAAvB,EAA2Bn1G,OAAO,CAAC07B,SAAR,CAAkBlF,OAAO,CAAC3D,KAA1B,CAA3B,CAAnC,SAAoGgjF,WAApG;;AACA,YAAIr/E,OAAO,CAACpvB,WAAZ,EAAyB;AACrB4uG,mBAAS,CAACplF,QAAV,CAAmBz5B,IAAnB,CAAwB,IAAIklC,EAAJ,CAAO,CAAP,CAAxB,EAAmC,IAAIJ,GAAJ,CAAQ,MAAR,EAAgB;AAAEylE,oBAAQ,EAAE,GAAZ;AAAiB/4D,gBAAI,EAAE;AAAvB,WAAhB,EAAwD,CAAC,IAAIxM,MAAJ,CAAW3F,OAAO,CAACpvB,WAAnB,CAAD,CAAxD,CAAnC;AACH;;AACD,YAAIovB,OAAO,CAACnvB,OAAZ,EAAqB;AACjB2uG,mBAAS,CAACplF,QAAV,CAAmBz5B,IAAnB,CAAwB,IAAIklC,EAAJ,CAAO,CAAP,CAAxB,EAAmC,IAAIJ,GAAJ,CAAQ,MAAR,EAAgB;AAAEylE,oBAAQ,EAAE,GAAZ;AAAiB/4D,gBAAI,EAAE;AAAvB,WAAhB,EAAoD,CAAC,IAAIxM,MAAJ,CAAW3F,OAAO,CAACnvB,OAAnB,CAAD,CAApD,CAAnC;AACH;;AACD2uG,iBAAS,CAACplF,QAAV,CAAmBz5B,IAAnB,CAAwB,IAAIklC,EAAJ,CAAO,CAAP,CAAxB;AACAu5E,kBAAU,CAACz+G,IAAX,CAAgB,IAAIklC,EAAJ,CAAO,CAAP,CAAhB,EAA2B25E,SAA3B;AACH,OAjBD;AAkBA,UAAMrpG,IAAI,GAAG,IAAIsvB,GAAJ,CAAQ,MAAR,EAAgB,EAAhB,YAAwB25E,UAAxB,GAAoC,IAAIv5E,EAAJ,CAAO,CAAP,CAApC,GAAb;AACA,UAAMhJ,IAAI,GAAG,IAAI4I,GAAJ,CAAQ,MAAR,EAAgB;AACzB,2BAAmBe,MAAM,IAAI+3E,oBADJ;AAEzBkB,gBAAQ,EAAE,WAFe;AAGzBn/F,gBAAQ,EAAE;AAHe,OAAhB,EAIV,CAAC,IAAIulB,EAAJ,CAAO,CAAP,CAAD,EAAY1vB,IAAZ,EAAkB,IAAI0vB,EAAJ,CAAO,CAAP,CAAlB,CAJU,CAAb;AAKA,UAAM65E,KAAK,GAAG,IAAIj6E,GAAJ,CAAQ,OAAR,EAAiB;AAAEsB,eAAO,EAAEs3E,QAAX;AAAqBsB,aAAK,EAAErB;AAA5B,OAAjB,EAAuD,CAAC,IAAIz4E,EAAJ,CAAO,CAAP,CAAD,EAAYhJ,IAAZ,EAAkB,IAAIgJ,EAAJ,EAAlB,CAAvD,CAAd;AACA,aAAOX,SAAS,CAAC,CACb,IAAIC,WAAJ,CAAgB;AAAE4B,eAAO,EAAE,KAAX;AAAkBC,gBAAQ,EAAE;AAA5B,OAAhB,CADa,EAC2C,IAAInB,EAAJ,EAD3C,EACqD65E,KADrD,EAC4D,IAAI75E,EAAJ,EAD5D,CAAD,CAAhB;AAGH;;;WACD,cAAKrK,OAAL,EAAc/N,GAAd,EAAmB;AACf;AACA,UAAMmyF,WAAW,GAAG,IAAIC,WAAJ,EAApB;;AACA,+BAAwCD,WAAW,CAAC92G,KAAZ,CAAkB0yB,OAAlB,EAA2B/N,GAA3B,CAAxC;AAAA,UAAQ+Y,MAAR,sBAAQA,MAAR;AAAA,UAAgBs5E,WAAhB,sBAAgBA,WAAhB;AAAA,UAA6B/4D,MAA7B,sBAA6BA,MAA7B,CAHe,CAIf;;;AACA,UAAMg5D,gBAAgB,GAAG,EAAzB;AACA,UAAM/nE,SAAS,GAAG,IAAIgoE,SAAJ,EAAlB;AACAx6G,YAAM,CAAC+T,IAAP,CAAYumG,WAAZ,EAAyB3gH,OAAzB,CAAiC,UAAA8gH,KAAK,EAAI;AACtC,iCAAiCjoE,SAAS,CAACkoE,OAAV,CAAkBJ,WAAW,CAACG,KAAD,CAA7B,EAAsCxyF,GAAtC,CAAjC;AAAA,YAAQ0yF,SAAR,sBAAQA,SAAR;AAAA,YAA2BjyG,CAA3B,sBAAmB64C,MAAnB;;AACAA,cAAM,CAACpmD,IAAP,OAAAomD,MAAM,qJAAS74C,CAAT,EAAN;AACA6xG,wBAAgB,CAACE,KAAD,CAAhB,GAA0BE,SAA1B;AACH,OAJD;;AAKA,UAAIp5D,MAAM,CAAC7nD,MAAX,EAAmB;AACf,cAAM,IAAIvB,KAAJ,gCAAkCopD,MAAM,CAACzmD,IAAP,CAAY,IAAZ,CAAlC,EAAN;AACH;;AACD,aAAO;AAAEkmC,cAAM,EAAEA,MAAV;AAAkBu5E,wBAAgB,EAAhBA;AAAlB,OAAP;AACH;;;WACD,gBAAO//E,OAAP,EAAgB;AACZ,aAAOD,QAAM,CAACC,OAAD,CAAb;AACH;;;;EApDegE,U;;IAsDdm7E,a;;;;;;;WACF,mBAAUnvG,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB,aAAO,CAAC,IAAIk8B,MAAJ,CAAW31B,IAAI,CAACnP,KAAhB,CAAD,CAAP;AACH;;;WACD,wBAAes9B,SAAf,EAA0B10B,OAA1B,EAAmC;AAAA;;AAC/B,UAAM4yB,KAAK,GAAG,EAAd;AACA8B,eAAS,CAAC/D,QAAV,CAAmBj7B,OAAnB,CAA2B,UAACuP,IAAD;AAAA,eAAU2tB,KAAK,CAAC17B,IAAN,OAAA07B,KAAK,qJAAS3tB,IAAI,CAAC4tB,KAAL,CAAW,QAAX,CAAT,EAAf;AAAA,OAA3B;AACA,aAAOD,KAAP;AACH;;;WACD,kBAASZ,GAAT,EAAchyB,OAAd,EAAuB;AAAA;;AACnB,UAAM4yB,KAAK,GAAG,CAAC,IAAIsJ,MAAJ,YAAelK,GAAG,CAAC4C,qBAAnB,eAA6C5C,GAAG,CAAC7vB,IAAjD,QAAD,CAAd;AACApG,YAAM,CAAC+T,IAAP,CAAYkiB,GAAG,CAACgC,KAAhB,EAAuBt+B,OAAvB,CAA+B,UAACkH,CAAD,EAAO;AAClCg2B,aAAK,CAAC17B,IAAN,OAAA07B,KAAK,GAAM,IAAIsJ,MAAJ,WAAct/B,CAAd,QAAN,4JAA+Bo1B,GAAG,CAACgC,KAAJ,CAAUp3B,CAAV,EAAai2B,KAAb,CAAmB,QAAnB,CAA/B,IAAyD,IAAIqJ,MAAJ,MAAzD,GAAL;AACH,OAFD;AAGAtJ,WAAK,CAAC17B,IAAN,CAAW,IAAIglC,MAAJ,KAAX;AACA,aAAOtJ,KAAP;AACH;;;WACD,6BAAoBiC,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7B,UAAM22G,KAAK,GAAGC,cAAc,CAAC/hF,EAAE,CAAC38B,GAAJ,CAA5B;;AACA,UAAI28B,EAAE,CAACx/B,MAAP,EAAe;AACX;AACA,eAAO,CAAC,IAAI2mC,GAAJ,CAAQ+4E,kBAAR,EAA4B;AAAE3kG,YAAE,EAAEykB,EAAE,CAACX,SAAT;AAAoByiF,eAAK,EAALA,KAApB;AAA2B,mCAAkB9hF,EAAE,CAAC38B,GAArB;AAA3B,SAA5B,CAAD,CAAP;AACH;;AACD,UAAM2lC,UAAU,GAAG,IAAI7B,GAAJ,CAAQ+4E,kBAAR,EAA4B;AAAE3kG,UAAE,EAAEykB,EAAE,CAACX,SAAT;AAAoByiF,aAAK,EAALA,KAApB;AAA2B,iCAAkB9hF,EAAE,CAAC38B,GAArB;AAA3B,OAA5B,CAAnB;AACA,UAAM8lC,UAAU,GAAG,IAAIhC,GAAJ,CAAQ+4E,kBAAR,EAA4B;AAAE3kG,UAAE,EAAEykB,EAAE,CAACV,SAAT;AAAoBwiF,aAAK,EAALA,KAApB;AAA2B,kCAAmB9hF,EAAE,CAAC38B,GAAtB;AAA3B,OAA5B,CAAnB;AACA,cAAQ2lC,UAAR,4JAAuB,KAAKpC,SAAL,CAAe5G,EAAE,CAAClE,QAAlB,CAAvB,IAAoDqN,UAApD;AACH;;;WACD,0BAAiBnJ,EAAjB,EAAqB70B,OAArB,EAA8B;AAC1B,aAAO,CAAC,IAAIg8B,GAAJ,CAAQ+4E,kBAAR,EAA4B;AAAE3kG,UAAE,EAAEykB,EAAE,CAACl/B,IAAT;AAAe,kCAAmBk/B,EAAE,CAACz9B,KAAtB;AAAf,OAA5B,CAAD,CAAP;AACH;;;WACD,6BAAoBy9B,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7B,UAAM62G,SAAS,cAAOhiF,EAAE,CAACz9B,KAAH,CAAS0f,UAAhB,eAA+B+d,EAAE,CAACz9B,KAAH,CAAS+K,IAAxC,eAAiDpG,MAAM,CAAC+T,IAAP,CAAY+kB,EAAE,CAACz9B,KAAH,CAAS48B,KAArB,EAA4B75B,GAA5B,CAAgC,UAAC/C,KAAD;AAAA,eAAWA,KAAK,GAAG,QAAnB;AAAA,OAAhC,EAA6DP,IAA7D,CAAkE,GAAlE,CAAjD,MAAf;AACA,aAAO,CAAC,IAAImlC,GAAJ,CAAQ+4E,kBAAR,EAA4B;AAAE3kG,UAAE,EAAEykB,EAAE,CAACl/B,IAAT;AAAe,sBAAckhH;AAA7B,OAA5B,CAAD,CAAP;AACH;;;WACD,mBAAUjkF,KAAV,EAAiB;AAAA;AAAA;;AACb,aAAO,cAAGz7B,MAAH,kKAAay7B,KAAK,CAACz4B,GAAN,CAAU,UAAA8K,IAAI;AAAA,eAAIA,IAAI,CAAC4tB,KAAL,CAAW,QAAX,CAAJ;AAAA,OAAd,CAAb,EAAP;AACH;;;;KAEL;AACA;;;IACMujF,W;AACF,yBAAc;AAAA;;AACV,SAAKU,OAAL,GAAe,IAAf;AACH;;;;WACD,eAAMb,KAAN,EAAajyF,GAAb,EAAkB;AACd,WAAK+yF,aAAL,GAAqB,IAArB;AACA,WAAKC,YAAL,GAAoB,EAApB;AACA,UAAMC,GAAG,GAAG,IAAItC,SAAJ,GAAgBt1G,KAAhB,CAAsB42G,KAAtB,EAA6BjyF,GAA7B,CAAZ;AACA,WAAK0gD,OAAL,GAAeuyC,GAAG,CAAC35D,MAAnB;AACA0Q,gBAAU,CAAC,IAAD,EAAOipD,GAAG,CAAC99C,SAAX,EAAsB,IAAtB,CAAV;AACA,aAAO;AACHk9C,mBAAW,EAAE,KAAKW,YADf;AAEH15D,cAAM,EAAE,KAAKonB,OAFV;AAGH3nC,cAAM,EAAE,KAAK+5E;AAHV,OAAP;AAKH;;;WACD,sBAAavgH,OAAb,EAAsByJ,OAAtB,EAA+B;AAC3B,cAAQzJ,OAAO,CAACZ,IAAhB;AACI,aAAK2/G,SAAL;AACI,eAAKyB,aAAL,GAAqB,IAArB;AACA,cAAMG,MAAM,GAAG3gH,OAAO,CAACE,KAAR,CAAc4pC,IAAd,CAAmB,UAAChB,IAAD;AAAA,mBAAUA,IAAI,CAAC1pC,IAAL,KAAc,IAAxB;AAAA,WAAnB,CAAf;;AACA,cAAI,CAACuhH,MAAL,EAAa;AACT,iBAAKC,SAAL,CAAe5gH,OAAf,aAA4B++G,SAA5B;AACH,WAFD,MAGK;AACD,gBAAMllG,EAAE,GAAG8mG,MAAM,CAAC9/G,KAAlB;;AACA,gBAAI,KAAK4/G,YAAL,CAAkBjiG,cAAlB,CAAiC3E,EAAjC,CAAJ,EAA0C;AACtC,mBAAK+mG,SAAL,CAAe5gH,OAAf,4CAA2D6Z,EAA3D;AACH,aAFD,MAGK;AACD49C,wBAAU,CAAC,IAAD,EAAOz3D,OAAO,CAACo6B,QAAf,EAAyB,IAAzB,CAAV;;AACA,kBAAI,OAAO,KAAKomF,aAAZ,KAA8B,QAAlC,EAA4C;AACxC,qBAAKC,YAAL,CAAkB5mG,EAAlB,IAAwB,KAAK2mG,aAA7B;AACH,eAFD,MAGK;AACD,qBAAKI,SAAL,CAAe5gH,OAAf,oBAAmC6Z,EAAnC;AACH;AACJ;AACJ;;AACD;AACJ;;AACA,aAAK8kG,aAAL;AACA,aAAKC,mBAAL;AACA,aAAKC,cAAL;AACI;;AACJ,aAAKC,WAAL;AACI,cAAM+B,cAAc,GAAG7gH,OAAO,CAACs6B,eAAR,CAAwB6C,GAAxB,CAA4B2gB,MAAnD;AACA,cAAMgjE,YAAY,GAAG9gH,OAAO,CAACu6B,aAAR,CAAsBqC,KAAtB,CAA4BkhB,MAAjD;AACA,cAAMtiB,OAAO,GAAGx7B,OAAO,CAACs6B,eAAR,CAAwBsC,KAAxB,CAA8BC,IAA9B,CAAmCrB,OAAnD;AACA,cAAMulF,SAAS,GAAGvlF,OAAO,CAAC59B,KAAR,CAAcijH,cAAd,EAA8BC,YAA9B,CAAlB;AACA,eAAKN,aAAL,GAAqBO,SAArB;AACA;;AACJ,aAAKrC,SAAL;AACI,cAAMsC,UAAU,GAAGhhH,OAAO,CAACE,KAAR,CAAc4pC,IAAd,CAAmB,UAAChB,IAAD;AAAA,mBAAUA,IAAI,CAAC1pC,IAAL,KAAc,iBAAxB;AAAA,WAAnB,CAAnB;;AACA,cAAI4hH,UAAJ,EAAgB;AACZ,iBAAKT,OAAL,GAAeS,UAAU,CAACngH,KAA1B;AACH;;AACD42D,oBAAU,CAAC,IAAD,EAAOz3D,OAAO,CAACo6B,QAAf,EAAyB,IAAzB,CAAV;AACA;;AACJ;AACI;AACA;AACAq9B,oBAAU,CAAC,IAAD,EAAOz3D,OAAO,CAACo6B,QAAf,EAAyB,IAAzB,CAAV;AA7CR;AA+CH;;;WACD,wBAAep4B,SAAf,EAA0ByH,OAA1B,EAAmC,CAAG;;;WACtC,mBAAUuG,IAAV,EAAgBvG,OAAhB,EAAyB,CAAG;;;WAC5B,sBAAamsC,OAAb,EAAsBnsC,OAAtB,EAA+B,CAAG;;;WAClC,wBAAe88D,SAAf,EAA0B98D,OAA1B,EAAmC,CAAG;;;WACtC,4BAAmB+8D,aAAnB,EAAkC/8D,OAAlC,EAA2C,CAAG;;;WAC9C,mBAAUiF,IAAV,EAAgBsxB,OAAhB,EAAyB;AACrB,WAAKmuC,OAAL,CAAaxtE,IAAb,CAAkB,IAAIg5G,SAAJ,CAAcjrG,IAAI,CAAC7C,UAAnB,EAA+Bm0B,OAA/B,CAAlB;AACH;;;;KAEL;;;IACMggF,S;;;;;;;WACF,iBAAQhgF,OAAR,EAAiBvS,GAAjB,EAAsB;AAAA;;AAClB,UAAMwzF,MAAM,GAAG,IAAI7C,SAAJ,GAAgBt1G,KAAhB,CAAsBk3B,OAAtB,EAA+BvS,GAA/B,EAAoC;AAAEosC,8BAAsB,EAAE;AAA1B,OAApC,CAAf;AACA,WAAKsU,OAAL,GAAe8yC,MAAM,CAACl6D,MAAtB;AACA,UAAMo5D,SAAS,GAAG,KAAKhyC,OAAL,CAAajvE,MAAb,GAAsB,CAAtB,IAA2B+hH,MAAM,CAACr+C,SAAP,CAAiB1jE,MAAjB,IAA2B,CAAtD,GACd,EADc,GAEd,cAAG0B,MAAH,kKAAa62D,UAAU,CAAC,IAAD,EAAOwpD,MAAM,CAACr+C,SAAd,CAAvB,EAFJ;AAGA,aAAO;AACHu9C,iBAAS,EAAEA,SADR;AAEHp5D,cAAM,EAAE,KAAKonB;AAFV,OAAP;AAIH;;;WACD,mBAAUn+D,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB,aAAO,IAAI4zB,MAAJ,CAAWrtB,IAAI,CAACnP,KAAhB,EAAuBmP,IAAI,CAACnE,UAA5B,CAAP;AACH;;;WACD,sBAAaw4D,EAAb,EAAiB56D,OAAjB,EAA0B;AACtB,UAAI46D,EAAE,CAACjlE,IAAH,KAAYo/G,kBAAhB,EAAoC;AAChC,YAAM0C,QAAQ,GAAG78C,EAAE,CAACnkE,KAAH,CAAS4pC,IAAT,CAAc,UAAChB,IAAD;AAAA,iBAAUA,IAAI,CAAC1pC,IAAL,KAAc,IAAxB;AAAA,SAAd,CAAjB;;AACA,YAAI8hH,QAAJ,EAAc;AACV,iBAAO,IAAIpjF,WAAJ,CAAgB,EAAhB,EAAoBojF,QAAQ,CAACrgH,KAA7B,EAAoCwjE,EAAE,CAACx4D,UAAvC,CAAP;AACH;;AACD,aAAK+0G,SAAL,CAAev8C,EAAf,aAAuBm6C,kBAAvB;;AACA,eAAO,IAAP;AACH;;AACD,UAAIn6C,EAAE,CAACjlE,IAAH,KAAYq/G,WAAhB,EAA6B;AAAA;;AACzB,eAAO,cAAG79G,MAAH,kKAAa62D,UAAU,CAAC,IAAD,EAAO4M,EAAE,CAACjqC,QAAV,CAAvB,EAAP;AACH;;AACD,WAAKwmF,SAAL,CAAev8C,EAAf;;AACA,aAAO,IAAP;AACH;;;WACD,wBAAe5oC,GAAf,EAAoBhyB,OAApB,EAA6B;AACzB,UAAM03G,OAAO,GAAG,EAAhB;AACA1pD,gBAAU,CAAC,IAAD,EAAOh8B,GAAG,CAACgC,KAAX,CAAV,CAA4Bt+B,OAA5B,CAAoC,UAACkH,CAAD,EAAO;AACvC86G,eAAO,CAAC96G,CAAC,CAACxF,KAAH,CAAP,GAAmB,IAAIy8B,SAAJ,CAAcj3B,CAAC,CAACg2B,KAAhB,EAAuBZ,GAAG,CAAC5vB,UAA3B,CAAnB;AACH,OAFD;AAGA,aAAO,IAAI2xB,KAAJ,CAAU/B,GAAG,CAACq7B,WAAd,EAA2Br7B,GAAG,CAAC7vB,IAA/B,EAAqCu1G,OAArC,EAA8C1lF,GAAG,CAAC5vB,UAAlD,CAAP;AACH;;;WACD,4BAAmBw7D,OAAnB,EAA4B59D,OAA5B,EAAqC;AACjC,aAAO;AACH5I,aAAK,EAAEwmE,OAAO,CAACxmE,KADZ;AAEHw7B,aAAK,EAAEo7B,UAAU,CAAC,IAAD,EAAO4P,OAAO,CAAC9mD,UAAf;AAFd,OAAP;AAIH;;;WACD,sBAAaq1B,OAAb,EAAsBnsC,OAAtB,EAA+B,CAAG;;;WAClC,wBAAezH,SAAf,EAA0ByH,OAA1B,EAAmC,CAAG;;;WACtC,mBAAUiF,IAAV,EAAgBsxB,OAAhB,EAAyB;AACrB,WAAKmuC,OAAL,CAAaxtE,IAAb,CAAkB,IAAIg5G,SAAJ,CAAcjrG,IAAI,CAAC7C,UAAnB,EAA+Bm0B,OAA/B,CAAlB;AACH;;;;;;AAEL,SAASqgF,cAAT,CAAwB1+G,GAAxB,EAA6B;AACzB,UAAQA,GAAG,CAACtC,WAAJ,EAAR;AACI,SAAK,IAAL;AACI,aAAO,IAAP;;AACJ,SAAK,KAAL;AACI,aAAO,OAAP;;AACJ;AACI,yBAAYsC,GAAZ;AANR;AAQH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMy/G,UAAU,GAAG,KAAnB;AACA,IAAMC,QAAQ,GAAG,uCAAjB,C,CACA;;AACA,IAAMC,sBAAsB,GAAG,IAA/B;AACA,IAAMC,kBAAkB,GAAG,IAA3B;AACA,IAAMC,yBAAyB,GAAG,IAAlC;AACA,IAAMC,aAAa,GAAG,KAAtB;AACA,IAAMC,UAAU,GAAG,OAAnB;AACA,IAAMC,aAAa,GAAG,QAAtB;AACA,IAAMC,aAAa,GAAG,QAAtB;AACA,IAAMC,WAAW,GAAG,MAApB,C,CACA;;IACMC,M;;;;;;;;;;;;;WACF,eAAMv7E,QAAN,EAAgBC,MAAhB,EAAwB;AACpB,UAAMh9B,OAAO,GAAG,IAAIu4G,eAAJ,EAAhB;AACA,UAAMC,KAAK,GAAG,EAAd;AACAz7E,cAAQ,CAACpnC,OAAT,CAAiB,UAAA6gC,OAAO,EAAI;AACxB,YAAMxG,IAAI,GAAG,IAAIiM,GAAJ,CAAQo8E,WAAR,EAAqB;AAAEhoG,YAAE,EAAEmmB,OAAO,CAACnmB;AAAd,SAArB,CAAb;AACA,YAAMooG,KAAK,GAAG,IAAIx8E,GAAJ,CAAQ,OAAR,CAAd;;AACA,YAAIzF,OAAO,CAACpvB,WAAR,IAAuBovB,OAAO,CAACnvB,OAAnC,EAA4C;AACxC,cAAImvB,OAAO,CAACpvB,WAAZ,EAAyB;AACrBqxG,iBAAK,CAAC7nF,QAAN,CAAez5B,IAAf,CAAoB,IAAIklC,EAAJ,CAAO,CAAP,CAApB,EAA+B,IAAIJ,GAAJ,CAAQ,MAAR,EAAgB;AAAEy8E,sBAAQ,EAAE;AAAZ,aAAhB,EAA6C,CAAC,IAAIv8E,MAAJ,CAAW3F,OAAO,CAACpvB,WAAnB,CAAD,CAA7C,CAA/B;AACH;;AACD,cAAIovB,OAAO,CAACnvB,OAAZ,EAAqB;AACjBoxG,iBAAK,CAAC7nF,QAAN,CAAez5B,IAAf,CAAoB,IAAIklC,EAAJ,CAAO,CAAP,CAApB,EAA+B,IAAIJ,GAAJ,CAAQ,MAAR,EAAgB;AAAEy8E,sBAAQ,EAAE;AAAZ,aAAhB,EAAyC,CAAC,IAAIv8E,MAAJ,CAAW3F,OAAO,CAACnvB,OAAnB,CAAD,CAAzC,CAA/B;AACH;AACJ;;AACDmvB,eAAO,CAACrD,OAAR,CAAgBx9B,OAAhB,CAAwB,UAAC2nC,MAAD,EAAY;AAChCm7E,eAAK,CAAC7nF,QAAN,CAAez5B,IAAf,CAAoB,IAAIklC,EAAJ,CAAO,CAAP,CAApB,EAA+B,IAAIJ,GAAJ,CAAQ,MAAR,EAAgB;AAAEy8E,oBAAQ,EAAE;AAAZ,WAAhB,EAA0C,CACrE,IAAIv8E,MAAJ,WAAcmB,MAAM,CAAChgB,QAArB,cAAiCggB,MAAM,CAAChK,SAAxC,SAAoDgK,MAAM,CAAC5J,OAAP,KAAmB4J,MAAM,CAAChK,SAA1B,GAAsC,MAAMgK,MAAM,CAAC5J,OAAnD,GAA6D,EAAjH,EADqE,CAA1C,CAA/B;AAGH,SAJD;AAKA+kF,aAAK,CAAC7nF,QAAN,CAAez5B,IAAf,CAAoB,IAAIklC,EAAJ,CAAO,CAAP,CAApB;AACArM,YAAI,CAACY,QAAL,CAAcz5B,IAAd,CAAmB,IAAIklC,EAAJ,CAAO,CAAP,CAAnB,EAA8Bo8E,KAA9B;AACA,YAAMxvE,OAAO,GAAG,IAAIhN,GAAJ,CAAQ,SAAR,CAAhB;AACAgN,eAAO,CAACrY,QAAR,CAAiBz5B,IAAjB,CAAsB,IAAIklC,EAAJ,CAAO,CAAP,CAAtB,EAAiC,IAAIJ,GAAJ,CAAQk8E,aAAR,EAAuB,EAAvB,EAA2Bn4G,OAAO,CAAC07B,SAAR,CAAkBlF,OAAO,CAAC3D,KAA1B,CAA3B,CAAjC,EAA+F,IAAIwJ,EAAJ,CAAO,CAAP,CAA/F;AACArM,YAAI,CAACY,QAAL,CAAcz5B,IAAd,CAAmB,IAAIklC,EAAJ,CAAO,CAAP,CAAnB,EAA8B4M,OAA9B,EAAuC,IAAI5M,EAAJ,CAAO,CAAP,CAAvC;AACAm8E,aAAK,CAACrhH,IAAN,CAAW,IAAIklC,EAAJ,CAAO,CAAP,CAAX,EAAsBrM,IAAtB;AACH,OAtBD;AAuBA,UAAMqD,IAAI,GAAG,IAAI4I,GAAJ,CAAQ,MAAR,EAAgB;AAAE,oBAAY,aAAd;AAA6B5rB,UAAE,EAAE;AAAjC,OAAhB,YAAiEmoG,KAAjE,GAAwE,IAAIn8E,EAAJ,CAAO,CAAP,CAAxE,GAAb;AACA,UAAM65E,KAAK,GAAG,IAAIj6E,GAAJ,CAAQi8E,UAAR,EAAoB;AAAE36E,eAAO,EAAEq6E,UAAX;AAAuBzB,aAAK,EAAE0B,QAA9B;AAAwCc,eAAO,EAAE37E,MAAM,IAAI86E;AAA3D,OAApB,EAAyG,CAAC,IAAIz7E,EAAJ,CAAO,CAAP,CAAD,EAAYhJ,IAAZ,EAAkB,IAAIgJ,EAAJ,EAAlB,CAAzG,CAAd;AACA,aAAOX,SAAS,CAAC,CACb,IAAIC,WAAJ,CAAgB;AAAE4B,eAAO,EAAE,KAAX;AAAkBC,gBAAQ,EAAE;AAA5B,OAAhB,CADa,EAC2C,IAAInB,EAAJ,EAD3C,EACqD65E,KADrD,EAC4D,IAAI75E,EAAJ,EAD5D,CAAD,CAAhB;AAGH;;;WACD,cAAKrK,OAAL,EAAc/N,GAAd,EAAmB;AACf;AACA,UAAM20F,YAAY,GAAG,IAAIC,YAAJ,EAArB;;AACA,gCAAwCD,YAAY,CAACt5G,KAAb,CAAmB0yB,OAAnB,EAA4B/N,GAA5B,CAAxC;AAAA,UAAQ+Y,MAAR,uBAAQA,MAAR;AAAA,UAAgBs5E,WAAhB,uBAAgBA,WAAhB;AAAA,UAA6B/4D,MAA7B,uBAA6BA,MAA7B,CAHe,CAIf;;;AACA,UAAMg5D,gBAAgB,GAAG,EAAzB;AACA,UAAM/nE,SAAS,GAAG,IAAIsqE,WAAJ,EAAlB;AACA98G,YAAM,CAAC+T,IAAP,CAAYumG,WAAZ,EAAyB3gH,OAAzB,CAAiC,UAAA8gH,KAAK,EAAI;AACtC,kCAAiCjoE,SAAS,CAACkoE,OAAV,CAAkBJ,WAAW,CAACG,KAAD,CAA7B,EAAsCxyF,GAAtC,CAAjC;AAAA,YAAQ0yF,SAAR,uBAAQA,SAAR;AAAA,YAA2BjyG,CAA3B,uBAAmB64C,MAAnB;;AACAA,cAAM,CAACpmD,IAAP,OAAAomD,MAAM,qJAAS74C,CAAT,EAAN;AACA6xG,wBAAgB,CAACE,KAAD,CAAhB,GAA0BE,SAA1B;AACH,OAJD;;AAKA,UAAIp5D,MAAM,CAAC7nD,MAAX,EAAmB;AACf,cAAM,IAAIvB,KAAJ,iCAAmCopD,MAAM,CAACzmD,IAAP,CAAY,IAAZ,CAAnC,EAAN;AACH;;AACD,aAAO;AAAEkmC,cAAM,EAAEA,MAAV;AAAkBu5E,wBAAgB,EAAhBA;AAAlB,OAAP;AACH;;;WACD,gBAAO//E,OAAP,EAAgB;AACZ,aAAOI,aAAa,CAACJ,OAAD,CAApB;AACH;;;;EApDgBgE,U;;IAsDf+9E,e;;;;;;;WACF,mBAAU/xG,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB,aAAO,CAAC,IAAIk8B,MAAJ,CAAW31B,IAAI,CAACnP,KAAhB,CAAD,CAAP;AACH;;;WACD,wBAAes9B,SAAf,EAA0B10B,OAA1B,EAAmC;AAAA;;AAC/B,UAAM4yB,KAAK,GAAG,EAAd;AACA8B,eAAS,CAAC/D,QAAV,CAAmBj7B,OAAnB,CAA2B,UAACuP,IAAD;AAAA,eAAU2tB,KAAK,CAAC17B,IAAN,OAAA07B,KAAK,qJAAS3tB,IAAI,CAAC4tB,KAAL,CAAW,QAAX,CAAT,EAAf;AAAA,OAA3B;AACA,aAAOD,KAAP;AACH;;;WACD,kBAASZ,GAAT,EAAchyB,OAAd,EAAuB;AAAA;;AACnB,UAAM4yB,KAAK,GAAG,CAAC,IAAIsJ,MAAJ,YAAelK,GAAG,CAAC4C,qBAAnB,eAA6C5C,GAAG,CAAC7vB,IAAjD,QAAD,CAAd;AACApG,YAAM,CAAC+T,IAAP,CAAYkiB,GAAG,CAACgC,KAAhB,EAAuBt+B,OAAvB,CAA+B,UAACkH,CAAD,EAAO;AAClCg2B,aAAK,CAAC17B,IAAN,OAAA07B,KAAK,GAAM,IAAIsJ,MAAJ,WAAct/B,CAAd,QAAN,4JAA+Bo1B,GAAG,CAACgC,KAAJ,CAAUp3B,CAAV,EAAai2B,KAAb,CAAmB,QAAnB,CAA/B,IAAyD,IAAIqJ,MAAJ,MAAzD,GAAL;AACH,OAFD;AAGAtJ,WAAK,CAAC17B,IAAN,CAAW,IAAIglC,MAAJ,KAAX;AACA,aAAOtJ,KAAP;AACH;;;WACD,6BAAoBiC,EAApB,EAAwB70B,OAAxB,EAAiC;AAAA;AAAA;;AAC7B,UAAMmC,IAAI,GAAG22G,aAAa,CAACjkF,EAAE,CAAC38B,GAAJ,CAA1B;;AACA,UAAI28B,EAAE,CAACx/B,MAAP,EAAe;AACX,YAAM0jH,KAAK,GAAG,IAAI/8E,GAAJ,CAAQ87E,kBAAR,EAA4B;AACtC1nG,YAAE,EAAE,CAAC,KAAK4oG,kBAAL,EAAD,EAA4BrkG,QAA5B,EADkC;AAEtCskG,eAAK,EAAEpkF,EAAE,CAACX,SAF4B;AAGtC/xB,cAAI,EAAEA,IAHgC;AAItC+2G,cAAI,aAAMrkF,EAAE,CAAC38B,GAAT;AAJkC,SAA5B,CAAd;AAMA,eAAO,CAAC6gH,KAAD,CAAP;AACH;;AACD,UAAMI,KAAK,GAAG,IAAIn9E,GAAJ,CAAQ+7E,yBAAR,EAAmC;AAC7C3nG,UAAE,EAAE,CAAC,KAAK4oG,kBAAL,EAAD,EAA4BrkG,QAA5B,EADyC;AAE7CykG,kBAAU,EAAEvkF,EAAE,CAACX,SAF8B;AAG7CmlF,gBAAQ,EAAExkF,EAAE,CAACV,SAHgC;AAI7ChyB,YAAI,EAAEA,IAJuC;AAK7Cm3G,iBAAS,aAAMzkF,EAAE,CAAC38B,GAAT,MALoC;AAM7CqhH,eAAO,cAAO1kF,EAAE,CAAC38B,GAAV;AANsC,OAAnC,CAAd;;AAQA,UAAM06B,KAAK,GAAG,cAAGz7B,MAAH,kKAAa09B,EAAE,CAAClE,QAAH,CAAYx2B,GAAZ,CAAgB,UAAA8K,IAAI;AAAA,eAAIA,IAAI,CAAC4tB,KAAL,CAAW,QAAX,CAAJ;AAAA,OAApB,CAAb,EAAd;;AACA,UAAID,KAAK,CAACn9B,MAAV,EAAkB;AACdm9B,aAAK,CAACl9B,OAAN,CAAc,UAACuP,IAAD;AAAA,iBAAUk0G,KAAK,CAACxoF,QAAN,CAAez5B,IAAf,CAAoB+N,IAApB,CAAV;AAAA,SAAd;AACH,OAFD,MAGK;AACDk0G,aAAK,CAACxoF,QAAN,CAAez5B,IAAf,CAAoB,IAAIglC,MAAJ,CAAW,EAAX,CAApB;AACH;;AACD,aAAO,CAACi9E,KAAD,CAAP;AACH;;;WACD,0BAAiBtkF,EAAjB,EAAqB70B,OAArB,EAA8B;AAC1B,UAAMw5G,KAAK,GAAG,CAAC,KAAKR,kBAAL,EAAD,EAA4BrkG,QAA5B,EAAd;AACA,aAAO,CAAC,IAAIqnB,GAAJ,CAAQ87E,kBAAR,EAA4B;AAC5B1nG,UAAE,EAAEopG,KADwB;AAE5BP,aAAK,EAAEpkF,EAAE,CAACl/B,IAFkB;AAG5BujH,YAAI,cAAOrkF,EAAE,CAACz9B,KAAV;AAHwB,OAA5B,CAAD,CAAP;AAKH;;;WACD,6BAAoBy9B,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7B,UAAMg0B,KAAK,GAAGj4B,MAAM,CAAC+T,IAAP,CAAY+kB,EAAE,CAACz9B,KAAH,CAAS48B,KAArB,EAA4B75B,GAA5B,CAAgC,UAAC/C,KAAD;AAAA,eAAWA,KAAK,GAAG,QAAnB;AAAA,OAAhC,EAA6DP,IAA7D,CAAkE,GAAlE,CAAd;AACA,UAAM2iH,KAAK,GAAG,CAAC,KAAKR,kBAAL,EAAD,EAA4BrkG,QAA5B,EAAd;AACA,aAAO,CAAC,IAAIqnB,GAAJ,CAAQ87E,kBAAR,EAA4B;AAAE1nG,UAAE,EAAEopG,KAAN;AAAaP,aAAK,EAAEpkF,EAAE,CAACl/B,IAAvB;AAA6BujH,YAAI,aAAMrkF,EAAE,CAACz9B,KAAH,CAAS0f,UAAf,eAA8B+d,EAAE,CAACz9B,KAAH,CAAS+K,IAAvC,eAAgD6xB,KAAhD;AAAjC,OAA5B,CAAD,CAAP;AACH;;;WACD,mBAAUpB,KAAV,EAAiB;AAAA;AAAA;;AACb,WAAKomF,kBAAL,GAA0B,CAA1B;AACA,aAAO,cAAG7hH,MAAH,kKAAay7B,KAAK,CAACz4B,GAAN,CAAU,UAAA8K,IAAI;AAAA,eAAIA,IAAI,CAAC4tB,KAAL,CAAW,QAAX,CAAJ;AAAA,OAAd,CAAb,EAAP;AACH;;;;KAEL;;;IACM+lF,Y;AACF,0BAAc;AAAA;;AACV,SAAK9B,OAAL,GAAe,IAAf;AACH;;;;WACD,eAAMb,KAAN,EAAajyF,GAAb,EAAkB;AACd,WAAK+yF,aAAL,GAAqB,IAArB;AACA,WAAKC,YAAL,GAAoB,EAApB;AACA,UAAMC,GAAG,GAAG,IAAItC,SAAJ,GAAgBt1G,KAAhB,CAAsB42G,KAAtB,EAA6BjyF,GAA7B,CAAZ;AACA,WAAK0gD,OAAL,GAAeuyC,GAAG,CAAC35D,MAAnB;AACA0Q,gBAAU,CAAC,IAAD,EAAOipD,GAAG,CAAC99C,SAAX,EAAsB,IAAtB,CAAV;AACA,aAAO;AACHk9C,mBAAW,EAAE,KAAKW,YADf;AAEH15D,cAAM,EAAE,KAAKonB,OAFV;AAGH3nC,cAAM,EAAE,KAAK+5E;AAHV,OAAP;AAKH;;;WACD,sBAAavgH,OAAb,EAAsByJ,OAAtB,EAA+B;AAC3B,cAAQzJ,OAAO,CAACZ,IAAhB;AACI,aAAKyiH,WAAL;AACI,eAAKrB,aAAL,GAAqB,IAArB;AACA,cAAMG,MAAM,GAAG3gH,OAAO,CAACE,KAAR,CAAc4pC,IAAd,CAAmB,UAAChB,IAAD;AAAA,mBAAUA,IAAI,CAAC1pC,IAAL,KAAc,IAAxB;AAAA,WAAnB,CAAf;;AACA,cAAI,CAACuhH,MAAL,EAAa;AACT,iBAAKC,SAAL,CAAe5gH,OAAf,aAA4B6hH,WAA5B;AACH,WAFD,MAGK;AACD,gBAAMhoG,EAAE,GAAG8mG,MAAM,CAAC9/G,KAAlB;;AACA,gBAAI,KAAK4/G,YAAL,CAAkBjiG,cAAlB,CAAiC3E,EAAjC,CAAJ,EAA0C;AACtC,mBAAK+mG,SAAL,CAAe5gH,OAAf,4CAA2D6Z,EAA3D;AACH,aAFD,MAGK;AACD49C,wBAAU,CAAC,IAAD,EAAOz3D,OAAO,CAACo6B,QAAf,EAAyB,IAAzB,CAAV;;AACA,kBAAI,OAAO,KAAKomF,aAAZ,KAA8B,QAAlC,EAA4C;AACxC,qBAAKC,YAAL,CAAkB5mG,EAAlB,IAAwB,KAAK2mG,aAA7B;AACH,eAFD,MAGK;AACD,qBAAKI,SAAL,CAAe5gH,OAAf,oBAAmC6Z,EAAnC;AACH;AACJ;AACJ;;AACD;;AACJ,aAAK8nG,aAAL;AACI;AACA;;AACJ,aAAKC,aAAL;AACI,cAAMf,cAAc,GAAG7gH,OAAO,CAACs6B,eAAR,CAAwB6C,GAAxB,CAA4B2gB,MAAnD;AACA,cAAMgjE,YAAY,GAAG9gH,OAAO,CAACu6B,aAAR,CAAsBqC,KAAtB,CAA4BkhB,MAAjD;AACA,cAAMtiB,OAAO,GAAGx7B,OAAO,CAACs6B,eAAR,CAAwBsC,KAAxB,CAA8BC,IAA9B,CAAmCrB,OAAnD;AACA,cAAMulF,SAAS,GAAGvlF,OAAO,CAAC59B,KAAR,CAAcijH,cAAd,EAA8BC,YAA9B,CAAlB;AACA,eAAKN,aAAL,GAAqBO,SAArB;AACA;;AACJ,aAAKW,UAAL;AACI,cAAMV,UAAU,GAAGhhH,OAAO,CAACE,KAAR,CAAc4pC,IAAd,CAAmB,UAAChB,IAAD;AAAA,mBAAUA,IAAI,CAAC1pC,IAAL,KAAc,SAAxB;AAAA,WAAnB,CAAnB;;AACA,cAAI4hH,UAAJ,EAAgB;AACZ,iBAAKT,OAAL,GAAeS,UAAU,CAACngH,KAA1B;AACH;;AACD,cAAMqiH,WAAW,GAAGljH,OAAO,CAACE,KAAR,CAAc4pC,IAAd,CAAmB,UAAChB,IAAD;AAAA,mBAAUA,IAAI,CAAC1pC,IAAL,KAAc,SAAxB;AAAA,WAAnB,CAApB;;AACA,cAAI8jH,WAAJ,EAAiB;AACb,gBAAMn8E,OAAO,GAAGm8E,WAAW,CAACriH,KAA5B;;AACA,gBAAIkmC,OAAO,KAAK,KAAhB,EAAuB;AACnB,mBAAK65E,SAAL,CAAe5gH,OAAf,mCAAkD+mC,OAAlD;AACH,aAFD,MAGK;AACD0wB,wBAAU,CAAC,IAAD,EAAOz3D,OAAO,CAACo6B,QAAf,EAAyB,IAAzB,CAAV;AACH;AACJ;;AACD;;AACJ;AACIq9B,oBAAU,CAAC,IAAD,EAAOz3D,OAAO,CAACo6B,QAAf,EAAyB,IAAzB,CAAV;AAlDR;AAoDH;;;WACD,wBAAep4B,SAAf,EAA0ByH,OAA1B,EAAmC,CAAG;;;WACtC,mBAAUuG,IAAV,EAAgBvG,OAAhB,EAAyB,CAAG;;;WAC5B,sBAAamsC,OAAb,EAAsBnsC,OAAtB,EAA+B,CAAG;;;WAClC,wBAAe88D,SAAf,EAA0B98D,OAA1B,EAAmC,CAAG;;;WACtC,4BAAmB+8D,aAAnB,EAAkC/8D,OAAlC,EAA2C,CAAG;;;WAC9C,mBAAUiF,IAAV,EAAgBsxB,OAAhB,EAAyB;AACrB,WAAKmuC,OAAL,CAAaxtE,IAAb,CAAkB,IAAIg5G,SAAJ,CAAcjrG,IAAI,CAAC7C,UAAnB,EAA+Bm0B,OAA/B,CAAlB;AACH;;;;KAEL;;;IACMsiF,W;;;;;;;WACF,iBAAQtiF,OAAR,EAAiBvS,GAAjB,EAAsB;AAAA;;AAClB,UAAMwzF,MAAM,GAAG,IAAI7C,SAAJ,GAAgBt1G,KAAhB,CAAsBk3B,OAAtB,EAA+BvS,GAA/B,EAAoC;AAAEosC,8BAAsB,EAAE;AAA1B,OAApC,CAAf;AACA,WAAKsU,OAAL,GAAe8yC,MAAM,CAACl6D,MAAtB;AACA,UAAMo5D,SAAS,GAAG,KAAKhyC,OAAL,CAAajvE,MAAb,GAAsB,CAAtB,IAA2B+hH,MAAM,CAACr+C,SAAP,CAAiB1jE,MAAjB,IAA2B,CAAtD,GACd,EADc,GAEd,cAAG0B,MAAH,kKAAa62D,UAAU,CAAC,IAAD,EAAOwpD,MAAM,CAACr+C,SAAd,CAAvB,EAFJ;AAGA,aAAO;AACHu9C,iBAAS,EAATA,SADG;AAEHp5D,cAAM,EAAE,KAAKonB;AAFV,OAAP;AAIH;;;WACD,mBAAUn+D,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB,aAAO,IAAI4zB,MAAJ,CAAWrtB,IAAI,CAACnP,KAAhB,EAAuBmP,IAAI,CAACnE,UAA5B,CAAP;AACH;;;WACD,sBAAaw4D,EAAb,EAAiB56D,OAAjB,EAA0B;AAAA;AAAA;;AACtB,cAAQ46D,EAAE,CAACjlE,IAAX;AACI,aAAKmiH,kBAAL;AACI,cAAML,QAAQ,GAAG78C,EAAE,CAACnkE,KAAH,CAAS4pC,IAAT,CAAc,UAAChB,IAAD;AAAA,mBAAUA,IAAI,CAAC1pC,IAAL,KAAc,OAAxB;AAAA,WAAd,CAAjB;;AACA,cAAI8hH,QAAJ,EAAc;AACV,mBAAO,CAAC,IAAIpjF,WAAJ,CAAgB,EAAhB,EAAoBojF,QAAQ,CAACrgH,KAA7B,EAAoCwjE,EAAE,CAACx4D,UAAvC,CAAD,CAAP;AACH;;AACD,eAAK+0G,SAAL,CAAev8C,EAAf,aAAuBk9C,kBAAvB;;AACA;;AACJ,aAAKC,yBAAL;AACI,cAAM2B,SAAS,GAAG9+C,EAAE,CAACnkE,KAAH,CAAS4pC,IAAT,CAAc,UAAChB,IAAD;AAAA,mBAAUA,IAAI,CAAC1pC,IAAL,KAAc,YAAxB;AAAA,WAAd,CAAlB;AACA,cAAMgkH,OAAO,GAAG/+C,EAAE,CAACnkE,KAAH,CAAS4pC,IAAT,CAAc,UAAChB,IAAD;AAAA,mBAAUA,IAAI,CAAC1pC,IAAL,KAAc,UAAxB;AAAA,WAAd,CAAhB;;AACA,cAAI,CAAC+jH,SAAL,EAAgB;AACZ,iBAAKvC,SAAL,CAAev8C,EAAf,aAAuBk9C,kBAAvB;AACH,WAFD,MAGK,IAAI,CAAC6B,OAAL,EAAc;AACf,iBAAKxC,SAAL,CAAev8C,EAAf,aAAuBk9C,kBAAvB;AACH,WAFI,MAGA;AACD,gBAAM8B,OAAO,GAAGF,SAAS,CAACtiH,KAA1B;AACA,gBAAMyiH,KAAK,GAAGF,OAAO,CAACviH,KAAtB;AACA,gBAAMw7B,KAAK,GAAG,EAAd;AACA,mBAAOA,KAAK,CAACz7B,MAAN,OAAAy7B,KAAK,GAAQ,IAAIyB,WAAJ,CAAgB,EAAhB,EAAoBulF,OAApB,EAA6Bh/C,EAAE,CAACx4D,UAAhC,CAAR,4JAAwDw4D,EAAE,CAACjqC,QAAH,CAAYx2B,GAAZ,CAAgB,UAAA8K,IAAI;AAAA,qBAAIA,IAAI,CAAC4tB,KAAL,CAAW,QAAX,EAAiB,IAAjB,CAAJ;AAAA,aAApB,CAAxD,IAAyG,IAAIwB,WAAJ,CAAgB,EAAhB,EAAoBwlF,KAApB,EAA2Bj/C,EAAE,CAACx4D,UAA9B,CAAzG,GAAZ;AACH;;AACD;;AACJ,aAAK41G,aAAL;AACI,iBAAO,cAAG7gH,MAAH,kKAAa62D,UAAU,CAAC,IAAD,EAAO4M,EAAE,CAACjqC,QAAV,CAAvB,EAAP;;AACJ;AACI,eAAKwmF,SAAL,CAAev8C,EAAf;;AA3BR;;AA6BA,aAAO,IAAP;AACH;;;WACD,wBAAe5oC,GAAf,EAAoBhyB,OAApB,EAA6B;AACzB,UAAM03G,OAAO,GAAG,EAAhB;AACA1pD,gBAAU,CAAC,IAAD,EAAOh8B,GAAG,CAACgC,KAAX,CAAV,CAA4Bt+B,OAA5B,CAAoC,UAACkH,CAAD,EAAO;AACvC86G,eAAO,CAAC96G,CAAC,CAACxF,KAAH,CAAP,GAAmB,IAAIy8B,SAAJ,CAAcj3B,CAAC,CAACg2B,KAAhB,EAAuBZ,GAAG,CAAC5vB,UAA3B,CAAnB;AACH,OAFD;AAGA,aAAO,IAAI2xB,KAAJ,CAAU/B,GAAG,CAACq7B,WAAd,EAA2Br7B,GAAG,CAAC7vB,IAA/B,EAAqCu1G,OAArC,EAA8C1lF,GAAG,CAAC5vB,UAAlD,CAAP;AACH;;;WACD,4BAAmBw7D,OAAnB,EAA4B59D,OAA5B,EAAqC;AAAA;;AACjC,aAAO;AACH5I,aAAK,EAAEwmE,OAAO,CAACxmE,KADZ;AAEHw7B,aAAK,EAAE,cAAGz7B,MAAH,kKAAa62D,UAAU,CAAC,IAAD,EAAO4P,OAAO,CAAC9mD,UAAf,CAAvB;AAFJ,OAAP;AAIH;;;WACD,sBAAaq1B,OAAb,EAAsBnsC,OAAtB,EAA+B,CAAG;;;WAClC,wBAAezH,SAAf,EAA0ByH,OAA1B,EAAmC,CAAG;;;WACtC,mBAAUiF,IAAV,EAAgBsxB,OAAhB,EAAyB;AACrB,WAAKmuC,OAAL,CAAaxtE,IAAb,CAAkB,IAAIg5G,SAAJ,CAAcjrG,IAAI,CAAC7C,UAAnB,EAA+Bm0B,OAA/B,CAAlB;AACH;;;;;;AAEL,SAASuiF,aAAT,CAAuB5gH,GAAvB,EAA4B;AACxB,UAAQA,GAAG,CAACtC,WAAJ,EAAR;AACI,SAAK,IAAL;AACA,SAAK,GAAL;AACA,SAAK,GAAL;AACA,SAAK,GAAL;AACI,aAAO,KAAP;;AACJ,SAAK,KAAL;AACI,aAAO,OAAP;;AACJ,SAAK,GAAL;AACI,aAAO,MAAP;;AACJ;AACI,aAAO,OAAP;AAXR;AAaH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMkkH,iBAAiB,GAAG,mBAA1B;AACA,IAAMC,gBAAgB,GAAG,aAAzB;AACA,IAAMC,kBAAkB,GAAG,IAA3B;;IACMC,G;;;;;;;;;;;;;WACF,eAAMn9E,QAAN,EAAgBC,MAAhB,EAAwB;AACpB,YAAM,IAAI7oC,KAAJ,CAAU,aAAV,CAAN;AACH;;;WACD,cAAK69B,OAAL,EAAc/N,GAAd,EAAmB;AACf;AACA,UAAMk2F,SAAS,GAAG,IAAIC,SAAJ,EAAlB;;AACA,6BAAwCD,SAAS,CAAC76G,KAAV,CAAgB0yB,OAAhB,EAAyB/N,GAAzB,CAAxC;AAAA,UAAQ+Y,MAAR,oBAAQA,MAAR;AAAA,UAAgBs5E,WAAhB,oBAAgBA,WAAhB;AAAA,UAA6B/4D,MAA7B,oBAA6BA,MAA7B,CAHe,CAIf;;;AACA,UAAMg5D,gBAAgB,GAAG,EAAzB;AACA,UAAM/nE,SAAS,GAAG,IAAI6rE,WAAJ,EAAlB,CANe,CAOf;AACA;AACA;;AACAr+G,YAAM,CAAC+T,IAAP,CAAYumG,WAAZ,EAAyB3gH,OAAzB,CAAiC,UAAA8gH,KAAK,EAAI;AACtC,YAAM6D,OAAO,GAAG,SAAVA,OAAU,GAAY;AACxB,oCAA8B9rE,SAAS,CAACkoE,OAAV,CAAkBJ,WAAW,CAACG,KAAD,CAA7B,EAAsCxyF,GAAtC,CAA9B;AAAA,cAAQ0yF,SAAR,uBAAQA,SAAR;AAAA,cAAmBp5D,MAAnB,uBAAmBA,MAAnB;;AACA,cAAIA,MAAM,CAAC7nD,MAAX,EAAmB;AACf,kBAAM,IAAIvB,KAAJ,8BAAgCopD,MAAM,CAACzmD,IAAP,CAAY,IAAZ,CAAhC,EAAN;AACH;;AACD,iBAAO6/G,SAAP;AACH,SAND;;AAOA4D,0BAAkB,CAAChE,gBAAD,EAAmBE,KAAnB,EAA0B6D,OAA1B,CAAlB;AACH,OATD;;AAUA,UAAI/8D,MAAM,CAAC7nD,MAAX,EAAmB;AACf,cAAM,IAAIvB,KAAJ,8BAAgCopD,MAAM,CAACzmD,IAAP,CAAY,IAAZ,CAAhC,EAAN;AACH;;AACD,aAAO;AAAEkmC,cAAM,EAAEA,MAAV;AAAkBu5E,wBAAgB,EAAhBA;AAAlB,OAAP;AACH;;;WACD,gBAAO//E,OAAP,EAAgB;AACZ,aAAOkH,QAAQ,CAAClH,OAAD,CAAf;AACH;;;WACD,0BAAiBA,OAAjB,EAA0B;AACtB,aAAO,IAAIiE,uBAAJ,CAA4BjE,OAA5B,EAAqCmH,YAArC,CAAP;AACH;;;;EAlCanD,U;;AAoClB,SAAS+/E,kBAAT,CAA4Bx9E,QAA5B,EAAsC1sB,EAAtC,EAA0CiqG,OAA1C,EAAmD;AAC/Ct+G,QAAM,CAACw+G,cAAP,CAAsBz9E,QAAtB,EAAgC1sB,EAAhC,EAAoC;AAChCoqG,gBAAY,EAAE,IADkB;AAEhCC,cAAU,EAAE,IAFoB;AAGhC1gH,OAAG,EAAE,eAAY;AACb,UAAM3C,KAAK,GAAGijH,OAAO,EAArB;AACAt+G,YAAM,CAACw+G,cAAP,CAAsBz9E,QAAtB,EAAgC1sB,EAAhC,EAAoC;AAAEqqG,kBAAU,EAAE,IAAd;AAAoBrjH,aAAK,EAALA;AAApB,OAApC;AACA,aAAOA,KAAP;AACH,KAP+B;AAQhC4C,OAAG,EAAE,aAAAiuD,CAAC,EAAI;AACN,YAAM,IAAI/zD,KAAJ,CAAU,wCAAV,CAAN;AACH;AAV+B,GAApC;AAYH,C,CACD;;;IACMimH,S;AACF,uBAAc;AAAA;;AACV,SAAKrD,OAAL,GAAe,IAAf;AACH;;;;WACD,eAAM4D,GAAN,EAAW12F,GAAX,EAAgB;AACZ,WAAK22F,YAAL,GAAoB,CAApB;AACA,WAAK3D,YAAL,GAAoB,EAApB,CAFY,CAGZ;AACA;;AACA,UAAMC,GAAG,GAAG,IAAItC,SAAJ,GAAgBt1G,KAAhB,CAAsBq7G,GAAtB,EAA2B12F,GAA3B,CAAZ;AACA,WAAK0gD,OAAL,GAAeuyC,GAAG,CAAC35D,MAAnB;AACA0Q,gBAAU,CAAC,IAAD,EAAOipD,GAAG,CAAC99C,SAAX,CAAV;AACA,aAAO;AACHk9C,mBAAW,EAAE,KAAKW,YADf;AAEH15D,cAAM,EAAE,KAAKonB,OAFV;AAGH3nC,cAAM,EAAE,KAAK+5E;AAHV,OAAP;AAKH;;;WACD,sBAAavgH,OAAb,EAAsByJ,OAAtB,EAA+B;AAC3B,cAAQzJ,OAAO,CAACZ,IAAhB;AACI,aAAKmkH,iBAAL;AACI,eAAKa,YAAL;;AACA,cAAI,KAAKA,YAAL,GAAoB,CAAxB,EAA2B;AACvB,iBAAKxD,SAAL,CAAe5gH,OAAf,aAA4BujH,iBAA5B;AACH;;AACD,cAAMc,QAAQ,GAAGrkH,OAAO,CAACE,KAAR,CAAc4pC,IAAd,CAAmB,UAAChB,IAAD;AAAA,mBAAUA,IAAI,CAAC1pC,IAAL,KAAc,MAAxB;AAAA,WAAnB,CAAjB;;AACA,cAAIilH,QAAJ,EAAc;AACV,iBAAK9D,OAAL,GAAe8D,QAAQ,CAACxjH,KAAxB;AACH;;AACD42D,oBAAU,CAAC,IAAD,EAAOz3D,OAAO,CAACo6B,QAAf,EAAyB,IAAzB,CAAV;AACA,eAAKgqF,YAAL;AACA;;AACJ,aAAKZ,gBAAL;AACI,cAAM7C,MAAM,GAAG3gH,OAAO,CAACE,KAAR,CAAc4pC,IAAd,CAAmB,UAAChB,IAAD;AAAA,mBAAUA,IAAI,CAAC1pC,IAAL,KAAc,IAAxB;AAAA,WAAnB,CAAf;;AACA,cAAI,CAACuhH,MAAL,EAAa;AACT,iBAAKC,SAAL,CAAe5gH,OAAf,aAA4BwjH,gBAA5B;AACH,WAFD,MAGK;AACD,gBAAM3pG,EAAE,GAAG8mG,MAAM,CAAC9/G,KAAlB;;AACA,gBAAI,KAAK4/G,YAAL,CAAkBjiG,cAAlB,CAAiC3E,EAAjC,CAAJ,EAA0C;AACtC,mBAAK+mG,SAAL,CAAe5gH,OAAf,4CAA2D6Z,EAA3D;AACH,aAFD,MAGK;AACD,kBAAMgnG,cAAc,GAAG7gH,OAAO,CAACs6B,eAAR,CAAwB6C,GAAxB,CAA4B2gB,MAAnD;AACA,kBAAMgjE,YAAY,GAAG9gH,OAAO,CAACu6B,aAAR,CAAsBqC,KAAtB,CAA4BkhB,MAAjD;AACA,kBAAMtiB,OAAO,GAAGx7B,OAAO,CAACs6B,eAAR,CAAwBsC,KAAxB,CAA8BC,IAA9B,CAAmCrB,OAAnD;AACA,kBAAMulF,SAAS,GAAGvlF,OAAO,CAAC59B,KAAR,CAAcijH,cAAd,EAA8BC,YAA9B,CAAlB;AACA,mBAAKL,YAAL,CAAkB5mG,EAAlB,IAAwBknG,SAAxB;AACH;AACJ;;AACD;;AACJ;AACI,eAAKH,SAAL,CAAe5gH,OAAf,EAAwB,gBAAxB;;AAjCR;AAmCH;;;WACD,wBAAegC,SAAf,EAA0ByH,OAA1B,EAAmC,CAAG;;;WACtC,mBAAUuG,IAAV,EAAgBvG,OAAhB,EAAyB,CAAG;;;WAC5B,sBAAamsC,OAAb,EAAsBnsC,OAAtB,EAA+B,CAAG;;;WAClC,wBAAe88D,SAAf,EAA0B98D,OAA1B,EAAmC,CAAG;;;WACtC,4BAAmB+8D,aAAnB,EAAkC/8D,OAAlC,EAA2C,CAAG;;;WAC9C,mBAAUiF,IAAV,EAAgBsxB,OAAhB,EAAyB;AACrB,WAAKmuC,OAAL,CAAaxtE,IAAb,CAAkB,IAAIg5G,SAAJ,CAAcjrG,IAAI,CAAC7C,UAAnB,EAA+Bm0B,OAA/B,CAAlB;AACH;;;;KAEL;;;IACM6jF,W;;;;;;;WACF,iBAAQ7jF,OAAR,EAAiBvS,GAAjB,EAAsB;AAClB,UAAMwzF,MAAM,GAAG,IAAI7C,SAAJ,GAAgBt1G,KAAhB,CAAsBk3B,OAAtB,EAA+BvS,GAA/B,EAAoC;AAAEosC,8BAAsB,EAAE;AAA1B,OAApC,CAAf;AACA,WAAKsU,OAAL,GAAe8yC,MAAM,CAACl6D,MAAtB;AACA,UAAMo5D,SAAS,GAAG,KAAKhyC,OAAL,CAAajvE,MAAb,GAAsB,CAAtB,IAA2B+hH,MAAM,CAACr+C,SAAP,CAAiB1jE,MAAjB,IAA2B,CAAtD,GACd,EADc,GAEdu4D,UAAU,CAAC,IAAD,EAAOwpD,MAAM,CAACr+C,SAAd,CAFd;AAGA,aAAO;AACHu9C,iBAAS,EAATA,SADG;AAEHp5D,cAAM,EAAE,KAAKonB;AAFV,OAAP;AAIH;;;WACD,mBAAUn+D,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB,aAAO,IAAI4zB,MAAJ,CAAWrtB,IAAI,CAACnP,KAAhB,EAAuBmP,IAAI,CAACnE,UAA5B,CAAP;AACH;;;WACD,wBAAe4vB,GAAf,EAAoBhyB,OAApB,EAA6B;AACzB,UAAM03G,OAAO,GAAG,EAAhB;AACA1pD,gBAAU,CAAC,IAAD,EAAOh8B,GAAG,CAACgC,KAAX,CAAV,CAA4Bt+B,OAA5B,CAAoC,UAAAkH,CAAC,EAAI;AACrC86G,eAAO,CAAC96G,CAAC,CAACxF,KAAH,CAAP,GAAmB,IAAIy8B,SAAJ,CAAcj3B,CAAC,CAACg2B,KAAhB,EAAuBZ,GAAG,CAAC5vB,UAA3B,CAAnB;AACH,OAFD;AAGA,aAAO,IAAI2xB,KAAJ,CAAU/B,GAAG,CAACq7B,WAAd,EAA2Br7B,GAAG,CAAC7vB,IAA/B,EAAqCu1G,OAArC,EAA8C1lF,GAAG,CAAC5vB,UAAlD,CAAP;AACH;;;WACD,4BAAmBw7D,OAAnB,EAA4B59D,OAA5B,EAAqC;AACjC,aAAO;AACH5I,aAAK,EAAEwmE,OAAO,CAACxmE,KADZ;AAEHw7B,aAAK,EAAEo7B,UAAU,CAAC,IAAD,EAAO4P,OAAO,CAAC9mD,UAAf;AAFd,OAAP;AAIH;;;WACD,sBAAa8jD,EAAb,EAAiB56D,OAAjB,EAA0B;AACtB,UAAI46D,EAAE,CAACjlE,IAAH,KAAYqkH,kBAAhB,EAAoC;AAChC,YAAMvC,QAAQ,GAAG78C,EAAE,CAACnkE,KAAH,CAAS4pC,IAAT,CAAc,UAAChB,IAAD;AAAA,iBAAUA,IAAI,CAAC1pC,IAAL,KAAc,MAAxB;AAAA,SAAd,CAAjB;;AACA,YAAI8hH,QAAJ,EAAc;AACV,iBAAO,IAAIpjF,WAAJ,CAAgB,EAAhB,EAAoBojF,QAAQ,CAACrgH,KAA7B,EAAoCwjE,EAAE,CAACx4D,UAAvC,CAAP;AACH;;AACD,aAAK+0G,SAAL,CAAev8C,EAAf,aAAuBo/C,kBAAvB;AACH,OAND,MAOK;AACD,aAAK7C,SAAL,CAAev8C,EAAf;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,sBAAazuB,OAAb,EAAsBnsC,OAAtB,EAA+B,CAAG;;;WAClC,wBAAezH,SAAf,EAA0ByH,OAA1B,EAAmC,CAAG;;;WACtC,mBAAUiF,IAAV,EAAgBsxB,OAAhB,EAAyB;AACrB,WAAKmuC,OAAL,CAAaxtE,IAAb,CAAkB,IAAIg5G,SAAJ,CAAcjrG,IAAI,CAAC7C,UAAnB,EAA+Bm0B,OAA/B,CAAlB;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;IACMskF,iB;AACF,+BAA6I;AAAA,QAAjIC,iBAAiI,uEAA7G,EAA6G;;AAAA,QAAzG/9E,MAAyG;AAAA,QAAjGzG,MAAiG;AAAA,QAAzFykF,aAAyF;AAAA,QAA1EC,0BAA0E,uEAA7Cz8G,0BAA0B,CAAC08G,OAAkB;AAAA,QAAT3I,OAAS;;AAAA;;AACzI,SAAKwI,iBAAL,GAAyBA,iBAAzB;AACA,SAAKxkF,MAAL,GAAcA,MAAd;AACA,SAAKykF,aAAL,GAAqBA,aAArB;AACA,SAAKG,WAAL,GAAmB,IAAIC,iBAAJ,CAAsBL,iBAAtB,EAAyC/9E,MAAzC,EAAiDzG,MAAjD,EAAyDykF,aAAzD,EAAwEC,0BAAxE,EAAoG1I,OAApG,CAAnB;AACH,G,CACD;;;;;WAOA;AACA,iBAAI8I,MAAJ,EAAY;AACR,UAAMC,IAAI,GAAG,KAAKH,WAAL,CAAiBzE,OAAjB,CAAyB2E,MAAzB,CAAb;;AACA,UAAIC,IAAI,CAAC/9D,MAAL,CAAY7nD,MAAhB,EAAwB;AACpB,cAAM,IAAIvB,KAAJ,CAAUmnH,IAAI,CAAC/9D,MAAL,CAAYzmD,IAAZ,CAAiB,IAAjB,CAAV,CAAN;AACH;;AACD,aAAOwkH,IAAI,CAACzoF,KAAZ;AACH;;;WACD,aAAIwoF,MAAJ,EAAY;AACR,aAAO,KAAK9kF,MAAL,CAAY8kF,MAAZ,KAAuB,KAAKN,iBAAnC;AACH;;;WAhBD,cAAY/oF,OAAZ,EAAqB/N,GAArB,EAA0B0oE,UAA1B,EAAsCsuB,0BAAtC,EAAkE1I,OAAlE,EAA2E;AACvE,6BAAqC5lB,UAAU,CAAC4uB,IAAX,CAAgBvpF,OAAhB,EAAyB/N,GAAzB,CAArC;AAAA,UAAQ+Y,MAAR,oBAAQA,MAAR;AAAA,UAAgBu5E,gBAAhB,oBAAgBA,gBAAhB;;AACA,UAAMiF,QAAQ,GAAG,SAAXA,QAAW,CAAC5uG,CAAD;AAAA,eAAO+/E,UAAU,CAACp2D,MAAX,CAAkB3pB,CAAlB,CAAP;AAAA,OAAjB;;AACA,UAAMouG,aAAa,GAAG,SAAhBA,aAAgB,CAACpuG,CAAD;AAAA,eAAO+/E,UAAU,CAAC8uB,gBAAX,CAA4B7uG,CAA5B,CAAP;AAAA,OAAtB;;AACA,aAAO,IAAIkuG,iBAAJ,CAAsBvE,gBAAtB,EAAwCv5E,MAAxC,EAAgDw+E,QAAhD,EAA0DR,aAA1D,EAAyEC,0BAAzE,EAAqG1I,OAArG,CAAP;AACH;;;;;;IAaC6I,iB;AACF,+BAA6G;AAAA,QAAjGL,iBAAiG,uEAA7E,EAA6E;;AAAA,QAAzEhE,OAAyE;;AAAA,QAAhE2E,OAAgE;;AAAA,QAAvDC,cAAuD;;AAAA,QAAvCC,2BAAuC;;AAAA,QAAVzsC,QAAU;;AAAA;;AACzG,SAAK4rC,iBAAL,GAAyBA,iBAAzB;AACA,SAAKhE,OAAL,GAAeA,OAAf;AACA,SAAK2E,OAAL,GAAeA,OAAf;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,2BAAL,GAAmCA,2BAAnC;AACA,SAAKzsC,QAAL,GAAgBA,QAAhB;AACA,SAAK0sC,aAAL,GAAqB,EAArB;AACA,SAAKl3C,OAAL,GAAe,EAAf;AACH;;;;WACD,iBAAQ02C,MAAR,EAAgB;AACZ,WAAKQ,aAAL,CAAmBnmH,MAAnB,GAA4B,CAA5B;AACA,WAAKivE,OAAL,CAAajvE,MAAb,GAAsB,CAAtB,CAFY,CAGZ;;AACA,UAAM8Q,IAAI,GAAG,KAAKs1G,cAAL,CAAoBT,MAApB,CAAb,CAJY,CAKZ;;;AACA,UAAMp3F,GAAG,GAAGo3F,MAAM,CAACxoF,KAAP,CAAa,CAAb,EAAgBxwB,UAAhB,CAA2B+wB,KAA3B,CAAiCC,IAAjC,CAAsCpP,GAAlD;AACA,UAAMq3F,IAAI,GAAG,IAAIp/C,UAAJ,GAAiB58D,KAAjB,CAAuBkH,IAAvB,EAA6Byd,GAA7B,EAAkC;AAAEosC,8BAAsB,EAAE;AAA1B,OAAlC,CAAb;AACA,aAAO;AACHx9B,aAAK,EAAEyoF,IAAI,CAACliD,SADT;AAEH7b,cAAM,+JAAM,KAAKonB,OAAX,sJAAuB22C,IAAI,CAAC/9D,MAA5B;AAFH,OAAP;AAIH;;;WACD,mBAAU/2C,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB;AACA;AACA,aAAO47B,SAAS,CAACr1B,IAAI,CAACnP,KAAN,CAAhB;AACH;;;WACD,wBAAes9B,SAAf,EAA0B10B,OAA1B,EAAmC;AAAA;;AAC/B,aAAO00B,SAAS,CAAC/D,QAAV,CAAmBx2B,GAAnB,CAAuB,UAAAw6B,CAAC;AAAA,eAAIA,CAAC,CAAC9B,KAAF,CAAQ,QAAR,CAAJ;AAAA,OAAxB,EAA2Ch8B,IAA3C,CAAgD,EAAhD,CAAP;AACH;;;WACD,kBAASm7B,GAAT,EAAchyB,OAAd,EAAuB;AAAA;;AACnB,UAAMg0B,KAAK,GAAGj4B,MAAM,CAAC+T,IAAP,CAAYkiB,GAAG,CAACgC,KAAhB,EAAuB75B,GAAvB,CAA2B,UAAA66B,CAAC;AAAA,yBAAOA,CAAP,eAAahD,GAAG,CAACgC,KAAJ,CAAUgB,CAAV,EAAanC,KAAb,CAAmB,QAAnB,CAAb;AAAA,OAA5B,CAAd,CADmB,CAEnB;AACA;;AACA,UAAMxhB,GAAG,GAAG,KAAKyqG,OAAL,CAAalqF,YAAb,CAA0B7c,cAA1B,CAAyCid,GAAG,CAAClb,UAA7C,IACR,KAAKglG,OAAL,CAAalqF,YAAb,CAA0BI,GAAG,CAAClb,UAA9B,EAA0CvQ,IADlC,GAERyrB,GAAG,CAAClb,UAFR;AAGA,wBAAWzF,GAAX,eAAmB2gB,GAAG,CAAC7vB,IAAvB,eAAgC6xB,KAAK,CAACn9B,IAAN,CAAW,GAAX,CAAhC;AACH;;;WACD,0BAAiBg+B,EAAjB,EAAqB70B,OAArB,EAA8B;AAC1B,UAAM6uF,MAAM,GAAG,KAAKktB,OAAL,CAAalnF,EAAE,CAACl/B,IAAhB,CAAf;;AACA,UAAI,KAAKmmH,OAAL,CAAalqF,YAAb,CAA0B7c,cAA1B,CAAyC85E,MAAzC,CAAJ,EAAsD;AAClD,eAAO,KAAKitB,OAAL,CAAalqF,YAAb,CAA0Bi9D,MAA1B,EAAkCtoF,IAAzC;AACH;;AACD,UAAI,KAAKu1G,OAAL,CAAa7oF,oBAAb,CAAkCle,cAAlC,CAAiD85E,MAAjD,CAAJ,EAA8D;AAC1D,eAAO,KAAKgtB,cAAL,CAAoB,KAAKC,OAAL,CAAa7oF,oBAAb,CAAkC47D,MAAlC,CAApB,CAAP;AACH;;AACD,WAAKsoB,SAAL,CAAetiF,EAAf,kCAA2CA,EAAE,CAACl/B,IAA9C;;AACA,aAAO,EAAP;AACH,K,CACD;AACA;AACA;;;;WACA,6BAAoBk/B,EAApB,EAAwB70B,OAAxB,EAAiC;AAAA;;AAC7B,UAAM9H,GAAG,aAAM28B,EAAE,CAAC38B,GAAT,CAAT;AACA,UAAMzB,KAAK,GAAGsF,MAAM,CAAC+T,IAAP,CAAY+kB,EAAE,CAACp+B,KAAf,EAAsB0D,GAAtB,CAA0B,UAAAxE,IAAI;AAAA,yBAAOA,IAAP,gBAAgBk/B,EAAE,CAACp+B,KAAH,CAASd,IAAT,CAAhB;AAAA,OAA9B,EAAiEkB,IAAjE,CAAsE,GAAtE,CAAd;;AACA,UAAIg+B,EAAE,CAACx/B,MAAP,EAAe;AACX,0BAAW6C,GAAX,cAAkBzB,KAAlB;AACH;;AACD,UAAMk6B,QAAQ,GAAGkE,EAAE,CAAClE,QAAH,CAAYx2B,GAAZ,CAAgB,UAACyC,CAAD;AAAA,eAAOA,CAAC,CAACi2B,KAAF,CAAQ,QAAR,CAAP;AAAA,OAAhB,EAAsCh8B,IAAtC,CAA2C,EAA3C,CAAjB;AACA,wBAAWqB,GAAX,cAAkBzB,KAAlB,cAA2Bk6B,QAA3B,eAAwCz4B,GAAxC;AACH,K,CACD;AACA;AACA;;;;WACA,6BAAoB28B,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7B;AACA,aAAO,KAAK67G,cAAL,CAAoB,KAAKC,OAAL,CAAa7oF,oBAAb,CAAkC4B,EAAE,CAACl/B,IAArC,CAApB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,wBAAeylH,MAAf,EAAuB;AAAA;;AACnB,UAAMhrG,EAAE,GAAG,KAAKqrG,OAAL,CAAaL,MAAb,CAAX;;AACA,UAAMY,MAAM,GAAG,KAAKN,cAAL,GAAsB,KAAKA,cAAL,CAAoBN,MAApB,CAAtB,GAAoD,IAAnE;AACA,UAAIxoF,KAAJ;;AACA,WAAKgpF,aAAL,CAAmB1kH,IAAnB,CAAwB;AAAEuc,WAAG,EAAE,KAAKqoG,OAAZ;AAAqBE,cAAM,EAAE,KAAKD;AAAlC,OAAxB;;AACA,WAAKD,OAAL,GAAeV,MAAf;;AACA,UAAI,KAAKN,iBAAL,CAAuB/lG,cAAvB,CAAsC3E,EAAtC,CAAJ,EAA+C;AAC3C;AACA;AACAwiB,aAAK,GAAG,KAAKkoF,iBAAL,CAAuB1qG,EAAvB,CAAR;;AACA,aAAK2rG,OAAL,GAAe,UAACpmH,IAAD;AAAA,iBAAUqmH,MAAM,GAAGA,MAAM,CAACC,cAAP,CAAsBtmH,IAAtB,CAAH,GAAiCA,IAAjD;AAAA,SAAf;AACH,OALD,MAMK;AACD;AACA;AACA;AACA;AACA,YAAI,KAAKgmH,2BAAL,KAAqCp9G,0BAA0B,CAACrK,KAApE,EAA2E;AACvE,cAAMikB,GAAG,GAAG,KAAK2+F,OAAL,2BAA+B,KAAKA,OAApC,UAAiD,EAA7D;;AACA,eAAKK,SAAL,CAAeiE,MAAM,CAACxoF,KAAP,CAAa,CAAb,CAAf,8CAAoExiB,EAApE,eAA0E+H,GAA1E;AACH,SAHD,MAIK,IAAI,KAAK+2D,QAAL,IACL,KAAKysC,2BAAL,KAAqCp9G,0BAA0B,CAAC08G,OAD/D,EACwE;AACzE,cAAM9iG,KAAG,GAAG,KAAK2+F,OAAL,2BAA+B,KAAKA,OAApC,UAAiD,EAA7D;;AACA,eAAK5nC,QAAL,CAAcG,IAAd,6CAAuDj/D,EAAvD,eAA6D+H,KAA7D;AACH;;AACDya,aAAK,GAAGwoF,MAAM,CAACxoF,KAAf;;AACA,aAAKmpF,OAAL,GAAe,UAACpmH,IAAD;AAAA,iBAAUA,IAAV;AAAA,SAAf;AACH;;AACD,UAAM4Q,IAAI,GAAGqsB,KAAK,CAACz4B,GAAN,CAAU,UAAA8K,IAAI;AAAA,eAAIA,IAAI,CAAC4tB,KAAL,CAAW,QAAX,CAAJ;AAAA,OAAd,EAAoCh8B,IAApC,CAAyC,EAAzC,CAAb;;AACA,UAAMmJ,OAAO,GAAG,KAAK47G,aAAL,CAAmB96E,GAAnB,EAAhB;;AACA,WAAKg7E,OAAL,GAAe97G,OAAO,CAACyT,GAAvB;AACA,WAAKsoG,OAAL,GAAe/7G,OAAO,CAACg8G,MAAvB;AACA,aAAOz1G,IAAP;AACH;;;WACD,mBAAUq0D,EAAV,EAAcnnD,GAAd,EAAmB;AACf,WAAKixD,OAAL,CAAaxtE,IAAb,CAAkB,IAAIg5G,SAAJ,CAAct1C,EAAE,CAACx4D,UAAjB,EAA6BqR,GAA7B,CAAlB;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMyoG,c;AACF,0BAAYjtC,WAAZ,EAAyB4hC,YAAzB,EAAuCsL,kBAAvC,EAA6H;AAAA,QAAlEhQ,kBAAkE,uEAA7C5tG,0BAA0B,CAAC08G,OAAkB;AAAA,QAAT3I,OAAS;;AAAA;;AACzH,SAAKrjC,WAAL,GAAmBA,WAAnB;;AACA,QAAI4hC,YAAJ,EAAkB;AACd,UAAMnkB,WAAU,GAAG0vB,gBAAgB,CAACD,kBAAD,CAAnC;;AACA,WAAKE,kBAAL,GACIxB,iBAAiB,CAACS,IAAlB,CAAuBzK,YAAvB,EAAqC,MAArC,EAA6CnkB,WAA7C,EAAyDyf,kBAAzD,EAA6EmG,OAA7E,CADJ;AAEH,KAJD,MAKK;AACD,WAAK+J,kBAAL,GACI,IAAIxB,iBAAJ,CAAsB,EAAtB,EAA0B,IAA1B,EAAgCvkF,QAAhC,EAAwC56B,SAAxC,EAAmDywG,kBAAnD,EAAuEmG,OAAvE,CADJ;AAEH;AACJ;;;;WACD,eAAMj1E,MAAN,EAAcrZ,GAAd,EAAiC;AAAA,UAAdgrC,OAAc,uEAAJ,EAAI;AAC7B,UAAMsB,mBAAmB,GAAGtB,OAAO,CAACsB,mBAAR,IAA+B1oB,4BAA3D;;AACA,UAAMm7D,WAAW,GAAG,KAAK9zB,WAAL,CAAiB5vE,KAAjB,CAAuBg+B,MAAvB,EAA+BrZ,GAA/B,EAAoCjoB,MAAM,CAACC,MAAP,CAAc;AAAEs0D,2BAAmB,EAAnBA;AAAF,OAAd,EAAuCtB,OAAvC,CAApC,CAApB;;AACA,UAAI+zC,WAAW,CAACzlD,MAAZ,CAAmB7nD,MAAvB,EAA+B;AAC3B,eAAO,IAAIyjE,eAAJ,CAAoB6pC,WAAW,CAAC5pC,SAAhC,EAA2C4pC,WAAW,CAACzlD,MAAvD,CAAP;AACH;;AACD,aAAOszD,iBAAiB,CAAC7N,WAAW,CAAC5pC,SAAb,EAAwB,KAAKkjD,kBAA7B,EAAiD/rD,mBAAjD,EAAsE,EAAtE,EAA0E,EAA1E,CAAxB;AACH;;;;;;AAEL,SAAS8rD,gBAAT,CAA0BE,MAA1B,EAAkC;AAC9BA,QAAM,GAAG,CAACA,MAAM,IAAI,KAAX,EAAkB1mH,WAAlB,EAAT;;AACA,UAAQ0mH,MAAR;AACI,SAAK,KAAL;AACI,aAAO,IAAIz/E,GAAJ,EAAP;;AACJ,SAAK,KAAL;AACI,aAAO,IAAIo9E,GAAJ,EAAP;;AACJ,SAAK,QAAL;AACA,SAAK,MAAL;AACI,aAAO,IAAI5B,MAAJ,EAAP;;AACJ,SAAK,OAAL;AACA,SAAK,KAAL;AACA;AACI,aAAO,IAAI5C,KAAJ,EAAP;AAXR;AAaH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM8G,WAAW,GAAG,UAApB;;AACA,SAASC,uBAAT,CAAiCrkG,GAAjC,EAAsC/gB,KAAtC,EAA0D;AAAA,MAAb+K,IAAa,uEAAN,IAAM;AACtD,SAAOgQ,UAAU,CAAC/a,KAAD,EAAQ,IAAIqlH,0BAAJ,CAA+BtkG,GAA/B,CAAR,EAA6ChW,IAA7C,CAAjB;AACH;;IACKs6G,0B;AACF,sCAAYtkG,GAAZ,EAAiB;AAAA;;AACb,SAAKA,GAAL,GAAWA,GAAX;AACH;;;;WACD,oBAAWpF,GAAX,EAAgB5Q,IAAhB,EAAsB;AAClB,UAAMzD,MAAM,GAAG,EAAf,CADkB,CAElB;AACA;AACA;AACA;AACA;;AACA,WAAK,IAAI5H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGic,GAAG,CAACtd,MAAxB,EAAgC,EAAEqB,CAAlC,EAAqC;AACjC4H,cAAM,CAACxH,IAAP,CAAYib,UAAU,CAACY,GAAG,CAACjc,CAAD,CAAJ,EAAS,IAAT,EAAe;AAAK;AAApB,SAAtB;AACH;;AACD,aAAO2Z,UAAU,CAAC/R,MAAD,EAASyD,IAAT,CAAjB;AACH;;;WACD,wBAAehI,GAAf,EAAoBgI,IAApB,EAA0B;AAAA;;AACtB,UAAM+H,OAAO,GAAG,EAAhB;AACA,UAAMwyG,SAAS,GAAG,IAAIztG,GAAJ,CAAQ9U,GAAG,IAAIA,GAAG,CAACoiH,WAAD,CAAlB,CAAlB;AACAxgH,YAAM,CAAC+T,IAAP,CAAY3V,GAAZ,EAAiBzE,OAAjB,CAAyB,UAAA4U,GAAG,EAAI;AAC5BJ,eAAO,CAAChT,IAAR,CAAa,IAAImT,eAAJ,CAAoBC,GAApB,EAAyB6H,UAAU,CAAChY,GAAG,CAACmQ,GAAD,CAAJ,EAAW,QAAX,EAAiB,IAAjB,CAAnC,EAA2DoyG,SAAS,CAACz5F,GAAV,CAAc3Y,GAAd,CAA3D,CAAb;AACH,OAFD;AAGA,aAAO,IAAIE,cAAJ,CAAmBN,OAAnB,EAA4B/H,IAA5B,CAAP;AACH;;;WACD,wBAAe/K,KAAf,EAAsB+K,IAAtB,EAA4B;AACxB,aAAO8O,OAAO,CAAC7Z,KAAD,EAAQ+K,IAAR,CAAd;AACH;;;WACD,oBAAW/K,KAAX,EAAkB+K,IAAlB,EAAwB;AACpB,UAAI/K,KAAK,YAAY8K,UAArB,EAAiC;AAC7B,eAAO9K,KAAP;AACH,OAFD,MAGK;AACD,eAAO,KAAK+gB,GAAL,CAAShI,UAAT,CAAoB/Y,KAApB,CAAP;AACH;AACJ;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASulH,UAAT,CAAoBryG,GAApB,EAAyBlT,KAAzB,EAAgC;AAC5B,SAAO;AAAEkT,OAAG,EAAHA,GAAF;AAAOlT,SAAK,EAALA,KAAP;AAAcmT,UAAM,EAAE;AAAtB,GAAP;AACH;;IACKqyG,kB;AACF,8BAAY1/F,SAAZ,EAAuB2/F,iBAAvB,EAA0C;AAAA;;AACtC,SAAK3/F,SAAL,GAAiBA,SAAjB;AACA,SAAK2/F,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,aAAL,GAAqB5/F,SAAS,CAACC,wBAAV,CAAmCvD,WAAW,CAACqB,QAA/C,CAArB;AACH;;;;WACD,mBAAUwI,IAAV,EAAgBtL,GAAhB,EAAqB;AAAA;;AACjB,aAAOsL,IAAI,CAACtpB,GAAL,CAAS,UAAAmrC,GAAG,EAAI;AACnB,YAAIjqC,KAAK,GAAGiqC,GAAZ;AACA,YAAI7nC,IAAI,GAAG,CAACpC,KAAD,CAAX;AACA,YAAIoqC,KAAK,GAAG;AAAE;AAAd;;AACA,YAAIrzB,KAAK,CAACC,OAAN,CAAcizB,GAAd,CAAJ,EAAwB;AACpB,eAAK,IAAIxuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwuC,GAAG,CAAC7vC,MAAxB,EAAgCqB,CAAC,EAAjC,EAAqC;AACjC,gBAAM+nE,CAAC,GAAGv5B,GAAG,CAACxuC,CAAD,CAAb;;AACA,gBAAI+nE,CAAJ,EAAO;AACH,kBAAIA,CAAC,CAAClgE,cAAF,KAAqB,UAAzB,EAAqC;AACjC8mC,qBAAK,IAAI;AAAE;AAAX;AACH,eAFD,MAGK,IAAIo5B,CAAC,CAAClgE,cAAF,KAAqB,UAAzB,EAAqC;AACtC8mC,qBAAK,IAAI;AAAE;AAAX;AACH,eAFI,MAGA,IAAIo5B,CAAC,CAAClgE,cAAF,KAAqB,MAAzB,EAAiC;AAClC8mC,qBAAK,IAAI;AAAE;AAAX;AACH,eAFI,MAGA,IAAIo5B,CAAC,CAAClgE,cAAF,KAAqB,QAAzB,EAAmC;AACpCtD,qBAAK,GAAGwjE,CAAC,CAACxjE,KAAV;AACH,eAFI,MAGA;AACDA,qBAAK,GAAGwjE,CAAR;AACH;AACJ;AACJ;AACJ;;AACD,YAAI2sC,SAAJ;;AACA,YAAI,OAAOnwG,KAAP,KAAiB,QAArB,EAA+B;AAC3BmwG,mBAAS,GAAGv6F,OAAO,CAAC5V,KAAD,CAAnB;AACH,SAFD,MAGK,IAAIA,KAAK,KAAK,QAAI,CAACyhH,aAAnB,EAAkC;AACnCtR,mBAAS,GAAGr7F,UAAU,CAACyJ,WAAW,CAACoB,QAAb,CAAtB;AACH,SAFI,MAGA;AACDwwF,mBAAS,GAAGrzF,GAAG,CAAChI,UAAJ,CAAe9U,KAAf,CAAZ;AACH;;AACD,YAAIoqC,KAAK,KAAK;AAAE;AAAhB,UAA+B;AAC3BhoC,gBAAI,GAAG,CAAC+tG,SAAD,EAAYv6F,OAAO,CAACw0B,KAAD,CAAnB,CAAP;AACH,WAFD,MAGK;AACDhoC,cAAI,GAAG,CAAC+tG,SAAD,CAAP;AACH;;AACD,eAAOr7F,UAAU,CAACyJ,WAAW,CAACkB,MAAb,CAAV,CAA+B7C,MAA/B,CAAsCxa,IAAtC,CAAP;AACH,OA3CM,CAAP;AA4CH;;;WACD,oBAAWI,UAAX,EAAuBsa,GAAvB,EAA4B;AACxB,UAAI4kG,QAAJ;;AACA,UAAIl/G,UAAU,CAAC0lB,WAAf,EAA4B;AACxBw5F,gBAAQ,GAAG5sG,UAAU,CAACyJ,WAAW,CAACkB,MAAb,CAAV,CAA+B7C,MAA/B,CAAsC,CAACE,GAAG,CAAChI,UAAJ,CAAetS,UAAU,CAAC0lB,WAA1B,CAAD,CAAtC,CAAX;AACH,OAFD,MAGK,IAAI1lB,UAAU,CAAC2lB,UAAf,EAA2B;AAC5B,YAAMC,IAAI,GAAG5lB,UAAU,CAAC4lB,IAAX,IAAmB,EAAhC;;AACA,YAAIA,IAAI,CAAChuB,MAAL,GAAc,CAAlB,EAAqB;AACjBsnH,kBAAQ,GAAG5kG,GAAG,CAAChI,UAAJ,CAAetS,UAAU,CAAC2lB,UAA1B,EAAsCvL,MAAtC,CAA6C,KAAK+kG,SAAL,CAAev5F,IAAf,EAAqBtL,GAArB,CAA7C,CAAX;AACH,SAFD,MAGK;AACD,iBAAOA,GAAG,CAAChI,UAAJ,CAAetS,UAAU,CAAC2lB,UAA1B,CAAP;AACH;AACJ,OARI,MASA,IAAI3lB,UAAU,CAACylB,QAAf,EAAyB;AAC1By5F,gBAAQ,GAAGP,uBAAuB,CAACrkG,GAAD,EAAMta,UAAU,CAACylB,QAAjB,CAAlC;AACH,OAFI,MAGA;AACD,YAAMynB,KAAK,GAAGltC,UAAU,CAACwlB,QAAX,IAAuBxlB,UAAU,CAACq6C,MAAhD;AACA,YAAM+kE,OAAO,GAAG,KAAKD,SAAL,CAAe,KAAK9/F,SAAL,CAAejE,UAAf,CAA0B8xB,KAA1B,CAAf,EAAiD5yB,GAAjD,CAAhB;AACA4kG,gBAAQ,GAAG,IAAIp6G,eAAJ,CAAoBwV,GAAG,CAAChI,UAAJ,CAAe46B,KAAf,CAApB,EAA2CkyE,OAA3C,CAAX;AACH;;AACD,aAAOj3G,EAAE,CAAC,EAAD,EAAK,CAAC,IAAImG,eAAJ,CAAoB4wG,QAApB,CAAD,CAAL,EAAsCrhH,SAAtC,EAAiDA,SAAjD,EAA4DmC,UAAU,CAACq6C,MAAX,CAAkBviD,IAAlB,GAAyB,UAArF,CAAT;AACH;;;WACD,uBAAckI,UAAd,EAA0Bsa,GAA1B,EAA+B;AAC3B,UAAIivB,UAAU,GAAG/7B,SAAjB;;AACA,UAAIxN,UAAU,CAACupC,UAAX,KAA0B1rC,SAA9B,EAAyC;AACrC,YAAImC,UAAU,CAACupC,UAAX,KAA0B,IAA9B,EAAoC;AAChCA,oBAAU,GAAG/7B,SAAb;AACH,SAFD,MAGK,IAAI,OAAOxN,UAAU,CAACupC,UAAlB,KAAiC,QAArC,EAA+C;AAChDA,oBAAU,GAAGn2B,OAAO,CAACpT,UAAU,CAACupC,UAAZ,CAApB;AACH,SAFI,MAGA;AACDA,oBAAU,GAAGjvB,GAAG,CAAChI,UAAJ,CAAetS,UAAU,CAACupC,UAA1B,CAAb;AACH;AACJ;;AACD,UAAMojE,GAAG,GAAG,CACRmS,UAAU,CAAC,SAAD,EAAY,KAAK1kE,UAAL,CAAgBp6C,UAAhB,EAA4Bsa,GAA5B,CAAZ,CADF,EAERwkG,UAAU,CAAC,OAAD,EAAUxkG,GAAG,CAAChI,UAAJ,CAAetS,UAAU,CAACsE,IAAX,CAAgB4a,SAA/B,CAAV,CAFF,EAGR4/F,UAAU,CAAC,YAAD,EAAev1E,UAAf,CAHF,CAAZ;AAKA,aAAOj3B,UAAU,CAACyJ,WAAW,CAACsB,kBAAb,CAAV,CAA2CjD,MAA3C,CAAkD,CAACvH,UAAU,CAAC85F,GAAD,CAAX,CAAlD,CAAP;AACH;;;WACD,iBAAQ3sG,UAAR,EAAoBsa,GAApB,EAAyB;AACrB,UAAI,KAAK0kG,iBAAL,IAA0Bh/G,UAAU,CAACupC,UAAX,KAA0B1rC,SAAxD,EAAmE;AAC/D,YAAM9B,SAAS,GAAGmkB,cAAc,CAAClgB,UAAU,CAACsE,IAAZ,CAAhC;AACA,YAAM4oC,KAAK,GAAG,IAAIl+B,SAAJ,CAAcjT,SAAd,EAAyB,IAAzB,EAA+B,CACzC,IAAI0S,UAAJ,CAAe,OAAf,EAAwBzL,aAAxB,EAAuC,CAACyE,YAAY,CAAC+yC,MAAd,CAAvC,EAA8D,KAAK6kE,aAAL,CAAmBr/G,UAAnB,EAA+Bsa,GAA/B,CAA9D,CADyC,CAA/B,EAEX,EAFW,EAEP,IAAI1L,WAAJ,CAAgB,IAAhB,EAAsB,EAAtB,EAA0B,EAA1B,CAFO,EAEwB,EAFxB,CAAd;AAGA0L,WAAG,CAAC5O,UAAJ,CAAerS,IAAf,CAAoB6zC,KAApB;AACH;AACJ;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMoyE,uBAAuB,GAAG,kCAAhC;AACA,IAAMC,cAAc,GAAG,6BAAvB;AACA,IAAMC,gBAAgB,GAAG,eAAzB;AACA,IAAMC,gBAAgB,GAAG,YAAzB;;AACA,SAASC,iBAAT,CAA2BlgG,QAA3B,EAA8D;AAAA,MAAzBmgG,eAAyB,uEAAP,KAAO;AAC1D,MAAMC,aAAa,GAAGC,qBAAqB,CAACrgG,QAAD,EAAWmgG,eAAX,CAA3C;AACA,mBAAUC,aAAa,CAAC,CAAD,CAAvB,uBAAuCE,sBAAsB,CAACF,aAAa,CAAC,CAAD,CAAd,CAA7D;AACH;;AACD,SAASG,wBAAT,CAAkCvgG,QAAlC,EAA4C;AACxC,SAAOA,QAAQ,CAACpV,OAAT,CAAiBm1G,cAAjB,EAAiC,GAAjC,CAAP;AACH;;AACD,SAASS,eAAT,CAAyBxgG,QAAzB,EAAmC;AAC/B,SAAO+/F,cAAc,CAACv8E,IAAf,CAAoBxjB,QAApB,CAAP;AACH;;AACD,SAASqgG,qBAAT,CAA+B3wD,IAA/B,EAA8D;AAAA,MAAzBywD,eAAyB,uEAAP,KAAO;;AAC1D,MAAIzwD,IAAI,CAACq/B,QAAL,CAAc,OAAd,CAAJ,EAA4B;AACxB,WAAO,CAACr/B,IAAI,CAAC54D,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,CAAD,EAAoBqpH,eAAe,GAAG,KAAH,GAAW,OAA9C,CAAP;AACH;;AACD,MAAMM,OAAO,GAAG/wD,IAAI,CAACtY,WAAL,CAAiB,GAAjB,CAAhB;;AACA,MAAIqpE,OAAO,KAAK,CAAC,CAAjB,EAAoB;AAChB,WAAO,CAAC/wD,IAAI,CAACl4C,SAAL,CAAe,CAAf,EAAkBipG,OAAlB,CAAD,EAA6B/wD,IAAI,CAACl4C,SAAL,CAAeipG,OAAf,CAA7B,CAAP;AACH;;AACD,SAAO,CAAC/wD,IAAD,EAAO,EAAP,CAAP;AACH;;AACD,SAAS4wD,sBAAT,CAAgCI,aAAhC,EAA+C;AAC3C,SAAOA,aAAa,KAAK,MAAlB,GAA2B,KAA3B,GAAmCA,aAA1C;AACH;;AACD,SAASC,eAAT,CAAyBC,QAAzB,EAAmC;AAC/B,MAAMC,qBAAqB,GAAGD,QAAQ,CAACh2G,OAAT,CAAiBk1G,uBAAjB,EAA0C,EAA1C,CAA9B;AACA,mBAAUe,qBAAV;AACH;;AACD,SAASC,qBAAT,CAA+BF,QAA/B,EAAkE;AAAA,MAAzBT,eAAyB,uEAAP,KAAO;AAC9D,MAAMC,aAAa,GAAGC,qBAAqB,CAACE,wBAAwB,CAACK,QAAD,CAAzB,EAAqCT,eAArC,CAA3C;AACA,mBAAUC,aAAa,CAAC,CAAD,CAAvB,uBAAuCA,aAAa,CAAC,CAAD,CAApD;AACH;;AACD,SAASW,4BAAT,CAAsC/gG,QAAtC,EAAgD;AAC5C,SAAOA,QAAQ,CAACpV,OAAT,CAAiBo1G,gBAAjB,EAAmC,GAAnC,CAAP;AACH;;AACD,SAASgB,iBAAT,CAA2BC,UAA3B,EAAuC;AACnC,mBAAUA,UAAV;AACH;;AACD,SAASC,4BAAT,CAAsCD,UAAtC,EAAkD;AAC9C,SAAOA,UAAU,CAACr2G,OAAX,CAAmBq1G,gBAAnB,EAAqC,EAArC,CAAP;AACH;;AACD,IAAMkB,cAAc,GAAG,WAAvB;;AACA,SAASC,eAAT,CAAyB9oH,IAAzB,EAA+B;AAC3B,SAAO6oH,cAAc,CAAC39E,IAAf,CAAoBlrC,IAApB,CAAP;AACH;;AACD,SAAS+oH,mBAAT,CAA6BtuG,EAA7B,EAAiC;AAC7B,yBAAgBA,EAAhB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIuuG,cAAJ;;AACA,CAAC,UAAUA,cAAV,EAA0B;AACvBA,gBAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,CAA5B,CAAd,GAA+C,QAA/C;AACAA,gBAAc,CAACA,cAAc,CAAC,WAAD,CAAd,GAA8B,CAA/B,CAAd,GAAkD,WAAlD;AACAA,gBAAc,CAACA,cAAc,CAAC,SAAD,CAAd,GAA4B,CAA7B,CAAd,GAAgD,SAAhD;AACAA,gBAAc,CAACA,cAAc,CAAC,WAAD,CAAd,GAA8B,CAA/B,CAAd,GAAkD,WAAlD;AACAA,gBAAc,CAACA,cAAc,CAAC,kBAAD,CAAd,GAAqC,CAAtC,CAAd,GAAyD,kBAAzD;AACAA,gBAAc,CAACA,cAAc,CAAC,qBAAD,CAAd,GAAwC,CAAzC,CAAd,GAA4D,qBAA5D;AACAA,gBAAc,CAACA,cAAc,CAAC,eAAD,CAAd,GAAkC,CAAnC,CAAd,GAAsD,eAAtD;AACAA,gBAAc,CAACA,cAAc,CAAC,kBAAD,CAAd,GAAqC,CAAtC,CAAd,GAAyD,kBAAzD;AACH,CATD,EASGA,cAAc,KAAKA,cAAc,GAAG,EAAtB,CATjB;;AAUA,IAAMC,sBAAsB,GAAG,CAC3BD,cAAc,CAACE,MADY,EACJF,cAAc,CAACG,SADX,EACsBH,cAAc,CAACI,OADrC,EAC8CJ,cAAc,CAACK,SAD7D,EAE3BL,cAAc,CAACM,gBAFY,EAEMN,cAAc,CAACO,mBAFrB,EAE0CP,cAAc,CAACQ,aAFzD,EAG3BR,cAAc,CAACS,gBAHY,CAA/B;;AAKA,SAASC,gBAAT,CAA0BniG,SAA1B,EAAqCoiG,IAArC,EAA2CjkH,KAA3C,EAAkD;AAC9C,SAAO6hB,SAAS,CAACmiG,gBAAV,CAA2BhkH,KAA3B,EAAkCkkH,WAAW,CAACD,IAAD,CAA7C,CAAP;AACH;;AACD,SAASE,oBAAT,CAA8BtiG,SAA9B,EAAyC7hB,KAAzC,EAAgD;AAC5C,SAAOujH,sBAAsB,CAAC9lG,MAAvB,CAA8B,UAAAwmG,IAAI;AAAA,WAAID,gBAAgB,CAACniG,SAAD,EAAYoiG,IAAZ,EAAkBjkH,KAAlB,CAApB;AAAA,GAAlC,CAAP;AACH;;AACD,SAASkkH,WAAT,CAAqBD,IAArB,EAA2B;AACvB,UAAQA,IAAR;AACI,SAAKX,cAAc,CAACE,MAApB;AACI,aAAO,UAAP;;AACJ,SAAKF,cAAc,CAACG,SAApB;AACI,aAAO,aAAP;;AACJ,SAAKH,cAAc,CAACI,OAApB;AACI,aAAO,WAAP;;AACJ,SAAKJ,cAAc,CAACK,SAApB;AACI,aAAO,aAAP;;AACJ,SAAKL,cAAc,CAACM,gBAApB;AACI,aAAO,oBAAP;;AACJ,SAAKN,cAAc,CAACO,mBAApB;AACI,aAAO,uBAAP;;AACJ,SAAKP,cAAc,CAACQ,aAApB;AACI,aAAO,iBAAP;;AACJ,SAAKR,cAAc,CAACS,gBAApB;AACI,aAAO,oBAAP;;AACJ;AACI;AACA;AACA;AACA;AACA,UAAMK,UAAU,GAAGH,IAAnB;AACA,YAAM,IAAIprH,KAAJ,sBAAwBurH,UAAxB,EAAN;AAvBR;AAyBH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,oBAAoB,GAAG,iBAA7B,C,CACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,uB;AACF,mCAAY5wC,OAAZ,EAAqBE,WAArB,EAAkC2wC,iBAAlC,EAAqDC,kBAArD,EAAyEC,aAAzE,EAAwFC,gBAAxF,EAA0Gh5C,eAA1G,EAA2Hi5C,oBAA3H,EAAiJ9wC,QAAjJ,EAA2J+wC,kBAA3J,EAA+KjxC,UAA/K,EAA2LkxC,eAA3L,EAA4M;AAAA;;AACxM,SAAKnxC,OAAL,GAAeA,OAAf;AACA,SAAKE,WAAL,GAAmBA,WAAnB;AACA,SAAK2wC,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,kBAAL,GAA0BA,kBAA1B;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKC,gBAAL,GAAwBA,gBAAxB;AACA,SAAKh5C,eAAL,GAAuBA,eAAvB;AACA,SAAKi5C,oBAAL,GAA4BA,oBAA5B;AACA,SAAK9wC,QAAL,GAAgBA,QAAhB;AACA,SAAK+wC,kBAAL,GAA0BA,kBAA1B;AACA,SAAKjxC,UAAL,GAAkBA,UAAlB;AACA,SAAKkxC,eAAL,GAAuBA,eAAvB;AACA,SAAKC,4BAAL,GAAoC,IAAIznH,GAAJ,EAApC;AACA,SAAK0nH,eAAL,GAAuB,IAAI1nH,GAAJ,EAAvB;AACA,SAAK2nH,aAAL,GAAqB,IAAI3nH,GAAJ,EAArB;AACA,SAAK4nH,UAAL,GAAkB,IAAI5nH,GAAJ,EAAlB;AACA,SAAK6nH,cAAL,GAAsB,IAAI7nH,GAAJ,EAAtB;AACA,SAAK8nH,gBAAL,GAAwB,IAAI9nH,GAAJ,EAAxB;AACA,SAAK+nH,mBAAL,GAA2B,IAAI/nH,GAAJ,EAA3B;AACH;;;;WACD,wBAAe;AACX,aAAO,KAAKs2E,UAAZ;AACH;;;WACD,uBAAc7sE,IAAd,EAAoB;AAChB,UAAM+kE,OAAO,GAAG,KAAKk5C,eAAL,CAAqBrmH,GAArB,CAAyBoI,IAAzB,CAAhB;;AACA,WAAKi+G,eAAL,CAAqBn8D,MAArB,CAA4B9hD,IAA5B;;AACA,WAAKg+G,4BAAL,CAAkCl8D,MAAlC,CAAyC9hD,IAAzC;;AACA,WAAKk+G,aAAL,CAAmBp8D,MAAnB,CAA0B9hD,IAA1B;;AACA,WAAKm+G,UAAL,CAAgBr8D,MAAhB,CAAuB9hD,IAAvB;;AACA,WAAKq+G,gBAAL,CAAsBv8D,MAAtB,CAA6B9hD,IAA7B,EANgB,CAOhB;;;AACA,WAAKo+G,cAAL,CAAoB5T,KAApB;;AACA,UAAIzlC,OAAJ,EAAa;AACT,aAAK84C,oBAAL,CAA0BU,aAA1B,CAAwCx5C,OAAxC;AACH;AACJ;;;WACD,sBAAa;AACT,WAAKk5C,eAAL,CAAqBzT,KAArB;;AACA,WAAKwT,4BAAL,CAAkCxT,KAAlC;;AACA,WAAK0T,aAAL,CAAmB1T,KAAnB;;AACA,WAAK2T,UAAL,CAAgB3T,KAAhB;;AACA,WAAK4T,cAAL,CAAoB5T,KAApB;;AACA,WAAK6T,gBAAL,CAAsB7T,KAAtB;;AACA,WAAKqT,oBAAL,CAA0BW,UAA1B;AACH;;;WACD,2BAAkBC,QAAlB,EAA4BjrH,IAA5B,EAAkC;AAC9B,UAAIkvC,QAAQ,GAAG,IAAf;;AACA,UAAMg8E,UAAU,GAAG,SAAbA,UAAa,GAAY;AAC3B,YAAI,CAACh8E,QAAL,EAAe;AACX,gBAAM,IAAI3wC,KAAJ,gCAAkCyB,IAAlC,uBAAmD8e,SAAS,CAACmsG,QAAD,CAA5D,2BAAN;AACH;;AACD,eAAO/7E,QAAQ,CAACupB,KAAT,CAAe,IAAf,EAAqBp/C,SAArB,CAAP;AACH,OALD;;AAMA6xG,gBAAU,CAACC,WAAX,GAAyB,UAACppF,CAAD,EAAO;AAC5BmN,gBAAQ,GAAGnN,CAAX;AACAmpF,kBAAU,CAAChxG,SAAX,GAAuB6nB,CAAC,CAAC7nB,SAAzB;AACH,OAHD,CAR8B,CAY9B;;;AACAgxG,gBAAU,CAACnsG,cAAX,GAA4B/e,IAA5B;AACA,aAAOkrH,UAAP;AACH;;;WACD,2BAAkBE,OAAlB,EAA2BprH,IAA3B,EAAiC;AAC7B,UAAIorH,OAAO,YAAY3jG,YAAvB,EAAqC;AACjC,eAAO,KAAK6iG,kBAAL,CAAwBlmH,GAAxB,CAA4BwjH,iBAAiB,CAACwD,OAAO,CAAC1jG,QAAT,CAA7C,EAAiE1nB,IAAjE,CAAP;AACH,OAFD,MAGK;AACD,eAAO,KAAKqrH,iBAAL,CAAuBD,OAAvB,EAAgCprH,IAAhC,CAAP;AACH;AACJ;;;WACD,+BAAsBorH,OAAtB,EAA+B;AAC3B,aAAO,KAAKE,iBAAL,CAAuBF,OAAvB,EAAgC5iG,aAAa,CAAC4iG,OAAD,EAAU,CAAV,CAA7C,CAAP;AACH;;;WACD,mCAA0BA,OAA1B,EAAmC;AAC/B,aAAO,KAAKE,iBAAL,CAAuBF,OAAvB,EAAgCxiG,iBAAiB,CAACwiG,OAAD,CAAjD,CAAP;AACH;;;WACD,8BAAqBA,OAArB,EAA8B;AAC1B,UAAMprH,IAAI,aAAMooB,cAAc,CAAC;AAAEhB,iBAAS,EAAEgkG;AAAb,OAAD,CAApB,UAAV;;AACA,UAAIA,OAAO,YAAY3jG,YAAvB,EAAqC;AACjC,eAAO,KAAK6iG,kBAAL,CAAwBlmH,GAAxB,CAA4BgnH,OAAO,CAAC1jG,QAApC,EAA8C1nB,IAA9C,CAAP;AACH;;AACD,aAAO,KAAKqrH,iBAAL,CAAuBD,OAAvB,EAAgCprH,IAAhC,CAAP;AACH;;;WACD,yBAAgBorH,OAAhB,EAAyB;AACrB,UAAIA,OAAO,YAAY3jG,YAAvB,EAAqC;AACjC,eAAO,KAAK6iG,kBAAL,CAAwBlmH,GAAxB,CAA4BwjH,iBAAiB,CAACwD,OAAO,CAAC1jG,QAAT,CAA7C,EAAiEiB,gBAAgB,CAACyiG,OAAD,CAAjF,CAAP;AACH,OAFD,MAGK;AACD;AACA;AACA,eAAO,EAAP;AACH;AACJ;;;WACD,6BAAoBvpH,QAApB,EAA8BupH,OAA9B,EAAuC9gG,MAAvC,EAA+CC,OAA/C,EAAwD;AACpD,UAAI6gG,OAAO,YAAY3jG,YAAvB,EAAqC;AACjC,eAAO,KAAK6iG,kBAAL,CAAwBlmH,GAAxB,CAA4BwjH,iBAAiB,CAACwD,OAAO,CAAC1jG,QAAT,CAA7C,EAAiEmB,oBAAoB,CAACuiG,OAAD,CAArF,CAAP;AACH,OAFD,MAGK;AACD,YAAMG,QAAQ,GAAG,KAAKC,yBAAL,CAA+BJ,OAA/B,CAAjB,CADC,CAED;AACA;;AACA,YAAMnkG,sBAAsB,GAAG,KAAKoyD,UAAL,CAAgB7xD,wBAAhB,CAAyCvD,WAAW,CAACgD,sBAArD,CAA/B;;AACA,eAAOA,sBAAsB,CAACplB,QAAD,EAAWupH,OAAX,EAAoBG,QAApB,EAA8BjhG,MAA9B,EAAsCC,OAAtC,EAA+C,EAA/C,CAA7B;AACH;AACJ;;;WACD,8BAAqBzhB,OAArB,EAA8B+gB,kBAA9B,EAAkD;AAC9C,UAAI,EAAE/gB,OAAO,YAAY2e,YAArB,CAAJ,EAAwC;AAAA;;AACpC,iCAAA3e,OAAO,CAAC+gB,kBAAR,EAA2BtoB,IAA3B,iLAAmCsoB,kBAAnC;AACH;AACJ;;;WACD,sBAAard,IAAb,EAAmB+V,IAAnB,EAAyB;AACrB,UAAIkpG,WAAW,GAAG,KAAKf,aAAL,CAAmBtmH,GAAnB,CAAuBoI,IAAvB,CAAlB;;AACA,UAAI,CAACi/G,WAAL,EAAkB;AACd,YAAMvb,OAAO,GAAG,KAAKka,gBAAL,CAAsBsB,cAAtB,CAAqCl/G,IAArC,CAAhB;;AACAi/G,mBAAW,GAAGvb,OAAO,GAAGA,OAAO,CAAC1jG,IAAX,GAAkB,IAAvC;;AACA,aAAKk+G,aAAL,CAAmBrmH,GAAnB,CAAuBmI,IAAvB,EAA6Bi/G,WAAW,IAAI,IAA5C;AACH;;AACD,aAAOA,WAAW,IAAIA,WAAW,CAACrgG,WAAZ,KAA4B7I,IAA3C,GAAkDkpG,WAAlD,GAAgE,IAAvE;AACH;;;WACD,kCAAyBj9F,QAAzB,EAAmCm9F,YAAnC,EAAiD;AAC7C,UAAMC,QAAQ,GAAG,KAAKC,oBAAL,CAA0Br9F,QAAQ,CAAChiB,IAAT,CAAc4a,SAAxC,CAAjB;;AACA,UAAI,CAACukG,YAAL,EAAmB;AACfA,oBAAY,GAAG,KAAKH,yBAAL,CAA+BI,QAA/B,CAAf;AACH,OAJ4C,CAK7C;AACA;;;AACA,UAAMpiG,QAAQ,GAAG7oB,WAAW,CAAC+I,KAAZ,CAAkB8kB,QAAQ,CAAC3sB,QAA3B,EAAqC,CAArC,EAAwCiqH,0BAAxC,EAAjB;AACA,UAAMriG,WAAW,GAAG,EAApB;;AACA,UAAMC,OAAO,GAAG,KAAK4vD,WAAL,CAAiB5vE,KAAjB,CAAuB8f,QAAvB,EAAiCC,WAAjC,CAAhB;;AACA,aAAOS,wBAAwB,CAAClQ,MAAzB,CAAgC;AACnCmQ,cAAM,EAAE,IAD2B;AAEnC3d,YAAI,EAAE;AAAE4a,mBAAS,EAAEwkG,QAAb;AAAuBj7E,gBAAM,EAAE,EAA/B;AAAmC05B,wBAAc,EAAE;AAAnD,SAF6B;AAGnC7gD,gBAAQ,EAAE,IAAIF,uBAAJ,CAA4B;AAClCC,uBAAa,EAAEziB,iBAAiB,CAACgF,IADC;AAElC0d,kBAAQ,EAARA,QAFkC;AAGlCC,qBAAW,EAAXA,WAHkC;AAIlCC,iBAAO,EAAPA,OAJkC;AAKlCP,gBAAM,EAAE,EAL0B;AAMlCC,mBAAS,EAAE,EANuB;AAOlCS,4BAAkB,EAAE,EAPc;AAQlCD,oBAAU,EAAE,EARsB;AASlCG,kBAAQ,EAAE,IATwB;AAUlCJ,6BAAmB,EAAE,EAVa;AAWlCG,uBAAa,EAAE,IAXmB;AAYlCE,6BAAmB,EAAE;AAZa,SAA5B,CAHyB;AAiBnCK,gBAAQ,EAAE,IAjByB;AAkBnCnjB,uBAAe,EAAEH,uBAAuB,CAACI,OAlBN;AAmBnCmjB,cAAM,EAAE,EAnB2B;AAoBnCC,eAAO,EAAE,EApB0B;AAqBnCgB,YAAI,EAAE,EArB6B;AAsBnCnB,mBAAW,EAAE,IAtBsB;AAuBnCvoB,gBAAQ,EAAE,GAvByB;AAwBnC8oB,iBAAS,EAAE,EAxBwB;AAyBnCC,qBAAa,EAAE,EAzBoB;AA0BnCC,eAAO,EAAE,EA1B0B;AA2BnCC,cAAM,EAAE,EA3B2B;AA4BnCC,mBAAW,EAAE,EA5BsB;AA6BnCE,yBAAiB,EAAE0gG,YA7BgB;AA8BnCzgG,oBAAY,EAAE;AAAEzQ,YAAE,EAAE,UAAN;AAAkB8O,uBAAa,EAAEziB,iBAAiB,CAACgF,IAAnD;AAAyDqd,gBAAM,EAAE,EAAjE;AAAqEhjB,cAAI,EAAE;AAA3E,SA9BqB;AA+BnC6kB,uBAAe,EAAE,EA/BkB;AAgCnCG,wBAAgB,EAAE;AAhCiB,OAAhC,CAAP;AAkCH;;;WACD,+BAAsBoD,YAAtB,EAAoC+qF,aAApC,EAAmDyS,MAAnD,EAA2D;AAAA;;AACvD,UAAI,KAAKtB,eAAL,CAAqBn9F,GAArB,CAAyBgsF,aAAzB,CAAJ,EAA6C;AACzC,eAAO,IAAP;AACH;;AACDA,mBAAa,GAAGn6F,iBAAiB,CAACm6F,aAAD,CAAjC;;AACA,kCAAiC,KAAK0S,iCAAL,CAAuC1S,aAAvC,CAAjC;AAAA,UAAQ2S,UAAR,yBAAQA,UAAR;AAAA,UAAoBhpE,QAApB,yBAAoBA,QAApB;;AACA,UAAMipE,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,gBAAD,EAAsB;AAClD,YAAMC,iBAAiB,GAAG,IAAIliG,wBAAJ,CAA6B;AACnDC,gBAAM,EAAE,KAD2C;AAEnD3d,cAAI,EAAEy2C,QAAQ,CAACz2C,IAFoC;AAGnD4d,qBAAW,EAAE64B,QAAQ,CAAC74B,WAH6B;AAInDvoB,kBAAQ,EAAEohD,QAAQ,CAACphD,QAJgC;AAKnDwoB,kBAAQ,EAAE44B,QAAQ,CAAC54B,QALgC;AAMnDnjB,yBAAe,EAAE+7C,QAAQ,CAAC/7C,eANyB;AAOnDojB,gBAAM,EAAE24B,QAAQ,CAAC34B,MAPkC;AAQnDC,iBAAO,EAAE04B,QAAQ,CAAC14B,OARiC;AASnDC,uBAAa,EAAEy4B,QAAQ,CAACz4B,aAT2B;AAUnDC,wBAAc,EAAEw4B,QAAQ,CAACx4B,cAV0B;AAWnDC,wBAAc,EAAEu4B,QAAQ,CAACv4B,cAX0B;AAYnDC,mBAAS,EAAEs4B,QAAQ,CAACt4B,SAZ+B;AAanDC,uBAAa,EAAEq4B,QAAQ,CAACr4B,aAb2B;AAcnDC,iBAAO,EAAEo4B,QAAQ,CAACp4B,OAdiC;AAenDC,gBAAM,EAAEm4B,QAAQ,CAACn4B,MAfkC;AAgBnDC,qBAAW,EAAEk4B,QAAQ,CAACl4B,WAhB6B;AAiBnDC,yBAAe,EAAEi4B,QAAQ,CAACj4B,eAjByB;AAkBnDC,2BAAiB,EAAEg4B,QAAQ,CAACh4B,iBAlBuB;AAmBnDC,sBAAY,EAAE+3B,QAAQ,CAAC/3B,YAnB4B;AAoBnDC,0BAAgB,EAAE83B,QAAQ,CAAC93B,gBApBwB;AAqBnD3B,kBAAQ,EAAE2iG;AArByC,SAA7B,CAA1B;;AAuBA,YAAIA,gBAAJ,EAAsB;AAClB,kBAAI,CAACE,oBAAL,CAA0BppE,QAAQ,CAAC93B,gBAAnC,EAAqDghG,gBAAgB,CAACtiG,kBAAtE;AACH;;AACD,gBAAI,CAAC4gG,eAAL,CAAqBpmH,GAArB,CAAyBi1G,aAAzB,EAAwC8S,iBAAxC;;AACA,gBAAI,CAAC1B,aAAL,CAAmBrmH,GAAnB,CAAuBi1G,aAAvB,EAAsC8S,iBAAiB,CAAC9gG,SAAlB,EAAtC;;AACA,eAAO,IAAP;AACH,OA9BD;;AA+BA,UAAI23B,QAAQ,CAAC74B,WAAb,EAA0B;AACtB,YAAMZ,QAAQ,GAAGy5B,QAAQ,CAACz5B,QAA1B;;AACA,YAAMiF,YAAY,GAAG,KAAK47F,oBAAL,CAA0BiC,iBAA1B,CAA4C;AAC7D/9F,sBAAY,EAAZA,YAD6D;AAE7Df,uBAAa,EAAE8rF,aAF8C;AAG7DpwF,mBAAS,EAAE,KAAKmwD,UAAL,CAAgBkzC,kBAAhB,CAAmCjT,aAAnC,EAAkD2S,UAAlD,CAHkD;AAI7D1iG,uBAAa,EAAEC,QAAQ,CAACD,aAJqC;AAK7DC,kBAAQ,EAAEA,QAAQ,CAACA,QAL0C;AAM7DC,qBAAW,EAAED,QAAQ,CAACC,WANuC;AAO7DN,gBAAM,EAAEK,QAAQ,CAACL,MAP4C;AAQ7DC,mBAAS,EAAEI,QAAQ,CAACJ,SARyC;AAS7DQ,oBAAU,EAAEJ,QAAQ,CAACI,UATwC;AAU7DE,uBAAa,EAAEN,QAAQ,CAACM,aAVqC;AAW7DE,6BAAmB,EAAER,QAAQ,CAACQ;AAX+B,SAA5C,CAArB;;AAaA,YAAIzM,SAAS,CAACkR,YAAD,CAAT,IAA2Bs9F,MAA/B,EAAuC;AACnC,eAAKp6C,YAAL,CAAkB66C,0BAA0B,CAAClT,aAAD,CAA5C,EAA6DA,aAA7D;;AACA,iBAAO,IAAP;AACH;;AACD,eAAOj8F,SAAS,CAACG,IAAV,CAAeiR,YAAf,EAA6By9F,uBAA7B,CAAP;AACH,OApBD,MAqBK;AACD;AACAA,+BAAuB,CAAC,IAAD,CAAvB;AACA,eAAO,IAAP;AACH;AACJ;;;WACD,2CAAkC5S,aAAlC,EAAiD;AAAA;;AAC7CA,mBAAa,GAAGn6F,iBAAiB,CAACm6F,aAAD,CAAjC;;AACA,UAAI,CAACA,aAAL,EAAoB;AAChB,eAAO,IAAP;AACH;;AACD,UAAImT,UAAU,GAAG,KAAKjC,4BAAL,CAAkCpmH,GAAlC,CAAsCk1G,aAAtC,CAAjB;;AACA,UAAImT,UAAJ,EAAgB;AACZ,eAAOA,UAAP;AACH;;AACD,UAAMl7C,OAAO,GAAG,KAAK24C,kBAAL,CAAwBv5C,OAAxB,CAAgC2oC,aAAhC,EAA+C,KAA/C,CAAhB;;AACA,UAAI,CAAC/nC,OAAL,EAAc;AACV,eAAO,IAAP;AACH;;AACD,UAAIm7C,6BAA6B,GAAG3mH,SAApC;;AACA,UAAIiB,eAAe,CAACiC,QAAhB,CAAyBsoE,OAAzB,CAAJ,EAAuC;AACnC;AACA,YAAM/iD,QAAQ,GAAG+iD,OAAjB;AACA5/B,4BAAoB,CAAC,QAAD,EAAWnjB,QAAQ,CAACrF,MAApB,CAApB;AACAwoB,4BAAoB,CAAC,WAAD,EAAcnjB,QAAQ,CAACpF,SAAvB,CAApB;AACAyoB,kCAA0B,CAAC,eAAD,EAAkBrjB,QAAQ,CAAC1E,aAA3B,CAA1B;AACA,YAAMF,UAAU,GAAG4E,QAAQ,CAAC5E,UAA5B;AACA8iG,qCAA6B,GAAG,IAAIpjG,uBAAJ,CAA4B;AACxDC,uBAAa,EAAErM,WAAW,CAACsR,QAAQ,CAACjF,aAAV,CAD8B;AAExDC,kBAAQ,EAAEtM,WAAW,CAACsR,QAAQ,CAAChF,QAAV,CAFmC;AAGxDC,qBAAW,EAAEvM,WAAW,CAACsR,QAAQ,CAAC/E,WAAV,CAHgC;AAIxDC,iBAAO,EAAE,IAJ+C;AAKxDP,gBAAM,EAAEqF,QAAQ,CAACrF,MAAT,IAAmB,EAL6B;AAMxDC,mBAAS,EAAEoF,QAAQ,CAACpF,SAAT,IAAsB,EANuB;AAOxDQ,oBAAU,EAAEA,UAAU,IAAI,EAP8B;AAQxDE,uBAAa,EAAE5M,WAAW,CAACsR,QAAQ,CAAC1E,aAAV,CAR8B;AASxDC,kBAAQ,EAAE,CAAC,CAACyE,QAAQ,CAAChF,QATmC;AAUxDG,6BAAmB,EAAE,EAVmC;AAWxDE,4BAAkB,EAAE,EAXoC;AAYxDG,6BAAmB,EAAE9M,WAAW,CAACq0D,OAAO,CAACvnD,mBAAT;AAZwB,SAA5B,CAAhC;AAcH;;AACD,UAAI2iG,uBAAuB,GAAG,IAA9B;AACA,UAAI/hG,aAAa,GAAG,EAApB;AACA,UAAIgiG,sBAAsB,GAAG,EAA7B;AACA,UAAI/qH,QAAQ,GAAG0vE,OAAO,CAAC1vE,QAAvB;;AACA,UAAImF,eAAe,CAACiC,QAAhB,CAAyBsoE,OAAzB,CAAJ,EAAuC;AACnC;AACA,YAAM/iD,SAAQ,GAAG+iD,OAAjB;AACAo7C,+BAAuB,GAAGn+F,SAAQ,CAACtnB,eAAnC;;AACA,YAAIsnB,SAAQ,CAAC5D,aAAb,EAA4B;AACxBA,uBAAa,GAAG,KAAKiiG,qBAAL,CAA2Br+F,SAAQ,CAAC5D,aAApC,EAAmDgiG,sBAAnD,gCAAiGE,aAAa,CAACxT,aAAD,CAA9G,SAAkI,EAAlI,EAAsIA,aAAtI,CAAhB;AACH;;AACD,YAAI9qF,SAAQ,CAACxD,eAAb,EAA8B;AAC1B4hG,gCAAsB,GAAGG,qBAAqB,CAACv+F,SAAQ,CAACxD,eAAV,CAArB,CACpBxmB,GADoB,CAChB,UAACgI,IAAD;AAAA,mBAAU,QAAI,CAACwgH,0BAAL,CAAgCxgH,IAAhC,CAAV;AAAA,WADgB,EAEpBhL,MAFoB,CAEborH,sBAFa,CAAzB;AAGH;;AACD,YAAI,CAAC/qH,QAAL,EAAe;AACXA,kBAAQ,GAAG,KAAKuvE,eAAL,CAAqBujC,8BAArB,EAAX;AACH;AACJ,OAfD,MAgBK;AACD;AACA,YAAI,CAAC9yG,QAAL,EAAe;AACXA,kBAAQ,GAAG,IAAX;AACH;AACJ;;AACD,UAAI8oB,SAAS,GAAG,EAAhB;;AACA,UAAI4mD,OAAO,CAAC5mD,SAAR,IAAqB,IAAzB,EAA+B;AAC3BA,iBAAS,GAAG,KAAKkiG,qBAAL,CAA2Bt7C,OAAO,CAAC5mD,SAAnC,EAA8CiiG,sBAA9C,4BAAwFE,aAAa,CAACxT,aAAD,CAArG,SAAyH,EAAzH,EAA6HA,aAA7H,CAAZ;AACH;;AACD,UAAIzuF,OAAO,GAAG,EAAd;AACA,UAAIE,WAAW,GAAG,EAAlB;;AACA,UAAIwmD,OAAO,CAAC1mD,OAAR,IAAmB,IAAvB,EAA6B;AACzBA,eAAO,GAAG,KAAKoiG,mBAAL,CAAyB17C,OAAO,CAAC1mD,OAAjC,EAA0C,KAA1C,EAAiDyuF,aAAjD,CAAV;AACAvuF,mBAAW,GAAG,KAAKkiG,mBAAL,CAAyB17C,OAAO,CAAC1mD,OAAjC,EAA0C,IAA1C,EAAgDyuF,aAAhD,CAAd;AACH;;AACD,UAAMr2D,QAAQ,GAAG/4B,wBAAwB,CAAClQ,MAAzB,CAAgC;AAC7CmQ,cAAM,EAAE,KADqC;AAE7CtoB,gBAAQ,EAAEA,QAFmC;AAG7CwoB,gBAAQ,EAAEnN,WAAW,CAACq0D,OAAO,CAAClnD,QAAT,CAHwB;AAI7CD,mBAAW,EAAE,CAAC,CAACsiG,6BAJ8B;AAK7ClgH,YAAI,EAAE,KAAK0gH,gBAAL,CAAsB5T,aAAtB,CALuC;AAM7C9vF,gBAAQ,EAAEkjG,6BANmC;AAO7CxlH,uBAAe,EAAEylH,uBAP4B;AAQ7CriG,cAAM,EAAEinD,OAAO,CAACjnD,MAAR,IAAkB,EARmB;AAS7CC,eAAO,EAAEgnD,OAAO,CAAChnD,OAAR,IAAmB,EATiB;AAU7CgB,YAAI,EAAEgmD,OAAO,CAAChmD,IAAR,IAAgB,EAVuB;AAW7CZ,iBAAS,EAAEA,SAAS,IAAI,EAXqB;AAY7CC,qBAAa,EAAEA,aAAa,IAAI,EAZa;AAa7CC,eAAO,EAAEA,OAAO,IAAI,EAbyB;AAc7CC,cAAM,EAAEymD,OAAO,CAACzmD,MAAR,IAAkB,EAdmB;AAe7CC,mBAAW,EAAEA,WAAW,IAAI,EAfiB;AAgB7CC,uBAAe,EAAE4hG,sBAhB4B;AAiB7C3hG,yBAAiB,EAAEyhG,6BAA6B,GAAG,KAAKS,qBAAL,CAA2B7T,aAA3B,CAAH,GAC5C,IAlByC;AAmB7CpuF,oBAAY,EAAEwhG,6BAA6B,GAAG,KAAKU,eAAL,CAAqB9T,aAArB,CAAH,GAAyC,IAnBvC;AAoB7CnuF,wBAAgB,EAAE;AApB2B,OAAhC,CAAjB;;AAsBA,UAAIuhG,6BAAJ,EAAmC;AAC/BzpE,gBAAQ,CAAC93B,gBAAT,GACI,KAAKkiG,mBAAL,CAAyBxrH,QAAzB,EAAmCy3G,aAAnC,EAAkDr2D,QAAQ,CAAC34B,MAA3D,EAAmE24B,QAAQ,CAAC14B,OAA5E,CADJ;AAEH;;AACDkiG,gBAAU,GAAG;AAAExpE,gBAAQ,EAARA,QAAF;AAAYgpE,kBAAU,EAAE16C;AAAxB,OAAb;;AACA,WAAKi5C,4BAAL,CAAkCnmH,GAAlC,CAAsCi1G,aAAtC,EAAqDmT,UAArD;;AACA,aAAOA,UAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,8BAAqBnT,aAArB,EAAoC;AAChC,UAAM/nC,OAAO,GAAG,KAAKk5C,eAAL,CAAqBrmH,GAArB,CAAyBk1G,aAAzB,CAAhB;;AACA,UAAI,CAAC/nC,OAAL,EAAc;AACV,aAAKI,YAAL,CAAkB5zD,WAAW,sJAA+I+uG,aAAa,CAACxT,aAAD,CAA5J,OAA7B,EAA8MA,aAA9M;AACH;;AACD,aAAO/nC,OAAP;AACH;;;WACD,6BAAoB65C,OAApB,EAA6B;AACzB,UAAMkC,UAAU,GAAG,KAAKC,YAAL,CAAkBnC,OAAlB,EAA2BtiG,kBAAkB,CAACuC,SAA9C,CAAnB;;AACA,UAAI,CAACiiG,UAAL,EAAiB;AACb,aAAK37C,YAAL,CAAkB5zD,WAAW,mEAA4D+uG,aAAa,CAAC1B,OAAD,CAAzE,OAA7B,EAAqHA,OAArH;AACH;;AACD,aAAOkC,UAAP;AACH;;;WACD,qBAAY9gH,IAAZ,EAAkB;AACd,aAAO,CAAC,CAAC,KAAK+gH,YAAL,CAAkB/gH,IAAlB,EAAwBsc,kBAAkB,CAACuC,SAA3C,CAAF,IACH,KAAK6+F,kBAAL,CAAwBsD,WAAxB,CAAoChhH,IAApC,CADJ;AAEH;;;WACD,6BAAoBA,IAApB,EAA0B;AACtB,UAAM0jG,OAAO,GAAG,KAAKqd,YAAL,CAAkB/gH,IAAlB,EAAwBsc,kBAAkB,CAACuC,SAA3C,CAAhB;;AACA,UAAI6kF,OAAO,IAAI,CAACA,OAAO,CAAC9lF,WAAxB,EAAqC;AACjC,eAAO,CAAC8lF,OAAO,CAACruG,QAAhB;AACH;;AACD,UAAM8sB,IAAI,GAAG,KAAKu7F,kBAAL,CAAwBv5C,OAAxB,CAAgCnkE,IAAhC,EAAsC,KAAtC,CAAb;;AACA,UAAImiB,IAAI,IAAI,CAAC3nB,eAAe,CAACiC,QAAhB,CAAyB0lB,IAAzB,CAAb,EAA6C;AACzC,eAAO,CAACA,IAAI,CAAC9sB,QAAb;AACH;;AACD,aAAO,KAAP;AACH;;;WACD,gBAAO2K,IAAP,EAAa;AACT,aAAO,CAAC,CAAC,KAAK+gH,YAAL,CAAkB/gH,IAAlB,EAAwBsc,kBAAkB,CAAC+C,IAA3C,CAAF,IACH,KAAKs+F,aAAL,CAAmBz6E,MAAnB,CAA0BljC,IAA1B,CADJ;AAEH;;;WACD,oBAAWA,IAAX,EAAiB;AACb,aAAO,CAAC,CAAC,KAAK+gH,YAAL,CAAkB/gH,IAAlB,EAAwBsc,kBAAkB,CAAC4D,QAA3C,CAAF,IACH,KAAKu9F,iBAAL,CAAuBwD,UAAvB,CAAkCjhH,IAAlC,CADJ;AAEH;;;WACD,4BAAmBq0C,UAAnB,EAAyD;AAAA,UAA1B6sE,iBAA0B,uEAAN,IAAM;;AACrD,UAAIC,aAAa,GAAG,KAAKJ,YAAL,CAAkB1sE,UAAlB,EAA8B/3B,kBAAkB,CAAC4D,QAAjD,CAApB;;AACA,UAAI,CAACihG,aAAL,EAAoB;AAChB,YAAM5+F,UAAU,GAAG,KAAK6+F,mBAAL,CAAyB/sE,UAAzB,EAAqC,KAArC,EAA4C6sE,iBAA5C,CAAnB;AACAC,qBAAa,GAAG5+F,UAAU,GAAGA,UAAU,CAACzD,SAAX,EAAH,GAA4B,IAAtD;;AACA,YAAIqiG,aAAJ,EAAmB;AACf,eAAKjD,aAAL,CAAmBrmH,GAAnB,CAAuBw8C,UAAvB,EAAmC8sE,aAAnC;AACH;AACJ;;AACD,aAAOA,aAAP;AACH;AACD;AACJ;AACA;;;;WACI,8CAAqC9sE,UAArC,EAAiDkrE,MAAjD,EAAiF;AAAA;;AAAA,UAAxB9S,eAAwB,uEAAN,IAAM;AAC7E,UAAMjxG,QAAQ,GAAG,KAAK4lH,mBAAL,CAAyB/sE,UAAzB,EAAqCo4D,eAArC,CAAjB;AACA,UAAM4U,OAAO,GAAG,EAAhB;;AACA,UAAI7lH,QAAJ,EAAc;AACVA,gBAAQ,CAACgkB,kBAAT,CAA4BjsB,OAA5B,CAAoC,UAAC0a,EAAD,EAAQ;AACxC,cAAMqzG,OAAO,GAAG,QAAI,CAACC,qBAAL,CAA2BltE,UAA3B,EAAuCpmC,EAAE,CAAC2M,SAA1C,EAAqD2kG,MAArD,CAAhB;;AACA,cAAI+B,OAAJ,EAAa;AACTD,mBAAO,CAACtsH,IAAR,CAAausH,OAAb;AACH;AACJ,SALD;AAMA9lH,gBAAQ,CAACkkB,aAAT,CAAuBnsB,OAAvB,CAA+B,UAAC0a,EAAD;AAAA,iBAAQ,QAAI,CAACuzG,iBAAL,CAAuBvzG,EAAE,CAAC2M,SAA1B,CAAR;AAAA,SAA/B;AACH;;AACD,aAAOvJ,OAAO,CAACH,GAAR,CAAYmwG,OAAZ,CAAP;AACH;;;WACD,kCAAyBhtE,UAAzB,EAAqC;AACjC,UAAIotE,WAAW,GAAG,KAAKnD,mBAAL,CAAyB1mH,GAAzB,CAA6By8C,UAA7B,CAAlB;;AACA,UAAIotE,WAAJ,EAAiB;AACb,eAAOA,WAAP;AACH;;AACD,UAAMC,YAAY,GAAGhV,QAAQ,CAAC,KAAK7/B,UAAL,CAAgB80C,kBAAhB,CAAmCttE,UAAnC,CAAD,EAAiD94C,cAAc,CAACkB,QAAhE,CAA7B;AACAglH,iBAAW,GAAG;AACVzhH,YAAI,EAAE,KAAK0gH,gBAAL,CAAsBrsE,UAAtB,CADI;AAEVuB,kBAAU,EAAE8rE,YAAY,CAACjtE,OAFf;AAGVkB,kBAAU,EAAE+rE,YAAY,CAACltE,OAHf;AAIVwB,oBAAY,EAAE0rE,YAAY,CAACvjG;AAJjB,OAAd;;AAMA,WAAKmgG,mBAAL,CAAyBzmH,GAAzB,CAA6Bw8C,UAA7B,EAAyCotE,WAAzC;;AACA,aAAOA,WAAP;AACH;;;WACD,6BAAoBptE,UAApB,EAAkF;AAAA;;AAAA,UAAlDo4D,eAAkD,uEAAhC,IAAgC;AAAA,UAA1ByU,iBAA0B,uEAAN,IAAM;AAC9E7sE,gBAAU,GAAG1hC,iBAAiB,CAAC0hC,UAAD,CAA9B;;AACA,UAAIotE,WAAW,GAAG,KAAKrD,cAAL,CAAoBxmH,GAApB,CAAwBy8C,UAAxB,CAAlB;;AACA,UAAIotE,WAAJ,EAAiB;AACb,eAAOA,WAAP;AACH;;AACD,UAAMt/F,IAAI,GAAG,KAAKs7F,iBAAL,CAAuBt5C,OAAvB,CAA+B9vB,UAA/B,EAA2Co4D,eAA3C,CAAb;;AACA,UAAI,CAACtqF,IAAL,EAAW;AACP,eAAO,IAAP;AACH;;AACD,UAAM3C,kBAAkB,GAAG,EAA3B;AACA,UAAMoiG,4BAA4B,GAAG,EAArC;AACA,UAAMliG,aAAa,GAAG,EAAtB;AACA,UAAMG,eAAe,GAAG,EAAxB;AACA,UAAMC,eAAe,GAAG,EAAxB;AACA,UAAM3B,SAAS,GAAG,EAAlB;AACA,UAAMK,eAAe,GAAG,EAAxB;AACA,UAAMoB,mBAAmB,GAAG,EAA5B;AACA,UAAMG,OAAO,GAAG,EAAhB;;AACA,UAAIoC,IAAI,CAACqyB,OAAT,EAAkB;AACd+rE,6BAAqB,CAACp+F,IAAI,CAACqyB,OAAN,CAArB,CAAoCjhD,OAApC,CAA4C,UAACsuH,YAAD,EAAkB;AAC1D,cAAIC,kBAAkB,GAAGvoH,SAAzB;;AACA,cAAIwoH,WAAW,CAACF,YAAD,CAAf,EAA+B;AAC3BC,8BAAkB,GAAGD,YAArB;AACH,WAFD,MAGK,IAAIA,YAAY,IAAIA,YAAY,CAACrmH,QAAjC,EAA2C;AAC5C,gBAAMwmH,mBAAmB,GAAGH,YAA5B;AACAC,8BAAkB,GAAGE,mBAAmB,CAACxmH,QAAzC;;AACA,gBAAIwmH,mBAAmB,CAAC7jG,SAAxB,EAAmC;AAC/BA,uBAAS,CAACppB,IAAV,OAAAopB,SAAS,qJAAS,QAAI,CAACkiG,qBAAL,CAA2B2B,mBAAmB,CAAC7jG,SAA/C,EAA0DK,eAA1D,uCAAyG8hG,aAAa,CAACwB,kBAAD,CAAtH,QAA+I,EAA/I,EAAmJD,YAAnJ,CAAT,EAAT;AACH;AACJ;;AACD,cAAIC,kBAAJ,EAAwB;AACpB,gBAAI,QAAI,CAACG,gBAAL,CAAsB5tE,UAAtB,EAAkCytE,kBAAlC,CAAJ,EACI;AACJ,gBAAI,CAACZ,iBAAL,EACIA,iBAAiB,GAAG,IAAIp0G,GAAJ,EAApB;;AACJ,gBAAIo0G,iBAAiB,CAACpgG,GAAlB,CAAsBghG,kBAAtB,CAAJ,EAA+C;AAC3C,sBAAI,CAAC38C,YAAL,CAAkB5zD,WAAW,WAAI,QAAI,CAAC2wG,kBAAL,CAAwBJ,kBAAxB,CAAJ,eAAoDxB,aAAa,CAACuB,YAAD,CAAjE,sDAA2HvB,aAAa,CAACjsE,UAAD,CAAxI,QAA7B,EAAwLA,UAAxL;;AACA;AACH;;AACD6sE,6BAAiB,CAACn0G,GAAlB,CAAsB+0G,kBAAtB;;AACA,gBAAMK,qBAAqB,GAAG,QAAI,CAACC,kBAAL,CAAwBN,kBAAxB,EAA4CZ,iBAA5C,CAA9B;;AACAA,6BAAiB,CAACp/D,MAAlB,CAAyBggE,kBAAzB;;AACA,gBAAI,CAACK,qBAAL,EAA4B;AACxB,sBAAI,CAACh9C,YAAL,CAAkB5zD,WAAW,sBAAe,QAAI,CAAC2wG,kBAAL,CAAwBL,YAAxB,CAAf,eAAyDvB,aAAa,CAACuB,YAAD,CAAtE,uCAAiHvB,aAAa,CAACjsE,UAAD,CAA9H,2CAA7B,EAAiNA,UAAjN;;AACA;AACH;;AACDx0B,2BAAe,CAAC9qB,IAAhB,CAAqBotH,qBAArB;AACH,WAjBD,MAkBK;AACD,oBAAI,CAACh9C,YAAL,CAAkB5zD,WAAW,6BAAsB+uG,aAAa,CAACuB,YAAD,CAAnC,uCAA8EvB,aAAa,CAACjsE,UAAD,CAA3F,OAA7B,EAA0IA,UAA1I;;AACA;AACH;AACJ,SAlCD;AAmCH;;AACD,UAAIlyB,IAAI,CAACsyB,OAAT,EAAkB;AACd8rE,6BAAqB,CAACp+F,IAAI,CAACsyB,OAAN,CAArB,CAAoClhD,OAApC,CAA4C,UAAC8uH,YAAD,EAAkB;AAC1D,cAAI,CAACN,WAAW,CAACM,YAAD,CAAhB,EAAgC;AAC5B,oBAAI,CAACl9C,YAAL,CAAkB5zD,WAAW,6BAAsB+uG,aAAa,CAAC+B,YAAD,CAAnC,uCAA8E/B,aAAa,CAACjsE,UAAD,CAA3F,OAA7B,EAA0IA,UAA1I;;AACA;AACH;;AACD,cAAI,CAAC6sE,iBAAL,EACIA,iBAAiB,GAAG,IAAIp0G,GAAJ,EAApB;;AACJ,cAAIo0G,iBAAiB,CAACpgG,GAAlB,CAAsBuhG,YAAtB,CAAJ,EAAyC;AACrC,oBAAI,CAACl9C,YAAL,CAAkB5zD,WAAW,WAAI,QAAI,CAAC2wG,kBAAL,CAAwBG,YAAxB,CAAJ,eAA8C/vG,SAAS,CAAC+vG,YAAD,CAAvD,sDAAiH/B,aAAa,CAACjsE,UAAD,CAA9H,OAA7B,EAA6KA,UAA7K;;AACA;AACH;;AACD6sE,2BAAiB,CAACn0G,GAAlB,CAAsBs1G,YAAtB;;AACA,cAAMC,qBAAqB,GAAG,QAAI,CAACF,kBAAL,CAAwBC,YAAxB,EAAsCnB,iBAAtC,CAA9B;;AACAA,2BAAiB,CAACp/D,MAAlB,CAAyBugE,YAAzB;;AACA,cAAIC,qBAAJ,EAA2B;AACvBxiG,2BAAe,CAAC/qB,IAAhB,CAAqButH,qBAArB;AACH,WAFD,MAGK;AACDV,wCAA4B,CAAC7sH,IAA7B,CAAkC,QAAI,CAACwtH,sBAAL,CAA4BF,YAA5B,CAAlC;AACH;AACJ,SApBD;AAqBH,OA9E6E,CA+E9E;AACA;;;AACA,UAAMriG,gBAAgB,GAAG,KAAKwiG,8BAAL,CAAoC3iG,eAApC,EAAqDC,eAArD,CAAzB;;AACA,UAAIqC,IAAI,CAACoyB,YAAT,EAAuB;AACnBgsE,6BAAqB,CAACp+F,IAAI,CAACoyB,YAAN,CAArB,CAAyChhD,OAAzC,CAAiD,UAACkvH,YAAD,EAAkB;AAC/D,cAAI,CAACV,WAAW,CAACU,YAAD,CAAhB,EAAgC;AAC5B,oBAAI,CAACt9C,YAAL,CAAkB5zD,WAAW,6BAAsB+uG,aAAa,CAACmC,YAAD,CAAnC,uCAA8EnC,aAAa,CAACjsE,UAAD,CAA3F,OAA7B,EAA0IA,UAA1I;;AACA;AACH;;AACD,cAAMquE,kBAAkB,GAAG,QAAI,CAACH,sBAAL,CAA4BE,YAA5B,CAA3B;;AACA,cAAI,QAAI,CAACzB,WAAL,CAAiByB,YAAjB,CAAJ,EAAoC;AAChC,gBAAI,QAAI,CAACE,mBAAL,CAAyBF,YAAzB,CAAJ,EAA4C;AACxC,sBAAI,CAACt9C,YAAL,CAAkB5zD,WAAW,qBAAc+uG,aAAa,CAACmC,YAAD,CAA3B,sCAA7B,EAA2GA,YAA3G;AACH;;AACDziG,4BAAgB,CAAC4iG,YAAjB,CAA8BF,kBAA9B;AACAljG,8BAAkB,CAACzqB,IAAnB,CAAwB2tH,kBAAxB;;AACA,oBAAI,CAACG,gBAAL,CAAsBJ,YAAtB,EAAoCpuE,UAApC;AACH,WAPD,MAQK,IAAI,QAAI,CAACnR,MAAL,CAAYu/E,YAAZ,CAAJ,EAA+B;AAChCziG,4BAAgB,CAAC8iG,OAAjB,CAAyBJ,kBAAzB;AACA1iG,4BAAgB,CAACS,KAAjB,CAAuB1rB,IAAvB,CAA4B2tH,kBAA5B;AACAhjG,yBAAa,CAAC3qB,IAAd,CAAmB2tH,kBAAnB;;AACA,oBAAI,CAACG,gBAAL,CAAsBJ,YAAtB,EAAoCpuE,UAApC;AACH,WALI,MAMA;AACD,oBAAI,CAAC8wB,YAAL,CAAkB5zD,WAAW,sBAAe,QAAI,CAAC2wG,kBAAL,CAAwBO,YAAxB,CAAf,eAAyDnC,aAAa,CAACmC,YAAD,CAAtE,uCAAiHnC,aAAa,CAACjsE,UAAD,CAA9H,6DAA7B,EAAmOA,UAAnO;;AACA;AACH;AACJ,SAxBD;AAyBH;;AACD,UAAM50B,kBAAkB,GAAG,EAA3B;AACA,UAAME,aAAa,GAAG,EAAtB;AACAiiG,kCAA4B,CAACruH,OAA7B,CAAqC,UAACwvH,UAAD,EAAgB;AACjD,YAAI/iG,gBAAgB,CAACK,aAAjB,CAA+BS,GAA/B,CAAmCiiG,UAAU,CAACnoG,SAA9C,CAAJ,EAA8D;AAC1D6E,4BAAkB,CAAC1qB,IAAnB,CAAwBguH,UAAxB;AACA/iG,0BAAgB,CAACgjG,oBAAjB,CAAsCD,UAAtC;AACH,SAHD,MAIK,IAAI/iG,gBAAgB,CAACQ,QAAjB,CAA0BM,GAA1B,CAA8BiiG,UAAU,CAACnoG,SAAzC,CAAJ,EAAyD;AAC1D+E,uBAAa,CAAC5qB,IAAd,CAAmBguH,UAAnB;AACA/iG,0BAAgB,CAACijG,eAAjB,CAAiCF,UAAjC;AACH,SAHI,MAIA;AACD,kBAAI,CAAC59C,YAAL,CAAkB5zD,WAAW,wBAAiB,QAAI,CAAC2wG,kBAAL,CAAwBa,UAAU,CAACnoG,SAAnC,CAAjB,cAAkE0lG,aAAa,CAACyC,UAAU,CAACnoG,SAAZ,CAA/E,mBAA8G0lG,aAAa,CAACjsE,UAAD,CAA3H,+CAA7B,EAAkNA,UAAlN;;AACA;AACH;AACJ,OAbD,EA/G8E,CA6H9E;AACA;;AACA,UAAIlyB,IAAI,CAAChE,SAAT,EAAoB;AAChBA,iBAAS,CAACppB,IAAV,OAAAopB,SAAS,qJAAS,KAAKkiG,qBAAL,CAA2Bl+F,IAAI,CAAChE,SAAhC,EAA2CK,eAA3C,uCAA0F8hG,aAAa,CAACjsE,UAAD,CAAvG,QAAwH,EAAxH,EAA4HA,UAA5H,CAAT,EAAT;AACH;;AACD,UAAIlyB,IAAI,CAAC3D,eAAT,EAA0B;AACtBA,uBAAe,CAACzpB,IAAhB,OAAAypB,eAAe,qJAAS+hG,qBAAqB,CAACp+F,IAAI,CAAC3D,eAAN,CAArB,CACnBxmB,GADmB,CACf,UAAAgI,IAAI;AAAA,iBAAI,QAAI,CAACwgH,0BAAL,CAAgCxgH,IAAhC,CAAJ;AAAA,SADW,CAAT,EAAf;AAEH;;AACD,UAAImiB,IAAI,CAACmyB,SAAT,EAAoB;AAChBisE,6BAAqB,CAACp+F,IAAI,CAACmyB,SAAN,CAArB,CAAsC/gD,OAAtC,CAA8C,UAAAyM,IAAI,EAAI;AAClD,cAAI,CAAC+hH,WAAW,CAAC/hH,IAAD,CAAhB,EAAwB;AACpB,oBAAI,CAACmlE,YAAL,CAAkB5zD,WAAW,6BAAsB+uG,aAAa,CAACtgH,IAAD,CAAnC,yDAAwFsgH,aAAa,CAACjsE,UAAD,CAArG,OAA7B,EAAoJA,UAApJ;;AACA;AACH;;AACDz0B,6BAAmB,CAAC7qB,IAApB,CAAyB,QAAI,CAACwtH,sBAAL,CAA4BviH,IAA5B,CAAzB;AACH,SAND;AAOH;;AACDwe,qBAAe,CAACzpB,IAAhB,OAAAypB,eAAe,qJAASoB,mBAAmB,CAAC5nB,GAApB,CAAwB,UAAAgI,IAAI;AAAA,eAAI,QAAI,CAACwgH,0BAAL,CAAgCxgH,IAAI,CAAC4a,SAArC,CAAJ;AAAA,OAA5B,CAAT,EAAf;;AACA,UAAIuH,IAAI,CAACpC,OAAT,EAAkB;AACdA,eAAO,CAAChrB,IAAR,OAAAgrB,OAAO,qJAASwgG,qBAAqB,CAACp+F,IAAI,CAACpC,OAAN,CAA9B,EAAP;AACH;;AACD0hG,iBAAW,GAAG,IAAIliG,uBAAJ,CAA4B;AACtCvf,YAAI,EAAE,KAAK0gH,gBAAL,CAAsBrsE,UAAtB,CADgC;AAEtCl2B,iBAAS,EAATA,SAFsC;AAGtCK,uBAAe,EAAfA,eAHsC;AAItCoB,2BAAmB,EAAnBA,mBAJsC;AAKtCG,eAAO,EAAPA,OALsC;AAMtCP,0BAAkB,EAAlBA,kBANsC;AAOtCC,0BAAkB,EAAlBA,kBAPsC;AAQtCC,qBAAa,EAAbA,aARsC;AAStCC,qBAAa,EAAbA,aATsC;AAUtCE,uBAAe,EAAfA,eAVsC;AAWtCC,uBAAe,EAAfA,eAXsC;AAYtCE,wBAAgB,EAAhBA,gBAZsC;AAatC/R,UAAE,EAAEkU,IAAI,CAAClU,EAAL,IAAW;AAbuB,OAA5B,CAAd;AAeAuQ,qBAAe,CAACjrB,OAAhB,CAAwB,UAAC0a,EAAD;AAAA,eAAQ+R,gBAAgB,CAACkjG,iBAAjB,CAAmCj1G,EAAnC,CAAR;AAAA,OAAxB;AACAkQ,eAAS,CAAC5qB,OAAV,CAAkB,UAACstB,QAAD;AAAA,eAAcb,gBAAgB,CAACmjG,WAAjB,CAA6BtiG,QAA7B,EAAuC4gG,WAAW,CAACzhH,IAAnD,CAAd;AAAA,OAAlB;AACAggB,sBAAgB,CAACojG,SAAjB,CAA2B3B,WAAW,CAACzhH,IAAvC;;AACA,WAAKo+G,cAAL,CAAoBvmH,GAApB,CAAwBw8C,UAAxB,EAAoCotE,WAApC;;AACA,aAAOA,WAAP;AACH;;;WACD,0BAAiBptE,UAAjB,EAA6BytE,kBAA7B,EAAiD;AAC7C,UAAIztE,UAAU,KAAKytE,kBAAnB,EAAuC;AACnC,aAAK38C,YAAL,CAAkB5zD,WAAW,YAAK+uG,aAAa,CAACjsE,UAAD,CAAlB,kCAA7B,EAA4FA,UAA5F;;AACA,eAAO,IAAP;AACH;;AACD,aAAO,KAAP;AACH;;;WACD,4BAAmBr0C,IAAnB,EAAyB;AACrB,UAAI+hH,WAAW,CAAC/hH,IAAD,CAAf,EAAuB;AACnB,YAAI,KAAKghH,WAAL,CAAiBhhH,IAAjB,CAAJ,EAA4B;AACxB,iBAAO,WAAP;AACH;;AACD,YAAI,KAAKkjC,MAAL,CAAYljC,IAAZ,CAAJ,EAAuB;AACnB,iBAAO,MAAP;AACH;;AACD,YAAI,KAAKihH,UAAL,CAAgBjhH,IAAhB,CAAJ,EAA2B;AACvB,iBAAO,QAAP;AACH;AACJ;;AACD,UAAIA,IAAI,CAACqjH,OAAT,EAAkB;AACd,eAAO,UAAP;AACH;;AACD,aAAO,OAAP;AACH;;;WACD,0BAAiBrjH,IAAjB,EAAuBq0C,UAAvB,EAAmC;AAC/B,UAAMivE,SAAS,GAAG,KAAKjF,gBAAL,CAAsBzmH,GAAtB,CAA0BoI,IAA1B,CAAlB;;AACA,UAAIsjH,SAAS,IAAIA,SAAS,KAAKjvE,UAA/B,EAA2C;AACvC,aAAK8wB,YAAL,CAAkB5zD,WAAW,CAAC,eAAQ+uG,aAAa,CAACtgH,IAAD,CAArB,wDAAyEsgH,aAAa,CAACgD,SAAD,CAAtF,kBAAyGhD,aAAa,CAACjsE,UAAD,CAAtH,2CACAisE,aAAa,CAACtgH,IAAD,CADb,8CACuDsgH,aAAa,CAACgD,SAAD,CADpE,kBACuFhD,aAAa,CAACjsE,UAAD,CADpG,iFAEsCisE,aAAa,CAACtgH,IAAD,CAFnD,2CAE0FsgH,aAAa,CAACgD,SAAD,CAFvG,kBAE0HhD,aAAa,CAACjsE,UAAD,CAFvI,MAAD,CAA7B,EAEuLA,UAFvL;;AAGA;AACH;;AACD,WAAKgqE,gBAAL,CAAsBxmH,GAAtB,CAA0BmI,IAA1B,EAAgCq0C,UAAhC;AACH;;;WACD,wCAA+Bx0B,eAA/B,EAAgDC,eAAhD,EAAiE;AAC7D;AACA,UAAMhrB,MAAM,GAAG,IAAIsrB,iCAAJ,EAAf;AACA,UAAMmjG,cAAc,GAAG,IAAIhtH,GAAJ,EAAvB;AACAspB,qBAAe,CAAC7qB,MAAhB,CAAuB8qB,eAAvB,EAAwCvsB,OAAxC,CAAgD,UAACiwH,UAAD,EAAgB;AAC5DA,kBAAU,CAACrjG,OAAX,CAAmB5sB,OAAnB,CAA2B,UAAClC,GAAD;AAAA,iBAASyD,MAAM,CAACsuH,SAAP,CAAiB/xH,GAAjB,CAAT;AAAA,SAA3B;AACAmyH,kBAAU,CAAChlG,eAAX,CAA2BjrB,OAA3B,CAAmC,UAACm2D,IAAD;AAAA,iBAAU50D,MAAM,CAACouH,iBAAP,CAAyBx5D,IAAzB,CAAV;AAAA,SAAnC;AACA,YAAM+5D,WAAW,GAAG,IAAI32G,GAAJ,EAApB;AACA02G,kBAAU,CAACrlG,SAAX,CAAqB5qB,OAArB,CAA6B,UAACyY,KAAD,EAAW;AACpC,cAAMq4B,QAAQ,GAAG7nB,cAAc,CAACxQ,KAAK,CAAC6U,QAAN,CAAe3nB,KAAhB,CAA/B;AACA,cAAIwqH,WAAW,GAAGH,cAAc,CAAC3rH,GAAf,CAAmBysC,QAAnB,CAAlB;;AACA,cAAI,CAACq/E,WAAL,EAAkB;AACdA,uBAAW,GAAG,IAAI52G,GAAJ,EAAd;AACAy2G,0BAAc,CAAC1rH,GAAf,CAAmBwsC,QAAnB,EAA6Bq/E,WAA7B;AACH;;AACD,cAAMC,SAAS,GAAG33G,KAAK,CAACiU,MAAN,CAAarF,SAA/B,CAPoC,CAQpC;AACA;;AACA,cAAI6oG,WAAW,CAAC3iG,GAAZ,CAAgBujB,QAAhB,KAA6B,CAACq/E,WAAW,CAAC5iG,GAAZ,CAAgB6iG,SAAhB,CAAlC,EAA8D;AAC1DD,uBAAW,CAAC32G,GAAZ,CAAgB42G,SAAhB;AACAF,uBAAW,CAAC12G,GAAZ,CAAgBs3B,QAAhB;AACAvvC,kBAAM,CAACquH,WAAP,CAAmBn3G,KAAK,CAAC6U,QAAzB,EAAmC7U,KAAK,CAACiU,MAAzC;AACH;AACJ,SAfD;AAgBH,OApBD;AAqBAH,qBAAe,CAACvsB,OAAhB,CAAwB,UAACiwH,UAAD,EAAgB;AACpCA,kBAAU,CAAC/jG,kBAAX,CAA8BlsB,OAA9B,CAAsC,UAAC0a,EAAD;AAAA,iBAAQnZ,MAAM,CAACkuH,oBAAP,CAA4B/0G,EAA5B,CAAR;AAAA,SAAtC;AACAu1G,kBAAU,CAAC7jG,aAAX,CAAyBpsB,OAAzB,CAAiC,UAAC0a,EAAD;AAAA,iBAAQnZ,MAAM,CAACmuH,eAAP,CAAuBh1G,EAAvB,CAAR;AAAA,SAAjC;AACH,OAHD;AAIA4R,qBAAe,CAACtsB,OAAhB,CAAwB,UAACiwH,UAAD,EAAgB;AACpCA,kBAAU,CAAC/jG,kBAAX,CAA8BlsB,OAA9B,CAAsC,UAAC0a,EAAD;AAAA,iBAAQnZ,MAAM,CAAC8tH,YAAP,CAAoB30G,EAApB,CAAR;AAAA,SAAtC;AACAu1G,kBAAU,CAAC7jG,aAAX,CAAyBpsB,OAAzB,CAAiC,UAAC0a,EAAD;AAAA,iBAAQnZ,MAAM,CAACguH,OAAP,CAAe70G,EAAf,CAAR;AAAA,SAAjC;AACH,OAHD;AAIA,aAAOnZ,MAAP;AACH;;;WACD,gCAAuBkL,IAAvB,EAA6B;AACzBA,UAAI,GAAG2S,iBAAiB,CAAC3S,IAAD,CAAxB;AACA,aAAO;AAAE4a,iBAAS,EAAE5a;AAAb,OAAP;AACH;;;WACD,sBAAaA,IAAb,EAAmB;AACf,UAAMusG,WAAW,GAAG,KAAK1/B,UAAL,CAAgB+2C,cAAhB,CAA+B5jH,IAA/B,CAApB;;AACA,aAAOusG,WAAW,CAACn7F,IAAZ,CAAiB,UAAA43F,GAAG;AAAA,eAAIvtG,gBAAgB,CAACgB,QAAjB,CAA0BusG,GAA1B,CAAJ;AAAA,OAApB,CAAP;AACH;;;WACD,8BAAqBhpG,IAArB,EAA2B;AACvB,aAAO;AACH4e,mBAAW,EAAEtC,kBAAkB,CAACsoB,UAD7B;AAEH5kC,YAAI,EAAE,KAAK0gH,gBAAL,CAAsB1gH,IAAtB,EAA4B,IAA5B,EAAkC,KAAlC;AAFH,OAAP;AAIH;;;WACD,+BAAsBA,IAAtB,EAA4E;AAAA,UAAhDwhB,YAAgD,uEAAjC,IAAiC;AAAA,UAA3BqiG,kBAA2B,uEAAN,IAAM;;AACxE,UAAM5E,WAAW,GAAG,KAAK8B,YAAL,CAAkB/gH,IAAlB,EAAwBsc,kBAAkB,CAACsoB,UAA3C,CAApB;;AACA,UAAM0nE,YAAY,GAAG2S,WAAW,GAC5BA,WAAW,CAACj/G,IADgB,GAE5B,KAAK0gH,gBAAL,CAAsB1gH,IAAtB,EAA4BwhB,YAA5B,EAA0CqiG,kBAA1C,CAFJ;;AAGA,UAAMtX,WAAW,GAAG,KAAK1/B,UAAL,CAAgB0/B,WAAhB,CAA4BvsG,IAA5B,EAAkC2W,MAAlC,CAAyC,UAAAqyF,GAAG;AAAA,eAAIvtG,gBAAgB,CAACgB,QAAjB,CAA0BusG,GAA1B,CAAJ;AAAA,OAA5C,CAApB;;AACA,UAAIuD,WAAW,CAACj5G,MAAZ,KAAuB,CAA3B,EAA8B;AAC1B,eAAO,IAAP;AACH;;AACD,UAAM6uB,IAAI,GAAGoqF,WAAW,CAACA,WAAW,CAACj5G,MAAZ,GAAqB,CAAtB,CAAxB;AACA,aAAO;AACHyiD,cAAM,EAAE/1C,IADL;AAEHA,YAAI,EAAEssG,YAFH;AAGHrnE,kBAAU,EAAE9iB,IAAI,CAAC8iB,UAHd;AAIH9jB,gBAAQ,EAAEgB,IAAI,CAAChB,QAJZ;AAKHD,gBAAQ,EAAEiB,IAAI,CAACjB,QALZ;AAMHE,mBAAW,EAAEe,IAAI,CAACf,WANf;AAOHC,kBAAU,EAAEc,IAAI,CAACd,UAPd;AAQHC,YAAI,EAAEa,IAAI,CAACb;AARR,OAAP;AAUH;;;WACD,0BAAiBthB,IAAjB,EAAuE;AAAA,UAAhDwhB,YAAgD,uEAAjC,IAAiC;AAAA,UAA3BqiG,kBAA2B,uEAAN,IAAM;;AACnE,UAAMhpG,UAAU,GAAG,KAAK0nG,sBAAL,CAA4BviH,IAA5B,CAAnB;;AACA,aAAO;AACH4a,iBAAS,EAAEC,UAAU,CAACD,SADnB;AAEHupB,cAAM,EAAE,KAAK2/E,wBAAL,CAA8BjpG,UAAU,CAACD,SAAzC,EAAoD4G,YAApD,EAAkEqiG,kBAAlE,CAFL;AAGHhmD,sBAAc,EAAEw/C,oBAAoB,CAAC,KAAKxwC,UAAN,EAAkBhyD,UAAU,CAACD,SAA7B;AAHjC,OAAP;AAKH;;;WACD,6BAAoBte,OAApB,EAAkD;AAAA,UAArBklB,YAAqB,uEAAN,IAAM;AAC9CllB,aAAO,GAAGqW,iBAAiB,CAACrW,OAAD,CAA3B;AACA,aAAO;AAAEse,iBAAS,EAAEte,OAAb;AAAsB6nC,cAAM,EAAE,KAAK2/E,wBAAL,CAA8BxnH,OAA9B,EAAuCklB,YAAvC;AAA9B,OAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,yBAAgB4yE,QAAhB,EAA0B;AACtB,UAAMnrB,QAAQ,GAAG,KAAKk1C,UAAL,CAAgBvmH,GAAhB,CAAoBw8F,QAApB,CAAjB;;AACA,UAAI,CAACnrB,QAAL,EAAe;AACX,aAAK9D,YAAL,CAAkB5zD,WAAW,4IAAqI+uG,aAAa,CAAClsB,QAAD,CAAlJ,OAA7B,EAA+LA,QAA/L;AACH;;AACD,aAAOnrB,QAAQ,IAAI,IAAnB;AACH;;;WACD,wBAAemrB,QAAf,EAAyB;AACrB,UAAM2vB,WAAW,GAAG,KAAKhD,YAAL,CAAkB3sB,QAAlB,EAA4B93E,kBAAkB,CAAC+C,IAA/C,CAApB;;AACA,UAAI,CAAC0kG,WAAL,EAAkB;AACd,aAAK5+C,YAAL,CAAkB5zD,WAAW,8DAAuD+uG,aAAa,CAAClsB,QAAD,CAApE,OAA7B,EAAiHA,QAAjH;AACH;;AACD,aAAO2vB,WAAP;AACH;;;WACD,+BAAsB3vB,QAAtB,EAAgC;AAC5B,UAAInrB,QAAQ,GAAG,KAAKk1C,UAAL,CAAgBvmH,GAAhB,CAAoBw8F,QAApB,CAAf;;AACA,UAAI,CAACnrB,QAAL,EAAe;AACXA,gBAAQ,GAAG,KAAKu4C,iBAAL,CAAuBptB,QAAvB,CAAX;AACH;;AACD,aAAOnrB,QAAP;AACH;;;WACD,2BAAkBmrB,QAAlB,EAA4B;AACxBA,cAAQ,GAAGzhF,iBAAiB,CAACyhF,QAAD,CAA5B;;AACA,UAAM4vB,cAAc,GAAG,KAAKrG,aAAL,CAAmBx5C,OAAnB,CAA2BiwB,QAA3B,CAAvB;;AACA,UAAMnrB,QAAQ,GAAG,IAAI7pD,mBAAJ,CAAwB;AACrCpf,YAAI,EAAE,KAAK0gH,gBAAL,CAAsBtsB,QAAtB,CAD+B;AAErC5gG,YAAI,EAAEwwH,cAAc,CAACxwH,IAFgB;AAGrCsH,YAAI,EAAE,CAAC,CAACkpH,cAAc,CAAClpH;AAHc,OAAxB,CAAjB;;AAKA,WAAKqjH,UAAL,CAAgBtmH,GAAhB,CAAoBu8F,QAApB,EAA8BnrB,QAA9B;;AACA,WAAKi1C,aAAL,CAAmBrmH,GAAnB,CAAuBu8F,QAAvB,EAAiCnrB,QAAQ,CAACnqD,SAAT,EAAjC;;AACA,aAAOmqD,QAAP;AACH;;;WACD,kCAAyBj1B,UAAzB,EAAqCxyB,YAArC,EAA8E;AAAA;;AAAA,UAA3BqiG,kBAA2B,uEAAN,IAAM;AAC1E,UAAII,cAAc,GAAG,KAArB;AACA,UAAM5jH,MAAM,GAAGmhB,YAAY,IAAI,KAAKqrD,UAAL,CAAgB/1D,UAAhB,CAA2Bk9B,UAA3B,CAAhB,IAA0D,EAAzE;AACA,UAAMkwE,oBAAoB,GAAG7jH,MAAM,CAACrI,GAAP,CAAW,UAACkP,KAAD,EAAW;AAC/C,YAAIo9B,WAAW,GAAG,KAAlB;AACA,YAAI3mB,MAAM,GAAG,KAAb;AACA,YAAI6mB,MAAM,GAAG,KAAb;AACA,YAAIC,UAAU,GAAG,KAAjB;AACA,YAAIF,UAAU,GAAG,KAAjB;AACA,YAAIrrC,KAAK,GAAG,IAAZ;;AACA,YAAI+W,KAAK,CAACC,OAAN,CAAchJ,KAAd,CAAJ,EAA0B;AACtBA,eAAK,CAAC3T,OAAN,CAAc,UAAC4wH,UAAD,EAAgB;AAC1B,gBAAInoH,UAAU,CAACS,QAAX,CAAoB0nH,UAApB,CAAJ,EAAqC;AACjCxmG,oBAAM,GAAG,IAAT;AACH,aAFD,MAGK,IAAI7hB,UAAU,CAACW,QAAX,CAAoB0nH,UAApB,CAAJ,EAAqC;AACtC3/E,oBAAM,GAAG,IAAT;AACH,aAFI,MAGA,IAAIzoC,cAAc,CAACU,QAAf,CAAwB0nH,UAAxB,CAAJ,EAAyC;AAC1C1/E,wBAAU,GAAG,IAAb;AACH,aAFI,MAGA,IAAI5oC,cAAc,CAACY,QAAf,CAAwB0nH,UAAxB,CAAJ,EAAyC;AAC1C5/E,wBAAU,GAAG,IAAb;AACH,aAFI,MAGA,IAAI/qC,eAAe,CAACiD,QAAhB,CAAyB0nH,UAAzB,CAAJ,EAA0C;AAC3C7/E,yBAAW,GAAG,IAAd;AACAprC,mBAAK,GAAGirH,UAAU,CAAC1qH,aAAnB;AACH,aAHI,MAIA,IAAIT,YAAY,CAACyD,QAAb,CAAsB0nH,UAAtB,CAAJ,EAAuC;AACxCjrH,mBAAK,GAAGirH,UAAU,CAACjrH,KAAnB;AACH,aAFI,MAGA,IAAIC,oBAAoB,CAACsD,QAArB,CAA8B0nH,UAA9B,KACLA,UAAU,YAAYlpG,YADrB,EACmC;AACpC/hB,mBAAK,GAAGirH,UAAR;AACH,aAHI,MAIA,IAAIpC,WAAW,CAACoC,UAAD,CAAX,IAA2BjrH,KAAK,IAAI,IAAxC,EAA8C;AAC/CA,mBAAK,GAAGirH,UAAR;AACH;AACJ,WA3BD;AA4BH,SA7BD,MA8BK;AACDjrH,eAAK,GAAGgO,KAAR;AACH;;AACD,YAAIhO,KAAK,IAAI,IAAb,EAAmB;AACf+qH,wBAAc,GAAG,IAAjB;AACA,iBAAO,EAAP;AACH;;AACD,eAAO;AACH3/E,qBAAW,EAAXA,WADG;AAEH3mB,gBAAM,EAANA,MAFG;AAGH6mB,gBAAM,EAANA,MAHG;AAIHC,oBAAU,EAAVA,UAJG;AAKHF,oBAAU,EAAVA,UALG;AAMHrrC,eAAK,EAAE,QAAI,CAACkrH,iBAAL,CAAuBlrH,KAAvB;AANJ,SAAP;AAQH,OApD4B,CAA7B;;AAqDA,UAAI+qH,cAAJ,EAAoB;AAChB,YAAMI,UAAU,GAAGH,oBAAoB,CAAClsH,GAArB,CAAyB,UAACmrC,GAAD;AAAA,iBAASA,GAAG,CAACjqC,KAAJ,GAAYonH,aAAa,CAACn9E,GAAG,CAACjqC,KAAL,CAAzB,GAAuC,GAAhD;AAAA,SAAzB,EAA8ExE,IAA9E,CAAmF,IAAnF,CAAnB;AACA,YAAM0/B,OAAO,8CAAuCksF,aAAa,CAACtsE,UAAD,CAApD,gBAAsEqwE,UAAtE,OAAb;;AACA,YAAIR,kBAAkB,IAAI,KAAKj3C,OAAL,CAAaq9B,yBAAvC,EAAkE;AAC9D,eAAK9kC,YAAL,CAAkB5zD,WAAW,CAAC6iB,OAAD,CAA7B,EAAwC4f,UAAxC;AACH;AACJ;;AACD,aAAOkwE,oBAAP;AACH;;;WACD,2BAAkBhrH,KAAlB,EAAyB;AACrBA,WAAK,GAAGyZ,iBAAiB,CAACzZ,KAAD,CAAzB;AACA,UAAIorH,YAAJ;;AACA,UAAI,OAAOprH,KAAP,KAAiB,QAArB,EAA+B;AAC3BorH,oBAAY,GAAG;AAAErvH,eAAK,EAAEiE;AAAT,SAAf;AACH,OAFD,MAGK;AACDorH,oBAAY,GAAG;AAAEzpG,oBAAU,EAAE;AAAED,qBAAS,EAAE1hB;AAAb;AAAd,SAAf;AACH;;AACD,aAAOorH,YAAP;AACH;;;WACD,+BAAsBnmG,SAAtB,EAAiComG,qBAAjC,EAAwDC,SAAxD,EAAgG;AAAA;;AAAA,UAA7BC,gBAA6B,uEAAV,EAAU;AAAA,UAANzkH,IAAM;AAC5Fme,eAAS,CAAC5qB,OAAV,CAAkB,UAACstB,QAAD,EAAW6jG,WAAX,EAA2B;AACzC,YAAIz0G,KAAK,CAACC,OAAN,CAAc2Q,QAAd,CAAJ,EAA6B;AACzB,kBAAI,CAACw/F,qBAAL,CAA2Bx/F,QAA3B,EAAqC0jG,qBAArC,EAA4DC,SAA5D,EAAuEC,gBAAvE;AACH,SAFD,MAGK;AACD5jG,kBAAQ,GAAGlO,iBAAiB,CAACkO,QAAD,CAA5B;AACA,cAAI8jG,YAAY,GAAGprH,SAAnB;;AACA,cAAIsnB,QAAQ,IAAI,OAAOA,QAAP,KAAoB,QAAhC,IAA4CA,QAAQ,CAACjO,cAAT,CAAwB,SAAxB,CAAhD,EAAoF;AAChF,oBAAI,CAACgyG,iBAAL,CAAuB/jG,QAAvB;;AACA8jG,wBAAY,GAAG,IAAI1jG,YAAJ,CAAiBJ,QAAQ,CAACwiG,OAA1B,EAAmCxiG,QAAnC,CAAf;AACH,WAHD,MAIK,IAAIkhG,WAAW,CAAClhG,QAAD,CAAf,EAA2B;AAC5B8jG,wBAAY,GAAG,IAAI1jG,YAAJ,CAAiBJ,QAAjB,EAA2B;AAAEK,sBAAQ,EAAEL;AAAZ,aAA3B,CAAf;AACH,WAFI,MAGA,IAAIA,QAAQ,KAAK,KAAK,CAAtB,EAAyB;AAC1B,oBAAI,CAACskD,YAAL,CAAkB5zD,WAAW,+IAA7B;;AACA;AACH,WAHI,MAIA;AACD,gBAAMszG,aAAa,GAAG1mG,SAAS,CAC1BsD,MADiB,CACV,UAACqjG,KAAD,EAAQC,YAAR,EAAsBC,eAAtB,EAA0C;AAClD,kBAAIA,eAAe,GAAGN,WAAtB,EAAmC;AAC/BI,qBAAK,CAAC/vH,IAAN,WAAcurH,aAAa,CAACyE,YAAD,CAA3B;AACH,eAFD,MAGK,IAAIC,eAAe,IAAIN,WAAvB,EAAoC;AACrCI,qBAAK,CAAC/vH,IAAN,YAAeurH,aAAa,CAACyE,YAAD,CAA5B;AACH,eAFI,MAGA,IAAIC,eAAe,IAAIN,WAAW,GAAG,CAArC,EAAwC;AACzCI,qBAAK,CAAC/vH,IAAN,CAAW,KAAX;AACH;;AACD,qBAAO+vH,KAAP;AACH,aAZqB,EAYnB,EAZmB,EAajBpwH,IAbiB,CAaZ,IAbY,CAAtB;;AAcA,oBAAI,CAACywE,YAAL,CAAkB5zD,WAAW,mBAAYizG,SAAS,GAC9CA,SAD8C,GAE9C,UAFyB,uEAE8CK,aAF9C,OAA7B,EAE8F7kH,IAF9F;;AAGA;AACH;;AACD,cAAI2kH,YAAY,CAACzrH,KAAb,KACA,QAAI,CAAC2zE,UAAL,CAAgB7xD,wBAAhB,CAAyCvD,WAAW,CAACC,4BAArD,CADJ,EACwF;AACpF6sG,iCAAqB,CAACxvH,IAAtB,OAAAwvH,qBAAqB,qJAAS,QAAI,CAACU,+BAAL,CAAqCN,YAArC,EAAmD3kH,IAAnD,CAAT,EAArB;AACH,WAHD,MAIK;AACDykH,4BAAgB,CAAC1vH,IAAjB,CAAsB,QAAI,CAACmwH,mBAAL,CAAyBP,YAAzB,CAAtB;AACH;AACJ;AACJ,OA9CD;AA+CA,aAAOF,gBAAP;AACH;;;WACD,2BAAkB5jG,QAAlB,EAA4B;AACxB,UAAIA,QAAQ,CAACjO,cAAT,CAAwB,UAAxB,KAAuCiO,QAAQ,CAACK,QAAT,IAAqB,IAAhE,EAAsE;AAClE,aAAKikD,YAAL,CAAkB5zD,WAAW,gCAAyB+uG,aAAa,CAACz/F,QAAQ,CAACwiG,OAAV,CAAtC,kCAAgFxiG,QAAQ,CAACK,QAAzF,gOAA7B;AAIH;AACJ;;;WACD,yCAAgCL,QAAhC,EAA0C7gB,IAA1C,EAAgD;AAAA;;AAC5C,UAAMmlH,UAAU,GAAG,EAAnB;AACA,UAAMC,oBAAoB,GAAG,EAA7B;;AACA,UAAIvkG,QAAQ,CAACQ,UAAT,IAAuBR,QAAQ,CAACO,WAAhC,IAA+CP,QAAQ,CAACK,QAA5D,EAAsE;AAClE,aAAKikD,YAAL,CAAkB5zD,WAAW,kEAA7B,EAAiGvR,IAAjG;;AACA,eAAO,EAAP;AACH;;AACD,UAAI,CAAC6gB,QAAQ,CAACU,KAAd,EAAqB;AACjB,aAAK4jD,YAAL,CAAkB5zD,WAAW,wEAA7B,EAAuGvR,IAAvG;;AACA,eAAO,EAAP;AACH;;AACDqlH,wBAAkB,CAACxkG,QAAQ,CAACM,QAAV,EAAoBikG,oBAApB,CAAlB;AACAA,0BAAoB,CAAC7xH,OAArB,CAA6B,UAACsnB,UAAD,EAAgB;AACzC,YAAM7O,KAAK,GAAG,QAAI,CAACw0G,0BAAL,CAAgC3lG,UAAU,CAACD,SAA3C,EAAsD,KAAtD,CAAd;;AACA,YAAI5O,KAAJ,EAAW;AACPm5G,oBAAU,CAACpwH,IAAX,CAAgBiX,KAAhB;AACH;AACJ,OALD;AAMA,aAAOm5G,UAAP;AACH;;;WACD,oCAA2BvG,OAA3B,EAA4D;AAAA,UAAxBnS,eAAwB,uEAAN,IAAM;AACxD,UAAM1nC,OAAO,GAAG,KAAKy6C,iCAAL,CAAuCZ,OAAvC,CAAhB;;AACA,UAAI75C,OAAO,IAAIA,OAAO,CAACtuB,QAAR,CAAiB74B,WAAhC,EAA6C;AACzC,eAAO;AAAEoD,uBAAa,EAAE49F,OAAjB;AAA0BjgG,0BAAgB,EAAEomD,OAAO,CAACtuB,QAAR,CAAiB93B;AAA7D,SAAP;AACH;;AACD,UAAMmiG,UAAU,GAAG,KAAKC,YAAL,CAAkBnC,OAAlB,EAA2BtiG,kBAAkB,CAACuC,SAA9C,CAAnB;;AACA,UAAIiiG,UAAU,IAAIA,UAAU,CAACljG,WAA7B,EAA0C;AACtC,eAAO;AAAEoD,uBAAa,EAAE49F,OAAjB;AAA0BjgG,0BAAgB,EAAEmiG,UAAU,CAACniG;AAAvD,SAAP;AACH;;AACD,UAAI8tF,eAAJ,EAAqB;AACjB,cAAMl7F,WAAW,WAAIqtG,OAAO,CAACprH,IAAZ,4CAAjB;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,oCAA2BwM,IAA3B,EAAsD;AAAA,UAArBwhB,YAAqB,uEAAN,IAAM;;AAClD,UAAMy9F,WAAW,GAAG,KAAK8B,YAAL,CAAkB/gH,IAAlB,EAAwBsc,kBAAkB,CAACsoB,UAA3C,CAApB;;AACA,UAAIq6E,WAAJ,EAAiB;AACb,eAAOA,WAAW,CAACj/G,IAAnB;AACH;;AACD,aAAO,KAAK0gH,gBAAL,CAAsB1gH,IAAtB,EAA4BwhB,YAA5B,CAAP;AACH;;;WACD,6BAAoBX,QAApB,EAA8B;AAC1B,UAAIykG,WAAW,GAAG/rH,SAAlB;AACA,UAAIgsH,mBAAmB,GAAG,IAA1B;AACA,UAAIC,sBAAsB,GAAG,IAA7B;;AACA,UAAItsH,KAAK,GAAG,KAAKkrH,iBAAL,CAAuBvjG,QAAQ,CAAC3nB,KAAhC,CAAZ;;AACA,UAAI2nB,QAAQ,CAACK,QAAb,EAAuB;AACnBqkG,2BAAmB,GACf,KAAKE,0BAAL,CAAgC5kG,QAAQ,CAACK,QAAzC,EAAmDL,QAAQ,CAACW,YAA5D,CADJ;AAEA8jG,mBAAW,GAAGC,mBAAmB,CAACphF,MAAlC;;AACA,YAAItjB,QAAQ,CAAC3nB,KAAT,KAAmB2nB,QAAQ,CAACK,QAAhC,EAA0C;AACtC;AACAhoB,eAAK,GAAG;AAAE2hB,sBAAU,EAAE0qG;AAAd,WAAR;AACH;AACJ,OARD,MASK,IAAI1kG,QAAQ,CAACQ,UAAb,EAAyB;AAC1BmkG,8BAAsB,GAAG,KAAKE,mBAAL,CAAyB7kG,QAAQ,CAACQ,UAAlC,EAA8CR,QAAQ,CAACW,YAAvD,CAAzB;AACA8jG,mBAAW,GAAGE,sBAAsB,CAACrhF,MAArC;AACH;;AACD,aAAO;AACHjrC,aAAK,EAAEA,KADJ;AAEHgoB,gBAAQ,EAAEqkG,mBAFP;AAGHpkG,gBAAQ,EAAEN,QAAQ,CAACM,QAHhB;AAIHE,kBAAU,EAAEmkG,sBAJT;AAKHpkG,mBAAW,EAAEP,QAAQ,CAACO,WAAT,GAAuB,KAAKgjG,iBAAL,CAAuBvjG,QAAQ,CAACO,WAAhC,CAAvB,GAAsE7nB,SALhF;AAMH+nB,YAAI,EAAEgkG,WANH;AAOH/jG,aAAK,EAAEV,QAAQ,CAACU;AAPb,OAAP;AASH;;;WACD,6BAAoBlD,OAApB,EAA6BtkB,WAA7B,EAA0C+yG,aAA1C,EAAyD;AAAA;;AACrD,UAAM53G,GAAG,GAAG,EAAZ;AACA0E,YAAM,CAAC+T,IAAP,CAAY0Q,OAAZ,EAAqB9qB,OAArB,CAA6B,UAACuwG,YAAD,EAAkB;AAC3C,YAAM1jE,KAAK,GAAG/hB,OAAO,CAACylF,YAAD,CAArB;;AACA,YAAI1jE,KAAK,CAACrmC,WAAN,KAAsBA,WAA1B,EAAuC;AACnC7E,aAAG,CAACH,IAAJ,CAAS,QAAI,CAAC4wH,iBAAL,CAAuBvlF,KAAvB,EAA8B0jE,YAA9B,EAA4CgJ,aAA5C,CAAT;AACH;AACJ,OALD;AAMA,aAAO53G,GAAP;AACH;;;WACD,2BAAkBG,QAAlB,EAA4B;AACxB,aAAOA,QAAQ,CAAC2d,KAAT,CAAe,SAAf,CAAP;AACH;;;WACD,2BAAkB+xF,CAAlB,EAAqBjB,YAArB,EAAmC9vD,UAAnC,EAA+C;AAAA;;AAC3C,UAAIp7C,SAAJ;;AACA,UAAI,OAAOmsG,CAAC,CAAC1vG,QAAT,KAAsB,QAA1B,EAAoC;AAChCuD,iBAAS,GACL,KAAKgtH,iBAAL,CAAuB7gB,CAAC,CAAC1vG,QAAzB,EAAmC2C,GAAnC,CAAuC,UAAAyyC,OAAO;AAAA,iBAAI,QAAI,CAAC25E,iBAAL,CAAuB35E,OAAvB,CAAJ;AAAA,SAA9C,CADJ;AAEH,OAHD,MAIK;AACD,YAAI,CAACs6D,CAAC,CAAC1vG,QAAP,EAAiB;AACb,eAAK8vE,YAAL,CAAkB5zD,WAAW,sDAA8CuyF,YAA9C,qBAAmEwc,aAAa,CAACtsE,UAAD,CAAhF,iDAA7B,EAAwKA,UAAxK;;AACAp7C,mBAAS,GAAG,EAAZ;AACH,SAHD,MAIK;AACDA,mBAAS,GAAG,CAAC,KAAKwrH,iBAAL,CAAuBrf,CAAC,CAAC1vG,QAAzB,CAAD,CAAZ;AACH;AACJ;;AACD,aAAO;AACHuD,iBAAS,EAATA,SADG;AAEHkB,aAAK,EAAEirG,CAAC,CAACjrG,KAFN;AAGHE,mBAAW,EAAE+qG,CAAC,CAAC/qG,WAHZ;AAIH8pG,oBAAY,EAAZA,YAJG;AAKHjjC,YAAI,EAAEkkC,CAAC,CAAClkC,IAAF,GAAS,KAAKujD,iBAAL,CAAuBrf,CAAC,CAAClkC,IAAzB,CAAT,GAA0C,IAL7C;AAMHmjC,cAAM,EAAEe,CAAC,CAACf;AANP,OAAP;AAQH;;;WACD,sBAAax4F,KAAb,EAAoBxL,IAApB,EAA0B6lH,SAA1B,EAAqC;AACjC,UAAI,KAAK9H,eAAT,EAA0B;AACtB,aAAKA,eAAL,CAAqBvyG,KAArB,EAA4BxL,IAA5B;;AACA,YAAI6lH,SAAJ,EAAe;AACX,eAAK9H,eAAL,CAAqBvyG,KAArB,EAA4Bq6G,SAA5B;AACH;AACJ,OALD,MAMK;AACD,cAAMr6G,KAAN;AACH;AACJ;;;;;;AAEL,SAASs6G,YAAT,CAAsBC,IAAtB,EAAsC;AAAA,MAAV32G,GAAU,uEAAJ,EAAI;;AAClC,MAAI22G,IAAJ,EAAU;AACN,SAAK,IAAIpxH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGoxH,IAAI,CAACzyH,MAAzB,EAAiCqB,CAAC,EAAlC,EAAsC;AAClC,UAAMwf,IAAI,GAAGxB,iBAAiB,CAACozG,IAAI,CAACpxH,CAAD,CAAL,CAA9B;;AACA,UAAIsb,KAAK,CAACC,OAAN,CAAciE,IAAd,CAAJ,EAAyB;AACrB2xG,oBAAY,CAAC3xG,IAAD,EAAO/E,GAAP,CAAZ;AACH,OAFD,MAGK;AACDA,WAAG,CAACra,IAAJ,CAASof,IAAT;AACH;AACJ;AACJ;;AACD,SAAO/E,GAAP;AACH;;AACD,SAAS42G,WAAT,CAAqB3nB,KAArB,EAA4B;AACxB,MAAIA,KAAJ,EAAW;AACP,WAAOpuF,KAAK,CAACs2B,IAAN,CAAW,IAAIz5B,GAAJ,CAAQuxF,KAAR,CAAX,CAAP;AACH;;AACD,SAAO,EAAP;AACH;;AACD,SAASkiB,qBAAT,CAA+BwF,IAA/B,EAAqC;AACjC,SAAOC,WAAW,CAACF,YAAY,CAACC,IAAD,CAAb,CAAlB;AACH;;AACD,SAAShE,WAAT,CAAqB9sH,KAArB,EAA4B;AACxB,SAAQA,KAAK,YAAYgmB,YAAlB,IAAoChmB,KAAK,YAAYgH,IAA5D;AACH;;AACD,SAASopH,kBAAT,CAA4BpwH,KAA5B,EAAmCgxH,iBAAnC,EAAsD;AAClDj2G,YAAU,CAAC/a,KAAD,EAAQ,IAAIixH,sBAAJ,EAAR,EAAsCD,iBAAtC,CAAV;AACH;;IACKC,sB;;;;;;;;;;;;;WACF,oBAAWjxH,KAAX,EAAkBgxH,iBAAlB,EAAqC;AACjCA,uBAAiB,CAAClxH,IAAlB,CAAuB;AAAE6lB,iBAAS,EAAE3lB;AAAb,OAAvB;AACH;;;;EAHgC0b,gB;;AAKrC,SAAS2vG,aAAT,CAAuBtgH,IAAvB,EAA6B;AACzB,MAAIA,IAAI,YAAYib,YAApB,EAAkC;AAC9B,qBAAUjb,IAAI,CAACxM,IAAf,iBAA0BwM,IAAI,CAACkb,QAA/B;AACH,GAFD,MAGK;AACD,WAAO5I,SAAS,CAACtS,IAAD,CAAhB;AACH;AACJ;AACD;AACA;AACA;;;AACA,SAASggH,0BAAT,CAAoC/jG,QAApC,EAA8C;AAC1C,MAAMzQ,KAAK,GAAGzZ,KAAK,0CAAmCugB,SAAS,CAAC2J,QAAD,CAA5C,6BAAnB;AACAzQ,OAAK,CAAC+xG,oBAAD,CAAL,GAA8BthG,QAA9B;AACA,SAAOzQ,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqO,WAAT,CAAqB7D,GAArB,EAA0BmwG,WAA1B,EAAuC;AACnC,MAAI7iF,KAAK,GAAG;AAAE;AAAd;;AACA,MAAI,CAAC6iF,WAAW,CAACxoD,KAAjB,EAAwB;AACpBr6B,SAAK,IAAI;AAAK;AAAd;AACH;;AACD,MAAI6iF,WAAW,CAACvoD,YAAZ,KAA6BG,eAAe,CAACqD,cAAjD,EAAiE;AAC7D99B,SAAK,IAAI;AAAK;AAAd;AACH;;AACD,MAAI6iF,WAAW,CAACroD,QAAhB,EAA0B;AACtBx6B,SAAK,IAAI;AAAW;AAApB;AACH;;AACD6iF,aAAW,CAACtoD,cAAZ,CAA2BtqE,OAA3B,CAAmC,UAAC6yH,aAAD,EAAmB;AAClD;AACA,QAAIA,aAAa,KAAK5J,cAAc,CAACG,SAAjC,IACAwJ,WAAW,CAACvoD,YAAZ,KAA6BG,eAAe,CAACl/C,SAD7C,IAEAsnG,WAAW,CAACvoD,YAAZ,KAA6BG,eAAe,CAACiE,SAFjD,EAE4D;AACxD1+B,WAAK,IAAI+iF,uBAAuB,CAACD,aAAD,CAAhC;AACH;AACJ,GAPD;;AAQA,eAAyDD,WAAW,CAACzoD,aAAZ,GACrD4oD,gBAAgB,CAACtwG,GAAD,EAAMstB,KAAN,EAAa6iF,WAAW,CAAChoG,SAAzB,CADqC,GAErDooG,iBAAiB,CAACvwG,GAAD,EAAMstB,KAAN,EAAa6iF,WAAW,CAACvoD,YAAzB,EAAuCuoD,WAAW,CAAChoG,SAAZ,CAAsB,CAAtB,CAAvC,CAFrB;AAAA,MAAQqoG,YAAR,UAAQA,YAAR;AAAA,MAA6BC,aAA7B,UAAsBnjF,KAAtB;AAAA,MAA4CojF,QAA5C,UAA4CA,QAA5C;;AAGA,SAAO;AACHF,gBAAY,EAAZA,YADG;AAEHljF,SAAK,EAAEmjF,aAFJ;AAGHC,YAAQ,EAARA,QAHG;AAIHrd,aAAS,EAAEA,SAAS,CAACrzF,GAAD,EAAMmwG,WAAW,CAACjtH,KAAlB;AAJjB,GAAP;AAMH;;AACD,SAASotH,gBAAT,CAA0BtwG,GAA1B,EAA+BstB,KAA/B,EAAsCnlB,SAAtC,EAAiD;AAC7C,MAAMwoG,UAAU,GAAG,EAAnB;AACA,MAAMC,SAAS,GAAG,EAAlB;AACA,MAAM16G,KAAK,GAAGiS,SAAS,CAACnmB,GAAV,CAAc,UAAC6oB,QAAD,EAAWgmG,aAAX,EAA6B;AACrD,QAAInkH,IAAJ;;AACA,QAAIme,QAAQ,CAACK,QAAb,EAAuB;AACnB,UAAM4lG,QAAQ,GAAGC,WAAW,CAACF,aAAD,EAAgBhmG,QAAQ,CAACS,IAAT,IAAiBT,QAAQ,CAACK,QAAT,CAAkBijB,MAAnD,CAA5B;AACAzhC,UAAI,GAAGsT,GAAG,CAAChI,UAAJ,CAAe6S,QAAQ,CAACK,QAAT,CAAkBtG,SAAjC,EAA4CosG,WAA5C,CAAwDF,QAAxD,CAAP;AACH,KAHD,MAIK,IAAIjmG,QAAQ,CAACQ,UAAb,EAAyB;AAC1B,UAAMylG,SAAQ,GAAGC,WAAW,CAACF,aAAD,EAAgBhmG,QAAQ,CAACS,IAAT,IAAiBT,QAAQ,CAACQ,UAAT,CAAoB8iB,MAArD,CAA5B;;AACAzhC,UAAI,GAAGsT,GAAG,CAAChI,UAAJ,CAAe6S,QAAQ,CAACQ,UAAT,CAAoBzG,SAAnC,EAA8C9E,MAA9C,CAAqDgxG,SAArD,CAAP;AACH,KAHI,MAIA,IAAIjmG,QAAQ,CAACO,WAAb,EAA0B;AAC3B,UAAM0lG,UAAQ,GAAGC,WAAW,CAACF,aAAD,EAAgB,CAAC;AAAE3tH,aAAK,EAAE2nB,QAAQ,CAACO;AAAlB,OAAD,CAAhB,CAA5B;;AACA1e,UAAI,GAAGokH,UAAQ,CAAC,CAAD,CAAf;AACH,KAHI,MAIA;AACDpkH,UAAI,GAAG23G,uBAAuB,CAACrkG,GAAD,EAAM6K,QAAQ,CAACM,QAAf,CAA9B;AACH;;AACD,WAAOze,IAAP;AACH,GAlBa,CAAd;AAmBA,MAAM8jH,YAAY,GAAG3iH,EAAE,CAAC+iH,SAAD,EAAY,CAAC,IAAI58G,eAAJ,CAAoBsE,UAAU,CAACpC,KAAD,CAA9B,CAAD,CAAZ,EAAsDxN,aAAtD,CAAvB;AACA,SAAO;AACH8nH,gBAAY,EAAZA,YADG;AAEHljF,SAAK,EAAEA,KAAK,GAAG;AAAK;AAFjB;AAGHojF,YAAQ,EAAEp4G,UAAU,CAACq4G,UAAD;AAHjB,GAAP;;AAKA,WAASI,WAAT,CAAqBF,aAArB,EAAoCvlG,IAApC,EAA0C;AACtC,WAAOA,IAAI,CAACtpB,GAAL,CAAS,UAACmrC,GAAD,EAAM8jF,QAAN,EAAmB;AAC/B,UAAMC,SAAS,cAAOL,aAAP,cAAwBI,QAAxB,CAAf;AACAL,eAAS,CAAC7xH,IAAV,CAAe,IAAIkS,OAAJ,CAAYigH,SAAZ,EAAuB1oH,YAAvB,CAAf;AACAmoH,gBAAU,CAAC5xH,IAAX,CAAgBoyH,MAAM,CAACnxG,GAAD,EAAMmtB,GAAN,CAAtB;AACA,aAAOp1B,QAAQ,CAACm5G,SAAD,CAAf;AACH,KALM,CAAP;AAMH;AACJ;;AACD,SAASX,iBAAT,CAA2BvwG,GAA3B,EAAgCstB,KAAhC,EAAuCs6B,YAAvC,EAAqD+mD,YAArD,EAAmE;AAC/D,MAAI6B,YAAJ;AACA,MAAIllG,IAAJ;;AACA,MAAIs8C,YAAY,KAAKG,eAAe,CAACl/C,SAAjC,IAA8C++C,YAAY,KAAKG,eAAe,CAACiE,SAAnF,EAA8F;AAC1FwkD,gBAAY,GAAGxwG,GAAG,CAAChI,UAAJ,CAAe22G,YAAY,CAACzjG,QAAb,CAAsBtG,SAArC,CAAf;AACA0oB,SAAK,IAAI;AAAM;AAAf;AACAhiB,QAAI,GAAGqjG,YAAY,CAACrjG,IAAb,IAAqBqjG,YAAY,CAACzjG,QAAb,CAAsBijB,MAAlD;AACH,GAJD,MAKK;AACD,QAAIwgF,YAAY,CAACzjG,QAAjB,EAA2B;AACvBslG,kBAAY,GAAGxwG,GAAG,CAAChI,UAAJ,CAAe22G,YAAY,CAACzjG,QAAb,CAAsBtG,SAArC,CAAf;AACA0oB,WAAK,IAAI;AAAI;AAAb;AACAhiB,UAAI,GAAGqjG,YAAY,CAACrjG,IAAb,IAAqBqjG,YAAY,CAACzjG,QAAb,CAAsBijB,MAAlD;AACH,KAJD,MAKK,IAAIwgF,YAAY,CAACtjG,UAAjB,EAA6B;AAC9BmlG,kBAAY,GAAGxwG,GAAG,CAAChI,UAAJ,CAAe22G,YAAY,CAACtjG,UAAb,CAAwBzG,SAAvC,CAAf;AACA0oB,WAAK,IAAI;AAAK;AAAd;AACAhiB,UAAI,GAAGqjG,YAAY,CAACrjG,IAAb,IAAqBqjG,YAAY,CAACtjG,UAAb,CAAwB8iB,MAApD;AACH,KAJI,MAKA,IAAIwgF,YAAY,CAACvjG,WAAjB,EAA8B;AAC/BolG,kBAAY,GAAGt9G,SAAf;AACAo6B,WAAK,IAAI;AAAK;AAAd;AACAhiB,UAAI,GAAG,CAAC;AAAEpoB,aAAK,EAAEyrH,YAAY,CAACvjG;AAAtB,OAAD,CAAP;AACH,KAJI,MAKA;AACDolG,kBAAY,GAAGnM,uBAAuB,CAACrkG,GAAD,EAAM2uG,YAAY,CAACxjG,QAAnB,CAAtC;AACAmiB,WAAK,IAAI;AAAI;AAAb;AACAhiB,UAAI,GAAG,EAAP;AACH;AACJ;;AACD,MAAMolG,QAAQ,GAAGp4G,UAAU,CAACgT,IAAI,CAACtpB,GAAL,CAAS,UAAAmrC,GAAG;AAAA,WAAIgkF,MAAM,CAACnxG,GAAD,EAAMmtB,GAAN,CAAV;AAAA,GAAZ,CAAD,CAA3B;AACA,SAAO;AAAEqjF,gBAAY,EAAZA,YAAF;AAAgBljF,SAAK,EAALA,KAAhB;AAAuBojF,YAAQ,EAARA;AAAvB,GAAP;AACH;;AACD,SAASrd,SAAT,CAAmBrzF,GAAnB,EAAwBoxG,SAAxB,EAAmC;AAC/B,SAAOA,SAAS,CAACvsG,UAAV,GAAuB7E,GAAG,CAAChI,UAAJ,CAAeo5G,SAAS,CAACvsG,UAAV,CAAqBD,SAApC,CAAvB,GACH9L,OAAO,CAACs4G,SAAS,CAACnyH,KAAX,CADX;AAEH;;AACD,SAASkyH,MAAT,CAAgBnxG,GAAhB,EAAqBmtB,GAArB,EAA0B;AACtB;AACA;AACA,MAAMzgC,IAAI,GAAGygC,GAAG,CAAC4+B,OAAJ,GAAcs4C,uBAAuB,CAACrkG,GAAD,EAAMmtB,GAAG,CAACluC,KAAV,CAArC,GAAwDo0G,SAAS,CAACrzF,GAAD,EAAMmtB,GAAG,CAACjqC,KAAV,CAA9E;AACA,MAAIoqC,KAAK,GAAG;AAAE;AAAd;;AACA,MAAIH,GAAG,CAACsB,UAAR,EAAoB;AAChBnB,SAAK,IAAI;AAAE;AAAX;AACH;;AACD,MAAIH,GAAG,CAACoB,UAAR,EAAoB;AAChBjB,SAAK,IAAI;AAAE;AAAX;AACH;;AACD,MAAIH,GAAG,CAACqB,MAAR,EAAgB;AACZlB,SAAK,IAAI;AAAE;AAAX;AACH;;AACD,MAAIH,GAAG,CAAC4+B,OAAR,EAAiB;AACbz+B,SAAK,IAAI;AAAE;AAAX;AACH;;AACD,SAAOA,KAAK,KAAK;AAAE;AAAZ,IAAyB5gC,IAAzB,GAAgC4L,UAAU,CAAC,CAACQ,OAAO,CAACw0B,KAAD,CAAR,EAAiB5gC,IAAjB,CAAD,CAAjD;AACH;;AACD,SAAS2jH,uBAAT,CAAiCD,aAAjC,EAAgD;AAC5C,MAAIiB,QAAQ,GAAG;AAAE;AAAjB;;AACA,UAAQjB,aAAR;AACI,SAAK5J,cAAc,CAACO,mBAApB;AACIsK,cAAQ,GAAG;AAAQ;AAAnB;AACA;;AACJ,SAAK7K,cAAc,CAACM,gBAApB;AACIuK,cAAQ,GAAG;AAAQ;AAAnB;AACA;;AACJ,SAAK7K,cAAc,CAACS,gBAApB;AACIoK,cAAQ,GAAG;AAAQ;AAAnB;AACA;;AACJ,SAAK7K,cAAc,CAACQ,aAApB;AACIqK,cAAQ,GAAG;AAAQ;AAAnB;AACA;;AACJ,SAAK7K,cAAc,CAACI,OAApB;AACIyK,cAAQ,GAAG;AAAO;AAAlB;AACA;;AACJ,SAAK7K,cAAc,CAACK,SAApB;AACIwK,cAAQ,GAAG;AAAO;AAAlB;AACA;;AACJ,SAAK7K,cAAc,CAACG,SAApB;AACI0K,cAAQ,GAAG;AAAO;AAAlB;AACA;;AACJ,SAAK7K,cAAc,CAACE,MAApB;AACI2K,cAAQ,GAAG;AAAM;AAAjB;AACA;AAxBR;;AA0BA,SAAOA,QAAP;AACH;;AACD,SAASC,mCAAT,CAA6CvsG,SAA7C,EAAwD/E,GAAxD,EAA6DstB,KAA7D,EAAoE9kB,eAApE,EAAqF;AACjF,MAAM+oG,uBAAuB,GAAG/oG,eAAe,CAACxmB,GAAhB,CAAoB,UAACwvH,cAAD;AAAA,WAAoBxxG,GAAG,CAAChI,UAAJ,CAAew5G,cAAc,CAAC7oG,gBAA9B,CAApB;AAAA,GAApB,CAAhC;AACA,MAAMzlB,KAAK,GAAG4hB,+BAA+B,CAACC,SAAD,EAAYtD,WAAW,CAACU,wBAAxB,CAA7C;AACA,MAAMsvG,SAAS,GAAG;AACdtjF,UAAM,EAAE,CACJ;AAAE49B,aAAO,EAAE,IAAX;AAAiB9sE,WAAK,EAAEqZ,UAAU,CAACi5G,uBAAD;AAAlC,KADI,EAEJ;AAAEruH,WAAK,EAAEA,KAAT;AAAgBurC,gBAAU,EAAE,IAA5B;AAAkCF,gBAAU,EAAE;AAA9C,KAFI,EAGJ;AAAErrC,WAAK,EAAE4hB,+BAA+B,CAACC,SAAD,EAAYtD,WAAW,CAACG,WAAxB;AAAxC,KAHI,CADM;AAMdimD,kBAAc,EAAE,EANF;AAOdjjD,aAAS,EAAEG,SAAS,CAACC,wBAAV,CAAmCvD,WAAW,CAACS,+BAA/C;AAPG,GAAlB;;AASA,2BAAyDquG,iBAAiB,CAACvwG,GAAD,EAAMstB,KAAN,EAAay6B,eAAe,CAACqD,cAA7B,EAA6C;AACnHloE,SAAK,EAALA,KADmH;AAEnHqoB,SAAK,EAAE,KAF4G;AAGnHL,YAAQ,EAAEumG;AAHyG,GAA7C,CAA1E;AAAA,MAAQjB,YAAR,sBAAQA,YAAR;AAAA,MAA6BC,aAA7B,sBAAsBnjF,KAAtB;AAAA,MAA4CojF,QAA5C,sBAA4CA,QAA5C;;AAKA,SAAO;AAAEF,gBAAY,EAAZA,YAAF;AAAgBljF,SAAK,EAAEmjF,aAAvB;AAAsCC,YAAQ,EAARA,QAAtC;AAAgDrd,aAAS,EAAEA,SAAS,CAACrzF,GAAD,EAAM9c,KAAN;AAApE,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMwuH,qB,GACF,+BAAYC,kBAAZ,EAAgC;AAAA;;AAC5B,OAAKA,kBAAL,GAA0BA,kBAA1B;AACH,C;;AAEL,IAAMC,OAAO,GAAG75G,QAAQ,CAAC,IAAD,CAAxB;;IACM85G,gB;AACF,4BAAY9sG,SAAZ,EAAuB;AAAA;;AACnB,SAAKA,SAAL,GAAiBA,SAAjB;AACH;;;;WACD,iBAAQ/E,GAAR,EAAa0rG,YAAb,EAA2Bp/C,cAA3B,EAA2C;AACvC,UAAMriE,UAAU,GAAGyzC,cAAc,CAAC,UAAD,EAAaguE,YAAY,CAAC1hH,IAA1B,CAAjC;AACA,UAAMunH,uBAAuB,GAAG7F,YAAY,CAAC1hG,gBAAb,CAA8BxB,eAA9D;AACA,UAAMoB,mBAAmB,GAAG8hG,YAAY,CAAC9hG,mBAAzC;AACA,UAAMkoG,cAAc,GAAG,IAAIzlD,wBAAJ,CAA6B,KAAKtnD,SAAlC,EAA6C2mG,YAA7C,EAA2Dp/C,cAA3D,EAA2EriE,UAA3E,CAAvB;AACA,UAAM8nH,YAAY,GAAG,CAACT,mCAAmC,CAAC,KAAKvsG,SAAN,EAAiB/E,GAAjB,EAAsB;AAAE;AAAxB,QAAoCuxG,uBAApC,CAApC,EAChBvyH,MADgB,CACT8yH,cAAc,CAAC5qH,KAAf,GAAuBlF,GAAvB,CAA2B,UAAC6oB,QAAD;AAAA,eAAchH,WAAW,CAAC7D,GAAD,EAAM6K,QAAN,CAAzB;AAAA,OAA3B,CADS,EAEhB7oB,GAFgB,CAEZ,kBAAkD;AAAA,YAA/CwuH,YAA+C,UAA/CA,YAA+C;AAAA,YAAjCE,QAAiC,UAAjCA,QAAiC;AAAA,YAAvBpjF,KAAuB,UAAvBA,KAAuB;AAAA,YAAhB+lE,SAAgB,UAAhBA,SAAgB;AACvD,eAAOr7F,UAAU,CAACyJ,WAAW,CAACgB,iBAAb,CAAV,CAA0C3C,MAA1C,CAAiD,CACpDhH,OAAO,CAACw0B,KAAD,CAD6C,EACpC+lE,SADoC,EACzBmd,YADyB,EACXE,QADW,CAAjD,CAAP;AAGH,OANoB,CAArB;AAOA,UAAMsB,WAAW,GAAGh6G,UAAU,CAACyJ,WAAW,CAACe,SAAb,CAAV,CAAkC1C,MAAlC,CAAyC,CAACxH,UAAU,CAACy5G,YAAD,CAAX,CAAzC,CAApB;AACA,UAAME,kBAAkB,GAAGpkH,EAAE,CAAC,CAAC,IAAIoD,OAAJ,CAAY2gH,OAAO,CAACp0H,IAApB,CAAD,CAAD,EAA8B,CAAC,IAAIwW,eAAJ,CAAoBg+G,WAApB,CAAD,CAA9B,EAAkEtpH,aAAlE,CAA7B;AACA,UAAMipH,kBAAkB,aAAM/rG,cAAc,CAAC8lG,YAAY,CAAC1hH,IAAd,CAApB,cAAxB;;AACA,WAAKkoH,sBAAL,CAA4BlyG,GAA5B,EAAiC0rG,YAAY,CAAC1hH,IAAb,CAAkB4a,SAAnD,EAA8D5M,UAAU,CAACyJ,WAAW,CAACc,mBAAb,CAAV,CAA4CzC,MAA5C,CAAmD,CAC7GE,GAAG,CAAChI,UAAJ,CAAe0zG,YAAY,CAAC1hH,IAAb,CAAkB4a,SAAjC,CAD6G,EAE7GtM,UAAU,CAACsR,mBAAmB,CAAC5nB,GAApB,CAAwB,UAAAiW,EAAE;AAAA,eAAI+H,GAAG,CAAChI,UAAJ,CAAeC,EAAE,CAAC2M,SAAlB,CAAJ;AAAA,OAA1B,CAAD,CAFmG,EAG7GqtG,kBAH6G,CAAnD,CAA9D;;AAKA,UAAIvG,YAAY,CAACzzG,EAAjB,EAAqB;AACjB,YAAMA,EAAE,GAAG,OAAOyzG,YAAY,CAACzzG,EAApB,KAA2B,QAA3B,GAAsCa,OAAO,CAAC4yG,YAAY,CAACzzG,EAAd,CAA7C,GACP+H,GAAG,CAAChI,UAAJ,CAAe0zG,YAAY,CAACzzG,EAA5B,CADJ;AAEA,YAAMk6G,mBAAmB,GAAGn6G,UAAU,CAACyJ,WAAW,CAACiB,uBAAb,CAAV,CACvB5C,MADuB,CAChB,CAAC7H,EAAD,EAAKF,QAAQ,CAAC45G,kBAAD,CAAb,CADgB,EAEvBrlF,MAFuB,EAA5B;AAGAtsB,WAAG,CAAC5O,UAAJ,CAAerS,IAAf,CAAoBozH,mBAApB;AACH;;AACD,aAAO,IAAIT,qBAAJ,CAA0BC,kBAA1B,CAAP;AACH;;;WACD,oBAAW3xG,GAAX,EAAgBoyG,iBAAhB,EAAmC;AAC/B,WAAKF,sBAAL,CAA4BlyG,GAA5B,EAAiCoyG,iBAAjC,EAAoDl/G,SAApD;AACH;;;WACD,gCAAuB8M,GAAvB,EAA4B4E,SAA5B,EAAuC3lB,KAAvC,EAA8C;AAC1C,UAAM0yH,kBAAkB,aAAM/rG,cAAc,CAAC;AAAEhB,iBAAS,EAAEA;AAAb,OAAD,CAApB,cAAxB;AACA,UAAMytG,mBAAmB,GAAGt6G,QAAQ,CAAC45G,kBAAD,CAAR,CACvB9vH,GADuB,CACnB5C,KADmB,EAEvBiO,UAFuB,CAEZgL,UAAU,CAACuJ,WAAW,CAACa,eAAb,EAA8B,CAAClK,cAAc,CAAC4H,GAAG,CAAChI,UAAJ,CAAe4M,SAAf,CAAD,CAAf,CAA9B,EAA2E,CAACtd,YAAY,CAACitD,KAAd,CAA3E,CAFE,EAEgG,CAACpnD,YAAY,CAACC,KAAd,EAAqBD,YAAY,CAAC4+B,QAAlC,CAFhG,CAA5B;AAGA/rB,SAAG,CAAC5O,UAAJ,CAAerS,IAAf,CAAoBszH,mBAApB;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;IACMC,gB;AACF,4BAAYz7C,UAAZ,EAAwB;AAAA;;AACpB,SAAKA,UAAL,GAAkBA,UAAlB;AACH;;;;WACD,oBAAW7sE,IAAX,EAAiB;AACb,aAAO,KAAK6sE,UAAL,CAAgB0/B,WAAhB,CAA4BvsG,IAA5B,EAAkCoR,IAAlC,CAAuC7V,cAAc,CAACkB,QAAtD,CAAP;AACH;;;WACD,iBAAQuD,IAAR,EAAsC;AAAA,UAAxBysG,eAAwB,uEAAN,IAAM;AAClC,UAAMiV,YAAY,GAAGhV,QAAQ,CAAC,KAAK7/B,UAAL,CAAgB0/B,WAAhB,CAA4BvsG,IAA5B,CAAD,EAAoCzE,cAAc,CAACkB,QAAnD,CAA7B;;AACA,UAAIilH,YAAJ,EAAkB;AACd,eAAOA,YAAP;AACH,OAFD,MAGK;AACD,YAAIjV,eAAJ,EAAqB;AACjB,gBAAM,IAAI16G,KAAJ,2CAA6CugB,SAAS,CAACtS,IAAD,CAAtD,QAAN;AACH;;AACD,eAAO,IAAP;AACH;AACJ;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuoH,0BAAT,CAAoC58G,GAApC,EAAyC;AACrC,MAAMygC,SAAS,GAAG,IAAIo8E,iBAAJ,EAAlB;AACA,MAAMxyG,GAAG,GAAGiyB,qBAAqB,CAACqE,UAAtB,EAAZ;AACA,MAAMkP,IAAI,GAAGvrC,KAAK,CAACC,OAAN,CAAcvE,GAAd,IAAqBA,GAArB,GAA2B,CAACA,GAAD,CAAxC;AACA6vC,MAAI,CAACjoD,OAAL,CAAa,UAACoY,GAAD,EAAS;AAClB,QAAIA,GAAG,YAAYlC,SAAnB,EAA8B;AAC1BkC,SAAG,CAACY,cAAJ,CAAmB6/B,SAAnB,EAA8Bp2B,GAA9B;AACH,KAFD,MAGK,IAAIrK,GAAG,YAAY5L,UAAnB,EAA+B;AAChC4L,SAAG,CAACE,eAAJ,CAAoBugC,SAApB,EAA+Bp2B,GAA/B;AACH,KAFI,MAGA,IAAIrK,GAAG,YAAYpO,MAAnB,EAA2B;AAC5BoO,SAAG,CAACc,SAAJ,CAAc2/B,SAAd,EAAyBp2B,GAAzB;AACH,KAFI,MAGA;AACD,YAAM,IAAIjkB,KAAJ,kDAAoD4Z,GAApD,EAAN;AACH;AACJ,GAbD;AAcA,SAAOqK,GAAG,CAAC62B,QAAJ,EAAP;AACH;;IACK47E,iB;;;;;;;WACF,kCAAyB1/E,WAAzB,EAAsCz8B,KAAtC,EAAkH;AAAA,UAArEo8G,QAAqE,uEAA1D,EAA0D;AAAA,UAAtDC,cAAsD,uEAArC,IAAqC;AAAA,UAA/BC,eAA+B;AAAA,UAAdC,YAAc;AAC9G,UAAMz8E,SAAS,GAAG,IAAIo8E,iBAAJ,CAAsBI,eAAtB,EAAuCC,YAAvC,CAAlB;AACA,UAAM7yG,GAAG,GAAGiyB,qBAAqB,CAACqE,UAAtB,EAAZ;AACAF,eAAS,CAACrgC,kBAAV,CAA6BO,KAA7B,EAAoC0J,GAApC;AACA,UAAM8yG,aAAa,GAAGJ,QAAQ,GAAGA,QAAQ,CAAC11G,KAAT,CAAe,IAAf,CAAH,GAA0B,EAAxD;AACAo5B,eAAS,CAAC28E,SAAV,CAAoBx1H,OAApB,CAA4B,UAACw1H,SAAD,EAAYC,kBAAZ,EAAmC;AAC3D,YAAMC,aAAa,GAAGF,SAAS,CAAC/wH,GAAV,CAAc,UAAAkxH,QAAQ;AAAA,2BAAOA,QAAQ,CAAC11H,IAAhB,iBAA2B01H,QAAQ,CAACC,EAApC;AAAA,SAAtB,EAAgEz0H,IAAhE,CAAqE,GAArE,CAAtB;AACAo0H,qBAAa,CAAC/zH,IAAd,mBAA8Bk0H,aAA9B,qBAAsDD,kBAAtD;AACH,OAHD;AAIA58E,eAAS,CAACg9E,mBAAV,CAA8B71H,OAA9B,CAAsC,UAACf,MAAD,EAAS62H,kBAAT,EAAgC;AAClE;AACAP,qBAAa,CAAC/zH,IAAd,CAAmB,2BACHvC,MADG,oBACa62H,kBADb,OAAnB;AAEH,OAJD;AAKA,UAAMC,EAAE,GAAGX,cAAc,GACrB3yG,GAAG,CAACm3B,oBAAJ,CAAyBpE,WAAzB,EAAsC+/E,aAAa,CAACx1H,MAApD,EAA4D85C,WAA5D,EADqB,GAErB,EAFJ;AAGA,UAAMtH,KAAK,gKAAOgjF,aAAP,IAAsB9yG,GAAG,CAAC62B,QAAJ,EAAtB,EAAsCy8E,EAAtC,EAAX;;AACA,UAAIA,EAAJ,EAAQ;AACJ;AACAxjF,aAAK,CAAC/wC,IAAN,CAAW,EAAX;AACH;;AACDihB,SAAG,CAACuzG,oBAAJ,CAAyBT,aAAa,CAACx1H,MAAvC;AACA,aAAO;AAAEk2H,kBAAU,EAAE1jF,KAAK,CAACpxC,IAAN,CAAW,IAAX,CAAd;AAAgCmJ,eAAO,EAAEmY;AAAzC,OAAP;AACH;;;WACD,wBAAe+yB,WAAf,EAA4Bz8B,KAA5B,EAAkD;AAAA,UAAfo8G,QAAe,uEAAJ,EAAI;AAC9C,aAAO,KAAKe,wBAAL,CAA8B1gF,WAA9B,EAA2Cz8B,KAA3C,EAAkDo8G,QAAlD,EAA4Dc,UAAnE;AACH;;;;;;IAEChB,iB;;;;;AACF,6BAAYI,eAAZ,EAA6BC,YAA7B,EAA2C;AAAA;;AAAA;;AACvC,oCAAM,KAAN;AACA,aAAKD,eAAL,GAAuBA,eAAvB;AACA,aAAKC,YAAL,GAAoBA,YAApB;AACA,aAAKa,cAAL,GAAsB,CAAtB;AACA,aAAKN,mBAAL,GAA2B,IAAI7yH,GAAJ,EAA3B;AACA,aAAKwyH,SAAL,GAAiB,IAAIxyH,GAAJ,EAAjB;AANuC;AAO1C;;;;WACD,mBAAU6qC,CAAV,EAAaprB,GAAb,EAAuC;AAAA,UAArB2zG,WAAqB,uEAAP,KAAO;;AACnC,UAAIvoF,CAAJ,EAAO;AACH,aAAKsoF,cAAL;AACAtoF,SAAC,CAAC30B,SAAF,CAAY,IAAZ,EAAkBuJ,GAAlB;AACA,aAAK0zG,cAAL;AACH,OAJD,MAKK;AACD1zG,WAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgBohF,WAAhB;AACH;AACJ;;;WACD,0BAAiBh+G,GAAjB,EAAsBqK,GAAtB,EAA2B;AACvB,UAAM/gB,KAAK,GAAG0W,GAAG,CAAC1W,KAAlB;;AACA,UAAIA,KAAK,IAAI,IAAT,IAAiB0W,GAAG,CAAC3L,IAAJ,IAAYtB,aAAjC,EAAgD;AAC5CsX,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV,aAAmB1W,KAAnB;AACA,eAAO,IAAP;AACH;;AACD,mWAA8B0W,GAA9B,EAAmCqK,GAAnC;AACH,K,CACD;AACA;AACA;AACA;;;;WACA,+BAAsBrK,GAAtB,EAA2BqK,GAA3B,EAAgC;AAC5B,UAAIrK,GAAG,CAAC5D,OAAJ,CAAYzU,MAAZ,KAAuB,CAA3B,EAA8B;AAC1B0iB,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,GAAf;AACH;;AACD,UAAM7W,MAAM,GAAG,2VAA4B6W,GAA/B,EAAoCqK,GAApC,CAAZ;;AACA,UAAIrK,GAAG,CAAC5D,OAAJ,CAAYzU,MAAZ,KAAuB,CAA3B,EAA8B;AAC1B0iB,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,YAAf;AACH;;AACD,aAAO7W,MAAP;AACH;;;WACD,2BAAkB6W,GAAlB,EAAuBqK,GAAvB,EAA4B;AACxB,WAAK4zG,gBAAL,CAAsBj+G,GAAG,CAAC1W,KAA1B,EAAiC0W,GAAG,CAAC3N,UAArC,EAAiDgY,GAAjD;;AACA,aAAO,IAAP;AACH;;;WACD,gCAAuBrK,GAAvB,EAA4BqK,GAA5B,EAAiC;AAC7B,UAAMlhB,MAAM,GAAG,4VAA6B6W,GAAhC,EAAqCqK,GAArC,CAAZ;;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,GAAf;AACA,aAAO7W,MAAP;AACH;;;WACD,6BAAoB8U,IAApB,EAA0BoM,GAA1B,EAA+B;AAC3B,UAAIpM,IAAI,CAAC+jC,WAAL,CAAiBxqC,YAAY,CAAC4+B,QAA9B,KAA2Cn4B,IAAI,CAAC3U,KAAL,YAAsBoR,YAAjE,IACA,CAACuD,IAAI,CAAC5J,IADV,EACgB;AACZ;AACA,gCAA6B4J,IAAI,CAAC3U,KAAL,CAAWA,KAAxC;AAAA,YAAQzB,IAAR,qBAAQA,IAAR;AAAA,YAAc8S,UAAd,qBAAcA,UAAd;;AACA,YAAIA,UAAJ,EAAgB;AACZ,cAAIyiH,SAAS,GAAG,KAAKA,SAAL,CAAenxH,GAAf,CAAmB0O,UAAnB,CAAhB;;AACA,cAAI,CAACyiH,SAAL,EAAgB;AACZA,qBAAS,GAAG,EAAZ;AACA,iBAAKA,SAAL,CAAelxH,GAAf,CAAmByO,UAAnB,EAA+ByiH,SAA/B;AACH;;AACDA,mBAAS,CAACh0H,IAAV,CAAe;AAAEvB,gBAAI,EAAEA,IAAR;AAAc21H,cAAE,EAAEv/G,IAAI,CAACpW;AAAvB,WAAf;AACA,iBAAO,IAAP;AACH;AACJ;;AACD,UAAIoW,IAAI,CAAC+jC,WAAL,CAAiBxqC,YAAY,CAAC4+B,QAA9B,CAAJ,EAA6C;AACzC/rB,WAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACH;;AACD,UAAIA,IAAI,CAAC+jC,WAAL,CAAiBxqC,YAAY,CAACC,KAA9B,CAAJ,EAA0C;AACtC4S,WAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACH,OAFD,MAGK;AACDoM,WAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACH;;AACDoM,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV,aAAoBA,IAAI,CAACpW,IAAzB;;AACA,WAAKq2H,eAAL,CAAqBjgH,IAAI,CAAC5J,IAA1B,EAAgCgW,GAAhC;;AACA,UAAIpM,IAAI,CAAC3U,KAAT,EAAgB;AACZ+gB,WAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACAA,YAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC;AACH;;AACDA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACA,aAAO,IAAP;AACH;;;WACD,8BAAqB+B,GAArB,EAA0BqK,GAA1B,EAA+B;AAC3B,YAAM,IAAIjkB,KAAJ,CAAU,4DAAV,CAAN;AACH;;;WACD,uBAAc4Z,GAAd,EAAmBqK,GAAnB,EAAwB;AACpBA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACAA,SAAG,CAAC3L,IAAJ,CAASyM,SAAT,CAAmB,IAAnB,EAAyBuJ,GAAzB;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACAA,SAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgCmK,GAAhC;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,aAAO,IAAP;AACH;;;WACD,8BAAqBA,GAArB,EAA0BqK,GAA1B,EAA+B;AAC3BA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,WAAK+9G,cAAL;AACA/9G,SAAG,CAAC5H,SAAJ,CAAc8H,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC;AACA,WAAK0zG,cAAL;AACA1zG,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,WAAKG,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmC0a,GAAnC,EAAwC,GAAxC;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,aAAO,IAAP;AACH;;;WACD,+BAAsB/B,IAAtB,EAA4BoM,GAA5B,EAAiC;AAAA;;AAC7BA,SAAG,CAACu1B,SAAJ,CAAc3hC,IAAd;;AACA,UAAIA,IAAI,CAAC+jC,WAAL,CAAiBxqC,YAAY,CAAC4+B,QAA9B,CAAJ,EAA6C;AACzC/rB,WAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACH;;AACDoM,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV,kBAAyBA,IAAI,CAACpW,IAA9B;;AACA,UAAIoW,IAAI,CAACe,MAAL,IAAe,IAAnB,EAAyB;AACrBqL,WAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACA,aAAK8/G,cAAL;AACA9/G,YAAI,CAACe,MAAL,CAAYkB,eAAZ,CAA4B,IAA5B,EAAkCmK,GAAlC;AACA,aAAK0zG,cAAL;AACH;;AACD1zG,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACAoM,SAAG,CAACq0B,SAAJ;AACAzgC,UAAI,CAACgB,MAAL,CAAYrX,OAAZ,CAAoB,UAACw1G,KAAD;AAAA,eAAW,QAAI,CAAC+gB,gBAAL,CAAsB/gB,KAAtB,EAA6B/yF,GAA7B,CAAX;AAAA,OAApB;;AACA,UAAIpM,IAAI,CAACkB,iBAAL,IAA0B,IAA9B,EAAoC;AAChC,aAAK0gC,sBAAL,CAA4B5hC,IAA5B,EAAkCoM,GAAlC;AACH;;AACDpM,UAAI,CAACiB,OAAL,CAAatX,OAAb,CAAqB,UAAC6Y,MAAD;AAAA,eAAY,QAAI,CAACq/B,iBAAL,CAAuBr/B,MAAvB,EAA+B4J,GAA/B,CAAZ;AAAA,OAArB;AACApM,UAAI,CAACmB,OAAL,CAAaxX,OAAb,CAAqB,UAACoQ,MAAD;AAAA,eAAY,QAAI,CAAC+nC,iBAAL,CAAuB/nC,MAAvB,EAA+BqS,GAA/B,CAAZ;AAAA,OAArB;AACAA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACAoM,SAAG,CAAC21B,QAAJ;AACA,aAAO,IAAP;AACH;;;WACD,0BAAiBo9D,KAAjB,EAAwB/yF,GAAxB,EAA6B;AACzB,UAAI+yF,KAAK,CAACp7D,WAAN,CAAkBxqC,YAAY,CAAC4mH,OAA/B,CAAJ,EAA6C;AACzC;AACA/zG,WAAG,CAACuyB,KAAJ,CAAU,IAAV;AACH;;AACD,UAAIwgE,KAAK,CAACp7D,WAAN,CAAkBxqC,YAAY,CAAC+yC,MAA/B,CAAJ,EAA4C;AACxClgC,WAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgB,SAAhB;AACH;;AACDvyB,SAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgBwgE,KAAK,CAACv1G,IAAtB;;AACA,WAAKq2H,eAAL,CAAqB9gB,KAAK,CAAC/oG,IAA3B,EAAiCgW,GAAjC;;AACA,UAAI+yF,KAAK,CAAC3+F,WAAV,EAAuB;AACnB4L,WAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgB,KAAhB;AACAwgE,aAAK,CAAC3+F,WAAN,CAAkByB,eAAlB,CAAkC,IAAlC,EAAwCmK,GAAxC;AACH;;AACDA,SAAG,CAACi0B,OAAJ,CAAY,IAAZ;AACH;;;WACD,2BAAkB79B,MAAlB,EAA0B4J,GAA1B,EAA+B;AAC3B,UAAI5J,MAAM,CAACuhC,WAAP,CAAmBxqC,YAAY,CAAC4mH,OAAhC,CAAJ,EAA8C;AAC1C/zG,WAAG,CAACuyB,KAAJ,CAAU,IAAV;AACH;;AACDvyB,SAAG,CAACuyB,KAAJ,CAAU,IAAV,gBAAuBn8B,MAAM,CAAC5Y,IAA9B;;AACA,WAAKq2H,eAAL,CAAqBz9G,MAAM,CAACpM,IAA5B,EAAkCgW,GAAlC;;AACAA,SAAG,CAACi0B,OAAJ,CAAY,IAAZ;AACAj0B,SAAG,CAACq0B,SAAJ;AACA,WAAKt+B,kBAAL,CAAwBK,MAAM,CAAC7B,IAA/B,EAAqCyL,GAArC;AACAA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAY,IAAZ;AACH;;;WACD,gCAAuBrgC,IAAvB,EAA6BoM,GAA7B,EAAkC;AAC9BA,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;;AACA,WAAKgiC,YAAL,CAAkBhiC,IAAI,CAACkB,iBAAL,CAAuBzK,MAAzC,EAAiD2V,GAAjD;;AACAA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACAoM,SAAG,CAACq0B,SAAJ;AACA,WAAKt+B,kBAAL,CAAwBnC,IAAI,CAACkB,iBAAL,CAAuBP,IAA/C,EAAqDyL,GAArD;AACAA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACH;;;WACD,2BAAkBjG,MAAlB,EAA0BqS,GAA1B,EAA+B;AAC3B,UAAIrS,MAAM,CAACgqC,WAAP,CAAmBxqC,YAAY,CAAC4mH,OAAhC,CAAJ,EAA8C;AAC1C/zG,WAAG,CAACuyB,KAAJ,CAAU,IAAV;AACH;;AACDvyB,SAAG,CAACuyB,KAAJ,CAAU,IAAV,YAAmB5kC,MAAM,CAACnQ,IAA1B;;AACA,WAAKo4C,YAAL,CAAkBjoC,MAAM,CAACtD,MAAzB,EAAiC2V,GAAjC;;AACAA,SAAG,CAACuyB,KAAJ,CAAU,IAAV;;AACA,WAAKshF,eAAL,CAAqBlmH,MAAM,CAAC3D,IAA5B,EAAkCgW,GAAlC,EAAuC,MAAvC;;AACAA,SAAG,CAACi0B,OAAJ,CAAY,IAAZ;AACAj0B,SAAG,CAACq0B,SAAJ;AACA,WAAKt+B,kBAAL,CAAwBpI,MAAM,CAAC4G,IAA/B,EAAqCyL,GAArC;AACAA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAY,IAAZ;AACH;;;WACD,2BAAkBt+B,GAAlB,EAAuBqK,GAAvB,EAA4B;AACxB,UAAIrK,GAAG,CAACnY,IAAR,EAAc;AACVwiB,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,WAAf;AACAqK,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAeA,GAAG,CAACnY,IAAnB;AACH;;AACDwiB,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;;AACA,WAAKigC,YAAL,CAAkBjgC,GAAG,CAACtL,MAAtB,EAA8B2V,GAA9B;;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;;AACA,WAAKk+G,eAAL,CAAqBl+G,GAAG,CAAC3L,IAAzB,EAA+BgW,GAA/B,EAAoC,MAApC;;AACA,UAAI,CAACrK,GAAG,CAACnY,IAAT,EAAe;AACXwiB,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACH;;AACDqK,SAAG,CAACi0B,OAAJ,CAAYt+B,GAAZ,EAAiB,GAAjB;AACAqK,SAAG,CAACq0B,SAAJ;AACA,WAAKt+B,kBAAL,CAAwBJ,GAAG,CAACvE,UAA5B,EAAwC4O,GAAxC;AACAA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,aAAO,IAAP;AACH;;;WACD,kCAAyB/B,IAAzB,EAA+BoM,GAA/B,EAAoC;AAChC,UAAIpM,IAAI,CAAC+jC,WAAL,CAAiBxqC,YAAY,CAAC4+B,QAA9B,CAAJ,EAA6C;AACzC/rB,WAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACH;;AACDoM,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV,qBAA4BA,IAAI,CAACpW,IAAjC;;AACA,WAAKo4C,YAAL,CAAkBhiC,IAAI,CAACvJ,MAAvB,EAA+B2V,GAA/B;;AACAA,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;;AACA,WAAKigH,eAAL,CAAqBjgH,IAAI,CAAC5J,IAA1B,EAAgCgW,GAAhC,EAAqC,MAArC;;AACAA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACAoM,SAAG,CAACq0B,SAAJ;AACA,WAAKt+B,kBAAL,CAAwBnC,IAAI,CAACxC,UAA7B,EAAyC4O,GAAzC;AACAA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACA,aAAO,IAAP;AACH;;;WACD,2BAAkBA,IAAlB,EAAwBoM,GAAxB,EAA6B;AACzBA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACAoM,SAAG,CAACq0B,SAAJ;AACA,WAAKt+B,kBAAL,CAAwBnC,IAAI,CAACwB,SAA7B,EAAwC4K,GAAxC;AACAA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ,qBAA8B+9B,iBAAiB,CAACn0C,IAAhD;AACAwiB,SAAG,CAACq0B,SAAJ;AACA,UAAMh/B,UAAU,GAAG,CAACu8B,iBAAiB,CAAC/vC,GAAlB,CAAsB8vC,iBAAiB,CAAC/5B,IAAlB,CAAuB,OAAvB,EAAgC,IAAhC,CAAtB,EAA6D1K,UAA7D,CAAwE,IAAxE,EAA8E,CAC1FC,YAAY,CAACC,KAD6E,CAA9E,CAAD,EAEXpO,MAFW,CAEJ4U,IAAI,CAACyB,UAFD,CAAnB;AAGA,WAAKU,kBAAL,CAAwBV,UAAxB,EAAoC2K,GAApC;AACAA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACA,aAAO,IAAP;AACH;;;WACD,0BAAiB5J,IAAjB,EAAuBgW,GAAvB,EAA4B;AACxB,UAAIg0G,OAAJ;;AACA,cAAQhqH,IAAI,CAACxM,IAAb;AACI,aAAKkK,eAAe,CAACmB,IAArB;AACImrH,iBAAO,GAAG,SAAV;AACA;;AACJ,aAAKtsH,eAAe,CAACe,OAArB;AACIurH,iBAAO,GAAG,KAAV;AACA;;AACJ,aAAKtsH,eAAe,CAACxB,QAArB;AACI8tH,iBAAO,GAAG,UAAV;AACA;;AACJ,aAAKtsH,eAAe,CAACuB,MAArB;AACI+qH,iBAAO,GAAG,QAAV;AACA;;AACJ,aAAKtsH,eAAe,CAACqB,GAArB;AACIirH,iBAAO,GAAG,QAAV;AACA;;AACJ,aAAKtsH,eAAe,CAACyB,MAArB;AACI6qH,iBAAO,GAAG,QAAV;AACA;;AACJ,aAAKtsH,eAAe,CAAC4B,IAArB;AACI0qH,iBAAO,GAAG,OAAV;AACA;;AACJ;AACI,gBAAM,IAAIj4H,KAAJ,oCAAsCiO,IAAI,CAACxM,IAA3C,EAAN;AAvBR;;AAyBAwiB,SAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgByhF,OAAhB;AACA,aAAO,IAAP;AACH;;;WACD,6BAAoBr+G,GAApB,EAAyBqK,GAAzB,EAA8B;AAAA;;AAC1BrK,SAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgCmK,GAAhC;;AACA,UAAIrK,GAAG,CAAC3N,UAAJ,KAAmB,IAAvB,EAA6B;AACzBgY,WAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgB,GAAhB;AACA,aAAKwC,eAAL,CAAqB,UAAA/qC,IAAI;AAAA,iBAAI,QAAI,CAACyM,SAAL,CAAezM,IAAf,EAAqBgW,GAArB,CAAJ;AAAA,SAAzB,EAAwDrK,GAAG,CAAC3N,UAA5D,EAAwEgY,GAAxE,EAA6E,GAA7E;AACAA,WAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgB,GAAhB;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,wBAAevoC,IAAf,EAAqBgW,GAArB,EAA0B;AACtB,WAAKvJ,SAAL,CAAezM,IAAI,CAAC7B,EAApB,EAAwB6X,GAAxB;AACAA,SAAG,CAACuyB,KAAJ,CAAU,IAAV;AACA,aAAO,IAAP;AACH;;;WACD,sBAAavoC,IAAb,EAAmBgW,GAAnB,EAAwB;AACpBA,SAAG,CAACuyB,KAAJ,CAAU,IAAV;AACA,WAAK97B,SAAL,CAAezM,IAAI,CAAC1B,SAApB,EAA+B0X,GAA/B;AACAA,SAAG,CAACuyB,KAAJ,CAAU,IAAV;AACA,aAAO,IAAP;AACH;;;WACD,8BAAqB5kC,MAArB,EAA6B;AACzB,UAAInQ,IAAJ;;AACA,cAAQmQ,MAAR;AACI,aAAKD,aAAa,CAACqoC,WAAnB;AACIv4C,cAAI,GAAG,QAAP;AACA;;AACJ,aAAKkQ,aAAa,CAACsoC,mBAAnB;AACIx4C,cAAI,GAAG,WAAP;AACA;;AACJ,aAAKkQ,aAAa,CAACuoC,IAAnB;AACIz4C,cAAI,GAAG,MAAP;AACA;;AACJ;AACI,gBAAM,IAAIzB,KAAJ,mCAAqC4R,MAArC,EAAN;AAXR;;AAaA,aAAOnQ,IAAP;AACH;;;WACD,sBAAa6M,MAAb,EAAqB2V,GAArB,EAA0B;AAAA;;AACtB,WAAK+0B,eAAL,CAAqB,UAAA7jC,KAAK,EAAI;AAC1B8O,WAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgBrhC,KAAK,CAAC1T,IAAtB;;AACA,gBAAI,CAACq2H,eAAL,CAAqB3iH,KAAK,CAAClH,IAA3B,EAAiCgW,GAAjC;AACH,OAHD,EAGG3V,MAHH,EAGW2V,GAHX,EAGgB,GAHhB;AAIH;;;WACD,0BAAiB/gB,KAAjB,EAAwB+I,UAAxB,EAAoCgY,GAApC,EAAyC;AAAA;;AACrC,UAAQxiB,IAAR,GAA6ByB,KAA7B,CAAQzB,IAAR;AAAA,UAAc8S,UAAd,GAA6BrR,KAA7B,CAAcqR,UAAd;;AACA,UAAI,KAAKsiH,eAAL,IAAwB,KAAKA,eAAL,CAAqB3zH,KAArB,CAA5B,EAAyD;AACrD+gB,WAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgB,eAAhB;AACA;AACH;;AACD,UAAIjiC,UAAU,KAAK,CAAC,KAAKuiH,YAAN,IAAsB,CAAC,KAAKA,YAAL,CAAkB5zH,KAAlB,CAA5B,CAAd,EAAqE;AACjE,YAAIzC,MAAM,GAAG,KAAK42H,mBAAL,CAAyBxxH,GAAzB,CAA6B0O,UAA7B,CAAb;;AACA,YAAI9T,MAAM,IAAI,IAAd,EAAoB;AAChBA,gBAAM,cAAO,KAAK42H,mBAAL,CAAyBv1G,IAAhC,CAAN;AACA,eAAKu1G,mBAAL,CAAyBvxH,GAAzB,CAA6ByO,UAA7B,EAAyC9T,MAAzC;AACH;;AACDwjB,WAAG,CAACuyB,KAAJ,CAAU,IAAV,YAAmB/1C,MAAnB;AACH;;AACDwjB,SAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgB/0C,IAAhB;;AACA,UAAI,KAAKk2H,cAAL,GAAsB,CAA1B,EAA6B;AACzB;AACA;AACA;AACA;AACA;AACA,YAAMO,kBAAkB,GAAGjsH,UAAU,IAAI,EAAzC;;AACA,YAAIisH,kBAAkB,CAAC32H,MAAnB,GAA4B,CAAhC,EAAmC;AAC/B0iB,aAAG,CAACuyB,KAAJ,CAAU,IAAV;AACA,eAAKwC,eAAL,CAAqB,UAAA/qC,IAAI;AAAA,mBAAIA,IAAI,CAACyM,SAAL,CAAe,QAAf,EAAqBuJ,GAArB,CAAJ;AAAA,WAAzB,EAAwDhY,UAAxD,EAAoEgY,GAApE,EAAyE,GAAzE;AACAA,aAAG,CAACuyB,KAAJ,CAAU,IAAV;AACH;AACJ;AACJ;;;WACD,yBAAgBvoC,IAAhB,EAAsBgW,GAAtB,EAA2B2zG,WAA3B,EAAwC;AACpC,UAAI3pH,IAAI,KAAKtB,aAAb,EAA4B;AACxBsX,WAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgB,GAAhB;AACA,aAAK97B,SAAL,CAAezM,IAAf,EAAqBgW,GAArB,EAA0B2zG,WAA1B;AACH;AACJ;;;;EAhV2B7/E,sB;AAmVhC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMogF,Y;AACF,wBAAYr9C,UAAZ,EAAwB;AAAA;;AACpB,SAAKA,UAAL,GAAkBA,UAAlB;AACH;;;;WACD,gBAAO7sE,IAAP,EAAa;AACT,UAAMssG,YAAY,GAAG,KAAKz/B,UAAL,CAAgB0/B,WAAhB,CAA4B55F,iBAAiB,CAAC3S,IAAD,CAA7C,CAArB;;AACA,aAAOssG,YAAY,IAAIA,YAAY,CAACl7F,IAAb,CAAkBxW,UAAU,CAAC6B,QAA7B,CAAvB;AACH;AACD;AACJ;AACA;;;;WACI,iBAAQuD,IAAR,EAAsC;AAAA,UAAxBysG,eAAwB,uEAAN,IAAM;;AAClC,UAAM0d,KAAK,GAAG,KAAKt9C,UAAL,CAAgB0/B,WAAhB,CAA4B55F,iBAAiB,CAAC3S,IAAD,CAA7C,CAAd;;AACA,UAAImqH,KAAJ,EAAW;AACP,YAAM1K,UAAU,GAAG/S,QAAQ,CAACyd,KAAD,EAAQvvH,UAAU,CAAC6B,QAAnB,CAA3B;;AACA,YAAIgjH,UAAJ,EAAgB;AACZ,iBAAOA,UAAP;AACH;AACJ;;AACD,UAAIhT,eAAJ,EAAqB;AACjB,cAAM,IAAI16G,KAAJ,sCAAwCugB,SAAS,CAACtS,IAAD,CAAjD,EAAN;AACH;;AACD,aAAO,IAAP;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;IACMoqH,iB;AACF,6BAAYv9D,OAAZ,EAAqB9xC,SAArB,EAAgC;AAAA;;AAC5B,SAAK8xC,OAAL,GAAeA,OAAf;AACA,SAAK9xC,SAAL,GAAiBA,SAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACI,0BAAiBsvG,WAAjB,EAA8B3/D,SAA9B,EAAyC1tC,QAAzC,EAAmD0vD,SAAnD,EAA8D49C,qBAA9D,EAAqFt0G,GAArF,EAA0F;AAAA;;AACtF,UAAMyK,KAAK,GAAG,IAAIlqB,GAAJ,EAAd;AACAm2E,eAAS,CAACn5E,OAAV,CAAkB,UAAAsH,CAAC;AAAA,eAAI4lB,KAAK,CAAC5oB,GAAN,CAAUgD,CAAC,CAACrH,IAAZ,EAAkBqH,CAAC,CAACmF,IAAF,CAAO4a,SAAzB,CAAJ;AAAA,OAAnB;AACA,UAAI2vG,iBAAiB,GAAG,CAAxB;;AACA,UAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAAC7/G,MAAD,EAAS2T,MAAT,EAAoB;AAC3C,YAAMmsG,iBAAiB,GAAGF,iBAAiB,EAA3C;AACA,eAAO,IAAIG,WAAJ,CAAgB,QAAI,CAAC79D,OAArB,EAA8B,QAAI,CAAC9xC,SAAnC,EAA8CuvG,qBAA9C,EAAqE3/G,MAArE,EAA6E+/C,SAAS,CAAC1qD,IAAV,CAAe4a,SAA5F,EAAuG8vC,SAAS,CAAC/sC,MAAjH,EAAyH8sG,iBAAzH,EAA4IhqG,KAA5I,EAAmJnC,MAAnJ,EAA2JtI,GAA3J,EAAgKw0G,kBAAhK,CAAP;AACH,OAHD;;AAIA,UAAM5sH,OAAO,GAAG4sH,kBAAkB,CAAC,IAAD,EAAO,EAAP,CAAlC;AACA5sH,aAAO,CAACmyB,QAAR,CAAiB,EAAjB,EAAqB/S,QAArB;AACA,aAAOpf,OAAO,CAACy5D,KAAR,CAAcgzD,WAAd,CAAP;AACH;;;;;;AAEL,IAAMM,gBAAgB,GAAG,MAAzB;;IACMC,sB;;;;;;;WACF,qCAA4B,CAAG;;;WAC/B,kBAASp3H,IAAT,EAAe;AACX,UAAIA,IAAI,KAAK+oD,gBAAgB,CAACnuB,KAAjB,CAAuB56B,IAApC,EAA0C;AACtC;AACA;AACA,eAAOua,QAAQ,CAAC48G,gBAAD,CAAf;AACH;;AACD,aAAO,IAAP;AACH;;;;;;AAEL,IAAME,eAAe,GAAG,IAAID,sBAAJ,EAAxB;;IACMF,W;AACF,uBAAY79D,OAAZ,EAAqB9xC,SAArB,EAAgCuvG,qBAAhC,EAAuD3/G,MAAvD,EAA+D+/C,SAA/D,EAA0EogE,eAA1E,EAA2FL,iBAA3F,EAA8GhqG,KAA9G,EAAqHnC,MAArH,EAA6HtI,GAA7H,EAAkIw0G,kBAAlI,EAAsJ;AAAA;;AAClJ,SAAK39D,OAAL,GAAeA,OAAf;AACA,SAAK9xC,SAAL,GAAiBA,SAAjB;AACA,SAAKuvG,qBAAL,GAA6BA,qBAA7B;AACA,SAAK3/G,MAAL,GAAcA,MAAd;AACA,SAAK+/C,SAAL,GAAiBA,SAAjB;AACA,SAAKogE,eAAL,GAAuBA,eAAvB;AACA,SAAKL,iBAAL,GAAyBA,iBAAzB;AACA,SAAKhqG,KAAL,GAAaA,KAAb;AACA,SAAKnC,MAAL,GAAcA,MAAd;AACA,SAAKtI,GAAL,GAAWA,GAAX;AACA,SAAKw0G,kBAAL,GAA0BA,kBAA1B;AACA,SAAKO,aAAL,GAAqB,IAAIx0H,GAAJ,EAArB;AACA,SAAKw4B,SAAL,GAAiB,EAAjB;AACA,SAAKP,QAAL,GAAgB,EAAhB;AACA,SAAKw8F,OAAL,GAAe,EAAf;AACA,SAAKC,OAAL,GAAe,EAAf;AACH;;;;WACD,sBAAajrH,IAAb,EAAmB;AACf,UAAIyqC,OAAJ;;AACA,UAAIzqC,IAAI,KAAK,KAAK0qD,SAAd,IAA2B,KAAKogE,eAApC,EAAqD;AACjDrgF,eAAO,GAAGkgF,gBAAV;AACH,OAFD,MAGK,IAAI3qH,IAAI,YAAYib,YAApB,EAAkC;AACnCwvB,eAAO,GAAG,KAAK6/E,qBAAL,CAA2B1yH,GAA3B,CAA+BoI,IAA/B,CAAV;AACH,OAFI,MAGA;AACDyqC,eAAO,GAAGkgF,gBAAV;AACH;;AACD,UAAI,CAAClgF,OAAL,EAAc;AACV,cAAM,IAAI14C,KAAJ,iEAAmEqpB,IAAI,CAAC9I,SAAL,CAAetS,IAAf,CAAnE,EAAN;AACH;;AACD,aAAOyqC,OAAP;AACH;;;WACD,iCAAwB9+B,GAAxB,EAA6B;AACzB,UAAM7W,MAAM,GAAG,mJAAI,KAAKwpB,MAAZ,CAAZ;;AADyB,kLAEH3S,GAAG,CAAC2U,UAFD;AAAA;;AAAA;AAEzB,kEAAsC;AAAA,cAA7B+8C,SAA6B;;AAAA,sLAChBA,SAAS,CAACv/C,MADM;AAAA;;AAAA;AAClC,sEAAoC;AAAA,kBAA3BvO,KAA2B;AAChC,kBAAM27G,KAAK,GAAG7tD,SAAS,CAACA,SAAV,CAAoB/+C,MAApB,CAA2B/O,KAAK,CAAC0tD,aAAjC,CAAd;;AACA,kBAAIiuD,KAAJ,EAAW;AACP,oBAAMC,KAAK,GAAGD,KAAK,KAAK,OAAxB;AACAp2H,sBAAM,CAACC,IAAP,CAAY;AACRm2H,uBAAK,EAALA,KADQ;AAERC,uBAAK,EAALA,KAFQ;AAGRx2G,4BAAU,EAAE;AACR9W,2BAAO,EAAE,KAAK6sD,SADN;AAERz1D,yBAAK,EAAEsa,KAAK,CAACta,KAFL;AAGRgL,8BAAU,EAAEsP,KAAK,CAACtP;AAHV;AAHJ,iBAAZ;AASH;AACJ;AAfiC;AAAA;AAAA;AAAA;AAAA;AAgBrC;AAlBwB;AAAA;AAAA;AAAA;AAAA;;AAmBzB,aAAOnL,MAAP;AACH;;;WACD,kBAASi6B,SAAT,EAAoBq8F,QAApB,EAA8B;AAC1B,WAAKr8F,SAAL,GAAiBA,SAAjB;AACAqvC,sBAAgB,CAAC,IAAD,EAAOgtD,QAAP,CAAhB;AACH;;;WACD,eAAMf,WAAN,EAA0C;AAAA;;AAAA,UAAvBgB,gBAAuB,uEAAJ,EAAI;AACtC,WAAK78F,QAAL,CAAcj7B,OAAd,CAAsB,UAACq/B,KAAD;AAAA,eAAWA,KAAK,CAACykC,KAAN,CAAYgzD,WAAZ,EAAyBgB,gBAAzB,CAAX;AAAA,OAAtB;AACA,UAAIC,SAAS,GAAG,CAACv9G,QAAQ,CAAC48G,gBAAD,CAAR,CAA2B9yH,GAA3B,CAA+BqR,SAA/B,EAA0ChG,UAA1C,CAAqD1E,YAArD,CAAD,CAAhB;AACA,UAAI+sH,YAAY,GAAG,CAAnB;AACA,WAAKP,OAAL,CAAaz3H,OAAb,CAAqB,UAACohB,UAAD,EAAgB;AAAA;;AACjC,oCAAuC,QAAI,CAAC62G,0BAAL,CAAgC72G,UAAhC,CAAvC;AAAA,YAAQ1U,UAAR,yBAAQA,UAAR;AAAA,YAAoBpC,OAApB,yBAAoBA,OAApB;AAAA,YAA6B5I,KAA7B,yBAA6BA,KAA7B;;AACA,YAAM8nD,SAAS,aAAMwuE,YAAY,EAAlB,CAAf;AACA,YAAME,YAAY,GAAG5tH,OAAO,KAAK,QAAI,CAAC6sD,SAAjB,GAA6B,QAA7B,GAAoCmgE,eAAzD;;AACA,oCAA+B9rE,uBAAsB,CAAC0sE,YAAD,EAAe19G,QAAQ,CAAC,QAAI,CAAC29G,YAAL,CAAkB7tH,OAAlB,CAAD,CAAvB,EAAqD5I,KAArD,EAA4D8nD,SAA5D,EAAuE+B,WAAW,CAAC6sE,OAAnF,CAArD;AAAA,YAAQr/G,KAAR,yBAAQA,KAAR;AAAA,YAAeuyC,WAAf,yBAAeA,WAAf;;AACAvyC,aAAK,CAACvX,IAAN,CAAW,IAAImN,mBAAJ,CAAwB28C,WAAxB,CAAX;;AACA,sBAAAysE,SAAS,EAACv2H,IAAV,sKAAkBuX,KAAK,CAACtU,GAAN,CAAU,UAAC4R,IAAD;AAAA,iBAAUuD,kCAAkC,CAACvD,IAAD,EAAO3J,UAAP,CAA5C;AAAA,SAAV,CAAlB;AACH,OAPD;AAQA,WAAKgrH,OAAL,CAAa13H,OAAb,CAAqB,kBAAoC;AAAA;;AAAA,YAAjC0M,UAAiC,UAAjCA,UAAiC;AAAA,YAArBpC,OAAqB,UAArBA,OAAqB;AAAA,YAAZ5I,KAAY,UAAZA,KAAY;AACrD,YAAM8nD,SAAS,aAAMwuE,YAAY,EAAlB,CAAf;AACA,YAAME,YAAY,GAAG5tH,OAAO,KAAK,QAAI,CAAC6sD,SAAjB,GAA6B,QAA7B,GAAoCmgE,eAAzD;;AACA,oCAAkBluE,oBAAoB,CAAC8uE,YAAD,EAAe19G,QAAQ,CAAC,QAAI,CAAC29G,YAAL,CAAkB7tH,OAAlB,CAAD,CAAvB,EAAqD5I,KAArD,EAA4D8nD,SAA5D,CAAtC;AAAA,YAAQzwC,KAAR,yBAAQA,KAAR;;AACA,uBAAAg/G,SAAS,EAACv2H,IAAV,uKAAkBuX,KAAK,CAACtU,GAAN,CAAU,UAAC4R,IAAD;AAAA,iBAAUuD,kCAAkC,CAACvD,IAAD,EAAO3J,UAAP,CAA5C;AAAA,SAAV,CAAlB;AACH,OALD;;AAMA,UAAI,KAAKqe,MAAL,CAAYhrB,MAAhB,EAAwB;AACpB,YAAIs4H,eAAe,GAAGryH,SAAtB;;AADoB,oLAEA,KAAK+kB,MAFL;AAAA;;AAAA;AAEpB,oEAAiC;AAAA,gBAAtB4sG,KAAsB;;AAC7B,wCAA2B,KAAKM,0BAAL,CAAgCN,KAAK,CAACv2G,UAAtC,CAA3B;AAAA,gBAAQ9W,OAAR,yBAAQA,OAAR;AAAA,gBAAiB5I,KAAjB,yBAAiBA,KAAjB;;AACA,gBAAM8nD,SAAS,aAAMwuE,YAAY,EAAlB,CAAf;AACA,gBAAME,YAAY,GAAG5tH,OAAO,KAAK,KAAK6sD,SAAjB,GAA6B,IAA7B,GAAoCmgE,eAAzD,CAH6B,CAI7B;AACA;;AACA,yCAA+B9rE,uBAAsB,CAAC0sE,YAAD,EAAe19G,QAAQ,CAAC,KAAK29G,YAAL,CAAkB7tH,OAAlB,CAAD,CAAvB,EAAqD5I,KAArD,EAA4D8nD,SAA5D,EAAuE+B,WAAW,CAACM,SAAnF,CAArD;AAAA,gBAAQ9yC,KAAR,0BAAQA,KAAR;AAAA,gBAAeuyC,WAAf,0BAAeA,WAAf;;AACA,gBAAIvyC,KAAK,CAAChZ,MAAN,IAAgB,CAApB,EAAuB;AACnB,kBAAMu4H,WAAW,GAAGX,KAAK,CAACC,KAAN,GAActsE,WAAd,GAA4B,KAAK7oC,GAAL,CAAShI,UAAT,CAAoBk9G,KAAK,CAACA,KAA1B,EAAiCp1G,MAAjC,CAAwC,CAAC+oC,WAAD,CAAxC,CAAhD;AACA+sE,6BAAe,GAAGA,eAAe,GAAGA,eAAe,CAAC1qB,GAAhB,CAAoB2qB,WAApB,CAAH,GAAsCA,WAAvE;AACH;AACJ;AAbmB;AAAA;AAAA;AAAA;AAAA;;AAcpB,YAAID,eAAJ,EAAqB;AACjBN,mBAAS,GAAG,CAAC,IAAIrgH,MAAJ,CAAW2gH,eAAX,EAA4BN,SAA5B,CAAD,CAAZ;AACH;AACJ;;AACD,UAAMQ,QAAQ,mBAAYzB,WAAZ,cAA2B,KAAKI,iBAAhC,CAAd;AACA,UAAMsB,WAAW,GAAG,IAAIzkH,mBAAJ,CAAwBwkH,QAAxB,EAAkC,EAAlC,EAAsCR,SAAtC,CAApB;AACAD,sBAAgB,CAACt2H,IAAjB,CAAsBg3H,WAAtB;AACA,aAAOV,gBAAP;AACH;;;WACD,wBAAe1/G,GAAf,EAAoB9N,OAApB,EAA6B;AAAA;;AACzB,UAAMmuH,aAAa,GAAGrgH,GAAG,CAAC1W,KAA1B;AACA,UAAMg3H,KAAK,GAAGD,aAAa,CAACrgH,GAA5B;AACAsgH,WAAK,CAACtnH,WAAN,CAAkBpR,OAAlB,CAA0B,UAACmP,IAAD;AAAA,eAAU,QAAI,CAACsoH,OAAL,CAAaj2H,IAAb,CAAkB;AAAE8I,iBAAO,EAAE,QAAI,CAAC6sD,SAAhB;AAA2Bz1D,eAAK,EAAEyN,IAAlC;AAAwCzC,oBAAU,EAAE0L,GAAG,CAAC1L;AAAxD,SAAlB,CAAV;AAAA,OAA1B;AACH;;;WACD,+BAAsB0L,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC,WAAKquH,sBAAL,CAA4BvgH,GAA5B,EADgC,CAEhC;AACA;AACA;;AACA,UAAI,KAAKkhD,OAAL,CAAas/D,qBAAjB,EAAwC;AACpC;AACA;AACA;AACA;AACA,YAAM7tG,MAAM,GAAG,KAAK8tG,uBAAL,CAA6BzgH,GAA7B,CAAf;AACA,YAAM0gH,YAAY,GAAG,KAAK7B,kBAAL,CAAwB,IAAxB,EAA8BlsG,MAA9B,CAArB;AACA,aAAKkQ,QAAL,CAAcz5B,IAAd,CAAmBs3H,YAAnB;AACAA,oBAAY,CAACt8F,QAAb,CAAsBpkB,GAAG,CAACojB,SAA1B,EAAqCpjB,GAAG,CAAC6iB,QAAzC;AACH;AACJ;;;WACD,sBAAa7iB,GAAb,EAAkB9N,OAAlB,EAA2B;AAAA;;AACvB,WAAKquH,sBAAL,CAA4BvgH,GAA5B;AACA,UAAI2gH,SAAS,GAAG,EAAhB;AACA,UAAIC,yBAAyB,GAAG,EAAhC;AACA,UAAIC,UAAU,GAAG,EAAjB;AACA7gH,SAAG,CAACmS,MAAJ,CAAWvqB,OAAX,CAAmB,UAACk5H,QAAD,EAAc;AAC7B,gBAAI,CAACzB,OAAL,CAAaj2H,IAAb,CAAkB;AAAE8I,iBAAO,EAAE,QAAI,CAAC6sD,SAAhB;AAA2Bz1D,eAAK,EAAEw3H,QAAQ,CAACx3H,KAA3C;AAAkDgL,oBAAU,EAAEwsH,QAAQ,CAACxsH;AAAvE,SAAlB;AACH,OAFD;AAGAm+D,sBAAgB,CAAC,IAAD,EAAOzyD,GAAG,CAAC6iB,QAAX,CAAhB;AACH;;;WACD,gCAAuB7iB,GAAvB,EAA4B;AAAA;;AACxBA,SAAG,CAAC2U,UAAJ,CAAe/sB,OAAf,CAAuB,UAACm5H,MAAD,EAAY;AAC/B,gBAAI,CAAClvD,cAAL,CAAoBkvD,MAApB;AACH,OAFD;AAGA/gH,SAAG,CAAC8iB,UAAJ,CAAel7B,OAAf,CAAuB,UAACuoB,GAAD,EAAS;AAC5B,YAAI6wG,aAAa,GAAG,IAApB,CAD4B,CAE5B;AACA;AACA;;AACA,YAAI7wG,GAAG,CAAC7mB,KAAJ,IAAa6mB,GAAG,CAAC7mB,KAAJ,CAAU4lB,UAAvB,IAAqC,QAAI,CAACgyC,OAAL,CAAas/D,qBAAtD,EAA6E;AACzEQ,uBAAa,GAAG7wG,GAAG,CAAC7mB,KAAJ,CAAU4lB,UAAV,CAAqBD,SAArC;AACH,SAFD,MAGK;AACD+xG,uBAAa,GAAGjvH,eAAe,CAACe,OAAhC;AACH;;AACD,gBAAI,CAACssH,aAAL,CAAmBlzH,GAAnB,CAAuBikB,GAAG,CAACtoB,IAA3B,EAAiCm5H,aAAjC;AACH,OAZD;AAaAhhH,SAAG,CAACoS,OAAJ,CAAYxqB,OAAZ,CAAoB,UAAComG,SAAD,EAAe;AAC/B,gBAAI,CAACsxB,OAAL,CAAal2H,IAAb,CAAkB;AAAE8I,iBAAO,EAAE,QAAI,CAAC6sD,SAAhB;AAA2Bz1D,eAAK,EAAE0kG,SAAS,CAAC3rE,OAA5C;AAAqD/tB,oBAAU,EAAE05F,SAAS,CAAC15F;AAA3E,SAAlB;AACH,OAFD;AAGH;;;WACD,wBAAeysH,MAAf,EAAuB;AAAA;;AACnB,UAAM9N,OAAO,GAAG8N,MAAM,CAACrvD,SAAP,CAAiBr9D,IAAjB,CAAsB4a,SAAtC;AACA8xG,YAAM,CAAC5uG,MAAP,CAAcvqB,OAAd,CAAsB,UAACgc,KAAD;AAAA,eAAW,QAAI,CAACy7G,OAAL,CAAaj2H,IAAb,CAAkB;AAAE8I,iBAAO,EAAE,QAAI,CAAC6sD,SAAhB;AAA2Bz1D,eAAK,EAAEsa,KAAK,CAACta,KAAxC;AAA+CgL,oBAAU,EAAEsP,KAAK,CAACtP;AAAjE,SAAlB,CAAX;AAAA,OAAtB,EAFmB,CAGnB;AACA;AACA;;AACA,UAAI,KAAK4sD,OAAL,CAAas/D,qBAAjB,EAAwC;AACpCO,cAAM,CAACzuG,cAAP,CAAsB1qB,OAAtB,CAA8B,UAACk5H,QAAD;AAAA,iBAAc,QAAI,CAACzB,OAAL,CAAaj2H,IAAb,CAAkB;AAAE8I,mBAAO,EAAE+gH,OAAX;AAAoB3pH,iBAAK,EAAEw3H,QAAQ,CAACx3H,KAApC;AAA2CgL,sBAAU,EAAEwsH,QAAQ,CAACxsH;AAAhE,WAAlB,CAAd;AAAA,SAA9B;AACAysH,cAAM,CAACpvD,UAAP,CAAkB/pE,OAAlB,CAA0B,UAACq5H,YAAD;AAAA,iBAAkB,QAAI,CAAC3B,OAAL,CAAal2H,IAAb,CAAkB;AAC1D8I,mBAAO,EAAE+gH,OADiD;AAE1D3pH,iBAAK,EAAE23H,YAAY,CAAC5+F,OAFsC;AAG1D/tB,sBAAU,EAAE2sH,YAAY,CAAC3sH;AAHiC,WAAlB,CAAlB;AAAA,SAA1B;AAKH;AACJ;;;WACD,qCAA4B,CAAG;;;WAC/B,kBAASzM,IAAT,EAAe;AACX,UAAIA,IAAI,IAAI+oD,gBAAgB,CAACnuB,KAAjB,CAAuB56B,IAAnC,EAAyC;AACrC,eAAOua,QAAQ,CAAC,KAAK29G,YAAL,CAAkBhuH,eAAe,CAACe,OAAlC,CAAD,CAAf;AACH;;AACD,WAAK,IAAIouH,WAAW,GAAG,IAAvB,EAA6BA,WAA7B,EAA0CA,WAAW,GAAGA,WAAW,CAACliH,MAApE,EAA4E;AACxE,YAAIgiH,aAAa,SAAjB,CADwE,CAExE;;AACAA,qBAAa,GAAGE,WAAW,CAAC9B,aAAZ,CAA0BnzH,GAA1B,CAA8BpE,IAA9B,CAAhB;;AACA,YAAIm5H,aAAa,IAAI,IAArB,EAA2B;AACvB;AACA,cAAMG,MAAM,GAAGD,WAAW,CAAC99F,SAAZ,CAAsBmP,IAAtB,CAA2B,UAAC4uF,MAAD;AAAA,mBAAYA,MAAM,CAACt5H,IAAP,KAAgBA,IAA5B;AAAA,WAA3B,CAAf;;AACA,cAAIs5H,MAAJ,EAAY;AACRH,yBAAa,GAAGjvH,eAAe,CAACe,OAAhC;AACH;AACJ;;AACD,YAAIkuH,aAAa,IAAI,IAArB,EAA2B;AACvB,iBAAO5+G,QAAQ,CAAC,KAAK29G,YAAL,CAAkBiB,aAAlB,CAAD,CAAf;AACH;AACJ;;AACD,aAAO,IAAP;AACH;;;WACD,uBAAcn5H,IAAd,EAAoB;AAChB,UAAM01B,IAAI,GAAG,KAAKzI,KAAL,CAAW7oB,GAAX,CAAepE,IAAf,CAAb;;AACA,UAAI,CAAC01B,IAAL,EAAW;AACP,cAAM,IAAIn3B,KAAJ,8CAAgDyB,IAAhD,6BAAuE,KAAKk3D,SAA5E,EAAN;AACH;;AACD,aAAO,KAAKghE,YAAL,CAAkBxiG,IAAlB,CAAP;AACH;;;WACD,oCAA2BvU,UAA3B,EAAuC;AAAA;;AACnC,aAAO;AACH1U,kBAAU,EAAE0U,UAAU,CAAC1U,UADpB;AAEHpC,eAAO,EAAE8W,UAAU,CAAC9W,OAFjB;AAGH5I,aAAK,EAAEqoD,8BAA8B,CAAC;AAClCC,qCAA2B,EAAE,qCAACC,QAAD;AAAA,mBAAc,UAACliD,IAAD,EAAU;AACjD,kBAAMsV,GAAG,GAAGtC,UAAU,CAAChT,IAAD,CAAtB,CADiD,CAEjD;AACA;;AACA,qBAAO,QAAI,CAACuxD,OAAL,CAAas/D,qBAAb,GAAqCv7G,GAArC,GAA2CA,GAAG,CAAC4tC,IAAJ,CAAShgD,YAAT,CAAlD;AACH,aAL4B;AAAA,WADK;AAOlCi/C,mCAAyB,EAAE,mCAAC9vC,IAAD;AAAA,mBAAU,UAACpR,MAAD,EAAY;AAC7C,kBAAMwL,OAAO,GAAG4F,IAAI,CAAC3V,GAAL,CAAS,UAAC66B,CAAD,EAAIl+B,CAAJ;AAAA,uBAAW;AAChCwT,qBAAG,EAAE0qB,CAAC,CAAC1qB,GADyB;AAEhClT,uBAAK,EAAEsH,MAAM,CAAC5H,CAAD,CAFmB;AAGhCyT,wBAAM,EAAEyqB,CAAC,CAACzqB;AAHsB,iBAAX;AAAA,eAAT,CAAhB;AAKA,kBAAMpQ,GAAG,GAAGuW,UAAU,CAACxG,OAAD,CAAtB,CAN6C,CAO7C;AACA;;AACA,qBAAO,QAAI,CAAC8kD,OAAL,CAAas/D,qBAAb,GAAqCn0H,GAArC,GAA2CA,GAAG,CAACwmD,IAAJ,CAAShgD,YAAT,CAAlD;AACH,aAV0B;AAAA,WAPO;AAkBlCk/C,6BAAmB,EAAE,6BAAClqD,IAAD,EAAOgqD,QAAP;AAAA,mBAAoB,UAACliD,IAAD,EAAU;AAC/C;AACA;AACA,kBAAMyxH,QAAQ,GAAG,QAAI,CAAClgE,OAAL,CAAas/D,qBAAb,GACbp+G,QAAQ,CAAC,QAAI,CAACi/G,aAAL,CAAmBx5H,IAAnB,CAAD,CADK,GAEbua,QAAQ,CAAC,QAAI,CAAC29G,YAAL,CAAkBhuH,eAAe,CAACe,OAAlC,CAAD,CAFZ;AAGA,qBAAOsuH,QAAQ,CAAC7nF,UAAT,CAAoB,WAApB,EAAiC5pC,IAAjC,CAAP;AACH,aAPoB;AAAA;AAlBa,SAAD,EA0BlCqZ,UAAU,CAAC1f,KA1BuB;AAHlC,OAAP;AA+BH;;;WACD,wBAAe0W,GAAf,EAAoB9N,OAApB,EAA6B,CAAG;;;WAChC,mBAAU8N,GAAV,EAAe9N,OAAf,EAAwB,CAAG;;;WAC3B,gCAAuB8N,GAAvB,EAA4B9N,OAA5B,EAAqC,CAAG;;;WACxC,wBAAe8N,GAAf,EAAoB9N,OAApB,EAA6B,CAAG;;;WAChC,uBAAc8N,GAAd,EAAmB9N,OAAnB,EAA4B,CAAG;;;WAC/B,oBAAW8N,GAAX,EAAgB9N,OAAhB,EAAyB,CAAG;;;WAC5B,8BAAqB8N,GAArB,EAA0B9N,OAA1B,EAAmC,CAAG;;;WACtC,mBAAU8N,GAAV,EAAe9N,OAAf,EAAwB,CAAG;;;;;AAG/B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMovH,YAAY,GAAG,OAArB;AACA,IAAMC,UAAU,GAAG,OAAnB;AACA,IAAMC,qBAAqB,GAAG,YAA9B;;IACMC,iB,GACF,2BAAYC,YAAZ,EAA0BC,eAA1B,EAA2C;AAAA;;AACvC,OAAKD,YAAL,GAAoBA,YAApB;AACA,OAAKC,eAAL,GAAuBA,eAAvB;AACH,C;;IAECC,Y;AACF,wBAAY1gD,UAAZ,EAAwB;AAAA;;AACpB,SAAKA,UAAL,GAAkBA,UAAlB;AACH;;;;WACD,0BAAiB5oC,SAAjB,EAA4BymB,SAA5B,EAAuC1tC,QAAvC,EAAiDL,MAAjD,EAAyD+vD,SAAzD,EAAoE;AAAA;AAAA;;AAChE,UAAI69C,iBAAiB,GAAG,CAAxB;AACA,UAAIiD,sBAAsB,GAAGj0H,SAA7B;;AACA,UAAI,CAACmxD,SAAS,CAAC/sC,MAAf,EAAuB;AACnB,YAAMX,SAAQ,GAAG0tC,SAAS,CAAC1tC,QAA3B;AACA,YAAMywG,gBAAgB,GAAG,EAAzB;;AACA,YAAIzwG,SAAQ,CAACI,UAAT,IAAuBJ,SAAQ,CAACI,UAAT,CAAoB9pB,MAA/C,EAAuD;AACnDm6H,0BAAgB,CAAC14H,IAAjB,CAAsB,IAAImT,eAAJ,CAAoB,WAApB,EAAiCmyG,uBAAuB,CAACp2E,SAAD,EAAYjnB,SAAQ,CAACI,UAArB,CAAxD,EAA0F,IAA1F,CAAtB;AACH;;AACD,YAAMswG,kBAAkB,GAAG3/G,QAAQ,CAACoO,gBAAgB,CAACuuC,SAAS,CAAC1qD,IAAV,CAAe4a,SAAhB,CAAjB,CAAnC;AACA4yG,8BAAsB,GAAGE,kBAAkB,CAACl6H,IAA5C;AACAywC,iBAAS,CAAC78B,UAAV,CAAqBrS,IAArB,CAA0B24H,kBAAkB,CACvC71H,GADqB,CACjBmW,UAAU,CAACyJ,WAAW,CAAC6C,mBAAb,CAAV,CAA4CxE,MAA5C,CAAmD,CAAC,IAAIzN,cAAJ,CAAmB,CACxE,IAAIH,eAAJ,CAAoB,eAApB,EAAqC4G,OAAO,CAACkO,SAAQ,CAACD,aAAV,CAA5C,EAAsE,KAAtE,CADwE,EAExE,IAAI7U,eAAJ,CAAoB,QAApB,EAA8ByU,MAA9B,EAAsC,KAAtC,CAFwE,EAGxE,IAAIzU,eAAJ,CAAoB,MAApB,EAA4B,IAAIG,cAAJ,CAAmBolH,gBAAnB,CAA5B,EAAkE,KAAlE,CAHwE,CAAnB,CAAD,CAAnD,CADiB,EAMrBvqH,UANqB,CAMVgL,UAAU,CAACuJ,WAAW,CAAC8C,aAAb,CANA,EAM6B,CAACpX,YAAY,CAACC,KAAd,EAAqBD,YAAY,CAAC4+B,QAAlC,CAN7B,CAA1B;AAOH;;AACD,UAAMyoF,kBAAkB,GAAG,SAArBA,kBAAqB,CAAC7/G,MAAD,EAAY;AACnC,YAAM8/G,iBAAiB,GAAGF,iBAAiB,EAA3C;AACA,eAAO,IAAIoD,aAAJ,CAAkB,QAAI,CAAC9gD,UAAvB,EAAmC5oC,SAAnC,EAA8Ct5B,MAA9C,EAAsD+/C,SAAtD,EAAiE+/D,iBAAjE,EAAoF/9C,SAApF,EAA+F89C,kBAA/F,CAAP;AACH,OAHD;;AAIA,UAAM5sH,OAAO,GAAG4sH,kBAAkB,CAAC,IAAD,CAAlC;AACA5sH,aAAO,CAACmyB,QAAR,CAAiB,EAAjB,EAAqB/S,QAArB;;AACA,+BAAAinB,SAAS,CAAC78B,UAAV,EAAqBrS,IAArB,iLAA6B6I,OAAO,CAACy5D,KAAR,EAA7B;;AACA,aAAO,IAAI+1D,iBAAJ,CAAsBxvH,OAAO,CAACkuH,QAA9B,EAAwC0B,sBAAxC,CAAP;AACH;;;;;;AAEL,IAAMI,SAAS,GAAG7/G,QAAQ,CAAC,IAAD,CAA1B;AACA,IAAM8/G,QAAQ,GAAG9/G,QAAQ,CAAC,IAAD,CAAzB;AACA,IAAM+/G,SAAS,GAAG//G,QAAQ,CAAC,KAAD,CAA1B;AACA,IAAMggH,QAAQ,GAAGhgH,QAAQ,CAAC,KAAD,CAAzB;AACA,IAAMigH,cAAc,GAAGjgH,QAAQ,CAAC,IAAD,CAA/B;AACA,IAAMkgH,iBAAiB,GAAGlgH,QAAQ,MAAlC;;IACM4/G,a;AACF,yBAAY5yG,SAAZ,EAAuBkpB,SAAvB,EAAkCt5B,MAAlC,EAA0C+/C,SAA1C,EAAqD+/D,iBAArD,EAAwE/9C,SAAxE,EAAmF89C,kBAAnF,EAAuG;AAAA;;AACnG,SAAKzvG,SAAL,GAAiBA,SAAjB;AACA,SAAKkpB,SAAL,GAAiBA,SAAjB;AACA,SAAKt5B,MAAL,GAAcA,MAAd;AACA,SAAK+/C,SAAL,GAAiBA,SAAjB;AACA,SAAK+/D,iBAAL,GAAyBA,iBAAzB;AACA,SAAK/9C,SAAL,GAAiBA,SAAjB;AACA,SAAK89C,kBAAL,GAA0BA,kBAA1B;AACA,SAAK/5F,KAAL,GAAa,EAAb;AACA,SAAKy9F,mBAAL,GAA2Bt0H,MAAM,CAAC4T,MAAP,CAAc,IAAd,CAA3B,CATmG,CAUnG;;AACA,SAAK2gH,cAAL,GAAsBv0H,MAAM,CAAC4T,MAAP,CAAc,IAAd,CAAtB;AACA,SAAKuhB,SAAL,GAAiB,EAAjB;AACA,SAAKP,QAAL,GAAgB,EAAhB,CAbmG,CAcnG;AACA;AACA;;AACA,SAAKvS,QAAL,GAAgB,KAAKwuG,iBAAL,GAAyB,CAAzB,GACZjsH,YADY,GAEZ4P,cAAc,CAAC61B,SAAS,CAACj2B,UAAV,CAAqB,KAAK08C,SAAL,CAAe1qD,IAAf,CAAoB4a,SAAzC,CAAD,CAFlB;AAGA,SAAKkxG,QAAL,GAAgB9vG,aAAa,CAAC,KAAK0uC,SAAL,CAAe1qD,IAAf,CAAoB4a,SAArB,EAAgC,KAAK6vG,iBAArC,CAA7B;AACH;;;;WACD,kBAAS17F,SAAT,EAAoBq8F,QAApB,EAA8B;AAAA;;AAC1B,WAAKr8F,SAAL,GAAiBA,SAAjB,CAD0B,CAE1B;;AACA,UAAI,CAAC,KAAKpkB,MAAV,EAAkB;AACd,aAAK+hE,SAAL,CAAen5E,OAAf,CAAuB,UAAC21B,IAAD,EAAU;AAC7B,cAAIA,IAAI,CAACpuB,IAAT,EAAe;AACX,oBAAI,CAACozH,mBAAL,CAAyBhlG,IAAI,CAAC11B,IAA9B,IAAsC,QAAI,CAAC46H,WAAL,CAAiB,IAAjB,EAAuBllG,IAAvB,CAAtC;AACH;AACJ,SAJD;AAKH;;AACD,UAAI,CAAC,KAAKve,MAAV,EAAkB;AACd,aAAK+/C,SAAL,CAAensC,WAAf,CAA2BhrB,OAA3B,CAAmC,UAAC6sC,KAAD,EAAQiuF,UAAR,EAAuB;AACtD;AACA,cAAMvtD,OAAO,GAAGutD,UAAU,GAAG,CAA7B;AACA,cAAMpmD,WAAW,GAAG7nC,KAAK,CAACtmC,KAAN,GAAc;AAAE;AAAhB,YAA8B;AAAE;AAApD;AACA,cAAMwpC,KAAK,GAAG;AAAU;AAAV,YAAgCgrF,2BAA2B,CAACluF,KAAD,CAAzE;;AACA,kBAAI,CAAC3P,KAAL,CAAW17B,IAAX,CAAgB;AAAA,mBAAO;AACnBkL,wBAAU,EAAE,IADO;AAEnBsuH,uBAAS,EAAEjrF,KAFQ;AAGnBkrF,qBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACqC,QAAb,CAAV,CAAiChE,MAAjC,CAAwC,CAC7ChH,OAAO,CAACw0B,KAAD,CADsC,EAC7Bx0B,OAAO,CAACgyD,OAAD,CADsB,EAE7C,IAAIz4D,cAAJ,CAAmB,CAAC,IAAIH,eAAJ,CAAoBk4B,KAAK,CAAC0jE,YAA1B,EAAwCh1F,OAAO,CAACm5D,WAAD,CAA/C,EAA8D,KAA9D,CAAD,CAAnB,CAF6C,CAAxC;AAHU,aAAP;AAAA,WAAhB;AAQH,SAbD;AAcH;;AACD7J,sBAAgB,CAAC,IAAD,EAAOgtD,QAAP,CAAhB;;AACA,UAAI,KAAKzgH,MAAL,KAAgBygH,QAAQ,CAAC93H,MAAT,KAAoB,CAApB,IAAyBm7H,uBAAuB,CAACrD,QAAD,CAAhE,CAAJ,EAAiF;AAC7E;AACA,aAAK36F,KAAL,CAAW17B,IAAX,CAAgB;AAAA,iBAAO;AACnBkL,sBAAU,EAAE,IADO;AAEnBsuH,qBAAS,EAAE;AAAE;AAFM;AAGnBC,mBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACiC,SAAb,CAAV,CAAkC5D,MAAlC,CAAyC,CAC9ChH,OAAO,CAAC;AAAE;AAAH,aADuC,EACvB5F,SADuB,EACZA,SADY,EACD4F,OAAO,CAAC,CAAD,CADN,CAAzC;AAHU,WAAP;AAAA,SAAhB;AAOH;AACJ;;;WACD,iBAA6B;AAAA,UAAvBu8G,gBAAuB,uEAAJ,EAAI;AACzB,WAAK78F,QAAL,CAAcj7B,OAAd,CAAsB,UAACq/B,KAAD;AAAA,eAAWA,KAAK,CAACykC,KAAN,CAAYg0D,gBAAZ,CAAX;AAAA,OAAtB;;AACA,kCAAqE,KAAKqD,sBAAL,EAArE;AAAA,UAAQC,mBAAR,yBAAQA,mBAAR;AAAA,UAA6BC,qBAA7B,yBAA6BA,qBAA7B;AAAA,UAAoDC,YAApD,yBAAoDA,YAApD;;AACA,UAAMC,gBAAgB,GAAG,KAAKC,eAAL,CAAqBJ,mBAArB,CAAzB;;AACA,UAAMK,kBAAkB,GAAG,KAAKD,eAAL,CAAqBH,qBAArB,CAA3B;;AACA,UAAIK,SAAS,GAAG;AAAE;AAAlB;;AACA,UAAI,CAAC,KAAKtkH,MAAN,IAAgB,KAAK+/C,SAAL,CAAehwD,eAAf,KAAmCH,uBAAuB,CAAC20H,MAA/E,EAAuF;AACnFD,iBAAS,IAAI;AAAE;AAAf;AACH;;AACD,UAAMlD,WAAW,GAAG,IAAIzkH,mBAAJ,CAAwB,KAAKwkH,QAA7B,EAAuC,CAAC,IAAI7kH,OAAJ,CAAY2mH,SAAS,CAACp6H,IAAtB,CAAD,CAAvC,EAAsE,CAAC,IAAIwW,eAAJ,CAAoBgE,UAAU,CAACyJ,WAAW,CAAC+B,OAAb,CAAV,CAAgC1D,MAAhC,CAAuC,CAC9IhH,OAAO,CAACmgH,SAAD,CADuI,EAE9I3gH,UAAU,CAACugH,YAAD,CAFoI,EAG9IG,kBAH8I,EAI9IF,gBAJ8I,CAAvC,CAApB,CAAD,CAAtE,EAKV5gH,UAAU,CAACuJ,WAAW,CAAC+C,cAAb,CALA,EAK8B,KAAKiwG,iBAAL,KAA2B,CAA3B,GAA+B,CAACtnH,YAAY,CAAC4+B,QAAd,CAA/B,GAAyD,EALvF,CAApB;AAMAspF,sBAAgB,CAACt2H,IAAjB,CAAsBg3H,WAAtB;AACA,aAAOV,gBAAP;AACH;;;WACD,yBAAgB8D,WAAhB,EAA6B;AACzB,UAAIC,QAAJ;;AACA,UAAID,WAAW,CAAC77H,MAAZ,GAAqB,CAAzB,EAA4B;AACxB,YAAM+7H,QAAQ,GAAG,EAAjB;;AACA,YAAI,CAAC,KAAK3kE,SAAL,CAAe/sC,MAAhB,IAA0BjR,gBAAgB,CAACyiH,WAAD,CAAhB,CAA8BruG,GAA9B,CAAkCitG,QAAQ,CAACv6H,IAA3C,CAA9B,EAAgF;AAC5E67H,kBAAQ,CAACt6H,IAAT,CAAcg5H,QAAQ,CAACl2H,GAAT,CAAag2H,QAAQ,CAACjgH,IAAT,CAAc,WAAd,CAAb,EAAyC1K,UAAzC,CAAoD,KAAK+Y,QAAzD,CAAd;AACH;;AACDmzG,gBAAQ,GAAGvrH,EAAE,CAAC,CACV,IAAIoD,OAAJ,CAAY6mH,SAAS,CAACt6H,IAAtB,EAA4BkL,aAA5B,CADU,EAEV,IAAIuI,OAAJ,CAAY4mH,QAAQ,CAACr6H,IAArB,EAA2BkL,aAA3B,CAFU,CAAD,YAGN2wH,QAHM,qJAGOF,WAHP,IAGqBzwH,aAHrB,CAAb;AAIH,OATD,MAUK;AACD0wH,gBAAQ,GAAGlmH,SAAX;AACH;;AACD,aAAOkmH,QAAP;AACH;;;WACD,wBAAezjH,GAAf,EAAoB9N,OAApB,EAA6B;AACzB;AACA,WAAK4yB,KAAL,CAAW17B,IAAX,CAAgB;AAAA,eAAO;AACnBkL,oBAAU,EAAE0L,GAAG,CAAC1L,UADG;AAEnBsuH,mBAAS,EAAE;AAAE;AAFM;AAGnBC,iBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAAC2C,YAAb,CAAV,CACJtE,MADI,CACG,CAAChH,OAAO,CAACnD,GAAG,CAACkwD,cAAL,CAAR,EAA8B/sD,OAAO,CAACnD,GAAG,CAACxL,KAAL,CAArC,CADH;AAHU,SAAP;AAAA,OAAhB;AAMH;;;WACD,mBAAUwL,GAAV,EAAe9N,OAAf,EAAwB;AACpB;AACA,UAAMyxH,UAAU,GAAG,CAAC,CAApB;AACA,WAAK7+F,KAAL,CAAW17B,IAAX,CAAgB;AAAA,eAAO;AACnBkL,oBAAU,EAAE0L,GAAG,CAAC1L,UADG;AAEnBsuH,mBAAS,EAAE;AAAE;AAFM;AAGnBC,iBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACkC,OAAb,CAAV,CAAgC7D,MAAhC,CAAuC,CAC5ChH,OAAO,CAACwgH,UAAD,CADqC,EAE5CxgH,OAAO,CAACnD,GAAG,CAACkwD,cAAL,CAFqC,EAG5CvtD,UAAU,CAAC,CAACQ,OAAO,CAACnD,GAAG,CAAC1W,KAAL,CAAR,CAAD,CAHkC,CAAvC;AAHU,SAAP;AAAA,OAAhB;AASH;;;WACD,wBAAe0W,GAAf,EAAoB9N,OAApB,EAA6B;AAAA;;AACzB,UAAMy5F,SAAS,GAAG,KAAK7mE,KAAL,CAAWn9B,MAA7B,CADyB,CAEzB;;AACA,WAAKm9B,KAAL,CAAW17B,IAAX,CAAgB,IAAhB;AACA,UAAMi3H,aAAa,GAAGrgH,GAAG,CAAC1W,KAA1B;AACA,UAAMg3H,KAAK,GAAGD,aAAa,CAACrgH,GAA5B;AACA,UAAM4gH,yBAAyB,GAAGN,KAAK,CAACtnH,WAAN,CAAkB3M,GAAlB,CAAsB,UAAC0K,IAAD,EAAO6sH,YAAP;AAAA,eAAwB,QAAI,CAACC,2BAAL,CAAiC;AAAEl4B,mBAAS,EAATA,SAAF;AAAai4B,sBAAY,EAAZA,YAAb;AAA2BtvH,oBAAU,EAAE0L,GAAG,CAAC1L,UAA3C;AAAuDpC,iBAAO,EAAEkwH,QAAhE;AAA0E94H,eAAK,EAAEyN;AAAjF,SAAjC,CAAxB;AAAA,OAAtB,CAAlC,CANyB,CAOzB;AACA;;AACA,UAAM4sH,UAAU,GAAGh4B,SAAnB;;AACA,WAAK7mE,KAAL,CAAW6mE,SAAX,IAAwB;AAAA,eAAO;AAC3Br3F,oBAAU,EAAE0L,GAAG,CAAC1L,UADW;AAE3BsuH,mBAAS,EAAE;AAAE;AAFc;AAG3BC,iBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACkC,OAAb,CAAV,CAAgC7D,MAAhC,CAAuC,CAC5ChH,OAAO,CAACwgH,UAAD,CADqC,EAE5CxgH,OAAO,CAACnD,GAAG,CAACkwD,cAAL,CAFqC,EAG5CvtD,UAAU,CAAC29G,KAAK,CAACzuF,OAAN,CAAcxlC,GAAd,CAAkB,UAAA8Z,CAAC;AAAA,mBAAIhD,OAAO,CAACgD,CAAD,CAAX;AAAA,WAAnB,CAAD,CAHkC,CAAvC,CAHkB;AAQ3B29G,wBAAc,EAAElD;AARW,SAAP;AAAA,OAAxB;AAUH;;;WACD,+BAAsB5gH,GAAtB,EAA2B9N,OAA3B,EAAoC;AAAA;;AAChC,UAAMy5F,SAAS,GAAG,KAAK7mE,KAAL,CAAWn9B,MAA7B,CADgC,CAEhC;;AACA,WAAKm9B,KAAL,CAAW17B,IAAX,CAAgB,IAAhB;;AACA,kCAAgD,KAAK26H,uBAAL,CAA6Bp4B,SAA7B,EAAwC3rF,GAAxC,CAAhD;AAAA,UAAQ23B,KAAR,yBAAQA,KAAR;AAAA,UAAeqsF,gBAAf,yBAAeA,gBAAf;AAAA,UAAiCryD,UAAjC,yBAAiCA,UAAjC;;AACA,UAAM+uD,YAAY,GAAG,KAAK7B,kBAAL,CAAwB,IAAxB,CAArB;AACA,WAAKh8F,QAAL,CAAcz5B,IAAd,CAAmBs3H,YAAnB;AACAA,kBAAY,CAACt8F,QAAb,CAAsBpkB,GAAG,CAACojB,SAA1B,EAAqCpjB,GAAG,CAAC6iB,QAAzC;AACA,UAAMohG,UAAU,GAAG,KAAKn/F,KAAL,CAAWn9B,MAAX,GAAoBgkG,SAApB,GAAgC,CAAnD,CARgC,CAShC;AACA;AACA;AACA;;AACA,WAAK7mE,KAAL,CAAW6mE,SAAX,IAAwB;AAAA,eAAO;AAC3Br3F,oBAAU,EAAE0L,GAAG,CAAC1L,UADW;AAE3BsuH,mBAAS,EAAE;AAAE;AAAF,YAAsBjrF,KAFN;AAG3BkrF,iBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACiC,SAAb,CAAV,CAAkC5D,MAAlC,CAAyC,CAC9ChH,OAAO,CAACw0B,KAAD,CADuC,EAE9CqsF,gBAF8C,EAG9C7gH,OAAO,CAACnD,GAAG,CAACkwD,cAAL,CAHuC,EAI9C/sD,OAAO,CAAC8gH,UAAD,CAJuC,EAK9C,QAAI,CAACC,2BAAL,CAAiCv4B,SAAjC,EAA4Ch6B,UAA5C,CAL8C,EAM9CvvD,QAAQ,CAACs+G,YAAY,CAACP,QAAd,CANsC,CAAzC;AAHkB,SAAP;AAAA,OAAxB;AAYH;;;WACD,sBAAangH,GAAb,EAAkB9N,OAAlB,EAA2B;AAAA;;AACvB,UAAMy5F,SAAS,GAAG,KAAK7mE,KAAL,CAAWn9B,MAA7B,CADuB,CAEvB;;AACA,WAAKm9B,KAAL,CAAW17B,IAAX,CAAgB,IAAhB,EAHuB,CAIvB;;AACA,UAAMi6E,MAAM,GAAG/8E,aAAa,CAAC0Z,GAAG,CAACnY,IAAL,CAAb,GAA0B,IAA1B,GAAiCmY,GAAG,CAACnY,IAApD;;AACA,mCAA2F,KAAKk8H,uBAAL,CAA6Bp4B,SAA7B,EAAwC3rF,GAAxC,CAA3F;AAAA,UAAQ23B,KAAR,0BAAQA,KAAR;AAAA,UAAewsF,UAAf,0BAAeA,UAAf;AAAA,UAA2BH,gBAA3B,0BAA2BA,gBAA3B;AAAA,UAA2DI,eAA3D,0BAA6ChjB,YAA7C;AAAA,UAA4EzvC,UAA5E,0BAA4EA,UAA5E;;AACA,UAAIgvD,SAAS,GAAG,EAAhB;AACA,UAAIC,yBAAyB,GAAG,EAAhC;AACA,UAAIC,UAAU,GAAG,EAAjB;;AACA,UAAIx9C,MAAJ,EAAY;AACR,YAAM+9B,YAAY,GAAGphG,GAAG,CAACmS,MAAJ,CAChB9lB,GADgB,CACZ,UAACy0H,QAAD;AAAA,iBAAe;AACpB5uH,mBAAO,EAAEkwH,QADW;AAEpBtB,oBAAQ,EAARA,QAFoB;AAGpBC,kBAAM,EAAE;AAHY,WAAf;AAAA,SADY,EAMhB13H,MANgB,CAMT+6H,eANS,CAArB;;AAOA,YAAIhjB,YAAY,CAACz5G,MAAjB,EAAyB;AACrBi5H,mCAAyB,GACrBxf,YAAY,CAAC/0G,GAAb,CAAiB,UAACg1G,WAAD,EAAcuiB,YAAd;AAAA,mBAA+B,QAAI,CAACC,2BAAL,CAAiC;AAC7E3xH,qBAAO,EAAEmvG,WAAW,CAACnvG,OADwD;AAE7Ey5F,uBAAS,EAATA,SAF6E;AAG7Ei4B,0BAAY,EAAZA,YAH6E;AAI7EtvH,wBAAU,EAAE+sG,WAAW,CAACyf,QAAZ,CAAqBxsH,UAJ4C;AAK7EhL,mBAAK,EAAE+3G,WAAW,CAACyf,QAAZ,CAAqBx3H;AALiD,aAAjC,CAA/B;AAAA,WAAjB,CADJ;AAQAq3H,mBAAS,GAAGvf,YAAY,CAAC/0G,GAAb,CAAiB,UAAAg1G,WAAW;AAAA,mBAAIgjB,iBAAiB,CAAChjB,WAAW,CAACyf,QAAb,EAAuBzf,WAAW,CAAC0f,MAAnC,CAArB;AAAA,WAA5B,CAAZ;AACH;;AACDF,kBAAU,GAAGsD,UAAU,CAAC93H,GAAX,CAAe;AAAA;AAAA,cAAEi2B,MAAF;AAAA,cAAU5yB,SAAV;;AAAA,iBAAyBiT,UAAU,CAAC,CAACQ,OAAO,CAACmf,MAAD,CAAR,EAAkBnf,OAAO,CAACzT,SAAD,CAAzB,CAAD,CAAnC;AAAA,SAAf,CAAb;AACH;;AACD+iE,sBAAgB,CAAC,IAAD,EAAOzyD,GAAG,CAAC6iB,QAAX,CAAhB;AACA,UAAMohG,UAAU,GAAG,KAAKn/F,KAAL,CAAWn9B,MAAX,GAAoBgkG,SAApB,GAAgC,CAAnD;AACA,UAAM24B,OAAO,GAAGtkH,GAAG,CAAC2U,UAAJ,CAAe4d,IAAf,CAAoB,UAAAwuF,MAAM;AAAA,eAAIA,MAAM,CAACrvD,SAAP,CAAiBz/C,WAArB;AAAA,OAA1B,CAAhB;AACA,UAAIsyG,gBAAgB,GAAGhnH,SAAvB;AACA,UAAIinH,QAAQ,GAAGjnH,SAAf;;AACA,UAAI+mH,OAAJ,EAAa;AACTE,gBAAQ,GAAG,KAAKlsF,SAAL,CAAej2B,UAAf,CAA0BiiH,OAAO,CAAC5yD,SAAR,CAAkB5+C,iBAA5C,CAAX;AACAyxG,wBAAgB,GAAG,KAAKjsF,SAAL,CAAej2B,UAAf,CAA0BiiH,OAAO,CAAC5yD,SAAR,CAAkB3+C,YAA5C,CAAnB;AACH,OAvCsB,CAwCvB;AACA;;;AACA,UAAM4wG,UAAU,GAAGh4B,SAAnB;;AACA,WAAK7mE,KAAL,CAAW6mE,SAAX,IAAwB;AAAA,eAAO;AAC3Br3F,oBAAU,EAAE0L,GAAG,CAAC1L,UADW;AAE3BsuH,mBAAS,EAAE;AAAE;AAAF,YAAsBjrF,KAFN;AAG3BkrF,iBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACgC,UAAb,CAAV,CAAmC3D,MAAnC,CAA0C,CAC/ChH,OAAO,CAACwgH,UAAD,CADwC,EAE/CxgH,OAAO,CAACw0B,KAAD,CAFwC,EAG/CqsF,gBAH+C,EAI/C7gH,OAAO,CAACnD,GAAG,CAACkwD,cAAL,CAJwC,EAK/C/sD,OAAO,CAAC8gH,UAAD,CALwC,EAM/C9gH,OAAO,CAACkgE,MAAD,CANwC,EAO/CA,MAAM,GAAGohD,aAAa,CAACzkH,GAAD,CAAhB,GAAwBzC,SAPiB,EAQ/CojH,SAAS,CAACh5H,MAAV,GAAmBgb,UAAU,CAACg+G,SAAD,CAA7B,GAA2CpjH,SARI,EAS/CsjH,UAAU,CAACl5H,MAAX,GAAoBgb,UAAU,CAACk+G,UAAD,CAA9B,GAA6CtjH,SATE,EAU/C,QAAI,CAAC2mH,2BAAL,CAAiCv4B,SAAjC,EAA4Ch6B,UAA5C,CAV+C,EAW/C6yD,QAX+C,EAY/CD,gBAZ+C,CAA1C,CAHkB;AAiB3BT,wBAAc,EAAElD;AAjBW,SAAP;AAAA,OAAxB;AAmBH;;;WACD,iCAAwBj1B,SAAxB,EAAmC3rF,GAAnC,EAAwC;AAAA;;AACpC,UAAI23B,KAAK,GAAG;AAAE;AAAd;;AACA,UAAI33B,GAAG,CAACixD,gBAAR,EAA0B;AACtBt5B,aAAK,IAAI;AAAS;AAAlB;AACH;;AACD,UAAMwsF,UAAU,GAAG,IAAIv5H,GAAJ,EAAnB;AACAoV,SAAG,CAACoS,OAAJ,CAAYxqB,OAAZ,CAAoB,UAAC66B,KAAD,EAAW;AAC3B,oCAAyBiiG,yBAAyB,CAACjiG,KAAD,EAAQ,IAAR,CAAlD;AAAA,YAAQ56B,IAAR,yBAAQA,IAAR;AAAA,YAAcy6B,MAAd,yBAAcA,MAAd;;AACA6hG,kBAAU,CAACj4H,GAAX,CAAey4H,oBAAoB,CAACriG,MAAD,EAASz6B,IAAT,CAAnC,EAAmD,CAACy6B,MAAD,EAASz6B,IAAT,CAAnD;AACH,OAHD;AAIAmY,SAAG,CAAC2U,UAAJ,CAAe/sB,OAAf,CAAuB,UAACm5H,MAAD,EAAY;AAC/BA,cAAM,CAACpvD,UAAP,CAAkB/pE,OAAlB,CAA0B,UAAC66B,KAAD,EAAW;AACjC,uCAAyBiiG,yBAAyB,CAACjiG,KAAD,EAAQs+F,MAAR,CAAlD;AAAA,cAAQl5H,IAAR,0BAAQA,IAAR;AAAA,cAAcy6B,MAAd,0BAAcA,MAAd;;AACA6hG,oBAAU,CAACj4H,GAAX,CAAey4H,oBAAoB,CAACriG,MAAD,EAASz6B,IAAT,CAAnC,EAAmD,CAACy6B,MAAD,EAASz6B,IAAT,CAAnD;AACH,SAHD;AAIH,OALD;AAMA,UAAMu5G,YAAY,GAAG,EAArB;AACA,UAAMzvC,UAAU,GAAG,EAAnB;;AACA,WAAKizD,sCAAL,CAA4C5kH,GAAG,CAAC2U,UAAhD;;AACA3U,SAAG,CAACwS,SAAJ,CAAc5qB,OAAd,CAAsB,UAAA4yH,WAAW,EAAI;AACjC,YAAIuG,MAAM,GAAGnzH,SAAb;AACAoS,WAAG,CAAC2U,UAAJ,CAAe/sB,OAAf,CAAuB,UAAAi9H,WAAW,EAAI;AAClC,cAAIA,WAAW,CAACnzD,SAAZ,CAAsBr9D,IAAtB,CAA2B4a,SAA3B,KAAyC4B,cAAc,CAAC2pG,WAAW,CAACjtH,KAAb,CAA3D,EAAgF;AAC5EwzH,kBAAM,GAAG8D,WAAT;AACH;AACJ,SAJD;;AAKA,YAAI9D,MAAJ,EAAY;AACR,sCAAqE,QAAI,CAAC+D,eAAL,CAAqBtK,WAArB,EAAkCuG,MAAlC,EAA0C/gH,GAAG,CAAC8iB,UAA9C,EAA0D9iB,GAAG,CAACkxD,YAA9D,EAA4EizD,UAA5E,CAArE;AAAA,cAAsBC,eAAtB,yBAAQhjB,YAAR;AAAA,cAAmD2jB,aAAnD,yBAAuCpzD,UAAvC;;AACAyvC,sBAAY,CAACh4G,IAAb,OAAAg4G,YAAY,qJAASgjB,eAAT,EAAZ;AACAzyD,oBAAU,CAACvoE,IAAX,OAAAuoE,UAAU,qJAASozD,aAAT,EAAV;AACH,SAJD,MAKK;AACD,kBAAI,CAACC,cAAL,CAAoBxK,WAApB,EAAiCx6G,GAAG,CAACkxD,YAArC;AACH;AACJ,OAfD;AAgBA,UAAI+zD,eAAe,GAAG,EAAtB;AACAjlH,SAAG,CAACkxD,YAAJ,CAAiBtpE,OAAjB,CAAyB,UAACmC,KAAD,EAAW;AAChC,YAAI4I,SAAS,GAAG/E,SAAhB;;AACA,YAAIijB,cAAc,CAAC9mB,KAAK,CAACT,KAAP,CAAd,KACA,QAAI,CAAC8lB,SAAL,CAAeC,wBAAf,CAAwCvD,WAAW,CAACE,UAApD,CADJ,EACqE;AACjErZ,mBAAS,GAAG;AAAE;AAAd;AACH,SAHD,MAIK,IAAIke,cAAc,CAAC9mB,KAAK,CAACT,KAAP,CAAd,KACL,QAAI,CAAC8lB,SAAL,CAAeC,wBAAf,CAAwCvD,WAAW,CAACI,gBAApD,CADC,EACsE;AACvEvZ,mBAAS,GAAG;AAAE;AAAd;AACH,SAHI,MAIA,IAAIke,cAAc,CAAC9mB,KAAK,CAACT,KAAP,CAAd,KACL,QAAI,CAAC8lB,SAAL,CAAeC,wBAAf,CAAwCvD,WAAW,CAACO,WAApD,CADC,EACiE;AAClE1Z,mBAAS,GAAG;AAAE;AAAd;AACH;;AACD,YAAIA,SAAS,IAAI,IAAjB,EAAuB;AACnBsyH,yBAAe,CAAC77H,IAAhB,CAAqBuZ,UAAU,CAAC,CAACQ,OAAO,CAACpZ,KAAK,CAACorE,OAAP,CAAR,EAAyBhyD,OAAO,CAACxQ,SAAD,CAAhC,CAAD,CAA/B;AACH;AACJ,OAjBD;AAkBAqN,SAAG,CAAC8iB,UAAJ,CAAel7B,OAAf,CAAuB,UAACuoB,GAAD,EAAS;AAC5B,YAAIxd,SAAS,GAAG/E,SAAhB;;AACA,YAAI,CAACuiB,GAAG,CAAC7mB,KAAT,EAAgB;AACZqJ,mBAAS,GAAG;AAAE;AAAd;AACH,SAFD,MAGK,IAAIke,cAAc,CAACV,GAAG,CAAC7mB,KAAL,CAAd,KACL,QAAI,CAAC8lB,SAAL,CAAeC,wBAAf,CAAwCvD,WAAW,CAACO,WAApD,CADC,EACiE;AAClE1Z,mBAAS,GAAG;AAAE;AAAd;AACH;;AACD,YAAIA,SAAS,IAAI,IAAjB,EAAuB;AACnB,kBAAI,CAAC6vH,cAAL,CAAoBryG,GAAG,CAACtoB,IAAxB,IAAgC8jG,SAAhC;AACAs5B,yBAAe,CAAC77H,IAAhB,CAAqBuZ,UAAU,CAAC,CAACQ,OAAO,CAACgN,GAAG,CAACtoB,IAAL,CAAR,EAAoBsb,OAAO,CAACxQ,SAAD,CAA3B,CAAD,CAA/B;AACH;AACJ,OAbD;AAcAqN,SAAG,CAACoS,OAAJ,CAAYxqB,OAAZ,CAAoB,UAAComG,SAAD,EAAe;AAC/Br8B,kBAAU,CAACvoE,IAAX,CAAgB;AAAE8I,iBAAO,EAAEkwH,QAAX;AAAqB58B,kBAAQ,EAAEwI,SAA/B;AAA0C+yB,gBAAM,EAAE;AAAlD,SAAhB;AACH,OAFD;AAGA,aAAO;AACHppF,aAAK,EAALA,KADG;AAEHwsF,kBAAU,EAAE7/G,KAAK,CAACs2B,IAAN,CAAWupF,UAAU,CAACvzH,MAAX,EAAX,CAFT;AAGHozH,wBAAgB,EAAEiB,eAAe,CAACt9H,MAAhB,GAAyBgb,UAAU,CAACsiH,eAAD,CAAnC,GAAuD1nH,SAHtE;AAIH6jG,oBAAY,EAAZA,YAJG;AAKHzvC,kBAAU,EAAEA;AALT,OAAP;AAOH;;;WACD,yBAAgB6oD,WAAhB,EAA6BuG,MAA7B,EAAqCp2E,IAArC,EAA2CumB,YAA3C,EAAyDizD,UAAzD,EAAqE;AAAA;;AACjE,UAAMx4B,SAAS,GAAG,KAAK7mE,KAAL,CAAWn9B,MAA7B,CADiE,CAEjE;;AACA,WAAKm9B,KAAL,CAAW17B,IAAX,CAAgB,IAAhB;AACA23H,YAAM,CAACrvD,SAAP,CAAiBh/C,OAAjB,CAAyB9qB,OAAzB,CAAiC,UAAC6sC,KAAD,EAAQiuF,UAAR,EAAuB;AACpD,YAAMvtD,OAAO,GAAG4rD,MAAM,CAACnvD,mBAAP,GAA6B8wD,UAA7C;AACA,YAAM/qF,KAAK,GAAG;AAAS;AAAT,UAAkCgrF,2BAA2B,CAACluF,KAAD,CAA3E;AACA,YAAM6nC,WAAW,GAAG7nC,KAAK,CAACtmC,KAAN,GAAc;AAAE;AAAhB,UAA8B;AAAE;AAApD;;AACA,gBAAI,CAAC22B,KAAL,CAAW17B,IAAX,CAAgB;AAAA,iBAAO;AACnBkL,sBAAU,EAAEysH,MAAM,CAACzsH,UADA;AAEnBsuH,qBAAS,EAAEjrF,KAFQ;AAGnBkrF,mBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACqC,QAAb,CAAV,CAAiChE,MAAjC,CAAwC,CAC7ChH,OAAO,CAACw0B,KAAD,CADsC,EAC7Bx0B,OAAO,CAACgyD,OAAD,CADsB,EAE7C,IAAIz4D,cAAJ,CAAmB,CAAC,IAAIH,eAAJ,CAAoBk4B,KAAK,CAAC0jE,YAA1B,EAAwCh1F,OAAO,CAACm5D,WAAD,CAA/C,EAA8D,KAA9D,CAAD,CAAnB,CAF6C,CAAxC;AAHU,WAAP;AAAA,SAAhB;AAQH,OAZD,EAJiE,CAiBjE;AACA;AACA;AACA;;AACA,UAAM2nD,UAAU,GAAG,KAAKn/F,KAAL,CAAWn9B,MAAX,GAAoBgkG,SAApB,GAAgC,CAAnD;;AACA,kCAAyD,KAAKu5B,yBAAL,CAA+B1K,WAA/B,EAA4CtpD,YAA5C,CAAzD;AAAA,UAAMv5B,KAAN,yBAAMA,KAAN;AAAA,UAAastF,eAAb,yBAAaA,eAAb;AAAA,UAA8BpK,YAA9B,yBAA8BA,YAA9B;AAAA,UAA4CE,QAA5C,yBAA4CA,QAA5C;;AACApwE,UAAI,CAAC/iD,OAAL,CAAa,UAACuoB,GAAD,EAAS;AAClB,YAAIA,GAAG,CAAC7mB,KAAJ,IAAaunB,cAAc,CAACV,GAAG,CAAC7mB,KAAL,CAAd,KAA8BunB,cAAc,CAAC2pG,WAAW,CAACjtH,KAAb,CAA7D,EAAkF;AAC9E,kBAAI,CAACi1H,cAAL,CAAoBryG,GAAG,CAACtoB,IAAxB,IAAgC8jG,SAAhC;AACAs5B,yBAAe,CAAC77H,IAAhB,CAAqBuZ,UAAU,CAAC,CAACQ,OAAO,CAACgN,GAAG,CAACtoB,IAAL,CAAR,EAAoBsb,OAAO,CAAC;AAAE;AAAH,WAA3B,CAAD,CAA/B;AACH;AACJ,OALD;;AAMA,UAAI49G,MAAM,CAACrvD,SAAP,CAAiBz/C,WAArB,EAAkC;AAC9B0lB,aAAK,IAAI;AAAM;AAAf;AACH;;AACD,UAAMgpF,SAAS,GAAGI,MAAM,CAAC5uG,MAAP,CAAc9lB,GAAd,CAAkB,UAACy0H,QAAD,EAAWltC,UAAX,EAA0B;AAC1D,YAAMtH,QAAQ,GAAG3pE,UAAU,CAAC,CAACQ,OAAO,CAACywE,UAAD,CAAR,EAAsBzwE,OAAO,CAAC29G,QAAQ,CAACxvD,aAAV,CAA7B,CAAD,CAA3B,CAD0D,CAE1D;;AACA,eAAO,IAAI/0D,eAAJ,CAAoBukH,QAAQ,CAACxvD,aAA7B,EAA4Cgb,QAA5C,EAAsD,KAAtD,CAAP;AACH,OAJiB,CAAlB;AAKA,UAAMu0C,UAAU,GAAG,EAAnB;AACA,UAAMznD,OAAO,GAAG2nD,MAAM,CAACrvD,SAAvB;AACAzjE,YAAM,CAAC+T,IAAP,CAAYo3D,OAAO,CAAChnD,OAApB,EAA6BxqB,OAA7B,CAAqC,UAAC0xE,QAAD,EAAc;AAC/C,YAAM5pE,SAAS,GAAG0pE,OAAO,CAAChnD,OAAR,CAAgBknD,QAAhB,CAAlB;;AACA,YAAI6qD,UAAU,CAAChvG,GAAX,CAAezlB,SAAf,CAAJ,EAA+B;AAC3B;AACAmxH,oBAAU,CAACz3H,IAAX,CAAgB,IAAImT,eAAJ,CAAoB+8D,QAApB,EAA8Bn2D,OAAO,CAACzT,SAAD,CAArC,EAAkD,KAAlD,CAAhB;AACH;AACJ,OAND;AAOA,UAAIy1H,0BAA0B,GAAG,EAAjC;;AACA,UAAIpE,MAAM,CAAC5uG,MAAP,CAAcxqB,MAAd,IAAwB,CAACgwC,KAAK,IAAI;AAAO;AAAP,QAAuB;AAAM;AAAjC,OAAN,IAAwD,CAApF,EAAuF;AACnFwtF,kCAA0B,GACtBpE,MAAM,CAAC5uG,MAAP,CAAc9lB,GAAd,CAAkB,UAACuX,KAAD,EAAQggH,YAAR;AAAA,iBAAyB,QAAI,CAACC,2BAAL,CAAiC;AACxEl4B,qBAAS,EAATA,SADwE;AAExEi4B,wBAAY,EAAZA,YAFwE;AAGxEtvH,sBAAU,EAAEsP,KAAK,CAACtP,UAHsD;AAIxEpC,mBAAO,EAAEkwH,QAJ+D;AAKxE94H,iBAAK,EAAEsa,KAAK,CAACta;AAL2D,WAAjC,CAAzB;AAAA,SAAlB,CADJ;AAQH;;AACD,UAAM87H,cAAc,GAAG/iH,UAAU,CAACyJ,WAAW,CAAC0C,SAAb,CAAV,CAAkCrE,MAAlC,CAAyC,CAAC+3G,QAAD,EAAW/+G,OAAO,CAACwoF,SAAD,CAAlB,CAAzC,CAAvB;AACA,UAAMyV,YAAY,GAAG2f,MAAM,CAACzuG,cAAP,CAAsBjmB,GAAtB,CAA0B,UAACy0H,QAAD;AAAA,eAAe;AAC1D5uH,iBAAO,EAAEkzH,cADiD;AAE1DrE,gBAAM,EAANA,MAF0D;AAG1DD,kBAAQ,EAARA;AAH0D,SAAf;AAAA,OAA1B,CAArB;AAKA,UAAMnvD,UAAU,GAAGovD,MAAM,CAACpvD,UAAP,CAAkBtlE,GAAlB,CAAsB,UAAC40H,YAAD;AAAA,eAAmB;AACxD/uH,iBAAO,EAAEkzH,cAD+C;AAExD5/B,kBAAQ,EAAEy7B,YAF8C;AAGxDF,gBAAM,EAANA;AAHwD,SAAnB;AAAA,OAAtB,CAAnB,CA/DiE,CAoEjE;AACA;;AACA,UAAM4C,UAAU,GAAGh4B,SAAnB;;AACA,WAAK7mE,KAAL,CAAW6mE,SAAX,IAAwB;AAAA,eAAO;AAC3Br3F,oBAAU,EAAEysH,MAAM,CAACzsH,UADQ;AAE3BsuH,mBAAS,EAAE;AAAM;AAAN,YAA4BjrF,KAFZ;AAG3BkrF,iBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACmC,YAAb,CAAV,CAAqC9D,MAArC,CAA4C,CACjDhH,OAAO,CAACwgH,UAAD,CAD0C,EAEjDxgH,OAAO,CAACw0B,KAAD,CAF0C,EAGjDstF,eAAe,CAACt9H,MAAhB,GAAyBgb,UAAU,CAACsiH,eAAD,CAAnC,GAAuD1nH,SAHN,EAIjD4F,OAAO,CAAC8gH,UAAD,CAJ0C,EAKjDpJ,YALiD,EAMjDE,QANiD,EAOjD4F,SAAS,CAACh5H,MAAV,GAAmB,IAAI+U,cAAJ,CAAmBikH,SAAnB,CAAnB,GAAmDpjH,SAPF,EAQjDsjH,UAAU,CAACl5H,MAAX,GAAoB,IAAI+U,cAAJ,CAAmBmkH,UAAnB,CAApB,GAAqDtjH,SARJ,CAA5C,CAHkB;AAa3B8nH,0BAAgB,EAAEF,0BAbS;AAc3BzzD,mBAAS,EAAEqvD,MAAM,CAACrvD,SAAP,CAAiBr9D;AAdD,SAAP;AAAA,OAAxB;;AAgBA,aAAO;AAAE+sG,oBAAY,EAAZA,YAAF;AAAgBzvC,kBAAU,EAAVA;AAAhB,OAAP;AACH;;;WACD,wBAAe6oD,WAAf,EAA4BtpD,YAA5B,EAA0C;AACtC,WAAKo0D,gBAAL,CAAsB,KAAKJ,yBAAL,CAA+B1K,WAA/B,EAA4CtpD,YAA5C,CAAtB;AACH;;;WACD,gDAAuCv8C,UAAvC,EAAmD;AAC/C,UAAM4wG,gBAAgB,GAAG5wG,UAAU,CAAC4d,IAAX,CAAgB,UAAAwuF,MAAM;AAAA,eAAIA,MAAM,CAACrvD,SAAP,CAAiBz/C,WAArB;AAAA,OAAtB,CAAzB;;AACA,UAAIszG,gBAAgB,IAAIA,gBAAgB,CAAC7zD,SAAjB,CAA2B7+C,eAA3B,CAA2ClrB,MAAnE,EAA2E;AACvE,oCAAqDg0H,mCAAmC,CAAC,KAAKvsG,SAAN,EAAiB,KAAKkpB,SAAtB,EAAiC;AAAK;AAAtC;AAAsC;AAAuBitF,wBAAgB,CAAC7zD,SAAjB,CAA2B7+C,eAAxF,CAAxF;AAAA,YAAQgoG,YAAR,yBAAQA,YAAR;AAAA,YAAsBE,QAAtB,yBAAsBA,QAAtB;AAAA,YAAgCpjF,KAAhC,yBAAgCA,KAAhC;AAAA,YAAuC+lE,UAAvC,yBAAuCA,SAAvC;;AACA,aAAK4nB,gBAAL,CAAsB;AAClBzK,sBAAY,EAAZA,YADkB;AAElBE,kBAAQ,EAARA,QAFkB;AAGlBpjF,eAAK,EAALA,KAHkB;AAIlB+lE,mBAAS,EAATA,UAJkB;AAKlBunB,yBAAe,EAAE,EALC;AAMlB3wH,oBAAU,EAAEixH,gBAAgB,CAACjxH;AANX,SAAtB;AAQH;AACJ;;;WACD,0BAAiBtG,IAAjB,EAAuB;AACnB;AACA;AACA;AACA,WAAK82B,KAAL,CAAW17B,IAAX,CAAgB;AAAA,eAAO;AACnBkL,oBAAU,EAAEtG,IAAI,CAACsG,UADE;AAEnBsuH,mBAAS,EAAE50H,IAAI,CAAC2pC,KAFG;AAGnBkrF,iBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACoC,WAAb,CAAV,CAAoC/D,MAApC,CAA2C,CAChDhH,OAAO,CAACnV,IAAI,CAAC2pC,KAAN,CADyC,EAEhD3pC,IAAI,CAACi3H,eAAL,CAAqBt9H,MAArB,GAA8Bgb,UAAU,CAAC3U,IAAI,CAACi3H,eAAN,CAAxC,GAAiE1nH,SAFjB,EAGhDvP,IAAI,CAAC0vG,SAH2C,EAGhC1vG,IAAI,CAAC6sH,YAH2B,EAGb7sH,IAAI,CAAC+sH,QAHQ,CAA3C;AAHU,SAAP;AAAA,OAAhB;AASH;;;WACD,mCAA0BP,WAA1B,EAAuCtpD,YAAvC,EAAqD;AACjD,UAAIv5B,KAAK,GAAG;AAAE;AAAd;AACA,UAAIstF,eAAe,GAAG,EAAtB;AACA/zD,kBAAY,CAACtpE,OAAb,CAAqB,UAACmC,KAAD,EAAW;AAC5B,YAAI8mB,cAAc,CAAC9mB,KAAK,CAACT,KAAP,CAAd,KAAgCunB,cAAc,CAAC2pG,WAAW,CAACjtH,KAAb,CAAlD,EAAuE;AACnE03H,yBAAe,CAAC77H,IAAhB,CAAqBuZ,UAAU,CAAC,CAACQ,OAAO,CAACpZ,KAAK,CAACorE,OAAP,CAAR,EAAyBhyD,OAAO,CAAC;AAAE;AAAH,WAAhC,CAAD,CAA/B;AACH;AACJ,OAJD;;AAKA,yBAAoE+K,WAAW,CAAC,KAAKoqB,SAAN,EAAiBkiF,WAAjB,CAA/E;AAAA,UAAQK,YAAR,gBAAQA,YAAR;AAAA,UAAsBE,QAAtB,gBAAsBA,QAAtB;AAAA,UAAuCD,aAAvC,gBAAgCnjF,KAAhC;AAAA,UAAsD+lE,SAAtD,gBAAsDA,SAAtD;;AACA,aAAO;AACH/lE,aAAK,EAAEA,KAAK,GAAGmjF,aADZ;AAEHmK,uBAAe,EAAfA,eAFG;AAGHpK,oBAAY,EAAZA,YAHG;AAIHE,gBAAQ,EAARA,QAJG;AAKHrd,iBAAS,EAATA,SALG;AAMHppG,kBAAU,EAAEkmH,WAAW,CAAClmH;AANrB,OAAP;AAQH;;;WACD,kBAASzM,IAAT,EAAe;AACX,UAAIA,IAAI,IAAI+oD,gBAAgB,CAACnuB,KAAjB,CAAuB56B,IAAnC,EAAyC;AACrC,eAAO+oD,gBAAgB,CAACnuB,KAAxB;AACH;;AACD,UAAI+iG,YAAY,GAAGtD,QAAnB;;AACA,WAAK,IAAIhB,WAAW,GAAG,IAAvB,EAA6BA,WAA7B,EAA0CA,WAAW,GAAGA,WAAW,CAACliH,MAA1B,EACtCwmH,YAAY,GAAGA,YAAY,CAACvjH,IAAb,CAAkB,QAAlB,EAA4B4wC,IAA5B,CAAiChgD,YAAjC,CADnB,EACmE;AAC/D;AACA,YAAM4yH,YAAY,GAAGvE,WAAW,CAACsB,cAAZ,CAA2B36H,IAA3B,CAArB;;AACA,YAAI49H,YAAY,IAAI,IAApB,EAA0B;AACtB,iBAAOpjH,UAAU,CAACyJ,WAAW,CAAC0C,SAAb,CAAV,CAAkCrE,MAAlC,CAAyC,CAACq7G,YAAD,EAAeriH,OAAO,CAACsiH,YAAD,CAAtB,CAAzC,CAAP;AACH,SAL8D,CAM/D;;;AACA,YAAMtE,MAAM,GAAGD,WAAW,CAAC99F,SAAZ,CAAsBmP,IAAtB,CAA2B,UAAC4uF,MAAD;AAAA,iBAAYA,MAAM,CAACt5H,IAAP,KAAgBA,IAA5B;AAAA,SAA3B,CAAf;;AACA,YAAIs5H,MAAJ,EAAY;AACR,cAAMuE,QAAQ,GAAGvE,MAAM,CAAC73H,KAAP,IAAgBk4H,qBAAjC;AACA,iBAAOgE,YAAY,CAACvjH,IAAb,CAAkB,SAAlB,EAA6BA,IAA7B,CAAkCyjH,QAAlC,CAAP;AACH;AACJ;;AACD,aAAO,IAAP;AACH;;;WACD,qCAA4B,CACxB;AACA;AACA;AACH;;;WACD,sCAA6BpxH,UAA7B,EAAyCu9C,QAAzC,EAAmD;AAC/C,UAAIA,QAAQ,KAAK,CAAjB,EAAoB;AAChB,YAAM8zE,SAAS,GAAGtjH,UAAU,CAACyJ,WAAW,CAAC4B,WAAb,CAA5B;AACA,eAAO;AAAA,iBAAMi4G,SAAN;AAAA,SAAP;AACH;;AACD,UAAMhC,UAAU,GAAG,KAAK7+F,KAAL,CAAWn9B,MAA9B;AACA,WAAKm9B,KAAL,CAAW17B,IAAX,CAAgB;AAAA,eAAO;AACnBkL,oBAAU,EAAVA,UADmB;AAEnBsuH,mBAAS,EAAE;AAAG;AAFK;AAGnBC,iBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACsC,YAAb,CAAV,CAAqCjE,MAArC,CAA4C,CACjDhH,OAAO,CAACwgH,UAAD,CAD0C,EAEjDxgH,OAAO,CAAC0uC,QAAD,CAF0C,CAA5C;AAHU,SAAP;AAAA,OAAhB;AAQA,aAAO,UAACliD,IAAD;AAAA,eAAUi2H,aAAa,CAACjC,UAAD,EAAah0H,IAAb,CAAvB;AAAA,OAAP;AACH;;;WACD,oCAA2B2E,UAA3B,EAAuC0N,IAAvC,EAA6C;AACzC,UAAIA,IAAI,CAACra,MAAL,KAAgB,CAApB,EAAuB;AACnB,YAAMg+H,SAAS,GAAGtjH,UAAU,CAACyJ,WAAW,CAAC6B,SAAb,CAA5B;AACA,eAAO;AAAA,iBAAMg4G,SAAN;AAAA,SAAP;AACH;;AACD,UAAMt5H,GAAG,GAAGuW,UAAU,CAACZ,IAAI,CAAC3V,GAAL,CAAS,UAACsK,CAAD,EAAI3N,CAAJ;AAAA,eAAWiF,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkByI,CAAlB,CAAd,EAAoC;AAAErN,eAAK,EAAE6Z,OAAO,CAACna,CAAD;AAAhB,SAApC,CAAX;AAAA,OAAT,CAAD,CAAtB;AACA,UAAM26H,UAAU,GAAG,KAAK7+F,KAAL,CAAWn9B,MAA9B;AACA,WAAKm9B,KAAL,CAAW17B,IAAX,CAAgB;AAAA,eAAO;AACnBkL,oBAAU,EAAVA,UADmB;AAEnBsuH,mBAAS,EAAE;AAAG;AAFK;AAGnBC,iBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACuC,aAAb,CAAV,CAAsClE,MAAtC,CAA6C,CAClDhH,OAAO,CAACwgH,UAAD,CAD2C,EAElDt3H,GAFkD,CAA7C;AAHU,SAAP;AAAA,OAAhB;AAQA,aAAO,UAACsD,IAAD;AAAA,eAAUi2H,aAAa,CAACjC,UAAD,EAAah0H,IAAb,CAAvB;AAAA,OAAP;AACH;;;WACD,8BAAqBqZ,UAArB,EAAiCnhB,IAAjC,EAAuCgqD,QAAvC,EAAiD;AAC7C,UAAMt0B,IAAI,GAAG,KAAKwjD,SAAL,CAAexuC,IAAf,CAAoB,UAAC6lF,WAAD;AAAA,eAAiBA,WAAW,CAACvwH,IAAZ,KAAqBA,IAAtC;AAAA,OAApB,CAAb;;AACA,UAAI01B,IAAI,CAACpuB,IAAT,EAAe;AACX,YAAMw0H,UAAU,GAAG,KAAK7+F,KAAL,CAAWn9B,MAA9B;AACA,aAAKm9B,KAAL,CAAW17B,IAAX,CAAgB;AAAA,iBAAO;AACnBkL,sBAAU,EAAE0U,UAAU,CAAC1U,UADJ;AAEnBsuH,qBAAS,EAAE;AAAI;AAFI;AAGnBC,mBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACwC,WAAb,CAAV,CAAoCnE,MAApC,CAA2C,CAChDhH,OAAO,CAACwgH,UAAD,CADyC,EAEhDxgH,OAAO,CAAC0uC,QAAD,CAFyC,CAA3C;AAHU,WAAP;AAAA,SAAhB,EAFW,CAUX;;AACA,YAAIg0E,YAAY,GAAG3D,QAAnB;AACA,YAAI4D,WAAW,GAAG,IAAlB;;AACA,eAAOA,WAAW,CAAC9mH,MAAnB,EAA2B;AACvB8mH,qBAAW,GAAGA,WAAW,CAAC9mH,MAA1B;AACA6mH,sBAAY,GAAGA,YAAY,CAAC5jH,IAAb,CAAkB,QAAlB,EAA4B4wC,IAA5B,CAAiChgD,YAAjC,CAAf;AACH;;AACD,YAAMkzH,aAAa,GAAGD,WAAW,CAACvD,mBAAZ,CAAgC16H,IAAhC,CAAtB;AACA,YAAMm+H,aAAa,GAAG3jH,UAAU,CAACyJ,WAAW,CAAC0C,SAAb,CAAV,CAAkCrE,MAAlC,CAAyC,CAAC07G,YAAD,EAAe1iH,OAAO,CAAC4iH,aAAD,CAAtB,CAAzC,CAAtB;AACA,eAAO,UAACp2H,IAAD;AAAA,iBAAUs2H,eAAe,CAACj9G,UAAU,CAAC2iF,SAAZ,EAAuB3iF,UAAU,CAAC46G,YAAlC,EAAgDgC,aAAa,CAACjC,UAAD,EAAa,CAACqC,aAAD,EAAgB38H,MAAhB,CAAuBsG,IAAvB,CAAb,CAA7D,CAAzB;AAAA,SAAP;AACH,OApBD,MAqBK;AACD,YAAMg8F,SAAS,GAAG,KAAK82B,WAAL,CAAiBz5G,UAAU,CAAC1U,UAA5B,EAAwCipB,IAAxC,CAAlB;;AACA,YAAM2oG,aAAa,GAAG7jH,UAAU,CAACyJ,WAAW,CAAC0C,SAAb,CAAV,CAAkCrE,MAAlC,CAAyC,CAAC+3G,QAAD,EAAW/+G,OAAO,CAACwoF,SAAD,CAAlB,CAAzC,CAAtB;AACA,eAAO,UAACh8F,IAAD;AAAA,iBAAUs2H,eAAe,CAACj9G,UAAU,CAAC2iF,SAAZ,EAAuB3iF,UAAU,CAAC46G,YAAlC,EAAgDsC,aAAa,CAAC3sF,UAAd,CAAyB,WAAzB,EAAsC5pC,IAAtC,CAAhD,CAAzB;AAAA,SAAP;AACH;AACJ;;;WACD,qBAAY2E,UAAZ,EAAwBipB,IAAxB,EAA8B;AAAA;;AAC1B,UAAMouE,SAAS,GAAG,KAAK7mE,KAAL,CAAWn9B,MAA7B;AACA,UAAIgwC,KAAK,GAAG;AAAE;AAAd;AACApa,UAAI,CAAClpB,IAAL,CAAU69D,cAAV,CAAyBtqE,OAAzB,CAAiC,UAAC6yH,aAAD,EAAmB;AAChD;AACA,YAAIA,aAAa,KAAK5J,cAAc,CAACG,SAArC,EAAgD;AAC5Cr5E,eAAK,IAAI+iF,uBAAuB,CAACD,aAAD,CAAhC;AACH;AACJ,OALD;AAMA,UAAMU,QAAQ,GAAG59F,IAAI,CAAClpB,IAAL,CAAUmkC,MAAV,CAAiBnsC,GAAjB,CAAqB,UAAC85H,KAAD;AAAA,eAAW3K,MAAM,CAAC,QAAI,CAACljF,SAAN,EAAiB6tF,KAAjB,CAAjB;AAAA,OAArB,CAAjB,CAT0B,CAU1B;AACA;;AACA,WAAKrhG,KAAL,CAAW17B,IAAX,CAAgB;AAAA,eAAO;AACnBkL,oBAAU,EAAVA,UADmB;AAEnBsuH,mBAAS,EAAE;AAAG;AAFK;AAGnBC,iBAAO,EAAExgH,UAAU,CAACyJ,WAAW,CAACyC,OAAb,CAAV,CAAgCpE,MAAhC,CAAuC,CAC5ChH,OAAO,CAACw0B,KAAD,CADqC,EAC5B,QAAI,CAACW,SAAL,CAAej2B,UAAf,CAA0Bkb,IAAI,CAAClpB,IAAL,CAAU4a,SAApC,CAD4B,EACoBtM,UAAU,CAACw4G,QAAD,CAD9B,CAAvC;AAHU,SAAP;AAAA,OAAhB;AAOA,aAAOxvB,SAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,qCAA4B3iF,UAA5B,EAAwC;AAAA;;AACpC,aAAO;AACH2iF,iBAAS,EAAE3iF,UAAU,CAAC2iF,SADnB;AAEHi4B,oBAAY,EAAE56G,UAAU,CAAC46G,YAFtB;AAGHtvH,kBAAU,EAAE0U,UAAU,CAAC1U,UAHpB;AAIHpC,eAAO,EAAE8W,UAAU,CAAC9W,OAJjB;AAKH5I,aAAK,EAAEqoD,8BAA8B,CAAC;AAClCC,qCAA2B,EAAE,qCAACC,QAAD;AAAA,mBAAc,QAAI,CAACu0E,4BAAL,CAAkCp9G,UAAU,CAAC1U,UAA7C,EAAyDu9C,QAAzD,CAAd;AAAA,WADK;AAElCC,mCAAyB,EAAE,mCAAC9vC,IAAD;AAAA,mBAAU,QAAI,CAACqkH,0BAAL,CAAgCr9G,UAAU,CAAC1U,UAA3C,EAAuD0N,IAAvD,CAAV;AAAA,WAFO;AAGlC+vC,6BAAmB,EAAE,6BAAClqD,IAAD,EAAOgqD,QAAP;AAAA,mBAAoB,QAAI,CAACy0E,oBAAL,CAA0Bt9G,UAA1B,EAAsCnhB,IAAtC,EAA4CgqD,QAA5C,CAApB;AAAA;AAHa,SAAD,EAIlC7oC,UAAU,CAAC1f,KAJuB;AALlC,OAAP;AAWH;;;WACD,kCAAyB;AACrB,UAAMse,IAAI,GAAG,IAAb;AACA,UAAI2+G,kBAAkB,GAAG,CAAzB;AACA,UAAMvD,mBAAmB,GAAG,EAA5B;AACA,UAAMC,qBAAqB,GAAG,EAA9B;AACA,UAAMC,YAAY,GAAG,KAAKp+F,KAAL,CAAWz4B,GAAX,CAAe,UAACsE,OAAD,EAAUg7F,SAAV,EAAwB;AACxD,uBAA6Eh7F,OAAO,EAApF;AAAA,YAAQkyH,OAAR,YAAQA,OAAR;AAAA,YAAiBD,SAAjB,YAAiBA,SAAjB;AAAA,YAA4ByC,gBAA5B,YAA4BA,gBAA5B;AAAA,YAA8CvB,cAA9C,YAA8CA,cAA9C;AAAA,YAA8DxvH,UAA9D,YAA8DA,UAA9D;;AACA,YAAIwvH,cAAJ,EAAoB;AAChBd,6BAAmB,CAAC55H,IAApB,OAAA45H,mBAAmB,qJAASwD,sBAAsB,CAAC76B,SAAD,EAAYr3F,UAAZ,EAAwBwvH,cAAxB,EAAwC,KAAxC,CAA/B,EAAnB;AACH;;AACD,YAAIuB,gBAAJ,EAAsB;AAClBpC,+BAAqB,CAAC75H,IAAtB,OAAA65H,qBAAqB,qJAASuD,sBAAsB,CAAC76B,SAAD,EAAYr3F,UAAZ,EAAwB+wH,gBAAxB,EAA0C,CAACzC,SAAS,IAAI;AAAO;AAAP,YAAuB;AAAM;AAAjC,WAAV,IAA4D,CAAtG,CAA/B,EAArB;AACH,SAPuD,CAQxD;AACA;AACA;AACA;AACA;;;AACA,YAAM6D,cAAc,GAAG7D,SAAS,GAAG;AAAE;AAAd,UACnB,IAAIhmH,SAAJ,CAAc,CAACqlH,SAAS,CAAC93G,MAAV,CAAiB,EAAjB,EAAqBA,MAArB,CAA4B,EAA5B,CAAD,EAAkC04G,OAAlC,CAAd,CADmB,GAEnBA,OAFJ;AAGA,eAAOlhH,mCAAmC,CAAC8kH,cAAD,EAAiBnyH,UAAjB,CAA1C;AACH,OAjBoB,CAArB;AAkBA,aAAO;AAAE0uH,2BAAmB,EAAnBA,mBAAF;AAAuBC,6BAAqB,EAArBA,qBAAvB;AAA8CC,oBAAY,EAAZA;AAA9C,OAAP;;AACA,eAASsD,sBAAT,CAAgC76B,SAAhC,EAA2Cr3F,UAA3C,EAAuD0E,WAAvD,EAAoE0tH,eAApE,EAAqF;AACjF,YAAMlD,WAAW,GAAG,EAApB;AACA,YAAMjjH,KAAK,GAAGvH,WAAW,CAAC3M,GAAZ,CAAgB,kBAAoC;AAAA,cAAjCiI,UAAiC,UAAjCA,UAAiC;AAAA,cAArBpC,OAAqB,UAArBA,OAAqB;AAAA,cAAZ5I,KAAY,UAAZA,KAAY;AAC9D,cAAM8nD,SAAS,aAAMm1E,kBAAkB,EAAxB,CAAf;AACA,cAAMzG,YAAY,GAAG5tH,OAAO,KAAKkwH,QAAZ,GAAuBx6G,IAAvB,GAA8B,IAAnD;;AACA,uCAA+BwrC,uBAAsB,CAAC0sE,YAAD,EAAe5tH,OAAf,EAAwB5I,KAAxB,EAA+B8nD,SAA/B,EAA0C+B,WAAW,CAAC6sE,OAAtD,CAArD;AAAA,cAAQr/G,KAAR,0BAAQA,KAAR;AAAA,cAAeuyC,WAAf,0BAAeA,WAAf;;AACAswE,qBAAW,CAACp6H,IAAZ,OAAAo6H,WAAW,qJAAS7iH,KAAK,CAACtU,GAAN,CAAU,UAAC4R,IAAD;AAAA,mBAAUuD,kCAAkC,CAACvD,IAAD,EAAO3J,UAAP,CAA5C;AAAA,WAAV,CAAT,EAAX;AACA,iBAAOqN,mCAAmC,CAACuxC,WAAD,EAAc5+C,UAAd,CAA1C;AACH,SANa,CAAd;;AAOA,YAAI0E,WAAW,CAACrR,MAAZ,IAAsB++H,eAA1B,EAA2C;AACvClD,qBAAW,CAACp6H,IAAZ,CAAiBoY,kCAAkC,CAACokH,aAAa,CAACj6B,SAAD,EAAYprF,KAAZ,CAAb,CAAgCo2B,MAAhC,EAAD,EAA2CriC,UAA3C,CAAnD;AACH;;AACD,eAAOkvH,WAAP;AACH;AACJ;;;WACD,qCAA4B73B,SAA5B,EAAuCg7B,QAAvC,EAAiD;AAAA;;AAC7C,UAAMC,gBAAgB,GAAG,EAAzB;AACA,UAAIC,uBAAuB,GAAG,CAA9B;AACAF,cAAQ,CAAC/+H,OAAT,CAAiB,kBAAmC;AAAA,YAAhCsK,OAAgC,UAAhCA,OAAgC;AAAA,YAAvBszF,QAAuB,UAAvBA,QAAuB;AAAA,YAAbu7B,MAAa,UAAbA,MAAa;AAChD,YAAM3vE,SAAS,aAAMy1E,uBAAuB,EAA7B,CAAf;AACA,YAAM/G,YAAY,GAAG5tH,OAAO,KAAKkwH,QAAZ,GAAuB,QAAvB,GAA8B,IAAnD;;AACA,qCAAgCpxE,oBAAoB,CAAC8uE,YAAD,EAAe5tH,OAAf,EAAwBszF,QAAQ,CAACnjE,OAAjC,EAA0C+uB,SAA1C,CAApD;AAAA,YAAQzwC,KAAR,0BAAQA,KAAR;AAAA,YAAemwC,YAAf,0BAAeA,YAAf;;AACA,YAAMg2E,SAAS,GAAGnmH,KAAlB;;AACA,YAAImwC,YAAJ,EAAkB;AACdg2E,mBAAS,CAAC19H,IAAV,CAAek5H,iBAAiB,CAACp2H,GAAlB,CAAsB4kD,YAAY,CAACykD,GAAb,CAAiB+sB,iBAAjB,CAAtB,EAA2D3rF,MAA3D,EAAf;AACH;;AACD,qCAAiD+tF,yBAAyB,CAACl/B,QAAD,EAAWu7B,MAAX,CAA1E;AAAA,YAAgBgG,WAAhB,0BAAQzkG,MAAR;AAAA,YAAmC5yB,SAAnC,0BAA6B7H,IAA7B;;AACA,YAAMm/H,aAAa,GAAGrC,oBAAoB,CAACoC,WAAD,EAAcr3H,SAAd,CAA1C;AACAk3H,wBAAgB,CAACx9H,IAAjB,CAAsBoY,kCAAkC,CAAC,IAAIlC,MAAJ,CAAW6D,OAAO,CAAC6jH,aAAD,CAAP,CAAuBC,SAAvB,CAAiC5E,cAAjC,CAAX,EAA6DyE,SAA7D,CAAD,EAA0EthC,QAAQ,CAAClxF,UAAnF,CAAxD;AACH,OAXD;AAYA,UAAI4yH,aAAJ;;AACA,UAAIN,gBAAgB,CAACj/H,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B,YAAM+7H,QAAQ,GAAG,CAACpB,iBAAiB,CAACp2H,GAAlB,CAAsBiX,OAAO,CAAC,IAAD,CAA7B,EAAqC5L,UAArC,CAAgDtE,SAAhD,CAAD,CAAjB;;AACA,YAAI,CAAC,KAAK8rD,SAAL,CAAe/sC,MAAhB,IAA0BjR,gBAAgB,CAAC6lH,gBAAD,CAAhB,CAAmCzxG,GAAnC,CAAuCitG,QAAQ,CAACv6H,IAAhD,CAA9B,EAAqF;AACjF67H,kBAAQ,CAACt6H,IAAT,CAAcg5H,QAAQ,CAACl2H,GAAT,CAAag2H,QAAQ,CAACjgH,IAAT,CAAc,WAAd,CAAb,EAAyC1K,UAAzC,CAAoD,KAAK+Y,QAAzD,CAAd;AACH;;AACD42G,qBAAa,GAAGhvH,EAAE,CAAC,CACf,IAAIoD,OAAJ,CAAY4mH,QAAQ,CAACr6H,IAArB,EAA2BkL,aAA3B,CADe,EAEf,IAAIuI,OAAJ,CAAY+mH,cAAc,CAACx6H,IAA3B,EAAiCkL,aAAjC,CAFe,EAGf,IAAIuI,OAAJ,CAAYs1C,gBAAgB,CAACnuB,KAAjB,CAAuB56B,IAAnC,EAAyCkL,aAAzC,CAHe,CAAD,YAIX2wH,QAJW,EAIEkD,gBAJF,GAIoB,IAAIvoH,eAAJ,CAAoBikH,iBAApB,CAJpB,IAI6DvvH,aAJ7D,CAAlB;AAKH,OAVD,MAWK;AACDm0H,qBAAa,GAAG3pH,SAAhB;AACH;;AACD,aAAO2pH,aAAP;AACH;;;WACD,wBAAelnH,GAAf,EAAoB9N,OAApB,EAA6B,CAAG;;;WAChC,gCAAuB8N,GAAvB,EAA4B9N,OAA5B,EAAqC,CAAG;;;WACxC,wBAAe8N,GAAf,EAAoB9N,OAApB,EAA6B,CAAG;;;WAChC,uBAAc8N,GAAd,EAAmB9N,OAAnB,EAA4B,CAAG;;;WAC/B,oBAAW8N,GAAX,EAAgB9N,OAAhB,EAAyB,CAAG;;;WAC5B,8BAAqB8N,GAArB,EAA0B9N,OAA1B,EAAmC,CAAG;;;WACtC,mBAAU8N,GAAV,EAAe9N,OAAf,EAAwB,CAAG;;;;;;AAE/B,SAAS4wH,uBAAT,CAAiCrD,QAAjC,EAA2C;AACvC,MAAM0H,WAAW,GAAG1H,QAAQ,CAACA,QAAQ,CAAC93H,MAAT,GAAkB,CAAnB,CAA5B;;AACA,MAAIw/H,WAAW,YAAYh2D,mBAA3B,EAAgD;AAC5C,WAAOg2D,WAAW,CAACl2D,gBAAnB;AACH;;AACD,MAAIk2D,WAAW,YAAYn2D,UAA3B,EAAuC;AACnC,QAAI1qE,aAAa,CAAC6gI,WAAW,CAACt/H,IAAb,CAAb,IAAmCs/H,WAAW,CAACtkG,QAAZ,CAAqBl7B,MAA5D,EAAoE;AAChE,aAAOm7H,uBAAuB,CAACqE,WAAW,CAACtkG,QAAb,CAA9B;AACH;;AACD,WAAOskG,WAAW,CAACl2D,gBAAnB;AACH;;AACD,SAAOk2D,WAAW,YAAY90D,YAA9B;AACH;;AACD,SAASgyD,iBAAT,CAA2BvD,QAA3B,EAAqCC,MAArC,EAA6C;AACzC,MAAMryB,SAAS,GAAGoyB,QAAQ,CAACzsH,IAA3B;;AACA,UAAQq6F,SAAR;AACI,SAAK;AAAE;AAAP;AACI,aAAO/rF,UAAU,CAAC,CACdQ,OAAO,CAAC;AAAE;AAAH,OADO,EACyBA,OAAO,CAAC29G,QAAQ,CAACj5H,IAAV,CADhC,EAEdsb,OAAO,CAAC29G,QAAQ,CAAC9+F,eAAV,CAFO,CAAD,CAAjB;;AAIJ,SAAK;AAAE;AAAP;AACI,aAAOrf,UAAU,CAAC,CACdQ,OAAO,CAAC;AAAE;AAAH,OADO,EACiBA,OAAO,CAAC29G,QAAQ,CAACj5H,IAAV,CADxB,EAEdsb,OAAO,CAAC29G,QAAQ,CAAC9+F,eAAV,CAFO,CAAD,CAAjB;;AAIJ,SAAK;AAAE;AAAP;AACI,UAAMs6C,WAAW,GAAG;AAAE;AAAF,SACfykD,MAAM,IAAIA,MAAM,CAACrvD,SAAP,CAAiBz/C,WAA3B,GAAyC;AAAG;AAA5C,QACG;AAAG;AAFS,OAApB;AAGA,aAAOtP,UAAU,CAAC,CACdQ,OAAO,CAACm5D,WAAD,CADO,EACQn5D,OAAO,CAAC,MAAM29G,QAAQ,CAACj5H,IAAhB,CADf,EACsCsb,OAAO,CAAC29G,QAAQ,CAAC9+F,eAAV,CAD7C,CAAD,CAAjB;;AAGJ,SAAK;AAAE;AAAP;AACI,aAAOrf,UAAU,CAAC,CAACQ,OAAO,CAAC;AAAE;AAAH,OAAR,EAAoCA,OAAO,CAAC29G,QAAQ,CAACj5H,IAAV,CAA3C,EAA4D0V,SAA5D,CAAD,CAAjB;;AACJ,SAAK;AAAE;AAAP;AACI,aAAOoF,UAAU,CAAC,CACdQ,OAAO,CAAC;AAAE;AAAH,OADO,EACqBA,OAAO,CAAC29G,QAAQ,CAACj5H,IAAV,CAD5B,EAC6Csb,OAAO,CAAC29G,QAAQ,CAAC7+F,IAAV,CADpD,CAAD,CAAjB;;AAGJ;AACI;AACA;AACA;AACA;AACA,UAAM0vF,UAAU,GAAGjjB,SAAnB;AACA,YAAM,IAAItoG,KAAJ,sBAAwBurH,UAAxB,EAAN;AA9BR;AAgCH;;AACD,SAAS8S,aAAT,CAAuB2C,UAAvB,EAAmC;AAC/B,MAAMC,SAAS,GAAGp5H,MAAM,CAAC4T,MAAP,CAAc,IAAd,CAAlB;AACAulH,YAAU,CAACz+H,KAAX,CAAiBf,OAAjB,CAAyB,UAAA6rE,OAAO,EAAI;AAChC4zD,aAAS,CAAC5zD,OAAO,CAAC5rE,IAAT,CAAT,GAA0B4rE,OAAO,CAACnqE,KAAlC;AACH,GAFD;AAGA89H,YAAU,CAACzyG,UAAX,CAAsB/sB,OAAtB,CAA8B,UAAAm5H,MAAM,EAAI;AACpC9yH,UAAM,CAAC+T,IAAP,CAAY++G,MAAM,CAACrvD,SAAP,CAAiBn/C,cAA7B,EAA6C3qB,OAA7C,CAAqD,UAAAC,IAAI,EAAI;AACzD,UAAMyB,KAAK,GAAGy3H,MAAM,CAACrvD,SAAP,CAAiBn/C,cAAjB,CAAgC1qB,IAAhC,CAAd;AACA,UAAMqgF,SAAS,GAAGm/C,SAAS,CAACx/H,IAAD,CAA3B;AACAw/H,eAAS,CAACx/H,IAAD,CAAT,GAAkBqgF,SAAS,IAAI,IAAb,GAAoBo/C,mBAAmB,CAACz/H,IAAD,EAAOqgF,SAAP,EAAkB5+E,KAAlB,CAAvC,GAAkEA,KAApF;AACH,KAJD;AAKH,GAND,EAL+B,CAY/B;AACA;;AACA,SAAOqZ,UAAU,CAAC1U,MAAM,CAAC+T,IAAP,CAAYqlH,SAAZ,EAAuB3yD,IAAvB,GAA8BroE,GAA9B,CAAkC,UAACpD,QAAD;AAAA,WAAc0Z,UAAU,CAAC,CAACQ,OAAO,CAACla,QAAD,CAAR,EAAoBka,OAAO,CAACkkH,SAAS,CAACp+H,QAAD,CAAV,CAA3B,CAAD,CAAxB;AAAA,GAAlC,CAAD,CAAjB;AACH;;AACD,SAASq+H,mBAAT,CAA6Br+H,QAA7B,EAAuCs+H,UAAvC,EAAmDC,UAAnD,EAA+D;AAC3D,MAAIv+H,QAAQ,IAAIq4H,YAAZ,IAA4Br4H,QAAQ,IAAIs4H,UAA5C,EAAwD;AACpD,qBAAUgG,UAAV,cAAwBC,UAAxB;AACH,GAFD,MAGK;AACD,WAAOA,UAAP;AACH;AACJ;;AACD,SAAS5B,aAAT,CAAuBj6B,SAAvB,EAAkCprF,KAAlC,EAAyC;AACrC,MAAIA,KAAK,CAAC5Y,MAAN,GAAe,EAAnB,EAAuB;AACnB,WAAOw6H,SAAS,CAACh4G,MAAV,CAAiB,CAAC+3G,QAAD,EAAW/+G,OAAO,CAACwoF,SAAD,CAAlB,EAA+BxoF,OAAO,CAAC;AAAE;AAAH,KAAtC,EAAyDR,UAAU,CAACpC,KAAD,CAAnE,CAAjB,CAAP;AACH,GAFD,MAGK;AACD,WAAO4hH,SAAS,CAACh4G,MAAV,EAAkB+3G,QAAlB,EAA4B/+G,OAAO,CAACwoF,SAAD,CAAnC,EAAgDxoF,OAAO,CAAC;AAAE;AAAH,KAAvD,4JAA4E5C,KAA5E,GAAP;AACH;AACJ;;AACD,SAAS0lH,eAAT,CAAyBt6B,SAAzB,EAAoC87B,UAApC,EAAgD1wH,IAAhD,EAAsD;AAClD,SAAOsL,UAAU,CAACyJ,WAAW,CAAC4C,WAAb,CAAV,CAAoCvE,MAApC,CAA2C,CAC9C+3G,QAD8C,EACpC/+G,OAAO,CAACwoF,SAAD,CAD6B,EAChBxoF,OAAO,CAACskH,UAAD,CADS,EACK1wH,IADL,CAA3C,CAAP;AAGH;;AACD,SAAS2tH,yBAAT,CAAmCl/B,QAAnC,EAA6Cu7B,MAA7C,EAAqD;AACjD,MAAIv7B,QAAQ,CAACj1C,WAAb,EAA0B;AACtB,WAAO;AACH1oD,UAAI,aAAM29F,QAAQ,CAAC39F,IAAf,cAAuB29F,QAAQ,CAAC3kE,KAAhC,CADD;AAEHyB,YAAM,EAAEy+F,MAAM,IAAIA,MAAM,CAACrvD,SAAP,CAAiBz/C,WAA3B,GAAyC,WAAzC,GAAuD;AAF5D,KAAP;AAIH,GALD,MAMK;AACD,WAAOuzE,QAAP;AACH;AACJ;;AACD,SAASm9B,2BAAT,CAAqCluF,KAArC,EAA4C;AACxC,MAAIkD,KAAK,GAAG;AAAE;AAAd,GADwC,CAExC;AACA;;AACA,MAAIlD,KAAK,CAACtmC,KAAN,IAAesmC,KAAK,CAAC4jE,MAAzB,EAAiC;AAC7B1gE,SAAK,IAAI;AAAU;AAAnB;AACH,GAFD,MAGK;AACDA,SAAK,IAAI;AAAU;AAAnB;AACH;;AACD,SAAOA,KAAP;AACH;;AACD,SAASgtF,oBAAT,CAA8BriG,MAA9B,EAAsCz6B,IAAtC,EAA4C;AACxC,SAAOy6B,MAAM,aAAMA,MAAN,cAAgBz6B,IAAhB,IAAyBA,IAAtC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;IACM6/H,a;AACF,yBAAYvmD,WAAZ,EAAyBgiC,aAAzB,EAAwCC,cAAxC,EAAwE;AAAA,QAAhB4F,OAAgB,uEAAN,IAAM;;AAAA;;AACpE,SAAK7nC,WAAL,GAAmBA,WAAnB;AACA,SAAKgiC,aAAL,GAAqBA,aAArB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAK4F,OAAL,GAAeA,OAAf;AACA,SAAKxF,SAAL,GAAiB,EAAjB;AACH;;;;WACD,4BAAmB+J,IAAnB,EAAyBr3F,GAAzB,EAA8BssC,mBAA9B,EAAmD;AAAA;;AAC/C,UAAMmlE,gBAAgB,GAAG,KAAKxmD,WAAL,CAAiB5vE,KAAjB,CAAuBg8G,IAAvB,EAA6Br3F,GAA7B,EAAkC;AAAEosC,8BAAsB,EAAE,IAA1B;AAAgCE,2BAAmB,EAAnBA;AAAhC,OAAlC,CAAzB;;AACA,UAAImlE,gBAAgB,CAACn4E,MAAjB,CAAwB7nD,MAA5B,EAAoC;AAChC,eAAOggI,gBAAgB,CAACn4E,MAAxB;AACH;;AACD,UAAMo4E,gBAAgB,GAAGnlB,eAAe,CAACklB,gBAAgB,CAACt8D,SAAlB,EAA6B7I,mBAA7B,EAAkD,KAAK2gD,aAAvD,EAAsE,KAAKC,cAA3E,CAAxC;;AACA,UAAIwkB,gBAAgB,CAACp4E,MAAjB,CAAwB7nD,MAA5B,EAAoC;AAChC,eAAOigI,gBAAgB,CAACp4E,MAAxB;AACH;;AACD,8BAAKg0D,SAAL,EAAep6G,IAAf,2KAAuBw+H,gBAAgB,CAAC54F,QAAxC;;AACA,aAAO,EAAP;AACH,K,CACD;AACA;;;;WACA,uBAAc;AACV,aAAO,KAAKw0E,SAAZ;AACH;;;WACD,eAAM5kB,UAAN,EAAkBipC,aAAlB,EAAiC;AAC7B,UAAM74F,QAAQ,GAAG,EAAjB;AACA,UAAM84F,aAAa,GAAG,IAAIC,mBAAJ,EAAtB,CAF6B,CAG7B;;AACA,WAAKvkB,SAAL,CAAe57G,OAAf,CAAuB,UAAA6gC,OAAO,EAAI;AAC9B,YAAMnmB,EAAE,GAAGs8E,UAAU,CAACp2D,MAAX,CAAkBC,OAAlB,CAAX;;AACA,YAAI,CAACuG,QAAQ,CAAC/nB,cAAT,CAAwB3E,EAAxB,CAAL,EAAkC;AAC9B0sB,kBAAQ,CAAC1sB,EAAD,CAAR,GAAemmB,OAAf;AACH,SAFD,MAGK;AAAA;;AACD,kCAAAuG,QAAQ,CAAC1sB,EAAD,CAAR,CAAa8iB,OAAb,EAAqBh8B,IAArB,gLAA6Bq/B,OAAO,CAACrD,OAArC;AACH;AACJ,OARD,EAJ6B,CAa7B;;;AACA,UAAM4iG,OAAO,GAAG/5H,MAAM,CAAC+T,IAAP,CAAYgtB,QAAZ,EAAsB3iC,GAAtB,CAA0B,UAAAiW,EAAE,EAAI;AAC5C,YAAM4rG,MAAM,GAAGtvB,UAAU,CAAC8uB,gBAAX,CAA4B1+E,QAAQ,CAAC1sB,EAAD,CAApC,CAAf;AACA,YAAM2lH,GAAG,GAAGj5F,QAAQ,CAAC1sB,EAAD,CAApB;AACA,YAAMwiB,KAAK,GAAGopF,MAAM,GAAG4Z,aAAa,CAACnf,OAAd,CAAsBsf,GAAG,CAACnjG,KAA1B,EAAiCopF,MAAjC,CAAH,GAA8C+Z,GAAG,CAACnjG,KAAtE;AACA,YAAIojG,kBAAkB,GAAG,IAAIhjG,OAAJ,CAAYJ,KAAZ,EAAmB,EAAnB,EAAuB,EAAvB,EAA2BmjG,GAAG,CAAC3uH,OAA/B,EAAwC2uH,GAAG,CAAC5uH,WAA5C,EAAyDiJ,EAAzD,CAAzB;AACA4lH,0BAAkB,CAAC9iG,OAAnB,GAA6B6iG,GAAG,CAAC7iG,OAAjC;;AACA,YAAIyiG,aAAJ,EAAmB;AACfK,4BAAkB,CAAC9iG,OAAnB,CAA2Bx9B,OAA3B,CAAmC,UAAC2nC,MAAD;AAAA,mBAAYA,MAAM,CAAChgB,QAAP,GAAkBs4G,aAAa,CAACt4F,MAAM,CAAChgB,QAAR,CAA3C;AAAA,WAAnC;AACH;;AACD,eAAO24G,kBAAP;AACH,OAVe,CAAhB;AAWA,aAAOtpC,UAAU,CAACupC,KAAX,CAAiBH,OAAjB,EAA0B,KAAKhf,OAA/B,CAAP;AACH;;;;KAEL;;;IACM+e,mB;;;;;;;;;;;;;WACF,iBAAQjjG,KAAR,EAAeopF,MAAf,EAAuB;AAAA;;AACnB,aAAOA,MAAM,GAAGppF,KAAK,CAACz4B,GAAN,CAAU,UAAAw6B,CAAC;AAAA,eAAIA,CAAC,CAAC9B,KAAF,CAAQ,QAAR,EAAcmpF,MAAd,CAAJ;AAAA,OAAX,CAAH,GAA2CppF,KAAxD;AACH;;;WACD,6BAAoBiC,EAApB,EAAwBmnF,MAAxB,EAAgC;AAAA;;AAC5B,UAAM9nF,SAAS,GAAG8nF,MAAM,CAACt+E,YAAP,CAAoB7I,EAAE,CAACX,SAAvB,CAAlB;AACA,UAAMC,SAAS,GAAGU,EAAE,CAACV,SAAH,GAAe6nF,MAAM,CAACt+E,YAAP,CAAoB7I,EAAE,CAACV,SAAvB,CAAf,GAAmDU,EAAE,CAACV,SAAxE;AACA,UAAMxD,QAAQ,GAAGkE,EAAE,CAAClE,QAAH,CAAYx2B,GAAZ,CAAgB,UAAAw6B,CAAC;AAAA,eAAIA,CAAC,CAAC9B,KAAF,CAAQ,QAAR,EAAcmpF,MAAd,CAAJ;AAAA,OAAjB,CAAjB;AACA,aAAO,IAAI/nF,cAAJ,CAAmBY,EAAE,CAAC38B,GAAtB,EAA2B28B,EAAE,CAACp+B,KAA9B,EAAqCy9B,SAArC,EAAgDC,SAAhD,EAA2DxD,QAA3D,EAAqEkE,EAAE,CAACx/B,MAAxE,EAAgFw/B,EAAE,CAACzyB,UAAnF,EAA+FyyB,EAAE,CAAChE,eAAlG,EAAmHgE,EAAE,CAAC/D,aAAtH,CAAP;AACH;;;WACD,0BAAiB+D,EAAjB,EAAqBmnF,MAArB,EAA6B;AACzB,aAAO,IAAI3nF,WAAJ,CAAgBQ,EAAE,CAACz9B,KAAnB,EAA0B4kH,MAAM,CAACt+E,YAAP,CAAoB7I,EAAE,CAACl/B,IAAvB,CAA1B,EAAwDk/B,EAAE,CAACzyB,UAA3D,CAAP;AACH;;;WACD,6BAAoByyB,EAApB,EAAwBmnF,MAAxB,EAAgC;AAC5B,aAAO,IAAIznF,cAAJ,CAAmBM,EAAE,CAACz9B,KAAtB,EAA6B4kH,MAAM,CAACt+E,YAAP,CAAoB7I,EAAE,CAACl/B,IAAvB,CAA7B,EAA2Dk/B,EAAE,CAACzyB,UAA9D,CAAP;AACH;;;;EAf6BqyB,Y;AAkBlC;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMyhG,a;AACF,yBAAYC,UAAZ,EAAwBC,UAAxB,EAAoCC,aAApC,EAAmD;AAAA;;AAC/C,SAAKF,UAAL,GAAkBA,UAAlB;AACA,SAAKC,UAAL,GAAkBA,UAAlB;;AACA,QAAI,OAAOC,aAAP,KAAyB,QAA7B,EAAuC;AACnC,WAAKh5F,MAAL,GAAcg5F,aAAd;AACA,WAAK5nH,KAAL,GAAa,IAAb;AACH,KAHD,MAIK;AACD,WAAK4uB,MAAL,GAAc,IAAd;AACA,WAAK5uB,KAAL,GAAa4nH,aAAb;AACH;AACJ;;;;WACD,sBAAav0H,KAAb,EAAoB;AAChB,UAAI,KAAKs0H,UAAL,KAAoBt0H,KAAK,CAACs0H,UAA9B,EAA0C;AACtC,eAAO,KAAP;AACH;;AACD,UAAI,KAAK/4F,MAAT,EAAiB;AACb,eAAO,KAAKA,MAAL,KAAgBv7B,KAAK,CAACu7B,MAA7B;AACH;;AACD,UAAIv7B,KAAK,CAAC2M,KAAN,IAAe,IAAnB,EAAyB;AACrB,eAAO,KAAP;AACH,OATe,CAUhB;AACA;;;AACA,aAAOzM,gBAAgB,CAAC,KAAKyM,KAAN,EAAa3M,KAAK,CAAC2M,KAAnB,CAAvB;AACH;;;;;;AAEL,SAAS6nH,YAAT,CAAsBljG,IAAtB,EAA2C;AAAA,MAAfy3F,QAAe,uEAAJ,EAAI;;AACvC,MAAI,CAACz3F,IAAI,CAAC3kB,KAAV,EAAiB;AACb,UAAM,IAAIva,KAAJ,4DAA8Dk/B,IAAI,CAACgjG,UAAnE,EAAN;AACH;;AACD,SAAO,IAAIxL,iBAAJ,GAAwB2L,cAAxB,CAAuCnjG,IAAI,CAACgjG,UAA5C,EAAwDhjG,IAAI,CAAC3kB,KAA7D,EAAoEo8G,QAApE,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2L,eAAT,CAAwB9xG,UAAxB,EAAoCxH,SAApC,EAA+C;AAC3C,MAAMu5G,aAAa,GAAG,EAAtB;;AAD2C,8KAER/xG,UAAU,CAACvC,gBAAX,CAA4B7B,SAFpB;AAAA;;AAAA;AAE3C,8DAA0E;AAAA;AAAA,UAA7D0C,QAA6D,iBAA7DA,QAA6D;AAAA,UAAnDZ,MAAmD,iBAAnDA,MAAmD;;AACtE,UAAIzD,cAAc,CAACqE,QAAQ,CAAC3nB,KAAV,CAAd,KAAmC6hB,SAAS,CAACw5G,MAAjD,EAAyD;AACrD,YAAMC,YAAY,GAAGC,oBAAoB,CAAC5zG,QAAQ,CAACM,QAAV,CAAzC;;AADqD,oLAEjCqzG,YAFiC;AAAA;;AAAA;AAErD,oEAAkC;AAAA,gBAAvBE,KAAuB;AAC9BJ,yBAAa,CAACv/H,IAAd,CAAmB4/H,cAAc,CAACD,KAAD,EAAQ35G,SAAR,EAAmBkF,MAAM,CAACrF,SAA1B,CAAjC;AACH;AAJoD;AAAA;AAAA;AAAA;AAAA;AAKxD;AACJ;AAT0C;AAAA;AAAA;AAAA;AAAA;;AAU3C,SAAO05G,aAAP;AACH;;AACD,SAASG,oBAAT,CAA8BG,MAA9B,EAAmD;AAAA,MAAb3mG,MAAa,uEAAJ,EAAI;;AAC/C,MAAI,OAAO2mG,MAAP,KAAkB,QAAtB,EAAgC;AAC5B3mG,UAAM,CAACl5B,IAAP,CAAY6/H,MAAZ;AACH,GAFD,MAGK,IAAI3kH,KAAK,CAACC,OAAN,CAAc0kH,MAAd,CAAJ,EAA2B;AAAA,gLACRA,MADQ;AAAA;;AAAA;AAC5B,gEAA4B;AAAA,YAAjBF,KAAiB;;AACxBD,4BAAoB,CAACC,KAAD,EAAQzmG,MAAR,CAApB;AACH;AAH2B;AAAA;AAAA;AAAA;AAAA;AAI/B,GAJI,MAKA,IAAI2mG,MAAM,CAACJ,YAAX,EAAyB;AAC1BC,wBAAoB,CAACG,MAAM,CAACJ,YAAR,EAAsBvmG,MAAtB,CAApB;AACH,GAFI,MAGA,IAAI2mG,MAAM,CAACpmG,QAAX,EAAqB;AACtBimG,wBAAoB,CAACG,MAAM,CAACpmG,QAAR,EAAkBP,MAAlB,CAApB;AACH;;AACD,SAAOA,MAAP;AACH;;AACD,SAAS0mG,cAAT,CAAwBD,KAAxB,EAA+B35G,SAA/B,EAA0CkF,MAA1C,EAAkD;AAC9C,qBAA+By0G,KAAK,CAAC1hH,KAAN,CAAY,GAAZ,CAA/B;AAAA;AAAA,MAAO6hH,SAAP;AAAA,MAAkBC,SAAlB;;AACA,MAAMC,gBAAgB,GAAGh6G,SAAS,CAACC,wBAAV,CAAmC;AACxD1U,cAAU,EAAEuuH,SAD4C;AAExDrhI,QAAI,EAAEshI;AAFkD,GAAnC,EAGtB70G,MAAM,GAAGA,MAAM,CAAC/E,QAAV,GAAqB3hB,SAHL,CAAzB;AAIA,SAAO;AAAEm7H,SAAK,EAAEA,KAAT;AAAgBz0G,UAAM,EAAEA,MAAM,IAAI80G,gBAAlC;AAAoDA,oBAAgB,EAAhBA;AAApD,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,EAAE,GAAG,wBAAX;;IACMC,oB,GACF,8BAAYl/E,MAAZ,EAAoBU,QAApB,EAA8B;AAAA;;AAC1B,OAAKV,MAAL,GAAcA,MAAd;AACA,OAAKU,QAAL,GAAgBA,QAAhB;AACH,C;;AAEL,IAAMy+E,wBAAwB,GAAG,CAAjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,oB;AACF,gCAAYp2G,IAAZ,EAAkBq2G,iBAAlB,EAAqCC,eAArC,EAAsDC,aAAtD,EAAqE;AAAA;;AACjE,SAAKv2G,IAAL,GAAYA,IAAZ;AACA,SAAKq2G,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKC,aAAL,GAAqB,IAAIh/H,GAAJ,EAArB,CALiE,CAMjE;;AACA,SAAKi/H,eAAL,GAAuB,IAAIj/H,GAAJ,EAAvB,CAPiE,CAQjE;;AACA,SAAKk/H,QAAL,GAAgB,IAAIl/H,GAAJ,EAAhB;AACA,SAAKm/H,mBAAL,GAA2B,IAAIn/H,GAAJ,EAA3B;AACA,SAAKo/H,cAAL,GAAsB,IAAIp/H,GAAJ,EAAtB;AACA,SAAKq/H,0BAAL,GAAkC,IAAIr/H,GAAJ,EAAlC;AACH;;;;WACD,uBAAcs/H,YAAd,EAA4B;AACxB,UAAIA,YAAY,CAAC16G,OAAb,CAAqB7nB,MAArB,GAA8B,CAAlC,EAAqC;AACjC,eAAO,KAAKwiI,qBAAL,CAA2BD,YAA3B,CAAP;AACH,OAHuB,CAIxB;AACA;AACA;;;AACA,UAAME,iBAAiB,GAAG,KAAKC,yBAAL,CAA+BH,YAA/B,CAA1B;;AACA,UAAIE,iBAAJ,EAAuB;AACnB,eAAOA,iBAAP;AACH;;AACD,UAAME,eAAe,GAAG,KAAKT,eAAL,CAAqB59H,GAArB,CAAyBi+H,YAAzB,CAAxB;;AACA,UAAII,eAAJ,EAAqB;AACjB,eAAOA,eAAP;AACH,OAduB,CAexB;AACA;AACA;;;AACA,WAAKC,gBAAL,CAAsBL,YAAY,CAAC36G,QAAnC;;AACA,aAAO,KAAKs6G,eAAL,CAAqB59H,GAArB,CAAyBi+H,YAAzB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,qBAAYA,YAAZ,EAA+C;AAAA,UAArBM,YAAqB,uEAAN,IAAM;;AAC3C,UAAIN,YAAY,CAAC16G,OAAb,CAAqB7nB,MAAzB,EAAiC;AAC7B,YAAM8iI,UAAU,GAAG,KAAKC,eAAL,CAAqBR,YAAY,CAAC36G,QAAlC,EAA4C26G,YAAY,CAACriI,IAAzD,CAAnB;AACA,YAAM8iI,YAAY,GAAG,KAAKC,WAAL,CAAiBH,UAAjB,EAA6BD,YAA7B,CAArB;AACA,eAAOG,YAAY,GACf,KAAKD,eAAL,CAAqBC,YAAY,CAACp7G,QAAlC,EAA4Co7G,YAAY,CAAC9iI,IAAzD,EAA+DqiI,YAAY,CAAC16G,OAA5E,CADe,GAEf,IAFJ;AAGH;;AACD,UAAMq7G,kBAAkB,GAAGva,4BAA4B,CAAC4Z,YAAY,CAAC36G,QAAd,CAAvD;;AACA,UAAIs7G,kBAAkB,KAAKX,YAAY,CAAC36G,QAAxC,EAAkD;AAC9C,YAAMu7G,cAAc,GAAGra,4BAA4B,CAACyZ,YAAY,CAACriI,IAAd,CAAnD;;AACA,YAAM4iI,WAAU,GAAG,KAAKC,eAAL,CAAqBG,kBAArB,EAAyCC,cAAzC,EAAyDZ,YAAY,CAAC16G,OAAtE,CAAnB;;AACA,YAAMm7G,aAAY,GAAG,KAAKC,WAAL,CAAiBH,WAAjB,EAA6BD,YAA7B,CAArB;;AACA,eAAOG,aAAY,GAAG,KAAKD,eAAL,CAAqBra,qBAAqB,CAACsa,aAAY,CAACp7G,QAAd,CAA1C,EAAmEghG,iBAAiB,CAACoa,aAAY,CAAC9iI,IAAd,CAApF,EAAyG4iI,WAAU,CAACj7G,OAApH,CAAH,GACf,IADJ;AAEH;;AACD,UAAIrmB,MAAM,GAAIqhI,YAAY,IAAI,KAAKd,eAAL,CAAqBkB,WAArB,CAAiCV,YAAjC,CAAjB,IAAoE,IAAjF;;AACA,UAAI,CAAC/gI,MAAL,EAAa;AACTA,cAAM,GAAG,KAAK2gI,QAAL,CAAc79H,GAAd,CAAkBi+H,YAAlB,CAAT;AACH;;AACD,aAAO/gI,MAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;;WACI,yBAAgB+gI,YAAhB,EAA8B;AAC1B,aAAO,KAAKH,mBAAL,CAAyB99H,GAAzB,CAA6Bi+H,YAA7B,KAA8CA,YAAY,CAAC36G,QAAlE;AACH;AACD;AACJ;AACA;AACA;;;;WACI,sBAAa26G,YAAb,EAA2B;AACvB;AACA;AACA;AACA;AACA,UAAIna,eAAe,CAACma,YAAY,CAAC36G,QAAd,CAAnB,EAA4C;AACxC,eAAO,IAAP;AACH;;AACD,UAAIw7G,cAAc,GAAGC,sBAAsB,CAAC,KAAKC,aAAL,CAAmBf,YAAnB,CAAD,CAA3C;;AACA,aAAOa,cAAc,IAAIA,cAAc,CAACjgF,QAAf,YAAmCx7B,YAA5D,EAA0E;AACtEy7G,sBAAc,GAAGC,sBAAsB,CAAC,KAAKC,aAAL,CAAmBF,cAAc,CAACjgF,QAAlC,CAAD,CAAvC;AACH;;AACD,aAAQigF,cAAc,IAAIA,cAAc,CAACjgF,QAAjC,IAA6CigF,cAAc,CAACjgF,QAAf,CAAwBogF,KAAtE,IAAgF,IAAvF;AACH;;;WACD,4BAAmB37G,QAAnB,EAA6B;AACzB,aAAO,KAAK06G,0BAAL,CAAgCh+H,GAAhC,CAAoCsjB,QAApC,KAAiD,IAAxD;AACH;;;WACD,wBAAe47G,YAAf,EAA6BC,YAA7B,EAA2C;AACvCD,kBAAY,CAACE,eAAb;AACAD,kBAAY,CAACC,eAAb;AACA,WAAKvB,QAAL,CAAc59H,GAAd,CAAkBi/H,YAAlB,EAAgCC,YAAhC;AACH;;;WACD,qCAA4Bjb,QAA5B,EAAsCx1G,UAAtC,EAAkD;AAC9C,WAAKsvH,0BAAL,CAAgC/9H,GAAhC,CAAoCikH,QAApC,EAA8Cx1G,UAA9C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,wBAAew1G,QAAf,EAAyB;AACrB,WAAKyZ,aAAL,CAAmBzzE,MAAnB,CAA0Bg6D,QAA1B;AACA,UAAMmb,OAAO,GAAG,KAAKtB,cAAL,CAAoB/9H,GAApB,CAAwBkkH,QAAxB,CAAhB;;AACA,UAAI,CAACmb,OAAL,EAAc;AACV,eAAO,EAAP;AACH;;AACD,WAAKtB,cAAL,CAAoB7zE,MAApB,CAA2Bg6D,QAA3B;;AANqB,kLAOAmb,OAPA;AAAA;;AAAA;AAOrB,kEAA8B;AAAA,cAAnBlhF,MAAmB;AAC1B,eAAKy/E,eAAL,CAAqB1zE,MAArB,CAA4B/L,MAA5B;AACA,eAAK0/E,QAAL,CAAc3zE,MAAd,CAAqB/L,MAArB;AACA,eAAK2/E,mBAAL,CAAyB5zE,MAAzB,CAAgC/L,MAAhC;AACH;AAXoB;AAAA;AAAA;AAAA;AAAA;;AAYrB,aAAOkhF,OAAP;AACH;AACD;;;;WACA,yBAAgBhmH,EAAhB,EAAoB;AAChB,UAAMimH,QAAQ,GAAG,KAAK5B,aAAtB;;AACA,WAAKA,aAAL,GAAqB,YAAM,CAAG,CAA9B;;AACA,UAAI;AACA,eAAOrkH,EAAE,EAAT;AACH,OAFD,SAGQ;AACJ,aAAKqkH,aAAL,GAAqB4B,QAArB;AACH;AACJ;;;WACD,+BAAsBrB,YAAtB,EAAoC;AAChC,UAAM16G,OAAO,GAAG06G,YAAY,CAAC16G,OAA7B;AACA,UAAMg8G,kBAAkB,GAAG,KAAKP,aAAL,CAAmB,KAAKP,eAAL,CAAqBR,YAAY,CAAC36G,QAAlC,EAA4C26G,YAAY,CAACriI,IAAzD,CAAnB,CAA3B;;AACA,UAAI,CAAC2jI,kBAAL,EAAyB;AACrB,eAAO,IAAP;AACH;;AACD,UAAIC,YAAY,GAAGT,sBAAsB,CAACQ,kBAAkB,CAAC1gF,QAApB,CAAzC;;AACA,UAAI2gF,YAAY,YAAYn8G,YAA5B,EAA0C;AACtC,eAAO,IAAIg6G,oBAAJ,CAAyBY,YAAzB,EAAuC,KAAKQ,eAAL,CAAqBe,YAAY,CAACl8G,QAAlC,EAA4Ck8G,YAAY,CAAC5jI,IAAzD,EAA+D2nB,OAA/D,CAAvC,CAAP;AACH,OAFD,MAGK,IAAIi8G,YAAY,IAAIA,YAAY,CAACC,UAAb,KAA4B,OAAhD,EAAyD;AAC1D,YAAID,YAAY,CAACE,OAAb,IAAwBn8G,OAAO,CAAC7nB,MAAR,KAAmB,CAA/C,EAAkD;AAC9C,iBAAO,IAAI2hI,oBAAJ,CAAyBY,YAAzB,EAAuCuB,YAAY,CAACE,OAAb,CAAqBn8G,OAAO,CAAC,CAAD,CAA5B,CAAvC,CAAP;AACH;AACJ,OAJI,MAKA;AACD,YAAIlmB,KAAK,GAAGmiI,YAAZ;;AACA,aAAK,IAAIziI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwmB,OAAO,CAAC7nB,MAAZ,IAAsB2B,KAAtC,EAA6CN,CAAC,EAA9C,EAAkD;AAC9CM,eAAK,GAAGA,KAAK,CAACkmB,OAAO,CAACxmB,CAAD,CAAR,CAAb;AACH;;AACD,eAAO,IAAIsgI,oBAAJ,CAAyBY,YAAzB,EAAuC5gI,KAAvC,CAAP;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,mCAA0B4gI,YAA1B,EAAwC;AACpC,UAAMnyB,OAAO,GAAG,KAAK2xB,eAAL,CAAqBnW,cAArB,CAAoC2W,YAApC,CAAhB;AACA,aAAOnyB,OAAO,GAAG,IAAIuxB,oBAAJ,CAAyBY,YAAzB,EAAuCnyB,OAAO,CAACjtD,QAA/C,CAAH,GAA8D,IAA5E;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,yBAAgBl7B,eAAhB,EAAiC/nB,IAAjC,EAAuC2nB,OAAvC,EAAgD;AAC5C,aAAO,KAAKi6G,iBAAL,CAAuBx9H,GAAvB,CAA2B2jB,eAA3B,EAA4C/nB,IAA5C,EAAkD2nB,OAAlD,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,uBAAcD,QAAd,EAAwB;AACpB,UAAMu7B,QAAQ,GAAG,KAAK8gF,iBAAL,CAAuBr8G,QAAvB,CAAjB;;AACA,UAAIu7B,QAAQ,CAAC,UAAD,CAAZ,EAA0B;AACtB,eAAO78C,MAAM,CAAC+T,IAAP,CAAY8oC,QAAQ,CAAC,UAAD,CAApB,EAAkCrlC,IAAlC,CAAuC,UAAComH,WAAD,EAAiB;AAC3D,cAAMxrH,KAAK,GAAGyqC,QAAQ,CAAC,UAAD,CAAR,CAAqB+gF,WAArB,CAAd;AACA,iBAAOxrH,KAAK,IAAIA,KAAK,CAACqrH,UAAN,KAAqB,OAA9B,IAAyCrrH,KAAK,CAACyrH,UAAtD;AACH,SAHM,CAAP;AAIH;;AACD,aAAO,KAAP;AACH;;;WACD,sBAAav8G,QAAb,EAAuB;AACnB,UAAMw8G,cAAc,GAAG,KAAKrC,eAAL,CAAqBsC,YAArB,CAAkCz8G,QAAlC,CAAvB;;AACA,UAAIw8G,cAAJ,EAAoB;AAChB,eAAOA,cAAP;AACH,OAJkB,CAKnB;AACA;;;AACA,WAAKxB,gBAAL,CAAsBh7G,QAAtB;;AACA,aAAO,KAAKy6G,cAAL,CAAoB/9H,GAApB,CAAwBsjB,QAAxB,KAAqC,EAA5C;AACH;;;WACD,0BAAiBA,QAAjB,EAA2B;AAAA;;AACvB,UAAI,KAAKy6G,cAAL,CAAoB70G,GAApB,CAAwB5F,QAAxB,CAAJ,EAAuC;AACnC;AACH;;AACD,UAAMs6G,eAAe,GAAG,EAAxB;AACA,UAAM/+E,QAAQ,GAAG,KAAK8gF,iBAAL,CAAuBr8G,QAAvB,CAAjB;;AACA,UAAIu7B,QAAQ,CAAC,UAAD,CAAZ,EAA0B;AACtB;AACA;AACA,aAAKm/E,0BAAL,CAAgC/9H,GAAhC,CAAoCqjB,QAApC,EAA8Cu7B,QAAQ,CAAC,UAAD,CAAtD;AACH,OAVsB,CAWvB;;;AACA,UAAIA,QAAQ,CAAC,SAAD,CAAZ,EAAyB;AAAA,oLACMA,QAAQ,CAAC,SAAD,CADd;AAAA;;AAAA;AAAA;AAAA,gBACVmhF,YADU;;AAEjB;AACA,gBAAIA,YAAY,CAACC,MAAjB,EAAyB;AACrBD,0BAAY,CAACC,MAAb,CAAoBtkI,OAApB,CAA4B,UAACukI,YAAD,EAAkB;AAC1C,oBAAI3b,UAAJ;;AACA,oBAAI,OAAO2b,YAAP,KAAwB,QAA5B,EAAsC;AAClC3b,4BAAU,GAAG2b,YAAb;AACH,iBAFD,MAGK;AACD3b,4BAAU,GAAG2b,YAAY,CAAC3O,EAA1B;AACH;;AACDhN,0BAAU,GAAG4b,kBAAkB,CAAC5b,UAAD,CAA/B;AACA,oBAAI6b,OAAO,GAAG7b,UAAd;;AACA,oBAAI,OAAO2b,YAAP,KAAwB,QAA5B,EAAsC;AAClCE,yBAAO,GAAGD,kBAAkB,CAACD,YAAY,CAACtkI,IAAd,CAA5B;AACH;;AACD,oBAAMykI,cAAc,GAAG,QAAI,CAACC,aAAL,CAAmBN,YAAY,CAACrxF,IAAhC,EAAsCrrB,QAAtC,CAAvB;;AACA,oBAAI+8G,cAAJ,EAAoB;AAChB,sBAAMlB,YAAY,GAAG,QAAI,CAACV,eAAL,CAAqB4B,cAArB,EAAqCD,OAArC,CAArB;;AACA,sBAAMlB,YAAY,GAAG,QAAI,CAACT,eAAL,CAAqBn7G,QAArB,EAA+BihG,UAA/B,CAArB;;AACAqZ,iCAAe,CAACzgI,IAAhB,CAAqB,QAAI,CAACojI,YAAL,CAAkBrB,YAAlB,EAAgCC,YAAhC,CAArB;AACH;AACJ,eAnBD;AAoBH,aArBD,MAsBK;AACD;AACA,kBAAMkB,cAAc,GAAG,QAAI,CAACC,aAAL,CAAmBN,YAAY,CAACrxF,IAAhC,EAAsCrrB,QAAtC,CAAvB;;AACA,kBAAI+8G,cAAc,IAAIA,cAAc,KAAK/8G,QAAzC,EAAmD;AAC/C,oBAAMk9G,aAAa,GAAG,QAAI,CAACT,YAAL,CAAkBM,cAAlB,CAAtB;;AACAG,6BAAa,CAAC7kI,OAAd,CAAsB,UAACwjI,YAAD,EAAkB;AACpC,sBAAMD,YAAY,GAAG,QAAI,CAACT,eAAL,CAAqBn7G,QAArB,EAA+B67G,YAAY,CAACvjI,IAA5C,CAArB;;AACAgiI,iCAAe,CAACzgI,IAAhB,CAAqB,QAAI,CAACojI,YAAL,CAAkBrB,YAAlB,EAAgCC,YAAhC,CAArB;AACH,iBAHD;AAIH;AACJ;AAnCgB;;AACrB,oEAAgD;AAAA;AAmC/C;AApCoB;AAAA;AAAA;AAAA;AAAA;AAqCxB,OAjDsB,CAkDvB;AACA;AACA;;;AACA,UAAItgF,QAAQ,CAAC,UAAD,CAAZ,EAA0B;AACtB;AACA,YAAM4hF,mBAAmB,GAAG,IAAIvrH,GAAJ,CAAQlT,MAAM,CAAC+T,IAAP,CAAY8oC,QAAQ,CAAC,UAAD,CAApB,EAAkCz+C,GAAlC,CAAsC+/H,kBAAtC,CAAR,CAA5B;AACA,YAAMO,OAAO,GAAG7hF,QAAQ,CAAC,SAAD,CAAR,IAAuB,EAAvC;AACA78C,cAAM,CAAC+T,IAAP,CAAY8oC,QAAQ,CAAC,UAAD,CAApB,EAAkCljD,OAAlC,CAA0C,UAACikI,WAAD,EAAiB;AACvD,cAAMe,UAAU,GAAG9hF,QAAQ,CAAC,UAAD,CAAR,CAAqB+gF,WAArB,CAAnB;AACA,cAAMhkI,IAAI,GAAGukI,kBAAkB,CAACP,WAAD,CAA/B;;AACA,cAAMzhF,MAAM,GAAG,QAAI,CAACsgF,eAAL,CAAqBn7G,QAArB,EAA+B1nB,IAA/B,CAAf;;AACA,cAAMglI,MAAM,GAAGF,OAAO,CAAC1lH,cAAR,CAAuB4kH,WAAvB,KAAuCc,OAAO,CAACd,WAAD,CAA7D;;AACA,cAAIgB,MAAJ,EAAY;AACR;AACA;AACA;AACA,gBAAMC,cAAc,GAAG,QAAI,CAACP,aAAL,CAAmBM,MAAnB,EAA2Bt9G,QAA3B,CAAvB;;AACA,gBAAI,CAACu9G,cAAL,EAAqB;AACjB,sBAAI,CAAC7xC,WAAL,CAAiB,IAAI70F,KAAJ,gDAAkDymI,MAAlD,mBAAiE,QAAI,CAACz5G,IAAL,CAAU25G,aAAV,CAAwBx9G,QAAxB,CAAjE,EAAjB;AACH,aAFD,MAGK;AACD,sBAAI,CAACw6G,mBAAL,CAAyB79H,GAAzB,CAA6Bk+C,MAA7B,EAAqC0iF,cAArC;AACH;AACJ;;AACDjD,yBAAe,CAACzgI,IAAhB,CAAqB,QAAI,CAAC4jI,oBAAL,CAA0B5iF,MAA1B,EAAkC76B,QAAlC,EAA4Cm9G,mBAA5C,EAAiEE,UAAjE,CAArB;AACH,SAlBD;AAmBH;;AACD,UAAMK,aAAa,GAAG,IAAI9rH,GAAJ,EAAtB;;AACA,2CAA6B0oH,eAA7B,wCAA8C;AAAzC,YAAMkB,cAAc,wBAApB;AACD,aAAKlB,eAAL,CAAqB39H,GAArB,CAAyB6+H,cAAc,CAAC3gF,MAAxC,EAAgD2gF,cAAhD;AACAkC,qBAAa,CAAC7rH,GAAd,CAAkB2pH,cAAc,CAAC3gF,MAAjC;AACH;;AACD,WAAK4/E,cAAL,CAAoB99H,GAApB,CAAwBqjB,QAAxB,EAAkCjL,KAAK,CAACs2B,IAAN,CAAWqyF,aAAX,CAAlC;AACH;;;WACD,8BAAqB9B,YAArB,EAAmC+B,YAAnC,EAAiDR,mBAAjD,EAAsE5hF,QAAtE,EAAgF;AAAA;;AAC5E;AACA;AACA;AACA;AACA;AACA,UAAMqiF,QAAQ,GAAG9D,EAAE,CAACt2F,IAAH,CAAQo4F,YAAY,CAAC57G,QAArB,CAAjB;;AACA,UAAI,KAAKm6G,eAAL,CAAqB0D,aAArB,CAAmCjC,YAAY,CAAC57G,QAAhD,KAA6D,CAAC49G,QAA9D,IAA0EriF,QAA1E,IACAA,QAAQ,CAAC,YAAD,CAAR,KAA2B,OAD/B,EACwC;AACpC,YAAMuiF,gBAAe,GAAG;AAAE3B,oBAAU,EAAE,OAAd;AAAuBR,eAAK,EAAEpgF,QAAQ,CAACogF;AAAvC,SAAxB;AACA,eAAO,IAAI5B,oBAAJ,CAAyB6B,YAAzB,EAAuCkC,gBAAvC,CAAP;AACH;;AACD,UAAIC,iBAAJ;;AACA,UAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC1B,YAAI,CAACD,iBAAL,EAAwB;AACpB;AACA;AACA;AACA;AACAA,2BAAiB,GACb,QAAI,CAACl6G,IAAL,CAAU25G,aAAV,CAAwBG,YAAY,CAAC/yH,OAAb,CAAqB,sBAArB,EAA6C,KAA7C,EACnBA,OADmB,CACX,sBADW,EACa,EADb,CAAxB,CADJ;AAGH;;AACD,eAAOmzH,iBAAP;AACH,OAXD;;AAYA,UAAM1lH,IAAI,GAAG,IAAb;;AAzB4E,UA0BtE4lH,oBA1BsE;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,iBA2BxE,wBAAenhI,GAAf,EAAoBohI,cAApB,EAAoC;AAChC,gBAAMC,QAAQ,GAAGrhI,GAAG,CAAC,YAAD,CAApB;;AACA,gBAAIqhI,QAAQ,KAAK,UAAjB,EAA6B;AACzB,kBAAMC,MAAM,GAAGF,cAAc,CAAC9lI,MAA9B;AACA8lI,4BAAc,CAACrkI,IAAf,OAAAqkI,cAAc,qJAAUphI,GAAG,CAAC,YAAD,CAAH,IAAqB,EAA/B,EAAd;;AACA,kBAAMlD,MAAM,GAAG,uVAAqBkD,GAAxB,EAA6BohI,cAA7B,CAAZ;;AACAA,4BAAc,CAAC9lI,MAAf,GAAwBgmI,MAAxB;AACA,qBAAOxkI,MAAP;AACH,aAND,MAOK,IAAIukI,QAAQ,KAAK,WAAjB,EAA8B;AAC/B,kBAAMp5G,MAAM,GAAGjoB,GAAG,CAAC,QAAD,CAAlB;AACA,kBAAMxE,IAAI,GAAGwE,GAAG,CAAC,MAAD,CAAH,GAAc+/H,kBAAkB,CAAC//H,GAAG,CAAC,MAAD,CAAJ,CAAhC,GAAgDA,GAAG,CAAC,MAAD,CAAhE;;AACA,kBAAI,CAACxE,IAAL,EAAW;AACP,uBAAO,IAAP;AACH;;AACD,kBAAI0nB,QAAJ;;AACA,kBAAI+E,MAAJ,EAAY;AACR/E,wBAAQ,GAAG3H,IAAI,CAAC2kH,aAAL,CAAmBj4G,MAAnB,EAA2B62G,YAAY,CAAC57G,QAAxC,CAAX;;AACA,oBAAI,CAACA,QAAL,EAAe;AACX,yBAAO;AACHm8G,8BAAU,EAAE,OADT;AAEHjjG,2BAAO,8BAAuBnU,MAAvB,0BAA6C1M,IAAI,CAACwL,IAAL,CAAUw6G,cAAV,CAAyBzC,YAAY,CAAC57G,QAAtC,CAA7C,MAFJ;AAGHiW,wBAAI,EAAEn5B,GAAG,CAAC,MAAD,CAHN;AAIH6X,6BAAS,EAAE7X,GAAG,CAAC,WAAD,CAJX;AAKH8jH,4BAAQ,EAAEod,eAAe;AALtB,mBAAP;AAOH;;AACD,uBAAO;AACH7B,4BAAU,EAAE,UADT;AAEHthF,wBAAM,EAAExiC,IAAI,CAAC8iH,eAAL,CAAqBn7G,QAArB,EAA+B1nB,IAA/B,CAFL;AAGH29B,sBAAI,EAAEn5B,GAAG,CAAC,MAAD,CAHN;AAIH6X,2BAAS,EAAE7X,GAAG,CAAC,WAAD,CAJX;AAKH8jH,0BAAQ,EAAEod,eAAe;AALtB,iBAAP;AAOH,eAlBD,MAmBK,IAAIE,cAAc,CAACtnI,OAAf,CAAuB0B,IAAvB,KAAgC,CAApC,EAAuC;AACxC;AACA,uBAAO;AAAE6jI,4BAAU,EAAE,WAAd;AAA2B7jI,sBAAI,EAAEA;AAAjC,iBAAP;AACH,eAHI,MAIA;AACD,oBAAI6kI,mBAAmB,CAACv3G,GAApB,CAAwBttB,IAAxB,CAAJ,EAAmC;AAC/B,yBAAO+f,IAAI,CAAC8iH,eAAL,CAAqBwC,YAArB,EAAmCrlI,IAAnC,CAAP;AACH,iBAHA,CAID;;;AACA;AACH;AACJ,aArCI,MAsCA,IAAI6lI,QAAQ,KAAK,OAAjB,EAA0B;AAC3B,qBAAOz/H,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB7B,GAAlB,CAAd,EAAsC;AAAE8jH,wBAAQ,EAAEod,eAAe;AAA3B,eAAtC,CAAP;AACH,aAFI,MAGA;AACD,4WAA4BlhI,GAA5B,EAAiCohI,cAAjC;AACH;AACJ;AAhFuE;;AAAA;AAAA,QA0BzCzoH,gBA1ByC;;AAkF5E,UAAMqoH,eAAe,GAAGhpH,UAAU,CAACymC,QAAD,EAAW,IAAI0iF,oBAAJ,EAAX,EAAuC,EAAvC,CAAlC;AACA,UAAIK,wBAAwB,GAAG7C,sBAAsB,CAACqC,eAAD,CAArD;;AACA,UAAIQ,wBAAwB,YAAYv+G,YAAxC,EAAsD;AAClD,eAAO,KAAKk9G,YAAL,CAAkBrB,YAAlB,EAAgC0C,wBAAhC,CAAP;AACH;;AACD,aAAO,IAAIvE,oBAAJ,CAAyB6B,YAAzB,EAAuCkC,eAAvC,CAAP;AACH;;;WACD,sBAAalC,YAAb,EAA2BC,YAA3B,EAAyC;AACrCD,kBAAY,CAACE,eAAb;AACAD,kBAAY,CAACC,eAAb;;AACA,UAAI,KAAK3B,eAAL,CAAqB0D,aAArB,CAAmCjC,YAAY,CAAC57G,QAAhD,KACA,KAAKm6G,eAAL,CAAqB0D,aAArB,CAAmChC,YAAY,CAAC77G,QAAhD,CADJ,EAC+D;AAC3D;AACA;AACA;AACA;AACA,aAAKu6G,QAAL,CAAc59H,GAAd,CAAkBk/H,YAAlB,EAAgC,KAAKR,WAAL,CAAiBO,YAAjB,KAAkCA,YAAlE;AACH;;AACD,aAAO,IAAI7B,oBAAJ,CAAyB6B,YAAzB,EAAuCC,YAAvC,CAAP;AACH;;;WACD,qBAAYvrH,KAAZ,EAAmB3N,OAAnB,EAA4B+sD,IAA5B,EAAkC;AAC9B,UAAI,KAAK0qE,aAAT,EAAwB;AACpB,aAAKA,aAAL,CAAmB9pH,KAAnB,EAA2B3N,OAAO,IAAIA,OAAO,CAACqd,QAApB,IAAiC0vC,IAA3D;AACH,OAFD,MAGK;AACD,cAAMp/C,KAAN;AACH;AACJ;AACD;AACJ;AACA;;;;WACI,2BAAkByU,MAAlB,EAA0B;AACtB,UAAIw5G,cAAc,GAAG,KAAKlE,aAAL,CAAmB39H,GAAnB,CAAuBqoB,MAAvB,CAArB;;AACA,UAAI,CAACw5G,cAAL,EAAqB;AACjB,YAAMC,eAAe,GAAG,KAAK36G,IAAL,CAAUw6G,cAAV,CAAyBt5G,MAAzB,CAAxB;;AACA,YAAIy5G,eAAJ,EAAqB;AACjB,cAAIC,UAAU,GAAG,CAAC,CAAlB;AACAD,yBAAe,CAACnmI,OAAhB,CAAwB,UAACqmI,EAAD,EAAQ;AAC5B,gBAAIA,EAAE,IAAIA,EAAE,CAAC,SAAD,CAAF,GAAgBD,UAA1B,EAAsC;AAClCA,wBAAU,GAAGC,EAAE,CAAC,SAAD,CAAf;AACAH,4BAAc,GAAGG,EAAjB;AACH;AACJ,WALD;AAMH;;AACD,YAAI,CAACH,cAAL,EAAqB;AACjBA,wBAAc,GACV;AAAEpC,sBAAU,EAAE,QAAd;AAAwBl8F,mBAAO,EAAE+5F,wBAAjC;AAA2Dj1G,kBAAM,EAAEA,MAAnE;AAA2Ew2B,oBAAQ,EAAE;AAArF,WADJ;AAEH;;AACD,YAAIgjF,cAAc,CAAC,SAAD,CAAd,IAA6BvE,wBAAjC,EAA2D;AACvD,cAAM2E,YAAY,GAAGJ,cAAc,CAAC,SAAD,CAAd,IAA6B,CAA7B,0CACeA,cAAc,CAAC,SAAD,CAD7B,yBACuDx5G,MADvD,mHAEuB,KAAKlB,IAAL,CAAU25G,aAAV,CAAwBz4G,MAAxB,CAFvB,6BAEyEw5G,cAAc,CAAC,SAAD,CAFvF,wBAEgHvE,wBAFhH,CAArB;AAGA,eAAKtuC,WAAL,CAAiB,IAAI70F,KAAJ,CAAU8nI,YAAV,CAAjB;AACH;;AACD,aAAKtE,aAAL,CAAmB19H,GAAnB,CAAuBooB,MAAvB,EAA+Bw5G,cAA/B;AACH;;AACD,aAAOA,cAAP;AACH;;;WACD,2BAAkBx5G,MAAlB,EAA0Bk8F,UAA1B,EAAsC2d,cAAtC,EAAsD;AAClD,UAAM5+G,QAAQ,GAAG,KAAKg9G,aAAL,CAAmBj4G,MAAnB,EAA2B65G,cAA3B,CAAjB;;AACA,UAAI,CAAC5+G,QAAL,EAAe;AACX,aAAK0rE,WAAL,CAAiB,IAAI70F,KAAJ,oCAAsCkuB,MAAtC,SAA+C65G,cAAc,GAAG,kBAAkB,KAAK/6G,IAAL,CAAU25G,aAAV,CAAwBoB,cAAxB,CAArB,GAA+D,EAA5H,EAAjB;AACA,eAAO,KAAKzD,eAAL,iBAA8Bp2G,MAA9B,GAAwCk8F,UAAxC,CAAP;AACH;;AACD,aAAO,KAAKka,eAAL,CAAqBn7G,QAArB,EAA+BihG,UAA/B,CAAP;AACH;;;WACD,uBAAcl8F,MAAd,EAAsB65G,cAAtB,EAAsC;AAClC,UAAI;AACA,eAAO,KAAK/6G,IAAL,CAAUg7G,oBAAV,CAA+B95G,MAA/B,EAAuC65G,cAAvC,CAAP;AACH,OAFD,CAGA,OAAOx3H,CAAP,EAAU;AACN6tG,eAAO,CAAC3kG,KAAR,qCAA2CyU,MAA3C,gCAAuE65G,cAAvE;AACA,aAAKlzC,WAAL,CAAiBtkF,CAAjB,EAAoB/I,SAApB,EAA+BugI,cAA/B;AACH;;AACD,aAAO,IAAP;AACH;;;;KAEL;AACA;;;AACA,SAAS/B,kBAAT,CAA4Bl9G,UAA5B,EAAwC;AACpC,SAAOA,UAAU,CAACgiB,UAAX,CAAsB,KAAtB,IAA+BhiB,UAAU,CAAC5kB,MAAX,CAAkB,CAAlB,CAA/B,GAAsD4kB,UAA7D;AACH;;AACD,SAAS87G,sBAAT,CAAgClgF,QAAhC,EAA0C;AACtC,MAAIA,QAAQ,IAAIA,QAAQ,CAAC4gF,UAAT,KAAwB,UAAxC,EAAoD;AAChD,WAAO5gF,QAAQ,CAACV,MAAhB;AACH;;AACD,SAAOU,QAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASujF,kBAAT,CAA4BC,WAA5B,EAAyCC,SAAzC,EAAoD7E,eAApD,EAAqE8E,cAArE,EAAqFlD,OAArF,EAA8F5gF,KAA9F,EAA4I;AAAA,MAAvC+jF,6BAAuC,uEAAP,KAAO;AACxI,MAAMC,gBAAgB,GAAG,IAAIC,gBAAJ,CAAqBH,cAArB,EAAqC9E,eAArC,EAAsD4E,WAAtD,CAAzB,CADwI,CAExI;AACA;AACA;;AACAhD,SAAO,CAAC1jI,OAAR,CAAgB,UAACmjI,cAAD;AAAA,WAAoB2D,gBAAgB,CAACE,UAAjB,CAA4B;AAAExkF,YAAM,EAAE2gF,cAAc,CAAC3gF,MAAzB;AAAiCU,cAAQ,EAAEigF,cAAc,CAACjgF;AAA1D,KAA5B,CAApB;AAAA,GAAhB,EALwI,CAMxI;;AACAJ,OAAK,CAAC9iD,OAAN,CAAc,kBAA2B;AAAA,QAAxBmwG,OAAwB,UAAxBA,OAAwB;AAAA,QAAfjtD,QAAe,UAAfA,QAAe;AACrC4jF,oBAAgB,CAACE,UAAjB,CAA4B;AAAExkF,YAAM,EAAE2tD,OAAO,CAAC1jG,IAAR,CAAa4a,SAAvB;AAAkC67B,cAAQ,EAAEl9C,SAA5C;AAAuDyG,UAAI,EAAE0jG;AAA7D,KAA5B;AACH,GAFD;;AAGA,8BAA2B22B,gBAAgB,CAAC/gG,SAAjB,CAA2B8gG,6BAA3B,CAA3B;AAAA,MAAQI,IAAR,yBAAQA,IAAR;AAAA,MAAc38G,QAAd,yBAAcA,QAAd;;AACA,MAAIq8G,SAAJ,EAAe;AACX,QAAMO,gBAAgB,GAAG,IAAIC,gBAAJ,CAAqBR,SAArB,EAAgCC,cAAhC,EAAgD9E,eAAhD,CAAzB;AACAh/E,SAAK,CAAC9iD,OAAN,CAAc,kBAA2B;AAAA,UAAxBmwG,OAAwB,UAAxBA,OAAwB;AAAA,UAAfjtD,QAAe,UAAfA,QAAe;AACrCgkF,sBAAgB,CAACE,aAAjB,CAA+Bj3B,OAA/B,EAAwCjtD,QAAxC;AACH,KAFD;AAGA4jF,oBAAgB,CAACO,kCAAjB,CAAoDrnI,OAApD,CAA4D,UAACmwG,OAAD,EAAa;AACrE,UAAI2xB,eAAe,CAAC0D,aAAhB,CAA8Br1B,OAAO,CAAC3tD,MAAR,CAAe76B,QAA7C,KAA0DwoF,OAAO,CAAC1jG,IAAtE,EAA4E;AACxEy6H,wBAAgB,CAACI,UAAjB,CAA4Bn3B,OAAO,CAAC1jG,IAApC;AACH;AACJ,KAJD;AAKAy6H,oBAAgB,CAACnhG,SAAjB,CAA2Bzb,QAA3B;AACH;;AACD,SAAO;AAAE28G,QAAI,EAAJA,IAAF;AAAQ38G,YAAQ,EAARA;AAAR,GAAP;AACH;;AACD,SAASi9G,oBAAT,CAA8BC,WAA9B,EAA2C1F,eAA3C,EAA4D2F,eAA5D,EAA6ER,IAA7E,EAAmF;AAC/E,MAAMS,YAAY,GAAG,IAAIC,oBAAJ,CAAyBH,WAAzB,EAAsC1F,eAAtC,CAArB;AACA,SAAO4F,YAAY,CAACE,WAAb,CAAyBH,eAAzB,EAA0CR,IAA1C,CAAP;AACH;;AACD,SAASY,gBAAT,CAA0Bn3F,SAA1B,EAAqCrpB,SAArC,EAAgD;AAC5C,SAAOygH,2BAA2B,CAACp3F,SAAD,EAAYrpB,SAAZ,EAAuB1R,SAAvB,CAAlC;AACH;;AACD,SAASmyH,2BAAT,CAAqCp3F,SAArC,EAAgDrpB,SAAhD,EAA2D3lB,KAA3D,EAAkE;AAC9D,MAAM48F,MAAM,GAAGqqB,iBAAiB,CAACthG,SAAS,CAACpnB,IAAX,CAAhC;AACAywC,WAAS,CAAC78B,UAAV,CAAqBrS,IAArB,CAA0B8O,EAAE,CAAC,EAAD,EAAK,CAAC,IAAImG,eAAJ,CAAoB/U,KAApB,CAAD,CAAL,EAAmC,IAAIiJ,SAAJ,CAAcM,YAAd,CAAnC,CAAF,CAAkE0E,UAAlE,CAA6E2uF,MAA7E,EAAqF,CAC3G1uF,YAAY,CAACC,KAD8F,EACvFD,YAAY,CAAC4+B,QAD0E,CAArF,CAA1B;AAGH;;IACKu4F,gB;;;;;AACF,4BAAYH,cAAZ,EAA4B9E,eAA5B,EAA6C4E,WAA7C,EAA0D;AAAA;;AAAA;;AACtD;AACA,aAAKE,cAAL,GAAsBA,cAAtB;AACA,aAAK9E,eAAL,GAAuBA,eAAvB;AACA,aAAK4E,WAAL,GAAmBA,WAAnB,CAJsD,CAKtD;;AACA,aAAKhD,OAAL,GAAe,EAAf;AACA,aAAKqE,aAAL,GAAqB,IAAI/kI,GAAJ,EAArB;AACA,aAAKglI,YAAL,GAAoB,IAAIhlI,GAAJ,EAApB,CARsD,CAStD;AACA;;AACA,aAAKilI,wBAAL,GAAgC,IAAIjlI,GAAJ,EAAhC;AACA,aAAKklI,kBAAL,GAA0B,EAA1B;AACA,aAAKb,kCAAL,GAA0C,IAAIrkI,GAAJ,EAA1C;AACA,aAAK+P,UAAL,GAAkB6zH,cAAc,CAACuB,kBAAf,CAAkCzB,WAAlC,CAAlB;AAdsD;AAezD;;;;WACD,oBAAWv2B,OAAX,EAAoB;AAAA;;AAChB,UAAIi4B,kBAAkB,GAAG,KAAKf,kCAAL,CAAwChjI,GAAxC,CAA4C8rG,OAAO,CAAC3tD,MAApD,CAAzB;AACA,UAAI6lF,gBAAgB,GAAG,KAAKJ,wBAAL,CAA8B5jI,GAA9B,CAAkC8rG,OAAO,CAAC3tD,MAA1C,CAAvB;;AACA,UAAI,CAAC4lF,kBAAL,EAAyB;AACrBA,0BAAkB,GAAG;AAAE5lF,gBAAM,EAAE2tD,OAAO,CAAC3tD,MAAlB;AAA0BU,kBAAQ,EAAEl9C;AAApC,SAArB;AACA,aAAKqhI,kCAAL,CAAwC/iI,GAAxC,CAA4C6rG,OAAO,CAAC3tD,MAApD,EAA4D4lF,kBAA5D;AACAC,wBAAgB,GAAG;AAAE7lF,gBAAM,EAAE,KAAK8lF,YAAL,CAAkBn4B,OAAO,CAAC3tD,MAA1B,EAAkC;AAAE;AAApC;AAAV,SAAnB;AACA,aAAK0lF,kBAAL,CAAwB1mI,IAAxB,CAA6B6mI,gBAA7B;AACA,aAAKJ,wBAAL,CAA8B3jI,GAA9B,CAAkC6rG,OAAO,CAAC3tD,MAA1C,EAAkD6lF,gBAAlD;AACH;;AACD,UAAI,CAACD,kBAAkB,CAACllF,QAApB,IAAgCitD,OAAO,CAACjtD,QAA5C,EAAsD;AAClD,YAAIA,QAAQ,GAAGitD,OAAO,CAACjtD,QAAR,IAAoB,EAAnC;;AACA,YAAIA,QAAQ,CAAC4gF,UAAT,KAAwB,OAA5B,EAAqC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAM9pH,KAAK,GAAG,EAAd;AACA3T,gBAAM,CAAC+T,IAAP,CAAY8oC,QAAZ,EAAsBljD,OAAtB,CAA8B,UAAC0xE,QAAD,EAAc;AACxC,gBAAIA,QAAQ,KAAK,YAAjB,EAA+B;AAC3B13D,mBAAK,CAAC03D,QAAD,CAAL,GAAkBxuB,QAAQ,CAACwuB,QAAD,CAA1B;AACH;AACJ,WAJD;AAKAxuB,kBAAQ,GAAGlpC,KAAX;AACH,SAhBD,MAiBK,IAAIuuH,MAAM,CAACrlF,QAAD,CAAV,EAAsB;AACvB,cAAI,CAACslF,cAAc,CAACtlF,QAAD,CAAf,IAA6B,CAACulF,sBAAsB,CAACvlF,QAAD,CAAxD,EAAoE;AAChE;AACAA,oBAAQ,GAAG;AACP4gF,wBAAU,EAAE,OADL;AAEPjjG,qBAAO,EAAE;AAFF,aAAX;AAIH;AACJ,SA3BiD,CA4BlD;AACA;;;AACAunG,0BAAkB,CAACllF,QAAnB,GAA8BA,QAA9B;AACAmlF,wBAAgB,CAACnlF,QAAjB,GAA4B,KAAKolF,YAAL,CAAkBplF,QAAlB,EAA4B;AAAE;AAA9B,SAA5B;;AACA,YAAIA,QAAQ,YAAYx7B,YAApB,IACA,KAAKo6G,eAAL,CAAqB0D,aAArB,CAAmCtiF,QAAQ,CAACv7B,QAA5C,CADJ,EAC2D;AACvD,cAAM+gH,iBAAiB,GAAG,KAAKhF,OAAL,CAAa,KAAKqE,aAAL,CAAmB1jI,GAAnB,CAAuB6+C,QAAvB,CAAb,CAA1B;;AACA,cAAI,CAAC6lE,eAAe,CAAC2f,iBAAiB,CAACzoI,IAAnB,CAApB,EAA8C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,iBAAK+nI,YAAL,CAAkB1jI,GAAlB,CAAsBokI,iBAAtB,EAAyCv4B,OAAO,CAAC3tD,MAAjD;AACH;AACJ;AACJ;;AACD,UAAI,CAAC4lF,kBAAkB,CAAC37H,IAApB,IAA4B0jG,OAAO,CAAC1jG,IAAxC,EAA8C;AAC1C27H,0BAAkB,CAAC37H,IAAnB,GAA0B0jG,OAAO,CAAC1jG,IAAlC,CAD0C,CAE1C;AACA;AACA;;AACA47H,wBAAgB,CAAC57H,IAAjB,GAAwB,KAAK67H,YAAL,CAAkBn4B,OAAO,CAAC1jG,IAA1B,EAAgC;AAAE;AAAlC,SAAxB,CAL0C,CAM1C;AACA;;AACA,YAAI0jG,OAAO,CAAC1jG,IAAR,CAAa4e,WAAb,KAA6BtC,kBAAkB,CAAC4D,QAApD,EAA8D;AAC1D,cAAMg8G,eAAe,GAAGx4B,OAAO,CAAC1jG,IAAhC;AACAk8H,yBAAe,CAACz8G,kBAAhB,CAAmCzqB,MAAnC,CAA0CknI,eAAe,CAACv8G,aAA1D,EAAyEpsB,OAAzE,CAAiF,UAAC0a,EAAD,EAAQ;AACrF,gBAAM8nC,MAAM,GAAG9nC,EAAE,CAAC2M,SAAlB;;AACA,gBAAI,QAAI,CAACy6G,eAAL,CAAqB0D,aAArB,CAAmChjF,MAAM,CAAC76B,QAA1C,KACA,CAAC,QAAI,CAAC0/G,kCAAL,CAAwC95G,GAAxC,CAA4Ci1B,MAA5C,CADL,EAC0D;AACtD,kBAAM2tD,QAAO,GAAG,QAAI,CAAC2xB,eAAL,CAAqBnW,cAArB,CAAoCnpE,MAApC,CAAhB;;AACA,kBAAI2tD,QAAJ,EAAa;AACT,wBAAI,CAAC62B,UAAL,CAAgB72B,QAAhB;AACH;AACJ;AACJ,WATD;AAUH;AACJ;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,mBAAU02B,6BAAV,EAAyC;AAAA;;AACrC,UAAMv8G,QAAQ,GAAG,EAAjB;AACA,UAAM28G,IAAI,GAAGp/G,IAAI,CAAC9I,SAAL,CAAe;AACxBhM,kBAAU,EAAE,KAAKA,UADO;AAExB61H,iBAAS,EAAE,KAAKV,kBAFQ;AAGxBxE,eAAO,EAAE,KAAKA,OAAL,CAAaj/H,GAAb,CAAiB,UAAC+9C,MAAD,EAAS51C,KAAT,EAAmB;AACzC41C,gBAAM,CAACihF,eAAP;AACA,cAAIvB,QAAQ,GAAGl8H,SAAf;;AACA,cAAI,QAAI,CAAC87H,eAAL,CAAqB0D,aAArB,CAAmChjF,MAAM,CAAC76B,QAA1C,CAAJ,EAAyD;AACrD,gBAAMkhH,cAAc,GAAG,QAAI,CAACb,YAAL,CAAkB3jI,GAAlB,CAAsBm+C,MAAtB,CAAvB;;AACA,gBAAIqmF,cAAJ,EAAoB;AAChB;AACA;AACA;AACA;AACA3G,sBAAQ,GAAG,QAAI,CAAC6F,aAAL,CAAmB1jI,GAAnB,CAAuBwkI,cAAvB,CAAX;AACH,aAND,MAOK,IAAIhC,6BAAJ,EAAmC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,kBAAM12B,OAAO,GAAG,QAAI,CAACk3B,kCAAL,CAAwChjI,GAAxC,CAA4Cm+C,MAA5C,CAAhB;;AACA,kBAAI,CAAC2tD,OAAD,IAAY,CAACA,OAAO,CAACjtD,QAArB,IAAiCitD,OAAO,CAACjtD,QAAR,CAAiB4gF,UAAjB,KAAgC,WAArE,EAAkF;AAC9E5B,wBAAQ,aAAM1/E,MAAM,CAACviD,IAAb,cAAqB2M,KAArB,CAAR;AACA0d,wBAAQ,CAAC9oB,IAAT,CAAc;AAAEghD,wBAAM,EAANA,MAAF;AAAUl4B,0BAAQ,EAAE43G;AAApB,iBAAd;AACH;AACJ;AACJ;;AACD,iBAAO;AACH4G,oBAAQ,EAAEl8H,KADP;AAEH3M,gBAAI,EAAEuiD,MAAM,CAACviD,IAFV;AAGH0nB,oBAAQ,EAAE,QAAI,CAACm6G,eAAL,CAAqBiH,iBAArB,CAAuCvmF,MAAM,CAAC76B,QAA9C,EAAwD,QAAI,CAAC++G,WAA7D,CAHP;AAIHxE,oBAAQ,EAAEA;AAJP,WAAP;AAMH,SAhCQ;AAHe,OAAf,CAAb;AAqCA,aAAO;AAAE+E,YAAI,EAAJA,IAAF;AAAQ38G,gBAAQ,EAARA;AAAR,OAAP;AACH;;;WACD,sBAAa5oB,KAAb,EAAoBquC,KAApB,EAA2B;AACvB,aAAOtzB,UAAU,CAAC/a,KAAD,EAAQ,IAAR,EAAcquC,KAAd,CAAjB;AACH;;;WACD,oBAAWruC,KAAX,EAAkB4I,OAAlB,EAA2B;AACvB,UAAI5I,KAAK,YAAYgmB,YAArB,EAAmC;AAC/B,YAAIm7G,UAAU,GAAG,KAAK+D,cAAL,CAAoB9D,eAApB,CAAoCphI,KAAK,CAACimB,QAA1C,EAAoDjmB,KAAK,CAACzB,IAA1D,CAAjB;AACA,YAAM2M,KAAK,GAAG,KAAKo8H,iBAAL,CAAuBnG,UAAvB,EAAmCv4H,OAAnC,CAAd;AACA,eAAO;AAAEw+H,kBAAQ,EAAEl8H,KAAZ;AAAmBgb,iBAAO,EAAElmB,KAAK,CAACkmB;AAAlC,SAAP;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,wBAAenjB,GAAf,EAAoB6F,OAApB,EAA6B;AACzB,UAAI7F,GAAG,CAAC,YAAD,CAAH,KAAsB,UAA1B,EAAsC;AAClC,eAAOgY,UAAU,CAAChY,GAAG,CAAC,QAAD,CAAJ,EAAgB,IAAhB,EAAsB6F,OAAtB,CAAjB;AACH;;AACD,UAAI7F,GAAG,CAAC,YAAD,CAAH,KAAsB,OAA1B,EAAmC;AAC/B,eAAOA,GAAG,CAAC,MAAD,CAAV;AACA,eAAOA,GAAG,CAAC,WAAD,CAAV;AACH;;AACD,gWAA4BA,GAA5B,EAAiC6F,OAAjC;AACH;AACD;AACJ;AACA;AACA;;;;WACI,2BAAkBu4H,UAAlB,EAA8B9yF,KAA9B,EAAqC;AACjC,UAAInjC,KAAK,GAAG,KAAKm7H,aAAL,CAAmB1jI,GAAnB,CAAuBw+H,UAAvB,CAAZ;AACA,UAAI1yB,OAAO,GAAG,IAAd;;AACA,UAAIpgE,KAAK,GAAG;AAAE;AAAV,SACA,KAAK+xF,eAAL,CAAqB0D,aAArB,CAAmC3C,UAAU,CAACl7G,QAA9C,CADJ,EAC6D;AACzD,YAAI,KAAK0/G,kCAAL,CAAwC95G,GAAxC,CAA4Cs1G,UAA5C,CAAJ,EAA6D;AACzD;AACA;AACA,iBAAOj2H,KAAP;AACH;;AACDujG,eAAO,GAAG,KAAK84B,WAAL,CAAiBpG,UAAjB,CAAV;;AACA,YAAI1yB,OAAO,IAAIA,OAAO,CAACjtD,QAAR,YAA4Bx7B,YAA3C,EAAyD;AACrD;AACA9a,eAAK,GAAG,KAAKo8H,iBAAL,CAAuB74B,OAAO,CAACjtD,QAA/B,EAAyCnT,KAAzC,CAAR,CAFqD,CAGrD;;AACAogE,iBAAO,GAAG,IAAV;AACH;AACJ,OAdD,MAeK,IAAIvjG,KAAK,IAAI,IAAb,EAAmB;AACpB;AACA;AACA,eAAOA,KAAP;AACH,OAtBgC,CAuBjC;;;AACA,UAAIA,KAAK,IAAI,IAAb,EAAmB;AACfA,aAAK,GAAG,KAAK82H,OAAL,CAAa3jI,MAArB;AACA,aAAK2jI,OAAL,CAAaliI,IAAb,CAAkBqhI,UAAlB;AACH;;AACD,WAAKkF,aAAL,CAAmBzjI,GAAnB,CAAuBu+H,UAAvB,EAAmCj2H,KAAnC;;AACA,UAAIujG,OAAJ,EAAa;AACT,aAAK62B,UAAL,CAAgB72B,OAAhB;AACH;;AACD,aAAOvjG,KAAP;AACH;;;WACD,qBAAY41C,MAAZ,EAAoB;AAChB,UAAI2tD,OAAO,GAAG,KAAK2xB,eAAL,CAAqBnW,cAArB,CAAoCnpE,MAApC,CAAd;;AACA,UAAI,CAAC2tD,OAAL,EAAc;AACV;AACA;AACA;AACA,YAAMgzB,cAAc,GAAG,KAAKyD,cAAL,CAAoBvD,aAApB,CAAkC7gF,MAAlC,CAAvB;;AACA,YAAI2gF,cAAJ,EAAoB;AAChBhzB,iBAAO,GAAG;AAAE3tD,kBAAM,EAAE2gF,cAAc,CAAC3gF,MAAzB;AAAiCU,oBAAQ,EAAEigF,cAAc,CAACjgF;AAA1D,WAAV;AACH;AACJ;;AACD,aAAOitD,OAAP;AACH;;;;EA5N0B/yF,gB;;IA8NzB+pH,gB;AACF,4BAAYz2F,SAAZ,EAAuBk2F,cAAvB,EAAuC9E,eAAvC,EAAwD;AAAA;;AACpD,SAAKpxF,SAAL,GAAiBA,SAAjB;AACA,SAAKk2F,cAAL,GAAsBA,cAAtB;AACA,SAAK9E,eAAL,GAAuBA,eAAvB;AACA,SAAK17H,IAAL,GAAY,EAAZ;AACH;;;;WACD,uBAAc+pG,OAAd,EAAuBjtD,QAAvB,EAAiC;AAC7B,WAAK98C,IAAL,CAAU5E,IAAV,CAAe;AAAE2uG,eAAO,EAAPA,OAAF;AAAWjtD,gBAAQ,EAARA,QAAX;AAAqBgmF,iBAAS,EAAE;AAAhC,OAAf;AACH;;;WACD,oBAAW/4B,OAAX,EAAoB;AAChB,WAAK/pG,IAAL,CAAU5E,IAAV,CAAe;AAAE2uG,eAAO,EAAPA,OAAF;AAAWjtD,gBAAQ,EAAE,IAArB;AAA2BgmF,iBAAS,EAAE;AAAtC,OAAf;AACH;;;WACD,mBAAUC,WAAV,EAAuB;AAAA;;AACnB,UAAMC,gBAAgB,GAAG,IAAIpmI,GAAJ,EAAzB;;AADmB,kLAEgBmmI,WAFhB;AAAA;;AAAA;AAEnB,kEAAgD;AAAA;AAAA,cAAnC3mF,MAAmC,iBAAnCA,MAAmC;AAAA,cAA3Bl4B,QAA2B,iBAA3BA,QAA2B;AAC5C8+G,0BAAgB,CAAC9kI,GAAjB,CAAqBk+C,MAArB,EAA6Bl4B,QAA7B;AACH;AAJkB;AAAA;AAAA;AAAA;AAAA;;AAKnB,UAAM++G,eAAe,GAAG,IAAI9vH,GAAJ,EAAxB;;AALmB,kLAM4B,KAAKnT,IANjC;AAAA;;AAAA;AAMnB,kEAA0D;AAAA;AAAA,cAA7C+pG,OAA6C,iBAA7CA,OAA6C;AAAA,cAApCjtD,QAAoC,iBAApCA,QAAoC;AAAA,cAA1BgmF,SAA0B,iBAA1BA,SAA0B;;AACtD,cAAI/4B,OAAO,CAAC9kF,WAAR,KAAwBtC,kBAAkB,CAAC4D,QAA/C,EAAyD;AACrD;AACA;AACA;AACA;AACA08G,2BAAe,CAAC7vH,GAAhB,CAAoB22F,OAAO,CAAC1jG,IAAR,CAAa4a,SAAjC;AACA,gBAAM4oG,UAAU,GAAG9f,OAAnB;;AANqD,wLAOnC8f,UAAU,CAACrjG,OAPwB;AAAA;;AAAA;AAOrD,wEAAsC;AAAA,oBAA3B9uB,GAA2B;AAClCurI,+BAAe,CAAC7vH,GAAhB,CAAoB1b,GAAG,CAACupB,SAAxB;AACH;AAToD;AAAA;AAAA;AAAA;AAAA;AAUxD;;AACD,cAAI,CAAC6hH,SAAL,EAAgB;AACZ,gBAAM5qC,MAAM,GAAGqqB,iBAAiB,CAACxY,OAAO,CAAC1jG,IAAR,CAAa4a,SAAb,CAAuBpnB,IAAxB,CAAhC;AACA6nI,uCAA2B,CAAC,KAAKp3F,SAAN,EAAiBy/D,OAAO,CAAC1jG,IAAR,CAAa4a,SAA9B,EAAyC,KAAKiiH,wBAAL,CAA8Bn5B,OAA9B,EAAuCjtD,QAAvC,CAAzC,CAA3B;AACH;AACJ;AAtBkB;AAAA;AAAA;AAAA;AAAA;;AAuBnBmmF,qBAAe,CAACrpI,OAAhB,CAAwB,UAACupI,cAAD,EAAoB;AACxC,YAAI,QAAI,CAACzH,eAAL,CAAqB0D,aAArB,CAAmC+D,cAAc,CAAC5hH,QAAlD,CAAJ,EAAiE;AAC7D,cAAI2C,QAAQ,GAAG8+G,gBAAgB,CAAC/kI,GAAjB,CAAqBklI,cAArB,KAAwCA,cAAc,CAACtpI,IAAtE;AACA,cAAMupI,eAAe,GAAG7gB,iBAAiB,CAACr+F,QAAD,CAAzC;;AACA,kBAAI,CAAComB,SAAL,CAAe78B,UAAf,CAA0BrS,IAA1B,CAA+BgZ,QAAQ,CAACgvH,eAAD,CAAR,CAC1BllI,GAD0B,CACtB,QAAI,CAACmlI,mBAAL,CAAyBF,cAAzB,CADsB,EAE1B55H,UAF0B,CAEf,IAFe,EAET,CAACC,YAAY,CAAC4+B,QAAd,CAFS,CAA/B;AAGH;AACJ,OARD;AASH;;;WACD,kCAAyB2hE,OAAzB,EAAkCjtD,QAAlC,EAA4C;AAAA;;AACxC,UAAM9xC,WAAW,GAAG,CAAC,KAAKs4H,gBAAL,CAAsBv5B,OAAtB,CAAD,CAApB;AACA,UAAIvlF,SAAS,GAAG,EAAhB;;AACA,UAAIs4B,QAAQ,YAAYl3B,uBAAxB,EAAiD;AAC7C5a,mBAAW,CAAC5P,IAAZ,OAAA4P,WAAW,sJACX;AACA;AACA;AACA8xC,gBAAQ,CAACj3B,kBAAT,CAA4BxqB,MAA5B,CAAmCyhD,QAAQ,CAAC/2B,aAA5C,EACK1nB,GADL,CACS,UAAAgI,IAAI;AAAA,iBAAIA,IAAI,CAAC4a,SAAT;AAAA,SADb,EAEI;AACA;AACA;AACA;AALJ,SAMK5lB,MANL,CAMYyhD,QAAQ,CAACz2B,gBAAT,CAA0BG,OAA1B,CAAkCnoB,GAAlC,CAAsC,UAAAgI,IAAI;AAAA,iBAAIA,IAAI,CAAC4a,SAAT;AAAA,SAA1C,EACPjE,MADO,CACA,UAAAmF,GAAG;AAAA,iBAAIA,GAAG,KAAK26B,QAAQ,CAACz2C,IAAT,CAAc4a,SAA1B;AAAA,SADH,CANZ,EAQK5iB,GARL,CAQS,UAAC8jB,GAAD;AAAA,iBAAS,QAAI,CAACkhH,mBAAL,CAAyBlhH,GAAzB,CAAT;AAAA,SART,CAJW,EAAX,CAD6C,CAc7C;AACA;;AACAqC,iBAAS,GAAGs4B,QAAQ,CAACt4B,SAArB;AACH,OAjBD,MAkBK,IAAIulF,OAAO,CAAC9kF,WAAR,KAAwBtC,kBAAkB,CAACuC,SAA/C,EAA0D;AAC3D,YAAMiiG,UAAU,GAAGpd,OAAnB;AACAvlF,iBAAS,GAAG2iG,UAAU,CAAC3iG,SAAX,CAAqBnpB,MAArB,CAA4B8rH,UAAU,CAAC1iG,aAAvC,CAAZ;AACH,OAxBuC,CAyBxC;AACA;AACA;AACA;;;AACAzZ,iBAAW,CAAC5P,IAAZ,OAAA4P,WAAW,qJAASwZ,SAAS,CAACxH,MAAV,CAAiB,UAAAkK,QAAQ;AAAA,eAAI,CAAC,CAACA,QAAQ,CAACK,QAAf;AAAA,OAAzB,EAAkDlpB,GAAlD,CAAsD,UAAA6oB,QAAQ;AAAA,eAAI,QAAI,CAACo8G,gBAAL,CAAsB;AACxGr+G,qBAAW,EAAEtC,kBAAkB,CAACsoB,UADwE;AAExG5kC,cAAI,EAAE6gB,QAAQ,CAACK;AAFyF,SAAtB,CAAJ;AAAA,OAA9D,CAAT,EAAX;AAIA,aAAO5S,UAAU,CAAC3J,WAAD,CAAjB;AACH;;;WACD,6BAAoBu4H,UAApB,EAAgC;AAC5B,UAAMC,iBAAiB,GAAG,KAAKhD,cAAL,CAAoB9D,eAApB,CAAoCra,qBAAqB,CAACkhB,UAAU,CAAChiH,QAAZ,CAAzD,EAAgFghG,iBAAiB,CAACghB,UAAU,CAAC1pI,IAAZ,CAAjG,CAA1B;AACA,aAAO,KAAKywC,SAAL,CAAej2B,UAAf,CAA0BmvH,iBAA1B,CAAP;AACH;;;WACD,0BAAiBxjI,IAAjB,EAAuB;AACnB,UAAMsqC,SAAS,GAAG,KAAKA,SAAvB;;AADmB,UAEbm5F,WAFa;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,iBAGf,oBAAWxsH,GAAX,EAAgB/S,OAAhB,EAAyB;AAAA;;AACrB,mBAAOyQ,UAAU,CAACsC,GAAG,CAAC5Y,GAAJ,CAAQ,UAAAgU,KAAK;AAAA,qBAAIgE,UAAU,CAAChE,KAAD,EAAQ,QAAR,EAAcnO,OAAd,CAAd;AAAA,aAAb,CAAD,CAAjB;AACH;AALc;AAAA;AAAA,iBAMf,wBAAe7F,GAAf,EAAoB6F,OAApB,EAA6B;AAAA;;AACzB,mBAAO,IAAIwK,cAAJ,CAAmBzO,MAAM,CAAC+T,IAAP,CAAY3V,GAAZ,EAAiBA,GAAjB,CAAqB,UAACmQ,GAAD;AAAA,qBAAS,IAAID,eAAJ,CAAoBC,GAApB,EAAyB6H,UAAU,CAAChY,GAAG,CAACmQ,GAAD,CAAJ,EAAW,QAAX,EAAiBtK,OAAjB,CAAnC,EAA8D,KAA9D,CAAT;AAAA,aAArB,CAAnB,CAAP;AACH;AARc;AAAA;AAAA,iBASf,wBAAe5I,KAAf,EAAsB4I,OAAtB,EAA+B;AAC3B,mBAAOiR,OAAO,CAAC7Z,KAAD,CAAd;AACH;AAXc;AAAA;AAAA,iBAYf,oBAAWA,KAAX,EAAkB4I,OAAlB,EAA2B;AACvB,gBAAI5I,KAAK,YAAYgmB,YAArB,EAAmC;AAC/B,qBAAOgpB,SAAS,CAACj2B,UAAV,CAAqB/Y,KAArB,CAAP;AACH,aAFD,MAGK;AACD,oBAAM,IAAIlD,KAAJ,4CAA8CkD,KAA9C,EAAN;AACH;AACJ;AAnBc;;AAAA;AAAA;;AAqBnB,aAAO+a,UAAU,CAACrW,IAAD,EAAO,IAAIyjI,WAAJ,EAAP,EAA0B,IAA1B,CAAjB;AACH;;;;;;IAEClC,oB;;;;;AACF,gCAAYH,WAAZ,EAAyB1F,eAAzB,EAA0C;AAAA;;AAAA;;AACtC;AACA,aAAK0F,WAAL,GAAmBA,WAAnB;AACA,aAAK1F,eAAL,GAAuBA,eAAvB;AAHsC;AAIzC;;;;WACD,qBAAY2F,eAAZ,EAA6BR,IAA7B,EAAmC;AAAA;;AAC/B,UAAM7gI,IAAI,GAAGyhB,IAAI,CAACle,KAAL,CAAWs9H,IAAX,CAAb;AACA,UAAM6C,WAAW,GAAG,EAApB;AACA,WAAKpG,OAAL,GAAet9H,IAAI,CAACs9H,OAAL,CAAaj/H,GAAb,CAAiB,UAACslI,gBAAD;AAAA,eAAsB,QAAI,CAACvC,WAAL,CAAiBnjI,GAAjB,CAAqB,QAAI,CAACy9H,eAAL,CAAqBkI,mBAArB,CAAyCD,gBAAgB,CAACpiH,QAA1D,EAAoE8/G,eAApE,CAArB,EAA2GsC,gBAAgB,CAAC9pI,IAA5H,CAAtB;AAAA,OAAjB,CAAf;AACAmG,UAAI,CAACs9H,OAAL,CAAa1jI,OAAb,CAAqB,UAAC+pI,gBAAD,EAAmBn9H,KAAnB,EAA6B;AAC9C,YAAM41C,MAAM,GAAG,QAAI,CAACkhF,OAAL,CAAa92H,KAAb,CAAf;AACA,YAAMs1H,QAAQ,GAAG6H,gBAAgB,CAAC7H,QAAlC;;AACA,YAAI,OAAOA,QAAP,KAAoB,QAAxB,EAAkC;AAC9B4H,qBAAW,CAACtoI,IAAZ,CAAiB;AAAEghD,kBAAM,EAANA,MAAF;AAAU0/E,oBAAQ,EAAE,QAAI,CAACwB,OAAL,CAAaxB,QAAb;AAApB,WAAjB;AACH,SAFD,MAGK,IAAI,OAAOA,QAAP,KAAoB,QAAxB,EAAkC;AACnC4H,qBAAW,CAACtoI,IAAZ,CAAiB;AAAEghD,kBAAM,EAANA,MAAF;AAAU0/E,oBAAQ,EAAE,QAAI,CAACsF,WAAL,CAAiBnjI,GAAjB,CAAqBwjH,iBAAiB,CAAC4f,eAAD,CAAtC,EAAyDvF,QAAzD;AAApB,WAAjB;AACH;AACJ,OATD;AAUA,UAAM0G,SAAS,GAAGnsH,UAAU,CAACrW,IAAI,CAACwiI,SAAN,EAAiB,IAAjB,EAAuB,IAAvB,CAA5B;AACA,aAAO;AAAE71H,kBAAU,EAAE3M,IAAI,CAAC2M,UAAnB;AAA+B61H,iBAAS,EAATA,SAA/B;AAA0C1G,gBAAQ,EAAE4H;AAApD,OAAP;AACH;;;WACD,wBAAerlI,GAAf,EAAoB6F,OAApB,EAA6B;AACzB,UAAI,cAAc7F,GAAlB,EAAuB;AACnB,YAAMo+H,UAAU,GAAG,KAAKa,OAAL,CAAaj/H,GAAG,CAAC,UAAD,CAAhB,CAAnB;AACA,YAAMmjB,OAAO,GAAGnjB,GAAG,CAAC,SAAD,CAAnB;AACA,eAAOmjB,OAAO,CAAC7nB,MAAR,GAAiB,KAAKynI,WAAL,CAAiBnjI,GAAjB,CAAqBw+H,UAAU,CAACl7G,QAAhC,EAA0Ck7G,UAAU,CAAC5iI,IAArD,EAA2D2nB,OAA3D,CAAjB,GACHi7G,UADJ;AAEH,OALD,MAMK;AACD,sWAA4Bp+H,GAA5B,EAAiC6F,OAAjC;AACH;AACJ;;;;EAjC8B8S,gB;;AAmCnC,SAASmrH,MAAT,CAAgBrlF,QAAhB,EAA0B;AACtB,SAAOA,QAAQ,IAAIA,QAAQ,CAAC4gF,UAAT,KAAwB,MAA3C;AACH;;AACD,SAAS0E,cAAT,CAAwBtlF,QAAxB,EAAkC;AAC9B,SAAOqlF,MAAM,CAACrlF,QAAD,CAAN,IAAoBkgF,sBAAsB,CAAClgF,QAAQ,CAAC9hC,UAAV,CAAtB,YAAuDsG,YAAlF;AACH;;AACD,SAAS+gH,sBAAT,CAAgCvlF,QAAhC,EAA0C;AACtC,SAAOqlF,MAAM,CAACrlF,QAAD,CAAN,IAAoBA,QAAQ,CAAC9hC,UAA7B,IAA2C8hC,QAAQ,CAAC9hC,UAAT,CAAoB0iH,UAApB,KAAmC,QAA9E,IACHV,sBAAsB,CAAClgF,QAAQ,CAAC9hC,UAAT,CAAoBA,UAArB,CAAtB,YAAkEsG,YADtE;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMuiH,W;AACF,uBAAY5wD,OAAZ,EAAqB6wD,QAArB,EAA+BC,KAA/B,EAAsC3iH,SAAtC,EAAiD4iH,iBAAjD,EAAoEC,eAApE,EAAqFC,cAArF,EAAqGC,aAArG,EAAoHC,kBAApH,EAAwIC,iBAAxI,EAA2JC,mBAA3J,EAAgLC,cAAhL,EAAgMtgB,gBAAhM,EAAkNugB,eAAlN,EAAmO;AAAA;;AAC/N,SAAKvxD,OAAL,GAAeA,OAAf;AACA,SAAK6wD,QAAL,GAAgBA,QAAhB;AACA,SAAKC,KAAL,GAAaA,KAAb;AACA,SAAK3iH,SAAL,GAAiBA,SAAjB;AACA,SAAK4iH,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKC,kBAAL,GAA0BA,kBAA1B;AACA,SAAKC,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,mBAAL,GAA2BA,mBAA3B;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKtgB,gBAAL,GAAwBA,gBAAxB;AACA,SAAKugB,eAAL,GAAuBA,eAAvB;AACA,SAAKC,iBAAL,GAAyB,IAAI7nI,GAAJ,EAAzB;AACA,SAAK8nI,cAAL,GAAsB,IAAI9nI,GAAJ,EAAtB;AACA,SAAK+nI,4BAAL,GAAoC,IAAI/nI,GAAJ,EAApC;AACH;;;;WACD,sBAAa;AACT,WAAKonI,iBAAL,CAAuBnf,UAAvB;AACH;;;WACD,4BAAmB+f,SAAnB,EAA8B;AAAA;;AAC1B,UAAMC,aAAa,GAAGC,2BAA2B,CAACF,SAAD,EAAY,KAAKb,KAAjB,EAAwB,KAAKS,eAA7B,EAA8C,KAAKR,iBAAnD,CAAjD;AACAa,mBAAa,CAACE,SAAd,CAAwBnrI,OAAxB,CAAgC,UAAAiI,QAAQ;AAAA,eAAI,QAAI,CAACmiI,iBAAL,CAAuBgB,oCAAvB,CAA4DnjI,QAAQ,CAACwE,IAAT,CAAc4a,SAA1E,EAAqF,IAArF,CAAJ;AAAA,OAAxC;AACA,aAAO4jH,aAAP;AACH;;;WACD,6BAAoBD,SAApB,EAA+B;AAAA;;AAC3B,UAAMC,aAAa,GAAGC,2BAA2B,CAACF,SAAD,EAAY,KAAKb,KAAjB,EAAwB,KAAKS,eAA7B,EAA8C,KAAKR,iBAAnD,CAAjD;AACA,aAAOtsH,OAAO,CACTH,GADE,CACEstH,aAAa,CAACE,SAAd,CAAwB1mI,GAAxB,CAA4B,UAAAwD,QAAQ;AAAA,eAAI,QAAI,CAACmiI,iBAAL,CAAuBgB,oCAAvB,CAA4DnjI,QAAQ,CAACwE,IAAT,CAAc4a,SAA1E,EAAqF,KAArF,CAAJ;AAAA,OAApC,CADF,EAEF5J,IAFE,CAEG;AAAA,eAAMwtH,aAAN;AAAA,OAFH,CAAP;AAGH;;;WACD,sBAAa1iB,QAAb,EAAuB;AACnB,UAAI8iB,YAAY,GAAG,KAAKP,cAAL,CAAoBzmI,GAApB,CAAwBkkH,QAAxB,CAAnB;;AACA,UAAI,CAAC8iB,YAAL,EAAmB;AACfA,oBAAY,GACRC,WAAW,CAAC,KAAKnB,KAAN,EAAa,KAAKS,eAAlB,EAAmC,KAAKR,iBAAxC,EAA2D7hB,QAA3D,CADf;;AAEA,aAAKuiB,cAAL,CAAoBxmI,GAApB,CAAwBikH,QAAxB,EAAkC8iB,YAAlC;AACH;;AACD,aAAOA,YAAP;AACH;;;WACD,oCAA2B9iB,QAA3B,EAAqC;AACjC,UAAI8iB,YAAY,GAAG,KAAKN,4BAAL,CAAkC1mI,GAAlC,CAAsCkkH,QAAtC,CAAnB;;AACA,UAAI,CAAC8iB,YAAL,EAAmB;AACfA,oBAAY,GAAGE,yBAAyB,CAAC,KAAKpB,KAAN,EAAa,KAAKS,eAAlB,EAAmC,KAAKR,iBAAxC,EAA2D7hB,QAA3D,CAAxC;;AACA,aAAKwiB,4BAAL,CAAkCzmI,GAAlC,CAAsCikH,QAAtC,EAAgD8iB,YAAhD;AACH;;AACD,aAAOA,YAAP;AACH;;;WACD,gCAAuB9iB,QAAvB,EAAiC;AAAA;;AAC7B,UAAMijB,YAAY,GAAG,EAArB;;AACA,UAAM9tG,IAAI,GAAG,KAAK+tG,YAAL,CAAkBljB,QAAlB,CAAb,CAF6B,CAG7B;AACA;AACA;AACA;AACA;;;AACA,UAAI,KAAK2hB,QAAL,CAAcwB,sBAAd,IAAwChuG,IAAI,CAAC3Q,UAAL,CAAgBhtB,MAAxD,IAAkE29B,IAAI,CAACxQ,KAAL,CAAWntB,MAA7E,IACA29B,IAAI,CAACiuG,WAAL,CAAiB5rI,MADjB,IAC2B29B,IAAI,CAACytG,SAAL,CAAeprI,MAD1C,IACoD29B,IAAI,CAACkuG,qBAD7D,EACoF;AAChFJ,oBAAY,CAAChqI,IAAb,CAAkBqmH,iBAAiB,CAACnqF,IAAI,CAAC6qF,QAAN,EAAgB,IAAhB,CAAnC;;AACA,YAAI,KAAK2hB,QAAL,CAAc2B,qBAAlB,EAAyC;AACrCL,sBAAY,CAAChqI,IAAb,CAAkBinH,qBAAqB,CAAC/qF,IAAI,CAAC6qF,QAAN,EAAgB,IAAhB,CAAvC;AACH;AACJ;;AACD,UAAMujB,UAAU,GAAG7jB,sBAAsB,CAACD,qBAAqB,CAACtqF,IAAI,CAAC6qF,QAAN,EAAgB,IAAhB,CAArB,CAA2C,CAA3C,CAAD,CAAzC;AACA7qF,UAAI,CAAC3Q,UAAL,CAAgB/sB,OAAhB,CAAwB,UAAC+rI,SAAD,EAAe;AACnC,YAAMt9G,QAAQ,GAAG,QAAI,CAAC27G,iBAAL,CAAuBne,iCAAvB,CAAyD8f,SAAzD,EAAoE7oF,QAArF;;AACA,YAAI,CAACz0B,QAAQ,CAACpE,WAAd,EAA2B;AACvB;AACH,SAJkC,CAKnC;;;AACAoE,gBAAQ,CAAChF,QAAT,CAAkBJ,SAAlB,CAA4BrpB,OAA5B,CAAoC,UAAC62D,QAAD,EAAc;AAC9C,cAAMm1E,aAAa,GAAG,QAAI,CAAC7B,KAAL,CAAW8B,sBAAX,CAAkCp1E,QAAlC,EAA4Cn5B,IAAI,CAAC6qF,QAAjD,CAAtB;;AACA,cAAI,CAACyjB,aAAL,EAAoB;AAChB,kBAAMhuH,WAAW,qCAA8B64C,QAA9B,0BAAsDn5B,IAAI,CAAC6qF,QAA3D,EAAjB;AACH;;AACD,cAAM2jB,SAAS,GAAG,CAACz9G,QAAQ,CAAChF,QAAT,CAAkBD,aAAlB,IACf,QAAI,CAAC6vD,OAAL,CAAai9B,oBADC,MACyBvvG,iBAAiB,CAACyvD,QAD7D;AAEAg1E,sBAAY,CAAChqI,IAAb,CAAkB2qI,gBAAgB,CAACH,aAAD,EAAgBE,SAAhB,EAA2BJ,UAA3B,CAAlC;;AACA,cAAI,QAAI,CAAC5B,QAAL,CAAcwB,sBAAlB,EAA0C;AACtCF,wBAAY,CAAChqI,IAAb,CAAkB2qI,gBAAgB,CAACH,aAAD,EAAgB,CAACE,SAAjB,EAA4BJ,UAA5B,CAAlC;AACH;AACJ,SAXD;AAYH,OAlBD;AAmBA,aAAON,YAAP;AACH;;;WACD,uBAAcY,WAAd,EAA2BC,gBAA3B,EAA6C;AACzC,UAAM37F,SAAS,GAAG,KAAK47F,oBAAL,CAA0BF,WAA1B,CAAlB;;AACA,UAAIA,WAAW,CAAC11C,QAAZ,CAAqB,eAArB,CAAJ,EAA2C;AACvC,YAAI,CAAC21C,gBAAL,EAAuB;AACnB,gBAAM,IAAI7tI,KAAJ,qFAAuF4tI,WAAvF,EAAN;AACH;;AACD,YAAMG,YAAY,GAAG,KAAKd,YAAL,CAAkBY,gBAAlB,CAArB;;AACA,aAAKG,oBAAL,CAA0B97F,SAA1B,EAAqC67F,YAArC,EAAmD;AAAE;AAArD;AACH,OAND,MAOK,IAAIH,WAAW,CAAC11C,QAAZ,CAAqB,eAArB,CAAJ,EAA2C;AAC5C,YAAI,KAAKwzC,QAAL,CAAc2B,qBAAlB,EAAyC;AACrC,cAAI,CAACQ,gBAAL,EAAuB;AACnB,kBAAM,IAAI7tI,KAAJ,qFAAuF4tI,WAAvF,EAAN;AACH;;AACD,cAAMG,aAAY,GAAG,KAAKd,YAAL,CAAkBY,gBAAlB,CAArB;;AACAI,0BAAgB,CAAC/7F,SAAD,CAAhB;;AACA67F,uBAAY,CAACpB,SAAb,CAAuBnrI,OAAvB,CAA+B,UAAAiI,QAAQ,EAAI;AACvC;AACA4/H,4BAAgB,CAACn3F,SAAD,EAAYzoC,QAAQ,CAACwE,IAAT,CAAc4a,SAA1B,CAAhB;AACH,WAHD;AAIH;AACJ,OAZI,MAaA,IAAI+kH,WAAW,CAAC11C,QAAZ,CAAqB,aAArB,CAAJ,EAAyC;AAC1C+1C,wBAAgB,CAAC/7F,SAAD,CAAhB;AACH,OAxBwC,CAyBzC;AACA;AACA;AACA;AACA;;;AACA,aAAO,KAAKg8F,oBAAL,CAA0B,SAA1B,EAAqCh8F,SAArC,CAAP;AACH;;;WACD,2BAAkB07F,WAAlB,EAA+BC,gBAA/B,EAAiD;AAC7C,UAAME,YAAY,GAAG,KAAKd,YAAL,CAAkBY,gBAAlB,CAArB;;AACA,UAAM37F,SAAS,GAAG,KAAK47F,oBAAL,CAA0BF,WAA1B,CAAlB;;AACA,UAAIA,WAAW,CAAC11C,QAAZ,CAAqB,eAArB,CAAJ,EAA2C;AACvC,aAAK81C,oBAAL,CAA0B97F,SAA1B,EAAqC67F,YAArC,EAAmD;AAAE;AAArD;AACH;;AACD,aAAO77F,SAAS,CAAC78B,UAAV,CAAqB9T,MAArB,GAA8B,CAA9B,GACH,KAAK2sI,oBAAL,CAA0BH,YAAY,CAAChkB,QAAvC,EAAiD73E,SAAjD,CADG,GAEH,IAFJ;AAGH;;;WACD,wBAAei8F,SAAf,EAA0BC,OAA1B,EAAmC;AAAA;;AAC/B,UAAMC,KAAK,GAAGF,SAAS,CAACloI,GAAV,CAAc,UAAA8jH,QAAQ;AAAA,eAAI,QAAI,CAACkjB,YAAL,CAAkBljB,QAAlB,CAAJ;AAAA,OAAtB,CAAd;AACA,UAAMukB,eAAe,GAAG,EAAxB;AACAD,WAAK,CAAC7sI,OAAN,CAAc,UAAA09B,IAAI;AAAA,eAAIA,IAAI,CAACytG,SAAL,CAAenrI,OAAf,CAAuB,UAAAiI,QAAQ;AAAA,iBAAI6kI,eAAe,CAACtrI,IAAhB,CAAqB,QAAI,CAAC4oI,iBAAL,CAAuBgB,oCAAvB,CAA4DnjI,QAAQ,CAACwE,IAAT,CAAc4a,SAA1E,EAAqF,KAArF,CAArB,CAAJ;AAAA,SAA/B,CAAJ;AAAA,OAAlB;AACA,UAAM0lH,mBAAmB,GAAGH,OAAO,CAACnoI,GAAR,CAAY,UAAAuoI,MAAM;AAAA,eAAI,QAAI,CAACC,0BAAL,CAAgCD,MAAhC,CAAJ;AAAA,OAAlB,CAA5B;AACA,aAAOlvH,OAAO,CAACH,GAAR,CAAYmvH,eAAZ,EAA6BrvH,IAA7B,CAAkC,UAAA80C,CAAC;AAAA,eAAK;AAC3C26E,yBAAe,EAAEC,uBAAuB,CAACN,KAAD,CADG;AAE3CE,6BAAmB,EAAEA;AAFsB,SAAL;AAAA,OAAnC,CAAP;AAIH;;;WACD,uBAAcJ,SAAd,EAAyBC,OAAzB,EAAkC;AAAA;;AAC9B,UAAMC,KAAK,GAAGF,SAAS,CAACloI,GAAV,CAAc,UAAA8jH,QAAQ;AAAA,eAAI,QAAI,CAACkjB,YAAL,CAAkBljB,QAAlB,CAAJ;AAAA,OAAtB,CAAd;AACAskB,WAAK,CAAC7sI,OAAN,CAAc,UAAA09B,IAAI;AAAA,eAAIA,IAAI,CAACytG,SAAL,CAAenrI,OAAf,CAAuB,UAAAiI,QAAQ;AAAA,iBAAI,QAAI,CAACmiI,iBAAL,CAAuBgB,oCAAvB,CAA4DnjI,QAAQ,CAACwE,IAAT,CAAc4a,SAA1E,EAAqF,IAArF,CAAJ;AAAA,SAA/B,CAAJ;AAAA,OAAlB;AACA,UAAM0lH,mBAAmB,GAAGH,OAAO,CAACnoI,GAAR,CAAY,UAAAuoI,MAAM;AAAA,eAAI,QAAI,CAACC,0BAAL,CAAgCD,MAAhC,CAAJ;AAAA,OAAlB,CAA5B;AACA,aAAO;AACHE,uBAAe,EAAEC,uBAAuB,CAACN,KAAD,CADrC;AAEHE,2BAAmB,EAAEA;AAFlB,OAAP;AAIH;;;WACD,8BAAqBr8F,SAArB,EAAgChT,IAAhC,EAAsC0vG,SAAtC,EAAiD;AAAA;;AAC7C,UAAItW,WAAW,GAAG,CAAlB;AACAp5F,UAAI,CAACytG,SAAL,CAAenrI,OAAf,CAAuB,UAACmuH,YAAD,EAAekf,aAAf,EAAiC;AACpD;AACA;AACA;AACA,gBAAI,CAAC5C,iBAAL,CAAuB6C,UAAvB,CAAkC58F,SAAlC,EAA6Cy9E,YAAY,CAAC1hH,IAAb,CAAkB4a,SAA/D,EAJoD,CAKpD;AACA;AACA;AACA;;;AACA,YAAM1N,kBAAkB,gKAEjBw0G,YAAY,CAAC1hG,gBAAb,CAA8BM,UAA9B,CAAyCtoB,GAAzC,CAA6C,UAAAu9B,CAAC;AAAA,iBAAIA,CAAC,CAAC3a,SAAN;AAAA,SAA9C,CAFiB,sJAGjB8mG,YAAY,CAAC1hG,gBAAb,CAA8BS,KAA9B,CAAoCzoB,GAApC,CAAwC,UAAAu9B,CAAC;AAAA,iBAAIA,CAAC,CAAC3a,SAAN;AAAA,SAAzC,CAHiB,sJAIjB8mG,YAAY,CAAC7hG,eAAb,CAA6B7nB,GAA7B,CAAiC,UAAAwS,CAAC;AAAA,iBAAIA,CAAC,CAACxK,IAAF,CAAO4a,SAAX;AAAA,SAAlC,CAJiB,sJAKjB8mG,YAAY,CAAC5hG,eAAb,CAA6B9nB,GAA7B,CAAiC,UAAAwS,CAAC;AAAA,iBAAIA,CAAC,CAACxK,IAAF,CAAO4a,SAAX;AAAA,SAAlC,CALiB,sJAOjB,QAAI,CAACkmH,6BAAL,CAAmC,CAACrpH,WAAW,CAACO,WAAb,EAA0BP,WAAW,CAACE,UAAtC,CAAnC,CAPiB,EAAxB;AASA,YAAM2yG,qBAAqB,GAAG,IAAI/zH,GAAJ,EAA9B;AACA2W,0BAAkB,CAAC3Z,OAAnB,CAA2B,UAACuoB,GAAD,EAAMilH,SAAN,EAAoB;AAC3CzW,+BAAqB,CAACzyH,GAAtB,CAA0BikB,GAA1B,iBAAuC8kH,aAAvC,cAAwDG,SAAxD;AACH,SAFD;AAGAzW,6BAAqB,CAAC/2H,OAAtB,CAA8B,UAACk3C,OAAD,EAAU7vB,SAAV,EAAwB;AAClDqpB,mBAAS,CAAC78B,UAAV,CAAqBrS,IAArB,CAA0BgZ,QAAQ,CAAC08B,OAAD,CAAR,CACrB5yC,GADqB,CACjBqR,SAAS,CAACs1C,IAAV,CAAehgD,YAAf,CADiB,EAErB0E,UAFqB,CAEVkL,cAAc,CAAC61B,SAAS,CAACj2B,UAAV,CAAqB4M,SAArB;AAAgC;AAAiB,cAAjD;AAAuD;AAAmB,eAA1E,CAAD,CAFJ,CAA1B;AAGH,SAJD;;AAKA,YAAI+lH,SAAS,GAAG;AAAE;AAAlB,UAAmC;AAC/B;AACAjf,wBAAY,CAACliG,kBAAb,CAAgCjsB,OAAhC,CAAwC,UAACytI,KAAD,EAAW;AAC/C,kBAAMh/G,QAAQ,GAAG,QAAI,CAAC27G,iBAAL,CAAuBsD,oBAAvB,CAA4CD,KAAK,CAACpmH,SAAlD,CAAjB;;AACA,kBAAI,CAACoH,QAAQ,CAACpE,WAAd,EAA2B;AACvB;AACH;;AACDysG,yBAAW;;AACX,sBAAI,CAAC6W,qBAAL,CAA2Bj9F,SAA3B,YAAyCjiB,QAAQ,CAAChiB,IAAT,CAAc4a,SAAd,CAAwBpnB,IAAjE,mBAA8E62H,WAA9E,GAA6F3I,YAA7F,EAA2G,QAAI,CAACic,iBAAL,CAAuBwD,wBAAvB,CAAgDn/G,QAAhD,CAA3G,EAAsK,CAACA,QAAQ,CAAChiB,IAAV,CAAtK,EAAuLsqH,qBAAvL;;AACA,sBAAI,CAAC4W,qBAAL,CAA2Bj9F,SAA3B,YAAyCjiB,QAAQ,CAAChiB,IAAT,CAAc4a,SAAd,CAAwBpnB,IAAjE,cAAyE62H,WAAzE,GAAwF3I,YAAxF,EAAsG1/F,QAAtG,EAAgH0/F,YAAY,CAAC1hG,gBAAb,CAA8BM,UAA9I,EAA0JgqG,qBAA1J;AACH,aARD;AASH;AACJ,OAvCD;;AAwCA,UAAIrmF,SAAS,CAAC78B,UAAV,CAAqB9T,MAArB,KAAgC,CAApC,EAAuC;AACnC0sI,wBAAgB,CAAC/7F,SAAD,CAAhB;AACH;AACJ;;;WACD,uCAA8BxV,UAA9B,EAA0C;AACtC,UAAM35B,MAAM,GAAG,EAAf;;AADsC,kLAEhB25B,UAFgB;AAAA;;AAAA;AAEtC,kEAAkC;AAAA,cAAzB7T,SAAyB;AAC9B,cAAM1hB,KAAK,GAAG4hB,+BAA+B,CAAC,KAAKC,SAAN,EAAiBH,SAAjB,CAA7C;;AACA,cAAI1hB,KAAK,CAAC2hB,UAAV,EAAsB;AAClB/lB,kBAAM,CAACC,IAAP,CAAYmE,KAAK,CAAC2hB,UAAN,CAAiBD,SAA7B;AACH;AACJ;AAPqC;AAAA;AAAA;AAAA;AAAA;;AAQtC,aAAO9lB,MAAP;AACH;;;WACD,+BAAsBkhB,GAAtB,EAA2Bq0G,WAA3B,EAAwC9nG,UAAxC,EAAoDP,QAApD,EAA8D1B,UAA9D,EAA0EgqG,qBAA1E,EAAiG;AAAA;;AAC7F,iCAAuD,KAAK8W,cAAL,CAAoBp/G,QAApB,EAA8BO,UAA9B,EAA0CjC,UAA1C,CAAvD;AAAA,UAAkB+gH,cAAlB,wBAAQrkH,QAAR;AAAA,UAAyC0vD,SAAzC,wBAAkCjsD,KAAlC;;AACA,yBAAAzK,GAAG,CAAC5O,UAAJ,EAAerS,IAAf,2KAAuB,KAAKgpI,kBAAL,CAAwBuD,gBAAxB,CAAyCjX,WAAzC,EAAsDroG,QAAtD,EAAgEq/G,cAAhE,EAAgF30D,SAAhF,EAA2F49C,qBAA3F,EAAkHt0G,GAAlH,CAAvB;AACH;;;WACD,2BAAkBwoH,aAAlB,EAAiC5jG,MAAjC,EAAyC;AAAA;;AACrC,UAAMugB,MAAM,GAAG,EAAf;AACA,UAAMwlD,UAAU,GAAG,IAAI7mC,UAAJ,EAAnB,CAFqC,CAGrC;;AACA,UAAMynE,aAAa,GAAG,IAAIlO,aAAJ,CAAkB1yB,UAAlB,EAA8B,EAA9B,EAAkC,EAAlC,EAAsC/lE,MAAtC,CAAtB;AACA4jG,mBAAa,CAAC4B,KAAd,CAAoB7sI,OAApB,CAA4B,UAAA09B,IAAI,EAAI;AAChC,YAAMuwG,SAAS,GAAG,EAAlB;AACAvwG,YAAI,CAAC3Q,UAAL,CAAgB/sB,OAAhB,CAAwB,UAAAu5G,aAAa,EAAI;AACrC,cAAM/nC,OAAO,GAAG,QAAI,CAAC44D,iBAAL,CAAuBsD,oBAAvB,CAA4Cn0B,aAA5C,CAAhB;;AACA,cAAI/nC,OAAO,IAAIA,OAAO,CAACnnD,WAAvB,EAAoC;AAChC4jH,qBAAS,CAACzsI,IAAV,CAAegwE,OAAf;AACH;AACJ,SALD;AAMAy8D,iBAAS,CAACjuI,OAAV,CAAkB,UAAAyuB,QAAQ,EAAI;AAC1B,cAAMk3F,IAAI,GAAGl3F,QAAQ,CAAChF,QAAT,CAAkBA,QAA/B,CAD0B,CAE1B;AACA;;AACA,cAAMC,WAAW,GAAG+E,QAAQ,CAAChF,QAAT,CAAkBC,WAAtC;AACA,cAAMkxC,mBAAmB,GAAG5oB,mBAAmB,CAAC6oC,SAApB,CAA8BpsD,QAAQ,CAAChF,QAAT,CAAkBM,aAAhD,CAA5B;AACA69B,gBAAM,CAACpmD,IAAP,OAAAomD,MAAM,qJAASomF,aAAa,CAACE,kBAAd,CAAiCvoB,IAAjC,EAAuCj8F,WAAvC,EAAoDkxC,mBAApD,CAAT,EAAN;AACH,SAPD;AAQH,OAhBD;;AAiBA,UAAIhT,MAAM,CAAC7nD,MAAX,EAAmB;AACf,cAAM,IAAIvB,KAAJ,CAAUopD,MAAM,CAACnjD,GAAP,CAAW,UAAAsK,CAAC;AAAA,iBAAIA,CAAC,CAACkQ,QAAF,EAAJ;AAAA,SAAZ,EAA8B9d,IAA9B,CAAmC,IAAnC,CAAV,CAAN;AACH;;AACD,aAAO6sI,aAAP;AACH;;;WACD,uCAA4DG,OAA5D,EAAqE;AAAA;;AAAA,UAA7CC,yBAA6C,UAA7CA,yBAA6C;AAAA,UAAlBvB,KAAkB,UAAlBA,KAAkB;AACjE,UAAMwB,UAAU,GAAG,IAAIrrI,GAAJ,EAAnB;;AACA,UAAMi9C,UAAU,GAAG,SAAbA,UAAa,CAACsoE,QAAD,EAAc;AAC7B,YAAI,CAAC8lB,UAAU,CAAC9gH,GAAX,CAAeg7F,QAAf,CAAL,EAA+B;AAC3B8lB,oBAAU,CAAC/pI,GAAX,CAAeikH,QAAf,EAAyB,QAAI,CAAC+jB,oBAAL,CAA0B/jB,QAA1B,CAAzB;AACH;;AACD,eAAO8lB,UAAU,CAAChqI,GAAX,CAAekkH,QAAf,CAAP;AACH,OALD;;AAMAskB,WAAK,CAAC7sI,OAAN,CAAc,UAAA09B,IAAI;AAAA,eAAI,QAAI,CAAC4wG,qBAAL,CAA2B5wG,IAAI,CAAC6qF,QAAhC,EAA0C6lB,yBAA1C,EAAqE1wG,IAAI,CAAC3Q,UAA1E,EAAsF2Q,IAAI,CAACxQ,KAA3F,EAAkGwQ,IAAI,CAACytG,SAAvG,EAAkHztG,IAAI,CAACiuG,WAAvH,EAAoI1rF,UAAU,CAACviB,IAAI,CAAC6qF,QAAN,CAA9I,CAAJ;AAAA,OAAlB;AACA4lB,aAAO,CAACnuI,OAAR,CAAgB,UAAA09B,IAAI;AAAA,eAAI,QAAI,CAAC6wG,sBAAL,CAA4B7wG,IAAI,CAAC6qF,QAAjC,EAA2C7qF,IAAI,CAAC8wG,cAAhD,EAAgEvuF,UAAU,CAACviB,IAAI,CAAC6qF,QAAN,CAA1E,CAAJ;AAAA,OAApB;AACA,aAAO7rG,KAAK,CAACs2B,IAAN,CAAWq7F,UAAU,CAACrlI,MAAX,EAAX,EACFvE,GADE,CACE,UAAA6F,OAAO;AAAA,eAAK;AACjBi+G,kBAAQ,EAAEj+G,OAAO,CAACkrC,WADD;AAEjB3hC,oBAAU,+JAAMvJ,OAAO,CAACwiC,YAAR,CAAqBj5B,UAA3B,sJAA0CvJ,OAAO,CAACuJ,UAAlD;AAFO,SAAL;AAAA,OADT,CAAP;AAKH;;;WACD,gCAAuB00G,QAAvB,EAAiCimB,cAAjC,EAAiDlkI,OAAjD,EAA0D;AAAA;;AACtDkkI,oBAAc,CAACxuI,OAAf,CAAuB,UAAA0sB,MAAM;AAAA,eAAIw1B,0BAA0B,CAAC53C,OAAD,EAAUoiB,MAAV,EAAkB,QAAI,CAACg+G,mBAAvB,CAA9B;AAAA,OAA7B;AACH;;;WACD,+BAAsBniB,QAAtB,EAAgC6lB,yBAAhC,EAA2DrhH,UAA3D,EAAuEG,KAAvE,EAA8Ei+G,SAA9E,EAAyFQ,WAAzF,EAAsGrhI,OAAtG,EAA+G;AAAA;;AAC3G,UAAMs9C,MAAM,GAAG,EAAf;AACA,UAAM6mF,cAAc,GAAG,IAAIx9C,wBAAJ,EAAvB;AACA,UAAMy9C,iBAAiB,GAAG,IAAIv9D,aAAJ,CAAkB,KAAKk5D,eAAL,CAAqBsE,gBAAvC,EAAyDz8F,4BAAzD,EAAuFu8F,cAAvF,EAAuG,EAAvG,EAA2G7mF,MAA3G,CAA1B,CAH2G,CAI3G;;AACA76B,gBAAU,CAAC/sB,OAAX,CAAmB,UAAAu5G,aAAa,EAAI;AAChC,YAAMq1B,iBAAiB,GAAG,QAAI,CAACxE,iBAAL,CAAuBsD,oBAAvB,CAA4Cn0B,aAA5C,CAA1B;;AACA,YAAIq1B,iBAAiB,CAACvkH,WAAtB,EAAmC;AAC/B,cAAMqC,MAAM,GAAG0hH,yBAAyB,CAAC/pI,GAA1B,CAA8Bk1G,aAA9B,CAAf;AACA7sF,gBAAM,IACFzU,KAAK,sDAA+CoQ,cAAc,CAACumH,iBAAiB,CAACniI,IAAnB,CAA7D,OADT;AAEA,cAAIkd,OAAO,GAAGilH,iBAAiB,CAACnlH,QAAlB,CAA2BE,OAAzC;AACA,cAAMM,mBAAmB,GAAG2kH,iBAAiB,CAACnlH,QAAlB,CAA2BQ,mBAAvD;;AACA,cAAI,CAACA,mBAAL,EAA0B;AACtBN,mBAAO,GAAG29C,iBAAiB,CAAC39C,OAAD,CAA3B;AACH;;AACD,cAAMsmF,UAAU,GAAGnd,mBAAmB,CAACnpE,OAAO,CAAC85C,SAAT,EAAoBirE,iBAApB,CAAtC,CAT+B,CAU/B;;AACA,cAAMx+B,kBAAkB,GAAG,IAAIltG,GAAJ,EAA3B;;AACA,cAAM+pB,WAAU,GAAGL,MAAM,CAACD,gBAAP,CAAwBM,UAAxB,CAAmCtoB,GAAnC,CAAuC,UAAAqC,GAAG;AAAA,mBAAI,QAAI,CAACsjI,iBAAL,CAAuByE,mBAAvB,CAA2C/nI,GAAG,CAACugB,SAA/C,CAAJ;AAAA,WAA1C,CAAnB;;AACA0F,qBAAU,CAAC/sB,OAAX,CAAmB,UAAA8pE,SAAS,EAAI;AAC5B,gBAAIA,SAAS,CAAChoE,QAAd,EAAwB;AACpBouG,gCAAkB,CAAC5rG,GAAnB,CAAuBwlE,SAAS,CAAChoE,QAAjC,EAA2CgoE,SAAS,CAACr9D,IAAV,CAAe4a,SAA1D;AACH;AACJ,WAJD,EAb+B,CAkB/B;;;AACA,cAAM43E,cAAc,GAAG,IAAIj8F,GAAJ,EAAvB;;AACA,cAAMkqB,MAAK,GAAGR,MAAM,CAACD,gBAAP,CAAwBS,KAAxB,CAA8BzoB,GAA9B,CAAkC,UAAAkxB,IAAI;AAAA,mBAAI,QAAI,CAACy0G,iBAAL,CAAuB0E,cAAvB,CAAsCn5G,IAAI,CAACtO,SAA3C,CAAJ;AAAA,WAAtC,CAAd;;AACA6F,gBAAK,CAACltB,OAAN,CAAc,UAAA21B,IAAI,EAAI;AAClBspE,0BAAc,CAAC36F,GAAf,CAAmBqxB,IAAI,CAAC11B,IAAxB,EAA8B01B,IAAI,CAAClpB,IAAL,CAAU4a,SAAxC;AACH,WAFD;;AAGA2oF,qCAA2B,CAAC1lG,OAAD,EAAUskI,iBAAV,EAA6B3+B,UAA7B,EAAyC,QAAI,CAACzoF,SAA9C,EAAyDknH,iBAAzD,EAA4Ex+B,kBAA5E,EAAgGjR,cAAhG,CAA3B;AACH,SAzBD,MA0BK;AACD4Q,qCAA2B,CAACvlG,OAAD,EAAUskI,iBAAV,EAA6B,QAAI,CAACpnH,SAAlC,EAA6CknH,iBAA7C,CAA3B;AACH;AACJ,OA/BD;AAgCAxhH,WAAK,CAACltB,OAAN,CAAc,UAAA6gG,QAAQ,EAAI;AACtB,YAAMkuC,YAAY,GAAG,QAAI,CAAC3E,iBAAL,CAAuB4E,eAAvB,CAAuCnuC,QAAvC,CAArB;;AACA,YAAIkuC,YAAJ,EAAkB;AACd1rF,gCAAsB,CAAC/4C,OAAD,EAAUykI,YAAV,EAAwB,QAAI,CAACvnH,SAA7B,CAAtB;AACH;AACJ,OALD;AAMAmkH,iBAAW,CAAC3rI,OAAZ,CAAoB,UAAAmI,UAAU;AAAA,eAAI,QAAI,CAACuiI,mBAAL,CAAyBuE,OAAzB,CAAiC9mI,UAAjC,EAA6CmC,OAA7C,CAAJ;AAAA,OAA9B;AACH;;;WACD,gCAAuBuiI,KAAvB,EAA8B;AAAA;;AAC1B;AACA,aAAOA,KAAK,CAAC3+G,MAAN,CAAa,UAAC2gB,CAAD,EAAInR,IAAJ,EAAa;AAC7BmR,SAAC,CAACrtC,IAAF,OAAAqtC,CAAC,qJAAS,QAAI,CAACqgG,mBAAL,CAAyBxxG,IAAI,CAAC6qF,QAA9B,EAAwC7qF,IAAI,CAACiuG,WAA7C,CAAT,EAAD;AACA,eAAO98F,CAAP;AACH,OAHM,EAGJ,EAHI,CAAP;AAIH;;;WACD,6BAAoB05E,QAApB,EAA8BojB,WAA9B,EAA2C;AAAA;;AACvC,UAAMrhI,OAAO,GAAG,KAAKgiI,oBAAL,CAA0B/jB,QAA1B,CAAhB;;AACAojB,iBAAW,CAAC3rI,OAAZ,CAAoB,UAAAmI,UAAU;AAAA,eAAI,QAAI,CAACuiI,mBAAL,CAAyBuE,OAAzB,CAAiC9mI,UAAjC,EAA6CmC,OAA7C,CAAJ;AAAA,OAA9B;;AACA,UAAIA,OAAO,CAACuJ,UAAR,IAAsBvJ,OAAO,CAACuJ,UAAR,CAAmB9T,MAAnB,GAA4B,CAAtD,EAAyD;AACrD,eAAO,CAAC;AAAEwoH,kBAAQ,EAARA,QAAF;AAAY10G,oBAAU,+JAAMvJ,OAAO,CAACwiC,YAAR,CAAqBj5B,UAA3B,sJAA0CvJ,OAAO,CAACuJ,UAAlD;AAAtB,SAAD,CAAP;AACH;;AACD,aAAO,EAAP;AACH;;;WACD,sBAAao3H,aAAb,EAA4B;AAAA;;AACxB,UAAQmD,yBAAR,GAA6CnD,aAA7C,CAAQmD,yBAAR;AAAA,UAAmCvB,KAAnC,GAA6C5B,aAA7C,CAAmC4B,KAAnC;AACA,UAAMsC,aAAa,GAAGtC,KAAK,CAACpoI,GAAN,CAAU,UAAAi5B,IAAI;AAAA,eAAI,QAAI,CAAC0xG,gBAAL,CAAsB1xG,IAAI,CAAC6qF,QAA3B,EAAqC6lB,yBAArC,EAAgE1wG,IAAI,CAAC3Q,UAArE,EAAiF2Q,IAAI,CAACxQ,KAAtF,EAA6FwQ,IAAI,CAACytG,SAAlG,EAA6GztG,IAAI,CAACiuG,WAAlH,CAAJ;AAAA,OAAd,CAAtB;AACA,aAAOzhH,OAAO,CAACilH,aAAD,CAAd;AACH;;;WACD,0BAAiB1O,UAAjB,EAA6B2N,yBAA7B,EAAwDrhH,UAAxD,EAAoEG,KAApE,EAA2Ei+G,SAA3E,EAAsFQ,WAAtF,EAAmG;AAAA;;AAC/F,UAAMG,UAAU,GAAG7jB,sBAAsB,CAACD,qBAAqB,CAACyY,UAAD,EAAa,IAAb,CAArB,CAAwC,CAAxC,CAAD,CAAzC;AACA,UAAM4O,cAAc,GAAG,EAAvB;;AACA,UAAM3+F,SAAS,GAAG,KAAK47F,oBAAL,CAA0BzkB,iBAAiB,CAAC4Y,UAAD,EAAa,IAAb,CAA3C,CAAlB;;AACA4O,oBAAc,CAAC7tI,IAAf,OAAA6tI,cAAc,qJAAS,KAAKC,cAAL,CAAoB7O,UAApB,EAAgC1zG,UAAhC,EAA4CG,KAA5C,EAAmDi+G,SAAnD,EAA8DQ,WAA9D,EAA2Ej7F,SAA3E,CAAT,EAAd,CAJ+F,CAK/F;;AACAy6F,eAAS,CAACnrI,OAAV,CAAkB,UAACmuH,YAAD;AAAA,eAAkB,QAAI,CAACohB,cAAL,CAAoB7+F,SAApB,EAA+By9E,YAA/B,CAAlB;AAAA,OAAlB,EAN+F,CAO/F;;AACAphG,gBAAU,CAAC/sB,OAAX,CAAmB,UAACqrH,OAAD,EAAa;AAC5B,YAAM58F,QAAQ,GAAG,QAAI,CAAC27G,iBAAL,CAAuBsD,oBAAvB,CAA4CriB,OAA5C,CAAjB;;AACA,YAAI,CAAC58F,QAAQ,CAACpE,WAAd,EAA2B;AACvB;AACH;;AACD,YAAMpiB,QAAQ,GAAGmmI,yBAAyB,CAAC/pI,GAA1B,CAA8BgnH,OAA9B,CAAjB;;AACA,YAAI,CAACpjH,QAAL,EAAe;AACX,gBAAM,IAAIzJ,KAAJ,qEAAuE6pB,cAAc,CAACoG,QAAQ,CAAChiB,IAAV,CAArF,OAAN;AACH,SAR2B,CAS5B;;;AACA,YAAM+iI,mBAAmB,GAAG,QAAI,CAAClF,cAAL,CAAoByD,gBAApB,CAAqCr9F,SAArC,EAAgDjiB,QAAhD,CAA5B,CAV4B,CAW5B;;;AACAA,gBAAQ,CAAChF,QAAT,CAAkBG,mBAAlB,CAAsC5pB,OAAtC,CAA8C,UAACyvI,cAAD,EAAoB;AAC9D;AACA;AACA,cAAMl5E,IAAI,GAAG,QAAI,CAAC+zE,cAAL,CAAoBj0E,cAApB,CAAmC5nC,QAAnC,CAAb;;AACA4gH,wBAAc,CAAC7tI,IAAf,CAAoB,QAAI,CAACkuI,cAAL,CAAoBjP,UAApB,EAAgChyG,QAAhC,EAA0CghH,cAA1C,EAA0Dl5E,IAA1D,EAAgEu1E,UAAhE,CAApB;;AACA,cAAI,QAAI,CAAC5B,QAAL,CAAcwB,sBAAlB,EAA0C;AACtC2D,0BAAc,CAAC7tI,IAAf,CAAoB,QAAI,CAACkuI,cAAL,CAAoBjP,UAApB,EAAgChyG,QAAhC,EAA0CghH,cAA1C,EAA0D,CAACl5E,IAA3D,EAAiEu1E,UAAjE,CAApB;AACH;AACJ,SARD,EAZ4B,CAqB5B;;AACA,YAAM6D,YAAY,GAAG,QAAI,CAACC,iBAAL,CAAuBl/F,SAAvB,EAAkCjiB,QAAlC,EAA4CxmB,QAA5C,EAAsDA,QAAQ,CAACwkB,gBAAT,CAA0BM,UAAhF,EAA4FyiH,mBAA5F,EAAiH1D,UAAjH,CAArB;;AACA,gBAAI,CAAC+D,wBAAL,CAA8Bn/F,SAA9B,EAAyCjiB,QAAzC,EAAmDxmB,QAAnD,EAA6D6jI,UAA7D;AACH,OAxBD;;AAyBA,UAAIp7F,SAAS,CAAC78B,UAAV,CAAqB9T,MAArB,GAA8B,CAA9B,IAAmC,KAAKmqI,QAAL,CAAcwB,sBAArD,EAA6E;AACzE,YAAMoE,SAAS,GAAG,KAAKpD,oBAAL,CAA0BjM,UAA1B,EAAsC/vF,SAAtC,CAAlB;;AACA2+F,sBAAc,CAAC/iF,OAAf,CAAuBwjF,SAAvB;AACH;;AACD,aAAOT,cAAP;AACH;;;WACD,wBAAe3I,WAAf,EAA4B35G,UAA5B,EAAwCG,KAAxC,EAA+Ci+G,SAA/C,EAA0DQ,WAA1D,EAAuEoE,YAAvE,EAAqF;AAAA;;AACjF,UAAMC,eAAe,GAAG,KAAKpF,eAAL,CAAqBxG,YAArB,CAAkCsC,WAAlC,EACnBjiI,GADmB,CACf,UAAA+9C,MAAM;AAAA,eAAI,QAAI,CAACooF,eAAL,CAAqBvH,aAArB,CAAmC7gF,MAAnC,CAAJ;AAAA,OADS,CAAxB;;AAEA,UAAMytF,QAAQ,gKACP9E,SAAS,CAAC1mI,GAAV,CAAc,UAAAmqB,IAAI;AAAA,eAAK;AACtBuhF,iBAAO,EAAE,QAAI,CAACi6B,iBAAL,CAAuBvb,kBAAvB,CAA0CjgG,IAAI,CAACniB,IAAL,CAAU4a,SAApD,CADa;AAEtB67B,kBAAQ,EAAE,QAAI,CAACknF,iBAAL,CAAuBvc,mBAAvB,CAA2Cj/F,IAAI,CAACniB,IAAL,CAAU4a,SAArD;AAFY,SAAL;AAAA,OAAlB,CADO,sJAKP0F,UAAU,CAACtoB,GAAX,CAAe,UAAA8jB,GAAG;AAAA,eAAK;AACtB4nF,iBAAO,EAAE,QAAI,CAACi6B,iBAAL,CAAuByE,mBAAvB,CAA2CtmH,GAA3C,CADa;AAEtB26B,kBAAQ,EAAE,QAAI,CAACknF,iBAAL,CAAuBsD,oBAAvB,CAA4CnlH,GAA5C;AAFY,SAAL;AAAA,OAAlB,CALO,sJASP2E,KAAK,CAACzoB,GAAN,CAAU,UAAA8jB,GAAG;AAAA,eAAK;AACjB4nF,iBAAO,EAAE,QAAI,CAACi6B,iBAAL,CAAuB0E,cAAvB,CAAsCvmH,GAAtC,CADQ;AAEjB26B,kBAAQ,EAAE,QAAI,CAACknF,iBAAL,CAAuB4E,eAAvB,CAAuCzmH,GAAvC;AAFO,SAAL;AAAA,OAAb,CATO,sJAaPojH,WAAW,CAAClnI,GAAZ,CAAgB,UAAA8jB,GAAG;AAAA,eAAK;AACvB4nF,iBAAO,EAAE,QAAI,CAACi6B,iBAAL,CAAuB8F,oBAAvB,CAA4C3nH,GAAG,CAACi6B,MAAhD,CADc;AAEvBU,kBAAQ,EAAE,QAAI,CAACknF,iBAAL,CAAuB8F,oBAAvB,CAA4C3nH,GAAG,CAACi6B,MAAhD,EAAwD/1C;AAF3C,SAAL;AAAA,OAAnB,CAbO,EAAd;AAkBA,UAAM0jI,eAAe,GAAG,KAAKjG,QAAL,CAAc2B,qBAAd,GACpB,KAAKS,oBAAL,CAA0B7jB,qBAAqB,CAACie,WAAD,EAAc,IAAd,CAA/C,CADoB,GAEpB,IAFJ;;AAGA,gCAA2BD,kBAAkB,CAACC,WAAD,EAAcyJ,eAAd,EAA+B,KAAK9lB,gBAApC,EAAsD,KAAKugB,eAA3D,EAA4EoF,eAA5E,EAA6FC,QAA7F,EAAuG,KAAK/F,QAAL,CAAckG,oCAArH,CAA7C;AAAA,UAAQnJ,IAAR,uBAAQA,IAAR;AAAA,UAAc38G,QAAd,uBAAcA,QAAd;;AACAA,cAAQ,CAACtqB,OAAT,CAAiB,UAACyY,KAAD,EAAW;AACxBs3H,oBAAY,CAACl8H,UAAb,CAAwBrS,IAAxB,CAA6BgZ,QAAQ,CAAC/B,KAAK,CAAC6R,QAAP,CAAR,CAAyBhmB,GAAzB,CAA6ByrI,YAAY,CAACt1H,UAAb,CAAwBhC,KAAK,CAAC+pC,MAA9B,CAA7B,EAAoE7yC,UAApE,CAA+E,IAA/E,EAAqF,CAC9GC,YAAY,CAAC4+B,QADiG,CAArF,CAA7B;AAGH,OAJD;AAKA,UAAM6hG,WAAW,GAAG,IAAI7P,aAAJ,CAAkBkG,WAAlB,EAA+Bpe,eAAe,CAACoe,WAAD,CAA9C,EAA6DO,IAA7D,CAApB;AACA,UAAM1lI,MAAM,GAAG,CAAC8uI,WAAD,CAAf;;AACA,UAAIF,eAAJ,EAAqB;AACjB5uI,cAAM,CAACC,IAAP,CAAY,KAAKkrI,oBAAL,CAA0BhG,WAA1B,EAAuCyJ,eAAvC,CAAZ;AACH;;AACD,aAAO5uI,MAAP;AACH;;;WACD,wBAAemvC,SAAf,EAA0BzoC,QAA1B,EAAoC;AAChC,UAAM2iB,SAAS,GAAG,EAAlB;;AACA,UAAI,KAAKs/G,QAAL,CAAc7iG,MAAlB,EAA0B;AACtB,YAAMipG,gBAAgB,GAAG,KAAKpG,QAAL,CAAc7iG,MAAd,CAAqB90B,OAArB,CAA6B,IAA7B,EAAmC,GAAnC,CAAzB;;AACAqY,iBAAS,CAACppB,IAAV,CAAe;AACXmE,eAAK,EAAE4hB,+BAA+B,CAAC,KAAKC,SAAN,EAAiBtD,WAAW,CAACwB,SAA7B,CAD3B;AAEXkI,kBAAQ,EAAE0iH;AAFC,SAAf;AAIH;;AACD,UAAI,KAAKpG,QAAL,CAAcqG,UAAlB,EAA8B;AAC1B3lH,iBAAS,CAACppB,IAAV,CAAe;AACXmE,eAAK,EAAE4hB,+BAA+B,CAAC,KAAKC,SAAN,EAAiBtD,WAAW,CAACyB,mBAA7B,CAD3B;AAEXiI,kBAAQ,EAAE,KAAKs8G,QAAL,CAAcqG;AAFb,SAAf;AAIH;;AACD,WAAK9F,iBAAL,CAAuBwE,OAAvB,CAA+Bv+F,SAA/B,EAA0CzoC,QAA1C,EAAoD2iB,SAApD;AACH;;;WACD,kCAAyB8lB,SAAzB,EAAoCjiB,QAApC,EAA8CxmB,QAA9C,EAAwD6jI,UAAxD,EAAoE;AAChE,UAAM0E,QAAQ,GAAG,KAAKpG,iBAAL,CAAuBwD,wBAAvB,CAAgDn/G,QAAhD,CAAjB;;AACA,UAAMgiH,kBAAkB,GAAG,KAAKb,iBAAL,CAAuBl/F,SAAvB,EAAkC8/F,QAAlC,EAA4CvoI,QAA5C,EAAsD,CAACwmB,QAAQ,CAAChiB,IAAV,CAAtD,EAAuE,IAAvE,EAA6Eq/H,UAA7E,EACtBhS,YADL;;AAEA,UAAM4W,cAAc,GAAG5nH,oBAAoB,CAAC2F,QAAQ,CAAChiB,IAAT,CAAc4a,SAAf,CAA3C;AACA,UAAMspH,WAAW,GAAG,EAApB;;AACA,WAAK,IAAIj/D,QAAT,IAAqBjjD,QAAQ,CAAClE,MAA9B,EAAsC;AAClC,YAAMo/C,YAAY,GAAGl7C,QAAQ,CAAClE,MAAT,CAAgBmnD,QAAhB,CAArB,CADkC,CAElC;;AACAi/D,mBAAW,CAACnvI,IAAZ,CAAiB,IAAImT,eAAJ,CAAoB+8D,QAApB,EAA8Bn2D,OAAO,CAACouD,YAAD,CAArC,EAAqD,KAArD,CAAjB;AACH;;AACD,UAAMinE,YAAY,GAAG,EAArB;;AACA,WAAK,IAAIl/D,SAAT,IAAqBjjD,QAAQ,CAACjE,OAA9B,EAAuC;AACnC,YAAMm/C,aAAY,GAAGl7C,QAAQ,CAACjE,OAAT,CAAiBknD,SAAjB,CAArB,CADmC,CAEnC;;AACAk/D,oBAAY,CAACpvI,IAAb,CAAkB,IAAImT,eAAJ,CAAoB+8D,SAApB,EAA8Bn2D,OAAO,CAACouD,aAAD,CAArC,EAAqD,KAArD,CAAlB;AACH;;AACDj5B,eAAS,CAAC78B,UAAV,CAAqBrS,IAArB,CAA0BgZ,QAAQ,CAACk2H,cAAD,CAAR,CACrBpsI,GADqB,CACjBmW,UAAU,CAACyJ,WAAW,CAACgD,sBAAb,CAAV,CAA+C3E,MAA/C,CAAsD,CAC3DhH,OAAO,CAACkT,QAAQ,CAAC3sB,QAAV,CADoD,EAC/B4uC,SAAS,CAACj2B,UAAV,CAAqBgU,QAAQ,CAAChiB,IAAT,CAAc4a,SAAnC,CAD+B,EAE3D7M,QAAQ,CAACi2H,kBAAD,CAFmD,EAE7B,IAAI37H,cAAJ,CAAmB67H,WAAnB,CAF6B,EAG3D,IAAI77H,cAAJ,CAAmB87H,YAAnB,CAH2D,EAI3D71H,UAAU,CAAC0T,QAAQ,CAAChF,QAAT,CAAkBK,kBAAlB,CAAqCrlB,GAArC,CAAyC,UAAA3C,QAAQ;AAAA,eAAIyZ,OAAO,CAACzZ,QAAD,CAAX;AAAA,OAAjD,CAAD,CAJiD,CAAtD,CADiB,EAOrB6N,UAPqB,CAOVgL,UAAU,CAACuJ,WAAW,CAACW,gBAAb,EAA+B,CAAChK,cAAc,CAAC61B,SAAS,CAACj2B,UAAV,CAAqBgU,QAAQ,CAAChiB,IAAT,CAAc4a,SAAnC,CAAD,CAAf,CAA/B,EAAgG,CAACtd,YAAY,CAACitD,KAAd,CAAhG,CAPA,EAOuH,CAACpnD,YAAY,CAACC,KAAd,EAAqBD,YAAY,CAAC4+B,QAAlC,CAPvH,CAA1B;AAQH;;;WACD,2BAAkBkC,SAAlB,EAA6BjiB,QAA7B,EAAuCxmB,QAAvC,EAAiD4oI,oBAAjD,EAAuEC,eAAvE,EAAwFhF,UAAxF,EAAoG;AAChG,kCAAuD,KAAK+B,cAAL,CAAoBp/G,QAApB,EAA8BxmB,QAA9B,EAAwC4oI,oBAAxC,CAAvD;AAAA,UAAkB/C,cAAlB,yBAAQrkH,QAAR;AAAA,UAAyC0vD,SAAzC,yBAAkCjsD,KAAlC;;AACA,UAAM6jH,UAAU,GAAGD,eAAe,GAAGt2H,QAAQ,CAACs2H,eAAe,CAACh7E,SAAjB,CAAX,GAAyC/6C,UAAU,CAAC,EAAD,CAArF;;AACA,UAAMi2H,UAAU,GAAG,KAAKzG,aAAL,CAAmBwD,gBAAnB,CAAoCr9F,SAApC,EAA+CjiB,QAA/C,EAAyDq/G,cAAzD,EAAyEiD,UAAzE,EAAqF53D,SAArF,CAAnB;;AACA,UAAI23D,eAAJ,EAAqB;AACjBG,+BAAuB,CAAC,KAAKrG,eAAN,EAAuBkG,eAAvB,EAAwC,KAAKxG,cAAL,CAAoBj0E,cAApB,CAAmC5nC,QAAnC,CAAxC,EAAsFq9G,UAAtF,CAAvB;AACH;;AACD,aAAOkF,UAAP;AACH;;;WACD,wBAAeviH,QAAf,EAAyBxmB,QAAzB,EAAmC4oI,oBAAnC,EAAyD;AAAA;;AACrD,UAAI,KAAKhG,iBAAL,CAAuBt9G,GAAvB,CAA2BkB,QAAQ,CAAChiB,IAAT,CAAc4a,SAAzC,CAAJ,EAAyD;AACrD,eAAO,KAAKwjH,iBAAL,CAAuBxmI,GAAvB,CAA2BoqB,QAAQ,CAAChiB,IAAT,CAAc4a,SAAzC,CAAP;AACH;;AACD,UAAM4C,mBAAmB,GAAGwE,QAAQ,CAAChF,QAAT,CAAkBQ,mBAA9C;AACA,UAAM8C,UAAU,GAAG8jH,oBAAoB,CAACpsI,GAArB,CAAyB,UAAAqC,GAAG;AAAA,eAAI,QAAI,CAACsjI,iBAAL,CAAuByE,mBAAvB,CAA2C/nI,GAAG,CAACugB,SAA/C,CAAJ;AAAA,OAA5B,CAAnB;AACA,UAAM6F,KAAK,GAAGjlB,QAAQ,CAACwkB,gBAAT,CAA0BS,KAA1B,CAAgCzoB,GAAhC,CAAoC,UAAAkxB,IAAI;AAAA,eAAI,QAAI,CAACy0G,iBAAL,CAAuB0E,cAAvB,CAAsCn5G,IAAI,CAACtO,SAA3C,CAAJ;AAAA,OAAxC,CAAd;;AACA,UAAM9lB,MAAM,GAAG,KAAK8oI,eAAL,CAAqB1gI,KAArB,CAA2B8kB,QAA3B,EAAqCA,QAAQ,CAAChF,QAAT,CAAkBE,OAAvD,EAAgEoD,UAAhE,EAA4EG,KAA5E,EAAmFjlB,QAAQ,CAACukB,OAA5F,EAAqG+B,iBAAiB,CAACtmB,QAAQ,CAACwE,IAAV,EAAgBgiB,QAAhB,EAA0BA,QAAQ,CAAChF,QAAnC,CAAtH,EAAoKQ,mBAApK,CAAf;;AACA,WAAK4gH,iBAAL,CAAuBvmI,GAAvB,CAA2BmqB,QAAQ,CAAChiB,IAAT,CAAc4a,SAAzC,EAAoD9lB,MAApD;;AACA,aAAOA,MAAP;AACH;;;WACD,8BAAqBi0C,WAArB,EAAkC;AAAA;;AAC9B,UAAM07F,YAAY,GAAG,SAAfA,YAAe,CAAC1uF,MAAD,EAAoD;AAAA,YAA3C/3C,UAA2C,uEAA9B,IAA8B;AAAA,YAAxBm4H,YAAwB,uEAAT,IAAS;;AACrE,YAAI,EAAEpgF,MAAM,YAAY96B,YAApB,CAAJ,EAAuC;AACnC,gBAAM,IAAIlpB,KAAJ,8CAAgDqpB,IAAI,CAAC9I,SAAL,CAAeyjC,MAAf,CAAhD,EAAN;AACH;;AACD,YAAM8gF,KAAK,GAAG,QAAI,CAACsH,eAAL,CAAqBuG,YAArB,CAAkC3uF,MAAlC,KAA6C,CAA3D;;AACA,qBAAoC,QAAI,CAACooF,eAAL,CAAqB5H,WAArB,CAAiCxgF,MAAjC,EAAyCogF,YAAzC,KAA0DpgF,MAA9F;AAAA,YAAQ76B,QAAR,UAAQA,QAAR;AAAA,YAAkB1nB,IAAlB,UAAkBA,IAAlB;AAAA,YAAwB2nB,OAAxB,UAAwBA,OAAxB;;AACA,YAAMwpH,YAAY,GAAG,QAAI,CAACC,qBAAL,CAA2B1pH,QAA3B,EAAqC6tB,WAArC,CAArB,CANqE,CAOrE;AACA;AACA;AACA;;;AACA,YAAM87F,aAAa,GAAG,QAAI,CAACD,qBAAL,CAA2B77F,WAA3B,EAAwCA,WAAxC,CAAtB;;AACA,YAAMziC,UAAU,GAAGq+H,YAAY,KAAKE,aAAjB,GAAiC,IAAjC,GAAwCF,YAA3D,CAZqE,CAarE;AACA;AACA;AACA;AACA;;AACA,YAAMG,kBAAkB,GAAG9mI,UAAU,IAAI,EAAzC;AACA,YAAM+mI,sBAAsB,GAAGlO,KAAK,GAAGiO,kBAAkB,CAACxxI,MAA1D;AACA,YAAM0xI,aAAa,GAAGF,kBAAkB,CAAC9vI,MAAnB,CAA0B4e,QAAQ,CAACmxH,sBAAD,EAAyBvmI,YAAzB,CAAlC,CAAtB;AACA,eAAO2c,OAAO,CAACsG,MAAR,CAAe,UAAC/e,IAAD,EAAOuiI,UAAP;AAAA,iBAAsBviI,IAAI,CAACkL,IAAL,CAAUq3H,UAAV,CAAtB;AAAA,SAAf,EAA4Dj3H,UAAU,CAAC,IAAIvH,iBAAJ,CAAsBH,UAAtB,EAAkC9S,IAAlC,EAAwC,IAAxC,CAAD,EAAgDwxI,aAAhD,CAAtE,CAAP;AACH,OAtBD;;AAuBA,aAAO;AAAE59H,kBAAU,EAAE,EAAd;AAAkB2hC,mBAAW,EAAXA,WAAlB;AAA+B/6B,kBAAU,EAAEy2H,YAA3C;AAAyDpkG,oBAAY,EAAE,IAAIxrB,YAAJ;AAAvE,OAAP;AACH;;;WACD,+BAAsBqwH,gBAAtB,EAAwCC,kBAAxC,EAA4D;AACxD,aAAO,KAAKvnB,gBAAL,CAAsB8d,kBAAtB,CAAyCwJ,gBAAzC,KACH,KAAK/G,eAAL,CAAqBzC,kBAArB,CAAwCwJ,gBAAxC,CADG,IAEH,KAAKxH,KAAL,CAAW0H,oBAAX,CAAgCF,gBAAhC,EAAkDC,kBAAlD,CAFJ;AAGH;;;WACD,wBAAenR,UAAf,EAA2BhyG,QAA3B,EAAqCqjH,kBAArC,EAAyD/7E,SAAzD,EAAoE+1E,UAApE,EAAgF;AAC5E,UAAMp7F,SAAS,GAAG,KAAK47F,oBAAL,CAA0BH,gBAAgB,CAAC2F,kBAAkB,CAAC3oH,SAApB,EAA+B4sC,SAA/B,EAA0C+1E,UAA1C,CAA1C,CAAlB;;AACA,UAAMiG,kBAAkB,GAAG,KAAKzH,cAAL,CAAoB36B,aAApB,CAAkCj/D,SAAlC,EAA6CjiB,QAA7C,EAAuDqjH,kBAAvD,EAA2E/7E,SAA3E,CAA3B;;AACAk7E,6BAAuB,CAAC,KAAKrG,eAAN,EAAuBmH,kBAAvB,EAA2Ch8E,SAA3C,EAAsD+1E,UAAtD,CAAvB;;AACA,aAAO,KAAKY,oBAAL,CAA0BjM,UAA1B,EAAsC/vF,SAAtC,CAAP;AACH;;;WACD,8BAAqB+vF,UAArB,EAAiCh+G,GAAjC,EAAsC;AAClC,aAAO,IAAI+9G,aAAJ,CAAkBC,UAAlB,EAA8Bh+G,GAAG,CAAC+yB,WAAlC,EAA+C/yB,GAAG,CAAC5O,UAAnD,CAAP;AACH;;;WACD,wBAAem+H,UAAf,EAA2B9E,eAA3B,EAA4C;AACxC,UAAMltH,IAAI,GAAG,IAAb;;AACA,UAAIgyH,UAAJ,EAAgB;AACZ,YAAMxvF,MAAM,GAAG4+E,cAAc,CAAC4Q,UAAD,EAAa,KAAKxqH,SAAlB,CAAd,CAA2Cg6G,gBAA1D;AACA,eAAOyQ,cAAc,CAACzvF,MAAD,CAArB;AACH,OAHD,MAIK,IAAI0qF,eAAJ,EAAqB;AACtB,YAAMnM,aAAa,GAAG,EAAtB;;AADsB,oLAECmM,eAAe,CAAC/B,SAFjB;AAAA;;AAAA;AAEtB,oEAAkD;AAAA,gBAAvCljI,QAAuC;;AAC9C,gBAAMiqI,UAAU,GAAGpR,eAAc,CAAC74H,QAAD,EAAW,KAAKuf,SAAhB,CAAjC;;AAD8C,wLAEtB0qH,UAFsB;AAAA;;AAAA;AAE9C,wEAAoC;AAAA,oBAAzBC,SAAyB;AAChCpR,6BAAa,CAACv/H,IAAd,CAAmB2wI,SAAnB;AACH;AAJ6C;AAAA;AAAA;AAAA;AAAA;AAKjD;AAPqB;AAAA;AAAA;AAAA;AAAA;;AAQtB,eAAOpR,aAAP;AACH,OATI,MAUA;AACD,cAAM,IAAIviI,KAAJ,wDAAN;AACH;;AACD,eAASyzI,cAAT,CAAwBzvF,MAAxB,EAA4E;AAAA,YAA5C4vF,UAA4C,uEAA/B,IAAI74H,GAAJ,EAA+B;AAAA,YAApBwnH,aAAoB,uEAAJ,EAAI;;AACxE;AACA;AACA,YAAIqR,UAAU,CAAC7kH,GAAX,CAAei1B,MAAf,KAA0B,CAACA,MAAM,CAACviD,IAAtC,EAA4C;AACxC,iBAAO8gI,aAAP;AACH;;AACDqR,kBAAU,CAAC54H,GAAX,CAAegpC,MAAf;;AACA,YAAM0vF,UAAU,GAAGpR,eAAc,CAAC9gH,IAAI,CAACoqH,iBAAL,CAAuBvc,mBAAvB,CAA2CrrE,MAA3C,EAAmD,IAAnD,CAAD,EAA2DxiC,IAAI,CAACwH,SAAhE,CAAjC;;AAPwE,oLAQhD0qH,UARgD;AAAA;;AAAA;AAQxE,oEAAoC;AAAA,gBAAzBC,UAAyB;AAChCpR,yBAAa,CAACv/H,IAAd,CAAmB2wI,UAAnB;AACAF,0BAAc,CAACE,UAAS,CAAC3Q,gBAAX,EAA6B4Q,UAA7B,EAAyCrR,aAAzC,CAAd;AACH;AAXuE;AAAA;AAAA;AAAA;AAAA;;AAYxE,eAAOA,aAAP;AACH;AACJ;;;;;;AAEL,SAAS0L,gBAAT,CAA0B/7F,SAA1B,EAAqC;AACjC;AACA;AACA;AACAA,WAAS,CAAC78B,UAAV,CAAqBrS,IAArB,CAA0BiZ,UAAU,CAACyJ,WAAW,CAACW,gBAAb,CAAV,CAAyCkqB,MAAzC,EAA1B;AACH;;AACD,SAASkiG,uBAAT,CAAiCrK,cAAjC,EAAiDyL,aAAjD,EAAgEnG,SAAhE,EAA2EJ,UAA3E,EAAuF;AACnFuG,eAAa,CAACpkH,YAAd,CAA2BjuB,OAA3B,CAAmC,UAAC4vC,GAAD,EAAS;AACxCA,OAAG,CAACgmB,QAAJ,CAAagxE,cAAc,CAAC9D,eAAf,CAA+BqJ,gBAAgB,CAACv8F,GAAG,CAACzmB,SAAL,EAAgB+iH,SAAhB,EAA2BJ,UAA3B,CAA/C,EAAuFl8F,GAAG,CAAC3vC,IAA3F,CAAb;AACH,GAFD;AAGH;;AACD,SAASksI,gBAAT,CAA0BmG,aAA1B,EAAyC/7E,IAAzC,EAA+C1F,MAA/C,EAAuD;AACnD,mBAAUyhF,aAAV,SAA0B/7E,IAAI,GAAG,OAAH,GAAa,EAA3C,qBAAwD1F,MAAxD;AACH;;AACD,SAAS0hF,gBAAT,CAA0B5F,SAA1B,EAAqCnhH,IAArC,EAA2CgnH,oBAA3C,EAAiEC,gBAAjE,EAAmF;AAC/E,MAAM5F,KAAK,GAAG6F,qCAAqC,CAAC/F,SAAD,EAAYnhH,IAAZ,EAAkBgnH,oBAAlB,EAAwCC,gBAAxC,CAAnD;;AACA,SAAOE,kBAAkB,CAAC9F,KAAD,CAAzB;AACH;;AACD,SAAS3B,2BAAT,CAAqCyB,SAArC,EAAgDnhH,IAAhD,EAAsDgnH,oBAAtD,EAA4EC,gBAA5E,EAA8F;AAC1F,SAAOG,uBAAuB,CAACL,gBAAgB,CAAC5F,SAAD,EAAYnhH,IAAZ,EAAkBgnH,oBAAlB,EAAwCC,gBAAxC,CAAjB,CAA9B;AACH;;AACD,SAASG,uBAAT,CAAiC1F,eAAjC,EAAkD;AAC9C,MAAIA,eAAe,CAAC2F,oBAAhB,IAAwC3F,eAAe,CAAC2F,oBAAhB,CAAqC9yI,MAAjF,EAAyF;AACrF,QAAMqnC,QAAQ,GAAG8lG,eAAe,CAAC2F,oBAAhB,CAAqCpuI,GAArC,CAAyC,UAAA8Z,CAAC;AAAA,6DAA6CA,CAAC,CAACte,IAA/C,iBAA0Dse,CAAC,CAACoJ,QAA5D,mBAA6EpJ,CAAC,CAACte,IAA/E;AAAA,KAA1C,CAAjB;AACA,UAAM+d,WAAW,CAACopB,QAAQ,CAACjmC,IAAT,CAAc,IAAd,CAAD,CAAjB;AACH;;AACD,SAAO+rI,eAAP;AACH,C,CACD;AACA;AACA;;;AACA,SAASwF,qCAAT,CAA+C/F,SAA/C,EAA0DnhH,IAA1D,EAAgEgnH,oBAAhE,EAAsFC,gBAAtF,EAAwG;AACpG,MAAMK,SAAS,GAAG,IAAIv5H,GAAJ,EAAlB;AACA,MAAMszH,KAAK,GAAG,EAAd;;AACA,MAAMkG,SAAS,GAAG,SAAZA,SAAY,CAACxqB,QAAD,EAAc;AAC5B,QAAIuqB,SAAS,CAACvlH,GAAV,CAAcg7F,QAAd,KAA2B,CAAC/8F,IAAI,CAACwnH,YAAL,CAAkBzqB,QAAlB,CAAhC,EAA6D;AACzD,aAAO,KAAP;AACH;;AACDuqB,aAAS,CAACt5H,GAAV,CAAc+uG,QAAd;AACA,QAAM8iB,YAAY,GAAGC,WAAW,CAAC9/G,IAAD,EAAOgnH,oBAAP,EAA6BC,gBAA7B,EAA+ClqB,QAA/C,CAAhC;AACAskB,SAAK,CAACrrI,IAAN,CAAW6pI,YAAX;AACAA,gBAAY,CAACF,SAAb,CAAuBnrI,OAAvB,CAA+B,UAAAiI,QAAQ,EAAI;AACvCA,cAAQ,CAACwkB,gBAAT,CAA0BG,OAA1B,CAAkC5sB,OAAlC,CAA0C,UAAAizI,OAAO;AAAA,eAAIF,SAAS,CAACE,OAAO,CAAC5rH,SAAR,CAAkBM,QAAnB,CAAb;AAAA,OAAjD;AACH,KAFD;AAGH,GAVD;;AAWAglH,WAAS,CAAC3sI,OAAV,CAAkB,UAACuoH,QAAD;AAAA,WAAcwqB,SAAS,CAACxqB,QAAD,CAAvB;AAAA,GAAlB;AACA,SAAOskB,KAAP;AACH;;AACD,SAASvB,WAAT,CAAqB9/G,IAArB,EAA2BgnH,oBAA3B,EAAiDC,gBAAjD,EAAmElqB,QAAnE,EAA6E;AACzE,MAAM2qB,kBAAkB,GAAG,EAA3B;AACA,MAAMnmH,UAAU,GAAG,EAAnB;AACA,MAAMG,KAAK,GAAG,EAAd;AACA,MAAMy+G,WAAW,GAAG,EAApB;AACA,MAAMR,SAAS,GAAG,EAAlB;AACA,MAAMgI,aAAa,GAAGX,oBAAoB,CAACW,aAArB,CAAmC5qB,QAAnC,CAAtB;AACA,MAAIqjB,qBAAqB,GAAG,KAA5B;AACA,MAAMwH,iBAAiB,GAAG7qB,QAAQ,CAAC7xB,QAAT,CAAkB,OAAlB,CAA1B,CARyE,CASzE;AACA;AACA;AACA;AACA;;AACA,MAAI,CAAC08C,iBAAD,IAAsBD,aAA1B,EAAyC;AACrCX,wBAAoB,CAACpO,YAArB,CAAkC7b,QAAlC,EAA4CvoH,OAA5C,CAAoD,UAACwiD,MAAD,EAAY;AAC5D,UAAM2gF,cAAc,GAAGqP,oBAAoB,CAACnP,aAArB,CAAmC7gF,MAAnC,CAAvB;AACA,UAAMwiF,UAAU,GAAG7B,cAAc,CAACjgF,QAAlC;;AACA,UAAI,CAAC8hF,UAAD,IAAeA,UAAU,CAAClB,UAAX,KAA0B,OAA7C,EAAsD;AAClD;AACH;;AACD,UAAIuP,UAAU,GAAG,KAAjB;;AACA,UAAIrO,UAAU,CAAClB,UAAX,KAA0B,OAA9B,EAAuC;AACnC,YAAI2O,gBAAgB,CAAChlB,WAAjB,CAA6BjrE,MAA7B,CAAJ,EAA0C;AACtC6wF,oBAAU,GAAG,IAAb,CADsC,CAEtC;AACA;AACA;AACA;AACA;;AACA,cAAI,CAACZ,gBAAgB,CAACrjB,mBAAjB,CAAqC5sE,MAArC,CAAL,EAAmD;AAC/C;AACAz1B,sBAAU,CAACvrB,IAAX,CAAgBghD,MAAhB;AACH,WAHD,MAIK;AACD;AACA;AACA0wF,8BAAkB,CAAC1xI,IAAnB,CAAwBghD,MAAxB;AACH;AACJ,SAhBD,MAiBK,IAAIiwF,gBAAgB,CAAC9iG,MAAjB,CAAwB6S,MAAxB,CAAJ,EAAqC;AACtC6wF,oBAAU,GAAG,IAAb;AACAnmH,eAAK,CAAC1rB,IAAN,CAAWghD,MAAX;AACH,SAHI,MAIA,IAAIiwF,gBAAgB,CAAC/kB,UAAjB,CAA4BlrE,MAA5B,CAAJ,EAAyC;AAC1C,cAAMv6C,QAAQ,GAAGwqI,gBAAgB,CAAC5kB,mBAAjB,CAAqCrrE,MAArC,EAA6C,KAA7C,CAAjB;;AACA,cAAIv6C,QAAJ,EAAc;AACVorI,sBAAU,GAAG,IAAb;AACAlI,qBAAS,CAAC3pI,IAAV,CAAeyG,QAAf;AACH;AACJ,SANI,MAOA,IAAIwqI,gBAAgB,CAACa,YAAjB,CAA8B9wF,MAA9B,CAAJ,EAA2C;AAC5C6wF,oBAAU,GAAG,IAAb;AACA,cAAMlrI,UAAU,GAAGsqI,gBAAgB,CAACc,qBAAjB,CAAuC/wF,MAAvC,EAA+C,IAA/C,EAAqD,KAArD,CAAnB;;AACA,cAAIr6C,UAAJ,EAAgB;AACZwjI,uBAAW,CAACnqI,IAAZ,CAAiB2G,UAAjB;AACH;AACJ;AACJ;;AACD,UAAI,CAACkrI,UAAL,EAAiB;AACbzH,6BAAqB,GACjBA,qBAAqB,IAAI4H,6BAA6B,CAAChoH,IAAD,EAAOw5G,UAAP,CAD1D;AAEH;AACJ,KAhDD;AAiDH;;AACD,SAAO;AACHzc,YAAQ,EAARA,QADG;AAEHx7F,cAAU,EAAVA,UAFG;AAGHmmH,sBAAkB,EAAlBA,kBAHG;AAIHhmH,SAAK,EAALA,KAJG;AAKHi+G,aAAS,EAATA,SALG;AAMHQ,eAAW,EAAXA,WANG;AAOHC,yBAAqB,EAArBA;AAPG,GAAP;AASH;;AACD,SAASL,yBAAT,CAAmC//G,IAAnC,EAAyCgnH,oBAAzC,EAA+DC,gBAA/D,EAAiFlqB,QAAjF,EAA2F;AACvF,MAAMojB,WAAW,GAAG,EAApB;AACA,MAAM6C,cAAc,GAAG,EAAvB;;AACA,MAAIgE,oBAAoB,CAACW,aAArB,CAAmC5qB,QAAnC,CAAJ,EAAkD;AAC9CiqB,wBAAoB,CAACpO,YAArB,CAAkC7b,QAAlC,EAA4CvoH,OAA5C,CAAoD,UAACwiD,MAAD,EAAY;AAC5D,UAAM2gF,cAAc,GAAGqP,oBAAoB,CAACnP,aAArB,CAAmC7gF,MAAnC,CAAvB;AACA,UAAMwiF,UAAU,GAAG7B,cAAc,CAACjgF,QAAlC;;AACA,UAAI,CAAC8hF,UAAD,IAAeA,UAAU,CAAClB,UAAX,KAA0B,OAA7C,EAAsD;AAClD;AACH;;AACD,UAAIkB,UAAU,CAAClB,UAAX,KAA0B,OAA9B,EAAuC;AACnC,YAAI2O,gBAAgB,CAACa,YAAjB,CAA8B9wF,MAA9B,CAAJ,EAA2C;AACvC,cAAMr6C,UAAU,GAAGsqI,gBAAgB,CAACc,qBAAjB,CAAuC/wF,MAAvC,EAA+C,IAA/C,EAAqD,KAArD,CAAnB;;AACA,cAAIr6C,UAAJ,EAAgB;AACZwjI,uBAAW,CAACnqI,IAAZ,CAAiB2G,UAAjB;AACH;AACJ,SALD,MAMK,IAAIsqI,gBAAgB,CAAC/kB,UAAjB,CAA4BlrE,MAA5B,CAAJ,EAAyC;AAC1C,cAAM91B,MAAM,GAAG+lH,gBAAgB,CAACgB,wBAAjB,CAA0CjxF,MAA1C,CAAf;;AACA,cAAI91B,MAAJ,EAAY;AACR8hH,0BAAc,CAAChtI,IAAf,CAAoBkrB,MAApB;AACH;AACJ;AACJ;AACJ,KApBD;AAqBH;;AACD,SAAO;AAAE67F,YAAQ,EAARA,QAAF;AAAYojB,eAAW,EAAXA,WAAZ;AAAyB6C,kBAAc,EAAdA;AAAzB,GAAP;AACH;;AACD,SAASgF,6BAAT,CAAuChoH,IAAvC,EAA6C03B,QAA7C,EAAuD;AACnD,MAAI0oF,qBAAqB,GAAG,KAA5B;;AADmD,MAE7C8H,OAF6C;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,aAG/C,oBAAWr2H,GAAX,EAAgB/S,OAAhB,EAAyB;AAAA;;AACrB+S,WAAG,CAACrd,OAAJ,CAAY,UAAAmpE,CAAC;AAAA,iBAAI1sD,UAAU,CAAC0sD,CAAD,EAAI,QAAJ,EAAU7+D,OAAV,CAAd;AAAA,SAAb;AACH;AAL8C;AAAA;AAAA,aAM/C,wBAAe7F,GAAf,EAAoB6F,OAApB,EAA6B;AAAA;;AACzBjE,cAAM,CAAC+T,IAAP,CAAY3V,GAAZ,EAAiBzE,OAAjB,CAAyB,UAAC4U,GAAD;AAAA,iBAAS6H,UAAU,CAAChY,GAAG,CAACmQ,GAAD,CAAJ,EAAW,QAAX,EAAiBtK,OAAjB,CAAnB;AAAA,SAAzB;AACH;AAR8C;AAAA;AAAA,aAS/C,wBAAe5I,KAAf,EAAsB4I,OAAtB,EAA+B,CAAG;AATa;AAAA;AAAA,aAU/C,oBAAW5I,KAAX,EAAkB4I,OAAlB,EAA2B;AACvB,YAAI5I,KAAK,YAAYgmB,YAAjB,IAAiC,CAAC8D,IAAI,CAACwnH,YAAL,CAAkBtxI,KAAK,CAACimB,QAAxB,CAAtC,EAAyE;AACrEikH,+BAAqB,GAAG,IAAxB;AACH;AACJ;AAd8C;;AAAA;AAAA;;AAgBnDnvH,YAAU,CAACymC,QAAD,EAAW,IAAIwwF,OAAJ,EAAX,EAA0B,IAA1B,CAAV;AACA,SAAO9H,qBAAP;AACH;;AACD,SAAS+G,kBAAT,CAA4BgB,aAA5B,EAA2C;AACvC,MAAMC,YAAY,GAAG,EAArB;AACA,MAAMxF,yBAAyB,GAAG,IAAIprI,GAAJ,EAAlC;AACA,MAAM6wI,qBAAqB,GAAG,IAAIt6H,GAAJ,EAA9B;AACAo6H,eAAa,CAAC3zI,OAAd,CAAsB,UAAA8zI,EAAE,EAAI;AACxBA,MAAE,CAAC3I,SAAH,CAAanrI,OAAb,CAAqB,UAAAiI,QAAQ,EAAI;AAC7B2rI,kBAAY,CAACpyI,IAAb,CAAkByG,QAAlB;AACAA,cAAQ,CAACgkB,kBAAT,CAA4BjsB,OAA5B,CAAoC,UAAAgiC,CAAC;AAAA,eAAIosG,yBAAyB,CAAC9pI,GAA1B,CAA8B09B,CAAC,CAAC3a,SAAhC,EAA2Cpf,QAA3C,CAAJ;AAAA,OAArC;AACAA,cAAQ,CAACkkB,aAAT,CAAuBnsB,OAAvB,CAA+B,UAAAsH,CAAC;AAAA,eAAI8mI,yBAAyB,CAAC9pI,GAA1B,CAA8BgD,CAAC,CAAC+f,SAAhC,EAA2Cpf,QAA3C,CAAJ;AAAA,OAAhC;AACH,KAJD;AAKA6rI,MAAE,CAAC/mH,UAAH,CAAc/sB,OAAd,CAAsB,UAAAgiC,CAAC;AAAA,aAAI6xG,qBAAqB,CAACr6H,GAAtB,CAA0BwoB,CAA1B,CAAJ;AAAA,KAAvB;AACA8xG,MAAE,CAAC5mH,KAAH,CAASltB,OAAT,CAAiB,UAAAsH,CAAC;AAAA,aAAIusI,qBAAqB,CAACr6H,GAAtB,CAA0BlS,CAA1B,CAAJ;AAAA,KAAlB;AACH,GARD;AASA,MAAMurI,oBAAoB,GAAG,EAA7B;AACAgB,uBAAqB,CAAC7zI,OAAtB,CAA8B,UAAAuoB,GAAG,EAAI;AACjC,QAAI,CAAC6lH,yBAAyB,CAAC7gH,GAA1B,CAA8BhF,GAA9B,CAAL,EAAyC;AACrCsqH,0BAAoB,CAACrxI,IAArB,CAA0B+mB,GAA1B;AACH;AACJ,GAJD;AAKA,SAAO;AACH4iH,aAAS,EAAEyI,YADR;AAEHxF,6BAAyB,EAAzBA,yBAFG;AAGHyE,wBAAoB,EAApBA,oBAHG;AAIHhG,SAAK,EAAE8G;AAJJ,GAAP;AAMH;;AACD,SAASxG,uBAAT,CAAiCN,KAAjC,EAAwC;AACpC,SAAO+F,uBAAuB,CAACD,kBAAkB,CAAC9F,KAAD,CAAnB,CAA9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMkH,iBAAiB,GAAG,oBAA1B;;AACA,SAASC,SAAT,CAAmBj0F,KAAnB,EAA0B;AACtB,MAAIA,KAAK,IAAI,CAAb,EACI,OAAO,EAAP;AACJ,MAAIA,KAAK,GAAG,CAAZ,EACI,OAAO,CAAC,EAAD,EAAK,GAAL,EAAU,IAAV,EAAgB,KAAhB,EAAuB,MAAvB,EAA+B,OAA/B,EAAwCA,KAAxC,CAAP;AACJ,MAAMk0F,IAAI,GAAGD,SAAS,CAACr0G,IAAI,CAACu0G,KAAL,CAAWn0F,KAAK,GAAG,CAAnB,CAAD,CAAtB;AACA,SAAOk0F,IAAI,GAAGA,IAAP,IAAel0F,KAAK,GAAG,CAAR,KAAc,CAAd,GAAkB,GAAlB,GAAwB,EAAvC,CAAP;AACH;;AACD,SAASo0F,WAAT,CAAqBC,KAArB,EAAwC;AAAA,MAAZ7/F,MAAY,uEAAH,CAAG;AACpC,MAAI,CAAC6/F,KAAL,EACI,OAAO,EAAP;AACJ,MAAM98E,QAAQ,GAAG88E,KAAK,CAAC98E,QAAN,aACV88E,KAAK,CAAC98E,QAAN,CAAeixD,QADL,cACiB6rB,KAAK,CAAC98E,QAAN,CAAe15B,IAAf,GAAsB,CADvC,cAC4Cw2G,KAAK,CAAC98E,QAAN,CAAelhB,MAAf,GAAwB,CADpE,SAEb,EAFJ;AAGA,MAAMn3C,MAAM,GAAGq4D,QAAQ,IAAI/iB,MAAM,KAAK,CAAvB,aAA8B+iB,QAA9B,UAA6C,EAA5D;AACA,MAAMpsB,OAAO,GAAGosB,QAAQ,IAAI/iB,MAAM,KAAK,CAAvB,iBAAkC+iB,QAAlC,IAA+C,EAA/D;AACA,MAAIz2B,OAAO,aAAM5hC,MAAN,SAAem1I,KAAK,CAACvzG,OAArB,SAA+BqK,OAA/B,CAAX;;AACA,MAAIkpG,KAAK,CAACjtE,IAAV,EAAgB;AAAA,gLACMitE,KAAK,CAACjtE,IADZ;AAAA;;AAAA;AACZ,gEAA8B;AAAA,YAAnBktE,GAAmB;AAC1BxzG,eAAO,IAAI,OAAOszG,WAAW,CAACE,GAAD,EAAM9/F,MAAM,GAAG,CAAf,CAA7B;AACH;AAHW;AAAA;AAAA;AAAA;AAAA;AAIf;;AACD,mBAAUy/F,SAAS,CAACz/F,MAAD,CAAnB,SAA8B1T,OAA9B;AACH;;AACD,SAASyzG,cAAT,CAAwBF,KAAxB,EAA+B;AAC3B,MAAMvzG,OAAO,GAAGszG,WAAW,CAACC,KAAD,CAAX,GAAqB,GAArC;AACA,MAAMn8H,KAAK,GAAG+F,WAAW,CAAC6iB,OAAD,CAAzB;AACA5oB,OAAK,CAAC87H,iBAAD,CAAL,GAA2B,IAA3B;AACA97H,OAAK,CAACm8H,KAAN,GAAcA,KAAd;AACAn8H,OAAK,CAACq/C,QAAN,GAAiB88E,KAAK,CAAC98E,QAAvB;AACA,SAAOr/C,KAAP;AACH;;AACD,SAASs8H,gBAAT,CAA0Bt8H,KAA1B,EAAiC;AAC7B,SAAO,CAAC,CAACA,KAAK,CAAC87H,iBAAD,CAAd;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMS,YAAY,GAAG,eAArB;AACA,IAAMC,cAAc,GAAG,iBAAvB;AACA,IAAMC,UAAU,GAAG,UAAnB;AACA,IAAMC,MAAM,GAAG;AACX7Q,YAAU,EAAE;AADD,CAAf;AAGA,IAAM8Q,WAAW,GAAG,UAApB;AACA,IAAMC,OAAO,GAAG,SAAhB;AACA,IAAMC,aAAa,GAAG,IAAIv7H,GAAJ,CAAQ,CAACq7H,WAAD,EAAc,YAAd,EAA4B,MAA5B,EAAoC,IAApC,EAA0C,cAA1C,CAAR,CAAtB;AACA,IAAMG,iBAAiB,GAAG,WAA1B;AACA,IAAMC,MAAM,GAAG,OAAf;;AACA,SAASC,YAAT,CAAsBvzI,KAAtB,EAA6B;AACzB,SAAOA,KAAK,IAAIA,KAAK,CAACoiI,UAAN,IAAoB,QAApC;AACH;AACD;AACA;AACA;AACA;;;IACMoR,e;AACF,2BAAYpT,eAAZ,EAA6B8E,cAA7B,EAAoH;AAAA;;AAAA,QAAvEuO,oBAAuE,uEAAhD,EAAgD;AAAA,QAA5CC,sBAA4C,uEAAnB,EAAmB;AAAA,QAAfrT,aAAe;;AAAA;;AAChH,SAAKD,eAAL,GAAuBA,eAAvB;AACA,SAAK8E,cAAL,GAAsBA,cAAtB;AACA,SAAK7E,aAAL,GAAqBA,aAArB;AACA,SAAKsT,eAAL,GAAuB,IAAIryI,GAAJ,EAAvB;AACA,SAAKsyI,sBAAL,GAA8B,IAAItyI,GAAJ,EAA9B;AACA,SAAKuyI,aAAL,GAAqB,IAAIvyI,GAAJ,EAArB;AACA,SAAKwyI,cAAL,GAAsB,IAAIxyI,GAAJ,EAAtB;AACA,SAAKyyI,WAAL,GAAmB,IAAIzyI,GAAJ,EAAnB;AACA,SAAK0yI,WAAL,GAAmB,IAAI1yI,GAAJ,EAAnB;AACA,SAAK2yI,aAAL,GAAqB,IAAI3yI,GAAJ,EAArB;AACA,SAAK4yI,0BAAL,GAAkC,IAAI5yI,GAAJ,EAAlC;AACA,SAAK6yI,uCAAL,GAA+C,IAAI7yI,GAAJ,EAA/C;AACA,SAAK8yI,uBAAL;AACAX,wBAAoB,CAACn1I,OAArB,CAA6B,UAAC+1I,EAAD;AAAA,aAAQ,QAAI,CAACC,+BAAL,CAAqC,QAAI,CAAClT,eAAL,CAAqBiT,EAAE,CAACpuH,QAAxB,EAAkCouH,EAAE,CAAC91I,IAArC,CAArC,EAAiF81I,EAAE,CAACx+E,IAApF,CAAR;AAAA,KAA7B;AACA69E,0BAAsB,CAACp1I,OAAvB,CAA+B,UAACi2I,EAAD;AAAA,aAAQ,QAAI,CAACC,iBAAL,CAAuB,QAAI,CAACpT,eAAL,CAAqBmT,EAAE,CAACtuH,QAAxB,EAAkCsuH,EAAE,CAACh2I,IAArC,CAAvB,EAAmEg2I,EAAE,CAAC3lI,EAAtE,CAAR;AAAA,KAA/B;AACA,SAAKulI,uCAAL,CAA6CvxI,GAA7C,CAAiDykB,kBAAkB,CAACuC,SAApE,EAA+E,CAACzkB,eAAD,EAAkBI,eAAlB,CAA/E;AACA,SAAK4uI,uCAAL,CAA6CvxI,GAA7C,CAAiDykB,kBAAkB,CAAC+C,IAApE,EAA0E,CAACzkB,UAAD,CAA1E;AACA,SAAKwuI,uCAAL,CAA6CvxI,GAA7C,CAAiDykB,kBAAkB,CAAC4D,QAApE,EAA8E,CAAC3kB,cAAD,CAA9E;AACA,SAAK6tI,uCAAL,CAA6CvxI,GAA7C,CAAiDykB,kBAAkB,CAACsoB,UAApE,EAAgF,CAACnpC,gBAAD,EAAmBb,UAAnB,EAA+BR,eAA/B,EAAgDI,eAAhD,EAAiEe,cAAjE,CAAhF;AACH;;;;WACD,4BAAmBy4C,UAAnB,EAA+B;AAC3B,UAAM6hF,YAAY,GAAG,KAAK6T,qBAAL,CAA2B11F,UAA3B,CAArB;AACA,aAAO,KAAKmmF,cAAL,CAAoBwP,eAApB,CAAoC9T,YAApC,CAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,2BAAkBoB,OAAlB,EAA2B;AAAA,kLACFA,OADE;AAAA;;AAAA;AACvB,kEAA8B;AAAA,cAAnBlhF,MAAmB;AAC1B,eAAK6yF,eAAL,CAAqB9mF,MAArB,CAA4B/L,MAA5B;AACA,eAAK8yF,sBAAL,CAA4B/mF,MAA5B,CAAmC/L,MAAnC;AACA,eAAK+yF,aAAL,CAAmBhnF,MAAnB,CAA0B/L,MAA1B;AACA,eAAKgzF,cAAL,CAAoBjnF,MAApB,CAA2B/L,MAA3B;AACA,eAAKizF,WAAL,CAAiBlnF,MAAjB,CAAwB/L,MAAxB;AACA,eAAKkzF,WAAL,CAAiBnnF,MAAjB,CAAwB/L,MAAxB;AACA,eAAKmzF,aAAL,CAAmBpnF,MAAnB,CAA0B/L,MAA1B;AACH;AATsB;AAAA;AAAA;AAAA;AAAA;AAU1B;;;WACD,kCAAyBj6B,GAAzB,EAA8Bg+G,cAA9B,EAA8C;AAC1C,UAAI3xH,GAAG,GAAG5O,SAAV;;AACA,UAAI,CAACugI,cAAL,EAAqB;AACjB3xH,WAAG,aAAM2T,GAAG,CAACxV,UAAV,cAAwBwV,GAAG,CAACtoB,IAA5B,CAAH;;AACA,YAAMyoI,kBAAiB,GAAG,KAAKkN,0BAAL,CAAgCvxI,GAAhC,CAAoCuQ,GAApC,CAA1B;;AACA,YAAI8zH,kBAAJ,EACI,OAAOA,kBAAP;AACP;;AACD,UAAM2N,SAAS,GAAG,KAAKzP,cAAL,CAAoB0P,iBAApB,CAAsC/tH,GAAG,CAACxV,UAA1C,EAAsDwV,GAAG,CAACtoB,IAA1D,EAAgEsmI,cAAhE,CAAlB;AACA,UAAMmC,iBAAiB,GAAG,KAAKyN,qBAAL,CAA2BE,SAA3B,CAA1B;;AACA,UAAI,CAAC9P,cAAL,EAAqB;AACjB,aAAKK,cAAL,CAAoB2P,2BAApB,CAAgDF,SAAS,CAAC1uH,QAA1D,EAAoEY,GAAG,CAACxV,UAAxE;AACA,aAAK6zH,cAAL,CAAoB4P,cAApB,CAAmC9N,iBAAnC,EAAsD2N,SAAtD;AACH;;AACD,UAAIzhI,GAAJ,EAAS;AACL,aAAKghI,0BAAL,CAAgCtxI,GAAhC,CAAoCsQ,GAApC,EAAyC8zH,iBAAzC;AACH;;AACD,aAAOA,iBAAP;AACH;;;WACD,yBAAgBv/G,SAAhB,EAA2BlpB,IAA3B,EAAiCsmI,cAAjC,EAAiD;AAC7C,aAAO,KAAK4P,qBAAL,CAA2B,KAAKvP,cAAL,CAAoB0P,iBAApB,CAAsCntH,SAAtC,EAAiDlpB,IAAjD,EAAuDsmI,cAAvD,CAA3B,CAAP;AACH;;;WACD,4BAAmBp9G,SAAnB,EAA8BlpB,IAA9B,EAAoCsmI,cAApC,EAAoD;AAAA;;AAChD,aAAO,KAAKK,cAAL,CAAoB6P,eAApB,CAAoC;AAAA,eAAM,QAAI,CAACC,eAAL,CAAqBvtH,SAArB,EAAgClpB,IAAhC,EAAsCsmI,cAAtC,CAAN;AAAA,OAApC,CAAP;AACH;;;WACD,+BAAsB/jF,MAAtB,EAA8B;AAC1B,UAAM2gF,cAAc,GAAG,KAAKyD,cAAL,CAAoBvD,aAApB,CAAkC7gF,MAAlC,CAAvB;;AACA,UAAI2gF,cAAJ,EAAoB;AAChB,YAAIwT,gBAAgB,GAAGxT,cAAc,CAACjgF,QAAtC;;AACA,YAAIyzF,gBAAgB,IAAIA,gBAAgB,CAAC7S,UAAjB,KAAgC,UAAxD,EAAoE;AAChE6S,0BAAgB,GAAGA,gBAAgB,CAACn0F,MAApC;AACH;;AACD,YAAIm0F,gBAAgB,YAAYjvH,YAAhC,EAA8C;AAC1C,iBAAO,KAAKyuH,qBAAL,CAA2BhT,cAAc,CAACjgF,QAA1C,CAAP;AACH;AACJ;;AACD,aAAOV,MAAP;AACH;;;WACD,wBAAe/1C,IAAf,EAAqB;AACjB,UAAMmqI,gBAAgB,GAAG,KAAK7U,aAA9B;;AACA,WAAKA,aAAL,GAAqB,UAAC9pH,KAAD,EAAQswG,QAAR,EAAqB,CAAG,CAA7C;;AACA,UAAI;AACA,eAAO,KAAKvP,WAAL,CAAiBvsG,IAAjB,CAAP;AACH,OAFD,SAGQ;AACJ,aAAKs1H,aAAL,GAAqB6U,gBAArB;AACH;AACJ;;;WACD,qBAAYnqI,IAAZ,EAAkB;AAAA;;AACd,aAAO,KAAKoqI,YAAL,CAAkBpqI,IAAlB,EAAwB,UAACA,IAAD,EAAOy3H,UAAP;AAAA,eAAsB,QAAI,CAAC4S,QAAL,CAAcrqI,IAAd,EAAoBy3H,UAApB,CAAtB;AAAA,OAAxB,EAA+E,KAAKmR,eAApF,CAAP;AACH;;;WACD,4BAAmB5oI,IAAnB,EAAyB;AAAA;;AACrB,aAAO,KAAKoqI,YAAL,CAAkBpqI,IAAlB,EAAwB,UAACA,IAAD,EAAOy3H,UAAP;AAAA,eAAsB,QAAI,CAAC4S,QAAL,CAAcrqI,IAAd,EAAoBy3H,UAApB,EAAgC,IAAhC,CAAtB;AAAA,OAAxB,EAAqF,KAAKoR,sBAA1F,CAAP;AACH;;;WACD,sBAAa7oI,IAAb,EAAmBqqI,QAAnB,EAA6BzB,eAA7B,EAA8C;AAC1C,UAAIr8B,WAAW,GAAGq8B,eAAe,CAAChxI,GAAhB,CAAoBoI,IAApB,CAAlB;;AACA,UAAI,CAACusG,WAAL,EAAkB;AACdA,mBAAW,GAAG,EAAd;AACA,YAAM+9B,aAAa,GAAG,KAAKC,eAAL,CAAqBvqI,IAArB,CAAtB;AACA,YAAMwqI,UAAU,GAAG,KAAKC,cAAL,CAAoBzqI,IAApB,EAA0BsqI,aAA1B,CAAnB;;AACA,YAAIE,UAAJ,EAAgB;AAAA;;AACZ,cAAME,iBAAiB,GAAG,KAAKn+B,WAAL,CAAiBi+B,UAAjB,CAA1B;;AACA,2BAAAj+B,WAAW,EAACx3G,IAAZ,yKAAoB21I,iBAApB;AACH;;AACD,YAAIC,cAAc,GAAG,EAArB;;AACA,YAAIL,aAAa,CAAC,YAAD,CAAjB,EAAiC;AAC7BK,wBAAc,GAAGN,QAAQ,CAACrqI,IAAD,EAAOsqI,aAAa,CAAC,YAAD,CAApB,CAAzB;;AACA,cAAIK,cAAJ,EAAoB;AAAA;;AAChB,6BAAAp+B,WAAW,EAACx3G,IAAZ,yKAAoB41I,cAApB;AACH;AACJ;;AACD,YAAIH,UAAU,IAAI,CAAC,KAAKnV,eAAL,CAAqB0D,aAArB,CAAmC/4H,IAAI,CAACkb,QAAxC,CAAf,IACA,KAAKm6G,eAAL,CAAqB0D,aAArB,CAAmCyR,UAAU,CAACtvH,QAA9C,CADJ,EAC6D;AACzD,cAAMwoF,OAAO,GAAG,KAAK2xB,eAAL,CAAqBnW,cAArB,CAAoCsrB,UAApC,CAAhB;;AACA,cAAI9mC,OAAO,IAAIA,OAAO,CAAC1jG,IAAvB,EAA6B;AACzB,gBAAM4qI,uBAAuB,GAAG,KAAKxB,uCAAL,CAA6CxxI,GAA7C,CAAiD8rG,OAAO,CAAC1jG,IAAR,CAAa4e,WAA9D,CAAhC;AACA,gBAAMisH,yBAAyB,GAAGD,uBAAuB,CAACx5H,IAAxB,CAA6B,UAAC05H,YAAD;AAAA,qBAAkBH,cAAc,CAACv5H,IAAf,CAAoB,UAAA43F,GAAG;AAAA,uBAAI8hC,YAAY,CAACruI,QAAb,CAAsBusG,GAAtB,CAAJ;AAAA,eAAvB,CAAlB;AAAA,aAA7B,CAAlC;;AACA,gBAAI,CAAC6hC,yBAAL,EAAgC;AAC5B,mBAAKjkD,WAAL,CAAiBmkD,mBAAmB,CAACC,aAAa,iBAAUhrI,IAAI,CAACxM,IAAf,iBAA0BwM,IAAI,CAACkb,QAA/B,6BAA0DoB,kBAAkB,CAAConF,OAAO,CAAC1jG,IAAR,CAAa4e,WAAd,CAA5E;AAClD;AAAcrlB,uBADoC,yBACTqxI,uBAAuB,CAAC5yI,GAAxB,CAA4B,UAACgI,IAAD;AAAA,uBAAUA,IAAI,CAACxD,cAAf;AAAA,eAA5B,EACpC9H,IADoC,CAC/B,MAD+B,CADS,6BAAd,EAESsL,IAFT,CAApC,EAEoDA,IAFpD;AAGH;AACJ;AACJ;;AACD4oI,uBAAe,CAAC/wI,GAAhB,CAAoBmI,IAApB,EAA0BusG,WAAW,CAAC51F,MAAZ,CAAmB,UAAAqyF,GAAG;AAAA,iBAAI,CAAC,CAACA,GAAN;AAAA,SAAtB,CAA1B;AACH;;AACD,aAAOuD,WAAP;AACH;;;WACD,sBAAavsG,IAAb,EAAmB;AAAA;;AACf,UAAI4oG,YAAY,GAAG,KAAKkgC,aAAL,CAAmBlxI,GAAnB,CAAuBoI,IAAvB,CAAnB;;AACA,UAAI,CAAC4oG,YAAL,EAAmB;AACf,YAAM0hC,aAAa,GAAG,KAAKC,eAAL,CAAqBvqI,IAArB,CAAtB;AACA4oG,oBAAY,GAAG,EAAf;AACA,YAAM4hC,UAAU,GAAG,KAAKC,cAAL,CAAoBzqI,IAApB,EAA0BsqI,aAA1B,CAAnB;;AACA,YAAIE,UAAJ,EAAgB;AACZ,cAAMS,kBAAkB,GAAG,KAAKriC,YAAL,CAAkB4hC,UAAlB,CAA3B;AACA5wI,gBAAM,CAAC+T,IAAP,CAAYs9H,kBAAZ,EAAgC13I,OAAhC,CAAwC,UAAC23I,UAAD,EAAgB;AACpDtiC,wBAAY,CAACsiC,UAAD,CAAZ,GAA2BD,kBAAkB,CAACC,UAAD,CAA7C;AACH,WAFD;AAGH;;AACD,YAAM/vH,OAAO,GAAGmvH,aAAa,CAAC,SAAD,CAAb,IAA4B,EAA5C;AACA1wI,cAAM,CAAC+T,IAAP,CAAYwN,OAAZ,EAAqB5nB,OAArB,CAA6B,UAAC0xE,QAAD,EAAc;AACvC,cAAMkmE,QAAQ,GAAGhwH,OAAO,CAAC8pD,QAAD,CAAxB;AACA,cAAMr3D,IAAI,GAAGu9H,QAAQ,CAChBjtG,IADQ,CACH,UAAAvJ,CAAC;AAAA,mBAAIA,CAAC,CAAC,YAAD,CAAD,IAAmB,UAAnB,IAAiCA,CAAC,CAAC,YAAD,CAAD,IAAmB,QAAxD;AAAA,WADE,CAAb;AAEA,cAAM8iG,UAAU,GAAG,EAAnB,CAJuC,CAKvC;AACA;;AACA,cAAI7uB,YAAY,KAAK,IAAjB,IAAyBA,YAAY,KAAK,KAAK,CAA/C,GAAmD,KAAK,CAAxD,GAA4DA,YAAY,CAACh2F,cAAb,CAA4BqyD,QAA5B,CAAhE,EAAuG;AACnGwyD,sBAAU,CAAC1iI,IAAX,OAAA0iI,UAAU,qJAAS7uB,YAAY,CAAC3jC,QAAD,CAArB,EAAV;AACH;;AACD2jC,sBAAY,CAAC3jC,QAAD,CAAZ,GAAyBwyD,UAAzB;;AACA,cAAI7pH,IAAI,IAAIA,IAAI,CAAC,YAAD,CAAhB,EAAgC;AAC5B6pH,sBAAU,CAAC1iI,IAAX,OAAA0iI,UAAU,qJAAS,QAAI,CAAC4S,QAAL,CAAcrqI,IAAd,EAAoB4N,IAAI,CAAC,YAAD,CAAxB,CAAT,EAAV;AACH;AACJ,SAdD;AAeA,aAAKk7H,aAAL,CAAmBjxI,GAAnB,CAAuBmI,IAAvB,EAA6B4oG,YAA7B;AACH;;AACD,aAAOA,YAAP;AACH;;;WACD,oBAAW5oG,IAAX,EAAiB;AAAA;;AACb,UAAI,EAAEA,IAAI,YAAYib,YAAlB,CAAJ,EAAqC;AACjC,aAAK2rE,WAAL,CAAiB,IAAI70F,KAAJ,+BAAiCqpB,IAAI,CAAC9I,SAAL,CAAetS,IAAf,CAAjC,kCAAjB,EAAuGA,IAAvG;AACA,eAAO,EAAP;AACH;;AACD,UAAI;AACA,YAAI8W,UAAU,GAAG,KAAKiyH,cAAL,CAAoBnxI,GAApB,CAAwBoI,IAAxB,CAAjB;;AACA,YAAI,CAAC8W,UAAL,EAAiB;AACb,cAAMwzH,aAAa,GAAG,KAAKC,eAAL,CAAqBvqI,IAArB,CAAtB;AACA,cAAMwqI,UAAU,GAAG,KAAKC,cAAL,CAAoBzqI,IAApB,EAA0BsqI,aAA1B,CAAnB;AACA,cAAMnvH,OAAO,GAAGmvH,aAAa,GAAGA,aAAa,CAAC,SAAD,CAAhB,GAA8B,IAA3D;AACA,cAAMc,QAAQ,GAAGjwH,OAAO,GAAGA,OAAO,CAAC,UAAD,CAAV,GAAyB,IAAjD;;AACA,cAAIiwH,QAAJ,EAAc;AACV,gBAAMtgF,IAAI,GAAGsgF,QAAQ,CAACltG,IAAT,CAAc,UAAAvJ,CAAC;AAAA,qBAAIA,CAAC,CAAC,YAAD,CAAD,IAAmB,aAAvB;AAAA,aAAf,CAAb;AACA,gBAAM02G,iBAAiB,GAAGvgF,IAAI,CAAC,YAAD,CAAJ,IAAsB,EAAhD;AACA,gBAAMwgF,mBAAmB,GAAG,KAAKjB,QAAL,CAAcrqI,IAAd,EAAoB8qD,IAAI,CAAC,qBAAD,CAAJ,IAA+B,EAAnD,CAA5B;AACAh0C,sBAAU,GAAG,EAAb;AACAu0H,6BAAiB,CAAC93I,OAAlB,CAA0B,UAACg4I,YAAD,EAAeprI,KAAf,EAAyB;AAC/C,kBAAMqrI,YAAY,GAAG,EAArB;;AACA,kBAAMC,SAAS,GAAG,QAAI,CAACC,WAAL,CAAiB1rI,IAAjB,EAAuBurI,YAAvB,CAAlB;;AACA,kBAAIE,SAAJ,EACID,YAAY,CAACz2I,IAAb,CAAkB02I,SAAlB;AACJ,kBAAMhU,UAAU,GAAG6T,mBAAmB,GAAGA,mBAAmB,CAACnrI,KAAD,CAAtB,GAAgC,IAAtE;;AACA,kBAAIs3H,UAAJ,EAAgB;AACZ+T,4BAAY,CAACz2I,IAAb,OAAAy2I,YAAY,qJAAS/T,UAAT,EAAZ;AACH;;AACD3gH,wBAAU,CAAC/hB,IAAX,CAAgBy2I,YAAhB;AACH,aAVD;AAWH,WAhBD,MAiBK,IAAIhB,UAAJ,EAAgB;AACjB1zH,sBAAU,GAAG,KAAKA,UAAL,CAAgB0zH,UAAhB,CAAb;AACH;;AACD,cAAI,CAAC1zH,UAAL,EAAiB;AACbA,sBAAU,GAAG,EAAb;AACH;;AACD,eAAKiyH,cAAL,CAAoBlxI,GAApB,CAAwBmI,IAAxB,EAA8B8W,UAA9B;AACH;;AACD,eAAOA,UAAP;AACH,OAjCD,CAkCA,OAAOxU,CAAP,EAAU;AACN6tG,eAAO,CAAC3kG,KAAR,0BAAgC4P,IAAI,CAAC9I,SAAL,CAAetS,IAAf,CAAhC,yBAAmEsC,CAAnE;AACA,cAAMA,CAAN;AACH;AACJ;;;WACD,sBAAatC,IAAb,EAAmB;AACf,UAAI2rI,WAAW,GAAG,KAAK3C,WAAL,CAAiBpxI,GAAjB,CAAqBoI,IAArB,CAAlB;;AACA,UAAI,CAAC2rI,WAAL,EAAkB;AACd,YAAMrB,aAAa,GAAG,KAAKC,eAAL,CAAqBvqI,IAArB,CAAtB;AACA2rI,mBAAW,GAAG,EAAd;AACA,YAAMnB,UAAU,GAAG,KAAKC,cAAL,CAAoBzqI,IAApB,EAA0BsqI,aAA1B,CAAnB;;AACA,YAAIE,UAAJ,EAAgB;AACZ,cAAMoB,iBAAiB,GAAG,KAAKC,YAAL,CAAkBrB,UAAlB,CAA1B;;AACA5wI,gBAAM,CAAC+T,IAAP,CAAYi+H,iBAAZ,EAA+Br4I,OAA/B,CAAuC,UAAC23I,UAAD,EAAgB;AACnDS,uBAAW,CAACT,UAAD,CAAX,GAA0BU,iBAAiB,CAACV,UAAD,CAA3C;AACH,WAFD;AAGH;;AACD,YAAM/vH,OAAO,GAAGmvH,aAAa,CAAC,SAAD,CAAb,IAA4B,EAA5C;AACA1wI,cAAM,CAAC+T,IAAP,CAAYwN,OAAZ,EAAqB5nB,OAArB,CAA6B,UAAC0xE,QAAD,EAAc;AACvC,cAAMkmE,QAAQ,GAAGhwH,OAAO,CAAC8pD,QAAD,CAAxB;AACA,cAAM6mE,QAAQ,GAAGX,QAAQ,CAAC/5H,IAAT,CAAc,UAAAujB,CAAC;AAAA,mBAAIA,CAAC,CAAC,YAAD,CAAD,IAAmB,QAAvB;AAAA,WAAf,CAAjB;AACAg3G,qBAAW,CAAC1mE,QAAD,CAAX,GAAwB0mE,WAAW,CAAC1mE,QAAD,CAAX,IAAyB6mE,QAAjD;AACH,SAJD;AAKA,aAAK9C,WAAL,CAAiBnxI,GAAjB,CAAqBmI,IAArB,EAA2B2rI,WAA3B;AACH;;AACD,aAAOA,WAAP;AACH;;;WACD,wBAAe3rI,IAAf,EAAqB;AACjB,UAAI+rI,aAAa,GAAG,KAAK9C,WAAL,CAAiBrxI,GAAjB,CAAqBoI,IAArB,CAApB;;AACA,UAAI,CAAC+rI,aAAL,EAAoB;AAChB,YAAMzB,aAAa,GAAG,KAAKC,eAAL,CAAqBvqI,IAArB,CAAtB;AACA,YAAMgsI,gBAAgB,GAAG1B,aAAa,CAAC,SAAD,CAAb,IAA4B,EAArD;AACAyB,qBAAa,GAAGnyI,MAAM,CAAC+T,IAAP,CAAYq+H,gBAAZ,CAAhB;AACA,aAAK/C,WAAL,CAAiBpxI,GAAjB,CAAqBmI,IAArB,EAA2B+rI,aAA3B;AACH;;AACD,aAAOA,aAAP;AACH;;;WACD,wBAAe/rI,IAAf,EAAqBsqI,aAArB,EAAoC;AAChC,UAAME,UAAU,GAAG,KAAKkB,WAAL,CAAiB1rI,IAAjB,EAAuBsqI,aAAa,CAAC,SAAD,CAApC,CAAnB;;AACA,UAAIE,UAAU,YAAYvvH,YAA1B,EAAwC;AACpC,eAAOuvH,UAAP;AACH;AACJ;;;WACD,0BAAiBxqI,IAAjB,EAAuBi0C,UAAvB,EAAmC;AAC/B,UAAI,EAAEj0C,IAAI,YAAYib,YAAlB,CAAJ,EAAqC;AACjC,aAAK2rE,WAAL,CAAiB,IAAI70F,KAAJ,qCAAuCqpB,IAAI,CAAC9I,SAAL,CAAetS,IAAf,CAAvC,kCAAjB,EAA6GA,IAA7G;AACH;;AACD,UAAI;AACA,eAAO,CAAC,CAAC,KAAK6rI,YAAL,CAAkB7rI,IAAlB,EAAwBi0C,UAAxB,CAAT;AACH,OAFD,CAGA,OAAO3xC,CAAP,EAAU;AACN6tG,eAAO,CAAC3kG,KAAR,0BAAgC4P,IAAI,CAAC9I,SAAL,CAAetS,IAAf,CAAhC,yBAAmEsC,CAAnE;AACA,cAAMA,CAAN;AACH;AACJ;;;WACD,gBAAOtC,IAAP,EAAa;AACT,UAAI,EAAEA,IAAI,YAAYib,YAAlB,CAAJ,EAAqC;AACjC,aAAK2rE,WAAL,CAAiB,IAAI70F,KAAJ,2BAA6BqpB,IAAI,CAAC9I,SAAL,CAAetS,IAAf,CAA7B,kCAAjB,EAAmGA,IAAnG;AACA,eAAO,EAAP;AACH;;AACD,UAAM+rI,aAAa,GAAG,KAAKE,cAAL,CAAoBjsI,IAApB,CAAtB;;AACA,UAAMlL,MAAM,GAAG,EAAf;;AANS,kLAOQi3I,aAPR;AAAA;;AAAA;AAOT,kEAAgC;AAAA,cAAvBv4I,IAAuB;;AAC5B,cAAIA,IAAI,CAACy2F,QAAL,CAAcq+C,iBAAd,CAAJ,EAAsC;AAClC,gBAAInyH,QAAQ,GAAG3iB,IAAI,CAACyC,MAAL,CAAY,CAAZ,EAAezC,IAAI,CAACF,MAAL,GAAcg1I,iBAAiB,CAACh1I,MAA/C,CAAf;AACA,gBAAI2B,KAAK,SAAT;;AACA,gBAAIkhB,QAAQ,CAAC8zE,QAAT,CAAkBs+C,MAAlB,CAAJ,EAA+B;AAC3BpyH,sBAAQ,GAAG3iB,IAAI,CAACyC,MAAL,CAAY,CAAZ,EAAekgB,QAAQ,CAAC7iB,MAAT,GAAkBi1I,MAAM,CAACj1I,MAAxC,CAAX;AACA2B,mBAAK,GAAGszI,MAAR;AACH,aAHD,MAIK;AACDtzI,mBAAK,GAAG,KAAKohI,eAAL,CAAqBr2H,IAAI,CAACkb,QAA1B,EAAoClb,IAAI,CAACxM,IAAzC,EAA+C,CAACA,IAAD,CAA/C,CAAR;AACH;;AACDsB,kBAAM,CAACqhB,QAAD,CAAN,GAAmBlhB,KAAnB;AACH;AACJ;AApBQ;AAAA;AAAA;AAAA;AAAA;;AAqBT,aAAOH,MAAP;AACH;;;WACD,yCAAgCkL,IAAhC,EAAsC8qD,IAAtC,EAA4C;AACxC,WAAKo+E,aAAL,CAAmBrxI,GAAnB,CAAuBmI,IAAvB,EAA6B,UAACnC,OAAD,EAAUvC,IAAV;AAAA,yJAAuBwvD,IAAvB,qJAA+BxvD,IAA/B;AAAA,OAA7B;AACH;;;WACD,2BAAkB0E,IAAlB,EAAwB6D,EAAxB,EAA4B;AACxB,WAAKqlI,aAAL,CAAmBrxI,GAAnB,CAAuBmI,IAAvB,EAA6B,UAACnC,OAAD,EAAUvC,IAAV;AAAA,eAAmBuI,EAAE,CAACooD,KAAH,CAAS1yD,SAAT,EAAoB+B,IAApB,CAAnB;AAAA,OAA7B;AACH;;;WACD,mCAA0B;AACtB,WAAKiuI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,YAAnC,CAArC,EAAuFtsI,gBAAvF;;AACA,WAAKywI,cAAL,GAAsB,KAAKjC,eAAL,CAAqBlC,YAArB,EAAmC,gBAAnC,CAAtB;AACA,WAAKoE,WAAL,GAAmB,KAAKlC,eAAL,CAAqBlC,YAArB,EAAmC,aAAnC,CAAnB;AACA,WAAKxT,MAAL,GAAc,KAAK6X,kBAAL,CAAwBpE,cAAxB,EAAwC,QAAxC,CAAd;AACA,WAAKtwH,4BAAL,GACI,KAAKuyH,eAAL,CAAqBlC,YAArB,EAAmC,8BAAnC,CADJ;;AAEA,WAAKwB,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,MAAnC,CAArC,EAAiF/rI,UAAjF;;AACA,WAAKutI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,MAAnC,CAArC,EAAiFjsI,UAAjF;;AACA,WAAKytI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,UAAnC,CAArC,EAAqFhsI,cAArF;;AACA,WAAKwtI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,QAAnC,CAArC,EAAmF/uI,YAAnF;;AACA,WAAKuwI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,UAAnC,CAArC,EAAqFlsI,cAArF;;AACA,WAAK0tI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,WAAnC,CAArC,EAAsFvuI,eAAtF;;AACA,WAAK+vI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,cAAnC,CAArC,EAAyF9tI,kBAAzF;;AACA,WAAKsvI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,iBAAnC,CAArC,EAA4FruI,qBAA5F;;AACA,WAAK6vI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,WAAnC,CAArC,EAAsF5tI,eAAtF;;AACA,WAAKovI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,cAAnC,CAArC,EAAyF7tI,kBAAzF;;AACA,WAAKqvI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,OAAnC,CAArC,EAAkFhtI,WAAlF;;AACA,WAAKwuI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,QAAnC,CAArC,EAAmF9sI,YAAnF;;AACA,WAAKsuI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,MAAnC,CAArC,EAAiFntI,UAAjF;;AACA,WAAK2uI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,aAAnC,CAArC,EAAwF7sI,iBAAxF;;AACA,WAAKquI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,cAAnC,CAArC,EAAyF3sI,kBAAzF;;AACA,WAAKmuI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,WAAnC,CAArC,EAAsF3tI,eAAtF;;AACA,WAAKmvI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,WAAnC,CAArC,EAAsFvtI,eAAtF;;AACA,WAAK+uI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,UAAnC,CAArC,EAAqFxsI,cAArF,EAxBsB,CAyBtB;;;AACA,WAAKguI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,MAAnC,CAArC,EAAiF/rI,UAAjF;;AACA,WAAKutI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,MAAnC,CAArC,EAAiFjsI,UAAjF;;AACA,WAAKytI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,UAAnC,CAArC,EAAqFhsI,cAArF;;AACA,WAAKwtI,+BAAL,CAAqC,KAAKU,eAAL,CAAqBlC,YAArB,EAAmC,UAAnC,CAArC,EAAqFlsI,cAArF;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,yBAAgB0f,eAAhB,EAAiC/nB,IAAjC,EAAuC2nB,OAAvC,EAAgD;AAC5C,aAAO,KAAKg/G,cAAL,CAAoB9D,eAApB,CAAoC96G,eAApC,EAAqD/nB,IAArD,EAA2D2nB,OAA3D,CAAP;AACH;AACD;AACJ;AACA;;;;WACI,qBAAYtd,OAAZ,EAAqB5I,KAArB,EAA4B;AACxB,UAAMk1I,gBAAgB,GAAG,KAAK7U,aAA9B;;AACA,WAAKA,aAAL,GAAqB,UAAC9pH,KAAD,EAAQswG,QAAR,EAAqB,CAAG,CAA7C;;AACA,UAAMhnH,MAAM,GAAG,KAAKu1I,QAAL,CAAcxsI,OAAd,EAAuB5I,KAAvB,CAAf;AACA,WAAKqgI,aAAL,GAAqB6U,gBAArB;AACA,aAAOr1I,MAAP;AACH;AACD;;;;WACA,kBAAS+I,OAAT,EAAkB5I,KAAlB,EAAuC;AAAA,UAAdo3I,IAAc,uEAAP,KAAO;AACnC,UAAM94H,IAAI,GAAG,IAAb;AACA,UAAI89E,KAAK,GAAGi7C,cAAc,CAACC,KAA3B;AACA,UAAMC,OAAO,GAAG,IAAIj2I,GAAJ,EAAhB;AACA,UAAMk2I,WAAW,GAAG5uI,OAApB;;AACA,eAAS6uI,iBAAT,CAA2B7uI,OAA3B,EAAoC5I,KAApC,EAA2C03I,KAA3C,EAAkDl+G,UAAlD,EAA8D;AAC1D,iBAASm+G,qBAAT,CAA+B/W,YAA/B,EAA6C;AACzC,cAAMa,cAAc,GAAGnjH,IAAI,CAAC4mH,cAAL,CAAoBvD,aAApB,CAAkCf,YAAlC,CAAvB;AACA,iBAAOa,cAAc,GAAGA,cAAc,CAACjgF,QAAlB,GAA6B,IAAlD;AACH;;AACD,iBAASo2F,eAAT,CAAyB53I,KAAzB,EAAgC;AAC5B,iBAAOy3I,iBAAiB,CAAC7uI,OAAD,EAAU5I,KAAV,EAAiB03I,KAAjB,EAAwB,CAAxB,CAAxB;AACH;;AACD,iBAASG,cAAT,CAAwB73I,KAAxB,EAA+B;AAC3B,iBAAOy3I,iBAAiB,CAAC7uI,OAAD,EAAU5I,KAAV,EAAiB03I,KAAjB,EAAwBl+G,UAAU,GAAG,CAArC,CAAxB;AACH;;AACD,iBAASs+G,cAAT,CAAwBC,aAAxB,EAAuC/3I,KAAvC,EAA8C;AAC1C,cAAI+3I,aAAa,KAAKnvI,OAAtB,EAA+B;AAC3B;AACA,mBAAO6uI,iBAAiB,CAACM,aAAD,EAAgB/3I,KAAhB,EAAuB03I,KAAK,GAAG,CAA/B,EAAkCl+G,UAAlC,CAAxB;AACH;;AACD,cAAI;AACA,mBAAOi+G,iBAAiB,CAACM,aAAD,EAAgB/3I,KAAhB,EAAuB03I,KAAK,GAAG,CAA/B,EAAkCl+G,UAAlC,CAAxB;AACH,WAFD,CAGA,OAAOnsB,CAAP,EAAU;AACN,gBAAI2qI,eAAe,CAAC3qI,CAAD,CAAnB,EAAwB;AACpB;AACA;AACA;AACA,kBAAM4qI,UAAU,GAAG5qI,CAAC,CAACqlI,KAAF,GAAU,kBAAkBrlI,CAAC,CAACyzC,MAAF,CAASviD,IAA3B,GAAkC,IAA5C,GAAmD25I,YAAY,CAAC7qI,CAAD,CAAlF;AACA,kBAAMohG,OAAO,cAAOspC,aAAa,CAACx5I,IAArB,eAA8B05I,UAA9B,CAAb;AACA,kBAAMvF,KAAK,GAAG;AAAEvzG,uBAAO,EAAEsvE,OAAX;AAAoB74C,wBAAQ,EAAEvoD,CAAC,CAACuoD,QAAhC;AAA0C6P,oBAAI,EAAEp4D,CAAC,CAACqlI;AAAlD,eAAd,CANoB,CAOpB;AACA;;AACAp0H,kBAAI,CAAC/H,KAAL,CAAW;AACP4oB,uBAAO,EAAE9xB,CAAC,CAAC8xB,OADJ;AAEPg5G,sBAAM,EAAE9qI,CAAC,CAAC8qI,MAFH;AAGPvvI,uBAAO,EAAEyE,CAAC,CAACzE,OAHJ;AAIP8pI,qBAAK,EAALA,KAJO;AAKP5xF,sBAAM,EAAEi3F;AALD,eAAX,EAMGnvI,OANH;AAOH,aAhBD,MAiBK;AACD;AACA,oBAAMyE,CAAN;AACH;AACJ;AACJ;;AACD,iBAAS+qI,YAAT,CAAsBC,cAAtB,EAAsCC,cAAtC,EAAsDjyI,IAAtD,EAA4DkyI,gBAA5D,EAA8E;AAC1E,cAAID,cAAc,IAAIA,cAAc,CAAC,YAAD,CAAd,IAAgC,UAAtD,EAAkE;AAC9D,gBAAIf,OAAO,CAAC50I,GAAR,CAAY01I,cAAZ,CAAJ,EAAiC;AAC7B/5H,kBAAI,CAAC/H,KAAL,CAAW;AACP4oB,uBAAO,EAAE,4BADF;AAEPsvE,uBAAO,oBAAa4pC,cAAc,CAAC95I,IAA5B,kBAFA;AAGPyB,qBAAK,EAAEs4I;AAHA,eAAX,EAIGD,cAJH;AAKH;;AACD,gBAAI;AACA,kBAAMr4I,OAAK,GAAGs4I,cAAc,CAAC,OAAD,CAA5B;;AACA,kBAAIt4I,OAAK,KAAK03I,KAAK,IAAI,CAAT,IAAc13I,OAAK,CAACoiI,UAAN,IAAoB,OAAvC,CAAT,EAA0D;AACtD,oBAAMvgH,UAAU,GAAGy2H,cAAc,CAAC,YAAD,CAAjC;AACA,oBAAME,QAAQ,GAAGF,cAAc,CAACE,QAAhC;AACAnyI,oBAAI,GAAGA,IAAI,CAACtD,GAAL,CAAS,UAAAuf,GAAG;AAAA,yBAAIw1H,cAAc,CAAClvI,OAAD,EAAU0Z,GAAV,CAAlB;AAAA,iBAAZ,EACFvf,GADE,CACE,UAAAuf,GAAG;AAAA,yBAAIixH,YAAY,CAACjxH,GAAD,CAAZ,GAAoBhe,SAApB,GAAgCge,GAApC;AAAA,iBADL,CAAP;;AAEA,oBAAIk2H,QAAQ,IAAIA,QAAQ,CAACn6I,MAAT,GAAkBgI,IAAI,CAAChI,MAAvC,EAA+C;AAAA;;AAC3C,4BAAAgI,IAAI,EAACvG,IAAL,kKAAa04I,QAAQ,CAACz7I,KAAT,CAAesJ,IAAI,CAAChI,MAApB,EAA4B0E,GAA5B,CAAgC,UAAC/C,KAAD;AAAA,2BAAWo1I,QAAQ,CAACp1I,KAAD,CAAnB;AAAA,mBAAhC,CAAb;AACH;;AACDu3I,uBAAO,CAAC30I,GAAR,CAAYy1I,cAAZ,EAA4B,IAA5B;AACA,oBAAMI,aAAa,GAAGpB,cAAc,CAACj1E,KAAf,EAAtB;;AACA,qBAAK,IAAI1iE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmiB,UAAU,CAACxjB,MAA/B,EAAuCqB,CAAC,EAAxC,EAA4C;AACxC+4I,+BAAa,CAACC,MAAd,CAAqB72H,UAAU,CAACniB,CAAD,CAA/B,EAAoC2G,IAAI,CAAC3G,CAAD,CAAxC;AACH;;AACD,oBAAMi5I,QAAQ,GAAGv8C,KAAjB;;AACA,oBAAIv8F,OAAJ;;AACA,oBAAI;AACAu8F,uBAAK,GAAGq8C,aAAa,CAACG,IAAd,EAAR;AACA/4I,yBAAM,GAAGi4I,cAAc,CAACO,cAAD,EAAiBr4I,OAAjB,CAAvB;AACH,iBAHD,SAIQ;AACJo8F,uBAAK,GAAGu8C,QAAR;AACH;;AACD,uBAAO94I,OAAP;AACH;AACJ,aA1BD,SA2BQ;AACJ03I,qBAAO,CAAC1qF,MAAR,CAAewrF,cAAf;AACH;AACJ;;AACD,cAAIX,KAAK,KAAK,CAAd,EAAiB;AACb;AACA;AACA;AACA,mBAAOzE,MAAP;AACH;;AACD,cAAIr9E,QAAQ,GAAGtxD,SAAf;;AACA,cAAIi0I,gBAAgB,IAAIA,gBAAgB,CAACnW,UAAjB,IAA+B,UAAvD,EAAmE;AAC/D,gBAAMlmG,IAAI,GAAGq8G,gBAAgB,CAACr8G,IAA9B;AACA,gBAAMthB,SAAS,GAAG29H,gBAAgB,CAAC39H,SAAnC;AACA,gBAAMisG,QAAQ,GAAG0xB,gBAAgB,CAAC1xB,QAAlC;;AACA,gBAAIA,QAAQ,IAAI,IAAZ,IAAoB3qF,IAAI,IAAI,IAA5B,IAAoCthB,SAAS,IAAI,IAArD,EAA2D;AACvDg7C,sBAAQ,GAAG;AAAEixD,wBAAQ,EAARA,QAAF;AAAY3qF,oBAAI,EAAJA,IAAZ;AAAkBwY,sBAAM,EAAE95B;AAA1B,eAAX;AACH;AACJ;;AACD0D,cAAI,CAAC/H,KAAL,CAAW;AACP4oB,mBAAO,EAAE05G,2BADF;AAEPjwI,mBAAO,EAAEyvI,cAFF;AAGPr4I,iBAAK,EAAEs4I,cAHA;AAIP1iF,oBAAQ,EAARA;AAJO,WAAX,EAKGhtD,OALH;AAMH;;AACD,iBAASwsI,QAAT,CAAkB11H,UAAlB,EAA8B;AAC1B,cAAIo5H,WAAW,CAACp5H,UAAD,CAAf,EAA6B;AACzB,mBAAOA,UAAP;AACH;;AACD,cAAI1E,KAAK,CAACC,OAAN,CAAcyE,UAAd,CAAJ,EAA+B;AAC3B,gBAAM7f,QAAM,GAAG,EAAf;;AAD2B,wLAER6f,UAFQ;AAAA;;AAAA;AAE3B,wEAA+B;AAAA,oBAApBR,IAAoB;;AAC3B;AACA,oBAAIA,IAAI,IAAIA,IAAI,CAACkjH,UAAL,KAAoB,QAAhC,EAA0C;AACtC;AACA;AACA,sBAAM2W,WAAW,GAAGnB,eAAe,CAAC14H,IAAI,CAACQ,UAAN,CAAnC;;AACA,sBAAI1E,KAAK,CAACC,OAAN,CAAc89H,WAAd,CAAJ,EAAgC;AAAA,gMACHA,WADG;AAAA;;AAAA;AAC5B,gFAAsC;AAAA,4BAA3BC,UAA2B;;AAClCn5I,gCAAM,CAACC,IAAP,CAAYk5I,UAAZ;AACH;AAH2B;AAAA;AAAA;AAAA;AAAA;;AAI5B;AACH;AACJ;;AACD,oBAAMh5I,OAAK,GAAGo1I,QAAQ,CAACl2H,IAAD,CAAtB;;AACA,oBAAIq0H,YAAY,CAACvzI,OAAD,CAAhB,EAAyB;AACrB;AACH;;AACDH,wBAAM,CAACC,IAAP,CAAYE,OAAZ;AACH;AApB0B;AAAA;AAAA;AAAA;AAAA;;AAqB3B,mBAAOH,QAAP;AACH;;AACD,cAAI6f,UAAU,YAAYsG,YAA1B,EAAwC;AACpC;AACA;AACA,gBAAItG,UAAU,KAAKpB,IAAI,CAAC24H,cAApB,IAAsC34H,IAAI,CAAC21H,aAAL,CAAmBpoH,GAAnB,CAAuBnM,UAAvB,CAAtC,IACC8Z,UAAU,GAAG,CAAb,IAAkB,CAAC9Z,UAAU,CAACwG,OAAX,CAAmB7nB,MAD3C,EACoD;AAChD,qBAAOqhB,UAAP;AACH,aAHD,MAIK;AACD,kBAAMkhH,YAAY,GAAGlhH,UAArB;AACA,kBAAMu5H,gBAAgB,GAAGtB,qBAAqB,CAAC/W,YAAD,CAA9C;;AACA,kBAAIqY,gBAAgB,IAAI,IAAxB,EAA8B;AAC1B,uBAAOnB,cAAc,CAAClX,YAAD,EAAeqY,gBAAf,CAArB;AACH,eAFD,MAGK;AACD,uBAAOrY,YAAP;AACH;AACJ;AACJ;;AACD,cAAIlhH,UAAJ,EAAgB;AACZ,gBAAIA,UAAU,CAAC,YAAD,CAAd,EAA8B;AAC1B,kBAAIkhH,aAAJ;;AACA,sBAAQlhH,UAAU,CAAC,YAAD,CAAlB;AACI,qBAAK,OAAL;AACI,sBAAIqlC,IAAI,GAAGqwF,QAAQ,CAAC11H,UAAU,CAAC,MAAD,CAAX,CAAnB;AACA,sBAAI6zH,YAAY,CAACxuF,IAAD,CAAhB,EACI,OAAOA,IAAP;AACJ,sBAAIC,KAAK,GAAGowF,QAAQ,CAAC11H,UAAU,CAAC,OAAD,CAAX,CAApB;AACA,sBAAI6zH,YAAY,CAACvuF,KAAD,CAAhB,EACI,OAAOA,KAAP;;AACJ,0BAAQtlC,UAAU,CAAC,UAAD,CAAlB;AACI,yBAAK,IAAL;AACI,6BAAOqlC,IAAI,IAAIC,KAAf;;AACJ,yBAAK,IAAL;AACI,6BAAOD,IAAI,IAAIC,KAAf;;AACJ,yBAAK,GAAL;AACI,6BAAOD,IAAI,GAAGC,KAAd;;AACJ,yBAAK,GAAL;AACI,6BAAOD,IAAI,GAAGC,KAAd;;AACJ,yBAAK,GAAL;AACI,6BAAOD,IAAI,GAAGC,KAAd;;AACJ,yBAAK,IAAL;AACI,6BAAOD,IAAI,IAAIC,KAAf;;AACJ,yBAAK,IAAL;AACI,6BAAOD,IAAI,IAAIC,KAAf;;AACJ,yBAAK,KAAL;AACI,6BAAOD,IAAI,KAAKC,KAAhB;;AACJ,yBAAK,KAAL;AACI,6BAAOD,IAAI,KAAKC,KAAhB;;AACJ,yBAAK,GAAL;AACI,6BAAOD,IAAI,GAAGC,KAAd;;AACJ,yBAAK,GAAL;AACI,6BAAOD,IAAI,GAAGC,KAAd;;AACJ,yBAAK,IAAL;AACI,6BAAOD,IAAI,IAAIC,KAAf;;AACJ,yBAAK,IAAL;AACI,6BAAOD,IAAI,IAAIC,KAAf;;AACJ,yBAAK,IAAL;AACI,6BAAOD,IAAI,IAAIC,KAAf;;AACJ,yBAAK,IAAL;AACI,6BAAOD,IAAI,IAAIC,KAAf;;AACJ,yBAAK,GAAL;AACI,6BAAOD,IAAI,GAAGC,KAAd;;AACJ,yBAAK,GAAL;AACI,6BAAOD,IAAI,GAAGC,KAAd;;AACJ,yBAAK,GAAL;AACI,6BAAOD,IAAI,GAAGC,KAAd;;AACJ,yBAAK,GAAL;AACI,6BAAOD,IAAI,GAAGC,KAAd;;AACJ,yBAAK,GAAL;AACI,6BAAOD,IAAI,GAAGC,KAAd;AAxCR;;AA0CA,yBAAO,IAAP;;AACJ,qBAAK,IAAL;AACI,sBAAIvzC,SAAS,GAAG2jI,QAAQ,CAAC11H,UAAU,CAAC,WAAD,CAAX,CAAxB;AACA,yBAAOjO,SAAS,GAAG2jI,QAAQ,CAAC11H,UAAU,CAAC,gBAAD,CAAX,CAAX,GACZ01H,QAAQ,CAAC11H,UAAU,CAAC,gBAAD,CAAX,CADZ;;AAEJ,qBAAK,KAAL;AACI,sBAAIw5H,OAAO,GAAG9D,QAAQ,CAAC11H,UAAU,CAAC,SAAD,CAAX,CAAtB;AACA,sBAAI6zH,YAAY,CAAC2F,OAAD,CAAhB,EACI,OAAOA,OAAP;;AACJ,0BAAQx5H,UAAU,CAAC,UAAD,CAAlB;AACI,yBAAK,GAAL;AACI,6BAAOw5H,OAAP;;AACJ,yBAAK,GAAL;AACI,6BAAO,CAACA,OAAR;;AACJ,yBAAK,GAAL;AACI,6BAAO,CAACA,OAAR;;AACJ,yBAAK,GAAL;AACI,6BAAO,CAACA,OAAR;AARR;;AAUA,yBAAO,IAAP;;AACJ,qBAAK,OAAL;AACI,sBAAIC,WAAW,GAAGvB,eAAe,CAACl4H,UAAU,CAAC,YAAD,CAAX,CAAjC;AACA,sBAAIxU,KAAK,GAAG0sI,eAAe,CAACl4H,UAAU,CAAC,OAAD,CAAX,CAA3B;AACA,sBAAIy5H,WAAW,IAAIL,WAAW,CAAC5tI,KAAD,CAA9B,EACI,OAAOiuI,WAAW,CAACjuI,KAAD,CAAlB;AACJ,yBAAO,IAAP;;AACJ,qBAAK,QAAL;AACI,sBAAMkuI,MAAM,GAAG15H,UAAU,CAAC,QAAD,CAAzB;AACA,sBAAI25H,aAAa,GAAGzwI,OAApB;AACA,sBAAI0wI,YAAY,GAAGlE,QAAQ,CAAC11H,UAAU,CAAC,YAAD,CAAX,CAA3B;;AACA,sBAAI45H,YAAY,YAAYtzH,YAA5B,EAA0C;AACtC,wBAAME,OAAO,GAAGozH,YAAY,CAACpzH,OAAb,CAAqBnmB,MAArB,CAA4Bq5I,MAA5B,CAAhB;AACAC,iCAAa,GACT/6H,IAAI,CAAC8iH,eAAL,CAAqBkY,YAAY,CAACrzH,QAAlC,EAA4CqzH,YAAY,CAAC/6I,IAAzD,EAA+D2nB,OAA/D,CADJ;;AAEA,wBAAM+yH,iBAAgB,GAAGtB,qBAAqB,CAAC0B,aAAD,CAA9C;;AACA,wBAAIJ,iBAAgB,IAAI,IAAxB,EAA8B;AAC1B,6BAAOnB,cAAc,CAACuB,aAAD,EAAgBJ,iBAAhB,CAArB;AACH,qBAFD,MAGK;AACD,6BAAOI,aAAP;AACH;AACJ;;AACD,sBAAIC,YAAY,IAAIR,WAAW,CAACM,MAAD,CAA/B,EACI,OAAOtB,cAAc,CAACuB,aAAD,EAAgBC,YAAY,CAACF,MAAD,CAA5B,CAArB;AACJ,yBAAO,IAAP;;AACJ,qBAAK,WAAL;AACI;AACA;AACA;AACA,sBAAM76I,IAAI,GAAGmhB,UAAU,CAAC,MAAD,CAAvB;AACA,sBAAM65H,UAAU,GAAGn9C,KAAK,CAACltB,OAAN,CAAc3wE,IAAd,CAAnB;;AACA,sBAAIg7I,UAAU,IAAIlC,cAAc,CAACmC,OAAjC,EAA0C;AACtC,2BAAOD,UAAP;AACH;;AACD;;AACJ,qBAAK,UAAL;AACI,sBAAI;AACA,2BAAOnE,QAAQ,CAAC11H,UAAU,CAACohC,MAAZ,CAAf;AACH,mBAFD,CAGA,OAAOzzC,CAAP,EAAU;AACN;AACA;AACA;AACA,wBAAI2qI,eAAe,CAAC3qI,CAAD,CAAf,IAAsBqS,UAAU,CAACmnG,QAAX,IAAuB,IAA7C,IACAnnG,UAAU,CAACwc,IAAX,IAAmB,IADnB,IAC2Bxc,UAAU,CAAC9E,SAAX,IAAwB,IADvD,EAC6D;AACzDvN,uBAAC,CAACuoD,QAAF,GAAa;AACTixD,gCAAQ,EAAEnnG,UAAU,CAACmnG,QADZ;AAET3qF,4BAAI,EAAExc,UAAU,CAACwc,IAFR;AAGTwY,8BAAM,EAAEh1B,UAAU,CAAC9E;AAHV,uBAAb;AAKH;;AACD,0BAAMvN,CAAN;AACH;;AACL,qBAAK,OAAL;AACI,yBAAOzE,OAAP;;AACJ,qBAAK,UAAL;AACI,yBAAOA,OAAP;;AACJ,qBAAK,KAAL;AACA,qBAAK,MAAL;AACI;AACAg4H,+BAAY,GAAG6W,iBAAiB,CAAC7uI,OAAD,EAAU8W,UAAU,CAAC,YAAD,CAApB,EAAoCg4H,KAAK,GAAG,CAA5C;AAA+C;AAAiB,mBAAhE,CAAhC;;AACA,sBAAI9W,aAAY,YAAY56G,YAA5B,EAA0C;AACtC,wBAAI46G,aAAY,KAAKtiH,IAAI,CAAC24H,cAAtB,IAAwCrW,aAAY,KAAKtiH,IAAI,CAAC44H,WAAlE,EAA+E;AAC3E;AACA;AACA;AACA;AACA,6BAAOtuI,OAAP;AACH;;AACD,wBAAM6wI,cAAc,GAAG/5H,UAAU,CAAC,WAAD,CAAV,IAA2B,EAAlD;AACA,wBAAIy3B,SAAS,GAAG74B,IAAI,CAAC21H,aAAL,CAAmBtxI,GAAnB,CAAuBi+H,aAAvB,CAAhB;;AACA,wBAAIzpF,SAAJ,EAAe;AACX,0BAAM9wC,IAAI,GAAGozI,cAAc,CAAC12I,GAAf,CAAmB,UAAAuf,GAAG;AAAA,+BAAIw1H,cAAc,CAAClvI,OAAD,EAAU0Z,GAAV,CAAlB;AAAA,uBAAtB,EACRvf,GADQ,CACJ,UAAAuf,GAAG;AAAA,+BAAIixH,YAAY,CAACjxH,GAAD,CAAZ,GAAoBhe,SAApB,GAAgCge,GAApC;AAAA,uBADC,CAAb;AAEA,6BAAO60B,SAAS,CAACvuC,OAAD,EAAUvC,IAAV,CAAhB;AACH,qBAJD,MAKK;AACD;AACA,0BAAMiyI,cAAc,GAAGX,qBAAqB,CAAC/W,aAAD,CAA5C;AACA,6BAAOwX,YAAY,CAACxX,aAAD,EAAe0X,cAAf,EAA+BmB,cAA/B,EAA+C/5H,UAAU,CAAC,YAAD,CAAzD,CAAnB;AACH;AACJ;;AACD,yBAAOuzH,MAAP;;AACJ,qBAAK,OAAL;AACI,sBAAI9zG,OAAO,GAAGzf,UAAU,CAACyf,OAAzB;;AACA,sBAAIzf,UAAU,CAAC,MAAD,CAAV,IAAsB,IAA1B,EAAgC;AAC5BpB,wBAAI,CAAC/H,KAAL,CAAW;AACP4oB,6BAAO,EAAPA,OADO;AAEPv2B,6BAAO,EAAE8W,UAAU,CAAC9W,OAFb;AAGP5I,2BAAK,EAAE0f,UAHA;AAIPk2C,8BAAQ,EAAE;AACNixD,gCAAQ,EAAEnnG,UAAU,CAAC,UAAD,CADd;AAENwc,4BAAI,EAAExc,UAAU,CAAC,MAAD,CAFV;AAGNg1B,8BAAM,EAAEh1B,UAAU,CAAC,WAAD;AAHZ;AAJH,qBAAX,EASG9W,OATH;AAUH,mBAXD,MAYK;AACD0V,wBAAI,CAAC/H,KAAL,CAAW;AAAE4oB,6BAAO,EAAPA,OAAF;AAAWv2B,6BAAO,EAAE8W,UAAU,CAAC9W;AAA/B,qBAAX,EAAqDA,OAArD;AACH;;AACD,yBAAOqqI,MAAP;;AACJ,qBAAK,QAAL;AACI,yBAAOvzH,UAAP;AA5KR;;AA8KA,qBAAO,IAAP;AACH;;AACD,mBAAOg6H,YAAY,CAACh6H,UAAD,EAAa,UAAC1f,KAAD,EAAQzB,IAAR,EAAiB;AAC7C,kBAAI60I,aAAa,CAACvnH,GAAd,CAAkBttB,IAAlB,CAAJ,EAA6B;AACzB,oBAAIA,IAAI,KAAK20I,WAAT,IAAwBC,OAAO,IAAIzzH,UAAvC,EAAmD;AAC/C;AACA;AACA,sBAAM0uG,OAAO,GAAGgnB,QAAQ,CAAC11H,UAAU,CAAC0uG,OAAZ,CAAxB;;AACA,sBAAIA,OAAO,KAAK9vG,IAAI,CAACghH,MAAjB,IAA2BlR,OAAO,IAAI9vG,IAAI,CAACmE,4BAA/C,EAA6E;AACzE,2BAAO2yH,QAAQ,CAACp1I,KAAD,CAAf;AACH;AACJ;;AACD,uBAAO63I,cAAc,CAAC73I,KAAD,CAArB;AACH;;AACD,qBAAOo1I,QAAQ,CAACp1I,KAAD,CAAf;AACH,aAbkB,CAAnB;AAcH;;AACD,iBAAOizI,MAAP;AACH;;AACD,eAAOmC,QAAQ,CAACp1I,KAAD,CAAf;AACH;;AACD,UAAIH,MAAJ;;AACA,UAAI;AACAA,cAAM,GAAG43I,iBAAiB,CAAC7uI,OAAD,EAAU5I,KAAV,EAAiB,CAAjB,EAAoBo3I,IAAI,GAAG,CAAH,GAAO,CAA/B,CAA1B;AACH,OAFD,CAGA,OAAO/pI,CAAP,EAAU;AACN,YAAI,KAAKgzH,aAAT,EAAwB;AACpB,eAAK1uC,WAAL,CAAiBtkF,CAAjB,EAAoBzE,OAApB;AACH,SAFD,MAGK;AACD,gBAAMktI,mBAAmB,CAACzoI,CAAD,EAAIzE,OAAJ,CAAzB;AACH;AACJ;;AACD,UAAI2qI,YAAY,CAAC1zI,MAAD,CAAhB,EAA0B;AACtB,eAAOyE,SAAP;AACH;;AACD,aAAOzE,MAAP;AACH;;;WACD,yBAAgBkL,IAAhB,EAAsB;AAClB,UAAM02H,cAAc,GAAG,KAAKyD,cAAL,CAAoBvD,aAApB,CAAkC52H,IAAlC,CAAvB;AACA,aAAO02H,cAAc,IAAIA,cAAc,CAACjgF,QAAjC,GAA4CigF,cAAc,CAACjgF,QAA3D,GACH;AAAE4gF,kBAAU,EAAE;AAAd,OADJ;AAEH;;;WACD,qBAAY7rH,KAAZ,EAAmB3N,OAAnB,EAA4B+sD,IAA5B,EAAkC;AAC9B,UAAI,KAAK0qE,aAAT,EAAwB;AACpB,aAAKA,aAAL,CAAmByV,mBAAmB,CAACv/H,KAAD,EAAQ3N,OAAR,CAAtC,EAAyDA,OAAO,IAAIA,OAAO,CAACqd,QAApB,IAAiC0vC,IAAzF;AACH,OAFD,MAGK;AACD,cAAMp/C,KAAN;AACH;AACJ;;;WACD,uBAA6EojI,gBAA7E,EAA+F;AAAA,UAAvFx6G,OAAuF,UAAvFA,OAAuF;AAAA,UAA9EsvE,OAA8E,UAA9EA,OAA8E;AAAA,UAArE0pC,MAAqE,UAArEA,MAAqE;AAAA,UAA7DviF,QAA6D,UAA7DA,QAA6D;AAAA,UAAnDhtD,OAAmD,UAAnDA,OAAmD;AAAA,UAA1C5I,KAA0C,UAA1CA,KAA0C;AAAA,UAAnC8gD,MAAmC,UAAnCA,MAAmC;AAAA,UAA3B4xF,KAA2B,UAA3BA,KAA2B;AAC3F,WAAK/gD,WAAL,CAAiBokD,aAAa,CAAC52G,OAAD,EAAUsvE,OAAV,EAAmB0pC,MAAnB,EAA2BviF,QAA3B,EAAqC9U,MAArC,EAA6Cl4C,OAA7C,EAAsD8pI,KAAtD,CAA9B,EAA4FiH,gBAA5F;AACH;;;;;;AAEL,IAAMC,cAAc,GAAG,iBAAvB;;AACA,SAAS7D,aAAT,CAAuB52G,OAAvB,EAAgCsvE,OAAhC,EAAyC0pC,MAAzC,EAAiDviF,QAAjD,EAA2D9U,MAA3D,EAAmEl4C,OAAnE,EAA4E8pI,KAA5E,EAAmF;AAC/E,MAAMn8H,KAAK,GAAG+F,WAAW,CAAC6iB,OAAD,CAAzB;AACA5oB,OAAK,CAACqjI,cAAD,CAAL,GAAwB,IAAxB;AACA,MAAIzB,MAAJ,EACI5hI,KAAK,CAAC4hI,MAAN,GAAeA,MAAf;AACJ,MAAIviF,QAAJ,EACIr/C,KAAK,CAACq/C,QAAN,GAAiBA,QAAjB;AACJ,MAAI64C,OAAJ,EACIl4F,KAAK,CAACk4F,OAAN,GAAgBA,OAAhB;AACJ,MAAI7lG,OAAJ,EACI2N,KAAK,CAAC3N,OAAN,GAAgBA,OAAhB;AACJ,MAAI8pI,KAAJ,EACIn8H,KAAK,CAACm8H,KAAN,GAAcA,KAAd;AACJ,MAAI5xF,MAAJ,EACIvqC,KAAK,CAACuqC,MAAN,GAAeA,MAAf;AACJ,SAAOvqC,KAAP;AACH;;AACD,SAASyhI,eAAT,CAAyBzhI,KAAzB,EAAgC;AAC5B,SAAO,CAAC,CAACA,KAAK,CAACqjI,cAAD,CAAd;AACH;;AACD,IAAMC,8BAA8B,GAAG,iCAAvC;AACA,IAAMC,wBAAwB,GAAG,0BAAjC;AACA,IAAMC,yBAAyB,GAAG,6BAAlC;AACA,IAAMC,sBAAsB,GAAG,wBAA/B;AACA,IAAMnB,2BAA2B,GAAG,6BAApC;AACA,IAAMoB,yBAAyB,GAAG,6BAAlC;AACA,IAAMC,oBAAoB,GAAG,sBAA7B;;AACA,SAASC,eAAT,CAAyBh7G,OAAzB,EAAkCv2B,OAAlC,EAA2C;AACvC,UAAQu2B,OAAR;AACI,SAAK06G,8BAAL;AACI,UAAIjxI,OAAO,IAAIA,OAAO,CAACpG,SAAvB,EAAkC;AAC9B,gGAAiFoG,OAAO,CAACpG,SAAzF;AACH;;AACD;;AACJ,SAAKs3I,wBAAL;AACI,aAAO,gJAAP;;AACJ,SAAKC,yBAAL;AACI,aAAO,4IAAP;;AACJ,SAAKC,sBAAL;AACI,UAAIpxI,OAAO,IAAIA,OAAO,CAACi2C,QAAvB,EAAiC;AAC7B,gDAAiCj2C,OAAO,CAACi2C,QAAzC;AACH;;AACD;;AACJ,SAAKg6F,2BAAL;AACI,UAAIjwI,OAAO,IAAIA,OAAO,CAACrK,IAAvB,EAA6B;AACzB,6EAA8DqK,OAAO,CAACrK,IAAtE;AACH;;AACD,aAAO,gDAAP;;AACJ,SAAK07I,yBAAL;AACI,UAAIrxI,OAAO,IAAIA,OAAO,CAACrK,IAAvB,EAA6B;AACzB,0GAA2FqK,OAAO,CAACrK,IAAnG;AACH;;AACD;;AACJ,SAAK27I,oBAAL;AACI;AA1BR;;AA4BA,SAAO/6G,OAAP;AACH;;AACD,SAASi7G,aAAT,CAAuBj7G,OAAvB,EAAgCv2B,OAAhC,EAAyC;AACrC,UAAQu2B,OAAR;AACI,SAAK06G,8BAAL;AACI,UAAIjxI,OAAO,IAAIA,OAAO,CAACpG,SAAvB,EAAkC;AAC9B,6CAA8BoG,OAAO,CAACpG,SAAtC;AACH;;AACD;;AACJ,SAAKu3I,yBAAL;AACI,aAAO,6CAAP;;AACJ,SAAKE,yBAAL;AACI,UAAIrxI,OAAO,IAAIA,OAAO,CAACrK,IAAvB,EAA6B;AACzB,6CAA8BqK,OAAO,CAACrK,IAAtC;AACH;;AACD;;AACJ,SAAK27I,oBAAL;AACI;AAdR;;AAgBA,SAAO51I,SAAP;AACH;;AACD,SAAS4zI,YAAT,CAAsB3hI,KAAtB,EAA6B;AACzB,MAAIA,KAAK,CAACk4F,OAAV,EAAmB;AACf,WAAOl4F,KAAK,CAACk4F,OAAb;AACH;;AACD,UAAQl4F,KAAK,CAAC4oB,OAAd;AACI,SAAK06G,8BAAL;AACI,UAAItjI,KAAK,CAAC3N,OAAN,IAAiB2N,KAAK,CAAC3N,OAAN,CAAcpG,SAAnC,EAA8C;AAC1C,uDAAwC+T,KAAK,CAAC3N,OAAN,CAAcpG,SAAtD;AACH;;AACD;;AACJ,SAAKs3I,wBAAL;AACI,aAAO,oBAAP;;AACJ,SAAKC,yBAAL;AACI,aAAO,4BAAP;;AACJ,SAAKC,sBAAL;AACI,aAAO,uBAAP;;AACJ,SAAKnB,2BAAL;AACI,UAAItiI,KAAK,CAAC3N,OAAN,IAAiB2N,KAAK,CAAC3N,OAAN,CAAcrK,IAAnC,EAAyC;AACrC,gCAAiBgY,KAAK,CAAC3N,OAAN,CAAcrK,IAA/B;AACH;;AACD;;AACJ,SAAK07I,yBAAL;AACI,UAAI1jI,KAAK,CAAC3N,OAAN,IAAiB2N,KAAK,CAAC3N,OAAN,CAAcrK,IAAnC,EAAyC;AACrC,mDAAoCgY,KAAK,CAAC3N,OAAN,CAAcrK,IAAlD;AACH;;AACD;AArBR;;AAuBA,SAAO,oBAAP;AACH;;AACD,SAASm7I,YAAT,CAAsBp/H,KAAtB,EAA6B0+D,SAA7B,EAAwC;AACpC,MAAI,CAAC1+D,KAAL,EACI,OAAO,EAAP;AACJ,MAAMza,MAAM,GAAG,EAAf;AACA8E,QAAM,CAAC+T,IAAP,CAAY4B,KAAZ,EAAmBhc,OAAnB,CAA2B,UAAC4U,GAAD,EAAS;AAChC,QAAMlT,KAAK,GAAGg5E,SAAS,CAAC1+D,KAAK,CAACpH,GAAD,CAAN,EAAaA,GAAb,CAAvB;;AACA,QAAI,CAACqgI,YAAY,CAACvzI,KAAD,CAAjB,EAA0B;AACtB,UAAIgzI,UAAU,CAACvpG,IAAX,CAAgBv2B,GAAhB,CAAJ,EAA0B;AACtBvO,cAAM,CAACw+G,cAAP,CAAsBtjH,MAAtB,EAA8BqT,GAA9B,EAAmC;AAAEmwG,oBAAU,EAAE,KAAd;AAAqBD,sBAAY,EAAE,IAAnC;AAAyCpjH,eAAK,EAAEA;AAAhD,SAAnC;AACH,OAFD,MAGK;AACDH,cAAM,CAACqT,GAAD,CAAN,GAAclT,KAAd;AACH;AACJ;AACJ,GAVD;AAWA,SAAOH,MAAP;AACH;;AACD,SAASi5I,WAAT,CAAqBptG,CAArB,EAAwB;AACpB,SAAOA,CAAC,KAAK,IAAN,IAAe,OAAOA,CAAP,KAAa,UAAb,IAA2B,OAAOA,CAAP,KAAa,QAA9D;AACH;;IACK2rG,c;;;;;;;WACF,iBAAe;AACX,UAAM32I,OAAO,GAAG,IAAIY,GAAJ,EAAhB;AACA,aAAO;AACHo3I,cAAM,EAAE,gBAAUn6I,IAAV,EAAgByB,KAAhB,EAAuB;AAC3BU,iBAAO,CAACkC,GAAR,CAAYrE,IAAZ,EAAkByB,KAAlB;AACA,iBAAO,IAAP;AACH,SAJE;AAKH44I,YAAI,EAAE,gBAAY;AACd,iBAAOl4I,OAAO,CAACke,IAAR,GAAe,CAAf,GAAmB,IAAIy7H,cAAJ,CAAmB35I,OAAnB,CAAnB,GAAiD22I,cAAc,CAACC,KAAvE;AACH;AAPE,OAAP;AASH;;;;;;AAELD,cAAc,CAACmC,OAAf,GAAyB,EAAzB;AACAnC,cAAc,CAACC,KAAf,GAAuB;AAAEpoE,SAAO,EAAE,iBAAA3wE,IAAI;AAAA,WAAI84I,cAAc,CAACmC,OAAnB;AAAA;AAAf,CAAvB;;IACMa,c;;;;;AACF,0BAAY/oE,QAAZ,EAAsB;AAAA;;AAAA;;AAClB;AACA,aAAKA,QAAL,GAAgBA,QAAhB;AAFkB;AAGrB;;;;WACD,iBAAQ/yE,IAAR,EAAc;AACV,aAAO,KAAK+yE,QAAL,CAAczlD,GAAd,CAAkBttB,IAAlB,IAA0B,KAAK+yE,QAAL,CAAc3uE,GAAd,CAAkBpE,IAAlB,CAA1B,GAAoD84I,cAAc,CAACmC,OAA1E;AACH;;;;EAPwBnC,c;;AAS7B,SAASiD,0BAAT,CAAoC5H,KAApC,EAA2CyF,MAA3C,EAAmD;AAC/C,MAAM/xE,QAAQ,GAAG+zE,eAAe,CAACzH,KAAK,CAACvzG,OAAP,EAAgBuzG,KAAK,CAAC9pI,OAAtB,CAAhC;AACA,MAAM2xI,OAAO,GAAG7H,KAAK,CAAC5xF,MAAN,kBAAuB4xF,KAAK,CAAC5xF,MAAN,CAAaviD,IAApC,SAA8C,EAA9D;AACA,MAAM4gC,OAAO,aAAMinC,QAAN,SAAiBm0E,OAAjB,CAAb;AACA,MAAM3kF,QAAQ,GAAG88E,KAAK,CAAC98E,QAAvB;AACA,MAAM6P,IAAI,GAAGitE,KAAK,CAACjtE,IAAN,GACT60E,0BAA0B,CAAC5H,KAAK,CAACjtE,IAAP,EAAa0yE,MAAb,CADjB,GAETA,MAAM,GAAG;AAAEh5G,WAAO,EAAEg5G;AAAX,GAAH,GAAyB7zI,SAFnC;AAGA,SAAO;AAAE66B,WAAO,EAAPA,OAAF;AAAWy2B,YAAQ,EAARA,QAAX;AAAqB6P,QAAI,EAAEA,IAAI,GAAG,CAACA,IAAD,CAAH,GAAYnhE;AAA3C,GAAP;AACH;;AACD,SAASwxI,mBAAT,CAA6BzoI,CAA7B,EAAgCzE,OAAhC,EAAyC;AACrC,MAAIovI,eAAe,CAAC3qI,CAAD,CAAnB,EAAwB;AACpB;AACA;AACA,QAAMuoD,QAAQ,GAAGvoD,CAAC,CAACuoD,QAAnB;AACA,QAAM88E,KAAK,GAAG;AACVvzG,aAAO,8CAAuCv2B,OAAO,CAACrK,IAA/C,MADG;AAEVq3D,cAAQ,EAAEA,QAFA;AAGV6P,UAAI,EAAE;AAAEtmC,eAAO,EAAE9xB,CAAC,CAAC8xB,OAAb;AAAsBsmC,YAAI,EAAEp4D,CAAC,CAACqlI,KAA9B;AAAqC9pI,eAAO,EAAEyE,CAAC,CAACzE,OAAhD;AAAyDk4C,cAAM,EAAEzzC,CAAC,CAACyzC;AAAnE;AAHI,KAAd;AAKA,QAAMq3F,MAAM,GAAG9qI,CAAC,CAAC8qI,MAAF,IAAYiC,aAAa,CAAC/sI,CAAC,CAAC8xB,OAAH,EAAY9xB,CAAC,CAACzE,OAAd,CAAxC;AACA,WAAOgqI,cAAc,CAAC0H,0BAA0B,CAAC5H,KAAD,EAAQyF,MAAR,CAA3B,CAArB;AACH;;AACD,SAAO9qI,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMmtI,kB;AACF,8BAAY1wH,IAAZ,EAAkBq2G,iBAAlB,EAAqC;AAAA;;AACjC,SAAKr2G,IAAL,GAAYA,IAAZ;AACA,SAAKq2G,iBAAL,GAAyBA,iBAAzB,CAFiC,CAGjC;;AACA,SAAKsa,YAAL,GAAoB,IAAIn5I,GAAJ,EAApB;AACA,SAAKo5I,eAAL,GAAuB,IAAIp5I,GAAJ,EAAvB,CALiC,CAMjC;;AACA,SAAKk/H,QAAL,GAAgB,IAAIl/H,GAAJ,EAAhB;AACA,SAAKq/H,0BAAL,GAAkC,IAAIr/H,GAAJ,EAAlC;AACH;;;;WACD,uBAAc2kB,QAAd,EAAwB;AACpB;AACA;AACA;AACA,aAAO,CAAC,KAAK6D,IAAL,CAAUwnH,YAAV,CAAuB9qB,wBAAwB,CAACvgG,QAAD,CAA/C,CAAR;AACH;;;WACD,2BAAkBA,QAAlB,EAA4B00H,oBAA5B,EAAkD;AAC9C,aAAO,KAAK7wH,IAAL,CAAUu9G,iBAAV,CAA4BphH,QAA5B,EAAsC00H,oBAAtC,CAAP;AACH;;;WACD,6BAAoB9zB,QAApB,EAA8B+zB,oBAA9B,EAAoD;AAChD,aAAO,KAAK9wH,IAAL,CAAUw+G,mBAAV,CAA8BzhB,QAA9B,EAAwC+zB,oBAAxC,CAAP;AACH;;;WACD,wBAAeha,YAAf,EAA6B;AACzB,UAAMia,UAAU,GAAGja,YAAY,CAAC16G,OAAb,CAAqB7nB,MAArB,GACf,KAAK8hI,iBAAL,CAAuBx9H,GAAvB,CAA2Bi+H,YAAY,CAAC36G,QAAxC,EAAkD26G,YAAY,CAACriI,IAA/D,CADe,GAEfqiI,YAFJ;AAGA,UAAInyB,OAAO,GAAG,KAAKgsC,YAAL,CAAkB93I,GAAlB,CAAsBk4I,UAAtB,CAAd;;AACA,UAAI,CAACpsC,OAAL,EAAc;AACV,aAAKqsC,gBAAL,CAAsBla,YAAY,CAAC36G,QAAnC;;AACAwoF,eAAO,GAAG,KAAKgsC,YAAL,CAAkB93I,GAAlB,CAAsBi+H,YAAtB,CAAV;AACH;;AACD,aAAQia,UAAU,KAAKja,YAAf,IAA+BnyB,OAAhC,IAA4C,IAAnD;AACH;;;WACD,sBAAaxoF,QAAb,EAAuB;AACnB,UAAI,KAAK60H,gBAAL,CAAsB70H,QAAtB,CAAJ,EAAqC;AACjC,eAAOjL,KAAK,CAACs2B,IAAN,CAAW,KAAKmpG,YAAL,CAAkB/hI,IAAlB,EAAX,EAAqCgJ,MAArC,CAA4C,UAACo/B,MAAD;AAAA,iBAAYA,MAAM,CAAC76B,QAAP,KAAoBA,QAAhC;AAAA,SAA5C,CAAP;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,qBAAY26G,YAAZ,EAA0B;AACtBA,kBAAY,CAACmB,eAAb;AACA,aAAO,KAAKvB,QAAL,CAAc79H,GAAd,CAAkBi+H,YAAlB,CAAP;AACH;AACD;AACJ;AACA;;;;WACI,4BAAmBqP,gBAAnB,EAAqC;AACjC,aAAO,KAAKtP,0BAAL,CAAgCh+H,GAAhC,CAAoCstI,gBAApC,KAAyD,IAAhE;AACH;;;WACD,oBAAWxhC,OAAX,EAAoB;AAChB,WAAKgsC,YAAL,CAAkB73I,GAAlB,CAAsB6rG,OAAO,CAAC3tD,MAA9B,EAAsC2tD,OAAtC;AACH;;;WACD,0BAAiBxoF,QAAjB,EAA2B;AAAA;;AACvB,UAAI80H,UAAU,GAAG,KAAKL,eAAL,CAAqB/3I,GAArB,CAAyBsjB,QAAzB,CAAjB;;AACA,UAAI80H,UAAU,IAAI,IAAlB,EAAwB;AACpB,eAAOA,UAAP;AACH;;AACD,UAAIxV,IAAI,GAAG,IAAX;;AACA,UAAI,KAAKzB,aAAL,CAAmB79G,QAAnB,CAAJ,EAAkC;AAC9B,YAAM+0H,eAAe,GAAGp0B,eAAe,CAAC3gG,QAAD,CAAvC;;AACA,YAAI;AACAs/G,cAAI,GAAG,KAAKz7G,IAAL,CAAUy9G,WAAV,CAAsByT,eAAtB,CAAP;AACH,SAFD,CAGA,OAAO3tI,CAAP,EAAU;AACN6tG,iBAAO,CAAC3kG,KAAR,sCAA4CykI,eAA5C;AACA,gBAAM3tI,CAAN;AACH;AACJ;;AACD0tI,gBAAU,GAAGxV,IAAI,IAAI,IAArB;AACA,WAAKmV,eAAL,CAAqB93I,GAArB,CAAyBqjB,QAAzB,EAAmC80H,UAAnC;;AACA,UAAIxV,IAAJ,EAAU;AACN,oCAA4CM,oBAAoB,CAAC,KAAK1F,iBAAN,EAAyB,IAAzB,EAA+Bl6G,QAA/B,EAAyCs/G,IAAzC,CAAhE;AAAA,YAAQl0H,UAAR,yBAAQA,UAAR;AAAA,YAAoB61H,SAApB,yBAAoBA,SAApB;AAAA,YAA+B1G,QAA/B,yBAA+BA,QAA/B;;AACA0G,iBAAS,CAAC5oI,OAAV,CAAkB,UAACmwG,OAAD;AAAA,iBAAa,QAAI,CAACgsC,YAAL,CAAkB73I,GAAlB,CAAsB6rG,OAAO,CAAC3tD,MAA9B,EAAsC2tD,OAAtC,CAAb;AAAA,SAAlB;;AACA,YAAIp9F,UAAJ,EAAgB;AACZ,eAAKsvH,0BAAL,CAAgC/9H,GAAhC,CAAoCqjB,QAApC,EAA8C5U,UAA9C;AACH;;AACDmvH,gBAAQ,CAACliI,OAAT,CAAiB,UAACkiI,QAAD,EAAc;AAC3B,kBAAI,CAACA,QAAL,CAAc59H,GAAd,CAAkB49H,QAAQ,CAAC1/E,MAA3B,EAAmC0/E,QAAQ,CAACA,QAA5C;AACH,SAFD;AAGH;;AACD,aAAOua,UAAP;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,oBAAT,CAA8BnxH,IAA9B,EAAoC;AAChC,SAAO;AACHolD,WAAO,EAAE,iBAACgsE,QAAD,EAAWtuH,GAAX,EAAmB;AACxB,UAAM3G,QAAQ,GAAG6D,IAAI,CAACygH,sBAAL,CAA4B39G,GAA5B,EAAiCsuH,QAAjC,CAAjB;;AACA,UAAI,CAACj1H,QAAL,EAAe;AACX,cAAM3J,WAAW,qCAA8BsQ,GAA9B,mBAA0CsuH,QAA1C,EAAjB;AACH;;AACD,aAAOj1H,QAAP;AACH;AAPE,GAAP;AASH;AACD;AACA;AACA;;;AACA,SAASk1H,iBAAT,CAA2BC,YAA3B,EAAyCxjF,OAAzC,EAAkDyjF,cAAlD,EAAkE;AAC9D,MAAI5hC,YAAY,GAAG7hD,OAAO,CAAC6hD,YAAR,IAAwB,EAA3C;AACA,MAAM6hC,WAAW,GAAGL,oBAAoB,CAACG,YAAD,CAAxC;AACA,MAAMtV,WAAW,GAAG,IAAI1/G,iBAAJ,EAApB;AACA,MAAMg6G,eAAe,GAAG,IAAIoa,kBAAJ,CAAuBY,YAAvB,EAAqCtV,WAArC,CAAxB;AACA,MAAMZ,cAAc,GAAG,IAAIhF,oBAAJ,CAAyBkb,YAAzB,EAAuCtV,WAAvC,EAAoD1F,eAApD,CAAvB;AACA,MAAMmb,eAAe,GAAG,IAAI/H,eAAJ,CAAoBpT,eAApB,EAAqC8E,cAArC,EAAqD,EAArD,EAAyD,EAAzD,EAA6DmW,cAA7D,CAAxB;AACA,MAAI3vC,UAAJ;;AACA,MAAI,CAAC,CAAC9zC,OAAO,CAAC4jF,SAAd,EAAyB;AACrB;AACA9vC,cAAU,GAAG,IAAI7mC,UAAJ,EAAb;AACH,GAHD,MAIK;AACD6mC,cAAU,GAAG,IAAIoZ,cAAJ,CAAmB,IAAIjgD,UAAJ,EAAnB,EAAqC40C,YAArC,EAAmD7hD,OAAO,CAACi3E,UAA3D,EAAuEj3E,OAAO,CAACm9C,kBAA/E,EAAmGmG,OAAnG,CAAb;AACH;;AACD,MAAM7hC,MAAM,GAAG,IAAIs7B,cAAJ,CAAmB;AAC9BC,wBAAoB,EAAEvvG,iBAAiB,CAACyvD,QADV;AAE9B+/C,UAAM,EAAE,KAFsB;AAG9BE,sBAAkB,EAAEn9C,OAAO,CAACm9C,kBAHE;AAI9BxsF,uBAAmB,EAAEqvC,OAAO,CAACrvC,mBAJC;AAK9BysF,6BAAyB,EAAEp9C,OAAO,CAACo9C;AALL,GAAnB,CAAf;AAOA,MAAMymC,UAAU,GAAG,IAAIrmC,mBAAJ,CAAwB;AAAEzyG,OAAG,EAAE,aAACiqB,GAAD;AAAA,aAASwuH,YAAY,CAACM,YAAb,CAA0B9uH,GAA1B,CAAT;AAAA;AAAP,GAAxB,EAA0E0uH,WAA1E,EAAuF5vC,UAAvF,EAAmGryB,MAAnG,CAAnB;AACA,MAAM4zD,gBAAgB,GAAG,IAAI1lD,QAAJ,CAAa,IAAIhD,KAAJ,EAAb,CAAzB;AACA,MAAM4tB,qBAAqB,GAAG,IAAI5iB,wBAAJ,EAA9B;AACA,MAAMosD,UAAU,GAAG,IAAIjkE,cAAJ,CAAmB2B,MAAnB,EAA2BkiE,eAA3B,EAA4CtO,gBAA5C,EAA8D96B,qBAA9D,EAAqFzG,UAArF,EAAiGwP,OAAjG,EAA0G,EAA1G,CAAnB;AACA,MAAMtsC,QAAQ,GAAG,IAAI25C,uBAAJ,CAA4BlvC,MAA5B,EAAoCqyB,UAApC,EAAgD,IAAI2nB,gBAAJ,CAAqBkoB,eAArB,CAAhD,EAAuF,IAAInkC,iBAAJ,CAAsBmkC,eAAtB,CAAvF,EAA+H,IAAItmB,YAAJ,CAAiBsmB,eAAjB,CAA/H,EAAkKnb,eAAlK,EAAmLjuB,qBAAnL,EAA0MspC,UAA1M,EAAsNvgC,OAAtN,EAA+N4qB,WAA/N,EAA4OyV,eAA5O,EAA6PF,cAA7P,CAAjB,CA1B8D,CA2B9D;;AACA,MAAMO,YAAY,GAAG,IAAItjB,YAAJ,CAAiBijB,eAAjB,CAArB;AACA,MAAMM,iBAAiB,GAAG,IAAI1mB,iBAAJ,CAAsBv9D,OAAtB,EAA+B2jF,eAA/B,CAA1B;AACA,MAAMO,QAAQ,GAAG,IAAIvT,WAAJ,CAAgBlvD,MAAhB,EAAwBzhB,OAAxB,EAAiCwjF,YAAjC,EAA+CG,eAA/C,EAAgE3sE,QAAhE,EAA0E+sE,UAA1E,EAAsF,IAAIrnF,aAAJ,CAAkBgnF,WAAlB,CAAtF,EAAsHM,YAAtH,EAAoIC,iBAApI,EAAuJ,IAAIjpB,gBAAJ,CAAqB2oB,eAArB,CAAvJ,EAA8L,IAAI/1B,kBAAJ,CAAuB+1B,eAAvB,EAAwC,CAAC,CAAC3jF,OAAO,CAAC4jF,SAAlD,CAA9L,EAA4P,IAAIhoB,iBAAJ,EAA5P,EAAqR4M,eAArR,EAAsS8E,cAAtS,CAAjB;AACA,SAAO;AAAE4W,YAAQ,EAARA,QAAF;AAAYh2H,aAAS,EAAEy1H;AAAvB,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEMQ,e;;;;IAEAC,kB;AACF,gCAAc;AAAA;;AACV,SAAKC,UAAL,GAAkB,IAAI36I,GAAJ,EAAlB;AACH;;;;WACD,yBAAgB;AACZ,aAAO,KAAP;AACH;;;WACD,2BAAkBulH,QAAlB,EAA4B;AACxB,aAAOA,QAAP;AACH;;;WACD,6BAAoBA,QAApB,EAA8B;AAC1B,aAAOA,QAAP;AACH;;;WACD,wBAAelhG,SAAf,EAA0B;AACtB,aAAO,KAAKs2H,UAAL,CAAgBt5I,GAAhB,CAAoBgjB,SAApB,KAAkC,IAAzC;AACH;;;WACD,wBAAe;AACX,aAAO,EAAP;AACH;;;WACD,qBAAYA,SAAZ,EAAuB;AACnB,aAAOA,SAAP;AACH;;;WACD,4BAAmBkhG,QAAnB,EAA6B;AACzB,aAAO,IAAP;AACH;;;WACD,oBAAWpY,OAAX,EAAoB;AAChB,WAAKwtC,UAAL,CAAgBr5I,GAAhB,CAAoB6rG,OAAO,CAAC3tD,MAA5B,EAAoC2tD,OAApC;AACH;;;;;;AAGL,SAASytC,mBAAT,CAA6B/pI,UAA7B,EAAyC2T,SAAzC,EAAoD;AAChD,MAAM/E,GAAG,GAAG,IAAIo7H,iBAAJ,CAAsB,IAAtB,EAA4B,IAA5B,EAAkC,IAAlC,EAAwC,IAAI76I,GAAJ,EAAxC,CAAZ;AACA,MAAMqH,OAAO,GAAG,IAAIyzI,oBAAJ,CAAyBt2H,SAAzB,CAAhB;AACAnd,SAAO,CAACmO,kBAAR,CAA2B3E,UAA3B,EAAuC4O,GAAvC;AACA,MAAMlhB,MAAM,GAAG,EAAf;AACAkhB,KAAG,CAACy+B,OAAJ,CAAYlhD,OAAZ,CAAoB,UAAC+9I,UAAD,EAAgB;AAChCx8I,UAAM,CAACw8I,UAAD,CAAN,GAAqBt7H,GAAG,CAACwZ,IAAJ,CAAS53B,GAAT,CAAa05I,UAAb,CAArB;AACH,GAFD;AAGA,SAAOx8I,MAAP;AACH;;AACD,SAASy8I,0BAAT,CAAoC3kI,QAApC,EAA8C4kI,SAA9C,EAAyDpqI,UAAzD,EAAqE4O,GAArE,EAA0EpY,OAA1E,EAAmF;AAC/E,MAAM6zI,QAAQ,GAAGz7H,GAAG,CAAC07H,wBAAJ,EAAjB;;AACA,OAAK,IAAI/8I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGiY,QAAQ,CAACtZ,MAA7B,EAAqCqB,CAAC,EAAtC,EAA0C;AACtC88I,YAAQ,CAACjiH,IAAT,CAAc33B,GAAd,CAAkB+U,QAAQ,CAACjY,CAAD,CAA1B,EAA+B68I,SAAS,CAAC78I,CAAD,CAAxC;AACH;;AACD,MAAMG,MAAM,GAAG8I,OAAO,CAACmO,kBAAR,CAA2B3E,UAA3B,EAAuCqqI,QAAvC,CAAf;AACA,SAAO38I,MAAM,GAAGA,MAAM,CAACG,KAAV,GAAkB,IAA/B;AACH;;IACKm8I,iB;AACF,6BAAYzmI,MAAZ,EAAoBgnI,QAApB,EAA8Bl6I,SAA9B,EAAyC+3B,IAAzC,EAA+C;AAAA;;AAC3C,SAAK7kB,MAAL,GAAcA,MAAd;AACA,SAAKgnI,QAAL,GAAgBA,QAAhB;AACA,SAAKl6I,SAAL,GAAiBA,SAAjB;AACA,SAAK+3B,IAAL,GAAYA,IAAZ;AACA,SAAKilB,OAAL,GAAe,EAAf;AACH;;;;WACD,oCAA2B;AACvB,aAAO,IAAI28F,iBAAJ,CAAsB,IAAtB,EAA4B,KAAKO,QAAjC,EAA2C,KAAKl6I,SAAhD,EAA2D,IAAIlB,GAAJ,EAA3D,CAAP;AACH;;;;;;IAECq7I,W,GACF,qBAAY38I,KAAZ,EAAmB;AAAA;;AACf,OAAKA,KAAL,GAAaA,KAAb;AACH,C;;AAEL,SAAS48I,kBAAT,CAA4BC,UAA5B,EAAwCC,IAAxC,EAA8C14G,QAA9C,EAAwD;AACpD,MAAM24G,mBAAmB,GAAG,EAA5B;;AACAF,YAAU,CAACjnI,OAAX,CAAmBtX,OAAnB,CAA2B,UAAC6Y,MAAD,EAAY;AACnC;AACA4lI,uBAAmB,CAAC5lI,MAAM,CAAC5Y,IAAR,CAAnB,GAAmC;AAC/B6kH,kBAAY,EAAE,KADiB;AAE/BzgH,SAAG,EAAE,eAAY;AACb,YAAMq6I,WAAW,GAAG,IAAIb,iBAAJ,CAAsBW,IAAtB,EAA4B,IAA5B,EAAkCD,UAAU,CAACt+I,IAA7C,EAAmDu+I,IAAI,CAACviH,IAAxD,CAApB;AACA,eAAO+hH,0BAA0B,CAAC,EAAD,EAAK,EAAL,EAASnlI,MAAM,CAAC7B,IAAhB,EAAsB0nI,WAAtB,EAAmC54G,QAAnC,CAAjC;AACH;AAL8B,KAAnC;AAOH,GATD;;AAUAy4G,YAAU,CAAC/mI,OAAX,CAAmBxX,OAAnB,CAA2B,UAAUoQ,MAAV,EAAkB;AACzC,QAAMuuI,UAAU,GAAGvuI,MAAM,CAACtD,MAAP,CAAcrI,GAAd,CAAkB,UAAAkP,KAAK;AAAA,aAAIA,KAAK,CAAC1T,IAAV;AAAA,KAAvB,CAAnB,CADyC,CAEzC;;AACAw+I,uBAAmB,CAACruI,MAAM,CAACnQ,IAAR,CAAnB,GAAmC;AAC/B2+I,cAAQ,EAAE,KADqB;AAE/B95B,kBAAY,EAAE,KAFiB;AAG/BpjH,WAAK,EAAE,iBAAmB;AACtB,YAAMg9I,WAAW,GAAG,IAAIb,iBAAJ,CAAsBW,IAAtB,EAA4B,IAA5B,EAAkCD,UAAU,CAACt+I,IAA7C,EAAmDu+I,IAAI,CAACviH,IAAxD,CAApB;;AADsB,2CAANl0B,IAAM;AAANA,cAAM;AAAA;;AAEtB,eAAOi2I,0BAA0B,CAACW,UAAD,EAAa52I,IAAb,EAAmBqI,MAAM,CAAC4G,IAA1B,EAAgC0nI,WAAhC,EAA6C54G,QAA7C,CAAjC;AACH;AAN8B,KAAnC;AAQH,GAXD;;AAYA,MAAM+4G,cAAc,GAAGN,UAAU,CAAChnI,iBAAX,CAA6BzK,MAA7B,CAAoCrI,GAApC,CAAwC,UAAAkP,KAAK;AAAA,WAAIA,KAAK,CAAC1T,IAAV;AAAA,GAA7C,CAAvB,CAxBoD,CAyBpD;;;AACA,MAAMs3D,IAAI,GAAG,SAAPA,IAAO,GAAmB;AAAA;;AAC5B,QAAMmnF,WAAW,GAAG,IAAIb,iBAAJ,CAAsBW,IAAtB,EAA4B,IAA5B,EAAkCD,UAAU,CAACt+I,IAA7C,EAAmDu+I,IAAI,CAACviH,IAAxD,CAApB;;AACAsiH,cAAU,CAAClnI,MAAX,CAAkBrX,OAAlB,CAA0B,UAACw1G,KAAD,EAAW;AACjC,cAAI,CAACA,KAAK,CAACv1G,IAAP,CAAJ,GAAmB+F,SAAnB;AACH,KAFD;;AAF4B,uCAAN+B,IAAM;AAANA,UAAM;AAAA;;AAK5Bi2I,8BAA0B,CAACa,cAAD,EAAiB92I,IAAjB,EAAuBw2I,UAAU,CAAChnI,iBAAX,CAA6BP,IAApD,EAA0D0nI,WAA1D,EAAuE54G,QAAvE,CAA1B;AACH,GAND;;AAOA,MAAMg5G,UAAU,GAAGP,UAAU,CAACnnI,MAAX,GAAoBmnI,UAAU,CAACnnI,MAAX,CAAkBkB,eAAlB,CAAkCwtB,QAAlC,EAA4C04G,IAA5C,CAApB,GAAwEn4I,MAA3F;AACAkxD,MAAI,CAACp9C,SAAL,GAAiB9T,MAAM,CAAC4T,MAAP,CAAc6kI,UAAU,CAAC3kI,SAAzB,EAAoCskI,mBAApC,CAAjB;AACA,SAAOlnF,IAAP;AACH;;IACKumF,oB;AACF,gCAAYt2H,SAAZ,EAAuB;AAAA;;AACnB,SAAKA,SAAL,GAAiBA,SAAjB;AACH;;;;WACD,kBAASpP,GAAT,EAAc;AACV,aAAO48G,0BAA0B,CAAC58G,GAAD,CAAjC;AACH;;;WACD,6BAAoB/B,IAApB,EAA0BoM,GAA1B,EAA+B;AAC3B,UAAMs8H,YAAY,GAAG1oI,IAAI,CAAC3U,KAAL,GAAa2U,IAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC,CAAb,GAAqDzc,SAA1E;AACAyc,SAAG,CAACwZ,IAAJ,CAAS33B,GAAT,CAAa+R,IAAI,CAACpW,IAAlB,EAAwB8+I,YAAxB;;AACA,UAAI1oI,IAAI,CAAC+jC,WAAL,CAAiBxqC,YAAY,CAAC4+B,QAA9B,CAAJ,EAA6C;AACzC/rB,WAAG,CAACy+B,OAAJ,CAAY1/C,IAAZ,CAAiB6U,IAAI,CAACpW,IAAtB;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,2BAAkBkP,IAAlB,EAAwBsT,GAAxB,EAA6B;AACzB,UAAM/gB,KAAK,GAAGyN,IAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC,CAAd;AACA,UAAIu8H,OAAO,GAAGv8H,GAAd;;AACA,aAAOu8H,OAAO,IAAI,IAAlB,EAAwB;AACpB,YAAIA,OAAO,CAAC/iH,IAAR,CAAa1O,GAAb,CAAiBpe,IAAI,CAAClP,IAAtB,CAAJ,EAAiC;AAC7B++I,iBAAO,CAAC/iH,IAAR,CAAa33B,GAAb,CAAiB6K,IAAI,CAAClP,IAAtB,EAA4ByB,KAA5B;AACA,iBAAOA,KAAP;AACH;;AACDs9I,eAAO,GAAGA,OAAO,CAAC5nI,MAAlB;AACH;;AACD,YAAM,IAAI5Y,KAAJ,iCAAmC2Q,IAAI,CAAClP,IAAxC,EAAN;AACH;;;WACD,8BAAqBmY,GAArB,EAA0BqK,GAA1B,EAA+B;AAC3B,YAAM,IAAIjkB,KAAJ,CAAU,qCAAV,CAAN;AACH;;;WACD,yBAAgB4Z,GAAhB,EAAqBqK,GAArB,EAA0B;AACtB,YAAM,IAAIjkB,KAAJ,CAAU,+BAAV,CAAN;AACH;;;WACD,0BAAiB4Z,GAAjB,EAAsBqK,GAAtB,EAA2B;AACvB,UAAIy0B,OAAO,GAAG9+B,GAAG,CAACnY,IAAlB;;AACA,UAAImY,GAAG,CAACtJ,OAAJ,IAAe,IAAnB,EAAyB;AACrB,gBAAQsJ,GAAG,CAACtJ,OAAZ;AACI,eAAKF,UAAU,CAAC0G,KAAhB;AACI,mBAAOjP,MAAM,CAACoY,cAAP,CAAsBgE,GAAG,CAAC27H,QAA1B,CAAP;;AACJ,eAAKxvI,UAAU,CAACwG,IAAhB;AACI,mBAAOqN,GAAG,CAAC27H,QAAX;;AACJ,eAAKxvI,UAAU,CAAC4G,UAAhB;AACI0hC,mBAAO,GAAG+nG,iBAAV;AACA;;AACJ,eAAKrwI,UAAU,CAAC8G,UAAhB;AACIwhC,mBAAO,GAAGgoG,iBAAV;AACA;;AACJ;AACI,kBAAM,IAAI1gJ,KAAJ,oCAAsC4Z,GAAG,CAACtJ,OAA1C,EAAN;AAZR;AAcH;;AACD,UAAIkwI,OAAO,GAAGv8H,GAAd;;AACA,aAAOu8H,OAAO,IAAI,IAAlB,EAAwB;AACpB,YAAIA,OAAO,CAAC/iH,IAAR,CAAa1O,GAAb,CAAiB2pB,OAAjB,CAAJ,EAA+B;AAC3B,iBAAO8nG,OAAO,CAAC/iH,IAAR,CAAa53B,GAAb,CAAiB6yC,OAAjB,CAAP;AACH;;AACD8nG,eAAO,GAAGA,OAAO,CAAC5nI,MAAlB;AACH;;AACD,YAAM,IAAI5Y,KAAJ,iCAAmC04C,OAAnC,EAAN;AACH;;;WACD,2BAAkB/nC,IAAlB,EAAwBsT,GAAxB,EAA6B;AACzB,UAAM1S,QAAQ,GAAGZ,IAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC,CAAjB;AACA,UAAM7V,KAAK,GAAGuC,IAAI,CAACvC,KAAL,CAAW0L,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC,CAAd;AACA,UAAM/gB,KAAK,GAAGyN,IAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC,CAAd;AACA1S,cAAQ,CAACnD,KAAD,CAAR,GAAkBlL,KAAlB;AACA,aAAOA,KAAP;AACH;;;WACD,4BAAmByN,IAAnB,EAAyBsT,GAAzB,EAA8B;AAC1B,UAAM1S,QAAQ,GAAGZ,IAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC,CAAjB;AACA,UAAM/gB,KAAK,GAAGyN,IAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC,CAAd;AACA1S,cAAQ,CAACZ,IAAI,CAAClP,IAAN,CAAR,GAAsByB,KAAtB;AACA,aAAOA,KAAP;AACH;;;WACD,+BAAsByN,IAAtB,EAA4BsT,GAA5B,EAAiC;AAC7B,UAAM1S,QAAQ,GAAGZ,IAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC,CAAjB;AACA,UAAM1a,IAAI,GAAG,KAAKwQ,mBAAL,CAAyBpJ,IAAI,CAACpH,IAA9B,EAAoC0a,GAApC,CAAb;AACA,UAAIlhB,MAAJ;;AACA,UAAI4N,IAAI,CAACL,OAAL,IAAgB,IAApB,EAA0B;AACtB,gBAAQK,IAAI,CAACL,OAAb;AACI,eAAKqB,aAAa,CAACqoC,WAAnB;AACIj3C,kBAAM,GAAGwO,QAAQ,CAACtO,MAAT,OAAAsO,QAAQ,qJAAWhI,IAAX,EAAjB;AACA;;AACJ,eAAKoI,aAAa,CAACsoC,mBAAnB;AACIl3C,kBAAM,GAAGwO,QAAQ,CAACovI,SAAT,CAAmB;AAAEh4E,kBAAI,EAAEp/D,IAAI,CAAC,CAAD;AAAZ,aAAnB,CAAT;AACA;;AACJ,eAAKoI,aAAa,CAACuoC,IAAnB;AACIn3C,kBAAM,GAAGwO,QAAQ,CAACqvI,IAAT,OAAArvI,QAAQ,qJAAShI,IAAT,EAAjB;AACA;;AACJ;AACI,kBAAM,IAAIvJ,KAAJ,kCAAoC2Q,IAAI,CAACL,OAAzC,EAAN;AAXR;AAaH,OAdD,MAeK;AACDvN,cAAM,GAAGwO,QAAQ,CAACZ,IAAI,CAAClP,IAAN,CAAR,CAAoBy4D,KAApB,CAA0B3oD,QAA1B,EAAoChI,IAApC,CAAT;AACH;;AACD,aAAOxG,MAAP;AACH;;;WACD,iCAAwB8U,IAAxB,EAA8BoM,GAA9B,EAAmC;AAC/B,UAAM1a,IAAI,GAAG,KAAKwQ,mBAAL,CAAyBlC,IAAI,CAACtO,IAA9B,EAAoC0a,GAApC,CAAb;AACA,UAAM61B,MAAM,GAAGjiC,IAAI,CAAC/F,EAApB;;AACA,UAAIgoC,MAAM,YAAYzpC,WAAlB,IAAiCypC,MAAM,CAACxpC,OAAP,KAAmBF,UAAU,CAAC0G,KAAnE,EAA0E;AACtEmN,WAAG,CAAC27H,QAAJ,CAAalkI,WAAb,CAAyBC,SAAzB,CAAmCD,WAAnC,CAA+Cw+C,KAA/C,CAAqDj2C,GAAG,CAAC27H,QAAzD,EAAmEr2I,IAAnE;AACA,eAAO,IAAP;AACH,OAHD,MAIK;AACD,YAAMuI,GAAE,GAAG+F,IAAI,CAAC/F,EAAL,CAAQgI,eAAR,CAAwB,IAAxB,EAA8BmK,GAA9B,CAAX;;AACA,eAAOnS,GAAE,CAACooD,KAAH,CAAS,IAAT,EAAe3wD,IAAf,CAAP;AACH;AACJ;;;WACD,yBAAgBsO,IAAhB,EAAsBoM,GAAtB,EAA2B;AACvB,aAAO,IAAI47H,WAAJ,CAAgBhoI,IAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC,CAAhB,CAAP;AACH;;;WACD,+BAAsBpM,IAAtB,EAA4BoM,GAA5B,EAAiC;AAC7B,UAAM4yB,KAAK,GAAGipG,kBAAkB,CAACjoI,IAAD,EAAOoM,GAAP,EAAY,IAAZ,CAAhC;AACAA,SAAG,CAACwZ,IAAJ,CAAS33B,GAAT,CAAa+R,IAAI,CAACpW,IAAlB,EAAwBo1C,KAAxB;;AACA,UAAIh/B,IAAI,CAAC+jC,WAAL,CAAiBxqC,YAAY,CAAC4+B,QAA9B,CAAJ,EAA6C;AACzC/rB,WAAG,CAACy+B,OAAJ,CAAY1/C,IAAZ,CAAiB6U,IAAI,CAACpW,IAAtB;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,6BAAoBoW,IAApB,EAA0BoM,GAA1B,EAA+B;AAC3B,aAAOpM,IAAI,CAAClH,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgCmK,GAAhC,CAAP;AACH;;;WACD,qBAAYpM,IAAZ,EAAkBoM,GAAlB,EAAuB;AACnB,UAAMtP,SAAS,GAAGkD,IAAI,CAAClD,SAAL,CAAemF,eAAf,CAA+B,IAA/B,EAAqCmK,GAArC,CAAlB;;AACA,UAAItP,SAAJ,EAAe;AACX,eAAO,KAAKqF,kBAAL,CAAwBnC,IAAI,CAACnJ,QAA7B,EAAuCuV,GAAvC,CAAP;AACH,OAFD,MAGK,IAAIpM,IAAI,CAAClJ,SAAL,IAAkB,IAAtB,EAA4B;AAC7B,eAAO,KAAKqL,kBAAL,CAAwBnC,IAAI,CAAClJ,SAA7B,EAAwCsV,GAAxC,CAAP;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,2BAAkBpM,IAAlB,EAAwBoM,GAAxB,EAA6B;AACzB,UAAI;AACA,eAAO,KAAKjK,kBAAL,CAAwBnC,IAAI,CAACwB,SAA7B,EAAwC4K,GAAxC,CAAP;AACH,OAFD,CAGA,OAAO1T,CAAP,EAAU;AACN,YAAMmvI,QAAQ,GAAGz7H,GAAG,CAAC07H,wBAAJ,EAAjB;AACAD,gBAAQ,CAACjiH,IAAT,CAAc33B,GAAd,CAAkB26I,iBAAlB,EAAqClwI,CAArC;AACAmvI,gBAAQ,CAACjiH,IAAT,CAAc33B,GAAd,CAAkB46I,iBAAlB,EAAqCnwI,CAAC,CAACu3D,KAAvC;AACA,eAAO,KAAK9tD,kBAAL,CAAwBnC,IAAI,CAACyB,UAA7B,EAAyComI,QAAzC,CAAP;AACH;AACJ;;;WACD,wBAAe7nI,IAAf,EAAqBoM,GAArB,EAA0B;AACtB,YAAMpM,IAAI,CAAC4B,KAAL,CAAWK,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC,CAAN;AACH;;;WACD,8BAAqBrK,GAArB,EAA0BqK,GAA1B,EAA+B;AAC3B,UAAM1a,IAAI,GAAG,KAAKwQ,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmC0a,GAAnC,CAAb;AACA,UAAM4yB,KAAK,GAAGj9B,GAAG,CAAC5H,SAAJ,CAAc8H,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC,CAAd;AACA,uJAAW4yB,KAAX,qJAAoBttC,IAApB;AACH;;;WACD,0BAAiBqQ,GAAjB,EAAsBqK,GAAtB,EAA2B;AACvB,aAAOrK,GAAG,CAAC1W,KAAX;AACH;;;WACD,8BAAqB0W,GAArB,EAA0B9N,OAA1B,EAAmC;AAC/B,aAAO,IAAP;AACH;;;WACD,2BAAkB8N,GAAlB,EAAuBqK,GAAvB,EAA4B;AACxB,aAAO,KAAK+E,SAAL,CAAeC,wBAAf,CAAwCrP,GAAG,CAAC1W,KAA5C,CAAP;AACH;;;WACD,8BAAqB0W,GAArB,EAA0BqK,GAA1B,EAA+B;AAC3B,UAAIrK,GAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC,CAAJ,EAA8C;AAC1C,eAAOrK,GAAG,CAAClL,QAAJ,CAAaoL,eAAb,CAA6B,IAA7B,EAAmCmK,GAAnC,CAAP;AACH,OAFD,MAGK,IAAIrK,GAAG,CAACjL,SAAJ,IAAiB,IAArB,EAA2B;AAC5B,eAAOiL,GAAG,CAACjL,SAAJ,CAAcmL,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC,CAAP;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,sBAAarK,GAAb,EAAkBqK,GAAlB,EAAuB;AACnB,aAAO,CAACrK,GAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC,CAAR;AACH;;;WACD,gCAAuBrK,GAAvB,EAA4BqK,GAA5B,EAAiC;AAC7B,aAAOrK,GAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC,CAAP;AACH;;;WACD,uBAAcrK,GAAd,EAAmBqK,GAAnB,EAAwB;AACpB,aAAOrK,GAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgCmK,GAAhC,CAAP;AACH;;;WACD,2BAAkBrK,GAAlB,EAAuBqK,GAAvB,EAA4B;AACxB,UAAMk8H,UAAU,GAAGvmI,GAAG,CAACtL,MAAJ,CAAWrI,GAAX,CAAe,UAACkP,KAAD;AAAA,eAAWA,KAAK,CAAC1T,IAAjB;AAAA,OAAf,CAAnB;AACA,aAAOo/I,UAAU,CAACV,UAAD,EAAavmI,GAAG,CAACvE,UAAjB,EAA6B4O,GAA7B,EAAkC,IAAlC,CAAjB;AACH;;;WACD,kCAAyBpM,IAAzB,EAA+BoM,GAA/B,EAAoC;AAChC,UAAMk8H,UAAU,GAAGtoI,IAAI,CAACvJ,MAAL,CAAYrI,GAAZ,CAAgB,UAACkP,KAAD;AAAA,eAAWA,KAAK,CAAC1T,IAAjB;AAAA,OAAhB,CAAnB;AACAwiB,SAAG,CAACwZ,IAAJ,CAAS33B,GAAT,CAAa+R,IAAI,CAACpW,IAAlB,EAAwBo/I,UAAU,CAACV,UAAD,EAAatoI,IAAI,CAACxC,UAAlB,EAA8B4O,GAA9B,EAAmC,IAAnC,CAAlC;;AACA,UAAIpM,IAAI,CAAC+jC,WAAL,CAAiBxqC,YAAY,CAAC4+B,QAA9B,CAAJ,EAA6C;AACzC/rB,WAAG,CAACy+B,OAAJ,CAAY1/C,IAAZ,CAAiB6U,IAAI,CAACpW,IAAtB;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,gCAAuBmY,GAAvB,EAA4BqK,GAA5B,EAAiC;AAAA;;AAC7B,UAAMpV,GAAG,GAAG,SAANA,GAAM;AAAA,eAAM+K,GAAG,CAACjJ,IAAJ,CAASmJ,eAAT,CAAyB,QAAzB,EAA+BmK,GAA/B,CAAN;AAAA,OAAZ;;AACA,cAAQrK,GAAG,CAACnE,QAAZ;AACI,aAAKjI,aAAa,CAAC4B,IAAnB;AACI,iBAAO,CAACP,GAAG,EAAX;;AACJ,aAAKrB,aAAa,CAAC2B,KAAnB;AACI,iBAAO,CAACN,GAAG,EAAX;;AACJ;AACI,gBAAM,IAAI7O,KAAJ,4BAA8B4Z,GAAG,CAACnE,QAAlC,EAAN;AANR;AAQH;;;WACD,iCAAwBmE,GAAxB,EAA6BqK,GAA7B,EAAkC;AAAA;;AAC9B,UAAMtO,GAAG,GAAG,SAANA,GAAM;AAAA,eAAMiE,GAAG,CAACjE,GAAJ,CAAQmE,eAAR,CAAwB,QAAxB,EAA8BmK,GAA9B,CAAN;AAAA,OAAZ;;AACA,UAAMpV,GAAG,GAAG,SAANA,GAAM;AAAA,eAAM+K,GAAG,CAAC/K,GAAJ,CAAQiL,eAAR,CAAwB,QAAxB,EAA8BmK,GAA9B,CAAN;AAAA,OAAZ;;AACA,cAAQrK,GAAG,CAACnE,QAAZ;AACI,aAAKhI,cAAc,CAACsB,MAApB;AACI,iBAAO4G,GAAG,MAAM9G,GAAG,EAAnB;;AACJ,aAAKpB,cAAc,CAACwB,SAApB;AACI,iBAAO0G,GAAG,OAAO9G,GAAG,EAApB;;AACJ,aAAKpB,cAAc,CAACuB,SAApB;AACI,iBAAO2G,GAAG,MAAM9G,GAAG,EAAnB;;AACJ,aAAKpB,cAAc,CAACyB,YAApB;AACI,iBAAOyG,GAAG,OAAO9G,GAAG,EAApB;;AACJ,aAAKpB,cAAc,CAAC+B,GAApB;AACI,iBAAOmG,GAAG,MAAM9G,GAAG,EAAnB;;AACJ,aAAKpB,cAAc,CAACkC,EAApB;AACI,iBAAOgG,GAAG,MAAM9G,GAAG,EAAnB;;AACJ,aAAKpB,cAAc,CAAC2B,IAApB;AACI,iBAAOuG,GAAG,KAAK9G,GAAG,EAAlB;;AACJ,aAAKpB,cAAc,CAAC0B,KAApB;AACI,iBAAOwG,GAAG,KAAK9G,GAAG,EAAlB;;AACJ,aAAKpB,cAAc,CAAC4B,MAApB;AACI,iBAAOsG,GAAG,KAAK9G,GAAG,EAAlB;;AACJ,aAAKpB,cAAc,CAAC6B,QAApB;AACI,iBAAOqG,GAAG,KAAK9G,GAAG,EAAlB;;AACJ,aAAKpB,cAAc,CAAC8B,MAApB;AACI,iBAAOoG,GAAG,KAAK9G,GAAG,EAAlB;;AACJ,aAAKpB,cAAc,CAACmC,KAApB;AACI,iBAAO+F,GAAG,KAAK9G,GAAG,EAAlB;;AACJ,aAAKpB,cAAc,CAACoC,WAApB;AACI,iBAAO8F,GAAG,MAAM9G,GAAG,EAAnB;;AACJ,aAAKpB,cAAc,CAACqC,MAApB;AACI,iBAAO6F,GAAG,KAAK9G,GAAG,EAAlB;;AACJ,aAAKpB,cAAc,CAACsC,YAApB;AACI,iBAAO4F,GAAG,MAAM9G,GAAG,EAAnB;;AACJ;AACI,gBAAM,IAAI7O,KAAJ,4BAA8B4Z,GAAG,CAACnE,QAAlC,EAAN;AAhCR;AAkCH;;;WACD,2BAAkBmE,GAAlB,EAAuBqK,GAAvB,EAA4B;AACxB,UAAIlhB,MAAJ;AACA,UAAMwO,QAAQ,GAAGqI,GAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmCmK,GAAnC,CAAjB;AACAlhB,YAAM,GAAGwO,QAAQ,CAACqI,GAAG,CAACnY,IAAL,CAAjB;AACA,aAAOsB,MAAP;AACH;;;WACD,0BAAiB6W,GAAjB,EAAsBqK,GAAtB,EAA2B;AACvB,UAAM1S,QAAQ,GAAGqI,GAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmCmK,GAAnC,CAAjB;AACA,UAAMpI,IAAI,GAAGjC,GAAG,CAACxL,KAAJ,CAAU0L,eAAV,CAA0B,IAA1B,EAAgCmK,GAAhC,CAAb;AACA,aAAO1S,QAAQ,CAACsK,IAAD,CAAf;AACH;;;WACD,+BAAsBjC,GAAtB,EAA2BqK,GAA3B,EAAgC;AAC5B,aAAO,KAAKlK,mBAAL,CAAyBH,GAAG,CAAC5D,OAA7B,EAAsCiO,GAAtC,CAAP;AACH;;;WACD,6BAAoBrK,GAApB,EAAyBqK,GAAzB,EAA8B;AAAA;;AAC1B,UAAMlhB,MAAM,GAAG,EAAf;AACA6W,SAAG,CAAC5D,OAAJ,CAAYxU,OAAZ,CAAoB,UAAAyY,KAAK;AAAA,eAAIlX,MAAM,CAACkX,KAAK,CAAC7D,GAAP,CAAN,GAAoB6D,KAAK,CAAC/W,KAAN,CAAY4W,eAAZ,CAA4B,QAA5B,EAAkCmK,GAAlC,CAAxB;AAAA,OAAzB;AACA,aAAOlhB,MAAP;AACH;;;WACD,wBAAe6W,GAAf,EAAoB9N,OAApB,EAA6B;AACzB,UAAMtB,MAAM,GAAG,KAAKuP,mBAAL,CAAyBH,GAAG,CAACnD,KAA7B,EAAoC3K,OAApC,CAAf;AACA,aAAOtB,MAAM,CAACA,MAAM,CAACjJ,MAAP,GAAgB,CAAjB,CAAb;AACH;;;WACD,6BAAoBqR,WAApB,EAAiCqR,GAAjC,EAAsC;AAAA;;AAClC,aAAOrR,WAAW,CAAC3M,GAAZ,CAAgB,UAAC0K,IAAD;AAAA,eAAUA,IAAI,CAACmJ,eAAL,CAAqB,QAArB,EAA2BmK,GAA3B,CAAV;AAAA,OAAhB,CAAP;AACH;;;WACD,4BAAmB5O,UAAnB,EAA+B4O,GAA/B,EAAoC;AAChC,WAAK,IAAIrhB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyS,UAAU,CAAC9T,MAA/B,EAAuCqB,CAAC,EAAxC,EAA4C;AACxC,YAAMiV,IAAI,GAAGxC,UAAU,CAACzS,CAAD,CAAvB;AACA,YAAM8b,GAAG,GAAG7G,IAAI,CAAC2C,cAAL,CAAoB,IAApB,EAA0ByJ,GAA1B,CAAZ;;AACA,YAAIvF,GAAG,YAAYmhI,WAAnB,EAAgC;AAC5B,iBAAOnhI,GAAP;AACH;AACJ;;AACD,aAAO,IAAP;AACH;;;;;;AAEL,SAASmiI,UAAT,CAAoBhmI,QAApB,EAA8BxF,UAA9B,EAA0C4O,GAA1C,EAA+CpY,OAA/C,EAAwD;AACpD,SAAO;AAAA,uCAAItC,IAAJ;AAAIA,UAAJ;AAAA;;AAAA,WAAai2I,0BAA0B,CAAC3kI,QAAD,EAAWtR,IAAX,EAAiB8L,UAAjB,EAA6B4O,GAA7B,EAAkCpY,OAAlC,CAAvC;AAAA,GAAP;AACH;;AACD,IAAM40I,iBAAiB,GAAG,OAA1B;AACA,IAAMC,iBAAiB,GAAG,OAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMI,W;AACF,uBAAYlV,iBAAZ,EAA+BC,eAA/B,EAAgDC,cAAhD,EAAgEC,aAAhE,EAA+EE,iBAA/E,EAAkGpgB,gBAAlG,EAAoH/wC,UAApH,EAAgIimE,aAAhI,EAA+IC,eAA/I,EAAgKhmE,QAAhK,EAA0KimE,yBAA1K,EAAqM;AAAA;;AACjM,SAAKrV,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKE,iBAAL,GAAyBA,iBAAzB;AACA,SAAKpgB,gBAAL,GAAwBA,gBAAxB;AACA,SAAK/wC,UAAL,GAAkBA,UAAlB;AACA,SAAKimE,aAAL,GAAqBA,aAArB;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACA,SAAKhmE,QAAL,GAAgBA,QAAhB;AACA,SAAKimE,yBAAL,GAAiCA,yBAAjC;AACA,SAAKC,sBAAL,GAA8B,IAAI18I,GAAJ,EAA9B;AACA,SAAK28I,0BAAL,GAAkC,IAAI38I,GAAJ,EAAlC;AACA,SAAK48I,8BAAL,GAAsC,IAAI58I,GAAJ,EAAtC;AACA,SAAK68I,sBAAL,GAA8B,IAAI78I,GAAJ,EAA9B;AACA,SAAK88I,sBAAL,GAA8B,CAA9B;AACA,SAAKC,kBAAL,GAA0B,IAAIxmI,GAAJ,EAA1B;AACH;;;;WACD,2BAAkBunC,UAAlB,EAA8B;AAC1B,aAAOxjC,SAAS,CAACC,UAAV,CAAqB,KAAKyiI,2BAAL,CAAiCl/F,UAAjC,EAA6C,IAA7C,CAArB,CAAP;AACH;;;WACD,4BAAmBA,UAAnB,EAA+B;AAC3B,aAAOhjC,OAAO,CAAC8yD,OAAR,CAAgB,KAAKovE,2BAAL,CAAiCl/F,UAAjC,EAA6C,KAA7C,CAAhB,CAAP;AACH;;;WACD,2CAAkCA,UAAlC,EAA8C;AAC1C,aAAOxjC,SAAS,CAACC,UAAV,CAAqB,KAAK0iI,8BAAL,CAAoCn/F,UAApC,EAAgD,IAAhD,CAArB,CAAP;AACH;;;WACD,4CAAmCA,UAAnC,EAA+C;AAC3C,aAAOhjC,OAAO,CAAC8yD,OAAR,CAAgB,KAAKqvE,8BAAL,CAAoCn/F,UAApC,EAAgD,KAAhD,CAAhB,CAAP;AACH;;;WACD,6BAAoBqW,SAApB,EAA+B;AAC3B,UAAMg5C,OAAO,GAAG,KAAKi6B,iBAAL,CAAuByE,mBAAvB,CAA2C13E,SAA3C,CAAhB;;AACA,aAAOg5C,OAAO,CAAC/kF,gBAAf;AACH;;;WACD,0BAAiBw9G,SAAjB,EAA4B;AACxB,WAAK3d,UAAL;;AACA,WAAKi1B,gBAAL,CAAsBtX,SAAtB;AACH;;;WACD,0BAAiBt4H,EAAjB,EAAqB;AACjB,UAAI,KAAKyvI,kBAAL,CAAwBxyH,GAAxB,CAA4Bjd,EAA5B,CAAJ,EAAqC;AACjC;AACH;;AACD,WAAKyvI,kBAAL,CAAwBvmI,GAAxB,CAA4BlJ,EAA5B;;AACA,UAAMs4H,SAAS,GAAGt4H,EAAE,EAApB;;AACA,WAAK,IAAIlP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwnI,SAAS,CAAC7oI,MAA9B,EAAsCqB,CAAC,EAAvC,EAA2C;AACvC,YAAMqX,KAAK,GAAGmwH,SAAS,CAACxnI,CAAD,CAAvB;;AACA,YAAI,OAAOqX,KAAP,KAAiB,UAArB,EAAiC;AAC7B,eAAKynI,gBAAL,CAAsBznI,KAAtB;AACH,SAFD,MAGK;AACD,cAAM03F,OAAO,GAAG13F,KAAhB;;AACA,eAAK4xG,gBAAL,CAAsB2c,UAAtB,CAAiC;AAAExkF,kBAAM,EAAE2tD,OAAO,CAAC1jG,IAAR,CAAa4a,SAAvB;AAAkC67B,oBAAQ,EAAE,IAA5C;AAAkDz2C,gBAAI,EAAE0jG;AAAxD,WAAjC;AACH;AACJ;AACJ;;;WACD,uBAAc5nF,GAAd,EAAmB;AACf,aAAO,CAAC,CAAC,KAAK8hG,gBAAL,CAAsBsB,cAAtB,CAAqCpjG,GAArC,CAAT;AACH;;;WACD,+BAAsB43H,GAAtB,EAA2B;AAAA;;AACvB,aAAOA,GAAG,CAAC17I,GAAJ,CAAQ,UAAA3G,GAAG;AAAA,eAAIA,GAAG,CAACupB,SAAR;AAAA,OAAX,EAA8BjE,MAA9B,CAAqC,UAACmF,GAAD;AAAA,eAAS,CAAC,QAAI,CAAC63H,aAAL,CAAmB73H,GAAnB,CAAV;AAAA,OAArC,CAAP;AACH;;;WACD,qCAA4Bu4B,UAA5B,EAAwCkrE,MAAxC,EAAgD;AAAA;;AAC5C,aAAO1uG,SAAS,CAACG,IAAV,CAAe,KAAK4iI,YAAL,CAAkBv/F,UAAlB,EAA8BkrE,MAA9B,CAAf,EAAsD,YAAM;AAC/D,gBAAI,CAACs0B,kBAAL,CAAwBx/F,UAAxB,EAAoC,IAApC;;AACA,eAAO,QAAI,CAACyuF,cAAL,CAAoBzuF,UAApB,CAAP;AACH,OAHM,CAAP;AAIH;;;WACD,wCAA+BA,UAA/B,EAA2CkrE,MAA3C,EAAmD;AAAA;;AAC/C,aAAO1uG,SAAS,CAACG,IAAV,CAAe,KAAK4iI,YAAL,CAAkBv/F,UAAlB,EAA8BkrE,MAA9B,CAAf,EAAsD,YAAM;AAC/D,YAAMu0B,kBAAkB,GAAG,EAA3B;;AACA,gBAAI,CAACD,kBAAL,CAAwBx/F,UAAxB,EAAoCy/F,kBAApC;;AACA,eAAO;AACHC,yBAAe,EAAE,QAAI,CAACjR,cAAL,CAAoBzuF,UAApB,CADd;AAEHy/F,4BAAkB,EAAEA;AAFjB,SAAP;AAIH,OAPM,CAAP;AAQH;;;WACD,sBAAaE,UAAb,EAAyBz0B,MAAzB,EAAiC;AAAA;;AAC7B,UAAM8B,OAAO,GAAG,EAAhB;;AACA,UAAM4yB,YAAY,GAAG,KAAKtW,iBAAL,CAAuBvc,mBAAvB,CAA2C4yB,UAA3C,CAArB,CAF6B,CAG7B;AACA;;;AACA,WAAKE,qBAAL,CAA2BD,YAAY,CAACj0H,gBAAb,CAA8BG,OAAzD,EAAkE5sB,OAAlE,CAA0E,UAAC4gJ,cAAD,EAAoB;AAC1F;AACA,YAAM5xH,UAAU,GAAG,QAAI,CAACo7G,iBAAL,CAAuBvc,mBAAvB,CAA2C+yB,cAA3C,CAAnB;;AACA,gBAAI,CAACD,qBAAL,CAA2B3xH,UAAU,CAAC/C,kBAAtC,EAA0DjsB,OAA1D,CAAkE,UAACuoB,GAAD,EAAS;AACvE,cAAMwlG,OAAO,GAAG,QAAI,CAACqc,iBAAL,CAAuBpc,qBAAvB,CAA6Ch/F,UAAU,CAACviB,IAAX,CAAgB4a,SAA7D,EAAwEkB,GAAxE,EAA6EyjG,MAA7E,CAAhB;;AACA,cAAI+B,OAAJ,EAAa;AACTD,mBAAO,CAACtsH,IAAR,CAAausH,OAAb;AACH;AACJ,SALD;;AAMA,gBAAI,CAAC4yB,qBAAL,CAA2B3xH,UAAU,CAAC7C,aAAtC,EACKnsB,OADL,CACa,UAACuoB,GAAD;AAAA,iBAAS,QAAI,CAAC6hH,iBAAL,CAAuByW,qBAAvB,CAA6Ct4H,GAA7C,CAAT;AAAA,SADb;AAEH,OAXD;;AAYA,aAAOjL,SAAS,CAACK,GAAV,CAAcmwG,OAAd,CAAP;AACH;;;WACD,wBAAehtE,UAAf,EAA2B;AACvB,UAAI0/F,eAAe,GAAG,KAAKX,sBAAL,CAA4Bx7I,GAA5B,CAAgCy8C,UAAhC,CAAtB;;AACA,UAAI,CAAC0/F,eAAL,EAAsB;AAClB,YAAMxxH,UAAU,GAAG,KAAKo7G,iBAAL,CAAuBvc,mBAAvB,CAA2C/sE,UAA3C,CAAnB,CADkB,CAElB;;;AACA,YAAMiuB,cAAc,GAAG,KAAK0wE,yBAAL,CAA+BzwH,UAAU,CAACviB,IAAX,CAAgB4a,SAA/C,CAAvB;AACA,YAAMqpB,SAAS,GAAGowG,mBAAmB,EAArC;;AACA,YAAMzO,aAAa,GAAG,KAAK5H,iBAAL,CAAuBwE,OAAvB,CAA+Bv+F,SAA/B,EAA0C1hB,UAA1C,EAAsD+/C,cAAtD,CAAtB;;AACAyxE,uBAAe,GAAG,KAAKO,eAAL,CAAqBhyH,cAAc,CAACC,UAAD,CAAnC,EAAiD0hB,SAAS,CAAC78B,UAA3D,EAAuEw+H,aAAa,CAACje,kBAArF,CAAlB;;AACA,aAAKyrB,sBAAL,CAA4Bv7I,GAA5B,CAAgC0qB,UAAU,CAACviB,IAAX,CAAgB4a,SAAhD,EAA2Dm5H,eAA3D;AACH;;AACD,aAAOA,eAAP;AACH;AACD;AACJ;AACA;;;;WACI,4BAAmBC,UAAnB,EAA+BO,qBAA/B,EAAsD;AAAA;;AAClD,UAAM/4I,QAAQ,GAAG,KAAKmiI,iBAAL,CAAuBvc,mBAAvB,CAA2C4yB,UAA3C,CAAjB;;AACA,UAAMQ,oBAAoB,GAAG,IAAIj+I,GAAJ,EAA7B;AACA,UAAMk+I,SAAS,GAAG,IAAI3nI,GAAJ,EAAlB;;AACA,UAAM4nI,eAAe,GAAG,KAAKR,qBAAL,CAA2B14I,QAAQ,CAACwkB,gBAAT,CAA0BG,OAArD,CAAxB;;AACAu0H,qBAAe,CAACnhJ,OAAhB,CAAwB,UAACohJ,QAAD,EAAc;AAClC,YAAMC,eAAe,GAAG,QAAI,CAACjX,iBAAL,CAAuBvc,mBAAvB,CAA2CuzB,QAA3C,CAAxB;;AACA,gBAAI,CAACT,qBAAL,CAA2BU,eAAe,CAACp1H,kBAA3C,EAA+DjsB,OAA/D,CAAuE,UAACshJ,MAAD,EAAY;AAC/EL,8BAAoB,CAAC38I,GAArB,CAAyBg9I,MAAzB,EAAiCD,eAAjC;;AACA,cAAM7vE,OAAO,GAAG,QAAI,CAAC44D,iBAAL,CAAuBsD,oBAAvB,CAA4C4T,MAA5C,CAAhB;;AACA,cAAI9vE,OAAO,CAACnnD,WAAZ,EAAyB;AACrB62H,qBAAS,CAAC1nI,GAAV,CAAc,QAAI,CAAC+nI,uBAAL,CAA6B/vE,OAA7B,EAAsC6vE,eAAtC,CAAd;;AACA,gBAAIL,qBAAJ,EAA2B;AACvB,kBAAMv3H,QAAQ,GAAG,QAAI,CAAC+3H,2BAAL,CAAiChwE,OAAO,CAAC/kE,IAAR,CAAa4a,SAA9C,EAAyDg6H,eAAzD,CAAjB;;AACAH,uBAAS,CAAC1nI,GAAV,CAAciQ,QAAd;AACAu3H,mCAAqB,CAACx/I,IAAtB,CAA2BgwE,OAAO,CAACpmD,gBAAnC;AACH;AACJ;AACJ,SAXD;AAYH,OAdD;AAeA+1H,qBAAe,CAACnhJ,OAAhB,CAAwB,UAACohJ,QAAD,EAAc;AAClC,YAAMC,eAAe,GAAG,QAAI,CAACjX,iBAAL,CAAuBvc,mBAAvB,CAA2CuzB,QAA3C,CAAxB;;AACA,gBAAI,CAACT,qBAAL,CAA2BU,eAAe,CAACp1H,kBAA3C,EAA+DjsB,OAA/D,CAAuE,UAACshJ,MAAD,EAAY;AAC/E,cAAM9vE,OAAO,GAAG,QAAI,CAAC44D,iBAAL,CAAuBsD,oBAAvB,CAA4C4T,MAA5C,CAAhB;;AACA,cAAI9vE,OAAO,CAACnnD,WAAZ,EAAyB;AACrBmnD,mBAAO,CAACvmD,eAAR,CAAwBjrB,OAAxB,CAAgC,UAACyhJ,kBAAD,EAAwB;AACpD,kBAAMzyH,UAAU,GAAGiyH,oBAAoB,CAAC58I,GAArB,CAAyBo9I,kBAAkB,CAACh0H,aAA5C,CAAnB;AACAyzH,uBAAS,CAAC1nI,GAAV,CAAc,QAAI,CAACgoI,2BAAL,CAAiCC,kBAAkB,CAACh0H,aAApD,EAAmEuB,UAAnE,CAAd;AACH,aAHD;AAIH;AACJ,SARD;;AASAqyH,uBAAe,CAACp2H,eAAhB,CAAgCjrB,OAAhC,CAAwC,UAACyhJ,kBAAD,EAAwB;AAC5D,cAAI,CAAC,QAAI,CAACrB,aAAL,CAAmBqB,kBAAkB,CAACh0H,aAAtC,CAAL,EAA2D;AACvD,gBAAMuB,UAAU,GAAGiyH,oBAAoB,CAAC58I,GAArB,CAAyBo9I,kBAAkB,CAACh0H,aAA5C,CAAnB;AACAyzH,qBAAS,CAAC1nI,GAAV,CAAc,QAAI,CAACgoI,2BAAL,CAAiCC,kBAAkB,CAACh0H,aAApD,EAAmEuB,UAAnE,CAAd;AACH;AACJ,SALD;AAMH,OAjBD;AAkBAkyH,eAAS,CAAClhJ,OAAV,CAAkB,UAACypB,QAAD;AAAA,eAAc,QAAI,CAACi4H,gBAAL,CAAsBj4H,QAAtB,CAAd;AAAA,OAAlB;AACH;;;WACD,uBAAchd,IAAd,EAAoB;AAChB,WAAKozI,sBAAL,CAA4BtxF,MAA5B,CAAmC9hD,IAAnC;;AACA,WAAK29H,iBAAL,CAAuBpf,aAAvB,CAAqCv+G,IAArC;;AACA,WAAKkzI,0BAAL,CAAgCpxF,MAAhC,CAAuC9hD,IAAvC;;AACA,UAAMk1I,gBAAgB,GAAG,KAAKjC,sBAAL,CAA4Br7I,GAA5B,CAAgCoI,IAAhC,CAAzB;;AACA,UAAIk1I,gBAAJ,EAAsB;AAClB,aAAKjC,sBAAL,CAA4BnxF,MAA5B,CAAmC9hD,IAAnC;AACH;AACJ;;;WACD,sBAAa;AACT;AACA,WAAK29H,iBAAL,CAAuBnf,UAAvB;;AACA,WAAKy0B,sBAAL,CAA4BzoC,KAA5B;;AACA,WAAK0oC,0BAAL,CAAgC1oC,KAAhC;;AACA,WAAK4oC,sBAAL,CAA4B5oC,KAA5B;AACH;;;WACD,qCAA4BvuF,QAA5B,EAAsCzgB,QAAtC,EAAgD;AAC5C,UAAI,CAACA,QAAL,EAAe;AACX,cAAM,IAAIzJ,KAAJ,qBAAuBugB,SAAS,CAAC2J,QAAD,CAAhC,wFAAN;AACH;;AACD,UAAIi5H,gBAAgB,GAAG,KAAKhC,0BAAL,CAAgCt7I,GAAhC,CAAoCqkB,QAApC,CAAvB;;AACA,UAAI,CAACi5H,gBAAL,EAAuB;AACnB,YAAMlzH,QAAQ,GAAG,KAAK27G,iBAAL,CAAuBsD,oBAAvB,CAA4ChlH,QAA5C,CAAjB;;AACAk5H,uBAAe,CAACnzH,QAAD,CAAf;;AACA,YAAM+hH,QAAQ,GAAG,KAAKpG,iBAAL,CAAuBwD,wBAAvB,CAAgDn/G,QAAhD,EAA0DA,QAAQ,CAACrD,gBAAT,CAA0By2H,cAApF,CAAjB;;AACAF,wBAAgB,GACZ,IAAIG,gBAAJ,CAAqB,IAArB,EAA2BrzH,QAAQ,CAAChiB,IAApC,EAA0C+jI,QAA1C,EAAoDvoI,QAApD,EAA8D,CAACwmB,QAAQ,CAAChiB,IAAV,CAA9D,CADJ;;AAEA,aAAKkzI,0BAAL,CAAgCr7I,GAAhC,CAAoCokB,QAApC,EAA8Ci5H,gBAA9C;AACH;;AACD,aAAOA,gBAAP;AACH;;;WACD,iCAAwBlzH,QAAxB,EAAkCxmB,QAAlC,EAA4C;AACxC,UAAI05I,gBAAgB,GAAG,KAAKjC,sBAAL,CAA4Br7I,GAA5B,CAAgCoqB,QAAQ,CAAChiB,IAAT,CAAc4a,SAA9C,CAAvB;;AACA,UAAI,CAACs6H,gBAAL,EAAuB;AACnBC,uBAAe,CAACnzH,QAAD,CAAf;AACAkzH,wBAAgB,GAAG,IAAIG,gBAAJ,CAAqB,KAArB,EAA4BrzH,QAAQ,CAAChiB,IAArC,EAA2CgiB,QAA3C,EAAqDxmB,QAArD,EAA+DA,QAAQ,CAACwkB,gBAAT,CAA0BM,UAAzF,CAAnB;;AACA,aAAK2yH,sBAAL,CAA4Bp7I,GAA5B,CAAgCmqB,QAAQ,CAAChiB,IAAT,CAAc4a,SAA9C,EAAyDs6H,gBAAzD;AACH;;AACD,aAAOA,gBAAP;AACH;;;WACD,0BAAiBl4H,QAAjB,EAA2B;AAAA;;AACvB,UAAIA,QAAQ,CAACs4H,UAAb,EAAyB;AACrB;AACH;;AACD,UAAMtzH,QAAQ,GAAGhF,QAAQ,CAACgF,QAA1B;AACA,UAAMuzH,8BAA8B,GAAG,IAAIh/I,GAAJ,EAAvC;AACA,UAAMi/I,aAAa,GAAGnB,mBAAmB,EAAzC;;AACA,UAAMtR,mBAAmB,GAAG,KAAKlF,cAAL,CAAoByD,gBAApB,CAAqCkU,aAArC,EAAoDxzH,QAApD,CAA5B;;AACAA,cAAQ,CAAChF,QAAT,CAAkBG,mBAAlB,CAAsC5pB,OAAtC,CAA8C,UAACyvI,cAAD,EAAoB;AAC9D,YAAMsC,kBAAkB,GAAG,QAAI,CAACzH,cAAL,CAAoB36B,aAApB,CAAkCmxC,mBAAmB,EAArD,EAAyDryH,QAAzD,EAAmEghH,cAAnE,CAA3B;;AACAuS,sCAA8B,CAAC19I,GAA/B,CAAmCmrI,cAAc,CAACtmH,SAAlD,EAA6D4oH,kBAA7D;AACH,OAHD;;AAIA,WAAKmQ,2BAAL,CAAiC1S,mBAAjC,EAAsDwS,8BAAtD;;AACA,UAAM90H,KAAK,GAAGzD,QAAQ,CAACxhB,QAAT,CAAkBwkB,gBAAlB,CAAmCS,KAAnC,CAAyCzoB,GAAzC,CAA6C,UAAAkxB,IAAI;AAAA,eAAI,QAAI,CAACy0G,iBAAL,CAAuB0E,cAAvB,CAAsCn5G,IAAI,CAACtO,SAA3C,CAAJ;AAAA,OAAjD,CAAd;;AACA,kCAAuD,KAAKwmH,cAAL,CAAoBp/G,QAApB,EAA8BhF,QAAQ,CAACxhB,QAAvC,EAAiDwhB,QAAQ,CAACsD,UAA1D,CAAvD;AAAA,UAAkB+gH,cAAlB,yBAAQrkH,QAAR;AAAA,UAAyC0vD,SAAzC,yBAAkCjsD,KAAlC;;AACA,UAAMmlH,aAAa,GAAG,KAAK9H,aAAL,CAAmBwD,gBAAnB,CAAoCkU,aAApC,EAAmDxzH,QAAnD,EAA6Dq/G,cAA7D,EAA6EtzH,QAAQ,CAACg1H,mBAAmB,CAAC15E,SAArB,CAArF,EAAsHqjB,SAAtH,CAAtB;;AACA,UAAMgpE,UAAU,GAAG,KAAKpB,eAAL,CAAqB9xH,cAAc,CAACxF,QAAQ,CAACxhB,QAAT,CAAkBwE,IAAnB,EAAyBgd,QAAQ,CAACgF,QAAlC,CAAnC,EAAgFwzH,aAAa,CAACpuI,UAA9F,CAAnB;;AACA,UAAMuuI,SAAS,GAAGD,UAAU,CAAC9P,aAAa,CAACvY,YAAf,CAA5B;AACA,UAAM3uG,YAAY,GAAGg3H,UAAU,CAAC9P,aAAa,CAACtY,eAAf,CAA/B;AACAtwG,cAAQ,CAAC44H,QAAT,CAAkBD,SAAlB,EAA6Bj3H,YAA7B;AACH;;;WACD,wBAAesD,QAAf,EAAyBxmB,QAAzB,EAAmC4oI,oBAAnC,EAAyD;AAAA;;AACrD;AACA,UAAM5mH,mBAAmB,GAAGwE,QAAQ,CAAChF,QAAT,CAAkBQ,mBAA9C;AACA,UAAM8C,UAAU,GAAG8jH,oBAAoB,CAACpsI,GAArB,CAAyB,UAAAqC,GAAG;AAAA,eAAI,QAAI,CAACsjI,iBAAL,CAAuByE,mBAAvB,CAA2C/nI,GAAG,CAACugB,SAA/C,CAAJ;AAAA,OAA5B,CAAnB;AACA,UAAM6F,KAAK,GAAGjlB,QAAQ,CAACwkB,gBAAT,CAA0BS,KAA1B,CAAgCzoB,GAAhC,CAAoC,UAAAkxB,IAAI;AAAA,eAAI,QAAI,CAACy0G,iBAAL,CAAuB0E,cAAvB,CAAsCn5G,IAAI,CAACtO,SAA3C,CAAJ;AAAA,OAAxC,CAAd;AACA,aAAO,KAAKgjH,eAAL,CAAqB1gI,KAArB,CAA2B8kB,QAA3B,EAAqCA,QAAQ,CAAChF,QAAT,CAAkBE,OAAvD,EAAgEoD,UAAhE,EAA4EG,KAA5E,EAAmFjlB,QAAQ,CAACukB,OAA5F,EAAqG+B,iBAAiB,CAACtmB,QAAQ,CAACwE,IAAV,EAAgBgiB,QAAhB,EAA0BA,QAAQ,CAAChF,QAAnC,CAAtH,EAAoKQ,mBAApK,CAAP;AACH;;;WACD,qCAA4B1oB,MAA5B,EAAoCygJ,8BAApC,EAAoE;AAAA;;AAChEzgJ,YAAM,CAAC0sB,YAAP,CAAoBjuB,OAApB,CAA4B,UAAC4vC,GAAD,EAAMxuC,CAAN,EAAY;AACpC,YAAMkhJ,mBAAmB,GAAGN,8BAA8B,CAAC39I,GAA/B,CAAmCurC,GAAG,CAACzmB,SAAvC,CAA5B;;AACA,YAAMo5H,eAAe,GAAG,QAAI,CAACC,kCAAL,CAAwCF,mBAAxC,EAA6DN,8BAA7D,CAAxB;;AACApyG,WAAG,CAACgmB,QAAJ,CAAa2sF,eAAb;AACH,OAJD;AAKH;;;WACD,4CAAmChhJ,MAAnC,EAA2CygJ,8BAA3C,EAA2E;AACvE,WAAKE,2BAAL,CAAiC3gJ,MAAjC,EAAyCygJ,8BAAzC;;AACA,aAAO,KAAKjB,eAAL,CAAqBpyH,sBAAsB,CAACptB,MAAM,CAACqtB,IAAR,EAAc,KAAKkxH,sBAAL,EAAd,CAA3C,EAAyFv+I,MAAM,CAACmvC,SAAP,CAAiB78B,UAA1G,EAAsHtS,MAAM,CAACu0D,SAA7H,CAAP;AACH;;;WACD,yBAAgBnjB,SAAhB,EAA2B9+B,UAA3B,EAAuC;AACnC,UAAI,CAAC,KAAK2rI,eAAL,CAAqBjpC,MAA1B,EAAkC;AAC9B,eAAOqnC,mBAAmB,CAAC/pI,UAAD,EAAa,KAAKylE,UAAlB,CAA1B;AACH,OAFD,MAGK;AACD,eAAO,KAAKimE,aAAL,CAAmBvqC,kBAAnB,CAAsCriE,SAAtC,EAAiD9+B,UAAjD,EAA6D,KAAKylE,UAAlE,EAA8E,KAAKkmE,eAAL,CAAqBhpC,UAAnG,CAAP;AACH;AACJ;;;;;;IAECsrC,gB;AACF,4BAAY13H,MAAZ,EAAoB1B,QAApB,EAA8B+F,QAA9B,EAAwCxmB,QAAxC,EAAkD8kB,UAAlD,EAA8D;AAAA;;AAC1D,SAAK3C,MAAL,GAAcA,MAAd;AACA,SAAK1B,QAAL,GAAgBA,QAAhB;AACA,SAAK+F,QAAL,GAAgBA,QAAhB;AACA,SAAKxmB,QAAL,GAAgBA,QAAhB;AACA,SAAK8kB,UAAL,GAAkBA,UAAlB;AACA,SAAK01H,UAAL,GAAkB,IAAlB;AACA,SAAKV,UAAL,GAAkB,KAAlB;AACH;;;;WACD,kBAASK,SAAT,EAAoBj3H,YAApB,EAAkC;AAC9B,WAAKs3H,UAAL,GAAkBL,SAAlB;AACA,WAAK3zH,QAAL,CAAcvD,iBAAd,CAAgCkgG,WAAhC,CAA4Cg3B,SAA5C;;AACA,WAAK,IAAI/nI,IAAT,IAAiB8Q,YAAjB,EAA+B;AAC3B,aAAKsD,QAAL,CAActD,YAAd,CAA2B9Q,IAA3B,IAAmC8Q,YAAY,CAAC9Q,IAAD,CAA/C;AACH;;AACD,WAAK0nI,UAAL,GAAkB,IAAlB;AACH;;;;;;AAEL,SAASH,eAAT,CAAyBhzH,IAAzB,EAA+B;AAC3B,MAAI,CAACA,IAAI,CAACvE,WAAV,EAAuB;AACnB,UAAM,IAAI7rB,KAAJ,8BAAgC6pB,cAAc,CAACuG,IAAI,CAACniB,IAAN,CAA9C,sCAAN;AACH;AACJ;;AACD,SAASq0I,mBAAT,GAA+B;AAC3B,MAAM5P,YAAY,GAAG,SAAfA,YAAe,CAAC1uF,MAAD;AAAA,WAAY/nC,UAAU,CAAC;AAAExa,UAAI,EAAEooB,cAAc,CAACm6B,MAAD,CAAtB;AAAgCzvC,gBAAU,EAAE,IAA5C;AAAkDC,aAAO,EAAEwvC;AAA3D,KAAD,CAAtB;AAAA,GAArB;;AACA,SAAO;AAAE3uC,cAAU,EAAE,EAAd;AAAkB2hC,eAAW,EAAE,EAA/B;AAAmC/6B,cAAU,EAAEy2H,YAA/C;AAA6DpkG,gBAAY,EAAE,IAAIxrB,YAAJ;AAA3E,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;IACMohI,gB;;;AAGN;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASC,qCAAT,GAAiD;AAC7C,SAAO,IAAIC,WAAJ,EAAP;AACH;;AACD,SAASC,+BAAT,GAA2C;AACvC,SAAO,IAAID,WAAJ,CAAgB,GAAhB,CAAP;AACH;;AACD,IAAMA,WAAW;AACb,6BAAmC;AAAA,QAAvBE,cAAuB,uEAAN,IAAM;;AAAA;;AAC/B,SAAKA,cAAL,GAAsBA,cAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AAXiB;AAAA;AAAA,WAYb,iBAAQvyE,OAAR,EAAiBjiD,GAAjB,EAAsB;AAClB,UAAIy0H,WAAW,GAAGz0H,GAAlB;;AACA,UAAIiiD,OAAO,IAAI,IAAX,IAAmBA,OAAO,CAACxwE,MAAR,GAAiB,CAAxC,EAA2C;AACvCgjJ,mBAAW,GAAGC,WAAW,CAACzyE,OAAD,EAAUwyE,WAAV,CAAzB;AACH;;AACD,UAAME,aAAa,GAAGC,MAAM,CAACH,WAAD,CAA5B;;AACA,UAAI9jJ,MAAM,GAAG,KAAK6jJ,cAAlB;;AACA,UAAI7jJ,MAAM,IAAI,IAAV,IAAkBgkJ,aAAa,IAAI,IAAnC,IACAA,aAAa,CAACE,eAAe,CAACC,MAAjB,CAAb,IAAyC,SAD7C,EACwD;AACpD,YAAI/rF,IAAI,GAAG4rF,aAAa,CAACE,eAAe,CAACE,IAAjB,CAAxB;AACApkJ,cAAM,GAAGA,MAAM,CAACsT,OAAP,CAAe,MAAf,EAAuB,EAAvB,CAAT;AACA8kD,YAAI,GAAGA,IAAI,CAAC9kD,OAAL,CAAa,MAAb,EAAqB,EAArB,CAAP;AACA,yBAAUtT,MAAV,cAAoBo4D,IAApB;AACH;;AACD,aAAO0rF,WAAP;AACH;AA3BY;;AAAA;AAAA,GAAjB;AA6BA;AACA;AACA;;;AACA,SAASO,YAAT,CAAsBh1H,GAAtB,EAA2B;AACvB,MAAMnsB,KAAK,GAAG+gJ,MAAM,CAAC50H,GAAD,CAApB;;AACA,SAAQnsB,KAAK,IAAIA,KAAK,CAACghJ,eAAe,CAACC,MAAjB,CAAf,IAA4C,EAAnD;AACH,C,CACD;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,sBAAT,CAAgCC,UAAhC,EAA4CC,YAA5C,EAA0DC,UAA1D,EAAsEC,QAAtE,EAAgFC,QAAhF,EAA0FC,aAA1F,EAAyGC,YAAzG,EAAuH;AACnH,MAAMjoI,GAAG,GAAG,EAAZ;;AACA,MAAI2nI,UAAU,IAAI,IAAlB,EAAwB;AACpB3nI,OAAG,CAACra,IAAJ,CAASgiJ,UAAU,GAAG,GAAtB;AACH;;AACD,MAAIE,UAAU,IAAI,IAAlB,EAAwB;AACpB7nI,OAAG,CAACra,IAAJ,CAAS,IAAT;;AACA,QAAIiiJ,YAAY,IAAI,IAApB,EAA0B;AACtB5nI,SAAG,CAACra,IAAJ,CAASiiJ,YAAY,GAAG,GAAxB;AACH;;AACD5nI,OAAG,CAACra,IAAJ,CAASkiJ,UAAT;;AACA,QAAIC,QAAQ,IAAI,IAAhB,EAAsB;AAClB9nI,SAAG,CAACra,IAAJ,CAAS,MAAMmiJ,QAAf;AACH;AACJ;;AACD,MAAIC,QAAQ,IAAI,IAAhB,EAAsB;AAClB/nI,OAAG,CAACra,IAAJ,CAASoiJ,QAAT;AACH;;AACD,MAAIC,aAAa,IAAI,IAArB,EAA2B;AACvBhoI,OAAG,CAACra,IAAJ,CAAS,MAAMqiJ,aAAf;AACH;;AACD,MAAIC,YAAY,IAAI,IAApB,EAA0B;AACtBjoI,OAAG,CAACra,IAAJ,CAAS,MAAMsiJ,YAAf;AACH;;AACD,SAAOjoI,GAAG,CAAC1a,IAAJ,CAAS,EAAT,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM4iJ,QAAQ,GAAG,IAAIpjJ,MAAJ,CAAW,MACxB,KADwB,GAExB,aAFwB,GAER;AAChB;AACA;AACA,KALwB,GAMxB,OANwB,GAOxB,iBAPwB,GAOJ;AACpB,iCARwB,GAQY;AACpC;AACA;AACA,gBAXwB,GAWL;AACnB,IAZwB,GAaxB,WAbwB,GAaV;AACd,iBAdwB,GAcJ;AACpB,YAfwB,GAeT;AACf,GAhBa,CAAjB;AAiBA;AACA;AACA;AACA;;;AACA,IAAIwiJ,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,iBAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,iBAAe,CAACA,eAAe,CAAC,UAAD,CAAf,GAA8B,CAA/B,CAAf,GAAmD,UAAnD;AACAA,iBAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,iBAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,iBAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,iBAAe,CAACA,eAAe,CAAC,WAAD,CAAf,GAA+B,CAAhC,CAAf,GAAoD,WAApD;AACAA,iBAAe,CAACA,eAAe,CAAC,UAAD,CAAf,GAA8B,CAA/B,CAAf,GAAmD,UAAnD;AACH,CARD,EAQGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CARlB;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASD,MAAT,CAAgBc,GAAhB,EAAqB;AACjB,SAAOA,GAAG,CAAC7hJ,KAAJ,CAAU4hJ,QAAV,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,kBAAT,CAA4B5sF,IAA5B,EAAkC;AAC9B,MAAIA,IAAI,IAAI,GAAZ,EACI,OAAO,GAAP;AACJ,MAAM6sF,YAAY,GAAG7sF,IAAI,CAAC,CAAD,CAAJ,IAAW,GAAX,GAAiB,GAAjB,GAAuB,EAA5C;AACA,MAAM8sF,aAAa,GAAG9sF,IAAI,CAACA,IAAI,CAACt3D,MAAL,GAAc,CAAf,CAAJ,KAA0B,GAA1B,GAAgC,GAAhC,GAAsC,EAA5D;AACA,MAAMszC,QAAQ,GAAGgkB,IAAI,CAAC53C,KAAL,CAAW,GAAX,CAAjB;AACA,MAAM5D,GAAG,GAAG,EAAZ;AACA,MAAIuoI,EAAE,GAAG,CAAT;;AACA,OAAK,IAAIthF,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAGzvB,QAAQ,CAACtzC,MAAjC,EAAyC+iE,GAAG,EAA5C,EAAgD;AAC5C,QAAMxvB,OAAO,GAAGD,QAAQ,CAACyvB,GAAD,CAAxB;;AACA,YAAQxvB,OAAR;AACI,WAAK,EAAL;AACA,WAAK,GAAL;AACI;;AACJ,WAAK,IAAL;AACI,YAAIz3B,GAAG,CAAC9b,MAAJ,GAAa,CAAjB,EAAoB;AAChB8b,aAAG,CAACuvB,GAAJ;AACH,SAFD,MAGK;AACDg5G,YAAE;AACL;;AACD;;AACJ;AACIvoI,WAAG,CAACra,IAAJ,CAAS8xC,OAAT;AAbR;AAeH;;AACD,MAAI4wG,YAAY,IAAI,EAApB,EAAwB;AACpB,WAAOE,EAAE,KAAK,CAAd,EAAiB;AACbvoI,SAAG,CAACywC,OAAJ,CAAY,IAAZ;AACH;;AACD,QAAIzwC,GAAG,CAAC9b,MAAJ,KAAe,CAAnB,EACI8b,GAAG,CAACra,IAAJ,CAAS,GAAT;AACP;;AACD,SAAO0iJ,YAAY,GAAGroI,GAAG,CAAC1a,IAAJ,CAAS,GAAT,CAAf,GAA+BgjJ,aAAtC;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASE,wBAAT,CAAkCpvI,KAAlC,EAAyC;AACrC,MAAIoiD,IAAI,GAAGpiD,KAAK,CAACkuI,eAAe,CAACE,IAAjB,CAAhB;AACAhsF,MAAI,GAAGA,IAAI,IAAI,IAAR,GAAe,EAAf,GAAoB4sF,kBAAkB,CAAC5sF,IAAD,CAA7C;AACApiD,OAAK,CAACkuI,eAAe,CAACE,IAAjB,CAAL,GAA8BhsF,IAA9B;AACA,SAAOksF,sBAAsB,CAACtuI,KAAK,CAACkuI,eAAe,CAACC,MAAjB,CAAN,EAAgCnuI,KAAK,CAACkuI,eAAe,CAACmB,QAAjB,CAArC,EAAiErvI,KAAK,CAACkuI,eAAe,CAACoB,MAAjB,CAAtE,EAAgGtvI,KAAK,CAACkuI,eAAe,CAACqB,IAAjB,CAArG,EAA6HntF,IAA7H,EAAmIpiD,KAAK,CAACkuI,eAAe,CAACsB,SAAjB,CAAxI,EAAqKxvI,KAAK,CAACkuI,eAAe,CAACuB,QAAjB,CAA1K,CAA7B;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS1B,WAAT,CAAqB72I,IAArB,EAA2BmiB,GAA3B,EAAgC;AAC5B,MAAMrZ,KAAK,GAAGiuI,MAAM,CAACyB,SAAS,CAACr2H,GAAD,CAAV,CAApB;;AACA,MAAMs2H,SAAS,GAAG1B,MAAM,CAAC/2I,IAAD,CAAxB;;AACA,MAAI8I,KAAK,CAACkuI,eAAe,CAACC,MAAjB,CAAL,IAAiC,IAArC,EAA2C;AACvC,WAAOiB,wBAAwB,CAACpvI,KAAD,CAA/B;AACH,GAFD,MAGK;AACDA,SAAK,CAACkuI,eAAe,CAACC,MAAjB,CAAL,GAAgCwB,SAAS,CAACzB,eAAe,CAACC,MAAjB,CAAzC;AACH;;AACD,OAAK,IAAIhiJ,CAAC,GAAG+hJ,eAAe,CAACC,MAA7B,EAAqChiJ,CAAC,IAAI+hJ,eAAe,CAACqB,IAA1D,EAAgEpjJ,CAAC,EAAjE,EAAqE;AACjE,QAAI6T,KAAK,CAAC7T,CAAD,CAAL,IAAY,IAAhB,EAAsB;AAClB6T,WAAK,CAAC7T,CAAD,CAAL,GAAWwjJ,SAAS,CAACxjJ,CAAD,CAApB;AACH;AACJ;;AACD,MAAI6T,KAAK,CAACkuI,eAAe,CAACE,IAAjB,CAAL,CAA4B,CAA5B,KAAkC,GAAtC,EAA2C;AACvC,WAAOgB,wBAAwB,CAACpvI,KAAD,CAA/B;AACH;;AACD,MAAIoiD,IAAI,GAAGutF,SAAS,CAACzB,eAAe,CAACE,IAAjB,CAApB;AACA,MAAIhsF,IAAI,IAAI,IAAZ,EACIA,IAAI,GAAG,GAAP;AACJ,MAAMzqD,KAAK,GAAGyqD,IAAI,CAACtY,WAAL,CAAiB,GAAjB,CAAd;AACAsY,MAAI,GAAGA,IAAI,CAACl4C,SAAL,CAAe,CAAf,EAAkBvS,KAAK,GAAG,CAA1B,IAA+BqI,KAAK,CAACkuI,eAAe,CAACE,IAAjB,CAA3C;AACApuI,OAAK,CAACkuI,eAAe,CAACE,IAAjB,CAAL,GAA8BhsF,IAA9B;AACA,SAAOgtF,wBAAwB,CAACpvI,KAAD,CAA/B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM4vI,S;AACF,qBAAYr5H,IAAZ,EAAkBgnH,oBAAlB,EAAwCxE,aAAxC,EAAuDyE,gBAAvD,EAAyE;AAAA;;AACrE,SAAKjnH,IAAL,GAAYA,IAAZ;AACA,SAAKgnH,oBAAL,GAA4BA,oBAA5B;AACA,SAAKxE,aAAL,GAAqBA,aAArB;AACA,SAAKyE,gBAAL,GAAwBA,gBAAxB;AACH;;;;WACD,iBAAQzH,SAAR,EAAmB;AAAA;;AACf,kCAA6BE,2BAA2B,CAACF,SAAD,EAAY,KAAKx/G,IAAjB,EAAuB,KAAKgnH,oBAA5B,EAAkD,KAAKC,gBAAvD,CAAxD;AAAA,UAAQ5F,KAAR,yBAAQA,KAAR;AAAA,UAAe1B,SAAf,yBAAeA,SAAf;;AACA,aAAOrtH,OAAO,CACTH,GADE,CACEwtH,SAAS,CAAC1mI,GAAV,CAAc,UAAAwD,QAAQ;AAAA,eAAI,QAAI,CAACwqI,gBAAL,CAAsBrH,oCAAtB,CAA2DnjI,QAAQ,CAACwE,IAAT,CAAc4a,SAAzE,EAAoF,KAApF,CAAJ;AAAA,OAAtB,CADF,EAEF5J,IAFE,CAEG,YAAM;AACZ,YAAMmqC,MAAM,GAAG,EAAf;AACAilF,aAAK,CAAC7sI,OAAN,CAAc,UAAA09B,IAAI,EAAI;AAClB,cAAMuwG,SAAS,GAAG,EAAlB;AACAvwG,cAAI,CAAC3Q,UAAL,CAAgB/sB,OAAhB,CAAwB,UAAAu5G,aAAa,EAAI;AACrC,gBAAM/nC,OAAO,GAAG,QAAI,CAACihE,gBAAL,CAAsB/E,oBAAtB,CAA2Cn0B,aAA3C,CAAhB;;AACA,gBAAI/nC,OAAO,IAAIA,OAAO,CAACnnD,WAAvB,EAAoC;AAChC4jH,uBAAS,CAACzsI,IAAV,CAAegwE,OAAf;AACH;AACJ,WALD;AAMAy8D,mBAAS,CAACjuI,OAAV,CAAkB,UAAAyuB,QAAQ,EAAI;AAC1B,gBAAMk3F,IAAI,GAAGl3F,QAAQ,CAAChF,QAAT,CAAkBA,QAA/B,CAD0B,CAE1B;AACA;AACA;;AACA,gBAAMC,WAAW,GAAG+E,QAAQ,CAAChF,QAAT,CAAkBC,WAAtC;AACA,gBAAMkxC,mBAAmB,GAAG5oB,mBAAmB,CAAC6oC,SAApB,CAA8BpsD,QAAQ,CAAChF,QAAT,CAAkBM,aAAhD,CAA5B;AACA69B,kBAAM,CAACpmD,IAAP,OAAAomD,MAAM,qJAAS,QAAI,CAAComF,aAAL,CAAmBE,kBAAnB,CAAsCvoB,IAAtC,EAA4Cj8F,WAA5C,EAAyDkxC,mBAAzD,CAAT,EAAN;AACH,WARD;AASH,SAjBD;;AAkBA,YAAIhT,MAAM,CAAC7nD,MAAX,EAAmB;AACf,gBAAM,IAAIvB,KAAJ,CAAUopD,MAAM,CAACnjD,GAAP,CAAW,UAAAsK,CAAC;AAAA,mBAAIA,CAAC,CAACkQ,QAAF,EAAJ;AAAA,WAAZ,EAA8B9d,IAA9B,CAAmC,IAAnC,CAAV,CAAN;AACH;;AACD,eAAO,QAAI,CAAC6sI,aAAZ;AACH,OA1BM,CAAP;AA2BH;;;WACD,gBAAcxiH,IAAd,EAAoB6b,MAApB,EAA4B;AACxB,UAAM+lE,UAAU,GAAG,IAAI7mC,UAAJ,EAAnB;AACA,UAAMy2E,WAAW,GAAGL,oBAAoB,CAACnxH,IAAD,CAAxC;AACA,UAAMg8G,WAAW,GAAG,IAAI1/G,iBAAJ,EAApB;AACA,UAAMg6G,eAAe,GAAG,IAAIoa,kBAAJ,CAAuB1wH,IAAvB,EAA6Bg8G,WAA7B,CAAxB;AACA,UAAMgL,oBAAoB,GAAG,IAAI5Q,oBAAJ,CAAyBp2G,IAAzB,EAA+Bg8G,WAA/B,EAA4C1F,eAA5C,CAA7B;AACA,UAAMmb,eAAe,GAAG,IAAI/H,eAAJ,CAAoBpT,eAApB,EAAqC0Q,oBAArC,CAAxB;AACA,UAAMz3D,MAAM,GAAG,IAAIs7B,cAAJ,CAAmB;AAAEC,4BAAoB,EAAEvvG,iBAAiB,CAACyvD,QAA1C;AAAoD+/C,cAAM,EAAE;AAA5D,OAAnB,CAAf;AACA,UAAM4mC,UAAU,GAAG,IAAIrmC,mBAAJ,CAAwB;AAAEzyG,WAAG,EAAE,aAACiqB,GAAD;AAAA,iBAAS9C,IAAI,CAAC4xH,YAAL,CAAkB9uH,GAAlB,CAAT;AAAA;AAAP,OAAxB,EAAkE0uH,WAAlE,EAA+E5vC,UAA/E,EAA2FryB,MAA3F,CAAnB;AACA,UAAM84B,qBAAqB,GAAG,IAAI5iB,wBAAJ,EAA9B;AACA,UAAM3gB,QAAQ,GAAG,IAAI25C,uBAAJ,CAA4BlvC,MAA5B,EAAoCqyB,UAApC,EAAgD,IAAI2nB,gBAAJ,CAAqBkoB,eAArB,CAAhD,EAAuF,IAAInkC,iBAAJ,CAAsBmkC,eAAtB,CAAvF,EAA+H,IAAItmB,YAAJ,CAAiBsmB,eAAjB,CAA/H,EAAkKnb,eAAlK,EAAmLjuB,qBAAnL,EAA0MspC,UAA1M,EAAsNvgC,OAAtN,EAA+N4qB,WAA/N,EAA4OyV,eAA5O,CAAjB,CAVwB,CAWxB;;AACA,UAAMjP,aAAa,GAAG,IAAIlO,aAAJ,CAAkB1yB,UAAlB,EAA8B,EAA9B,EAAkC,EAAlC,EAAsC/lE,MAAtC,CAAtB;AACA,UAAMy9G,SAAS,GAAG,IAAID,SAAJ,CAAcr5H,IAAd,EAAoBgnH,oBAApB,EAA0CxE,aAA1C,EAAyD19D,QAAzD,CAAlB;AACA,aAAO;AAAEw0E,iBAAS,EAATA,SAAF;AAAa7H,uBAAe,EAAfA;AAAb,OAAP;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;IACM8H,c;AACF,0BAAY/lD,gBAAZ,EAA8B;AAAA;;AAC1B,SAAKA,gBAAL,GAAwBA,gBAAxB;AACH;AACD;AACJ;AACA;AACA;;;;;WACI,cAAKtkE,MAAL,EAAa;AACT,UAAI,CAACA,MAAM,CAACjR,QAAZ,EAAsB;AAClB;AACA,cAAM,IAAIjrB,KAAJ,CAAU,8CAAV,CAAN;AACH,OAJQ,CAKT;AACA;;;AACA,UAAMs/F,KAAK,GAAGknD,KAAK,CAACtsF,KAAN,CAAYh+B,MAAM,CAACjR,QAAnB,CAAd,CAPS,CAQT;;AACA,UAAMw7H,gBAAgB,GAAGC,uBAAuB,CAACpnD,KAAD,CAAhD,CATS,CAUT;AACA;AACA;AACA;AACA;;AACA,kCAA6CqnD,eAAe,CAACzsF,KAAhB,CAAsBh+B,MAAM,CAACjR,QAA7B,EAAuC,KAAKu1E,gBAA5C,CAA7C;AAAA,UAAQjyE,UAAR,yBAAQA,UAAR;AAAA,UAAoBimD,QAApB,yBAAoBA,QAApB;AAAA,UAA8B93C,UAA9B,yBAA8BA,UAA9B,CAfS,CAgBT;AACA;;;AACA,kCAA0DkqH,cAAc,CAAC1sF,KAAf,CAAqBh+B,MAAM,CAACjR,QAA5B,EAAsCq0E,KAAtC,CAA1D;AAAA,UAAQ1sF,WAAR,yBAAQA,WAAR;AAAA,UAAqBsyH,OAArB,yBAAqBA,OAArB;AAAA,UAA8B2hB,YAA9B,yBAA8BA,YAA9B;AAAA,UAA4ClsE,SAA5C,yBAA4CA,SAA5C;;AACA,aAAO,IAAImsE,aAAJ,CAAkB5qH,MAAlB,EAA0B3N,UAA1B,EAAsCimD,QAAtC,EAAgD93C,UAAhD,EAA4D9pB,WAA5D,EAAyEsyH,OAAzE,EAAkF2hB,YAAlF,EAAgGJ,gBAAhG,EAAkH9rE,SAAlH,CAAP;AACH;;;;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM6rE,K;AACF,iBAAYO,WAAZ,EAAyB97H,QAAzB,EAAmC;AAAA;;AAC/B,SAAK87H,WAAL,GAAmBA,WAAnB;AACA,SAAK97H,QAAL,GAAgBA,QAAhB;AACA;AACR;AACA;;AACQ,SAAK+7H,aAAL,GAAqB,IAAIxiJ,GAAJ,EAArB;AACA;AACR;AACA;;AACQ,SAAKyiJ,WAAL,GAAmB,IAAIziJ,GAAJ,EAAnB;AACH;;;;;AAaD;AACJ;AACA;AACI,oBAAOymB,QAAP,EAAiB;AAAA;;AACb,UAAIA,QAAQ,YAAY6R,QAAxB,EAAkC;AAC9B;AACA7R,gBAAQ,CAAC+R,SAAT,CAAmBx7B,OAAnB,CAA2B,UAAAuP,IAAI;AAAA,iBAAI,QAAI,CAACssB,aAAL,CAAmBtsB,IAAnB,CAAJ;AAAA,SAA/B,EAF8B,CAG9B;;AACAka,gBAAQ,CAACwR,QAAT,CAAkBj7B,OAAlB,CAA0B,UAAAuP,IAAI;AAAA,iBAAIA,IAAI,CAAC4tB,KAAL,CAAW,QAAX,CAAJ;AAAA,SAA9B;AACH,OALD,MAMK;AACD;AACA1T,gBAAQ,CAACzpB,OAAT,CAAiB,UAAAuP,IAAI;AAAA,iBAAIA,IAAI,CAAC4tB,KAAL,CAAW,QAAX,CAAJ;AAAA,SAArB;AACH;AACJ;;;WACD,sBAAat8B,OAAb,EAAsB;AAAA;;AAClB;AACAA,aAAO,CAACq6B,UAAR,CAAmBl7B,OAAnB,CAA2B,UAAAuP,IAAI;AAAA,eAAI,QAAI,CAACwsB,cAAL,CAAoBxsB,IAApB,CAAJ;AAAA,OAA/B,EAFkB,CAGlB;;AACA1O,aAAO,CAACo6B,QAAR,CAAiBj7B,OAAjB,CAAyB,UAAAuP,IAAI;AAAA,eAAIA,IAAI,CAAC4tB,KAAL,CAAW,QAAX,CAAJ;AAAA,OAA7B;AACH;;;WACD,uBAAc1T,QAAd,EAAwB;AAAA;;AACpB;AACA;AACAA,cAAQ,CAACyR,UAAT,CAAoBl7B,OAApB,CAA4B,UAAAuP,IAAI;AAAA,eAAI,QAAI,CAACwsB,cAAL,CAAoBxsB,IAApB,CAAJ;AAAA,OAAhC,EAHoB,CAIpB;;AACA,UAAMuuF,KAAK,GAAG,IAAIknD,KAAJ,CAAU,IAAV,EAAgBv7H,QAAhB,CAAd;AACAq0E,WAAK,CAAC4nD,MAAN,CAAaj8H,QAAb;AACA,WAAKg8H,WAAL,CAAiBnhJ,GAAjB,CAAqBmlB,QAArB,EAA+Bq0E,KAA/B;AACH;;;WACD,uBAActjF,QAAd,EAAwB;AACpB;AACA,WAAKmrI,YAAL,CAAkBnrI,QAAlB;AACH;;;WACD,wBAAe6M,SAAf,EAA0B;AACtB;AACA,WAAKs+H,YAAL,CAAkBt+H,SAAlB;AACH,K,CACD;;;;WACA,sBAAagV,OAAb,EAAsB,CAAG;;;WACzB,6BAAoBsN,IAApB,EAA0B,CAAG;;;WAC7B,yBAAgB9O,KAAhB,EAAuB,CAAG;;;WAC1B,wBAAehqB,IAAf,EAAqB,CAAG;;;WACxB,mBAAUA,IAAV,EAAgB,CAAG;;;WACnB,4BAAmB84B,IAAnB,EAAyB,CAAG;;;WAC5B,kBAASrN,GAAT,EAAc,CAAG;;;WACjB,sBAAaspH,KAAb,EAAoB;AAChB;AACA,UAAI,CAAC,KAAKJ,aAAL,CAAmBj4H,GAAnB,CAAuBq4H,KAAK,CAAC3lJ,IAA7B,CAAL,EAAyC;AACrC,aAAKulJ,aAAL,CAAmBlhJ,GAAnB,CAAuBshJ,KAAK,CAAC3lJ,IAA7B,EAAmC2lJ,KAAnC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO3lJ,IAAP,EAAa;AACT,UAAI,KAAKulJ,aAAL,CAAmBj4H,GAAnB,CAAuBttB,IAAvB,CAAJ,EAAkC;AAC9B;AACA,eAAO,KAAKulJ,aAAL,CAAmBnhJ,GAAnB,CAAuBpE,IAAvB,CAAP;AACH,OAHD,MAIK,IAAI,KAAKslJ,WAAL,KAAqB,IAAzB,EAA+B;AAChC;AACA,eAAO,KAAKA,WAAL,CAAiBM,MAAjB,CAAwB5lJ,IAAxB,CAAP;AACH,OAHI,MAIA;AACD;AACA,eAAO,IAAP;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;;WACI,uBAAcwpB,QAAd,EAAwB;AACpB,UAAM9nB,GAAG,GAAG,KAAK8jJ,WAAL,CAAiBphJ,GAAjB,CAAqBolB,QAArB,CAAZ;;AACA,UAAI9nB,GAAG,KAAKqE,SAAZ,EAAuB;AACnB,cAAM,IAAIxH,KAAJ,4CAA8CirB,QAA9C,gBAAN;AACH;;AACD,aAAO9nB,GAAP;AACH;;;WA9FD,wBAAsB;AAClB,aAAO,IAAIqjJ,KAAJ,CAAU,IAAV,EAAgB,IAAhB,CAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,eAAav7H,QAAb,EAAuB;AACnB,UAAMq0E,KAAK,GAAGknD,KAAK,CAACc,YAAN,EAAd;AACAhoD,WAAK,CAAC4nD,MAAN,CAAaj8H,QAAb;AACA,aAAOq0E,KAAP;AACH;;;;;AAqFL;AACA;AACA;AACA;AACA;;;IACMqnD,e;AACF,2BAAYvhJ,OAAZ,EAAqBmpB,UAArB,EAAiCimD,QAAjC,EAA2C93C,UAA3C,EAAuD;AAAA;;AACnD,SAAKt3B,OAAL,GAAeA,OAAf;AACA,SAAKmpB,UAAL,GAAkBA,UAAlB;AACA,SAAKimD,QAAL,GAAgBA,QAAhB;AACA,SAAK93C,UAAL,GAAkBA,UAAlB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WASI,gBAAOzR,QAAP,EAAiB;AAAA;;AACbA,cAAQ,CAACzpB,OAAT,CAAiB,UAAAuP,IAAI;AAAA,eAAIA,IAAI,CAAC4tB,KAAL,CAAW,QAAX,CAAJ;AAAA,OAArB;AACH;;;WACD,sBAAat8B,OAAb,EAAsB;AAClB,WAAK83H,sBAAL,CAA4B93H,OAAO,CAACZ,IAApC,EAA0CY,OAA1C;AACH;;;WACD,uBAAc4oB,QAAd,EAAwB;AACpB,WAAKkvG,sBAAL,CAA4B,aAA5B,EAA2ClvG,QAA3C;AACH;;;WACD,gCAAuBprB,WAAvB,EAAoCkR,IAApC,EAA0C;AAAA;;AACtC;AACA;AACA,UAAMrN,WAAW,GAAGknG,iBAAiB,CAAC/qG,WAAD,EAAc4uC,4BAA4B,CAAC19B,IAAD,CAA1C,CAArC,CAHsC,CAItC;;AACA,UAAMwd,UAAU,GAAG,EAAnB;AACA,WAAKnpB,OAAL,CAAazB,KAAb,CAAmBD,WAAnB,EAAgC,UAACqwD,CAAD,EAAIuX,SAAJ;AAAA,eAAkB/8C,UAAU,CAACvrB,IAAX,CAAgBsoE,SAAhB,CAAlB;AAAA,OAAhC;;AACA,UAAI/8C,UAAU,CAAChtB,MAAX,GAAoB,CAAxB,EAA2B;AACvB,aAAKgtB,UAAL,CAAgBzoB,GAAhB,CAAoBiL,IAApB,EAA0Bwd,UAA1B;AACH,OATqC,CAUtC;;;AACAxd,UAAI,CAAC2rB,UAAL,CAAgBl7B,OAAhB,CAAwB,UAAAuoB,GAAG,EAAI;AAC3B,YAAIw9H,SAAS,GAAG,IAAhB,CAD2B,CAE3B;AACA;AACA;;AACA,YAAIx9H,GAAG,CAAC7mB,KAAJ,CAAU8a,IAAV,OAAqB,EAAzB,EAA6B;AACzB;AACAupI,mBAAS,GAAGh5H,UAAU,CAAC4d,IAAX,CAAgB,UAAA7jC,GAAG;AAAA,mBAAIA,GAAG,CAACujB,WAAR;AAAA,WAAnB,KAA2C,IAAvD;AACH,SAHD,MAIK;AACD;AACA07H,mBAAS,GACLh5H,UAAU,CAAC4d,IAAX,CAAgB,UAAA7jC,GAAG;AAAA,mBAAIA,GAAG,CAACwjB,QAAJ,KAAiB,IAAjB,IAAyBxjB,GAAG,CAACwjB,QAAJ,CAAazM,IAAb,CAAkB,UAAAnc,KAAK;AAAA,qBAAIA,KAAK,KAAK6mB,GAAG,CAAC7mB,KAAlB;AAAA,aAAvB,CAA7B;AAAA,WAAnB,KACI,IAFR,CAFC,CAKD;;AACA,cAAIqkJ,SAAS,KAAK,IAAlB,EAAwB;AACpB;AACA;AACA;AACH;AACJ;;AACD,YAAIA,SAAS,KAAK,IAAlB,EAAwB;AACpB;AACA,kBAAI,CAAC7qH,UAAL,CAAgB52B,GAAhB,CAAoBikB,GAApB,EAAyB;AAAEuhD,qBAAS,EAAEi8E,SAAb;AAAwBx2I,gBAAI,EAAJA;AAAxB,WAAzB;AACH,SAHD,MAIK;AACD;AACA,kBAAI,CAAC2rB,UAAL,CAAgB52B,GAAhB,CAAoBikB,GAApB,EAAyBhZ,IAAzB;AACH;AACJ,OA7BD;;AA8BA,UAAMy2I,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACnjJ,SAAD,EAAYojJ,MAAZ,EAAuB;AAC/C,YAAMn/I,GAAG,GAAGimB,UAAU,CAAC4d,IAAX,CAAgB,UAAA7jC,GAAG;AAAA,iBAAIA,GAAG,CAACm/I,MAAD,CAAH,CAAYC,sBAAZ,CAAmCrjJ,SAAS,CAAC5C,IAA7C,CAAJ;AAAA,SAAnB,CAAZ;AACA,YAAMizE,OAAO,GAAGpsE,GAAG,KAAKd,SAAR,GAAoBc,GAApB,GAA0ByI,IAA1C;;AACA,gBAAI,CAACyjE,QAAL,CAAc1uE,GAAd,CAAkBzB,SAAlB,EAA6BqwE,OAA7B;AACH,OAJD,CAzCsC,CA8CtC;AACA;;;AACA3jE,UAAI,CAACgb,MAAL,CAAYvqB,OAAZ,CAAoB,UAAAgc,KAAK;AAAA,eAAIgqI,mBAAmB,CAAChqI,KAAD,EAAQ,QAAR,CAAvB;AAAA,OAAzB;AACAzM,UAAI,CAACyrB,UAAL,CAAgBh7B,OAAhB,CAAwB,UAAA2pC,IAAI;AAAA,eAAIq8G,mBAAmB,CAACr8G,IAAD,EAAO,QAAP,CAAvB;AAAA,OAA5B;;AACA,UAAIp6B,IAAI,YAAY+rB,QAApB,EAA8B;AAC1B/rB,YAAI,CAACgsB,aAAL,CAAmBv7B,OAAnB,CAA2B,UAAA2pC,IAAI;AAAA,iBAAIq8G,mBAAmB,CAACr8G,IAAD,EAAO,QAAP,CAAvB;AAAA,SAA/B;AACH,OApDqC,CAqDtC;;;AACAp6B,UAAI,CAACib,OAAL,CAAaxqB,OAAb,CAAqB,UAAA4uD,MAAM;AAAA,eAAIo3F,mBAAmB,CAACp3F,MAAD,EAAS,SAAT,CAAvB;AAAA,OAA3B,EAtDsC,CAuDtC;;AACAr/C,UAAI,CAAC0rB,QAAL,CAAcj7B,OAAd,CAAsB,UAAAq/B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,QAAZ,CAAJ;AAAA,OAA3B;AACH,K,CACD;;;;WACA,sBAAad,OAAb,EAAsB,CAAG;;;WACzB,uBAAc7hB,QAAd,EAAwB,CAAG;;;WAC3B,wBAAe6M,SAAf,EAA0B,CAAG;;;WAC7B,4BAAmBxkB,SAAnB,EAA8B,CAAG;;;WACjC,6BAAoBA,SAApB,EAA+B,CAAG;;;WAClC,yBAAgBA,SAAhB,EAA2B,CAAG;;;WAC9B,oCAA2B0M,IAA3B,EAAiC,CAAG;;;WACpC,mBAAUsB,IAAV,EAAgB,CAAG;;;WACnB,wBAAeA,IAAf,EAAqB,CAAG;;;WACxB,kBAASyrB,GAAT,EAAc,CAAG;;;WArFjB,eAAa7S,QAAb,EAAuB0xD,eAAvB,EAAwC;AACpC,UAAMpuD,UAAU,GAAG,IAAI/pB,GAAJ,EAAnB;AACA,UAAMgwE,QAAQ,GAAG,IAAIhwE,GAAJ,EAAjB;AACA,UAAMk4B,UAAU,GAAG,IAAIl4B,GAAJ,EAAnB;AACA,UAAMY,OAAO,GAAG,IAAIuhJ,eAAJ,CAAoBhqE,eAApB,EAAqCpuD,UAArC,EAAiDimD,QAAjD,EAA2D93C,UAA3D,CAAhB;AACAt3B,aAAO,CAAC8hJ,MAAR,CAAej8H,QAAf;AACA,aAAO;AAAEsD,kBAAU,EAAVA,UAAF;AAAcimD,gBAAQ,EAARA,QAAd;AAAwB93C,kBAAU,EAAVA;AAAxB,OAAP;AACH;;;;;AAgFL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMkqH,c;;;;;AACF,0BAAYpyE,QAAZ,EAAsB0wD,OAAtB,EAA+BvqD,SAA/B,EAA0CksE,YAA1C,EAAwDvnD,KAAxD,EAA+Dr0E,QAA/D,EAAyEs2B,KAAzE,EAAgF;AAAA;;AAAA;;AAC5E;AACA,aAAKizB,QAAL,GAAgBA,QAAhB;AACA,aAAK0wD,OAAL,GAAeA,OAAf;AACA,aAAKvqD,SAAL,GAAiBA,SAAjB;AACA,aAAKksE,YAAL,GAAoBA,YAApB;AACA,aAAKvnD,KAAL,GAAaA,KAAb;AACA,aAAKr0E,QAAL,GAAgBA,QAAhB;AACA,aAAKs2B,KAAL,GAAaA,KAAb;AACA,aAAKivD,SAAL,GAAiB,EAAjB,CAT4E,CAU5E;;AACA,aAAKm3C,SAAL,GAAiB,UAAC52I,IAAD;AAAA,aAAUA,IAAI,CAAC4tB,KAAL,iKAAV;AAAA,KAAjB;;AAX4E;AAY/E,G,CACD;AACA;AACA;;;;;WACA,eAAM5tB,IAAN,EAAYjF,OAAZ,EAAqB;AACjB,UAAIiF,IAAI,YAAYy0C,GAApB,EAAyB;AACrBz0C,YAAI,CAAC4tB,KAAL,CAAW,IAAX,EAAiB7yB,OAAjB;AACH,OAFD,MAGK;AACDiF,YAAI,CAAC4tB,KAAL,CAAW,IAAX;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WAWI,gBAAO1T,QAAP,EAAiB;AACb,UAAIA,QAAQ,YAAY6R,QAAxB,EAAkC;AAC9B;AACA;AACA7R,gBAAQ,CAAC+R,SAAT,CAAmBx7B,OAAnB,CAA2B,KAAKmmJ,SAAhC;AACA18H,gBAAQ,CAACwR,QAAT,CAAkBj7B,OAAlB,CAA0B,KAAKmmJ,SAA/B,EAJ8B,CAK9B;;AACA,aAAKd,YAAL,CAAkB/gJ,GAAlB,CAAsBmlB,QAAtB,EAAgC,KAAKs2B,KAArC;AACH,OAPD,MAQK;AACD;AACAt2B,gBAAQ,CAACzpB,OAAT,CAAiB,KAAKmmJ,SAAtB;AACH;AACJ;;;WACD,sBAAatlJ,OAAb,EAAsB;AAClB;AACAA,aAAO,CAAC0pB,MAAR,CAAevqB,OAAf,CAAuB,KAAKmmJ,SAA5B;AACAtlJ,aAAO,CAAC2pB,OAAR,CAAgBxqB,OAAhB,CAAwB,KAAKmmJ,SAA7B;AACAtlJ,aAAO,CAACo6B,QAAR,CAAiBj7B,OAAjB,CAAyB,KAAKmmJ,SAA9B;AACH;;;WACD,uBAAc18H,QAAd,EAAwB;AACpB;AACAA,cAAQ,CAACc,MAAT,CAAgBvqB,OAAhB,CAAwB,KAAKmmJ,SAA7B;AACA18H,cAAQ,CAACe,OAAT,CAAiBxqB,OAAjB,CAAyB,KAAKmmJ,SAA9B;AACA18H,cAAQ,CAAC8R,aAAT,CAAuBv7B,OAAvB,CAA+B,KAAKmmJ,SAApC,EAJoB,CAKpB;;AACA18H,cAAQ,CAACyR,UAAT,CAAoBl7B,OAApB,CAA4B,KAAKmmJ,SAAjC,EANoB,CAOpB;;AACA,UAAMC,UAAU,GAAG,KAAKtoD,KAAL,CAAWuoD,aAAX,CAAyB58H,QAAzB,CAAnB;AACA,UAAM68H,MAAM,GAAG,IAAIlB,cAAJ,CAAmB,KAAKpyE,QAAxB,EAAkC,KAAK0wD,OAAvC,EAAgD,KAAKvqD,SAArD,EAAgE,KAAKksE,YAArE,EAAmFe,UAAnF,EAA+F38H,QAA/F,EAAyG,KAAKs2B,KAAL,GAAa,CAAtH,CAAf;AACAumG,YAAM,CAACZ,MAAP,CAAcj8H,QAAd;AACH;;;WACD,uBAAcjP,QAAd,EAAwB;AACpB;AACA,UAAI,KAAKiP,QAAL,KAAkB,IAAtB,EAA4B;AACxB,aAAKi6G,OAAL,CAAap/H,GAAb,CAAiBkW,QAAjB,EAA2B,KAAKiP,QAAhC;AACH;AACJ;;;WACD,wBAAepC,SAAf,EAA0B;AACtB;AACA,UAAI,KAAKoC,QAAL,KAAkB,IAAtB,EAA4B;AACxB,aAAKi6G,OAAL,CAAap/H,GAAb,CAAiB+iB,SAAjB,EAA4B,KAAKoC,QAAjC;AACH;AACJ,K,CACD;;;;WACA,mBAAU5Y,IAAV,EAAgB,CAAG;;;WACnB,sBAAawrB,OAAb,EAAsB,CAAG;;;WACzB,4BAAmBx5B,SAAnB,EAA8B,CAAG;;;WACjC,kBAASy5B,GAAT,EAAc;AAAA;;AACVj2B,YAAM,CAAC+T,IAAP,CAAYkiB,GAAG,CAACL,IAAhB,EAAsBj8B,OAAtB,CAA8B,UAAA4U,GAAG;AAAA,eAAI0nB,GAAG,CAACL,IAAJ,CAASrnB,GAAT,EAAcuoB,KAAd,CAAoB,QAApB,CAAJ;AAAA,OAAjC;AACA92B,YAAM,CAAC+T,IAAP,CAAYkiB,GAAG,CAACJ,YAAhB,EAA8Bl8B,OAA9B,CAAsC,UAAA4U,GAAG;AAAA,eAAI0nB,GAAG,CAACJ,YAAJ,CAAiBtnB,GAAjB,EAAsBuoB,KAAtB,CAA4B,QAA5B,CAAJ;AAAA,OAAzC;AACH,K,CACD;;;;WACA,6BAAoBt6B,SAApB,EAA+B;AAC3BA,eAAS,CAACnB,KAAV,CAAgBy7B,KAAhB,CAAsB,IAAtB;AACH;;;WACD,yBAAgBtC,KAAhB,EAAuB;AACnBA,WAAK,CAACJ,OAAN,CAAc0C,KAAd,CAAoB,IAApB;AACH;;;WACD,wBAAetsB,IAAf,EAAqB;AACjBA,UAAI,CAACnP,KAAL,CAAWy7B,KAAX,CAAiB,IAAjB;AACH;;;WACD,mBAAU/kB,GAAV,EAAe9N,OAAf,EAAwB;AACpB,WAAK6uE,SAAL,CAAe3/D,GAAf,CAAmBpB,GAAG,CAACnY,IAAvB;AACA,yVAAuBmY,GAAvB,EAA4B9N,OAA5B;AACH,K,CACD;AACA;;;;WACA,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,WAAKi8I,QAAL,CAAcj8I,OAAd,EAAuB8N,GAAvB,EAA4BA,GAAG,CAACnY,IAAhC;AACA,iWAA+BmY,GAA/B,EAAoC9N,OAApC;AACH;;;WACD,+BAAsB8N,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC,WAAKi8I,QAAL,CAAcj8I,OAAd,EAAuB8N,GAAvB,EAA4BA,GAAG,CAACnY,IAAhC;AACA,qWAAmCmY,GAAnC,EAAwC9N,OAAxC;AACH;;;WACD,4BAAmB8N,GAAnB,EAAwB9N,OAAxB,EAAiC;AAC7B,WAAKi8I,QAAL,CAAcj8I,OAAd,EAAuB8N,GAAvB,EAA4BA,GAAG,CAACnY,IAAhC;AACA,kWAAgCmY,GAAhC,EAAqC9N,OAArC;AACH;;;WACD,yBAAgB8N,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,WAAKi8I,QAAL,CAAcj8I,OAAd,EAAuB8N,GAAvB,EAA4BA,GAAG,CAACnY,IAAhC;AACA,+VAA6BmY,GAA7B,EAAkC9N,OAAlC;AACH;;;WACD,6BAAoB8N,GAApB,EAAyB9N,OAAzB,EAAkC;AAC9B,WAAKi8I,QAAL,CAAcj8I,OAAd,EAAuB8N,GAAvB,EAA4BA,GAAG,CAACnY,IAAhC;AACA,mWAAiCmY,GAAjC,EAAsC9N,OAAtC;AACH;;;WACD,kBAASwzF,KAAT,EAAgB1lF,GAAhB,EAAqBnY,IAArB,EAA2B;AACvB;AACA;AACA,UAAI,EAAEmY,GAAG,CAACrI,QAAJ,YAAwBy0C,gBAA1B,CAAJ,EAAiD;AAC7C;AACH,OALsB,CAMvB;AACA;;;AACA,UAAI9pB,MAAM,GAAG,KAAKojE,KAAL,CAAW+nD,MAAX,CAAkB5lJ,IAAlB,CAAb;;AACA,UAAIy6B,MAAM,KAAK,IAAf,EAAqB;AACjB,aAAKs4C,QAAL,CAAc1uE,GAAd,CAAkB8T,GAAlB,EAAuBsiB,MAAvB;AACH;AACJ;;;WA9GD,eAAajR,QAAb,EAAuBq0E,KAAvB,EAA8B;AAC1B,UAAM1sF,WAAW,GAAG,IAAIpO,GAAJ,EAApB;AACA,UAAM0gI,OAAO,GAAG,IAAI1gI,GAAJ,EAAhB;AACA,UAAMqiJ,YAAY,GAAG,IAAIriJ,GAAJ,EAArB;AACA,UAAMm2E,SAAS,GAAG,IAAI5/D,GAAJ,EAAlB,CAJ0B,CAK1B;;AACA,UAAM+sI,MAAM,GAAG,IAAIlB,cAAJ,CAAmBh0I,WAAnB,EAAgCsyH,OAAhC,EAAyCvqD,SAAzC,EAAoDksE,YAApD,EAAkEvnD,KAAlE,EAAyEr0E,QAAQ,YAAY6R,QAApB,GAA+B7R,QAA/B,GAA0C,IAAnH,EAAyH,CAAzH,CAAf;AACA68H,YAAM,CAACZ,MAAP,CAAcj8H,QAAd;AACA,aAAO;AAAErY,mBAAW,EAAXA,WAAF;AAAesyH,eAAO,EAAPA,OAAf;AAAwB2hB,oBAAY,EAAZA,YAAxB;AAAsClsE,iBAAS,EAATA;AAAtC,OAAP;AACH;;;;EA9CwBnxB,qB;AAqJ7B;AACA;AACA;AACA;AACA;;;IACMs9F,a;AACF,yBAAY5qH,MAAZ,EAAoB3N,UAApB,EAAgCimD,QAAhC,EAA0C93C,UAA1C,EAAsDsrH,WAAtD,EAAmE9iB,OAAnE,EAA4E2hB,YAA5E,EAA0FJ,gBAA1F,EAA4G9rE,SAA5G,EAAuH;AAAA;;AACnH,SAAKz+C,MAAL,GAAcA,MAAd;AACA,SAAK3N,UAAL,GAAkBA,UAAlB;AACA,SAAKimD,QAAL,GAAgBA,QAAhB;AACA,SAAK93C,UAAL,GAAkBA,UAAlB;AACA,SAAKsrH,WAAL,GAAmBA,WAAnB;AACA,SAAK9iB,OAAL,GAAeA,OAAf;AACA,SAAK2hB,YAAL,GAAoBA,YAApB;AACA,SAAKJ,gBAAL,GAAwBA,gBAAxB;AACA,SAAK9rE,SAAL,GAAiBA,SAAjB;AACH;;;;WACD,oCAA2B1vD,QAA3B,EAAqC;AACjC,UAAInpB,EAAJ;;AACA,aAAO,CAACA,EAAE,GAAG,KAAK2kJ,gBAAL,CAAsB5gJ,GAAtB,CAA0BolB,QAA1B,CAAN,MAA+C,IAA/C,IAAuDnpB,EAAE,KAAK,KAAK,CAAnE,GAAuEA,EAAvE,GAA4E,IAAIiZ,GAAJ,EAAnF;AACH;;;WACD,6BAAoBhK,IAApB,EAA0B;AACtB,aAAO,KAAKwd,UAAL,CAAgB1oB,GAAhB,CAAoBkL,IAApB,KAA6B,IAApC;AACH;;;WACD,4BAAmBgZ,GAAnB,EAAwB;AACpB,aAAO,KAAK2S,UAAL,CAAgB72B,GAAhB,CAAoBkkB,GAApB,KAA4B,IAAnC;AACH;;;WACD,8BAAqB2qD,OAArB,EAA8B;AAC1B,aAAO,KAAKF,QAAL,CAAc3uE,GAAd,CAAkB6uE,OAAlB,KAA8B,IAArC;AACH;;;WACD,6BAAoB/jE,IAApB,EAA0B;AACtB,aAAO,KAAKq3I,WAAL,CAAiBniJ,GAAjB,CAAqB8K,IAArB,KAA8B,IAArC;AACH;;;WACD,6BAAoBqzC,MAApB,EAA4B;AACxB,aAAO,KAAKkhF,OAAL,CAAar/H,GAAb,CAAiBm+C,MAAjB,KAA4B,IAAnC;AACH;;;WACD,yBAAgB/4B,QAAhB,EAA0B;AACtB,aAAO,KAAK47H,YAAL,CAAkBhhJ,GAAlB,CAAsBolB,QAAtB,KAAmC,CAA1C;AACH;;;WACD,6BAAoB;AAChB,UAAMnlB,GAAG,GAAG,IAAIiV,GAAJ,EAAZ;AACA,WAAKwT,UAAL,CAAgB/sB,OAAhB,CAAwB,UAAAymJ,IAAI;AAAA,eAAIA,IAAI,CAACzmJ,OAAL,CAAa,UAAA8G,GAAG;AAAA,iBAAIxC,GAAG,CAACkV,GAAJ,CAAQ1S,GAAR,CAAJ;AAAA,SAAhB,CAAJ;AAAA,OAA5B;AACA,aAAO4V,KAAK,CAACs2B,IAAN,CAAW1uC,GAAG,CAAC0E,MAAJ,EAAX,CAAP;AACH;;;WACD,wBAAe;AACX,aAAO0T,KAAK,CAACs2B,IAAN,CAAW,KAAKmmC,SAAhB,CAAP;AACH;;;;;;AAEL,SAAS+rE,uBAAT,CAAiCwB,SAAjC,EAA4C;AACxC,MAAMC,SAAS,GAAG,IAAI3jJ,GAAJ,EAAlB;;AACA,WAAS4jJ,oBAAT,CAA8B9oD,KAA9B,EAAqC;AACjC,QAAI6oD,SAAS,CAACp5H,GAAV,CAAcuwE,KAAK,CAACr0E,QAApB,CAAJ,EAAmC;AAC/B,aAAOk9H,SAAS,CAACtiJ,GAAV,CAAcy5F,KAAK,CAACr0E,QAApB,CAAP;AACH;;AACD,QAAMo9H,eAAe,GAAG/oD,KAAK,CAAC0nD,aAA9B;AACA,QAAIP,gBAAJ;;AACA,QAAInnD,KAAK,CAACynD,WAAN,KAAsB,IAA1B,EAAgC;AAC5BN,sBAAgB,GAAG,IAAIjiJ,GAAJ,8JAAY4jJ,oBAAoB,CAAC9oD,KAAK,CAACynD,WAAP,CAAhC,sJAAwDsB,eAAxD,GAAnB;AACH,KAFD,MAGK;AACD5B,sBAAgB,GAAG,IAAIjiJ,GAAJ,CAAQ6jJ,eAAR,CAAnB;AACH;;AACDF,aAAS,CAACriJ,GAAV,CAAcw5F,KAAK,CAACr0E,QAApB,EAA8Bw7H,gBAA9B;AACA,WAAOA,gBAAP;AACH;;AACD,MAAM6B,eAAe,GAAG,CAACJ,SAAD,CAAxB;;AACA,SAAOI,eAAe,CAAC/mJ,MAAhB,GAAyB,CAAhC,EAAmC;AAC/B,QAAM+9F,KAAK,GAAGgpD,eAAe,CAAC17G,GAAhB,EAAd;;AAD+B,gLAEN0yD,KAAK,CAAC2nD,WAAN,CAAkBz8I,MAAlB,EAFM;AAAA;;AAAA;AAE/B,gEAAqD;AAAA,YAA1Co9I,UAA0C;AACjDU,uBAAe,CAACtlJ,IAAhB,CAAqB4kJ,UAArB;AACH;AAJ8B;AAAA;AAAA;AAAA;AAAA;;AAK/BQ,wBAAoB,CAAC9oD,KAAD,CAApB;AACH;;AACD,MAAMmnD,gBAAgB,GAAG,IAAIjiJ,GAAJ,EAAzB;;AAzBwC,8KA0BL2jJ,SA1BK;AAAA;;AAAA;AA0BxC,8DAA8C;AAAA;AAAA,UAAlCl9H,QAAkC;AAAA,UAAxBs9H,QAAwB;;AAC1C9B,sBAAgB,CAAC3gJ,GAAjB,CAAqBmlB,QAArB,EAA+B,IAAIlQ,GAAJ,CAAQwtI,QAAQ,CAAC/9I,MAAT,EAAR,CAA/B;AACH;AA5BuC;AAAA;AAAA;AAAA;AAAA;;AA6BxC,SAAOi8I,gBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAhvC,aAAa,CAAC71F,OAAD,CAAb;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACju5BA;AACA;AAGA;AAEA;AACA;AAmEM,SAAU,GAAV,GAC+D;AAAA,oCAAhE,WAAgE;AAAhE,eAAgE;AAAA;;AAEnE,MAAM,cAAc,GAAgC,WAAW,CAAC,WAAW,CAAC,MAAZ,GAAqB,CAAtB,CAA/D;;AACA,MAAI,OAAO,cAAP,KAA0B,UAA9B,EAA0C;AACxC,eAAW,CAAC,GAAZ;AACD;;AACD,SAAO,4DAAS,CAAC,WAAD,EAAc,SAAd,CAAT,CAAkC,IAAlC,CAAuC,IAAI,WAAJ,CAAgB,cAAhB,CAAvC,CAAP;AACD;AAED,IAAa,WAAb;AAIE,uBAAY,cAAZ,EAAyD;AAAA;;AACvD,SAAK,cAAL,GAAsB,cAAtB;AACD;;AANH,EAAE;AAAF;AAAA,WAQE,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,aAAJ,CAAkB,UAAlB,EAA8B,KAAK,cAAnC,CAAjB,CAAP;AACD;AAVH;;AAAA;AAAA;AAkBA,IAAa,aAAb;AAAA,EAAE;;AAAF;;AAIE,yBAAY,WAAZ,EACoB,cADpB,EAE6C;AAAA;;AAAA,QAAjC,MAAiC,uEAAnB,MAAM,CAAC,MAAP,CAAc,IAAd,CAAmB;;AAAA;;AAC3C,8BAAM,WAAN;AAFkB;AAJZ,sBAAsC,EAAtC;AACA,mBAAS,CAAT;AAMN,UAAK,cAAL,GAAuB,OAAO,cAAP,KAA0B,UAA3B,GAAyC,cAAzC,GAA0D,SAAhF;AAF2C;AAG5C;;AATH,EAAE;AAAF;AAAA,WAWY,eAAM,KAAN,EAAgB;AACxB,UAAM,SAAS,GAAG,KAAK,SAAvB;;AACA,UAAI,6DAAO,CAAC,KAAD,CAAX,EAAoB;AAClB,iBAAS,CAAC,IAAV,CAAe,IAAI,mBAAJ,CAAwB,KAAxB,CAAf;AACD,OAFD,MAEO,IAAI,OAAO,KAAK,CAAC,kEAAD,CAAZ,KAAkC,UAAtC,EAAkD;AACvD,iBAAS,CAAC,IAAV,CAAe,IAAI,cAAJ,CAAmB,KAAK,CAAC,kEAAD,CAAL,EAAnB,CAAf;AACD,OAFM,MAEA;AACL,iBAAS,CAAC,IAAV,CAAe,IAAI,iBAAJ,CAAsB,KAAK,WAA3B,EAAwC,IAAxC,EAA8C,KAA9C,CAAf;AACD;AACF;AApBH;AAAA;AAAA,WAsBY,qBAAS;AACjB,UAAM,SAAS,GAAG,KAAK,SAAvB;AACA,UAAM,GAAG,GAAG,SAAS,CAAC,MAAtB;AAEA,WAAK,WAAL;;AAEA,UAAI,GAAG,KAAK,CAAZ,EAAe;AACb,aAAK,WAAL,CAAiB,QAAjB;AACA;AACD;;AAED,WAAK,MAAL,GAAc,GAAd;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,CAAC,EAA1B,EAA8B;AAC5B,YAAI,QAAQ,GAAqC,SAAS,CAAC,CAAD,CAA1D;;AACA,YAAI,QAAQ,CAAC,iBAAb,EAAgC;AAC9B,cAAM,WAAW,GAAG,KAAK,WAAzB;AACA,qBAAW,CAAC,GAAZ,CAAgB,QAAQ,CAAC,SAAT,EAAhB;AACD,SAHD,MAGO;AACL,eAAK,MAAL;AACD;AACF;AACF;AA3CH;AAAA;AAAA,WA6CE,0BAAc;AACZ,WAAK,MAAL;;AACA,UAAI,KAAK,MAAL,KAAgB,CAApB,EAAuB;AACrB,aAAK,WAAL,CAAiB,QAAjB;AACD;AACF;AAlDH;AAAA;AAAA,WAoDE,0BAAc;AACZ,UAAM,SAAS,GAAG,KAAK,SAAvB;AACA,UAAM,GAAG,GAAG,SAAS,CAAC,MAAtB;AACA,UAAM,WAAW,GAAG,KAAK,WAAzB;;AAGA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,CAAC,EAA1B,EAA8B;AAC5B,YAAI,QAAQ,GAAG,SAAS,CAAC,CAAD,CAAxB;;AACA,YAAI,OAAO,QAAQ,CAAC,QAAhB,KAA6B,UAA7B,IAA2C,CAAC,QAAQ,CAAC,QAAT,EAAhD,EAAqE;AACnE;AACD;AACF;;AAED,UAAI,cAAc,GAAG,KAArB;AACA,UAAM,IAAI,GAAU,EAApB;;AACA,WAAK,IAAI,EAAC,GAAG,CAAb,EAAgB,EAAC,GAAG,GAApB,EAAyB,EAAC,EAA1B,EAA8B;AAC5B,YAAI,SAAQ,GAAG,SAAS,CAAC,EAAD,CAAxB;;AACA,YAAI,MAAM,GAAG,SAAQ,CAAC,IAAT,EAAb;;AAIA,YAAI,SAAQ,CAAC,YAAT,EAAJ,EAA6B;AAC3B,wBAAc,GAAG,IAAjB;AACD;;AAED,YAAI,MAAM,CAAC,IAAX,EAAiB;AACf,qBAAW,CAAC,QAAZ;AACA;AACD;;AAED,YAAI,CAAC,IAAL,CAAU,MAAM,CAAC,KAAjB;AACD;;AAED,UAAI,KAAK,cAAT,EAAyB;AACvB,aAAK,kBAAL,CAAwB,IAAxB;AACD,OAFD,MAEO;AACL,mBAAW,CAAC,IAAZ,CAAkB,IAAlB;AACD;;AAED,UAAI,cAAJ,EAAoB;AAClB,mBAAW,CAAC,QAAZ;AACD;AACF;AA9FH;AAAA;AAAA,WAgGY,4BAAmB,IAAnB,EAA8B;AACtC,UAAI,MAAJ;;AACA,UAAI;AACF,cAAM,GAAG,KAAK,cAAL,CAAqB,KAArB,CAA2B,IAA3B,EAAiC,IAAjC,CAAT;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAwB,GAAxB;AACA;AACD;;AACD,WAAK,WAAL,CAAiB,IAAjB,CAAuB,MAAvB;AACD;AAzGH;;AAAA;AAAA,EAAyC,sDAAzC;;IAiHM,c;AAGJ,0BAAoB,QAApB,EAAyC;AAAA;;AAArB;AAClB,SAAK,UAAL,GAAkB,QAAQ,CAAC,IAAT,EAAlB;AACD;;;;WAED,oBAAQ;AACN,aAAO,IAAP;AACD;;;WAED,gBAAI;AACF,UAAM,MAAM,GAAG,KAAK,UAApB;AACA,WAAK,UAAL,GAAkB,KAAK,QAAL,CAAc,IAAd,EAAlB;AACA,aAAO,MAAP;AACD;;;WAED,wBAAY;AACV,UAAM,UAAU,GAAG,KAAK,UAAxB;AACA,aAAO,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,IAA1B,CAAd;AACD;;;;;;IAGG,mB;AAIJ,+BAAoB,KAApB,EAA8B;AAAA;;AAAV;AAHZ,iBAAQ,CAAR;AACA,kBAAS,CAAT;AAGN,SAAK,MAAL,GAAc,KAAK,CAAC,MAApB;AACD;;;SAEA,kE;WAAD,iBAAiB;AACf,aAAO,IAAP;AACD;;;WAED,cAAK,KAAL,EAAgB;AACd,UAAM,CAAC,GAAG,KAAK,KAAL,EAAV;AACA,UAAM,KAAK,GAAG,KAAK,KAAnB;AACA,aAAO,CAAC,GAAG,KAAK,MAAT,GAAkB;AAAE,aAAK,EAAE,KAAK,CAAC,CAAD,CAAd;AAAmB,YAAI,EAAE;AAAzB,OAAlB,GAAqD;AAAE,aAAK,EAAE,IAAT;AAAe,YAAI,EAAE;AAArB,OAA5D;AACD;;;WAED,oBAAQ;AACN,aAAO,KAAK,KAAL,CAAW,MAAX,GAAoB,KAAK,KAAhC;AACD;;;WAED,wBAAY;AACV,aAAO,KAAK,KAAL,CAAW,MAAX,KAAsB,KAAK,KAAlC;AACD;;;;;;IAQG,iB;;;;;AAKJ,6BAAY,WAAZ,EACoB,MADpB,EAEoB,UAFpB,EAE6C;AAAA;;AAAA;;AAC3C,gCAAM,WAAN;AAFkB;AACA;AANpB,+BAAoB,IAApB;AACA,oBAAc,EAAd;AACA,wBAAa,KAAb;AAI6C;AAE5C;;;SAEA,kE;WAAD,iBAAiB;AACf,aAAO,IAAP;AACD;;;WAID,gBAAI;AACF,UAAM,MAAM,GAAG,KAAK,MAApB;;AACA,UAAI,MAAM,CAAC,MAAP,KAAkB,CAAlB,IAAuB,KAAK,UAAhC,EAA4C;AAC1C,eAAO;AAAE,eAAK,EAAE,IAAT;AAAe,cAAI,EAAE;AAArB,SAAP;AACD,OAFD,MAEO;AACL,eAAO;AAAE,eAAK,EAAE,MAAM,CAAC,KAAP,EAAT;AAA0B,cAAI,EAAE;AAAhC,SAAP;AACD;AACF;;;WAED,oBAAQ;AACN,aAAO,KAAK,MAAL,CAAY,MAAZ,GAAqB,CAA5B;AACD;;;WAED,wBAAY;AACV,aAAO,KAAK,MAAL,CAAY,MAAZ,KAAuB,CAAvB,IAA4B,KAAK,UAAxC;AACD;;;WAED,0BAAc;AACZ,UAAI,KAAK,MAAL,CAAY,MAAZ,GAAqB,CAAzB,EAA4B;AAC1B,aAAK,UAAL,GAAkB,IAAlB;AACA,aAAK,MAAL,CAAY,cAAZ;AACD,OAHD,MAGO;AACL,aAAK,WAAL,CAAiB,QAAjB;AACD;AACF;;;WAED,oBAAW,UAAX,EAA0B;AACxB,WAAK,MAAL,CAAY,IAAZ,CAAiB,UAAjB;AACA,WAAK,MAAL,CAAY,cAAZ;AACD;;;WAED,qBAAS;AACP,aAAO,sEAAc,CAAC,KAAK,UAAN,EAAkB,IAAI,qEAAJ,CAA0B,IAA1B,CAAlB,CAArB;AACD;;;;EAlDmC,qE;;;;;;;;;;;;AC/QtC;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACDA;AAAA;AAAA;AAAO,IAAM,YAAY,GAAI;AAAA,SAC3B,OAAO,MAAP,KAAkB,UAAlB,GACI,MAAM,CAAC,cAAD,CADV,GAEI,oBAAoB,IAAI,CAAC,MAAL,EAHG;AAAA,CAAD,EAArB;AAQA,IAAM,cAAc,GAAG,YAAvB,C;;;;;;;;;;;;ACTP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AAqDM,SAAU,SAAV,CACJ,MADI,EAEJ,SAFI,EAGJ,OAHI,EAGS;AAEb,SAAO,CACL,gEAAM,CAAC,SAAD,EAAY,OAAZ,CAAN,CAA2B,IAAI,sDAAJ,CAAkB,qEAAW,CAAC,MAAD,CAA7B,CAA3B,CADK,EAEL,gEAAM,CAAC,qDAAG,CAAC,SAAD,EAAY,OAAZ,CAAJ,CAAN,CAAuC,IAAI,sDAAJ,CAAkB,qEAAW,CAAC,MAAD,CAA7B,CAAvC,CAFK,CAAP;AAID,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClED;AAIA;AAQA,IAAa,eAAb;AAAA,EAAE;;AAAF;;AAEE,2BAAoB,MAApB,EAA6B;AAAA;;AAAA;;AAC3B;AADkB;AAAS;AAE5B;;AAJH,EAAE;AAAF;AAAA,SAME,eAAS;AACP,aAAO,KAAK,QAAL,EAAP;AACD;AARH;AAAA;AAAA,WAWE,oBAAW,UAAX,EAAoC;AAClC,UAAM,YAAY,iVAAoB,UAApB,CAAlB;;AACA,UAAI,YAAY,IAAI,CAAoB,YAAa,CAAC,MAAtD,EAA8D;AAC5D,kBAAU,CAAC,IAAX,CAAgB,KAAK,MAArB;AACD;;AACD,aAAO,YAAP;AACD;AAjBH;AAAA;AAAA,WAmBE,oBAAQ;AACN,UAAI,KAAK,QAAT,EAAmB;AACjB,cAAM,KAAK,WAAX;AACD,OAFD,MAEO,IAAI,KAAK,MAAT,EAAiB;AACtB,cAAM,IAAI,qFAAJ,EAAN;AACD,OAFM,MAEA;AACL,eAAO,KAAK,MAAZ;AACD;AACF;AA3BH;AAAA;AAAA,WA6BE,cAAK,KAAL,EAAa;AACX,8UAAW,KAAK,MAAL,GAAc,KAAzB;AACD;AA/BH;;AAAA;AAAA,EAAwC,gDAAxC,E;;;;;;;;;;;;ACZA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA,2EAA2E;AAC3E;AACA,GAAG;AACH;AACA;AACA,C;;;;;;;;;;;;ACXA;AAAA;AAAA,IAAI,mDAAmD,GAAG,KAA1D;AAMO,IAAM,MAAM,GAAG;AAKpB,SAAO,EAAE,SALW;;AAepB,MAAI,qCAAJ,CAA0C,KAA1C,EAAwD;AACtD,QAAI,KAAJ,EAAW;AACT,UAAM,KAAK,GAAG,IAAI,KAAJ,EAAd;AACA,aAAO,CAAC,IAAR,CAAa,kGAAkG,KAAK,CAAC,KAArH;AACD,KAHD,MAGO,IAAI,mDAAJ,EAAyD;AAC9D,aAAO,CAAC,GAAR,CAAY,sDAAZ;AACD;;AACD,uDAAmD,GAAG,KAAtD;AACD,GAvBmB;;AAyBpB,MAAI,qCAAJ,GAAyC;AACvC,WAAO,mDAAP;AACD;;AA3BmB,CAAf,C;;;;;;;;;;;;;;;;;;;;;;;ACJP;AAeM,SAAU,SAAV,CAAuB,SAAvB,EAAsE;AAC1E,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,iBAAJ,CAAsB,SAAtB,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,iB;AACJ,6BAAoB,SAApB,EAAmE;AAAA;;AAA/C;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,mBAAJ,CAAwB,UAAxB,EAAoC,KAAK,SAAzC,CAAjB,CAAP;AACD;;;;;;IAQG,mB;;;;;AAIJ,+BAAY,WAAZ,EACoB,SADpB,EACmE;AAAA;;AAAA;;AACjE,8BAAM,WAAN;AADkB;AAJZ,qBAAoB,IAApB;AACA,kBAAgB,CAAhB;AAG2D;AAElE;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAM,WAAW,GAAG,KAAK,WAAzB;;AACA,UAAI,KAAK,QAAT,EAAmB;AACjB,aAAK,gBAAL,CAAsB,KAAtB;AACD;;AAED,UAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,mBAAW,CAAC,IAAZ,CAAiB,KAAjB;AACD;AACF;;;WAEO,0BAAiB,KAAjB,EAAyB;AAC/B,UAAI;AACF,YAAM,MAAM,GAAG,KAAK,SAAL,CAAe,KAAf,EAAsB,KAAK,KAAL,EAAtB,CAAf;AACA,aAAK,QAAL,GAAgB,OAAO,CAAC,MAAD,CAAvB;AACD,OAHD,CAGE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACD;AACF;;;;EA3BkC,sD;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCrC;AACA;AAEA;AAEA;AAsDM,SAAU,KAAV,CAAmB,KAAnB,EACmD;AAAA,MAAhC,SAAgC,uEAAL,sDAAK;AACvD,MAAM,aAAa,GAAG,2DAAM,CAAC,KAAD,CAA5B;AACA,MAAM,QAAQ,GAAG,aAAa,GAAI,CAAC,KAAD,GAAS,SAAS,CAAC,GAAV,EAAb,GAAgC,IAAI,CAAC,GAAL,CAAiB,KAAjB,CAA9D;AACA,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,aAAJ,CAAkB,QAAlB,EAA4B,SAA5B,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,a;AACJ,yBAAoB,KAApB,EACoB,SADpB,EAC4C;AAAA;;AADxB;AACA;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,eAAJ,CAAoB,UAApB,EAAgC,KAAK,KAArC,EAA4C,KAAK,SAAjD,CAAjB,CAAP;AACD;;;;;;IAcG,e;;;;;AAwBJ,2BAAY,WAAZ,EACoB,KADpB,EAEoB,SAFpB,EAE4C;AAAA;;AAAA;;AAC1C,8BAAM,WAAN;AAFkB;AACA;AAzBZ,kBAAgC,EAAhC;AACA,mBAAkB,KAAlB;AACA,oBAAmB,KAAnB;AAuBoC;AAE3C;;;;WAEO,mBAAU,SAAV,EAAkC;AACxC,WAAK,MAAL,GAAc,IAAd;AACA,UAAM,WAAW,GAAG,KAAK,WAAzB;AACA,iBAAW,CAAC,GAAZ,CAAgB,SAAS,CAAC,QAAV,CAAkC,eAAe,CAAC,QAAlD,EAA4D,KAAK,KAAjE,EAAwE;AACtF,cAAM,EAAE,IAD8E;AACxE,mBAAW,EAAE,KAAK,WADsD;AACzC,iBAAS,EAAE;AAD8B,OAAxE,CAAhB;AAGD;;;WAEO,8BAAqB,YAArB,EAAkD;AACxD,UAAI,KAAK,OAAL,KAAiB,IAArB,EAA2B;AACzB;AACD;;AAED,UAAM,SAAS,GAAG,KAAK,SAAvB;AACA,UAAM,OAAO,GAAG,IAAI,YAAJ,CAAiB,SAAS,CAAC,GAAV,KAAkB,KAAK,KAAxC,EAA+C,YAA/C,CAAhB;AACA,WAAK,KAAL,CAAW,IAAX,CAAgB,OAAhB;;AAEA,UAAI,KAAK,MAAL,KAAgB,KAApB,EAA2B;AACzB,aAAK,SAAL,CAAe,SAAf;AACD;AACF;;;WAES,eAAM,KAAN,EAAc;AACtB,WAAK,oBAAL,CAA0B,0DAAY,CAAC,UAAb,CAAwB,KAAxB,CAA1B;AACD;;;WAES,gBAAO,GAAP,EAAe;AACvB,WAAK,OAAL,GAAe,IAAf;AACA,WAAK,KAAL,GAAa,EAAb;AACA,WAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACA,WAAK,WAAL;AACD;;;WAES,qBAAS;AACjB,WAAK,oBAAL,CAA0B,0DAAY,CAAC,cAAb,EAA1B;AACA,WAAK,WAAL;AACD;;;WA7DO,kBAAyD,KAAzD,EAA6E;AACnF,UAAM,MAAM,GAAG,KAAK,CAAC,MAArB;AACA,UAAM,KAAK,GAAG,MAAM,CAAC,KAArB;AACA,UAAM,SAAS,GAAG,KAAK,CAAC,SAAxB;AACA,UAAM,WAAW,GAAG,KAAK,CAAC,WAA1B;;AAEA,aAAO,KAAK,CAAC,MAAN,GAAe,CAAf,IAAqB,KAAK,CAAC,CAAD,CAAL,CAAS,IAAT,GAAgB,SAAS,CAAC,GAAV,EAAjB,IAAqC,CAAhE,EAAmE;AACjE,aAAK,CAAC,KAAN,GAAc,YAAd,CAA2B,OAA3B,CAAmC,WAAnC;AACD;;AAED,UAAI,KAAK,CAAC,MAAN,GAAe,CAAnB,EAAsB;AACpB,YAAM,MAAK,GAAG,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,KAAK,CAAC,CAAD,CAAL,CAAS,IAAT,GAAgB,SAAS,CAAC,GAAV,EAA5B,CAAd;;AACA,aAAK,QAAL,CAAc,KAAd,EAAqB,MAArB;AACD,OAHD,MAGO;AACL,aAAK,WAAL;AACA,cAAM,CAAC,MAAP,GAAgB,KAAhB;AACD;AACF;;;;EAtB8B,sD;;IAqE3B,Y,GACJ,sBAA4B,IAA5B,EAC4B,YAD5B,EACyD;AAAA;;AAD7B;AACA;AAC3B,C;;;;;;;;;;;;;;;;;;;;;;;AC/JH;AAUA,IAAa,WAAb;AAAA,EAAE;;AAAF;;AAOE,uBAAsB,SAAtB,EACsB,IADtB,EACyE;AAAA;;AAAA;;AACvE,8BAAM,SAAN,EAAiB,IAAjB;AAFoB;AACA;AAHZ,oBAAmB,KAAnB;AAG+D;AAExE;;AAVH,EAAE;AAAF;AAAA,WAYS,kBAAS,KAAT,EAAqC;AAAA,UAAjB,KAAiB,uEAAD,CAAC;;AAE1C,UAAI,KAAK,MAAT,EAAiB;AACf,eAAO,IAAP;AACD;;AAGD,WAAK,KAAL,GAAa,KAAb;AAEA,UAAM,EAAE,GAAG,KAAK,EAAhB;AACA,UAAM,SAAS,GAAG,KAAK,SAAvB;;AAuBA,UAAI,EAAE,IAAI,IAAV,EAAgB;AACd,aAAK,EAAL,GAAU,KAAK,cAAL,CAAoB,SAApB,EAA+B,EAA/B,EAAmC,KAAnC,CAAV;AACD;;AAID,WAAK,OAAL,GAAe,IAAf;AAEA,WAAK,KAAL,GAAa,KAAb;AAEA,WAAK,EAAL,GAAU,KAAK,EAAL,IAAW,KAAK,cAAL,CAAoB,SAApB,EAA+B,KAAK,EAApC,EAAwC,KAAxC,CAArB;AAEA,aAAO,IAAP;AACD;AA1DH;AAAA;AAAA,WA4DY,wBAAe,SAAf,EAA0C,EAA1C,EAAqE;AAAA,UAAjB,KAAiB,uEAAD,CAAC;AAC7E,aAAO,WAAW,CAAC,SAAS,CAAC,KAAV,CAAgB,IAAhB,CAAqB,SAArB,EAAgC,IAAhC,CAAD,EAAwC,KAAxC,CAAlB;AACD;AA9DH;AAAA;AAAA,WAgEY,wBAAe,SAAf,EAA0C,EAA1C,EAAoE;AAAA,UAAjB,KAAiB,uEAAD,CAAC;;AAE5E,UAAI,KAAK,KAAK,IAAV,IAAkB,KAAK,KAAL,KAAe,KAAjC,IAA0C,KAAK,OAAL,KAAiB,KAA/D,EAAsE;AACpE,eAAO,EAAP;AACD;;AAGD,mBAAa,CAAC,EAAD,CAAb;AACA,aAAO,SAAP;AACD;AAzEH;AAAA;AAAA,WA+ES,iBAAQ,KAAR,EAAkB,KAAlB,EAA+B;AAEpC,UAAI,KAAK,MAAT,EAAiB;AACf,eAAO,IAAI,KAAJ,CAAU,8BAAV,CAAP;AACD;;AAED,WAAK,OAAL,GAAe,KAAf;;AACA,UAAM,KAAK,GAAG,KAAK,QAAL,CAAc,KAAd,EAAqB,KAArB,CAAd;;AACA,UAAI,KAAJ,EAAW;AACT,eAAO,KAAP;AACD,OAFD,MAEO,IAAI,KAAK,OAAL,KAAiB,KAAjB,IAA0B,KAAK,EAAL,IAAW,IAAzC,EAA+C;AAcpD,aAAK,EAAL,GAAU,KAAK,cAAL,CAAoB,KAAK,SAAzB,EAAoC,KAAK,EAAzC,EAA6C,IAA7C,CAAV;AACD;AACF;AAzGH;AAAA;AAAA,WA2GY,kBAAS,KAAT,EAAmB,KAAnB,EAAgC;AACxC,UAAI,OAAO,GAAY,KAAvB;AACA,UAAI,UAAU,GAAQ,SAAtB;;AACA,UAAI;AACF,aAAK,IAAL,CAAU,KAAV;AACD,OAFD,CAEE,OAAO,CAAP,EAAU;AACV,eAAO,GAAG,IAAV;AACA,kBAAU,GAAG,CAAC,CAAC,CAAF,IAAO,CAAP,IAAY,IAAI,KAAJ,CAAU,CAAV,CAAzB;AACD;;AACD,UAAI,OAAJ,EAAa;AACX,aAAK,WAAL;AACA,eAAO,UAAP;AACD;AACF;AAxHH;AAAA;AAAA,WA2HE,wBAAY;AAEV,UAAM,EAAE,GAAG,KAAK,EAAhB;AACA,UAAM,SAAS,GAAG,KAAK,SAAvB;AACA,UAAM,OAAO,GAAG,SAAS,CAAC,OAA1B;AACA,UAAM,KAAK,GAAG,OAAO,CAAC,OAAR,CAAgB,IAAhB,CAAd;AAEA,WAAK,IAAL,GAAa,IAAb;AACA,WAAK,KAAL,GAAa,IAAb;AACA,WAAK,OAAL,GAAe,KAAf;AACA,WAAK,SAAL,GAAiB,IAAjB;;AAEA,UAAI,KAAK,KAAK,CAAC,CAAf,EAAkB;AAChB,eAAO,CAAC,MAAR,CAAe,KAAf,EAAsB,CAAtB;AACD;;AAED,UAAI,EAAE,IAAI,IAAV,EAAgB;AACd,aAAK,EAAL,GAAU,KAAK,cAAL,CAAoB,SAApB,EAA+B,EAA/B,EAAmC,IAAnC,CAAV;AACD;;AAED,WAAK,KAAL,GAAa,IAAb;AACD;AAhJH;;AAAA;AAAA,EAAoC,8CAApC,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;AA+HA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAa,iBAAiB,GAC1B,IAAI,4DAAJ,CAAwD,iBAAxD,CADJ;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAKa,uBAAuB,GAAQ;AAC1C,SAAO,EAAE,iBADiC;AAE1C,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,4BAAN;AAAA,GAAD,CAFmB;AAG1C,OAAK,EAAE;AAHmC,CAL5C;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAOa,4B;AAaX,wCAAoB,SAApB,EAAkD,WAAlD,EAAyE;AAAA;;AAArD;AAA8B;AAAwB;AAG3E;AAG2B;AACf;;AAfX,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;AACF;AAEK;AACM;AAEA;;;AAAT,qBAAY,aAAQ,CAApB;AAE6E;AAC/E;AAEC;AACE;AACE;;;;;WACH,oBAAW,KAAX,EAAqB;AACnB,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,SAA3D,EAAsE,KAAtE;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,EAAjB,EAAmC;AACjC,WAAK,QAAL,GAAgB,EAAhB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,2BAAkB,EAAlB,EAA8B;AAC5B,WAAK,SAAL,GAAiB,EAAjB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,UAAjB,EAAoC;AAClC,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,UAA3D,EAAuE,UAAvE;AACD;;;;;;6CAnDF,oC,CAAU,C,EAAA;AAAA,SACT,MAAQ,IACJ,4BADJ,EACI,wHADJ,EACI,yHADJ,CADS;AAGT,C;;AAAI,4BAAe,KAAf,GAAe,gEAA6C;AAAA;AAChE,WAAY,qBAAuB,UAAvB,EAAwB,iBAAxB,EACb,EADa,GACb,gDADa,EACb,4CADa,CADoD;AAEjE;AAAA;;;;;;;GAFiE;+EAG7D,uB;AAH6D,CAA7C,CAAf;;AAGA;AAAA,UAAsD;AAAA,UAvCjB,uDAAS;AAuCQ,GAAtD,EAvCkD;AAAA,UAArC,wDAAU;AAA2B,GAuClD;AAAA;;;;;;;;;;;;;;;;;;;;;;AAvC4B,C;ACRlC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAMa,sBAAsB,GAAQ;AACzC,SAAO,EAAE,iBADgC;AAEzC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,oBAAN;AAAA,GAAD,CAFkB;AAGzC,OAAK,EAAE;AAHkC,CAN3C;AAYA;AACA;AACA;AACA;;AACA,SAAS,UAAT,GAAmB;AACjB,MAAM,SAAS,GAAG4mI,+DAAM,KAAKA,+DAAM,GAAG,YAATA,EAAL,GAA+B,EAAvD;AACA,SAAO,gBAAgB,IAAhB,CAAqB,SAAS,CAAC,WAAV,EAArB,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAa,uBAAuB,GAAG,IAAI,4DAAJ,CAA4B,sBAA5B,CAAvC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAea,oB;AAgBX,gCACY,SADZ,EAC0C,WAD1C,EAEyD,gBAFzD,EAEkF;AAAA;;AADtE;AAA8B;AACe;AAA0B;AAC5E;AAMH;AAAkB;;AApBtB,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;AACF;AAEK;AACM;AAEA;;;AAAT,qBAAY,aAAQ,CAApB;AACF;;;AAEU,sBAAa,KAAb;;AAKN,QAAI,KAAK,gBAAL,IAAyB,IAA7B,EAAmC;AACjC,WAAK,gBAAL,GAAwB,CAAC,UAAU,EAAnC;AACD;AACF;AACH;AAEC;AACE;AACE;;;;;WACH,oBAAW,KAAX,EAAqB;AACnB,UAAM,eAAe,GAAG,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqB,KAA7C;;AACA,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,OAA3D,EAAoE,eAApE;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,EAAjB,EAAqC;AACnC,WAAK,QAAL,GAAgB,EAAhB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,2BAAkB,EAAlB,EAAgC;AAC9B,WAAK,SAAL,GAAiB,EAAjB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,UAAjB,EAAoC;AAClC,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,UAA3D,EAAuE,UAAvE;AACD;AACH;;;;WAEE,sBAAa,KAAb,EAAuB;AACrB,UAAI,CAAC,KAAK,gBAAN,IAA2B,KAAK,gBAAL,IAAyB,CAAC,KAAK,UAA9D,EAA2E;AACzE,aAAK,QAAL,CAAc,KAAd;AACD;AACF;AACH;;;;WAEE,6BAAiB;AACf,WAAK,UAAL,GAAkB,IAAlB;AACD;AACH;;;;WAEE,yBAAgB,KAAhB,EAA0B;AACxB,WAAK,UAAL,GAAkB,KAAlB;AACA,WAAK,gBAAL,IAAyB,KAAK,QAAL,CAAc,KAAd,CAAzB;AACD;;;;;;qCAvFF,4B,CAAU,C,EAAA;AAAA,eACT,wBADS,EAEL,wHAFK,EAEL,yHAFK,EAEL,2FAFK;AAEL,C;;4FAA8M;AAAA;AAAA,8NAIlN,MAJkN,EAI5M,UAJ4M,GAI5M,aACJ,SADI,EACO,EADP,CAJ4M,EAKrM,4BALqM;AAKrM,cAA8C,6CAClC,EADkC,EAClC,GADkC,EAClC;AAAA,QACvB,MADuB,EACvB;AAAoB,+DAAE,OAAF,EAAE,SAAgC,6CAAhC,CACF,MADE,EACF;AAAA,8CAAiD,KAAjD;AAAiD,OADjD,EACiD,MADjD,EAErB,wDACkC;AAAA,eACpC,eADoC;AACpC,OAJuB,EAIvB,kBAJuB,EAIvB;AAAA;AAAA,OAJuB,EAIvB,gBAJuB,EAIvB;AAAA;AAAA,OAJuB;;GAP4L;+EAY/M,sB;AAZ+M,C;;AAY9M;AAAA,UAA8C;AAAA,UA9EyB,uDAAS;AA8ElC,GAA9C,EA9EoF;AAAA,UAAvE,wDAAU;AAA6D,GA8EpF,EA9E2B;AAAA;AAAA;AAAA,YAgG1B,sDAAQ;AAhGkB,OAgGlB;AAAA,YAAI,oDAAJ;AAAU,aAAC,uBAAD;AAAV,KAhGkB;AAAA,GA8E3B;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBqD,C;ACzG3D;AACA;AACA;AACA;AACA;AACA;AACA;;;AASA,SAAS,iBAAT,CAA2B,KAA3B,EAAqC;AAAI;AAEvC,SAAO,KAAK,IAAI,IAAT,IAAiB,KAAK,CAAC,MAAN,KAAiB,CAAzC;AACD;;AAED,SAAS,cAAT,CAAwB,KAAxB,EAAkC;AAAI;AAEpC,SAAO,KAAK,IAAI,IAAT,IAAiB,OAAO,KAAK,CAAC,MAAb,KAAwB,QAAhD;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAa,aAAa,GAAG,IAAI,4DAAJ,CAA8C,cAA9C,CAA7B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAa,mBAAmB,GAC5B,IAAI,4DAAJ,CAA8C,mBAA9C,CADJ;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAM,YAAY,GACd,oMADJ;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACa,U;;;;;;;;AACb;AACE;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEH;AAAO;AACE;AAEH;AAAO;AAGZ;AAAW;AAAO;AACE;AAEH;AAAO;AAGT;AAAO;AAAhC,iBAAW,IAAX,EAAsB;AACpB,aAAO,UAAC,OAAD,EAAyB;AAC9B,YAAI,iBAAiB,CAAC,OAAO,CAAC,KAAT,CAAjB,IAAoC,iBAAiB,CAAC,IAAD,CAAzD,EAAgE;AAC9D,iBAAO,IAAP,CAD8D,CAClD;AACb;;AACD,YAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,KAAT,CAAxB,CAJ8B,CAKpC;AACM;;AACA,eAAO,CAAC,KAAK,CAAC,KAAD,CAAN,IAAiB,KAAK,GAAG,IAAzB,GAA+B;AAAC,iBAAO;AAAC,mBAAO,IAAR;AAAa,sBAAU,OAAO,CAAC;AAA/B;AAAR,SAA/B,GAAgF,IAAvF;AACD,OARD;AASD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEH;AAAO;AACE;AAEH;AAAO;AAGZ;AAAW;AAAO;AACE;AAEH;AAAO;AAGT;AAAO;;;;WAA/B,aAAW,IAAX,EAAsB;AACpB,aAAO,UAAC,OAAD,EAAyB;AAC9B,YAAI,iBAAiB,CAAC,OAAO,CAAC,KAAT,CAAjB,IAAoC,iBAAiB,CAAC,IAAD,CAAzD,EAAgE;AAC9D,iBAAO,IAAP,CAD8D,CAClD;AACb;;AACD,YAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,KAAT,CAAxB,CAJ8B,CAKpC;AACM;;AACA,eAAO,CAAC,KAAK,CAAC,KAAD,CAAN,IAAiB,KAAK,GAAG,IAAzB,GAA+B;AAAC,iBAAO;AAAC,mBAAO,IAAR;AAAa,sBAAU,OAAO,CAAC;AAA/B;AAAR,SAA/B,GAAgF,IAAvF;AACD,OARD;AASD;AACH;AAEC;AACE;AAEH;AAAO;AAEH;AAAO;AAEH;AAAO;AACE;AAEH;AAAO;AAGZ;AAAW;AAAO;AACE;AAEH;AAAO;AAGT;AAAO;;;;WAA7B,kBAAgB,OAAhB,EAAwC;AACtC,aAAO,iBAAiB,CAAC,OAAO,CAAC,KAAT,CAAjB,GAAmC;AAAC,oBAAY;AAAb,OAAnC,GAAwD,IAA/D;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEH;AAAO;AACE;AAEH;AAAO;AAGZ;AAAW;AAAO;AACE;AAEH;AAAO;AAGT;AAAO;;;;WAA/B,sBAAoB,OAApB,EAA4C;AAC1C,aAAO,OAAO,CAAC,KAAR,KAAkB,IAAlB,GAAyB,IAAzB,GAAgC;AAAC,oBAAY;AAAb,OAAvC;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AACE;AACE;AACE;AACE;AAEH;AAAO;AACE;AACE;AACE;AAEH;AAAO;AACE;AAIzB;AAAO;AAAmB;AAAO;AAGtB;AAAO;AAAqB;AAEH;AAC5C;AAEuC;AAAW;AAC9C;AAEJ;AAGQ;AAAO;AAAuC;AAAO;;;;WAA7D,eAAa,OAAb,EAAqC;AACnC,UAAI,iBAAiB,CAAC,OAAO,CAAC,KAAT,CAArB,EAAsC;AACpC,eAAO,IAAP,CADoC,CACxB;AACb;;AACD,aAAO,YAAY,CAAC,IAAb,CAAkB,OAAO,CAAC,KAA1B,IAAmC,IAAnC,GAA0C;AAAC,iBAAS;AAAV,OAAjD;AACD;AACH;AAEC;AACE;AACE;AACE;AACE;AACE;AACE;AACE;AAEH;AACV;AACc;AAAO;AAGtB;AAAO;AAAqB;AAEH;AAAO;AAIzB;AAAW;AAAO;AAG1B;AAA6B;AAAW;AAAO;AACE;AAI7C;AACC;AAAuC;AAAO;;;;WAAjD,mBAAiB,UAAjB,EAAkC;AAChC,aAAO,UAAC,OAAD,EAAyB;AAC9B,YAAI,iBAAiB,CAAC,OAAO,CAAC,KAAT,CAAjB,IAAoC,CAAC,cAAc,CAAC,OAAO,CAAC,KAAT,CAAvD,EAAwE;AAC9E;AACQ;AACA,iBAAO,IAAP;AACD;;AAED,eAAO,OAAO,CAAC,KAAR,CAAc,MAAd,GAAuB,UAAvB,GACH;AAAC,uBAAa;AAAC,8BAAkB,UAAnB;AAA8B,4BAAgB,OAAO,CAAC,KAAR,CAAc;AAA5D;AAAd,SADG,GAEH,IAFJ;AAGD,OAVD;AAWD;AACH;AAEC;AACE;AACE;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEH;AACZ;AAAqB;AAEH;AAAO;AAIzB;AAAW;AAAO;AACZ;AAEe;AAAW;AAAO;AACE;AAGxC;AACE;AACiC;AAAO;;;;WAA3C,mBAAiB,UAAjB,EAAkC;AAChC,aAAO,UAAC,OAAD,EAAyB;AAC9B,eAAO,cAAc,CAAC,OAAO,CAAC,KAAT,CAAd,IAAiC,OAAO,CAAC,KAAR,CAAc,MAAd,GAAuB,UAAxD,GACH;AAAC,uBAAa;AAAC,8BAAkB,UAAnB;AAA8B,4BAAgB,OAAO,CAAC,KAAR,CAAc;AAA5D;AAAd,SADG,GAEH,IAFJ;AAGD,OAJD;AAKD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEH;AAAO;AACE;AAEH;AAAO;AAGZ;AACF;AAAO;AAAe;AAGZ;AAAW;AAAO;AAEH;AAAO;AACE;AACE;AACE;AACE;AACE;AACE;AAIzC;AAAqB;AAAO;AAChC;AAAuD;AAGhB;AAAO;AAAe;AAGZ;AAAW;AAAO;AACE;AACE;AAG/C;AACxB;AAAO;AAEN;AAG2B;AAAO;AACjB;AAAO;;;;WAD/B,iBAAe,QAAf,EAAqC;AACnC,UAAI,CAAC,QAAL,EAAc,OAAO,UAAU,CAAC,aAAlB;AACd,UAAI,KAAJ;AACA,UAAI,QAAJ;;AACA,UAAI,OAAO,QAAP,KAAmB,QAAvB,EAAiC;AAC/B,gBAAQ,GAAG,EAAX;AAEA,YAAI,QAAO,CAAC,MAAR,CAAe,CAAf,MAAsB,GAA1B,EAA+B,QAAQ,IAAI,GAAZ;AAE/B,gBAAQ,IAAI,QAAZ;AAEA,YAAI,QAAO,CAAC,MAAR,CAAe,QAAO,CAAC,MAAR,GAAiB,CAAhC,MAAuC,GAA3C,EAAgD,QAAQ,IAAI,GAAZ;AAEhD,aAAK,GAAG,IAAI,MAAJ,CAAW,QAAX,CAAR;AACD,OAVD,MAUO;AACL,gBAAQ,GAAG,QAAO,CAAC,QAAR,EAAX;AACA,aAAK,GAAG,QAAR;AACD;;AACD,aAAO,UAAC,OAAD,EAAyB;AAC9B,YAAI,iBAAiB,CAAC,OAAO,CAAC,KAAT,CAArB,EAAsC;AACpC,iBAAO,IAAP,CADoC,CACxB;AACb;;AACD,YAAM,KAAK,GAAW,OAAO,CAAC,KAA9B;AACA,eAAO,KAAK,CAAC,IAAN,CAAW,KAAX,IAAoB,IAApB,GACoB;AAAC,qBAAW;AAAC,+BAAmB,QAApB;AAA8B,2BAAe;AAA7C;AAAZ,SAD3B;AAED,OAPD;AAQD;AACH;AAEC;AACE;AAEH;AAAO;AAEH;AACC;;;;WAAH,uBAAqB,OAArB,EAA6C;AAC3C,aAAO,IAAP;AACD;;;WAeD,iBAAe,UAAf,EAA8D;AAC5D,UAAI,CAAC,UAAL,EAAiB,OAAO,IAAP;AACjB,UAAM,iBAAiB,GAAkB,UAAU,CAAC,MAAX,CAAkB,SAAlB,CAAzC;AACA,UAAI,iBAAiB,CAAC,MAAlB,IAA4B,CAAhC,EAAmC,OAAO,IAAP;AAEnC,aAAO,UAAS,OAAT,EAAiC;AACtC,eAAO,WAAW,CAAC,iBAAiB,CAAc,OAAd,EAAuB,iBAAvB,CAAlB,CAAlB;AACD,OAFD;AAGD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AACE;AAEH;AAAO;AAGT;AAAO;;;;WAAX,sBAAoB,UAApB,EAAyD;AACvD,UAAI,CAAC,UAAL,EAAiB,OAAO,IAAP;AACjB,UAAM,iBAAiB,GAAuB,UAAU,CAAC,MAAX,CAAkB,SAAlB,CAA9C;AACA,UAAI,iBAAiB,CAAC,MAAlB,IAA4B,CAAhC,EAAmC,OAAO,IAAP;AAEnC,aAAO,UAAS,OAAT,EAAiC;AACtC,YAAM,WAAW,GACb,iBAAiB,CAAmB,OAAnB,EAA4B,iBAA5B,CAAjB,CAAgE,GAAhE,CAAoE,YAApE,CADJ;AAEA,eAAO,qDAAQ,CAAC,WAAD,CAAR,CAAsB,IAAtB,CAA2B,2DAAG,CAAC,WAAD,CAA9B,CAAP;AACD,OAJD;AAKD;;;;;;AAGH,SAAS,SAAT,CAAmB,CAAnB,EAAyB;AACvB,SAAO,CAAC,IAAI,IAAZ;AACD;;AACD,SACgB,YADhB,CAC6B,CAD7B,EACmC;AACjC,MAAM,GAAG,GAAGxpI,gEAAS,CAAC,CAAD,CAATA,GAAe,iDAAI,CAAC,CAAD,CAAnBA,GAAyB,CAArC;;AACA,MAAI,CAAEypI,mEAAY,CAAC,GAAD,CAAd,KAAyB,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAA7D,CAAJ,EAA6E;AAC3E,UAAM,IAAI,KAAJ,uDAAN;AACD;;AACD,SAAO,GAAP;AACD;;AAED,SAAS,WAAT,CAAqB,aAArB,EAA6D;AAC3D,MAAI,GAAG,GAAyB,EAAhC,CAD2D,CAE7D;AAEC;;AACC,eAAa,CAAC,OAAd,CAAsB,UAAC,MAAD,EAA8B;AAClD,OAAG,GAAG,MAAM,IAAI,IAAV,GAAc,gCAAO,GAAP,GAAgB,MAAhB,CAAd,GAAwC,GAA9C;AACD,GAFD;AAIA,SAAO,MAAM,CAAC,IAAP,CAAY,GAAZ,EAAiB,MAAjB,KAA4B,CAA5B,GAAgC,IAAhC,GAAuC,GAA9C;AACD;;AAID,SAAS,iBAAT,CACI,OADJ,EAC8B,UAD9B,EAC6C;AAC3C,SAAO,UAAU,CAAC,GAAX,CAAe,mBAAS;AAAA,WAAI,SAAS,CAAC,OAAD,CAAb;AAAA,GAAxB,CAAP;AACD;;AAED,SAAS,aAAT,CAA0B,SAA1B,EAA+D;AAC7D,SAAO,CAAE,SAAuB,CAAC,QAAjC;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,mBAAhB,CAAuC,UAAvC,EAAiF;AAC/E,SAAO,UAAU,CAAC,GAAX,CAAe,mBAAS;AAC7B,WAAO,aAAa,CAAI,SAAJ,CAAb,GACH,SADG,GAEF,UAAC,CAAD;AAAA,aAAwB,SAAS,CAAC,QAAV,CAAmB,CAAnB,CAAxB;AAAA,KAFL;AAGD,GAJM,CAAP;AAKD;AAED;AACA;AACA;AACA;;;AACA,SAAgB,iBAAhB,CAAkC,UAAlC,EAA0E;AACxE,SAAO,UAAU,IAAI,IAAd,GAAqB,UAAU,CAAC,OAAX,CAAmB,mBAAmB,CAAc,UAAd,CAAtC,CAArB,GACqB,IAD5B;AAED;AAED;AACA;AACA;AACA;;;AACA,SAAgB,sBAAhB,CAAuC,UAAvC,EAAyF;AAEvF,SAAO,UAAU,IAAI,IAAd,GACH,UAAU,CAAC,YAAX,CAAwB,mBAAmB,CAAmB,UAAnB,CAA3C,CADG,GAEH,IAFJ;AAGD;AAED;AACA;AACA;AACA;;;AACA,SAAgB,eAAhB,CAAmC,iBAAnC,EAAkE,YAAlE,EAAiF;AAC/E,MAAI,iBAAiB,KAAK,IAA1B,EAAgC,OAAO,CAAC,YAAD,CAAP;AAChC,SAAO,KAAK,CAAC,OAAN,CAAc,iBAAd,gKAAuC,iBAAvC,IAA0D,YAA1D,KACmC,CAAC,iBAAD,EAAoB,YAApB,CAD1C;AAED;AAED;AACA;AACA;;;AACA,SAAgB,oBAAhB,CAAqC,OAArC,EAA6D;AAC3D,SAAQ,OAAe,CAAC,cAAxB;AACD;AAED;AACA;AACA;;;AACA,SAAgB,yBAAhB,CAA0C,OAA1C,EAAkE;AAEhE,SAAQ,OAAe,CAAC,mBAAxB;AACF;AClkBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACsB,wB;AAAtB;AAAA;;AAAgB;AAAY;AAKnB;AAAqB;AA8J5B,0BAA+C,EAA/C;AACF;AAEK;AACM;AAET;AACe;;AAAf,+BAA8D,EAA9D;AACF;AAEI;AAGgB;;AAmCV,+BAAsC,EAAtC;AA6FT;AACD;AAAQ;AAAoB;AAA0E;;;;;SApSpG,eAAS;AACP,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,KAA5B,GAAoC,IAA3C;AACD;AACH;AAEC;AACE;AACE;AACE;AAEJ;;;;SAAD,eAAS;AACP,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,KAA5B,GAAoC,IAA3C;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAW;AACT,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,OAA5B,GAAsC,IAA7C;AACD;AACH;AAEC;AACE;AACE;AACE;AAEJ;;;;SAAD,eAAW;AACT,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,OAA5B,GAAsC,IAA7C;AACD;AACH;AAEC;AACE;AACE;AACE;AAEJ;;;;SAAD,eAAY;AACV,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,QAA5B,GAAuC,IAA9C;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAW;AACT,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,OAA5B,GAAsC,IAA7C;AACD;AACH;AAEC;AACE;AACE;;;;SACH,eAAU;AACR,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,MAA5B,GAAqC,IAA5C;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAY;AACV,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,QAA5B,GAAuC,IAA9C;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAS;AACP,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,KAA5B,GAAoC,IAA3C;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAW;AACT,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,OAA5B,GAAsC,IAA7C;AACD;AACH;AAEC;AACE;AACE;AACE;AAEJ;;;;SAAD,eAAU;AACR,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,MAA5B,GAAqC,IAA5C;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAa;AACX,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,SAA5B,GAAwC,IAA/C;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAiB;AACf,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,aAA5B,GAA4C,IAAnD;AACD;AACH;AAEC;AACE;AACE;AACE;AAEJ;;;;SAAD,eAAgB;AACd,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,YAA5B,GAA2C,IAAlD;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAQ;AACN,aAAO,IAAP;AACD;AACH;AAEC;AAAuD;AAAiB;;;;WA4BvE,wBAAe,UAAf,EAAiE;AAC/D,WAAK,cAAL,GAAsB,UAAU,IAAI,EAApC;AACA,WAAK,oBAAL,GAA4B,iBAAiB,CAAC,KAAK,cAAN,CAA7C;AACD;AACH;AAEC;AACE;AACE;;;;WACH,6BAAoB,UAApB,EAAgF;AAC9E,WAAK,mBAAL,GAA2B,UAAU,IAAI,EAAzC;AACA,WAAK,yBAAL,GAAiC,sBAAsB,CAAC,KAAK,mBAAN,CAAvD;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAa;AACX,aAAO,KAAK,oBAAL,IAA6B,IAApC;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAkB;AAChB,aAAO,KAAK,yBAAL,IAAkC,IAAzC;AACD;AACH;AAEE;AAAsE;AAEvC;AAAiB;;;;WAOhD,4BAAmB,EAAnB,EAAiC;AAC/B,WAAK,mBAAL,CAAyB,IAAzB,CAA8B,EAA9B;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,qCAAyB;AACvB,WAAK,mBAAL,CAAyB,OAAzB,CAAiC,YAAE;AAAA,eAAI,EAAE,EAAN;AAAA,OAAnC;;AACA,WAAK,mBAAL,GAA2B,EAA3B;AACD;AACH;AAEC;AACE;AACE;;;;WACH,iBAA4B;AAAA,UAAtB,KAAsB,uEAAT,SAAS;AAC1B,UAAI,KAAK,OAAT,EAAkB,KAAK,OAAL,CAAa,KAAb,CAAmB,KAAnB;AACnB;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AACE;AAGZ;AAAO;AAAW;AACE;AAIrB;AAAW;AAAW;AAAO;AAEH;AAAO;AAEH;AAAO;AACE;AAEH;AAAO;AAEH;AAAO;AAEH;AAChD;AACmD;;;;WAAjD,kBAAS,SAAT,EAA4B,IAA5B,EAA8D;AAC5D,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,QAAb,CAAsB,SAAtB,EAAiC,IAAjC,CAAf,GAAwD,KAA/D;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AACE;AAGZ;AAAO;AAAW;AACE;AAIrB;AAAW;AAAW;AAAO;AAEH;AAAO;AAEH;AAAO;AACE;AAEH;AAAO;AAG3B;AAAyB;;;;WAA3C,kBAAS,SAAT,EAA4B,IAA5B,EAA8D;AAC5D,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,QAAb,CAAsB,SAAtB,EAAiC,IAAjC,CAAf,GAAwD,IAA/D;AACD;;;;;;;;;;;;;ACvUH;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;IACsB,gB;;;;;;;;;;;;;;AACtB;AACE;AACE;AAEiB;AAOnB,mBAAiB;AACf,aAAO,IAAP;AACD;AACH;AAEC;AACE;AACE;;;;SACH,eAAQ;AACN,aAAO,IAAP;AACD;;;;EAtB4C,wB;;;;;;;;;;qHAuB9C,gB;AC1CD;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;IACsB,S;;;;;AAAtB;AAAA;;AAAA;;AAAgB;AAA6B;AAAY;AAEjD;AAC0B;AAEhC;AAEA;;AAAA,oBAAiC,IAAjC;AACF;AAEK;AACM;AAEA;;AAAT,iBAA2B,IAA3B;AACF;AAEK;AACM;AAEA;;AAAT,0BAA2C,IAA3C;AAnBF;AA4BC;;;EA5BuC,wB;ACpBxC;AACA;AACA;AACA;AACA;AACA;AACA;;;IAQa,qB;AAGX,iCAAY,EAAZ,EAAwC;AAAA;;AACtC,SAAK,GAAL,GAAW,EAAX;AACD;;;;SAED,eAAoB;AAClB,aAAO,KAAK,GAAL,CAAS,OAAT,GAAmB,KAAK,GAAL,CAAS,OAAT,CAAiB,SAApC,GAAgD,KAAvD;AACD;;;SACD,eAAkB;AAChB,aAAO,KAAK,GAAL,CAAS,OAAT,GAAmB,KAAK,GAAL,CAAS,OAAT,CAAiB,OAApC,GAA8C,KAArD;AACD;;;SACD,eAAmB;AACjB,aAAO,KAAK,GAAL,CAAS,OAAT,GAAmB,KAAK,GAAL,CAAS,OAAT,CAAiB,QAApC,GAA+C,KAAtD;AACD;;;SACD,eAAgB;AACd,aAAO,KAAK,GAAL,CAAS,OAAT,GAAmB,KAAK,GAAL,CAAS,OAAT,CAAiB,KAApC,GAA4C,KAAnD;AACD;;;SACD,eAAgB;AACd,aAAO,KAAK,GAAL,CAAS,OAAT,GAAmB,KAAK,GAAL,CAAS,OAAT,CAAiB,KAApC,GAA4C,KAAnD;AACD;;;SACD,eAAkB;AAChB,aAAO,KAAK,GAAL,CAAS,OAAT,GAAmB,KAAK,GAAL,CAAS,OAAT,CAAiB,OAApC,GAA8C,KAArD;AACD;;;SACD,eAAkB;AAChB,aAAO,KAAK,GAAL,CAAS,OAAT,GAAmB,KAAK,GAAL,CAAS,OAAT,CAAiB,OAApC,GAA8C,KAArD;AACD;;;;;;AAEH,IACa,mBAAmB,GAAG;AACjC,0BAAwB,kBADS;AAEjC,wBAAsB,gBAFW;AAGjC,yBAAuB,iBAHU;AAIjC,sBAAoB,cAJa;AAKjC,sBAAoB,cALa;AAMjC,wBAAsB,gBANW;AAOjC,wBAAsB;AAPW,CADnC;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEa,e;;;;;AACX,2BAAoB,EAApB,EAAiC;AAAA;;AAAA,8BACzB,EADyB;AAEhC;;;EAHkC,qB;;gCADpC,uB,CAAS,C,EAAA;AAAC,SAAC,KAAU,oBAAV,EAAU,gEAA6C,SAA7C,EAAmD,CAAnD,CAAV,CAAD;AAA8D,C;;AAAmB,eAAC,KAAD,GAAC;AAAA;AAAA;AAAA;AAAA;AAAA;;;GAAA;;AAAA,EAAD;;AACtF;AAAA,UAAyC;AAAA,UAlEvC,SAkEuC;AAlE9B;AAAA,YAmEF,kDAAI;AAnEF;AAkE8B,GAAzC;AAAA;;;;;;;;;;;;;;;;;;;AACqB,C;AAK3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAMa,oB;;;;;AACX,gCAAoB,EAApB,EAAwC;AAAA;;AAAA,8BAChC,EADgC;AAEvC;;;EAHuC,qB;;qCALzC,4B,CAAU,C,EAAA;AAAA,eACT,wBADS,EAEL,oFAFK;AAEL,C;;qBAA0F,I,GAAA,gEACxF;AAAA;AACP,qKADO;AACP,cADO;AACP;AAAA;;;GADO;;AAAA,CADwF,C;;AAG1F;AAAA,UAA8C;AAAA,UAzF5C,gBAyF4C;AAzF5B;AAAA,YA0FT,kDAAI;AA1FK;AAyF4B,GAA9C;AAAA;;;;;;;;;;;;;;;;;;;AACqB,C;ACrG3B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAKa,qBAAqB,GAAQ;AACxC,SAAO,EAAE,iBAD+B;AAExC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,mBAAN;AAAA,GAAD,CAFiB;AAGxC,OAAK,EAAE;AAHiC,CAL1C;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAOa,mB;AAcX,+BAAoB,SAApB,EAAkD,WAAlD,EAAyE;AAAA;;AAArD;AAA8B;AAAwB;AAG3E;AAG6B;AAChB;AAAkB;;AAf9B,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;AACF;AAEK;AACM;AAEA;;;AAAT,qBAAY,aAAQ,CAApB;AAE6E;AAC/E;AAEC;AACE;AACE;;;;;WACH,oBAAW,KAAX,EAAwB;AAAI;AAE1B,UAAM,eAAe,GAAG,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqB,KAA7C;;AACA,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,OAA3D,EAAoE,eAApE;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,EAAjB,EAA6C;AAC3C,WAAK,QAAL,GAAgB,UAAC,KAAD,EAAM;AACpB,UAAE,CAAC,KAAK,IAAI,EAAT,GAAc,IAAd,GAAqB,UAAU,CAAC,KAAD,CAAhC,CAAF;AACD,OAFD;AAGD;AACH;AAEC;AACE;AACE;;;;WACH,2BAAkB,EAAlB,EAAgC;AAC9B,WAAK,SAAL,GAAiB,EAAjB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,UAAjB,EAAoC;AAClC,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,UAA3D,EAAuE,UAAvE;AACD;;;;;;oCAxDF,2B,CAAS,C,EAAC;AAAA,mBACT,mBADS,EAEL,wHAFK,EAEL,yHAFK;AAE4F,C;;AACrG,mBAAO,KAAP,GAAkB;AAAA,MAA+B,EAAE,mBAAjC;AAA2C,WAAc,aAC3E,MAD2E,EAC3E,QAD2E,EAC/D,iBAD+D,EACzC,EADyC,GACzC,UACnC,MADmC,EACnC,QADmC,EACnC,aADmC,EACnC,EADmC,CADyC,EAE5E,0CAF4E,CAAzD;AAEnB;AAAA;;;;;;;GAFmB;+EAGf,qB;AAHe,EAAlB;;AAGI;AAAA,UAA6C;AAAA,UAxCR,uDAAS;AAwCD,GAA7C,EAxCkD;AAAA,UAArC,wDAAU;AAA2B,GAwClD;AAAA;;;;;;;;;;;;;;;;;;;;;;AAxC4B,C;ACRlC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAMa,oBAAoB,GAAQ;AACvC,SAAO,EAAE,iBAD8B;AAEvC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,yBAAN;AAAA,GAAD,CAFgB;AAGvC,OAAK,EAAE;AAHgC,CANzC;;AAYA,SAAS,cAAT,GAAuB;AACrB,QAAM,IAAI,KAAJ,mMAAN;AAID;AAED;AACA;AACA;AACA;;;IAEa,oB;AADb;AAAA;;AAEU,sBAAoB,EAApB;AA0CT;AACD;AAEG;AACI;AAAuE;;;;;WAxC5E,aAAI,OAAJ,EAAwB,QAAxB,EAA2D;AACzD,WAAK,UAAL,CAAgB,IAAhB,CAAqB,CAAC,OAAD,EAAU,QAAV,CAArB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,gBAAO,QAAP,EAA0C;AACxC,WAAK,IAAI,CAAC,GAAG,KAAK,UAAL,CAAgB,MAAhB,GAAyB,CAAtC,EAAyC,CAAC,IAAI,CAA9C,EAAiD,EAAE,CAAnD,EAAsD;AACpD,YAAI,KAAK,UAAL,CAAgB,CAAhB,EAAmB,CAAnB,MAA0B,QAA9B,EAAwC;AACtC,eAAK,UAAL,CAAgB,MAAhB,CAAuB,CAAvB,EAA0B,CAA1B;;AACA;AACD;AACF;AACF;AACH;AAEC;AACE;AACE;;;;WACH,gBAAO,QAAP,EAA0C;AAAA;;AACxC,WAAK,UAAL,CAAgB,OAAhB,CAAwB,UAAC,CAAD,EAAE;AACxB,YAAI,MAAI,CAAC,YAAL,CAAkB,CAAlB,EAAqB,QAArB,KAAkC,CAAC,CAAC,CAAD,CAAD,KAAS,QAA/C,EAAyD;AACvD,WAAC,CAAC,CAAD,CAAD,CAAK,WAAL,CAAiB,QAAQ,CAAC,KAA1B;AACD;AACF,OAJD;AAKD;;;WAEO,sBACJ,WADI,EAEJ,QAFI,EAE+B;AACrC,UAAI,CAAC,WAAW,CAAC,CAAD,CAAX,CAAe,OAApB,EAA6B,OAAO,KAAP;AAC7B,aAAO,WAAW,CAAC,CAAD,CAAX,CAAe,OAAf,KAA2B,QAAQ,CAAC,QAAT,CAAkB,OAA7C,IACH,WAAW,CAAC,CAAD,CAAX,CAAe,IAAf,KAAwB,QAAQ,CAAC,IADrC;AAED;;;;;;qCA3CF,4B,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;;AACT,C;AA6CF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAOa,yB;AA4CX,qCACY,SADZ,EAC0C,WAD1C,EAEY,SAFZ,EAEqD,SAFrD,EAEwE;AAAA;;AAD5D;AAA8B;AAC9B;AAAyC;AAAoB;AAEpE;AAGY;AACL;;AArCZ,oBAAW,aAAQ,CAAnB;AACF;AAEK;AACM;AAEA;;;AAAT,qBAAY,aAAQ,CAApB;AAyB4E;AAC9E;;;;;WAEE,oBAAQ;AACN,WAAK,QAAL,GAAgB,KAAK,SAAL,CAAe,GAAf,CAAmB,SAAnB,CAAhB;;AACA,WAAK,UAAL;;AACA,WAAK,SAAL,CAAe,GAAf,CAAmB,KAAK,QAAxB,EAAkC,IAAlC;AACD;AACH;;;;WAEE,uBAAW;AACT,WAAK,SAAL,CAAe,MAAf,CAAsB,IAAtB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,oBAAW,KAAX,EAAqB;AACnB,WAAK,MAAL,GAAc,KAAK,KAAK,KAAK,KAA7B;;AACA,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,SAA3D,EAAsE,KAAK,MAA3E;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,EAAjB,EAAmC;AAAA;;AACjC,WAAK,GAAL,GAAW,EAAX;;AACA,WAAK,QAAL,GAAgB;AACd,UAAE,CAAC,MAAI,CAAC,KAAN,CAAF;;AACA,cAAI,CAAC,SAAL,CAAe,MAAf,CAAsB,MAAtB;AACD,OAHD;AAID;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,qBAAY,KAAZ,EAAsB;AACpB,WAAK,UAAL,CAAgB,KAAhB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,2BAAkB,EAAlB,EAA8B;AAC5B,WAAK,SAAL,GAAiB,EAAjB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,UAAjB,EAAoC;AAClC,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,UAA3D,EAAuE,UAAvE;AACD;;;WAEO,sBAAU;AAChB,UAAI,KAAK,IAAL,IAAa,KAAK,eAAlB,IAAqC,KAAK,IAAL,KAAc,KAAK,eAAxD,KACC,OAAO,SAAP,KAAqB,WAArB,IAAoC,SADrC,CAAJ,EACqD;AACnD,sBAAc;AACf;;AACD,UAAI,CAAC,KAAK,IAAN,IAAc,KAAK,eAAvB,EAAwC,KAAK,IAAL,GAAY,KAAK,eAAjB;AACzC;;;;;;0CAtHF,iC,CAAU,C,EAAA;AAAA,cACT,KAAQ,yBADC,EAEL,wHAFK,EAEL,gEAA8F,wDAA9F,CAFK,EAGT,gEAAmB,oBAAnB,CAHS,EAGkC,gEAAc,sDAAd,CAHlC;AAIG,C;;AAAoB,yBAAC,CAClC,IADiC,GACjC;AAAA;AAAA;AAAA;AAAA;;;;;;;GAAA;;;;;GAAA;+EACI,oB;AADJ,EADiC;;AAE5B;AAAA,UAAmD;AAAA,UA9FkC,uDAAS;AA8F3C,GAAnD,EA9FkG;AAAA,UAArF,wDAAU;AAA2E,GA8FlG,EA9F2B;AAAA,UA4IR;AA5IQ,GA8F3B,EA8C2C;AAAA,UA5IM,sDAAQ;AA4Id,GA9C3C;AAAA;;AA9F+D;AAA6C;AAAA,UA0H/G,mDAAK;AA1H0G,IAA7C;AA0HxD;AAAA,UAQV,mDAAK;AARK,IA1HwD;AAkIxD;AAAA,UAMV,mDAAK;AANK;AAlIwD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwIvD,C;AChJd;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAKa,oBAAoB,GAAmB;AAClD,SAAO,EAAE,iBADyC;AAElD,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,kBAAN;AAAA,GAAD,CAF2B;AAGlD,OAAK,EAAE;AAH2C,CALpD;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAWa,kB;AAcX,8BAAoB,SAApB,EAAkD,WAAlD,EAAyE;AAAA;;AAArD;AAA8B;AAAwB;AAG3E;AAG6B;AACb;AAAkB;;AAfjC,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;AACF;AAEK;AACM;AAEA;;;AAAT,qBAAY,aAAQ,CAApB;AAE6E;AAC/E;AAEC;AACE;AACE;;;;;WACH,oBAAW,KAAX,EAAqB;AACnB,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,OAA3D,EAAoE,UAAU,CAAC,KAAD,CAA9E;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,EAAjB,EAA6C;AAC3C,WAAK,QAAL,GAAgB,UAAC,KAAD,EAAM;AACpB,UAAE,CAAC,KAAK,IAAI,EAAT,GAAc,IAAd,GAAqB,UAAU,CAAC,KAAD,CAAhC,CAAF;AACD,OAFD;AAGD;AACH;AAEC;AACE;AACE;;;;WACH,2BAAkB,EAAlB,EAAgC;AAC9B,WAAK,SAAL,GAAiB,EAAjB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,UAAjB,EAAoC;AAClC,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,UAA3D,EAAuE,UAAvE;AACD;;;;;;mCA1DF,0B,CAAS,C,EAAC;AAAA,mBACT,kBADS,EAEL,wHAFK,EAEL,yHAFK;AAEyF,C;;AAClG,kBAAM,KAAN,GAAM,gEACQ;AAAA;AAA+B,wBAC3C,MAD2C,EAClC,OADkC,EAChC,iBADgC,EAChC,EADgC,GACD,2BAC1C,aAD0C,EAChC,EADgC,CADC,EAEpB,kBACxB,OADwB,EACxB,SADwB,EAEzB,EAFyB,CAFoB,CAA/B;AAIL,cAAG,WAAqB,+BAArB,CACb,EADa,EACb,GADa,EACb;AAAA;;;;;;;;;GALe;+EAMX,oB;AANW,CADR,CAAN;;AAOI;AAAA,UAA4C;AAAA,UA5CP,uDAAS;AA4CF,GAA5C,EA5CkD;AAAA,UAArC,wDAAU;AAA2B,GA4ClD;AAAA;;;;;;;;;;;;;;;;;;;;;;;AA5C4B,C;ACRlC;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEO,IAAM,iBAAiB,GAAG;AAC/B,iBAAe,0MADgB;AAY/B,eAAa,+RAZkB;AAyB/B,eAAa,wYAzBkB;AAyC/B,cAAY,oJAzCmB;AAgD/B,sBAAoB;AAhDW,CAA1B;ACRP;AACA;AACA;AACA;AACA;AACA;AACA;;IAKa,c;;;;;;;WACX,kCAA6B;AAC3B,YAAM,IAAI,KAAJ,uOAMFC,iBAAQ,CAAC,eANP,EAAN;AAOD;;;WAED,iCAA4B;AAC1B,YAAM,IAAI,KAAJ,+RAMAA,iBAAQ,CAAC,aANT,gHAUAA,iBAAQ,CAAC,YAVT,EAAN;AAWD;;;WAED,gCAA2B;AACzB,YAAM,IAAI,KAAJ,oGAIDA,iBAAQ,CAAC,eAJR,EAAN;AAKD;;;WAED,gCAA2B;AACzB,YAAM,IAAI,KAAJ,oOAMFA,iBAAQ,CAAC,aANP,EAAN;AAOD;;;WAED,gCAA2B;AACzB,YAAM,IAAI,KAAJ,yOAMAA,iBAAQ,CAAC,aANT,EAAN;AAOD;;;WAED,+BAA0B;AACxB,aAAO,CAAC,IAAR;AAWD;;;WAED,wBAAsB,aAAtB,EAA2C;AACzC,aAAO,CAAC,IAAR,8EAC+D,aAD/D,qTAQI,aAAa,KAAK,aAAlB,GAAkC,sBAAlC,GACkC,iBATtC;AAWD;;;;;AC1FH;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAKa,qBAAqB,GAAmB;AACnD,SAAO,EAAE,iBAD0C;AAEnD,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,0BAAN;AAAA,GAAD,CAF4B;AAGnD,OAAK,EAAE;AAH4C,CALrD;;AAWA,SAAS,iBAAT,CAA2B,EAA3B,EAA4C,KAA5C,EAAsD;AACpD,MAAI,EAAE,IAAI,IAAV,EAAgB,iBAAU,KAAV;AAChB,MAAI,KAAK,IAAI,OAAO,KAAP,KAAiB,QAA9B,EAAwC,KAAK,GAAG,QAAR;AACxC,SAAO,UAAG,EAAH,eAAU,KAAV,EAAkB,KAAlB,CAAwB,CAAxB,EAA2B,EAA3B,CAAP;AACD;;AAED,SAAS,UAAT,CAAoB,WAApB,EAAuC;AACrC,SAAO,WAAW,CAAC,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAOa,0B;AAqCX,sCAAoB,SAApB,EAAkD,WAAlD,EAAyE;AAAA;;AAArD;AAA8B;AAAwB;;AAhC1E,sBAA+B,IAAI,GAAJ,EAA/B;AACF;;AAEE,sBAAqB,CAArB;AACF;AAEK;AACM;AAEA;;AAAT,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;AACF;AAEK;AACM;AAEA;;;AAAT,qBAAY,aAAQ,CAApB;;AAeQ,wBAA8C,MAAM,CAAC,EAArD;AAEqE;AAC/E;AAEC;AAAoB;AACE;AAA6B;;;;;SAdlD,aACgB,EADhB,EACiD;AAC/C,UAAI,OAAO,EAAP,KAAc,UAAd,KAA6B,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAjE,CAAJ,EAAiF;AAC/E,cAAM,IAAI,KAAJ,wDAA0D,IAAI,CAAC,SAAL,CAAe,EAAf,CAA1D,EAAN;AACD;;AACD,WAAK,YAAL,GAAoB,EAApB;AACD;AACH;AACO;AAEO;AAET;AACQ;;;;WAIX,oBAAW,KAAX,EAAqB;AACnB,WAAK,KAAL,GAAa,KAAb;;AACA,UAAM,EAAE,GAAgB,KAAK,YAAL,CAAkB,KAAlB,CAAxB;;AACA,UAAI,EAAE,IAAI,IAAV,EAAgB;AACd,aAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,eAA3D,EAA4E,CAAC,CAA7E;AACD;;AACD,UAAM,WAAW,GAAG,iBAAiB,CAAC,EAAD,EAAK,KAAL,CAArC;;AACA,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,OAA3D,EAAoE,WAApE;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,EAAjB,EAAwC;AAAA;;AACtC,WAAK,QAAL,GAAgB,UAAC,WAAD,EAAoB;AAClC,cAAI,CAAC,KAAL,GAAa,MAAI,CAAC,eAAL,CAAqB,WAArB,CAAb;AACA,UAAE,CAAC,MAAI,CAAC,KAAN,CAAF;AACD,OAHD;AAID;AACH;AAEC;AACE;AACE;;;;WACH,2BAAkB,EAAlB,EAA+B;AAC7B,WAAK,SAAL,GAAiB,EAAjB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,UAAjB,EAAoC;AAClC,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,UAA3D,EAAuE,UAAvE;AACD;AACH;;;;WAEE,2BAAe;AACb,aAAO,CAAC,KAAK,UAAL,EAAD,EAAoB,QAApB,EAAP;AACD;AACH;;;;WAEE,sBAAa,KAAb,EAAuB;AACrB,qCAAiB,KAAK,CAAC,IAAN,CAAW,KAAK,UAAL,CAAgB,IAAhB,EAAX,CAAjB,iCAAqD;AAAhD,YAAM,EAAE,kBAAR;AACH,YAAI,KAAK,YAAL,CAAkB,KAAK,UAAL,CAAgB,GAAhB,CAAoB,EAApB,CAAlB,EAA2C,KAA3C,CAAJ,EAAuD,OAAO,EAAP;AACxD;;AACD,aAAO,IAAP;AACD;AACH;;;;WAEE,yBAAgB,WAAhB,EAAmC;AACjC,UAAM,EAAE,GAAW,UAAU,CAAC,WAAD,CAA7B;;AACA,aAAO,KAAK,UAAL,CAAgB,GAAhB,CAAoB,EAApB,IAA0B,KAAK,UAAL,CAAgB,GAAhB,CAAoB,EAApB,CAA1B,GAAoD,WAA3D;AACD;;;;;;2CAxGF,kC,CAAU,C,EAAA;AAAA,SACT,UACI,0BADJ,EACI,wHADJ,EACI,yHADJ,CADS;AAEwG,C;;AACjH,0BAAmB,KAAnB,GAAmB,gEAAiC;AAAA,QAAQ,0BAAR;AAAwB,WAC5E,cAAY,iBAAZ,EAAkC,EAAlC,EAAkC,CAAlC,EAAkC,UAAlC,EACD,EADC,GACD,gDADC,EACD,4CADC,CADoD;AAErD;AAAA;;;;;;;GAFqD;;;GAAA;+EAGjD,qB;AAHiD,CAAjC,CAAnB;;AAGI;AAAA,UAAoD;AAAA,UAnFmB,uDAAS;AAmF5B,GAApD,EAnFoF;AAAA,UAAvE,wDAAU;AAA6D,GAmFpF;AAAA;;AAnF6B;AAA8C;AAAA,UA8G9E,mDAAK;AA9GyE;AAA9C;;;;;;;;;;;;;;;;;;;;;;;;;AA+GhC,C;AAyEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,c;AAQX,0BACY,QADZ,EAC0C,SAD1C,EAEgC,OAFhC,EAEmE;AAAA;;AADvD;AAA8B;AACV;AAC9B,QAAI,KAAK,OAAT,EAAkB,KAAK,EAAL,GAAU,KAAK,OAAL,CAAa,eAAb,EAAV;AACnB;AACH;AAEC;AACE;AACE;AAEJ;;;;;SAAC,aACY,KADZ,EACsB;AACpB,UAAI,KAAK,OAAL,IAAgB,IAApB,EAA0B;;AAC1B,WAAK,OAAL,CAAa,UAAb,CAAwB,GAAxB,CAA4B,KAAK,EAAjC,EAAqC,KAArC;;AACA,WAAK,gBAAL,CAAsB,iBAAiB,CAAC,KAAK,EAAN,EAAU,KAAV,CAAvC;;AACA,WAAK,OAAL,CAAa,UAAb,CAAwB,KAAK,OAAL,CAAa,KAArC;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,aACU,KADV,EACoB;AAClB,WAAK,gBAAL,CAAsB,KAAtB;;AACA,UAAI,KAAK,OAAT,EAAkB,KAAK,OAAL,CAAa,UAAb,CAAwB,KAAK,OAAL,CAAa,KAArC;AACnB;AACH;;;;WAEE,0BAAiB,KAAjB,EAA8B;AAC5B,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,QAAL,CAAc,aAAzC,EAAwD,OAAxD,EAAiE,KAAjE;AACD;AACH;;;;WAEE,uBAAW;AACT,UAAI,KAAK,OAAT,EAAkB;AAChB,aAAK,OAAL,CAAa,UAAb,CAAwB,MAAxB,CAA+B,KAAK,EAApC;;AACA,aAAK,OAAL,CAAa,UAAb,CAAwB,KAAK,OAAL,CAAa,KAArC;AACD;AACF;;;;;;+BAlDF,sB,CAAS,C,EAAA;AAAA,SAAE,KAAQ,CAAE,kBAAV,EAAmB,yHAAnB,EAAmB,wHAAnB,EAAmB,8FAAnB,CAAF;AAAqB,C;;;;;;;WAC1B;;;;AAAC;AAAA,UAAwC;AAAA,UAnM3B,wDAAU;AAmMiB,GAAxC,EAnM2B;AAAA,UAA4C,uDAAS;AAArD,GAmM3B,EAnMoF;AAAA,UA6M/C,0BA7M+C;AA6MrB;AAAA,YAA9D,sDAAQ;AAAsD,OAAtD;AAAA,YAAI,kDAAI;AAAR,KAAsD;AA7MqB,GAmMpF;AAAA;;AAU0B;AAAkC;AAAA,UAS/D,mDAT+D;AAS1D,WAAC,SAAD;AAT0D,IAAlC;AAU3B;AAAA,UAYF,mDAZE;AAYG,WAAC,OAAD;AAZH;AAV2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuB1B,C;AC5ON;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAKa,8BAA8B,GAAmB;AAC5D,SAAO,EAAE,iBADmD;AAE5D,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,kCAAN;AAAA,GAAD,CAFqC;AAG5D,OAAK,EAAE;AAHqD,CAL9D;;AAWA,SAASC,mBAAT,CAA2B,EAA3B,EAAuC,KAAvC,EAAiD;AAC/C,MAAI,EAAE,IAAI,IAAV,EAAgB,iBAAU,KAAV;AAChB,MAAI,OAAO,KAAP,KAAiB,QAArB,EAA+B,KAAK,cAAO,KAAP,MAAL;AAC/B,MAAI,KAAK,IAAI,OAAO,KAAP,KAAiB,QAA9B,EAAwC,KAAK,GAAG,QAAR;AACxC,SAAO,UAAG,EAAH,eAAU,KAAV,EAAkB,KAAlB,CAAwB,CAAxB,EAA2B,EAA3B,CAAP;AACD;;AAED,SAASC,YAAT,CAAoB,WAApB,EAAuC;AACrC,SAAO,WAAW,CAAC,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAP;AACD;AAQD;;;IACe,c;;;AAMf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAOa,kC;AAwCX,8CAAoB,SAApB,EAAkD,WAAlD,EAAyE;AAAA;;AAArD;AAA8B;AAAwB;;AAhC1E,sBAAmD,IAAI,GAAJ,EAAnD;AACF;;AAEE,sBAAqB,CAArB;AACF;AAEK;AACM;AAEA;;AAAT,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;AACF;AAEK;AACM;AAEA;;;AAAT,qBAAY,aAAQ,CAApB;;AAeQ,wBAA8C,MAAM,CAAC,EAArD;AAEqE;AAC/E;AAEC;AAAoB;AAGjB;AACJ;;;;;SAjBE,aACgB,EADhB,EACiD;AAC/C,UAAI,OAAO,EAAP,KAAc,UAAd,KAA6B,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAjE,CAAJ,EAAiF;AAC/E,cAAM,IAAI,KAAJ,wDAA0D,IAAI,CAAC,SAAL,CAAe,EAAf,CAA1D,EAAN;AACD;;AACD,WAAK,YAAL,GAAoB,EAApB;AACD;AACH;AACO;AAEQ;AAAc;;;;WAM3B,oBAAW,KAAX,EAAqB;AAAA;;AACnB,WAAK,KAAL,GAAa,KAAb;AACA,UAAI,yBAAJ;;AACA,UAAI,KAAK,CAAC,OAAN,CAAc,KAAd,CAAJ,EAA0B;AAC9B;AACM,YAAM,GAAG,GAAG,KAAK,CAAC,GAAN,CAAU,UAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,YAAL,CAAkB,CAAlB,CAAP;AAAA,SAAV,CAAZ;;AACA,iCAAyB,GAAG,mCAAC,GAAD,EAAM,CAAN,EAAO;AACjC,aAAG,CAAC,YAAJ,CAAiB,GAAG,CAAC,OAAJ,CAAY,CAAC,CAAC,QAAF,EAAZ,IAA4B,CAAC,CAA9C;AACD,SAFD;AAGD,OAND,MAMO;AACL,iCAAyB,GAAG,mCAAC,GAAD,EAAM,CAAN,EAAO;AACjC,aAAG,CAAC,YAAJ,CAAiB,KAAjB;AACD,SAFD;AAGD;;AACD,WAAK,UAAL,CAAgB,OAAhB,CAAwB,yBAAxB;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,0BAAiB,EAAjB,EAAwC;AAAA;;AACtC,WAAK,QAAL,GAAgB,UAAC,CAAD,EAAO;AACrB,YAAM,QAAQ,GAAe,EAA7B;;AACA,YAAI,CAAC,CAAC,eAAF,KAAsB,SAA1B,EAAqC;AACnC,cAAM,OAAO,GAAmB,CAAC,CAAC,eAAlC;;AACA,eAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,CAAC,MAA5B,EAAoC,CAAC,EAArC,EAAyC;AACvC,gBAAM,GAAG,GAAQ,OAAO,CAAC,IAAR,CAAa,CAAb,CAAjB;;AACA,gBAAM,GAAG,GAAQ,MAAI,CAAC,eAAL,CAAqB,GAAG,CAAC,KAAzB,CAAjB;;AACA,oBAAQ,CAAC,IAAT,CAAc,GAAd;AACD;AACF,SAPD,CAQN;AARM,aASK;AACH,gBAAM,QAAO,GAAmC,CAAC,CAAC,OAAlD;;AACA,iBAAK,IAAI,GAAC,GAAG,CAAb,EAAgB,GAAC,GAAG,QAAO,CAAC,MAA5B,EAAoC,GAAC,EAArC,EAAyC;AACvC,kBAAM,IAAG,GAAe,QAAO,CAAC,IAAR,CAAa,GAAb,CAAxB;;AACA,kBAAI,IAAG,CAAC,QAAR,EAAkB;AAChB,oBAAM,IAAG,GAAQ,MAAI,CAAC,eAAL,CAAqB,IAAG,CAAC,KAAzB,CAAjB;;AACA,wBAAQ,CAAC,IAAT,CAAc,IAAd;AACD;AACF;AACF;;AACD,cAAI,CAAC,KAAL,GAAa,QAAb;AACA,UAAE,CAAC,QAAD,CAAF;AACD,OAvBD;AAwBD;AACH;AAEC;AACE;AACE;;;;WACH,2BAAkB,EAAlB,EAA+B;AAC7B,WAAK,SAAL,GAAiB,EAAjB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,0BAAiB,UAAjB,EAAoC;AAClC,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,UAA3D,EAAuE,UAAvE;AACD;AACH;;;;WAEE,yBAAgB,KAAhB,EAA8C;AAC5C,UAAM,EAAE,GAAW,CAAC,KAAK,UAAL,EAAD,EAAoB,QAApB,EAAnB;;AACA,WAAK,UAAL,CAAgB,GAAhB,CAAoB,EAApB,EAAwB,KAAxB;;AACA,aAAO,EAAP;AACD;AACH;;;;WAEE,sBAAa,KAAb,EAAuB;AACrB,uCAAiB,KAAK,CAAC,IAAN,CAAW,KAAK,UAAL,CAAgB,IAAhB,EAAX,CAAjB,oCAAqD;AAAhD,YAAM,EAAE,oBAAR;AACH,YAAI,KAAK,YAAL,CAAkB,KAAK,UAAL,CAAgB,GAAhB,CAAoB,EAApB,EAAyB,MAA3C,EAAmD,KAAnD,CAAJ,EAA+D,OAAO,EAAP;AAChE;;AACD,aAAO,IAAP;AACD;AACH;;;;WAEE,yBAAgB,WAAhB,EAAmC;AACjC,UAAM,EAAE,GAAWA,YAAU,CAAC,WAAD,CAA7B;;AACA,aAAO,KAAK,UAAL,CAAgB,GAAhB,CAAoB,EAApB,IAA0B,KAAK,UAAL,CAAgB,GAAhB,CAAoB,EAApB,EAAyB,MAAnD,GAA4D,WAAnE;AACD;;;;;;mDAxIF,0C,CAAU,C,EAAA;AACT,SAAQ,KACJ,uCADI,EACJ,wHADI,EACJ,gEACA,wDADA,CADI,CAAR;AAEmB,C;;AAAyB,kCAAY,KAAZ,GAAyB,gEACrE;AAAA,MAAW,EAAC,kCAAZ;AAA2C,WAC5C,+IADC;AACD;AAAA;;;;;;;GADC;;;GAAA;+EAEG,8B;AAFH,CADqE,CAAzB;;AAGxC;AAAA,UAA4D;AAAA,UA3EW,uDAAS;AA2EpB,GAA5D,EA3EoF;AAAA,UAAvE,wDAAU;AAA6D,GA2EpF;AAAA;;AA3E6B;AAAsD;AAAA,UAyGtF,mDAAK;AAzGiF;AAAtD;;;;;;;;;;;;;;;;;;;;;;;;;AA0GhC,C;AAsGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,uB;AAMX,mCACY,QADZ,EAC0C,SAD1C,EAEgC,OAFhC,EAE2E;AAAA;;AAD/D;AAA8B;AACV;;AAC9B,QAAI,KAAK,OAAT,EAAkB;AAChB,WAAK,EAAL,GAAU,KAAK,OAAL,CAAa,eAAb,CAA6B,IAA7B,CAAV;AACD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;;;;SAAC,aACY,KADZ,EACsB;AACpB,UAAI,KAAK,OAAL,IAAgB,IAApB,EAA0B;AAC1B,WAAK,MAAL,GAAc,KAAd;;AACA,WAAK,gBAAL,CAAsBD,mBAAiB,CAAC,KAAK,EAAN,EAAU,KAAV,CAAvC;;AACA,WAAK,OAAL,CAAa,UAAb,CAAwB,KAAK,OAAL,CAAa,KAArC;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,aACU,KADV,EACoB;AAClB,UAAI,KAAK,OAAT,EAAkB;AAChB,aAAK,MAAL,GAAc,KAAd;;AACA,aAAK,gBAAL,CAAsBA,mBAAiB,CAAC,KAAK,EAAN,EAAU,KAAV,CAAvC;;AACA,aAAK,OAAL,CAAa,UAAb,CAAwB,KAAK,OAAL,CAAa,KAArC;AACD,OAJD,MAIO;AACL,aAAK,gBAAL,CAAsB,KAAtB;AACD;AACF;AACH;;;;WAEE,0BAAiB,KAAjB,EAA8B;AAC5B,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,QAAL,CAAc,aAAzC,EAAwD,OAAxD,EAAiE,KAAjE;AACD;AACH;;;;WAEE,sBAAa,QAAb,EAA8B;AAC5B,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,QAAL,CAAc,aAAzC,EAAwD,UAAxD,EAAoE,QAApE;AACD;AACH;;;;WAEE,uBAAW;AACT,UAAI,KAAK,OAAT,EAAkB;AAChB,aAAK,OAAL,CAAa,UAAb,CAAwB,MAAxB,CAA+B,KAAK,EAApC;;AACA,aAAK,OAAL,CAAa,UAAb,CAAwB,KAAK,OAAL,CAAa,KAArC;AACD;AACF;;;;;;wCA5DF,+B,CAAW,C,EAAA;AAAA,SAAU,KAAQ,KAAC,uBAAT,EAAS,yHAAT,EAAS,wHAAT,EAAS,sGAAT,CAAV;AAAmB,C;;;;;;;WAC1B;;;;AAAC;AAAA,UAAiD;AAAA,UA3NpC,wDAAU;AA2N0B,GAAjD,EA3N2B;AAAA,UAA4C,uDAAS;AAArD,GA2N3B,EA3NoF;AAAA,UAmO/C,kCAnO+C;AAmOb;AAAA,YAAtE,sDAAQ;AAA8D,OAA9D;AAAA,YAAI,kDAAI;AAAR,KAA8D;AAnOa,GA2NpF;AAAA;;AAQ0B;AAA2C;AAAA,UAWxE,mDAXwE;AAWnE,WAAC,SAAD;AAXmE,IAA3C;AAY3B;AAAA,UAYF,mDAZE;AAYG,WAAC,OAAD;AAZH;AAZ2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyB1B,C;ACpQN;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAqBgB,WArBhB,CAqB4B,IArB5B,EAqB+C,MArB/C,EAqBuE;AACrE,qKAAW,MAAM,CAAC,IAAlB,IAAyB,IAAzB;AACD;;AACD,SACgB,YADhB,CAC6B,OAD7B,EACmD,GADnD,EACiE;AAC/D,MAAI,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAxC,EAAmD;AACjD,QAAI,CAAC,OAAL,EAAc,WAAW,CAAC,GAAD,EAAM,0BAAN,CAAX;AACd,QAAI,CAAC,GAAG,CAAC,aAAT,EAAwB,WAAW,CAAC,GAAD,EAAM,yCAAN,CAAX;AACzB;;AAED,iBAAe,CAAC,OAAD,EAAU,GAAV;AAAa;AAAgC,MAA7C,CAAf;AAEA,KAAG,CAAC,aAAJ,CAAmB,UAAnB,CAA8B,OAAO,CAAC,KAAtC;AAEA,yBAAuB,CAAC,OAAD,EAAU,GAAV,CAAvB;AACA,0BAAwB,CAAC,OAAD,EAAU,GAAV,CAAxB;AAEA,mBAAiB,CAAC,OAAD,EAAU,GAAV,CAAjB;AAEA,4BAA0B,CAAC,OAAD,EAAU,GAAV,CAA1B;AACD;;AACD,SACgB,cADhB,CAC+B,OAD/B,EAC0D,GAD1D,EACwE;AACtE,MAAM,IAAI,GAAG,SAAP,IAAO;AACX,QAAI,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAxC,EAAmD;AACjD,qBAAe,CAAC,GAAD,CAAf;AACD;AACF,GAJD;;AAMA,KAAG,CAAC,aAAJ,CAAmB,gBAAnB,CAAoC,IAApC;AACA,KAAG,CAAC,aAAJ,CAAmB,iBAAnB,CAAqC,IAArC;AAEA,mBAAiB,CAAC,OAAD,EAAU,GAAV;AAAa;AAAgC,MAA7C,CAAjB;;AAEA,MAAI,OAAJ,EAAa;AACX,OAAG,CAAC,yBAAJ;;AACA,WAAO,CAAC,2BAAR,CAAoC,aAAQ,CAA5C;AACD;AACF;;AAED,SAAS,yBAAT,CAAsC,UAAtC,EAAmE,QAAnE,EAAuF;AACrF,YAAU,CAAC,OAAX,CAAmB,UAAC,SAAD,EAAyB;AAC1C,QAAgB,SAAU,CAAC,yBAA3B,EACc,SAAU,CAAC,yBAAX,CAAsC,QAAtC;AACf,GAHD;AAID;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,0BAAhB,CAA2C,OAA3C,EAAiE,GAAjE,EAA+E;AAC7E,MAAI,GAAG,CAAC,aAAJ,CAAmB,gBAAvB,EAAyC;AACvC,QAAM,gBAAgB,GAAG,SAAnB,gBAAmB,CAAC,UAAD,EAAoB;AAC3C,SAAG,CAAC,aAAJ,CAAmB,gBAAnB,CAAqC,UAArC;AACD,KAFD;;AAGA,WAAO,CAAC,wBAAR,CAAiC,gBAAjC,EAJuC,CAK3C;AAEG;;AACC,OAAG,CAAC,kBAAJ,CAAuB;AACrB,aAAO,CAAC,2BAAR,CAAoC,gBAApC;AACD,KAFD;AAGD;AACF;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,eAAhB,CACI,OADJ,EAC8B,GAD9B,EAEI,uBAFJ,EAEoC;AAClC,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAD,CAAvC;;AACA,MAAI,GAAG,CAAC,SAAJ,KAAkB,IAAtB,EAA4B;AAC1B,WAAO,CAAC,aAAR,CAAsB,eAAe,CAAc,UAAd,EAA0B,GAAG,CAAC,SAA9B,CAArC;AACD,GAFD,MAEO,IAAI,OAAO,UAAP,KAAsB,UAA1B,EAAsC;AAC/C;AACI;AACI;AACI;AACI;AACI;AACI;AACpB,WAAO,CAAC,aAAR,CAAsB,CAAC,UAAD,CAAtB;AACD;;AAED,MAAM,eAAe,GAAG,yBAAyB,CAAC,OAAD,CAAjD;;AACA,MAAI,GAAG,CAAC,cAAJ,KAAuB,IAA3B,EAAiC;AAC/B,WAAO,CAAC,kBAAR,CACI,eAAe,CAAmB,eAAnB,EAAoC,GAAG,CAAC,cAAxC,CADnB;AAED,GAHD,MAGO,IAAI,OAAO,eAAP,KAA2B,UAA/B,EAA2C;AAChD,WAAO,CAAC,kBAAR,CAA2B,CAAC,eAAD,CAA3B;AACD,GArBiC,CAsBpC;;;AAEE,MAAI,uBAAJ,EAA6B;AAC3B,QAAM,iBAAiB,GAAG,SAApB,iBAAoB;AAAA,aAAM,OAAO,CAAC,sBAAR,EAAN;AAAA,KAA1B;;AACA,6BAAyB,CAAc,GAAG,CAAC,cAAlB,EAAkC,iBAAlC,CAAzB;AACA,6BAAyB,CAAmB,GAAG,CAAC,mBAAvB,EAA4C,iBAA5C,CAAzB;AACD;AACF;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,iBAAhB,CACI,OADJ,EACmC,GADnC,EAEI,uBAFJ,EAEoC;AAClC,MAAI,OAAO,KAAK,IAAhB,EAAsB;AACpB,QAAI,GAAG,CAAC,SAAJ,KAAkB,IAAtB,EAA4B;AAC1B,UAAM,UAAU,GAAG,oBAAoB,CAAC,OAAD,CAAvC;;AACA,UAAI,KAAK,CAAC,OAAN,CAAc,UAAd,KAA6B,UAAU,CAAC,MAAX,GAAoB,CAArD,EAAwD;AAC9D;AACQ,eAAO,CAAC,aAAR,CAAsB,UAAU,CAAC,MAAX,CAAkB,mBAAS;AAAA,iBAAI,SAAS,KAAK,GAAG,CAAC,SAAtB;AAAA,SAA3B,CAAtB;AACD;AACF;;AAED,QAAI,GAAG,CAAC,cAAJ,KAAuB,IAA3B,EAAiC;AAC/B,UAAM,eAAe,GAAG,yBAAyB,CAAC,OAAD,CAAjD;;AACA,UAAI,KAAK,CAAC,OAAN,CAAc,eAAd,KAAkC,eAAe,CAAC,MAAhB,GAAyB,CAA/D,EAAkE;AACxE;AACQ,eAAO,CAAC,kBAAR,CACI,eAAe,CAAC,MAAhB,CAAuB,wBAAc;AAAA,iBAAI,cAAc,KAAK,GAAG,CAAC,cAA3B;AAAA,SAArC,CADJ;AAED;AACF;AACF;;AAED,MAAI,uBAAJ,EAA6B;AAC/B;AACI,QAAM,IAAI,GAAG,SAAP,IAAO,IAAQ,CAArB;;AACA,6BAAyB,CAAc,GAAG,CAAC,cAAlB,EAAkC,IAAlC,CAAzB;AACA,6BAAyB,CAAmB,GAAG,CAAC,mBAAvB,EAA4C,IAA5C,CAAzB;AACD;AACF;;AAED,SAAS,uBAAT,CAAiC,OAAjC,EAAuD,GAAvD,EAAqE;AACnE,KAAG,CAAC,aAAJ,CAAmB,gBAAnB,CAAoC,UAAC,QAAD,EAAc;AAChD,WAAO,CAAC,aAAR,GAAwB,QAAxB;AACA,WAAO,CAAC,cAAR,GAAyB,IAAzB;AACA,WAAO,CAAC,aAAR,GAAwB,IAAxB;AAEA,QAAI,OAAO,CAAC,QAAR,KAAqB,QAAzB,EAAmC,aAAa,CAAC,OAAD,EAAU,GAAV,CAAb;AACpC,GAND;AAOD;;AAED,SAAS,iBAAT,CAA2B,OAA3B,EAAiD,GAAjD,EAA+D;AAC7D,KAAG,CAAC,aAAJ,CAAmB,iBAAnB,CAAqC;AACnC,WAAO,CAAC,eAAR,GAA0B,IAA1B;AAEA,QAAI,OAAO,CAAC,QAAR,KAAqB,MAArB,IAA+B,OAAO,CAAC,cAA3C,EAA2D,aAAa,CAAC,OAAD,EAAU,GAAV,CAAb;AAC3D,QAAI,OAAO,CAAC,QAAR,KAAqB,QAAzB,EAAmC,OAAO,CAAC,aAAR;AACpC,GALD;AAMD;;AAED,SAAS,aAAT,CAAuB,OAAvB,EAA6C,GAA7C,EAA2D;AACzD,MAAI,OAAO,CAAC,aAAZ,EAA2B,OAAO,CAAC,WAAR;AAC3B,SAAO,CAAC,QAAR,CAAiB,OAAO,CAAC,aAAzB,EAAwC;AAAC,yBAAqB,EAAE;AAAxB,GAAxC;AACA,KAAG,CAAC,iBAAJ,CAAsB,OAAO,CAAC,aAA9B;AACA,SAAO,CAAC,cAAR,GAAyB,KAAzB;AACD;;AAED,SAAS,wBAAT,CAAkC,OAAlC,EAAwD,GAAxD,EAAsE;AACpE,MAAM,QAAQ,GAAG,SAAX,QAAW,CAAC,QAAD,EAAgB,cAAhB,EAAuC;AAC1D;AACI,OAAG,CAAC,aAAJ,CAAmB,UAAnB,CAA8B,QAA9B,EAFsD,CAG1D;;AAEI,QAAI,cAAJ,EAAoB,GAAG,CAAC,iBAAJ,CAAsB,QAAtB;AACrB,GAND;;AAOA,SAAO,CAAC,gBAAR,CAAyB,QAAzB,EARoE,CAStE;AAEC;;AACC,KAAG,CAAC,kBAAJ,CAAuB;AACrB,WAAO,CAAC,mBAAR,CAA4B,QAA5B;AACD,GAFD;AAGD;;AACD,SACgB,kBADhB,CAEI,OAFJ,EAEkC,GAFlC,EAE+E;AAC7E,MAAI,OAAO,IAAI,IAAX,KAAoB,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAxD,CAAJ,EACE,WAAW,CAAC,GAAD,EAAM,0BAAN,CAAX;AACF,iBAAe,CAAC,OAAD,EAAU,GAAV;AAAa;AAAgC,OAA7C,CAAf;AACD;;AAED,SAAS,eAAT,CAAyB,GAAzB,EAAuC;AACrC,SAAO,WAAW,CAAC,GAAD,EAAM,wEAAN,CAAlB;AACD;;AAED,SAAS,WAAT,CAAqB,GAArB,EAAoD,OAApD,EAAmE;AACjE,MAAI,UAAJ;;AACA,MAAI,GAAG,CAAC,IAAJ,CAAU,MAAV,GAAmB,CAAvB,EAA0B;AACxB,cAAU,oBAAa,GAAG,CAAC,IAAJ,CAAU,IAAV,CAAe,MAAf,CAAb,MAAV;AACD,GAFD,MAEO,IAAI,GAAG,CAAC,IAAJ,CAAU,CAAV,CAAJ,EAAkB;AACvB,cAAU,oBAAa,GAAG,CAAC,IAAjB,MAAV;AACD,GAFM,MAEA;AACL,cAAU,GAAG,4BAAb;AACD;;AACD,QAAM,IAAI,KAAJ,WAAa,OAAb,cAAwB,UAAxB,EAAN;AACD;;AACD,SACgB,iBADhB,CACkC,OADlC,EACiE,SADjE,EAC+E;AAC7E,MAAI,CAAC,OAAO,CAAC,cAAR,CAAuB,OAAvB,CAAL,EAAsC,OAAO,KAAP;AACtC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAD,CAAtB;AAEA,MAAI,MAAM,CAAC,aAAP,EAAJ,EAA4B,OAAO,IAAP;AAC5B,SAAO,CAAC,MAAM,CAAC,EAAP,CAAU,SAAV,EAAqB,MAAM,CAAC,YAA5B,CAAR;AACD;;AAED,IAAM,iBAAiB,GAAG,CACxB,4BADwB,EAExB,kBAFwB,EAGxB,mBAHwB,EAIxB,0BAJwB,EAKxB,kCALwB,EAMxB,yBANwB,CAA1B;;AAQA,SACgB,iBADhB,CACkC,aADlC,EACqE;AACnE,SAAO,iBAAiB,CAAC,IAAlB,CAAuB,WAAC;AAAA,WAAI,aAAa,CAAC,WAAd,KAA8B,CAAlC;AAAA,GAAxB,CAAP;AACD;;AACD,SACgB,mBADhB,CACoC,IADpC,EACqD,UADrD,EAC4E;AAC1E,MAAI,CAAC,oBAAL;;AACA,YAAU,CAAC,OAAX,CAAmB,aAAG;AACpB,QAAM,OAAO,GAAG,GAAG,CAAC,OAApB;;AACA,QAAI,OAAO,CAAC,QAAR,KAAqB,QAArB,IAAiC,OAAO,CAAC,cAA7C,EAA6D;AAC3D,SAAG,CAAC,iBAAJ,CAAsB,OAAO,CAAC,aAA9B;AACA,aAAO,CAAC,cAAR,GAAyB,KAAzB;AACD;AACF,GAND;AAOD,C,CAED;;;AACA,SAAgB,mBAAhB,CACI,GADJ,EACoB,cADpB,EAC0D;AACxD,MAAI,CAAC,cAAL,EAAqB,OAAO,IAAP;AAErB,MAAI,CAAC,KAAK,CAAC,OAAN,CAAc,cAAd,CAAD,KAAmC,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAvE,CAAJ,EACE,WAAW,CAAC,GAAD,EAAM,mEAAN,CAAX;AAEF,MAAI,eAAe,GAAmC,SAAtD;AACA,MAAI,eAAe,GAAmC,SAAtD;AACA,MAAI,cAAc,GAAmC,SAArD;AAEA,gBAAc,CAAC,OAAf,CAAuB,UAAC,CAAD,EAAwB;AAC7C,QAAI,CAAC,CAAC,WAAF,KAAkB,oBAAtB,EAA4C;AAC1C,qBAAe,GAAG,CAAlB;AAED,KAHD,MAGO,IAAI,iBAAiB,CAAC,CAAD,CAArB,EAA0B;AAC/B,UAAI,eAAe,KAAK,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAzC,CAAnB,EACE,WAAW,CAAC,GAAD,EAAM,iEAAN,CAAX;AACF,qBAAe,GAAG,CAAlB;AAED,KALM,MAKA;AACL,UAAI,cAAc,KAAK,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAzC,CAAlB,EACE,WAAW,CAAC,GAAD,EAAM,+DAAN,CAAX;AACF,oBAAc,GAAG,CAAjB;AACD;AACF,GAdD;AAgBA,MAAI,cAAJ,EAAoB,OAAO,cAAP;AACpB,MAAI,eAAJ,EAAqB,OAAO,eAAP;AACrB,MAAI,eAAJ,EAAqB,OAAO,eAAP;;AAErB,MAAI,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAxC,EAAmD;AACjD,eAAW,CAAC,GAAD,EAAM,+CAAN,CAAX;AACD;;AACD,SAAO,IAAP;AACD;;AACD,SACgB,cADhB,CACkC,IADlC,EAC6C,EAD7C,EACkD;AAChD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAL,CAAa,EAAb,CAAd;AACA,MAAI,KAAK,GAAG,CAAC,CAAb,EAAgB,IAAI,CAAC,MAAL,CAAY,KAAZ,EAAmB,CAAnB;AACjB,C,CAED;;;AACA,SAAgB,eAAhB,CACI,IADJ,EACkB,IADlB,EAEI,QAFJ,EAE8C,aAF9C,EAEwE;AACtE,MAAI,aAAa,KAAK,OAAtB,EAA+B;;AAE/B,MAAK,CAAC,aAAa,KAAK,IAAlB,IAA0B,aAAa,KAAK,MAA7C,KAAwD,CAAC,IAAI,CAAC,uBAA/D,IACC,aAAa,KAAK,QAAlB,IAA8B,CAAC,QAAQ,CAAC,mBAD7C,EACmE;AACjE,kBAAc,CAAC,cAAf,CAA8B,IAA9B;AACA,QAAI,CAAC,uBAAL,GAA+B,IAA/B;AACA,YAAQ,CAAC,mBAAT,GAA+B,IAA/B;AACD;AACH;AC5UA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;;;AACO,IAAM,KAAK,GAAG,OAAd;AAEP;AACA;AACA;AACA;AACA;;AACO,IAAM,OAAO,GAAG,SAAhB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAM,OAAO,GAAG,SAAhB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAM,QAAQ,GAAG,UAAjB;;AAEP,SAAS,KAAT,CAAe,OAAf,EAAyC,IAAzC,EAA4E,SAA5E,EAA6F;AAC3F,MAAI,IAAI,IAAI,IAAZ,EAAkB,OAAO,IAAP;;AAElB,MAAI,CAAC,KAAK,CAAC,OAAN,CAAc,IAAd,CAAL,EAA0B;AACxB,QAAI,GAAG,IAAI,CAAC,KAAL,CAAW,SAAX,CAAP;AACD;;AACD,MAAI,KAAK,CAAC,OAAN,CAAc,IAAd,KAAuB,IAAI,CAAC,MAAL,KAAgB,CAA3C,EAA8C,OAAO,IAAP,CAN6C,CAO7F;AAEC;;AACC,MAAI,aAAa,GAAyB,OAA1C;AACA,MAAI,CAAC,OAAL,CAAa,UAAC,IAAD,EAAoB;AAC/B,QAAI,aAAa,YAAY,SAA7B,EAAwC;AACtC,mBAAa,GAAG,aAAa,CAAC,QAAd,CAAuB,cAAvB,CAAsC,IAAtC,IACZ,aAAa,CAAC,QAAd,CAAuB,IAAvB,CADY,GAEZ,IAFJ;AAGD,KAJD,MAIO,IAAI,aAAa,YAAY,SAA7B,EAAwC;AAC7C,mBAAa,GAAG,aAAa,CAAC,EAAd,CAAyB,IAAzB,KAAkC,IAAlD;AACD,KAFM,MAEA;AACL,mBAAa,GAAG,IAAhB;AACD;AACF,GAVD;AAWA,SAAO,aAAP;AACD;AAED;AACA;AACA;;;AACA,SAAS,cAAT,CAAwB,eAAxB,EAC4B;AAC1B,SAAO,CAAC,YAAY,CAAC,eAAD,CAAZ,GAAgC,eAAe,CAAC,UAAhD,GAA6D,eAA9D,KAAkF,IAAzF;AACD;AAED;AACA;AACA;;;AACA,SAAS,iBAAT,CAA2B,SAA3B,EAAoE;AAClE,SAAO,KAAK,CAAC,OAAN,CAAc,SAAd,IAA2B,iBAAiB,CAAC,SAAD,CAA5C,GAA0D,SAAS,IAAI,IAA9E;AACD;AAED;AACA;AACA;;;AACA,SAAS,mBAAT,CACI,cADJ,EAEI,eAFJ,EAE2E;AAEzE,SAAO,CAAC,YAAY,CAAC,eAAD,CAAZ,GAAgC,eAAe,CAAC,eAAhD,GAAkE,cAAnE,KAAsF,IAA7F;AACD;AAED;AACA;AACA;;;AACA,SAAS,sBAAT,CAAgC,cAAhC,EACoC;AAClC,SAAO,KAAK,CAAC,OAAN,CAAc,cAAd,IAAgC,sBAAsB,CAAC,cAAD,CAAtD,GACgC,cAAc,IAAI,IADzD;AAED;;AA4BD,SAAS,YAAT,CAAsB,eAAtB,EAC0B;AACxB,SAAO,eAAe,IAAI,IAAnB,IAA2B,CAAC,KAAK,CAAC,OAAN,CAAc,eAAd,CAA5B,IACH,OAAO,eAAP,KAA2B,QAD/B;AAED;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACsB,e;AACtB;AAAQ;AAEP;AAAO;AAGoE;AAI1E;AAIO;AAGT;AAmEE,2BACI,UADJ,EAEI,eAFJ,EAE6D;AAAA;;AAC/D;AAAY;AAEO;AAAW;AAAqB;AA/EjD,wCAA+B,KAA/B;AACF;;AAME,+BAAsB,aAAQ,CAA9B;;AAMQ,mBAAoC,IAApC;AACV;AAAY;AAGe;AAAgC;AAAW;AAKnE;AAGkB;;AAkLH,oBAAoB,IAApB;AAClB;AAEK;AACL;AAAW;AAEgD;AAAiC;;AAa1E,mBAAmB,KAAnB;AAClB;;AA+lBE,6BAAgC,EAAhC;AAjvBE,SAAK,cAAL,GAAsB,UAAtB;AACA,SAAK,mBAAL,GAA2B,eAA3B;AACA,SAAK,oBAAL,GAA4B,iBAAiB,CAAC,KAAK,cAAN,CAA7C;AACA,SAAK,yBAAL,GAAiC,sBAAsB,CAAC,KAAK,mBAAN,CAAvD;AACD;AACH;AAEC;AACE;;;;;SACD,eAAa;AACX,aAAO,KAAK,oBAAZ;AACD,K;SACD,aAAc,WAAd,EAA2C;AACzC,WAAK,cAAL,GAAsB,KAAK,oBAAL,GAA4B,WAAlD;AACD;AACH;AAEC;AACE;;;;SACD,eAAkB;AAChB,aAAO,KAAK,yBAAZ;AACD,K;SACD,aAAmB,gBAAnB,EAA0D;AACxD,WAAK,mBAAL,GAA2B,KAAK,yBAAL,GAAiC,gBAA5D;AACD;AACH;AAEC;AACE;;;;SACD,eAAU;AACR,aAAO,KAAK,OAAZ;AACD;AACH;AAEC;AAA0D;AAAO;AAG5D;AAAO;AACW;AAAwB;;;;SAkB9C,eAAS;AACP,aAAO,KAAK,MAAL,KAAgB,KAAvB;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AACE;AAEJ;;;;SAAL,eAAW;AACT,aAAO,KAAK,MAAL,KAAgB,OAAvB;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AACE;AAEJ;;;;SAAL,eAAW;AACT,aAAO,KAAK,MAAL,IAAe,OAAtB;AACD;AACH;AAEC;AACE;AACE;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEJ;;;;SAAX,eAAY;AACV,aAAO,KAAK,MAAL,KAAgB,QAAvB;AACD;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAGT;AAAO;;;;SAAP,eAAW;AACT,aAAO,KAAK,MAAL,KAAgB,QAAvB;AACD;AACH;AAEC;AAA8D;AACpD;AAAO;AAGuB;AAGc;;;;SAerD,eAAS;AACP,aAAO,CAAC,KAAK,QAAb;AACD;AACH;AAEC;AAEI;AAAO;AACG;AAEJ;;;;SAQT,eAAa;AACX,aAAO,CAAC,KAAK,OAAb;AACD;AACH;AAEC;AAAqE;AAC5C;AAA2D;AAChE;;;;SAqBnB,eAAY;AACV,aAAO,KAAK,SAAL,GAAiB,KAAK,SAAtB,GAAmC,KAAK,MAAL,GAAc,KAAK,MAAL,CAAY,QAA1B,GAAqC,QAA/E;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AAGT;AAAO;;;;WAAL,uBAAc,YAAd,EAA0D;AACxD,WAAK,cAAL,GAAsB,YAAtB;AACA,WAAK,oBAAL,GAA4B,iBAAiB,CAAC,YAAD,CAA7C;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AAGT;AAAO;;;;WAAL,4BAAmB,YAAnB,EAAyE;AACvE,WAAK,mBAAL,GAA2B,YAA3B;AACA,WAAK,yBAAL,GAAiC,sBAAsB,CAAC,YAAD,CAAvD;AACD;AACH;AAEC;AACE;AACE;AACE;AAEH;AACC;;;;WAAH,2BAAe;AACb,WAAK,SAAL,GAAiB,IAAjB;AACD;AACH;AAEC;AACE;AACE;AACE;AAEH;AACC;;;;WAAH,gCAAoB;AAClB,WAAK,cAAL,GAAsB,IAAtB;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AACE;AACE;AACE;AAEJ;;;;WAAf,yBAA6C;AAAA,UAA/B,IAA+B,uEAAF,EAAE;AAC1C,WAA4B,OAA5B,GAAsC,IAAtC;;AAED,UAAI,KAAK,OAAL,IAAgB,CAAC,IAAI,CAAC,QAA1B,EAAoC;AAClC,aAAK,OAAL,CAAa,aAAb,CAA2B,IAA3B;AACD;AACF;AACH;AAEC;AACE;AACE;;;;WACH,4BAAgB;AACd,WAAK,aAAL,CAAmB;AAAC,gBAAQ,EAAE;AAAX,OAAnB;;AAEA,WAAK,aAAL,CAAmB,UAAC,OAAD;AAAA,eAA8B,OAAO,CAAC,gBAAR,EAA9B;AAAA,OAAnB;AACD;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AACE;AACE;AACE;AAEJ;;;;WAAnB,2BAA+C;AAAA,UAA/B,IAA+B,uEAAF,EAAE;AAC5C,WAA4B,OAA5B,GAAsC,KAAtC;AACD,WAAK,eAAL,GAAuB,KAAvB;;AAEA,WAAK,aAAL,CAAmB,UAAC,OAAD,EAAyB;AAC1C,eAAO,CAAC,eAAR,CAAwB;AAAC,kBAAQ,EAAE;AAAX,SAAxB;AACD,OAFD;;AAIA,UAAI,KAAK,OAAL,IAAgB,CAAC,IAAI,CAAC,QAA1B,EAAoC;AAClC,aAAK,OAAL,CAAa,cAAb,CAA4B,IAA5B;AACD;AACF;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AACE;AACE;AACE;AAEJ;;;;WAAf,uBAA2C;AAAA,UAA/B,IAA+B,uEAAF,EAAE;AACxC,WAA6B,QAA7B,GAAwC,KAAxC;;AAED,UAAI,KAAK,OAAL,IAAgB,CAAC,IAAI,CAAC,QAA1B,EAAoC;AAClC,aAAK,OAAL,CAAa,WAAb,CAAyB,IAAzB;AACD;AACF;AACH;AAEC;AACE;AACE;AACE;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AACE;AACE;AACE;AAEJ;;;;WAArB,0BAA8C;AAAA,UAA/B,IAA+B,uEAAF,EAAE;AAC3C,WAA6B,QAA7B,GAAwC,IAAxC;AACD,WAAK,aAAL,GAAqB,KAArB;;AAEA,WAAK,aAAL,CAAmB,UAAC,OAAD,EAAyB;AAC1C,eAAO,CAAC,cAAR,CAAuB;AAAC,kBAAQ,EAAE;AAAX,SAAvB;AACD,OAFD;;AAIA,UAAI,KAAK,OAAL,IAAgB,CAAC,IAAI,CAAC,QAA1B,EAAoC;AAClC,aAAK,OAAL,CAAa,eAAb,CAA6B,IAA7B;AACD;AACF;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AACE;AACE;AACE;AACE;AACE;AACE;AAGT;AAAO;;;;WAArB,yBAAkE;AAAA,UAApD,IAAoD,uEAAF,EAAE;AAC/D,WAA0B,MAA1B,GAAmC,OAAnC;;AAED,UAAI,IAAI,CAAC,SAAL,KAAmB,KAAvB,EAA8B;AAC3B,aAAK,aAAL,CAAyC,IAAzC,CAA8C,KAAK,MAAnD;AACF;;AAED,UAAI,KAAK,OAAL,IAAgB,CAAC,IAAI,CAAC,QAA1B,EAAoC;AAClC,aAAK,OAAL,CAAa,aAAb,CAA2B,IAA3B;AACD;AACF;AACH;AAEC;AACE;AAEH;AAAO;AAEH;AAAO;AAEH;AAAO;AACE;AACE;AACE;AACE;AAElB;AAAsB;AACE;AAEJ;;;;WAAvB,mBAA4D;AAAA,UAApD,IAAoD,uEAAF,EAAE;;AAAI;AACkB;AAEhF,UAAM,iBAAiB,GAAG,KAAK,kBAAL,CAAwB,IAAI,CAAC,QAA7B,CAA1B;;AAEC,WAA0B,MAA1B,GAAmC,QAAnC;AACA,WAA2C,MAA3C,GAAoD,IAApD;;AACD,WAAK,aAAL,CAAmB,UAAC,OAAD,EAAyB;AAC1C,eAAO,CAAC,OAAR,CAAe,gCAAK,IAAL,GAAS;AAAE,kBAAQ,EAAE;AAAZ,SAAT,CAAf;AACD,OAFD;;AAGA,WAAK,YAAL;;AAEA,UAAI,IAAI,CAAC,SAAL,KAAmB,KAAvB,EAA8B;AAC3B,aAAK,YAAL,CAAwC,IAAxC,CAA6C,KAAK,KAAlD;AACA,aAAK,aAAL,CAA4C,IAA5C,CAAiD,KAAK,MAAtD;AACF;;AAED,WAAK,gBAAL,CAAqB,gCAAK,IAAL,GAAS;AAAE,yBAAiB,EAAjB;AAAF,OAAT,CAArB;;AACA,WAAK,iBAAL,CAAuB,OAAvB,CAA+B,UAAC,QAAD;AAAA,eAAc,QAAQ,CAAC,IAAD,CAAtB;AAAA,OAA/B;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEH;AAAO;AACE;AACE;AACE;AACE;AAElB;AAAsB;AACE;AAEJ;;;;WAAzB,kBAA2D;AAAA,UAApD,IAAoD,uEAAF,EAAE;;AAAI;AACmB;AAEhF,UAAM,iBAAiB,GAAG,KAAK,kBAAL,CAAwB,IAAI,CAAC,QAA7B,CAA1B;;AAEC,WAA0B,MAA1B,GAAmC,KAAnC;;AACD,WAAK,aAAL,CAAmB,UAAC,OAAD,EAAyB;AAC1C,eAAO,CAAC,MAAR,CAAc,gCAAK,IAAL,GAAS;AAAE,kBAAQ,EAAE;AAAZ,SAAT,CAAd;AACD,OAFD;;AAGA,WAAK,sBAAL,CAA4B;AAAC,gBAAQ,EAAE,IAAX;AAAiB,iBAAS,EAAE,IAAI,CAAC;AAAjC,OAA5B;;AAEA,WAAK,gBAAL,CAAqB,gCAAK,IAAL,GAAS;AAAE,yBAAiB,EAAjB;AAAF,OAAT,CAArB;;AACA,WAAK,iBAAL,CAAuB,OAAvB,CAA+B,UAAC,QAAD;AAAA,eAAc,QAAQ,CAAC,KAAD,CAAtB;AAAA,OAA/B;AACD;;;WAEO,0BACJ,IADI,EACwE;AAC9E,UAAI,KAAK,OAAL,IAAgB,CAAC,IAAI,CAAC,QAA1B,EAAoC;AAClC,aAAK,OAAL,CAAa,sBAAb,CAAoC,IAApC;;AACA,YAAI,CAAC,IAAI,CAAC,iBAAV,EAA6B;AAC3B,eAAK,OAAL,CAAa,eAAb;AACD;;AACD,aAAK,OAAL,CAAa,cAAb;AACD;AACF;AACH;AAEC;AACE;;;;WACD,mBAAU,MAAV,EAAqC;AACnC,WAAK,OAAL,GAAe,MAAf;AACD;AACH;AAEC;AAAoE;AAAO;AAK5E;AAAO;AAEY;AAGZ;AAES;AAGR;AAEqB;AAAsB;AAEc;AAC3D;;;;WAQJ,kCAA2E;AAAA,UAApD,IAAoD,uEAAF,EAAE;;AACzE,WAAK,iBAAL;;AACA,WAAK,YAAL;;AAEA,UAAI,KAAK,OAAT,EAAkB;AAChB,aAAK,2BAAL;;AACC,aAA2C,MAA3C,GAAoD,KAAK,aAAL,EAApD;AACA,aAA0B,MAA1B,GAAmC,KAAK,gBAAL,EAAnC;;AAED,YAAI,KAAK,MAAL,KAAgB,KAAhB,IAAyB,KAAK,MAAL,KAAgB,OAA7C,EAAsD;AACpD,eAAK,kBAAL,CAAwB,IAAI,CAAC,SAA7B;AACD;AACF;;AAED,UAAI,IAAI,CAAC,SAAL,KAAmB,KAAvB,EAA8B;AAC3B,aAAK,YAAL,CAAwC,IAAxC,CAA6C,KAAK,KAAlD;AACA,aAAK,aAAL,CAA4C,IAA5C,CAAiD,KAAK,MAAtD;AACF;;AAED,UAAI,KAAK,OAAL,IAAgB,CAAC,IAAI,CAAC,QAA1B,EAAoC;AAClC,aAAK,OAAL,CAAa,sBAAb,CAAoC,IAApC;AACD;AACF;AACH;;;;WAEE,+BAAmE;AAAA,UAA/C,IAA+C,uEAAjB;AAAC,iBAAS,EAAE;AAAZ,OAAiB;;AACjE,WAAK,aAAL,CAAmB,UAAC,IAAD;AAAA,eAA2B,IAAI,CAAC,mBAAL,CAAyB,IAAzB,CAA3B;AAAA,OAAnB;;AACA,WAAK,sBAAL,CAA4B;AAAC,gBAAQ,EAAE,IAAX;AAAiB,iBAAS,EAAE,IAAI,CAAC;AAAjC,OAA5B;AACD;;;WAEO,6BAAiB;AACtB,WAA0B,MAA1B,GAAmC,KAAK,oBAAL,KAA8B,QAA9B,GAAyC,KAA5E;AACF;;;WAEO,yBAAa;AACnB,aAAO,KAAK,SAAL,GAAiB,KAAK,SAAL,CAAe,IAAf,CAAjB,GAAwC,IAA/C;AACD;;;WAEO,4BAAmB,SAAnB,EAAsC;AAAA;;AAC5C,UAAI,KAAK,cAAT,EAAyB;AACtB,aAA0B,MAA1B,GAAmC,OAAnC;AACD,aAAK,4BAAL,GAAoC,IAApC;AACA,YAAM,GAAG,GAAG,YAAY,CAAC,KAAK,cAAL,CAAoB,IAApB,CAAD,CAAxB;AACA,aAAK,4BAAL,GAAoC,GAAG,CAAC,SAAJ,CAAc,UAAC,MAAD,EAA8B;AAC9E,gBAAI,CAAC,4BAAL,GAAoC,KAApC,CAD8E,CAEtF;AACQ;AACQ;;AACR,gBAAI,CAAC,SAAL,CAAe,MAAf,EAAuB;AAAC,qBAAS,EAAT;AAAD,WAAvB;AACD,SANmC,CAApC;AAOD;AACF;;;WAEO,uCAA2B;AACjC,UAAI,KAAK,4BAAT,EAAuC;AACrC,aAAK,4BAAL,CAAkC,WAAlC;;AACA,aAAK,4BAAL,GAAoC,KAApC;AACD;AACF;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAGZ;AAAO;AAAW;AACE;AAErB;AAEW;AAAW;AAAO;AACE;AAEH;AAAO;AAEH;AAAO;AAGb;AAAW;;;;WAAnC,mBAAU,MAAV,EAAyE;AAAA,UAAhC,IAAgC,uEAAF,EAAE;AACtE,WAA2C,MAA3C,GAAoD,MAApD;;AACD,WAAK,qBAAL,CAA2B,IAAI,CAAC,SAAL,KAAmB,KAA9C;AACD;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AACE;AAEH;AAAO;AAEH;AAAO;AAIlB;AAAO;AAAY;AAAO;AAEJ;;;;WAAvB,aAAI,IAAJ,EAAqC;AACnC,aAAO,KAAK,CAAC,IAAD,EAAO,IAAP,EAAa,GAAb,CAAZ;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AACE;AAGZ;AAAO;AAAW;AACE;AAIrB;AAAW;AAAW;AAAO;AAEH;AAAO;AAEH;AAAO;AACE;AAEH;AAAO;AAG3B;AAAyB;;;;WAA3C,kBAAS,SAAT,EAA4B,IAA5B,EAA8D;AAC5D,UAAM,OAAO,GAAG,IAAI,GAAG,KAAK,GAAL,CAAS,IAAT,CAAH,GAAoB,IAAxC;AACA,aAAO,OAAO,IAAI,OAAO,CAAC,MAAnB,GAA4B,OAAO,CAAC,MAAR,CAAe,SAAf,CAA5B,GAAwD,IAA/D;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AACE;AAGZ;AAAO;AAAW;AACE;AAIrB;AAAW;AAAW;AAAO;AAEH;AAAO;AAEH;AAAO;AACE;AAEH;AAAO;AAEH;AAAO;AAEH;AAChD;AACmD;;;;WAAjD,kBAAS,SAAT,EAA4B,IAA5B,EAA8D;AAC5D,aAAO,CAAC,CAAC,KAAK,QAAL,CAAc,SAAd,EAAyB,IAAzB,CAAT;AACD;AACH;AAEC;AACE;;;;SACD,eAAQ;AACN,UAAI,CAAC,GAAoB,IAAzB;;AAEA,aAAO,CAAC,CAAC,OAAT,EAAkB;AAChB,SAAC,GAAG,CAAC,CAAC,OAAN;AACD;;AAED,aAAO,CAAP;AACD;AACH;;;;WAEE,+BAAsB,SAAtB,EAAwC;AACrC,WAA0B,MAA1B,GAAmC,KAAK,gBAAL,EAAnC;;AAED,UAAI,SAAJ,EAAe;AACZ,aAAK,aAAL,CAA4C,IAA5C,CAAiD,KAAK,MAAtD;AACF;;AAED,UAAI,KAAK,OAAT,EAAkB;AAChB,aAAK,OAAL,CAAa,qBAAb,CAAmC,SAAnC;AACD;AACF;AACH;;;;WAEE,4BAAgB;AACb,WAAyC,YAAzC,GAAwD,IAAI,0DAAJ,EAAxD;AACA,WAA0C,aAA1C,GAA0D,IAAI,0DAAJ,EAA1D;AACF;;;WAGO,4BAAgB;AACtB,UAAI,KAAK,oBAAL,EAAJ,EAAiC,OAAO,QAAP;AACjC,UAAI,KAAK,MAAT,EAAiB,OAAO,OAAP;AACjB,UAAI,KAAK,4BAAL,IAAqC,KAAK,sBAAL,CAA4B,OAA5B,CAAzC,EAA+E,OAAO,OAAP;AAC/E,UAAI,KAAK,sBAAL,CAA4B,OAA5B,CAAJ,EAA0C,OAAO,OAAP;AAC1C,aAAO,KAAP;AACD;AACH;;;;WAiBE,gCAAuB,MAAvB,EAAqC;AACnC,aAAO,KAAK,YAAL,CAAkB,UAAC,OAAD;AAAA,eAA8B,OAAO,CAAC,MAAR,KAAmB,MAAjD;AAAA,OAAlB,CAAP;AACD;AACH;;;;WAEE,6BAAiB;AACf,aAAO,KAAK,YAAL,CAAkB,UAAC,OAAD;AAAA,eAA8B,OAAO,CAAC,KAAtC;AAAA,OAAlB,CAAP;AACD;AACH;;;;WAEE,+BAAmB;AACjB,aAAO,KAAK,YAAL,CAAkB,UAAC,OAAD;AAAA,eAA8B,OAAO,CAAC,OAAtC;AAAA,OAAlB,CAAP;AACD;AACH;;;;WAEE,2BAA+C;AAAA,UAA/B,IAA+B,uEAAF,EAAE;AAC5C,WAA6B,QAA7B,GAAwC,CAAC,KAAK,iBAAL,EAAzC;;AAED,UAAI,KAAK,OAAL,IAAgB,CAAC,IAAI,CAAC,QAA1B,EAAoC;AAClC,aAAK,OAAL,CAAa,eAAb,CAA6B,IAA7B;AACD;AACF;AACH;;;;WAEE,0BAA8C;AAAA,UAA/B,IAA+B,uEAAF,EAAE;AAC3C,WAA4B,OAA5B,GAAsC,KAAK,mBAAL,EAAtC;;AAED,UAAI,KAAK,OAAL,IAAgB,CAAC,IAAI,CAAC,QAA1B,EAAoC;AAClC,aAAK,OAAL,CAAa,cAAb,CAA4B,IAA5B;AACD;AACF;AACH;;;;WAKE,uBAAc,SAAd,EAA4B;AAC1B,aAAO,OAAO,SAAP,KAAqB,QAArB,IAAiC,SAAS,KAAK,IAA/C,IACH,MAAM,CAAC,IAAP,CAAY,SAAZ,EAAuB,MAAvB,KAAkC,CAD/B,IACoC,WAAW,SAD/C,IAC4D,cAAc,SADjF;AAED;AACH;;;;WAEE,qCAA4B,EAA5B,EAA0C;AACxC,WAAK,mBAAL,GAA2B,EAA3B;AACD;AACH;;;;WAEE,4BAAmB,IAAnB,EAA+E;AAC7E,UAAI,YAAY,CAAC,IAAD,CAAZ,IAAsB,IAAI,CAAC,QAAL,IAAiB,IAA3C,EAAiD;AAC/C,aAAK,SAAL,GAAiB,IAAI,CAAC,QAAtB;AACD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAS,4BAAmB,QAAnB,EAAqC;AAC3C,UAAM,WAAW,GAAG,KAAK,OAAL,IAAgB,KAAK,OAAL,CAAa,KAAjD;AACA,aAAO,CAAC,QAAD,IAAa,CAAC,CAAC,WAAf,IAA8B,CAAC,KAAK,OAAL,CAAc,iBAAd,EAAtC;AACD;;;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACa,W;;;;;AACb;AAAQ;AAGL;AAAO;AAIU;AAKP;AAAO;AACU;AAEsB;AAC5C;AAAO;AACF;AAAO;AAKlB,yBAG6D;AAAA;;AAAA,QAFzD,SAEyD,uEAFxC,IAEwC;AAAA,QADzD,eACyD;AAAA,QAAzD,cAAyD;;AAAA;;AAC3D,gCAAM,cAAc,CAAC,eAAD,CAApB,EAAuC,mBAAmB,CAAC,cAAD,EAAiB,eAAjB,CAA1D;AACJ;;AA1BE,uBAAwB,EAAxB;;AA0BE,WAAK,eAAL,CAAqB,SAArB;;AACA,WAAK,kBAAL,CAAwB,eAAxB;;AACA,WAAK,gBAAL;;AACA,WAAK,sBAAL,CAA4B;AAC1B,cAAQ,EAAE,IADgB;AAEhC;AACM;AACM;AACM;AACZ,eAAS,EAAE,CAAC,CAAC;AANa,KAA5B;;AAL2D;AAa5D;AACH;AAEC;AACE;AACE;AACE;AACE;AACE;AACE;AAEH;AAAO;AAEV;AAAc;AAElB;AAAsB;AACE;AACE;AAEvB;AACK;AAAwB;AAEnB;AAEd;AAC4B;AAC3B;;;;;WADD,kBAAS,KAAT,EAKM;AAAA;;AAAA,UALe,OAKf,uEAAF,EAAE;AACH,WAAsB,KAAtB,GAA8B,KAAK,aAAL,GAAqB,KAAnD;;AACD,UAAI,KAAK,SAAL,CAAe,MAAf,IAAyB,OAAO,CAAC,qBAAR,KAAkC,KAA/D,EAAsE;AACpE,aAAK,SAAL,CAAe,OAAf,CACI,UAAC,QAAD;AAAA,iBAAc,QAAQ,CAAC,MAAI,CAAC,KAAN,EAAa,OAAO,CAAC,qBAAR,KAAkC,KAA/C,CAAtB;AAAA,SADJ;AAED;;AACD,WAAK,sBAAL,CAA4B,OAA5B;AACD;AACH;AAEC;AACE;AACE;AACE;AACE;AAEH;AAAO;AAEJ;;;;WAAP,oBAAW,KAAX,EAKM;AAAA,UALiB,OAKjB,uEAAF,EAAE;AACJ,WAAK,QAAL,CAAc,KAAd,EAAqB,OAArB;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AAEH;AAAO;AACE;AAEH;AAAO;AAEV;AAAc;AAElB;AAAsB;AACE;AAGT;AAAO;;;;WAAzB,iBAAoF;AAAA,UAA9E,SAA8E,uEAA7D,IAA6D;AAAA,UAAvD,OAAuD,uEAAF,EAAE;;AAClF,WAAK,eAAL,CAAqB,SAArB;;AACA,WAAK,cAAL,CAAoB,OAApB;AACA,WAAK,eAAL,CAAqB,OAArB;AACA,WAAK,QAAL,CAAc,KAAK,KAAnB,EAA0B,OAA1B;AACA,WAAK,cAAL,GAAsB,KAAtB;AACD;AACH;AAEC;AACE;;;;WACD,wBAAY,CAAK;AACnB;AAEC;AACE;;;;WACD,sBAAa,SAAb,EAAgC;AAC9B,aAAO,KAAP;AACD;AACH;AAEC;AACE;;;;WACD,gCAAoB;AAClB,aAAO,KAAK,QAAZ;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,0BAAiB,EAAjB,EAA6B;AAC3B,WAAK,SAAL,CAAe,IAAf,CAAoB,EAApB;AACD;AACH;AAEC;AACE;AACE;;;;WACH,6BAAoB,EAApB,EAAgC;AAC9B,oBAAc,CAAC,KAAK,SAAN,EAAiB,EAAjB,CAAd;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,kCAAyB,EAAzB,EAA0D;AACxD,WAAK,iBAAL,CAAuB,IAAvB,CAA4B,EAA5B;AACD;AACH;AAEC;AACE;AACE;;;;WACH,qCAA4B,EAA5B,EAA6D;AAC3D,oBAAc,CAAC,KAAK,iBAAN,EAAyB,EAAzB,CAAd;AACD;AACH;AAEC;AACE;;;;WACD,uBAAc,EAAd,EAA0B,CAAU;AACtC;;;;WAEE,gCAAoB;AAClB,UAAI,KAAK,QAAL,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,KAAK,aAAT,EAAwB,KAAK,WAAL;AACxB,YAAI,KAAK,eAAT,EAA0B,KAAK,aAAL;;AAC1B,YAAI,KAAK,cAAT,EAAyB;AACvB,eAAK,QAAL,CAAc,KAAK,aAAnB,EAAkC;AAAC,oBAAQ,EAAE,IAAX;AAAiB,iCAAqB,EAAE;AAAxC,WAAlC;AACA,iBAAO,IAAP;AACD;AACF;;AACD,aAAO,KAAP;AACD;;;WAEO,yBAAgB,SAAhB,EAA8B;AACpC,UAAI,KAAK,aAAL,CAAmB,SAAnB,CAAJ,EAAmC;AAChC,aAAsB,KAAtB,GAA8B,KAAK,aAAL,GAAqB,SAAS,CAAC,KAA7D;AACD,iBAAS,CAAC,QAAV,GAAqB,KAAK,OAAL,CAAa;AAAC,kBAAQ,EAAE,IAAX;AAAiB,mBAAS,EAAE;AAA5B,SAAb,CAArB,GACqB,KAAK,MAAL,CAAY;AAAC,kBAAQ,EAAE,IAAX;AAAiB,mBAAS,EAAE;AAA5B,SAAZ,CADrB;AAED,OAJD,MAIO;AACJ,aAAsB,KAAtB,GAA8B,KAAK,aAAL,GAAqB,SAAnD;AACF;AACF;;;;EAzM8B,e;AA4MjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACa,S;;;;;AACb;AACE;AACE;AACE;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AAGT;AACR;AADD,qBACW,QADX,EAEI,eAFJ,EAGI,cAHJ,EAG6D;AAAA;;AAAA;;AAC3D,iCAAM,cAAc,CAAC,eAAD,CAApB,EAAuC,mBAAmB,CAAC,cAAD,EAAiB,eAAjB,CAA1D;AAHS;;AAIT,YAAK,gBAAL;;AACA,YAAK,kBAAL,CAAwB,eAAxB;;AACA,YAAK,cAAL;;AACA,YAAK,sBAAL,CAA4B;AAC1B,cAAQ,EAAE,IADgB;AAEhC;AACM;AACM;AACN,eAAS,EAAE,CAAC,CAAC;AALa,KAA5B;;AAL2D;AAY5D;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AACE;AAEJ;;;;;WAAP,yBAAgB,IAAhB,EAA8B,OAA9B,EAAsD;AACpD,UAAI,KAAK,QAAL,CAAc,IAAd,CAAJ,EAAyB,OAAO,KAAK,QAAL,CAAc,IAAd,CAAP;AACzB,WAAK,QAAL,CAAc,IAAd,IAAsB,OAAtB;AACA,aAAO,CAAC,SAAR,CAAkB,IAAlB;;AACA,aAAO,CAAC,2BAAR,CAAoC,KAAK,mBAAzC;;AACA,aAAO,OAAP;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AACE;AAEJ;;;;WAAL,oBAAW,IAAX,EAAyB,OAAzB,EAAiD;AAC/C,WAAK,eAAL,CAAqB,IAArB,EAA2B,OAA3B;AACA,WAAK,sBAAL;;AACA,WAAK,mBAAL;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,uBAAc,IAAd,EAA0B;AACxB,UAAI,KAAK,QAAL,CAAc,IAAd,CAAJ,EAAyB,KAAK,QAAL,CAAc,IAAd,EAAoB,2BAApB,CAAgD,aAAQ,CAAxD;AACzB,aAAQ,KAAK,QAAL,CAAc,IAAd,CAAR;AACA,WAAK,sBAAL;;AACA,WAAK,mBAAL;AACD;AACH;AAEC;AACE;AACE;AACE;AAEJ;;;;WAAD,oBAAW,IAAX,EAAyB,OAAzB,EAAiD;AAC/C,UAAI,KAAK,QAAL,CAAc,IAAd,CAAJ,EAAyB,KAAK,QAAL,CAAc,IAAd,EAAoB,2BAApB,CAAgD,aAAQ,CAAxD;AACzB,aAAQ,KAAK,QAAL,CAAc,IAAd,CAAR;AACA,UAAI,OAAJ,EAAa,KAAK,eAAL,CAAqB,IAArB,EAA2B,OAA3B;AACb,WAAK,sBAAL;;AACA,WAAK,mBAAL;AACD;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEJ;;;;WAAT,kBAAS,WAAT,EAA4B;AAC1B,aAAO,KAAK,QAAL,CAAc,cAAd,CAA6B,WAA7B,KAA6C,KAAK,QAAL,CAAc,WAAd,EAA2B,OAA/E;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AAEH;AACF;AAAW;AACE;AACE;AAGZ;AAAW;AAAO;AAEH;AAAO;AACE;AAGZ;AAAW;AAAO;AACE;AAEH;AAAO;AACE;AAE7C;AAAiD;AAGxC;AAAuC;AAAO;AAEV;AAAc;AAElB;AAAsB;AAG5C;AAA0C;;;;WAA3D,kBAAS,KAAT,EAA6F;AAAA;;AAAA,UAAvD,OAAuD,uEAAF,EAAE;;AAE3F,WAAK,sBAAL,CAA4B,KAA5B;;AACA,YAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,OAAnB,CAA2B,cAAI;AAC7B,eAAI,CAAC,sBAAL,CAA4B,IAA5B;;AACA,eAAI,CAAC,QAAL,CAAc,IAAd,EAAoB,QAApB,CAA6B,KAAK,CAAC,IAAD,CAAlC,EAA0C;AAAC,kBAAQ,EAAE,IAAX;AAAiB,mBAAS,EAAE,OAAO,CAAC;AAApC,SAA1C;AACD,OAHD;AAIA,WAAK,sBAAL,CAA4B,OAA5B;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AACE;AAGZ;AAAO;AAAW;AACE;AACE;AAEP;AAAW;AAEH;AAAO;AACE;AAGZ;AAAW;AAAO;AACE;AACE;AACE;AAET;AAAa;AAElB;AAAsB;AAEtC;AAA0C;AAGzC;AAAuC;;;;WAAvD,oBAAW,KAAX,EAA+F;AAAA;;AAAA,UAAvD,OAAuD,uEAAF,EAAE;AAE7F,YAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,OAAnB,CAA2B,cAAI;AAC7B,YAAI,OAAI,CAAC,QAAL,CAAc,IAAd,CAAJ,EAAyB;AACvB,iBAAI,CAAC,QAAL,CAAc,IAAd,EAAoB,UAApB,CAA+B,KAAK,CAAC,IAAD,CAApC,EAA4C;AAAC,oBAAQ,EAAE,IAAX;AAAiB,qBAAS,EAAE,OAAO,CAAC;AAApC,WAA5C;AACD;AACF,OAJD;AAKA,WAAK,sBAAL,CAA4B,OAA5B;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AAEX;AACU;AAAO;AACE;AAEH;AAAO;AACE;AACE;AAEV;AAAc;AAElB;AAAsB;AACE;AACE;AAEnC;AAGY;AAAO;AAEvB;AAAO;AAEN;AAAO;AAAa;AACT;AAGT;AAA4C;AAAW;AAAO;AAI/D;AAAO;AAAyD;AAC9D;AAGA;AAEH;AAAO;AACyB;AAAO;AAClC;AACN;AAGe;AACH;AACT;AACF;AACe;AACA;AAAsB;AAAW;AAAO;AAGvB;AAC7B;AAAW;;;;WADb,iBAA8E;AAAA,UAAxE,KAAwE,uEAA3D,EAA2D;AAAA,UAAvD,OAAuD,uEAAF,EAAE;;AAC5E,WAAK,aAAL,CAAmB,UAAC,OAAD,EAA2B,IAA3B,EAAuC;AACxD,eAAO,CAAC,KAAR,CAAc,KAAK,CAAC,IAAD,CAAnB,EAA2B;AAAC,kBAAQ,EAAE,IAAX;AAAiB,mBAAS,EAAE,OAAO,CAAC;AAApC,SAA3B;AACD,OAFD;;AAGA,WAAK,eAAL,CAAqB,OAArB;;AACA,WAAK,cAAL,CAAoB,OAApB;;AACA,WAAK,sBAAL,CAA4B,OAA5B;AACD;AACH;AAEC;AACE;AACE;AACE;AACE;AAEJ;;;;WAAH,uBAAW;AACT,aAAO,KAAK,eAAL,CACH,EADG,EACC,UAAC,GAAD,EAAsC,OAAtC,EAAgE,IAAhE,EAA4E;AAC9E,WAAG,CAAC,IAAD,CAAH,GAAY,OAAO,YAAY,WAAnB,GAAiC,OAAO,CAAC,KAAzC,GAAuD,OAAQ,CAAC,WAAT,EAAnE;AACA,eAAO,GAAP;AACD,OAJE,CAAP;AAKD;AACH;;;;WAEE,gCAAoB;AAClB,UAAI,cAAc,GAAG,KAAK,eAAL,CAAqB,KAArB,EAA4B,UAAC,OAAD,EAAmB,KAAnB,EAAyC;AACxF,eAAO,KAAK,CAAC,oBAAN,KAA+B,IAA/B,GAAsC,OAA7C;AACD,OAFoB,CAArB;;AAGA,UAAI,cAAJ,EAAoB,KAAK,sBAAL,CAA4B;AAAC,gBAAQ,EAAE;AAAX,OAA5B;AACpB,aAAO,cAAP;AACD;AACH;;;;WAEE,gCAAuB,IAAvB,EAAmC;AACjC,UAAI,CAAC,MAAM,CAAC,IAAP,CAAY,KAAK,QAAjB,EAA2B,MAAhC,EAAwC;AACtC,cAAM,IAAI,KAAJ,yKAAN;AAID;;AACD,UAAI,CAAC,KAAK,QAAL,CAAc,IAAd,CAAL,EAA0B;AACxB,cAAM,IAAI,KAAJ,+CAAiD,IAAjD,OAAN;AACD;AACF;AACH;;;;WAEE,uBAAc,EAAd,EAA6C;AAAA;;AAC3C,YAAM,CAAC,IAAP,CAAY,KAAK,QAAjB,EAA2B,OAA3B,CAAmC,WAAC;AAAA,eAAI,EAAE,CAAC,OAAI,CAAC,QAAL,CAAc,CAAd,CAAD,EAAmB,CAAnB,CAAN;AAAA,OAApC;AACD;AACH;;;;WAEE,0BAAc;AAAA;;AACZ,WAAK,aAAL,CAAmB,UAAC,OAAD,EAAyB;AAC1C,eAAO,CAAC,SAAR,CAAkB,OAAlB;;AACA,eAAO,CAAC,2BAAR,CAAoC,OAAI,CAAC,mBAAzC;AACD,OAHD;AAID;AACH;;;;WAEE,wBAAY;AACT,WAAsB,KAAtB,GAA8B,KAAK,YAAL,EAA9B;AACF;AACH;;;;WAEE,sBAAa,SAAb,EAAgC;AAC9B,uCAA0B,MAAM,CAAC,IAAP,CAAY,KAAK,QAAjB,CAA1B,oCAAsD;AAAjD,YAAM,WAAW,oBAAjB;AACH,YAAM,OAAO,GAAG,KAAK,QAAL,CAAc,WAAd,CAAhB;;AACA,YAAI,KAAK,QAAL,CAAc,WAAd,KAA8B,SAAS,CAAC,OAAD,CAA3C,EAAsD;AACpD,iBAAO,IAAP;AACD;AACF;;AACD,aAAO,KAAP;AACD;AACH;;;;WAEE,wBAAY;AAAA;;AACV,aAAO,KAAK,eAAL,CACH,EADG,EACC,UAAC,GAAD,EAAsC,OAAtC,EAAgE,IAAhE,EAA4E;AAC9E,YAAI,OAAO,CAAC,OAAR,IAAmB,OAAI,CAAC,QAA5B,EAAsC;AACpC,aAAG,CAAC,IAAD,CAAH,GAAY,OAAO,CAAC,KAApB;AACD;;AACD,eAAO,GAAP;AACD,OANE,CAAP;AAOD;AACH;;;;WAEE,yBAAgB,SAAhB,EAAgC,EAAhC,EAA4C;AAC1C,UAAI,GAAG,GAAG,SAAV;;AACA,WAAK,aAAL,CAAmB,UAAC,OAAD,EAA2B,IAA3B,EAAuC;AACxD,WAAG,GAAG,EAAE,CAAC,GAAD,EAAM,OAAN,EAAe,IAAf,CAAR;AACD,OAFD;;AAGA,aAAO,GAAP;AACD;AACH;;;;WAEE,gCAAoB;AAClB,wCAA0B,MAAM,CAAC,IAAP,CAAY,KAAK,QAAjB,CAA1B,qCAAsD;AAAjD,YAAM,WAAW,qBAAjB;;AACH,YAAI,KAAK,QAAL,CAAc,WAAd,EAA2B,OAA/B,EAAwC;AACtC,iBAAO,KAAP;AACD;AACF;;AACD,aAAO,MAAM,CAAC,IAAP,CAAY,KAAK,QAAjB,EAA2B,MAA3B,GAAoC,CAApC,IAAyC,KAAK,QAArD;AACD;AACH;;;;WAEE,gCAAuB,KAAvB,EAAiC;AAC/B,WAAK,aAAL,CAAmB,UAAC,OAAD,EAA2B,IAA3B,EAAuC;AACxD,YAAI,KAAK,CAAC,IAAD,CAAL,KAAgB,SAApB,EAA+B;AAC7B,gBAAM,IAAI,KAAJ,4DAA8D,IAA9D,QAAN;AACD;AACF,OAJD;AAKD;;;;EAvW4B,e;AA0W/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACa,S;;;;;AACb;AACE;AACE;AACE;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AAGT;AACR;AADD,qBACW,QADX,EAEI,eAFJ,EAGI,cAHJ,EAG6D;AAAA;;AAAA;;AAC3D,iCAAM,cAAc,CAAC,eAAD,CAApB,EAAuC,mBAAmB,CAAC,cAAD,EAAiB,eAAjB,CAA1D;AAHS;;AAIT,YAAK,gBAAL;;AACA,YAAK,kBAAL,CAAwB,eAAxB;;AACA,YAAK,cAAL;;AACA,YAAK,sBAAL,CAA4B;AAC1B,cAAQ,EAAE,IADgB;AAEhC;AACM;AACM;AACM;AACZ,eAAS,EAAE,CAAC,CAAC;AANa,KAA5B;;AAL2D;AAa5D;AACH;AAEC;AACE;AACE;AAEJ;;;;;WAAC,YAAG,KAAH,EAAgB;AACd,aAAO,KAAK,QAAL,CAAc,KAAd,CAAP;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,cAAK,OAAL,EAA6B;AAC3B,WAAK,QAAL,CAAc,IAAd,CAAmB,OAAnB;;AACA,WAAK,gBAAL,CAAsB,OAAtB;;AACA,WAAK,sBAAL;;AACA,WAAK,mBAAL;AACD;AACH;AAEC;AACE;AACE;AACE;AAEJ;;;;WAAD,gBAAO,KAAP,EAAsB,OAAtB,EAA8C;AAC5C,WAAK,QAAL,CAAc,MAAd,CAAqB,KAArB,EAA4B,CAA5B,EAA+B,OAA/B;;AAEA,WAAK,gBAAL,CAAsB,OAAtB;;AACA,WAAK,sBAAL;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,kBAAS,KAAT,EAAsB;AACpB,UAAI,KAAK,QAAL,CAAc,KAAd,CAAJ,EAA0B,KAAK,QAAL,CAAc,KAAd,EAAqB,2BAArB,CAAiD,aAAQ,CAAzD;AAC1B,WAAK,QAAL,CAAc,MAAd,CAAqB,KAArB,EAA4B,CAA5B;AACA,WAAK,sBAAL;AACD;AACH;AAEC;AACE;AACE;AACE;AAEJ;;;;WAAD,oBAAW,KAAX,EAA0B,OAA1B,EAAkD;AAChD,UAAI,KAAK,QAAL,CAAc,KAAd,CAAJ,EAA0B,KAAK,QAAL,CAAc,KAAd,EAAqB,2BAArB,CAAiD,aAAQ,CAAzD;AAC1B,WAAK,QAAL,CAAc,MAAd,CAAqB,KAArB,EAA4B,CAA5B;;AAEA,UAAI,OAAJ,EAAa;AACX,aAAK,QAAL,CAAc,MAAd,CAAqB,KAArB,EAA4B,CAA5B,EAA+B,OAA/B;;AACA,aAAK,gBAAL,CAAsB,OAAtB;AACD;;AAED,WAAK,sBAAL;;AACA,WAAK,mBAAL;AACD;AACH;AAEC;AACE;;;;SACD,eAAU;AACR,aAAO,KAAK,QAAL,CAAc,MAArB;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AACE;AAGZ;AAAO;AAAW;AACE;AAEvB;AACkB;AAAW;AAEH;AAAO;AACE;AAGZ;AAAW;AAAO;AACE;AAG7C;AAA4C;AAAO;AAEb;AAAiB;AAElB;AAAsB;AAEtC;AAA0C;AAGzC;AAAuC;;;;WAA3D,kBAAS,KAAT,EAA8E;AAAA;;AAAA,UAAvD,OAAuD,uEAAF,EAAE;;AAC5E,WAAK,sBAAL,CAA4B,KAA5B;;AACA,WAAK,CAAC,OAAN,CAAc,UAAC,QAAD,EAAgB,KAAhB,EAA6B;AACzC,eAAI,CAAC,sBAAL,CAA4B,KAA5B;;AACA,eAAI,CAAC,EAAL,CAAQ,KAAR,EAAe,QAAf,CAAwB,QAAxB,EAAkC;AAAC,kBAAQ,EAAE,IAAX;AAAiB,mBAAS,EAAE,OAAO,CAAC;AAApC,SAAlC;AACD,OAHD;AAIA,WAAK,sBAAL,CAA4B,OAA5B;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AACE;AAGZ;AAAO;AAAW;AACE;AACE;AAEP;AAAW;AAEH;AACzB;AAAkC;AAGZ;AAAW;AAAO;AACE;AAExC;AACuC;AAAO;AAEb;AAAiB;AAElB;AAAsB;AAEtC;AAA0C;AAGzC;AAAuC;;;;WAAzD,oBAAW,KAAX,EAAgF;AAAA;;AAAA,UAAvD,OAAuD,uEAAF,EAAE;AAC9E,WAAK,CAAC,OAAN,CAAc,UAAC,QAAD,EAAgB,KAAhB,EAA6B;AACzC,YAAI,OAAI,CAAC,EAAL,CAAQ,KAAR,CAAJ,EAAoB;AAClB,iBAAI,CAAC,EAAL,CAAQ,KAAR,EAAe,UAAf,CAA0B,QAA1B,EAAoC;AAAC,oBAAQ,EAAE,IAAX;AAAiB,qBAAS,EAAE,OAAO,CAAC;AAApC,WAApC;AACD;AACF,OAJD;AAKA,WAAK,sBAAL,CAA4B,OAA5B;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AACE;AAGd;AAAO;AAAa;AACE;AAExB;AACmB;AAAW;AAEH;AAAO;AAGZ;AAAW;AAAO;AAIlC;AAAO;AAAW;AAChB;AAGc;AAAgB;AAAW;AAAO;AAEvD;AAE6C;AACxC;AAAO;AAAqD;AAG7C;AAA4C;AAAO;AAEb;AAAiB;AAElB;AAAsB;AAEtC;AAA0C;AAGzC;AAAuC;;;;WAAjF,iBAA8E;AAAA,UAAxE,KAAwE,uEAA3D,EAA2D;AAAA,UAAvD,OAAuD,uEAAF,EAAE;;AAC5E,WAAK,aAAL,CAAmB,UAAC,OAAD,EAA2B,KAA3B,EAAwC;AACzD,eAAO,CAAC,KAAR,CAAc,KAAK,CAAC,KAAD,CAAnB,EAA4B;AAAC,kBAAQ,EAAE,IAAX;AAAiB,mBAAS,EAAE,OAAO,CAAC;AAApC,SAA5B;AACD,OAFD;;AAGA,WAAK,eAAL,CAAqB,OAArB;;AACA,WAAK,cAAL,CAAoB,OAApB;;AACA,WAAK,sBAAL,CAA4B,OAA5B;AACD;AACH;AAEC;AACE;AACE;AACE;AAEJ;;;;WAAD,uBAAW;AACT,aAAO,KAAK,QAAL,CAAc,GAAd,CAAkB,UAAC,OAAD,EAAyB;AAChD,eAAO,OAAO,YAAY,WAAnB,GAAiC,OAAO,CAAC,KAAzC,GAAuD,OAAQ,CAAC,WAAT,EAA9D;AACD,OAFM,CAAP;AAGD;AACH;AAEC;AACE;AACE;AACE;AAEH;AACJ;AAAa;AACE;AACE;AAEP;AAAW;AAGrB;AAAO;AAAoB;AAGZ;AAAW;AAAO;AAGd;AAAO;AACpB;AACQ;AAGX;AACE;AAAW;AAAO;AAInB;AACS;AAAS;AAAW;;;;WAD/B,iBAAK;AACH,UAAI,KAAK,QAAL,CAAc,MAAd,GAAuB,CAA3B,EAA8B;;AAC9B,WAAK,aAAL,CAAmB,UAAC,OAAD;AAAA,eAA8B,OAAO,CAAC,2BAAR,CAAoC,aAAQ,CAA5C,CAA9B;AAAA,OAAnB;;AACA,WAAK,QAAL,CAAc,MAAd,CAAqB,CAArB;AACA,WAAK,sBAAL;AACD;AACH;;;;WAEE,gCAAoB;AAClB,UAAI,cAAc,GAAG,KAAK,QAAL,CAAc,MAAd,CAAqB,UAAC,OAAD,EAAmB,KAAnB,EAAyC;AACjF,eAAO,KAAK,CAAC,oBAAN,KAA+B,IAA/B,GAAsC,OAA7C;AACD,OAFoB,EAElB,KAFkB,CAArB;AAGA,UAAI,cAAJ,EAAoB,KAAK,sBAAL,CAA4B;AAAC,gBAAQ,EAAE;AAAX,OAA5B;AACpB,aAAO,cAAP;AACD;AACH;;;;WAEE,gCAAuB,KAAvB,EAAoC;AAClC,UAAI,CAAC,KAAK,QAAL,CAAc,MAAnB,EAA2B;AACzB,cAAM,IAAI,KAAJ,yKAAN;AAID;;AACD,UAAI,CAAC,KAAK,EAAL,CAAQ,KAAR,CAAL,EAAqB;AACnB,cAAM,IAAI,KAAJ,6CAA+C,KAA/C,EAAN;AACD;AACF;AACH;;;;WAEE,uBAAc,EAAd,EAA0B;AACxB,WAAK,QAAL,CAAc,OAAd,CAAsB,UAAC,OAAD,EAA2B,KAA3B,EAAwC;AAC5D,UAAE,CAAC,OAAD,EAAU,KAAV,CAAF;AACD,OAFD;AAGD;AACH;;;;WAEE,wBAAY;AAAA;;AACT,WAAsB,KAAtB,GACG,KAAK,QAAL,CAAc,MAAd,CAAqB,UAAC,OAAD;AAAA,eAAa,OAAO,CAAC,OAAR,IAAmB,OAAI,CAAC,QAArC;AAAA,OAArB,EACK,GADL,CACS,UAAC,OAAD;AAAA,eAAa,OAAO,CAAC,KAArB;AAAA,OADT,CADH;AAGF;AACH;;;;WAEE,sBAAa,SAAb,EAAgC;AAC9B,aAAO,KAAK,QAAL,CAAc,IAAd,CAAmB,UAAC,OAAD;AAAA,eAA8B,OAAO,CAAC,OAAR,IAAmB,SAAS,CAAC,OAAD,CAA1D;AAAA,OAAnB,CAAP;AACD;AACH;;;;WAEE,0BAAc;AAAA;;AACZ,WAAK,aAAL,CAAmB,UAAC,OAAD;AAAA,eAA8B,OAAI,CAAC,gBAAL,CAAsB,OAAtB,CAA9B;AAAA,OAAnB;AACD;AACH;;;;WAEE,gCAAuB,KAAvB,EAAiC;AAC/B,WAAK,aAAL,CAAmB,UAAC,OAAD,EAA2B,CAA3B,EAAoC;AACrD,YAAI,KAAK,CAAC,CAAD,CAAL,KAAa,SAAjB,EAA4B;AAC1B,gBAAM,IAAI,KAAJ,0DAA4D,CAA5D,OAAN;AACD;AACF,OAJD;AAKD;AACH;;;;WAEE,gCAAoB;AAAA,gLACI,KAAK,QADT;AAAA;;AAAA;AAClB,4DAAqC;AAAA,cAA1B,OAA0B;AACnC,cAAI,OAAO,CAAC,OAAZ,EAAqB,OAAO,KAAP;AACtB;AAHiB;AAAA;AAAA;AAAA;AAAA;;AAIlB,aAAO,KAAK,QAAL,CAAc,MAAd,GAAuB,CAAvB,IAA4B,KAAK,QAAxC;AACD;;;WAEO,0BAAiB,OAAjB,EAAyC;AAC/C,aAAO,CAAC,SAAR,CAAkB,IAAlB;;AACA,aAAO,CAAC,2BAAR,CAAoC,KAAK,mBAAzC;AACD;;;;EAxW4B,e;AC/xD/B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAca,qBAAqB,GAAQ;AACxC,SAAO,EAAE,gBAD+B;AAExC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,MAAN;AAAA,GAAD;AAFiB,CAd1C;;AAkBA,SACyB,SADzB,EACyB;AAAA,SAAM,OAAO,CAAC,OAAR,CAAgB,IAAhB,CAAN;AAAA,CADzB;;AACA,IAAM,eAAe,GAAG,IAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAQa,M;;;;;AAiCX,kBAC+C,UAD/C,EAEqD,eAFrD,EAG2C;AAAA;;AAAA;;AACzC;AACJ;AAAY;AACQ;AAAmE;;AAlCrE,wBAAqB,KAArB;AAER,0BAAyB,EAAzB;AACV;AAEK;AACM;AAET;;AAMA,uBAAW,IAAI,0DAAJ,EAAX;AAmBE,YAAK,IAAL,GACI,IAAI,SAAJ,CAAc,EAAd,EAAkB,iBAAiB,CAAC,UAAD,CAAnC,EAAiD,sBAAsB,CAAC,eAAD,CAAvE,CADJ;AAFyC;AAI1C;AACH;;;;;WAEE,2BAAe;AACb,WAAK,kBAAL;AACD;AACH;AAEC;AACE;AACE;;;;SACH,eAAiB;AACf,aAAO,IAAP;AACD;AACH;AAEC;AACE;AACE;;;;SACH,eAAW;AACT,aAAO,KAAK,IAAZ;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAQ;AACN,aAAO,EAAP;AACD;AACH;AAEC;AACE;AACE;;;;SACH,eAAY;AACV,aAAO,KAAK,IAAL,CAAU,QAAjB;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEJ;;;;WAAH,oBAAW,GAAX,EAAuB;AAAA;;AACrB,qBAAe,CAAC,IAAhB,CAAqB;AACnB,YAAM,SAAS,GAAG,OAAI,CAAC,cAAL,CAAoB,GAAG,CAAC,IAAxB,CAAlB;;AACC,WAA8B,CAAC,OAA/B,GACgB,SAAS,CAAC,eAAV,CAA0B,GAAG,CAAC,IAA9B,EAAoC,GAAG,CAAC,OAAxC,CADhB;AAED,oBAAY,CAAC,GAAG,CAAC,OAAL,EAAc,GAAd,CAAZ;AACA,WAAG,CAAC,OAAJ,CAAY,sBAAZ,CAAmC;AAAC,mBAAS,EAAE;AAAZ,SAAnC;;AACA,eAAI,CAAC,WAAL,CAAiB,IAAjB,CAAsB,GAAtB;AACD,OAPD;AAQD;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,oBAAW,GAAX,EAAuB;AACrB,aAAoB,KAAK,IAAL,CAAU,GAAV,CAAc,GAAG,CAAC,IAAlB,CAApB;AACD;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,uBAAc,GAAd,EAA0B;AAAA;;AACxB,qBAAe,CAAC,IAAhB,CAAqB;AACnB,YAAM,SAAS,GAAG,OAAI,CAAC,cAAL,CAAoB,GAAG,CAAC,IAAxB,CAAlB;;AACA,YAAI,SAAJ,EAAe;AACb,mBAAS,CAAC,aAAV,CAAwB,GAAG,CAAC,IAA5B;AACD;;AACD,sBAAc,CAAC,OAAI,CAAC,WAAN,EAAmB,GAAnB,CAAd;AACD,OAND;AAOD;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,sBAAa,GAAb,EAA8B;AAAA;;AAC5B,qBAAe,CAAC,IAAhB,CAAqB;AACnB,YAAM,SAAS,GAAG,OAAI,CAAC,cAAL,CAAoB,GAAG,CAAC,IAAxB,CAAlB;;AACA,YAAM,KAAK,GAAG,IAAI,SAAJ,CAAc,EAAd,CAAd;AACA,0BAAkB,CAAC,KAAD,EAAQ,GAAR,CAAlB;AACA,iBAAS,CAAC,eAAV,CAA0B,GAAG,CAAC,IAA9B,EAAoC,KAApC;AACA,aAAK,CAAC,sBAAN,CAA6B;AAAC,mBAAS,EAAE;AAAZ,SAA7B;AACD,OAND;AAOD;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,yBAAgB,GAAhB,EAAiC;AAAA;;AAC/B,qBAAe,CAAC,IAAhB,CAAqB;AACnB,YAAM,SAAS,GAAG,OAAI,CAAC,cAAL,CAAoB,GAAG,CAAC,IAAxB,CAAlB;;AACA,YAAI,SAAJ,EAAe;AACb,mBAAS,CAAC,aAAV,CAAwB,GAAG,CAAC,IAA5B;AACD;AACF,OALD;AAMD;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,sBAAa,GAAb,EAA8B;AAC5B,aAAkB,KAAK,IAAL,CAAU,GAAV,CAAc,GAAG,CAAC,IAAlB,CAAlB;AACD;AACH;AAEC;AACE;AACE;AACE;AAEJ;;;;WAAD,qBAAY,GAAZ,EAA4B,KAA5B,EAAsC;AAAA;;AACpC,qBAAe,CAAC,IAAhB,CAAqB;AACnB,YAAM,IAAI,GAAgB,OAAI,CAAC,IAAL,CAAU,GAAV,CAAc,GAAG,CAAC,IAAlB,CAA1B;;AACA,YAAI,CAAC,QAAL,CAAc,KAAd;AACD,OAHD;AAID;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,kBAAS,KAAT,EAAoC;AAClC,WAAK,OAAL,CAAa,QAAb,CAAsB,KAAtB;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEJ;;;;WAAH,kBAAS,MAAT,EAAsB;AACnB,WAA8B,SAA9B,GAA0C,IAA1C;AACD,yBAAmB,CAAC,KAAK,IAAN,EAAY,KAAK,WAAjB,CAAnB;AACA,WAAK,QAAL,CAAc,IAAd,CAAmB,MAAnB;AACA,aAAO,KAAP;AACD;AACH;AAEC;AACE;AACE;;;;WACH,mBAAO;AACL,WAAK,SAAL;AACD;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,qBAAgC;AAAA,UAAtB,KAAsB,uEAAT,SAAS;AAC9B,WAAK,IAAL,CAAU,KAAV,CAAgB,KAAhB;AACC,WAA8B,SAA9B,GAA0C,KAA1C;AACF;;;WAEO,8BAAkB;AACxB,UAAI,KAAK,OAAL,IAAgB,KAAK,OAAL,CAAa,QAAb,IAAyB,IAA7C,EAAmD;AACjD,aAAK,IAAL,CAAU,SAAV,GAAsB,KAAK,OAAL,CAAa,QAAnC;AACD;AACF;AACH;;;;WAEE,wBAAe,IAAf,EAA6B;AAC3B,UAAI,CAAC,GAAL;AACA,aAAO,IAAI,CAAC,MAAL,GAAyB,KAAK,IAAL,CAAU,GAAV,CAAc,IAAd,CAAzB,GAA+C,KAAK,IAA3D;AACD;;;;EAvOyB,gB;;uBAP3B,c,CAAA,C,EAAA;AAAS,cAAC,WAAD,EAAC,gEACC,aADD,EACC,EADD,CAAD,EACE,gEAAwD,mBAAxD,EACV,EADU,CADF;AAEI,C;;cAAqB,gEACjC;AAAA,MAAM,EAAC,MAAP;AAAO,WAAY,YAAkB,CAAlB,EAAoB,UAApB,EAA+B,EAA/B,EAA+B,CAA/B,EAA+B,WAA/B,EAA2C,EAA3C,GAA2C,WAA3C,EACV,CAAC,EAAD,EAAC,QAAD,EAAY,EAAZ,CADU,CAAnB;AACqB,cACrB,WAAU,mBAAV,CACD,EADC,EACD,GADC,EACD;AAAA;;;;;;;GAHC;;;GAAA;;;GAAA;sBAAA;;AAAA,CADiC,C;;AAK7B;AAAA,UAAgC;AAAA;AAAA;AAAA,YAkC/B,sDAAQ;AAlCuB,OAkCvB;AAAA,YAAI,kDAAI;AAAR,KAlCuB,EAkCf;AAAA,YAAI,oDAAJ;AAAU,aAAC,aAAD;AAAV,KAlCe;AAAA,GAAhC,EAkCkD;AAAA;AAAA;AAAA,YACjD,sDAAQ;AADyC,OACzC;AAAA,YAAI,kDAAI;AAAR,KADyC,EACjC;AAAA,YAAI,oDAAJ;AAAU,aAAC,mBAAD;AAAV,KADiC;AAAA,GAlClD;AAAA;;AAmC0D;AAC9C;AAAA,UALf,mDAKe;AALV,WAAC,eAAD;AAKU;AAD8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAJhC,C;AClIhC;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;;;IAEa,0B;;;;;;;;;;;;;;AAAsD;AAWjE,wBAAQ;AACN,WAAK,gBAAL,GADM,CAEV;;;AACI,WAAK,aAAL,CAAoB,YAApB,CAAiC,IAAjC;AACD;AACH;;;;WAEE,uBAAW;AACT,UAAI,KAAK,aAAT,EAAwB;AAC5B;AACM,aAAK,aAAL,CAAmB,eAAnB,CAAmC,IAAnC;AACD;AACF;AACH;AAEC;AACE;AACE;;;;SACH,eAAW;AACT,aAAO,KAAK,aAAL,CAAoB,YAApB,CAAiC,IAAjC,CAAP;AACD;AACH;AAEC;AACE;AACE;;;;SACH,eAAQ;AACN,aAAO,WAAW,CAAC,KAAK,IAAL,IAAa,IAAb,GAAoB,KAAK,IAAzB,GAAgC,KAAK,IAAL,CAAU,QAAV,EAAjC,EAAuD,KAAK,OAA5D,CAAlB;AACD;AACH;AAEC;AACE;AACE;;;;SACH,eAAiB;AACf,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,aAA5B,GAA4C,IAAnD;AACD;AACH;;;;WAEE,4BAAgB,CAAW;;;;EAlDmB,gB;;2CAD/C,kC,CAAS,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACR,C;ACzBF;AACA;AACA;AACA;AACA;AACA;AACA;;;IAIa,oB;;;;;;;WACX,gCAA2B;AACzB,YAAM,IAAI,KAAJ,uMAIFD,iBAAQ,CAAC,eAJP,6JAUFA,iBAAQ,CAAC,oBAVP,EAAN;AAWD;;;WAED,kCAA6B;AAC3B,YAAM,IAAI,KAAJ,oNAKFA,iBAAQ,CAAC,aALP,+GASFA,iBAAQ,CAAC,YATP,EAAN;AAUD;;;WAED,gCAA2B;AACzB,YAAM,IAAI,KAAJ,4UAAN;AAMD;;;WAED,qCAAgC;AAC9B,YAAM,IAAI,KAAJ,6KAKFA,iBAAQ,CAAC,aALP,iIASFA,iBAAQ,CAAC,YATP,EAAN;AAUD;;;;;AC1DH;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAWa,kBAAkB,GAAQ;AACrC,SAAO,EAAE,gBAD4B;AAErC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,YAAN;AAAA,GAAD;AAFc,CAXvC;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEa,Y;;;;;AASX,wBACwB,MADxB,EAE+C,UAF/C,EAGqD,eAHrD,EAI2C;AAAA;;AAAA;;AACzC;AACA,YAAK,OAAL,GAAe,MAAf;;AACA,YAAK,cAAL,CAAoB,UAApB;;AACA,YAAK,mBAAL,CAAyB,eAAzB;;AAJyC;AAK1C;AACH;;;;;WAEE,4BAAgB;AACd,UAAI,EAAE,KAAK,OAAL,YAAwB,YAA1B,KAA2C,EAAE,KAAK,OAAL,YAAwB,MAA1B,CAA3C,KACC,OAAO,SAAP,KAAqB,WAArB,IAAoC,SADrC,CAAJ,EACqD;AACnD,4BAAoB,CAAC,yBAArB;AACD;AACF;;;;EA1B+B,0B;;6BADjC,oB,CAAS,C,EAAA;AAAA,SAAE,MAAQ,IAAE,YAAV,EAA0B,gEAAc,gBAAd,EAA2C,CAA3C,CAA1B,EAAuE,gEAAe,aAAf,EAAe,EAAf,CAAvE,EAAsF,wFAAtF,CAAF;AAAwF,C;;;;;;;;;;;;AAC5F;AAAA,UAAsC;AAAA,UArCpC,gBAqCoC;AArCpB;AAAA,YA+CjB,kDAAI;AA/Ca,OA+Cb;AAAA,YAAI,sDAAQ;AAAZ,KA/Ca;AAqCoB,GAAtC,EAUwB;AAAA;AAAA;AAAA,YACvB,sDAAQ;AADe,OACf;AAAA,YAAI,kDAAI;AAAR,KADe,EACP;AAAA,YAAI,oDAAJ;AAAU,aAAC,aAAD;AAAV,KADO;AAAA,GAVxB,EAWkD;AAAA;AAAA;AAAA,YACjD,sDAAQ;AADyC,OACzC;AAAA,YAAI,kDAAI;AAAR,KADyC,EACjC;AAAA,YAAI,oDAAJ;AAAU,aAAC,mBAAD;AAAV,KADiC;AAAA,GAXlD;AAAA;;AAY0D;AACxC;AAAA,UANrB,mDAMqB;AANhB,WAAC,cAAD;AAMgB;AADwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AALjC,C;ACzD/B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAgBa,kBAAkB,GAAQ;AACrC,SAAO,EAAE,SAD4B;AAErC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,OAAN;AAAA,GAAD;AAFc,CAhBvC;;AAoBA,WAkByB,SAlBzB,IAkByB;AAAA,SAAM,OAAO,CAAC,OAAR,CAAgB,IAAhB,CAAN;AAAA,CAlBzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMG,iBAAe,GAAG,MAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAMa,O;;;;;AAoEX,mBACwB,MADxB,EAE+C,UAF/C,EAGqD,eAHrD,EAKmD,cALnD,EAKyF;AAAA;;AAAA;;AACvF;AAzEc,sBAAuB,IAAI,WAAJ,EAAvB;AAClB;;AAWE,0BAAc,KAAd;AACF;AAEK;AAAwB;AAMrB;AACiB;;AA2CE,qBAAS,IAAI,0DAAJ,EAAT;AASvB,YAAK,OAAL,GAAe,MAAf;;AACA,YAAK,cAAL,CAAoB,UAApB;;AACA,YAAK,mBAAL,CAAyB,eAAzB;;AACA,YAAK,aAAL,GAAqB,mBAAmB,CAAC,gKAAM,cAAP,CAAxC;AALuF;AAMxF;AACH;;;;;WAEE,qBAAY,OAAZ,EAAkC;AAChC,WAAK,eAAL;;AACA,UAAI,CAAC,KAAK,WAAV,EAAuB,KAAK,aAAL;;AACvB,UAAI,gBAAgB,OAApB,EAA6B;AAC3B,aAAK,eAAL,CAAqB,OAArB;AACD;;AAED,UAAI,iBAAiB,CAAC,OAAD,EAAU,KAAK,SAAf,CAArB,EAAgD;AAC9C,aAAK,YAAL,CAAkB,KAAK,KAAvB;;AACA,aAAK,SAAL,GAAiB,KAAK,KAAtB;AACD;AACF;AACH;;;;WAEE,uBAAW;AACT,WAAK,aAAL,IAAsB,KAAK,aAAL,CAAmB,aAAnB,CAAiC,IAAjC,CAAtB;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAQ;AACN,aAAO,KAAK,OAAL,GAAe,WAAW,CAAC,KAAK,IAAN,EAAY,KAAK,OAAjB,CAA1B,GAAsD,CAAC,KAAK,IAAN,CAA7D;AACD;AACH;AAEC;AACE;AACE;;;;SACH,eAAiB;AACf,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,aAA5B,GAA4C,IAAnD;AACD;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,2BAAkB,QAAlB,EAA+B;AAC7B,WAAK,SAAL,GAAiB,QAAjB;AACA,WAAK,MAAL,CAAY,IAAZ,CAAiB,QAAjB;AACD;;;WAEO,yBAAa;AACnB,WAAK,kBAAL;;AACA,WAAK,aAAL,KAAuB,KAAK,gBAAL,EAAvB,GAAiD,KAAK,aAAL,CAAmB,UAAnB,CAA8B,IAA9B,CAAjD;AACA,WAAK,WAAL,GAAmB,IAAnB;AACD;;;WAEO,8BAAkB;AACxB,UAAI,KAAK,OAAL,IAAgB,KAAK,OAAL,CAAa,QAAb,IAAyB,IAA7C,EAAmD;AACjD,aAAK,OAAL,CAAa,SAAb,GAAyB,KAAK,OAAL,CAAa,QAAtC;AACD;AACF;;;WAEO,yBAAa;AACnB,aAAO,CAAC,KAAK,OAAN,IAAiB,CAAC,EAAE,KAAK,OAAL,IAAgB,KAAK,OAAL,CAAa,UAA/B,CAAzB;AACD;;;WAEO,4BAAgB;AACtB,kBAAY,CAAC,KAAK,OAAN,EAAe,IAAf,CAAZ;AACA,WAAK,OAAL,CAAa,sBAAb,CAAoC;AAAC,iBAAS,EAAE;AAAZ,OAApC;AACD;;;WAEO,2BAAe;AACrB,UAAI,CAAC,KAAK,aAAL,EAAL,EAA2B;AACzB,aAAK,gBAAL;AACD;;AACD,WAAK,UAAL;AACD;;;WAEO,4BAAgB;AACtB,UAAI,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAxC,EAAmD;AACjD,YAAI,EAAE,KAAK,OAAL,YAAwB,YAA1B,KACA,KAAK,OAAL,YAAwB,0BAD5B,EACwD;AACtD,8BAAoB,CAAC,sBAArB;AACD,SAHD,MAGO,IAAI,EAAE,KAAK,OAAL,YAAwB,YAA1B,KAA2C,EAAE,KAAK,OAAL,YAAwB,MAA1B,CAA/C,EAAkF;AACvF,8BAAoB,CAAC,oBAArB;AACD;AACF;AACF;;;WAEO,sBAAU;AAChB,UAAI,KAAK,OAAL,IAAgB,KAAK,OAAL,CAAa,IAAjC,EAAuC,KAAK,IAAL,GAAY,KAAK,OAAL,CAAa,IAAzB;;AAEvC,UAAI,CAAC,KAAK,aAAL,EAAD,IAAyB,CAAC,KAAK,IAA/B,KAAwC,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAA5E,CAAJ,EAA4F;AAC1F,4BAAoB,CAAC,oBAArB;AACD;AACF;;;WAEO,sBAAa,KAAb,EAAuB;AAAA;;AAC7BA,uBAAe,CAAC,IAAhBA,CAAqB;AACnB,eAAI,CAAC,OAAL,CAAa,QAAb,CAAsB,KAAtB,EAA6B;AAAC,+BAAqB,EAAE;AAAxB,SAA7B;AACD,OAFDA;AAGD;;;WAEO,yBAAgB,OAAhB,EAAsC;AAAA;;AAC5C,UAAM,aAAa,GAAG,OAAO,CAAC,YAAD,CAAP,CAAsB,YAA5C;AAEA,UAAM,UAAU,GAAG,aAAa,KAAK,EAAlB,IAAyB,aAAa,IAAI,aAAa,KAAK,OAA/E;AAEAA,uBAAe,CAAC,IAAhBA,CAAqB;AACnB,YAAI,UAAU,IAAI,CAAC,OAAI,CAAC,OAAL,CAAa,QAAhC,EAA0C;AACxC,iBAAI,CAAC,OAAL,CAAa,OAAb;AACD,SAFD,MAEO,IAAI,CAAC,UAAD,IAAe,OAAI,CAAC,OAAL,CAAa,QAAhC,EAA0C;AAC/C,iBAAI,CAAC,OAAL,CAAa,MAAb;AACD;AACF,OANDA;AAOD;;;;EAjM0B,S;;wBAL5B,e,CAAA,C,EAAA;AAAS,cAAC,YAAD,EACR,gEAAU,gBAAV,EAAU,CAAV,CADQ,EACE,gEAAqD,aAArD,EACV,EADU,CADF,EAEG,gEAAoB,mBAApB,EACH,EADG,CAFH,EAGE,gEACX,iBADW,EACX,EADW,CAHF;AAIT,C;;;;;;;;;;;;;;;;;;AACK;AAAA,UAAiC;AAAA,UA3H/B,gBA2H+B;AA3Hf;AAAA,YAgMjB,sDAAQ;AAhMS,OAgMT;AAAA,YAAI,kDAAI;AAAR,KAhMS;AA2He,GAAjC,EAqEwB;AAAA;AAAA;AAAA,YACvB,sDAAQ;AADe,OACf;AAAA,YAAI,kDAAI;AAAR,KADe,EACP;AAAA,YAAI,oDAAJ;AAAU,aAAC,aAAD;AAAV,KADO;AAAA,GArExB,EAsEkD;AAAA;AAAA;AAAA,YACjD,sDAAQ;AADyC,OACzC;AAAA,YAAI,kDAAI;AAAR,KADyC,EACjC;AAAA,YAAI,oDAAJ;AAAU,aAAC,mBAAD;AAAV,KADiC;AAAA,GAtElD,EAuEwD;AAAA;AAAA;AAAA,YAEvD,sDAAQ;AAF+C,OAE/C;AAAA,YAAI,kDAAI;AAAR,KAF+C,EAEvC;AAAA,YAAI,oDAAJ;AAAU,aAAC,iBAAD;AAAV,KAFuC;AAAA,GAvExD;AAAA;;AAyEwD;AAA2B;AAAA,UA9CtF,mDAAK;AA8CiF,IAA3B;AA9CjD;AAAA,UAOV,mDAPU;AAOL,WAAC,UAAD;AAPK,IA8CiD;AAvCpC;AAAA,UAMvB,mDANuB;AAMlB,WAAC,SAAD;AANkB,IAuCoC;AAjCrC;AAAA,UAmBtB,mDAnBsB;AAmBjB,WAAC,gBAAD;AAnBiB,IAiCqC;AAd9B;AAAA,UAO7B,oDAP6B;AAOvB,WAAC,eAAD;AAPuB;AAc8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAP7B,C;AC3MjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAKa,a;;;;8BAJZ,qB,CAAS,C,EAAA;AAAA,SAAC,0BAAD;AACE,C;;qFAA8C;AAAA;AACjD,WAAc,EAAE,EAAC,MAAD,EAAC,CAAD,EAAC,UAAD,EACxB,EADwB,EACxB,CADwB,EACxB,kBADwB,EACxB,EADwB,EADiC;AAEzD;AAFyD,C;;;;;;;;;;;;;AAGrD,C;AC/BL;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA;AACA;AACA;;;AACA,IAAa,kCAAkC,GAC3C,IAAI,4DAAJ,CAAmB,+BAAnB,CADJ;AAEA,IACaC,oBAAkB,GAAQ;AACrC,SAAO,EAAE,SAD4B;AAErC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,oBAAN;AAAA,GAAD;AAFc,CADvC;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEa,oB;;;;;AAmDX,gCAC+C,UAD/C,EAEqD,eAFrD,EAImD,cAJnD,EAKoE,qBALpE,EAMQ;AAAA;;AAAA;;AACN;AAFkE;AAC3D;;AA1BgB,qBAAS,IAAI,0DAAJ,EAAT;AAC3B;AAEK;AACM;AACW;AAIb;AAAW;AAAqB;;AASvC,kCAAsB,KAAtB;;AAUE,YAAK,cAAL,CAAoB,UAApB;;AACA,YAAK,mBAAL,CAAyB,eAAzB;;AACA,YAAK,aAAL,GAAqB,mBAAmB,CAAC,gKAAM,cAAP,CAAxC;AAJM;AAKP;AACH;AACO;AACI;AAEK;;;;;SAjDd,aACe,UADf,EACkC;AAChC,UAAI,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAxC,EAAmD;AACjD,sBAAc,CAAC,mBAAf;AACD;AACF;AACH;;;;WAyCE,qBAAY,OAAZ,EAAkC;AAChC,UAAI,KAAK,iBAAL,CAAuB,OAAvB,CAAJ,EAAqC;AACnC,oBAAY,CAAC,KAAK,IAAN,EAAY,IAAZ,CAAZ;;AACA,YAAI,KAAK,OAAL,CAAa,QAAb,IAAyB,KAAK,aAAL,CAAoB,gBAAjD,EAAmE;AACjE,eAAK,aAAL,CAAoB,gBAApB,CAAsC,IAAtC;AACD;;AACD,aAAK,IAAL,CAAU,sBAAV,CAAiC;AAAC,mBAAS,EAAE;AAAZ,SAAjC;AACD;;AACD,UAAI,iBAAiB,CAAC,OAAD,EAAU,KAAK,SAAf,CAArB,EAAgD;AAC9C,YAAI,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAxC,EAAmD;AACjD,yBAAe,CAAC,aAAD,EAAgB,oBAAhB,EAAsC,IAAtC,EAA4C,KAAK,qBAAjD,CAAf;AACD;;AACD,aAAK,IAAL,CAAU,QAAV,CAAmB,KAAK,KAAxB;AACA,aAAK,SAAL,GAAiB,KAAK,KAAtB;AACD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAQ;AACN,aAAO,EAAP;AACD;AACH;AAEC;AACE;AACE;;;;SACH,eAAW;AACT,aAAO,KAAK,IAAZ;AACD;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,2BAAkB,QAAlB,EAA+B;AAC7B,WAAK,SAAL,GAAiB,QAAjB;AACA,WAAK,MAAL,CAAY,IAAZ,CAAiB,QAAjB;AACD;;;WAEO,2BAAkB,OAAlB,EAA+C;AACrD,aAAO,OAAO,CAAC,cAAR,CAAuB,MAAvB,CAAP;AACD;;;;EAhHuC,S;;;;;;;;;;;;;;;;;;;;AAiCxC;AACF;AAAgB;AACkE;AACF;AAAG;AAE9E;;AAEI,+CAxCJ,KAwCI;;AAxCH;AAAA,UADL;AAAA,UAAS,KAAT;AAAS,cAAE,EAAQ,CAAE;AAAA,YAAe;AAAf,KAAF,EAAmB;AAAA,UAAS,EAAGA;AAAZ,KAAnB,EAqDG;AAAA,YArD8C,oDAqD9C;AArDiD,aAAQ,aAAR;AAqDjD,KArDH;AAAnB,GACK,EAoDkD;AAAA;AAAA;AAAA,YACjD,sDAAQ;AADyC,OACzC;AAAA,YAAI,kDAAI;AAAR,KADyC,EACjC;AAAA,YAAI,oDAAJ;AAAU,aAAC,mBAAD;AAAV,KADiC;AAAA,GApDlD,EAqDwD;AAAA;AAAA;AAAA,YAEvD,sDAAQ;AAF+C,OAE/C;AAAA,YAAI,kDAAI;AAAR,KAF+C,EAEvC;AAAA,YAAI,oDAAJ;AAAU,aAAC,iBAAD;AAAV,KAFuC;AAAA,GArDxD,EAuDsD;AAAA;AAAA;AAAA,YACrD,sDAAQ;AAD6C,OAC7C;AAAA,YAAI,oDAAJ;AAAU,aAAC,kCAAD;AAAV,KAD6C;AAAA,GAvDtD;AAAA;;AAwDiE;AAC7D;AAAA,UA7CP,mDA6CO;AA7CF,WAAC,aAAD;AA6CE,IAD6D;AA5C1C;AAAA,UAM1B,mDAN0B;AAMrB,WAAC,UAAD;AANqB,IA4C0C;AArClE;AAAA,UASF,mDATE;AASG,WAAC,SAAD;AATH,IAqCkE;AA5B9C;AAAA,UAGtB,oDAHsB;AAGhB,WAAC,eAAD;AAHgB;AA4B8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAzBtC,C;ACpFjC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAcaC,uBAAqB,GAAQ;AACxC,SAAO,EAAE,gBAD+B;AAExC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,kBAAN;AAAA,GAAD;AAFiB,CAd1C;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAOa,kB;;;;;AA+BX,8BACuD,UADvD,EAE6D,eAF7D,EAG2C;AAAA;;AAAA;;AACzC;AAHqD;AACM;AACjB;AACrC;AACW;AAEjB;;AAjCe,wBAAqB,KAArB;AAClB;AAEK;AAAwB;AAAgE;;AAS3F,yBAAgC,EAAhC;AACF;AAEK;AACM;AAEA;;AAAW,mBAAkB,IAAlB;AACtB;AAEK;AACM;AAEA;;AAAC,uBAAW,IAAI,0DAAJ,EAAX;;AAOR,YAAK,cAAL,CAAoB,UAApB;;AACA,YAAK,mBAAL,CAAyB,eAAzB;;AAHyC;AAI1C;AACH;;;;;WAEE,qBAAY,OAAZ,EAAkC;AAChC,WAAK,iBAAL;;AACA,UAAI,OAAO,CAAC,cAAR,CAAuB,MAAvB,CAAJ,EAAoC;AAClC,aAAK,iBAAL;;AACA,aAAK,eAAL;;AACA,aAAK,oBAAL;;AACA,aAAK,QAAL,GAAgB,KAAK,IAArB;AACD;AACF;AACH;AAEC;AACE;AACE;;;;SACH,eAAiB;AACf,aAAO,IAAP;AACD;AACH;AAEC;AACE;AACE;;;;SACH,eAAW;AACT,aAAO,KAAK,IAAZ;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAQ;AACN,aAAO,EAAP;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEJ;;;;WAAH,oBAAW,GAAX,EAA+B;AAC7B,UAAM,IAAI,GAAQ,KAAK,IAAL,CAAU,GAAV,CAAc,GAAG,CAAC,IAAlB,CAAlB;AACA,kBAAY,CAAC,IAAD,EAAO,GAAP,CAAZ;AACA,UAAI,CAAC,sBAAL,CAA4B;AAAC,iBAAS,EAAE;AAAZ,OAA5B;AACA,WAAK,UAAL,CAAgB,IAAhB,CAAqB,GAArB;AACA,aAAO,IAAP;AACD;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,oBAAW,GAAX,EAA+B;AAC7B,aAAoB,KAAK,IAAL,CAAU,GAAV,CAAc,GAAG,CAAC,IAAlB,CAApB;AACD;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,uBAAc,GAAd,EAAkC;AAChC,oBAAc,CAAC,KAAK,UAAN,EAAkB,GAAlB,CAAd;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,sBAAa,GAAb,EAA+B;AAC7B,UAAM,IAAI,GAAQ,KAAK,IAAL,CAAU,GAAV,CAAc,GAAG,CAAC,IAAlB,CAAlB;AACA,wBAAkB,CAAC,IAAD,EAAO,GAAP,CAAlB;AACA,UAAI,CAAC,sBAAL,CAA4B;AAAC,iBAAS,EAAE;AAAZ,OAA5B;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,yBAAgB,GAAhB,EAAkC,CAAU;AAC9C;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,sBAAa,GAAb,EAA+B;AAC7B,aAAkB,KAAK,IAAL,CAAU,GAAV,CAAc,GAAG,CAAC,IAAlB,CAAlB;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,sBAAa,GAAb,EAA+B;AAC7B,UAAM,IAAI,GAAQ,KAAK,IAAL,CAAU,GAAV,CAAc,GAAG,CAAC,IAAlB,CAAlB;AACA,wBAAkB,CAAC,IAAD,EAAO,GAAP,CAAlB;AACA,UAAI,CAAC,sBAAL,CAA4B;AAAC,iBAAS,EAAE;AAAZ,OAA5B;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,yBAAgB,GAAhB,EAAkC,CAAU;AAC9C;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,sBAAa,GAAb,EAA+B;AAC7B,aAAkB,KAAK,IAAL,CAAU,GAAV,CAAc,GAAG,CAAC,IAAlB,CAAlB;AACD;AACH;AAEC;AACE;AACE;AACE;AAEJ;;;;WAAD,qBAAY,GAAZ,EAAkC,KAAlC,EAA4C;AAC1C,UAAM,IAAI,GAAiB,KAAK,IAAL,CAAU,GAAV,CAAc,GAAG,CAAC,IAAlB,CAA3B;AACA,UAAI,CAAC,QAAL,CAAc,KAAd;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEJ;;;;WAAH,kBAAS,MAAT,EAAsB;AACnB,WAA8B,SAA9B,GAA0C,IAA1C;AACD,yBAAmB,CAAC,KAAK,IAAN,EAAY,KAAK,UAAjB,CAAnB;AACA,WAAK,QAAL,CAAc,IAAd,CAAmB,MAAnB;AACA,aAAO,KAAP;AACD;AACH;AAEC;AACE;AACE;;;;WACH,mBAAO;AACL,WAAK,SAAL;AACD;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,qBAAgC;AAAA,UAAtB,KAAsB,uEAAT,SAAS;AAC9B,WAAK,IAAL,CAAU,KAAV,CAAgB,KAAhB;AACC,WAA8B,SAA9B,GAA0C,KAA1C;AACF;AACH;;;;WAGE,2BAAe;AAAA;;AACb,WAAK,UAAL,CAAgB,OAAhB,CAAwB,aAAG;AACzB,YAAM,OAAO,GAAQ,OAAI,CAAC,IAAL,CAAU,GAAV,CAAc,GAAG,CAAC,IAAlB,CAArB;;AACA,YAAI,GAAG,CAAC,OAAJ,KAAgB,OAApB,EAA6B;AACnC;AACQ;AACA,wBAAc,CAAC,GAAG,CAAC,OAAJ,IAAe,IAAhB,EAAsB,GAAtB,CAAd;AACA,cAAI,OAAJ,EAAa,YAAY,CAAC,OAAD,EAAU,GAAV,CAAZ;AACZ,aAA8B,CAAC,OAA/B,GAAyC,OAAzC;AACF;AACF,OATD;;AAWA,WAAK,IAAL,CAAU,mBAAV,CAA8B;AAAC,iBAAS,EAAE;AAAZ,OAA9B;AACD;;;WAEO,gCAAoB;AAAA;;AAC1B,WAAK,IAAL,CAAU,2BAAV,CAAsC;AAAA,eAAM,OAAI,CAAC,eAAL,EAAN;AAAA,OAAtC;;AACA,UAAI,KAAK,QAAT,EAAmB;AACjB,aAAK,QAAL,CAAc,2BAAd,CAA0C,aAAQ,CAAlD;AACD;AACF;;;WAEO,6BAAiB;AACvB,qBAAe,CAAC,KAAK,IAAN,EAAY,IAAZ;AAAgB;AAAgC,WAAhD,CAAf;;AACA,UAAI,KAAK,QAAT,EAAmB;AACjB,yBAAiB,CAAC,KAAK,QAAN,EAAgB,IAAhB;AAAoB;AAAgC,aAApD,CAAjB;AACD;AACF;;;WAEO,6BAAiB;AACvB,UAAI,CAAC,KAAK,IAAN,KAAe,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAnD,CAAJ,EAAmE;AACjE,sBAAc,CAAC,oBAAf;AACD;AACF;;;;EAtPqC,gB;;mCANvC,0B,CAAS,C,EAAC;AAAA,mBACT,kBADS,EACC,gEACV,aADU,EACEA,EADF,CADD,EAEGA,gEAAsB,mBAAtBA,EACK,EADLA,CAFH;AAGU,C;;AAAkB,kBAAE,KAAF,GAAa,gEAAY;AAAA,MAC9D,oBAD8D;AAC5C,WACnB,yBAF+D;AAE/D;AAAA;;;;;;;GAF+D;;;GAAA;;;GAAA;sBAAA;;AAAA,CAAZ,CAAb;;AAGjC;AAAA,UAA4C;AAAA;AAAA;AAAA,YAgC3C,sDAAQ;AAhCmC,OAgCnC;AAAA,YAAI,kDAAI;AAAR,KAhCmC,EAgC3B;AAAA,YAAI,oDAAJ;AAAU,aAAC,aAAD;AAAV,KAhC2B;AAAA,GAA5C,EAgCkD;AAAA;AAAA;AAAA,YACjD,sDAAQ;AADyC,OACzC;AAAA,YAAI,kDAAI;AAAR,KADyC,EACjC;AAAA,YAAI,oDAAJ;AAAU,aAAC,mBAAD;AAAV,KADiC;AAAA,GAhClD;AAAA;;AAiC0D;AAC1C;AAAA,UAXnB,mDAWmB;AAXd,WAAC,WAAD;AAWc,IAD0C;AAVrC;AAAA,UAMxB,oDAAM;AANkB;AAUqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAJjD,C;ACpFf;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAaa,qBAAqB,GAAQ;AACxC,SAAO,EAAE,gBAD+B;AAExC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,aAAN;AAAA,GAAD;AAFiB,CAb1C;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEa,a;;;;;AAaX,yBACoC,MADpC,EAE+C,UAF/C,EAGqD,eAHrD,EAI2C;AAAA;;AAAA;;AACzC;AACA,YAAK,OAAL,GAAe,MAAf;;AACA,YAAK,cAAL,CAAoB,UAApB;;AACA,YAAK,mBAAL,CAAyB,eAAzB;;AAJyC;AAK1C;AACH;;;;;WAEE,4BAAgB;AACd,UAAI,iBAAiB,CAAC,KAAK,OAAN,CAAjB,KAAoC,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAxE,CAAJ,EAAwF;AACtF,sBAAc,CAAC,oBAAf;AACD;AACF;;;;EA7BgC,0B;;8BADlC,qB,CAAS,C,EAAA;AAAA,SAAE,KAAQ,KAAE,aAAV,EAA2B,gEAAc,gBAAd,EAAqC,EAArC,CAA3B,EAAgE,kFAAhE,EAAgE,wFAAhE,CAAF;AAAkE,C;;;;;;;;;;;AACtE;AAAA,UAAuC;AAAA,UA5DrC,gBA4DqC;AA5DrB;AAAA,YA0EjB,sDAAQ;AA1ES,OA0ET;AAAA,YAAI,kDAAI;AAAR,KA1ES,EA0ED;AAAA,YAAI,sDAAQ;AAAZ,KA1EC;AA4DqB,GAAvC,EAcoC;AAAA;AAAA;AAAA,YACnC,sDAAQ;AAD2B,OAC3B;AAAA,YAAI,kDAAI;AAAR,KAD2B,EACnB;AAAA,YAAI,oDAAJ;AAAU,aAAC,aAAD;AAAV,KADmB;AAAA,GAdpC,EAekD;AAAA;AAAA;AAAA,YACjD,sDAAQ;AADyC,OACzC;AAAA,YAAI,kDAAI;AAAR,KADyC,EACjC;AAAA,YAAI,oDAAJ;AAAU,aAAC,mBAAD;AAAV,KADiC;AAAA,GAflD;AAAA;;AAgB0D;AACvC;AAAA,UANtB,mDAMsB;AANjB,WAAC,eAAD;AAMiB;AADuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AALhC,C;;AAAC,IAqBpB,qBAAqB,GAAQ;AACxC,SAAO,EAAE,gBAD+B;AAExC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,aAAN;AAAA,GAAD;AAFiB,CArBT;AA0BjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEa,a;;;;;AAgBX,yBACoC,MADpC,EAE+C,UAF/C,EAGqD,eAHrD,EAI2C;AAAA;;AAAA;;AACzC;AACA,YAAK,OAAL,GAAe,MAAf;;AACA,YAAK,cAAL,CAAoB,UAApB;;AACA,YAAK,mBAAL,CAAyB,eAAzB;;AAJyC;AAK1C;AACH;AAEC;AACE;AACE;AAEJ;;;;;WAAC,oBAAQ;AACN,WAAK,gBAAL;;AACA,WAAK,aAAL,CAAoB,YAApB,CAAiC,IAAjC;AACD;AACH;AAEC;AACE;AACE;;;;WACH,uBAAW;AACT,UAAI,KAAK,aAAT,EAAwB;AACtB,aAAK,aAAL,CAAmB,eAAnB,CAAmC,IAAnC;AACD;AACF;AACH;AAEC;AACE;AACE;;;;SACH,eAAW;AACT,aAAO,KAAK,aAAL,CAAoB,YAApB,CAAiC,IAAjC,CAAP;AACD;AACH;AAEC;AACE;AACE;;;;SACH,eAAiB;AACf,aAAO,KAAK,OAAL,GAAmC,KAAK,OAAL,CAAa,aAAhD,GAAgE,IAAvE;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAQ;AACN,aAAO,WAAW,CAAC,KAAK,IAAL,IAAa,IAAb,GAAoB,KAAK,IAAzB,GAAgC,KAAK,IAAL,CAAU,QAAV,EAAjC,EAAuD,KAAK,OAA5D,CAAlB;AACD;;;WAEO,4BAAgB;AACtB,UAAI,iBAAiB,CAAC,KAAK,OAAN,CAAjB,KAAoC,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAxE,CAAJ,EAAwF;AACtF,sBAAc,CAAC,oBAAf;AACD;AACF;;;;EA5EgC,gB;;8BADlC,qB,CAAS,C,EAAA;AAAA,SAAE,KAAQ,KAAE,aAAV,EAA2B,gEAAc,gBAAd,EAAqC,EAArC,CAA3B,EAAgE,kFAAhE,EAAgE,wFAAhE,CAAF;AAAkE,C;;;;;;;;;;;AACtE;AAAA,UAAuC;AAAA,UA1HrC,gBA0HqC;AA1HrB;AAAA,YA2IjB,sDAAQ;AA3IS,OA2IT;AAAA,YAAI,kDAAI;AAAR,KA3IS,EA2ID;AAAA,YAAI,sDAAQ;AAAZ,KA3IC;AA0HqB,GAAvC,EAiBoC;AAAA;AAAA;AAAA,YACnC,sDAAQ;AAD2B,OAC3B;AAAA,YAAI,kDAAI;AAAR,KAD2B,EACnB;AAAA,YAAI,oDAAJ;AAAU,aAAC,aAAD;AAAV,KADmB;AAAA,GAjBpC,EAkBkD;AAAA;AAAA;AAAA,YACjD,sDAAQ;AADyC,OACzC;AAAA,YAAI,kDAAI;AAAR,KADyC,EACjC;AAAA,YAAI,oDAAJ;AAAU,aAAC,mBAAD;AAAV,KADiC;AAAA,GAlBlD;AAAA;;AAmB0D;AACvC;AAAA,UANtB,mDAMsB;AANjB,WAAC,eAAD;AAMiB;AADuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AALhC,C;;AAiEhC,SAAS,iBAAT,CAA2B,MAA3B,EAAmD;AACjD,SAAO,EAAE,MAAM,YAAY,aAApB,KAAsC,EAAE,MAAM,YAAY,kBAApB,CAAtC,IACH,EAAE,MAAM,YAAY,aAApB,CADJ;AAEF;ACzNA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAiBa,kBAAkB,GAAQ;AACrC,SAAO,EAAE,SAD4B;AAErC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,eAAN;AAAA,GAAD;AAFc,CAjBvC;AAsBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEa,e;;;;;AAgEX,2BACoC,MADpC,EAE+C,UAF/C,EAGqD,eAHrD,EAKmD,cALnD,EAMoE,qBANpE,EAOQ;AAAA;;AAAA;;AACN;AAFkE;AArE5D,qBAAS,KAAT;AACV;;AA0C2B,qBAAS,IAAI,0DAAJ,EAAT;AAC3B;AAEK;AACM;AACW;AAIf;AAAW;AAAqB;;AASrC,kCAAsB,KAAtB;AAWE,YAAK,OAAL,GAAe,MAAf;;AACA,YAAK,cAAL,CAAoB,UAApB;;AACA,YAAK,mBAAL,CAAyB,eAAzB;;AACA,YAAK,aAAL,GAAqB,mBAAmB,CAAC,gKAAM,cAAP,CAAxC;AALM;AAMP;AACH;AACO;AACI;AAEU;;;;;SAnDnB,aACe,UADf,EACkC;AAChC,UAAI,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAxC,EAAmD;AACjD,sBAAc,CAAC,mBAAf;AACD;AACF;AACH;;;;WA2CE,qBAAY,OAAZ,EAAkC;AAChC,UAAI,CAAC,KAAK,MAAV,EAAkB,KAAK,aAAL;;AAClB,UAAI,iBAAiB,CAAC,OAAD,EAAU,KAAK,SAAf,CAArB,EAAgD;AAC9C,YAAI,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAxC,EAAmD;AACjD,yBAAe,CAAC,iBAAD,EAAoB,eAApB,EAAqC,IAArC,EAA2C,KAAK,qBAAhD,CAAf;AACD;;AACD,aAAK,SAAL,GAAiB,KAAK,KAAtB;AACA,aAAK,aAAL,CAAmB,WAAnB,CAA+B,IAA/B,EAAqC,KAAK,KAA1C;AACD;AACF;AACH;;;;WAEE,uBAAW;AACT,UAAI,KAAK,aAAT,EAAwB;AACtB,aAAK,aAAL,CAAmB,aAAnB,CAAiC,IAAjC;AACD;AACF;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,2BAAkB,QAAlB,EAA+B;AAC7B,WAAK,SAAL,GAAiB,QAAjB;AACA,WAAK,MAAL,CAAY,IAAZ,CAAiB,QAAjB;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;SAAC,eAAQ;AACN,aAAO,WAAW,CAAC,KAAK,IAAL,IAAa,IAAb,GAAoB,KAAK,IAAzB,GAAgC,KAAK,IAAL,CAAU,QAAV,EAAjC,EAAuD,KAAK,OAA5D,CAAlB;AACD;AACH;AAEC;AACE;AACE;;;;SACH,eAAiB;AACf,aAAO,KAAK,OAAL,GAAe,KAAK,OAAL,CAAa,aAA5B,GAA4C,IAAnD;AACD;;;WAEO,4BAAgB;AACtB,UAAI,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAAxC,EAAmD;AACjD,YAAI,EAAE,KAAK,OAAL,YAAwB,aAA1B,KACA,KAAK,OAAL,YAAwB,0BAD5B,EACwD;AACtD,wBAAc,CAAC,qBAAf;AACD,SAHD,MAGO,IACH,EAAE,KAAK,OAAL,YAAwB,aAA1B,KACA,EAAE,KAAK,OAAL,YAAwB,kBAA1B,CADA,IAEA,EAAE,KAAK,OAAL,YAAwB,aAA1B,CAHG,EAGuC;AAC5C,wBAAc,CAAC,sBAAf;AACD;AACF;AACF;;;WAEO,yBAAa;AACnB,WAAK,gBAAL;;AACC,WAAgC,OAAhC,GAA0C,KAAK,aAAL,CAAmB,UAAnB,CAA8B,IAA9B,CAA1C;;AACD,UAAI,KAAK,OAAL,CAAa,QAAb,IAAyB,KAAK,aAAL,CAAoB,gBAAjD,EAAmE;AACjE,aAAK,aAAL,CAAoB,gBAApB,CAAsC,IAAtC;AACD;;AACD,WAAK,MAAL,GAAc,IAAd;AACD;;;;EAnJkC,S;;;;;;;;;;;;;;;;;;;AA8CnC;AACF;AAAgB;AACkE;AACP;AAAG;AAEzE;;AAEI,0CArDJ,KAqDI;;AArDH;AAAA,UADL;AAAA,UAlDO,gBAkDP;AAAmB,cAAE;AAAA,YAAqB;AAArB,OAA8B;AAAG,YAkEpC,kDAAI;AAlE6B,KAA9B,EAkEC;AAlEkD,UAAC,EAkE/C,sDAAQ;AAAZ,KAlED;AAArB,GACK,EAiEoC;AAAA;AAAA;AAAA,YACnC,sDAAQ;AAD2B,OAC3B;AAAA,YAAI,kDAAI;AAAR,KAD2B,EACnB;AAAA,YAAI,oDAAJ;AAAU,aAAC,aAAD;AAAV,KADmB;AAAA,GAjEpC,EAkEkD;AAAA;AAAA;AAAA,YACjD,sDAAQ;AADyC,OACzC;AAAA,YAAI,kDAAI;AAAR,KADyC,EACjC;AAAA,YAAI,oDAAJ;AAAU,aAAC,mBAAD;AAAV,KADiC;AAAA,GAlElD,EAmEwD;AAAA;AAAA;AAAA,YAEvD,sDAAQ;AAF+C,OAE/C;AAAA,YAAI,kDAAI;AAAR,KAF+C,EAEvC;AAAA,YAAI,oDAAJ;AAAU,aAAC,iBAAD;AAAV,KAFuC;AAAA,GAnExD,EAqEsD;AAAA;AAAA;AAAA,YACrD,sDAAQ;AAD6C,OAC7C;AAAA,YAAI,oDAAJ;AAAU,aAAC,kCAAD;AAAV,KAD6C;AAAA,GArEtD;AAAA;;AAsEiE;AAClE;AAAA,UA9CF,mDA8CE;AA9CG,WAAC,iBAAD;AA8CH,IADkE;AA7CtC;AAAA,UAM9B,mDAN8B;AAMzB,WAAC,UAAD;AANyB,IA6CsC;AAtClE;AAAA,UASF,mDATE;AASG,WAAC,SAAD;AATH,IAsCkE;AA7B9C;AAAA,UAGtB,oDAHsB;AAGhB,WAAC,eAAD;AAHgB;AA6B8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA1BtC,C;AC5GjC;AACA;AACA;AACA;AACA;AACA;AACA;;AA2GA;AACA;AACA;AACA;;;AACA,IAAa,kBAAkB,GAAmB;AAChD,SAAO,EAAE,aADuC;AAEhD,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,iBAAN;AAAA,GAAD,CAFyB;AAGhD,OAAK,EAAE;AAHyC,CAAlD;AAMA;AACA;AACA;AACA;;AACA,IAAa,2BAA2B,GAAmB;AACzD,SAAO,EAAE,aADgD;AAEzD,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,yBAAN;AAAA,GAAD,CAFkC;AAGzD,OAAK,EAAE;AAHkD,CAA3D;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAOa,iB;AANb;AAAA;;AAOU,qBAAY,KAAZ;AAiCT;AACD;AAGE;AAAoB;AACd;;;;;SA/BN,eACY;AACV,aAAO,KAAK,SAAZ;AACD,K;SAED,aAAa,KAAb,EAAkC;AAChC,WAAK,SAAL,GAAiB,KAAK,IAAI,IAAT,IAAiB,KAAK,KAAK,KAA3B,IAAoC,UAAG,KAAH,MAAe,OAApE;AACA,UAAI,KAAK,SAAT,EAAoB,KAAK,SAAL;AACrB;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,kBAAS,OAAT,EAAiC;AAC/B,aAAO,KAAK,QAAL,GAAgB,UAAU,CAAC,QAAX,CAAoB,OAApB,CAAhB,GAA+C,IAAtD;AACD;AACH;AAEC;AACE;AACE;;;;WACH,mCAA0B,EAA1B,EAAwC;AACtC,WAAK,SAAL,GAAiB,EAAjB;AACD;;;;;;kCAvCF,yB,CAAS,C,EAAC;AAAA,mBACT,iBADS;AAEL,C;;;;mCAAwI,iB,EAAA,E,EAAA,C,EAAA,M,EAC5I,U,GAAY,iBAAmB,EAAnB,EAAmB,aAAnB,EACN,EADM,EACL,CADK,EACL,MADK,EACL,UADK,C,EACc,iBAAuB,EAAvB,EAAuB,SAAvB,EAC3B,EAD2B,EAC3B,CAD2B,EAC3B,MAD2B,EAC3B,UAD2B,C;AAC3B,a;AAAA;AAAA;;;;;;;+EACI,kB;;AAAC;AAAqC;AAAA,UAQxC,mDAAK;AARmC;AAArC;;;;;;;;;;;;;;;;;;;;AASH,C;AA4BH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAOa,yB;;;;;;;;;;;;;;AACb;AACE;AACE;AACE;AAEJ;AAAA,sBAAS,OAAT,EAAiC;AAC/B,aAAO,KAAK,QAAL,GAAgB,UAAU,CAAC,YAAX,CAAwB,OAAxB,CAAhB,GAAmD,IAA1D;AACD;;;;EAR4C,iB;;0CAN9C,iC,CAAU,C,EAAA;AAAA,+CAEL,gCAFK;AAEL,C;;;QAAqI,yB;AACzI,WAAY,iCAA4B,UAA5B,EACZ,EADY,EACN,iBADM,EACY,EADZ,GACc,8BAAuB,UAAvB,EAC3B,EAD2B,EAC3B,aAD2B,EAC3B,EAD2B,CADd,EAEb,4DAFa,C;AAEb,a;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;AACI,C;AAWL;AACA;AACA;AACA;;;AACA,IAAa,eAAe,GAAQ;AAClC,SAAO,EAAE,aADyB;AAElC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,cAAN;AAAA,GAAD,CAFW;AAGlC,OAAK,EAAE;AAH2B,CAApC;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAKa,c;AAJb;AAAA;;AAKU,oBAAW,KAAX;AA6BT;AACD;AAEG;AACI;AACH;;;;;SA3BF,aACU,KADV,EAC+B;AAC7B,WAAK,QAAL,GAAgB,KAAK,KAAK,EAAV,IAAgB,KAAK,KAAK,IAA1B,IAAkC,KAAK,KAAK,MAA5D;AACA,UAAI,KAAK,SAAT,EAAoB,KAAK,SAAL;AACrB;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,kBAAS,OAAT,EAAiC;AAC/B,aAAO,KAAK,QAAL,GAAgB,UAAU,CAAC,KAAX,CAAiB,OAAjB,CAAhB,GAA4C,IAAnD;AACD;AACH;AAEC;AACE;AACE;;;;WACH,mCAA0B,EAA1B,EAAwC;AACtC,WAAK,SAAL,GAAiB,EAAjB;AACD;;;;;;+BAjCF,sB,CAAS,C,EAAA;AAAA,SAAC,2BAAD;AACE,C;;;MAAgE,gB;AAAA,WAC1E,EAAS,CAAE,CAAC,EAAD,EAAC,OAAD,EAAC,EAAD,EAAiB,iBAAjB,EACZ,EADY,CAAF,EACV,oCADU,EACV,gCADU,C;AACV;AAAA;AAAA,G;AAAA;;AACK;AAAkC;AAAA,UAQrC,mDAAK;AARgC;AAAlC;;;;;;;;;;;;;;;;;AASH,C;AA6CH;AACA;AACA;AACA;;;AACA,IAAa,oBAAoB,GAAQ;AACvC,SAAO,EAAE,aAD8B;AAEvC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,kBAAN;AAAA,GAAD,CAFgB;AAGvC,OAAK,EAAE;AAHgC,CAAzC;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAMa,kB;AALb;AAAA;;AAMU,sBAA0B,UAAU,CAAC,aAArC;AAuCT;AACD;;;;;WA7BE,qBAAY,OAAZ,EAAkC;AAChC,UAAI,eAAe,OAAnB,EAA4B;AAC1B,aAAK,gBAAL;;AACA,YAAI,KAAK,SAAT,EAAoB,KAAK,SAAL;AACrB;AACF;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,kBAAS,OAAT,EAAiC;AAC/B,aAAO,KAAK,SAAL,IAAkB,IAAlB,GAAyB,IAAzB,GAAgC,KAAK,UAAL,CAAgB,OAAhB,CAAvC;AACD;AACH;AAEC;AACE;AACE;;;;WACH,mCAA0B,EAA1B,EAAwC;AACtC,WAAK,SAAL,GAAiB,EAAjB;AACD;;;WAEO,4BAAgB;AACtB,WAAK,UAAL,GAAkB,UAAU,CAAC,SAAX,CACd,OAAO,KAAK,SAAZ,KAA0B,QAA1B,GAAqC,KAAK,SAA1C,GAAsD,QAAQ,CAAC,KAAK,SAAN,EAAiB,EAAjB,CADhD,CAAlB;AAED;;;;;;mCA5CF,0B,CAAS,C,EAAC;AAAA,mBACT,kBADS;AACC,C;;;MAA4E,oB;AACtF,WAAY,qBAAqB,EAArB,EAAqB,iBAArB,EACR,EADQ,GACL,kBAAoB,EAApB,EAAoB,aAApB,EAAoB,EAApB,CADK,EACe,kBAA+B,EAA/B,EAC5B,SAD4B,EAC5B,EAD4B,CADf,C;AAEb,a;AAAA;AAAA;;;;;;;;;AACK;AAAsC;AAAA,UAQzC,mDAAK;AARoC;AAAtC;;;;;;;;;;;;;;;;;;;;AASH,C;AAiCH;AACA;AACA;AACA;;;AACA,IAAa,oBAAoB,GAAQ;AACvC,SAAO,EAAE,aAD8B;AAEvC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,kBAAN;AAAA,GAAD,CAFgB;AAGvC,OAAK,EAAE;AAHgC,CAAzC;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAMa,kB;AALb;AAAA;;AAMU,sBAA0B,UAAU,CAAC,aAArC;AAsCT;AACD;;;;;WA5BE,qBAAY,OAAZ,EAAkC;AAChC,UAAI,eAAe,OAAnB,EAA4B;AAC1B,aAAK,gBAAL;;AACA,YAAI,KAAK,SAAT,EAAoB,KAAK,SAAL;AACrB;AACF;AACH;AAEC;AACE;AACE;;;;WACH,kBAAS,OAAT,EAAiC;AAC/B,aAAO,KAAK,SAAL,IAAkB,IAAlB,GAAyB,KAAK,UAAL,CAAgB,OAAhB,CAAzB,GAAoD,IAA3D;AACD;AACH;AAEC;AACE;AACE;;;;WACH,mCAA0B,EAA1B,EAAwC;AACtC,WAAK,SAAL,GAAiB,EAAjB;AACD;;;WAEO,4BAAgB;AACtB,WAAK,UAAL,GAAkB,UAAU,CAAC,SAAX,CACd,OAAO,KAAK,SAAZ,KAA0B,QAA1B,GAAqC,KAAK,SAA1C,GAAsD,QAAQ,CAAC,KAAK,SAAN,EAAiB,EAAjB,CADhD,CAAlB;AAED;;;;;;mCA3CF,0B,CAAS,C,EAAC;AAAA,mBACT,kBADS;AACC,C;;;MAA4E,oB;AACtF,WAAY,qBAAqB,EAArB,EAAqB,iBAArB,EACR,EADQ,GACL,kBAAoB,EAApB,EAAoB,aAApB,EAAoB,EAApB,CADK,EACe,kBAA+B,EAA/B,EAC5B,SAD4B,EAC5B,EAD4B,CADf,C;AAEb,a;AAAA;AAAA;;;;;;;;;AACK;AAAsC;AAAA,UAQzC,mDAAK;AARoC;AAAtC;;;;;;;;;;;;;;;;;;;;AASH,C;AAgCH;AACA;AACA;AACA;;;AACA,IAAa,iBAAiB,GAAQ;AACpC,SAAO,EAAE,aAD2B;AAEpC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,gBAAN;AAAA,GAAD,CAFa;AAGpC,OAAK,EAAE;AAH6B,CAAtC;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAMa,gB;AALb;AAAA;;AAMU,sBAA0B,UAAU,CAAC,aAArC;AAqCT;AACD;;;;;WA3BE,qBAAY,OAAZ,EAAkC;AAChC,UAAI,aAAa,OAAjB,EAA0B;AACxB,aAAK,gBAAL;;AACA,YAAI,KAAK,SAAT,EAAoB,KAAK,SAAL;AACrB;AACF;AACH;AAEC;AACE;AACE;;;;WACH,kBAAS,OAAT,EAAiC;AAC/B,aAAO,KAAK,UAAL,CAAgB,OAAhB,CAAP;AACD;AACH;AAEC;AACE;AACE;;;;WACH,mCAA0B,EAA1B,EAAwC;AACtC,WAAK,SAAL,GAAiB,EAAjB;AACD;;;WAEO,4BAAgB;AACtB,WAAK,UAAL,GAAkB,UAAU,CAAC,OAAX,CAAmB,KAAK,OAAxB,CAAlB;AACD;;;;;;iCA1CF,wB,CAAS,C,EAAA;AAAC,mBACT,gBADS;AACC,C;;;MAAsE,kB;AAChF,WAAS,EAAG,iBAAiB,EAAjB,EAAkB,iBAAlB,EACR,EADQ,GACL,gBAAgB,EAAhB,EAAkB,aAAlB,EAAkB,EAAlB,CADK,EACa,KAA2B,SAA3B,EAA2B,EAA3B,EAC1B,SAD0B,EAC1B,EAD0B,CADb,C;AAEb,a;AAAA;AAAA;;;;;;;;;AACK;AAAoC;AAAA,UAQvC,mDAAK;AARkC;AAApC;;;;;;;;;;;;;;;;;;;;AASH,C;AChhBH;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAuCa,sBAAsB,GAAgB,CACjDC,aADiD,EAEjD,cAFiD,EAGjDC,uBAHiD,EAIjD,oBAJiD,EAKjD,mBALiD,EAMjD,kBANiD,EAOjD,4BAPiD,EAQjD,0BARiD,EASjD,kCATiD,EAUjD,yBAViD,EAWjD,eAXiD,EAYjD,oBAZiD,EAajD,iBAbiD,EAcjD,kBAdiD,EAejD,kBAfiD,EAgBjD,gBAhBiD,EAiBjD,yBAjBiD,EAkBjD,cAlBiD,CAvCnD;AA2DA,IACa,0BAA0B,GAAgB,CAAC,OAAD,EAAU,YAAV,EAAwB,MAAxB,CADvD;AAEA,IACa,0BAA0B,GACnC,CAAC,oBAAD,EAAuB,kBAAvB,EAA2C,eAA3C,EAA4D,aAA5D,EAA2E,aAA3E,CAFJ;AAIA;AACA;AACA;;IAKa,0B;;;;iGAJZ;AAAA,MAAQ;AAAR,C;AACa,0BAAE,KAAF,GAAwB,+DAC3B;AAAA,oBAAsB,kCAAtB,CACV,CADU,EACV;AAAA;AAAA;AADU,CAD2B,CAAxB;;;;;;;;;;;;;;;;;;;AAGT,C;AC/EL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAOA,SAAS,wBAAT,CAAkC,OAAlC,EACsD;AACpD,SAAgC,OAAQ,CAAC,eAAT,KAA6B,SAA7B,IACH,OAAQ,CAAC,UAAT,KAAwB,SADrB,IAEH,OAAQ,CAAC,QAAT,KAAsB,SAFnD;AAGD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,W;;;;;;;WA8CX,eACI,cADJ,EAEoE;AAAA,UAAhE,OAAgE,uEAAJ,IAAI;;AAClE,UAAM,QAAQ,GAAG,KAAK,eAAL,CAAqB,cAArB,CAAjB;;AAEA,UAAI,UAAU,GAAmC,IAAjD;AACA,UAAI,eAAe,GAA6C,IAAhE;AACA,UAAI,QAAQ,GAAwB,SAApC;;AAEA,UAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,YAAI,wBAAwB,CAAC,OAAD,CAA5B,EAAuC;AAC7C;AACQ,oBAAU,GAAG,OAAO,CAAC,UAAR,IAAsB,IAAtB,GAA6B,OAAO,CAAC,UAArC,GAAkD,IAA/D;AACA,yBAAe,GAAG,OAAO,CAAC,eAAR,IAA2B,IAA3B,GAAkC,OAAO,CAAC,eAA1C,GAA4D,IAA9E;AACA,kBAAQ,GAAG,OAAO,CAAC,QAAR,IAAoB,IAApB,GAA2B,OAAO,CAAC,QAAnC,GAA8C,SAAzD;AACD,SALD,MAKO;AACb;AACQ,oBAAU,GAAG,OAAO,CAAC,WAAD,CAAP,IAAwB,IAAxB,GAA+B,OAAO,CAAC,WAAD,CAAtC,GAAsD,IAAnE;AACA,yBAAe,GAAG,OAAO,CAAC,gBAAD,CAAP,IAA6B,IAA7B,GAAoC,OAAO,CAAC,gBAAD,CAA3C,GAAgE,IAAlF;AACD;AACF;;AAED,aAAO,IAAI,SAAJ,CAAc,QAAd,EAAwB;AAAC,uBAAe,EAAf,eAAD;AAAkB,gBAAQ,EAAR,QAAlB;AAA4B,kBAAU,EAAV;AAA5B,OAAxB,CAAP;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AAGnB;AACC;AACE;AAAmB;AAAO;AAEH;AAAO;AAEH;AAAO;AAIpC;AAAuB;;;;WADxB,iBACI,SADJ,EACoB,eADpB,EAEI,cAFJ,EAE6D;AAC3D,aAAO,IAAI,WAAJ,CAAgB,SAAhB,EAA2B,eAA3B,EAA4C,cAA5C,CAAP;AACD;AACH;AAEC;AACE;AAEH;AAAO;AACE;AAEH;AAAO;AACE;AACE;AAEH;AAAO;AAGpB;AACS;;;;WADR,eACI,cADJ,EAEI,eAFJ,EAGI,cAHJ,EAG6D;AAAA;;AAC3D,UAAM,QAAQ,GAAG,cAAc,CAAC,GAAf,CAAmB,WAAC;AAAA,eAAI,OAAI,CAAC,cAAL,CAAoB,CAApB,CAAJ;AAAA,OAApB,CAAjB;AACA,aAAO,IAAI,SAAJ,CAAc,QAAd,EAAwB,eAAxB,EAAyC,cAAzC,CAAP;AACD;AACH;;;;WAEE,yBAAgB,cAAhB,EAAkD;AAAA;;AAChD,UAAM,QAAQ,GAAqC,EAAnD;AACA,YAAM,CAAC,IAAP,CAAY,cAAZ,EAA4B,OAA5B,CAAoC,qBAAW;AAC7C,gBAAQ,CAAC,WAAD,CAAR,GAAwB,OAAI,CAAC,cAAL,CAAoB,cAAc,CAAC,WAAD,CAAlC,CAAxB;AACD,OAFD;AAGA,aAAO,QAAP;AACD;AACH;;;;WAEE,wBAAe,aAAf,EAAiC;AAC/B,UAAI,aAAa,YAAY,WAAzB,IAAwC,aAAa,YAAY,SAAjE,IACA,aAAa,YAAY,SAD7B,EACwC;AACtC,eAAO,aAAP;AAED,OAJD,MAIO,IAAI,KAAK,CAAC,OAAN,CAAc,aAAd,CAAJ,EAAkC;AACvC,YAAM,KAAK,GAAG,aAAa,CAAC,CAAD,CAA3B;AACA,YAAM,SAAS,GAAgB,aAAa,CAAC,MAAd,GAAuB,CAAvB,GAA2B,aAAa,CAAC,CAAD,CAAxC,GAA8C,IAA7E;AACA,YAAM,cAAc,GAAqB,aAAa,CAAC,MAAd,GAAuB,CAAvB,GAA2B,aAAa,CAAC,CAAD,CAAxC,GAA8C,IAAvF;AACA,eAAO,KAAK,OAAL,CAAa,KAAb,EAAoB,SAApB,EAA+B,cAA/B,CAAP;AAED,OANM,MAMA;AACL,eAAO,KAAK,OAAL,CAAa,aAAb,CAAP;AACD;AACF;;;;;;4BAnJF,mB,CAAA,C,EAAU;AAAA;AAAA,C;;;;;;;;;;;;AACT,C;ACjCF;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;;;AACA,IAAa,OAAO,GAAG,IAAI,qDAAJ,CAAY,QAAZ,CAAvB;AACC;AADqD;ACjBtD;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAMa,W;;;;kFALZ;AAAA,MAAQ;AAAR,C;AACC,mBAAY,+DAAE;AAAA,SAA0B,+BAC5B,CAD4B,EAC5B;AAAA,gBAAqB,gBAArB;AACZ,GAFc;AAEP,WAAGC,wBAFI;AAEuB;AAFvB,CAAF,CAAZ;;;;;;;;;;;;;;;;;;;;AAIG,C;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAMa,mB;;;;;;;;AACb;AACE;AACE;AAEH;AAAO;AACE;AACE;AAEJ;AAAN,wBAAkB,IAAlB,EAEC;AACC,aAAO;AACL,gBAAQ,EAAE,mBADL;AAEL,iBAAS,EAAE,CACT;AAAC,iBAAO,EAAE,kCAAV;AAA8C,kBAAQ,EAAE,IAAI,CAAC;AAA7D,SADS;AAFN,OAAP;AAMD;;;;;;0FAvBF;AAAA,MAAQ;AAAR,C;AACa,mBAAG,KAAH,GAAG,+DAA2B;AAAA,SAC1C,WAAY,2BAAZ,CAAyB,CAAzB,EAAyB;AAAoB,WAAC,gCAAD;AACnCA,GAFgC;AAEhCA,aAAyB,cAAE,oBAAF,CAFO;AAEsB,SACjE;AAH2C,CAA3B,CAAH;;;;;;;;;;;;;;;;;;;;AAIT,C;AC7CL;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;;;;;;;;;;;;;;;ACFA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAoDM,SAAU,SAAV,CAAuB,QAAvB,EAAyE;AAAA,MAAhC,SAAgC,uEAAL,sDAAK;AAC7E,SAAO,oDAAK,CAAC;AAAA,WAAM,+DAAK,CAAC,QAAD,EAAW,SAAX,CAAX;AAAA,GAAD,CAAZ;AACD,C;;;;;;;;;;;;;;;;;;;;;;;ACtDD;AA8BM,SAAU,cAAV,GAAwB;AAC5B,SAAO,SAAS,8BAAT,CAAwC,MAAxC,EAA+D;AACpE,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,sBAAJ,EAAZ,CAAP;AACD,GAFD;AAGD;;IAEK,sB;;;;;;;WACJ,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,wBAAJ,CAA6B,UAA7B,CAAjB,CAAP;AACD;;;;;;IAQG,wB;;;;;;;;;;;;;WACM,eAAM,MAAN,EAAe,CAExB;;;;EAHuC,sD;;;;;;;;;;;;AC1C1C;AAAA;AAAA,IAAM,2BAA2B,GAAI,YAAK;AACxC,WAAS,2BAAT,GAAoC;AAClC,SAAK,CAAC,IAAN,CAAW,IAAX;AACA,SAAK,OAAL,GAAe,uBAAf;AACA,SAAK,IAAL,GAAY,yBAAZ;AACA,WAAO,IAAP;AACD;;AAED,6BAA2B,CAAC,SAA5B,GAAwC,MAAM,CAAC,MAAP,CAAc,KAAK,CAAC,SAApB,CAAxC;AAEA,SAAO,2BAAP;AACD,CAXmC,EAApC;;AAuBO,IAAM,uBAAuB,GAAgC,2BAA7D,C;;;;;;;;;;;;;;;;;;;;;;AC9BP;AACA;AAGA;AACA;AACA;AACA;AAoJM,SAAU,gBAAV,CACJ,YADI,EAEJ,cAFI,EAGJ,SAHI,EAGqB;AAGzB,MAAI,cAAJ,EAAoB;AAClB,QAAI,qEAAW,CAAC,cAAD,CAAf,EAAiC;AAC/B,eAAS,GAAG,cAAZ;AACD,KAFD,MAEO;AAEL,aAAO;AAAA,eAAoB,gBAAgB,CAAC,YAAD,EAAe,SAAf,CAAhB,0BAAmD,IAAnD,CACzB,0DAAG,CAAC,cAAI;AAAA,iBAAI,6DAAO,CAAC,IAAD,CAAP,GAAgB,cAAc,MAAd,2JAAkB,IAAlB,EAAhB,GAA0C,cAAc,CAAC,IAAD,CAA5D;AAAA,SAAL,CADsB,CAApB;AAAA,OAAP;AAGD;AACF;;AAED,SAAO,YAAkC;AAAA,sCAAX,IAAW;AAAX,UAAW;AAAA;;AACvC,QAAM,MAAM,GAAmB;AAC7B,aAAO,EAAE,SADoB;AAE7B,UAAI,EAAJ,IAF6B;AAG7B,kBAAY,EAAZ,YAH6B;AAI7B,eAAS,EAAT,SAJ6B;AAK7B,aAAO,EAAE;AALoB,KAA/B;AAOA,WAAO,IAAI,sDAAJ,CAAkB,oBAAU,EAAG;AACpC,UAAQ,OAAR,GAAoB,MAApB,CAAQ,OAAR;AACA,UAAM,OAAN,GAAkB,MAAlB,CAAM,OAAN;;AACA,UAAI,CAAC,SAAL,EAAgB;AACd,YAAI,CAAC,OAAL,EAAc;AACZ,iBAAO,GAAG,MAAM,CAAC,OAAP,GAAiB,IAAI,0DAAJ,EAA3B;;AACA,cAAM,OAAO,GAAG,SAAV,OAAU,GAAwB;AAAA,+CAApB,SAAoB;AAApB,uBAAoB;AAAA;;AACtC,gBAAM,GAAG,GAAG,SAAS,CAAC,KAAV,EAAZ;;AAEA,gBAAI,GAAJ,EAAS;AACP,qBAAO,CAAC,KAAR,CAAc,GAAd;AACA;AACD;;AAED,mBAAO,CAAC,IAAR,CAAa,SAAS,CAAC,MAAV,IAAoB,CAApB,GAAwB,SAAS,CAAC,CAAD,CAAjC,GAAuC,SAApD;AACA,mBAAO,CAAC,QAAR;AACD,WAVD;;AAYA,cAAI;AACF,wBAAY,CAAC,KAAb,CAAmB,OAAnB,YAAgC,IAAhC,GAAsC,OAAtC;AACD,WAFD,CAEE,OAAO,GAAP,EAAY;AACZ,gBAAI,2EAAc,CAAC,OAAD,CAAlB,EAA6B;AAC3B,qBAAO,CAAC,KAAR,CAAc,GAAd;AACD,aAFD,MAEO;AACL,qBAAO,CAAC,IAAR,CAAa,GAAb;AACD;AACF;AACF;;AACD,eAAO,OAAO,CAAC,SAAR,CAAkB,UAAlB,CAAP;AACD,OA1BD,MA0BO;AACL,eAAO,SAAS,CAAC,QAAV,CAAqC,QAArC,EAA+C,CAA/C,EAAkD;AAAE,gBAAM,EAAN,MAAF;AAAU,oBAAU,EAAV,UAAV;AAAsB,iBAAO,EAAP;AAAtB,SAAlD,CAAP;AACD;AACF,KAhCM,CAAP;AAiCD,GAzCD;AA0CD;;AAgBD,SAAS,QAAT,CAA8D,KAA9D,EAAqF;AAAA;;AACnF,MAAQ,MAAR,GAAwC,KAAxC,CAAQ,MAAR;AAAA,MAAgB,UAAhB,GAAwC,KAAxC,CAAgB,UAAhB;AAAA,MAA4B,OAA5B,GAAwC,KAAxC,CAA4B,OAA5B;AACA,MAAQ,YAAR,GAA0C,MAA1C,CAAQ,YAAR;AAAA,MAAsB,IAAtB,GAA0C,MAA1C,CAAsB,IAAtB;AAAA,MAA4B,SAA5B,GAA0C,MAA1C,CAA4B,SAA5B;AACA,MAAI,OAAO,GAAG,MAAM,CAAC,OAArB;;AAEA,MAAI,CAAC,OAAL,EAAc;AACZ,WAAO,GAAG,MAAM,CAAC,OAAP,GAAiB,IAAI,0DAAJ,EAA3B;;AAEA,QAAM,OAAO,GAAG,SAAV,OAAU,GAAwB;AAAA,yCAApB,SAAoB;AAApB,iBAAoB;AAAA;;AACtC,UAAM,GAAG,GAAG,SAAS,CAAC,KAAV,EAAZ;;AACA,UAAI,GAAJ,EAAS;AACP,aAAI,CAAC,GAAL,CAAS,SAAS,CAAC,QAAV,CAAwC,aAAxC,EAAuD,CAAvD,EAA0D;AAAE,aAAG,EAAH,GAAF;AAAO,iBAAO,EAAP;AAAP,SAA1D,CAAT;AACD,OAFD,MAEO;AACL,YAAM,KAAK,GAAG,SAAS,CAAC,MAAV,IAAoB,CAApB,GAAwB,SAAS,CAAC,CAAD,CAAjC,GAAuC,SAArD;;AACA,aAAI,CAAC,GAAL,CAAS,SAAS,CAAC,QAAV,CAAuC,YAAvC,EAAqD,CAArD,EAAwD;AAAE,eAAK,EAAL,KAAF;AAAS,iBAAO,EAAP;AAAT,SAAxD,CAAT;AACD;AACF,KARD;;AAUA,QAAI;AACF,kBAAY,CAAC,KAAb,CAAmB,OAAnB,8JAAgC,IAAhC,IAAsC,OAAtC;AACD,KAFD,CAEE,OAAO,GAAP,EAAY;AACZ,WAAK,GAAL,CAAS,SAAS,CAAC,QAAV,CAAwC,aAAxC,EAAuD,CAAvD,EAA0D;AAAE,WAAG,EAAH,GAAF;AAAO,eAAO,EAAP;AAAP,OAA1D,CAAT;AACD;AACF;;AAED,OAAK,GAAL,CAAS,OAAO,CAAC,SAAR,CAAkB,UAAlB,CAAT;AACD;;AAOD,SAAS,YAAT,CAAyB,GAAzB,EAAgD;AAC9C,MAAQ,KAAR,GAA2B,GAA3B,CAAQ,KAAR;AAAA,MAAe,OAAf,GAA2B,GAA3B,CAAe,OAAf;AACA,SAAO,CAAC,IAAR,CAAa,KAAb;AACA,SAAO,CAAC,QAAR;AACD;;AAOD,SAAS,aAAT,CAA0B,GAA1B,EAAkD;AAChD,MAAQ,GAAR,GAAyB,GAAzB,CAAQ,GAAR;AAAA,MAAa,OAAb,GAAyB,GAAzB,CAAa,OAAb;AACA,SAAO,CAAC,KAAR,CAAc,GAAd;AACD,C;;;;;;;;;;;;;;;;;;ACpRD;AAEA;AAsBM,SAAU,IAAV,GAAqE;AAAA,oCAAhD,WAAgD;AAAhD,eAAgD;AAAA;;AACzE,SAAO,SAAS,oBAAT,CAA8B,MAA9B,EAAmD;AAGxD,QAAI,WAAW,CAAC,MAAZ,KAAuB,CAAvB,IAA4B,6DAAO,CAAC,WAAW,CAAC,CAAD,CAAZ,CAAvC,EAAyD;AACvD,iBAAW,GAAG,WAAW,CAAC,CAAD,CAAzB;AACD;;AAED,WAAO,MAAM,CAAC,IAAP,CAAY,IAAZ,CAAiB,qDAAU,MAAV,UAAW,MAAX,2JAAuB,WAAvB,GAAjB,CAAP;AACD,GARD;AASD,C;;;;;;;;;;;;;;;;;;;;;ACjCD;AAEA;AACA;AACA;AA+CM,SAAU,YAAV,GAA0D;AAAA,MAAhC,SAAgC,uEAAL,sDAAK;AAC9D,SAAO,UAAC,MAAD;AAAA,WAA2B,+DAAK,CAAC,YAAK;AAC3C,aAAO,MAAM,CAAC,IAAP,CAEL,kDAAI,CACF,gBAAc,KAAd;AAAA,YAAG,OAAH,QAAG,OAAH;AAAA,eAAyB;AAAE,eAAK,EAAL,KAAF;AAAS,iBAAO,EAAE,SAAS,CAAC,GAAV,EAAlB;AAAmC,cAAI,EAAE;AAAzC,SAAzB;AAAA,OADE,EAEF;AAAE,eAAO,EAAE,SAAS,CAAC,GAAV,EAAX;AAA4B,aAAK,EAAE,SAAnC;AAA+C,YAAI,EAAE;AAArD,OAFE,CAFC,EAML,gDAAG,CAAuB;AAAA,YAAG,OAAH,SAAG,OAAH;AAAA,YAAY,IAAZ,SAAY,IAAZ;AAAA,YAAkB,KAAlB,SAAkB,KAAlB;AAAA,eAA8B,IAAI,YAAJ,CAAiB,KAAjB,EAAwB,OAAO,GAAG,IAAlC,CAA9B;AAAA,OAAvB,CANE,CAAP;AAQD,KATsC,CAAhC;AAAA,GAAP;AAUD;AAQD,IAAa,YAAb,GACE,sBAAmB,KAAnB,EAAoC,QAApC,EAAoD;AAAA;;AAAjC;AAAiB;AAAoB,CAD1D,C;;;;;;;;;;;;ACxEA;AAAA;AAAA;AAAA;AAAA;AAEA;AAEM,SAAU,eAAV,CAA6B,KAA7B,EAAoD,SAApD,EAA4E;AAChF,SAAO,IAAI,sDAAJ,CAAkB,oBAAU,EAAG;AACpC,QAAM,GAAG,GAAG,IAAI,0DAAJ,EAAZ;AACA,OAAG,CAAC,GAAJ,CAAQ,SAAS,CAAC,QAAV,CAAmB;AAAA,aAAM,KAAK,CAAC,IAAN,CAC/B,eAAK,EAAG;AACN,WAAG,CAAC,GAAJ,CAAQ,SAAS,CAAC,QAAV,CAAmB,YAAK;AAC9B,oBAAU,CAAC,IAAX,CAAgB,KAAhB;AACA,aAAG,CAAC,GAAJ,CAAQ,SAAS,CAAC,QAAV,CAAmB;AAAA,mBAAM,UAAU,CAAC,QAAX,EAAN;AAAA,WAAnB,CAAR;AACD,SAHO,CAAR;AAID,OAN8B,EAO/B,aAAG,EAAG;AACJ,WAAG,CAAC,GAAJ,CAAQ,SAAS,CAAC,QAAV,CAAmB;AAAA,iBAAM,UAAU,CAAC,KAAX,CAAiB,GAAjB,CAAN;AAAA,SAAnB,CAAR;AACD,OAT8B,CAAN;AAAA,KAAnB,CAAR;AAWA,WAAO,GAAP;AACD,GAdM,CAAP;AAeD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfD;AACA;AACA;AAgEM,SAAU,QAAV,CACJ,OADI,EAEJ,cAFI,EAGyC;AAAA,MAA7C,UAA6C,uEAAxB,MAAM,CAAC,iBAAiB;;AAE7C,MAAI,OAAO,cAAP,KAA0B,UAA9B,EAA0C;AAExC,WAAO,UAAC,MAAD;AAAA,aAA2B,MAAM,CAAC,IAAP,CAChC,QAAQ,CAAC,UAAC,CAAD,EAAI,CAAJ;AAAA,eAAU,6DAAI,CAAC,OAAO,CAAC,CAAD,EAAI,CAAJ,CAAR,CAAJ,CAAoB,IAApB,CACjB,gDAAG,CAAC,UAAC,CAAD,EAAS,EAAT;AAAA,iBAAwB,cAAc,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,EAAV,CAAtC;AAAA,SAAD,CADc,CAAV;AAAA,OAAD,EAEL,UAFK,CADwB,CAA3B;AAAA,KAAP;AAKD,GAPD,MAOO,IAAI,OAAO,cAAP,KAA0B,QAA9B,EAAwC;AAC7C,cAAU,GAAG,cAAb;AACD;;AACD,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,gBAAJ,CAAqB,OAArB,EAA8B,UAA9B,CAAZ,CAA3B;AAAA,GAAP;AACD;AAED,IAAa,gBAAb;AACE,4BAAoB,OAApB,EACiE;AAAA,QAA7C,UAA6C,uEAAxB,MAAM,CAAC,iBAAiB;;AAAA;;AAD7C;AACA;AACnB;;AAHH;AAAA;AAAA,WAKE,cAAK,QAAL,EAA8B,MAA9B,EAAyC;AACvC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,kBAAJ,CACtB,QADsB,EACZ,KAAK,OADO,EACE,KAAK,UADP,CAAjB,CAAP;AAGD;AATH;;AAAA;AAAA;AAiBA,IAAa,kBAAb;AAAA;;AAAA;;AAME,8BAAY,WAAZ,EACoB,OADpB,EAEiE;AAAA;;AAAA,QAA7C,UAA6C,uEAAxB,MAAM,CAAC,iBAAiB;;AAAA;;AAC/D,8BAAM,WAAN;AAFkB;AACA;AAPZ,yBAAwB,KAAxB;AACA,mBAAc,EAAd;AACA,mBAAiB,CAAjB;AACE,kBAAgB,CAAhB;AAIuD;AAEhE;;AAVH;AAAA;AAAA,WAYY,eAAM,KAAN,EAAc;AACtB,UAAI,KAAK,MAAL,GAAc,KAAK,UAAvB,EAAmC;AACjC,aAAK,QAAL,CAAc,KAAd;AACD,OAFD,MAEO;AACL,aAAK,MAAL,CAAY,IAAZ,CAAiB,KAAjB;AACD;AACF;AAlBH;AAAA;AAAA,WAoBY,kBAAS,KAAT,EAAiB;AACzB,UAAI,MAAJ;AACA,UAAM,KAAK,GAAG,KAAK,KAAL,EAAd;;AACA,UAAI;AACF,cAAM,GAAG,KAAK,OAAL,CAAa,KAAb,EAAoB,KAApB,CAAT;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAwB,GAAxB;AACA;AACD;;AACD,WAAK,MAAL;;AACA,WAAK,SAAL,CAAe,MAAf;AACD;AA/BH;AAAA;AAAA,WAiCU,mBAAU,GAAV,EAAiC;AACvC,UAAM,eAAe,GAAG,IAAI,qEAAJ,CAA0B,IAA1B,CAAxB;AACA,UAAM,WAAW,GAAG,KAAK,WAAzB;AACA,iBAAW,CAAC,GAAZ,CAAgB,eAAhB;AACA,UAAM,iBAAiB,GAAG,sEAAc,CAAC,GAAD,EAAM,eAAN,CAAxC;;AAIA,UAAI,iBAAiB,KAAK,eAA1B,EAA2C;AACzC,mBAAW,CAAC,GAAZ,CAAgB,iBAAhB;AACD;AACF;AA5CH;AAAA;AAAA,WA8CY,qBAAS;AACjB,WAAK,YAAL,GAAoB,IAApB;;AACA,UAAI,KAAK,MAAL,KAAgB,CAAhB,IAAqB,KAAK,MAAL,CAAY,MAAZ,KAAuB,CAAhD,EAAmD;AACjD,aAAK,WAAL,CAAiB,QAAjB;AACD;;AACD,WAAK,WAAL;AACD;AApDH;AAAA;AAAA,WAsDE,oBAAW,UAAX,EAAwB;AACtB,WAAK,WAAL,CAAiB,IAAjB,CAAuB,UAAvB;AACD;AAxDH;AAAA;AAAA,WA0DE,0BAAc;AACZ,UAAM,MAAM,GAAG,KAAK,MAApB;AACA,WAAK,MAAL;;AACA,UAAI,MAAM,CAAC,MAAP,GAAgB,CAApB,EAAuB;AACrB,aAAK,KAAL,CAAW,MAAM,CAAC,KAAP,EAAX;AACD,OAFD,MAEO,IAAI,KAAK,MAAL,KAAgB,CAAhB,IAAqB,KAAK,YAA9B,EAA4C;AACjD,aAAK,WAAL,CAAiB,QAAjB;AACD;AACF;AAlEH;;AAAA;AAAA,EAA8C,qEAA9C;AAwEO,IAAM,OAAO,GAAG,QAAhB,C;;;;;;;;;;;;;;;;;;;;;;;;;AC7KP;AAyCM,SAAU,SAAV,CAA0B,WAA1B,EAC0B,IAD1B,EAEuE;AAAA,MAA7C,UAA6C,uEAAxB,MAAM,CAAC,iBAAiB;AAC3E,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,iBAAJ,CAAsB,WAAtB,EAAmC,IAAnC,EAAyC,UAAzC,CAAZ,CAA3B;AAAA,GAAP;AACD;AAED,IAAa,iBAAb;AACE,6BAAoB,WAApB,EACoB,IADpB,EAEoB,UAFpB,EAEsC;AAAA;;AAFlB;AACA;AACA;AACnB;;AAJH,EAAE;AAAF;AAAA,WAME,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,mBAAJ,CACtB,UADsB,EACV,KAAK,WADK,EACQ,KAAK,IADb,EACmB,KAAK,UADxB,CAAjB,CAAP;AAGD;AAVH;;AAAA;AAAA;AAkBA,IAAa,mBAAb;AAAA,EAAE;;AAAF;;AAOE,+BAAY,WAAZ,EACoB,WADpB,EAEoB,GAFpB,EAGoB,UAHpB,EAGsC;AAAA;;AAAA;;AACpC,8BAAM,WAAN;AAHkB;AACA;AACA;AATZ,qBAAoB,KAApB;AACA,yBAAwB,KAAxB;AACA,mBAA4B,EAA5B;AACA,mBAAiB,CAAjB;AACE,kBAAgB,CAAhB;AAK4B;AAErC;;AAZH,EAAE;AAAF;AAAA,WAcY,eAAM,KAAN,EAAgB;AACxB,UAAI,KAAK,MAAL,GAAc,KAAK,UAAvB,EAAmC;AACjC,YAAM,KAAK,GAAG,KAAK,KAAL,EAAd;AACA,YAAM,WAAW,GAAG,KAAK,WAAzB;AACA,YAAI,GAAJ;;AACA,YAAI;AACF,cAAQ,WAAR,GAAwB,IAAxB,CAAQ,WAAR;AACA,aAAG,GAAG,WAAW,CAAC,KAAK,GAAN,EAAW,KAAX,EAAkB,KAAlB,CAAjB;AACD,SAHD,CAGE,OAAO,CAAP,EAAU;AACV,iBAAO,WAAW,CAAC,KAAZ,CAAmB,CAAnB,CAAP;AACD;;AACD,aAAK,MAAL;;AACA,aAAK,SAAL,CAAe,GAAf;AACD,OAZD,MAYO;AACL,aAAK,MAAL,CAAY,IAAZ,CAAiB,KAAjB;AACD;AACF;AA9BH;AAAA;AAAA,WAgCU,mBAAU,GAAV,EAAkB;AACxB,UAAM,eAAe,GAAG,IAAI,qEAAJ,CAA0B,IAA1B,CAAxB;AACA,UAAM,WAAW,GAAG,KAAK,WAAzB;AACA,iBAAW,CAAC,GAAZ,CAAgB,eAAhB;AACA,UAAM,iBAAiB,GAAG,sEAAc,CAAC,GAAD,EAAM,eAAN,CAAxC;;AAIA,UAAI,iBAAiB,KAAK,eAA1B,EAA2C;AACzC,mBAAW,CAAC,GAAZ,CAAgB,iBAAhB;AACD;AACF;AA3CH;AAAA;AAAA,WA6CY,qBAAS;AACjB,WAAK,YAAL,GAAoB,IAApB;;AACA,UAAI,KAAK,MAAL,KAAgB,CAAhB,IAAqB,KAAK,MAAL,CAAY,MAAZ,KAAuB,CAAhD,EAAmD;AACjD,YAAI,KAAK,QAAL,KAAkB,KAAtB,EAA6B;AAC3B,eAAK,WAAL,CAAiB,IAAjB,CAAuB,KAAK,GAA5B;AACD;;AACD,aAAK,WAAL,CAAiB,QAAjB;AACD;;AACD,WAAK,WAAL;AACD;AAtDH;AAAA;AAAA,WAwDE,oBAAW,UAAX,EAAwB;AACtB,UAAQ,WAAR,GAAwB,IAAxB,CAAQ,WAAR;AACA,WAAK,GAAL,GAAW,UAAX;AACA,WAAK,QAAL,GAAgB,IAAhB;AACA,iBAAW,CAAC,IAAZ,CAAkB,UAAlB;AACD;AA7DH;AAAA;AAAA,WA+DE,0BAAc;AACZ,UAAM,MAAM,GAAG,KAAK,MAApB;AACA,WAAK,MAAL;;AACA,UAAI,MAAM,CAAC,MAAP,GAAgB,CAApB,EAAuB;AACrB,aAAK,KAAL,CAAW,MAAM,CAAC,KAAP,EAAX;AACD,OAFD,MAEO,IAAI,KAAK,MAAL,KAAgB,CAAhB,IAAqB,KAAK,YAA9B,EAA4C;AACjD,YAAI,KAAK,QAAL,KAAkB,KAAtB,EAA6B;AAC3B,eAAK,WAAL,CAAiB,IAAjB,CAAuB,KAAK,GAA5B;AACD;;AACD,aAAK,WAAL,CAAiB,QAAjB;AACD;AACF;AA1EH;;AAAA;AAAA,EAA+C,qEAA/C,E;;;;;;;;;;;;;;;;;;;;;;;ACtEA;AAQA,IAAa,eAAb;AAAA,EAAE;;AAAF;;AAGE,2BAAoB,MAApB,EAA0D,UAA1D,EAAgF,UAAhF,EAAkG;AAAA;;AAAA;;AAChG;AADkB;AAAsC;AAAsB;AAFxE,kBAAQ,CAAR;AAE0F;AAEjG;;AALH,EAAE;AAAF;AAAA,WAOY,eAAM,KAAN,EAAc;AACtB,WAAK,MAAL,CAAY,UAAZ,CAAuB,KAAK,UAA5B,EAAwC,KAAxC,EAA+C,KAAK,UAApD,EAAgE,KAAK,KAAL,EAAhE,EAA8E,IAA9E;AACD;AATH;AAAA;AAAA,WAWY,gBAAO,KAAP,EAAiB;AACzB,WAAK,MAAL,CAAY,WAAZ,CAAwB,KAAxB,EAA+B,IAA/B;AACA,WAAK,WAAL;AACD;AAdH;AAAA;AAAA,WAgBY,qBAAS;AACjB,WAAK,MAAL,CAAY,cAAZ,CAA2B,IAA3B;AACA,WAAK,WAAL;AACD;AAnBH;;AAAA;AAAA,EAA2C,sDAA3C,E;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAGM,SAAU,kBAAV,CAAgC,KAAhC,EAA6D,SAA7D,EAAqF;AACzF,SAAO,IAAI,sDAAJ,CAAkB,oBAAU,EAAG;AACpC,QAAM,GAAG,GAAG,IAAI,0DAAJ,EAAZ;AACA,OAAG,CAAC,GAAJ,CAAQ,SAAS,CAAC,QAAV,CAAmB,YAAK;AAC9B,UAAM,UAAU,GAAoB,KAAK,CAAC,6DAAD,CAAL,EAApC;AACA,SAAG,CAAC,GAAJ,CAAQ,UAAU,CAAC,SAAX,CAAqB;AAC3B,YAD2B,gBACtB,KADsB,EACjB;AAAI,aAAG,CAAC,GAAJ,CAAQ,SAAS,CAAC,QAAV,CAAmB;AAAA,mBAAM,UAAU,CAAC,IAAX,CAAgB,KAAhB,CAAN;AAAA,WAAnB,CAAR;AAA4D,SAD/C;AAE3B,aAF2B,iBAErB,GAFqB,EAElB;AAAI,aAAG,CAAC,GAAJ,CAAQ,SAAS,CAAC,QAAV,CAAmB;AAAA,mBAAM,UAAU,CAAC,KAAX,CAAiB,GAAjB,CAAN;AAAA,WAAnB,CAAR;AAA2D,SAF7C;AAG3B,gBAH2B,sBAGnB;AAAK,aAAG,CAAC,GAAJ,CAAQ,SAAS,CAAC,QAAV,CAAmB;AAAA,mBAAM,UAAU,CAAC,QAAX,EAAN;AAAA,WAAnB,CAAR;AAA2D;AAH7C,OAArB,CAAR;AAKD,KAPO,CAAR;AAQA,WAAO,GAAP;AACD,GAXM,CAAP;AAYD,C;;;;;;;;;;;;AClBD;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAgCO,IAAM,KAAK,GAAG,IAAI,sDAAJ,CAAsB,+CAAtB,CAAd;AAKD,SAAU,KAAV,GAAe;AACnB,SAAO,KAAP;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCD;AAkDM,SAAU,QAAV,CAAsB,gBAAtB,EAAgF;AACpF,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,gBAAJ,CAAqB,gBAArB,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,gB;AACJ,4BAAoB,gBAApB,EAA8E;AAAA;;AAA1D;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,kBAAJ,CAAuB,UAAvB,EAAmC,KAAK,gBAAxC,CAAjB,CAAP;AACD;;;;;;IAQG,kB;;;;;AAKJ,8BAAY,WAAZ,EACoB,gBADpB,EAC8E;AAAA;;AAAA;;AAC5E,8BAAM,WAAN;AADkB;AAJZ,qBAAW,KAAX;AAIsE;AAE7E;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAI;AACF,YAAM,MAAM,GAAG,KAAK,gBAAL,CAAsB,IAAtB,CAA2B,IAA3B,EAAiC,KAAjC,CAAf;;AAEA,YAAI,MAAJ,EAAY;AACV,eAAK,QAAL,CAAc,KAAd,EAAqB,MAArB;AACD;AACF,OAND,CAME,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAwB,GAAxB;AACD;AACF;;;WAES,qBAAS;AACjB,WAAK,SAAL;AACA,WAAK,WAAL,CAAiB,QAAjB;AACD;;;WAEO,kBAAS,KAAT,EAAmB,QAAnB,EAAuD;AAC7D,UAAI,YAAY,GAAG,KAAK,oBAAxB;AACA,WAAK,KAAL,GAAa,KAAb;AACA,WAAK,QAAL,GAAgB,IAAhB;;AACA,UAAI,YAAJ,EAAkB;AAChB,oBAAY,CAAC,WAAb;AACA,aAAK,MAAL,CAAY,YAAZ;AACD;;AAED,kBAAY,GAAG,sEAAc,CAAC,QAAD,EAAW,IAAI,qEAAJ,CAA0B,IAA1B,CAAX,CAA7B;;AACA,UAAI,YAAY,IAAI,CAAC,YAAY,CAAC,MAAlC,EAA0C;AACxC,aAAK,GAAL,CAAS,KAAK,oBAAL,GAA4B,YAArC;AACD;AACF;;;WAED,sBAAU;AACR,WAAK,SAAL;AACD;;;WAED,0BAAc;AACZ,WAAK,SAAL;AACD;;;WAED,qBAAS;AACP,UAAI,KAAK,QAAT,EAAmB;AACjB,YAAM,KAAK,GAAG,KAAK,KAAnB;AACA,YAAM,YAAY,GAAG,KAAK,oBAA1B;;AACA,YAAI,YAAJ,EAAkB;AAChB,eAAK,oBAAL,GAA4B,SAA5B;AACA,sBAAY,CAAC,WAAb;AACA,eAAK,MAAL,CAAY,YAAZ;AACD;;AAMD,aAAK,KAAL,GAAa,SAAb;AACA,aAAK,QAAL,GAAgB,KAAhB;;AACA,oVAAY,KAAZ;AACD;AACF;;;;EApEoC,qE;;;;;;;;;;;ACzEvC;AACA,CAAC,UAAS3+I,OAAT,EAAkB;AACf,MAAI,IAAJ,EAAgD;AAC5C;AACAqxI,qCAAO,EAAD,oCAAKrxI,OAAL;AAAA;AAAA;AAAA,oGAAN;AACH,GAHD,MAGO,EAMN;AACJ,CAXD,EAWG,YAAW;AACV;;AAEA,MAAIopC,OAAO,GAAG,QAAd,CAHU,CAKV;;AAEA,WAASw1G,gBAAT,CAA0BlvI,KAA1B,EAAiC;AAC7B,WAAO,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,OAAOA,KAAK,CAACmvI,EAAb,KAAoB,UAAjD,IAA+D,OAAOnvI,KAAK,CAACu6B,IAAb,KAAsB,UAA5F;AACH;;AAED,WAAS60G,aAAT,CAAuB3iF,EAAvB,EAA2B;AACvBA,MAAE,CAACiB,aAAH,CAAiB2hF,WAAjB,CAA6B5iF,EAA7B;AACH;;AAED,WAAS6iF,KAAT,CAAermJ,KAAf,EAAsB;AAClB,WAAOA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAKsE,SAAnC;AACH,GAjBS,CAmBV;;;AACA,WAASgiJ,cAAT,CAAwBj5I,CAAxB,EAA2B;AACvBA,KAAC,CAACi5I,cAAF;AACH,GAtBS,CAwBV;;;AACA,WAASC,MAAT,CAAgBn9C,KAAhB,EAAuB;AACnB,WAAOA,KAAK,CAAC1nF,MAAN,CAAa,UAASge,CAAT,EAAY;AAC5B,aAAO,CAAC,KAAKA,CAAL,CAAD,GAAY,KAAKA,CAAL,IAAU,IAAtB,GAA8B,KAArC;AACH,KAFM,EAEJ,EAFI,CAAP;AAGH,GA7BS,CA+BV;;;AACA,WAAS8mH,OAAT,CAAiBxmJ,KAAjB,EAAwBkmJ,EAAxB,EAA4B;AACxB,WAAOjoH,IAAI,CAACwoH,KAAL,CAAWzmJ,KAAK,GAAGkmJ,EAAnB,IAAyBA,EAAhC;AACH,GAlCS,CAoCV;;;AACA,WAASjpG,MAAT,CAAgBypG,IAAhB,EAAsBC,WAAtB,EAAmC;AAC/B,QAAIC,IAAI,GAAGF,IAAI,CAACG,qBAAL,EAAX;AACA,QAAIC,GAAG,GAAGJ,IAAI,CAACK,aAAf;AACA,QAAIC,OAAO,GAAGF,GAAG,CAACG,eAAlB;AACA,QAAIC,UAAU,GAAGC,aAAa,CAACL,GAAD,CAA9B,CAJ+B,CAM/B;AACA;AACA;;AACA,QAAI,0BAA0Br9G,IAA1B,CAA+B29G,SAAS,CAACC,SAAzC,CAAJ,EAAyD;AACrDH,gBAAU,CAACI,CAAX,GAAe,CAAf;AACH;;AAED,WAAOX,WAAW,GACZC,IAAI,CAACW,GAAL,GAAWL,UAAU,CAACM,CAAtB,GAA0BR,OAAO,CAACS,SADtB,GAEZb,IAAI,CAAC7hG,IAAL,GAAYmiG,UAAU,CAACI,CAAvB,GAA2BN,OAAO,CAACU,UAFzC;AAGH,GArDS,CAuDV;;;AACA,WAASC,SAAT,CAAmBjoH,CAAnB,EAAsB;AAClB,WAAO,OAAOA,CAAP,KAAa,QAAb,IAAyB,CAACkiC,KAAK,CAACliC,CAAD,CAA/B,IAAsCkoH,QAAQ,CAACloH,CAAD,CAArD;AACH,GA1DS,CA4DV;;;AACA,WAASmoH,WAAT,CAAqB1oJ,OAArB,EAA8BqD,SAA9B,EAAyCslJ,QAAzC,EAAmD;AAC/C,QAAIA,QAAQ,GAAG,CAAf,EAAkB;AACdC,cAAQ,CAAC5oJ,OAAD,EAAUqD,SAAV,CAAR;AACAwlJ,gBAAU,CAAC,YAAW;AAClBC,mBAAW,CAAC9oJ,OAAD,EAAUqD,SAAV,CAAX;AACH,OAFS,EAEPslJ,QAFO,CAAV;AAGH;AACJ,GApES,CAsEV;;;AACA,WAAS/iD,KAAT,CAAerlE,CAAf,EAAkB;AACd,WAAOzB,IAAI,CAACC,GAAL,CAASD,IAAI,CAACiqH,GAAL,CAASxoH,CAAT,EAAY,GAAZ,CAAT,EAA2B,CAA3B,CAAP;AACH,GAzES,CA2EV;AACA;;;AACA,WAASyoH,OAAT,CAAiBzoH,CAAjB,EAAoB;AAChB,WAAO1kB,KAAK,CAACC,OAAN,CAAcykB,CAAd,IAAmBA,CAAnB,GAAuB,CAACA,CAAD,CAA9B;AACH,GA/ES,CAiFV;;;AACA,WAAS0oH,aAAT,CAAuBC,MAAvB,EAA+B;AAC3BA,UAAM,GAAGn+I,MAAM,CAACm+I,MAAD,CAAf;AACA,QAAIhtD,MAAM,GAAGgtD,MAAM,CAACtqI,KAAP,CAAa,GAAb,CAAb;AACA,WAAOs9E,MAAM,CAACh9F,MAAP,GAAgB,CAAhB,GAAoBg9F,MAAM,CAAC,CAAD,CAAN,CAAUh9F,MAA9B,GAAuC,CAA9C;AACH,GAtFS,CAwFV;;;AACA,WAAS0pJ,QAAT,CAAkBvkF,EAAlB,EAAsBhhE,SAAtB,EAAiC;AAC7B,QAAIghE,EAAE,CAAC8kF,SAAH,IAAgB,CAAC,KAAK7+G,IAAL,CAAUjnC,SAAV,CAArB,EAA2C;AACvCghE,QAAE,CAAC8kF,SAAH,CAAaxwI,GAAb,CAAiBtV,SAAjB;AACH,KAFD,MAEO;AACHghE,QAAE,CAAChhE,SAAH,IAAgB,MAAMA,SAAtB;AACH;AACJ,GA/FS,CAiGV;;;AACA,WAASylJ,WAAT,CAAqBzkF,EAArB,EAAyBhhE,SAAzB,EAAoC;AAChC,QAAIghE,EAAE,CAAC8kF,SAAH,IAAgB,CAAC,KAAK7+G,IAAL,CAAUjnC,SAAV,CAArB,EAA2C;AACvCghE,QAAE,CAAC8kF,SAAH,CAAaC,MAAb,CAAoB/lJ,SAApB;AACH,KAFD,MAEO;AACHghE,QAAE,CAAChhE,SAAH,GAAeghE,EAAE,CAAChhE,SAAH,CAAaqO,OAAb,CACX,IAAI5R,MAAJ,CAAW,YAAYuD,SAAS,CAACub,KAAV,CAAgB,GAAhB,EAAqBte,IAArB,CAA0B,GAA1B,CAAZ,GAA6C,SAAxD,EAAmE,IAAnE,CADW,EAEX,GAFW,CAAf;AAIH;AACJ,GA3GS,CA6GV;;;AACA,WAAS+oJ,QAAT,CAAkBhlF,EAAlB,EAAsBhhE,SAAtB,EAAiC;AAC7B,WAAOghE,EAAE,CAAC8kF,SAAH,GACD9kF,EAAE,CAAC8kF,SAAH,CAAaG,QAAb,CAAsBjmJ,SAAtB,CADC,GAED,IAAIvD,MAAJ,CAAW,QAAQuD,SAAR,GAAoB,KAA/B,EAAsCinC,IAAtC,CAA2C+5B,EAAE,CAAChhE,SAA9C,CAFN;AAGH,GAlHS,CAoHV;;;AACA,WAAS2kJ,aAAT,CAAuBL,GAAvB,EAA4B;AACxB,QAAI4B,iBAAiB,GAAGtqI,MAAM,CAACuqI,WAAP,KAAuBrkJ,SAA/C;AACA,QAAIskJ,YAAY,GAAG,CAAC9B,GAAG,CAAC+B,UAAJ,IAAkB,EAAnB,MAA2B,YAA9C;AACA,QAAIvB,CAAC,GAAGoB,iBAAiB,GACnBtqI,MAAM,CAACuqI,WADY,GAEnBC,YAAY,GACR9B,GAAG,CAACG,eAAJ,CAAoB6B,UADZ,GAERhC,GAAG,CAACxxI,IAAJ,CAASwzI,UAJnB;AAKA,QAAItB,CAAC,GAAGkB,iBAAiB,GACnBtqI,MAAM,CAAC2qI,WADY,GAEnBH,YAAY,GACR9B,GAAG,CAACG,eAAJ,CAAoB+B,SADZ,GAERlC,GAAG,CAACxxI,IAAJ,CAAS0zI,SAJnB;AAMA,WAAO;AACH1B,OAAC,EAAEA,CADA;AAEHE,OAAC,EAAEA;AAFA,KAAP;AAIH,GAvIS,CAyIV;AACA;AACA;;;AACA,WAASyB,UAAT,GAAsB;AAClB;AACA;AACA,WAAO7qI,MAAM,CAACgpI,SAAP,CAAiB8B,cAAjB,GACD;AACIntH,WAAK,EAAE,aADX;AAEIotH,UAAI,EAAE,aAFV;AAGI7sH,SAAG,EAAE;AAHT,KADC,GAMDle,MAAM,CAACgpI,SAAP,CAAiBgC,gBAAjB,GACI;AACIrtH,WAAK,EAAE,eADX;AAEIotH,UAAI,EAAE,eAFV;AAGI7sH,SAAG,EAAE;AAHT,KADJ,GAMI;AACIP,WAAK,EAAE,sBADX;AAEIotH,UAAI,EAAE,qBAFV;AAGI7sH,SAAG,EAAE;AAHT,KAZV;AAiBH,GAhKS,CAkKV;AACA;;;AACA,WAAS+sH,kBAAT,GAA8B;AAC1B,QAAIC,eAAe,GAAG,KAAtB;AAEA;;AACA,QAAI;AACA,UAAIC,IAAI,GAAG5kJ,MAAM,CAACw+G,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;AAC5CxgH,WAAG,EAAE,eAAW;AACZ2mJ,yBAAe,GAAG,IAAlB;AACH;AAH2C,OAArC,CAAX;AAMAlrI,YAAM,CAACorI,gBAAP,CAAwB,MAAxB,EAAgC,IAAhC,EAAsCD,IAAtC;AACH,KARD,CAQE,OAAOl8I,CAAP,EAAU,CAAE;AACd;;;AAEA,WAAOi8I,eAAP;AACH;;AAED,WAASG,0BAAT,GAAsC;AAClC,WAAOrrI,MAAM,CAACsrI,GAAP,IAAcA,GAAG,CAACC,QAAlB,IAA8BD,GAAG,CAACC,QAAJ,CAAa,cAAb,EAA6B,MAA7B,CAArC;AACH,GAxLS,CA0LV;AAEA;AAEA;;;AACA,WAASC,aAAT,CAAuBC,EAAvB,EAA2BC,EAA3B,EAA+B;AAC3B,WAAO,OAAOA,EAAE,GAAGD,EAAZ,CAAP;AACH,GAjMS,CAmMV;;;AACA,WAASE,cAAT,CAAwB94I,KAAxB,EAA+BjR,KAA/B,EAAsCgqJ,UAAtC,EAAkD;AAC9C,WAAQhqJ,KAAK,GAAG,GAAT,IAAiBiR,KAAK,CAAC+4I,UAAU,GAAG,CAAd,CAAL,GAAwB/4I,KAAK,CAAC+4I,UAAD,CAA9C,CAAP;AACH,GAtMS,CAwMV;;;AACA,WAASC,YAAT,CAAsBh5I,KAAtB,EAA6BjR,KAA7B,EAAoC;AAChC,WAAO+pJ,cAAc,CAAC94I,KAAD,EAAQA,KAAK,CAAC,CAAD,CAAL,GAAW,CAAX,GAAejR,KAAK,GAAGi+B,IAAI,CAACisH,GAAL,CAASj5I,KAAK,CAAC,CAAD,CAAd,CAAvB,GAA4CjR,KAAK,GAAGiR,KAAK,CAAC,CAAD,CAAjE,EAAsE,CAAtE,CAArB;AACH,GA3MS,CA6MV;;;AACA,WAASk5I,YAAT,CAAsBl5I,KAAtB,EAA6BjR,KAA7B,EAAoC;AAChC,WAAQA,KAAK,IAAIiR,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAApB,CAAN,GAAkC,GAAlC,GAAwCA,KAAK,CAAC,CAAD,CAApD;AACH;;AAED,WAASm5I,IAAT,CAAcpqJ,KAAd,EAAqB2b,GAArB,EAA0B;AACtB,QAAIilB,CAAC,GAAG,CAAR;;AAEA,WAAO5gC,KAAK,IAAI2b,GAAG,CAACilB,CAAD,CAAnB,EAAwB;AACpBA,OAAC,IAAI,CAAL;AACH;;AAED,WAAOA,CAAP;AACH,GA1NS,CA4NV;;;AACA,WAASypH,UAAT,CAAoBC,IAApB,EAA0BC,IAA1B,EAAgCvqJ,KAAhC,EAAuC;AACnC,QAAIA,KAAK,IAAIsqJ,IAAI,CAACvtJ,KAAL,CAAW,CAAC,CAAZ,EAAe,CAAf,CAAb,EAAgC;AAC5B,aAAO,GAAP;AACH;;AAED,QAAI6jC,CAAC,GAAGwpH,IAAI,CAACpqJ,KAAD,EAAQsqJ,IAAR,CAAZ;AACA,QAAIE,EAAE,GAAGF,IAAI,CAAC1pH,CAAC,GAAG,CAAL,CAAb;AACA,QAAI6pH,EAAE,GAAGH,IAAI,CAAC1pH,CAAD,CAAb;AACA,QAAIipH,EAAE,GAAGU,IAAI,CAAC3pH,CAAC,GAAG,CAAL,CAAb;AACA,QAAIkpH,EAAE,GAAGS,IAAI,CAAC3pH,CAAD,CAAb;AAEA,WAAOipH,EAAE,GAAGI,YAAY,CAAC,CAACO,EAAD,EAAKC,EAAL,CAAD,EAAWzqJ,KAAX,CAAZ,GAAgC4pJ,aAAa,CAACC,EAAD,EAAKC,EAAL,CAAzD;AACH,GAzOS,CA2OV;;;AACA,WAASY,YAAT,CAAsBJ,IAAtB,EAA4BC,IAA5B,EAAkCvqJ,KAAlC,EAAyC;AACrC;AACA,QAAIA,KAAK,IAAI,GAAb,EAAkB;AACd,aAAOsqJ,IAAI,CAACvtJ,KAAL,CAAW,CAAC,CAAZ,EAAe,CAAf,CAAP;AACH;;AAED,QAAI6jC,CAAC,GAAGwpH,IAAI,CAACpqJ,KAAD,EAAQuqJ,IAAR,CAAZ;AACA,QAAIC,EAAE,GAAGF,IAAI,CAAC1pH,CAAC,GAAG,CAAL,CAAb;AACA,QAAI6pH,EAAE,GAAGH,IAAI,CAAC1pH,CAAD,CAAb;AACA,QAAIipH,EAAE,GAAGU,IAAI,CAAC3pH,CAAC,GAAG,CAAL,CAAb;AACA,QAAIkpH,EAAE,GAAGS,IAAI,CAAC3pH,CAAD,CAAb;AAEA,WAAOupH,YAAY,CAAC,CAACK,EAAD,EAAKC,EAAL,CAAD,EAAW,CAACzqJ,KAAK,GAAG6pJ,EAAT,IAAeD,aAAa,CAACC,EAAD,EAAKC,EAAL,CAAvC,CAAnB;AACH,GAzPS,CA2PV;;;AACA,WAASa,OAAT,CAAiBJ,IAAjB,EAAuBK,MAAvB,EAA+BC,IAA/B,EAAqC7qJ,KAArC,EAA4C;AACxC,QAAIA,KAAK,KAAK,GAAd,EAAmB;AACf,aAAOA,KAAP;AACH;;AAED,QAAI4gC,CAAC,GAAGwpH,IAAI,CAACpqJ,KAAD,EAAQuqJ,IAAR,CAAZ;AACA,QAAI7qH,CAAC,GAAG6qH,IAAI,CAAC3pH,CAAC,GAAG,CAAL,CAAZ;AACA,QAAIP,CAAC,GAAGkqH,IAAI,CAAC3pH,CAAD,CAAZ,CAPwC,CASxC;;AACA,QAAIiqH,IAAJ,EAAU;AACN;AACA,UAAI7qJ,KAAK,GAAG0/B,CAAR,GAAY,CAACW,CAAC,GAAGX,CAAL,IAAU,CAA1B,EAA6B;AACzB,eAAOW,CAAP;AACH;;AAED,aAAOX,CAAP;AACH;;AAED,QAAI,CAACkrH,MAAM,CAAChqH,CAAC,GAAG,CAAL,CAAX,EAAoB;AAChB,aAAO5gC,KAAP;AACH;;AAED,WAAOuqJ,IAAI,CAAC3pH,CAAC,GAAG,CAAL,CAAJ,GAAc4lH,OAAO,CAACxmJ,KAAK,GAAGuqJ,IAAI,CAAC3pH,CAAC,GAAG,CAAL,CAAb,EAAsBgqH,MAAM,CAAChqH,CAAC,GAAG,CAAL,CAA5B,CAA5B;AACH;;AAED,WAASkqH,gBAAT,CAA0B5/I,KAA1B,EAAiClL,KAAjC,EAAwC+qJ,IAAxC,EAA8C;AAC1C,QAAIC,UAAJ,CAD0C,CAG1C;;AACA,QAAI,OAAOhrJ,KAAP,KAAiB,QAArB,EAA+B;AAC3BA,WAAK,GAAG,CAACA,KAAD,CAAR;AACH,KANyC,CAQ1C;;;AACA,QAAI,CAACgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,CAAL,EAA2B;AACvB,YAAM,IAAIlD,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,oCAArC,CAAN;AACH,KAXyC,CAa1C;;;AACA,QAAIvlC,KAAK,KAAK,KAAd,EAAqB;AACjB8/I,gBAAU,GAAG,CAAb;AACH,KAFD,MAEO,IAAI9/I,KAAK,KAAK,KAAd,EAAqB;AACxB8/I,gBAAU,GAAG,GAAb;AACH,KAFM,MAEA;AACHA,gBAAU,GAAGvkE,UAAU,CAACv7E,KAAD,CAAvB;AACH,KApByC,CAsB1C;;;AACA,QAAI,CAACy8I,SAAS,CAACqD,UAAD,CAAV,IAA0B,CAACrD,SAAS,CAAC3nJ,KAAK,CAAC,CAAD,CAAN,CAAxC,EAAoD;AAChD,YAAM,IAAIlD,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,iCAArC,CAAN;AACH,KAzByC,CA2B1C;;;AACAs6G,QAAI,CAACR,IAAL,CAAUzqJ,IAAV,CAAekrJ,UAAf;AACAD,QAAI,CAACT,IAAL,CAAUxqJ,IAAV,CAAeE,KAAK,CAAC,CAAD,CAApB,EA7B0C,CA+B1C;AACA;AACA;;AACA,QAAI,CAACgrJ,UAAL,EAAiB;AACb,UAAI,CAACppF,KAAK,CAAC5hE,KAAK,CAAC,CAAD,CAAN,CAAV,EAAsB;AAClB+qJ,YAAI,CAACH,MAAL,CAAY,CAAZ,IAAiB5qJ,KAAK,CAAC,CAAD,CAAtB;AACH;AACJ,KAJD,MAIO;AACH+qJ,UAAI,CAACH,MAAL,CAAY9qJ,IAAZ,CAAiB8hE,KAAK,CAAC5hE,KAAK,CAAC,CAAD,CAAN,CAAL,GAAkB,KAAlB,GAA0BA,KAAK,CAAC,CAAD,CAAhD;AACH;;AAED+qJ,QAAI,CAACE,oBAAL,CAA0BnrJ,IAA1B,CAA+B,CAA/B;AACH;;AAED,WAASorJ,eAAT,CAAyBxrJ,CAAzB,EAA4B69B,CAA5B,EAA+BwtH,IAA/B,EAAqC;AACjC;AACA,QAAI,CAACxtH,CAAL,EAAQ;AACJ;AACH,KAJgC,CAMjC;;;AACA,QAAIwtH,IAAI,CAACT,IAAL,CAAU5qJ,CAAV,MAAiBqrJ,IAAI,CAACT,IAAL,CAAU5qJ,CAAC,GAAG,CAAd,CAArB,EAAuC;AACnCqrJ,UAAI,CAACH,MAAL,CAAYlrJ,CAAZ,IAAiBqrJ,IAAI,CAACE,oBAAL,CAA0BvrJ,CAA1B,IAA+BqrJ,IAAI,CAACT,IAAL,CAAU5qJ,CAAV,CAAhD;AAEA;AACH,KAXgC,CAajC;;;AACAqrJ,QAAI,CAACH,MAAL,CAAYlrJ,CAAZ,IACIqqJ,cAAc,CAAC,CAACgB,IAAI,CAACT,IAAL,CAAU5qJ,CAAV,CAAD,EAAeqrJ,IAAI,CAACT,IAAL,CAAU5qJ,CAAC,GAAG,CAAd,CAAf,CAAD,EAAmC69B,CAAnC,EAAsC,CAAtC,CAAd,GAAyDqsH,aAAa,CAACmB,IAAI,CAACR,IAAL,CAAU7qJ,CAAV,CAAD,EAAeqrJ,IAAI,CAACR,IAAL,CAAU7qJ,CAAC,GAAG,CAAd,CAAf,CAD1E;AAGA,QAAIyrJ,UAAU,GAAG,CAACJ,IAAI,CAACT,IAAL,CAAU5qJ,CAAC,GAAG,CAAd,IAAmBqrJ,IAAI,CAACT,IAAL,CAAU5qJ,CAAV,CAApB,IAAoCqrJ,IAAI,CAACK,SAAL,CAAe1rJ,CAAf,CAArD;AACA,QAAI2rJ,WAAW,GAAGptH,IAAI,CAACqtH,IAAL,CAAUthJ,MAAM,CAACmhJ,UAAU,CAACI,OAAX,CAAmB,CAAnB,CAAD,CAAN,GAAgC,CAA1C,CAAlB;AACA,QAAIC,IAAI,GAAGT,IAAI,CAACT,IAAL,CAAU5qJ,CAAV,IAAeqrJ,IAAI,CAACK,SAAL,CAAe1rJ,CAAf,IAAoB2rJ,WAA9C;AAEAN,QAAI,CAACE,oBAAL,CAA0BvrJ,CAA1B,IAA+B8rJ,IAA/B;AACH,GAzVS,CA2VV;AAEA;;;AAEA,WAASC,QAAT,CAAkB10I,KAAlB,EAAyB8zI,IAAzB,EAA+Ba,UAA/B,EAA2C;AACvC,SAAKnB,IAAL,GAAY,EAAZ;AACA,SAAKD,IAAL,GAAY,EAAZ;AACA,SAAKM,MAAL,GAAc,CAACc,UAAU,IAAI,KAAf,CAAd;AACA,SAAKN,SAAL,GAAiB,CAAC,KAAD,CAAjB;AACA,SAAKH,oBAAL,GAA4B,EAA5B;AAEA,SAAKJ,IAAL,GAAYA,IAAZ;AAEA,QAAI3/I,KAAJ;AACA,QAAIygJ,OAAO,GAAG,EAAd,CAVuC,CAUrB;AAElB;;AACA,SAAKzgJ,KAAL,IAAc6L,KAAd,EAAqB;AACjB,UAAIA,KAAK,CAAC4G,cAAN,CAAqBzS,KAArB,CAAJ,EAAiC;AAC7BygJ,eAAO,CAAC7rJ,IAAR,CAAa,CAACiX,KAAK,CAAC7L,KAAD,CAAN,EAAeA,KAAf,CAAb;AACH;AACJ,KAjBsC,CAmBvC;;;AACA,QAAIygJ,OAAO,CAACttJ,MAAR,IAAkB,OAAOstJ,OAAO,CAAC,CAAD,CAAP,CAAW,CAAX,CAAP,KAAyB,QAA/C,EAAyD;AACrDA,aAAO,CAACvgF,IAAR,CAAa,UAAS1rC,CAAT,EAAYW,CAAZ,EAAe;AACxB,eAAOX,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,IAAUW,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAjB;AACH,OAFD;AAGH,KAJD,MAIO;AACHsrH,aAAO,CAACvgF,IAAR,CAAa,UAAS1rC,CAAT,EAAYW,CAAZ,EAAe;AACxB,eAAOX,CAAC,CAAC,CAAD,CAAD,GAAOW,CAAC,CAAC,CAAD,CAAf;AACH,OAFD;AAGH,KA5BsC,CA8BvC;;;AACA,SAAKn1B,KAAK,GAAG,CAAb,EAAgBA,KAAK,GAAGygJ,OAAO,CAACttJ,MAAhC,EAAwC6M,KAAK,EAA7C,EAAiD;AAC7C4/I,sBAAgB,CAACa,OAAO,CAACzgJ,KAAD,CAAP,CAAe,CAAf,CAAD,EAAoBygJ,OAAO,CAACzgJ,KAAD,CAAP,CAAe,CAAf,CAApB,EAAuC,IAAvC,CAAhB;AACH,KAjCsC,CAmCvC;AACA;;;AACA,SAAKkgJ,SAAL,GAAiB,KAAKR,MAAL,CAAY7tJ,KAAZ,CAAkB,CAAlB,CAAjB,CArCuC,CAuCvC;;AACA,SAAKmO,KAAK,GAAG,CAAb,EAAgBA,KAAK,GAAG,KAAKkgJ,SAAL,CAAe/sJ,MAAvC,EAA+C6M,KAAK,EAApD,EAAwD;AACpDggJ,qBAAe,CAAChgJ,KAAD,EAAQ,KAAKkgJ,SAAL,CAAelgJ,KAAf,CAAR,EAA+B,IAA/B,CAAf;AACH;AACJ;;AAEDugJ,UAAQ,CAAChzI,SAAT,CAAmBmzI,WAAnB,GAAiC,UAAS5rJ,KAAT,EAAgB;AAC7C,QAAIkL,KAAJ;AACA,QAAI2gJ,SAAS,GAAG,EAAhB;;AAEA,SAAK3gJ,KAAK,GAAG,CAAb,EAAgBA,KAAK,GAAG,KAAKkgJ,SAAL,CAAe/sJ,MAAf,GAAwB,CAAhD,EAAmD6M,KAAK,EAAxD,EAA4D;AACxD;AACA,UAAIsgJ,IAAI,GAAG,KAAKJ,SAAL,CAAelgJ,KAAf,CAAX;;AAEA,UAAIsgJ,IAAI,IAAKxrJ,KAAK,GAAGwrJ,IAAT,GAAiB,CAAjB,KAAuB,CAAnC,EAAsC;AAClC,cAAM,IAAI1uJ,KAAJ,CACF,iBACI2zC,OADJ,GAEI,wCAFJ,GAGI,KAAK85G,IAAL,CAAUr/I,KAAV,CAHJ,GAII,oCALF,CAAN;AAOH,OAZuD,CAcxD;;;AACA2gJ,eAAS,CAAC3gJ,KAAD,CAAT,GAAmB6+I,cAAc,CAAC,KAAKO,IAAN,EAAYtqJ,KAAZ,EAAmBkL,KAAnB,CAAjC;AACH;;AAED,WAAO2gJ,SAAP;AACH,GAvBD,CA5YU,CAqaV;AACA;;;AACAJ,UAAQ,CAAChzI,SAAT,CAAmBqzI,mBAAnB,GAAyC,UAAS9rJ,KAAT,EAAgB6rJ,SAAhB,EAA2BE,SAA3B,EAAsC;AAC3E,QAAIC,UAAU,GAAG,CAAjB,CAD2E,CAG3E;;AACA,QAAIhsJ,KAAK,GAAG,KAAKuqJ,IAAL,CAAU,KAAKA,IAAL,CAAUlsJ,MAAV,GAAmB,CAA7B,CAAZ,EAA6C;AACzC,aAAO2B,KAAK,GAAG,KAAKuqJ,IAAL,CAAUyB,UAAU,GAAG,CAAvB,CAAf,EAA0C;AACtCA,kBAAU;AACb;AACJ,KAJD,MAIO,IAAIhsJ,KAAK,KAAK,KAAKuqJ,IAAL,CAAU,KAAKA,IAAL,CAAUlsJ,MAAV,GAAmB,CAA7B,CAAd,EAA+C;AAClD2tJ,gBAAU,GAAG,KAAKzB,IAAL,CAAUlsJ,MAAV,GAAmB,CAAhC;AACH,KAV0E,CAY3E;;;AACA,QAAI,CAAC0tJ,SAAD,IAAc/rJ,KAAK,KAAK,KAAKuqJ,IAAL,CAAUyB,UAAU,GAAG,CAAvB,CAA5B,EAAuD;AACnDA,gBAAU;AACb;;AAED,QAAIC,YAAJ;AACA,QAAIC,WAAW,GAAG,CAAlB;AAEA,QAAIC,iBAAiB,GAAGN,SAAS,CAACG,UAAD,CAAjC;AAEA,QAAII,SAAS,GAAG,CAAhB;AAEA,QAAIC,kBAAkB,GAAG,CAAzB;AACA,QAAIC,oBAAoB,GAAG,CAA3B;AACA,QAAIC,aAAa,GAAG,CAApB,CA1B2E,CA4B3E;;AACA,QAAIR,SAAJ,EAAe;AACXE,kBAAY,GAAG,CAACjsJ,KAAK,GAAG,KAAKuqJ,IAAL,CAAUyB,UAAV,CAAT,KAAmC,KAAKzB,IAAL,CAAUyB,UAAU,GAAG,CAAvB,IAA4B,KAAKzB,IAAL,CAAUyB,UAAV,CAA/D,CAAf;AACH,KAFD,MAEO;AACHC,kBAAY,GAAG,CAAC,KAAK1B,IAAL,CAAUyB,UAAU,GAAG,CAAvB,IAA4BhsJ,KAA7B,KAAuC,KAAKuqJ,IAAL,CAAUyB,UAAU,GAAG,CAAvB,IAA4B,KAAKzB,IAAL,CAAUyB,UAAV,CAAnE,CAAf;AACH,KAjC0E,CAmC3E;;;AACA,WAAOG,iBAAiB,GAAG,CAA3B,EAA8B;AAC1B;AACAC,eAAS,GAAG,KAAK7B,IAAL,CAAUyB,UAAU,GAAG,CAAb,GAAiBO,aAA3B,IAA4C,KAAKhC,IAAL,CAAUyB,UAAU,GAAGO,aAAvB,CAAxD,CAF0B,CAI1B;;AACA,UAAIV,SAAS,CAACG,UAAU,GAAGO,aAAd,CAAT,GAAwCL,WAAxC,GAAsD,GAAtD,GAA4DD,YAAY,GAAG,GAA3E,GAAiF,GAArF,EAA0F;AACtF;AACAI,0BAAkB,GAAGD,SAAS,GAAGH,YAAjC,CAFsF,CAGtF;;AACAC,mBAAW,GAAG,CAACC,iBAAiB,GAAG,MAAMF,YAA3B,IAA2CJ,SAAS,CAACG,UAAU,GAAGO,aAAd,CAAlE,CAJsF,CAKtF;;AACAN,oBAAY,GAAG,CAAf;AACH,OAPD,MAOO;AACH;AACAI,0BAAkB,GAAKR,SAAS,CAACG,UAAU,GAAGO,aAAd,CAAT,GAAwCH,SAAzC,GAAsD,GAAvD,GAA8DF,WAAnF,CAFG,CAGH;;AACAA,mBAAW,GAAG,CAAd;AACH;;AAED,UAAIH,SAAJ,EAAe;AACXO,4BAAoB,GAAGA,oBAAoB,GAAGD,kBAA9C,CADW,CAEX;;AACA,YAAI,KAAK9B,IAAL,CAAUlsJ,MAAV,GAAmBkuJ,aAAnB,IAAoC,CAAxC,EAA2C;AACvCA,uBAAa;AAChB;AACJ,OAND,MAMO;AACHD,4BAAoB,GAAGA,oBAAoB,GAAGD,kBAA9C,CADG,CAEH;;AACA,YAAI,KAAK9B,IAAL,CAAUlsJ,MAAV,GAAmBkuJ,aAAnB,IAAoC,CAAxC,EAA2C;AACvCA,uBAAa;AAChB;AACJ,OA/ByB,CAiC1B;;;AACAJ,uBAAiB,GAAGN,SAAS,CAACG,UAAU,GAAGO,aAAd,CAAT,GAAwCL,WAA5D;AACH;;AAED,WAAOlsJ,KAAK,GAAGssJ,oBAAf;AACH,GA1ED;;AA4EAb,UAAQ,CAAChzI,SAAT,CAAmB4xI,UAAnB,GAAgC,UAASrqJ,KAAT,EAAgB;AAC5CA,SAAK,GAAGqqJ,UAAU,CAAC,KAAKC,IAAN,EAAY,KAAKC,IAAjB,EAAuBvqJ,KAAvB,CAAlB;AAEA,WAAOA,KAAP;AACH,GAJD;;AAMAyrJ,UAAQ,CAAChzI,SAAT,CAAmBiyI,YAAnB,GAAkC,UAAS1qJ,KAAT,EAAgB;AAC9C,WAAO0qJ,YAAY,CAAC,KAAKJ,IAAN,EAAY,KAAKC,IAAjB,EAAuBvqJ,KAAvB,CAAnB;AACH,GAFD;;AAIAyrJ,UAAQ,CAAChzI,SAAT,CAAmBkyI,OAAnB,GAA6B,UAAS3qJ,KAAT,EAAgB;AACzCA,SAAK,GAAG2qJ,OAAO,CAAC,KAAKJ,IAAN,EAAY,KAAKK,MAAjB,EAAyB,KAAKC,IAA9B,EAAoC7qJ,KAApC,CAAf;AAEA,WAAOA,KAAP;AACH,GAJD;;AAMAyrJ,UAAQ,CAAChzI,SAAT,CAAmB+zI,cAAnB,GAAoC,UAASxsJ,KAAT,EAAgBysJ,MAAhB,EAAwB7tI,IAAxB,EAA8B;AAC9D,QAAIgiB,CAAC,GAAGwpH,IAAI,CAACpqJ,KAAD,EAAQ,KAAKuqJ,IAAb,CAAZ,CAD8D,CAG9D;;AACA,QAAIvqJ,KAAK,KAAK,GAAV,IAAkBysJ,MAAM,IAAIzsJ,KAAK,KAAK,KAAKuqJ,IAAL,CAAU3pH,CAAC,GAAG,CAAd,CAA1C,EAA6D;AACzDA,OAAC,GAAG3C,IAAI,CAACC,GAAL,CAAS0C,CAAC,GAAG,CAAb,EAAgB,CAAhB,CAAJ;AACH;;AAED,WAAO,CAAC,KAAK0pH,IAAL,CAAU1pH,CAAV,IAAe,KAAK0pH,IAAL,CAAU1pH,CAAC,GAAG,CAAd,CAAhB,IAAoChiB,IAA3C;AACH,GATD;;AAWA6sI,UAAQ,CAAChzI,SAAT,CAAmBi0I,cAAnB,GAAoC,UAAS1sJ,KAAT,EAAgB;AAChD,QAAI4gC,CAAC,GAAGwpH,IAAI,CAACpqJ,KAAD,EAAQ,KAAKuqJ,IAAb,CAAZ;AAEA,WAAO;AACHoC,gBAAU,EAAE;AACRC,kBAAU,EAAE,KAAKtC,IAAL,CAAU1pH,CAAC,GAAG,CAAd,CADJ;AAER4qH,YAAI,EAAE,KAAKJ,SAAL,CAAexqH,CAAC,GAAG,CAAnB,CAFE;AAGRyqH,mBAAW,EAAE,KAAKJ,oBAAL,CAA0BrqH,CAAC,GAAG,CAA9B;AAHL,OADT;AAMHisH,cAAQ,EAAE;AACND,kBAAU,EAAE,KAAKtC,IAAL,CAAU1pH,CAAC,GAAG,CAAd,CADN;AAEN4qH,YAAI,EAAE,KAAKJ,SAAL,CAAexqH,CAAC,GAAG,CAAnB,CAFA;AAGNyqH,mBAAW,EAAE,KAAKJ,oBAAL,CAA0BrqH,CAAC,GAAG,CAA9B;AAHP,OANP;AAWHksH,eAAS,EAAE;AACPF,kBAAU,EAAE,KAAKtC,IAAL,CAAU1pH,CAAV,CADL;AAEP4qH,YAAI,EAAE,KAAKJ,SAAL,CAAexqH,CAAf,CAFC;AAGPyqH,mBAAW,EAAE,KAAKJ,oBAAL,CAA0BrqH,CAA1B;AAHN;AAXR,KAAP;AAiBH,GApBD;;AAsBA6qH,UAAQ,CAAChzI,SAAT,CAAmBs0I,iBAAnB,GAAuC,YAAW;AAC9C,QAAIC,YAAY,GAAG,KAAK5B,SAAL,CAAeroJ,GAAf,CAAmBqlJ,aAAnB,CAAnB;AACA,WAAOnqH,IAAI,CAACC,GAAL,CAAS84B,KAAT,CAAe,IAAf,EAAqBg2F,YAArB,CAAP;AACH,GAHD,CApiBU,CAyiBV;;;AACAvB,UAAQ,CAAChzI,SAAT,CAAmB4mG,OAAnB,GAA6B,UAASr/G,KAAT,EAAgB;AACzC,WAAO,KAAK2qJ,OAAL,CAAa,KAAKN,UAAL,CAAgBrqJ,KAAhB,CAAb,CAAP;AACH,GAFD,CA1iBU,CA8iBV;AAEA;;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGI;;;AAEA,MAAIitJ,gBAAgB,GAAG;AACnB/G,MAAE,EAAE,YAASlmJ,KAAT,EAAgB;AAChB,aAAOA,KAAK,KAAKsE,SAAV,IAAuBtE,KAAK,CAACurJ,OAAN,CAAc,CAAd,CAA9B;AACH,KAHkB;AAInBj6G,QAAI,EAAEtnC;AAJa,GAAvB;AAOA,MAAIkjJ,UAAU,GAAG;AACbl0H,UAAM,EAAE,QADK;AAEbvuB,QAAI,EAAE,MAFO;AAGb84H,UAAM,EAAE,QAHK;AAIb4pB,UAAM,EAAE,QAJK;AAKbC,eAAW,EAAE,cALA;AAMbC,eAAW,EAAE,cANA;AAObC,aAAS,EAAE,YAPE;AAQbC,cAAU,EAAE,YARC;AASbC,YAAQ,EAAE,UATG;AAUbC,cAAU,EAAE,YAVC;AAWbC,WAAO,EAAE,SAXI;AAYbC,YAAQ,EAAE,UAZG;AAabC,OAAG,EAAE,KAbQ;AAcbC,OAAG,EAAE,KAdQ;AAebC,oBAAgB,EAAE,aAfL;AAgBbC,oBAAgB,EAAE,aAhBL;AAiBbC,aAAS,EAAE,WAjBE;AAkBbC,QAAI,EAAE,YAlBO;AAmBbC,OAAG,EAAE,WAnBQ;AAoBbC,UAAM,EAAE,QApBK;AAqBbC,WAAO,EAAE,SArBI;AAsBbC,QAAI,EAAE,MAtBO;AAuBbC,kBAAc,EAAE,iBAvBH;AAwBbC,gBAAY,EAAE,eAxBD;AAyBb5nE,UAAM,EAAE,QAzBK;AA0Bb6nE,oBAAgB,EAAE,mBA1BL;AA2BbC,kBAAc,EAAE,iBA3BH;AA4BbC,gBAAY,EAAE,eA5BD;AA6BbC,eAAW,EAAE,cA7BA;AA8BbC,aAAS,EAAE,YA9BE;AA+Bb5uJ,SAAK,EAAE,OA/BM;AAgCb6uJ,mBAAe,EAAE,kBAhCJ;AAiCbC,iBAAa,EAAE,gBAjCF;AAkCbC,eAAW,EAAE,cAlCA;AAmCbC,cAAU,EAAE,aAnCC;AAoCbC,YAAQ,EAAE;AApCG,GAAjB,CAxkBU,CA+mBV;;AACA,MAAIC,iBAAiB,GAAG;AACpBC,YAAQ,EAAE,aADU;AAEpBC,QAAI,EAAE;AAFc,GAAxB,CAhnBU,CAqnBV;;AAEA,WAASC,cAAT,CAAwBt4I,KAAxB,EAA+B;AAC3B;AACA,QAAIkvI,gBAAgB,CAAClvI,KAAD,CAApB,EAA6B;AACzB,aAAO,IAAP;AACH;;AAED,UAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,+CAArC,CAAN;AACH;;AAED,WAAS6+G,QAAT,CAAkBC,MAAlB,EAA0Bx4I,KAA1B,EAAiC;AAC7B,QAAI,CAAC4wI,SAAS,CAAC5wI,KAAD,CAAd,EAAuB;AACnB,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,2BAArC,CAAN;AACH,KAH4B,CAK7B;AACA;;;AACA8+G,UAAM,CAAC7D,UAAP,GAAoB30I,KAApB;AACH;;AAED,WAASy4I,0BAAT,CAAoCD,MAApC,EAA4Cx4I,KAA5C,EAAmD;AAC/C,QAAI,CAAC4wI,SAAS,CAAC5wI,KAAD,CAAd,EAAuB;AACnB,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,6CAArC,CAAN;AACH;;AAED8+G,UAAM,CAACE,sBAAP,GAAgC14I,KAAhC;AACH;;AAED,WAAS24I,uBAAT,CAAiCH,MAAjC,EAAyCx4I,KAAzC,EAAgD;AAC5C,QAAI,CAAC4wI,SAAS,CAAC5wI,KAAD,CAAd,EAAuB;AACnB,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,0CAArC,CAAN;AACH;;AAED8+G,UAAM,CAACI,mBAAP,GAA6B54I,KAA7B;AACH;;AAED,WAAS64I,SAAT,CAAmBL,MAAnB,EAA2Bx4I,KAA3B,EAAkC;AAC9B;AACA,QAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6BiE,KAAK,CAACC,OAAN,CAAclE,KAAd,CAAjC,EAAuD;AACnD,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,8BAArC,CAAN;AACH,KAJ6B,CAM9B;;;AACA,QAAI15B,KAAK,CAACmxI,GAAN,KAAc5jJ,SAAd,IAA2ByS,KAAK,CAACmnB,GAAN,KAAc55B,SAA7C,EAAwD;AACpD,YAAM,IAAIxH,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,uCAArC,CAAN;AACH,KAT6B,CAW9B;;;AACA,QAAI15B,KAAK,CAACmxI,GAAN,KAAcnxI,KAAK,CAACmnB,GAAxB,EAA6B;AACzB,YAAM,IAAIphC,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,6CAArC,CAAN;AACH;;AAED8+G,UAAM,CAACM,QAAP,GAAkB,IAAIpE,QAAJ,CAAa10I,KAAb,EAAoBw4I,MAAM,CAAC1E,IAA3B,EAAiC0E,MAAM,CAAC7D,UAAxC,CAAlB;AACH;;AAED,WAASoE,SAAT,CAAmBP,MAAnB,EAA2Bx4I,KAA3B,EAAkC;AAC9BA,SAAK,GAAGoxI,OAAO,CAACpxI,KAAD,CAAf,CAD8B,CAG9B;AACA;;AACA,QAAI,CAACiE,KAAK,CAACC,OAAN,CAAclE,KAAd,CAAD,IAAyB,CAACA,KAAK,CAAC1Y,MAApC,EAA4C;AACxC,YAAM,IAAIvB,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,iCAArC,CAAN;AACH,KAP6B,CAS9B;;;AACA8+G,UAAM,CAACQ,OAAP,GAAiBh5I,KAAK,CAAC1Y,MAAvB,CAV8B,CAY9B;AACA;;AACAkxJ,UAAM,CAACxzH,KAAP,GAAehlB,KAAf;AACH;;AAED,WAASi5I,QAAT,CAAkBT,MAAlB,EAA0Bx4I,KAA1B,EAAiC;AAC7B;AACAw4I,UAAM,CAAC1E,IAAP,GAAc9zI,KAAd;;AAEA,QAAI,OAAOA,KAAP,KAAiB,SAArB,EAAgC;AAC5B,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,qCAArC,CAAN;AACH;AACJ;;AAED,WAASw/G,WAAT,CAAqBV,MAArB,EAA6Bx4I,KAA7B,EAAoC;AAChC;AACAw4I,UAAM,CAACW,OAAP,GAAiBn5I,KAAjB;;AAEA,QAAI,OAAOA,KAAP,KAAiB,SAArB,EAAgC;AAC5B,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,wCAArC,CAAN;AACH;AACJ;;AAED,WAAS0/G,qBAAT,CAA+BZ,MAA/B,EAAuCx4I,KAAvC,EAA8C;AAC1Cw4I,UAAM,CAACa,iBAAP,GAA2Br5I,KAA3B;;AAEA,QAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,iDAArC,CAAN;AACH;AACJ;;AAED,WAAS4/G,WAAT,CAAqBd,MAArB,EAA6Bx4I,KAA7B,EAAoC;AAChC,QAAI22I,OAAO,GAAG,CAAC,KAAD,CAAd;AACA,QAAIhuJ,CAAJ,CAFgC,CAIhC;;AACA,QAAIqX,KAAK,KAAK,OAAd,EAAuB;AACnBA,WAAK,GAAG,CAAC,IAAD,EAAO,KAAP,CAAR;AACH,KAFD,MAEO,IAAIA,KAAK,KAAK,OAAd,EAAuB;AAC1BA,WAAK,GAAG,CAAC,KAAD,EAAQ,IAAR,CAAR;AACH,KAT+B,CAWhC;;;AACA,QAAIA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,KAAhC,EAAuC;AACnC,WAAKrX,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG6vJ,MAAM,CAACQ,OAAvB,EAAgCrwJ,CAAC,EAAjC,EAAqC;AACjCguJ,eAAO,CAAC5tJ,IAAR,CAAaiX,KAAb;AACH;;AAED22I,aAAO,CAAC5tJ,IAAR,CAAa,KAAb;AACH,KAND,CAQA;AARA,SASK,IAAI,CAACkb,KAAK,CAACC,OAAN,CAAclE,KAAd,CAAD,IAAyB,CAACA,KAAK,CAAC1Y,MAAhC,IAA0C0Y,KAAK,CAAC1Y,MAAN,KAAiBkxJ,MAAM,CAACQ,OAAP,GAAiB,CAAhF,EAAmF;AACpF,cAAM,IAAIjzJ,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,iDAArC,CAAN;AACH,OAFI,MAEE;AACHi9G,eAAO,GAAG32I,KAAV;AACH;;AAEDw4I,UAAM,CAAC7B,OAAP,GAAiBA,OAAjB;AACH;;AAED,WAAS4C,eAAT,CAAyBf,MAAzB,EAAiCx4I,KAAjC,EAAwC;AACpC;AACA;AACA,YAAQA,KAAR;AACI,WAAK,YAAL;AACIw4I,cAAM,CAACgB,GAAP,GAAa,CAAb;AACA;;AACJ,WAAK,UAAL;AACIhB,cAAM,CAACgB,GAAP,GAAa,CAAb;AACA;;AACJ;AACI,cAAM,IAAIzzJ,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,qCAArC,CAAN;AARR;AAUH;;AAED,WAAS+/G,UAAT,CAAoBjB,MAApB,EAA4Bx4I,KAA5B,EAAmC;AAC/B,QAAI,CAAC4wI,SAAS,CAAC5wI,KAAD,CAAd,EAAuB;AACnB,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,qCAArC,CAAN;AACH,KAH8B,CAK/B;;;AACA,QAAI15B,KAAK,KAAK,CAAd,EAAiB;AACb;AACH;;AAEDw4I,UAAM,CAACkB,MAAP,GAAgBlB,MAAM,CAACM,QAAP,CAAgBjE,WAAhB,CAA4B70I,KAA5B,CAAhB;AACH;;AAED,WAAS25I,SAAT,CAAmBnB,MAAnB,EAA2Bx4I,KAA3B,EAAkC;AAC9B,QAAI,CAAC4wI,SAAS,CAAC5wI,KAAD,CAAd,EAAuB;AACnB,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,oCAArC,CAAN;AACH;;AAED8+G,UAAM,CAACxqD,KAAP,GAAewqD,MAAM,CAACM,QAAP,CAAgBjE,WAAhB,CAA4B70I,KAA5B,CAAf;;AAEA,QAAI,CAACw4I,MAAM,CAACxqD,KAAR,IAAiBwqD,MAAM,CAACQ,OAAP,GAAiB,CAAtC,EAAyC;AACrC,YAAM,IAAIjzJ,KAAJ,CACF,iBACI2zC,OADJ,GAEI,+EAHF,CAAN;AAKH;AACJ;;AAED,WAASkgH,WAAT,CAAqBpB,MAArB,EAA6Bx4I,KAA7B,EAAoC;AAChC,QAAI7L,KAAJ;;AAEA,QAAI,CAACy8I,SAAS,CAAC5wI,KAAD,CAAV,IAAqB,CAACiE,KAAK,CAACC,OAAN,CAAclE,KAAd,CAA1B,EAAgD;AAC5C,YAAM,IAAIja,KAAJ,CACF,iBAAiB2zC,OAAjB,GAA2B,oEADzB,CAAN;AAGH;;AAED,QAAIz1B,KAAK,CAACC,OAAN,CAAclE,KAAd,KAAwB,EAAEA,KAAK,CAAC1Y,MAAN,KAAiB,CAAjB,IAAsBspJ,SAAS,CAAC5wI,KAAK,CAAC,CAAD,CAAN,CAA/B,IAA6C4wI,SAAS,CAAC5wI,KAAK,CAAC,CAAD,CAAN,CAAxD,CAA5B,EAAiG;AAC7F,YAAM,IAAIja,KAAJ,CACF,iBAAiB2zC,OAAjB,GAA2B,oEADzB,CAAN;AAGH;;AAED,QAAI15B,KAAK,KAAK,CAAd,EAAiB;AACb;AACH;;AAED,QAAI,CAACiE,KAAK,CAACC,OAAN,CAAclE,KAAd,CAAL,EAA2B;AACvBA,WAAK,GAAG,CAACA,KAAD,EAAQA,KAAR,CAAR;AACH,KArB+B,CAuBhC;;;AACAw4I,UAAM,CAACqB,OAAP,GAAiB,CAACrB,MAAM,CAACM,QAAP,CAAgBjE,WAAhB,CAA4B70I,KAAK,CAAC,CAAD,CAAjC,CAAD,EAAwCw4I,MAAM,CAACM,QAAP,CAAgBjE,WAAhB,CAA4B70I,KAAK,CAAC,CAAD,CAAjC,CAAxC,CAAjB;;AAEA,SAAK7L,KAAK,GAAG,CAAb,EAAgBA,KAAK,GAAGqkJ,MAAM,CAACM,QAAP,CAAgBzE,SAAhB,CAA0B/sJ,MAA1B,GAAmC,CAA3D,EAA8D6M,KAAK,EAAnE,EAAuE;AACnE;AACA,UAAIqkJ,MAAM,CAACqB,OAAP,CAAe,CAAf,EAAkB1lJ,KAAlB,IAA2B,CAA3B,IAAgCqkJ,MAAM,CAACqB,OAAP,CAAe,CAAf,EAAkB1lJ,KAAlB,IAA2B,CAA/D,EAAkE;AAC9D,cAAM,IAAIpO,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,mDAArC,CAAN;AACH;AACJ;;AAED,QAAIogH,YAAY,GAAG95I,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAnC;AACA,QAAI+5I,UAAU,GAAGvB,MAAM,CAACM,QAAP,CAAgBvF,IAAhB,CAAqB,CAArB,CAAjB;AACA,QAAIyG,SAAS,GAAGxB,MAAM,CAACM,QAAP,CAAgBvF,IAAhB,CAAqBiF,MAAM,CAACM,QAAP,CAAgBvF,IAAhB,CAAqBjsJ,MAArB,GAA8B,CAAnD,CAAhB;;AAEA,QAAIwyJ,YAAY,IAAIE,SAAS,GAAGD,UAAhB,CAAZ,GAA0C,CAA9C,EAAiD;AAC7C,YAAM,IAAIh0J,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,wDAArC,CAAN;AACH;AACJ;;AAED,WAASugH,aAAT,CAAuBzB,MAAvB,EAA+Bx4I,KAA/B,EAAsC;AAClC;AACA;AACA;AACA,YAAQA,KAAR;AACI,WAAK,KAAL;AACIw4I,cAAM,CAACnqJ,GAAP,GAAa,CAAb;AACA;;AACJ,WAAK,KAAL;AACImqJ,cAAM,CAACnqJ,GAAP,GAAa,CAAb;AACA;;AACJ;AACI,cAAM,IAAItI,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,2CAArC,CAAN;AARR;AAUH;;AAED,WAASwgH,aAAT,CAAuB1B,MAAvB,EAA+Bx4I,KAA/B,EAAsC;AAClC;AACA,QAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,qDAArC,CAAN;AACH,KAJiC,CAMlC;AACA;;;AACA,QAAIy9G,GAAG,GAAGn3I,KAAK,CAACla,OAAN,CAAc,KAAd,KAAwB,CAAlC;AACA,QAAIoxJ,IAAI,GAAGl3I,KAAK,CAACla,OAAN,CAAc,MAAd,KAAyB,CAApC;AACA,QAAIq0J,KAAK,GAAGn6I,KAAK,CAACla,OAAN,CAAc,OAAd,KAA0B,CAAtC;AACA,QAAIguJ,IAAI,GAAG9zI,KAAK,CAACla,OAAN,CAAc,MAAd,KAAyB,CAApC;AACA,QAAIs0J,KAAK,GAAGp6I,KAAK,CAACla,OAAN,CAAc,OAAd,KAA0B,CAAtC;AACA,QAAIu0J,aAAa,GAAGr6I,KAAK,CAACla,OAAN,CAAc,eAAd,KAAkC,CAAtD;;AAEA,QAAIq0J,KAAJ,EAAW;AACP,UAAI3B,MAAM,CAACQ,OAAP,KAAmB,CAAvB,EAA0B;AACtB,cAAM,IAAIjzJ,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,kDAArC,CAAN;AACH,OAHM,CAKP;;;AACA+/G,gBAAU,CAACjB,MAAD,EAASA,MAAM,CAACxzH,KAAP,CAAa,CAAb,IAAkBwzH,MAAM,CAACxzH,KAAP,CAAa,CAAb,CAA3B,CAAV;AACH;;AAED,QAAIq1H,aAAa,KAAK7B,MAAM,CAACkB,MAAP,IAAiBlB,MAAM,CAACxqD,KAA7B,CAAjB,EAAsD;AAClD,YAAM,IAAIjoG,KAAJ,CACF,iBAAiB2zC,OAAjB,GAA2B,kEADzB,CAAN;AAGH;;AAED8+G,UAAM,CAACl1E,MAAP,GAAgB;AACZ6zE,SAAG,EAAEA,GAAG,IAAIrD,IADA;AAEZoD,UAAI,EAAEA,IAFM;AAGZiD,WAAK,EAAEA,KAHK;AAIZrG,UAAI,EAAEA,IAJM;AAKZsG,WAAK,EAAEA,KALK;AAMZC,mBAAa,EAAEA;AANH,KAAhB;AAQH;;AAED,WAASC,YAAT,CAAsB9B,MAAtB,EAA8Bx4I,KAA9B,EAAqC;AACjC,QAAIA,KAAK,KAAK,KAAd,EAAqB;AACjB;AACH;;AAED,QAAIA,KAAK,KAAK,IAAd,EAAoB;AAChBw4I,YAAM,CAACJ,QAAP,GAAkB,EAAlB;;AAEA,WAAK,IAAIzvJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6vJ,MAAM,CAACQ,OAA3B,EAAoCrwJ,CAAC,EAArC,EAAyC;AACrC6vJ,cAAM,CAACJ,QAAP,CAAgBrvJ,IAAhB,CAAqB,IAArB;AACH;AACJ,KAND,MAMO;AACHyvJ,YAAM,CAACJ,QAAP,GAAkBhH,OAAO,CAACpxI,KAAD,CAAzB;;AAEA,UAAIw4I,MAAM,CAACJ,QAAP,CAAgB9wJ,MAAhB,KAA2BkxJ,MAAM,CAACQ,OAAtC,EAA+C;AAC3C,cAAM,IAAIjzJ,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,2CAArC,CAAN;AACH;;AAED8+G,YAAM,CAACJ,QAAP,CAAgB7wJ,OAAhB,CAAwB,UAASgzJ,SAAT,EAAoB;AACxC,YACI,OAAOA,SAAP,KAAqB,SAArB,KACC,OAAOA,SAAP,KAAqB,QAArB,IAAiC,OAAOA,SAAS,CAACpL,EAAjB,KAAwB,UAD1D,CADJ,EAGE;AACE,gBAAM,IAAIppJ,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,sDAArC,CAAN;AACH;AACJ,OAPD;AAQH;AACJ;;AAED,WAAS8gH,cAAT,CAAwBhC,MAAxB,EAAgCx4I,KAAhC,EAAuC;AACnCw4I,UAAM,CAACiC,UAAP,GAAoBz6I,KAApB;AACAs4I,kBAAc,CAACt4I,KAAD,CAAd;AACH;;AAED,WAAS06I,UAAT,CAAoBlC,MAApB,EAA4Bx4I,KAA5B,EAAmC;AAC/Bw4I,UAAM,CAACrqC,MAAP,GAAgBnuG,KAAhB;AACAs4I,kBAAc,CAACt4I,KAAD,CAAd;AACH;;AAED,WAAS26I,mBAAT,CAA6BnC,MAA7B,EAAqCx4I,KAArC,EAA4C;AACxCw4I,UAAM,CAACoC,eAAP,GAAyB56I,KAAzB;;AAEA,QAAI,OAAOA,KAAP,KAAiB,SAArB,EAAgC;AAC5B,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,gDAArC,CAAN;AACH;AACJ;;AAED,WAASmhH,mBAAT,CAA6BrC,MAA7B,EAAqCx4I,KAArC,EAA4C;AACxC;AACAw4I,UAAM,CAACtI,eAAP,GAAyBlwI,KAAzB;AACH;;AAED,WAAS86I,aAAT,CAAuBtC,MAAvB,EAA+Bx4I,KAA/B,EAAsC;AAClC,QAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,KAAK,KAA3C,EAAkD;AAC9C,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,6CAArC,CAAN;AACH;;AAED8+G,UAAM,CAACuC,SAAP,GAAmB/6I,KAAnB;AACH;;AAED,WAASg7I,cAAT,CAAwBxC,MAAxB,EAAgCx4I,KAAhC,EAAuC;AACnC,QAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,YAAM,IAAIja,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,oCAArC,CAAN;AACH;;AAED,QAAI,OAAO8+G,MAAM,CAACuC,SAAd,KAA4B,QAAhC,EAA0C;AACtCvC,YAAM,CAACrC,UAAP,GAAoB,EAApB;;AAEA,WAAK,IAAIh6I,GAAT,IAAgB6D,KAAhB,EAAuB;AACnB,YAAI,CAACA,KAAK,CAAC4G,cAAN,CAAqBzK,GAArB,CAAL,EAAgC;AAC5B;AACH;;AAEDq8I,cAAM,CAACrC,UAAP,CAAkBh6I,GAAlB,IAAyBq8I,MAAM,CAACuC,SAAP,GAAmB/6I,KAAK,CAAC7D,GAAD,CAAjD;AACH;AACJ,KAVD,MAUO;AACHq8I,YAAM,CAACrC,UAAP,GAAoBn2I,KAApB;AACH;AACJ,GAl9BS,CAo9BV;;;AACA,WAASi7I,WAAT,CAAqBp6F,OAArB,EAA8B;AAC1B;AACA;AACA;AAEA,QAAI23F,MAAM,GAAG;AACTkB,YAAM,EAAE,CADC;AAET1rD,WAAK,EAAE,CAFE;AAGT6rD,aAAO,EAAE,CAHA;AAITV,aAAO,EAAE,IAJA;AAKTE,uBAAiB,EAAE,GALV;AAMToB,gBAAU,EAAEvE,gBANH;AAOT/nC,YAAM,EAAE+nC;AAPC,KAAb,CAL0B,CAe1B;;AACA,QAAIgF,KAAK,GAAG;AACRzG,UAAI,EAAE;AAAEr+G,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAEmjH;AAAf,OADE;AAERG,4BAAsB,EAAE;AAAEtiH,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAEqjH;AAAf,OAFhB;AAGRG,yBAAmB,EAAE;AAAExiH,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAEujH;AAAf,OAHb;AAIR3zH,WAAK,EAAE;AAAEoR,SAAC,EAAE,IAAL;AAAWhB,SAAC,EAAE2jH;AAAd,OAJC;AAKRpC,aAAO,EAAE;AAAEvgH,SAAC,EAAE,IAAL;AAAWhB,SAAC,EAAEkkH;AAAd,OALD;AAMRtE,eAAS,EAAE;AAAE5+G,SAAC,EAAE,IAAL;AAAWhB,SAAC,EAAE6kH;AAAd,OANH;AAORnG,UAAI,EAAE;AAAE19G,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAE6jH;AAAf,OAPE;AAQRE,aAAO,EAAE;AAAE/iH,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAE8jH;AAAf,OARD;AASRG,uBAAiB,EAAE;AAAEjjH,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAEgkH;AAAf,OATX;AAURl/I,WAAK,EAAE;AAAEk8B,SAAC,EAAE,IAAL;AAAWhB,SAAC,EAAEyjH;AAAd,OAVC;AAWRjJ,iBAAW,EAAE;AAAEx5G,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAEmkH;AAAf,OAXL;AAYRG,YAAM,EAAE;AAAEtjH,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAEqkH;AAAf,OAZA;AAaRzrD,WAAK,EAAE;AAAE53D,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAEukH;AAAf,OAbC;AAcRE,aAAO,EAAE;AAAEzjH,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAEwkH;AAAf,OAdD;AAeRuB,eAAS,EAAE;AAAE/kH,SAAC,EAAE,IAAL;AAAWhB,SAAC,EAAE8kH;AAAd,OAfH;AAgBRO,gBAAU,EAAE;AAAErkH,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAEolH;AAAf,OAhBJ;AAiBRrsC,YAAM,EAAE;AAAE/3E,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAEslH;AAAf,OAjBA;AAkBRtC,cAAQ,EAAE;AAAEhiH,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAEklH;AAAf,OAlBF;AAmBRM,qBAAe,EAAE;AAAExkH,SAAC,EAAE,IAAL;AAAWhB,SAAC,EAAEulH;AAAd,OAnBT;AAoBRzK,qBAAe,EAAE;AAAE95G,SAAC,EAAE,KAAL;AAAYhB,SAAC,EAAEylH;AAAf,OApBT;AAqBRE,eAAS,EAAE;AAAE3kH,SAAC,EAAE,IAAL;AAAWhB,SAAC,EAAE0lH;AAAd,OArBH;AAsBR3E,gBAAU,EAAE;AAAE//G,SAAC,EAAE,IAAL;AAAWhB,SAAC,EAAE4lH;AAAd;AAtBJ,KAAZ;AAyBA,QAAIvZ,QAAQ,GAAG;AACXkV,aAAO,EAAE,KADE;AAEX3B,eAAS,EAAE,KAFA;AAGXmG,eAAS,EAAE,KAHA;AAIXvL,iBAAW,EAAE,YAJF;AAKXgL,qBAAe,EAAE,IALN;AAMXG,eAAS,EAAE,OANA;AAOX5E,gBAAU,EAAEA,UAPD;AAQXuC,4BAAsB,EAAE,CARb;AASXE,yBAAmB,EAAE;AATV,KAAf,CAzC0B,CAqD1B;;AACA,QAAI/3F,OAAO,CAACstD,MAAR,IAAkB,CAACttD,OAAO,CAAC45F,UAA/B,EAA2C;AACvC55F,aAAO,CAAC45F,UAAR,GAAqB55F,OAAO,CAACstD,MAA7B;AACH,KAxDyB,CA0D1B;AACA;AACA;;;AACAvgH,UAAM,CAAC+T,IAAP,CAAYu5I,KAAZ,EAAmB3zJ,OAAnB,CAA2B,UAASC,IAAT,EAAe;AACtC;AACA,UAAI,CAAC8nJ,KAAK,CAACzuF,OAAO,CAACr5D,IAAD,CAAR,CAAN,IAAyBi6I,QAAQ,CAACj6I,IAAD,CAAR,KAAmB+F,SAAhD,EAA2D;AACvD,YAAI2tJ,KAAK,CAAC1zJ,IAAD,CAAL,CAAY4uC,CAAhB,EAAmB;AACf,gBAAM,IAAIrwC,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,MAA3B,GAAoClyC,IAApC,GAA2C,gBAArD,CAAN;AACH;;AAED,eAAO,IAAP;AACH;;AAED0zJ,WAAK,CAAC1zJ,IAAD,CAAL,CAAY4tC,CAAZ,CAAcojH,MAAd,EAAsB,CAAClJ,KAAK,CAACzuF,OAAO,CAACr5D,IAAD,CAAR,CAAN,GAAwBi6I,QAAQ,CAACj6I,IAAD,CAAhC,GAAyCq5D,OAAO,CAACr5D,IAAD,CAAtE;AACH,KAXD,EA7D0B,CA0E1B;;AACAgxJ,UAAM,CAAClB,IAAP,GAAcz2F,OAAO,CAACy2F,IAAtB,CA3E0B,CA6E1B;AACA;AACA;AACA;;AACA,QAAI/tH,CAAC,GAAG6xH,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAR;AACA,QAAIC,QAAQ,GAAG/xH,CAAC,CAACi1B,KAAF,CAAQ+8F,WAAR,KAAwBhuJ,SAAvC;AACA,QAAIiuJ,QAAQ,GAAGjyH,CAAC,CAACi1B,KAAF,CAAQyjB,SAAR,KAAsB10E,SAArC;AAEAirJ,UAAM,CAACiD,aAAP,GAAuBD,QAAQ,GAAG,WAAH,GAAiBF,QAAQ,GAAG,aAAH,GAAmB,iBAA3E,CArF0B,CAuF1B;;AACA,QAAI3qI,MAAM,GAAG,CAAC,CAAC,MAAD,EAAS,KAAT,CAAD,EAAkB,CAAC,OAAD,EAAU,QAAV,CAAlB,CAAb;AAEA6nI,UAAM,CAACh6F,KAAP,GAAe7tC,MAAM,CAAC6nI,MAAM,CAACnqJ,GAAR,CAAN,CAAmBmqJ,MAAM,CAACgB,GAA1B,CAAf;AAEA,WAAOhB,MAAP;AACH,GAljCS,CAojCV;;;AAEA,WAASnzD,KAAT,CAAepjE,MAAf,EAAuB4+B,OAAvB,EAAgC66F,eAAhC,EAAiD;AAC7C,QAAIz8B,OAAO,GAAGizB,UAAU,EAAxB;AACA,QAAIyJ,uBAAuB,GAAGjJ,0BAA0B,EAAxD;AACA,QAAIH,eAAe,GAAGoJ,uBAAuB,IAAIrJ,kBAAkB,EAAnE,CAH6C,CAK7C;AAEA;;AACA,QAAIsJ,YAAY,GAAG35H,MAAnB;AACA,QAAI45H,UAAJ;AACA,QAAIC,aAAJ;AACA,QAAIC,cAAJ;AACA,QAAIC,UAAJ;AACA,QAAIC,cAAJ,CAb6C,CAe7C;;AACA,QAAIC,cAAc,GAAGr7F,OAAO,CAACi4F,QAA7B;AACA,QAAIqD,YAAY,GAAG,EAAnB;AACA,QAAIC,eAAe,GAAG,EAAtB;AACA,QAAIC,mBAAmB,GAAG,EAA1B;AACA,QAAIC,wBAAwB,GAAG,CAA/B;AACA,QAAIC,YAAY,GAAG,EAAnB,CArB6C,CAuB7C;;AACA,QAAIC,UAAJ,CAxB6C,CA0B7C;;AACA,QAAIC,cAAc,GAAGx6H,MAAM,CAAC+tH,aAA5B;AACA,QAAI0M,qBAAqB,GAAG77F,OAAO,CAACqvF,eAAR,IAA2BuM,cAAc,CAACvM,eAAtE;AACA,QAAIyM,UAAU,GAAGF,cAAc,CAACl+I,IAAhC,CA7B6C,CA+B7C;;AACA,QAAIq+I,SAAS,GAAG,CAAC,CAAjB;AACA,QAAIC,aAAa,GAAG,CAApB;AACA,QAAIC,gBAAgB,GAAG,CAAvB;AACA,QAAIC,gBAAgB,GAAG,CAAvB,CAnC6C,CAqC7C;AACA;;AACA,QAAIC,eAAe,GAAGP,cAAc,CAACpuJ,GAAf,KAAuB,KAAvB,IAAgCwyD,OAAO,CAAC24F,GAAR,KAAgB,CAAhD,GAAoD,CAApD,GAAwD,GAA9E,CAvC6C,CAyC7C;;AACA,aAASyD,SAAT,CAAmBC,SAAnB,EAA8BzxJ,SAA9B,EAAyC;AACrC,UAAI0xJ,GAAG,GAAGV,cAAc,CAACpB,aAAf,CAA6B,KAA7B,CAAV;;AAEA,UAAI5vJ,SAAJ,EAAe;AACXulJ,gBAAQ,CAACmM,GAAD,EAAM1xJ,SAAN,CAAR;AACH;;AAEDyxJ,eAAS,CAACE,WAAV,CAAsBD,GAAtB;AAEA,aAAOA,GAAP;AACH,KApD4C,CAsD7C;;;AACA,aAASE,SAAT,CAAmB3pJ,IAAnB,EAAyB4pJ,YAAzB,EAAuC;AACnC,UAAI9wB,MAAM,GAAGywB,SAAS,CAACvpJ,IAAD,EAAOmtD,OAAO,CAACs1F,UAAR,CAAmB3pB,MAA1B,CAAtB;AACA,UAAI4pB,MAAM,GAAG6G,SAAS,CAACzwB,MAAD,EAAS3rE,OAAO,CAACs1F,UAAR,CAAmBC,MAA5B,CAAtB;AAEA6G,eAAS,CAAC7G,MAAD,EAASv1F,OAAO,CAACs1F,UAAR,CAAmBI,SAA5B,CAAT;AAEAH,YAAM,CAACmH,YAAP,CAAoB,aAApB,EAAmCD,YAAnC;;AAEA,UAAIz8F,OAAO,CAAC+5F,eAAZ,EAA6B;AACzB;AACA;AACAxE,cAAM,CAACmH,YAAP,CAAoB,UAApB,EAAgC,GAAhC;AACAnH,cAAM,CAAC3D,gBAAP,CAAwB,SAAxB,EAAmC,UAASrwH,KAAT,EAAgB;AAC/C,iBAAOo7H,YAAY,CAACp7H,KAAD,EAAQk7H,YAAR,CAAnB;AACH,SAFD;AAGH;;AAEDlH,YAAM,CAACmH,YAAP,CAAoB,MAApB,EAA4B,QAA5B;AACAnH,YAAM,CAACmH,YAAP,CAAoB,kBAApB,EAAwC18F,OAAO,CAAC24F,GAAR,GAAc,UAAd,GAA2B,YAAnE;;AAEA,UAAI8D,YAAY,KAAK,CAArB,EAAwB;AACpBtM,gBAAQ,CAACoF,MAAD,EAASv1F,OAAO,CAACs1F,UAAR,CAAmBE,WAA5B,CAAR;AACH,OAFD,MAEO,IAAIiH,YAAY,KAAKz8F,OAAO,CAACm4F,OAAR,GAAkB,CAAvC,EAA0C;AAC7ChI,gBAAQ,CAACoF,MAAD,EAASv1F,OAAO,CAACs1F,UAAR,CAAmBG,WAA5B,CAAR;AACH;;AAED,aAAO9pB,MAAP;AACH,KAlF4C,CAoF7C;;;AACA,aAASixB,UAAT,CAAoB/pJ,IAApB,EAA0BqN,GAA1B,EAA+B;AAC3B,UAAI,CAACA,GAAL,EAAU;AACN,eAAO,KAAP;AACH;;AAED,aAAOk8I,SAAS,CAACvpJ,IAAD,EAAOmtD,OAAO,CAACs1F,UAAR,CAAmBQ,OAA1B,CAAhB;AACH,KA3F4C,CA6F7C;;;AACA,aAAS+G,WAAT,CAAqBC,cAArB,EAAqCjqJ,IAArC,EAA2C;AACvC,UAAIkqJ,WAAW,GAAGX,SAAS,CAACvpJ,IAAD,EAAOmtD,OAAO,CAACs1F,UAAR,CAAmBS,QAA1B,CAA3B;AAEAkF,mBAAa,GAAG,EAAhB;AACAC,oBAAc,GAAG,EAAjB;AAEAA,oBAAc,CAAChzJ,IAAf,CAAoB00J,UAAU,CAACG,WAAD,EAAcD,cAAc,CAAC,CAAD,CAA5B,CAA9B,EANuC,CAQvC;AACA;;AAEA,WAAK,IAAIh1J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGk4D,OAAO,CAACm4F,OAA5B,EAAqCrwJ,CAAC,EAAtC,EAA0C;AACtC;AACAmzJ,qBAAa,CAAC/yJ,IAAd,CAAmBs0J,SAAS,CAAC3pJ,IAAD,EAAO/K,CAAP,CAA5B;AACA0zJ,2BAAmB,CAAC1zJ,CAAD,CAAnB,GAAyBA,CAAzB;AACAozJ,sBAAc,CAAChzJ,IAAf,CAAoB00J,UAAU,CAACG,WAAD,EAAcD,cAAc,CAACh1J,CAAC,GAAG,CAAL,CAA5B,CAA9B;AACH;AACJ,KA/G4C,CAiH7C;;;AACA,aAASk1J,SAAT,CAAmBX,SAAnB,EAA8B;AAC1B;AACAlM,cAAQ,CAACkM,SAAD,EAAYr8F,OAAO,CAACs1F,UAAR,CAAmBl0H,MAA/B,CAAR;;AAEA,UAAI4+B,OAAO,CAACxyD,GAAR,KAAgB,CAApB,EAAuB;AACnB2iJ,gBAAQ,CAACkM,SAAD,EAAYr8F,OAAO,CAACs1F,UAAR,CAAmBU,GAA/B,CAAR;AACH,OAFD,MAEO;AACH7F,gBAAQ,CAACkM,SAAD,EAAYr8F,OAAO,CAACs1F,UAAR,CAAmBW,GAA/B,CAAR;AACH;;AAED,UAAIj2F,OAAO,CAAC24F,GAAR,KAAgB,CAApB,EAAuB;AACnBxI,gBAAQ,CAACkM,SAAD,EAAYr8F,OAAO,CAACs1F,UAAR,CAAmBK,UAA/B,CAAR;AACH,OAFD,MAEO;AACHxF,gBAAQ,CAACkM,SAAD,EAAYr8F,OAAO,CAACs1F,UAAR,CAAmBM,QAA/B,CAAR;AACH;;AAED,UAAIqH,aAAa,GAAGC,gBAAgB,CAACb,SAAD,CAAhB,CAA4BlI,SAAhD;;AAEA,UAAI8I,aAAa,KAAK,KAAtB,EAA6B;AACzB9M,gBAAQ,CAACkM,SAAD,EAAYr8F,OAAO,CAACs1F,UAAR,CAAmBa,gBAA/B,CAAR;AACH,OAFD,MAEO;AACHhG,gBAAQ,CAACkM,SAAD,EAAYr8F,OAAO,CAACs1F,UAAR,CAAmBY,gBAA/B,CAAR;AACH;;AAED,aAAOkG,SAAS,CAACC,SAAD,EAAYr8F,OAAO,CAACs1F,UAAR,CAAmBziJ,IAA/B,CAAhB;AACH;;AAED,aAASsqJ,UAAT,CAAoB5H,MAApB,EAA4BkH,YAA5B,EAA0C;AACtC,UAAI,CAACz8F,OAAO,CAACu3F,QAAR,CAAiBkF,YAAjB,CAAL,EAAqC;AACjC,eAAO,KAAP;AACH;;AAED,aAAOL,SAAS,CAAC7G,MAAM,CAAC6H,UAAR,EAAoBp9F,OAAO,CAACs1F,UAAR,CAAmBkB,OAAvC,CAAhB;AACH;;AAED,aAAS6G,gBAAT,GAA4B;AACxB,aAAOtC,YAAY,CAACuC,YAAb,CAA0B,UAA1B,CAAP;AACH,KAvJ4C,CAyJ7C;;;AACA,aAASC,gBAAT,CAA0Bd,YAA1B,EAAwC;AACpC,UAAIe,YAAY,GAAGvC,aAAa,CAACwB,YAAD,CAAhC;AACA,aAAOe,YAAY,CAACF,YAAb,CAA0B,UAA1B,CAAP;AACH;;AAED,aAASG,cAAT,GAA0B;AACtB,UAAIrC,cAAJ,EAAoB;AAChBsC,mBAAW,CAAC,WAAWpG,iBAAiB,CAACC,QAA9B,CAAX;AACA6D,sBAAc,CAAC10J,OAAf,CAAuB,UAAS8vJ,OAAT,EAAkB;AACrC,cAAIA,OAAJ,EAAa;AACTjI,yBAAa,CAACiI,OAAD,CAAb;AACH;AACJ,SAJD;AAKA4E,sBAAc,GAAG,IAAjB;AACH;AACJ,KAzK4C,CA2K7C;;;AACA,aAAS7D,QAAT,GAAoB;AAChBkG,oBAAc,GADE,CAGhB;;AACArC,oBAAc,GAAGH,aAAa,CAAC9vJ,GAAd,CAAkBgyJ,UAAlB,CAAjB;AAEAQ,eAAS,CAAC,WAAWrG,iBAAiB,CAACC,QAA9B,EAAwC,UAAS7nJ,MAAT,EAAiB+sJ,YAAjB,EAA+BmB,SAA/B,EAA0C;AACvF,YAAI,CAACxC,cAAc,CAACqB,YAAD,CAAnB,EAAmC;AAC/B;AACH;;AAED,YAAIoB,cAAc,GAAGnuJ,MAAM,CAAC+sJ,YAAD,CAA3B;;AAEA,YAAIz8F,OAAO,CAACu3F,QAAR,CAAiBkF,YAAjB,MAAmC,IAAvC,EAA6C;AACzCoB,wBAAc,GAAG79F,OAAO,CAACu3F,QAAR,CAAiBkF,YAAjB,EAA+BnO,EAA/B,CAAkCsP,SAAS,CAACnB,YAAD,CAA3C,CAAjB;AACH;;AAEDrB,sBAAc,CAACqB,YAAD,CAAd,CAA6BqB,SAA7B,GAAyCD,cAAzC;AACH,OAZQ,CAAT;AAaH;;AAED,aAASrG,IAAT,GAAgB;AACZkG,iBAAW,CAAC,WAAWpG,iBAAiB,CAACE,IAA9B,CAAX;AACAmG,eAAS,CAAC,WAAWrG,iBAAiB,CAACE,IAA9B,EAAoC,UAAS9nJ,MAAT,EAAiB+sJ,YAAjB,EAA+BmB,SAA/B,EAA0CtH,GAA1C,EAA+CyH,SAA/C,EAA0D;AACnG;AACAvC,2BAAmB,CAAC90J,OAApB,CAA4B,UAAS4M,KAAT,EAAgB;AACxC,cAAIiiJ,MAAM,GAAG0F,aAAa,CAAC3nJ,KAAD,CAA1B;AAEA,cAAIg9I,GAAG,GAAG0N,mBAAmB,CAACzC,eAAD,EAAkBjoJ,KAAlB,EAAyB,CAAzB,EAA4B,IAA5B,EAAkC,IAAlC,EAAwC,IAAxC,CAA7B;AACA,cAAIgzB,GAAG,GAAG03H,mBAAmB,CAACzC,eAAD,EAAkBjoJ,KAAlB,EAAyB,GAAzB,EAA8B,IAA9B,EAAoC,IAApC,EAA0C,IAA1C,CAA7B;AAEA,cAAI2qJ,GAAG,GAAGF,SAAS,CAACzqJ,KAAD,CAAnB,CANwC,CAQxC;;AACA,cAAIiE,IAAI,GAAGyoD,OAAO,CAAC45F,UAAR,CAAmBtL,EAAnB,CAAsBsP,SAAS,CAACtqJ,KAAD,CAA/B,CAAX,CATwC,CAWxC;;AACAg9I,aAAG,GAAG+K,cAAc,CAACvI,YAAf,CAA4BxC,GAA5B,EAAiCqD,OAAjC,CAAyC,CAAzC,CAAN;AACArtH,aAAG,GAAG+0H,cAAc,CAACvI,YAAf,CAA4BxsH,GAA5B,EAAiCqtH,OAAjC,CAAyC,CAAzC,CAAN;AACAsK,aAAG,GAAG5C,cAAc,CAACvI,YAAf,CAA4BmL,GAA5B,EAAiCtK,OAAjC,CAAyC,CAAzC,CAAN;AAEA4B,gBAAM,CAAC5zH,QAAP,CAAgB,CAAhB,EAAmB+6H,YAAnB,CAAgC,eAAhC,EAAiDpM,GAAjD;AACAiF,gBAAM,CAAC5zH,QAAP,CAAgB,CAAhB,EAAmB+6H,YAAnB,CAAgC,eAAhC,EAAiDp2H,GAAjD;AACAivH,gBAAM,CAAC5zH,QAAP,CAAgB,CAAhB,EAAmB+6H,YAAnB,CAAgC,eAAhC,EAAiDuB,GAAjD;AACA1I,gBAAM,CAAC5zH,QAAP,CAAgB,CAAhB,EAAmB+6H,YAAnB,CAAgC,gBAAhC,EAAkDnlJ,IAAlD;AACH,SApBD;AAqBH,OAvBQ,CAAT;AAwBH;;AAED,aAAS2mJ,QAAT,CAAkBhrG,IAAlB,EAAwBxjD,MAAxB,EAAgCyuJ,OAAhC,EAAyC;AACrC;AACA,UAAIjrG,IAAI,KAAK,OAAT,IAAoBA,IAAI,KAAK,OAAjC,EAA0C;AACtC,eAAOmoG,cAAc,CAAC3I,IAAtB;AACH;;AAED,UAAIx/F,IAAI,KAAK,OAAb,EAAsB;AAClB,YAAIxjD,MAAM,GAAG,CAAb,EAAgB;AACZ,gBAAM,IAAIxK,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,+CAArC,CAAN;AACH,SAHiB,CAKlB;;;AACA,YAAIulH,QAAQ,GAAG1uJ,MAAM,GAAG,CAAxB;AACA,YAAI2uJ,MAAM,GAAG,MAAMD,QAAnB;AAEA1uJ,cAAM,GAAG,EAAT,CATkB,CAWlB;;AACA,eAAO0uJ,QAAQ,EAAf,EAAmB;AACf1uJ,gBAAM,CAAC0uJ,QAAD,CAAN,GAAmBA,QAAQ,GAAGC,MAA9B;AACH;;AAED3uJ,cAAM,CAACxH,IAAP,CAAY,GAAZ;AAEAgrD,YAAI,GAAG,WAAP;AACH;;AAED,UAAIA,IAAI,KAAK,WAAb,EAA0B;AACtB;AACA,eAAOxjD,MAAM,CAACvE,GAAP,CAAW,UAAS/C,KAAT,EAAgB;AAC9B,iBAAOizJ,cAAc,CAACvI,YAAf,CAA4BqL,OAAO,GAAG9C,cAAc,CAACtI,OAAf,CAAuB3qJ,KAAvB,CAAH,GAAmCA,KAAtE,CAAP;AACH,SAFM,CAAP;AAGH;;AAED,UAAI8qD,IAAI,KAAK,QAAb,EAAuB;AACnB;AACA,YAAIirG,OAAJ,EAAa;AACT,iBAAOzuJ,MAAM,CAACvE,GAAP,CAAW,UAAS/C,KAAT,EAAgB;AAC9B;AACA,mBAAOizJ,cAAc,CAACvI,YAAf,CAA4BuI,cAAc,CAACtI,OAAf,CAAuBsI,cAAc,CAAC5I,UAAf,CAA0BrqJ,KAA1B,CAAvB,CAA5B,CAAP;AACH,WAHM,CAAP;AAIH,SAPkB,CASnB;;;AACA,eAAOsH,MAAP;AACH;AACJ;;AAED,aAAS4uJ,cAAT,CAAwBC,OAAxB,EAAiCrrG,IAAjC,EAAuCsrG,KAAvC,EAA8C;AAC1C,eAASC,aAAT,CAAuBr2J,KAAvB,EAA8Bs2J,SAA9B,EAAyC;AACrC;AACA,eAAO,CAACt2J,KAAK,GAAGs2J,SAAT,EAAoB/K,OAApB,CAA4B,CAA5B,IAAiC,CAAxC;AACH;;AAED,UAAIgL,OAAO,GAAG,EAAd;AACA,UAAIC,YAAY,GAAGvD,cAAc,CAAC3I,IAAf,CAAoB,CAApB,CAAnB;AACA,UAAImM,WAAW,GAAGxD,cAAc,CAAC3I,IAAf,CAAoB2I,cAAc,CAAC3I,IAAf,CAAoBjsJ,MAApB,GAA6B,CAAjD,CAAlB;AACA,UAAIq4J,WAAW,GAAG,KAAlB;AACA,UAAIC,UAAU,GAAG,KAAjB;AACA,UAAIC,OAAO,GAAG,CAAd,CAX0C,CAa1C;;AACAR,WAAK,GAAG7P,MAAM,CACV6P,KAAK,CAACr5J,KAAN,GAAcquE,IAAd,CAAmB,UAAS1rC,CAAT,EAAYW,CAAZ,EAAe;AAC9B,eAAOX,CAAC,GAAGW,CAAX;AACH,OAFD,CADU,CAAd,CAd0C,CAoB1C;;AACA,UAAI+1H,KAAK,CAAC,CAAD,CAAL,KAAaI,YAAjB,EAA+B;AAC3BJ,aAAK,CAACxrG,OAAN,CAAc4rG,YAAd;AACAE,mBAAW,GAAG,IAAd;AACH,OAxByC,CA0B1C;;;AACA,UAAIN,KAAK,CAACA,KAAK,CAAC/3J,MAAN,GAAe,CAAhB,CAAL,KAA4Bo4J,WAAhC,EAA6C;AACzCL,aAAK,CAACt2J,IAAN,CAAW22J,WAAX;AACAE,kBAAU,GAAG,IAAb;AACH;;AAEDP,WAAK,CAAC93J,OAAN,CAAc,UAASoC,OAAT,EAAkBwK,KAAlB,EAAyB;AACnC;AACA,YAAIsgJ,IAAJ;AACA,YAAI9rJ,CAAJ;AACA,YAAIowG,CAAJ;AACA,YAAI1yF,GAAG,GAAG1c,OAAV;AACA,YAAIyhC,IAAI,GAAGi0H,KAAK,CAAClrJ,KAAK,GAAG,CAAT,CAAhB;AACA,YAAI2rJ,MAAJ;AACA,YAAIC,aAAJ;AACA,YAAIC,MAAJ;AACA,YAAIhsJ,IAAJ;AACA,YAAIisJ,KAAJ;AACA,YAAIC,SAAJ;AACA,YAAIC,QAAJ;AACA,YAAIC,OAAO,GAAGrsG,IAAI,KAAK,OAAvB,CAdmC,CAgBnC;AACA;;AACA,YAAIqsG,OAAJ,EAAa;AACT3L,cAAI,GAAGyH,cAAc,CAAC7H,SAAf,CAAyBlgJ,KAAzB,CAAP;AACH,SApBkC,CAsBnC;;;AACA,YAAI,CAACsgJ,IAAL,EAAW;AACPA,cAAI,GAAGrpH,IAAI,GAAG/kB,GAAd;AACH,SAzBkC,CA2BnC;;;AACA,YAAIA,GAAG,KAAK,KAAZ,EAAmB;AACf;AACH,SA9BkC,CAgCnC;;;AACA,YAAI+kB,IAAI,KAAK79B,SAAb,EAAwB;AACpB69B,cAAI,GAAG/kB,GAAP;AACH,SAnCkC,CAqCnC;;;AACAouI,YAAI,GAAGvtH,IAAI,CAACC,GAAL,CAASstH,IAAT,EAAe,SAAf,CAAP,CAtCmC,CAwCnC;;AACA,aAAK9rJ,CAAC,GAAG0d,GAAT,EAAc1d,CAAC,IAAIyiC,IAAnB,EAAyBziC,CAAC,GAAG22J,aAAa,CAAC32J,CAAD,EAAI8rJ,IAAJ,CAA1C,EAAqD;AACjD;AACA;AACAqL,gBAAM,GAAG5D,cAAc,CAAC5I,UAAf,CAA0B3qJ,CAA1B,CAAT;AACAo3J,uBAAa,GAAGD,MAAM,GAAGD,OAAzB;AAEAI,eAAK,GAAGF,aAAa,GAAGX,OAAxB;AACAc,mBAAS,GAAGh5H,IAAI,CAACwoH,KAAL,CAAWuQ,KAAX,CAAZ,CAPiD,CASjD;AACA;AACA;AACA;;AACAE,kBAAQ,GAAGJ,aAAa,GAAGG,SAA3B,CAbiD,CAejD;AACA;;AACA,eAAKnnD,CAAC,GAAG,CAAT,EAAYA,CAAC,IAAImnD,SAAjB,EAA4BnnD,CAAC,IAAI,CAAjC,EAAoC;AAChC;AACA;AACA;AACA;AACAinD,kBAAM,GAAGH,OAAO,GAAG9mD,CAAC,GAAGonD,QAAvB;AACAX,mBAAO,CAACQ,MAAM,CAACxL,OAAP,CAAe,CAAf,CAAD,CAAP,GAA6B,CAAC0H,cAAc,CAACvI,YAAf,CAA4BqM,MAA5B,CAAD,EAAsC,CAAtC,CAA7B;AACH,WAxBgD,CA0BjD;;;AACAhsJ,cAAI,GAAGqrJ,KAAK,CAACv5J,OAAN,CAAc6C,CAAd,IAAmB,CAAC,CAApB,GAAwBm0J,gBAAxB,GAA2CsD,OAAO,GAAGrD,gBAAH,GAAsBF,aAA/E,CA3BiD,CA6BjD;;AACA,cAAI,CAAC1oJ,KAAD,IAAUwrJ,WAAV,IAAyBh3J,CAAC,KAAKyiC,IAAnC,EAAyC;AACrCp3B,gBAAI,GAAG,CAAP;AACH;;AAED,cAAI,EAAErL,CAAC,KAAKyiC,IAAN,IAAcw0H,UAAhB,CAAJ,EAAiC;AAC7B;AACAJ,mBAAO,CAACM,MAAM,CAACtL,OAAP,CAAe,CAAf,CAAD,CAAP,GAA6B,CAAC7rJ,CAAD,EAAIqL,IAAJ,CAA7B;AACH,WArCgD,CAuCjD;;;AACA6rJ,iBAAO,GAAGC,MAAV;AACH;AACJ,OAnFD;AAqFA,aAAON,OAAP;AACH;;AAED,aAASa,UAAT,CAAoBnB,MAApB,EAA4BoB,UAA5B,EAAwC/F,SAAxC,EAAmD;AAC/C,UAAInyJ,OAAO,GAAGq0J,cAAc,CAACpB,aAAf,CAA6B,KAA7B,CAAd;AAEA,UAAIkF,gBAAgB,GAAG,EAAvB;AACAA,sBAAgB,CAAC1D,aAAD,CAAhB,GAAkCh8F,OAAO,CAACs1F,UAAR,CAAmB6B,WAArD;AACAuI,sBAAgB,CAACzD,gBAAD,CAAhB,GAAqCj8F,OAAO,CAACs1F,UAAR,CAAmB8B,UAAxD;AACAsI,sBAAgB,CAACxD,gBAAD,CAAhB,GAAqCl8F,OAAO,CAACs1F,UAAR,CAAmB+B,QAAxD;AAEA,UAAIsI,iBAAiB,GAAG,EAAxB;AACAA,uBAAiB,CAAC3D,aAAD,CAAjB,GAAmCh8F,OAAO,CAACs1F,UAAR,CAAmBwB,YAAtD;AACA6I,uBAAiB,CAAC1D,gBAAD,CAAjB,GAAsCj8F,OAAO,CAACs1F,UAAR,CAAmByB,WAAzD;AACA4I,uBAAiB,CAACzD,gBAAD,CAAjB,GAAsCl8F,OAAO,CAACs1F,UAAR,CAAmB0B,SAAzD;AAEA,UAAI4I,uBAAuB,GAAG,CAAC5/F,OAAO,CAACs1F,UAAR,CAAmB2B,eAApB,EAAqCj3F,OAAO,CAACs1F,UAAR,CAAmB4B,aAAxD,CAA9B;AACA,UAAI2I,wBAAwB,GAAG,CAAC7/F,OAAO,CAACs1F,UAAR,CAAmBsB,gBAApB,EAAsC52F,OAAO,CAACs1F,UAAR,CAAmBuB,cAAzD,CAA/B;AAEA1G,cAAQ,CAAC5oJ,OAAD,EAAUy4D,OAAO,CAACs1F,UAAR,CAAmBmB,IAA7B,CAAR;AACAtG,cAAQ,CAAC5oJ,OAAD,EAAUy4D,OAAO,CAAC24F,GAAR,KAAgB,CAAhB,GAAoB34F,OAAO,CAACs1F,UAAR,CAAmBoB,cAAvC,GAAwD12F,OAAO,CAACs1F,UAAR,CAAmBqB,YAArF,CAAR;;AAEA,eAASmJ,UAAT,CAAoB3sJ,IAApB,EAA0Bk7B,MAA1B,EAAkC;AAC9B,YAAIvG,CAAC,GAAGuG,MAAM,KAAK2xB,OAAO,CAACs1F,UAAR,CAAmBltJ,KAAtC;AACA,YAAI23J,kBAAkB,GAAGj4H,CAAC,GAAG83H,uBAAH,GAA6BC,wBAAvD;AACA,YAAIG,WAAW,GAAGl4H,CAAC,GAAG43H,gBAAH,GAAsBC,iBAAzC;AAEA,eAAOtxH,MAAM,GAAG,GAAT,GAAe0xH,kBAAkB,CAAC//F,OAAO,CAAC24F,GAAT,CAAjC,GAAiD,GAAjD,GAAuDqH,WAAW,CAAC7sJ,IAAD,CAAzE;AACH;;AAED,eAAS8sJ,SAAT,CAAmB56G,MAAnB,EAA2Bj9C,KAA3B,EAAkC+K,IAAlC,EAAwC;AACpC;AACAA,YAAI,GAAGssJ,UAAU,GAAGA,UAAU,CAACr3J,KAAD,EAAQ+K,IAAR,CAAb,GAA6BA,IAA9C;;AAEA,YAAIA,IAAI,KAAK4oJ,SAAb,EAAwB;AACpB;AACH,SANmC,CAQpC;;;AACA,YAAI9lJ,IAAI,GAAGmmJ,SAAS,CAAC70J,OAAD,EAAU,KAAV,CAApB;AACA0O,YAAI,CAACrL,SAAL,GAAiBk1J,UAAU,CAAC3sJ,IAAD,EAAO6sD,OAAO,CAACs1F,UAAR,CAAmBvmE,MAA1B,CAA3B;AACA94E,YAAI,CAAC0nD,KAAL,CAAWqC,OAAO,CAACrC,KAAnB,IAA4BtY,MAAM,GAAG,GAArC,CAXoC,CAapC;;AACA,YAAIlyC,IAAI,GAAG6oJ,aAAX,EAA0B;AACtB/lJ,cAAI,GAAGmmJ,SAAS,CAAC70J,OAAD,EAAU,KAAV,CAAhB;AACA0O,cAAI,CAACrL,SAAL,GAAiBk1J,UAAU,CAAC3sJ,IAAD,EAAO6sD,OAAO,CAACs1F,UAAR,CAAmBltJ,KAA1B,CAA3B;AACA6N,cAAI,CAACymJ,YAAL,CAAkB,YAAlB,EAAgCt0J,KAAhC;AACA6N,cAAI,CAAC0nD,KAAL,CAAWqC,OAAO,CAACrC,KAAnB,IAA4BtY,MAAM,GAAG,GAArC;AACApvC,cAAI,CAAC6nJ,SAAL,GAAiBpE,SAAS,CAACpL,EAAV,CAAalmJ,KAAb,CAAjB;AACH;AACJ,OAhD8C,CAkD/C;;;AACA2E,YAAM,CAAC+T,IAAP,CAAYu9I,MAAZ,EAAoB33J,OAApB,CAA4B,UAAS2+C,MAAT,EAAiB;AACzC46G,iBAAS,CAAC56G,MAAD,EAASg5G,MAAM,CAACh5G,MAAD,CAAN,CAAe,CAAf,CAAT,EAA4Bg5G,MAAM,CAACh5G,MAAD,CAAN,CAAe,CAAf,CAA5B,CAAT;AACH,OAFD;AAIA,aAAO99C,OAAP;AACH;;AAED,aAAS24J,UAAT,GAAsB;AAClB,UAAI/E,UAAJ,EAAgB;AACZ5M,qBAAa,CAAC4M,UAAD,CAAb;AACAA,kBAAU,GAAG,IAAb;AACH;AACJ;;AAED,aAAS1E,IAAT,CAAc0J,IAAd,EAAoB;AAChB;AACAD,gBAAU;AAEV,UAAIhtG,IAAI,GAAGitG,IAAI,CAACjtG,IAAhB;AACA,UAAIqrG,OAAO,GAAG4B,IAAI,CAAC5B,OAAL,IAAgB,CAA9B;AACA,UAAIz0I,MAAM,GAAGq2I,IAAI,CAACr2I,MAAL,IAAe,KAA5B;AACA,UAAIpa,MAAM,GAAGywJ,IAAI,CAACzwJ,MAAL,IAAe,KAA5B;AACA,UAAIyuJ,OAAO,GAAGgC,IAAI,CAAChC,OAAL,IAAgB,KAA9B;AACA,UAAIK,KAAK,GAAGN,QAAQ,CAAChrG,IAAD,EAAOxjD,MAAP,EAAeyuJ,OAAf,CAApB;AACA,UAAIE,MAAM,GAAGC,cAAc,CAACC,OAAD,EAAUrrG,IAAV,EAAgBsrG,KAAhB,CAA3B;AACA,UAAIlxC,MAAM,GAAG6yC,IAAI,CAAC7yC,MAAL,IAAe;AACxBghC,UAAE,EAAEjoH,IAAI,CAACwoH;AADe,OAA5B;AAIAsM,gBAAU,GAAGJ,YAAY,CAACwB,WAAb,CAAyBiD,UAAU,CAACnB,MAAD,EAASv0I,MAAT,EAAiBwjG,MAAjB,CAAnC,CAAb;AAEA,aAAO6tC,UAAP;AACH,KAxd4C,CA0d7C;;;AACA,aAASiF,QAAT,GAAoB;AAChB,UAAIpR,IAAI,GAAGgM,UAAU,CAAC/L,qBAAX,EAAX;AACA,UAAIoR,GAAG,GAAG,WAAW,CAAC,OAAD,EAAU,QAAV,EAAoBrgG,OAAO,CAAC24F,GAA5B,CAArB;AACA,aAAO34F,OAAO,CAAC24F,GAAR,KAAgB,CAAhB,GAAoB3J,IAAI,CAACsR,KAAL,IAActF,UAAU,CAACqF,GAAD,CAA5C,GAAoDrR,IAAI,CAACuR,MAAL,IAAevF,UAAU,CAACqF,GAAD,CAApF;AACH,KA/d4C,CAie7C;;;AACA,aAASG,WAAT,CAAqB/9E,MAArB,EAA6Bl7E,OAA7B,EAAsC0E,QAAtC,EAAgDa,IAAhD,EAAsD;AAClD;AACA;AAEA,UAAIgK,MAAM,GAAG,SAATA,MAAS,CAASrB,CAAT,EAAY;AACrBA,SAAC,GAAGgrJ,QAAQ,CAAChrJ,CAAD,EAAI3I,IAAI,CAACwiJ,UAAT,EAAqBxiJ,IAAI,CAACs0B,MAAL,IAAe75B,OAApC,CAAZ,CADqB,CAGrB;AACA;;AACA,YAAI,CAACkO,CAAL,EAAQ;AACJ,iBAAO,KAAP;AACH,SAPoB,CASrB;AACA;;;AACA,YAAI4nJ,gBAAgB,MAAM,CAACvwJ,IAAI,CAAC4zJ,WAAhC,EAA6C;AACzC,iBAAO,KAAP;AACH,SAboB,CAerB;;;AACA,YAAI9P,QAAQ,CAACmK,YAAD,EAAe/6F,OAAO,CAACs1F,UAAR,CAAmBgB,GAAlC,CAAR,IAAkD,CAACxpJ,IAAI,CAAC4zJ,WAA5D,EAAyE;AACrE,iBAAO,KAAP;AACH,SAlBoB,CAoBrB;;;AACA,YAAIj+E,MAAM,KAAK27C,OAAO,CAACj6F,KAAnB,IAA4B1uB,CAAC,CAACkrJ,OAAF,KAAcj0J,SAA1C,IAAuD+I,CAAC,CAACkrJ,OAAF,GAAY,CAAvE,EAA0E;AACtE,iBAAO,KAAP;AACH,SAvBoB,CAyBrB;;;AACA,YAAI7zJ,IAAI,CAACysJ,KAAL,IAAc9jJ,CAAC,CAACkrJ,OAApB,EAA6B;AACzB,iBAAO,KAAP;AACH,SA5BoB,CA8BrB;AACA;AACA;AACA;AACA;;;AACA,YAAI,CAACjP,eAAL,EAAsB;AAClBj8I,WAAC,CAACi5I,cAAF;AACH;;AAEDj5I,SAAC,CAACmrJ,SAAF,GAAcnrJ,CAAC,CAACorJ,MAAF,CAAS7gG,OAAO,CAAC24F,GAAjB,CAAd,CAvCqB,CAyCrB;;AACA1sJ,gBAAQ,CAACwJ,CAAD,EAAI3I,IAAJ,CAAR;AACH,OA3CD;;AA6CA,UAAIoR,OAAO,GAAG,EAAd,CAjDkD,CAmDlD;;AACAukE,YAAM,CAACt8D,KAAP,CAAa,GAAb,EAAkBzf,OAAlB,CAA0B,UAAS8H,SAAT,EAAoB;AAC1CjH,eAAO,CAACqqJ,gBAAR,CAAyBpjJ,SAAzB,EAAoCsI,MAApC,EAA4C46I,eAAe,GAAG;AAAEoP,iBAAO,EAAE;AAAX,SAAH,GAAuB,KAAlF;AACA5iJ,eAAO,CAAChW,IAAR,CAAa,CAACsG,SAAD,EAAYsI,MAAZ,CAAb;AACH,OAHD;AAKA,aAAOoH,OAAP;AACH,KA5hB4C,CA8hB7C;;;AACA,aAASuiJ,QAAT,CAAkBhrJ,CAAlB,EAAqB65I,UAArB,EAAiCzpB,WAAjC,EAA8C;AAC1C;AACA;AACA;AACA,UAAIk7B,KAAK,GAAGtrJ,CAAC,CAACtC,IAAF,CAAOlO,OAAP,CAAe,OAAf,MAA4B,CAAxC;AACA,UAAI+7J,KAAK,GAAGvrJ,CAAC,CAACtC,IAAF,CAAOlO,OAAP,CAAe,OAAf,MAA4B,CAAxC;AACA,UAAIg8J,OAAO,GAAGxrJ,CAAC,CAACtC,IAAF,CAAOlO,OAAP,CAAe,SAAf,MAA8B,CAA5C;AAEA,UAAIyqJ,CAAJ;AACA,UAAIE,CAAJ,CAT0C,CAW1C;;AACA,UAAIn6I,CAAC,CAACtC,IAAF,CAAOlO,OAAP,CAAe,WAAf,MAAgC,CAApC,EAAuC;AACnCg8J,eAAO,GAAG,IAAV;AACH,OAdyC,CAgB1C;AACA;AACA;;;AACA,UAAIxrJ,CAAC,CAACtC,IAAF,KAAW,WAAX,IAA0B,CAACsC,CAAC,CAACkrJ,OAA7B,IAAwC,CAAClrJ,CAAC,CAACyrJ,OAA/C,EAAwD;AACpD,eAAO,KAAP;AACH,OArByC,CAuB1C;;;AACA,UAAIH,KAAJ,EAAW;AACP;AACA,YAAII,eAAe,GAAG,SAAlBA,eAAkB,CAASC,UAAT,EAAqB;AACvC,iBACIA,UAAU,CAAChgI,MAAX,KAAsBykG,WAAtB,IACAA,WAAW,CAACgrB,QAAZ,CAAqBuQ,UAAU,CAAChgI,MAAhC,CADA,IAECggI,UAAU,CAAChgI,MAAX,CAAkBigI,UAAlB,IAAgCD,UAAU,CAAChgI,MAAX,CAAkBigI,UAAlB,CAA6BxQ,QAA7B,CAAsChrB,WAAtC,CAHrC;AAKH,SAND,CAFO,CAUP;AACA;;;AACA,YAAIpwH,CAAC,CAACtC,IAAF,KAAW,YAAf,EAA6B;AACzB,cAAImuJ,aAAa,GAAGl+I,KAAK,CAACvC,SAAN,CAAgBiJ,MAAhB,CAAuBwhC,IAAvB,CAA4B71C,CAAC,CAACyrJ,OAA9B,EAAuCC,eAAvC,CAApB,CADyB,CAGzB;;AACA,cAAIG,aAAa,CAAC76J,MAAd,GAAuB,CAA3B,EAA8B;AAC1B,mBAAO,KAAP;AACH;;AAEDipJ,WAAC,GAAG4R,aAAa,CAAC,CAAD,CAAb,CAAiBC,KAArB;AACA3R,WAAC,GAAG0R,aAAa,CAAC,CAAD,CAAb,CAAiBE,KAArB;AACH,SAVD,MAUO;AACH;AACA,cAAIC,WAAW,GAAGr+I,KAAK,CAACvC,SAAN,CAAgBwwB,IAAhB,CAAqBia,IAArB,CAA0B71C,CAAC,CAACisJ,cAA5B,EAA4CP,eAA5C,CAAlB,CAFG,CAIH;;AACA,cAAI,CAACM,WAAL,EAAkB;AACd,mBAAO,KAAP;AACH;;AAED/R,WAAC,GAAG+R,WAAW,CAACF,KAAhB;AACA3R,WAAC,GAAG6R,WAAW,CAACD,KAAhB;AACH;AACJ;;AAEDlS,gBAAU,GAAGA,UAAU,IAAIC,aAAa,CAACqM,cAAD,CAAxC;;AAEA,UAAIoF,KAAK,IAAIC,OAAb,EAAsB;AAClBvR,SAAC,GAAGj6I,CAAC,CAACksJ,OAAF,GAAYrS,UAAU,CAACI,CAA3B;AACAE,SAAC,GAAGn6I,CAAC,CAACmsJ,OAAF,GAAYtS,UAAU,CAACM,CAA3B;AACH;;AAEDn6I,OAAC,CAAC65I,UAAF,GAAeA,UAAf;AACA75I,OAAC,CAACorJ,MAAF,GAAW,CAACnR,CAAD,EAAIE,CAAJ,CAAX;AACAn6I,OAAC,CAACouD,MAAF,GAAWm9F,KAAK,IAAIC,OAApB,CArE0C,CAqEb;;AAE7B,aAAOxrJ,CAAP;AACH,KAvmB4C,CAymB7C;;;AACA,aAASosJ,qBAAT,CAA+BjB,SAA/B,EAA0C;AACtC,UAAI71G,QAAQ,GAAG61G,SAAS,GAAGv7G,MAAM,CAAC21G,UAAD,EAAah7F,OAAO,CAAC24F,GAArB,CAAjC;AACA,UAAImJ,QAAQ,GAAI/2G,QAAQ,GAAG,GAAZ,GAAmBq1G,QAAQ,EAA1C,CAFsC,CAItC;AACA;AACA;;AACA0B,cAAQ,GAAG30D,KAAK,CAAC20D,QAAD,CAAhB;AAEA,aAAO9hG,OAAO,CAACxyD,GAAR,GAAc,MAAMs0J,QAApB,GAA+BA,QAAtC;AACH,KApnB4C,CAsnB7C;;;AACA,aAASC,gBAAT,CAA0BC,eAA1B,EAA2C;AACvC,UAAIC,kBAAkB,GAAG,GAAzB;AACA,UAAIxF,YAAY,GAAG,KAAnB;AAEAxB,mBAAa,CAACv0J,OAAd,CAAsB,UAAS6uJ,MAAT,EAAiBjiJ,KAAjB,EAAwB;AAC1C;AACA,YAAIiqJ,gBAAgB,CAACjqJ,KAAD,CAApB,EAA6B;AACzB;AACH;;AAED,YAAI4uJ,cAAc,GAAG3G,eAAe,CAACjoJ,KAAD,CAApC;AACA,YAAI6uJ,wBAAwB,GAAG97H,IAAI,CAACisH,GAAL,CAAS4P,cAAc,GAAGF,eAA1B,CAA/B,CAP0C,CAS1C;;AACA,YAAII,WAAW,GAAGD,wBAAwB,KAAK,GAA7B,IAAoCF,kBAAkB,KAAK,GAA7E,CAV0C,CAY1C;;AACA,YAAII,QAAQ,GAAGF,wBAAwB,GAAGF,kBAA1C;AACA,YAAIK,aAAa,GAAGH,wBAAwB,IAAIF,kBAA5B,IAAkDD,eAAe,GAAGE,cAAxF;;AAEA,YAAIG,QAAQ,IAAIC,aAAZ,IAA6BF,WAAjC,EAA8C;AAC1C3F,sBAAY,GAAGnpJ,KAAf;AACA2uJ,4BAAkB,GAAGE,wBAArB;AACH;AACJ,OApBD;AAsBA,aAAO1F,YAAP;AACH,KAlpB4C,CAopB7C;;;AACA,aAAS8F,aAAT,CAAuBhhI,KAAvB,EAA8Bz0B,IAA9B,EAAoC;AAChC,UAAIy0B,KAAK,CAACpuB,IAAN,KAAe,UAAf,IAA6BouB,KAAK,CAACH,MAAN,CAAag9C,QAAb,KAA0B,MAAvD,IAAiE78C,KAAK,CAACihI,aAAN,KAAwB,IAA7F,EAAmG;AAC/FC,gBAAQ,CAAClhI,KAAD,EAAQz0B,IAAR,CAAR;AACH;AACJ,KAzpB4C,CA2pB7C;;;AACA,aAAS41J,SAAT,CAAmBnhI,KAAnB,EAA0Bz0B,IAA1B,EAAgC;AAC5B;AACA;AACA;AACA;AACA;AACA,UAAI0iJ,SAAS,CAACmT,UAAV,CAAqB19J,OAArB,CAA6B,QAA7B,MAA2C,CAAC,CAA5C,IAAiDs8B,KAAK,CAACo/H,OAAN,KAAkB,CAAnE,IAAwE7zJ,IAAI,CAAC81J,eAAL,KAAyB,CAArG,EAAwG;AACpG,eAAOH,QAAQ,CAAClhI,KAAD,EAAQz0B,IAAR,CAAf;AACH,OAR2B,CAU5B;;;AACA,UAAI+1J,QAAQ,GAAG,CAAC7iG,OAAO,CAACxyD,GAAR,GAAc,CAAC,CAAf,GAAmB,CAApB,KAA0B+zB,KAAK,CAACq/H,SAAN,GAAkB9zJ,IAAI,CAACg2J,cAAjD,CAAf,CAX4B,CAa5B;;AACA,UAAIhB,QAAQ,GAAIe,QAAQ,GAAG,GAAZ,GAAmB/1J,IAAI,CAACszJ,QAAvC;AAEA2C,iBAAW,CAACF,QAAQ,GAAG,CAAZ,EAAef,QAAf,EAAyBh1J,IAAI,CAACk2J,SAA9B,EAAyCl2J,IAAI,CAACm2J,aAA9C,CAAX;AACH,KA7qB4C,CA+qB7C;;;AACA,aAASR,QAAT,CAAkBlhI,KAAlB,EAAyBz0B,IAAzB,EAA+B;AAC3B;AACA,UAAIA,IAAI,CAACyoJ,MAAT,EAAiB;AACblF,mBAAW,CAACvjJ,IAAI,CAACyoJ,MAAN,EAAcv1F,OAAO,CAACs1F,UAAR,CAAmBiB,MAAjC,CAAX;AACAkF,gCAAwB,IAAI,CAA5B;AACH,OAL0B,CAO3B;;;AACA3uJ,UAAI,CAAC+/F,SAAL,CAAenmG,OAAf,CAAuB,UAASkH,CAAT,EAAY;AAC/BiuJ,6BAAqB,CAACqH,mBAAtB,CAA0Ct1J,CAAC,CAAC,CAAD,CAA3C,EAAgDA,CAAC,CAAC,CAAD,CAAjD;AACH,OAFD;;AAIA,UAAI6tJ,wBAAwB,KAAK,CAAjC,EAAoC;AAChC;AACApL,mBAAW,CAAC0K,YAAD,EAAe/6F,OAAO,CAACs1F,UAAR,CAAmBe,IAAlC,CAAX;AACA8M,iBAAS,GAHuB,CAKhC;;AACA,YAAI5hI,KAAK,CAACsiC,MAAV,EAAkB;AACdi4F,oBAAU,CAACn+F,KAAX,CAAiBkG,MAAjB,GAA0B,EAA1B;AACAi4F,oBAAU,CAACoH,mBAAX,CAA+B,aAA/B,EAA8CxU,cAA9C;AACH;AACJ;;AAED5hJ,UAAI,CAACm2J,aAAL,CAAmBv8J,OAAnB,CAA2B,UAAS+1J,YAAT,EAAuB;AAC9C2G,iBAAS,CAAC,QAAD,EAAW3G,YAAX,CAAT;AACA2G,iBAAS,CAAC,KAAD,EAAQ3G,YAAR,CAAT;AACA2G,iBAAS,CAAC,KAAD,EAAQ3G,YAAR,CAAT;AACH,OAJD;AAKH,KA7sB4C,CA+sB7C;;;AACA,aAAS4G,UAAT,CAAoB9hI,KAApB,EAA2Bz0B,IAA3B,EAAiC;AAC7B;AACA,UAAIA,IAAI,CAACm2J,aAAL,CAAmB1+I,IAAnB,CAAwBg5I,gBAAxB,CAAJ,EAA+C;AAC3C,eAAO,KAAP;AACH;;AAED,UAAIhI,MAAJ;;AAEA,UAAIzoJ,IAAI,CAACm2J,aAAL,CAAmBx8J,MAAnB,KAA8B,CAAlC,EAAqC;AACjC,YAAI+2J,YAAY,GAAGvC,aAAa,CAACnuJ,IAAI,CAACm2J,aAAL,CAAmB,CAAnB,CAAD,CAAhC;AAEA1N,cAAM,GAAGiI,YAAY,CAAC77H,QAAb,CAAsB,CAAtB,CAAT;AACA85H,gCAAwB,IAAI,CAA5B,CAJiC,CAMjC;;AACAtL,gBAAQ,CAACoF,MAAD,EAASv1F,OAAO,CAACs1F,UAAR,CAAmBiB,MAA5B,CAAR;AACH,OAhB4B,CAkB7B;;;AACAh1H,WAAK,CAAC+hI,eAAN,GAnB6B,CAqB7B;;AACA,UAAIz2D,SAAS,GAAG,EAAhB,CAtB6B,CAwB7B;;AACA,UAAI02D,SAAS,GAAG/C,WAAW,CAACpiC,OAAO,CAACmzB,IAAT,EAAesK,qBAAf,EAAsC6G,SAAtC,EAAiD;AACxE;AACA;AACAthI,cAAM,EAAEG,KAAK,CAACH,MAH0D;AAIxEm0H,cAAM,EAAEA,MAJgE;AAKxE1oD,iBAAS,EAAEA,SAL6D;AAMxEi2D,sBAAc,EAAEvhI,KAAK,CAACq/H,SANkD;AAOxER,gBAAQ,EAAEA,QAAQ,EAPsD;AAQxE9Q,kBAAU,EAAE/tH,KAAK,CAAC+tH,UARsD;AASxE2T,qBAAa,EAAEn2J,IAAI,CAACm2J,aAToD;AAUxEL,uBAAe,EAAErhI,KAAK,CAACo/H,OAViD;AAWxEqC,iBAAS,EAAEzH,eAAe,CAACp2J,KAAhB;AAX6D,OAAjD,CAA3B;AAcA,UAAIq+J,QAAQ,GAAGhD,WAAW,CAACpiC,OAAO,CAAC15F,GAAT,EAAcm3H,qBAAd,EAAqC4G,QAArC,EAA+C;AACrErhI,cAAM,EAAEG,KAAK,CAACH,MADuD;AAErEm0H,cAAM,EAAEA,MAF6D;AAGrE1oD,iBAAS,EAAEA,SAH0D;AAIrE6zD,mBAAW,EAAE,IAJwD;AAKrEuC,qBAAa,EAAEn2J,IAAI,CAACm2J;AALiD,OAA/C,CAA1B;AAQA,UAAIQ,QAAQ,GAAGjD,WAAW,CAAC,UAAD,EAAa3E,qBAAb,EAAoC0G,aAApC,EAAmD;AACzEnhI,cAAM,EAAEG,KAAK,CAACH,MAD2D;AAEzEm0H,cAAM,EAAEA,MAFiE;AAGzE1oD,iBAAS,EAAEA,SAH8D;AAIzE6zD,mBAAW,EAAE,IAJ4D;AAKzEuC,qBAAa,EAAEn2J,IAAI,CAACm2J;AALqD,OAAnD,CAA1B,CA/C6B,CAuD7B;AACA;;AACAp2D,eAAS,CAAC3kG,IAAV,CAAek3D,KAAf,CAAqBytC,SAArB,EAAgC02D,SAAS,CAACp7J,MAAV,CAAiBq7J,QAAjB,EAA2BC,QAA3B,CAAhC,EAzD6B,CA2D7B;AACA;;AACA,UAAIliI,KAAK,CAACsiC,MAAV,EAAkB;AACd;AACAi4F,kBAAU,CAACn+F,KAAX,CAAiBkG,MAAjB,GAA0Bq5F,gBAAgB,CAAC37H,KAAK,CAACH,MAAP,CAAhB,CAA+ByiC,MAAzD,CAFc,CAId;;AACA,YAAIo3F,aAAa,CAACx0J,MAAd,GAAuB,CAA3B,EAA8B;AAC1B0pJ,kBAAQ,CAAC4K,YAAD,EAAe/6F,OAAO,CAACs1F,UAAR,CAAmBe,IAAlC,CAAR;AACH,SAPa,CASd;AACA;AACA;AACA;AACA;AACA;;;AACAyF,kBAAU,CAAClK,gBAAX,CAA4B,aAA5B,EAA2ClD,cAA3C,EAA2D,KAA3D;AACH;;AAED5hJ,UAAI,CAACm2J,aAAL,CAAmBv8J,OAAnB,CAA2B,UAAS+1J,YAAT,EAAuB;AAC9C2G,iBAAS,CAAC,OAAD,EAAU3G,YAAV,CAAT;AACH,OAFD;AAGH,KAlyB4C,CAoyB7C;;;AACA,aAASiH,QAAT,CAAkBniI,KAAlB,EAAyB;AACrB;AACAA,WAAK,CAAC+hI,eAAN;AAEA,UAAIxB,QAAQ,GAAGD,qBAAqB,CAACtgI,KAAK,CAACq/H,SAAP,CAApC;AACA,UAAInE,YAAY,GAAGsF,gBAAgB,CAACD,QAAD,CAAnC,CALqB,CAOrB;;AACA,UAAIrF,YAAY,KAAK,KAArB,EAA4B;AACxB,eAAO,KAAP;AACH,OAVoB,CAYrB;AACA;;;AACA,UAAI,CAACz8F,OAAO,CAACyiB,MAAR,CAAewwE,IAApB,EAA0B;AACtBhD,mBAAW,CAAC8K,YAAD,EAAe/6F,OAAO,CAACs1F,UAAR,CAAmBgB,GAAlC,EAAuCt2F,OAAO,CAACw4F,iBAA/C,CAAX;AACH;;AAEDmL,eAAS,CAAClH,YAAD,EAAeqF,QAAf,EAAyB,IAAzB,EAA+B,IAA/B,CAAT;AAEAqB,eAAS;AAETC,eAAS,CAAC,OAAD,EAAU3G,YAAV,EAAwB,IAAxB,CAAT;AACA2G,eAAS,CAAC,QAAD,EAAW3G,YAAX,EAAyB,IAAzB,CAAT;AACA2G,eAAS,CAAC,QAAD,EAAW3G,YAAX,EAAyB,IAAzB,CAAT;AACA2G,eAAS,CAAC,KAAD,EAAQ3G,YAAR,EAAsB,IAAtB,CAAT;;AAEA,UAAIz8F,OAAO,CAACyiB,MAAR,CAAewwE,IAAnB,EAAyB;AACrBoQ,kBAAU,CAAC9hI,KAAD,EAAQ;AAAE0hI,uBAAa,EAAE,CAACxG,YAAD;AAAjB,SAAR,CAAV;AACH;AACJ,KAn0B4C,CAq0B7C;;;AACA,aAASmH,UAAT,CAAoBriI,KAApB,EAA2B;AACvB,UAAIugI,QAAQ,GAAGD,qBAAqB,CAACtgI,KAAK,CAACq/H,SAAP,CAApC;AAEA,UAAItS,EAAE,GAAG+M,cAAc,CAACtI,OAAf,CAAuB+O,QAAvB,CAAT;AACA,UAAI15J,KAAK,GAAGizJ,cAAc,CAACvI,YAAf,CAA4BxE,EAA5B,CAAZ;AAEAvhJ,YAAM,CAAC+T,IAAP,CAAY46I,YAAZ,EAA0Bh1J,OAA1B,CAAkC,UAASm9J,WAAT,EAAsB;AACpD,YAAI,YAAYA,WAAW,CAAC19I,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAhB,EAA2C;AACvCu1I,sBAAY,CAACmI,WAAD,CAAZ,CAA0Bn9J,OAA1B,CAAkC,UAASuF,QAAT,EAAmB;AACjDA,oBAAQ,CAACq/C,IAAT,CAAcqwG,UAAd,EAA0BvzJ,KAA1B;AACH,WAFD;AAGH;AACJ,OAND;AAOH,KAn1B4C,CAq1B7C;AACA;;;AACA,aAASu0J,YAAT,CAAsBp7H,KAAtB,EAA6Bk7H,YAA7B,EAA2C;AACvC,UAAIY,gBAAgB,MAAME,gBAAgB,CAACd,YAAD,CAA1C,EAA0D;AACtD,eAAO,KAAP;AACH;;AAED,UAAIqH,cAAc,GAAG,CAAC,MAAD,EAAS,OAAT,CAArB;AACA,UAAIC,YAAY,GAAG,CAAC,MAAD,EAAS,IAAT,CAAnB;AACA,UAAIC,aAAa,GAAG,CAAC,UAAD,EAAa,QAAb,CAApB;AACA,UAAIC,QAAQ,GAAG,CAAC,MAAD,EAAS,KAAT,CAAf;;AAEA,UAAIjkG,OAAO,CAACxyD,GAAR,IAAe,CAACwyD,OAAO,CAAC24F,GAA5B,EAAiC;AAC7B;AACAmL,sBAAc,CAACnjD,OAAf;AACH,OAHD,MAGO,IAAI3gD,OAAO,CAAC24F,GAAR,IAAe,CAAC34F,OAAO,CAACxyD,GAA5B,EAAiC;AACpC;AACAu2J,oBAAY,CAACpjD,OAAb;AACAqjD,qBAAa,CAACrjD,OAAd;AACH,OAjBsC,CAmBvC;;;AACA,UAAIrlG,GAAG,GAAGimB,KAAK,CAACjmB,GAAN,CAAUrC,OAAV,CAAkB,OAAlB,EAA2B,EAA3B,CAAV;AAEA,UAAIirJ,WAAW,GAAG5oJ,GAAG,KAAK0oJ,aAAa,CAAC,CAAD,CAAvC;AACA,UAAIG,SAAS,GAAG7oJ,GAAG,KAAK0oJ,aAAa,CAAC,CAAD,CAArC;AACA,UAAInP,MAAM,GAAGv5I,GAAG,KAAKyoJ,YAAY,CAAC,CAAD,CAApB,IAA2BzoJ,GAAG,KAAKwoJ,cAAc,CAAC,CAAD,CAAjD,IAAwDI,WAArE;AACA,UAAIE,IAAI,GAAG9oJ,GAAG,KAAKyoJ,YAAY,CAAC,CAAD,CAApB,IAA2BzoJ,GAAG,KAAKwoJ,cAAc,CAAC,CAAD,CAAjD,IAAwDK,SAAnE;AACA,UAAIE,KAAK,GAAG/oJ,GAAG,KAAK2oJ,QAAQ,CAAC,CAAD,CAA5B;AACA,UAAIK,KAAK,GAAGhpJ,GAAG,KAAK2oJ,QAAQ,CAAC,CAAD,CAA5B;;AAEA,UAAI,CAACpP,MAAD,IAAW,CAACuP,IAAZ,IAAoB,CAACC,KAArB,IAA8B,CAACC,KAAnC,EAA0C;AACtC,eAAO,IAAP;AACH;;AAED/iI,WAAK,CAACmtH,cAAN;AAEA,UAAIJ,EAAJ;;AAEA,UAAI8V,IAAI,IAAIvP,MAAZ,EAAoB;AAChB,YAAI0P,UAAU,GAAGvkG,OAAO,CAAC63F,sBAAzB;AACA,YAAI1D,SAAS,GAAGU,MAAM,GAAG,CAAH,GAAO,CAA7B;AACA,YAAIuK,KAAK,GAAGoF,qBAAqB,CAAC/H,YAAD,CAAjC;AACA,YAAI7I,IAAI,GAAGwL,KAAK,CAACjL,SAAD,CAAhB,CAJgB,CAMhB;;AACA,YAAIP,IAAI,KAAK,IAAb,EAAmB;AACf,iBAAO,KAAP;AACH,SATe,CAWhB;;;AACA,YAAIA,IAAI,KAAK,KAAb,EAAoB;AAChBA,cAAI,GAAGyH,cAAc,CAACzG,cAAf,CACH2G,eAAe,CAACkB,YAAD,CADZ,EAEH5H,MAFG,EAGH70F,OAAO,CAAC+3F,mBAHL,CAAP;AAKH;;AAED,YAAIoM,SAAS,IAAID,WAAjB,EAA8B;AAC1BtQ,cAAI,IAAI2Q,UAAR;AACH,SAtBe,CAwBhB;;;AACA3Q,YAAI,GAAGvtH,IAAI,CAACC,GAAL,CAASstH,IAAT,EAAe,SAAf,CAAP,CAzBgB,CA2BhB;;AACAA,YAAI,GAAG,CAACiB,MAAM,GAAG,CAAC,CAAJ,GAAQ,CAAf,IAAoBjB,IAA3B;AAEAtF,UAAE,GAAGgN,YAAY,CAACmB,YAAD,CAAZ,GAA6B7I,IAAlC;AACH,OA/BD,MA+BO,IAAI0Q,KAAJ,EAAW;AACd;AACAhW,UAAE,GAAGtuF,OAAO,CAACi4F,QAAR,CAAiBvF,IAAjB,CAAsB1yF,OAAO,CAACi4F,QAAR,CAAiBvF,IAAjB,CAAsBjsJ,MAAtB,GAA+B,CAArD,CAAL;AACH,OAHM,MAGA;AACH;AACA6nJ,UAAE,GAAGtuF,OAAO,CAACi4F,QAAR,CAAiBvF,IAAjB,CAAsB,CAAtB,CAAL;AACH;;AAEDiR,eAAS,CAAClH,YAAD,EAAepB,cAAc,CAAC5I,UAAf,CAA0BnE,EAA1B,CAAf,EAA8C,IAA9C,EAAoD,IAApD,CAAT;AAEA8U,eAAS,CAAC,OAAD,EAAU3G,YAAV,CAAT;AACA2G,eAAS,CAAC,QAAD,EAAW3G,YAAX,CAAT;AACA2G,eAAS,CAAC,QAAD,EAAW3G,YAAX,CAAT;AACA2G,eAAS,CAAC,KAAD,EAAQ3G,YAAR,CAAT;AAEA,aAAO,KAAP;AACH,KA36B4C,CA66B7C;;;AACA,aAASgI,gBAAT,CAA0BnK,SAA1B,EAAqC;AACjC;AACA,UAAI,CAACA,SAAS,CAAChB,KAAf,EAAsB;AAClB2B,qBAAa,CAACv0J,OAAd,CAAsB,UAAS6uJ,MAAT,EAAiBjiJ,KAAjB,EAAwB;AAC1C;AACA;AACAktJ,qBAAW,CAACpiC,OAAO,CAACj6F,KAAT,EAAgBoxH,MAAM,CAAC5zH,QAAP,CAAgB,CAAhB,CAAhB,EAAoC0hI,UAApC,EAAgD;AACvDJ,yBAAa,EAAE,CAAC3vJ,KAAD;AADwC,WAAhD,CAAX;AAGH,SAND;AAOH,OAVgC,CAYjC;;;AACA,UAAIgnJ,SAAS,CAAChE,GAAd,EAAmB;AACfkK,mBAAW,CAACpiC,OAAO,CAACj6F,KAAT,EAAgB62H,UAAhB,EAA4B0I,QAA5B,EAAsC,EAAtC,CAAX;AACH,OAfgC,CAiBjC;;;AACA,UAAIpJ,SAAS,CAACf,KAAd,EAAqB;AACjBiH,mBAAW,CAACpiC,OAAO,CAACmzB,IAAT,EAAeyJ,UAAf,EAA2B4I,UAA3B,EAAuC;AAC9CrK,eAAK,EAAE;AADuC,SAAvC,CAAX;AAGH,OAtBgC,CAwBjC;;;AACA,UAAIe,SAAS,CAACjE,IAAd,EAAoB;AAChB6E,sBAAc,CAACx0J,OAAf,CAAuB,UAASovJ,OAAT,EAAkBxiJ,KAAlB,EAAyB;AAC5C,cAAIwiJ,OAAO,KAAK,KAAZ,IAAqBxiJ,KAAK,KAAK,CAA/B,IAAoCA,KAAK,KAAK4nJ,cAAc,CAACz0J,MAAf,GAAwB,CAA1E,EAA6E;AACzE;AACH;;AAED,cAAIi+J,YAAY,GAAGzJ,aAAa,CAAC3nJ,KAAK,GAAG,CAAT,CAAhC;AACA,cAAIqxJ,WAAW,GAAG1J,aAAa,CAAC3nJ,KAAD,CAA/B;AACA,cAAIsxJ,YAAY,GAAG,CAAC9O,OAAD,CAAnB;AAEA3F,kBAAQ,CAAC2F,OAAD,EAAU91F,OAAO,CAACs1F,UAAR,CAAmBc,SAA7B,CAAR,CAT4C,CAW5C;AACA;AACA;AACA;;AACA,cAAIkE,SAAS,CAAChB,KAAd,EAAqB;AACjBsL,wBAAY,CAAC18J,IAAb,CAAkBw8J,YAAY,CAAC/iI,QAAb,CAAsB,CAAtB,CAAlB;AACAijI,wBAAY,CAAC18J,IAAb,CAAkBy8J,WAAW,CAAChjI,QAAZ,CAAqB,CAArB,CAAlB;AACH;;AAEDijI,sBAAY,CAACl+J,OAAb,CAAqB,UAASm+J,WAAT,EAAsB;AACvCrE,uBAAW,CAACpiC,OAAO,CAACj6F,KAAT,EAAgB0gI,WAAhB,EAA6BxB,UAA7B,EAAyC;AAChDlL,qBAAO,EAAE,CAACuM,YAAD,EAAeC,WAAf,CADuC;AAEhD1B,2BAAa,EAAE,CAAC3vJ,KAAK,GAAG,CAAT,EAAYA,KAAZ;AAFiC,aAAzC,CAAX;AAIH,WALD;AAMH,SA1BD;AA2BH;AACJ,KAp+B4C,CAs+B7C;;;AACA,aAASqqJ,SAAT,CAAmBmH,eAAnB,EAAoC74J,QAApC,EAA8C;AAC1CyvJ,kBAAY,CAACoJ,eAAD,CAAZ,GAAgCpJ,YAAY,CAACoJ,eAAD,CAAZ,IAAiC,EAAjE;AACApJ,kBAAY,CAACoJ,eAAD,CAAZ,CAA8B58J,IAA9B,CAAmC+D,QAAnC,EAF0C,CAI1C;;AACA,UAAI64J,eAAe,CAAC3+I,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,MAAkC,QAAtC,EAAgD;AAC5C80I,qBAAa,CAACv0J,OAAd,CAAsB,UAASohC,CAAT,EAAYx0B,KAAZ,EAAmB;AACrC8vJ,mBAAS,CAAC,QAAD,EAAW9vJ,KAAX,CAAT;AACH,SAFD;AAGH;AACJ;;AAED,aAASyxJ,mBAAT,CAA6BC,SAA7B,EAAwC;AACpC,aAAOA,SAAS,KAAK1N,iBAAiB,CAACE,IAAhC,IAAwCwN,SAAS,KAAK1N,iBAAiB,CAACC,QAA/E;AACH,KAr/B4C,CAu/B7C;;;AACA,aAASmG,WAAT,CAAqBoH,eAArB,EAAsC;AAClC,UAAIvjI,KAAK,GAAGujI,eAAe,IAAIA,eAAe,CAAC3+I,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,CAA/B;AACA,UAAI6+I,SAAS,GAAGzjI,KAAK,GAAGujI,eAAe,CAACj/I,SAAhB,CAA0B0b,KAAK,CAAC96B,MAAhC,CAAH,GAA6Cq+J,eAAlE;AAEA/3J,YAAM,CAAC+T,IAAP,CAAY46I,YAAZ,EAA0Bh1J,OAA1B,CAAkC,UAASo/I,IAAT,EAAe;AAC7C,YAAImf,MAAM,GAAGnf,IAAI,CAAC3/H,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAb;AACA,YAAI++I,UAAU,GAAGpf,IAAI,CAACjgI,SAAL,CAAeo/I,MAAM,CAACx+J,MAAtB,CAAjB;;AACA,YAAI,CAAC,CAAC86B,KAAD,IAAUA,KAAK,KAAK0jI,MAArB,MAAiC,CAACD,SAAD,IAAcA,SAAS,KAAKE,UAA7D,CAAJ,EAA8E;AAC1E;AACA,cAAI,CAACH,mBAAmB,CAACG,UAAD,CAApB,IAAoCF,SAAS,KAAKE,UAAtD,EAAkE;AAC9D,mBAAOxJ,YAAY,CAAC5V,IAAD,CAAnB;AACH;AACJ;AACJ,OATD;AAUH,KAtgC4C,CAwgC7C;;;AACA,aAASsd,SAAT,CAAmB50J,SAAnB,EAA8BiuJ,YAA9B,EAA4CnG,GAA5C,EAAiD;AAC7CvpJ,YAAM,CAAC+T,IAAP,CAAY46I,YAAZ,EAA0Bh1J,OAA1B,CAAkC,UAASm9J,WAAT,EAAsB;AACpD,YAAIsB,SAAS,GAAGtB,WAAW,CAAC19I,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAhB;;AAEA,YAAI3X,SAAS,KAAK22J,SAAlB,EAA6B;AACzBzJ,sBAAY,CAACmI,WAAD,CAAZ,CAA0Bn9J,OAA1B,CAAkC,UAASuF,QAAT,EAAmB;AACjDA,oBAAQ,CAACq/C,IAAT,EACI;AACAqwG,sBAFJ,EAGI;AACAL,wBAAY,CAACnwJ,GAAb,CAAiB60D,OAAO,CAACstD,MAAR,CAAeghC,EAAhC,CAJJ,EAKI;AACAmO,wBANJ,EAOI;AACAnB,wBAAY,CAACn2J,KAAb,EARJ,EASI;AACAmxJ,eAAG,IAAI,KAVX,EAWI;AACAiF,2BAAe,CAACp2J,KAAhB,EAZJ,EAaI;AACAw2J,sBAdJ;AAgBH,WAjBD;AAkBH;AACJ,OAvBD;AAwBH,KAliC4C,CAoiC7C;;;AACA,aAASqC,mBAAT,CAA6BjwI,SAA7B,EAAwC0uI,YAAxC,EAAsDnO,EAAtD,EAA0D8W,YAA1D,EAAwEC,WAAxE,EAAqFC,QAArF,EAA+F;AAC3F,UAAInxF,QAAJ,CAD2F,CAG3F;AACA;;AACA,UAAI8mF,aAAa,CAACx0J,MAAd,GAAuB,CAAvB,IAA4B,CAACu5D,OAAO,CAACyiB,MAAR,CAAe+2E,aAAhD,EAA+D;AAC3D,YAAI4L,YAAY,IAAI3I,YAAY,GAAG,CAAnC,EAAsC;AAClCtoF,kBAAQ,GAAGknF,cAAc,CAACnH,mBAAf,CAAmCnmI,SAAS,CAAC0uI,YAAY,GAAG,CAAhB,CAA5C,EAAgEz8F,OAAO,CAAC64F,MAAxE,EAAgF,CAAhF,CAAX;AACAvK,YAAE,GAAGjoH,IAAI,CAACC,GAAL,CAASgoH,EAAT,EAAan6E,QAAb,CAAL;AACH;;AAED,YAAIkxF,WAAW,IAAI5I,YAAY,GAAGxB,aAAa,CAACx0J,MAAd,GAAuB,CAAzD,EAA4D;AACxD0tE,kBAAQ,GAAGknF,cAAc,CAACnH,mBAAf,CAAmCnmI,SAAS,CAAC0uI,YAAY,GAAG,CAAhB,CAA5C,EAAgEz8F,OAAO,CAAC64F,MAAxE,EAAgF,CAAhF,CAAX;AACAvK,YAAE,GAAGjoH,IAAI,CAACiqH,GAAL,CAAShC,EAAT,EAAan6E,QAAb,CAAL;AACH;AACJ,OAf0F,CAiB3F;AACA;AACA;;;AACA,UAAI8mF,aAAa,CAACx0J,MAAd,GAAuB,CAAvB,IAA4Bu5D,OAAO,CAACmtC,KAAxC,EAA+C;AAC3C,YAAIi4D,YAAY,IAAI3I,YAAY,GAAG,CAAnC,EAAsC;AAClCtoF,kBAAQ,GAAGknF,cAAc,CAACnH,mBAAf,CAAmCnmI,SAAS,CAAC0uI,YAAY,GAAG,CAAhB,CAA5C,EAAgEz8F,OAAO,CAACmtC,KAAxE,EAA+E,CAA/E,CAAX;AACAmhD,YAAE,GAAGjoH,IAAI,CAACiqH,GAAL,CAAShC,EAAT,EAAan6E,QAAb,CAAL;AACH;;AAED,YAAIkxF,WAAW,IAAI5I,YAAY,GAAGxB,aAAa,CAACx0J,MAAd,GAAuB,CAAzD,EAA4D;AACxD0tE,kBAAQ,GAAGknF,cAAc,CAACnH,mBAAf,CAAmCnmI,SAAS,CAAC0uI,YAAY,GAAG,CAAhB,CAA5C,EAAgEz8F,OAAO,CAACmtC,KAAxE,EAA+E,CAA/E,CAAX;AACAmhD,YAAE,GAAGjoH,IAAI,CAACC,GAAL,CAASgoH,EAAT,EAAan6E,QAAb,CAAL;AACH;AACJ,OA9B0F,CAgC3F;AACA;;;AACA,UAAInU,OAAO,CAACg5F,OAAZ,EAAqB;AACjB,YAAIyD,YAAY,KAAK,CAArB,EAAwB;AACpBtoF,kBAAQ,GAAGknF,cAAc,CAACnH,mBAAf,CAAmC,CAAnC,EAAsCl0F,OAAO,CAACg5F,OAAR,CAAgB,CAAhB,CAAtC,EAA0D,CAA1D,CAAX;AACA1K,YAAE,GAAGjoH,IAAI,CAACC,GAAL,CAASgoH,EAAT,EAAan6E,QAAb,CAAL;AACH;;AAED,YAAIsoF,YAAY,KAAKxB,aAAa,CAACx0J,MAAd,GAAuB,CAA5C,EAA+C;AAC3C0tE,kBAAQ,GAAGknF,cAAc,CAACnH,mBAAf,CAAmC,GAAnC,EAAwCl0F,OAAO,CAACg5F,OAAR,CAAgB,CAAhB,CAAxC,EAA4D,CAA5D,CAAX;AACA1K,YAAE,GAAGjoH,IAAI,CAACiqH,GAAL,CAAShC,EAAT,EAAan6E,QAAb,CAAL;AACH;AACJ;;AAEDm6E,QAAE,GAAG+M,cAAc,CAACtI,OAAf,CAAuBzE,EAAvB,CAAL,CA9C2F,CAgD3F;;AACAA,QAAE,GAAGnhD,KAAK,CAACmhD,EAAD,CAAV,CAjD2F,CAmD3F;;AACA,UAAIA,EAAE,KAAKvgI,SAAS,CAAC0uI,YAAD,CAAhB,IAAkC,CAAC6I,QAAvC,EAAiD;AAC7C,eAAO,KAAP;AACH;;AAED,aAAOhX,EAAP;AACH,KA9lC4C,CAgmC7C;;;AACA,aAASiX,WAAT,CAAqB11F,CAArB,EAAwB/nC,CAAxB,EAA2B;AACvB,UAAIgM,CAAC,GAAGksB,OAAO,CAAC24F,GAAhB;AACA,aAAO,CAAC7kH,CAAC,GAAGhM,CAAH,GAAO+nC,CAAT,IAAc,IAAd,IAAsB/7B,CAAC,GAAG+7B,CAAH,GAAO/nC,CAA9B,CAAP;AACH,KApmC4C,CAsmC7C;AACA;;;AACA,aAASi7H,WAAT,CAAqByC,MAArB,EAA6B1D,QAA7B,EAAuCkB,SAAvC,EAAkDC,aAAlD,EAAiE;AAC7D,UAAIwC,SAAS,GAAGzC,SAAS,CAAC79J,KAAV,EAAhB;AAEA,UAAIsjC,CAAC,GAAG,CAAC,CAAC+8H,MAAF,EAAUA,MAAV,CAAR;AACA,UAAIhoJ,CAAC,GAAG,CAACgoJ,MAAD,EAAS,CAACA,MAAV,CAAR,CAJ6D,CAM7D;;AACAvC,mBAAa,GAAGA,aAAa,CAAC99J,KAAd,EAAhB,CAP6D,CAS7D;AACA;;AACA,UAAIqgK,MAAJ,EAAY;AACRvC,qBAAa,CAACtiD,OAAd;AACH,OAb4D,CAe7D;;;AACA,UAAIsiD,aAAa,CAACx8J,MAAd,GAAuB,CAA3B,EAA8B;AAC1Bw8J,qBAAa,CAACv8J,OAAd,CAAsB,UAAS+1J,YAAT,EAAuB3oH,CAAvB,EAA0B;AAC5C,cAAIw6G,EAAE,GAAG0P,mBAAmB,CACxByH,SADwB,EAExBhJ,YAFwB,EAGxBgJ,SAAS,CAAChJ,YAAD,CAAT,GAA0BqF,QAHF,EAIxBr5H,CAAC,CAACqL,CAAD,CAJuB,EAKxBt2B,CAAC,CAACs2B,CAAD,CALuB,EAMxB,KANwB,CAA5B,CAD4C,CAU5C;;AACA,cAAIw6G,EAAE,KAAK,KAAX,EAAkB;AACdwT,oBAAQ,GAAG,CAAX;AACH,WAFD,MAEO;AACHA,oBAAQ,GAAGxT,EAAE,GAAGmX,SAAS,CAAChJ,YAAD,CAAzB;AACAgJ,qBAAS,CAAChJ,YAAD,CAAT,GAA0BnO,EAA1B;AACH;AACJ,SAjBD;AAkBH,OAnBD,CAqBA;AArBA,WAsBK;AACD7lH,WAAC,GAAGjrB,CAAC,GAAG,CAAC,IAAD,CAAR;AACH;;AAED,UAAIwrD,KAAK,GAAG,KAAZ,CA1C6D,CA4C7D;;AACAi6F,mBAAa,CAACv8J,OAAd,CAAsB,UAAS+1J,YAAT,EAAuB3oH,CAAvB,EAA0B;AAC5Ck1B,aAAK,GAAG26F,SAAS,CAAClH,YAAD,EAAeuG,SAAS,CAACvG,YAAD,CAAT,GAA0BqF,QAAzC,EAAmDr5H,CAAC,CAACqL,CAAD,CAApD,EAAyDt2B,CAAC,CAACs2B,CAAD,CAA1D,CAAT,IAA2Ek1B,KAAnF;AACH,OAFD,EA7C6D,CAiD7D;;AACA,UAAIA,KAAJ,EAAW;AACPi6F,qBAAa,CAACv8J,OAAd,CAAsB,UAAS+1J,YAAT,EAAuB;AACzC2G,mBAAS,CAAC,QAAD,EAAW3G,YAAX,CAAT;AACA2G,mBAAS,CAAC,OAAD,EAAU3G,YAAV,CAAT;AACH,SAHD;AAIH;AACJ,KAhqC4C,CAkqC7C;AACA;AACA;AACA;;;AACA,aAASiJ,kBAAT,CAA4B59H,CAA5B,EAA+BW,CAA/B,EAAkC;AAC9B,aAAOu3B,OAAO,CAACxyD,GAAR,GAAc,MAAMs6B,CAAN,GAAUW,CAAxB,GAA4BX,CAAnC;AACH,KAxqC4C,CA0qC7C;;;AACA,aAAS69H,oBAAT,CAA8BlJ,YAA9B,EAA4CnO,EAA5C,EAAgD;AAC5C;AACAiN,qBAAe,CAACkB,YAAD,CAAf,GAAgCnO,EAAhC,CAF4C,CAI5C;;AACAgN,kBAAY,CAACmB,YAAD,CAAZ,GAA6BpB,cAAc,CAACvI,YAAf,CAA4BxE,EAA5B,CAA7B;AAEA,UAAIsX,WAAW,GAAG,MAAMF,kBAAkB,CAACpX,EAAD,EAAK,CAAL,CAAlB,GAA4B6N,eAAlC,CAAlB;AACA,UAAI0J,aAAa,GAAG,eAAeN,WAAW,CAACK,WAAW,GAAG,GAAf,EAAoB,GAApB,CAA1B,GAAqD,GAAzE;AAEA3K,mBAAa,CAACwB,YAAD,CAAb,CAA4B9+F,KAA5B,CAAkCqC,OAAO,CAAC46F,aAA1C,IAA2DiL,aAA3D;AAEAC,mBAAa,CAACrJ,YAAD,CAAb;AACAqJ,mBAAa,CAACrJ,YAAY,GAAG,CAAhB,CAAb;AACH,KAzrC4C,CA2rC7C;AACA;AACA;;;AACA,aAAS0G,SAAT,GAAqB;AACjB3H,yBAAmB,CAAC90J,OAApB,CAA4B,UAAS+1J,YAAT,EAAuB;AAC/C,YAAIjvJ,GAAG,GAAG+tJ,eAAe,CAACkB,YAAD,CAAf,GAAgC,EAAhC,GAAqC,CAAC,CAAtC,GAA0C,CAApD;AACA,YAAIsJ,MAAM,GAAG,KAAK9K,aAAa,CAACx0J,MAAd,GAAuB+G,GAAG,GAAGivJ,YAAlC,CAAb;AACAxB,qBAAa,CAACwB,YAAD,CAAb,CAA4B9+F,KAA5B,CAAkCooG,MAAlC,GAA2CA,MAA3C;AACH,OAJD;AAKH,KApsC4C,CAssC7C;AACA;;;AACA,aAASpC,SAAT,CAAmBlH,YAAnB,EAAiCnO,EAAjC,EAAqC8W,YAArC,EAAmDC,WAAnD,EAAgEW,UAAhE,EAA4E;AACxE,UAAI,CAACA,UAAL,EAAiB;AACb1X,UAAE,GAAG0P,mBAAmB,CAACzC,eAAD,EAAkBkB,YAAlB,EAAgCnO,EAAhC,EAAoC8W,YAApC,EAAkDC,WAAlD,EAA+D,KAA/D,CAAxB;AACH;;AAED,UAAI/W,EAAE,KAAK,KAAX,EAAkB;AACd,eAAO,KAAP;AACH;;AAEDqX,0BAAoB,CAAClJ,YAAD,EAAenO,EAAf,CAApB;AAEA,aAAO,IAAP;AACH,KAptC4C,CAstC7C;;;AACA,aAASwX,aAAT,CAAuBxyJ,KAAvB,EAA8B;AAC1B;AACA,UAAI,CAAC4nJ,cAAc,CAAC5nJ,KAAD,CAAnB,EAA4B;AACxB;AACH;;AAED,UAAIs3B,CAAC,GAAG,CAAR;AACA,UAAIC,CAAC,GAAG,GAAR;;AAEA,UAAIv3B,KAAK,KAAK,CAAd,EAAiB;AACbs3B,SAAC,GAAG2wH,eAAe,CAACjoJ,KAAK,GAAG,CAAT,CAAnB;AACH;;AAED,UAAIA,KAAK,KAAK4nJ,cAAc,CAACz0J,MAAf,GAAwB,CAAtC,EAAyC;AACrCokC,SAAC,GAAG0wH,eAAe,CAACjoJ,KAAD,CAAnB;AACH,OAfyB,CAiB1B;AACA;AACA;AACA;;;AACA,UAAI2yJ,YAAY,GAAGp7H,CAAC,GAAGD,CAAvB;AACA,UAAIi7H,aAAa,GAAG,eAAeN,WAAW,CAACG,kBAAkB,CAAC96H,CAAD,EAAIq7H,YAAJ,CAAlB,GAAsC,GAAvC,EAA4C,GAA5C,CAA1B,GAA6E,GAAjG;AACA,UAAIC,SAAS,GAAG,WAAWX,WAAW,CAACU,YAAY,GAAG,GAAhB,EAAqB,GAArB,CAAtB,GAAkD,GAAlE;AAEA/K,oBAAc,CAAC5nJ,KAAD,CAAd,CAAsBqqD,KAAtB,CAA4BqC,OAAO,CAAC46F,aAApC,IAAqDiL,aAAa,GAAG,GAAhB,GAAsBK,SAA3E;AACH,KAjvC4C,CAmvC7C;;;AACA,aAASC,cAAT,CAAwB7X,EAAxB,EAA4BmO,YAA5B,EAA0C;AACtC;AACA;AACA,UAAInO,EAAE,KAAK,IAAP,IAAeA,EAAE,KAAK,KAAtB,IAA+BA,EAAE,KAAK5hJ,SAA1C,EAAqD;AACjD,eAAO6uJ,eAAe,CAACkB,YAAD,CAAtB;AACH,OALqC,CAOtC;;;AACA,UAAI,OAAOnO,EAAP,KAAc,QAAlB,EAA4B;AACxBA,UAAE,GAAGh8I,MAAM,CAACg8I,EAAD,CAAX;AACH;;AAEDA,QAAE,GAAGtuF,OAAO,CAACstD,MAAR,CAAe5zE,IAAf,CAAoB40G,EAApB,CAAL;AACAA,QAAE,GAAG+M,cAAc,CAAC5I,UAAf,CAA0BnE,EAA1B,CAAL,CAbsC,CAetC;;AACA,UAAIA,EAAE,KAAK,KAAP,IAAgBtkF,KAAK,CAACskF,EAAD,CAAzB,EAA+B;AAC3B,eAAOiN,eAAe,CAACkB,YAAD,CAAtB;AACH;;AAED,aAAOnO,EAAP;AACH,KAzwC4C,CA2wC7C;;;AACA,aAAS8X,QAAT,CAAkB1jJ,KAAlB,EAAyB2jJ,YAAzB,EAAuCL,UAAvC,EAAmD;AAC/C,UAAIt2J,MAAM,GAAG6gJ,OAAO,CAAC7tI,KAAD,CAApB;AACA,UAAI4jJ,MAAM,GAAG/K,eAAe,CAAC,CAAD,CAAf,KAAuB7uJ,SAApC,CAF+C,CAI/C;;AACA25J,kBAAY,GAAGA,YAAY,KAAK35J,SAAjB,GAA6B,IAA7B,GAAoC,CAAC,CAAC25J,YAArD,CAL+C,CAO/C;AACA;;AACA,UAAIrmG,OAAO,CAACs4F,OAAR,IAAmB,CAACgO,MAAxB,EAAgC;AAC5BrW,mBAAW,CAAC8K,YAAD,EAAe/6F,OAAO,CAACs1F,UAAR,CAAmBgB,GAAlC,EAAuCt2F,OAAO,CAACw4F,iBAA/C,CAAX;AACH,OAX8C,CAa/C;;;AACAgD,yBAAmB,CAAC90J,OAApB,CAA4B,UAAS+1J,YAAT,EAAuB;AAC/CkH,iBAAS,CAAClH,YAAD,EAAe0J,cAAc,CAACz2J,MAAM,CAAC+sJ,YAAD,CAAP,EAAuBA,YAAvB,CAA7B,EAAmE,IAAnE,EAAyE,KAAzE,EAAgFuJ,UAAhF,CAAT;AACH,OAFD;AAIA,UAAIl+J,CAAC,GAAG0zJ,mBAAmB,CAAC/0J,MAApB,KAA+B,CAA/B,GAAmC,CAAnC,GAAuC,CAA/C,CAlB+C,CAoB/C;AACA;;AACA,aAAOqB,CAAC,GAAG0zJ,mBAAmB,CAAC/0J,MAA/B,EAAuC,EAAEqB,CAAzC,EAA4C;AACxC0zJ,2BAAmB,CAAC90J,OAApB,CAA4B,UAAS+1J,YAAT,EAAuB;AAC/CkH,mBAAS,CAAClH,YAAD,EAAelB,eAAe,CAACkB,YAAD,CAA9B,EAA8C,IAA9C,EAAoD,IAApD,EAA0DuJ,UAA1D,CAAT;AACH,SAFD;AAGH;;AAED7C,eAAS;AAET3H,yBAAmB,CAAC90J,OAApB,CAA4B,UAAS+1J,YAAT,EAAuB;AAC/C2G,iBAAS,CAAC,QAAD,EAAW3G,YAAX,CAAT,CAD+C,CAG/C;;AACA,YAAI/sJ,MAAM,CAAC+sJ,YAAD,CAAN,KAAyB,IAAzB,IAAiC4J,YAArC,EAAmD;AAC/CjD,mBAAS,CAAC,KAAD,EAAQ3G,YAAR,CAAT;AACH;AACJ,OAPD;AAQH,KAlzC4C,CAozC7C;;;AACA,aAAS8J,UAAT,CAAoBF,YAApB,EAAkC;AAC9BD,cAAQ,CAACpmG,OAAO,CAAC77B,KAAT,EAAgBkiI,YAAhB,CAAR;AACH,KAvzC4C,CAyzC7C;;;AACA,aAASG,cAAT,CAAwB/J,YAAxB,EAAsCr0J,KAAtC,EAA6Ci+J,YAA7C,EAA2DL,UAA3D,EAAuE;AACnE;AACAvJ,kBAAY,GAAGrqJ,MAAM,CAACqqJ,YAAD,CAArB;;AAEA,UAAI,EAAEA,YAAY,IAAI,CAAhB,IAAqBA,YAAY,GAAGjB,mBAAmB,CAAC/0J,MAA1D,CAAJ,EAAuE;AACnE,cAAM,IAAIvB,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,iCAA3B,GAA+D4jH,YAAzE,CAAN;AACH,OANkE,CAQnE;AACA;;;AACAkH,eAAS,CAAClH,YAAD,EAAe0J,cAAc,CAAC/9J,KAAD,EAAQq0J,YAAR,CAA7B,EAAoD,IAApD,EAA0D,IAA1D,EAAgEuJ,UAAhE,CAAT;AAEA5C,eAAS,CAAC,QAAD,EAAW3G,YAAX,CAAT;;AAEA,UAAI4J,YAAJ,EAAkB;AACdjD,iBAAS,CAAC,KAAD,EAAQ3G,YAAR,CAAT;AACH;AACJ,KA30C4C,CA60C7C;;;AACA,aAASgK,QAAT,GAAoB;AAChB,UAAI/2J,MAAM,GAAG4rJ,YAAY,CAACnwJ,GAAb,CAAiB60D,OAAO,CAACstD,MAAR,CAAeghC,EAAhC,CAAb,CADgB,CAGhB;;AACA,UAAI5+I,MAAM,CAACjJ,MAAP,KAAkB,CAAtB,EAAyB;AACrB,eAAOiJ,MAAM,CAAC,CAAD,CAAb;AACH;;AAED,aAAOA,MAAP;AACH,KAv1C4C,CAy1C7C;;;AACA,aAASg3J,OAAT,GAAmB;AACf;AACAhJ,iBAAW,CAACpG,iBAAiB,CAACE,IAAnB,CAAX;AACAkG,iBAAW,CAACpG,iBAAiB,CAACC,QAAnB,CAAX;;AAEA,WAAK,IAAIj8I,GAAT,IAAgB0kD,OAAO,CAACs1F,UAAxB,EAAoC;AAChC,YAAI,CAACt1F,OAAO,CAACs1F,UAAR,CAAmBvvI,cAAnB,CAAkCzK,GAAlC,CAAL,EAA6C;AACzC;AACH;;AACD+0I,mBAAW,CAAC0K,YAAD,EAAe/6F,OAAO,CAACs1F,UAAR,CAAmBh6I,GAAnB,CAAf,CAAX;AACH;;AAED,aAAOy/I,YAAY,CAACqC,UAApB,EAAgC;AAC5BrC,oBAAY,CAACvM,WAAb,CAAyBuM,YAAY,CAACqC,UAAtC;AACH;;AAED,aAAOrC,YAAY,CAAC4L,UAApB;AACH;;AAED,aAASnC,qBAAT,CAA+B/H,YAA/B,EAA6C;AACzC,UAAI1xG,QAAQ,GAAGwwG,eAAe,CAACkB,YAAD,CAA9B;AACA,UAAImK,WAAW,GAAGvL,cAAc,CAACvG,cAAf,CAA8B/pG,QAA9B,CAAlB;AACA,UAAI3iD,KAAK,GAAGkzJ,YAAY,CAACmB,YAAD,CAAxB;AACA,UAAIiC,SAAS,GAAGkI,WAAW,CAAC3R,QAAZ,CAAqBrB,IAArC;AACA,UAAIiT,SAAS,GAAG,IAAhB,CALyC,CAOzC;;AACA,UAAI7mG,OAAO,CAACizF,IAAZ,EAAkB;AACd,eAAO,CACH7qJ,KAAK,GAAGw+J,WAAW,CAAC7R,UAAZ,CAAuBC,UAA/B,IAA6C,IAD1C,EAEH4R,WAAW,CAAC1R,SAAZ,CAAsBF,UAAtB,GAAmC5sJ,KAAnC,IAA4C,IAFzC,CAAP;AAIH,OAbwC,CAezC;AACA;;;AACA,UAAIs2J,SAAS,KAAK,KAAlB,EAAyB;AACrB,YAAIt2J,KAAK,GAAGs2J,SAAR,GAAoBkI,WAAW,CAAC1R,SAAZ,CAAsBF,UAA9C,EAA0D;AACtD0J,mBAAS,GAAGkI,WAAW,CAAC1R,SAAZ,CAAsBF,UAAtB,GAAmC5sJ,KAA/C;AACH;AACJ,OArBwC,CAuBzC;;;AACA,UAAIA,KAAK,GAAGw+J,WAAW,CAAC3R,QAAZ,CAAqBD,UAAjC,EAA6C;AACzC6R,iBAAS,GAAGD,WAAW,CAAC3R,QAAZ,CAAqBrB,IAAjC;AACH,OAFD,MAEO,IAAIgT,WAAW,CAAC7R,UAAZ,CAAuBnB,IAAvB,KAAgC,KAApC,EAA2C;AAC9CiT,iBAAS,GAAG,KAAZ;AACH,OAFM,CAIP;AAJO,WAKF;AACDA,mBAAS,GAAGz+J,KAAK,GAAGw+J,WAAW,CAAC7R,UAAZ,CAAuBtB,WAA3C;AACH,SAjCwC,CAmCzC;;;AACA,UAAI1oG,QAAQ,KAAK,GAAjB,EAAsB;AAClB2zG,iBAAS,GAAG,IAAZ;AACH,OAFD,MAEO,IAAI3zG,QAAQ,KAAK,CAAjB,EAAoB;AACvB87G,iBAAS,GAAG,IAAZ;AACH,OAxCwC,CA0CzC;;;AACA,UAAIzR,YAAY,GAAGiG,cAAc,CAAClG,iBAAf,EAAnB,CA3CyC,CA6CzC;;AACA,UAAIuJ,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAK,KAAxC,EAA+C;AAC3CA,iBAAS,GAAGtsJ,MAAM,CAACssJ,SAAS,CAAC/K,OAAV,CAAkByB,YAAlB,CAAD,CAAlB;AACH;;AAED,UAAIyR,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAK,KAAxC,EAA+C;AAC3CA,iBAAS,GAAGz0J,MAAM,CAACy0J,SAAS,CAAClT,OAAV,CAAkByB,YAAlB,CAAD,CAAlB;AACH;;AAED,aAAO,CAACyR,SAAD,EAAYnI,SAAZ,CAAP;AACH,KAp6C4C,CAs6C7C;;;AACA,aAASoI,YAAT,GAAwB;AACpB,aAAOtL,mBAAmB,CAACrwJ,GAApB,CAAwBq5J,qBAAxB,CAAP;AACH,KAz6C4C,CA26C7C;;;AACA,aAASuC,aAAT,CAAuBC,eAAvB,EAAwCX,YAAxC,EAAsD;AAClD;AACA;AACA;AACA,UAAIx2F,CAAC,GAAG42F,QAAQ,EAAhB;AAEA,UAAIQ,UAAU,GAAG,CACb,QADa,EAEb,OAFa,EAGb,SAHa,EAIb,OAJa,EAKb,SALa,EAMb,MANa,EAOb,MAPa,EAQb,QARa,EASb,MATa,EAUb,UAVa,CAAjB,CANkD,CAmBlD;;AACAA,gBAAU,CAACvgK,OAAX,CAAmB,UAASC,IAAT,EAAe;AAC9B;AACA,YAAIqgK,eAAe,CAACrgK,IAAD,CAAf,KAA0B+F,SAA9B,EAAyC;AACrCmuJ,yBAAe,CAACl0J,IAAD,CAAf,GAAwBqgK,eAAe,CAACrgK,IAAD,CAAvC;AACH;AACJ,OALD;AAOA,UAAIugK,UAAU,GAAG9M,WAAW,CAACS,eAAD,CAA5B,CA3BkD,CA6BlD;;AACAoM,gBAAU,CAACvgK,OAAX,CAAmB,UAASC,IAAT,EAAe;AAC9B,YAAIqgK,eAAe,CAACrgK,IAAD,CAAf,KAA0B+F,SAA9B,EAAyC;AACrCszD,iBAAO,CAACr5D,IAAD,CAAP,GAAgBugK,UAAU,CAACvgK,IAAD,CAA1B;AACH;AACJ,OAJD;AAMA00J,oBAAc,GAAG6L,UAAU,CAACjP,QAA5B,CApCkD,CAsClD;;AACAj4F,aAAO,CAAC64F,MAAR,GAAiBqO,UAAU,CAACrO,MAA5B;AACA74F,aAAO,CAACmtC,KAAR,GAAgB+5D,UAAU,CAAC/5D,KAA3B;AACAntC,aAAO,CAACg5F,OAAR,GAAkBkO,UAAU,CAAClO,OAA7B,CAzCkD,CA2ClD;;AACA,UAAIh5F,OAAO,CAACy2F,IAAZ,EAAkB;AACdA,YAAI,CAACz2F,OAAO,CAACy2F,IAAT,CAAJ;AACH,OAFD,MAEO;AACHyJ,kBAAU;AACb,OAhDiD,CAkDlD;;;AACA,UAAIlgG,OAAO,CAACu3F,QAAZ,EAAsB;AAClBA,gBAAQ;AACX,OAFD,MAEO;AACHkG,sBAAc;AACjB,OAvDiD,CAyDlD;;;AACAlC,qBAAe,GAAG,EAAlB;AACA6K,cAAQ,CAACY,eAAe,CAAC7iI,KAAhB,IAAyB0rC,CAA1B,EAA6Bw2F,YAA7B,CAAR;AACH,KAx+C4C,CA0+C7C;;;AACA,aAASc,WAAT,GAAuB;AACnB;AACA;AACAnM,gBAAU,GAAGgC,SAAS,CAACjC,YAAD,CAAtB;AAEA8B,iBAAW,CAAC78F,OAAO,CAAC81F,OAAT,EAAkBkF,UAAlB,CAAX,CALmB,CAOnB;;AACAyJ,sBAAgB,CAACzkG,OAAO,CAACyiB,MAAT,CAAhB,CARmB,CAUnB;;AACA2jF,cAAQ,CAACpmG,OAAO,CAAC77B,KAAT,CAAR;;AAEA,UAAI67B,OAAO,CAACy2F,IAAZ,EAAkB;AACdA,YAAI,CAACz2F,OAAO,CAACy2F,IAAT,CAAJ;AACH;;AAED,UAAIz2F,OAAO,CAACu3F,QAAZ,EAAsB;AAClBA,gBAAQ;AACX;;AAEDC,UAAI;AACP;;AAED2P,eAAW,GAngDkC,CAqgD7C;;AACAxL,cAAU,GAAG;AACT+K,aAAO,EAAEA,OADA;AAETtH,WAAK,EAAE0H,YAFE;AAGTM,QAAE,EAAEzJ,SAHK;AAIT0J,SAAG,EAAE3J,WAJI;AAKT3yJ,SAAG,EAAE07J,QALI;AAMTz7J,SAAG,EAAEo7J,QANI;AAOTzC,eAAS,EAAE6C,cAPF;AAQTc,WAAK,EAAEf,UARE;AAST;AACAgB,mBAAa,EAAE,uBAASz/H,CAAT,EAAYW,CAAZ,EAAe76B,CAAf,EAAkB;AAC7Bm1J,mBAAW,CAACj7H,CAAD,EAAIW,CAAJ,EAAO8yH,eAAP,EAAwB3tJ,CAAxB,CAAX;AACH,OAZQ;AAaToyD,aAAO,EAAE66F,eAbA;AAaiB;AAC1BkM,mBAAa,EAAEA,aAdN;AAeT3lI,YAAM,EAAE25H,YAfC;AAea;AACtBmF,gBAAU,EAAEA,UAhBH;AAiBTzC,oBAAc,EAAEA,cAjBP;AAkBT+J,iBAAW,EAAE,uBAAW;AACpB,eAAOpM,cAAP;AACH,OApBQ;AAqBTqM,gBAAU,EAAE,sBAAW;AACnB,eAAOxM,aAAP;AACH,OAvBQ;AAwBTxE,UAAI,EAAEA,IAxBG,CAwBE;;AAxBF,KAAb;AA2BA,WAAOkF,UAAP;AACH,GAxlFS,CA0lFV;;;AACA,WAAS+L,UAAT,CAAoBtmI,MAApB,EAA4By5H,eAA5B,EAA6C;AACzC,QAAI,CAACz5H,MAAD,IAAW,CAACA,MAAM,CAACg9C,QAAvB,EAAiC;AAC7B,YAAM,IAAIl5E,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,4CAA3B,GAA0EzX,MAApF,CAAN;AACH,KAHwC,CAKzC;;;AACA,QAAIA,MAAM,CAACulI,UAAX,EAAuB;AACnB,YAAM,IAAIzhK,KAAJ,CAAU,iBAAiB2zC,OAAjB,GAA2B,oCAArC,CAAN;AACH,KARwC,CAUzC;;;AACA,QAAImnB,OAAO,GAAGo6F,WAAW,CAACS,eAAD,EAAkBz5H,MAAlB,CAAzB;AACA,QAAIumI,GAAG,GAAGnjE,KAAK,CAACpjE,MAAD,EAAS4+B,OAAT,EAAkB66F,eAAlB,CAAf;AAEAz5H,UAAM,CAACulI,UAAP,GAAoBgB,GAApB;AAEA,WAAOA,GAAP;AACH,GA5mFS,CA8mFV;;;AACA,SAAO;AACH;AACAC,cAAU,EAAE/T,QAFT;AAGHvlH,WAAO,EAAEuK,OAHN;AAIH;AACA;AACAy8G,cAAU,EAAEA,UANT;AAOH30I,UAAM,EAAE+mJ;AAPL,GAAP;AASH,CAnoFD,E;;;;;;;;;;;;ACDA;AAAA;AAAA;AAAA;AAOM,SAAU,YAAV,CAA0B,GAA1B,EAAkC;AACtC,SAAO,CAAC,CAAC,GAAF,KAAU,GAAG,YAAY,sDAAf,IAA8B,OAAO,GAAG,CAAC,IAAX,KAAoB,UAApB,IAAkC,OAAO,GAAG,CAAC,SAAX,KAAyB,UAAnG,CAAP;AACD,C;;;;;;;;;;;;ACTD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAaM,SAAU,SAAV,CAAuB,KAAvB,EAAkD,SAAlD,EAA0E;AAC9E,MAAI,KAAK,IAAI,IAAb,EAAmB;AACjB,QAAI,qFAAmB,CAAC,KAAD,CAAvB,EAAgC;AAC9B,aAAO,8EAAkB,CAAC,KAAD,EAAQ,SAAR,CAAzB;AACD,KAFD,MAEO,IAAI,iEAAS,CAAC,KAAD,CAAb,EAAsB;AAC3B,aAAO,wEAAe,CAAC,KAAD,EAAQ,SAAR,CAAtB;AACD,KAFM,MAEA,IAAI,qEAAW,CAAC,KAAD,CAAf,EAAwB;AAC7B,aAAO,oEAAa,CAAC,KAAD,EAAQ,SAAR,CAApB;AACD,KAFM,MAEC,IAAI,mEAAU,CAAC,KAAD,CAAV,IAAqB,OAAO,KAAP,KAAiB,QAA1C,EAAoD;AAC1D,aAAO,0EAAgB,CAAC,KAAD,EAAQ,SAAR,CAAvB;AACD;AACF;;AAED,QAAM,IAAI,SAAJ,CAAc,CAAC,KAAK,KAAK,IAAV,IAAkB,OAAO,KAAzB,IAAkC,KAAnC,IAA4C,oBAA1D,CAAN;AACD,C;;;;;;;;;;;;ACnCD;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAoCO,IAAM,aAAa,GAAG,IAAI,4DAAJ,CAAkB,sDAAlB,CAAtB;AAKA,IAAM,IAAI,GAAG,aAAb,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1CP;AACA;AAEA;AACA;AACA;AACA;AAYA,IAAa,UAAb;AAAA,EAAE;;AAAF;;AAuCE,sBAAY,iBAAZ,EACY,KADZ,EAEY,QAFZ,EAEiC;AAAA;;AAAA;;AAC/B;AAlBe,2BAAsB,IAAtB;AACA,4BAA2B,KAA3B;AACA,+BAA8B,KAA9B;AAEP,sBAAqB,KAArB;;AAgBR,YAAQ,SAAS,CAAC,MAAlB;AACE,WAAK,CAAL;AACE,cAAK,WAAL,GAAmB,+CAAnB;AACA;;AACF,WAAK,CAAL;AACE,YAAI,CAAC,iBAAL,EAAwB;AACtB,gBAAK,WAAL,GAAmB,+CAAnB;AACA;AACD;;AACD,YAAI,OAAO,iBAAP,KAA6B,QAAjC,EAA2C;AACzC,cAAI,iBAAiB,YAAY,UAAjC,EAA6C;AAC3C,kBAAK,kBAAL,GAA0B,iBAAiB,CAAC,kBAA5C;AACA,kBAAK,WAAL,GAAmB,iBAAnB;AACA,6BAAiB,CAAC,GAAlB;AACD,WAJD,MAIO;AACL,kBAAK,kBAAL,GAA0B,IAA1B;AACA,kBAAK,WAAL,GAAmB,IAAI,cAAJ,+JAAmD,iBAAnD,CAAnB;AACD;;AACD;AACD;;AACH;AACE,cAAK,kBAAL,GAA0B,IAA1B;AACA,cAAK,WAAL,GAAmB,IAAI,cAAJ,+JAAmD,iBAAnD,EAAsE,KAAtE,EAA6E,QAA7E,CAAnB;AACA;AAvBJ;;AAH+B;AA4BhC;;AArEH,EAAE;AAAF,SAEG,2EAFH;AAAA,WAEE,iBAAoB;AAAK,aAAO,IAAP;AAAc;AAFzC;AAAA;AAAA,WA8EE,cAAK,KAAL,EAAc;AACZ,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,aAAK,KAAL,CAAW,KAAX;AACD;AACF;AAlFH;AAAA;AAAA,WA2FE,eAAM,GAAN,EAAe;AACb,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,aAAK,SAAL,GAAiB,IAAjB;;AACA,aAAK,MAAL,CAAY,GAAZ;AACD;AACF;AAhGH;AAAA;AAAA,WAwGE,oBAAQ;AACN,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,aAAK,SAAL,GAAiB,IAAjB;;AACA,aAAK,SAAL;AACD;AACF;AA7GH;AAAA;AAAA,WA+GE,uBAAW;AACT,UAAI,KAAK,MAAT,EAAiB;AACf;AACD;;AACD,WAAK,SAAL,GAAiB,IAAjB;;AACA,MAAM;AACP;AArHH;AAAA;AAAA,WAuHY,eAAM,KAAN,EAAc;AACtB,WAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAtB;AACD;AAzHH;AAAA;AAAA,WA2HY,gBAAO,GAAP,EAAe;AACvB,WAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACA,WAAK,WAAL;AACD;AA9HH;AAAA;AAAA,WAgIY,qBAAS;AACjB,WAAK,WAAL,CAAiB,QAAjB;AACA,WAAK,WAAL;AACD;AAnIH;AAAA;AAAA,WAsIE,kCAAsB;AACpB,UAAS,gBAAT,GAA8B,IAA9B,CAAS,gBAAT;AACA,WAAK,gBAAL,GAAwB,IAAxB;AACA,WAAK,WAAL;AACA,WAAK,MAAL,GAAc,KAAd;AACA,WAAK,SAAL,GAAiB,KAAjB;AACA,WAAK,gBAAL,GAAwB,gBAAxB;AACA,aAAO,IAAP;AACD;AA9IH;AAAA;AAAA,WAgBE,gBAAiB,IAAjB,EACiB,KADjB,EAEiB,QAFjB,EAEsC;AACpC,UAAM,UAAU,GAAG,IAAI,UAAJ,CAAe,IAAf,EAAqB,KAArB,EAA4B,QAA5B,CAAnB;AACA,gBAAU,CAAC,kBAAX,GAAgC,KAAhC;AACA,aAAO,UAAP;AACD;AAtBH;;AAAA;AAAA,EAAmC,0DAAnC;AAsJA,IAAa,cAAb;AAAA,EAAE;;AAAF;;AAIE,0BAAoB,iBAApB,EACY,cADZ,EAEY,KAFZ,EAGY,QAHZ,EAGiC;AAAA;;AAAA;;AAC/B;AAJkB;AAMlB,QAAI,IAAJ;;AACA,QAAI,OAAO,gKAAX;;AAEA,QAAI,mEAAU,CAAC,cAAD,CAAd,EAAgC;AAC9B,UAAI,GAA2B,cAA/B;AACD,KAFD,MAEO,IAAI,cAAJ,EAAoB;AACzB,UAAI,GAAyB,cAAe,CAAC,IAA7C;AACA,WAAK,GAAyB,cAAe,CAAC,KAA9C;AACA,cAAQ,GAAyB,cAAe,CAAC,QAAjD;;AACA,UAAI,cAAc,KAAK,+CAAvB,EAAsC;AACpC,eAAO,GAAG,MAAM,CAAC,MAAP,CAAc,cAAd,CAAV;;AACA,YAAI,mEAAU,CAAC,OAAO,CAAC,WAAT,CAAd,EAAqC;AACnC,iBAAK,GAAL,CAAsB,OAAO,CAAC,WAAR,CAAoB,IAApB,CAAyB,OAAzB,CAAtB;AACD;;AACD,eAAO,CAAC,WAAR,GAAsB,OAAK,WAAL,CAAiB,IAAjB,+JAAtB;AACD;AACF;;AAED,WAAK,QAAL,GAAgB,OAAhB;AACA,WAAK,KAAL,GAAa,IAAb;AACA,WAAK,MAAL,GAAc,KAAd;AACA,WAAK,SAAL,GAAiB,QAAjB;AAxB+B;AAyBhC;;AAhCH,EAAE;AAAF;AAAA,WAkCE,cAAK,KAAL,EAAc;AACZ,UAAI,CAAC,KAAK,SAAN,IAAmB,KAAK,KAA5B,EAAmC;AACjC,YAAQ,iBAAR,GAA8B,IAA9B,CAAQ,iBAAR;;AACA,YAAI,CAAC,+CAAM,CAAC,qCAAR,IAAiD,CAAC,iBAAiB,CAAC,kBAAxE,EAA4F;AAC1F,eAAK,YAAL,CAAkB,KAAK,KAAvB,EAA8B,KAA9B;AACD,SAFD,MAEO,IAAI,KAAK,eAAL,CAAqB,iBAArB,EAAwC,KAAK,KAA7C,EAAoD,KAApD,CAAJ,EAAgE;AACrE,eAAK,WAAL;AACD;AACF;AACF;AA3CH;AAAA;AAAA,WA6CE,eAAM,GAAN,EAAe;AACb,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,YAAQ,iBAAR,GAA8B,IAA9B,CAAQ,iBAAR;AACA,YAAQ,qCAAR,GAAkD,+CAAlD,CAAQ,qCAAR;;AACA,YAAI,KAAK,MAAT,EAAiB;AACf,cAAI,CAAC,qCAAD,IAA0C,CAAC,iBAAiB,CAAC,kBAAjE,EAAqF;AACnF,iBAAK,YAAL,CAAkB,KAAK,MAAvB,EAA+B,GAA/B;;AACA,iBAAK,WAAL;AACD,WAHD,MAGO;AACL,iBAAK,eAAL,CAAqB,iBAArB,EAAwC,KAAK,MAA7C,EAAqD,GAArD;;AACA,iBAAK,WAAL;AACD;AACF,SARD,MAQO,IAAI,CAAC,iBAAiB,CAAC,kBAAvB,EAA2C;AAChD,eAAK,WAAL;;AACA,cAAI,qCAAJ,EAA2C;AACzC,kBAAM,GAAN;AACD;;AACD,wFAAe,CAAC,GAAD,CAAf;AACD,SANM,MAMA;AACL,cAAI,qCAAJ,EAA2C;AACzC,6BAAiB,CAAC,cAAlB,GAAmC,GAAnC;AACA,6BAAiB,CAAC,eAAlB,GAAoC,IAApC;AACD,WAHD,MAGO;AACL,0FAAe,CAAC,GAAD,CAAf;AACD;;AACD,eAAK,WAAL;AACD;AACF;AACF;AAzEH;AAAA;AAAA,WA2EE,oBAAQ;AAAA;;AACN,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,YAAQ,iBAAR,GAA8B,IAA9B,CAAQ,iBAAR;;AACA,YAAI,KAAK,SAAT,EAAoB;AAClB,cAAM,eAAe,GAAG,SAAlB,eAAkB;AAAA,mBAAM,MAAI,CAAC,SAAL,CAAe,IAAf,CAAoB,MAAI,CAAC,QAAzB,CAAN;AAAA,WAAxB;;AAEA,cAAI,CAAC,+CAAM,CAAC,qCAAR,IAAiD,CAAC,iBAAiB,CAAC,kBAAxE,EAA4F;AAC1F,iBAAK,YAAL,CAAkB,eAAlB;;AACA,iBAAK,WAAL;AACD,WAHD,MAGO;AACL,iBAAK,eAAL,CAAqB,iBAArB,EAAwC,eAAxC;;AACA,iBAAK,WAAL;AACD;AACF,SAVD,MAUO;AACL,eAAK,WAAL;AACD;AACF;AACF;AA5FH;AAAA;AAAA,WA8FU,sBAAa,EAAb,EAA2B,KAA3B,EAAsC;AAC5C,UAAI;AACF,UAAE,CAAC,IAAH,CAAQ,KAAK,QAAb,EAAuB,KAAvB;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL;;AACA,YAAI,+CAAM,CAAC,qCAAX,EAAkD;AAChD,gBAAM,GAAN;AACD,SAFD,MAEO;AACL,wFAAe,CAAC,GAAD,CAAf;AACD;AACF;AACF;AAzGH;AAAA;AAAA,WA2GU,yBAAgB,MAAhB,EAAuC,EAAvC,EAAqD,KAArD,EAAgE;AACtE,UAAI,CAAC,+CAAM,CAAC,qCAAZ,EAAmD;AACjD,cAAM,IAAI,KAAJ,CAAU,UAAV,CAAN;AACD;;AACD,UAAI;AACF,UAAE,CAAC,IAAH,CAAQ,KAAK,QAAb,EAAuB,KAAvB;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,YAAI,+CAAM,CAAC,qCAAX,EAAkD;AAChD,gBAAM,CAAC,cAAP,GAAwB,GAAxB;AACA,gBAAM,CAAC,eAAP,GAAyB,IAAzB;AACA,iBAAO,IAAP;AACD,SAJD,MAIO;AACL,wFAAe,CAAC,GAAD,CAAf;AACA,iBAAO,IAAP;AACD;AACF;;AACD,aAAO,KAAP;AACD;AA5HH;AAAA;AAAA,WA+HE,wBAAY;AACV,UAAQ,iBAAR,GAA8B,IAA9B,CAAQ,iBAAR;AACA,WAAK,QAAL,GAAgB,IAAhB;AACA,WAAK,iBAAL,GAAyB,IAAzB;;AACA,uBAAiB,CAAC,WAAlB;AACD;AApIH;;AAAA;AAAA,EAAuC,UAAvC,E;;;;;;;;;;;;;;;;;;;;;;;ACvKA;AAiBA,IAAa,MAAb;AAAA;;AAAA;;AACE,kBAAY,SAAZ,EAAkC,IAAlC,EAAqF;AAAA;;AAAA;AAEpF;;AAHH;AAAA;AAAA,WAcS,kBAAS,KAAT,EAAqC;AAAA,UAAjB,KAAiB,uEAAD,CAAC;AAC1C,aAAO,IAAP;AACD;AAhBH;;AAAA;AAAA,EAA+B,0DAA/B,E;;;;;;;;;;;;AClBA;AAAA;AAAA;AAAA;AAsDM,SAAU,UAAV,CAA2B,OAA3B,EAAiE;AACrE,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,+EAAJ,CAA0B,OAA1B,CAAZ,CAA3B;AAAA,GAAP;AACD,C;;;;;;;;;;;;ACxDD;AAAA;AAAA;AAAA;AASM,SAAU,cAAV,CAAyB,QAAzB,EAAiE;AACrE,SAAO,QAAP,EAAiB;AACf,oBAA2C,QAA3C;AAAA,QAAQ,MAAR,aAAQ,MAAR;AAAA,QAAgB,WAAhB,aAAgB,WAAhB;AAAA,QAA6B,SAA7B,aAA6B,SAA7B;;AACA,QAAI,MAAM,IAAI,SAAd,EAAyB;AACvB,aAAO,KAAP;AACD,KAFD,MAEO,IAAI,WAAW,IAAI,WAAW,YAAY,sDAA1C,EAAsD;AAC3D,cAAQ,GAAG,WAAX;AACD,KAFM,MAEA;AACL,cAAQ,GAAG,IAAX;AACD;AACF;;AACD,SAAO,IAAP;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBD;AA2DM,SAAU,WAAV,CAAyB,UAAzB,EAA4E;AAAA,MAA/B,gBAA+B,uEAAJ,IAAI;AAChF,SAAO,SAAS,2BAAT,CAAqC,MAArC,EAA0D;AAC/D,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,mBAAJ,CAA2B,UAA3B,EAAuC,gBAAvC,CAAZ,CAAP;AACD,GAFD;AAGD;;IAEK,mB;AAGJ,+BAAoB,UAApB,EAAgD,gBAAhD,EAAwE;AAAA;;AAApD;AAA4B;;AAC9C,QAAI,CAAC,gBAAD,IAAqB,UAAU,KAAK,gBAAxC,EAA0D;AACxD,WAAK,eAAL,GAAuB,qBAAvB;AACD,KAFD,MAEO;AACL,WAAK,eAAL,GAAuB,yBAAvB;AACD;AACF;;;;WAED,cAAK,UAAL,EAAkC,MAAlC,EAA6C;AAC3C,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,KAAK,eAAT,CAAyB,UAAzB,EAAqC,KAAK,UAA1C,EAAsD,KAAK,gBAA3D,CAAjB,CAAP;AACD;;;;;;IAQG,qB;;;;;AAGJ,iCAAY,WAAZ,EAAkD,UAAlD,EAAoE;AAAA;;AAAA;;AAClE,8BAAM,WAAN;AADgD;AAF1C,mBAAc,EAAd;AAE4D;AAEnE;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAM,MAAM,GAAG,KAAK,MAApB;AAEA,YAAM,CAAC,IAAP,CAAY,KAAZ;;AAEA,UAAI,MAAM,CAAC,MAAP,IAAiB,KAAK,UAA1B,EAAsC;AACpC,aAAK,WAAL,CAAiB,IAAjB,CAAsB,MAAtB;AACA,aAAK,MAAL,GAAc,EAAd;AACD;AACF;;;WAES,qBAAS;AACjB,UAAM,MAAM,GAAG,KAAK,MAApB;;AACA,UAAI,MAAM,CAAC,MAAP,GAAgB,CAApB,EAAuB;AACrB,aAAK,WAAL,CAAiB,IAAjB,CAAsB,MAAtB;AACD;;AACD;AACD;;;;EAxBoC,sD;;IAgCjC,yB;;;;;AAIJ,qCAAY,WAAZ,EAAkD,UAAlD,EAA8E,gBAA9E,EAAsG;AAAA;;AAAA;;AACpG,gCAAM,WAAN;AADgD;AAA4B;AAHtE,qBAAsB,EAAtB;AACA,mBAAgB,CAAhB;AAE8F;AAErG;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAQ,UAAR,GAAyD,IAAzD,CAAQ,UAAR;AAAA,UAAoB,gBAApB,GAAyD,IAAzD,CAAoB,gBAApB;AAAA,UAAsC,OAAtC,GAAyD,IAAzD,CAAsC,OAAtC;AAAA,UAA+C,KAA/C,GAAyD,IAAzD,CAA+C,KAA/C;AAEA,WAAK,KAAL;;AACA,UAAI,KAAK,GAAG,gBAAR,KAA6B,CAAjC,EAAoC;AAClC,eAAO,CAAC,IAAR,CAAa,EAAb;AACD;;AAED,WAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAArB,EAA6B,CAAC,EAA9B,GAAoC;AAClC,YAAM,MAAM,GAAG,OAAO,CAAC,CAAD,CAAtB;AACA,cAAM,CAAC,IAAP,CAAY,KAAZ;;AACA,YAAI,MAAM,CAAC,MAAP,KAAkB,UAAtB,EAAkC;AAChC,iBAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,CAAlB;AACA,eAAK,WAAL,CAAiB,IAAjB,CAAsB,MAAtB;AACD;AACF;AACF;;;WAES,qBAAS;AACjB,UAAQ,OAAR,GAAiC,IAAjC,CAAQ,OAAR;AAAA,UAAiB,WAAjB,GAAiC,IAAjC,CAAiB,WAAjB;;AAEA,aAAO,OAAO,CAAC,MAAR,GAAiB,CAAxB,EAA2B;AACzB,YAAI,MAAM,GAAG,OAAO,CAAC,KAAR,EAAb;;AACA,YAAI,MAAM,CAAC,MAAP,GAAgB,CAApB,EAAuB;AACrB,qBAAW,CAAC,IAAZ,CAAiB,MAAjB;AACD;AACF;;AACD;AACD;;;;EApCwC,sD;;;;;;;;;;;;ACrH3C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAkDM,SAAU,SAAV,CAAuB,KAAvB,EAAsC,YAAtC,EAAsD;AAC1D,MAAI,KAAK,GAAG,CAAZ,EAAe;AAAE,UAAM,IAAI,qFAAJ,EAAN;AAAsC;;AACvD,MAAM,eAAe,GAAG,SAAS,CAAC,MAAV,IAAoB,CAA5C;AACA,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAChC,sDAAM,CAAC,UAAC,CAAD,EAAI,CAAJ;AAAA,aAAU,CAAC,KAAK,KAAhB;AAAA,KAAD,CAD0B,EAEhC,kDAAI,CAAC,CAAD,CAF4B,EAGhC,eAAe,GACX,sEAAc,CAAC,YAAD,CADH,GAEX,kEAAY,CAAC;AAAA,aAAM,IAAI,qFAAJ,EAAN;AAAA,KAAD,CALgB,CAA3B;AAAA,GAAP;AAOD,C;;;;;;;;;;;;AC7DD;AAAA;AAAA,IAAM,2BAA2B,GAAI,YAAK;AACxC,WAAS,2BAAT,GAAoC;AAClC,SAAK,CAAC,IAAN,CAAW,IAAX;AACA,SAAK,OAAL,GAAe,qBAAf;AACA,SAAK,IAAL,GAAY,yBAAZ;AACA,WAAO,IAAP;AACD;;AAED,6BAA2B,CAAC,SAA5B,GAAwC,MAAM,CAAC,MAAP,CAAc,KAAK,CAAC,SAApB,CAAxC;AAEA,SAAO,2BAAP;AACD,CAXmC,EAApC;;AAsBO,IAAM,uBAAuB,GAAgC,2BAA7D,C;;;;;;;;;;;;AC7BP;AAAA;AAAA;AAAA;AAAA;AACA;AAoDM,SAAU,SAAV,CAAuB,SAAvB,EACuB,OADvB,EACoC;AACxC,SAAO,UAAC,MAAD;AAAA,WAA2B,CAChC,sDAAM,CAAC,SAAD,EAAY,OAAZ,CAAN,CAA2B,MAA3B,CADgC,EAEhC,sDAAM,CAAC,qDAAG,CAAC,SAAD,EAAY,OAAZ,CAAJ,CAAN,CAAuC,MAAvC,CAFgC,CAA3B;AAAA,GAAP;AAID,C;;;;;;;;;;;;;;;;;;ACzDD;AASA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCG;;;AACH,SAAgB,MAAhB,CAA+C,SAA/C,EAC0B,OAD1B,EACuC;AACrC,SAAO,mBAAkB,SAAlB,EAA6B,OAA7B,EAAsC,IAAtC,CAAP;AACD;;AAHD,wB;;;;;;;;;;;;;;;;;;;;;;;;;ACnDA;AACA;AACA;AA8CM,SAAU,QAAV,CAAsB,KAAtB,EAAmC;AACvC,SAAO,SAAS,wBAAT,CAAkC,MAAlC,EAAuD;AAC5D,QAAI,KAAK,KAAK,CAAd,EAAiB;AACf,aAAO,+DAAK,EAAZ;AACD,KAFD,MAEO;AACL,aAAO,MAAM,CAAC,IAAP,CAAY,IAAI,gBAAJ,CAAqB,KAArB,CAAZ,CAAP;AACD;AACF,GAND;AAOD;;IAEK,gB;AACJ,4BAAoB,KAApB,EAAiC;AAAA;;AAAb;;AAClB,QAAI,KAAK,KAAL,GAAa,CAAjB,EAAoB;AAClB,YAAM,IAAI,qFAAJ,EAAN;AACD;AACF;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,kBAAJ,CAAuB,UAAvB,EAAmC,KAAK,KAAxC,CAAjB,CAAP;AACD;;;;;;IAQG,kB;;;;;AAIJ,8BAAY,WAAZ,EAAgD,KAAhD,EAA6D;AAAA;;AAAA;;AAC3D,8BAAM,WAAN;AAD8C;AAHxC,iBAAiB,IAAI,KAAJ,EAAjB;AACA,kBAAgB,CAAhB;AAEqD;AAE5D;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAM,IAAI,GAAG,KAAK,IAAlB;AACA,UAAM,KAAK,GAAG,KAAK,KAAnB;AACA,UAAM,KAAK,GAAG,KAAK,KAAL,EAAd;;AAEA,UAAI,IAAI,CAAC,MAAL,GAAc,KAAlB,EAAyB;AACvB,YAAI,CAAC,IAAL,CAAU,KAAV;AACD,OAFD,MAEO;AACL,YAAM,KAAK,GAAG,KAAK,GAAG,KAAtB;AACA,YAAI,CAAC,KAAD,CAAJ,GAAc,KAAd;AACD;AACF;;;WAES,qBAAS;AACjB,UAAM,WAAW,GAAG,KAAK,WAAzB;AACA,UAAI,KAAK,GAAG,KAAK,KAAjB;;AAEA,UAAI,KAAK,GAAG,CAAZ,EAAe;AACb,YAAM,KAAK,GAAG,KAAK,KAAL,IAAc,KAAK,KAAnB,GAA2B,KAAK,KAAhC,GAAwC,KAAK,KAA3D;AACA,YAAM,IAAI,GAAI,KAAK,IAAnB;;AAEA,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAApB,EAA2B,CAAC,EAA5B,EAAgC;AAC9B,cAAM,GAAG,GAAI,KAAK,EAAN,GAAY,KAAxB;AACA,qBAAW,CAAC,IAAZ,CAAiB,IAAI,CAAC,GAAD,CAArB;AACD;AACF;;AAED,iBAAW,CAAC,QAAZ;AACD;;;;EApCiC,sD;;;;;;;;;;;;AC5EpC;AAAA;AAAA;AAA2E;AAC5D;AACf;AACA,oCAAoC,2FAAgB;AACpD;AACA;AACA;AACA,sFAAsF,2FAAgB;AACtG,C;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAGM,SAAU,UAAV,CAAqB,KAArB,EAA+B;AACnC,SAAO,KAAK,IAAI,OAAO,KAAK,CAAC,yDAAD,CAAZ,KAAkC,UAAlD;AACD,C;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAOO,IAAM,qBAAqB,GAAG,SAAxB,qBAAwB,CAAI,GAAJ;AAAA,SAAiB,UAAC,UAAD,EAA8B;AAClF,QAAM,GAAG,GAAG,GAAG,CAAC,6DAAD,CAAH,EAAZ;;AACA,QAAI,OAAO,GAAG,CAAC,SAAX,KAAyB,UAA7B,EAAyC;AAEvC,YAAM,IAAI,SAAJ,CAAc,gEAAd,CAAN;AACD,KAHD,MAGO;AACL,aAAO,GAAG,CAAC,SAAJ,CAAc,UAAd,CAAP;AACD;AACF,GARoC;AAAA,CAA9B,C;;;;;;;;;;;;ACRP;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,+BAA+B;AAC5E;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACzBA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AAyGM,SAAU,IAAV,CAAkB,KAAlB,EAA6C,SAA7C,EAAsE;AAC1E,MAAI,CAAC,SAAL,EAAgB;AACd,QAAI,KAAK,YAAY,sDAArB,EAAiC;AAC/B,aAAO,KAAP;AACD;;AACD,WAAO,IAAI,sDAAJ,CAAkB,qEAAW,CAAC,KAAD,CAA7B,CAAP;AACD,GALD,MAKO;AACL,WAAO,sEAAS,CAAC,KAAD,EAAQ,SAAR,CAAhB;AACD;AACF,C;;;;;;;;;;;;;;;;;;;;;;;ACpHD;AAoCM,SAAU,KAAV,CAAsB,KAAtB,EAA8B;AAClC,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,aAAJ,CAAkB,KAAlB,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,a;AAIJ,yBAAY,KAAZ,EAAoB;AAAA;;AAClB,SAAK,KAAL,GAAa,KAAb;AACD;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,eAAJ,CAAoB,UAApB,EAAgC,KAAK,KAArC,CAAjB,CAAP;AACD;;;;;;IAQG,e;;;;;AAIJ,2BAAY,WAAZ,EAAwC,KAAxC,EAAgD;AAAA;;AAAA;;AAC9C,8BAAM,WAAN;AACA,UAAK,KAAL,GAAa,KAAb;AAF8C;AAG/C;;;;WAES,eAAM,CAAN,EAAU;AAClB,WAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAK,KAA3B;AACD;;;;EAXiC,sD;;;;;;;;;;;;AC3DpC;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAgDO,IAAM,cAAc,GAAG,IAAI,8DAAJ,CAAmB,wDAAnB,CAAvB;AAKA,IAAM,KAAK,GAAG,cAAd,C;;;;;;;;;;;;ACtDP;AAAA;AAAO,IAAM,OAAO,GAAI;AAAA,SAAM,KAAK,CAAC,OAAN,IAAkB,UAAI,CAAJ;AAAA,WAAyB,CAAC,IAAI,OAAO,CAAC,CAAC,MAAT,KAAoB,QAAlD;AAAA,GAAxB;AAAA,CAAD,EAAhB,C;;;;;;;;;;;;ACAP;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFA;AAEA;AACA;AACA;AAEA;AAKA,IAAa,qBAAb;AAAA,EAAE;;AAAF;;AAQE,iCAAmB,MAAnB,EACsB,cADtB,EACsD;AAAA;;AAAA;;AACpD;AAFiB;AACG;AANZ,sBAAoB,CAApB;AAGV,wBAAc,KAAd;AAGsD;AAErD;;AAXH,EAAE;AAAF;AAAA,WAcE,oBAAW,UAAX,EAAoC;AAClC,aAAO,KAAK,UAAL,GAAkB,SAAlB,CAA4B,UAA5B,CAAP;AACD;AAhBH;AAAA;AAAA,WAkBY,sBAAU;AAClB,UAAM,OAAO,GAAG,KAAK,QAArB;;AACA,UAAI,CAAC,OAAD,IAAY,OAAO,CAAC,SAAxB,EAAmC;AACjC,aAAK,QAAL,GAAgB,KAAK,cAAL,EAAhB;AACD;;AACD,aAAO,KAAK,QAAZ;AACD;AAxBH;AAAA;AAAA,WA0BE,mBAAO;AACL,UAAI,UAAU,GAAG,KAAK,WAAtB;;AACA,UAAI,CAAC,UAAL,EAAiB;AACf,aAAK,WAAL,GAAmB,KAAnB;AACA,kBAAU,GAAG,KAAK,WAAL,GAAmB,IAAI,0DAAJ,EAAhC;AACA,kBAAU,CAAC,GAAX,CAAe,KAAK,MAAL,CACZ,SADY,CACF,IAAI,qBAAJ,CAA0B,KAAK,UAAL,EAA1B,EAA6C,IAA7C,CADE,CAAf;;AAEA,YAAI,UAAU,CAAC,MAAf,EAAuB;AACrB,eAAK,WAAL,GAAmB,IAAnB;AACA,oBAAU,GAAG,0DAAY,CAAC,KAA1B;AACD;AACF;;AACD,aAAO,UAAP;AACD;AAvCH;AAAA;AAAA,WAyCE,oBAAQ;AACN,aAAO,qEAAmB,GAAG,IAAH,CAA1B;AACD;AA3CH;;AAAA;AAAA,EAA8C,sDAA9C;AA8CO,IAAM,+BAA+B,GAA2B,YAAK;AAC1E,MAAM,gBAAgB,GAAQ,qBAAqB,CAAC,SAApD;AACA,SAAO;AACL,YAAQ,EAAE;AAAE,WAAK,EAAE;AAAT,KADL;AAEL,aAAS,EAAE;AAAE,WAAK,EAAE,CAAT;AAAY,cAAQ,EAAE;AAAtB,KAFN;AAGL,YAAQ,EAAE;AAAE,WAAK,EAAE,IAAT;AAAuB,cAAQ,EAAE;AAAjC,KAHL;AAIL,eAAW,EAAE;AAAE,WAAK,EAAE,IAAT;AAAuB,cAAQ,EAAE;AAAjC,KAJR;AAKL,cAAU,EAAE;AAAE,WAAK,EAAE,gBAAgB,CAAC;AAA1B,KALP;AAML,eAAW,EAAE;AAAE,WAAK,EAAE,gBAAgB,CAAC,WAA1B;AAAuC,cAAQ,EAAE;AAAjD,KANR;AAOL,cAAU,EAAE;AAAE,WAAK,EAAE,gBAAgB,CAAC;AAA1B,KAPP;AAQL,WAAO,EAAE;AAAE,WAAK,EAAE,gBAAgB,CAAC;AAA1B,KARJ;AASL,YAAQ,EAAE;AAAE,WAAK,EAAE,gBAAgB,CAAC;AAA1B;AATL,GAAP;AAWD,CAbqE,EAA/D;;IAeD,qB;;;;;AACJ,iCAAY,WAAZ,EACoB,WADpB,EACyD;AAAA;;AAAA;;AACvD,gCAAM,WAAN;AADkB;AAAqC;AAExD;;;;WACS,gBAAO,GAAP,EAAe;AACvB,WAAK,YAAL;;AACA,MAAM,gVAAO,GAAb;AACD;;;WACS,qBAAS;AACjB,WAAK,WAAL,CAAiB,WAAjB,GAA+B,IAA/B;;AACA,WAAK,YAAL;;AACA;AACD;;;WACS,wBAAY;AACpB,UAAM,WAAW,GAAQ,KAAK,WAA9B;;AACA,UAAI,WAAJ,EAAiB;AACf,aAAK,WAAL,GAAmB,IAAnB;AACA,YAAM,UAAU,GAAG,WAAW,CAAC,WAA/B;AACA,mBAAW,CAAC,SAAZ,GAAwB,CAAxB;AACA,mBAAW,CAAC,QAAZ,GAAuB,IAAvB;AACA,mBAAW,CAAC,WAAZ,GAA0B,IAA1B;;AACA,YAAI,UAAJ,EAAgB;AACd,oBAAU,CAAC,WAAX;AACD;AACF;AACF;;;;EA1BoC,0D;;IA6BjC,gB;AACJ,4BAAoB,WAApB,EAAyD;AAAA;;AAArC;AACnB;;;;WACD,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AAEzC,UAAQ,WAAR,GAAwB,IAAxB,CAAQ,WAAR;AACO,iBAAY,CAAC,SAAb;AAEP,UAAM,UAAU,GAAG,IAAI,kBAAJ,CAAuB,UAAvB,EAAmC,WAAnC,CAAnB;AACA,UAAM,YAAY,GAAG,MAAM,CAAC,SAAP,CAAiB,UAAjB,CAArB;;AAEA,UAAI,CAAC,UAAU,CAAC,MAAhB,EAAwB;AACf,kBAAW,CAAC,UAAZ,GAAyB,WAAW,CAAC,OAAZ,EAAzB;AACR;;AAED,aAAO,YAAP;AACD;;;;;;IAGG,kB;;;;;AAIJ,8BAAY,WAAZ,EACoB,WADpB,EACyD;AAAA;;AAAA;;AACvD,gCAAM,WAAN;AADkB;AAAqC;AAExD;;;;WAES,wBAAY;AAEpB,UAAQ,WAAR,GAAwB,IAAxB,CAAQ,WAAR;;AACA,UAAI,CAAC,WAAL,EAAkB;AAChB,aAAK,UAAL,GAAkB,IAAlB;AACA;AACD;;AAED,WAAK,WAAL,GAAmB,IAAnB;AACA,UAAM,QAAQ,GAAU,WAAY,CAAC,SAArC;;AACA,UAAI,QAAQ,IAAI,CAAhB,EAAmB;AACjB,aAAK,UAAL,GAAkB,IAAlB;AACA;AACD;;AAEM,iBAAY,CAAC,SAAb,GAAyB,QAAQ,GAAG,CAApC;;AACP,UAAI,QAAQ,GAAG,CAAf,EAAkB;AAChB,aAAK,UAAL,GAAkB,IAAlB;AACA;AACD;;AAyBD,UAAQ,UAAR,GAAuB,IAAvB,CAAQ,UAAR;AACA,UAAM,gBAAgB,GAAU,WAAY,CAAC,WAA7C;AACA,WAAK,UAAL,GAAkB,IAAlB;;AAEA,UAAI,gBAAgB,KAAK,CAAC,UAAD,IAAe,gBAAgB,KAAK,UAAzC,CAApB,EAA0E;AACxE,wBAAgB,CAAC,WAAjB;AACD;AACF;;;;EA5DiC,sD;;;;;;;;;;;;ACxHpC;AAAA;AAAA;AAAA;AAAA;AAOO,IAAM,KAAK,GAAG,IAAI,sDAAJ,CAAsB,oBAAU;AAAA,SAAI,UAAU,CAAC,QAAX,EAAJ;AAAA,CAAhC,CAAd;AAsDD,SAAU,KAAV,CAAgB,SAAhB,EAAyC;AAC7C,SAAO,SAAS,GAAG,cAAc,CAAC,SAAD,CAAjB,GAA+B,KAA/C;AACD;;AAED,SAAS,cAAT,CAAwB,SAAxB,EAAgD;AAC9C,SAAO,IAAI,sDAAJ,CAAsB,oBAAU;AAAA,WAAI,SAAS,CAAC,QAAV,CAAmB;AAAA,aAAM,UAAU,CAAC,QAAX,EAAN;AAAA,KAAnB,CAAJ;AAAA,GAAhC,CAAP;AACD,C;;;;;;;;;;;;ACnED;AAAA;AAAM,SAAU,GAAV,CAAc,IAAd,EAA8B,OAA9B,EAA0C;AAC9C,WAAS,OAAT,GAAgB;AACd,WAAO,CAAS,OAAQ,CAAC,IAAT,CAAc,KAAd,CAA2B,OAAQ,CAAC,OAApC,EAA6C,SAA7C,CAAhB;AACD;;AACM,SAAQ,CAAC,IAAT,GAAgB,IAAhB;AACA,SAAQ,CAAC,OAAT,GAAmB,OAAnB;AACP,SAAO,OAAP;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJD;AACA;AACA;AAkDM,SAAU,YAAV,CACJ,QADI,EAEJ,eAFI,EAEqD;AAEzD,SAAO,SAAS,4BAAT,CAAsC,MAAtC,EAA2D;AAChE,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,oBAAJ,CAA+B,QAA/B,EAAyC,eAAzC,CAAZ,CAAP;AACD,GAFD;AAGD;;IAEK,oB;AAEJ,gCAAoB,QAApB,EACoB,eADpB,EAC6E;AAAA;;AADzD;AACA;AACnB;;;;WAED,cAAK,UAAL,EAAkC,MAAlC,EAA6C;AAC3C,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,sBAAJ,CAA2B,UAA3B,EAAuC,KAAK,QAA5C,EAAsD,KAAK,eAA3D,CAAjB,CAAP;AACD;;;;;;IAaG,sB;;;;;AAGJ,kCAAY,WAAZ,EACY,QADZ,EAEoB,eAFpB,EAEoF;AAAA;;AAAA;;AAClF,8BAAM,WAAN;AADkB;AAJZ,qBAAoC,EAApC;;AAMN,UAAK,GAAL,CAAS,iFAAiB,+JAAO,QAAP,CAA1B;;AAFkF;AAGnF;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAM,QAAQ,GAAG,KAAK,QAAtB;AACA,UAAM,GAAG,GAAG,QAAQ,CAAC,MAArB;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,CAAC,EAA1B,EAA8B;AAC5B,gBAAQ,CAAC,CAAD,CAAR,CAAY,MAAZ,CAAmB,IAAnB,CAAwB,KAAxB;AACD;AACF;;;WAES,gBAAO,GAAP,EAAe;AACvB,UAAM,QAAQ,GAAG,KAAK,QAAtB;;AACA,aAAO,QAAQ,CAAC,MAAT,GAAkB,CAAzB,EAA4B;AAC1B,YAAM,OAAO,GAAG,QAAQ,CAAC,KAAT,EAAhB;AACA,eAAO,CAAC,YAAR,CAAqB,WAArB;AACA,eAAO,CAAC,MAAR,GAAiB,IAAjB;AACA,eAAO,CAAC,YAAR,GAAuB,IAAvB;AACD;;AACD,WAAK,QAAL,GAAgB,IAAhB;;AACA,uVAAa,GAAb;AACD;;;WAES,qBAAS;AACjB,UAAM,QAAQ,GAAG,KAAK,QAAtB;;AACA,aAAO,QAAQ,CAAC,MAAT,GAAkB,CAAzB,EAA4B;AAC1B,YAAM,OAAO,GAAG,QAAQ,CAAC,KAAT,EAAhB;AACA,aAAK,WAAL,CAAiB,IAAjB,CAAuB,OAAO,CAAC,MAA/B;AACA,eAAO,CAAC,YAAR,CAAqB,WAArB;AACA,eAAO,CAAC,MAAR,GAAiB,IAAjB;AACA,eAAO,CAAC,YAAR,GAAuB,IAAvB;AACD;;AACD,WAAK,QAAL,GAAgB,IAAhB;;AACA;AACD;;;WAED,oBAAW,UAAX,EAA4B,UAA5B,EAAyC;AACvC,gBAAU,GAAG,KAAK,WAAL,CAAiB,UAAjB,CAAH,GAAkC,KAAK,UAAL,CAAgB,UAAhB,CAA5C;AACD;;;WAED,wBAAe,QAAf,EAA8C;AAC5C,WAAK,WAAL,CAAwB,QAAS,CAAC,OAAlC;AACD;;;WAEO,oBAAW,KAAX,EAAmB;AACzB,UAAI;AACF,YAAM,eAAe,GAAG,KAAK,eAA7B;AACA,YAAM,eAAe,GAAG,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAA3B,CAAxB;;AACA,YAAI,eAAJ,EAAqB;AACnB,eAAK,YAAL,CAAkB,eAAlB;AACD;AACF,OAND,CAME,OAAO,GAAP,EAAY;AACZ,aAAK,MAAL,CAAY,GAAZ;AACD;AACF;;;WAEO,qBAAY,OAAZ,EAAqC;AAC3C,UAAM,QAAQ,GAAG,KAAK,QAAtB;;AAEA,UAAI,QAAQ,IAAI,OAAhB,EAAyB;AACvB,YAAQ,MAAR,GAAiC,OAAjC,CAAQ,MAAR;AAAA,YAAgB,YAAhB,GAAiC,OAAjC,CAAgB,YAAhB;AACA,aAAK,WAAL,CAAiB,IAAjB,CAAuB,MAAvB;AACA,gBAAQ,CAAC,MAAT,CAAgB,QAAQ,CAAC,OAAT,CAAiB,OAAjB,CAAhB,EAA2C,CAA3C;AACA,aAAK,MAAL,CAAY,YAAZ;AACA,oBAAY,CAAC,WAAb;AACD;AACF;;;WAEO,sBAAa,eAAb,EAAiC;AACvC,UAAM,QAAQ,GAAG,KAAK,QAAtB;AAEA,UAAM,MAAM,GAAa,EAAzB;AACA,UAAM,YAAY,GAAG,IAAI,0DAAJ,EAArB;AACA,UAAM,OAAO,GAAG;AAAE,cAAM,EAAN,MAAF;AAAU,oBAAY,EAAZ;AAAV,OAAhB;AACA,cAAQ,CAAC,IAAT,CAAc,OAAd;AAEA,UAAM,iBAAiB,GAAG,iFAAiB,CAAC,IAAD,EAAO,eAAP,EAAwB,OAAxB,CAA3C;;AAEA,UAAI,CAAC,iBAAD,IAAsB,iBAAiB,CAAC,MAA5C,EAAoD;AAClD,aAAK,WAAL,CAAiB,OAAjB;AACD,OAFD,MAEO;AACJ,yBAAyB,CAAC,OAA1B,GAAoC,OAApC;AAED,aAAK,GAAL,CAAS,iBAAT;AACA,oBAAY,CAAC,GAAb,CAAiB,iBAAjB;AACD;AACF;;;;EA7FwC,gE;;;;;;;;;;;;;;;;;;;;;;;;;AChF3C;AA2DM,SAAU,MAAV,CAAuB,OAAvB,EAEgD;AAAA,MADzB,UACyB,uEADJ,MAAM,CAAC,iBACH;AAAA,MAAzB,SAAyB;AACpD,YAAU,GAAG,CAAC,UAAU,IAAI,CAAf,IAAoB,CAApB,GAAwB,MAAM,CAAC,iBAA/B,GAAmD,UAAhE;AAEA,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,cAAJ,CAAmB,OAAnB,EAA4B,UAA5B,EAAwC,SAAxC,CAAZ,CAA3B;AAAA,GAAP;AACD;AAED,IAAa,cAAb;AACE,0BAAoB,OAApB,EACoB,UADpB,EAEoB,SAFpB,EAE6C;AAAA;;AAFzB;AACA;AACA;AACnB;;AAJH,EAAE;AAAF;AAAA,WAME,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,gBAAJ,CAAqB,UAArB,EAAiC,KAAK,OAAtC,EAA+C,KAAK,UAApD,EAAgE,KAAK,SAArE,CAAjB,CAAP;AACD;AARH;;AAAA;AAAA;AAuBA,IAAa,gBAAb;AAAA;;AAAA;;AAME,4BAAY,WAAZ,EACoB,OADpB,EAEoB,UAFpB,EAGoB,SAHpB,EAG6C;AAAA;;AAAA;;AAC3C,8BAAM,WAAN;AAHkB;AACA;AACA;AARZ,kBAAgB,CAAhB;AACA,mBAAiB,CAAjB;AACA,yBAAwB,KAAxB;;AAQN,QAAI,UAAU,GAAG,MAAM,CAAC,iBAAxB,EAA2C;AACzC,YAAK,MAAL,GAAc,EAAd;AACD;;AAJ0C;AAK5C;;AAdH;AAAA;AAAA,WAqBY,eAAM,KAAN,EAAgB;AACxB,UAAM,WAAW,GAAG,KAAK,WAAzB;;AAEA,UAAI,WAAW,CAAC,MAAhB,EAAwB;AACtB,aAAK,SAAL;;AACA;AACD;;AAED,UAAM,KAAK,GAAG,KAAK,KAAL,EAAd;;AACA,UAAI,KAAK,MAAL,GAAc,KAAK,UAAvB,EAAmC;AACjC,mBAAW,CAAC,IAAZ,CAAkB,KAAlB;;AACA,YAAI;AACF,cAAQ,OAAR,GAAoB,IAApB,CAAQ,OAAR;AACA,cAAM,MAAM,GAAG,OAAO,CAAC,KAAD,EAAQ,KAAR,CAAtB;;AACA,cAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,iBAAK,qBAAL,CAA2B,MAA3B,EAAmC,KAAnC,EAA0C,KAA1C;AACD,WAFD,MAEO;AACL,gBAAM,KAAK,GAAsB;AAAE,wBAAU,EAAE,IAAd;AAAoB,oBAAM,EAAN,MAApB;AAA4B,mBAAK,EAAL,KAA5B;AAAmC,mBAAK,EAAL;AAAnC,aAAjC;AACA,gBAAM,YAAW,GAAG,KAAK,WAAzB;;AACA,wBAAW,CAAC,GAAZ,CAAgB,KAAK,SAAL,CAAe,QAAf,CAA2C,gBAAgB,CAAC,QAA5D,EAA6E,CAA7E,EAAgF,KAAhF,CAAhB;AACD;AACF,SAVD,CAUE,OAAO,CAAP,EAAU;AACV,qBAAW,CAAC,KAAZ,CAAmB,CAAnB;AACD;AACF,OAfD,MAeO;AACL,aAAK,MAAL,CAAa,IAAb,CAAkB,KAAlB;AACD;AACF;AAhDH;AAAA;AAAA,WAkDU,+BAAsB,MAAtB,EAAmC,KAAnC,EAA6C,KAA7C,EAA0D;AAChE,WAAK,MAAL;AACA,UAAM,WAAW,GAAG,KAAK,WAAzB;AACA,iBAAW,CAAC,GAAZ,CAAgB,sEAAc,CAAC,MAAD,EAAS,IAAI,qEAAJ,CAA0B,IAA1B,CAAT,CAA9B;AACD;AAtDH;AAAA;AAAA,WAwDY,qBAAS;AACjB,WAAK,YAAL,GAAoB,IAApB;;AACA,UAAI,KAAK,YAAL,IAAqB,KAAK,MAAL,KAAgB,CAAzC,EAA4C;AAC1C,aAAK,WAAL,CAAiB,QAAjB;AACD;;AACD,WAAK,WAAL;AACD;AA9DH;AAAA;AAAA,WAgEE,oBAAW,UAAX,EAAwB;AACtB,WAAK,KAAL,CAAW,UAAX;AACD;AAlEH;AAAA;AAAA,WAoEE,0BAAc;AACZ,UAAM,MAAM,GAAG,KAAK,MAApB;AACA,WAAK,MAAL;;AACA,UAAI,MAAM,IAAI,MAAM,CAAC,MAAP,GAAgB,CAA9B,EAAiC;AAC/B,aAAK,KAAL,CAAW,MAAM,CAAC,KAAP,EAAX;AACD;;AACD,UAAI,KAAK,YAAL,IAAqB,KAAK,MAAL,KAAgB,CAAzC,EAA4C;AAC1C,aAAK,WAAL,CAAiB,QAAjB;AACD;AACF;AA7EH;AAAA;AAAA,WAgBU,kBAAsB,GAAtB,EAA4C;AAClD,UAAO,UAAP,GAA2C,GAA3C,CAAO,UAAP;AAAA,UAAmB,MAAnB,GAA2C,GAA3C,CAAmB,MAAnB;AAAA,UAA2B,KAA3B,GAA2C,GAA3C,CAA2B,KAA3B;AAAA,UAAkC,KAAlC,GAA2C,GAA3C,CAAkC,KAAlC;AACA,gBAAU,CAAC,qBAAX,CAAiC,MAAjC,EAAyC,KAAzC,EAAgD,KAAhD;AACD;AAnBH;;AAAA;AAAA,EAA4C,qEAA5C,E;;;;;;;;;;;;AC/FA;AAAA;AAAA;AAAA;AA+CM,SAAU,GAAV,CAAiB,QAAjB,EAAkD;AACtD,MAAM,GAAG,GAAuB,OAAO,QAAP,KAAoB,UAArB,GAC3B,UAAC,CAAD,EAAI,CAAJ;AAAA,WAAU,QAAQ,CAAC,CAAD,EAAI,CAAJ,CAAR,GAAiB,CAAjB,GAAqB,CAArB,GAAyB,CAAnC;AAAA,GAD2B,GAE3B,UAAC,CAAD,EAAI,CAAJ;AAAA,WAAU,CAAC,GAAG,CAAJ,GAAQ,CAAR,GAAY,CAAtB;AAAA,GAFJ;AAGA,SAAO,sDAAM,CAAC,GAAD,CAAb;AACD,C;;;;;;;;;;;;;;;;;;;;;;;AClDD;AAmDM,SAAU,SAAV,CACF,SADE,EAEe;AAAA,MAAjB,SAAiB,uEAAL,KAAK;AACnB,SAAO,UAAC,MAAD;AAAA,WACI,MAAM,CAAC,IAAP,CAAY,IAAI,iBAAJ,CAAsB,SAAtB,EAAiC,SAAjC,CAAZ,CADJ;AAAA,GAAP;AAED;;IAEK,iB;AACJ,6BACY,SADZ,EAEY,SAFZ,EAE8B;AAAA;;AADlB;AACA;AAAsB;;;;WAElC,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CACH,IAAI,mBAAJ,CAAwB,UAAxB,EAAoC,KAAK,SAAzC,EAAoD,KAAK,SAAzD,CADG,CAAP;AAED;;;;;;IAQG,mB;;;;;AAGJ,+BACI,WADJ,EAEY,SAFZ,EAGY,SAHZ,EAG8B;AAAA;;AAAA;;AAC5B,8BAAM,WAAN;AAFU;AACA;AALJ,kBAAgB,CAAhB;AAKsB;AAE7B;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAM,WAAW,GAAG,KAAK,WAAzB;AACA,UAAI,MAAJ;;AACA,UAAI;AACF,cAAM,GAAG,KAAK,SAAL,CAAe,KAAf,EAAsB,KAAK,KAAL,EAAtB,CAAT;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,mBAAW,CAAC,KAAZ,CAAkB,GAAlB;AACA;AACD;;AACD,WAAK,cAAL,CAAoB,KAApB,EAA2B,MAA3B;AACD;;;WAEO,wBAAe,KAAf,EAAyB,eAAzB,EAAiD;AACvD,UAAM,WAAW,GAAG,KAAK,WAAzB;;AACA,UAAI,OAAO,CAAC,eAAD,CAAX,EAA8B;AAC5B,mBAAW,CAAC,IAAZ,CAAiB,KAAjB;AACD,OAFD,MAEO;AACL,YAAI,KAAK,SAAT,EAAoB;AAClB,qBAAW,CAAC,IAAZ,CAAiB,KAAjB;AACD;;AACD,mBAAW,CAAC,QAAZ;AACD;AACF;;;;EAhCkC,sD;;;;;;;;;;;;;;;;;;;;;;;;;AC1ErC;AAwBM,SAAU,KAAV,CAAmB,SAAnB,EACmB,OADnB,EACgC;AACpC,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,aAAJ,CAAkB,SAAlB,EAA6B,OAA7B,EAAsC,MAAtC,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,a;AACJ,yBAAoB,SAApB,EACoB,OADpB,EAEoB,MAFpB,EAE0C;AAAA;;AAFtB;AACA;AACA;AACnB;;;;WAED,cAAK,QAAL,EAAoC,MAApC,EAA+C;AAC7C,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,eAAJ,CAAoB,QAApB,EAA8B,KAAK,SAAnC,EAA8C,KAAK,OAAnD,EAA4D,KAAK,MAAjE,CAAjB,CAAP;AACD;;;;;;IAQG,e;;;;;AAGJ,2BAAY,WAAZ,EACoB,SADpB,EAEoB,OAFpB,EAGoB,MAHpB,EAG0C;AAAA;;AAAA;;AACxC,8BAAM,WAAN;AAHkB;AACA;AACA;AALZ,kBAAgB,CAAhB;AAON,UAAK,OAAL,GAAe,OAAO,gKAAtB;AAFwC;AAGzC;;;;WAEO,wBAAe,eAAf,EAAuC;AAC7C,WAAK,WAAL,CAAiB,IAAjB,CAAsB,eAAtB;AACA,WAAK,WAAL,CAAiB,QAAjB;AACD;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAI,MAAM,GAAG,KAAb;;AACA,UAAI;AACF,cAAM,GAAG,KAAK,SAAL,CAAe,IAAf,CAAoB,KAAK,OAAzB,EAAkC,KAAlC,EAAyC,KAAK,KAAL,EAAzC,EAAuD,KAAK,MAA5D,CAAT;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACA;AACD;;AAED,UAAI,CAAC,MAAL,EAAa;AACX,aAAK,cAAL,CAAoB,KAApB;AACD;AACF;;;WAES,qBAAS;AACjB,WAAK,cAAL,CAAoB,IAApB;AACD;;;;EAhC8B,sD;;;;;;;;;;;;AC/CjC;AAAA;AAAA;AAAA;AAsCM,SAAU,GAAV,GAAgG;AAAA,oCAAzE,WAAyE;AAAzE,eAAyE;AAAA;;AACpG,SAAO,SAAS,mBAAT,CAA6B,MAA7B,EAAkD;AACvD,WAAO,MAAM,CAAC,IAAP,CAAY,IAAZ,CAAiB,mDAAS,MAAT,UAAa,MAAb,SAAwB,WAAxB,EAAjB,CAAP;AACD,GAFD;AAGD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCD;AAIA;AAgCM,SAAU,UAAV,CAAwB,QAAxB,EAAqF;AACzF,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,kBAAJ,CAAuB,QAAvB,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,kB;AACJ,8BAAsB,QAAtB,EAAmF;AAAA;;AAA7D;AACrB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,oBAAJ,CAAyB,UAAzB,EAAqC,KAAK,QAA1C,EAAoD,MAApD,CAAjB,CAAP;AACD;;;;;;IAQG,oB;;;;;AAOJ,gCAAY,WAAZ,EACoB,QADpB,EAEoB,MAFpB,EAEyC;AAAA;;AAAA;;AACvC,8BAAM,WAAN;AAFkB;AACA;AAJZ,sCAAqC,IAArC;AAIiC;AAExC;;;;WAED,sBAAU;AACR,WAAK,yBAAL,GAAiC,IAAjC;AACA,WAAK,MAAL,CAAY,SAAZ,CAAsB,IAAtB;AACD;;;WAED,0BAAc;AACZ,UAAI,KAAK,yBAAL,KAAmC,KAAvC,EAA8C;AAC5C;AACD;AACF;;;WAED,oBAAQ;AACN,WAAK,yBAAL,GAAiC,KAAjC;;AAEA,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,YAAI,CAAC,KAAK,OAAV,EAAmB;AACjB,eAAK,kBAAL;AACD;;AACD,YAAI,CAAC,KAAK,mBAAN,IAA6B,KAAK,mBAAL,CAAyB,MAA1D,EAAkE;AAChE;AACD;;AAED,aAAK,sBAAL;;AACA,aAAK,aAAL,CAAoB,IAApB,CAAyB,SAAzB;AACD;AACF;;;WAGD,wBAAY;AACV,UAAQ,aAAR,GAA+C,IAA/C,CAAQ,aAAR;AAAA,UAAuB,mBAAvB,GAA+C,IAA/C,CAAuB,mBAAvB;;AACA,UAAI,aAAJ,EAAmB;AACjB,qBAAa,CAAC,WAAd;AACA,aAAK,aAAL,GAAqB,SAArB;AACD;;AACD,UAAI,mBAAJ,EAAyB;AACvB,2BAAmB,CAAC,WAApB;AACA,aAAK,mBAAL,GAA2B,SAA3B;AACD;;AACD,WAAK,OAAL,GAAe,SAAf;AACD;;;WAGD,kCAAsB;AACpB,UAAQ,YAAR,GAAyB,IAAzB,CAAQ,YAAR;AAEA,WAAK,YAAL,GAAoB,IAApB;;AACA;;AACA,WAAK,YAAL,GAAoB,YAApB;AAEA,aAAO,IAAP;AACD;;;WAEO,8BAAkB;AACxB,WAAK,aAAL,GAAqB,IAAI,gDAAJ,EAArB;AACA,UAAI,OAAJ;;AACA,UAAI;AACF,YAAQ,QAAR,GAAqB,IAArB,CAAQ,QAAR;AACA,eAAO,GAAG,QAAQ,CAAC,KAAK,aAAN,CAAlB;AACD,OAHD,CAGE,OAAO,CAAP,EAAU;AACV;AACD;;AACD,WAAK,OAAL,GAAe,OAAf;AACA,WAAK,mBAAL,GAA2B,sEAAc,CAAC,OAAD,EAAU,IAAI,qEAAJ,CAA0B,IAA1B,CAAV,CAAzC;AACD;;;;EA5EsC,qE;;;;;;;;;;;;ACtDzC;AAAA;AAAA;AAAA;AAAA;AAEA;AA2IM,SAAU,MAAV,GAA4F;AAChG,SAAO,sEAAS,GAAM,sCAAE,MAAF,mBAAN,CAAhB;AACD,C;;;;;;;;;;;;;;;;;;;;;;;AC9ID;AACA;AAGA;AACA;AACA;AAQA,IAAa,UAAb;AAkBE,sBAAY,SAAZ,EAAyF;AAAA;;AAflF,qBAAqB,KAArB;;AAgBL,QAAI,SAAJ,EAAe;AACb,WAAK,UAAL,GAAkB,SAAlB;AACD;AACF;;AAtBH,EAAE;AAAF;AAAA,WA+CE,cAAQ,QAAR,EAAgC;AAC9B,UAAM,UAAU,GAAG,IAAI,UAAJ,EAAnB;AACA,gBAAU,CAAC,MAAX,GAAoB,IAApB;AACA,gBAAU,CAAC,QAAX,GAAsB,QAAtB;AACA,aAAO,UAAP;AACD;AApDH;AAAA;AAAA,WA2LE,mBAAU,cAAV,EACU,KADV,EAEU,QAFV,EAE+B;AAE7B,UAAQ,QAAR,GAAqB,IAArB,CAAQ,QAAR;AACA,UAAM,IAAI,GAAG,uEAAY,CAAC,cAAD,EAAiB,KAAjB,EAAwB,QAAxB,CAAzB;;AAEA,UAAI,QAAJ,EAAc;AACZ,YAAI,CAAC,GAAL,CAAS,QAAQ,CAAC,IAAT,CAAc,IAAd,EAAoB,KAAK,MAAzB,CAAT;AACD,OAFD,MAEO;AACL,YAAI,CAAC,GAAL,CACE,KAAK,MAAL,IAAgB,8CAAM,CAAC,qCAAP,IAAgD,CAAC,IAAI,CAAC,kBAAtE,GACA,KAAK,UAAL,CAAgB,IAAhB,CADA,GAEA,KAAK,aAAL,CAAmB,IAAnB,CAHF;AAKD;;AAED,UAAI,8CAAM,CAAC,qCAAX,EAAkD;AAChD,YAAI,IAAI,CAAC,kBAAT,EAA6B;AAC3B,cAAI,CAAC,kBAAL,GAA0B,KAA1B;;AACA,cAAI,IAAI,CAAC,eAAT,EAA0B;AACxB,kBAAM,IAAI,CAAC,cAAX;AACD;AACF;AACF;;AAED,aAAO,IAAP;AACD;AAtNH;AAAA;AAAA,WAyNE,uBAAc,IAAd,EAAiC;AAC/B,UAAI;AACF,eAAO,KAAK,UAAL,CAAgB,IAAhB,CAAP;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,YAAI,8CAAM,CAAC,qCAAX,EAAkD;AAChD,cAAI,CAAC,eAAL,GAAuB,IAAvB;AACA,cAAI,CAAC,cAAL,GAAsB,GAAtB;AACD;;AACD,YAAI,2EAAc,CAAC,IAAD,CAAlB,EAA0B;AACxB,cAAI,CAAC,KAAL,CAAW,GAAX;AACD,SAFD,MAEO;AACL,iBAAO,CAAC,IAAR,CAAa,GAAb;AACD;AACF;AACF;AAvOH;AAAA;AAAA,WAgPE,iBAAQ,IAAR,EAAkC,WAAlC,EAAsE;AAAA;;AACpE,iBAAW,GAAG,cAAc,CAAC,WAAD,CAA5B;AAEA,aAAO,IAAI,WAAJ,CAAsB,UAAC,OAAD,EAAU,MAAV,EAAoB;AAG/C,YAAI,YAAJ;AACA,oBAAY,GAAG,KAAI,CAAC,SAAL,CAAe,UAAC,KAAD,EAAU;AACtC,cAAI;AACF,gBAAI,CAAC,KAAD,CAAJ;AACD,WAFD,CAEE,OAAO,GAAP,EAAY;AACZ,kBAAM,CAAC,GAAD,CAAN;;AACA,gBAAI,YAAJ,EAAkB;AAChB,0BAAY,CAAC,WAAb;AACD;AACF;AACF,SATc,EASZ,MATY,EASJ,OATI,CAAf;AAUD,OAdM,CAAP;AAeD;AAlQH;AAAA;AAAA,WAqQE,oBAAW,UAAX,EAAsC;AACpC,UAAQ,MAAR,GAAmB,IAAnB,CAAQ,MAAR;AACA,aAAO,MAAM,IAAI,MAAM,CAAC,SAAP,CAAiB,UAAjB,CAAjB;AACD;AAxQH;AAAA,SA4RG,6DA5RH;AAAA,WA4RE,iBAAmB;AACjB,aAAO,IAAP;AACD;AA9RH;AAAA;AAAA,WAkUE,gBAAgD;AAAA,wCAAxC,UAAwC;AAAxC,kBAAwC;AAAA;;AAC9C,UAAI,UAAU,CAAC,MAAX,KAAsB,CAA1B,EAA6B;AAC3B,eAAO,IAAP;AACD;;AAED,aAAO,gEAAa,CAAC,UAAD,CAAb,CAA0B,IAA1B,CAAP;AACD;AAxUH;AAAA;AAAA,WAgVE,mBAAU,WAAV,EAA8C;AAAA;;AAC5C,iBAAW,GAAG,cAAc,CAAC,WAAD,CAA5B;AAEA,aAAO,IAAI,WAAJ,CAAgB,UAAC,OAAD,EAAU,MAAV,EAAoB;AACzC,YAAI,KAAJ;;AACA,cAAI,CAAC,SAAL,CAAe,UAAC,CAAD;AAAA,iBAAU,KAAK,GAAG,CAAlB;AAAA,SAAf,EAAoC,UAAC,GAAD;AAAA,iBAAc,MAAM,CAAC,GAAD,CAApB;AAAA,SAApC,EAA+D;AAAA,iBAAM,OAAO,CAAC,KAAD,CAAb;AAAA,SAA/D;AACD,OAHM,CAAP;AAID;AAvVH;;AAAA;AAAA;;AAoCS,oBAAmB,UAAI,SAAJ,EAAgE;AACxF,SAAO,IAAI,UAAJ,CAAkB,SAAlB,CAAP;AACD,CAFM;;AA6TT,SAAS,cAAT,CAAwB,WAAxB,EAAuE;AACrE,MAAI,CAAC,WAAL,EAAkB;AAChB,eAAW,GAAG,8CAAM,CAAC,OAAP,IAAkB,OAAhC;AACD;;AAED,MAAI,CAAC,WAAL,EAAkB;AAChB,UAAM,IAAI,KAAJ,CAAU,uBAAV,CAAN;AACD;;AAED,SAAO,WAAP;AACD,C;;;;;;;;;;;;;;;;;;;;;AC7XD;AAEA,IAAa,cAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA,EAAoC,8DAApC,E;;;;;;;;;;;;;;;;;;;;ACFA;AAEA;AACA;AACA;AAwEM,SAAU,iBAAV,GAEuF;AAAA,oCAFlD,OAEkD;AAFlD,WAEkD;AAAA;;AAE3F,MAAI,OAAO,CAAC,MAAR,KAAmB,CAAvB,EAA0B;AACxB,WAAO,4CAAP;AACD;;AAED,MAAQ,KAAR,GAAgC,OAAhC;AAAA,MAAkB,SAAlB,GAAgC,OAAhC;;AAEA,MAAI,OAAO,CAAC,MAAR,KAAmB,CAAnB,IAAwB,6DAAO,CAAC,KAAD,CAAnC,EAA4C;AAC1C,WAAO,iBAAiB,MAAjB,2JAAqB,KAArB,EAAP;AACD;;AAED,SAAO,IAAI,sDAAJ,CAAe,oBAAU,EAAG;AACjC,QAAM,OAAO,GAAG,SAAV,OAAU;AAAA,aAAM,UAAU,CAAC,GAAX,CACpB,iBAAiB,MAAjB,2JAAqB,SAArB,GAAgC,SAAhC,CAA0C,UAA1C,CADoB,CAAN;AAAA,KAAhB;;AAIA,WAAO,kDAAI,CAAC,KAAD,CAAJ,CAAY,SAAZ,CAAsB;AAC3B,UAD2B,gBACtB,KADsB,EACjB;AAAI,kBAAU,CAAC,IAAX,CAAgB,KAAhB;AAAyB,OADZ;AAE3B,WAAK,EAAE,OAFoB;AAG3B,cAAQ,EAAE;AAHiB,KAAtB,CAAP;AAKD,GAVM,CAAP;AAWD,C;;;;;;;;;;;;;;;;;;;;;;;AClGD;AA6DM,SAAU,KAAV,CAAmB,SAAnB,EAA0F;AAC9F,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,aAAJ,CAAkB,SAAlB,EAA6B,MAA7B,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,a;AACJ,yBAAoB,SAApB,EACoB,MADpB,EAC0C;AAAA;;AADtB;AACA;AACnB;;;;WAED,cAAK,UAAL,EAAqC,MAArC,EAAgD;AAC9C,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,eAAJ,CAAoB,UAApB,EAAgC,KAAK,SAArC,EAAgD,KAAK,MAArD,CAAjB,CAAP;AACD;;;;;;IAQG,e;;;;;AAIJ,2BAAY,WAAZ,EACoB,SADpB,EAEoB,MAFpB,EAE0C;AAAA;;AAAA;;AACxC,8BAAM,WAAN;AAFkB;AACA;AALZ,kBAAgB,CAAhB;AACA,kBAAgB,CAAhB;AAIkC;AAEzC;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAI,KAAK,SAAT,EAAoB;AAClB,aAAK,aAAL,CAAmB,KAAnB;AACD,OAFD,MAEO;AACL,aAAK,KAAL;AACD;AACF;;;WAEO,uBAAc,KAAd,EAAsB;AAC5B,UAAI,MAAJ;;AAEA,UAAI;AACF,cAAM,GAAG,KAAK,SAAL,CAAe,KAAf,EAAsB,KAAK,KAAL,EAAtB,EAAoC,KAAK,MAAzC,CAAT;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACA;AACD;;AAED,UAAI,MAAJ,EAAY;AACV,aAAK,KAAL;AACD;AACF;;;WAES,qBAAS;AACjB,WAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAK,KAA3B;AACA,WAAK,WAAL,CAAiB,QAAjB;AACD;;;;EApC8B,sD;;;;;;;;;;;;ACnFjC;AAAA;AAAO,IAAM,WAAW,GAAI,SAAf,WAAe,CAAI,CAAJ;AAAA,SAAkC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAT,KAAoB,QAAzB,IAAqC,OAAO,CAAP,KAAa,UAApF;AAAA,CAArB,C;;;;;;;;;;;;ACAP;AAAA;AAAA;AAAA;;AAGA,SAAS,cAAT,CAA2B,GAA3B,EAAqC,IAArC,EAA8C,KAA9C,EAA2D;AACzD,MAAI,KAAK,KAAK,CAAd,EAAiB;AACf,WAAO,CAAC,IAAD,CAAP;AACD;;AACD,KAAG,CAAC,IAAJ,CAAS,IAAT;AACA,SAAO,GAAP;AACD;;AAiCK,SAAU,OAAV,GAAiB;AACrB,SAAO,sDAAM,CAAC,cAAD,EAAiB,EAAjB,CAAb;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5CD;AAMA,IAAa,cAAb;AAAA,EAAE;;AAAF;;AAmBE,0BAAY,eAAZ,EAC6C;AAAA;;AAAA,QAAjC,GAAiC,uEAAb,oDAAS,CAAC,GAAG;;AAAA;;AAC3C,8BAAM,eAAN,EAAuB,YAAK;AAC1B,UAAI,cAAc,CAAC,QAAf,IAA2B,cAAc,CAAC,QAAf,iKAA/B,EAAiE;AAC/D,eAAO,cAAc,CAAC,QAAf,CAAwB,GAAxB,EAAP;AACD,OAFD,MAEO;AACL,eAAO,GAAG,EAAV;AACD;AACF,KAND;AAnBK,oBAAmC,EAAnC;AAOA,mBAAkB,KAAlB;AAQA,sBAAiB,SAAjB;AAGsC;AAQ5C;;AA5BH,EAAE;AAAF;AAAA,WA8BS,kBAAY,IAAZ,EAA6F;AAAA,UAA5B,KAA4B,uEAAZ,CAAY;AAAA,UAAT,KAAS;;AAClG,UAAI,cAAc,CAAC,QAAf,IAA2B,cAAc,CAAC,QAAf,KAA4B,IAA3D,EAAiE;AAC/D,eAAO,cAAc,CAAC,QAAf,CAAwB,QAAxB,CAAiC,IAAjC,EAAuC,KAAvC,EAA8C,KAA9C,CAAP;AACD,OAFD,MAEO;AACL,0VAAsB,IAAtB,EAA4B,KAA5B,EAAmC,KAAnC;AACD;AACF;AApCH;AAAA;AAAA,WAsCS,eAAM,MAAN,EAA8B;AAEnC,UAAO,OAAP,GAAkB,IAAlB,CAAO,OAAP;;AAEA,UAAI,KAAK,MAAT,EAAiB;AACf,eAAO,CAAC,IAAR,CAAa,MAAb;AACA;AACD;;AAED,UAAI,KAAJ;AACA,WAAK,MAAL,GAAc,IAAd;;AAEA,SAAG;AACD,YAAI,KAAK,GAAG,MAAM,CAAC,OAAP,CAAe,MAAM,CAAC,KAAtB,EAA6B,MAAM,CAAC,KAApC,CAAZ,EAAwD;AACtD;AACD;AACF,OAJD,QAIS,MAAM,GAAG,OAAO,CAAC,KAAR,EAJlB;;AAMA,WAAK,MAAL,GAAc,KAAd;;AAEA,UAAI,KAAJ,EAAW;AACT,eAAO,MAAM,GAAG,OAAO,CAAC,KAAR,EAAhB,EAAiC;AAC/B,gBAAM,CAAC,WAAP;AACD;;AACD,cAAM,KAAN;AACD;AACF;AAhEH;;AAAA;AAAA,EAAoC,oDAApC,E;;;;;;;;;;;;;;;;;;;;;;;;;ACLA;AACA;AACA;AAkDM,SAAU,IAAV,CAAkB,KAAlB,EAA+B;AACnC,SAAO,UAAC,MAAD,EAA0B;AAC/B,QAAI,KAAK,KAAK,CAAd,EAAiB;AACf,aAAO,+DAAK,EAAZ;AACD,KAFD,MAEO;AACL,aAAO,MAAM,CAAC,IAAP,CAAY,IAAI,YAAJ,CAAiB,KAAjB,CAAZ,CAAP;AACD;AACF,GAND;AAOD;;IAEK,Y;AACJ,wBAAoB,KAApB,EAAiC;AAAA;;AAAb;;AAClB,QAAI,KAAK,KAAL,GAAa,CAAjB,EAAoB;AAClB,YAAM,IAAI,qFAAJ,EAAN;AACD;AACF;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,cAAJ,CAAmB,UAAnB,EAA+B,KAAK,KAApC,CAAjB,CAAP;AACD;;;;;;IAQG,c;;;;;AAGJ,0BAAY,WAAZ,EAAgD,KAAhD,EAA6D;AAAA;;AAAA;;AAC3D,8BAAM,WAAN;AAD8C;AAFxC,kBAAgB,CAAhB;AAEqD;AAE5D;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAM,KAAK,GAAG,KAAK,KAAnB;AACA,UAAM,KAAK,GAAG,EAAE,KAAK,KAArB;;AACA,UAAI,KAAK,IAAI,KAAb,EAAoB;AAClB,aAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAtB;;AACA,YAAI,KAAK,KAAK,KAAd,EAAqB;AACnB,eAAK,WAAL,CAAiB,QAAjB;AACA,eAAK,WAAL;AACD;AACF;AACF;;;;EAjB6B,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3EhC;AAkFM,SAAU,UAAV,CACJ,QADI,EAC4C;AAEhD,SAAO,SAAS,0BAAT,CAAoC,MAApC,EAAyD;AAC9D,QAAM,QAAQ,GAAG,IAAI,aAAJ,CAAkB,QAAlB,CAAjB;AACA,QAAM,MAAM,GAAG,MAAM,CAAC,IAAP,CAAY,QAAZ,CAAf;AACA,WAAQ,QAAQ,CAAC,MAAT,GAAkB,MAA1B;AACD,GAJD;AAKD;;IAEK,a;AAGJ,yBAAoB,QAApB,EAAyF;AAAA;;AAArE;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,eAAJ,CAAoB,UAApB,EAAgC,KAAK,QAArC,EAA+C,KAAK,MAApD,CAAjB,CAAP;AACD;;;;;;IAQG,e;;;;;AACJ,2BAAY,WAAZ,EACoB,QADpB,EAEoB,MAFpB,EAEyC;AAAA;;AAAA;;AACvC,8BAAM,WAAN;AAFkB;AACA;AAAqB;AAExC;;;;WAOD,eAAM,GAAN,EAAc;AACZ,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,YAAI,MAAJ;;AACA,YAAI;AACF,gBAAM,GAAG,KAAK,QAAL,CAAc,GAAd,EAAmB,KAAK,MAAxB,CAAT;AACD,SAFD,CAEE,OAAO,IAAP,EAAa;AACb,mVAAY,IAAZ;;AACA;AACD;;AACD,aAAK,sBAAL;;AACA,YAAM,eAAe,GAAG,IAAI,qEAAJ,CAA0B,IAA1B,CAAxB;AACA,aAAK,GAAL,CAAS,eAAT;AACA,YAAM,iBAAiB,GAAG,sEAAc,CAAC,MAAD,EAAS,eAAT,CAAxC;;AAIA,YAAI,iBAAiB,KAAK,eAA1B,EAA2C;AACzC,eAAK,GAAL,CAAS,iBAAT;AACD;AACF;AACF;;;;EAhCiC,qE;;;;;;;;;;;;ACjHpC;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACLA;AAAA;AAAA;AAAA;AAAA;AACA;AAiEM,SAAU,SAAV,GAA4D;AAAA,oCAA/B,KAA+B;AAA/B,SAA+B;AAAA;;AAChE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAN,GAAe,CAAhB,CAAvB;;AACA,MAAI,qEAAW,CAAC,SAAD,CAAf,EAA4B;AAE1B,SAAK,CAAC,GAAN;AACA,WAAO,UAAC,MAAD;AAAA,aAA2B,iEAAM,CAAC,KAAD,EAAe,MAAf,EAAuB,SAAvB,CAAjC;AAAA,KAAP;AACD,GAJD,MAIO;AACL,WAAO,UAAC,MAAD;AAAA,aAA2B,iEAAM,CAAC,KAAD,EAAe,MAAf,CAAjC;AAAA,KAAP;AACD;AACF,C;;;;;;;;;;;;AC5ED;AAAA;AAAA;AAAuE;AACxD;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yFAAc;AAChC,C;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAA;AASM,SAAU,MAAV,CAAuB,OAAvB,EAA6D;AACjE,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,2DAAJ,CAAgB,OAAhB,CAAZ,CAA3B;AAAA,GAAP;AACD,C;;;;;;;;;;;;ACVD;AAAA;AAAA;AAAA;AA0CM,SAAU,SAAV,CAAuB,SAAvB,EACuB,OADvB,EACoC;AACxC,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,iEAAJ,CAAsB,SAAtB,EAAiC,MAAjC,EAAyC,IAAzC,EAA+C,OAA/C,CAAZ,CAA3B;AAAA,GAAP;AACD,C;;;;;;;;;;;;AC9CD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6E;AACJ;AACsB;AAClB;AAC9D;AACf,SAAS,4FAAiB,SAAS,0FAAe,SAAS,qGAA0B,SAAS,4FAAiB;AAC/G,C;;;;;;;;;;;;;;;;;;;;;;;;ACJA;AAEA;AAuDM,SAAU,YAAV,CAA0B,OAA1B,EAA2E;AAAA,MAAhC,SAAgC,uEAAL,sDAAK;AAC/E,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,oBAAJ,CAAyB,OAAzB,EAAkC,SAAlC,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,oB;AACJ,gCAAoB,OAApB,EAA6C,SAA7C,EAAqE;AAAA;;AAAjD;AAAyB;AAC5C;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,sBAAJ,CAA2B,UAA3B,EAAuC,KAAK,OAA5C,EAAqD,KAAK,SAA1D,CAAjB,CAAP;AACD;;;;;;IAQG,sB;;;;;AAKJ,kCAAY,WAAZ,EACoB,OADpB,EAEoB,SAFpB,EAE4C;AAAA;;AAAA;;AAC1C,8BAAM,WAAN;AAFkB;AACA;AANZ,kCAAsC,IAAtC;AACA,sBAAe,IAAf;AACA,qBAAoB,KAApB;AAIoC;AAE3C;;;;WAES,eAAM,KAAN,EAAc;AACtB,WAAK,aAAL;AACA,WAAK,SAAL,GAAiB,KAAjB;AACA,WAAK,QAAL,GAAgB,IAAhB;AACA,WAAK,GAAL,CAAS,KAAK,qBAAL,GAA6B,KAAK,SAAL,CAAe,QAAf,CAAwB,YAAxB,EAAsC,KAAK,OAA3C,EAAoD,IAApD,CAAtC;AACD;;;WAES,qBAAS;AACjB,WAAK,aAAL;AACA,WAAK,WAAL,CAAiB,QAAjB;AACD;;;WAED,yBAAa;AACX,WAAK,aAAL;;AAEA,UAAI,KAAK,QAAT,EAAmB;AACjB,YAAQ,SAAR,GAAsB,IAAtB,CAAQ,SAAR;AAMA,aAAK,SAAL,GAAiB,IAAjB;AACA,aAAK,QAAL,GAAgB,KAAhB;AACA,aAAK,WAAL,CAAiB,IAAjB,CAAsB,SAAtB;AACD;AACF;;;WAEO,yBAAa;AACnB,UAAM,qBAAqB,GAAG,KAAK,qBAAnC;;AAEA,UAAI,qBAAqB,KAAK,IAA9B,EAAoC;AAClC,aAAK,MAAL,CAAY,qBAAZ;AACA,6BAAqB,CAAC,WAAtB;AACA,aAAK,qBAAL,GAA6B,IAA7B;AACD;AACF;;;;EA/CqC,sD;;AAkDxC,SAAS,YAAT,CAAsB,UAAtB,EAA6D;AAC3D,YAAU,CAAC,aAAX;AACD,C;;;;;;;;;;;;;;;;;;;;;;;AC/HD;AAoDM,SAAU,IAAV,CAAqB,WAArB,EAA0E,IAA1E,EAAsF;AAC1F,MAAI,OAAO,GAAG,KAAd;;AAMA,MAAI,SAAS,CAAC,MAAV,IAAoB,CAAxB,EAA2B;AACzB,WAAO,GAAG,IAAV;AACD;;AAED,SAAO,SAAS,oBAAT,CAA8B,MAA9B,EAAmD;AACxD,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,YAAJ,CAAiB,WAAjB,EAA8B,IAA9B,EAAoC,OAApC,CAAZ,CAAP;AACD,GAFD;AAGD;;IAEK,Y;AACJ,wBAAoB,WAApB,EAAiF,IAAjF,EAA+H;AAAA,QAAxB,OAAwB,uEAAL,KAAK;;AAAA;;AAA3G;AAA6D;AAAsB;AAA4B;;;;WAEnI,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,cAAJ,CAAmB,UAAnB,EAA+B,KAAK,WAApC,EAAiD,KAAK,IAAtD,EAA4D,KAAK,OAAjE,CAAjB,CAAP;AACD;;;;;;IAQG,c;;;;;AAYJ,0BAAY,WAAZ,EAAgD,WAAhD,EAA6G,KAA7G,EACoB,OADpB,EACoC;AAAA;;AAAA;;AAClC,8BAAM,WAAN;AAF8C;AAA6D;AACzF;AAZZ,kBAAgB,CAAhB;AAY4B;AAEnC;;;;SAZD,eAAQ;AACN,aAAO,KAAK,KAAZ;AACD,K;SAED,aAAS,KAAT,EAAqB;AACnB,WAAK,OAAL,GAAe,IAAf;AACA,WAAK,KAAL,GAAa,KAAb;AACD;;;WAOS,eAAM,KAAN,EAAc;AACtB,UAAI,CAAC,KAAK,OAAV,EAAmB;AACjB,aAAK,IAAL,GAAY,KAAZ;AACA,aAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAtB;AACD,OAHD,MAGO;AACL,eAAO,KAAK,QAAL,CAAc,KAAd,CAAP;AACD;AACF;;;WAEO,kBAAS,KAAT,EAAiB;AACvB,UAAM,KAAK,GAAG,KAAK,KAAL,EAAd;AACA,UAAI,MAAJ;;AACA,UAAI;AACF,cAAM,GAAG,KAAK,WAAL,CAAoB,KAAK,IAAzB,EAA+B,KAA/B,EAAsC,KAAtC,CAAT;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACD;;AACD,WAAK,IAAL,GAAY,MAAZ;AACA,WAAK,WAAL,CAAiB,IAAjB,CAAsB,MAAtB;AACD;;;;EApCgC,sD;;;;;;;;;;;;AClFnC;AAAA;AAAM,SAAU,IAAV,GAAc,CAAM,C;;;;;;;;;;;;ACD1B;AAAA;AAAA;AAAA;AAAA;AAAuE;AACoB;AACE;AAC9E;AACf,kCAAkC,mGAAwB;AAC1D;AACA,gBAAgB,yFAAc;AAC9B;;AAEA;AACA,sBAAsB,yFAAc;AACpC;AACA,KAAK;AACL;AACA;;AAEA,WAAW,oGAAyB;AACpC;AACA,C;;;;;;;;;;;;ACjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AAiGM,SAAU,EAAV,GAAiD;AAAA,oCAA9B,IAA8B;AAA9B,QAA8B;AAAA;;AACrD,MAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAL,GAAc,CAAf,CAApB;;AACA,MAAI,qEAAW,CAAC,SAAD,CAAf,EAA4B;AAC1B,QAAI,CAAC,GAAL;AACA,WAAO,8EAAa,CAAC,IAAD,EAAc,SAAd,CAApB;AACD,GAHD,MAGO;AACL,WAAO,4DAAS,CAAC,IAAD,CAAhB;AACD;AACF,C;;;;;;;;;;;;AC7GD;AAAA;AAAA;AAAA;AAAM,SAAU,iBAAV,GAA2B;AAC/B,MAAI,OAAO,MAAP,KAAkB,UAAlB,IAAgC,CAAC,MAAM,CAAC,QAA5C,EAAsD;AACpD,WAAO,YAAP;AACD;;AAED,SAAO,MAAM,CAAC,QAAd;AACD;AAEM,IAAM,QAAQ,GAAG,iBAAiB,EAAlC;AAKA,IAAM,UAAU,GAAG,QAAnB,C;;;;;;;;;;;;ACbP;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAEM,SAAU,gBAAV,CAA8B,KAA9B,EAAkD,SAAlD,EAA0E;AAC9E,MAAI,CAAC,KAAL,EAAY;AACV,UAAM,IAAI,KAAJ,CAAU,yBAAV,CAAN;AACD;;AACD,SAAO,IAAI,sDAAJ,CAAkB,oBAAU,EAAG;AACpC,QAAM,GAAG,GAAG,IAAI,0DAAJ,EAAZ;AACA,QAAI,QAAJ;AACA,OAAG,CAAC,GAAJ,CAAQ,YAAK;AAEX,UAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,MAAhB,KAA2B,UAA3C,EAAuD;AACrD,gBAAQ,CAAC,MAAT;AACD;AACF,KALD;AAMA,OAAG,CAAC,GAAJ,CAAQ,SAAS,CAAC,QAAV,CAAmB,YAAK;AAC9B,cAAQ,GAAG,KAAK,CAAC,yDAAD,CAAL,EAAX;AACA,SAAG,CAAC,GAAJ,CAAQ,SAAS,CAAC,QAAV,CAAmB;AACzB,YAAI,UAAU,CAAC,MAAf,EAAuB;AACrB;AACD;;AACD,YAAI,KAAJ;AACA,YAAI,IAAJ;;AACA,YAAI;AACF,cAAM,MAAM,GAAG,QAAQ,CAAC,IAAT,EAAf;AACA,eAAK,GAAG,MAAM,CAAC,KAAf;AACA,cAAI,GAAG,MAAM,CAAC,IAAd;AACD,SAJD,CAIE,OAAO,GAAP,EAAY;AACZ,oBAAU,CAAC,KAAX,CAAiB,GAAjB;AACA;AACD;;AACD,YAAI,IAAJ,EAAU;AACR,oBAAU,CAAC,QAAX;AACD,SAFD,MAEO;AACL,oBAAU,CAAC,IAAX,CAAgB,KAAhB;AACA,eAAK,QAAL;AACD;AACF,OApBO,CAAR;AAqBD,KAvBO,CAAR;AAwBA,WAAO,GAAP;AACD,GAlCM,CAAP;AAmCD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzCD;AAIA;AAgBM,SAAU,SAAV,CAAuB,QAAvB,EAA6E;AACjF,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,iBAAJ,CAAsB,QAAtB,EAAgC,MAAhC,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,iB;AACJ,6BAAsB,QAAtB,EACsB,MADtB,EAC2C;AAAA;;AADrB;AACA;AACrB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,mBAAJ,CAAwB,UAAxB,EAAoC,KAAK,QAAzC,EAAmD,KAAK,MAAxD,CAAjB,CAAP;AACD;;;;;;IAQG,mB;;;;;AAMJ,+BAAY,WAAZ,EACoB,QADpB,EAEoB,MAFpB,EAEyC;AAAA;;AAAA;;AACvC,8BAAM,WAAN;AAFkB;AACA;AAAqB;AAExC;;;;WAED,eAAM,GAAN,EAAc;AACZ,UAAI,CAAC,KAAK,SAAV,EAAqB;AAEnB,YAAI,MAAM,GAAG,KAAK,MAAlB;AACA,YAAI,OAAO,GAAQ,KAAK,OAAxB;AACA,YAAI,mBAAmB,GAAG,KAAK,mBAA/B;;AAEA,YAAI,CAAC,OAAL,EAAc;AACZ,gBAAM,GAAG,IAAI,gDAAJ,EAAT;;AACA,cAAI;AACF,gBAAQ,QAAR,GAAqB,IAArB,CAAQ,QAAR;AACA,mBAAO,GAAG,QAAQ,CAAC,MAAD,CAAlB;AACD,WAHD,CAGE,OAAO,CAAP,EAAU;AACV,gWAAmB,CAAnB;AACD;;AACD,6BAAmB,GAAG,sEAAc,CAAC,OAAD,EAAU,IAAI,qEAAJ,CAA0B,IAA1B,CAAV,CAApC;AACD,SATD,MASO;AACL,eAAK,MAAL,GAAc,SAAd;AACA,eAAK,mBAAL,GAA2B,SAA3B;AACD;;AAED,aAAK,sBAAL;;AAEA,aAAK,MAAL,GAAc,MAAd;AACA,aAAK,OAAL,GAAe,OAAf;AACA,aAAK,mBAAL,GAA2B,mBAA3B;AAEA,cAAO,CAAC,IAAR,CAAa,GAAb;AACD;AACF;;;WAGD,wBAAY;AACV,UAAQ,MAAR,GAAwC,IAAxC,CAAQ,MAAR;AAAA,UAAgB,mBAAhB,GAAwC,IAAxC,CAAgB,mBAAhB;;AACA,UAAI,MAAJ,EAAY;AACV,cAAM,CAAC,WAAP;AACA,aAAK,MAAL,GAAc,SAAd;AACD;;AACD,UAAI,mBAAJ,EAAyB;AACvB,2BAAmB,CAAC,WAApB;AACA,aAAK,mBAAL,GAA2B,SAA3B;AACD;;AACD,WAAK,OAAL,GAAe,SAAf;AACD;;;WAED,sBAAU;AACR,UAAQ,YAAR,GAAyB,IAAzB,CAAQ,YAAR;AAEA,WAAK,YAAL,GAAoB,IAApB;;AACA,WAAK,sBAAL;;AACA,WAAK,YAAL,GAAoB,YAApB;AAEA,WAAK,MAAL,CAAY,SAAZ,CAAsB,IAAtB;AACD;;;;EAjEqC,qE;;;;;;;;;;;;AC1CxC;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFA;AAEA;AAQA,IAAa,YAAb;AAAA,EAAE;;AAAF;;AAAA;AAAA;;AAAA,IAAI;;;AACM,kBAAW,IAAX;AACA,oBAAmB,KAAnB;AACA,yBAAwB,KAAxB;AAHV;AAsCC;;AAtCD,EAAE;AAAF;AAAA,WAME,oBAAW,UAAX,EAAsC;AACpC,UAAI,KAAK,QAAT,EAAmB;AACjB,kBAAU,CAAC,KAAX,CAAiB,KAAK,WAAtB;AACA,eAAO,0DAAY,CAAC,KAApB;AACD,OAHD,MAGO,IAAI,KAAK,YAAL,IAAqB,KAAK,OAA9B,EAAuC;AAC5C,kBAAU,CAAC,IAAX,CAAgB,KAAK,KAArB;AACA,kBAAU,CAAC,QAAX;AACA,eAAO,0DAAY,CAAC,KAApB;AACD;;AACD,wVAAwB,UAAxB;AACD;AAhBH;AAAA;AAAA,WAkBE,cAAK,KAAL,EAAa;AACX,UAAI,CAAC,KAAK,YAAV,EAAwB;AACtB,aAAK,KAAL,GAAa,KAAb;AACA,aAAK,OAAL,GAAe,IAAf;AACD;AACF;AAvBH;AAAA;AAAA,WAyBE,eAAM,MAAN,EAAgB;AACd,UAAI,CAAC,KAAK,YAAV,EAAwB;AACtB,8UAAY,MAAZ;AACD;AACF;AA7BH;AAAA;AAAA,WA+BE,oBAAQ;AACN,WAAK,YAAL,GAAoB,IAApB;;AACA,UAAI,KAAK,OAAT,EAAkB;AAChB,6UAAW,KAAK,KAAhB;AACD;;AACD;AACD;AArCH;;AAAA;AAAA,EAAqC,gDAArC,E;;;;;;;;;;;;ACLA;AAAA;AAAM,SAAU,eAAV,CAA0B,GAA1B,EAAkC;AACtC,YAAU,CAAC,YAAK;AAAG,UAAM,GAAN;AAAY,GAArB,EAAuB,CAAvB,CAAV;AACD,C;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAkCM,SAAU,IAAV,CACJ,SADI,EAEJ,YAFI,EAEY;AAEhB,MAAM,eAAe,GAAG,SAAS,CAAC,MAAV,IAAoB,CAA5C;AACA,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAChC,SAAS,GAAG,sDAAM,CAAC,UAAC,CAAD,EAAI,CAAJ;AAAA,aAAU,SAAS,CAAC,CAAD,EAAI,CAAJ,EAAO,MAAP,CAAnB;AAAA,KAAD,CAAT,GAA+C,uDADxB,EAEhC,0DAAQ,CAAC,CAAD,CAFwB,EAGhC,eAAe,GAAG,sEAAc,CAAQ,YAAR,CAAjB,GAAyC,kEAAY,CAAC;AAAA,aAAM,IAAI,2DAAJ,EAAN;AAAA,KAAD,CAHpC,CAA3B;AAAA,GAAP;AAKD,C;;;;;;;;;;;;ACpDD;AAAA;AAAA;AAAA;AAAA;AAoCM,SAAU,KAAV,GAEyC;AAAA,MAFzB,KAEyB,uEAFT,CAES;AAAA,MADzB,KACyB;AAAA,MAAzB,SAAyB;AAC7C,SAAO,IAAI,sDAAJ,CAAuB,oBAAU,EAAG;AACzC,QAAI,KAAK,KAAK,SAAd,EAAyB;AACvB,WAAK,GAAG,KAAR;AACA,WAAK,GAAG,CAAR;AACD;;AAED,QAAI,KAAK,GAAG,CAAZ;AACA,QAAI,OAAO,GAAG,KAAd;;AAEA,QAAI,SAAJ,EAAe;AACb,aAAO,SAAS,CAAC,QAAV,CAAmB,QAAnB,EAA6B,CAA7B,EAAgC;AACrC,aAAK,EAAL,KADqC;AAC9B,aAAK,EAAL,KAD8B;AACvB,aAAK,EAAL,KADuB;AAChB,kBAAU,EAAV;AADgB,OAAhC,CAAP;AAGD,KAJD,MAIO;AACL,SAAG;AACD,YAAI,KAAK,MAAM,KAAf,EAAsB;AACpB,oBAAU,CAAC,QAAX;AACA;AACD;;AACD,kBAAU,CAAC,IAAX,CAAgB,OAAO,EAAvB;;AACA,YAAI,UAAU,CAAC,MAAf,EAAuB;AACrB;AACD;AACF,OATD,QASS,IATT;AAUD;;AAED,WAAO,SAAP;AACD,GA3BM,CAAP;AA4BD;AAGK,SAAU,QAAV,CAA+C,KAA/C,EAAyD;AAC7D,MAAQ,KAAR,GAA4C,KAA5C,CAAQ,KAAR;AAAA,MAAe,KAAf,GAA4C,KAA5C,CAAe,KAAf;AAAA,MAAsB,KAAtB,GAA4C,KAA5C,CAAsB,KAAtB;AAAA,MAA6B,UAA7B,GAA4C,KAA5C,CAA6B,UAA7B;;AAEA,MAAI,KAAK,IAAI,KAAb,EAAoB;AAClB,cAAU,CAAC,QAAX;AACA;AACD;;AAED,YAAU,CAAC,IAAX,CAAgB,KAAhB;;AAEA,MAAI,UAAU,CAAC,MAAf,EAAuB;AACrB;AACD;;AAED,OAAK,CAAC,KAAN,GAAc,KAAK,GAAG,CAAtB;AACA,OAAK,CAAC,KAAN,GAAc,KAAK,GAAG,CAAtB;AAEA,OAAK,QAAL,CAAc,KAAd;AACD,C;;;;;;;;;;;;ACzFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAmDM,SAAU,KAAV,CAAuD,iBAAvD,EAAiF;AACrF,SAAO,IAAI,sDAAJ,CAAmC,oBAAU,EAAG;AACrD,QAAI,KAAJ;;AACA,QAAI;AACF,WAAK,GAAG,iBAAiB,EAAzB;AACD,KAFD,CAEE,OAAO,GAAP,EAAY;AACZ,gBAAU,CAAC,KAAX,CAAiB,GAAjB;AACA,aAAO,SAAP;AACD;;AACD,QAAM,MAAM,GAAG,KAAK,GAAG,kDAAI,CAAC,KAAD,CAAP,GAAwD,oDAAK,EAAjF;AACA,WAAO,MAAM,CAAC,SAAP,CAAiB,UAAjB,CAAP;AACD,GAVM,CAAP;AAWD,C;;;;;;;;;;;;ACjED;AAAA;AAAA;AAAA;AAAA;AACA;AA4DM,SAAU,OAAV,CAAwB,QAAxB,EAAyD;AAC7D,SAAO,QAAQ,GACb,4DAAS,CAAC;AAAA,WAAM,IAAI,gDAAJ,EAAN;AAAA,GAAD,EAAyB,QAAzB,CADI,GAEb,4DAAS,CAAC,IAAI,gDAAJ,EAAD,CAFX;AAGD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjED;AACA;AAKA;AAEA;AAoDM,SAAU,IAAV,GAAwD;AAAA,oCAAnC,WAAmC;AAAnC,eAAmC;AAAA;;AAG5D,MAAI,WAAW,CAAC,MAAZ,KAAuB,CAA3B,EAA8B;AAC5B,QAAI,6DAAO,CAAC,WAAW,CAAC,CAAD,CAAZ,CAAX,EAA6B;AAC3B,iBAAW,GAAG,WAAW,CAAC,CAAD,CAAzB;AACD,KAFD,MAEO;AACL,aAAO,WAAW,CAAC,CAAD,CAAlB;AACD;AACF;;AAED,SAAO,4DAAS,CAAC,WAAD,EAAc,SAAd,CAAT,CAAkC,IAAlC,CAAuC,IAAI,YAAJ,EAAvC,CAAP;AACD;AAED,IAAa,YAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,WACE,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,cAAJ,CAAmB,UAAnB,CAAjB,CAAP;AACD;AAHH;;AAAA;AAAA;AAWA,IAAa,cAAb;AAAA;;AAAA;;AAKE,0BAAY,WAAZ,EAAsC;AAAA;;AAAA;;AACpC,8BAAM,WAAN;AALM,qBAAoB,KAApB;AACA,wBAAiC,EAAjC;AACA,0BAAgC,EAAhC;AAE8B;AAErC;;AAPH;AAAA;AAAA,WASY,eAAM,UAAN,EAAqB;AAC7B,WAAK,WAAL,CAAiB,IAAjB,CAAsB,UAAtB;AACD;AAXH;AAAA;AAAA,WAaY,qBAAS;AACjB,UAAM,WAAW,GAAG,KAAK,WAAzB;AACA,UAAM,GAAG,GAAG,WAAW,CAAC,MAAxB;;AAEA,UAAI,GAAG,KAAK,CAAZ,EAAe;AACb,aAAK,WAAL,CAAiB,QAAjB;AACD,OAFD,MAEO;AACL,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAAJ,IAAW,CAAC,KAAK,QAAjC,EAA2C,CAAC,EAA5C,EAAgD;AAC9C,cAAM,UAAU,GAAG,WAAW,CAAC,CAAD,CAA9B;AACA,cAAM,YAAY,GAAG,iFAAiB,CAAC,IAAD,EAAO,UAAP,EAAmB,SAAnB,EAA8B,CAA9B,CAAtC;;AAEA,cAAI,KAAK,aAAT,EAAwB;AACtB,iBAAK,aAAL,CAAmB,IAAnB,CAAwB,YAAxB;AACD;;AACD,eAAK,GAAL,CAAS,YAAT;AACD;;AACD,aAAK,WAAL,GAAmB,IAAnB;AACD;AACF;AA/BH;AAAA;AAAA,WAiCE,oBAAW,WAAX,EAA2B,UAA3B,EACW,UADX,EAC6B;AAC3B,UAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,aAAK,QAAL,GAAgB,IAAhB;;AAEA,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,aAAL,CAAmB,MAAvC,EAA+C,CAAC,EAAhD,EAAoD;AAClD,cAAI,CAAC,KAAK,UAAV,EAAsB;AACpB,gBAAI,YAAY,GAAG,KAAK,aAAL,CAAmB,CAAnB,CAAnB;AAEA,wBAAY,CAAC,WAAb;AACA,iBAAK,MAAL,CAAY,YAAZ;AACD;AACF;;AAED,aAAK,aAAL,GAAqB,IAArB;AACD;;AAED,WAAK,WAAL,CAAiB,IAAjB,CAAuB,UAAvB;AACD;AAnDH;;AAAA;AAAA,EAAuC,gEAAvC,E;;;;;;;;;;;;;;;;;;;;;;;;;ACnFA;AACA;AACA;AAYA,IAAa,qBAAb;AAAA,EAAE;;AAAF;;AAYE,iCAAmB,MAAnB,EAEmD;AAAA;;AAAA,QAD/B,SAC+B,uEADX,CACW;AAAA,QAA/B,SAA+B,uEAAJ,oDAAI;;AAAA;;AACjD;AAHiB;AACC;AACA;;AAElB,QAAI,CAAC,iEAAS,CAAC,SAAD,CAAV,IAAyB,SAAS,GAAG,CAAzC,EAA4C;AAC1C,YAAK,SAAL,GAAiB,CAAjB;AACD;;AACD,QAAI,CAAC,SAAD,IAAc,OAAO,SAAS,CAAC,QAAjB,KAA8B,UAAhD,EAA4D;AAC1D,YAAK,SAAL,GAAiB,oDAAjB;AACD;;AAPgD;AAQlD;;AAtBH,EAAE;AAAF;AAAA,WAyBE,oBAAW,UAAX,EAAoC;AAClC,UAAM,KAAK,GAAG,KAAK,SAAnB;AACA,UAAM,MAAM,GAAG,KAAK,MAApB;AACA,UAAM,SAAS,GAAG,KAAK,SAAvB;AAEA,aAAO,SAAS,CAAC,QAAV,CAAqC,qBAAqB,CAAC,QAA3D,EAAqE,KAArE,EAA4E;AACjF,cAAM,EAAN,MADiF;AACzE,kBAAU,EAAV;AADyE,OAA5E,CAAP;AAGD;AAjCH;AAAA;AAAA,WAEE,gBAAiB,MAAjB,EAA0F;AAAA,UAAlD,KAAkD,uEAAlC,CAAkC;AAAA,UAA/B,SAA+B,uEAAJ,oDAAI;AACxF,aAAO,IAAI,qBAAJ,CAA0B,MAA1B,EAAkC,KAAlC,EAAyC,SAAzC,CAAP;AACD;AAJH;AAAA;AAAA,WAOE,kBAA6C,GAA7C,EAAgE;AAC9D,UAAQ,MAAR,GAA+B,GAA/B,CAAQ,MAAR;AAAA,UAAgB,UAAhB,GAA+B,GAA/B,CAAgB,UAAhB;AACA,aAAO,KAAK,GAAL,CAAS,MAAM,CAAC,SAAP,CAAiB,UAAjB,CAAT,CAAP;AACD;AAVH;;AAAA;AAAA,EAA8C,sDAA9C,E;;;;;;;;;;;;ACjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuE;AACY;AACY;AACtB;AAC1D;AACf,SAAS,yFAAc,SAAS,+FAAoB,YAAY,qGAA0B,YAAY,0FAAe;AACrH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AAEA;AAoGM,SAAU,OAAV,CAA2B,WAA3B,EAC2B,eAD3B,EAE2B,gBAF3B,EAG2B,eAH3B,EAG6D;AACjE,SAAO,UAAC,MAAD;AAAA,WACL,MAAM,CAAC,IAAP,CAAY,IAAI,eAAJ,CAAoB,WAApB,EAAiC,eAAjC,EAAkD,gBAAlD,EAAoE,eAApE,CAAZ,CADK;AAAA,GAAP;AAED;;IASK,e;AACJ,2BAAoB,WAApB,EACoB,eADpB,EAEoB,gBAFpB,EAGoB,eAHpB,EAGsD;AAAA;;AAHlC;AACA;AACA;AACA;AACnB;;;;WAED,cAAK,UAAL,EAAsD,MAAtD,EAAiE;AAC/D,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,iBAAJ,CACtB,UADsB,EACV,KAAK,WADK,EACQ,KAAK,eADb,EAC8B,KAAK,gBADnC,EACqD,KAAK,eAD1D,CAAjB,CAAP;AAGD;;;;;;IAQG,iB;;;;;AAKJ,6BAAY,WAAZ,EACoB,WADpB,EAEoB,eAFpB,EAGoB,gBAHpB,EAIoB,eAJpB,EAIsD;AAAA;;AAAA;;AACpD,8BAAM,WAAN;AAJkB;AACA;AACA;AACA;AARZ,mBAAiC,IAAjC;AACD,mCAAkC,KAAlC;AACA,kBAAgB,CAAhB;AAM+C;AAErD;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAI,GAAJ;;AACA,UAAI;AACF,WAAG,GAAG,KAAK,WAAL,CAAiB,KAAjB,CAAN;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,KAAL,CAAW,GAAX;AACA;AACD;;AAED,WAAK,MAAL,CAAY,KAAZ,EAAmB,GAAnB;AACD;;;WAEO,gBAAO,KAAP,EAAiB,GAAjB,EAAuB;AAC7B,UAAI,MAAM,GAAG,KAAK,MAAlB;;AAEA,UAAI,CAAC,MAAL,EAAa;AACX,cAAM,GAAG,KAAK,MAAL,GAAc,IAAI,GAAJ,EAAvB;AACD;;AAED,UAAI,KAAK,GAAG,MAAM,CAAC,GAAP,CAAW,GAAX,CAAZ;AAEA,UAAI,OAAJ;;AACA,UAAI,KAAK,eAAT,EAA0B;AACxB,YAAI;AACF,iBAAO,GAAG,KAAK,eAAL,CAAqB,KAArB,CAAV;AACD,SAFD,CAEE,OAAO,GAAP,EAAY;AACZ,eAAK,KAAL,CAAW,GAAX;AACD;AACF,OAND,MAMO;AACL,eAAO,GAAQ,KAAf;AACD;;AAED,UAAI,CAAC,KAAL,EAAY;AACV,aAAK,GAAI,KAAK,eAAL,GAAuB,KAAK,eAAL,EAAvB,GAAgD,IAAI,gDAAJ,EAAzD;AACA,cAAM,CAAC,GAAP,CAAW,GAAX,EAAgB,KAAhB;AACA,YAAM,iBAAiB,GAAG,IAAI,iBAAJ,CAAsB,GAAtB,EAA2B,KAA3B,EAAkC,IAAlC,CAA1B;AACA,aAAK,WAAL,CAAiB,IAAjB,CAAsB,iBAAtB;;AACA,YAAI,KAAK,gBAAT,EAA2B;AACzB,cAAI,QAAJ;;AACA,cAAI;AACF,oBAAQ,GAAG,KAAK,gBAAL,CAAsB,IAAI,iBAAJ,CAA4B,GAA5B,EAA6C,KAA7C,CAAtB,CAAX;AACD,WAFD,CAEE,OAAO,GAAP,EAAY;AACZ,iBAAK,KAAL,CAAW,GAAX;AACA;AACD;;AACD,eAAK,GAAL,CAAS,QAAQ,CAAC,SAAT,CAAmB,IAAI,uBAAJ,CAA4B,GAA5B,EAAiC,KAAjC,EAAwC,IAAxC,CAAnB,CAAT;AACD;AACF;;AAED,UAAI,CAAC,KAAK,CAAC,MAAX,EAAmB;AACjB,aAAK,CAAC,IAAN,CAAW,OAAX;AACD;AACF;;;WAES,gBAAO,GAAP,EAAe;AACvB,UAAM,MAAM,GAAG,KAAK,MAApB;;AACA,UAAI,MAAJ,EAAY;AACV,cAAM,CAAC,OAAP,CAAe,UAAC,KAAD,EAAQ,GAAR,EAAe;AAC5B,eAAK,CAAC,KAAN,CAAY,GAAZ;AACD,SAFD;AAIA,cAAM,CAAC,KAAP;AACD;;AACD,WAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACD;;;WAES,qBAAS;AACjB,UAAM,MAAM,GAAG,KAAK,MAApB;;AACA,UAAI,MAAJ,EAAY;AACV,cAAM,CAAC,OAAP,CAAe,UAAC,KAAD,EAAQ,GAAR,EAAe;AAC5B,eAAK,CAAC,QAAN;AACD,SAFD;AAIA,cAAM,CAAC,KAAP;AACD;;AACD,WAAK,WAAL,CAAiB,QAAjB;AACD;;;WAED,qBAAY,GAAZ,EAAkB;AAChB,WAAK,MAAL,CAAY,MAAZ,CAAmB,GAAnB;AACD;;;WAED,uBAAW;AACT,UAAI,CAAC,KAAK,MAAV,EAAkB;AAChB,aAAK,sBAAL,GAA8B,IAA9B;;AACA,YAAI,KAAK,KAAL,KAAe,CAAnB,EAAsB;AACpB;AACD;AACF;AACF;;;;EAtGsC,sD;;IA8GnC,uB;;;;;AACJ,mCAAoB,GAApB,EACoB,KADpB,EAEoB,MAFpB,EAE8D;AAAA;;AAAA;;AAC5D,gCAAM,KAAN;AAHkB;AACA;AACA;AAA0C;AAE7D;;;;WAES,eAAM,KAAN,EAAc;AACtB,WAAK,QAAL;AACD;;;WAGD,wBAAY;AACV,UAAQ,MAAR,GAAwB,IAAxB,CAAQ,MAAR;AAAA,UAAgB,GAAhB,GAAwB,IAAxB,CAAgB,GAAhB;AACA,WAAK,GAAL,GAAW,KAAK,MAAL,GAAc,IAAzB;;AACA,UAAI,MAAJ,EAAY;AACV,cAAM,CAAC,WAAP,CAAmB,GAAnB;AACD;AACF;;;;EAlByC,sD;;AA6B5C,IAAa,iBAAb;AAAA;;AAAA;;AAEE,6BAAmB,GAAnB,EACoB,YADpB,EAEoB,oBAFpB,EAE+D;AAAA;;AAAA;;AAC7D;AAHiB;AACC;AACA;AAA2C;AAE9D;;AANH;AAAA;AAAA,WASE,oBAAW,UAAX,EAAoC;AAClC,UAAM,YAAY,GAAG,IAAI,0DAAJ,EAArB;AACA,UAAQ,oBAAR,GAA+C,IAA/C,CAAQ,oBAAR;AAAA,UAA8B,YAA9B,GAA+C,IAA/C,CAA8B,YAA9B;;AACA,UAAI,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,MAAlD,EAA0D;AACxD,oBAAY,CAAC,GAAb,CAAiB,IAAI,yBAAJ,CAA8B,oBAA9B,CAAjB;AACD;;AACD,kBAAY,CAAC,GAAb,CAAiB,YAAY,CAAC,SAAb,CAAuB,UAAvB,CAAjB;AACA,aAAO,YAAP;AACD;AAjBH;;AAAA;AAAA,EAA6C,sDAA7C;;IAyBM,yB;;;;;AACJ,qCAAoB,MAApB,EAAgD;AAAA;;AAAA;;AAC9C;AADkB;AAElB,UAAM,CAAC,KAAP;AAF8C;AAG/C;;;;WAED,uBAAW;AACT,UAAM,MAAM,GAAG,KAAK,MAApB;;AACA,UAAI,CAAC,MAAM,CAAC,MAAR,IAAkB,CAAC,KAAK,MAA5B,EAAoC;AAClC;;AACA,cAAM,CAAC,KAAP,IAAgB,CAAhB;;AACA,YAAI,MAAM,CAAC,KAAP,KAAiB,CAAjB,IAAsB,MAAM,CAAC,sBAAjC,EAAyD;AACvD,gBAAM,CAAC,WAAP;AACD;AACF;AACF;;;;EAfqC,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7SxC;AAEA;AAEA;AAkEM,SAAU,UAAV,CAAwB,cAAxB,EAA8C;AAClD,MAAI,MAAM,GAAW,SAAS,CAAC,MAA/B;AAEA,MAAI,SAAS,GAAkB,sDAA/B;;AACA,MAAI,qEAAW,CAAC,SAAS,CAAC,SAAS,CAAC,MAAV,GAAmB,CAApB,CAAV,CAAf,EAAkD;AAChD,aAAS,GAAG,SAAS,CAAC,SAAS,CAAC,MAAV,GAAmB,CAApB,CAArB;AACA,UAAM;AACP;;AAED,MAAI,sBAAsB,GAAW,IAArC;;AACA,MAAI,MAAM,IAAI,CAAd,EAAiB;AACf,0BAAsB,GAAG,SAAS,CAAC,CAAD,CAAlC;AACD;;AAED,MAAI,aAAa,GAAW,MAAM,CAAC,iBAAnC;;AACA,MAAI,MAAM,IAAI,CAAd,EAAiB;AACf,iBAAa,GAAG,SAAS,CAAC,CAAD,CAAzB;AACD;;AAED,SAAO,SAAS,0BAAT,CAAoC,MAApC,EAAyD;AAC9D,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,kBAAJ,CAA0B,cAA1B,EAA0C,sBAA1C,EAAkE,aAAlE,EAAiF,SAAjF,CAAZ,CAAP;AACD,GAFD;AAGD;;IAEK,kB;AACJ,8BAAoB,cAApB,EACoB,sBADpB,EAEoB,aAFpB,EAGoB,SAHpB,EAG4C;AAAA;;AAHxB;AACA;AACA;AACA;AACnB;;;;WAED,cAAK,UAAL,EAAkC,MAAlC,EAA6C;AAC3C,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,oBAAJ,CACtB,UADsB,EACV,KAAK,cADK,EACW,KAAK,sBADhB,EACwC,KAAK,aAD7C,EAC4D,KAAK,SADjE,CAAjB,CAAP;AAGD;;;;;;IAGG,O,GAAN;AAAA,EAAE;;AACA,gBAAc,EAAd;AAED,C;;IAmBK,oB;;;;;AAIJ,gCAAY,WAAZ,EACoB,cADpB,EAEoB,sBAFpB,EAGoB,aAHpB,EAIoB,SAJpB,EAI4C;AAAA;;AAAA;;AAC1C,8BAAM,WAAN;AAJkB;AACA;AACA;AACA;AAPZ,qBAA8B,EAA9B;;AASN,QAAM,OAAO,GAAG,MAAK,WAAL,EAAhB;;AACA,UAAK,YAAL,GAAoB,sBAAsB,IAAI,IAA1B,IAAkC,sBAAsB,GAAG,CAA/E;;AACA,QAAI,MAAK,YAAT,EAAuB;AACrB,UAAM,iBAAiB,GAAG;AAAE,kBAAU,8JAAZ;AAAoB,eAAO,EAAP,OAApB;AAA6B,sBAAc,EAAd;AAA7B,OAA1B;;AACA,YAAK,GAAL,CAAS,OAAO,CAAC,WAAR,GAAsB,SAAS,CAAC,QAAV,CAAmB,0BAAnB,EAA+C,cAA/C,EAA+D,iBAA/D,CAA/B;AACD,KAHD,MAGO;AACL,UAAM,UAAU,GAAG;AAAE,kBAAU,8JAAZ;AAAoB,eAAO,EAAP;AAApB,OAAnB;AACA,UAAM,aAAa,GAAyB;AAAE,sBAAc,EAAd,cAAF;AAAkB,8BAAsB,EAAtB,sBAAlB;AAA0C,kBAAU,8JAApD;AAA4D,iBAAS,EAAT;AAA5D,OAA5C;;AACA,YAAK,GAAL,CAAS,OAAO,CAAC,WAAR,GAAsB,SAAS,CAAC,QAAV,CAAwC,mBAAxC,EAA6D,cAA7D,EAA6E,UAA7E,CAA/B;;AACA,YAAK,GAAL,CAAS,SAAS,CAAC,QAAV,CAAyC,sBAAzC,EAAiE,sBAAjE,EAAyF,aAAzF,CAAT;AACD;;AAZyC;AAa3C;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAM,QAAQ,GAAG,KAAK,QAAtB;AACA,UAAM,GAAG,GAAG,QAAQ,CAAC,MAArB;AACA,UAAI,mBAAJ;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,CAAC,EAA1B,EAA8B;AAC5B,YAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AACA,YAAM,MAAM,GAAG,OAAO,CAAC,MAAvB;AACA,cAAM,CAAC,IAAP,CAAY,KAAZ;;AACA,YAAI,MAAM,CAAC,MAAP,IAAiB,KAAK,aAA1B,EAAyC;AACvC,6BAAmB,GAAG,OAAtB;AACD;AACF;;AAED,UAAI,mBAAJ,EAAyB;AACvB,aAAK,YAAL,CAAkB,mBAAlB;AACD;AACF;;;WAES,gBAAO,GAAP,EAAe;AACvB,WAAK,QAAL,CAAc,MAAd,GAAuB,CAAvB;;AACA,qVAAa,GAAb;AACD;;;WAES,qBAAS;AACjB,UAAQ,QAAR,GAAkC,IAAlC,CAAQ,QAAR;AAAA,UAAkB,WAAlB,GAAkC,IAAlC,CAAkB,WAAlB;;AACA,aAAO,QAAQ,CAAC,MAAT,GAAkB,CAAzB,EAA4B;AAC1B,YAAM,OAAO,GAAG,QAAQ,CAAC,KAAT,EAAhB;AACA,mBAAW,CAAC,IAAZ,CAAiB,OAAO,CAAC,MAAzB;AACD;;AACD;AACD;;;WAGD,wBAAY;AACV,WAAK,QAAL,GAAgB,IAAhB;AACD;;;WAES,sBAAa,OAAb,EAAgC;AACxC,WAAK,YAAL,CAAkB,OAAlB;AACA,UAAM,WAAW,GAAG,OAAO,CAAC,WAA5B;AACA,iBAAW,CAAC,WAAZ;AACA,WAAK,MAAL,CAAY,WAAZ;;AAEA,UAAI,CAAC,KAAK,MAAN,IAAgB,KAAK,YAAzB,EAAuC;AACrC,eAAO,GAAG,KAAK,WAAL,EAAV;AACA,YAAM,cAAc,GAAG,KAAK,cAA5B;AACA,YAAM,iBAAiB,GAAG;AAAE,oBAAU,EAAE,IAAd;AAAoB,iBAAO,EAAP,OAApB;AAA6B,wBAAc,EAAd;AAA7B,SAA1B;AACA,aAAK,GAAL,CAAS,OAAO,CAAC,WAAR,GAAsB,KAAK,SAAL,CAAe,QAAf,CAAwB,0BAAxB,EAAoD,cAApD,EAAoE,iBAApE,CAA/B;AACD;AACF;;;WAED,uBAAW;AACT,UAAM,OAAO,GAAe,IAAI,OAAJ,EAA5B;AACA,WAAK,QAAL,CAAc,IAAd,CAAmB,OAAnB;AACA,aAAO,OAAP;AACD;;;WAED,sBAAa,OAAb,EAAgC;AAC9B,WAAK,WAAL,CAAiB,IAAjB,CAAsB,OAAO,CAAC,MAA9B;AACA,UAAM,QAAQ,GAAG,KAAK,QAAtB;AAEA,UAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC,OAAT,CAAiB,OAAjB,CAAH,GAA+B,CAAC,CAA5D;;AACA,UAAI,WAAW,IAAI,CAAnB,EAAsB;AACpB,gBAAQ,CAAC,MAAT,CAAgB,QAAQ,CAAC,OAAT,CAAiB,OAAjB,CAAhB,EAA2C,CAA3C;AACD;AACF;;;;EAxFmC,sD;;AA2FtC,SAAS,0BAAT,CAAgE,KAAhE,EAA0E;AACxE,MAAM,UAAU,GAA8B,KAAK,CAAC,UAApD;AAEA,MAAM,WAAW,GAAG,KAAK,CAAC,OAA1B;;AACA,MAAI,WAAJ,EAAiB;AACf,cAAU,CAAC,YAAX,CAAwB,WAAxB;AACD;;AAED,MAAI,CAAC,UAAU,CAAC,MAAhB,EAAwB;AACtB,SAAK,CAAC,OAAN,GAAgB,UAAU,CAAC,WAAX,EAAhB;AACA,SAAK,CAAC,OAAN,CAAc,WAAd,GAA4B,KAAK,QAAL,CAAc,KAAd,EAAqB,KAAK,CAAC,cAA3B,CAA5B;AACD;AACF;;AAED,SAAS,sBAAT,CAAgF,KAAhF,EAA2G;AACzG,MAAQ,sBAAR,GAA0E,KAA1E,CAAQ,sBAAR;AAAA,MAAgC,cAAhC,GAA0E,KAA1E,CAAgC,cAAhC;AAAA,MAAgD,UAAhD,GAA0E,KAA1E,CAAgD,UAAhD;AAAA,MAA4D,SAA5D,GAA0E,KAA1E,CAA4D,SAA5D;AACA,MAAM,OAAO,GAAG,UAAU,CAAC,WAAX,EAAhB;AACA,MAAM,MAAM,GAA0C,IAAtD;;AACA,MAAI,CAAC,UAAU,CAAC,MAAhB,EAAwB;AACtB,cAAU,CAAC,GAAX,CAAe,OAAO,CAAC,WAAR,GAAsB,SAAS,CAAC,QAAV,CAAwC,mBAAxC,EAA6D,cAA7D,EAA6E;AAAE,gBAAU,EAAV,UAAF;AAAc,aAAO,EAAP;AAAd,KAA7E,CAArC;AACA,UAAM,CAAC,QAAP,CAAgB,KAAhB,EAAuB,sBAAvB;AACD;AACF;;AAED,SAAS,mBAAT,CAAgC,GAAhC,EAAwD;AACtD,MAAQ,UAAR,GAAgC,GAAhC,CAAQ,UAAR;AAAA,MAAoB,OAApB,GAAgC,GAAhC,CAAoB,OAApB;AACA,YAAU,CAAC,YAAX,CAAwB,OAAxB;AACD,C;;;;;;;;;;;;ACzPD;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAA;AAAA;AA8EM,SAAU,uBAAV,CAAwD,GAAxD,EAAgE,OAAhE,EAAuG;AAC3G,SAAO,kFAAoB,CAAC,UAAC,CAAD,EAAO,CAAP;AAAA,WAAgB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAD,CAAF,EAAS,CAAC,CAAC,GAAD,CAAV,CAAV,GAA6B,CAAC,CAAC,GAAD,CAAD,KAAW,CAAC,CAAC,GAAD,CAAhE;AAAA,GAAD,CAA3B;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7ED;AAEA;AA4CM,SAAU,UAAV,CAAwB,eAAxB,EAA8D;AAClE,SAAO,UAAU,MAAV,EAA+B;AACpC,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,kBAAJ,CAAuB,eAAvB,CAAZ,CAAP;AACD,GAFD;AAGD;;IAEK,kB;AAEJ,8BAAoB,eAApB,EAA0D;AAAA;;AAAtC;AACnB;;;;WAED,cAAK,UAAL,EAAkC,MAAlC,EAA6C;AAC3C,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,oBAAJ,CAAyB,UAAzB,EAAqC,KAAK,eAA1C,CAAjB,CAAP;AACD;;;;;;IAQG,oB;;;;;AAKJ,gCAAY,WAAZ,EAAkD,eAAlD,EAAwF;AAAA;;AAAA;;AACtF,8BAAM,WAAN;AADgD;AAH1C,wBAAuB,KAAvB;;AAKN,UAAK,UAAL;;AAFsF;AAGvF;;;;WAES,eAAM,KAAN,EAAc;AACtB,WAAK,MAAL,CAAa,IAAb,CAAkB,KAAlB;AACD;;;WAES,qBAAS;AACjB,UAAM,MAAM,GAAG,KAAK,MAApB;;AACA,UAAI,MAAJ,EAAY;AACV,aAAK,WAAL,CAAiB,IAAjB,CAAuB,MAAvB;AACD;;AACD;AACD;;;WAGD,wBAAY;AACV,WAAK,MAAL,GAAc,SAAd;AACA,WAAK,WAAL,GAAmB,KAAnB;AACD;;;WAED,sBAAU;AACR,WAAK,UAAL;AACD;;;WAED,0BAAc;AACZ,UAAI,KAAK,WAAT,EAAsB;AACpB,aAAK,QAAL;AACD,OAFD,MAEO;AACL,aAAK,UAAL;AACD;AACF;;;WAED,sBAAU;AACR,UAAM,mBAAN,GAA8B,IAA9B,CAAM,mBAAN;;AAEA,UAAI,mBAAJ,EAAyB;AACvB,aAAK,MAAL,CAAY,mBAAZ;AACA,2BAAmB,CAAC,WAApB;AACD;;AAED,UAAM,MAAM,GAAG,KAAK,MAApB;;AACA,UAAI,KAAK,MAAT,EAAiB;AACf,aAAK,WAAL,CAAiB,IAAjB,CAAuB,MAAvB;AACD;;AAED,WAAK,MAAL,GAAc,EAAd;AAEA,UAAI,eAAJ;;AACA,UAAI;AACF,YAAQ,eAAR,GAA4B,IAA5B,CAAQ,eAAR;AACA,uBAAe,GAAG,eAAe,EAAjC;AACD,OAHD,CAGE,OAAO,GAAP,EAAY;AACZ,eAAO,KAAK,KAAL,CAAW,GAAX,CAAP;AACD;;AACD,yBAAmB,GAAG,IAAI,0DAAJ,EAAtB;AACA,WAAK,mBAAL,GAA2B,mBAA3B;AACA,WAAK,GAAL,CAAS,mBAAT;AACA,WAAK,WAAL,GAAmB,IAAnB;AACA,yBAAmB,CAAC,GAApB,CAAwB,sEAAc,CAAC,eAAD,EAAkB,IAAI,qEAAJ,CAA0B,IAA1B,CAAlB,CAAtC;AACA,WAAK,WAAL,GAAmB,KAAnB;AACD;;;;EApEmC,qE;;;;;;;;;;;;ACtEtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAqDM,SAAU,KAAV,GAEyC;AAAA,MAFzB,OAEyB,uEAFA,CAEA;AAAA,MADzB,iBACyB;AAAA,MAAzB,SAAyB;AAC7C,MAAI,MAAM,GAAG,CAAC,CAAd;;AACA,MAAI,iEAAS,CAAC,iBAAD,CAAb,EAAkC;AAChC,UAAM,GAAG,MAAM,CAAC,iBAAD,CAAN,GAA4B,CAA5B,IAAiC,CAAjC,IAAsC,MAAM,CAAC,iBAAD,CAArD;AACD,GAFD,MAEO,IAAI,qEAAW,CAAC,iBAAD,CAAf,EAAoC;AACzC,aAAS,GAAG,iBAAZ;AACD;;AAED,MAAI,CAAC,qEAAW,CAAC,SAAD,CAAhB,EAA6B;AAC3B,aAAS,GAAG,sDAAZ;AACD;;AAED,SAAO,IAAI,sDAAJ,CAAe,oBAAU,EAAG;AACjC,QAAM,GAAG,GAAG,iEAAS,CAAC,OAAD,CAAT,GACP,OADO,GAEP,CAAC,OAAD,GAAW,SAAS,CAAC,GAAV,EAFhB;AAIA,WAAO,SAAS,CAAC,QAAV,CAAmB,QAAnB,EAA6B,GAA7B,EAAkC;AACvC,WAAK,EAAE,CADgC;AAC7B,YAAM,EAAN,MAD6B;AACrB,gBAAU,EAAV;AADqB,KAAlC,CAAP;AAGD,GARM,CAAP;AASD;;AAQD,SAAS,QAAT,CAAqD,KAArD,EAAsE;AACpE,MAAQ,KAAR,GAAsC,KAAtC,CAAQ,KAAR;AAAA,MAAe,MAAf,GAAsC,KAAtC,CAAe,MAAf;AAAA,MAAuB,UAAvB,GAAsC,KAAtC,CAAuB,UAAvB;AACA,YAAU,CAAC,IAAX,CAAgB,KAAhB;;AAEA,MAAI,UAAU,CAAC,MAAf,EAAuB;AACrB;AACD,GAFD,MAEO,IAAI,MAAM,KAAK,CAAC,CAAhB,EAAmB;AACxB,WAAO,UAAU,CAAC,QAAX,EAAP;AACD;;AAED,OAAK,CAAC,KAAN,GAAc,KAAK,GAAG,CAAtB;AACA,OAAK,QAAL,CAAc,KAAd,EAAqB,MAArB;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpGD;AACA;AAQA,IAAa,UAAb;AAAA,EAAE;;AAAF;;AAEE,sBAAsB,SAAtB,EACsB,IADtB,EACyE;AAAA;;AAAA;;AACvE,8BAAM,SAAN,EAAiB,IAAjB;AAFoB;AACA;AAAmD;AAExE;;AALH,EAAE;AAAF;AAAA,WAOY,wBAAe,SAAf,EAAyC,EAAzC,EAAoE;AAAA,UAAjB,KAAiB,uEAAD,CAAC;;AAE5E,UAAI,KAAK,KAAK,IAAV,IAAkB,KAAK,GAAG,CAA9B,EAAiC;AAC/B,4VAA4B,SAA5B,EAAuC,EAAvC,EAA2C,KAA3C;AACD;;AAED,eAAS,CAAC,OAAV,CAAkB,IAAlB,CAAuB,IAAvB;AAIA,aAAO,SAAS,CAAC,SAAV,KAAwB,SAAS,CAAC,SAAV,GAAsB,yDAAS,CAAC,YAAV,CACnD,SAAS,CAAC,KAAV,CAAgB,IAAhB,CAAqB,SAArB,EAAgC,IAAhC,CADmD,CAA9C,CAAP;AAGD;AApBH;AAAA;AAAA,WAqBY,wBAAe,SAAf,EAAyC,EAAzC,EAAoE;AAAA,UAAjB,KAAiB,uEAAD,CAAC;;AAI5E,UAAK,KAAK,KAAK,IAAV,IAAkB,KAAK,GAAG,CAA3B,IAAkC,KAAK,KAAK,IAAV,IAAkB,KAAK,KAAL,GAAa,CAArE,EAAyE;AACvE,4VAA4B,SAA5B,EAAuC,EAAvC,EAA2C,KAA3C;AACD;;AAID,UAAI,SAAS,CAAC,OAAV,CAAkB,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iEAAS,CAAC,cAAV,CAAyB,EAAzB;AACA,iBAAS,CAAC,SAAV,GAAsB,SAAtB;AACD;;AAED,aAAO,SAAP;AACD;AArCH;;AAAA;AAAA,EAAmC,wDAAnC,E;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAGM,SAAU,mBAAV,CAA8B,KAA9B,EAAwC;AAC5C,SAAO,KAAK,IAAI,OAAO,KAAK,CAAC,6DAAD,CAAZ,KAAoC,UAApD;AACD,C;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AA8BM,SAAU,KAAV,CAAmB,eAAnB,EACmB,iBADnB,EACoG;AACxG,SAAO,IAAI,sDAAJ,CAAkB,oBAAU,EAAG;AACpC,QAAI,QAAJ;;AAEA,QAAI;AACF,cAAQ,GAAG,eAAe,EAA1B;AACD,KAFD,CAEE,OAAO,GAAP,EAAY;AACZ,gBAAU,CAAC,KAAX,CAAiB,GAAjB;AACA,aAAO,SAAP;AACD;;AAED,QAAI,MAAJ;;AACA,QAAI;AACF,YAAM,GAAG,iBAAiB,CAAC,QAAD,CAA1B;AACD,KAFD,CAEE,OAAO,GAAP,EAAY;AACZ,gBAAU,CAAC,KAAX,CAAiB,GAAjB;AACA,aAAO,SAAP;AACD;;AAED,QAAM,MAAM,GAAG,MAAM,GAAG,kDAAI,CAAC,MAAD,CAAP,GAAkB,4CAAvC;AACA,QAAM,YAAY,GAAG,MAAM,CAAC,SAAP,CAAiB,UAAjB,CAArB;AACA,WAAO,YAAK;AACV,kBAAY,CAAC,WAAb;;AACA,UAAI,QAAJ,EAAc;AACZ,gBAAQ,CAAC,WAAT;AACD;AACF,KALD;AAMD,GA1BM,CAAP;AA2BD,C;;;;;;;;;;;;;;;;;;;;;;AC7DD;AACA;AAEA;AACA;AACA;AACA;AA4KM,SAAU,YAAV,CACJ,YADI,EAEJ,cAFI,EAGJ,SAHI,EAGqB;AAEzB,MAAI,cAAJ,EAAoB;AAClB,QAAI,qEAAW,CAAC,cAAD,CAAf,EAAiC;AAC/B,eAAS,GAAG,cAAZ;AACD,KAFD,MAEO;AAEL,aAAO;AAAA,eAAoB,YAAY,CAAC,YAAD,EAAe,SAAf,CAAZ,0BAA+C,IAA/C,CACzB,0DAAG,CAAC,UAAC,IAAD;AAAA,iBAAU,6DAAO,CAAC,IAAD,CAAP,GAAgB,cAAc,MAAd,2JAAkB,IAAlB,EAAhB,GAA0C,cAAc,CAAC,IAAD,CAAlE;AAAA,SAAD,CADsB,CAApB;AAAA,OAAP;AAGD;AACF;;AAED,SAAO,YAAmC;AAAA,sCAAX,IAAW;AAAX,UAAW;AAAA;;AACxC,QAAM,OAAO,GAAG,IAAhB;AACA,QAAI,OAAJ;AACA,QAAM,MAAM,GAAG;AACb,aAAO,EAAP,OADa;AAEb,aAAO,EAAP,OAFa;AAGb,kBAAY,EAAZ,YAHa;AAIb,eAAS,EAAT;AAJa,KAAf;AAMA,WAAO,IAAI,sDAAJ,CAAkB,oBAAU,EAAG;AACpC,UAAI,CAAC,SAAL,EAAgB;AACd,YAAI,CAAC,OAAL,EAAc;AACZ,iBAAO,GAAG,IAAI,0DAAJ,EAAV;;AACA,cAAM,OAAO,GAAG,SAAV,OAAU,GAAwB;AAAA,+CAApB,SAAoB;AAApB,uBAAoB;AAAA;;AACtC,mBAAO,CAAC,IAAR,CAAa,SAAS,CAAC,MAAV,IAAoB,CAApB,GAAwB,SAAS,CAAC,CAAD,CAAjC,GAAuC,SAApD;AACA,mBAAO,CAAC,QAAR;AACD,WAHD;;AAKA,cAAI;AACF,wBAAY,CAAC,KAAb,CAAmB,OAAnB,YAAgC,IAAhC,GAAsC,OAAtC;AACD,WAFD,CAEE,OAAO,GAAP,EAAY;AACZ,gBAAI,2EAAc,CAAC,OAAD,CAAlB,EAA6B;AAC3B,qBAAO,CAAC,KAAR,CAAc,GAAd;AACD,aAFD,MAEO;AACL,qBAAO,CAAC,IAAR,CAAa,GAAb;AACD;AACF;AACF;;AACD,eAAO,OAAO,CAAC,SAAR,CAAkB,UAAlB,CAAP;AACD,OAnBD,MAmBO;AACL,YAAM,KAAK,GAAqB;AAC9B,cAAI,EAAJ,IAD8B;AACxB,oBAAU,EAAV,UADwB;AACZ,gBAAM,EAAN;AADY,SAAhC;AAGA,eAAO,SAAS,CAAC,QAAV,CAAqC,QAArC,EAA+C,CAA/C,EAAkD,KAAlD,CAAP;AACD;AACF,KA1BM,CAAP;AA2BD,GApCD;AAqCD;;AAeD,SAAS,QAAT,CAA8D,KAA9D,EAAqF;AAAA;;AACnF,MAAM,IAAI,GAAG,IAAb;AACA,MAAQ,IAAR,GAAqC,KAArC,CAAQ,IAAR;AAAA,MAAc,UAAd,GAAqC,KAArC,CAAc,UAAd;AAAA,MAA0B,MAA1B,GAAqC,KAArC,CAA0B,MAA1B;AACA,MAAQ,YAAR,GAA6C,MAA7C,CAAQ,YAAR;AAAA,MAAsB,OAAtB,GAA6C,MAA7C,CAAsB,OAAtB;AAAA,MAA+B,SAA/B,GAA6C,MAA7C,CAA+B,SAA/B;AACA,MAAM,OAAN,GAAkB,MAAlB,CAAM,OAAN;;AACA,MAAI,CAAC,OAAL,EAAc;AACZ,WAAO,GAAG,MAAM,CAAC,OAAP,GAAiB,IAAI,0DAAJ,EAA3B;;AAEA,QAAM,OAAO,GAAG,SAAV,OAAU,GAAwB;AAAA,yCAApB,SAAoB;AAApB,iBAAoB;AAAA;;AACtC,UAAM,KAAK,GAAG,SAAS,CAAC,MAAV,IAAoB,CAApB,GAAwB,SAAS,CAAC,CAAD,CAAjC,GAAuC,SAArD;;AACA,WAAI,CAAC,GAAL,CAAS,SAAS,CAAC,QAAV,CAAiC,YAAjC,EAA+C,CAA/C,EAAkD;AAAE,aAAK,EAAL,KAAF;AAAS,eAAO,EAAP;AAAT,OAAlD,CAAT;AACD,KAHD;;AAKA,QAAI;AACF,kBAAY,CAAC,KAAb,CAAmB,OAAnB,8JAAgC,IAAhC,IAAsC,OAAtC;AACD,KAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAO,CAAC,KAAR,CAAc,GAAd;AACD;AACF;;AAED,OAAK,GAAL,CAAS,OAAO,CAAC,SAAR,CAAkB,UAAlB,CAAT;AACD;;AAOD,SAAS,YAAT,CAA8D,KAA9D,EAAiF;AAC/E,MAAQ,KAAR,GAA2B,KAA3B,CAAQ,KAAR;AAAA,MAAe,OAAf,GAA2B,KAA3B,CAAe,OAAf;AACA,SAAO,CAAC,IAAR,CAAa,KAAb;AACA,SAAO,CAAC,QAAR;AACD;;AAOD,SAAS,aAAT,CAAgE,KAAhE,EAAoF;AAClF,MAAQ,GAAR,GAAyB,KAAzB,CAAQ,GAAR;AAAA,MAAa,OAAb,GAAyB,KAAzB,CAAa,OAAb;AACA,SAAO,CAAC,KAAR,CAAc,GAAd;AACD,C;;;;;;;;;;;;ACjSD;AAAA;AAAA;AAAA;AAAuE;AACoB;AAC5E;AACf,MAAM,mGAAwB;AAC9B;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,iBAAiB,yFAAc;AAC/B;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;;;;;;;;;;;;AChBA;AAEA,IAAa,aAAb;AAAA,EAAE;;AAAF;;AAAA;AAAA,IAAI;;AAAJ;AAAA;;AAAA,EAAE;AAAF;AAAA,WACS,eAAM,MAAN,EAA+B;AAEpC,WAAK,MAAL,GAAc,IAAd;AACA,WAAK,SAAL,GAAiB,SAAjB;AAEA,UAAO,OAAP,GAAkB,IAAlB,CAAO,OAAP;AACA,UAAI,KAAJ;AACA,UAAI,KAAK,GAAW,CAAC,CAArB;AACA,UAAI,KAAK,GAAW,OAAO,CAAC,MAA5B;AACA,YAAM,GAAG,MAAM,IAAI,OAAO,CAAC,KAAR,EAAnB;;AAEA,SAAG;AACD,YAAI,KAAK,GAAG,MAAM,CAAC,OAAP,CAAe,MAAM,CAAC,KAAtB,EAA6B,MAAM,CAAC,KAApC,CAAZ,EAAwD;AACtD;AACD;AACF,OAJD,QAIS,EAAE,KAAF,GAAU,KAAV,KAAoB,MAAM,GAAG,OAAO,CAAC,KAAR,EAA7B,CAJT;;AAMA,WAAK,MAAL,GAAc,KAAd;;AAEA,UAAI,KAAJ,EAAW;AACT,eAAO,EAAE,KAAF,GAAU,KAAV,KAAoB,MAAM,GAAG,OAAO,CAAC,KAAR,EAA7B,CAAP,EAAsD;AACpD,gBAAM,CAAC,WAAP;AACD;;AACD,cAAM,KAAN;AACD;AACF;AA1BH;;AAAA;AAAA,EAAmC,8DAAnC,E;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAqE;AACtD;AACf;AACA;AACA,GAAG;AACH;AACA,iBAAiB,wFAAa;AAC9B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AClBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIO,IAAM,WAAW,GAAG,SAAd,WAAc,CAAI,MAAJ,EAAsF;AAC/G,MAAI,CAAC,CAAC,MAAF,IAAY,OAAO,MAAM,CAAC,6DAAD,CAAb,KAAqC,UAArD,EAAiE;AAC/D,WAAO,oFAAqB,CAAC,MAAD,CAA5B;AACD,GAFD,MAEO,IAAI,gEAAW,CAAC,MAAD,CAAf,EAAyB;AAC9B,WAAO,0EAAgB,CAAC,MAAD,CAAvB;AACD,GAFM,MAEA,IAAI,4DAAS,CAAC,MAAD,CAAb,EAAuB;AAC5B,WAAO,8EAAkB,CAAC,MAAD,CAAzB;AACD,GAFM,MAEA,IAAI,CAAC,CAAC,MAAF,IAAY,OAAO,MAAM,CAAC,yDAAD,CAAb,KAAmC,UAAnD,EAA+D;AACpE,WAAO,gFAAmB,CAAC,MAAD,CAA1B;AACD,GAFM,MAEA;AACL,QAAM,KAAK,GAAG,0DAAQ,CAAC,MAAD,CAAR,GAAmB,mBAAnB,cAA6C,MAA7C,MAAd;AACA,QAAM,GAAG,GAAG,uBAAgB,KAAhB,qCACR,8DADJ;AAEA,UAAM,IAAI,SAAJ,CAAc,GAAd,CAAN;AACD;AACF,CAfM,C;;;;;;;;;;;;ACbP;AAAA;AAAM,SAAU,QAAV,CAAsB,CAAtB,EAA0B;AAC9B,SAAO,CAAP;AACD,C;;;;;;;;;;;;ACCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAuEM,SAAU,KAAV,CACJ,SADI,EAEJ,YAFI,EAEY;AAEhB,MAAM,eAAe,GAAG,SAAS,CAAC,MAAV,IAAoB,CAA5C;AACA,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAChC,SAAS,GAAG,sDAAM,CAAC,UAAC,CAAD,EAAI,CAAJ;AAAA,aAAU,SAAS,CAAC,CAAD,EAAI,CAAJ,EAAO,MAAP,CAAnB;AAAA,KAAD,CAAT,GAA+C,uDADxB,EAEhC,kDAAI,CAAC,CAAD,CAF4B,EAGhC,eAAe,GAAG,sEAAc,CAAQ,YAAR,CAAjB,GAAyC,kEAAY,CAAC;AAAA,aAAM,IAAI,2DAAJ,EAAN;AAAA,KAAD,CAHpC,CAA3B;AAAA,GAAP;AAKD,C;;;;;;;;;;;;AC1FD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuE;AACE;AACsB;AACtB;AAC1D;AACf,SAAS,yFAAc,SAAS,0FAAe,SAAS,qGAA0B,SAAS,0FAAe;AAC1G,C;;;;;;;;;;;;ACNA;AAAA;AAAe;AACf;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACbA;AAAA;AAAA;AAAA;AAAA;AACA;AAUM,SAAU,eAAV,CAA6B,KAA7B,EAAqC;AACzC,SAAO,UAAC,MAAD;AAAA,WAA2B,4DAAS,CAAC,IAAI,gEAAJ,CAAuB,KAAvB,CAAD,CAAT,CAAyC,MAAzC,CAA3B;AAAA,GAAP;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdD;AAEA;AACA;AAGA;AACA;AA+FM,SAAU,UAAV,CAAwB,cAAxB,EAA8C;AAClD,MAAI,SAAS,GAAkB,sDAA/B;AACA,MAAI,sBAAsB,GAAW,IAArC;AACA,MAAI,aAAa,GAAW,MAAM,CAAC,iBAAnC;;AAEA,MAAI,sEAAW,CAAC,SAAS,CAAC,CAAD,CAAV,CAAf,EAA+B;AAC7B,aAAS,GAAG,SAAS,CAAC,CAAD,CAArB;AACD;;AAED,MAAI,sEAAW,CAAC,SAAS,CAAC,CAAD,CAAV,CAAf,EAA+B;AAC7B,aAAS,GAAG,SAAS,CAAC,CAAD,CAArB;AACD,GAFD,MAEO,IAAI,kEAAS,CAAC,SAAS,CAAC,CAAD,CAAV,CAAb,EAA6B;AAClC,iBAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAD,CAAV,CAAtB;AACD;;AAED,MAAI,sEAAW,CAAC,SAAS,CAAC,CAAD,CAAV,CAAf,EAA+B;AAC7B,aAAS,GAAG,SAAS,CAAC,CAAD,CAArB;AACD,GAFD,MAEO,IAAI,kEAAS,CAAC,SAAS,CAAC,CAAD,CAAV,CAAb,EAA6B;AAClC,0BAAsB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAD,CAAV,CAA/B;AACD;;AAED,SAAO,SAAS,0BAAT,CAAoC,MAApC,EAAyD;AAC9D,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,kBAAJ,CAA0B,cAA1B,EAA0C,sBAA1C,EAAkE,aAAlE,EAAiF,SAAjF,CAAZ,CAAP;AACD,GAFD;AAGD;;IAEK,kB;AAEJ,8BAAoB,cAApB,EACoB,sBADpB,EAEoB,aAFpB,EAGoB,SAHpB,EAG4C;AAAA;;AAHxB;AACA;AACA;AACA;AACnB;;;;WAED,cAAK,UAAL,EAA4C,MAA5C,EAAuD;AACrD,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,oBAAJ,CACtB,UADsB,EACV,KAAK,cADK,EACW,KAAK,sBADhB,EACwC,KAAK,aAD7C,EAC4D,KAAK,SADjE,CAAjB,CAAP;AAGD;;;;;;IA2BG,c;;;;;AAAN;AAAA;;AAAA;;;AACU,kCAAgC,CAAhC;AADV;AAWC;;;;WARC,cAAK,KAAL,EAAc;AACZ,WAAK,qBAAL;;AACA,6UAAW,KAAX;AACD;;;SAED,eAAwB;AACtB,aAAO,KAAK,qBAAZ;AACD;;;;EAV6B,gD;;IAkB1B,oB;;;;;AAGJ,gCAAsB,WAAtB,EACoB,cADpB,EAEoB,sBAFpB,EAGoB,aAHpB,EAIoB,SAJpB,EAI4C;AAAA;;AAAA;;AAC1C,gCAAM,WAAN;AALoB;AACF;AACA;AACA;AACA;AANZ,qBAA+B,EAA/B;;AASN,QAAM,MAAM,GAAG,OAAK,UAAL,EAAf;;AACA,QAAI,sBAAsB,KAAK,IAA3B,IAAmC,sBAAsB,IAAI,CAAjE,EAAoE;AAClE,UAAM,UAAU,GAAkB;AAAE,kBAAU,+JAAZ;AAAoB,cAAM,EAAN,MAApB;AAA4B,eAAO,EAAO;AAA1C,OAAlC;AACA,UAAM,aAAa,GAAqB;AAAE,sBAAc,EAAd,cAAF;AAAkB,8BAAsB,EAAtB,sBAAlB;AAA0C,kBAAU,+JAApD;AAA4D,iBAAS,EAAT;AAA5D,OAAxC;;AACA,aAAK,GAAL,CAAS,SAAS,CAAC,QAAV,CAAkC,mBAAlC,EAAuD,cAAvD,EAAuE,UAAvE,CAAT;;AACA,aAAK,GAAL,CAAS,SAAS,CAAC,QAAV,CAAqC,sBAArC,EAA6D,sBAA7D,EAAqF,aAArF,CAAT;AACD,KALD,MAKO;AACL,UAAM,iBAAiB,GAAyB;AAAE,kBAAU,+JAAZ;AAAoB,cAAM,EAAN,MAApB;AAA4B,sBAAc,EAAd;AAA5B,OAAhD;;AACA,aAAK,GAAL,CAAS,SAAS,CAAC,QAAV,CAAyC,0BAAzC,EAAqE,cAArE,EAAqF,iBAArF,CAAT;AACD;;AAZyC;AAa3C;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAM,OAAO,GAAG,KAAK,OAArB;AACA,UAAM,GAAG,GAAG,OAAO,CAAC,MAApB;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,CAAC,EAA1B,EAA8B;AAC5B,YAAM,MAAM,GAAG,OAAO,CAAC,CAAD,CAAtB;;AACA,YAAI,CAAC,MAAM,CAAC,MAAZ,EAAoB;AAClB,gBAAM,CAAC,IAAP,CAAY,KAAZ;;AACA,cAAI,MAAM,CAAC,oBAAP,IAA+B,KAAK,aAAxC,EAAuD;AACrD,iBAAK,WAAL,CAAiB,MAAjB;AACD;AACF;AACF;AACF;;;WAES,gBAAO,GAAP,EAAe;AACvB,UAAM,OAAO,GAAG,KAAK,OAArB;;AACA,aAAO,OAAO,CAAC,MAAR,GAAiB,CAAxB,EAA2B;AACzB,eAAO,CAAC,KAAR,GAAgB,KAAhB,CAAsB,GAAtB;AACD;;AACD,WAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACD;;;WAES,qBAAS;AACjB,UAAM,OAAO,GAAG,KAAK,OAArB;;AACA,aAAO,OAAO,CAAC,MAAR,GAAiB,CAAxB,EAA2B;AACzB,YAAM,MAAM,GAAG,OAAO,CAAC,KAAR,EAAf;;AACA,YAAI,CAAC,MAAM,CAAC,MAAZ,EAAoB;AAClB,gBAAM,CAAC,QAAP;AACD;AACF;;AACD,WAAK,WAAL,CAAiB,QAAjB;AACD;;;WAEM,sBAAU;AACf,UAAM,MAAM,GAAG,IAAI,cAAJ,EAAf;AACA,WAAK,OAAL,CAAa,IAAb,CAAkB,MAAlB;AACA,UAAM,WAAW,GAAG,KAAK,WAAzB;AACA,iBAAW,CAAC,IAAZ,CAAiB,MAAjB;AACA,aAAO,MAAP;AACD;;;WAEM,qBAAY,MAAZ,EAAqC;AAC1C,YAAM,CAAC,QAAP;AACA,UAAM,OAAO,GAAG,KAAK,OAArB;AACA,aAAO,CAAC,MAAR,CAAe,OAAO,CAAC,OAAR,CAAgB,MAAhB,CAAf,EAAwC,CAAxC;AACD;;;;EAnEmC,sD;;AAsEtC,SAAS,0BAAT,CAAoF,KAApF,EAA+G;AAC7G,MAAQ,UAAR,GAA+C,KAA/C,CAAQ,UAAR;AAAA,MAAoB,cAApB,GAA+C,KAA/C,CAAoB,cAApB;AAAA,MAAoC,MAApC,GAA+C,KAA/C,CAAoC,MAApC;;AACA,MAAI,MAAJ,EAAY;AACV,cAAU,CAAC,WAAX,CAAuB,MAAvB;AACD;;AACD,OAAK,CAAC,MAAN,GAAe,UAAU,CAAC,UAAX,EAAf;AACA,OAAK,QAAL,CAAc,KAAd,EAAqB,cAArB;AACD;;AAED,SAAS,sBAAT,CAA4E,KAA5E,EAAmG;AACjG,MAAQ,cAAR,GAA0E,KAA1E,CAAQ,cAAR;AAAA,MAAwB,UAAxB,GAA0E,KAA1E,CAAwB,UAAxB;AAAA,MAAoC,SAApC,GAA0E,KAA1E,CAAoC,SAApC;AAAA,MAA+C,sBAA/C,GAA0E,KAA1E,CAA+C,sBAA/C;AACA,MAAM,MAAM,GAAG,UAAU,CAAC,UAAX,EAAf;AACA,MAAM,MAAM,GAAG,IAAf;AACA,MAAI,OAAO,GAA0B;AAAE,UAAM,EAAN,MAAF;AAAU,gBAAY,EAAO;AAA7B,GAArC;AACA,MAAM,aAAa,GAAkB;AAAE,cAAU,EAAV,UAAF;AAAc,UAAM,EAAN,MAAd;AAAsB,WAAO,EAAP;AAAtB,GAArC;AACA,SAAO,CAAC,YAAR,GAAuB,SAAS,CAAC,QAAV,CAAkC,mBAAlC,EAAuD,cAAvD,EAAuE,aAAvE,CAAvB;AACA,QAAM,CAAC,GAAP,CAAW,OAAO,CAAC,YAAnB;AACA,QAAM,CAAC,QAAP,CAAgB,KAAhB,EAAuB,sBAAvB;AACD;;AAED,SAAS,mBAAT,CAAgC,KAAhC,EAAoD;AAClD,MAAQ,UAAR,GAAwC,KAAxC,CAAQ,UAAR;AAAA,MAAoB,MAApB,GAAwC,KAAxC,CAAoB,MAApB;AAAA,MAA4B,OAA5B,GAAwC,KAAxC,CAA4B,OAA5B;;AACA,MAAI,OAAO,IAAI,OAAO,CAAC,MAAnB,IAA6B,OAAO,CAAC,YAAzC,EAAuD;AACrD,WAAO,CAAC,MAAR,CAAe,MAAf,CAAsB,OAAO,CAAC,YAA9B;AACD;;AACD,YAAU,CAAC,WAAX,CAAuB,MAAvB;AACD,C;;;;;;;;;;;;ACvRD;AAAA;AAAA;AAAA;AAiDM,SAAU,UAAV,CACJ,eADI,EAEJ,cAFI,EAGyC;AAAA,MAA7C,UAA6C,uEAAxB,MAAM,CAAC,iBAAiB;;AAE7C,MAAI,OAAO,cAAP,KAA0B,UAA9B,EAA0C;AACxC,WAAO,0DAAQ,CAAC;AAAA,aAAM,eAAN;AAAA,KAAD,EAAwB,cAAxB,EAAwC,UAAxC,CAAf;AACD;;AACD,MAAI,OAAO,cAAP,KAA0B,QAA9B,EAAwC;AACtC,cAAU,GAAG,cAAb;AACD;;AACD,SAAO,0DAAQ,CAAC;AAAA,WAAM,eAAN;AAAA,GAAD,EAAwB,UAAxB,CAAf;AACD,C;;;;;;;;;;;;AC9DD;AAAA;AAAA;AAAA;AA2DM,SAAU,WAAV,CACJ,kBADI,EAEJ,UAFI,EAGJ,SAHI,EAGqB;AAEzB,MAAI,MAAJ;;AACA,MAAI,kBAAkB,IAAI,OAAO,kBAAP,KAA8B,QAAxD,EAAkE;AAChE,UAAM,GAAG,kBAAT;AACD,GAFD,MAEO;AACL,UAAM,GAAG;AACP,gBAAU,EAAE,kBADL;AAEP,gBAAU,EAAV,UAFO;AAGP,cAAQ,EAAE,KAHH;AAIP,eAAS,EAAT;AAJO,KAAT;AAMD;;AACD,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,mBAAmB,CAAC,MAAD,CAA/B,CAA3B;AAAA,GAAP;AACD;;AAED,SAAS,mBAAT,OAKoB;AAAA,6BAJlB,UAIkB;AAAA,MAJlB,UAIkB,gCAJL,MAAM,CAAC,iBAIF;AAAA,6BAHlB,UAGkB;AAAA,MAHlB,UAGkB,gCAHL,MAAM,CAAC,iBAGF;AAAA,MAFR,WAEQ,QAFlB,QAEkB;AAAA,MADlB,SACkB,QADlB,SACkB;AAClB,MAAI,OAAJ;AACA,MAAI,QAAQ,GAAG,CAAf;AACA,MAAI,YAAJ;AACA,MAAI,QAAQ,GAAG,KAAf;AACA,MAAI,UAAU,GAAG,KAAjB;AAEA,SAAO,SAAS,oBAAT,CAAmD,MAAnD,EAAwE;AAC7E,YAAQ;AACR,QAAI,QAAJ;;AACA,QAAI,CAAC,OAAD,IAAY,QAAhB,EAA0B;AACxB,cAAQ,GAAG,KAAX;AACA,aAAO,GAAG,IAAI,4DAAJ,CAAqB,UAArB,EAAiC,UAAjC,EAA6C,SAA7C,CAAV;AACA,cAAQ,GAAG,OAAO,CAAC,SAAR,CAAkB,IAAlB,CAAX;AACA,kBAAY,GAAG,MAAM,CAAC,SAAP,CAAiB;AAC9B,YAD8B,gBACzB,KADyB,EACpB;AAAI,iBAAO,CAAC,IAAR,CAAa,KAAb;AAAsB,SADN;AAE9B,aAF8B,iBAExB,GAFwB,EAErB;AACP,kBAAQ,GAAG,IAAX;AACA,iBAAO,CAAC,KAAR,CAAc,GAAd;AACD,SAL6B;AAM9B,gBAN8B,sBAMtB;AACN,oBAAU,GAAG,IAAb;AACA,sBAAY,GAAG,SAAf;AACA,iBAAO,CAAC,QAAR;AACD;AAV6B,OAAjB,CAAf;AAYD,KAhBD,MAgBO;AACL,cAAQ,GAAG,OAAO,CAAC,SAAR,CAAkB,IAAlB,CAAX;AACD;;AAED,SAAK,GAAL,CAAS,YAAK;AACZ,cAAQ;AACR,cAAQ,CAAC,WAAT;;AACA,UAAI,YAAY,IAAI,CAAC,UAAjB,IAA+B,WAA/B,IAA8C,QAAQ,KAAK,CAA/D,EAAkE;AAChE,oBAAY,CAAC,WAAb;AACA,oBAAY,GAAG,SAAf;AACA,eAAO,GAAG,SAAV;AACD;AACF,KARD;AASD,GAhCD;AAiCD,C;;;;;;;;;;;;AC5HD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAqHM,SAAU,KAAV,GAA0F;AAC/F,MAAI,UAAU,GAAG,MAAM,CAAC,iBAAxB;AACA,MAAI,SAAS,GAAkB,IAA/B;;AAF+F,oCAAjE,WAAiE;AAAjE,eAAiE;AAAA;;AAG9F,MAAI,IAAI,GAAQ,WAAW,CAAC,WAAW,CAAC,MAAZ,GAAqB,CAAtB,CAA3B;;AACA,MAAI,qEAAW,CAAC,IAAD,CAAf,EAAuB;AACrB,aAAS,GAAkB,WAAW,CAAC,GAAZ,EAA3B;;AACA,QAAI,WAAW,CAAC,MAAZ,GAAqB,CAArB,IAA0B,OAAO,WAAW,CAAC,WAAW,CAAC,MAAZ,GAAqB,CAAtB,CAAlB,KAA+C,QAA7E,EAAuF;AACrF,gBAAU,GAAW,WAAW,CAAC,GAAZ,EAArB;AACD;AACF,GALD,MAKO,IAAI,OAAO,IAAP,KAAgB,QAApB,EAA8B;AACnC,cAAU,GAAW,WAAW,CAAC,GAAZ,EAArB;AACD;;AAED,MAAI,SAAS,KAAK,IAAd,IAAsB,WAAW,CAAC,MAAZ,KAAuB,CAA7C,IAAkD,WAAW,CAAC,CAAD,CAAX,YAA0B,sDAAhF,EAA4F;AAC1F,WAAsB,WAAW,CAAC,CAAD,CAAjC;AACD;;AAED,SAAO,oEAAQ,CAAI,UAAJ,CAAR,CAAwB,4DAAS,CAAM,WAAN,EAAmB,SAAnB,CAAjC,CAAP;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3ID;AASA,IAAa,oBAAb;AAAA,EAAE;;AAAF;;AAEE,gCAAsB,SAAtB,EACsB,IADtB,EACyE;AAAA;;AAAA;;AACvE,8BAAM,SAAN,EAAiB,IAAjB;AAFoB;AACA;AAAmD;AAExE;;AALH,EAAE;AAAF;AAAA,WAOY,wBAAe,SAAf,EAAmD,EAAnD,EAA8E;AAAA,UAAjB,KAAiB,uEAAD,CAAC;;AAEtF,UAAI,KAAK,KAAK,IAAV,IAAkB,KAAK,GAAG,CAA9B,EAAiC;AAC/B,sWAA4B,SAA5B,EAAuC,EAAvC,EAA2C,KAA3C;AACD;;AAED,eAAS,CAAC,OAAV,CAAkB,IAAlB,CAAuB,IAAvB;AAIA,aAAO,SAAS,CAAC,SAAV,KAAwB,SAAS,CAAC,SAAV,GAAsB,qBAAqB,CACxE;AAAA,eAAM,SAAS,CAAC,KAAV,CAAgB,IAAhB,CAAN;AAAA,OADwE,CAAnE,CAAP;AAED;AAnBH;AAAA;AAAA,WAoBY,wBAAe,SAAf,EAAmD,EAAnD,EAA8E;AAAA,UAAjB,KAAiB,uEAAD,CAAC;;AAItF,UAAK,KAAK,KAAK,IAAV,IAAkB,KAAK,GAAG,CAA3B,IAAkC,KAAK,KAAK,IAAV,IAAkB,KAAK,KAAL,GAAa,CAArE,EAAyE;AACvE,sWAA4B,SAA5B,EAAuC,EAAvC,EAA2C,KAA3C;AACD;;AAID,UAAI,SAAS,CAAC,OAAV,CAAkB,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,4BAAoB,CAAC,EAAD,CAApB;AACA,iBAAS,CAAC,SAAV,GAAsB,SAAtB;AACD;;AAED,aAAO,SAAP;AACD;AApCH;;AAAA;AAAA,EAA6C,wDAA7C,E;;;;;;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AAOA,IAAY,gBAAZ;;AAAA,WAAY,gBAAZ,EAA4B;AAC1B;AACA;AACA;AACD,CAJD,EAAY,gBAAgB,KAAhB,gBAAgB,MAA5B;;AAoBA,IAAa,YAAb;AAGE,wBAAmB,IAAnB,EAAiD,KAAjD,EAAmE,KAAnE,EAA8E;AAAA;;AAA3D;AAA8B;AAAkB;AACjE,SAAK,QAAL,GAAgB,IAAI,KAAK,GAAzB;AACD;;AALH,EAAE;AAAF;AAAA,WAYE,iBAAQ,QAAR,EAAoC;AAClC,cAAQ,KAAK,IAAb;AACE,aAAK,GAAL;AACE,iBAAO,QAAQ,CAAC,IAAT,IAAiB,QAAQ,CAAC,IAAT,CAAc,KAAK,KAAnB,CAAxB;;AACF,aAAK,GAAL;AACE,iBAAO,QAAQ,CAAC,KAAT,IAAkB,QAAQ,CAAC,KAAT,CAAe,KAAK,KAApB,CAAzB;;AACF,aAAK,GAAL;AACE,iBAAO,QAAQ,CAAC,QAAT,IAAqB,QAAQ,CAAC,QAAT,EAA5B;AANJ;AAQD;AArBH;AAAA;AAAA,WA+BE,aAAG,IAAH,EAA6B,KAA7B,EAAyD,QAAzD,EAA8E;AAC5E,UAAM,IAAI,GAAG,KAAK,IAAlB;;AACA,cAAQ,IAAR;AACE,aAAK,GAAL;AACE,iBAAO,IAAI,IAAI,IAAI,CAAC,KAAK,KAAN,CAAnB;;AACF,aAAK,GAAL;AACE,iBAAO,KAAK,IAAI,KAAK,CAAC,KAAK,KAAN,CAArB;;AACF,aAAK,GAAL;AACE,iBAAO,QAAQ,IAAI,QAAQ,EAA3B;AANJ;AAQD;AAzCH;AAAA;AAAA,WAoDE,gBAAO,cAAP,EAAkE,KAAlE,EAA8F,QAA9F,EAAmH;AACjH,UAAI,cAAc,IAAI,OAA4B,cAAe,CAAC,IAA5C,KAAqD,UAA3E,EAAuF;AACrF,eAAO,KAAK,OAAL,CAAiC,cAAjC,CAAP;AACD,OAFD,MAEO;AACL,eAAO,KAAK,EAAL,CAA4B,cAA5B,EAA4C,KAA5C,EAAmD,QAAnD,CAAP;AACD;AACF;AA1DH;AAAA;AAAA,WAiEE,wBAAY;AACV,UAAM,IAAI,GAAG,KAAK,IAAlB;;AACA,cAAQ,IAAR;AACE,aAAK,GAAL;AACE,iBAAO,yDAAE,CAAC,KAAK,KAAN,CAAT;;AACF,aAAK,GAAL;AACE,iBAAO,yEAAU,CAAC,KAAK,KAAN,CAAjB;;AACF,aAAK,GAAL;AACE,iBAAO,+DAAK,EAAZ;AANJ;;AAQA,YAAM,IAAI,KAAJ,CAAU,oCAAV,CAAN;AACD;AA5EH;AAAA;AAAA,WAyFE,oBAAqB,KAArB,EAA6B;AAC3B,UAAI,OAAO,KAAP,KAAiB,WAArB,EAAkC;AAChC,eAAO,IAAI,YAAJ,CAAiB,GAAjB,EAAsB,KAAtB,CAAP;AACD;;AACD,aAAO,YAAY,CAAC,0BAApB;AACD;AA9FH;AAAA;AAAA,WAwGE,qBAAsB,GAAtB,EAA+B;AAC7B,aAAO,IAAI,YAAJ,CAAiB,GAAjB,EAAsB,SAAtB,EAAiC,GAAjC,CAAP;AACD;AA1GH;AAAA;AAAA,WAiHE,0BAAqB;AACnB,aAAO,YAAY,CAAC,oBAApB;AACD;AAnHH;;AAAA;AAAA;AA8EiB,oCAA0C,IAAI,YAAJ,CAAiB,GAAjB,CAA1C;AACA,0CAAgD,IAAI,YAAJ,CAAiB,GAAjB,EAAsB,SAAtB,CAAhD,C;;;;;;;;;;;;AC9GjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAEA;AA8PM,SAAU,QAAV,CAAyB,qBAAzB,EACyB,SADzB,EAEyB,OAFzB,EAGyB,0BAHzB,EAIyB,SAJzB,EAIkD;AAEtD,MAAI,cAAJ;AACA,MAAI,YAAJ;;AAEA,MAAI,SAAS,CAAC,MAAV,IAAoB,CAAxB,EAA2B;AACzB,QAAM,OAAO,GAAG,qBAAhB;AACA,gBAAY,GAAG,OAAO,CAAC,YAAvB;AACA,aAAS,GAAG,OAAO,CAAC,SAApB;AACA,WAAO,GAAG,OAAO,CAAC,OAAlB;AACA,kBAAc,GAAG,OAAO,CAAC,cAAR,IAA0B,uDAA3C;AACA,aAAS,GAAG,OAAO,CAAC,SAApB;AACD,GAPD,MAOO,IAAI,0BAA0B,KAAK,SAA/B,IAA4C,qEAAW,CAAC,0BAAD,CAA3D,EAAyF;AAC9F,gBAAY,GAAG,qBAAf;AACA,kBAAc,GAAG,uDAAjB;AACA,aAAS,GAAG,0BAAZ;AACD,GAJM,MAIA;AACL,gBAAY,GAAG,qBAAf;AACA,kBAAc,GAAG,0BAAjB;AACD;;AAED,SAAO,IAAI,sDAAJ,CAAkB,oBAAU,EAAG;AACpC,QAAI,KAAK,GAAG,YAAZ;;AACA,QAAI,SAAJ,EAAe;AACb,aAAO,SAAS,CAAC,QAAV,CAAyC,QAAzC,EAAmD,CAAnD,EAAsD;AAC3D,kBAAU,EAAV,UAD2D;AAE3D,eAAO,EAAP,OAF2D;AAG3D,iBAAS,EAAT,SAH2D;AAI3D,sBAAc,EAAd,cAJ2D;AAK3D,aAAK,EAAL;AAL2D,OAAtD,CAAP;AAOD;;AAED,OAAG;AACD,UAAI,SAAJ,EAAe;AACb,YAAI,eAAwB,SAA5B;;AACA,YAAI;AACF,yBAAe,GAAG,SAAS,CAAC,KAAD,CAA3B;AACD,SAFD,CAEE,OAAO,GAAP,EAAY;AACZ,oBAAU,CAAC,KAAX,CAAiB,GAAjB;AACA,iBAAO,SAAP;AACD;;AACD,YAAI,CAAC,eAAL,EAAsB;AACpB,oBAAU,CAAC,QAAX;AACA;AACD;AACF;;AACD,UAAI,KAAQ,SAAZ;;AACA,UAAI;AACF,aAAK,GAAG,cAAc,CAAC,KAAD,CAAtB;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,kBAAU,CAAC,KAAX,CAAiB,GAAjB;AACA,eAAO,SAAP;AACD;;AACD,gBAAU,CAAC,IAAX,CAAgB,KAAhB;;AACA,UAAI,UAAU,CAAC,MAAf,EAAuB;AACrB;AACD;;AACD,UAAI;AACF,aAAK,GAAG,OAAO,CAAC,KAAD,CAAf;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,kBAAU,CAAC,KAAX,CAAiB,GAAjB;AACA,eAAO,SAAP;AACD;AACF,KA/BD,QA+BS,IA/BT;;AAiCA,WAAO,SAAP;AACD,GA9CM,CAAP;AA+CD;;AAED,SAAS,QAAT,CAAqE,KAArE,EAAgG;AAC9F,MAAQ,UAAR,GAAkC,KAAlC,CAAQ,UAAR;AAAA,MAAoB,SAApB,GAAkC,KAAlC,CAAoB,SAApB;;AACA,MAAI,UAAU,CAAC,MAAf,EAAuB;AACrB,WAAO,SAAP;AACD;;AACD,MAAI,KAAK,CAAC,WAAV,EAAuB;AACrB,QAAI;AACF,WAAK,CAAC,KAAN,GAAc,KAAK,CAAC,OAAN,CAAc,KAAK,CAAC,KAApB,CAAd;AACD,KAFD,CAEE,OAAO,GAAP,EAAY;AACZ,gBAAU,CAAC,KAAX,CAAiB,GAAjB;AACA,aAAO,SAAP;AACD;AACF,GAPD,MAOO;AACL,SAAK,CAAC,WAAN,GAAoB,IAApB;AACD;;AACD,MAAI,SAAJ,EAAe;AACb,QAAI,eAAJ;;AACA,QAAI;AACF,qBAAe,GAAG,SAAS,CAAC,KAAK,CAAC,KAAP,CAA3B;AACD,KAFD,CAEE,OAAO,GAAP,EAAY;AACZ,gBAAU,CAAC,KAAX,CAAiB,GAAjB;AACA,aAAO,SAAP;AACD;;AACD,QAAI,CAAC,eAAL,EAAsB;AACpB,gBAAU,CAAC,QAAX;AACA,aAAO,SAAP;AACD;;AACD,QAAI,UAAU,CAAC,MAAf,EAAuB;AACrB,aAAO,SAAP;AACD;AACF;;AACD,MAAI,KAAJ;;AACA,MAAI;AACF,SAAK,GAAG,KAAK,CAAC,cAAN,CAAqB,KAAK,CAAC,KAA3B,CAAR;AACD,GAFD,CAEE,OAAO,GAAP,EAAY;AACZ,cAAU,CAAC,KAAX,CAAiB,GAAjB;AACA,WAAO,SAAP;AACD;;AACD,MAAI,UAAU,CAAC,MAAf,EAAuB;AACrB,WAAO,SAAP;AACD;;AACD,YAAU,CAAC,IAAX,CAAgB,KAAhB;;AACA,MAAI,UAAU,CAAC,MAAf,EAAuB;AACrB,WAAO,SAAP;AACD;;AACD,SAAO,KAAK,QAAL,CAAc,KAAd,CAAP;AACD,C;;;;;;;;;;;;AC1XD;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAGM,SAAU,YAAV,CACJ,cADI,EAEJ,KAFI,EAGJ,QAHI,EAGiB;AAErB,MAAI,cAAJ,EAAoB;AAClB,QAAI,cAAc,YAAY,sDAA9B,EAA0C;AACxC,aAAwB,cAAxB;AACD;;AAED,QAAI,cAAc,CAAC,iEAAD,CAAlB,EAAwC;AACtC,aAAO,cAAc,CAAC,iEAAD,CAAd,EAAP;AACD;AACF;;AAED,MAAI,CAAC,cAAD,IAAmB,CAAC,KAApB,IAA6B,CAAC,QAAlC,EAA4C;AAC1C,WAAO,IAAI,sDAAJ,CAAe,+CAAf,CAAP;AACD;;AAED,SAAO,IAAI,sDAAJ,CAAe,cAAf,EAA+B,KAA/B,EAAsC,QAAtC,CAAP;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;ACzBD;AAGA;AAiCM,SAAU,YAAV,GAA0E;AAAA,MAA/C,YAA+C,uEAAnB,mBAAmB;AAC9E,SAAO,UAAC,MAAD,EAA0B;AAC/B,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,oBAAJ,CAAyB,YAAzB,CAAZ,CAAP;AACD,GAFD;AAGD;;IAEK,oB;AACJ,gCAAoB,YAApB,EAA2C;AAAA;;AAAvB;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,sBAAJ,CAA2B,UAA3B,EAAuC,KAAK,YAA5C,CAAjB,CAAP;AACD;;;;;;IAGG,sB;;;;;AAGJ,kCAAY,WAAZ,EAAgD,YAAhD,EAAuE;AAAA;;AAAA;;AACrE,8BAAM,WAAN;AAD8C;AAFxC,qBAAoB,KAApB;AAE+D;AAEtE;;;;WAES,eAAM,KAAN,EAAc;AACtB,WAAK,QAAL,GAAgB,IAAhB;AACA,WAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAtB;AACD;;;WAES,qBAAS;AACjB,UAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,YAAI,GAAJ;;AACA,YAAI;AACF,aAAG,GAAG,KAAK,YAAL,EAAN;AACD,SAFD,CAEE,OAAO,CAAP,EAAU;AACV,aAAG,GAAG,CAAN;AACD;;AACD,aAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACD,OARD,MAQO;AACH,eAAO,KAAK,WAAL,CAAiB,QAAjB,EAAP;AACH;AACF;;;;EAxBqC,sD;;AA2BxC,SAAS,mBAAT,GAA4B;AAC1B,SAAO,IAAI,2DAAJ,EAAP;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/ED;AACA;AACA;AAEA;AACA;AACA;AAKO,IAAM,iBAAb;AAAA;;AAAA;;AACE,6BAAsB,WAAtB,EAA6C;AAAA;;AAAA;;AAC3C,8BAAM,WAAN;AADoB;AAAuB;AAE5C;;AAHH;AAAA,EAA0C,sDAA1C;AAeA,IAAa,OAAb;AAAA,EAAE;;AAAF;;AAgBE;AAAA;;AAAA,IAAI;;AACF;AAXF,uBAA2B,EAA3B;AAEA,oBAAS,KAAT;AAEA,uBAAY,KAAZ;AAEA,sBAAW,KAAX;AAEA,yBAAmB,IAAnB;AAEA;AAEC;;AAlBH,EAAE;AAAF,SAEG,2EAFH;AAAA,WAEE,iBAAoB;AAClB,aAAO,IAAI,iBAAJ,CAAsB,IAAtB,CAAP;AACD;AAJH;AAAA;AAAA,WA2BE,cAAQ,QAAR,EAAgC;AAC9B,UAAM,OAAO,GAAG,IAAI,gBAAJ,CAAqB,IAArB,EAA2B,IAA3B,CAAhB;AACA,aAAO,CAAC,QAAR,GAAwB,QAAxB;AACA,aAAY,OAAZ;AACD;AA/BH;AAAA;AAAA,WAiCE,cAAK,KAAL,EAAc;AACZ,UAAI,KAAK,MAAT,EAAiB;AACf,cAAM,IAAI,qFAAJ,EAAN;AACD;;AACD,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,YAAQ,SAAR,GAAsB,IAAtB,CAAQ,SAAR;AACA,YAAM,GAAG,GAAG,SAAS,CAAC,MAAtB;AACA,YAAM,IAAI,GAAG,SAAS,CAAC,KAAV,EAAb;;AACA,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,CAAC,EAA1B,EAA8B;AAC5B,cAAI,CAAC,CAAD,CAAJ,CAAQ,IAAR,CAAa,KAAb;AACD;AACF;AACF;AA7CH;AAAA;AAAA,WA+CE,eAAM,GAAN,EAAc;AACZ,UAAI,KAAK,MAAT,EAAiB;AACf,cAAM,IAAI,qFAAJ,EAAN;AACD;;AACD,WAAK,QAAL,GAAgB,IAAhB;AACA,WAAK,WAAL,GAAmB,GAAnB;AACA,WAAK,SAAL,GAAiB,IAAjB;AACA,UAAQ,SAAR,GAAsB,IAAtB,CAAQ,SAAR;AACA,UAAM,GAAG,GAAG,SAAS,CAAC,MAAtB;AACA,UAAM,IAAI,GAAG,SAAS,CAAC,KAAV,EAAb;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,CAAC,EAA1B,EAA8B;AAC5B,YAAI,CAAC,CAAD,CAAJ,CAAQ,KAAR,CAAc,GAAd;AACD;;AACD,WAAK,SAAL,CAAe,MAAf,GAAwB,CAAxB;AACD;AA7DH;AAAA;AAAA,WA+DE,oBAAQ;AACN,UAAI,KAAK,MAAT,EAAiB;AACf,cAAM,IAAI,qFAAJ,EAAN;AACD;;AACD,WAAK,SAAL,GAAiB,IAAjB;AACA,UAAQ,SAAR,GAAsB,IAAtB,CAAQ,SAAR;AACA,UAAM,GAAG,GAAG,SAAS,CAAC,MAAtB;AACA,UAAM,IAAI,GAAG,SAAS,CAAC,KAAV,EAAb;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,CAAC,EAA1B,EAA8B;AAC5B,YAAI,CAAC,CAAD,CAAJ,CAAQ,QAAR;AACD;;AACD,WAAK,SAAL,CAAe,MAAf,GAAwB,CAAxB;AACD;AA3EH;AAAA;AAAA,WA6EE,uBAAW;AACT,WAAK,SAAL,GAAiB,IAAjB;AACA,WAAK,MAAL,GAAc,IAAd;AACA,WAAK,SAAL,GAAiB,IAAjB;AACD;AAjFH;AAAA;AAAA,WAoFE,uBAAc,UAAd,EAAuC;AACrC,UAAI,KAAK,MAAT,EAAiB;AACf,cAAM,IAAI,qFAAJ,EAAN;AACD,OAFD,MAEO;AACL,wVAA2B,UAA3B;AACD;AACF;AA1FH;AAAA;AAAA,WA6FE,oBAAW,UAAX,EAAoC;AAClC,UAAI,KAAK,MAAT,EAAiB;AACf,cAAM,IAAI,qFAAJ,EAAN;AACD,OAFD,MAEO,IAAI,KAAK,QAAT,EAAmB;AACxB,kBAAU,CAAC,KAAX,CAAiB,KAAK,WAAtB;AACA,eAAO,0DAAY,CAAC,KAApB;AACD,OAHM,MAGA,IAAI,KAAK,SAAT,EAAoB;AACzB,kBAAU,CAAC,QAAX;AACA,eAAO,0DAAY,CAAC,KAApB;AACD,OAHM,MAGA;AACL,aAAK,SAAL,CAAe,IAAf,CAAoB,UAApB;AACA,eAAO,IAAI,yEAAJ,CAAwB,IAAxB,EAA8B,UAA9B,CAAP;AACD;AACF;AA1GH;AAAA;AAAA,WAkHE,wBAAY;AACV,UAAM,UAAU,GAAG,IAAI,sDAAJ,EAAnB;AACM,gBAAW,CAAC,MAAZ,GAAqB,IAArB;AACN,aAAO,UAAP;AACD;AAtHH;;AAAA;AAAA,EAAgC,sDAAhC;;AAuBS,iBAAmB,UAAI,WAAJ,EAA8B,MAA9B,EAA4E;AACpG,SAAO,IAAI,gBAAJ,CAAwB,WAAxB,EAAqC,MAArC,CAAP;AACD,CAFM;;AAqGT,IAAa,gBAAb;AAAA;;AAAA;;AACE,4BAAsB,WAAtB,EAAiD,MAAjD,EAAuE;AAAA;;AAAA;;AACrE;AADoB;AAEpB,WAAK,MAAL,GAAc,MAAd;AAFqE;AAGtE;;AAJH;AAAA;AAAA,WAME,cAAK,KAAL,EAAa;AACX,UAAQ,WAAR,GAAwB,IAAxB,CAAQ,WAAR;;AACA,UAAI,WAAW,IAAI,WAAW,CAAC,IAA/B,EAAqC;AACnC,mBAAW,CAAC,IAAZ,CAAiB,KAAjB;AACD;AACF;AAXH;AAAA;AAAA,WAaE,eAAM,GAAN,EAAc;AACZ,UAAQ,WAAR,GAAwB,IAAxB,CAAQ,WAAR;;AACA,UAAI,WAAW,IAAI,WAAW,CAAC,KAA/B,EAAsC;AACpC,aAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACD;AACF;AAlBH;AAAA;AAAA,WAoBE,oBAAQ;AACN,UAAQ,WAAR,GAAwB,IAAxB,CAAQ,WAAR;;AACA,UAAI,WAAW,IAAI,WAAW,CAAC,QAA/B,EAAyC;AACvC,aAAK,WAAL,CAAiB,QAAjB;AACD;AACF;AAzBH;AAAA;AAAA,WA4BE,oBAAW,UAAX,EAAoC;AAClC,UAAQ,MAAR,GAAmB,IAAnB,CAAQ,MAAR;;AACA,UAAI,MAAJ,EAAY;AACV,eAAO,KAAK,MAAL,CAAY,SAAZ,CAAsB,UAAtB,CAAP;AACD,OAFD,MAEO;AACL,eAAO,0DAAY,CAAC,KAApB;AACD;AACF;AAnCH;;AAAA;AAAA,EAAyC,OAAzC,E;;;;;;;;;;;;ACvJA;AAAA;AAAA;AAAuE;AACxD;AACf;AACA,aAAa,yFAAc;AAC3B;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAM,SAAU,QAAV,CAAmB,CAAnB,EAAyB;AAC7B,SAAO,CAAC,KAAK,IAAN,IAAc,OAAO,CAAP,KAAa,QAAlC;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;ACGD;AACA;AACA;AAuDM,SAAU,UAAV,CACJ,OADI,EAEJ,cAFI,EAEyG;AAE7G,MAAI,cAAJ,EAAoB;AAElB,WAAO,UAAC,MAAD;AAAA,aAA2B,MAAM,CAAC,IAAP,CAChC,UAAU,CAAC,UAAC,CAAD,EAAI,CAAJ;AAAA,eAAU,6DAAI,CAAC,OAAO,CAAC,CAAD,EAAI,CAAJ,CAAR,CAAJ,CAAoB,IAApB,CACnB,gDAAG,CAAC,UAAC,CAAD,EAAS,EAAT;AAAA,iBAAqB,cAAc,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,EAAV,CAAnC;AAAA,SAAD,CADgB,CAAV;AAAA,OAAD,CADsB,CAA3B;AAAA,KAAP;AAKD;;AACD,SAAO,UAAC,MAAD;AAAA,WACL,MAAM,CAAC,IAAP,CAAY,IAAI,kBAAJ,CAAuB,OAAvB,CAAZ,CADK;AAAA,GAAP;AAED;;IAEK,kB;AACJ,8BAAoB,OAApB,EAA4E;AAAA;;AAAxD;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,oBAAJ,CAAyB,UAAzB,EAAqC,KAAK,OAA1C,CAAjB,CAAP;AACD;;;;;;IAQG,oB;;;;;AAKJ,gCAAY,WAAZ,EACoB,OADpB,EAC4E;AAAA;;AAAA;;AAC1E,8BAAM,WAAN;AADkB;AALZ,4BAAkB,KAAlB;AACA,yBAAe,KAAf;AACA,kBAAQ,CAAR;AAGoE;AAE3E;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAI,CAAC,KAAK,eAAV,EAA2B;AACzB,aAAK,OAAL,CAAa,KAAb;AACD;AACF;;;WAEO,iBAAQ,KAAR,EAAgB;AACtB,UAAI,MAAJ;AACA,UAAM,KAAK,GAAG,KAAK,KAAL,EAAd;;AACA,UAAI;AACF,cAAM,GAAG,KAAK,OAAL,CAAa,KAAb,EAAoB,KAApB,CAAT;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAwB,GAAxB;AACA;AACD;;AACD,WAAK,eAAL,GAAuB,IAAvB;;AACA,WAAK,SAAL,CAAe,MAAf;AACD;;;WAEO,mBAAU,MAAV,EAAoC;AAC1C,UAAM,eAAe,GAAG,IAAI,qEAAJ,CAA0B,IAA1B,CAAxB;AACA,UAAM,WAAW,GAAG,KAAK,WAAzB;AACA,iBAAW,CAAC,GAAZ,CAAgB,eAAhB;AACA,UAAM,iBAAiB,GAAG,sEAAc,CAAC,MAAD,EAAS,eAAT,CAAxC;;AAIA,UAAI,iBAAiB,KAAK,eAA1B,EAA2C;AACzC,mBAAW,CAAC,GAAZ,CAAgB,iBAAhB;AACD;AACF;;;WAES,qBAAS;AACjB,WAAK,YAAL,GAAoB,IAApB;;AACA,UAAI,CAAC,KAAK,eAAV,EAA2B;AACzB,aAAK,WAAL,CAAiB,QAAjB;AACD;;AACD,WAAK,WAAL;AACD;;;WAED,oBAAW,UAAX,EAAwB;AACtB,WAAK,WAAL,CAAiB,IAAjB,CAAuB,UAAvB;AACD;;;WAED,qBAAY,GAAZ,EAAoB;AAClB,WAAK,WAAL,CAAiB,KAAjB,CAAwB,GAAxB;AACD;;;WAED,0BAAc;AACZ,WAAK,eAAL,GAAuB,KAAvB;;AACA,UAAI,KAAK,YAAT,EAAuB;AACrB,aAAK,WAAL,CAAiB,QAAjB;AACD;AACF;;;;EA/DsC,qE;;;;;;;;;;;;;;;;;;ACrEzC,IAAa,SAAb;AASE,qBAAoB,eAApB,EAC6C;AAAA,QAAjC,GAAiC,uEAAb,SAAS,CAAC,GAAG;;AAAA;;AADzB;AAElB,SAAK,GAAL,GAAW,GAAX;AACD;;AAZH;AAAA;AAAA,WAyCS,kBAAY,IAAZ,EAA6F;AAAA,UAA5B,KAA4B,uEAAZ,CAAY;AAAA,UAAT,KAAS;AAClG,aAAO,IAAI,KAAK,eAAT,CAA4B,IAA5B,EAAkC,IAAlC,EAAwC,QAAxC,CAAiD,KAAjD,EAAwD,KAAxD,CAAP;AACD;AA3CH;;AAAA;AAAA;;AAOgB,gBAAoB;AAAA,SAAM,IAAI,CAAC,GAAL,EAAN;AAAA,CAApB,C;;;;;;;;;;;;ACvBhB;AAAA;AAAA,IAAM,gBAAgB,GAAI,YAAK;AAC7B,WAAS,gBAAT,GAAyB;AACvB,SAAK,CAAC,IAAN,CAAW,IAAX;AACA,SAAK,OAAL,GAAe,sBAAf;AACA,SAAK,IAAL,GAAY,cAAZ;AACA,WAAO,IAAP;AACD;;AAED,kBAAgB,CAAC,SAAjB,GAA6B,MAAM,CAAC,MAAP,CAAc,KAAK,CAAC,SAApB,CAA7B;AAEA,SAAO,gBAAP;AACD,CAXwB,EAAzB;;AAoBO,IAAM,YAAY,GAAqB,gBAAvC,C;;;;;;;;;;;;AC1BP;AAAA;AAAA;AAAA;AAAA;AACA;AA4DM,SAAU,SAAV,GAAmB;AACvB,SAAO,4DAAS,CAAC,uDAAD,CAAhB;AACD,C;;;;;;;;;;;;AChED;AAAA;AAAA;AAAA;AAEM,SAAU,SAAV,CAAoB,GAApB,EAA4B;AAKhC,SAAO,CAAC,wDAAO,CAAC,GAAD,CAAR,IAAkB,GAAG,GAAG,UAAU,CAAC,GAAD,CAAhB,GAAwB,CAAzB,IAA+B,CAAvD;AACD,C;;;;;;;;;;;;ACRD;AAAA;AAAA;AAA2E;AAC5D;AACf,iCAAiC,2FAAgB;AACjD,C;;;;;;;;;;;;;;;;;;;;;;;ACDA;AAOA,IAAa,mBAAb;AAAA,EAAE;;AAAF;;AAGE,+BAAmB,OAAnB,EAA+C,UAA/C,EAAsE;AAAA;;AAAA;;AACpE;AADiB;AAA4B;AAF/C,mBAAkB,KAAlB;AAEsE;AAErE;;AALH,EAAE;AAAF;AAAA,WAOE,uBAAW;AACT,UAAI,KAAK,MAAT,EAAiB;AACf;AACD;;AAED,WAAK,MAAL,GAAc,IAAd;AAEA,UAAM,OAAO,GAAG,KAAK,OAArB;AACA,UAAM,SAAS,GAAG,OAAO,CAAC,SAA1B;AAEA,WAAK,OAAL,GAAe,IAAf;;AAEA,UAAI,CAAC,SAAD,IAAc,SAAS,CAAC,MAAV,KAAqB,CAAnC,IAAwC,OAAO,CAAC,SAAhD,IAA6D,OAAO,CAAC,MAAzE,EAAiF;AAC/E;AACD;;AAED,UAAM,eAAe,GAAG,SAAS,CAAC,OAAV,CAAkB,KAAK,UAAvB,CAAxB;;AAEA,UAAI,eAAe,KAAK,CAAC,CAAzB,EAA4B;AAC1B,iBAAS,CAAC,MAAV,CAAiB,eAAjB,EAAkC,CAAlC;AACD;AACF;AA5BH;;AAAA;AAAA,EAA4C,0DAA5C,E;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;AAUA,IAAa,WAAb;AAAA,EAAE;;AAAF;;AAEE,uBAAsB,SAAtB,EACsB,IADtB,EACyE;AAAA;;AAAA;;AACvE,8BAAM,SAAN,EAAiB,IAAjB;AAFoB;AACA;AAAmD;AAExE;;AALH,EAAE;AAAF;AAAA,WAOS,kBAAS,KAAT,EAAqC;AAAA,UAAjB,KAAiB,uEAAD,CAAC;;AAC1C,UAAI,KAAK,GAAG,CAAZ,EAAe;AACb,uVAAsB,KAAtB,EAA6B,KAA7B;AACD;;AACD,WAAK,KAAL,GAAa,KAAb;AACA,WAAK,KAAL,GAAa,KAAb;AACA,WAAK,SAAL,CAAe,KAAf,CAAqB,IAArB;AACA,aAAO,IAAP;AACD;AAfH;AAAA;AAAA,WAiBS,iBAAQ,KAAR,EAAkB,KAAlB,EAA+B;AACpC,aAAQ,KAAK,GAAG,CAAR,IAAa,KAAK,MAAnB,0UACS,KADT,EACgB,KADhB,IAEL,KAAK,QAAL,CAAc,KAAd,EAAqB,KAArB,CAFF;AAGD;AArBH;AAAA;AAAA,WAuBY,wBAAe,SAAf,EAA0C,EAA1C,EAAqE;AAAA,UAAjB,KAAiB,uEAAD,CAAC;;AAI7E,UAAK,KAAK,KAAK,IAAV,IAAkB,KAAK,GAAG,CAA3B,IAAkC,KAAK,KAAK,IAAV,IAAkB,KAAK,KAAL,GAAa,CAArE,EAAyE;AACvE,6VAA4B,SAA5B,EAAuC,EAAvC,EAA2C,KAA3C;AACD;;AAED,aAAO,SAAS,CAAC,KAAV,CAAgB,IAAhB,CAAP;AACD;AAhCH;;AAAA;AAAA,EAAoC,wDAApC,E;;;;;;;;;;;;ACTA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AAiBM,SAAU,iBAAV,CACJ,eADI,EAEJ,MAFI,EAGJ,UAHI,EAIJ,UAJI,EAKyF;AAAA,MAA7F,eAA6F,uEAA5D,IAAI,gEAAJ,CAAoB,eAApB,EAAqC,UAArC,EAAiD,UAAjD,CAA4D;;AAE7F,MAAI,eAAe,CAAC,MAApB,EAA4B;AAC1B,WAAO,SAAP;AACD;;AACD,MAAI,MAAM,YAAY,sDAAtB,EAAkC;AAChC,WAAO,MAAM,CAAC,SAAP,CAAiB,eAAjB,CAAP;AACD;;AACD,SAAO,gEAAW,CAAC,MAAD,CAAX,CAAoB,eAApB,CAAP;AACD,C;;;;;;;;;;;;;;;;;;;;;;;AClCD;AA8CM,SAAU,QAAV,GAAkB;AACtB,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,gBAAJ,EAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,gB;;;;;;;WACJ,cAAK,UAAL,EAAqC,MAArC,EAAgD;AAC9C,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,kBAAJ,CAAuB,UAAvB,CAAjB,CAAP;AACD;;;;;;IAQG,kB;;;;;AAIJ,8BAAY,WAAZ,EAA2C;AAAA;;AAAA;;AACzC,8BAAM,WAAN;AAHM,oBAAmB,KAAnB;AAEmC;AAE1C;;;;WAED,eAAM,KAAN,EAAc;AACZ,UAAI,IAAJ;;AAEA,UAAI,KAAK,OAAT,EAAkB;AAChB,YAAI,GAAG,CAAC,KAAK,IAAN,EAAY,KAAZ,CAAP;AACD,OAFD,MAEO;AACL,aAAK,OAAL,GAAe,IAAf;AACD;;AAED,WAAK,IAAL,GAAY,KAAZ;;AAEA,UAAI,IAAJ,EAAU;AACR,aAAK,WAAL,CAAiB,IAAjB,CAAsB,IAAtB;AACD;AACF;;;;EAtBiC,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7DpC;AA8DM,SAAU,aAAV,CAA2B,SAA3B,EAC2B,UAD3B,EAC+D;AACnE,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,qBAAJ,CAA0B,SAA1B,EAAqC,UAArC,CAAZ,CAA3B;AAAA,GAAP;AACD;AAED,IAAa,qBAAb;AACE,iCAAoB,SAApB,EACoB,UADpB,EACuD;AAAA;;AADnC;AACA;AACnB;;AAHH,EAAE;AAAF;AAAA,WAKE,cAAK,UAAL,EAAsC,MAAtC,EAAiD;AAC/C,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,uBAAJ,CAA4B,UAA5B,EAAwC,KAAK,SAA7C,EAAwD,KAAK,UAA7D,CAAjB,CAAP;AACD;AAPH;;AAAA;AAAA;AAeA,IAAa,uBAAb;AAAA,EAAE;;AAAF;;AAKE,mCAAY,WAAZ,EACoB,SADpB,EAEoB,UAFpB,EAEuD;AAAA;;AAAA;;AACrD,8BAAM,WAAN;AAFkB;AACA;AANZ,eAAU,EAAV;AACA,eAAU,EAAV;AACA,yBAAe,KAAf;;AAML,UAAK,WAAL,CAAkC,GAAlC,CAAsC,SAAS,CAAC,SAAV,CAAoB,IAAI,gCAAJ,CAAqC,WAArC,+JAApB,CAAtC;;AAFoD;AAGtD;;AAVH,EAAE;AAAF;AAAA,WAYY,eAAM,KAAN,EAAc;AACtB,UAAI,KAAK,YAAL,IAAqB,KAAK,EAAL,CAAQ,MAAR,KAAmB,CAA5C,EAA+C;AAC7C,aAAK,IAAL,CAAU,KAAV;AACD,OAFD,MAEO;AACL,aAAK,EAAL,CAAQ,IAAR,CAAa,KAAb;;AACA,aAAK,WAAL;AACD;AACF;AAnBH;AAAA;AAAA,WAqBS,qBAAS;AACd,UAAI,KAAK,YAAT,EAAuB;AACrB,aAAK,IAAL,CAAU,KAAK,EAAL,CAAQ,MAAR,KAAmB,CAAnB,IAAwB,KAAK,EAAL,CAAQ,MAAR,KAAmB,CAArD;AACD,OAFD,MAEO;AACL,aAAK,YAAL,GAAoB,IAApB;AACD;;AACD,WAAK,WAAL;AACD;AA5BH;AAAA;AAAA,WA8BE,uBAAW;AACT,UAAQ,EAAR,GAA+B,IAA/B,CAAQ,EAAR;AAAA,UAAY,EAAZ,GAA+B,IAA/B,CAAY,EAAZ;AAAA,UAAgB,UAAhB,GAA+B,IAA/B,CAAgB,UAAhB;;AACA,aAAO,EAAE,CAAC,MAAH,GAAY,CAAZ,IAAiB,EAAE,CAAC,MAAH,GAAY,CAApC,EAAuC;AACrC,YAAI,CAAC,GAAG,EAAE,CAAC,KAAH,EAAR;;AACA,YAAI,CAAC,GAAG,EAAE,CAAC,KAAH,EAAR;;AACA,YAAI,QAAQ,GAAG,KAAf;;AACA,YAAI;AACF,kBAAQ,GAAG,UAAU,GAAG,UAAU,CAAC,CAAD,EAAI,CAAJ,CAAb,GAAsB,CAAC,KAAK,CAAjD;AACD,SAFD,CAEE,OAAO,CAAP,EAAU;AACV,eAAK,WAAL,CAAiB,KAAjB,CAAuB,CAAvB;AACD;;AACD,YAAI,CAAC,QAAL,EAAe;AACb,eAAK,IAAL,CAAU,KAAV;AACD;AACF;AACF;AA7CH;AAAA;AAAA,WA+CE,cAAK,KAAL,EAAmB;AACjB,UAAQ,WAAR,GAAwB,IAAxB,CAAQ,WAAR;AACA,iBAAW,CAAC,IAAZ,CAAiB,KAAjB;AACA,iBAAW,CAAC,QAAZ;AACD;AAnDH;AAAA;AAAA,WAqDE,eAAM,KAAN,EAAc;AACZ,UAAI,KAAK,YAAL,IAAqB,KAAK,EAAL,CAAQ,MAAR,KAAmB,CAA5C,EAA+C;AAC7C,aAAK,IAAL,CAAU,KAAV;AACD,OAFD,MAEO;AACL,aAAK,EAAL,CAAQ,IAAR,CAAa,KAAb;;AACA,aAAK,WAAL;AACD;AACF;AA5DH;AAAA;AAAA,WA8DE,qBAAS;AACP,UAAI,KAAK,YAAT,EAAuB;AACrB,aAAK,IAAL,CAAU,KAAK,EAAL,CAAQ,MAAR,KAAmB,CAAnB,IAAwB,KAAK,EAAL,CAAQ,MAAR,KAAmB,CAArD;AACD,OAFD,MAEO;AACL,aAAK,YAAL,GAAoB,IAApB;AACD;AACF;AApEH;;AAAA;AAAA,EAAmD,sDAAnD;;IAuEM,gC;;;;;AACJ,4CAAY,WAAZ,EAA8C,MAA9C,EAAmF;AAAA;;AAAA;;AACjF,gCAAM,WAAN;AAD4C;AAAqC;AAElF;;;;WAES,eAAM,KAAN,EAAc;AACtB,WAAK,MAAL,CAAY,KAAZ,CAAkB,KAAlB;AACD;;;WAES,gBAAO,GAAP,EAAe;AACvB,WAAK,MAAL,CAAY,KAAZ,CAAkB,GAAlB;AACA,WAAK,WAAL;AACD;;;WAES,qBAAS;AACjB,WAAK,MAAL,CAAY,SAAZ;AACA,WAAK,WAAL;AACD;;;;EAjBkD,sD;;;;;;;;;;;;AC3JrD;AAAA;AAAe;AACf;;AAEA,wCAAwC,SAAS;AACjD;AACA;;AAEA;AACA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAKO,IAAM,aAAa,GAAG,EAAtB;AACP,IAAM,yBAAyB,GAAG,kCAAkC,EAApE;;IAEa,Y;AAAb;AAAA;;AACU,kCAAyB,IAAIG,qEAAJ,EAAzB;AAyCT;;;;WAvCC,4BAAmB,IAAnB,EAA8B,WAA9B,EAAoD;AAClD,UAAM,QAAQ,GAAG,WAAW,CAAC,QAA7B;;AAEA,UAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC;AAChC,YAAM,MAAM,GAAG,sEAAY,CAAC,QAAD,CAA3B;AACA,eAAO,MAAM,GAAG,QAAH,qBAAyB,QAAzB,SAAoC,aAApC,CAAb;AACD,OAHD,MAGO,IAAI,QAAQ,KAAK,IAAb,IAAqB,QAAQ,KAAK,KAAK,CAA3C,EAA8C;AACnD,cAAM,qEAAW,CACb,2CACIpiJ,gEAAS,CAAC,IAAD,CADb,gKADa,CAAjB;AAID;;AAED,yBAAYA,gEAAS,CAAC,IAAD,CAArB;AACD;;;WACD,oBAAW,UAAX,EAAmC;AACjC,aAAO,KAAK,sBAAL,CAA4B,UAA5B,CAAuC,UAAvC,CAAP;AACD;;;WACD,wBAAe,UAAf,EAAuC;AACrC,aAAO,KAAK,WAAL,CAAiB,UAAjB,CAAP;AACD;;;WACD,qBAAY,UAAZ,EAAoC;AAClC,aAAO,KAAK,sBAAL,CAA4B,WAA5B,CAAwC,UAAxC,CAAP;AACD;;;WACD,4BAAmB,UAAnB,EAA2C;AACzC,YAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACD;;;WACD,sBAAa,UAAb,EAAqC;AACnC,aAAO,KAAK,sBAAL,CAA4B,YAA5B,CAAyC,UAAzC,CAAP;AACD;;;WACD,0BAAiB,IAAjB,EAA4B,UAA5B,EAA8C;AAC5C,aAAO,KAAK,sBAAL,CAA4B,gBAA5B,CAA6C,IAA7C,EAAmD,UAAnD,CAAP;AACD;;;WACD,gBAAO,IAAP,EAAgB;AACd,aAAO,KAAK,sBAAL,CAA4B,MAA5B,CAAmC,IAAnC,CAAP;AACD;;;WACD,kCAAyB,GAAzB,EAA+C;AAC7C,aAAO,yBAAyB,CAAC,GAA1B,CAA8B,GAA9B,KAAsC,GAAG,CAAC,OAAjD;AACD;;;;;;AAIH,SAAS,kCAAT,GAA2C;AACzC,MAAM,GAAG,GAAG,IAAI,GAAJ,EAAZ;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,4BAApB,EAAkD,0EAAlD;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,UAApB,EAAgC,wDAAhC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,WAApB,EAAiC,yDAAjC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,gBAApB,EAAsC,8DAAtC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,iBAApB,EAAuC,+DAAvC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,SAApB,EAA+B,uDAA/B;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,SAApB,EAA+B,uDAA/B;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,WAApB,EAAiC,yDAAjC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,+BAApB,EAAqD,8EAArD;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,wBAApB,EAA8C,sEAA9C;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,gBAApB,EAAsC,8DAAtC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,YAApB,EAAkC,0DAAlC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,eAApB,EAAqC,6DAArC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,mBAApB,EAAyC,kDAAzC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,SAApB,EAA+B,kDAA/B;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,iBAApB,EAAuC,kDAAvC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,uBAApB,EAA6C,oEAA7C;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,QAApB,EAA8B,sDAA9B;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,iBAApB,EAAuC,+DAAvC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,uBAApB,EAA6C,qEAA7C;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,eAApB,EAAqC,6DAArC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,SAApB,EAA+B,uDAA/B;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,mBAApB,EAAyC,iEAAzC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,iBAApB,EAAuC,gEAAvC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,WAApB,EAAiC,0DAAjC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,WAApB,EAAiC,0DAAjC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,SAApB,EAA+B,wDAA/B;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,OAApB,EAA6B,kDAA7B;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,UAApB,EAAgC,kDAAhC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,SAApB,EAA+B,kDAA/B;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,OAApB,EAA6B,kDAA7B;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,YAApB,EAAkC,kDAAlC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,WAApB,EAAiC,kDAAjC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,QAApB,EAA8B,kDAA9B;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,YAApB,EAAkC,kDAAlC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,aAApB,EAAmC,kDAAnC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,WAApB,EAAiC,kDAAjC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,OAApB,EAA6B,kDAA7B;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,SAApB,EAA+B,kDAA/B;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,YAApB,EAAkC,kDAAlC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,WAApB,EAAiC,kDAAjC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,mBAApB,EAAyC,kDAAzC;AACA,KAAG,CAAC,GAAJ,CAAQ,6DAAW,CAAC,sBAApB,EAA4C,kDAA5C;AACA,SAAO,GAAP;AACF;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAOO,IAAM,qBAAqB,GAAG,IAAI,4DAAJ,CAAmB,gBAAnB,CAA9B;AAEP;AACA;AACA;;AACO,IAAM,4BAA4B,GAAG;AAC1C,SAAO,EAAE,8DADiC;AAE1C,UAAQ,EAAE;AAFgC,CAArC;AAKP,IAAM,mBAAmB,GAAmB;AAC1C,KAD0C,eACtC,GADsC,EAC3B;AACb,UAAM,IAAI,KAAJ,oFACyE,GADzE,QAAN;AAED;AAJyC,CAA5C;AAOA,IAAM,cAAc,GAAG,IAAI,4DAAJ,CAAmB,YAAnB,CAAvB;;IAEa,Y;AAGX,wBACI,QADJ,EACgC,iBADhC,EAEI,cAFJ,EAEoC,aAFpC,EAEkE,YAFlE,EAGI,gBAHJ,EAGwC,eAHxC,EAII,gBAJJ,EAIwC,YAJxC,EAKI,cALJ,EAKoC,OALpC,EAKoD;AAAA;;AAJpB;AAK9B,SAAK,SAAL,GAAiB,IAAI,6DAAJ,CACb,iBADa,EACM,cADN,EACsB,aADtB,EACqC,YADrC,EACmD,gBADnD,EAEb,eAFa,EAEI,gBAFJ,EAEsB,YAFtB,EAEoC,cAFpC,EAEoD,OAFpD,EAGb,KAAK,yBAAL,CAA+B,IAA/B,CAAoC,IAApC,CAHa,CAAjB;AAIA,SAAK,QAAL,GAAgB,QAAhB;AACD;;;;WAEO,qCAAyB;AAC/B,aAAO,CAAC,KAAK,iBAAL,CAAuB,mBAAvB,CACJ,IAAI,8DAAJ,CAAiB,sDAAjB,EAA2B;AAAC,gBAAQ,EAAE;AAAX,OAA3B,CADI,CAAD,CAAP;AAED;;;WAED,2BAAqB,UAArB,EAAwC;AACtC,aAAO,KAAK,SAAL,CAAe,iBAAf,CAAiC,UAAjC,CAAP;AACD;;;WACD,4BAAsB,UAAtB,EAAyC;AACvC,aAAO,KAAK,SAAL,CAAe,kBAAf,CAAkC,UAAlC,CAAP;AACD;;;WACD,2CAAqC,UAArC,EAAwD;AACtD,UAAM,MAAM,GAAG,KAAK,SAAL,CAAe,iCAAf,CAAiD,UAAjD,CAAf;;AACA,aAAO;AACL,uBAAe,EAAE,MAAM,CAAC,eADnB;AAEL,0BAAkB,EAAE,MAAM,CAAC;AAFtB,OAAP;AAID;;;WACD,4CAAsC,UAAtC,EAAyD;AAEvD,aAAO,KAAK,SAAL,CAAe,kCAAf,CAAkD,UAAlD,EACF,IADE,CACG,UAAC,MAAD;AAAA,eAAa;AACX,yBAAe,EAAE,MAAM,CAAC,eADb;AAEX,4BAAkB,EAAE,MAAM,CAAC;AAFhB,SAAb;AAAA,OADH,CAAP;AAKD;;;WACD,0BAAiB,SAAjB,EAAuC;AACrC,WAAK,SAAL,CAAe,gBAAf,CAAgC,SAAhC;AACD;;;WACD,uBAAc,GAAd,EAA4B;AAC1B,aAAO,KAAK,SAAL,CAAe,aAAf,CAA6B,GAA7B,CAAP;AACD;;;WACD,6BAAuB,SAAvB,EAAyC;AACvC,aAAO,KAAK,SAAL,CAAe,mBAAf,CAAmC,SAAnC,CAAP;AACD;;;WACD,sBAAU;AACR,WAAK,SAAL,CAAe,UAAf;AACD;;;WACD,uBAAc,IAAd,EAA6B;AAC3B,WAAK,SAAL,CAAe,aAAf,CAA6B,IAA7B;AACD;;;WACD,qBAAY,UAAZ,EAAiC;AAC/B,UAAM,IAAI,GAAG,KAAK,iBAAL,CAAuB,mBAAvB,CAA2C,UAA3C,CAAb;;AACA,aAAO,IAAI,IAAI,IAAI,CAAC,EAAb,IAAmB,SAA1B;AACD;;;;;;AAEH,SAKwC,IAAI,YAAJ,EALxC;AAAA,IAK0D,KACpB,mBANtC;AAAA,IAMyD,KAcjD,SAdiD,EAcjD,CAAC,MAAD,EAAqB,YAArB,EAAgD,MAAhD,EAAgE,MAAhE,EACC,OADD,EACiB;AACf,cAAY,GAAG,YAAY,IAAI,EAA/B;AACA,MAAM,kBAAkB,GACpB,YAAY,GAAG,MAAM,CAAC,kBAAV,GAAgC,wEAA0B,CAAC,MAD3E;AAEA,SAAO,IAAI,gEAAJ,CAAmB,MAAnB,EAA2B,YAA3B,EAAyC,MAAzC,EAAiD,kBAAjD,EAAqE,OAArE,CAAP;AACD,CA1BT;AAAA,IA0BS,KA+B6B,IAAI,gEAAJ,EAzDtC;AAAA;AACA;AACA;AACA;;;AACA,IAAM,4BAA4B,GAAqB,CACrD;AAAC,SAAO,EAAE,kEAAV;AAA4B,UAAQ;AAApC,CADqD,EAErD;AAAC,SAAO,EAAE,gEAAV;AAA0B,UAAQ;AAAlC,CAFqD,EAGrD;AAAC,SAAO,EAAE,oEAAV;AAA8B,MAAI,EAAE;AAApC,CAHqD,EAIrD;AAAC,SAAO,EAAE,iEAAV;AAA2B,aAAW,EAAE,oEAAkB;AAA1D,CAJqD,EAKrD;AAAC,SAAO,EAAEqiJ,sDAAV;AAAmB,MAAI,EAAE;AAAzB,CALqD,EAMrD;AAAC,SAAO,EAAE,uDAAV;AAAiB,MAAI,EAAE;AAAvB,CANqD,EAOrD;AAAC,SAAO,EAAE,wDAAV;AAAkB,MAAI,EAAE,CAAC,uDAAD;AAAxB,CAPqD,EAQrD;AACE,SAAO,EAAE,cADX;AAEE,UAAQ,EAAE,4DAFZ;AAGE,MAAI,EAAE;AAHR,CARqD,EAarD;AACE,SAAO,EAAE,gEADX;AAEE,YAAU,IAFZ;AAUE,MAAI,EAAE,CACJ,cADI,EAEJ,CAAC,IAAI,sDAAJ,EAAD,EAAiB,IAAI,oDAAJ,CAAW,0DAAX,CAAjB,CAFI,EAGJ,CAAC,IAAI,sDAAJ,EAAD,EAAiB,IAAI,oDAAJ,CAAW,iEAAX,CAAjB,CAHI,EAIJ,CAAC,gEAAD,CAJI,EAKJ,CAACA,sDAAD,CALI;AAVR,CAbqD,EA+BrD;AACE,SAAO,EAAE,4DADX;AAEE,aAAW,EAAE,gEAAc;AAF7B,CA/BqD,EAmCrD;AACE,SAAO,EAAE,gEADX;AAEE,MAAI,EAAE,CAAC,gEAAD,EAAiB,kEAAjB,EAAmC,wDAAnC,EAA2C,uEAA3C,EAAkE,gEAAlE,EAAkFA,sDAAlF;AAFR,CAnCqD,EAuCrD;AAAC,SAAO,EAAE,8DAAV;AAAwB,UAAQ,EAAE,8DAAlC;AAAgD,MAAI,EAAE;AAAtD,CAvCqD,EAwCrD;AAAC,SAAO,EAAE,qEAAV;AAA+B,MAAI,EAAE,CAAC,gEAAD,EAAiB,6DAAjB,EAA8B,4DAA9B,EAA0C,gEAA1C;AAArC,CAxCqD,EAyCrD;AACE,SAAO,EAAE,yEADX;AAEE,MAAI,EAAE,CACJ,gEADI,EACY,4DADZ,EACwB,kEADxB,EAC0C,mEAD1C,EAC6D,8DAD7D,EAEJ,iEAFI,EAEa,uEAFb,EAEoC,qEAFpC,EAEyDA,sDAFzD,EAGJ,CAAC,sDAAD,EAAW,mEAAX,CAHI,EAG2B,kEAH3B,EAG6C,CAAC,sDAAD,EAAW,qBAAX,CAH7C;AAFR,CAzCqD,EAiDrD,4BAjDqD,EAkDrD;AAAC,SAAO,EAAE,+DAAV;AAAyB,MAAI,EAAE,CAAC,6DAAD;AAA/B,CAlDqD,EAmDrD;AAAC,SAAO,EAAE,8DAAV;AAAwB,MAAI,EAAE,CAAC,kEAAD;AAA9B,CAnDqD,EAoDrD;AAAC,SAAO,EAAE,kEAAV;AAA4B,MAAI,EAAE,CAAC,kEAAD;AAAlC,CApDqD,EAqDrD;AAAC,SAAO,EAAE,gEAAV;AAA0B,UAAQ;AAAlC,CArDqD,EAsDrD;AACE,SAAO,EAAE,sDADX;AAEE,UAAQ,EAAE,YAFZ;AAGE,MAAI,EAAE,CACJ,sDADI,EACM,yEADN,EAC+B,gEAD/B,EAC+C,+DAD/C,EAC8D,8DAD9D,EAEJ,kEAFI,EAEc,iEAFd,EAE+B,kEAF/B,EAEiD,8DAFjD,EAE+D,gEAF/D,EAE+EA,sDAF/E;AAHR,CAtDqD,EA8DrD;AAAC,SAAO,EAAE,0EAAV;AAAoC,MAAI,EAAE;AAA1C,CA9DqD,EA+DrD;AAAC,SAAO,EAAE,uEAAV;AAAiC,aAAW,EAAE,0EAAwB;AAAtE,CA/DqD,EAgErD;AAAC,SAAO,EAAE,6DAAV;AAAuB,MAAI,EAAE,CAAC,8DAAD;AAA7B,CAhEqD,EAiErD;AAAC,SAAO,EAAE,mEAAV;AAA6B,MAAI,EAAE,CAAC,kEAAD;AAAnC,CAjEqD,EAkErD;AAAC,SAAO,EAAE,8DAAV;AAAwB,MAAI,EAAE,CAAC,kEAAD;AAA9B,CAlEqD,EAmErD;AAAC,SAAO,EAAE,kEAAV;AAA4B,MAAI,EAAE,CAAC,kEAAD;AAAlC,CAnEqD,CAAvD;AAqEA,IACa,6BAA6B,GACpB,CAAC;AAAC,SAAO,EAAE,sDAAV;AAAoB,YAAU,EAAE;AAAA,WAAM,IAAI,sDAAJ,EAAN;AAAA;AAAhC,CAAD,CAFtB;AAGO,IAAM,kBAAkB,GAAG,6BAA3B;AACP;AACA;AACA;;IACa,kB;AAAqB;AAIhC,8BAAY,cAAZ,EAA6C;AAAA;;AAC3C,QAAM,eAAe,GAAoB;AACvC,YAAM,EAAE,IAD+B;AAEvC,0BAAoB,EAAE,+DAAiB,CAAC,QAFD;AAGvC,wBAAkB,EAAE,wEAA0B,CAAC;AAHR,KAAzC;AAMA,SAAK,eAAL,IAAwB,eAAxB,2JAA4C,cAA5C;AACD;;;;WACD,0BAA8C;AAAA,UAA/B,OAA+B,uEAAF,EAAE;;AAC5C,UAAM,IAAI,GAAG,aAAa,CAAC,KAAK,eAAL,CAAqB,MAArB,CAA4B,OAA5B,CAAD,CAA1B;;AACA,UAAM,QAAQ,GAAG,sDAAQ,CAAC,MAAT,CAAgB,CAC/B,kBAD+B,EACX;AAClB,eAAO,EAAE,gEADS;AAElB,kBAAU,EAAE;AACV,iBAAO,IAAI,gEAAJ,CAAmB;AACpC;AACY;AACA,kBAAM,EAAE,IAAI,CAAC,MAHW;AAIxB,sBAAU,EAAE,+DAAS,EAJG;AAKpC;AACY;AACA,gCAAoB,EAAE,IAAI,CAAC,oBAPH;AAQxB,8BAAkB,EAAE,IAAI,CAAC,kBARD;AASxB,+BAAmB,EAAE,IAAI,CAAC;AATF,WAAnB,CAAP;AAWD,SAdiB;AAelB,YAAI,EAAE;AAfY,OADW,EAkB/B,IAAI,CAAC,SAlB0B,CAAhB,CAAjB;AAoBA,aAAO,QAAQ,CAAC,GAAT,CAAa,sDAAb,CAAP;AACD;;;;;;AAGH,SAAS,aAAT,CAAuB,UAAvB,EAAoD;AAClD,SAAO;AACL,UAAM,EAAE,YAAY,CAAC,UAAU,CAAC,GAAX,CAAe,iBAAO;AAAA,aAAI,OAAO,CAAC,MAAZ;AAAA,KAAtB,CAAD,CADf;AAEL,wBAAoB,EAAE,YAAY,CAAC,UAAU,CAAC,GAAX,CAAe,iBAAO;AAAA,aAAI,OAAO,CAAC,oBAAZ;AAAA,KAAtB,CAAD,CAF7B;AAGL,aAAS,EAAE,YAAY,CAAC,UAAU,CAAC,GAAX,CAAe,iBAAO;AAAA,aAAI,OAAO,CAAC,SAAZ;AAAA,KAAtB,CAAD,CAHlB;AAIL,sBAAkB,EAAE,YAAY,CAAC,UAAU,CAAC,GAAX,CAAe,iBAAO;AAAA,aAAI,OAAO,CAAC,kBAAZ;AAAA,KAAtB,CAAD,CAJ3B;AAKL,uBAAmB,EAAE,YAAY,CAAC,UAAU,CAAC,GAAX,CAAe,iBAAO;AAAA,aAAI,OAAO,CAAC,mBAAZ;AAAA,KAAtB,CAAD;AAL5B,GAAP;AAOD;;AAED,SAAS,YAAT,CAAyB,IAAzB,EAAkC;AAChC,OAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAL,GAAc,CAA3B,EAA8B,CAAC,IAAI,CAAnC,EAAsC,CAAC,EAAvC,EAA2C;AACzC,QAAI,IAAI,CAAC,CAAD,CAAJ,KAAY,SAAhB,EAA2B;AACzB,aAAO,IAAI,CAAC,CAAD,CAAX;AACD;AACF;;AACD,SAAO,SAAP;AACD;;AAED,SAAS,YAAT,CAAsB,KAAtB,EAAoC;AAClC,MAAM,MAAM,GAAU,EAAtB;AACA,OAAK,CAAC,OAAN,CAAc,UAAC,IAAD;AAAA,WAAU,IAAI,IAAI,MAAM,CAAC,IAAP,aAAM,oJAAS,IAAT,EAAxB;AAAA,GAAd;AACA,SAAO,MAAP;AACF;AC5OA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,WAWwC,EAXxC;AAKA;AACA;AACA;AACA;AACA;;AACA,IAAa,mBAAmB,GAAG,2EAAqB,CAAC,0DAAD,EAAe,aAAf,EAA8B,CACpF;AAAC,SAAO,EAAE,8DAAV;AAA4B,UAAQ,MAApC;AAA0C,OAAK,EAAE;AAAjD,CADoF,EAEpF;AAAC,SAAO,EAAE,6DAAV;AAA2B,UAAQ,EAAE,kBAArC;AAAyD,MAAI,EAAE,CAAC,8DAAD;AAA/D,CAFoF,CAA9B,CAAxD;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;;IAMa,kB;;;;;;;;;;;;;WACX,aAAI,GAAJ,EAAe;AACb,UAAI,OAAJ;AACA,UAAI,MAAJ;AACA,UAAM,OAAO,GAAG,IAAI,OAAJ,CAAoB,UAAC,GAAD,EAAM,GAAN,EAAS;AAC3C,eAAO,GAAG,GAAV;AACA,cAAM,GAAG,GAAT;AACD,OAHe,CAAhB;AAIA,UAAM,GAAG,GAAG,IAAI,cAAJ,EAAZ;AACA,SAAG,CAAC,IAAJ,CAAS,KAAT,EAAgB,GAAhB,EAAqB,IAArB;AACA,SAAG,CAAC,YAAJ,GAAmB,MAAnB;;AAEA,SAAG,CAAC,MAAJ,GAAa;AAChB;AACM;AACM;AACP,YAAM,QAAQ,GAAG,GAAG,CAAC,QAAJ,IAAgB,GAAG,CAAC,YAArC,CAJW,CAKjB;;AAEM,YAAI,MAAM,GAAG,GAAG,CAAC,MAAJ,KAAe,IAAf,GAAsB,GAAtB,GAA4B,GAAG,CAAC,MAA7C,CAPW,CAQjB;AAEK;AACM;;AACL,YAAI,MAAM,KAAK,CAAf,EAAkB;AAChB,gBAAM,GAAG,QAAQ,GAAG,GAAH,GAAS,CAA1B;AACD;;AAED,YAAI,OAAO,MAAP,IAAiB,MAAM,IAAI,GAA/B,EAAoC;AAClC,iBAAO,CAAC,QAAD,CAAP;AACD,SAFD,MAEO;AACL,gBAAM,0BAAmB,GAAnB,EAAN;AACD;AACF,OArBD;;AAuBA,SAAG,CAAC,OAAJ,GAAc;AACZ,cAAM,0BAAmB,GAAnB,EAAN;AACD,OAFD;;AAIA,SAAG,CAAC,IAAJ;AACA,aAAO,OAAP;AACD;;;;EAzCqC,gE;;mCADvC,0B,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;ACZF;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,WAgBc;AAAC,WAAS,EAAE,CAAC;AAAC,WAAO,EAAE,gEAAV;AAA0B,YAAQ,EAAE,kBAApC;AAAwD,QAAI,EAAE;AAA9D,GAAD;AAAZ,CAhBd;AAAA,IAgB8F,OAG3DC,oEAnBnC;AASA;AACA;AACA;;AACA,IAAa,2CAA2C,GAAqB,CAC3EC,8FAD2E,EAE3E;AACE,SAAO,EAAE,8DADX;AAEE,UAAQ,MAFV;AAGE,OAAK,EAAE;AAHT,CAF2E,EAO3E;AAAC,SAAO,EAAE,yDAAV;AAAuB,UAAQ;AAA/B,CAP2E,CAA7E;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACa,oB;;;;;AAGX;AAAA;;AAAA;;AACE;AACA,UAAK,MAAL,GAAoBnhJ,qDAAO,CAAC,cAA5B;;AACA,QAAI,MAAK,MAAL,IAAe,IAAnB,EAAyB;AACvB,YAAM,IAAI,KAAJ,CAAU,uEAAV,CAAN;AACD;;AALH;AAMC;;;;WAED,aAAI,GAAJ,EAAe;AACb,UAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,GAA3B,CAAJ,EAAqC;AACnC,eAAO,OAAO,CAAC,OAAR,CAAgB,KAAK,MAAL,CAAY,GAAZ,CAAhB,CAAP;AACD,OAFD,MAEO;AACL,eAAqB,OAAO,CAAC,MAAR,CACjB,4DAA4D,GAD3C,CAArB;AAED;AACF;;;;EAlBuC,gE;ACpB1C;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;;;AACA,IAAa,OAAO,GAAG,IAAI,qDAAJ,CAAY,QAAZ,CAAvB;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA;AACA;AACA;;AACA,IAAa,uBAAuB,GAChC,CAAC;AAAC,SAAO,EAAE,gEAAV;AAA0B,UAAQ,EAAE,oBAApC;AAA0D,MAAI,EAAE;AAAhE,CAAD,CADJ;AAGA;AACA;AACA;;AACA,IAAa,sBAAsB,GAAG,2EAAqB,CACvD,mBADuD,EAClC,gBADkC,EAChB,2CADgB,CAA3D;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;;;;;;;;;;;;;;ACDA;AAAA;AAAA;AAAA;AAEO,IAAM,kBAAkB,GAAG,SAArB,kBAAqB,CAAI,OAAJ;AAAA,SAAgC,UAAC,UAAD,EAA8B;AAC9F,WAAO,CAAC,IAAR,CACE,UAAC,KAAD,EAAU;AACR,UAAI,CAAC,UAAU,CAAC,MAAhB,EAAwB;AACtB,kBAAU,CAAC,IAAX,CAAgB,KAAhB;AACA,kBAAU,CAAC,QAAX;AACD;AACF,KANH,EAOE,UAAC,GAAD;AAAA,aAAc,UAAU,CAAC,KAAX,CAAiB,GAAjB,CAAd;AAAA,KAPF,EASC,IATD,CASM,IATN,EASY,gEATZ;AAUA,WAAO,UAAP;AACD,GAZiC;AAAA,CAA3B,C;;;;;;;;;;;;ACFP;AAAA;AAAA;AAAA;AAkDM,SAAU,WAAV,CACJ,eADI,EAEJ,cAFI,EAEwF;AAE5F,SAAO,cAAc,GAAG,4DAAS,CAAC;AAAA,WAAM,eAAN;AAAA,GAAD,EAAwB,cAAxB,CAAZ,GAAsD,4DAAS,CAAC;AAAA,WAAM,eAAN;AAAA,GAAD,CAApF;AACD,C;;;;;;;;;;;;ACvDD;AAAA;AAAA;AAAA;AAAA;AACA;AA6DM,SAAU,QAAV,GAAmE;AAAA,MAA7C,UAA6C,uEAAxB,MAAM,CAAC,iBAAiB;AACvE,SAAO,0DAAQ,CAAC,uDAAD,EAAW,UAAX,CAAf;AACD,C;;;;;;;;;;;;ACjED;AAAA;AAAA;AAAA;AAuEM,SAAU,SAAV,CACJ,OADI,EAEJ,cAFI,EAEyG;AAE7G,SAAO,0DAAQ,CAAC,OAAD,EAAU,cAAV,EAA0B,CAA1B,CAAf;AACD,C;;;;;;;;;;;;ACvED;AAAA;AAAM,SAAU,SAAV,CAAoB,KAApB,EAA8B;AAClC,SAAO,CAAC,CAAC,KAAF,IAAW,OAAa,KAAM,CAAC,SAApB,KAAkC,UAA7C,IAA2D,OAAQ,KAAa,CAAC,IAAtB,KAA+B,UAAjG;AACD,C;;;;;;;;;;;;;;;;;;;;;;;ACFD;AA0CM,SAAU,MAAV,CAAoB,QAApB,EAA6C;AACjD,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,cAAJ,CAAmB,QAAnB,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,c;AACJ,0BAAoB,QAApB,EAA6C;AAAA;;AAAzB;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,UAAM,gBAAgB,GAAG,IAAI,gBAAJ,CAAqB,UAArB,CAAzB;AACA,UAAM,YAAY,GAAG,MAAM,CAAC,SAAP,CAAiB,gBAAjB,CAArB;AACA,kBAAY,CAAC,GAAb,CAAiB,sEAAc,CAAC,KAAK,QAAN,EAAgB,IAAI,qEAAJ,CAA0B,gBAA1B,CAAhB,CAA/B;AACA,aAAO,YAAP;AACD;;;;;;IAQG,gB;;;;;AAAN;AAAA;;AAAA;;;AAEU,qBAAoB,KAApB;AAFV;AAuBC;;;;WAnBW,eAAM,KAAN,EAAc;AACtB,WAAK,KAAL,GAAa,KAAb;AACA,WAAK,QAAL,GAAgB,IAAhB;AACD;;;WAED,sBAAU;AACR,WAAK,SAAL;AACD;;;WAED,0BAAc;AACZ,WAAK,SAAL;AACD;;;WAED,qBAAS;AACP,UAAI,KAAK,QAAT,EAAmB;AACjB,aAAK,QAAL,GAAgB,KAAhB;AACA,aAAK,WAAL,CAAiB,IAAjB,CAAuB,KAAK,KAA5B;AACD;AACF;;;;EAtBkC,qE;;;;;;;;;;;;ACpErC;AAAA;AAAA;AAAA,IAAI,UAAU,GAAG,CAAjB;;AACA,IAAM,QAAQ,GAAI;AAAA,SAAM,OAAO,CAAC,OAAR,EAAN;AAAA,CAAD,EAAjB;;AACA,IAAM,aAAa,GAA2B,EAA9C;;AAOA,SAAS,kBAAT,CAA4B,MAA5B,EAA0C;AACxC,MAAI,MAAM,IAAI,aAAd,EAA6B;AAC3B,WAAO,aAAa,CAAC,MAAD,CAApB;AACA,WAAO,IAAP;AACD;;AACD,SAAO,KAAP;AACD;;AAKM,IAAM,SAAS,GAAG;AACvB,cADuB,wBACV,EADU,EACI;AACzB,QAAM,MAAM,GAAG,UAAU,EAAzB;AACA,iBAAa,CAAC,MAAD,CAAb,GAAwB,IAAxB;AACA,YAAQ,CAAC,IAAT,CAAc;AAAA,aAAM,kBAAkB,CAAC,MAAD,CAAlB,IAA8B,EAAE,EAAtC;AAAA,KAAd;AACA,WAAO,MAAP;AACD,GANsB;AAQvB,gBARuB,0BAQR,MARQ,EAQM;AAC3B,sBAAkB,CAAC,MAAD,CAAlB;AACD;AAVsB,CAAlB;AAgBA,IAAM,SAAS,GAAG;AACvB,SADuB,qBAChB;AACL,WAAO,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAAlC;AACD;AAHsB,CAAlB,C;;;;;;;;;;;;;;;;;;;;;;;;;AClCP;AA8CM,SAAU,IAAV,CAAkB,SAAlB,EACkB,OADlB,EAC+B;AACnC,MAAI,OAAO,SAAP,KAAqB,UAAzB,EAAqC;AACnC,UAAM,IAAI,SAAJ,CAAc,6BAAd,CAAN;AACD;;AACD,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,iBAAJ,CAAsB,SAAtB,EAAiC,MAAjC,EAAyC,KAAzC,EAAgD,OAAhD,CAAZ,CAA3B;AAAA,GAAP;AACD;AAED,IAAa,iBAAb;AACE,6BAAoB,SAApB,EACoB,MADpB,EAEoB,UAFpB,EAGoB,OAHpB,EAGiC;AAAA;;AAHb;AACA;AACA;AACA;AACnB;;AALH;AAAA;AAAA,WAOE,cAAK,QAAL,EAA8B,MAA9B,EAAyC;AACvC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,mBAAJ,CAAwB,QAAxB,EAAkC,KAAK,SAAvC,EAAkD,KAAK,MAAvD,EAA+D,KAAK,UAApE,EAAgF,KAAK,OAArF,CAAjB,CAAP;AACD;AATH;;AAAA;AAAA;AAiBA,IAAa,mBAAb;AAAA;;AAAA;;AAGE,+BAAY,WAAZ,EACoB,SADpB,EAEoB,MAFpB,EAGoB,UAHpB,EAIoB,OAJpB,EAIiC;AAAA;;AAAA;;AAC/B,8BAAM,WAAN;AAJkB;AACA;AACA;AACA;AANZ,kBAAgB,CAAhB;AAMyB;AAEhC;;AATH;AAAA;AAAA,WAWU,wBAAe,KAAf,EAAyB;AAC/B,UAAM,WAAW,GAAG,KAAK,WAAzB;AAEA,iBAAW,CAAC,IAAZ,CAAiB,KAAjB;AACA,iBAAW,CAAC,QAAZ;AACA,WAAK,WAAL;AACD;AAjBH;AAAA;AAAA,WAmBY,eAAM,KAAN,EAAc;AACtB,UAAO,SAAP,GAA6B,IAA7B,CAAO,SAAP;AAAA,UAAkB,OAAlB,GAA6B,IAA7B,CAAkB,OAAlB;AACA,UAAM,KAAK,GAAG,KAAK,KAAL,EAAd;;AACA,UAAI;AACF,YAAM,MAAM,GAAG,SAAS,CAAC,IAAV,CAAe,OAAO,IAAI,IAA1B,EAAgC,KAAhC,EAAuC,KAAvC,EAA8C,KAAK,MAAnD,CAAf;;AACA,YAAI,MAAJ,EAAY;AACV,eAAK,cAAL,CAAoB,KAAK,UAAL,GAAkB,KAAlB,GAA0B,KAA9C;AACD;AACF,OALD,CAKE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACD;AACF;AA9BH;AAAA;AAAA,WAgCY,qBAAS;AACjB,WAAK,cAAL,CAAoB,KAAK,UAAL,GAAkB,CAAC,CAAnB,GAAuB,SAA3C;AACD;AAlCH;;AAAA;AAAA,EAA4C,sDAA5C,E;;;;;;;;;;;;;;;;;;;;;;;;;;ACxEA;AACA;AAEA;AAEA;AAqEM,SAAU,SAAV,CAAuB,qBAAvB,EACuB,iBADvB,EAC0D;AAC9D,MAAI,iBAAJ,EAAuB;AACrB,WAAO,UAAC,MAAD;AAAA,aACL,IAAI,2BAAJ,CAAgC,MAAhC,EAAwC,iBAAxC,EACG,IADH,CACQ,IAAI,iBAAJ,CAAsB,qBAAtB,CADR,CADK;AAAA,KAAP;AAGD;;AACD,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,iBAAJ,CAAsB,qBAAtB,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,iB;AACJ,6BAAoB,qBAApB,EAAuF;AAAA;;AAAnE;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,mBAAJ,CAAwB,UAAxB,EAAoC,KAAK,qBAAzC,CAAjB,CAAP;AACD;;;;;;IAQG,mB;;;;;AAKJ,+BAAY,WAAZ,EACoB,qBADpB,EACuF;AAAA;;AAAA;;AACrF,8BAAM,WAAN;AADkB;AALZ,sBAAqB,KAArB;AACA,uCAAkD,EAAlD;AACA,kBAAgB,CAAhB;AAG+E;AAEtF;;;;WAED,oBAAW,UAAX,EAA0B,WAA1B,EACW,WADX,EACgC,WADhC,EAEW,QAFX,EAE0C;AACxC,WAAK,WAAL,CAAiB,IAAjB,CAAuB,UAAvB;AACA,WAAK,kBAAL,CAAwB,QAAxB;AACA,WAAK,WAAL;AACD;;;WAED,qBAAY,KAAZ,EAAwB,QAAxB,EAAuD;AACrD,WAAK,MAAL,CAAY,KAAZ;AACD;;;WAED,wBAAe,QAAf,EAA8C;AAC5C,UAAM,KAAK,GAAG,KAAK,kBAAL,CAAwB,QAAxB,CAAd;;AACA,UAAI,KAAJ,EAAW;AACT,aAAK,WAAL,CAAiB,IAAjB,CAAuB,KAAvB;AACD;;AACD,WAAK,WAAL;AACD;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAM,KAAK,GAAG,KAAK,KAAL,EAAd;;AACA,UAAI;AACF,YAAM,aAAa,GAAG,KAAK,qBAAL,CAA2B,KAA3B,EAAkC,KAAlC,CAAtB;;AACA,YAAI,aAAJ,EAAmB;AACjB,eAAK,QAAL,CAAc,aAAd,EAA6B,KAA7B;AACD;AACF,OALD,CAKE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAwB,GAAxB;AACD;AACF;;;WAES,qBAAS;AACjB,WAAK,SAAL,GAAiB,IAAjB;AACA,WAAK,WAAL;AACA,WAAK,WAAL;AACD;;;WAEO,4BAAmB,YAAnB,EAAsD;AAC5D,kBAAY,CAAC,WAAb;AAEA,UAAM,eAAe,GAAG,KAAK,0BAAL,CAAgC,OAAhC,CAAwC,YAAxC,CAAxB;;AACA,UAAI,eAAe,KAAK,CAAC,CAAzB,EAA4B;AAC1B,aAAK,0BAAL,CAAgC,MAAhC,CAAuC,eAAvC,EAAwD,CAAxD;AACD;;AAED,aAAO,YAAY,CAAC,UAApB;AACD;;;WAEO,kBAAS,aAAT,EAAyC,KAAzC,EAAiD;AACvD,UAAM,oBAAoB,GAAG,iFAAiB,CAAC,IAAD,EAAO,aAAP,EAAsB,KAAtB,CAA9C;;AAEA,UAAI,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,MAAlD,EAA0D;AACxD,YAAM,WAAW,GAAG,KAAK,WAAzB;AACA,mBAAW,CAAC,GAAZ,CAAgB,oBAAhB;AACA,aAAK,0BAAL,CAAgC,IAAhC,CAAqC,oBAArC;AACD;AACF;;;WAEO,uBAAW;AACjB,UAAI,KAAK,SAAL,IAAkB,KAAK,0BAAL,CAAgC,MAAhC,KAA2C,CAAjE,EAAoE;AAClE,aAAK,WAAL,CAAiB,QAAjB;AACD;AACF;;;;EAzEqC,gE;;IAiFlC,2B;;;;;AACJ,uCAAmB,MAAnB,EAAkD,iBAAlD,EAAoF;AAAA;;AAAA;;AAClF;AADiB;AAA+B;AAAkC;AAEnF;;;;WAGD,oBAAW,UAAX,EAAoC;AAClC,WAAK,iBAAL,CAAuB,SAAvB,CAAiC,IAAI,2BAAJ,CAAgC,UAAhC,EAA4C,KAAK,MAAjD,CAAjC;AACD;;;;EAR0C,sD;;IAgBvC,2B;;;;;AAGJ,uCAAoB,MAApB,EAAmD,MAAnD,EAAwE;AAAA;;AAAA;;AACtE;AADkB;AAA+B;AAF3C,8BAA4B,KAA5B;AAEgE;AAEvE;;;;WAES,eAAM,MAAN,EAAiB;AACzB,WAAK,iBAAL;AACD;;;WAES,gBAAO,GAAP,EAAe;AACvB,WAAK,WAAL;AACA,WAAK,MAAL,CAAY,KAAZ,CAAkB,GAAlB;AACD;;;WAES,qBAAS;AACjB,WAAK,WAAL;AACA,WAAK,iBAAL;AACD;;;WAEO,6BAAiB;AACvB,UAAI,CAAC,KAAK,gBAAV,EAA4B;AAC1B,aAAK,gBAAL,GAAwB,IAAxB;AACA,aAAK,WAAL;AACA,aAAK,MAAL,CAAY,SAAZ,CAAsB,KAAK,MAA3B;AACD;AACF;;;;EA3B0C,sD;;;;;;;;;;;;;;;;;;;;;ACpM7C;AAEA;AACA;AACA;AAEA;AAsIM,SAAU,QAAV,GACa;AAAA,oCAAd,OAAc;AAAd,WAAc;AAAA;;AAEjB,MAAI,OAAO,CAAC,MAAR,KAAmB,CAAvB,EAA0B;AACxB,QAAM,KAAK,GAAG,OAAO,CAAC,CAAD,CAArB;;AACA,QAAI,6DAAO,CAAC,KAAD,CAAX,EAAoB;AAClB,aAAO,gBAAgB,CAAC,KAAD,EAAQ,IAAR,CAAvB;AACD;;AAED,QAAI,+DAAQ,CAAC,KAAD,CAAR,IAAmB,MAAM,CAAC,cAAP,CAAsB,KAAtB,MAAiC,MAAM,CAAC,SAA/D,EAA0E;AACxE,UAAM,IAAI,GAAG,MAAM,CAAC,IAAP,CAAY,KAAZ,CAAb;AACA,aAAO,gBAAgB,CAAC,IAAI,CAAC,GAAL,CAAS,aAAG;AAAA,eAAI,KAAK,CAAC,GAAD,CAAT;AAAA,OAAZ,CAAD,EAA8B,IAA9B,CAAvB;AACD;AACF;;AAGD,MAAI,OAAO,OAAO,CAAC,OAAO,CAAC,MAAR,GAAiB,CAAlB,CAAd,KAAuC,UAA3C,EAAuD;AACrD,QAAM,cAAc,GAAG,OAAO,CAAC,GAAR,EAAvB;AACA,WAAO,GAAI,OAAO,CAAC,MAAR,KAAmB,CAAnB,IAAwB,6DAAO,CAAC,OAAO,CAAC,CAAD,CAAR,CAAhC,GAAgD,OAAO,CAAC,CAAD,CAAvD,GAA6D,OAAvE;AACA,WAAO,gBAAgB,CAAC,OAAD,EAAU,IAAV,CAAhB,CAAgC,IAAhC,CACL,0DAAG,CAAC,UAAC,IAAD;AAAA,aAAiB,cAAc,MAAd,2JAAkB,IAAlB,EAAjB;AAAA,KAAD,CADE,CAAP;AAGD;;AAED,SAAO,gBAAgB,CAAC,OAAD,EAAU,IAAV,CAAvB;AACD;;AAED,SAAS,gBAAT,CAA0B,OAA1B,EAA2D,IAA3D,EAAgF;AAC9E,SAAO,IAAI,sDAAJ,CAAe,oBAAU,EAAG;AACjC,QAAM,GAAG,GAAG,OAAO,CAAC,MAApB;;AACA,QAAI,GAAG,KAAK,CAAZ,EAAe;AACb,gBAAU,CAAC,QAAX;AACA;AACD;;AACD,QAAM,MAAM,GAAG,IAAI,KAAJ,CAAU,GAAV,CAAf;AACA,QAAI,SAAS,GAAG,CAAhB;AACA,QAAI,OAAO,GAAG,CAAd;;AARiC,+BASxB,CATwB;AAU/B,UAAM,MAAM,GAAG,kDAAI,CAAC,OAAO,CAAC,CAAD,CAAR,CAAnB;AACA,UAAI,QAAQ,GAAG,KAAf;AACA,gBAAU,CAAC,GAAX,CAAe,MAAM,CAAC,SAAP,CAAiB;AAC9B,YAAI,EAAE,mBAAK,EAAG;AACZ,cAAI,CAAC,QAAL,EAAe;AACb,oBAAQ,GAAG,IAAX;AACA,mBAAO;AACR;;AACD,gBAAM,CAAC,CAAD,CAAN,GAAY,KAAZ;AACD,SAP6B;AAQ9B,aAAK,EAAE,kBAAG;AAAA,iBAAI,UAAU,CAAC,KAAX,CAAiB,GAAjB,CAAJ;AAAA,SARoB;AAS9B,gBAAQ,EAAE,oBAAK;AACb,mBAAS;;AACT,cAAI,SAAS,KAAK,GAAd,IAAqB,CAAC,QAA1B,EAAoC;AAClC,gBAAI,OAAO,KAAK,GAAhB,EAAqB;AACnB,wBAAU,CAAC,IAAX,CAAgB,IAAI,GAClB,IAAI,CAAC,MAAL,CAAY,UAAC,MAAD,EAAS,GAAT,EAAc,CAAd;AAAA,uBAAqB,MAAM,CAAC,GAAD,CAAN,GAAc,MAAM,CAAC,CAAD,CAApB,EAAyB,MAA9C;AAAA,eAAZ,EAAmE,EAAnE,CADkB,GAElB,MAFF;AAGD;;AACD,sBAAU,CAAC,QAAX;AACD;AACF;AAnB6B,OAAjB,CAAf;AAZ+B;;AASjC,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,CAAC,EAA1B,EAA8B;AAAA,YAArB,CAAqB;AAwB7B;AACF,GAlCM,CAAP;AAmCD,C;;;;;;;;;;;;;;;;;;;;;;;;ACzMD;AACA;AAkDM,SAAU,MAAV,CAAoB,SAApB,EAA2F;AAC/F,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,cAAJ,CAAmB,SAAnB,EAA8B,MAA9B,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,c;AACJ,0BAAoB,SAApB,EACoB,MADpB,EAC0C;AAAA;;AADtB;AACA;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,gBAAJ,CAAqB,UAArB,EAAiC,KAAK,SAAtC,EAAiD,KAAK,MAAtD,CAAjB,CAAP;AACD;;;;;;IAQG,gB;;;;;AAKJ,4BAAY,WAAZ,EACoB,SADpB,EAEoB,MAFpB,EAE0C;AAAA;;AAAA;;AACxC,8BAAM,WAAN;AAFkB;AACA;AANZ,sBAAqB,KAArB;AAEA,kBAAgB,CAAhB;AAIkC;AAEzC;;;;WAEO,0BAAiB,KAAjB,EAAyB;AAC/B,UAAI,KAAK,SAAT,EAAoB;AAClB,aAAK,WAAL,CAAiB,KAAjB,CAAuB,yCAAvB;AACD,OAFD,MAEO;AACL,aAAK,SAAL,GAAiB,IAAjB;AACA,aAAK,WAAL,GAAmB,KAAnB;AACD;AACF;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAM,KAAK,GAAG,KAAK,KAAL,EAAd;;AAEA,UAAI,KAAK,SAAT,EAAoB;AAClB,aAAK,OAAL,CAAa,KAAb,EAAoB,KAApB;AACD,OAFD,MAEO;AACL,aAAK,gBAAL,CAAsB,KAAtB;AACD;AACF;;;WAEO,iBAAQ,KAAR,EAAkB,KAAlB,EAA+B;AACrC,UAAI;AACF,YAAI,KAAK,SAAL,CAAe,KAAf,EAAsB,KAAtB,EAA6B,KAAK,MAAlC,CAAJ,EAA+C;AAC7C,eAAK,gBAAL,CAAsB,KAAtB;AACD;AACF,OAJD,CAIE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACD;AACF;;;WAES,qBAAS;AACjB,UAAM,WAAW,GAAG,KAAK,WAAzB;;AAEA,UAAI,KAAK,KAAL,GAAa,CAAjB,EAAoB;AAClB,mBAAW,CAAC,IAAZ,CAAiB,KAAK,SAAL,GAAiB,KAAK,WAAtB,GAAoC,SAArD;AACA,mBAAW,CAAC,QAAZ;AACD,OAHD,MAGO;AACL,mBAAW,CAAC,KAAZ,CAAkB,IAAI,2DAAJ,EAAlB;AACD;AACF;;;;EAjD+B,sD;;;;;;;;;;;;;;;;;;;;;;;;ACtElC;AACA;AAqDM,SAAU,WAAV,GAAqB;AACzB,SAAO,SAAS,2BAAT,CAAqC,MAArC,EAA0D;AAC/D,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,mBAAJ,EAAZ,CAAP;AACD,GAFD;AAGD;;IAEK,mB;;;;;;;WACJ,cAAK,UAAL,EAA8C,MAA9C,EAAyD;AACvD,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,qBAAJ,CAA0B,UAA1B,CAAjB,CAAP;AACD;;;;;;IAQG,qB;;;;;AACJ,iCAAY,WAAZ,EAAoD;AAAA;;AAAA,6BAC5C,WAD4C;AAEnD;;;;WAES,eAAM,KAAN,EAAc;AACtB,WAAK,WAAL,CAAiB,IAAjB,CAAsB,0DAAY,CAAC,UAAb,CAAwB,KAAxB,CAAtB;AACD;;;WAES,gBAAO,GAAP,EAAe;AACvB,UAAM,WAAW,GAAG,KAAK,WAAzB;AACA,iBAAW,CAAC,IAAZ,CAAiB,0DAAY,CAAC,WAAb,CAAyB,GAAzB,CAAjB;AACA,iBAAW,CAAC,QAAZ;AACD;;;WAES,qBAAS;AACjB,UAAM,WAAW,GAAG,KAAK,WAAzB;AACA,iBAAW,CAAC,IAAZ,CAAiB,0DAAY,CAAC,cAAb,EAAjB;AACA,iBAAW,CAAC,QAAZ;AACD;;;;EAnBoC,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpEvC;AACA;AACA;AAwEM,SAAU,SAAV,CACJ,OADI,EAEJ,cAFI,EAEyG;AAE7G,MAAI,OAAO,cAAP,KAA0B,UAA9B,EAA0C;AACxC,WAAO,UAAC,MAAD;AAAA,aAA2B,MAAM,CAAC,IAAP,CAChC,SAAS,CAAC,UAAC,CAAD,EAAI,CAAJ;AAAA,eAAU,6DAAI,CAAC,OAAO,CAAC,CAAD,EAAI,CAAJ,CAAR,CAAJ,CAAoB,IAApB,CAClB,gDAAG,CAAC,UAAC,CAAD,EAAI,EAAJ;AAAA,iBAAW,cAAc,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,EAAV,CAAzB;AAAA,SAAD,CADe,CAAV;AAAA,OAAD,CADuB,CAA3B;AAAA,KAAP;AAKD;;AACD,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,iBAAJ,CAAsB,OAAtB,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,iB;AACJ,6BAAoB,OAApB,EAA4E;AAAA;;AAAxD;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,mBAAJ,CAAwB,UAAxB,EAAoC,KAAK,OAAzC,CAAjB,CAAP;AACD;;;;;;IAQG,mB;;;;;AAIJ,+BAAY,WAAZ,EACoB,OADpB,EAC4E;AAAA;;AAAA;;AAC1E,8BAAM,WAAN;AADkB;AAJZ,kBAAQ,CAAR;AAIoE;AAE3E;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAI,MAAJ;AACA,UAAM,KAAK,GAAG,KAAK,KAAL,EAAd;;AACA,UAAI;AACF,cAAM,GAAG,KAAK,OAAL,CAAa,KAAb,EAAoB,KAApB,CAAT;AACD,OAFD,CAEE,OAAO,KAAP,EAAc;AACd,aAAK,WAAL,CAAiB,KAAjB,CAAwB,KAAxB;AACA;AACD;;AACD,WAAK,SAAL,CAAe,MAAf;AACD;;;WAEO,mBAAU,MAAV,EAAoC;AAC1C,UAAM,iBAAiB,GAAG,KAAK,iBAA/B;;AACA,UAAI,iBAAJ,EAAuB;AACrB,yBAAiB,CAAC,WAAlB;AACD;;AACD,UAAM,eAAe,GAAG,IAAI,qEAAJ,CAA0B,IAA1B,CAAxB;AACA,UAAM,WAAW,GAAG,KAAK,WAAzB;AACA,iBAAW,CAAC,GAAZ,CAAgB,eAAhB;AACA,WAAK,iBAAL,GAAyB,sEAAc,CAAC,MAAD,EAAS,eAAT,CAAvC;;AAIA,UAAI,KAAK,iBAAL,KAA2B,eAA/B,EAAgD;AAC9C,mBAAW,CAAC,GAAZ,CAAgB,KAAK,iBAArB;AACD;AACF;;;WAES,qBAAS;AACjB,UAAO,iBAAP,GAA4B,IAA5B,CAAO,iBAAP;;AACA,UAAI,CAAC,iBAAD,IAAsB,iBAAiB,CAAC,MAA5C,EAAoD;AAClD;AACD;;AACD,WAAK,WAAL;AACD;;;WAES,wBAAY;AACpB,WAAK,iBAAL,GAAyB,SAAzB;AACD;;;WAED,0BAAc;AACZ,WAAK,iBAAL,GAAyB,SAAzB;;AACA,UAAI,KAAK,SAAT,EAAoB;AAClB;AACD;AACF;;;WAED,oBAAW,UAAX,EAAwB;AACpB,WAAK,WAAL,CAAiB,IAAjB,CAAuB,UAAvB;AACH;;;;EA3DqC,qE;;;;;;;;;;;;AC3GxC;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAiCO,IAAM,uBAAuB,GAAG,IAAI,gFAAJ,CAA4B,0EAA5B,CAAhC;AAKA,IAAM,cAAc,GAAG,uBAAvB,C;;;;;;;;;;;;ACvCP;AAAA;AAAA;AAAA;AA0BM,SAAU,MAAV,GAAkF;AAAA,oCAAxD,WAAwD;AAAxD,eAAwD;AAAA;;AACtF,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAZ,CAAiB,yDAAY,MAAZ,UAAa,MAAb,SAAwB,WAAxB,EAAjB,CAA3B;AAAA,GAAP;AACD,C;;;;;;;;;;;;;;;;;;;AC3BD;AACA;AACA;AAIA,IAAM,IAAI,GAAG,EAAb;AAoCM,SAAU,aAAV,GAE6E;AAAA,oCAF5C,WAE4C;AAF5C,eAE4C;AAAA;;AACjF,MAAI,OAAO,GAAiC,IAA5C;;AACA,MAAI,OAAO,WAAW,CAAC,WAAW,CAAC,MAAZ,GAAqB,CAAtB,CAAlB,KAA+C,UAAnD,EAA+D;AAC7D,WAAO,GAAiC,WAAW,CAAC,GAAZ,EAAxC;AACD;;AAID,MAAI,WAAW,CAAC,MAAZ,KAAuB,CAAvB,IAA4B,6DAAO,CAAC,WAAW,CAAC,CAAD,CAAZ,CAAvC,EAAyD;AACvD,eAAW,GAAS,WAAW,CAAC,CAAD,CAAX,CAAgB,KAAhB,EAApB;AACD;;AAED,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAZ,CAAiB,6DAAI,EAAE,MAAF,2JAAa,WAAb,GAArB,EAAiD,IAAI,+EAAJ,CAA0B,OAA1B,CAAjD,CAA3B;AAAA,GAAP;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1DD;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASohJ,sBAAT,CAAgCC,wBAAhC,EAA0D;AACtD,OAAK,IAAI5sJ,GAAT,IAAgB4sJ,wBAAhB,EAA0C;AACtC,QAAIA,wBAAwB,CAAC5sJ,GAAD,CAAxB,KAAkC2sJ,sBAAtC,EAA8D;AAC1D,aAAO3sJ,GAAP;AACH;AACJ;;AACD,QAAMpW,KAAK,CAAC,mDAAD,CAAX;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASijK,cAAT,CAAwB/mI,MAAxB,EAAgCiN,MAAhC,EAAwC;AACpC,OAAK,IAAM/yB,GAAX,IAAkB+yB,MAAlB,EAA0B;AACtB,QAAIA,MAAM,CAACtoB,cAAP,CAAsBzK,GAAtB,KAA8B,CAAC8lB,MAAM,CAACrb,cAAP,CAAsBzK,GAAtB,CAAnC,EAA+D;AAC3D8lB,YAAM,CAAC9lB,GAAD,CAAN,GAAc+yB,MAAM,CAAC/yB,GAAD,CAApB;AACH;AACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmK,SAAT,CAAmBpZ,KAAnB,EAA0B;AACtB,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,WAAOA,KAAP;AACH;;AACD,MAAI+W,KAAK,CAACC,OAAN,CAAchX,KAAd,CAAJ,EAA0B;AACtB,WAAO,MAAMA,KAAK,CAAClB,GAAN,CAAUsa,SAAV,EAAqB5d,IAArB,CAA0B,IAA1B,CAAN,GAAwC,GAA/C;AACH;;AACD,MAAIwE,KAAK,IAAI,IAAb,EAAmB;AACf,WAAO,KAAKA,KAAZ;AACH;;AACD,MAAIA,KAAK,CAACqZ,cAAV,EAA0B;AACtB,qBAAUrZ,KAAK,CAACqZ,cAAhB;AACH;;AACD,MAAIrZ,KAAK,CAAC1F,IAAV,EAAgB;AACZ,qBAAU0F,KAAK,CAAC1F,IAAhB;AACH;;AACD,MAAM0B,GAAG,GAAGgE,KAAK,CAACsZ,QAAN,EAAZ;;AACA,MAAItd,GAAG,IAAI,IAAX,EAAiB;AACb,WAAO,KAAKA,GAAZ;AACH;;AACD,MAAMud,YAAY,GAAGvd,GAAG,CAACpD,OAAJ,CAAY,IAAZ,CAArB;AACA,SAAO2gB,YAAY,KAAK,CAAC,CAAlB,GAAsBvd,GAAtB,GAA4BA,GAAG,CAACwd,SAAJ,CAAc,CAAd,EAAiBD,YAAjB,CAAnC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwiJ,sBAAT,CAAgCniH,MAAhC,EAAwCC,KAAxC,EAA+C;AAC3C,SAAQD,MAAM,IAAI,IAAV,IAAkBA,MAAM,KAAK,EAA9B,GACFC,KAAK,KAAK,IAAV,GAAiB,EAAjB,GAAsBA,KADpB,GAEDA,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA5B,GAAkCD,MAAlC,GAA2CA,MAAM,GAAG,GAAT,GAAeC,KAF/D;AAGH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMmiH,eAAe,GAAGJ,sBAAsB,CAAC;AAAEI,iBAAe,EAAEJ;AAAnB,CAAD,CAA9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASK,UAAT,CAAoBC,YAApB,EAAkC;AAC9BA,cAAY,CAACF,eAAb,GAA+BC,UAA/B;;AACAC,cAAY,CAAC5iJ,QAAb,GAAwB,YAAY;AAChC,WAAOF,SAAS,CAAC,MAAD,CAAhB;AACH,GAFD;;AAGA,SAAO8iJ,YAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASziJ,iBAAT,CAA2B3S,IAA3B,EAAiC;AAC7B,SAAOq1J,YAAY,CAACr1J,IAAD,CAAZ,GAAqBA,IAAI,EAAzB,GAA8BA,IAArC;AACH;AACD;;;AACA,SAASq1J,YAAT,CAAsBxxJ,EAAtB,EAA0B;AACtB,SAAO,OAAOA,EAAP,KAAc,UAAd,IAA4BA,EAAE,CAAC+O,cAAH,CAAkBsiJ,eAAlB,CAA5B,IACHrxJ,EAAE,CAACqxJ,eAAH,KAAuBC,UAD3B;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,YAAT,CAAsBC,MAAtB,EAA8BjkJ,GAA9B,EAAmC;AAC/B,MAAI,EAAE,OAAOikJ,MAAP,KAAkB,QAApB,CAAJ,EAAmC;AAC/BC,cAAU,CAAClkJ,GAAD,EAAM,OAAOikJ,MAAb,EAAqB,QAArB,EAA+B,KAA/B,CAAV;AACH;AACJ;;AACD,SAASE,mBAAT,CAA6BF,MAA7B,EAAqCG,YAArC,EAAmDC,YAAnD,EAAiE;AAC7DL,cAAY,CAACC,MAAD,EAAS,mBAAT,CAAZ;AACAK,uBAAqB,CAACL,MAAD,EAASI,YAAT,EAAuB,6CAAvB,CAArB;AACAE,0BAAwB,CAACN,MAAD,EAASG,YAAT,EAAuB,gDAAvB,CAAxB;AACH;;AACD,SAASI,YAAT,CAAsBP,MAAtB,EAA8BjkJ,GAA9B,EAAmC;AAC/B,MAAI,EAAE,OAAOikJ,MAAP,KAAkB,QAApB,CAAJ,EAAmC;AAC/BC,cAAU,CAAClkJ,GAAD,EAAMikJ,MAAM,KAAK,IAAX,GAAkB,MAAlB,GAA2B,OAAOA,MAAxC,EAAgD,QAAhD,EAA0D,KAA1D,CAAV;AACH;AACJ;;AACD,SAASQ,cAAT,CAAwBR,MAAxB,EAAgCjkJ,GAAhC,EAAqC;AACjC,MAAI,EAAE,OAAOikJ,MAAP,KAAkB,UAApB,CAAJ,EAAqC;AACjCC,cAAU,CAAClkJ,GAAD,EAAMikJ,MAAM,KAAK,IAAX,GAAkB,MAAlB,GAA2B,OAAOA,MAAxC,EAAgD,UAAhD,EAA4D,KAA5D,CAAV;AACH;AACJ;;AACD,SAASS,WAAT,CAAqBT,MAArB,EAA6BU,QAA7B,EAAuC3kJ,GAAvC,EAA4C;AACxC,MAAI,EAAEikJ,MAAM,IAAIU,QAAZ,CAAJ,EAA2B;AACvBT,cAAU,CAAClkJ,GAAD,EAAMikJ,MAAN,EAAcU,QAAd,EAAwB,IAAxB,CAAV;AACH;AACJ;;AACD,SAASC,cAAT,CAAwBX,MAAxB,EAAgCU,QAAhC,EAA0C3kJ,GAA1C,EAA+C;AAC3C,MAAI,EAAEikJ,MAAM,IAAIU,QAAZ,CAAJ,EAA2B;AACvBT,cAAU,CAAClkJ,GAAD,EAAMikJ,MAAN,EAAcU,QAAd,EAAwB,IAAxB,CAAV;AACH;AACJ;;AACD,SAASE,UAAT,CAAoBZ,MAApB,EAA4BU,QAA5B,EAAsC3kJ,GAAtC,EAA2C;AACvC,MAAI,EAAEikJ,MAAM,KAAKU,QAAb,CAAJ,EAA4B;AACxBT,cAAU,CAAClkJ,GAAD,EAAMikJ,MAAN,EAAcU,QAAd,EAAwB,KAAxB,CAAV;AACH;AACJ;;AACD,SAASG,aAAT,CAAuBb,MAAvB,EAA+BU,QAA/B,EAAyC3kJ,GAAzC,EAA8C;AAC1C,MAAI,EAAEikJ,MAAM,KAAKU,QAAb,CAAJ,EAA4B;AACxBT,cAAU,CAAClkJ,GAAD,EAAMikJ,MAAN,EAAcU,QAAd,EAAwB,KAAxB,CAAV;AACH;AACJ;;AACD,SAASI,cAAT,CAAwBd,MAAxB,EAAgCU,QAAhC,EAA0C3kJ,GAA1C,EAA+C;AAC3C,MAAI,EAAEikJ,MAAM,GAAGU,QAAX,CAAJ,EAA0B;AACtBT,cAAU,CAAClkJ,GAAD,EAAMikJ,MAAN,EAAcU,QAAd,EAAwB,GAAxB,CAAV;AACH;AACJ;;AACD,SAASL,qBAAT,CAA+BL,MAA/B,EAAuCU,QAAvC,EAAiD3kJ,GAAjD,EAAsD;AAClD,MAAI,EAAEikJ,MAAM,IAAIU,QAAZ,CAAJ,EAA2B;AACvBT,cAAU,CAAClkJ,GAAD,EAAMikJ,MAAN,EAAcU,QAAd,EAAwB,IAAxB,CAAV;AACH;AACJ;;AACD,SAASK,iBAAT,CAA2Bf,MAA3B,EAAmCU,QAAnC,EAA6C3kJ,GAA7C,EAAkD;AAC9C,MAAI,EAAEikJ,MAAM,GAAGU,QAAX,CAAJ,EAA0B;AACtBT,cAAU,CAAClkJ,GAAD,EAAMikJ,MAAN,EAAcU,QAAd,EAAwB,GAAxB,CAAV;AACH;AACJ;;AACD,SAASJ,wBAAT,CAAkCN,MAAlC,EAA0CU,QAA1C,EAAoD3kJ,GAApD,EAAyD;AACrD,MAAI,EAAEikJ,MAAM,IAAIU,QAAZ,CAAJ,EAA2B;AACvBT,cAAU,CAAClkJ,GAAD,EAAMikJ,MAAN,EAAcU,QAAd,EAAwB,IAAxB,CAAV;AACH;AACJ;;AACD,SAASM,gBAAT,CAA0BhB,MAA1B,EAAkCjkJ,GAAlC,EAAuC;AACnC,MAAIikJ,MAAM,IAAI,IAAd,EAAoB;AAChBC,cAAU,CAAClkJ,GAAD,EAAMikJ,MAAN,EAAc,IAAd,EAAoB,IAApB,CAAV;AACH;AACJ;;AACD,SAASiB,aAAT,CAAuBjB,MAAvB,EAA+BjkJ,GAA/B,EAAoC;AAChC,MAAIikJ,MAAM,IAAI,IAAd,EAAoB;AAChBC,cAAU,CAAClkJ,GAAD,EAAMikJ,MAAN,EAAc,IAAd,EAAoB,IAApB,CAAV;AACH;AACJ;;AACD,SAASC,UAAT,CAAoBlkJ,GAApB,EAAyBikJ,MAAzB,EAAiCU,QAAjC,EAA2CQ,UAA3C,EAAuD;AACnD,QAAM,IAAI1kK,KAAJ,CAAU,2BAAoBuf,GAApB,KACXmlJ,UAAU,IAAI,IAAd,GAAqB,EAArB,0BAA0CR,QAA1C,cAAsDQ,UAAtD,cAAoElB,MAApE,eADW,CAAV,CAAN;AAEH;;AACD,SAASmB,aAAT,CAAuB5zJ,IAAvB,EAA6B;AACzB;AACA,MAAI,EAAE,OAAO6zJ,IAAP,KAAgB,WAAhB,IAA+B7zJ,IAAI,YAAY6zJ,IAAjD,KACA,EAAE,OAAO7zJ,IAAP,KAAgB,QAAhB,IAA4BA,IAAI,IAAI,IAApC,IACEA,IAAI,CAAC2K,WAAL,CAAiBja,IAAjB,KAA0B,qBAD9B,CADJ,EAE0D;AACtDgiK,cAAU,wEAAiEljJ,SAAS,CAACxP,IAAD,CAA1E,EAAV;AACH;AACJ;;AACD,SAAS8zJ,kBAAT,CAA4BhmJ,GAA5B,EAAiCzQ,KAAjC,EAAwC;AACpCq2J,eAAa,CAAC5lJ,GAAD,EAAM,wBAAN,CAAb;AACA,MAAMimJ,MAAM,GAAGjmJ,GAAG,CAACtd,MAAnB;;AACA,MAAI6M,KAAK,GAAG,CAAR,IAAaA,KAAK,IAAI02J,MAA1B,EAAkC;AAC9BrB,cAAU,0CAAmCqB,MAAnC,sBAAqD12J,KAArD,EAAV;AACH;AACJ;;AACD,SAAS22J,WAAT,CAAqB7hK,KAArB,EAA4C;AAAA,oCAAb8hK,WAAa;AAAbA,eAAa;AAAA;;AACxC,MAAIA,WAAW,CAACjlK,OAAZ,CAAoBmD,KAApB,MAA+B,CAAC,CAApC,EACI,OAAO,IAAP;AACJugK,YAAU,uCAAgCp6I,IAAI,CAAC9I,SAAL,CAAeykJ,WAAf,CAAhC,sBAAuE37I,IAAI,CAAC9I,SAAL,CAAerd,KAAf,CAAvE,OAAV;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8jB,kBAAT,CAA4BylI,IAA5B,EAAkC;AAC9B,SAAO;AACHtlJ,SAAK,EAAEslJ,IAAI,CAACtlJ,KADT;AAEH+rC,cAAU,EAAEu5G,IAAI,CAACv5G,UAAL,IAAmB,IAF5B;AAGH3oC,WAAO,EAAEkiJ,IAAI,CAACliJ,OAHX;AAIHrH,SAAK,EAAEsE;AAJJ,GAAP;AAMH;AACD;AACA;AACA;AACA;AACA;;;AACA,IAAMy9J,gBAAgB,GAAGj+I,kBAAzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASk+I,gBAAT,CAA0BpqG,OAA1B,EAAmC;AAC/B,SAAO;AACHvwD,WAAO,EAAEuwD,OAAO,CAACvwD,OADd;AAEH6hB,aAAS,EAAE0uC,OAAO,CAAC1uC,SAAR,IAAqB,EAF7B;AAGHq2B,WAAO,EAAEqY,OAAO,CAACrY,OAAR,IAAmB;AAHzB,GAAP;AAKH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0iH,gBAAT,CAA0Bl3J,IAA1B,EAAgC;AAC5B,SAAOm3J,gBAAgB,CAACn3J,IAAD,EAAOo3J,WAAP,CAAhB,IAAuCD,gBAAgB,CAACn3J,IAAD,EAAOq3J,iBAAP,CAA9D;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASF,gBAAT,CAA0Bn3J,IAA1B,EAAgC+oG,KAAhC,EAAuC;AACnC,SAAO/oG,IAAI,CAAC4S,cAAL,CAAoBm2F,KAApB,IAA6B/oG,IAAI,CAAC+oG,KAAD,CAAjC,GAA2C,IAAlD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuuD,yBAAT,CAAmCt3J,IAAnC,EAAyC;AACrC,MAAMqoG,GAAG,GAAGroG,IAAI,KAAKA,IAAI,CAACo3J,WAAD,CAAJ,IAAqBp3J,IAAI,CAACq3J,iBAAD,CAA9B,CAAhB;;AACA,MAAIhvD,GAAJ,EAAS;AACL,QAAMv0D,QAAQ,GAAGyjH,WAAW,CAACv3J,IAAD,CAA5B,CADK,CAEL;AACA;;AACAmwG,WAAO,CAACjjC,IAAR,CAAa,oDAA4Cp5B,QAA5C,2LACqFA,QADrF,cAAb;AAEA,WAAOu0D,GAAP;AACH,GAPD,MAQK;AACD,WAAO,IAAP;AACH;AACJ;AACD;;;AACA,SAASkvD,WAAT,CAAqBv3J,IAArB,EAA2B;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,MAAIA,IAAI,CAAC4S,cAAL,CAAoB,MAApB,CAAJ,EAAiC;AAC7B,WAAO5S,IAAI,CAACxM,IAAZ;AACH;;AACD,MAAMkC,KAAK,GAAG,CAAC,KAAKsK,IAAN,EAAYtK,KAAZ,CAAkB,uBAAlB,CAAd;AACA,SAAOA,KAAK,KAAK,IAAV,GAAiB,EAAjB,GAAsBA,KAAK,CAAC,CAAD,CAAlC;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS8hK,cAAT,CAAwBx3J,IAAxB,EAA8B;AAC1B,SAAOA,IAAI,KAAKA,IAAI,CAAC4S,cAAL,CAAoB6kJ,UAApB,KAAmCz3J,IAAI,CAAC4S,cAAL,CAAoB8kJ,eAApB,CAAxC,CAAJ,GACH13J,IAAI,CAACy3J,UAAD,CADD,GAEH,IAFJ;AAGH;;AACD,IAAML,WAAW,GAAGtC,sBAAsB,CAAC;AAAEx7J,OAAK,EAAEw7J;AAAT,CAAD,CAA1C;AACA,IAAM2C,UAAU,GAAG3C,sBAAsB,CAAC;AAAE6C,MAAI,EAAE7C;AAAR,CAAD,CAAzC,C,CACA;;AACA,IAAMuC,iBAAiB,GAAGvC,sBAAsB,CAAC;AAAE8C,iBAAe,EAAE9C;AAAnB,CAAD,CAAhD;AACA,IAAM4C,eAAe,GAAG5C,sBAAsB,CAAC;AAAE+C,eAAa,EAAE/C;AAAjB,CAAD,CAA9C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIgD,WAAJ;;AACA,CAAC,UAAUA,WAAV,EAAuB;AACpB;;AACA;AACAA,aAAW,CAACA,WAAW,CAAC,SAAD,CAAX,GAAyB,CAA1B,CAAX,GAA0C,SAA1C;AACA;AACJ;AACA;AACA;;AACIA,aAAW,CAACA,WAAW,CAAC,MAAD,CAAX,GAAsB,CAAvB,CAAX,GAAuC,MAAvC;AACA;;AACAA,aAAW,CAACA,WAAW,CAAC,MAAD,CAAX,GAAsB,CAAvB,CAAX,GAAuC,MAAvC;AACA;;AACAA,aAAW,CAACA,WAAW,CAAC,UAAD,CAAX,GAA0B,CAA3B,CAAX,GAA2C,UAA3C;AACA;;AACAA,aAAW,CAACA,WAAW,CAAC,UAAD,CAAX,GAA0B,CAA3B,CAAX,GAA2C,UAA3C;AACH,CAfD,EAeGA,WAAW,KAAKA,WAAW,GAAG,EAAnB,CAfd;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIC,qBAAJ;;AACA,SAASC,uBAAT,GAAmC;AAC/B,SAAOD,qBAAP;AACH;AACD;AACA;AACA;;;AACA,SAASE,uBAAT,CAAiCC,IAAjC,EAAuC;AACnC,MAAMthG,QAAQ,GAAGmhG,qBAAjB;AACAA,uBAAqB,GAAGG,IAAxB;AACA,SAAOthG,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuhG,kBAAT,CAA4Bj/J,KAA5B,EAAmCk/J,aAAnC,EAAkD90H,KAAlD,EAAyD;AACrD,MAAMy3E,aAAa,GAAGm8C,gBAAgB,CAACh+J,KAAD,CAAtC;;AACA,MAAI6hH,aAAa,IAAIA,aAAa,CAAC91E,UAAd,IAA4B,MAAjD,EAAyD;AACrD,WAAO81E,aAAa,CAAC9lH,KAAd,KAAwBsE,SAAxB,GAAoCwhH,aAAa,CAAC9lH,KAAd,GAAsB8lH,aAAa,CAACz+G,OAAd,EAA1D,GACHy+G,aAAa,CAAC9lH,KADlB;AAEH;;AACD,MAAIquC,KAAK,GAAGw0H,WAAW,CAACO,QAAxB,EACI,OAAO,IAAP;AACJ,MAAID,aAAa,KAAK7+J,SAAtB,EACI,OAAO6+J,aAAP;AACJ,QAAM,IAAIrmK,KAAJ,gCAAkCugB,SAAS,CAACpZ,KAAD,CAA3C,OAAN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo/J,kCAAT,CAA4Cz0J,EAA5C,EAAgD;AAC5C00J,WAAS,IACLrC,cAAc,CAAC6B,qBAAD,EAAwBl0J,EAAxB,EAA4B,iDAA5B,CADlB;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS20J,aAAT,CAAuB30J,EAAvB,EAA2B;AACvB,SAAO;AAAE2O,YAAQ,EAAE3O;AAAZ,IAAiB2O,QAAjB,EAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIjY,uBAAJ;;AACA,CAAC,UAAUA,uBAAV,EAAmC;AAChC;AACJ;AACA;AACA;AACA;AACA;AACIA,yBAAuB,CAACA,uBAAuB,CAAC,QAAD,CAAvB,GAAoC,CAArC,CAAvB,GAAiE,QAAjE;AACA;AACJ;AACA;AACA;;AACIA,yBAAuB,CAACA,uBAAuB,CAAC,SAAD,CAAvB,GAAqC,CAAtC,CAAvB,GAAkE,SAAlE;AACH,CAbD,EAaGA,uBAAuB,KAAKA,uBAAuB,GAAG,EAA/B,CAb1B;AAcA;AACA;AACA;AACA;;;AACA,IAAIk+J,oBAAJ;;AACA,CAAC,UAAUA,oBAAV,EAAgC;AAC7B;AACJ;AACA;AACA;AACIA,sBAAoB,CAACA,oBAAoB,CAAC,WAAD,CAApB,GAAoC,CAArC,CAApB,GAA8D,WAA9D;AACA;AACJ;AACA;AACA;;AACIA,sBAAoB,CAACA,oBAAoB,CAAC,SAAD,CAApB,GAAkC,CAAnC,CAApB,GAA4D,SAA5D;AACA;AACJ;AACA;AACA;;AACIA,sBAAoB,CAACA,oBAAoB,CAAC,aAAD,CAApB,GAAsC,CAAvC,CAApB,GAAgE,aAAhE;AACA;AACJ;AACA;AACA;;AACIA,sBAAoB,CAACA,oBAAoB,CAAC,UAAD,CAApB,GAAmC,CAApC,CAApB,GAA6D,UAA7D;AACA;AACJ;AACA;AACA;AACA;;AACIA,sBAAoB,CAACA,oBAAoB,CAAC,SAAD,CAApB,GAAkC,CAAnC,CAApB,GAA4D,SAA5D;AACA;AACJ;AACA;;AACIA,sBAAoB,CAACA,oBAAoB,CAAC,WAAD,CAApB,GAAoC,CAArC,CAApB,GAA8D,WAA9D;AACH,CA/BD,EA+BGA,oBAAoB,KAAKA,oBAAoB,GAAG,EAA5B,CA/BvB;AAgCA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,gCAAT,CAA0Cv4C,uBAA1C,EAAmE;AAC/D,SAAOA,uBAAuB,IAAI,IAA3B,IACHA,uBAAuB,KAAK5lH,uBAAuB,CAACI,OADxD;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIL,iBAAJ;;AACA,CAAC,UAAUA,iBAAV,EAA6B;AAC1B;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIA,mBAAiB,CAACA,iBAAiB,CAAC,UAAD,CAAjB,GAAgC,CAAjC,CAAjB,GAAuD,UAAvD,CAT0B,CAU1B;;AACA;AACJ;AACA;;AACIA,mBAAiB,CAACA,iBAAiB,CAAC,MAAD,CAAjB,GAA4B,CAA7B,CAAjB,GAAmD,MAAnD;AACA;AACJ;AACA;AACA;AACA;AACA;AACA;;AACIA,mBAAiB,CAACA,iBAAiB,CAAC,WAAD,CAAjB,GAAiC,CAAlC,CAAjB,GAAwD,WAAxD;AACH,CAvBD,EAuBGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CAvBpB;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMq+J,YAAY,GAAG,OAAOC,UAAP,KAAsB,WAAtB,IAAqCA,UAA1D;;AACA,IAAMxlJ,QAAQ,GAAG,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAlD;;AACA,IAAMC,MAAM,GAAG,OAAOC,IAAP,KAAgB,WAAhB,IAA+B,OAAOC,iBAAP,KAA6B,WAA5D,IACXD,IAAI,YAAYC,iBADL,IAC0BD,IADzC;;AAEA,IAAME,QAAQ,GAAG,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAlD,C,CACA;AACA;AACA;;;AACA,IAAMC,OAAO,GAAGglJ,YAAY,IAAIllJ,QAAhB,IAA4BL,QAA5B,IAAwCE,MAAxD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASulJ,0BAAT,GAAsC;AAClC,MAAMC,cAAc,GAAG,OAAOlhH,QAAP,KAAoB,WAApB,GAAkCA,QAAQ,CAACplC,QAAT,EAAlC,GAAwD,EAA/E;AACA,MAAMumJ,WAAW,GAAG;AAChBC,qBAAiB,EAAEF,cAAc,CAAChnK,OAAf,CAAuB,6BAAvB,KAAyD,CAAC,CAD7D;AAEhBmnK,mBAAe,EAAE,CAFD;AAGhBC,SAAK,EAAE,CAHS;AAIhBC,SAAK,EAAE,CAJS;AAKhBC,0BAAsB,EAAE,CALR;AAMhBC,mBAAe,EAAE,CAND;AAOhBC,yBAAqB,EAAE,CAPP;AAQhBC,4BAAwB,EAAE,CARV;AAShBC,wBAAoB,EAAE,CATN;AAUhBC,2BAAuB,EAAE,CAVT;AAWhBC,uBAAmB,EAAE,CAXL;AAYhBC,wBAAoB,EAAE,CAZN;AAahBC,oBAAgB,EAAE,CAbF;AAchBC,uBAAmB,EAAE,CAdL;AAehBC,oBAAgB,EAAE,CAfF;AAgBhBC,uBAAmB,EAAE,CAhBL;AAiBhBC,mBAAe,EAAE,CAjBD;AAkBhBC,uBAAmB,EAAE,CAlBL;AAmBhBC,oBAAgB,EAAE,CAnBF;AAoBhBC,sBAAkB,EAAE,CApBJ;AAqBhBC,uBAAmB,EAAE,CArBL;AAsBhBC,wBAAoB,EAAE,CAtBN;AAuBhBC,yBAAqB,EAAE;AAvBP,GAApB,CAFkC,CA2BlC;;AACA,MAAMC,kBAAkB,GAAGzB,cAAc,CAAChnK,OAAf,CAAuB,iBAAvB,MAA8C,CAAC,CAA1E;AACA6hB,SAAO,CAAC,WAAD,CAAP,GAAuB4mJ,kBAAkB,IAAIxB,WAA7C;AACA,SAAOA,WAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyB,aAAT,GAAyB;AACrB;AACA;AACA;AACA;AACA,MAAI,OAAOjC,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,QAAI,OAAOA,SAAP,KAAqB,QAAzB,EAAmC;AAC/BM,gCAA0B;AAC7B;;AACD,WAAO,OAAON,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAA7C;AACH;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMkC,SAAS,GAAG,EAAlB;AACA,IAAMphJ,WAAW,GAAG,EAApB,C,CACA;;AACA,IAAI,CAAC,OAAOk/I,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDiC,aAAa,EAApE,EAAwE;AACpE;AACA;AACA;AACA5gK,QAAM,CAACwD,MAAP,CAAcq9J,SAAd,EAJoE,CAKpE;;AACA7gK,QAAM,CAACwD,MAAP,CAAcic,WAAd;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMqhJ,WAAW,GAAG5F,sBAAsB,CAAC;AAAE6F,MAAI,EAAE7F;AAAR,CAAD,CAA1C;AACA,IAAM8F,UAAU,GAAG9F,sBAAsB,CAAC;AAAE+F,MAAI,EAAE/F;AAAR,CAAD,CAAzC;AACA,IAAMgG,WAAW,GAAGhG,sBAAsB,CAAC;AAAEiG,OAAK,EAAEjG;AAAT,CAAD,CAA1C;AACA,IAAMkG,UAAU,GAAGlG,sBAAsB,CAAC;AAAEmG,MAAI,EAAEnG;AAAR,CAAD,CAAzC;AACA,IAAMoG,aAAa,GAAGpG,sBAAsB,CAAC;AAAEqG,MAAI,EAAErG;AAAR,CAAD,CAA5C;AACA,IAAMsG,cAAc,GAAGtG,sBAAsB,CAAC;AAAEuG,MAAI,EAAEvG;AAAR,CAAD,CAA7C;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMwG,aAAa,GAAGxG,sBAAsB,CAAC;AAAEyG,mBAAiB,EAAEzG;AAArB,CAAD,CAA5C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAI0G,gBAAgB,GAAG,CAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,iBAAT,CAA2BC,mBAA3B,EAAgD;AAC5C,SAAOlD,aAAa,CAAC,YAAM;AACvB;AACA;AACA,KAAC,OAAOD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDiC,aAAa,EAAhE;AACA,QAAMx6J,IAAI,GAAG07J,mBAAmB,CAAC17J,IAAjC;AACA,QAAM27J,aAAa,GAAG37J,IAAI,CAAC0N,SAA3B;AACA,QAAMkuJ,cAAc,GAAG,EAAvB;AACA,QAAMvzD,GAAG,GAAG;AACRroG,UAAI,EAAEA,IADE;AAER67J,uBAAiB,EAAE,IAFX;AAGRC,WAAK,EAAEJ,mBAAmB,CAACI,KAHnB;AAIRtsI,UAAI,EAAEksI,mBAAmB,CAAClsI,IAJlB;AAKRlzB,aAAO,EAAE,IALD;AAMR0gB,cAAQ,EAAE0+I,mBAAmB,CAAC1+I,QAApB,IAAgC,IANlC;AAORsgF,YAAM,EAAEo+D,mBAAmB,CAACp+D,MAApB,IAA8B,IAP9B;AAQRjgF,wBAAkB,EAAEq+I,mBAAmB,CAACr+I,kBARhC;AASR0vF,kBAAY,EAAE2uD,mBAAmB,CAAC3uD,YAApB,IAAoC,IAT1C;AAURgvD,cAAQ,EAAEL,mBAAmB,CAACK,QAApB,IAAgC,CAVlC;AAWRz1D,eAAS,EAAEo1D,mBAAmB,CAACp1D,SAApB,IAAiC,IAXpC;AAYRhjC,oBAAc,EAAEo4F,mBAAmB,CAACp4F,cAApB,IAAsC,IAZ9C;AAaRs4F,oBAAc,EAAEA,cAbR;AAcR99I,YAAM,EAAE,IAdA;AAeRC,aAAO,EAAE,IAfD;AAgBRF,cAAQ,EAAE69I,mBAAmB,CAAC79I,QAApB,IAAgC,IAhBlC;AAiBRm+I,YAAM,EAAEN,mBAAmB,CAAChhK,eAApB,KAAwCH,uBAAuB,CAAC20H,MAjBhE;AAkBR+sC,mBAAa,EAAE,IAlBP;AAmBRC,cAAQ,EAAE,IAnBF;AAoBRtjK,eAAS,EAAE8iK,mBAAmB,CAAC9iK,SAApB,IAAiCygB,WApBpC;AAqBRuR,eAAS,EAAE8wI,mBAAmB,CAAC9wI,SAApB,IAAiC,IArBpC;AAsBR62E,cAAQ,EAAEi6D,mBAAmB,CAACj6D,QAApB,IAAgC,IAtBlC;AAuBR9nG,UAAI,EAAE+hK,mBAAmB,CAAC/hK,IAApB,IAA4B,EAvB1B;AAwBR;AACA;AACAojB,mBAAa,EAAE2+I,mBAAmB,CAAC3+I,aAApB,IAAqCziB,iBAAiB,CAACyvD,QA1B9D;AA2BR97C,QAAE,EAAE,GA3BI;AA4BR0O,YAAM,EAAE++I,mBAAmB,CAAC/+I,MAApB,IAA8BtD,WA5B9B;AA6BRysC,OAAC,EAAE,IA7BK;AA8BRq2G,cAAQ,EAAE,IA9BF;AA+BRp8I,aAAO,EAAE27I,mBAAmB,CAAC37I,OAApB,IAA+B,IA/BhC;AAgCRo5I,WAAK,EAAE;AAhCC,KAAZ;AAkCA,QAAMiD,cAAc,GAAGV,mBAAmB,CAACp7I,UAA3C;AACA,QAAMmf,OAAO,GAAGi8H,mBAAmB,CAACj6D,QAApC;AACA,QAAM46D,SAAS,GAAGX,mBAAmB,CAACj7I,KAAtC;AACA4nF,OAAG,CAACp6F,EAAJ,IAAUutJ,gBAAgB,EAA1B;AACAnzD,OAAG,CAACvqF,MAAJ,GAAaw+I,YAAY,CAACZ,mBAAmB,CAAC59I,MAArB,EAA6B89I,cAA7B,CAAzB,EACIvzD,GAAG,CAACtqF,OAAJ,GAAcu+I,YAAY,CAACZ,mBAAmB,CAAC39I,OAArB,CAD9B,EAEI0hB,OAAO,IAAIA,OAAO,CAAClsC,OAAR,CAAgB,UAACsQ,EAAD;AAAA,aAAQA,EAAE,CAACwkG,GAAD,CAAV;AAAA,KAAhB,CAFf;AAGAA,OAAG,CAAC4zD,aAAJ,GAAoBG,cAAc,GAC9B;AAAA,aAAM,CAAC,OAAOA,cAAP,KAA0B,UAA1B,GAAuCA,cAAc,EAArD,GAA0DA,cAA3D,EACDpkK,GADC,CACGukK,mBADH,CAAN;AAAA,KAD8B,GAG9B,IAHJ;AAIAl0D,OAAG,CAAC6zD,QAAJ,GAAeG,SAAS,GACpB;AAAA,aAAM,CAAC,OAAOA,SAAP,KAAqB,UAArB,GAAkCA,SAAS,EAA3C,GAAgDA,SAAjD,EAA4DrkK,GAA5D,CAAgEwkK,cAAhE,CAAN;AAAA,KADoB,GAEpB,IAFJ;AAGA,WAAOn0D,GAAP;AACH,GAxDmB,CAApB;AAyDH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo0D,mBAAT,CAA6Bz8J,IAA7B,EAAmCsgB,UAAnC,EAA+CG,KAA/C,EAAsD;AAClD,MAAM4nF,GAAG,GAAGroG,IAAI,CAAC26J,IAAjB;;AACAtyD,KAAG,CAAC4zD,aAAJ,GAAoB;AAAA,WAAM37I,UAAU,CAACtoB,GAAX,CAAeukK,mBAAf,CAAN;AAAA,GAApB;;AACAl0D,KAAG,CAAC6zD,QAAJ,GAAe;AAAA,WAAMz7I,KAAK,CAACzoB,GAAN,CAAUwkK,cAAV,CAAN;AAAA,GAAf;AACH;;AACD,SAASD,mBAAT,CAA6Bv8J,IAA7B,EAAmC;AAC/B,MAAMqoG,GAAG,GAAGq0D,eAAe,CAAC18J,IAAD,CAAf,IAAyB28J,eAAe,CAAC38J,IAAD,CAApD;;AACA,MAAIu4J,SAAS,IAAI,CAAClwD,GAAlB,EAAuB;AACnB,UAAM,IAAIt2G,KAAJ,YAAciO,IAAI,CAACxM,IAAnB,sDAAN;AACH;;AACD,SAAO60G,GAAP;AACH;;AACD,SAASm0D,cAAT,CAAwBx8J,IAAxB,EAA8B;AAC1B,MAAMqoG,GAAG,GAAGu0D,UAAU,CAAC58J,IAAD,CAAtB;;AACA,MAAIu4J,SAAS,IAAI,CAAClwD,GAAlB,EAAuB;AACnB,UAAM,IAAIt2G,KAAJ,YAAciO,IAAI,CAACxM,IAAnB,4BAAN;AACH;;AACD,SAAO60G,GAAP;AACH;;AACD,IAAMw0D,sBAAsB,GAAG,EAA/B;AACA;AACA;AACA;;AACA,SAASC,gBAAT,CAA0Bz0D,GAA1B,EAA+B;AAC3B,MAAMnzG,GAAG,GAAG;AACR8K,QAAI,EAAEqoG,GAAG,CAACroG,IADF;AAERs0C,aAAS,EAAE+zD,GAAG,CAAC/zD,SAAJ,IAAiBj7B,WAFpB;AAGRk7B,gBAAY,EAAE8zD,GAAG,CAAC9zD,YAAJ,IAAoBl7B,WAH1B;AAIRm7B,WAAO,EAAE6zD,GAAG,CAAC7zD,OAAJ,IAAen7B,WAJhB;AAKRo7B,WAAO,EAAE4zD,GAAG,CAAC5zD,OAAJ,IAAep7B,WALhB;AAMR0jJ,2BAAuB,EAAE,IANjB;AAORh9I,WAAO,EAAEsoF,GAAG,CAACtoF,OAAJ,IAAe,IAPhB;AAQR9R,MAAE,EAAEo6F,GAAG,CAACp6F,EAAJ,IAAU;AARN,GAAZ;;AAUA,MAAIo6F,GAAG,CAACp6F,EAAJ,IAAU,IAAd,EAAoB;AAChBuqJ,iBAAa,CAAC,YAAM;AAChBqE,4BAAsB,CAACx0D,GAAG,CAACp6F,EAAL,CAAtB,GAAiCo6F,GAAG,CAACroG,IAArC;AACH,KAFY,CAAb;AAGH;;AACD,SAAO9K,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8nK,kBAAT,CAA4Bh9J,IAA5B,EAAkCqxF,KAAlC,EAAyC;AACrC,SAAOmnE,aAAa,CAAC,YAAM;AACvB,QAAMxwC,WAAW,GAAGi1C,cAAc,CAACj9J,IAAD,EAAO,IAAP,CAAlC;AACAgoH,eAAW,CAACzzE,YAAZ,GAA2B88C,KAAK,CAAC98C,YAAN,IAAsBl7B,WAAjD;AACA2uG,eAAW,CAACxzE,OAAZ,GAAsB68C,KAAK,CAAC78C,OAAN,IAAiBn7B,WAAvC;AACA2uG,eAAW,CAACvzE,OAAZ,GAAsB48C,KAAK,CAAC58C,OAAN,IAAiBp7B,WAAvC;AACH,GALmB,CAApB;AAMH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASijJ,YAAT,CAAsB5/J,GAAtB,EAA2BwgK,SAA3B,EAAsC;AAClC,MAAIxgK,GAAG,IAAI,IAAX,EACI,OAAO+9J,SAAP;AACJ,MAAM0C,SAAS,GAAG,EAAlB;;AACA,OAAK,IAAMC,WAAX,IAA0B1gK,GAA1B,EAA+B;AAC3B,QAAIA,GAAG,CAACkW,cAAJ,CAAmBwqJ,WAAnB,CAAJ,EAAqC;AACjC,UAAIzkI,UAAU,GAAGj8B,GAAG,CAAC0gK,WAAD,CAApB;AACA,UAAIp9H,YAAY,GAAGrH,UAAnB;;AACA,UAAI1oB,KAAK,CAACC,OAAN,CAAcyoB,UAAd,CAAJ,EAA+B;AAC3BqH,oBAAY,GAAGrH,UAAU,CAAC,CAAD,CAAzB;AACAA,kBAAU,GAAGA,UAAU,CAAC,CAAD,CAAvB;AACH;;AACDwkI,eAAS,CAACxkI,UAAD,CAAT,GAAwBykI,WAAxB;;AACA,UAAIF,SAAJ,EAAe;AACVA,iBAAS,CAACvkI,UAAD,CAAT,GAAwBqH,YAAzB;AACH;AACJ;AACJ;;AACD,SAAOm9H,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAME,iBAAiB,GAAG5B,iBAA1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS6B,YAAT,CAAsBpjJ,OAAtB,EAA+B;AAC3B,SAAO;AACHla,QAAI,EAAEka,OAAO,CAACla,IADX;AAEHxM,QAAI,EAAE0mB,OAAO,CAAC1mB,IAFX;AAGH8I,WAAO,EAAE,IAHN;AAIHxB,QAAI,EAAEof,OAAO,CAACpf,IAAR,KAAiB,KAJpB;AAKHyiK,aAAS,EAAErjJ,OAAO,CAACla,IAAR,CAAa0N,SAAb,CAAuB8vJ,WAAvB,IAAsC;AAL9C,GAAP;AAOH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASd,eAAT,CAAyB18J,IAAzB,EAA+B;AAC3B,SAAOA,IAAI,CAAC06J,WAAD,CAAJ,IAAqB,IAA5B;AACH;;AACD,SAASiC,eAAT,CAAyB38J,IAAzB,EAA+B;AAC3B,SAAOA,IAAI,CAAC46J,UAAD,CAAJ,IAAoB,IAA3B;AACH;;AACD,SAASgC,UAAT,CAAoB58J,IAApB,EAA0B;AACtB,SAAOA,IAAI,CAAC86J,WAAD,CAAJ,IAAqB,IAA5B;AACH;;AACD,SAASmC,cAAT,CAAwBj9J,IAAxB,EAA8By9J,aAA9B,EAA6C;AACzC,MAAMz1C,WAAW,GAAGhoH,IAAI,CAACg7J,UAAD,CAAJ,IAAoB,IAAxC;;AACA,MAAI,CAAChzC,WAAD,IAAgBy1C,aAAa,KAAK,IAAtC,EAA4C;AACxC,UAAM,IAAI1rK,KAAJ,gBAAkBugB,SAAS,CAACtS,IAAD,CAA3B,0CAAN;AACH;;AACD,SAAOgoH,WAAP;AACH;;AACD,SAAS01C,gBAAT,CAA0B19J,IAA1B,EAAgC;AAC5B,SAAOA,IAAI,CAACk7J,aAAD,CAAJ,IAAuB,IAA9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMyC,IAAI,GAAG,CAAb;AACA,IAAMC,KAAK,GAAG,CAAd;AACA,IAAMC,KAAK,GAAG,CAAd;AACA,IAAMC,MAAM,GAAG,CAAf;AACA,IAAMC,IAAI,GAAG,CAAb;AACA,IAAMC,6BAA6B,GAAG,CAAtC;AACA,IAAMC,MAAM,GAAG,CAAf;AACA,IAAMC,OAAO,GAAG,CAAhB;AACA,IAAMC,OAAO,GAAG,CAAhB;AACA,IAAMtlJ,QAAQ,GAAG,CAAjB;AACA,IAAMulJ,gBAAgB,GAAG,EAAzB;AACA,IAAMC,QAAQ,GAAG,EAAjB;AACA,IAAMC,SAAS,GAAG,EAAlB;AACA,IAAMC,UAAU,GAAG,EAAnB;AACA,IAAMC,UAAU,GAAG,EAAnB,C,CACA;;AACA,IAAMC,gBAAgB,GAAG,EAAzB;AACA,IAAMC,0BAA0B,GAAG,EAAnC;AACA,IAAMC,sBAAsB,GAAG,EAA/B;AACA,IAAMC,mBAAmB,GAAG,EAA5B;AACA,IAAMC,OAAO,GAAG,EAAhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,aAAa,GAAG,EAAtB;AACA;AACA;AACA;AACA;;AACA,IAAMC,iBAAiB,GAAG,CACtB,MADsB,EAEtB,WAFsB,EAGtB,UAHsB,CAA1B,C,CAKA;AACA;;AACA,IAAMC,6BAA6B,GAAG,CAAtC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,IAAI,GAAG,CAAb;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,sBAAsB,GAAG,CAA/B,C,CACA;AACA;AACA;AACA;;AACA,IAAMC,MAAM,GAAG,CAAf;AACA,IAAMC,SAAS,GAAG,CAAlB;AACA,IAAMC,WAAW,GAAG,CAApB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,uBAAuB,GAAG,EAAhC,C,CACA;AACA;;AACA,IAAMC,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,SAASC,OAAT,CAAiBvqK,KAAjB,EAAwB;AACpB,SAAOgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,KAAwB,OAAOA,KAAK,CAACgqK,IAAD,CAAZ,KAAuB,QAAtD;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASQ,YAAT,CAAsBxqK,KAAtB,EAA6B;AACzB,SAAOgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,KAAwBA,KAAK,CAACgqK,IAAD,CAAL,KAAgB,IAA/C;AACH;;AACD,SAASS,kBAAT,CAA4BxG,KAA5B,EAAmC;AAC/B,SAAO,CAACA,KAAK,CAAC51H,KAAN,GAAc;AAAE;AAAjB,QAA4C,CAAnD;AACH;;AACD,SAASq8H,eAAT,CAAyBzG,KAAzB,EAAgC;AAC5B,SAAO,CAACA,KAAK,CAAC51H,KAAN,GAAc;AAAE;AAAjB,QAA4C;AAAE;AAArD;AACH;;AACD,SAASs8H,eAAT,CAAyB1G,KAAzB,EAAgC;AAC5B,SAAO,CAACA,KAAK,CAAC51H,KAAN,GAAc;AAAE;AAAjB,QAA4C;AAAE;AAArD;AACH;;AACD,SAASu8H,cAAT,CAAwBx3D,GAAxB,EAA6B;AACzB,SAAOA,GAAG,CAACrrF,QAAJ,KAAiB,IAAxB;AACH;;AACD,SAAS8iJ,UAAT,CAAoB7xI,MAApB,EAA4B;AACxB,SAAO,CAACA,MAAM,CAAC4vI,KAAD,CAAN,GAAgB;AAAI;AAArB,QAAuC,CAA9C;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkC,mBAAT,CAA6B7G,KAA7B,EAAoC8G,KAApC,EAA2C;AACvCC,qBAAmB,CAAC/G,KAAD,EAAQ8G,KAAK,CAACpC,KAAD,CAAb,CAAnB;AACH;;AACD,SAASqC,mBAAT,CAA6B/G,KAA7B,EAAoCC,KAApC,EAA2C;AACvC+G,aAAW,CAAChH,KAAD,CAAX;AACAA,OAAK,CAACtmJ,cAAN,CAAqB,QAArB,KACIojJ,WAAW,CAACkD,KAAK,CAACiH,MAAP,EAAehH,KAAf,EAAsB,2CAAtB,CADf;AAEH;;AACD,SAAS+G,WAAT,CAAqBhH,KAArB,EAA4B;AACxB1C,eAAa,CAAC0C,KAAD,EAAQ,uBAAR,CAAb;;AACA,MAAI,EAAEA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA1B,IAAsCA,KAAK,CAACtmJ,cAAN,CAAqB,sBAArB,CAAxC,CAAJ,EAA2F;AACvF4iJ,cAAU,CAAC,6BAA6B0D,KAA9B,CAAV;AACH;AACJ;;AACD,SAASkH,UAAT,CAAoBC,IAApB,EAA0B;AACtB7J,eAAa,CAAC6J,IAAD,EAAO,6BAAP,CAAb;;AACA,MAAI,EAAE,OAAOA,IAAI,CAACC,qBAAZ,KAAsC,QAAxC,CAAJ,EAAuD;AACnD9K,cAAU,CAAC,6BAAD,CAAV;AACH;AACJ;;AACD,SAAS+K,mBAAT,CAA6BhL,MAA7B,EAAuH;AAAA,MAAlFjkJ,GAAkF,uEAA5E,0EAA4E;;AACnH,MAAI,CAACorJ,eAAe,CAACnH,MAAD,CAApB,EAA8B;AAC1BC,cAAU,CAAClkJ,GAAD,CAAV;AACH;AACJ;;AACD,SAASkvJ,kBAAT,CAA4BjL,MAA5B,EAAqH;AAAA,MAAjFjkJ,GAAiF,uEAA3E,yEAA2E;;AACjH,MAAI,CAAC2rJ,cAAc,CAAC1H,MAAD,CAAnB,EAA6B;AACzBC,cAAU,CAAClkJ,GAAD,CAAV;AACH;AACJ;;AACD,SAASmvJ,0BAAT,CAAoCC,QAApC,EAA8C;AAC1C1K,aAAW,CAAC0K,QAAD,EAAW,IAAX,EAAiB,iCAAjB,CAAX;AACH;;AACD,SAASC,eAAT,CAAyBzH,KAAzB,EAAgC;AAC5B1C,eAAa,CAAC0C,KAAD,EAAQ,4BAAR,CAAb;AACA1C,eAAa,CAAC0C,KAAK,CAACvuJ,MAAP,EAAe,mCAAf,CAAb;AACH;;AACD,SAASi2J,cAAT,CAAwBZ,KAAxB,EAA+B7/J,KAA/B,EAAsCyQ,GAAtC,EAA2C;AACvC,MAAIA,GAAG,IAAI,IAAX,EACIA,GAAG,GAAGovJ,KAAN;AACJhK,aAAW,CAACplJ,GAAG,CAACtd,MAAL,EAAa6M,KAAb,kBAA6BA,KAA7B,uDAA+EyQ,GAAG,CAACtd,MAAnF,OAAX;AACH;;AACD,SAASutK,gBAAT,CAA0B5rK,KAA1B,EAAiC;AAC7BuhK,eAAa,CAACvhK,KAAD,EAAQ,4BAAR,CAAb;AACA+gK,aAAW,CAACyJ,YAAY,CAACxqK,KAAD,CAAb,EAAsB,IAAtB,EAA4B,sBAA5B,CAAX;AACH;;AACD,SAAS6rK,sBAAT,CAAgC7rK,KAAhC,EAAuC;AACnCA,OAAK,IAAI+gK,WAAW,CAACwJ,OAAO,CAACvqK,KAAD,CAAR,EAAiB,IAAjB,EAAuB,sCAAvB,CAApB;AACH;;AACD,SAAS8rK,WAAT,CAAqB9rK,KAArB,EAA4B;AACxBuhK,eAAa,CAACvhK,KAAD,EAAQ,uBAAR,CAAb;AACA+gK,aAAW,CAACwJ,OAAO,CAACvqK,KAAD,CAAR,EAAiB,IAAjB,EAAuB,iBAAvB,CAAX;AACH;;AACD,SAAS+rK,qBAAT,CAA+B7H,KAA/B,EAAsC8H,UAAtC,EAAkD;AAC9CjL,aAAW,CAACmD,KAAK,CAACF,eAAP,EAAwB,IAAxB,EAA8BgI,UAAU,IAAI,6CAA5C,CAAX;AACH;;AACD,SAASC,qBAAT,CAA+B/H,KAA/B,EAAsC8H,UAAtC,EAAkD;AAC9CjL,aAAW,CAACmD,KAAK,CAACgI,eAAP,EAAwB,IAAxB,EAA8BF,UAAU,IAAI,6CAA5C,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASG,kBAAT,CAA4B1kK,GAA5B,EAAiC;AAC7B,MAAIA,GAAG,CAACsD,IAAJ,KAAazG,SAAb,IAA0BmD,GAAG,CAAC9D,SAAJ,IAAiBW,SAA3C,IAAwDmD,GAAG,CAACohB,MAAJ,KAAevkB,SAA3E,EAAsF;AAClFi8J,cAAU,kGAAV;AACH;AACJ;;AACD,SAAS6L,sBAAT,CAAgCrB,KAAhC,EAAuC7/J,KAAvC,EAA8C;AAC1C,MAAMg5J,KAAK,GAAG6G,KAAK,CAAC,CAAD,CAAnB;AACAsB,eAAa,CAACxC,aAAD,EAAgB3F,KAAK,CAAC17H,iBAAtB,EAAyCt9B,KAAzC,CAAb;AACH;;AACD,SAASohK,sBAAT,CAAgCvB,KAAhC,EAAuC7/J,KAAvC,EAA8C;AAC1C,MAAMg5J,KAAK,GAAG6G,KAAK,CAAC,CAAD,CAAnB;AACAsB,eAAa,CAACnI,KAAK,CAAC17H,iBAAP,EAA0B07H,KAAK,CAACqI,iBAAhC,EAAmDrhK,KAAnD,CAAb;AACH;;AACD,SAASshK,yBAAT,CAAmCzB,KAAnC,EAA0C7/J,KAA1C,EAAiD;AAC7C,MAAMg5J,KAAK,GAAG6G,KAAK,CAAC,CAAD,CAAnB;AACAsB,eAAa,CAACnI,KAAK,CAACqI,iBAAP,EAA0BxB,KAAK,CAAC1sK,MAAhC,EAAwC6M,KAAxC,CAAb;AACH;;AACD,SAASmhK,aAAT,CAAuBI,KAAvB,EAA8BC,KAA9B,EAAqCxhK,KAArC,EAA4C;AACxC,MAAI,EAAEuhK,KAAK,IAAIvhK,KAAT,IAAkBA,KAAK,GAAGwhK,KAA5B,CAAJ,EAAwC;AACpCnM,cAAU,yCAAkCkM,KAAlC,iBAA8CvhK,KAA9C,gBAAyDwhK,KAAzD,OAAV;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4B5B,KAA5B,EAAmC6B,aAAnC,EAAkD;AAC9CJ,2BAAyB,CAACzB,KAAD,EAAQ6B,aAAR,CAAzB;AACAJ,2BAAyB,CAACzB,KAAD,EAAQ6B,aAAa,GAAG;AAAE;AAA1B,GAAzB;AACAvM,cAAY,CAAC0K,KAAK,CAAC6B,aAAa,GAAG,CAAjB,CAAN,EAA2B,8CAA3B,CAAZ;AACAvM,cAAY,CAAC0K,KAAK,CAAC6B,aAAa,GAAG,CAAjB,CAAN,EAA2B,8CAA3B,CAAZ;AACAvM,cAAY,CAAC0K,KAAK,CAAC6B,aAAa,GAAG,CAAjB,CAAN,EAA2B,8CAA3B,CAAZ;AACAvM,cAAY,CAAC0K,KAAK,CAAC6B,aAAa,GAAG,CAAjB,CAAN,EAA2B,8CAA3B,CAAZ;AACAvM,cAAY,CAAC0K,KAAK,CAAC6B,aAAa,GAAG,CAAjB,CAAN,EAA2B,8CAA3B,CAAZ;AACAvM,cAAY,CAAC0K,KAAK,CAAC6B,aAAa,GAAG,CAAjB,CAAN,EAA2B,8CAA3B,CAAZ;AACAvM,cAAY,CAAC0K,KAAK,CAAC6B,aAAa,GAAG,CAAjB,CAAN,EAA2B,8CAA3B,CAAZ;AACAvM,cAAY,CAAC0K,KAAK,CAAC6B,aAAa,GAAG,CAAjB,CAAN,EAA2B,8CAA3B,CAAZ;AACAvM,cAAY,CAAC0K,KAAK,CAAC6B,aAAa,GAAG;AAAE;AAAnB,GAAN,EAAwC,+CAAxC,CAAZ;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,aAAT,CAAuB9hK,IAAvB,EAA6By9J,aAA7B,EAA4C;AACxC,MAAMsE,aAAa,GAAG/hK,IAAI,CAAC4S,cAAL,CAAoBwoJ,cAApB,CAAtB;;AACA,MAAI,CAAC2G,aAAD,IAAkBtE,aAAa,KAAK,IAApC,IAA4ClF,SAAhD,EAA2D;AACvD,UAAM,IAAIxmK,KAAJ,gBAAkBugB,SAAS,CAACtS,IAAD,CAA3B,0CAAN;AACH;;AACD,SAAO+hK,aAAa,GAAG/hK,IAAI,CAACo7J,cAAD,CAAP,GAA0B,IAA9C;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM4G,Y;;;;;AACF,wBAAYrwH,IAAZ,EAAkBvd,OAAlB,EAA2B;AAAA;;AAAA;;AACvB,8BAAM6tI,kBAAkB,CAACtwH,IAAD,EAAOvd,OAAP,CAAxB;AACA,UAAKud,IAAL,GAAYA,IAAZ;AAFuB;AAG1B;;;iKAJsB5/C,K;AAM3B;;;AACA,SAASkwK,kBAAT,CAA4BtwH,IAA5B,EAAkCvd,OAAlC,EAA2C;AACvC,MAAM8tI,QAAQ,GAAGvwH,IAAI,gBAASA,IAAT,UAAoB,EAAzC;AACA,mBAAUuwH,QAAV,SAAqB9tI,OAArB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+tI,eAAT,CAAyBltK,KAAzB,EAAgC;AAC5B,MAAI,OAAOA,KAAP,KAAiB,QAArB,EACI,OAAOA,KAAP;AACJ,MAAIA,KAAK,IAAI,IAAb,EACI,OAAO,EAAP,CAJwB,CAK5B;AACA;;AACA,SAAOkK,MAAM,CAAClK,KAAD,CAAb;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASmtK,iBAAT,CAA2BntK,KAA3B,EAAkC;AAC9B,MAAI,OAAOA,KAAP,KAAiB,UAArB,EACI,OAAOA,KAAK,CAACzB,IAAN,IAAcyB,KAAK,CAACud,QAAN,EAArB;;AACJ,MAAI,OAAOvd,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,IAAI,IAAtC,IAA8C,OAAOA,KAAK,CAAC+K,IAAb,KAAsB,UAAxE,EAAoF;AAChF,WAAO/K,KAAK,CAAC+K,IAAN,CAAWxM,IAAX,IAAmByB,KAAK,CAAC+K,IAAN,CAAWwS,QAAX,EAA1B;AACH;;AACD,SAAO2vJ,eAAe,CAACltK,KAAD,CAAtB;AACH;AAED;;;AACA,SAASotK,0BAAT,CAAoCnpK,KAApC,EAA2C0xD,IAA3C,EAAiD;AAC7C,MAAM03G,OAAO,GAAG13G,IAAI,gCAAyBA,IAAI,CAACl2D,IAAL,CAAU,KAAV,CAAzB,gBAA+CwE,KAA/C,IAAyD,EAA7E;AACA,QAAM,IAAI8oK,YAAJ,CAAiB;AAAM;AAAvB,qDAA6F9oK,KAA7F,SAAqGopK,OAArG,EAAN;AACH;;AACD,SAASC,4BAAT,GAAwC;AACpC,QAAM,IAAIxwK,KAAJ,oDAAN;AACH;;AACD,SAASywK,yBAAT,CAAmCzgJ,YAAnC,EAAiD5D,SAAjD,EAA4D0C,QAA5D,EAAsE;AAClE,MAAI4hJ,cAAc,GAAG,EAArB;;AACA,MAAI1gJ,YAAY,IAAI5D,SAApB,EAA+B;AAC3B,QAAMukJ,cAAc,GAAGvkJ,SAAS,CAACnmB,GAAV,CAAc,UAAA0kE,CAAC;AAAA,aAAIA,CAAC,IAAI77C,QAAL,GAAgB,MAAMA,QAAN,GAAiB,GAAjC,GAAuC,KAA3C;AAAA,KAAf,CAAvB;AACA4hJ,kBAAc,uEACmDC,cAAc,CAAChuK,IAAf,CAAoB,IAApB,CADnD,MAAd;AAEH;;AACD,QAAM,IAAI3C,KAAJ,CAAU,6CAAsCugB,SAAS,CAACyP,YAAD,CAA/C,SAAmE0gJ,cAA7E,CAAN;AACH;AACD;;;AACA,SAASE,0BAAT,CAAoCzpK,KAApC,EAA2C0pK,YAA3C,EAAyD;AACrD,MAAMC,eAAe,GAAGD,YAAY,iBAAUA,YAAV,IAA2B,EAA/D;AACA,QAAM,IAAIZ,YAAJ,CAAiB;AAAM;AAAvB,8BAAoEI,iBAAiB,CAAClpK,KAAD,CAArF,mBAAqG2pK,eAArG,EAAN;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMC,Y;AACF,wBAAYC,aAAZ,EAA2BC,YAA3B,EAAyCC,WAAzC,EAAsD;AAAA;;AAClD,SAAKF,aAAL,GAAqBA,aAArB;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACH;AACD;AACJ;AACA;;;;;WACI,yBAAgB;AACZ,aAAO,KAAKA,WAAZ;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,oBAAT,GAAgC;AAC5B,SAAOC,sBAAP;AACH;;AACD,SAASA,sBAAT,CAAgCvtJ,UAAhC,EAA4C;AACxC,MAAIA,UAAU,CAAC5V,IAAX,CAAgB0N,SAAhB,CAA0B01J,WAA9B,EAA2C;AACvCxtJ,cAAU,CAACumJ,QAAX,GAAsBkH,mBAAtB;AACH;;AACD,SAAOC,2CAAP;AACH,C,CACD;AACA;;AACA;AACA;;;AACAJ,oBAAoB,CAACK,SAArB,GAAiC,IAAjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASD,2CAAT,GAAuD;AACnD,MAAME,kBAAkB,GAAGC,qBAAqB,CAAC,IAAD,CAAhD;AACA,MAAM9tK,OAAO,GAAG6tK,kBAAkB,KAAK,IAAvB,IAA+BA,kBAAkB,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,kBAAkB,CAAC7tK,OAA3G;;AACA,MAAIA,OAAJ,EAAa;AACT,QAAMihE,QAAQ,GAAG4sG,kBAAkB,CAAC5sG,QAApC;;AACA,QAAIA,QAAQ,KAAK6jG,SAAjB,EAA4B;AACxB+I,wBAAkB,CAAC5sG,QAAnB,GAA8BjhE,OAA9B;AACH,KAFD,MAGK;AACD;AACA;AACA,WAAK,IAAIwS,GAAT,IAAgBxS,OAAhB,EAAyB;AACrBihE,gBAAQ,CAACzuD,GAAD,CAAR,GAAgBxS,OAAO,CAACwS,GAAD,CAAvB;AACH;AACJ;;AACDq7J,sBAAkB,CAAC7tK,OAAnB,GAA6B,IAA7B;AACA,SAAKytK,WAAL,CAAiBztK,OAAjB;AACH;AACJ;;AACD,SAAS0tK,mBAAT,CAA6B1xB,QAA7B,EAAuC18I,KAAvC,EAA8C0jC,UAA9C,EAA0D+qI,WAA1D,EAAuE;AACnE,MAAMF,kBAAkB,GAAGC,qBAAqB,CAAC9xB,QAAD,CAArB,IACvBgyB,qBAAqB,CAAChyB,QAAD,EAAW;AAAE/6E,YAAQ,EAAE6jG,SAAZ;AAAuB9kK,WAAO,EAAE;AAAhC,GAAX,CADzB;AAEA,MAAMA,OAAO,GAAG6tK,kBAAkB,CAAC7tK,OAAnB,KAA+B6tK,kBAAkB,CAAC7tK,OAAnB,GAA6B,EAA5D,CAAhB;AACA,MAAMihE,QAAQ,GAAG4sG,kBAAkB,CAAC5sG,QAApC;AACA,MAAM52B,YAAY,GAAG,KAAK47H,cAAL,CAAoBjjI,UAApB,CAArB;AACA,MAAMirI,cAAc,GAAGhtG,QAAQ,CAAC52B,YAAD,CAA/B;AACArqC,SAAO,CAACqqC,YAAD,CAAP,GAAwB,IAAI8iI,YAAJ,CAAiBc,cAAc,IAAIA,cAAc,CAACZ,YAAlD,EAAgE/tK,KAAhE,EAAuE2hE,QAAQ,KAAK6jG,SAApF,CAAxB;AACA9oB,UAAQ,CAAC+xB,WAAD,CAAR,GAAwBzuK,KAAxB;AACH;;AACD,IAAM4uK,oBAAoB,GAAG,qBAA7B;;AACA,SAASJ,qBAAT,CAA+B9xB,QAA/B,EAAyC;AACrC,SAAOA,QAAQ,CAACkyB,oBAAD,CAAR,IAAkC,IAAzC;AACH;;AACD,SAASF,qBAAT,CAA+BhyB,QAA/B,EAAyCmyB,KAAzC,EAAgD;AAC5C,SAAOnyB,QAAQ,CAACkyB,oBAAD,CAAR,GAAiCC,KAAxC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,aAAa,GAAG,4BAAtB;AACA,IAAMC,iBAAiB,GAAG,gCAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAMC,qBAAqB,GAAG,eAA9B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIC,QAAQ,GAAG3qK,SAAf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS4qK,WAAT,CAAqB/c,QAArB,EAA+B;AAC3B8c,UAAQ,GAAG9c,QAAX;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgd,WAAT,GAAuB;AACnB,MAAIF,QAAQ,KAAK3qK,SAAjB,EAA4B;AACxB,WAAO2qK,QAAP;AACH,GAFD,MAGK,IAAI,OAAO9c,QAAP,KAAoB,WAAxB,EAAqC;AACtC,WAAOA,QAAP;AACH,GANkB,CAOnB;AACA;AACA;AACA;AACA;;;AACA,SAAO7tJ,SAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAI8qK,mBAAJ;;AACA,CAAC,UAAUA,mBAAV,EAA+B;AAC5BA,qBAAmB,CAACA,mBAAmB,CAAC,WAAD,CAAnB,GAAmC,CAApC,CAAnB,GAA4D,WAA5D;AACAA,qBAAmB,CAACA,mBAAmB,CAAC,UAAD,CAAnB,GAAkC,CAAnC,CAAnB,GAA2D,UAA3D;AACH,CAHD,EAGGA,mBAAmB,KAAKA,mBAAmB,GAAG,EAA3B,CAHtB;AAIA;;;AACA,SAASC,oBAAT,CAA8BC,QAA9B,EAAwC;AACpC,SAAO,CAAC,CAAEA,QAAQ,CAACC,MAAnB;AACH;;AACD,IAAMC,EAAE,GAAG,SAALA,EAAK,CAACC,WAAD,EAAchmJ,YAAd,EAA+B;AACtC,SAAO0lJ,WAAW,EAAlB;AACH,CAFD;;AAGA,IAAMO,mBAAmB,GAAG;AACxBC,gBAAc,EAAEH;AADQ,CAA5B,C,CAGA;AACA;;AACA,IAAMI,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,SAASC,WAAT,CAAqB7vK,KAArB,EAA4B;AACxB,SAAOgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,CAAP,EAA6B;AACzBA,SAAK,GAAGA,KAAK,CAAC0oK,IAAD,CAAb;AACH;;AACD,SAAO1oK,KAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS8vK,WAAT,CAAqB9vK,KAArB,EAA4B;AACxB,SAAOgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,CAAP,EAA6B;AACzB;AACA;AACA,QAAI,OAAOA,KAAK,CAACgqK,IAAD,CAAZ,KAAuB,QAA3B,EACI,OAAOhqK,KAAP;AACJA,SAAK,GAAGA,KAAK,CAAC0oK,IAAD,CAAb;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASqH,gBAAT,CAA0B/vK,KAA1B,EAAiC;AAC7B,SAAOgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,CAAP,EAA6B;AACzB;AACA;AACA,QAAIA,KAAK,CAACgqK,IAAD,CAAL,KAAgB,IAApB,EACI,OAAOhqK,KAAP;AACJA,SAAK,GAAGA,KAAK,CAAC0oK,IAAD,CAAb;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASsH,gBAAT,CAA0B9kK,KAA1B,EAAiC6/J,KAAjC,EAAwC;AACpCzH,WAAS,IAAI3B,kBAAkB,CAACoJ,KAAD,EAAQ7/J,KAAR,CAA/B;AACAo4J,WAAS,IAAI1C,wBAAwB,CAAC11J,KAAD,EAAQ2+J,aAAR,EAAuB,mCAAvB,CAArC;AACA,SAAOgG,WAAW,CAAC9E,KAAK,CAAC7/J,KAAD,CAAN,CAAlB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+kK,gBAAT,CAA0BhM,KAA1B,EAAiC8G,KAAjC,EAAwC;AACpCzH,WAAS,IAAIwH,mBAAmB,CAAC7G,KAAD,EAAQ8G,KAAR,CAAhC;AACAzH,WAAS,IAAI3B,kBAAkB,CAACoJ,KAAD,EAAQ9G,KAAK,CAAC/4J,KAAd,CAA/B;AACA,MAAM2C,IAAI,GAAGgiK,WAAW,CAAC9E,KAAK,CAAC9G,KAAK,CAAC/4J,KAAP,CAAN,CAAxB;AACAo4J,WAAS,IAAI,CAAC+L,oBAAoB,CAACtE,KAAK,CAAC3B,QAAD,CAAN,CAAlC,IAAuD3H,aAAa,CAAC5zJ,IAAD,CAApE;AACA,SAAOA,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqiK,sBAAT,CAAgCjM,KAAhC,EAAuC8G,KAAvC,EAA8C;AAC1C,MAAM7/J,KAAK,GAAG+4J,KAAK,KAAK,IAAV,GAAiB,CAAC,CAAlB,GAAsBA,KAAK,CAAC/4J,KAA1C;;AACA,MAAIA,KAAK,KAAK,CAAC,CAAf,EAAkB;AACdo4J,aAAS,IAAIwH,mBAAmB,CAAC7G,KAAD,EAAQ8G,KAAR,CAAhC;AACA,QAAMl9J,IAAI,GAAGgiK,WAAW,CAAC9E,KAAK,CAAC7/J,KAAD,CAAN,CAAxB;AACAo4J,aAAS,IAAIz1J,IAAI,KAAK,IAAtB,IAA8B,CAACwhK,oBAAoB,CAACtE,KAAK,CAAC3B,QAAD,CAAN,CAAnD,IAAwE3H,aAAa,CAAC5zJ,IAAD,CAArF;AACA,WAAOA,IAAP;AACH;;AACD,SAAO,IAAP;AACH,C,CACD;;;AACA,SAASsiK,QAAT,CAAkBjM,KAAlB,EAAyBh5J,KAAzB,EAAgC;AAC5Bo4J,WAAS,IAAIjC,iBAAiB,CAACn2J,KAAD,EAAQ,CAAC,CAAT,EAAY,uBAAZ,CAA9B;AACAo4J,WAAS,IAAIlC,cAAc,CAACl2J,KAAD,EAAQg5J,KAAK,CAACx/J,IAAN,CAAWrG,MAAnB,EAA2B,uBAA3B,CAA3B;AACA,MAAM4lK,KAAK,GAAGC,KAAK,CAACx/J,IAAN,CAAWwG,KAAX,CAAd;AACAo4J,WAAS,IAAIW,KAAK,KAAK,IAAvB,IAA+BgH,WAAW,CAAChH,KAAD,CAA1C;AACA,SAAOA,KAAP;AACH;AACD;;;AACA,SAAS//C,IAAT,CAAcksD,IAAd,EAAoBllK,KAApB,EAA2B;AACvBo4J,WAAS,IAAI3B,kBAAkB,CAACyO,IAAD,EAAOllK,KAAP,CAA/B;AACA,SAAOklK,IAAI,CAACllK,KAAD,CAAX;AACH;;AACD,SAASmlK,wBAAT,CAAkChuE,SAAlC,EAA6CynB,QAA7C,EAAuD;AACnD;AACAw5C,WAAS,IAAI3B,kBAAkB,CAAC73C,QAAD,EAAWznB,SAAX,CAA/B;AACA,MAAMiuE,SAAS,GAAGxmD,QAAQ,CAACznB,SAAD,CAA1B;AACA,MAAM0oE,KAAK,GAAGR,OAAO,CAAC+F,SAAD,CAAP,GAAqBA,SAArB,GAAiCA,SAAS,CAAC5H,IAAD,CAAxD;AACA,SAAOqC,KAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASwF,eAAT,CAAyBv3I,MAAzB,EAAiC;AAC7BsqI,WAAS,IAAI/B,aAAa,CAACvoI,MAAD,EAAS,iBAAT,CAA1B;AACA,SAAOA,MAAM,CAACg2I,qBAAD,CAAN,IAAiC,IAAxC;AACH;;AACD,SAASwB,gBAAT,CAA0Bx3I,MAA1B,EAAkC;AAC9B,MAAMh5B,KAAK,GAAGuwK,eAAe,CAACv3I,MAAD,CAA7B;;AACA,MAAIh5B,KAAJ,EAAW;AACP,WAAOgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,IAAuBA,KAAvB,GAA+BA,KAAK,CAAC+qK,KAA5C;AACH;;AACD,SAAO,IAAP;AACH;AACD;;;AACA,SAAS0F,cAAT,CAAwBL,IAAxB,EAA8B;AAC1B,SAAO,CAACA,IAAI,CAACxH,KAAD,CAAJ,GAAc;AAAE;AAAjB,QAAyC;AAAE;AAAlD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8H,4BAAT,CAAsCN,IAAtC,EAA4C;AACxC,SAAO,CAACA,IAAI,CAACxH,KAAD,CAAJ,GAAc;AAAI;AAAnB,QAAuC;AAAI;AAAlD;AACH;AACD;;;AACA,SAAS+H,uBAAT,CAAiCP,IAAjC,EAAuC;AACnC,SAAO5F,YAAY,CAAC4F,IAAI,CAACvH,MAAD,CAAL,CAAnB;AACH;;AACD,SAAS+H,WAAT,CAAqBvoE,MAArB,EAA6Bn9F,KAA7B,EAAoC;AAChC,MAAIA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK5G,SAAhC,EACI,OAAO,IAAP;AACJg/J,WAAS,IAAI3B,kBAAkB,CAACt5D,MAAD,EAASn9F,KAAT,CAA/B;AACA,SAAOm9F,MAAM,CAACn9F,KAAD,CAAb;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS2lK,sBAAT,CAAgC9F,KAAhC,EAAuC;AACnCA,OAAK,CAACpB,mBAAD,CAAL,GAA6B,CAA7B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmH,2BAAT,CAAqCC,UAArC,EAAiDC,MAAjD,EAAyD;AACrDD,YAAU,CAAChI,6BAAD,CAAV,IAA6CiI,MAA7C;AACA,MAAIC,eAAe,GAAGF,UAAtB;AACA,MAAIr7J,MAAM,GAAGq7J,UAAU,CAAClI,MAAD,CAAvB;;AACA,SAAOnzJ,MAAM,KAAK,IAAX,KACDs7J,MAAM,KAAK,CAAX,IAAgBC,eAAe,CAAClI,6BAAD,CAAf,KAAmD,CAApE,IACIiI,MAAM,KAAK,CAAC,CAAZ,IAAiBC,eAAe,CAAClI,6BAAD,CAAf,KAAmD,CAFtE,CAAP,EAEkF;AAC9ErzJ,UAAM,CAACqzJ,6BAAD,CAAN,IAAyCiI,MAAzC;AACAC,mBAAe,GAAGv7J,MAAlB;AACAA,UAAM,GAAGA,MAAM,CAACmzJ,MAAD,CAAf;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMqI,gBAAgB,GAAG;AACrBC,QAAM,EAAEC,YAAY,CAAC,IAAD,CADC;AAErBC,iBAAe,EAAE,IAFI;AAGrBC,wBAAsB,EAAE;AAHH,CAAzB;AAKA;AACA;AACA;AACA;AACA;;AACA,SAASC,+BAAT,GAA2C;AACvC,SAAOL,gBAAgB,CAACC,MAAjB,CAAwBz7J,MAAxB,KAAmC,IAA1C;AACH;;AACD,SAAS87J,oBAAT,GAAgC;AAC5B,SAAON,gBAAgB,CAACC,MAAjB,CAAwBM,iBAA/B;AACH;;AACD,SAASC,yBAAT,GAAqC;AACjCR,kBAAgB,CAACC,MAAjB,CAAwBM,iBAAxB;AACH;;AACD,SAASE,yBAAT,GAAqC;AACjCT,kBAAgB,CAACC,MAAjB,CAAwBM,iBAAxB;AACH;;AACD,SAASG,kBAAT,GAA8B;AAC1B,SAAOV,gBAAgB,CAACG,eAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASQ,gBAAT,GAA4B;AACxBX,kBAAgB,CAACG,eAAjB,GAAmC,IAAnC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,iBAAT,GAA6B;AACzBZ,kBAAgB,CAACG,eAAjB,GAAmC,KAAnC;AACH;AACD;AACA;AACA;;;AACA,SAASU,QAAT,GAAoB;AAChB,SAAOb,gBAAgB,CAACC,MAAjB,CAAwBpG,KAA/B;AACH;AACD;AACA;AACA;;;AACA,SAASiH,QAAT,GAAoB;AAChB,SAAOd,gBAAgB,CAACC,MAAjB,CAAwBjN,KAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+N,aAAT,CAAuBC,aAAvB,EAAsC;AAClChB,kBAAgB,CAACC,MAAjB,CAAwBgB,YAAxB,GAAuCD,aAAvC;AACH;;AACD,SAASE,eAAT,GAA2B;AACvB,MAAIC,YAAY,GAAGC,4BAA4B,EAA/C;;AACA,SAAOD,YAAY,KAAK,IAAjB,IAAyBA,YAAY,CAACtnK,IAAb,KAAsB;AAAG;AAAzD,IAA4E;AACxEsnK,gBAAY,GAAGA,YAAY,CAAC38J,MAA5B;AACH;;AACD,SAAO28J,YAAP;AACH;;AACD,SAASC,4BAAT,GAAwC;AACpC,SAAOpB,gBAAgB,CAACC,MAAjB,CAAwBkB,YAA/B;AACH;;AACD,SAASE,qBAAT,GAAiC;AAC7B,MAAMpB,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;AACA,MAAMkB,YAAY,GAAGlB,MAAM,CAACkB,YAA5B;AACA,SAAOlB,MAAM,CAAC1F,QAAP,GAAkB4G,YAAlB,GAAiCA,YAAY,CAAC38J,MAArD;AACH;;AACD,SAAS88J,eAAT,CAAyBvO,KAAzB,EAAgCwH,QAAhC,EAA0C;AACtCnI,WAAS,IAAIW,KAAb,IAAsB+G,mBAAmB,CAAC/G,KAAD,EAAQiN,gBAAgB,CAACC,MAAjB,CAAwBjN,KAAhC,CAAzC;AACA,MAAMiN,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;AACAA,QAAM,CAACkB,YAAP,GAAsBpO,KAAtB;AACAkN,QAAM,CAAC1F,QAAP,GAAkBA,QAAlB;AACH;;AACD,SAASgH,oBAAT,GAAgC;AAC5B,SAAOvB,gBAAgB,CAACC,MAAjB,CAAwB1F,QAA/B;AACH;;AACD,SAASiH,0BAAT,GAAsC;AAClCxB,kBAAgB,CAACC,MAAjB,CAAwB1F,QAAxB,GAAmC,KAAnC;AACH;;AACD,SAASkH,uBAAT,GAAmC;AAC/BzB,kBAAgB,CAACC,MAAjB,CAAwB1F,QAAxB,GAAmC,IAAnC;AACH;;AACD,SAASmH,eAAT,GAA2B;AACvB,SAAO1B,gBAAgB,CAACC,MAAjB,CAAwBgB,YAA/B;AACH;;AACD,SAASb,sBAAT,GAAkC;AAC9B;AACA,SAAOJ,gBAAgB,CAACI,sBAAxB;AACH;;AACD,SAASuB,yBAAT,CAAmC/nH,IAAnC,EAAyC;AACrComH,kBAAgB,CAACI,sBAAjB,GAA0CxmH,IAA1C;AACH,C,CACD;;;AACA,SAASgoH,cAAT,GAA0B;AACtB,MAAM3B,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;AACA,MAAIjmK,KAAK,GAAGimK,MAAM,CAAC4B,gBAAnB;;AACA,MAAI7nK,KAAK,KAAK,CAAC,CAAf,EAAkB;AACdA,SAAK,GAAGimK,MAAM,CAAC4B,gBAAP,GAA0B5B,MAAM,CAACjN,KAAP,CAAa17H,iBAA/C;AACH;;AACD,SAAOt9B,KAAP;AACH;;AACD,SAAS8nK,eAAT,GAA2B;AACvB,SAAO9B,gBAAgB,CAACC,MAAjB,CAAwB72C,YAA/B;AACH;;AACD,SAAS24C,eAAT,CAAyBjzK,KAAzB,EAAgC;AAC5B,SAAOkxK,gBAAgB,CAACC,MAAjB,CAAwB72C,YAAxB,GAAuCt6H,KAA9C;AACH;;AACD,SAASkzK,gBAAT,GAA4B;AACxB,SAAOhC,gBAAgB,CAACC,MAAjB,CAAwB72C,YAAxB,EAAP;AACH;;AACD,SAAS64C,qBAAT,CAA+BzwI,KAA/B,EAAsC;AAClC,MAAMyuI,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;AACA,MAAMjmK,KAAK,GAAGimK,MAAM,CAAC72C,YAArB;AACA62C,QAAM,CAAC72C,YAAP,GAAsB62C,MAAM,CAAC72C,YAAP,GAAsB53F,KAA5C;AACA,SAAOx3B,KAAP;AACH;;AACD,SAASkoK,aAAT,GAAyB;AACrB,SAAOlC,gBAAgB,CAACC,MAAjB,CAAwBkC,MAA/B;AACH;;AACD,SAASC,cAAT,CAAwBF,aAAxB,EAAuC;AACnClC,kBAAgB,CAACC,MAAjB,CAAwBkC,MAAxB,GAAiCD,aAAjC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,6BAAT,CAAuCR,gBAAvC,EAAyDS,qBAAzD,EAAgF;AAC5E,MAAMrC,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;AACAA,QAAM,CAAC72C,YAAP,GAAsB62C,MAAM,CAAC4B,gBAAP,GAA0BA,gBAAhD;AACAU,0BAAwB,CAACD,qBAAD,CAAxB;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASE,wBAAT,GAAoC;AAChC,SAAOxC,gBAAgB,CAACC,MAAjB,CAAwBqC,qBAA/B;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,wBAAT,CAAkCD,qBAAlC,EAAyD;AACrDtC,kBAAgB,CAACC,MAAjB,CAAwBqC,qBAAxB,GAAgDA,qBAAhD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,sBAAT,CAAgCC,KAAhC,EAAuC;AACnC,MAAMJ,qBAAqB,GAAGtC,gBAAgB,CAACC,MAAjB,CAAwBqC,qBAAtD;AACA,SAAOA,qBAAqB,KAAK,CAAC,CAA3B,GAA+B,IAA/B,GAAsCI,KAAK,CAACJ,qBAAD,CAAlD;AACH;;AACD,SAASK,oBAAT,GAAgC;AAC5B,SAAO3C,gBAAgB,CAACC,MAAjB,CAAwB2C,iBAA/B;AACH;;AACD,SAASC,oBAAT,CAA8B/zK,KAA9B,EAAqC;AACjCkxK,kBAAgB,CAACC,MAAjB,CAAwB2C,iBAAxB,GAA4C9zK,KAA5C;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASg0K,mBAAT,CAA6BjJ,KAA7B,EAAoC;AAChC,MAAM7G,KAAK,GAAG6G,KAAK,CAACpC,KAAD,CAAnB,CADgC,CAEhC;;AACA,MAAIzE,KAAK,CAACn5J,IAAN,KAAe;AAAE;AAArB,IAAqC;AACjCu4J,eAAS,IAAI/B,aAAa,CAAC2C,KAAK,CAAC+P,SAAP,EAAkB,kDAAlB,CAA1B;AACA,aAAO/P,KAAK,CAAC+P,SAAb;AACH,KAN+B,CAOhC;AACA;AACA;;;AACA,MAAI/P,KAAK,CAACn5J,IAAN,KAAe;AAAE;AAArB,IAAsC;AAClC,aAAOggK,KAAK,CAAC/B,MAAD,CAAZ;AACH,KAZ+B,CAahC;;;AACA,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkL,OAAT,CAAiBnJ,KAAjB,EAAwB9G,KAAxB,EAA+B51H,KAA/B,EAAsC;AAClCi1H,WAAS,IAAIuI,sBAAsB,CAACd,KAAD,CAAnC;;AACA,MAAI18H,KAAK,GAAGw0H,WAAW,CAACsR,QAAxB,EAAkC;AAC9B7Q,aAAS,IAAI0H,mBAAmB,CAAC/G,KAAD,EAAQ8G,KAAK,CAACpC,KAAD,CAAb,CAAhC;AACA,QAAIyL,WAAW,GAAGnQ,KAAlB;AACA,QAAIoQ,WAAW,GAAGtJ,KAAlB;;AACA,WAAO,IAAP,EAAa;AACTzH,eAAS,IAAI/B,aAAa,CAAC6S,WAAD,EAAc,gCAAd,CAA1B;AACAA,iBAAW,GAAGA,WAAW,CAAC1+J,MAA1B;;AACA,UAAI0+J,WAAW,KAAK,IAAhB,IAAwB,EAAE/lI,KAAK,GAAGw0H,WAAW,CAACyR,IAAtB,CAA5B,EAAyD;AACrDF,mBAAW,GAAGJ,mBAAmB,CAACK,WAAD,CAAjC;AACA,YAAID,WAAW,KAAK,IAApB,EACI,MAHiD,CAIrD;AACA;;AACA9Q,iBAAS,IAAI/B,aAAa,CAAC8S,WAAD,EAAc,gCAAd,CAA1B;AACAA,mBAAW,GAAGA,WAAW,CAAC7K,gBAAD,CAAzB,CAPqD,CAQrD;AACA;AACA;;AACA,YAAI4K,WAAW,CAACrpK,IAAZ,IAAoB;AAAE;AAAF,UAAkB;AAAE;AAAxC,SAAJ,EAAqE;AACjE;AACH;AACJ,OAdD,MAeK;AACD;AACH;AACJ;;AACD,QAAIqpK,WAAW,KAAK,IAApB,EAA0B;AACtB;AACA,aAAO,KAAP;AACH,KAHD,MAIK;AACDnQ,WAAK,GAAGmQ,WAAR;AACArJ,WAAK,GAAGsJ,WAAR;AACH;AACJ;;AACD/Q,WAAS,IAAIwH,mBAAmB,CAAC7G,KAAD,EAAQ8G,KAAR,CAAhC;AACA,MAAMoG,MAAM,GAAGD,gBAAgB,CAACC,MAAjB,GAA0BoD,WAAW,EAApD;AACApD,QAAM,CAACkB,YAAP,GAAsBpO,KAAtB;AACAkN,QAAM,CAACpG,KAAP,GAAeA,KAAf;AACA,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyJ,SAAT,CAAmBC,OAAnB,EAA4B;AACxBnR,WAAS,IAAIrC,cAAc,CAACwT,OAAO,CAAC,CAAD,CAAR,EAAaA,OAAO,CAAC,CAAD,CAApB,EAAyB,MAAzB,CAA3B;AACAnR,WAAS,IAAIuI,sBAAsB,CAAC4I,OAAD,CAAnC;AACA,MAAMC,SAAS,GAAGH,WAAW,EAA7B;;AACA,MAAIjR,SAAJ,EAAe;AACXvC,eAAW,CAAC2T,SAAS,CAACjJ,QAAX,EAAqB,IAArB,EAA2B,uBAA3B,CAAX;AACA1K,eAAW,CAAC2T,SAAS,CAAC3J,KAAX,EAAkB,IAAlB,EAAwB,uBAAxB,CAAX;AACAhK,eAAW,CAAC2T,SAAS,CAACxQ,KAAX,EAAkB,IAAlB,EAAwB,uBAAxB,CAAX;AACAnD,eAAW,CAAC2T,SAAS,CAACC,aAAX,EAA0B,CAAC,CAA3B,EAA8B,uBAA9B,CAAX;AACA5T,eAAW,CAAC2T,SAAS,CAACjD,iBAAX,EAA8B,CAA9B,EAAiC,uBAAjC,CAAX;AACA1Q,eAAW,CAAC2T,SAAS,CAAClB,qBAAX,EAAkC,CAAC,CAAnC,EAAsC,uBAAtC,CAAX;AACAzS,eAAW,CAAC2T,SAAS,CAACzwE,gBAAX,EAA6B,IAA7B,EAAmC,uBAAnC,CAAX;AACA88D,eAAW,CAAC2T,SAAS,CAAC3B,gBAAX,EAA6B,CAAC,CAA9B,EAAiC,uBAAjC,CAAX;AACAhS,eAAW,CAAC2T,SAAS,CAACZ,iBAAX,EAA8B,CAA9B,EAAiC,uBAAjC,CAAX;AACH;;AACD,MAAM5P,KAAK,GAAGuQ,OAAO,CAAC9L,KAAD,CAArB;AACAuI,kBAAgB,CAACC,MAAjB,GAA0BuD,SAA1B;AACApR,WAAS,IAAIY,KAAK,CAAClP,UAAnB,IAAiCgW,mBAAmB,CAAC9G,KAAK,CAAClP,UAAP,EAAmBkP,KAAnB,CAApD;AACAwQ,WAAS,CAACrC,YAAV,GAAyBnO,KAAK,CAAClP,UAA/B;AACA0f,WAAS,CAAC3J,KAAV,GAAkB0J,OAAlB;AACAC,WAAS,CAACxQ,KAAV,GAAkBA,KAAlB;AACAwQ,WAAS,CAACvC,YAAV,GAAyBsC,OAAzB;AACAC,WAAS,CAACp6C,YAAV,GAAyB4pC,KAAK,CAAC17H,iBAA/B;AACAksI,WAAS,CAACrB,MAAV,GAAmB,KAAnB;AACH;AACD;AACA;AACA;;;AACA,SAASkB,WAAT,GAAuB;AACnB,MAAMK,aAAa,GAAG1D,gBAAgB,CAACC,MAAvC;AACA,MAAM0D,WAAW,GAAGD,aAAa,KAAK,IAAlB,GAAyB,IAAzB,GAAgCA,aAAa,CAACj3I,KAAlE;AACA,MAAM+2I,SAAS,GAAGG,WAAW,KAAK,IAAhB,GAAuBzD,YAAY,CAACwD,aAAD,CAAnC,GAAqDC,WAAvE;AACA,SAAOH,SAAP;AACH;;AACD,SAAStD,YAAT,CAAsB17J,MAAtB,EAA8B;AAC1B,MAAMy7J,MAAM,GAAG;AACXkB,gBAAY,EAAE,IADH;AAEX5G,YAAQ,EAAE,IAFC;AAGXV,SAAK,EAAE,IAHI;AAIX7G,SAAK,EAAE,IAJI;AAKXyQ,iBAAa,EAAE,CAAC,CALL;AAMXxC,gBAAY,EAAE,IANH;AAOXV,qBAAiB,EAAE,CAPR;AAQXxtE,oBAAgB,EAAE,IARP;AASXuvE,yBAAqB,EAAE,CAAC,CATb;AAUXT,oBAAgB,EAAE,CAAC,CAVR;AAWXz4C,gBAAY,EAAE,CAAC,CAXJ;AAYXw5C,qBAAiB,EAAE,CAZR;AAaXp+J,UAAM,EAAEA,MAbG;AAcXioB,SAAK,EAAE,IAdI;AAeX01I,UAAM,EAAE;AAfG,GAAf;AAiBA39J,QAAM,KAAK,IAAX,KAAoBA,MAAM,CAACioB,KAAP,GAAewzI,MAAnC,EAlB0B,CAkBkB;;AAC5C,SAAOA,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2D,cAAT,GAA0B;AACtB,MAAMC,SAAS,GAAG7D,gBAAgB,CAACC,MAAnC;AACAD,kBAAgB,CAACC,MAAjB,GAA0B4D,SAAS,CAACr/J,MAApC;AACAq/J,WAAS,CAAC1C,YAAV,GAAyB,IAAzB;AACA0C,WAAS,CAAChK,KAAV,GAAkB,IAAlB;AACA,SAAOgK,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,OAAO,GAAGF,cAAhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASG,SAAT,GAAqB;AACjB,MAAMF,SAAS,GAAGD,cAAc,EAAhC;AACAC,WAAS,CAACtJ,QAAV,GAAqB,IAArB;AACAsJ,WAAS,CAAC7Q,KAAV,GAAkB,IAAlB;AACA6Q,WAAS,CAACJ,aAAV,GAA0B,CAAC,CAA3B;AACAI,WAAS,CAAC5C,YAAV,GAAyB,IAAzB;AACA4C,WAAS,CAACtD,iBAAV,GAA8B,CAA9B;AACAsD,WAAS,CAACvB,qBAAV,GAAkC,CAAC,CAAnC;AACAuB,WAAS,CAAC9wE,gBAAV,GAA6B,IAA7B;AACA8wE,WAAS,CAAChC,gBAAV,GAA6B,CAAC,CAA9B;AACAgC,WAAS,CAACz6C,YAAV,GAAyB,CAAC,CAA1B;AACAy6C,WAAS,CAACjB,iBAAV,GAA8B,CAA9B;AACH;;AACD,SAASoB,eAAT,CAAyB72H,KAAzB,EAAgC;AAC5B,MAAM8zH,YAAY,GAAGjB,gBAAgB,CAACC,MAAjB,CAAwBgB,YAAxB,GACjBgD,WAAW,CAAC92H,KAAD,EAAQ6yH,gBAAgB,CAACC,MAAjB,CAAwBgB,YAAhC,CADf;AAEA,SAAOA,YAAY,CAACjJ,OAAD,CAAnB;AACH;;AACD,SAASiM,WAAT,CAAqBxxB,YAArB,EAAmCyxB,WAAnC,EAAgD;AAC5C,SAAOzxB,YAAY,GAAG,CAAtB,EAAyB;AACrB2f,aAAS,IACL/B,aAAa,CAAC6T,WAAW,CAAC5L,gBAAD,CAAZ,EAAgC,wEAAhC,CADjB;AAEA4L,eAAW,GAAGA,WAAW,CAAC5L,gBAAD,CAAzB;AACA7lB,gBAAY;AACf;;AACD,SAAOyxB,WAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,gBAAT,GAA4B;AACxB,SAAOnE,gBAAgB,CAACC,MAAjB,CAAwBwD,aAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASW,gBAAT,CAA0BpqK,KAA1B,EAAiC;AAC7Bo4J,WAAS,IAAIp4J,KAAK,KAAK,CAAC,CAAxB,IACI01J,wBAAwB,CAAC11J,KAAD,EAAQ2+J,aAAR,EAAuB,2CAAvB,CAD5B;AAEAvG,WAAS,IACLlC,cAAc,CAACl2J,KAAD,EAAQgmK,gBAAgB,CAACC,MAAjB,CAAwBpG,KAAxB,CAA8B1sK,MAAtC,EAA8C,sCAA9C,CADlB;AAEA6yK,kBAAgB,CAACC,MAAjB,CAAwBwD,aAAxB,GAAwCzpK,KAAxC;AACH;AACD;AACA;AACA;;;AACA,SAASqqK,gBAAT,GAA4B;AACxB,MAAMpE,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;AACA,SAAOhB,QAAQ,CAACgB,MAAM,CAACjN,KAAR,EAAeiN,MAAM,CAACwD,aAAtB,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASa,cAAT,GAA0B;AACtBtE,kBAAgB,CAACC,MAAjB,CAAwBltE,gBAAxB,GAA2C6qE,aAA3C;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS2G,iBAAT,GAA6B;AACzBvE,kBAAgB,CAACC,MAAjB,CAAwBltE,gBAAxB,GAA2C8qE,iBAA3C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2G,eAAT,GAA2B;AACvBC,uBAAqB;AACxB;AACD;AACA;AACA;AACA;;;AACA,SAASA,qBAAT,GAAiC;AAC7BzE,kBAAgB,CAACC,MAAjB,CAAwBltE,gBAAxB,GAA2C,IAA3C;AACH;;AACD,SAAS2xE,YAAT,GAAwB;AACpB,SAAO1E,gBAAgB,CAACC,MAAjB,CAAwBltE,gBAA/B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4xE,qBAAT,CAA+BvnG,cAA/B,EAA+C3pD,YAA/C,EAA6Du/I,KAA7D,EAAoE;AAChEZ,WAAS,IAAIyI,qBAAqB,CAAC7H,KAAD,CAAlC;AACA,8BAA6Cv/I,YAAY,CAAC5Z,IAAb,CAAkB0N,SAA/D;AAAA,MAAQ01J,WAAR,yBAAQA,WAAR;AAAA,MAAqB2H,QAArB,yBAAqBA,QAArB;AAAA,MAA+BC,SAA/B,yBAA+BA,SAA/B;;AACA,MAAI5H,WAAJ,EAAiB;AACb,QAAM6H,gBAAgB,GAAG9H,sBAAsB,CAACvpJ,YAAD,CAA/C;AACA,KAACu/I,KAAK,CAAC+R,aAAN,KAAwB/R,KAAK,CAAC+R,aAAN,GAAsB,EAA9C,CAAD,EAAoDn2K,IAApD,CAAyDwuE,cAAzD,EAAyE0nG,gBAAzE;AACA,KAAC9R,KAAK,CAACgS,kBAAN,KAA6BhS,KAAK,CAACgS,kBAAN,GAA2B,EAAxD,CAAD,EACKp2K,IADL,CACUwuE,cADV,EAC0B0nG,gBAD1B;AAEH;;AACD,MAAIF,QAAJ,EAAc;AACV,KAAC5R,KAAK,CAAC+R,aAAN,KAAwB/R,KAAK,CAAC+R,aAAN,GAAsB,EAA9C,CAAD,EAAoDn2K,IAApD,CAAyD,IAAIwuE,cAA7D,EAA6EwnG,QAA7E;AACH;;AACD,MAAIC,SAAJ,EAAe;AACX,KAAC7R,KAAK,CAAC+R,aAAN,KAAwB/R,KAAK,CAAC+R,aAAN,GAAsB,EAA9C,CAAD,EAAoDn2K,IAApD,CAAyDwuE,cAAzD,EAAyEynG,SAAzE;AACA,KAAC7R,KAAK,CAACgS,kBAAN,KAA6BhS,KAAK,CAACgS,kBAAN,GAA2B,EAAxD,CAAD,EAA8Dp2K,IAA9D,CAAmEwuE,cAAnE,EAAmFynG,SAAnF;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,sBAAT,CAAgCjS,KAAhC,EAAuCD,KAAvC,EAA8C;AAC1CX,WAAS,IAAIyI,qBAAqB,CAAC7H,KAAD,CAAlC,CAD0C,CAE1C;AACA;AACA;;AACA,OAAK,IAAIxkK,CAAC,GAAGukK,KAAK,CAACmS,cAAd,EAA8B95I,GAAG,GAAG2nI,KAAK,CAACoS,YAA/C,EAA6D32K,CAAC,GAAG48B,GAAjE,EAAsE58B,CAAC,EAAvE,EAA2E;AACvE,QAAMilB,aAAY,GAAGu/I,KAAK,CAACx/J,IAAN,CAAWhF,CAAX,CAArB;AACA4jK,aAAS,IAAI/B,aAAa,CAAC58I,aAAD,EAAe,wBAAf,CAA1B;AACA,QAAMikD,cAAc,GAAGjkD,aAAY,CAAC5Z,IAAb,CAAkB0N,SAAzC;AACA,QAAQ69J,kBAAR,GAAwG1tG,cAAxG,CAAQ0tG,kBAAR;AAAA,QAA4BC,qBAA5B,GAAwG3tG,cAAxG,CAA4B2tG,qBAA5B;AAAA,QAAmDC,eAAnD,GAAwG5tG,cAAxG,CAAmD4tG,eAAnD;AAAA,QAAoEC,kBAApE,GAAwG7tG,cAAxG,CAAoE6tG,kBAApE;AAAA,QAAwFlO,WAAxF,GAAwG3/F,cAAxG,CAAwF2/F,WAAxF;;AACA,QAAI+N,kBAAJ,EAAwB;AACpB,OAACpS,KAAK,CAACwS,YAAN,KAAuBxS,KAAK,CAACwS,YAAN,GAAqB,EAA5C,CAAD,EAAkD52K,IAAlD,CAAuD,CAACJ,CAAxD,EAA2D42K,kBAA3D;AACH;;AACD,QAAIC,qBAAJ,EAA2B;AACvB,OAACrS,KAAK,CAACwS,YAAN,KAAuBxS,KAAK,CAACwS,YAAN,GAAqB,EAA5C,CAAD,EAAkD52K,IAAlD,CAAuDJ,CAAvD,EAA0D62K,qBAA1D;AACA,OAACrS,KAAK,CAACyS,iBAAN,KAA4BzS,KAAK,CAACyS,iBAAN,GAA0B,EAAtD,CAAD,EAA4D72K,IAA5D,CAAiEJ,CAAjE,EAAoE62K,qBAApE;AACH;;AACD,QAAIC,eAAJ,EAAqB;AACjB,OAACtS,KAAK,CAAC0S,SAAN,KAAoB1S,KAAK,CAAC0S,SAAN,GAAkB,EAAtC,CAAD,EAA4C92K,IAA5C,CAAiD,CAACJ,CAAlD,EAAqD82K,eAArD;AACH;;AACD,QAAIC,kBAAJ,EAAwB;AACpB,OAACvS,KAAK,CAAC0S,SAAN,KAAoB1S,KAAK,CAAC0S,SAAN,GAAkB,EAAtC,CAAD,EAA4C92K,IAA5C,CAAiDJ,CAAjD,EAAoD+2K,kBAApD;AACA,OAACvS,KAAK,CAAC2S,cAAN,KAAyB3S,KAAK,CAAC2S,cAAN,GAAuB,EAAhD,CAAD,EAAsD/2K,IAAtD,CAA2DJ,CAA3D,EAA8D+2K,kBAA9D;AACH;;AACD,QAAIlO,WAAW,IAAI,IAAnB,EAAyB;AACrB,OAACrE,KAAK,CAAC4S,YAAN,KAAuB5S,KAAK,CAAC4S,YAAN,GAAqB,EAA5C,CAAD,EAAkDh3K,IAAlD,CAAuDJ,CAAvD,EAA0D6oK,WAA1D;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwO,iBAAT,CAA2BhM,KAA3B,EAAkCiM,KAAlC,EAAyC30E,SAAzC,EAAoD;AAChD40E,WAAS,CAAClM,KAAD,EAAQiM,KAAR,EAAe;AAAE;AAAjB,IAA2C30E,SAA3C,CAAT;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS60E,wBAAT,CAAkCnM,KAAlC,EAAyCiM,KAAzC,EAAgDG,SAAhD,EAA2D90E,SAA3D,EAAsE;AAClEihE,WAAS,IACLrC,cAAc,CAACkW,SAAD,EAAY;AAAE;AAAd,IAAwC,0DAAxC,CADlB;;AAEA,MAAI,CAACpM,KAAK,CAACnC,KAAD,CAAL,GAAe;AAAE;AAAlB,QAAgDuO,SAApD,EAA+D;AAC3DF,aAAS,CAAClM,KAAD,EAAQiM,KAAR,EAAeG,SAAf,EAA0B90E,SAA1B,CAAT;AACH;AACJ;;AACD,SAAS+0E,uBAAT,CAAiCrM,KAAjC,EAAwCoM,SAAxC,EAAmD;AAC/C7T,WAAS,IACLrC,cAAc,CAACkW,SAAD,EAAY;AAAE;AAAd,IAAwC,gFAAxC,CADlB;AAEA,MAAI9oI,KAAK,GAAG08H,KAAK,CAACnC,KAAD,CAAjB;;AACA,MAAI,CAACv6H,KAAK,GAAG;AAAE;AAAX,QAAyC8oI,SAA7C,EAAwD;AACpD9oI,SAAK,IAAI;AAAK;AAAd;AACAA,SAAK,IAAI;AAAE;AAAX;AACA08H,SAAK,CAACnC,KAAD,CAAL,GAAev6H,KAAf;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4oI,SAAT,CAAmB7B,WAAnB,EAAgCz5J,GAAhC,EAAqCw7J,SAArC,EAAgDE,gBAAhD,EAAkE;AAC9D/T,WAAS,IACLvC,WAAW,CAACuQ,sBAAsB,EAAvB,EAA2B,KAA3B,EAAkC,0DAAlC,CADf;AAEA,MAAMjgH,UAAU,GAAGgmH,gBAAgB,KAAK/yK,SAArB,GACd8wK,WAAW,CAACzL,mBAAD,CAAX,GAAmC;AAAM;AAD3B,IAEf,CAFJ;AAGA,MAAM2N,cAAc,GAAGD,gBAAgB,IAAI,IAApB,GAA2BA,gBAA3B,GAA8C,CAAC,CAAtE;AACA,MAAIE,kBAAkB,GAAG,CAAzB;;AACA,OAAK,IAAI73K,CAAC,GAAG2xD,UAAb,EAAyB3xD,CAAC,GAAGic,GAAG,CAACtd,MAAjC,EAAyCqB,CAAC,EAA1C,EAA8C;AAC1C,QAAMwoH,IAAI,GAAGvsG,GAAG,CAACjc,CAAC,GAAG,CAAL,CAAhB;;AACA,QAAI,OAAOwoH,IAAP,KAAgB,QAApB,EAA8B;AAC1BqvD,wBAAkB,GAAG57J,GAAG,CAACjc,CAAD,CAAxB;;AACA,UAAI23K,gBAAgB,IAAI,IAApB,IAA4BE,kBAAkB,IAAIF,gBAAtD,EAAwE;AACpE;AACH;AACJ,KALD,MAMK;AACD,UAAMG,UAAU,GAAG77J,GAAG,CAACjc,CAAD,CAAH,GAAS,CAA5B;AACA,UAAI83K,UAAJ,EACIpC,WAAW,CAACzL,mBAAD,CAAX,IAAoC;AAAM;AAA1C;;AACJ,UAAI4N,kBAAkB,GAAGD,cAArB,IAAuCA,cAAc,IAAI,CAAC,CAA9D,EAAiE;AAC7DG,gBAAQ,CAACrC,WAAD,EAAc+B,SAAd,EAAyBx7J,GAAzB,EAA8Bjc,CAA9B,CAAR;AACA01K,mBAAW,CAACzL,mBAAD,CAAX,GACI,CAACyL,WAAW,CAACzL,mBAAD,CAAX,GAAmC;AAAW;AAA/C,YAAoFjqK,CAApF,GACI,CAFR;AAGH;;AACDA,OAAC;AACJ;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+3K,QAAT,CAAkBrC,WAAlB,EAA+B+B,SAA/B,EAA0Cx7J,GAA1C,EAA+Cjc,CAA/C,EAAkD;AAC9C,MAAM83K,UAAU,GAAG77J,GAAG,CAACjc,CAAD,CAAH,GAAS,CAA5B;AACA,MAAMwoH,IAAI,GAAGvsG,GAAG,CAACjc,CAAC,GAAG,CAAL,CAAhB;AACA,MAAM4uE,cAAc,GAAGkpG,UAAU,GAAG,CAAC77J,GAAG,CAACjc,CAAD,CAAP,GAAaic,GAAG,CAACjc,CAAD,CAAjD;AACA,MAAM0oE,SAAS,GAAGgtG,WAAW,CAAC9mG,cAAD,CAA7B;;AACA,MAAIkpG,UAAJ,EAAgB;AACZ,QAAME,qBAAqB,GAAGtC,WAAW,CAACxM,KAAD,CAAX,IAAsB;AAAG;AAAvD,KADY,CAEZ;AACA;;AACA,QAAI8O,qBAAqB,GACpBtC,WAAW,CAACzL,mBAAD,CAAX,IAAoC;AAAG;AADxC,OAEA,CAACyL,WAAW,CAACxM,KAAD,CAAX,GAAqB;AAAE;AAAxB,UAAsDuO,SAF1D,EAEqE;AACjE/B,iBAAW,CAACxM,KAAD,CAAX,IAAsB;AAAK;AAA3B;AACA1gD,UAAI,CAAChlE,IAAL,CAAUklB,SAAV;AACH;AACJ,GAVD,MAWK;AACD8/C,QAAI,CAAChlE,IAAL,CAAUklB,SAAV;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMuvG,kBAAkB,GAAG,CAAC,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,mB,GACF;AACA;AACJ;AACA;AACIvwK,OAJA;AAKA;AACJ;AACA;AACIwwK,cARA,EAQgBC,oBARhB,EAQsC;AAAA;;AAClC,OAAKzwK,OAAL,GAAeA,OAAf;AACA;AACR;AACA;AACA;;AACQ,OAAK0wK,SAAL,GAAiB,KAAjB;AACAzU,WAAS,IAAI/B,aAAa,CAACl6J,OAAD,EAAU,uBAAV,CAA1B;AACAi8J,WAAS,IAAIvC,WAAW,CAAC,OAAO15J,OAAR,EAAiB,UAAjB,EAA6B,4BAA7B,CAAxB;AACA,OAAK2wK,mBAAL,GAA2BH,cAA3B;AACA,OAAKI,UAAL,GAAkBH,oBAAlB;AACH,C;;AAEL,SAASI,SAAT,CAAmBzwK,GAAnB,EAAwB;AACpB,SAAOA,GAAG,YAAYmwK,mBAAtB;AACH,C,CACD;AACA;;;AACA,IAAMO,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;;AACA,SAASC,mBAAT,CAA6BC,SAA7B,EAAwC;AACpC,MAAIlpK,IAAI,GAAG,EAAX;AACCkpK,WAAS,GAAG;AAAE;AAAf,MAA+B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BAAiB,CAACvhK,UAAD,EAAa3zC,MAAb,CAAvB;AACH;AACJ;;AACD,SAAS63M,iBAAT,CAA2Bh/M,KAA3B,EAAkCsqC,QAAlC,EAA4CqzK,UAA5C,EAAwD;AACpD,SAAO,IAAID,oBAAJ,CAAyBd,aAAa,CAACl+M,GAAd,CAAkBsB,KAAlB,CAAzB,EAAmDsqC,QAAnD,EAA6DqzK,UAA7D,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMuB,SAAS,GAAG,EAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,kB;;;;;;;;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,qBAAel6L,SAAf,EAA0B;AACtB,aAAOw5L,0BAA0B,CAACx5L,SAAD,CAAjC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,0BAAwBA,SAAxB,EAAmCxT,MAAnC,EAA2C;AACvC,UAAM2tM,2BAA2B,GAAGD,kBAAkB,CAACl0I,OAAnB,CAA2BhmD,SAA3B,CAApC;AACA,aAAOk6L,kBAAkB,CAACE,qBAAnB,CAAyCD,2BAAzC,EAAsE3tM,MAAtE,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,+BAA6BwT,SAA7B,EAAwCxT,MAAxC,EAAgD;AAC5C,aAAO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d,EAJoE,CAKpE;;AACAlkN,QAAM,CAACwD,MAAP,CAAc2gN,aAAd;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIC,mEAAJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,qBAAT,CAA+Bp1C,KAA/B,EAAsC3P,KAAtC,EAA6CglD,qBAA7C,EAAoE/9M,KAApE,EAA2EunE,aAA3E,EAA0Fy2I,cAA1F,EAA0G;AACtG5lD,WAAS,IAAI2I,qBAAqB,CAAC+F,QAAQ,EAAT,CAAlC;AACA,MAAIm3C,SAAS,GAAGD,cAAc,GAAGjlD,KAAK,CAAC09B,aAAT,G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jB,EAA4B;AACxBu+E,gBAAY,GAAIohF,KAAK,CAACy9B,eAAN,GAAwBmoB,QAA5B,GAAyC5lD,KAAK,CAACu9B,cAAN,GAAuBqoB,QAA5E;AACH;;AACD,SAAOqD,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,0BAAT,CAAoC75C,KAApC,EAA2C3P,KAA3C,EAAkDphF,YAAlD,EAAgE;AAC5D,MAAMvR,QAAQ,GAAGuR,YAAY,GAAGohF,KAAK,CAAC09B,aAAT,GAAyB19B,KAAK,CAAC29B,aAA5D;;AACA,MAAIxC,oBAAoB,CAAC9tH,QAAD,CAApB,KAAmC,CAAvC,EAA0C;AACtC;AACA,WAAOhtE,SAAP;AACH;;AACD,SAAOsvK,KAAK,CAACmrB,oBAAoB,CAACztH,QAAD,CAArB,CAAZ;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo8I,0BAAT,CAAoC95C,KAApC,EAA2C3P,KAA3C,EAAkDphF,YAAlD,EAAgE0mI,WAAhE,EAA6E;AACzE,MAAMj4I,QAAQ,GAAGuR,YAAY,GAAGohF,KAAK,CAAC09B,aAAT,GAAyB19B,KAAK,CAAC29B,aAA5D;AACAt+B,WAAS,IACLrC,cAAc,CAACm+B,oBAAoB,CAAC9tH,QAAD,CAArB,EAAiC,CAAjC,EAAoC,0DAApC,CADlB;AAEAsiG,OAAK,CAACmrB,oBAAoB,CAACztH,QAAD,CAArB,CAAL,GAAwCi4I,WAAxC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoE,eAAT,CAAyB/5C,KAAzB,EAAgC3P,KAAhC,EAAuCph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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,kBAAS;AACL,WAAKA,MAAL,CAAY5V,KAAZ,KAAsB,CAAC;AAAI;AAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,oBAAW;AACP,WAAK4V,MAAL,CAAY5V,KAAZ,KAAsB;AAAI;AAA1B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,yBAAgB;AACZwlC,2BAAqB,CAAC,KAAK5vB,MAAL,CAAY7V,KAAZ,CAAD,EAAqB,KAAK6V,MAA1B,EAAkC,KAAK51K,OAAvC,CAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,0BAAiB;AACb0lM,4BAAsB,CAAC,KAAK9vB,MAAL,CAAY7V,KAAZ,CAAD,EAAqB,KAAK6V,MAA1B,EAAkC,KAAK51K,OAAvC,CAAtB;AACH;;;WACD,kCAAyBmgO,KAAzB,EAAgC;AAC5B,UAAI,KAAKH,OAAT,EAAkB;AACd,cAAM,IAAI9rO,KAAJ,CAAU,+DAAV,CAAN;AACH;;AACD,WAAK+rO,iBAAL,GAAyBE,KAAzB;AACH;;;WACD,4BAAmB;AACf,WAAKH,OAAL,GAAe,IAAf;AACAxyC,sBAAgB,CAAC,KAAK5X,MAAL,CAAY7V,KAAZ,CAAD,EAAqB,KAAK6V,MAA1B,CAAhB;AACH;;;WACD,wBAAewqD,MAAf,EAAuB;AACnB,UAAI,KAAK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CT;AACA+7E,aAAO,CAAC8wI,GAAR,CAAY7sN,OAAZ;AACH,K,CACD;;;;WACA,cAAKA,OAAL,EAAc;AACV;AACA+7E,aAAO,CAACjjC,IAAR,CAAa94C,OAAb;AACH;;;;;;AAELugI,OAAO,CAAC0G,IAAR,GAAe,SAAS6lF,eAAT,CAAyB9/M,CAAzB,EAA4B;AAAE,SAAO,KAAKA,CAAC,IAAIuzH,OAAV,GAAP;AAA8B,CAA3E;;AACAA,OAAO,CAACr7J,KAAR,GAAgByf,kBAAkB,CAAC;AAAE7f,OAAK,EAAEy7J,OAAT;AAAkBr4J,SAAO,EAAEq4J,OAAO,CAAC0G;AAAnC,CAAD,CAAlC;AACA;;AAAc,CAAC,YAAY;AAAE3gJ,kBAAgB,CAACi6I,OAAD,EAAU,CAAC;AAChD30J,QAAI,EAAE4kC;AAD0C,GAAD,CAAV,EAErC,IAFqC,EAE/B,IAF+B,CAAhB;AAEP,CAFR;AAId;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMu8M,WAAW,GAAG,IAAIzrE,cAAJ,CAAmB,UAAnB,CAApB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAM0rE,qBAAqB,GAAG,IAAI1rE,cAAJ,CAAmB,qBAAnB,CAA9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAM2rE,YAAY,GAAG,IAAI3rE,cAAJ,CAAmB,cAAnB,CAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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,UAAL,CAAgB,OAAhB;AACtB;;;;;;kCAhDF,yB,CAAS,C,EAAC;AAAC,cAAU,sBAAV,EAAgC,+HAAhC;AAAgC,C;;;;;;;;;;;;;;AACtC;AAAA,UAA2C;AAAA,UA3DoH,8DAAgB;AA2DpI,GAA3C;AAAA;;AA3DqL;AAI9K;AAAA,UAyDV,mDAAK;AAzDK,IAJ8K;AA6D9K;AAAA,UAEV,mDAAK;AAFK,IA7D8K;AA+D9K;AAAA,UAEV,mDAAK;AAFK,IA/D8K;AAiE9K;AAAA,UAEV,mDAAK;AAFK;AAjE8K;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmE7K,C;AC3Ed;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;;;IACa,c;AACX,0BAAmB,SAAnB,EAAwC,OAAxC,EAA2D,KAA3D,EAAiF,KAAjF,EAA8F;AAAA;;AAA3E;AAAqB;AAAmB;AAAsB;AAAiB;;;;SAElG,eAAS;AACP,aAAO,KAAK,KAAL,KAAe,CAAtB;AACD;;;SAED,eAAQ;AACN,aAAO,KAAK,KAAL,KAAe,KAAK,KAAL,GAAa,CAAnC;AACD;;;SAED,eAAQ;AACN,aAAO,KAAK,KAAL,GAAa,CAAb,KAAmB,CAA1B;AACD;;;SAED,eAAO;AACL,aAAO,CAAC,KAAK,IAAb;AACD;;;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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B,OAAO,IAA9B;AACF;ACjSA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,I;AAOX,gBAAoB,cAApB,EAAsD,WAAtD,EAA8F;AAAA;;AAA1E;AANZ,oBAA2B,IAAI,WAAJ,EAA3B;AACA,4BAAqD,IAArD;AACA,4BAAqD,IAArD;AACA,wBAAqD,IAArD;AACA,wBAAqD,IAArD;AAGN,SAAK,gBAAL,GAAwB,WAAxB;AACD;AACH;AAEC;AACE;;;;;SACD,aACS,SADT,EACqB;AACnB,WAAK,QAAL,CAAc,SAAd,GAA0B,KAAK,QAAL,CAAc,IAAd,GAAqB,SAA/C;;AACA,WAAK,WAAL;AACD;AACH;AAEC;AACE;;;;SACD,aACa,WADb,EAC0D;AACxD,oBAAc,CAAC,UAAD,EAAa,WAAb,CAAd;AACA,WAAK,gBAAL,GAAwB,WAAxB;AACA,WAAK,YAAL,GAAoB,IAApB,CAHw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CAAC,aAAD,EAAgB,KAAhB,CAA9B;AACD;;AAED,aAAO,KAAK,CAAC,OAAN,CACH,gBADG,EACgB,aAAG;AAAA,eAAI,GAAG,CAAC,CAAD,CAAH,CAAO,WAAP,KAAuB,GAAG,CAAC,MAAJ,CAAW,CAAX,EAAc,WAAd,EAA3B;AAAA,OADnB,CAAP;AAED;;;;;;8BAhBF,qB,CAAI,C,EAAC;AAAC,SAAM,UAAW,aAAX,GAAN;AAAkB,C;;;;;;;;;;;;;;;;AACpB,C;AAkBL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,a;;;;;;;WAOX,mBAAU,KAAV,EAAsC;AACpC,UAAI,KAAK,IAAI,IAAb,EAAmB,OAAO,IAAP;;AACnB,UAAI,OAAO,KAAP,KAAiB,QAArB,EAA+B;AAC7B,cAAM,wBAAwB,CAAC,aAAD,EAAgB,KAAhB,CAA9B;AACD;;AACD,aAAO,KAAK,CAAC,WAAN,EAAP;AACD;;;;;;8BAdF,qB,CAAI,C,EAAC;AAAC,SAAM,UAAW,aAAX,GAAN;AAAkB,C;;;;;;;;;;;;;;;;AACpB,C;ACpGL;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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","file":"vendor.js","sourcesContent":["export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import { Subscriber } from '../Subscriber';\nimport { empty } from '../observable/empty';\nexport function repeat(count = -1) {\n return (source) => {\n if (count === 0) {\n return empty();\n }\n else if (count < 0) {\n return source.lift(new RepeatOperator(-1, source));\n }\n else {\n return source.lift(new RepeatOperator(count - 1, source));\n }\n };\n}\nclass RepeatOperator {\n constructor(count, source) {\n this.count = count;\n this.source = source;\n }\n call(subscriber, source) {\n return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n }\n}\nclass RepeatSubscriber extends Subscriber {\n constructor(destination, count, source) {\n super(destination);\n this.count = count;\n this.source = source;\n }\n complete() {\n if (!this.isStopped) {\n const { source, count } = this;\n if (count === 0) {\n return super.complete();\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n }\n}\n//# sourceMappingURL=repeat.js.map","import { Subscriber } from '../Subscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n return (source) => source.lift(new DistinctUntilChangedOperator(compare, keySelector));\n}\nclass DistinctUntilChangedOperator {\n constructor(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n }\n}\nclass DistinctUntilChangedSubscriber extends Subscriber {\n constructor(destination, compare, keySelector) {\n super(destination);\n this.keySelector = keySelector;\n this.hasKey = false;\n if (typeof compare === 'function') {\n this.compare = compare;\n }\n }\n compare(x, y) {\n return x === y;\n }\n _next(value) {\n let key;\n try {\n const { keySelector } = this;\n key = keySelector ? keySelector(value) : value;\n }\n catch (err) {\n return this.destination.error(err);\n }\n let result = false;\n if (this.hasKey) {\n try {\n const { compare } = this;\n result = compare(this.key, key);\n }\n catch (err) {\n return this.destination.error(err);\n }\n }\n else {\n this.hasKey = true;\n }\n if (!result) {\n this.key = key;\n this.destination.next(value);\n }\n }\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function distinct(keySelector, flushes) {\n return (source) => source.lift(new DistinctOperator(keySelector, flushes));\n}\nclass DistinctOperator {\n constructor(keySelector, flushes) {\n this.keySelector = keySelector;\n this.flushes = flushes;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n }\n}\nexport class DistinctSubscriber extends SimpleOuterSubscriber {\n constructor(destination, keySelector, flushes) {\n super(destination);\n this.keySelector = keySelector;\n this.values = new Set();\n if (flushes) {\n this.add(innerSubscribe(flushes, new SimpleInnerSubscriber(this)));\n }\n }\n notifyNext() {\n this.values.clear();\n }\n notifyError(error) {\n this._error(error);\n }\n _next(value) {\n if (this.keySelector) {\n this._useKeySelector(value);\n }\n else {\n this._finalizeNext(value, value);\n }\n }\n _useKeySelector(value) {\n let key;\n const { destination } = this;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this._finalizeNext(key, value);\n }\n _finalizeNext(key, value) {\n const { values } = this;\n if (!values.has(key)) {\n values.add(key);\n this.destination.next(value);\n }\n }\n}\n//# sourceMappingURL=distinct.js.map","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nexport function fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n return new Observable(subscriber => {\n const handler = (...e) => subscriber.next(e.length === 1 ? e[0] : e);\n let retValue;\n try {\n retValue = addHandler(handler);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!isFunction(removeHandler)) {\n return undefined;\n }\n return () => removeHandler(handler, retValue);\n });\n}\n//# sourceMappingURL=fromEventPattern.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { multicast } from './multicast';\nexport function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {\n scheduler = selectorOrScheduler;\n }\n const selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;\n const subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n return (source) => multicast(() => subject, selector)(source);\n}\n//# sourceMappingURL=publishReplay.js.map","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","import { concat } from '../observable/concat';\nimport { of } from '../observable/of';\nexport function endWith(...array) {\n return (source) => concat(source, of(...array));\n}\n//# sourceMappingURL=endWith.js.map","import { scan } from './scan';\nimport { takeLast } from './takeLast';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { pipe } from '../util/pipe';\nexport function reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return pipe(scan(accumulator, seed), takeLast(1), defaultIfEmpty(seed))(source);\n };\n }\n return function reduceOperatorFunction(source) {\n return pipe(scan((acc, value, index) => accumulator(acc, value, index + 1)), takeLast(1))(source);\n };\n}\n//# sourceMappingURL=reduce.js.map","import { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';\nexport function takeUntil(notifier) {\n return (source) => source.lift(new TakeUntilOperator(notifier));\n}\nclass TakeUntilOperator {\n constructor(notifier) {\n this.notifier = notifier;\n }\n call(subscriber, source) {\n const takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n const notifierSubscription = innerSubscribe(this.notifier, new SimpleInnerSubscriber(takeUntilSubscriber));\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n }\n}\nclass TakeUntilSubscriber extends SimpleOuterSubscriber {\n constructor(destination) {\n super(destination);\n this.seenValue = false;\n }\n notifyNext() {\n this.seenValue = true;\n this.complete();\n }\n notifyComplete() {\n }\n}\n//# sourceMappingURL=takeUntil.js.map","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function sampleTime(period, scheduler = async) {\n return (source) => source.lift(new SampleTimeOperator(period, scheduler));\n}\nclass SampleTimeOperator {\n constructor(period, scheduler) {\n this.period = period;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n }\n}\nclass SampleTimeSubscriber extends Subscriber {\n constructor(destination, period, scheduler) {\n super(destination);\n this.period = period;\n this.scheduler = scheduler;\n this.hasValue = false;\n this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period }));\n }\n _next(value) {\n this.lastValue = value;\n this.hasValue = true;\n }\n notifyNext() {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.lastValue);\n }\n }\n}\nfunction dispatchNotification(state) {\n let { subscriber, period } = state;\n subscriber.notifyNext();\n this.schedule(state, period);\n}\n//# sourceMappingURL=sampleTime.js.map","export function toInteger(value: any): number {\n return parseInt(`${value}`, 10);\n}\n\nexport function toString(value: any): string {\n return (value !== undefined && value !== null) ? `${value}` : '';\n}\n\nexport function getValueInRange(value: number, max: number, min = 0): number {\n return Math.max(Math.min(value, max), min);\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string';\n}\n\nexport function isNumber(value: any): value is number {\n return !isNaN(toInteger(value));\n}\n\nexport function isInteger(value: any): value is number {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nexport function isDefined(value: any): boolean {\n return value !== undefined && value !== null;\n}\n\nexport function padNumber(value: number) {\n if (isNumber(value)) {\n return `0${value}`.slice(-2);\n } else {\n return '';\n }\n}\n\nexport function regExpEscape(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nexport function hasClassName(element: any, className: string): boolean {\n return element && element.className && element.className.split &&\n element.className.split(/\\s+/).indexOf(className) >= 0;\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.closest) {\n // Polyfill for ie10+\n\n if (!Element.prototype.matches) {\n // IE uses the non-standard name: msMatchesSelector\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector || Element.prototype.webkitMatchesSelector;\n }\n\n Element.prototype.closest = function(s: string) {\n let el = this;\n if (!document.documentElement.contains(el)) {\n return null;\n }\n do {\n if (el.matches(s)) {\n return el;\n }\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n}\n\nexport function closest(element: HTMLElement, selector): HTMLElement {\n if (!selector) {\n return null;\n }\n\n return element.closest(selector);\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [NgbAccordion](#/components/accordion/api#NgbAccordion) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all accordions used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbAccordionConfig {\n closeOthers = false;\n type: string;\n}\n","import {\n AfterContentChecked,\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n Host,\n Input,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {isString} from '../util/util';\n\nimport {NgbAccordionConfig} from './accordion-config';\n\nlet nextId = 0;\n\n/**\n * The context for the [NgbPanelHeader](#/components/accordion/api#NgbPanelHeader) template\n *\n * @since 4.1.0\n */\nexport interface NgbPanelHeaderContext {\n /**\n * `True` if current panel is opened\n */\n opened: boolean;\n}\n\n/**\n * A directive that wraps an accordion panel header with any HTML markup and a toggling button\n * marked with [`NgbPanelToggle`](#/components/accordion/api#NgbPanelToggle).\n * See the [header customization demo](#/components/accordion/examples#header) for more details.\n *\n * You can also use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to customize only the panel title.\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPanelHeader]'})\nexport class NgbPanelHeader {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps only the panel title with HTML markup inside.\n *\n * You can also use [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader) to customize the full panel header.\n */\n@Directive({selector: 'ng-template[ngbPanelTitle]'})\nexport class NgbPanelTitle {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps the accordion panel content.\n */\n@Directive({selector: 'ng-template[ngbPanelContent]'})\nexport class NgbPanelContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps an individual accordion panel with title and collapsible content.\n */\n@Directive({selector: 'ngb-panel'})\nexport class NgbPanel implements AfterContentChecked {\n /**\n * If `true`, the panel is disabled an can't be toggled.\n */\n @Input() disabled = false;\n\n /**\n * An optional id for the panel that must be unique on the page.\n *\n * If not provided, it will be auto-generated in the `ngb-panel-xxx` format.\n */\n @Input() id = `ngb-panel-${nextId++}`;\n\n isOpen = false;\n\n /**\n * The panel title.\n *\n * You can alternatively use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to set panel title.\n */\n @Input() title: string;\n\n /**\n * Type of the current panel.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * An optional class applied to the accordion card element that wraps both panel title and content.\n *\n * @since 5.3.0\n */\n @Input() cardClass: string;\n\n titleTpl: NgbPanelTitle | null;\n headerTpl: NgbPanelHeader | null;\n contentTpl: NgbPanelContent | null;\n\n @ContentChildren(NgbPanelTitle, {descendants: false}) titleTpls: QueryList;\n @ContentChildren(NgbPanelHeader, {descendants: false}) headerTpls: QueryList;\n @ContentChildren(NgbPanelContent, {descendants: false}) contentTpls: QueryList;\n\n ngAfterContentChecked() {\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\n // only @ContentChildren allows us to specify the {descendants: false} option.\n // Without {descendants: false} we are hitting bugs described in:\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\n this.titleTpl = this.titleTpls.first;\n this.headerTpl = this.headerTpls.first;\n this.contentTpl = this.contentTpls.first;\n }\n}\n\n/**\n * An event emitted right before toggling an accordion panel.\n */\nexport interface NgbPanelChangeEvent {\n /**\n * The id of the accordion panel that is being toggled.\n */\n panelId: string;\n\n /**\n * The next state of the panel.\n *\n * `true` if it will be opened, `false` if closed.\n */\n nextState: boolean;\n\n /**\n * Calling this function will prevent panel toggling.\n */\n preventDefault: () => void;\n}\n\n/**\n * Accordion is a collection of collapsible panels (bootstrap cards).\n *\n * It can ensure only one panel is opened at a time and allows to customize panel\n * headers.\n */\n@Component({\n selector: 'ngb-accordion',\n exportAs: 'ngbAccordion',\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'accordion', 'role': 'tablist', '[attr.aria-multiselectable]': '!closeOtherPanels'},\n template: `\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n `\n})\nexport class NgbAccordion implements AfterContentChecked {\n @ContentChildren(NgbPanel) panels: QueryList;\n\n /**\n * An array or comma separated strings of panel ids that should be opened **initially**.\n *\n * For subsequent changes use methods like `expand()`, `collapse()`, etc. and\n * the `(panelChange)` event.\n */\n @Input() activeIds: string | readonly string[] = [];\n\n /**\n * If `true`, only one panel could be opened at a time.\n *\n * Opening a new panel will close others.\n */\n @Input('closeOthers') closeOtherPanels: boolean;\n\n /**\n * If `true`, panel content will be detached from DOM and not simply hidden when the panel is collapsed.\n */\n @Input() destroyOnHide = true;\n\n /**\n * Type of panels.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * Event emitted right before the panel toggle happens.\n *\n * See [NgbPanelChangeEvent](#/components/accordion/api#NgbPanelChangeEvent) for payload details.\n */\n @Output() panelChange = new EventEmitter();\n\n constructor(config: NgbAccordionConfig) {\n this.type = config.type;\n this.closeOtherPanels = config.closeOthers;\n }\n\n /**\n * Checks if a panel with a given id is expanded.\n */\n isExpanded(panelId: string): boolean { return this.activeIds.indexOf(panelId) > -1; }\n\n /**\n * Expands a panel with a given id.\n *\n * Has no effect if the panel is already expanded or disabled.\n */\n expand(panelId: string): void { this._changeOpenState(this._findPanelById(panelId), true); }\n\n /**\n * Expands all panels, if `[closeOthers]` is `false`.\n *\n * If `[closeOthers]` is `true`, it will expand the first panel, unless there is already a panel opened.\n */\n expandAll(): void {\n if (this.closeOtherPanels) {\n if (this.activeIds.length === 0 && this.panels.length) {\n this._changeOpenState(this.panels.first, true);\n }\n } else {\n this.panels.forEach(panel => this._changeOpenState(panel, true));\n }\n }\n\n /**\n * Collapses a panel with the given id.\n *\n * Has no effect if the panel is already collapsed or disabled.\n */\n collapse(panelId: string) { this._changeOpenState(this._findPanelById(panelId), false); }\n\n /**\n * Collapses all opened panels.\n */\n collapseAll() {\n this.panels.forEach((panel) => { this._changeOpenState(panel, false); });\n }\n\n /**\n * Toggles a panel with the given id.\n *\n * Has no effect if the panel is disabled.\n */\n toggle(panelId: string) {\n const panel = this._findPanelById(panelId);\n if (panel) {\n this._changeOpenState(panel, !panel.isOpen);\n }\n }\n\n ngAfterContentChecked() {\n // active id updates\n if (isString(this.activeIds)) {\n this.activeIds = this.activeIds.split(/\\s*,\\s*/);\n }\n\n // update panels open states\n this.panels.forEach(panel => panel.isOpen = !panel.disabled && this.activeIds.indexOf(panel.id) > -1);\n\n // closeOthers updates\n if (this.activeIds.length > 1 && this.closeOtherPanels) {\n this._closeOthers(this.activeIds[0]);\n this._updateActiveIds();\n }\n }\n\n private _changeOpenState(panel: NgbPanel, nextState: boolean) {\n if (panel && !panel.disabled && panel.isOpen !== nextState) {\n let defaultPrevented = false;\n\n this.panelChange.emit(\n {panelId: panel.id, nextState: nextState, preventDefault: () => { defaultPrevented = true; }});\n\n if (!defaultPrevented) {\n panel.isOpen = nextState;\n\n if (nextState && this.closeOtherPanels) {\n this._closeOthers(panel.id);\n }\n this._updateActiveIds();\n }\n }\n }\n\n private _closeOthers(panelId: string) {\n this.panels.forEach(panel => {\n if (panel.id !== panelId) {\n panel.isOpen = false;\n }\n });\n }\n\n private _findPanelById(panelId: string): NgbPanel | null { return this.panels.find(p => p.id === panelId); }\n\n private _updateActiveIds() {\n this.activeIds = this.panels.filter(panel => panel.isOpen && !panel.disabled).map(panel => panel.id);\n }\n}\n\n/**\n * A directive to put on a button that toggles panel opening and closing.\n *\n * To be used inside the [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader)\n *\n * @since 4.1.0\n */\n@Directive({\n selector: 'button[ngbPanelToggle]',\n host: {\n 'type': 'button',\n '[disabled]': 'panel.disabled',\n '[class.collapsed]': '!panel.isOpen',\n '[attr.aria-expanded]': 'panel.isOpen',\n '[attr.aria-controls]': 'panel.id',\n '(click)': 'accordion.toggle(panel.id)'\n }\n})\nexport class NgbPanelToggle {\n @Input()\n set ngbPanelToggle(panel: NgbPanel) {\n if (panel) {\n this.panel = panel;\n }\n }\n\n constructor(public accordion: NgbAccordion, @Optional() @Host() public panel: NgbPanel) {}\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle} from './accordion';\n\nexport {\n NgbAccordion,\n NgbPanel,\n NgbPanelTitle,\n NgbPanelContent,\n NgbPanelChangeEvent,\n NgbPanelHeader,\n NgbPanelHeaderContext,\n NgbPanelToggle\n} from './accordion';\nexport {NgbAccordionConfig} from './accordion-config';\n\nconst NGB_ACCORDION_DIRECTIVES =\n [NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle];\n\n@NgModule({declarations: NGB_ACCORDION_DIRECTIVES, exports: NGB_ACCORDION_DIRECTIVES, imports: [CommonModule]})\nexport class NgbAccordionModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [NgbAlert](#/components/alert/api#NgbAlert) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all alerts used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbAlertConfig {\n dismissible = true;\n type = 'warning';\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n Renderer2,\n ElementRef,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {NgbAlertConfig} from './alert-config';\n\n/**\n * Alert is a component to provide contextual feedback messages for user.\n *\n * It supports several alert types and can be dismissed.\n */\n@Component({\n selector: 'ngb-alert',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'role': 'alert', 'class': 'alert', '[class.alert-dismissible]': 'dismissible'},\n template: `\n \n \n `,\n styleUrls: ['./alert.scss']\n})\nexport class NgbAlert implements OnInit,\n OnChanges {\n /**\n * If `true`, alert can be dismissed by the user.\n *\n * The close button (×) will be displayed and you can be notified\n * of the event with the `(close)` output.\n */\n @Input() dismissible: boolean;\n /**\n * Type of the alert.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n /**\n * An event emitted when the close button is clicked. It has no payload and only relevant for dismissible alerts.\n */\n @Output() close = new EventEmitter();\n\n constructor(config: NgbAlertConfig, private _renderer: Renderer2, private _element: ElementRef) {\n this.dismissible = config.dismissible;\n this.type = config.type;\n }\n\n closeHandler() { this.close.emit(null); }\n\n ngOnChanges(changes: SimpleChanges) {\n const typeChange = changes['type'];\n if (typeChange && !typeChange.firstChange) {\n this._renderer.removeClass(this._element.nativeElement, `alert-${typeChange.previousValue}`);\n this._renderer.addClass(this._element.nativeElement, `alert-${typeChange.currentValue}`);\n }\n }\n\n ngOnInit() { this._renderer.addClass(this._element.nativeElement, `alert-${this.type}`); }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbAlert} from './alert';\n\nexport {NgbAlert} from './alert';\nexport {NgbAlertConfig} from './alert-config';\n\n@NgModule({declarations: [NgbAlert], exports: [NgbAlert], imports: [CommonModule], entryComponents: [NgbAlert]})\nexport class NgbAlertModule {\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[ngbButtonLabel]',\n host:\n {'[class.btn]': 'true', '[class.active]': 'active', '[class.disabled]': 'disabled', '[class.focus]': 'focused'}\n})\nexport class NgbButtonLabel {\n active: boolean;\n disabled: boolean;\n focused: boolean;\n}\n","import {ChangeDetectorRef, Directive, forwardRef, Input} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NgbButtonLabel} from './label';\n\nconst NGB_CHECKBOX_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbCheckBox),\n multi: true\n};\n\n\n/**\n * Allows to easily create Bootstrap-style checkbox buttons.\n *\n * Integrates with forms, so the value of a checked button is bound to the underlying form control\n * either in a reactive or template-driven way.\n */\n@Directive({\n selector: '[ngbButton][type=checkbox]',\n host: {\n '[checked]': 'checked',\n '[disabled]': 'disabled',\n '(change)': 'onInputChange($event)',\n '(focus)': 'focused = true',\n '(blur)': 'focused = false'\n },\n providers: [NGB_CHECKBOX_VALUE_ACCESSOR]\n})\nexport class NgbCheckBox implements ControlValueAccessor {\n checked;\n\n /**\n * If `true`, the checkbox button will be disabled\n */\n @Input() disabled = false;\n\n /**\n * The form control value when the checkbox is checked.\n */\n @Input() valueChecked = true;\n\n /**\n * The form control value when the checkbox is unchecked.\n */\n @Input() valueUnChecked = false;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n set focused(isFocused: boolean) {\n this._label.focused = isFocused;\n if (!isFocused) {\n this.onTouched();\n }\n }\n\n constructor(private _label: NgbButtonLabel, private _cd: ChangeDetectorRef) {}\n\n onInputChange($event) {\n const modelToPropagate = $event.target.checked ? this.valueChecked : this.valueUnChecked;\n this.onChange(modelToPropagate);\n this.onTouched();\n this.writeValue(modelToPropagate);\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._label.disabled = isDisabled;\n }\n\n writeValue(value) {\n this.checked = value === this.valueChecked;\n this._label.active = this.checked;\n\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\n this._cd.markForCheck();\n }\n}\n","import {ChangeDetectorRef, Directive, ElementRef, forwardRef, Input, OnDestroy, Renderer2} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NgbButtonLabel} from './label';\n\nconst NGB_RADIO_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbRadioGroup),\n multi: true\n};\n\nlet nextId = 0;\n\n/**\n * Allows to easily create Bootstrap-style radio buttons.\n *\n * Integrates with forms, so the value of a checked button is bound to the underlying form control\n * either in a reactive or template-driven way.\n */\n@Directive({selector: '[ngbRadioGroup]', host: {'role': 'radiogroup'}, providers: [NGB_RADIO_VALUE_ACCESSOR]})\nexport class NgbRadioGroup implements ControlValueAccessor {\n private _radios: Set = new Set();\n private _value = null;\n private _disabled: boolean;\n\n get disabled() { return this._disabled; }\n set disabled(isDisabled: boolean) { this.setDisabledState(isDisabled); }\n\n /**\n * Name of the radio group applied to radio input elements.\n *\n * Will be applied to all radio input elements inside the group,\n * unless [`NgbRadio`](#/components/buttons/api#NgbRadio)'s specify names themselves.\n *\n * If not provided, will be generated in the `ngb-radio-xx` format.\n */\n @Input() name = `ngb-radio-${nextId++}`;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n onRadioChange(radio: NgbRadio) {\n this.writeValue(radio.value);\n this.onChange(radio.value);\n }\n\n onRadioValueUpdate() { this._updateRadiosValue(); }\n\n register(radio: NgbRadio) { this._radios.add(radio); }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n this._updateRadiosDisabled();\n }\n\n unregister(radio: NgbRadio) { this._radios.delete(radio); }\n\n writeValue(value) {\n this._value = value;\n this._updateRadiosValue();\n }\n\n private _updateRadiosValue() { this._radios.forEach((radio) => radio.updateValue(this._value)); }\n private _updateRadiosDisabled() { this._radios.forEach((radio) => radio.updateDisabled()); }\n}\n\n\n/**\n * A directive that marks an input of type \"radio\" as a part of the\n * [`NgbRadioGroup`](#/components/buttons/api#NgbRadioGroup).\n */\n@Directive({\n selector: '[ngbButton][type=radio]',\n host: {\n '[checked]': 'checked',\n '[disabled]': 'disabled',\n '[name]': 'nameAttr',\n '(change)': 'onChange()',\n '(focus)': 'focused = true',\n '(blur)': 'focused = false'\n }\n})\nexport class NgbRadio implements OnDestroy {\n private _checked: boolean;\n private _disabled: boolean;\n private _value: any = null;\n\n /**\n * The value for the 'name' property of the input element.\n *\n * All inputs of the radio group should have the same name. If not specified,\n * the name of the enclosing group is used.\n */\n @Input() name: string;\n\n /**\n * The form control value when current radio button is checked.\n */\n @Input('value')\n set value(value: any) {\n this._value = value;\n const stringValue = value ? value.toString() : '';\n this._renderer.setProperty(this._element.nativeElement, 'value', stringValue);\n this._group.onRadioValueUpdate();\n }\n\n /**\n * If `true`, current radio button will be disabled.\n */\n @Input('disabled')\n set disabled(isDisabled: boolean) {\n this._disabled = isDisabled !== false;\n this.updateDisabled();\n }\n\n set focused(isFocused: boolean) {\n if (this._label) {\n this._label.focused = isFocused;\n }\n if (!isFocused) {\n this._group.onTouched();\n }\n }\n\n get checked() { return this._checked; }\n\n get disabled() { return this._group.disabled || this._disabled; }\n\n get value() { return this._value; }\n\n get nameAttr() { return this.name || this._group.name; }\n\n constructor(\n private _group: NgbRadioGroup, private _label: NgbButtonLabel, private _renderer: Renderer2,\n private _element: ElementRef, private _cd: ChangeDetectorRef) {\n this._group.register(this);\n this.updateDisabled();\n }\n\n ngOnDestroy() { this._group.unregister(this); }\n\n onChange() { this._group.onRadioChange(this); }\n\n updateValue(value) {\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\n if (this.value !== value) {\n this._cd.markForCheck();\n }\n\n this._checked = this.value === value;\n this._label.active = this._checked;\n }\n\n updateDisabled() { this._label.disabled = this.disabled; }\n}\n","import {NgModule} from '@angular/core';\nimport {NgbButtonLabel} from './label';\nimport {NgbCheckBox} from './checkbox';\nimport {NgbRadio, NgbRadioGroup} from './radio';\n\nexport {NgbButtonLabel} from './label';\nexport {NgbCheckBox} from './checkbox';\nexport {NgbRadio, NgbRadioGroup} from './radio';\n\n\nconst NGB_BUTTON_DIRECTIVES = [NgbButtonLabel, NgbCheckBox, NgbRadioGroup, NgbRadio];\n\n@NgModule({declarations: NGB_BUTTON_DIRECTIVES, exports: NGB_BUTTON_DIRECTIVES})\nexport class NgbButtonsModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [NgbCarousel](#/components/carousel/api#NgbCarousel) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all carousels used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbCarouselConfig {\n interval = 5000;\n wrap = true;\n keyboard = true;\n pauseOnHover = true;\n showNavigationArrows = true;\n showNavigationIndicators = true;\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\nimport {NgbCarouselConfig} from './carousel-config';\n\nimport {BehaviorSubject, combineLatest, NEVER, Subject, timer} from 'rxjs';\nimport {distinctUntilChanged, map, startWith, switchMap, takeUntil} from 'rxjs/operators';\n\nlet nextId = 0;\n\n/**\n * A directive that wraps the individual carousel slide.\n */\n@Directive({selector: 'ng-template[ngbSlide]'})\nexport class NgbSlide {\n /**\n * Slide id that must be unique for the entire document.\n *\n * If not provided, will be generated in the `ngb-slide-xx` format.\n */\n @Input() id = `ngb-slide-${nextId++}`;\n constructor(public tplRef: TemplateRef) {}\n}\n\n/**\n * Carousel is a component to easily create and control slideshows.\n *\n * Allows to set intervals, change the way user interacts with the slides and provides a programmatic API.\n */\n@Component({\n selector: 'ngb-carousel',\n exportAs: 'ngbCarousel',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'carousel slide',\n '[style.display]': '\"block\"',\n 'tabIndex': '0',\n '(keydown.arrowLeft)': 'keyboard && prev(NgbSlideEventSource.ARROW_LEFT)',\n '(keydown.arrowRight)': 'keyboard && next(NgbSlideEventSource.ARROW_RIGHT)'\n },\n template: `\n
    \n
  1. \n
\n
\n
\n \n
\n
\n \n \n Previous\n \n \n \n Next\n \n `\n})\nexport class NgbCarousel implements AfterContentChecked,\n AfterContentInit, OnDestroy {\n @ContentChildren(NgbSlide) slides: QueryList;\n\n public NgbSlideEventSource = NgbSlideEventSource;\n\n private _destroy$ = new Subject();\n private _interval$ = new BehaviorSubject(0);\n private _mouseHover$ = new BehaviorSubject(false);\n private _pauseOnHover$ = new BehaviorSubject(false);\n private _pause$ = new BehaviorSubject(false);\n private _wrap$ = new BehaviorSubject(false);\n\n /**\n * The slide id that should be displayed **initially**.\n *\n * For subsequent interactions use methods `select()`, `next()`, etc. and the `(slide)` output.\n */\n @Input() activeId: string;\n\n /**\n * Time in milliseconds before the next slide is shown.\n */\n @Input()\n set interval(value: number) {\n this._interval$.next(value);\n }\n\n get interval() { return this._interval$.value; }\n\n /**\n * If `true`, will 'wrap' the carousel by switching from the last slide back to the first.\n */\n @Input()\n set wrap(value: boolean) {\n this._wrap$.next(value);\n }\n\n get wrap() { return this._wrap$.value; }\n\n /**\n * If `true`, allows to interact with carousel using keyboard 'arrow left' and 'arrow right'.\n */\n @Input() keyboard: boolean;\n\n /**\n * If `true`, will pause slide switching when mouse cursor hovers the slide.\n *\n * @since 2.2.0\n */\n @Input()\n set pauseOnHover(value: boolean) {\n this._pauseOnHover$.next(value);\n }\n\n get pauseOnHover() { return this._pauseOnHover$.value; }\n\n /**\n * If `true`, 'previous' and 'next' navigation arrows will be visible on the slide.\n *\n * @since 2.2.0\n */\n @Input() showNavigationArrows: boolean;\n\n /**\n * If `true`, navigation indicators at the bottom of the slide will be visible.\n *\n * @since 2.2.0\n */\n @Input() showNavigationIndicators: boolean;\n\n /**\n * An event emitted right after the slide transition is completed.\n *\n * See [`NgbSlideEvent`](#/components/carousel/api#NgbSlideEvent) for payload details.\n */\n @Output() slide = new EventEmitter();\n\n constructor(\n config: NgbCarouselConfig, @Inject(PLATFORM_ID) private _platformId, private _ngZone: NgZone,\n private _cd: ChangeDetectorRef) {\n this.interval = config.interval;\n this.wrap = config.wrap;\n this.keyboard = config.keyboard;\n this.pauseOnHover = config.pauseOnHover;\n this.showNavigationArrows = config.showNavigationArrows;\n this.showNavigationIndicators = config.showNavigationIndicators;\n }\n\n @HostListener('mouseenter')\n mouseEnter() {\n this._mouseHover$.next(true);\n }\n\n @HostListener('mouseleave')\n mouseLeave() {\n this._mouseHover$.next(false);\n }\n\n ngAfterContentInit() {\n // setInterval() doesn't play well with SSR and protractor,\n // so we should run it in the browser and outside Angular\n if (isPlatformBrowser(this._platformId)) {\n this._ngZone.runOutsideAngular(() => {\n const hasNextSlide$ = combineLatest([\n this.slide.pipe(map(slideEvent => slideEvent.current), startWith(this.activeId)),\n this._wrap$, this.slides.changes.pipe(startWith(<{}>null))\n ])\n .pipe(\n map(([currentSlideId, wrap]) => {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n return wrap ? slideArr.length > 1 : currentSlideIdx < slideArr.length - 1;\n }),\n distinctUntilChanged());\n combineLatest([this._pause$, this._pauseOnHover$, this._mouseHover$, this._interval$, hasNextSlide$])\n .pipe(\n map(([pause, pauseOnHover, mouseHover, interval, hasNextSlide]) =>\n ((pause || (pauseOnHover && mouseHover) || !hasNextSlide) ? 0 : interval)),\n\n distinctUntilChanged(), switchMap(interval => interval > 0 ? timer(interval, interval) : NEVER),\n takeUntil(this._destroy$))\n .subscribe(() => this._ngZone.run(() => this.next(NgbSlideEventSource.TIMER)));\n });\n }\n\n this.slides.changes.pipe(takeUntil(this._destroy$)).subscribe(() => this._cd.markForCheck());\n }\n\n ngAfterContentChecked() {\n let activeSlide = this._getSlideById(this.activeId);\n this.activeId = activeSlide ? activeSlide.id : (this.slides.length ? this.slides.first.id : null);\n }\n\n ngOnDestroy() { this._destroy$.next(); }\n\n /**\n * Navigates to a slide with the specified identifier.\n */\n select(slideId: string, source?: NgbSlideEventSource) {\n this._cycleToSelected(slideId, this._getSlideEventDirection(this.activeId, slideId), source);\n }\n\n /**\n * Navigates to the previous slide.\n */\n prev(source?: NgbSlideEventSource) {\n this._cycleToSelected(this._getPrevSlide(this.activeId), NgbSlideEventDirection.RIGHT, source);\n }\n\n /**\n * Navigates to the next slide.\n */\n next(source?: NgbSlideEventSource) {\n this._cycleToSelected(this._getNextSlide(this.activeId), NgbSlideEventDirection.LEFT, source);\n }\n\n /**\n * Pauses cycling through the slides.\n */\n pause() { this._pause$.next(true); }\n\n /**\n * Restarts cycling through the slides from left to right.\n */\n cycle() { this._pause$.next(false); }\n\n private _cycleToSelected(slideIdx: string, direction: NgbSlideEventDirection, source?: NgbSlideEventSource) {\n let selectedSlide = this._getSlideById(slideIdx);\n if (selectedSlide && selectedSlide.id !== this.activeId) {\n this.slide.emit(\n {prev: this.activeId, current: selectedSlide.id, direction: direction, paused: this._pause$.value, source});\n this.activeId = selectedSlide.id;\n }\n\n // we get here after the interval fires or any external API call like next(), prev() or select()\n this._cd.markForCheck();\n }\n\n private _getSlideEventDirection(currentActiveSlideId: string, nextActiveSlideId: string): NgbSlideEventDirection {\n const currentActiveSlideIdx = this._getSlideIdxById(currentActiveSlideId);\n const nextActiveSlideIdx = this._getSlideIdxById(nextActiveSlideId);\n\n return currentActiveSlideIdx > nextActiveSlideIdx ? NgbSlideEventDirection.RIGHT : NgbSlideEventDirection.LEFT;\n }\n\n private _getSlideById(slideId: string): NgbSlide { return this.slides.find(slide => slide.id === slideId); }\n\n private _getSlideIdxById(slideId: string): number {\n return this.slides.toArray().indexOf(this._getSlideById(slideId));\n }\n\n private _getNextSlide(currentSlideId: string): string {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n const isLastSlide = currentSlideIdx === slideArr.length - 1;\n\n return isLastSlide ? (this.wrap ? slideArr[0].id : slideArr[slideArr.length - 1].id) :\n slideArr[currentSlideIdx + 1].id;\n }\n\n private _getPrevSlide(currentSlideId: string): string {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n const isFirstSlide = currentSlideIdx === 0;\n\n return isFirstSlide ? (this.wrap ? slideArr[slideArr.length - 1].id : slideArr[0].id) :\n slideArr[currentSlideIdx - 1].id;\n }\n}\n\n/**\n * A slide change event emitted right after the slide transition is completed.\n */\nexport interface NgbSlideEvent {\n /**\n * The previous slide id.\n */\n prev: string;\n\n /**\n * The current slide id.\n */\n current: string;\n\n /**\n * The slide event direction.\n *\n * Possible values are `'left' | 'right'`.\n */\n direction: NgbSlideEventDirection;\n\n /**\n * Whether the pause() method was called (and no cycle() call was done afterwards).\n *\n * @since 5.1.0\n */\n paused: boolean;\n\n /**\n * Source triggering the slide change event.\n *\n * Possible values are `'timer' | 'arrowLeft' | 'arrowRight' | 'indicator'`\n *\n * @since 5.1.0\n */\n source?: NgbSlideEventSource;\n}\n\n/**\n * Defines the carousel slide transition direction.\n */\nexport enum NgbSlideEventDirection {\n LEFT = 'left',\n RIGHT = 'right'\n}\n\nexport enum NgbSlideEventSource {\n TIMER = 'timer',\n ARROW_LEFT = 'arrowLeft',\n ARROW_RIGHT = 'arrowRight',\n INDICATOR = 'indicator'\n}\n\nexport const NGB_CAROUSEL_DIRECTIVES = [NgbCarousel, NgbSlide];\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NGB_CAROUSEL_DIRECTIVES} from './carousel';\n\nexport {NgbCarousel, NgbSlide, NgbSlideEvent, NgbSlideEventDirection, NgbSlideEventSource} from './carousel';\nexport {NgbCarouselConfig} from './carousel-config';\n\n@NgModule({declarations: NGB_CAROUSEL_DIRECTIVES, exports: NGB_CAROUSEL_DIRECTIVES, imports: [CommonModule]})\nexport class NgbCarouselModule {\n}\n","import {Directive, Input} from '@angular/core';\n\n/**\n * A directive to provide a simple way of hiding and showing elements on the page.\n */\n@Directive({\n selector: '[ngbCollapse]',\n exportAs: 'ngbCollapse',\n host: {'[class.collapse]': 'true', '[class.show]': '!collapsed'}\n})\nexport class NgbCollapse {\n /**\n * If `true`, will collapse the element or show it otherwise.\n */\n @Input('ngbCollapse') collapsed = false;\n}\n","import {NgModule} from '@angular/core';\nimport {NgbCollapse} from './collapse';\n\nexport {NgbCollapse} from './collapse';\n\n@NgModule({declarations: [NgbCollapse], exports: [NgbCollapse]})\nexport class NgbCollapseModule {\n}\n","import {NgbDateStruct} from './ngb-date-struct';\nimport {isInteger} from '../util/util';\n\n/**\n * A simple class that represents a date that datepicker also uses internally.\n *\n * It is the implementation of the `NgbDateStruct` interface that adds some convenience methods,\n * like `.equals()`, `.before()`, etc.\n *\n * All datepicker APIs consume `NgbDateStruct`, but return `NgbDate`.\n *\n * In many cases it is simpler to manipulate these objects together with\n * [`NgbCalendar`](#/components/datepicker/api#NgbCalendar) than native JS Dates.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details.\n *\n * @since 3.0.0\n */\nexport class NgbDate implements NgbDateStruct {\n /**\n * The year, for example 2016\n */\n year: number;\n\n /**\n * The month, for example 1=Jan ... 12=Dec as in ISO 8601\n */\n month: number;\n\n /**\n * The day of month, starting with 1\n */\n day: number;\n\n /**\n * A **static method** that creates a new date object from the `NgbDateStruct`,\n *\n * ex. `NgbDate.from({year: 2000, month: 5, day: 1})`.\n *\n * If the `date` is already of `NgbDate` type, the method will return the same object.\n */\n static from(date: NgbDateStruct): NgbDate {\n if (date instanceof NgbDate) {\n return date;\n }\n return date ? new NgbDate(date.year, date.month, date.day) : null;\n }\n\n constructor(year: number, month: number, day: number) {\n this.year = isInteger(year) ? year : null;\n this.month = isInteger(month) ? month : null;\n this.day = isInteger(day) ? day : null;\n }\n\n /**\n * Checks if the current date is equal to another date.\n */\n equals(other: NgbDateStruct): boolean {\n return other && this.year === other.year && this.month === other.month && this.day === other.day;\n }\n\n /**\n * Checks if the current date is before another date.\n */\n before(other: NgbDateStruct): boolean {\n if (!other) {\n return false;\n }\n\n if (this.year === other.year) {\n if (this.month === other.month) {\n return this.day === other.day ? false : this.day < other.day;\n } else {\n return this.month < other.month;\n }\n } else {\n return this.year < other.year;\n }\n }\n\n /**\n * Checks if the current date is after another date.\n */\n after(other: NgbDateStruct): boolean {\n if (!other) {\n return false;\n }\n if (this.year === other.year) {\n if (this.month === other.month) {\n return this.day === other.day ? false : this.day > other.day;\n } else {\n return this.month > other.month;\n }\n } else {\n return this.year > other.year;\n }\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {Injectable} from '@angular/core';\nimport {isInteger} from '../util/util';\n\nexport function fromJSDate(jsDate: Date) {\n return new NgbDate(jsDate.getFullYear(), jsDate.getMonth() + 1, jsDate.getDate());\n}\nexport function toJSDate(date: NgbDate) {\n const jsDate = new Date(date.year, date.month - 1, date.day, 12);\n // this is done avoid 30 -> 1930 conversion\n if (!isNaN(jsDate.getTime())) {\n jsDate.setFullYear(date.year);\n }\n return jsDate;\n}\n\nexport type NgbPeriod = 'y' | 'm' | 'd';\n\nexport function NGB_DATEPICKER_CALENDAR_FACTORY() {\n return new NgbCalendarGregorian();\n}\n\n/**\n * A service that represents the calendar used by the datepicker.\n *\n * The default implementation uses the Gregorian calendar. You can inject it in your own\n * implementations if necessary to simplify `NgbDate` calculations.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_CALENDAR_FACTORY})\nexport abstract class NgbCalendar {\n /**\n * Returns the number of days per week.\n */\n abstract getDaysPerWeek(): number;\n\n /**\n * Returns an array of months per year.\n *\n * With default calendar we use ISO 8601 and return [1, 2, ..., 12];\n */\n abstract getMonths(year?: number): number[];\n\n /**\n * Returns the number of weeks per month.\n */\n abstract getWeeksPerMonth(): number;\n\n /**\n * Returns the weekday number for a given day.\n *\n * With the default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun\n */\n abstract getWeekday(date: NgbDate): number;\n\n /**\n * Adds a number of years, months or days to a given date.\n *\n * * `period` can be `y`, `m` or `d` and defaults to day.\n * * `number` defaults to 1.\n *\n * Always returns a new date.\n */\n abstract getNext(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\n\n /**\n * Subtracts a number of years, months or days from a given date.\n *\n * * `period` can be `y`, `m` or `d` and defaults to day.\n * * `number` defaults to 1.\n *\n * Always returns a new date.\n */\n abstract getPrev(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\n\n /**\n * Returns the week number for a given week.\n */\n abstract getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number): number;\n\n /**\n * Returns the today's date.\n */\n abstract getToday(): NgbDate;\n\n /**\n * Checks if a date is valid in the current calendar.\n */\n abstract isValid(date: NgbDate): boolean;\n}\n\n@Injectable()\nexport class NgbCalendarGregorian extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n let jsDate = toJSDate(date);\n let checkMonth = true;\n let expectedMonth = jsDate.getMonth();\n\n switch (period) {\n case 'y':\n jsDate.setFullYear(jsDate.getFullYear() + number);\n break;\n case 'm':\n expectedMonth += number;\n jsDate.setMonth(expectedMonth);\n expectedMonth = expectedMonth % 12;\n if (expectedMonth < 0) {\n expectedMonth = expectedMonth + 12;\n }\n break;\n case 'd':\n jsDate.setDate(jsDate.getDate() + number);\n checkMonth = false;\n break;\n default:\n return date;\n }\n\n if (checkMonth && jsDate.getMonth() !== expectedMonth) {\n // this means the destination month has less days than the initial month\n // let's go back to the end of the previous month:\n jsDate.setDate(0);\n }\n\n return fromJSDate(jsDate);\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n let jsDate = toJSDate(date);\n let day = jsDate.getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n let date = week[thursdayIndex];\n\n const jsDate = toJSDate(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n jsDate.setMonth(0); // Compare with Jan 1\n jsDate.setDate(1);\n return Math.floor(Math.round((time - jsDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return fromJSDate(new Date()); }\n\n isValid(date: NgbDate): boolean {\n if (!date || !isInteger(date.year) || !isInteger(date.month) || !isInteger(date.day)) {\n return false;\n }\n\n // year 0 doesn't exist in Gregorian calendar\n if (date.year === 0) {\n return false;\n }\n\n const jsDate = toJSDate(date);\n\n return !isNaN(jsDate.getTime()) && jsDate.getFullYear() === date.year && jsDate.getMonth() + 1 === date.month &&\n jsDate.getDate() === date.day;\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {DatepickerViewModel, DayViewModel, MonthViewModel} from './datepicker-view-model';\nimport {NgbCalendar} from './ngb-calendar';\nimport {isDefined} from '../util/util';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\nexport function isChangedDate(prev: NgbDate, next: NgbDate) {\n return !dateComparator(prev, next);\n}\n\nexport function isChangedMonth(prev: NgbDate, next: NgbDate) {\n return !prev && !next ? false : !prev || !next ? true : prev.year !== next.year || prev.month !== next.month;\n}\n\nexport function dateComparator(prev: NgbDate, next: NgbDate) {\n return (!prev && !next) || (!!prev && !!next && prev.equals(next));\n}\n\nexport function checkMinBeforeMax(minDate: NgbDate, maxDate: NgbDate) {\n if (maxDate && minDate && maxDate.before(minDate)) {\n throw new Error(`'maxDate' ${maxDate} should be greater than 'minDate' ${minDate}`);\n }\n}\n\nexport function checkDateInRange(date: NgbDate, minDate: NgbDate, maxDate: NgbDate): NgbDate {\n if (date && minDate && date.before(minDate)) {\n return minDate;\n }\n if (date && maxDate && date.after(maxDate)) {\n return maxDate;\n }\n\n return date;\n}\n\nexport function isDateSelectable(date: NgbDate, state: DatepickerViewModel) {\n const {minDate, maxDate, disabled, markDisabled} = state;\n // clang-format off\n return !(\n !isDefined(date) ||\n disabled ||\n (markDisabled && markDisabled(date, {year: date.year, month: date.month})) ||\n (minDate && date.before(minDate)) ||\n (maxDate && date.after(maxDate))\n );\n // clang-format on\n}\n\nexport function generateSelectBoxMonths(calendar: NgbCalendar, date: NgbDate, minDate: NgbDate, maxDate: NgbDate) {\n if (!date) {\n return [];\n }\n\n let months = calendar.getMonths(date.year);\n\n if (minDate && date.year === minDate.year) {\n const index = months.findIndex(month => month === minDate.month);\n months = months.slice(index);\n }\n\n if (maxDate && date.year === maxDate.year) {\n const index = months.findIndex(month => month === maxDate.month);\n months = months.slice(0, index + 1);\n }\n\n return months;\n}\n\nexport function generateSelectBoxYears(date: NgbDate, minDate: NgbDate, maxDate: NgbDate) {\n if (!date) {\n return [];\n }\n\n const start = minDate ? Math.max(minDate.year, date.year - 500) : date.year - 10;\n const end = maxDate ? Math.min(maxDate.year, date.year + 500) : date.year + 10;\n\n const length = end - start + 1;\n const numbers = Array(length);\n for (let i = 0; i < length; i++) {\n numbers[i] = start + i;\n }\n\n return numbers;\n}\n\nexport function nextMonthDisabled(calendar: NgbCalendar, date: NgbDate, maxDate: NgbDate) {\n const nextDate = Object.assign(calendar.getNext(date, 'm'), {day: 1});\n return maxDate && nextDate.after(maxDate);\n}\n\nexport function prevMonthDisabled(calendar: NgbCalendar, date: NgbDate, minDate: NgbDate) {\n const prevDate = Object.assign(calendar.getPrev(date, 'm'), {day: 1});\n return minDate && (prevDate.year === minDate.year && prevDate.month < minDate.month ||\n prevDate.year < minDate.year && minDate.month === 1);\n}\n\nexport function buildMonths(\n calendar: NgbCalendar, date: NgbDate, state: DatepickerViewModel, i18n: NgbDatepickerI18n,\n force: boolean): MonthViewModel[] {\n const {displayMonths, months} = state;\n // move old months to a temporary array\n const monthsToReuse = months.splice(0, months.length);\n\n // generate new first dates, nullify or reuse months\n const firstDates = Array.from({length: displayMonths}, (_, i) => {\n const firstDate = Object.assign(calendar.getNext(date, 'm', i), {day: 1});\n months[i] = null;\n\n if (!force) {\n const reusedIndex = monthsToReuse.findIndex(month => month.firstDate.equals(firstDate));\n // move reused month back to months\n if (reusedIndex !== -1) {\n months[i] = monthsToReuse.splice(reusedIndex, 1)[0];\n }\n }\n\n return firstDate;\n });\n\n // rebuild nullified months\n firstDates.forEach((firstDate, i) => {\n if (months[i] === null) {\n months[i] = buildMonth(calendar, firstDate, state, i18n, monthsToReuse.shift() || {} as MonthViewModel);\n }\n });\n\n return months;\n}\n\nexport function buildMonth(\n calendar: NgbCalendar, date: NgbDate, state: DatepickerViewModel, i18n: NgbDatepickerI18n,\n month: MonthViewModel = {} as MonthViewModel): MonthViewModel {\n const {dayTemplateData, minDate, maxDate, firstDayOfWeek, markDisabled, outsideDays} = state;\n const calendarToday = calendar.getToday();\n\n month.firstDate = null;\n month.lastDate = null;\n month.number = date.month;\n month.year = date.year;\n month.weeks = month.weeks || [];\n month.weekdays = month.weekdays || [];\n\n date = getFirstViewDate(calendar, date, firstDayOfWeek);\n\n // month has weeks\n for (let week = 0; week < calendar.getWeeksPerMonth(); week++) {\n let weekObject = month.weeks[week];\n if (!weekObject) {\n weekObject = month.weeks[week] = {number: 0, days: [], collapsed: true};\n }\n const days = weekObject.days;\n\n // week has days\n for (let day = 0; day < calendar.getDaysPerWeek(); day++) {\n if (week === 0) {\n month.weekdays[day] = calendar.getWeekday(date);\n }\n\n const newDate = new NgbDate(date.year, date.month, date.day);\n const nextDate = calendar.getNext(newDate);\n\n const ariaLabel = i18n.getDayAriaLabel(newDate);\n\n // marking date as disabled\n let disabled = !!((minDate && newDate.before(minDate)) || (maxDate && newDate.after(maxDate)));\n if (!disabled && markDisabled) {\n disabled = markDisabled(newDate, {month: month.number, year: month.year});\n }\n\n // today\n let today = newDate.equals(calendarToday);\n\n // adding user-provided data to the context\n let contextUserData =\n dayTemplateData ? dayTemplateData(newDate, {month: month.number, year: month.year}) : undefined;\n\n // saving first date of the month\n if (month.firstDate === null && newDate.month === month.number) {\n month.firstDate = newDate;\n }\n\n // saving last date of the month\n if (newDate.month === month.number && nextDate.month !== month.number) {\n month.lastDate = newDate;\n }\n\n let dayObject = days[day];\n if (!dayObject) {\n dayObject = days[day] = {} as DayViewModel;\n }\n dayObject.date = newDate;\n dayObject.context = Object.assign(dayObject.context || {}, {\n $implicit: newDate,\n date: newDate,\n data: contextUserData,\n currentMonth: month.number,\n currentYear: month.year, disabled,\n focused: false,\n selected: false, today\n });\n dayObject.tabindex = -1;\n dayObject.ariaLabel = ariaLabel;\n dayObject.hidden = false;\n\n date = nextDate;\n }\n\n weekObject.number = calendar.getWeekNumber(days.map(day => day.date), firstDayOfWeek);\n\n // marking week as collapsed\n weekObject.collapsed = outsideDays === 'collapsed' && days[0].date.month !== month.number &&\n days[days.length - 1].date.month !== month.number;\n }\n\n return month;\n}\n\nexport function getFirstViewDate(calendar: NgbCalendar, date: NgbDate, firstDayOfWeek: number): NgbDate {\n const daysPerWeek = calendar.getDaysPerWeek();\n const firstMonthDate = new NgbDate(date.year, date.month, 1);\n const dayOfWeek = calendar.getWeekday(firstMonthDate) % daysPerWeek;\n return calendar.getPrev(firstMonthDate, 'd', (daysPerWeek + dayOfWeek - firstDayOfWeek) % daysPerWeek);\n}\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {FormStyle, getLocaleDayNames, getLocaleMonthNames, TranslationWidth, formatDate} from '@angular/common';\nimport {NgbDateStruct} from './ngb-date-struct';\n\nexport function NGB_DATEPICKER_18N_FACTORY(locale) {\n return new NgbDatepickerI18nDefault(locale);\n}\n\n/**\n * A service supplying i18n data to the datepicker component.\n *\n * The default implementation of this service uses the Angular locale and registered locale data for\n * weekdays and month names (as explained in the Angular i18n guide).\n *\n * It also provides a way to i18n data that depends on calendar calculations, like aria labels, day, week and year\n * numerals. For other static labels the datepicker uses the default Angular i18n.\n *\n * See the [i18n demo](#/components/datepicker/examples#i18n) and\n * [Hebrew calendar demo](#/components/datepicker/calendars#hebrew) on how to extend this class and define\n * a custom provider for i18n.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_18N_FACTORY, deps: [LOCALE_ID]})\nexport abstract class NgbDatepickerI18n {\n /**\n * Returns the short weekday name to display in the heading of the month view.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n abstract getWeekdayShortName(weekday: number): string;\n\n /**\n * Returns the short month name to display in the date picker navigation.\n *\n * With default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n */\n abstract getMonthShortName(month: number, year?: number): string;\n\n /**\n * Returns the full month name to display in the date picker navigation.\n *\n * With default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n */\n abstract getMonthFullName(month: number, year?: number): string;\n\n /**\n * Returns the value of the `aria-label` attribute for a specific date.\n *\n * @since 2.0.0\n */\n abstract getDayAriaLabel(date: NgbDateStruct): string;\n\n /**\n * Returns the textual representation of a day that is rendered in a day cell.\n *\n * @since 3.0.0\n */\n getDayNumerals(date: NgbDateStruct): string { return `${date.day}`; }\n\n /**\n * Returns the textual representation of a week number rendered by datepicker.\n *\n * @since 3.0.0\n */\n getWeekNumerals(weekNumber: number): string { return `${weekNumber}`; }\n\n /**\n * Returns the textual representation of a year that is rendered in the datepicker year select box.\n *\n * @since 3.0.0\n */\n getYearNumerals(year: number): string { return `${year}`; }\n}\n\n@Injectable()\nexport class NgbDatepickerI18nDefault extends NgbDatepickerI18n {\n private _weekdaysShort: Array;\n private _monthsShort: Array;\n private _monthsFull: Array;\n\n constructor(@Inject(LOCALE_ID) private _locale: string) {\n super();\n\n const weekdaysStartingOnSunday = getLocaleDayNames(_locale, FormStyle.Standalone, TranslationWidth.Short);\n this._weekdaysShort = weekdaysStartingOnSunday.map((day, index) => weekdaysStartingOnSunday[(index + 1) % 7]);\n\n this._monthsShort = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Abbreviated);\n this._monthsFull = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Wide);\n }\n\n getWeekdayShortName(weekday: number): string { return this._weekdaysShort[weekday - 1]; }\n\n getMonthShortName(month: number): string { return this._monthsShort[month - 1]; }\n\n getMonthFullName(month: number): string { return this._monthsFull[month - 1]; }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n const jsDate = new Date(date.year, date.month - 1, date.day);\n return formatDate(jsDate, 'fullDate', this._locale);\n }\n}\n","import {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {DatepickerViewModel, NgbDayTemplateData, NgbMarkDisabled} from './datepicker-view-model';\nimport {Injectable} from '@angular/core';\nimport {isInteger, toInteger} from '../util/util';\nimport {Observable, Subject} from 'rxjs';\nimport {\n buildMonths,\n checkDateInRange,\n checkMinBeforeMax,\n isChangedDate,\n isChangedMonth,\n isDateSelectable,\n generateSelectBoxYears,\n generateSelectBoxMonths,\n prevMonthDisabled,\n nextMonthDisabled\n} from './datepicker-tools';\n\nimport {filter} from 'rxjs/operators';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\nexport interface DatepickerServiceInputs extends\n Partial> {}\n\n@Injectable()\nexport class NgbDatepickerService {\n private _VALIDATORS:\n {[K in keyof DatepickerServiceInputs]: (v: DatepickerServiceInputs[K]) => Partial} = {\n dayTemplateData: (dayTemplateData: NgbDayTemplateData) => {\n if (this._state.dayTemplateData !== dayTemplateData) {\n return {dayTemplateData};\n }\n },\n displayMonths: (displayMonths: number) => {\n displayMonths = toInteger(displayMonths);\n if (isInteger(displayMonths) && displayMonths > 0 && this._state.displayMonths !== displayMonths) {\n return {displayMonths};\n }\n },\n disabled: (disabled: boolean) => {\n if (this._state.disabled !== disabled) {\n return {disabled};\n }\n },\n firstDayOfWeek: (firstDayOfWeek: number) => {\n firstDayOfWeek = toInteger(firstDayOfWeek);\n if (isInteger(firstDayOfWeek) && firstDayOfWeek >= 0 && this._state.firstDayOfWeek !== firstDayOfWeek) {\n return {firstDayOfWeek};\n }\n },\n focusVisible: (focusVisible: boolean) => {\n if (this._state.focusVisible !== focusVisible && !this._state.disabled) {\n return {focusVisible};\n }\n },\n markDisabled: (markDisabled: NgbMarkDisabled) => {\n if (this._state.markDisabled !== markDisabled) {\n return {markDisabled};\n }\n },\n maxDate: (date: NgbDate) => {\n const maxDate = this.toValidDate(date, null);\n if (isChangedDate(this._state.maxDate, maxDate)) {\n return {maxDate};\n }\n },\n minDate: (date: NgbDate) => {\n const minDate = this.toValidDate(date, null);\n if (isChangedDate(this._state.minDate, minDate)) {\n return {minDate};\n }\n },\n navigation: (navigation: 'select' | 'arrows' | 'none') => {\n if (this._state.navigation !== navigation) {\n return {navigation};\n }\n },\n outsideDays: (outsideDays: 'visible' | 'collapsed' | 'hidden') => {\n if (this._state.outsideDays !== outsideDays) {\n return {outsideDays};\n }\n }\n };\n\n private _model$ = new Subject();\n\n private _dateSelect$ = new Subject();\n\n private _state: DatepickerViewModel = {\n disabled: false,\n displayMonths: 1,\n firstDayOfWeek: 1,\n focusVisible: false,\n months: [],\n navigation: 'select',\n outsideDays: 'visible',\n prevDisabled: false,\n nextDisabled: false,\n selectBoxes: {years: [], months: []},\n selectedDate: null\n };\n\n get model$(): Observable { return this._model$.pipe(filter(model => model.months.length > 0)); }\n\n get dateSelect$(): Observable { return this._dateSelect$.pipe(filter(date => date !== null)); }\n\n set(options: DatepickerServiceInputs) {\n let patch = Object.keys(options)\n .map(key => this._VALIDATORS[key](options[key]))\n .reduce((obj, part) => ({...obj, ...part}), {});\n\n if (Object.keys(patch).length > 0) {\n this._nextState(patch);\n }\n }\n\n constructor(private _calendar: NgbCalendar, private _i18n: NgbDatepickerI18n) {}\n\n focus(date: NgbDate) {\n if (!this._state.disabled && this._calendar.isValid(date) && isChangedDate(this._state.focusDate, date)) {\n this._nextState({focusDate: date});\n }\n }\n\n focusSelect() {\n if (isDateSelectable(this._state.focusDate, this._state)) {\n this.select(this._state.focusDate, {emitEvent: true});\n }\n }\n\n open(date: NgbDate) {\n const firstDate = this.toValidDate(date, this._calendar.getToday());\n if (!this._state.disabled && (!this._state.firstDate || isChangedMonth(this._state.firstDate, date))) {\n this._nextState({firstDate});\n }\n }\n\n select(date: NgbDate, options: {emitEvent?: boolean} = {}) {\n const selectedDate = this.toValidDate(date, null);\n if (!this._state.disabled) {\n if (isChangedDate(this._state.selectedDate, selectedDate)) {\n this._nextState({selectedDate});\n }\n\n if (options.emitEvent && isDateSelectable(selectedDate, this._state)) {\n this._dateSelect$.next(selectedDate);\n }\n }\n }\n\n toValidDate(date: NgbDateStruct, defaultValue?: NgbDate): NgbDate {\n const ngbDate = NgbDate.from(date);\n if (defaultValue === undefined) {\n defaultValue = this._calendar.getToday();\n }\n return this._calendar.isValid(ngbDate) ? ngbDate : defaultValue;\n }\n\n getMonth(struct: NgbDateStruct) {\n for (let month of this._state.months) {\n if (struct.month === month.number && struct.year === month.year) {\n return month;\n }\n }\n throw new Error(`month ${struct.month} of year ${struct.year} not found`);\n }\n\n private _nextState(patch: Partial) {\n const newState = this._updateState(patch);\n this._patchContexts(newState);\n this._state = newState;\n this._model$.next(this._state);\n }\n\n private _patchContexts(state: DatepickerViewModel) {\n const {months, displayMonths, selectedDate, focusDate, focusVisible, disabled, outsideDays} = state;\n state.months.forEach(month => {\n month.weeks.forEach(week => {\n week.days.forEach(day => {\n\n // patch focus flag\n if (focusDate) {\n day.context.focused = focusDate.equals(day.date) && focusVisible;\n }\n\n // calculating tabindex\n day.tabindex = !disabled && day.date.equals(focusDate) && focusDate.month === month.number ? 0 : -1;\n\n // override context disabled\n if (disabled === true) {\n day.context.disabled = true;\n }\n\n // patch selection flag\n if (selectedDate !== undefined) {\n day.context.selected = selectedDate !== null && selectedDate.equals(day.date);\n }\n\n // visibility\n if (month.number !== day.date.month) {\n day.hidden = outsideDays === 'hidden' || outsideDays === 'collapsed' ||\n (displayMonths > 1 && day.date.after(months[0].firstDate) &&\n day.date.before(months[displayMonths - 1].lastDate));\n }\n });\n });\n });\n }\n\n private _updateState(patch: Partial): DatepickerViewModel {\n // patching fields\n const state = Object.assign({}, this._state, patch);\n\n let startDate = state.firstDate;\n\n // min/max dates changed\n if ('minDate' in patch || 'maxDate' in patch) {\n checkMinBeforeMax(state.minDate, state.maxDate);\n state.focusDate = checkDateInRange(state.focusDate, state.minDate, state.maxDate);\n state.firstDate = checkDateInRange(state.firstDate, state.minDate, state.maxDate);\n startDate = state.focusDate;\n }\n\n // disabled\n if ('disabled' in patch) {\n state.focusVisible = false;\n }\n\n // initial rebuild via 'select()'\n if ('selectedDate' in patch && this._state.months.length === 0) {\n startDate = state.selectedDate;\n }\n\n // terminate early if only focus visibility was changed\n if ('focusVisible' in patch) {\n return state;\n }\n\n // focus date changed\n if ('focusDate' in patch) {\n state.focusDate = checkDateInRange(state.focusDate, state.minDate, state.maxDate);\n startDate = state.focusDate;\n\n // nothing to rebuild if only focus changed and it is still visible\n if (state.months.length !== 0 && !state.focusDate.before(state.firstDate) &&\n !state.focusDate.after(state.lastDate)) {\n return state;\n }\n }\n\n // first date changed\n if ('firstDate' in patch) {\n state.firstDate = checkDateInRange(state.firstDate, state.minDate, state.maxDate);\n startDate = state.firstDate;\n }\n\n // rebuilding months\n if (startDate) {\n const forceRebuild = 'dayTemplateData' in patch || 'firstDayOfWeek' in patch || 'markDisabled' in patch ||\n 'minDate' in patch || 'maxDate' in patch || 'disabled' in patch || 'outsideDays' in patch;\n\n const months = buildMonths(this._calendar, startDate, state, this._i18n, forceRebuild);\n\n // updating months and boundary dates\n state.months = months;\n state.firstDate = months.length > 0 ? months[0].firstDate : undefined;\n state.lastDate = months.length > 0 ? months[months.length - 1].lastDate : undefined;\n\n // reset selected date if 'markDisabled' returns true\n if ('selectedDate' in patch && !isDateSelectable(state.selectedDate, state)) {\n state.selectedDate = null;\n }\n\n // adjusting focus after months were built\n if ('firstDate' in patch) {\n if (state.focusDate === undefined || state.focusDate.before(state.firstDate) ||\n state.focusDate.after(state.lastDate)) {\n state.focusDate = startDate;\n }\n }\n\n // adjusting months/years for the select box navigation\n const yearChanged = !this._state.firstDate || this._state.firstDate.year !== state.firstDate.year;\n const monthChanged = !this._state.firstDate || this._state.firstDate.month !== state.firstDate.month;\n if (state.navigation === 'select') {\n // years -> boundaries (min/max were changed)\n if ('minDate' in patch || 'maxDate' in patch || state.selectBoxes.years.length === 0 || yearChanged) {\n state.selectBoxes.years = generateSelectBoxYears(state.firstDate, state.minDate, state.maxDate);\n }\n\n // months -> when current year or boundaries change\n if ('minDate' in patch || 'maxDate' in patch || state.selectBoxes.months.length === 0 || yearChanged) {\n state.selectBoxes.months =\n generateSelectBoxMonths(this._calendar, state.firstDate, state.minDate, state.maxDate);\n }\n } else {\n state.selectBoxes = {years: [], months: []};\n }\n\n // updating navigation arrows -> boundaries change (min/max) or month/year changes\n if ((state.navigation === 'arrows' || state.navigation === 'select') &&\n (monthChanged || yearChanged || 'minDate' in patch || 'maxDate' in patch || 'disabled' in patch)) {\n state.prevDisabled = state.disabled || prevMonthDisabled(this._calendar, state.firstDate, state.minDate);\n state.nextDisabled = state.disabled || nextMonthDisabled(this._calendar, state.lastDate, state.maxDate);\n }\n }\n\n return state;\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {DayTemplateContext} from './datepicker-day-template-context';\n\nexport type NgbMarkDisabled = (date: NgbDateStruct, current: {year: number, month: number}) => boolean;\nexport type NgbDayTemplateData = (date: NgbDateStruct, current: {year: number, month: number}) => any;\n\nexport type DayViewModel = {\n date: NgbDate,\n context: DayTemplateContext,\n tabindex: number,\n ariaLabel: string,\n hidden: boolean\n};\n\nexport type WeekViewModel = {\n number: number,\n days: DayViewModel[],\n collapsed: boolean\n};\n\nexport type MonthViewModel = {\n firstDate: NgbDate,\n lastDate: NgbDate,\n number: number,\n year: number,\n weeks: WeekViewModel[],\n weekdays: number[]\n};\n\n// clang-format off\nexport type DatepickerViewModel = {\n dayTemplateData?: NgbDayTemplateData,\n disabled: boolean,\n displayMonths: number,\n firstDate?: NgbDate,\n firstDayOfWeek: number,\n focusDate?: NgbDate,\n focusVisible: boolean,\n lastDate?: NgbDate,\n markDisabled?: NgbMarkDisabled,\n maxDate?: NgbDate,\n minDate?: NgbDate,\n months: MonthViewModel[],\n navigation: 'select' | 'arrows' | 'none',\n outsideDays: 'visible' | 'collapsed' | 'hidden',\n prevDisabled: boolean,\n nextDisabled: boolean,\n selectBoxes: {\n years: number[],\n months: number[]\n },\n selectedDate: NgbDate\n};\n// clang-format on\n\nexport enum NavigationEvent {\n PREV,\n NEXT\n}\n","import {Injectable, TemplateRef} from '@angular/core';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbDateStruct} from './ngb-date-struct';\n\n/**\n * A configuration service for the [`NgbDatepicker`](#/components/datepicker/api#NgbDatepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the datepickers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDatepickerConfig {\n dayTemplate: TemplateRef;\n dayTemplateData: (date: NgbDateStruct, current: {year: number, month: number}) => any;\n footerTemplate: TemplateRef;\n displayMonths = 1;\n firstDayOfWeek = 1;\n markDisabled: (date: NgbDateStruct, current: {year: number, month: number}) => boolean;\n minDate: NgbDateStruct;\n maxDate: NgbDateStruct;\n navigation: 'select' | 'arrows' | 'none' = 'select';\n outsideDays: 'visible' | 'collapsed' | 'hidden' = 'visible';\n showWeekdays = true;\n showWeekNumbers = false;\n startDate: {year: number, month: number};\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {isInteger} from '../../util/util';\n\nexport function NGB_DATEPICKER_DATE_ADAPTER_FACTORY() {\n return new NgbDateStructAdapter();\n}\n\n/**\n * An abstract service that does the conversion between the internal datepicker `NgbDateStruct` model and\n * any provided user date model `D`, ex. a string, a native date, etc.\n *\n * The adapter is used **only** for conversion when binding datepicker to a form control,\n * ex. `[(ngModel)]=\"userDateModel\"`. Here `userDateModel` can be of any type.\n *\n * The default datepicker implementation assumes we use `NgbDateStruct` as a user model.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details\n * and the [custom adapter demo](#/components/datepicker/examples#adapter) for an example.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_DATE_ADAPTER_FACTORY})\nexport abstract class NgbDateAdapter {\n /**\n * Converts a user-model date of type `D` to an `NgbDateStruct` for internal use.\n */\n abstract fromModel(value: D): NgbDateStruct;\n\n /**\n * Converts an internal `NgbDateStruct` date to a user-model date of type `D`.\n */\n abstract toModel(date: NgbDateStruct): D;\n}\n\n@Injectable()\nexport class NgbDateStructAdapter extends NgbDateAdapter {\n /**\n * Converts a NgbDateStruct value into NgbDateStruct value\n */\n fromModel(date: NgbDateStruct): NgbDateStruct {\n return (date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day)) ?\n {year: date.year, month: date.month, day: date.day} :\n null;\n }\n\n /**\n * Converts a NgbDateStruct value into NgbDateStruct value\n */\n toModel(date: NgbDateStruct): NgbDateStruct {\n return (date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day)) ?\n {year: date.year, month: date.month, day: date.day} :\n null;\n }\n}\n","import {fromEvent, merge, Subject} from 'rxjs';\nimport {filter, take, takeUntil} from 'rxjs/operators';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {DatepickerServiceInputs, NgbDatepickerService} from './datepicker-service';\nimport {DatepickerViewModel, NavigationEvent} from './datepicker-view-model';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\nimport {isChangedDate, isChangedMonth} from './datepicker-tools';\nimport {hasClassName} from '../util/util';\n\nexport const NGB_DATEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbDatepicker),\n multi: true\n};\n\n/**\n * An event emitted right before the navigation happens and the month displayed by the datepicker changes.\n */\nexport interface NgbDatepickerNavigateEvent {\n /**\n * The currently displayed month.\n */\n current: {year: number, month: number};\n\n /**\n * The month we're navigating to.\n */\n next: {year: number, month: number};\n\n /**\n * Calling this function will prevent navigation from happening.\n *\n * @since 4.1.0\n */\n preventDefault: () => void;\n}\n\n/**\n * An interface that represents the readonly public state of the datepicker.\n *\n * Accessible via the `datepicker.state` getter\n *\n * @since 5.2.0\n */\nexport interface NgbDatepickerState {\n /**\n * The earliest date that can be displayed or selected\n */\n readonly minDate: NgbDate;\n\n /**\n * The latest date that can be displayed or selected\n */\n readonly maxDate: NgbDate;\n\n /**\n * The first visible date of currently displayed months\n */\n readonly firstDate: NgbDate;\n\n /**\n * The last visible date of currently displayed months\n */\n readonly lastDate: NgbDate;\n\n /**\n * The date currently focused by the datepicker\n */\n readonly focusedDate: NgbDate;\n\n /**\n * First dates of months currently displayed by the datepicker\n *\n * @since 5.3.0\n */\n readonly months: NgbDate[];\n}\n\n/**\n * A directive that marks the content template that customizes the way datepicker months are displayed\n *\n * @since 5.3.0\n */\n@Directive({selector: 'ng-template[ngbDatepickerContent]'})\nexport class NgbDatepickerContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A highly configurable component that helps you with selecting calendar dates.\n *\n * `NgbDatepicker` is meant to be displayed inline on a page or put inside a popup.\n */\n@Component({\n exportAs: 'ngbDatepicker',\n selector: 'ngb-datepicker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker.scss'],\n template: `\n \n
\n
\n
\n\n \n
\n
1 && navigation === 'select')\" class=\"ngb-dp-month-name\">\n {{ i18n.getMonthFullName(month.number, month.year) }} {{ i18n.getYearNumerals(month.year) }}\n
\n \n
\n
\n\n
\n \n \n
\n\n
\n \n
\n\n \n `,\n providers: [NGB_DATEPICKER_VALUE_ACCESSOR, NgbDatepickerService]\n})\nexport class NgbDatepicker implements OnDestroy,\n OnChanges, OnInit, ControlValueAccessor {\n model: DatepickerViewModel;\n\n @ViewChild('defaultDayTemplate', {static: true}) private _defaultDayTemplate: TemplateRef;\n @ViewChild('content', {static: true}) private _contentEl: ElementRef;\n @ContentChild(NgbDatepickerContent, {static: true}) contentTemplate: NgbDatepickerContent;\n\n private _controlValue: NgbDate;\n private _destroyed$ = new Subject();\n private _publicState: NgbDatepickerState = {};\n\n /**\n * The reference to a custom template for the day.\n *\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\n *\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\n */\n @Input() dayTemplate: TemplateRef;\n\n /**\n * The callback to pass any arbitrary data to the template cell via the\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\n *\n * `current` is the month that is currently displayed by the datepicker.\n *\n * @since 3.3.0\n */\n @Input() dayTemplateData: (date: NgbDate, current: {year: number, month: number}) => any;\n\n /**\n * The number of months to display.\n */\n @Input() displayMonths: number;\n\n /**\n * The first day of the week.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n @Input() firstDayOfWeek: number;\n\n /**\n * The reference to the custom template for the datepicker footer.\n *\n * @since 3.3.0\n */\n @Input() footerTemplate: TemplateRef;\n\n /**\n * The callback to mark some dates as disabled.\n *\n * It is called for each new date when navigating to a different month.\n *\n * `current` is the month that is currently displayed by the datepicker.\n */\n @Input() markDisabled: (date: NgbDate, current: {year: number, month: number}) => boolean;\n\n /**\n * The latest date that can be displayed or selected.\n *\n * If not provided, 'year' select box will display 10 years after the current month.\n */\n @Input() maxDate: NgbDateStruct;\n\n /**\n * The earliest date that can be displayed or selected.\n *\n * If not provided, 'year' select box will display 10 years before the current month.\n */\n @Input() minDate: NgbDateStruct;\n\n /**\n * Navigation type.\n *\n * * `\"select\"` - select boxes for month and navigation arrows\n * * `\"arrows\"` - only navigation arrows\n * * `\"none\"` - no navigation visible at all\n */\n @Input() navigation: 'select' | 'arrows' | 'none';\n\n /**\n * The way of displaying days that don't belong to the current month.\n *\n * * `\"visible\"` - days are visible\n * * `\"hidden\"` - days are hidden, white space preserved\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\n *\n * For the 2+ months view, days in between months are never shown.\n */\n @Input() outsideDays: 'visible' | 'collapsed' | 'hidden';\n\n /**\n * If `true`, weekdays will be displayed.\n */\n @Input() showWeekdays: boolean;\n\n /**\n * If `true`, week numbers will be displayed.\n */\n @Input() showWeekNumbers: boolean;\n\n /**\n * The date to open calendar with.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date is provided, calendar will open with current month.\n *\n * You could use `navigateTo(date)` method as an alternative.\n */\n @Input() startDate: {year: number, month: number, day?: number};\n\n /**\n * An event emitted right before the navigation happens and displayed month changes.\n *\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\n */\n @Output() navigate = new EventEmitter();\n\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @since 5.2.0\n */\n @Output() dateSelect = new EventEmitter();\n\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @deprecated 6.0.0 Please use 'dateSelect' output instead due to collision with native\n * 'select' event.\n */\n @Output() select = this.dateSelect;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n constructor(\n private _service: NgbDatepickerService, private _calendar: NgbCalendar, public i18n: NgbDatepickerI18n,\n config: NgbDatepickerConfig, cd: ChangeDetectorRef, private _elementRef: ElementRef,\n private _ngbDateAdapter: NgbDateAdapter, private _ngZone: NgZone) {\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\n 'maxDate', 'navigation', 'outsideDays', 'showWeekdays', 'showWeekNumbers', 'startDate']\n .forEach(input => this[input] = config[input]);\n\n _service.dateSelect$.pipe(takeUntil(this._destroyed$)).subscribe(date => { this.dateSelect.emit(date); });\n\n _service.model$.pipe(takeUntil(this._destroyed$)).subscribe(model => {\n const newDate = model.firstDate;\n const oldDate = this.model ? this.model.firstDate : null;\n\n // update public state\n this._publicState = {\n maxDate: model.maxDate,\n minDate: model.minDate,\n firstDate: model.firstDate,\n lastDate: model.lastDate,\n focusedDate: model.focusDate,\n months: model.months.map(viewModel => viewModel.firstDate)\n };\n\n let navigationPrevented = false;\n // emitting navigation event if the first month changes\n if (!newDate.equals(oldDate)) {\n this.navigate.emit({\n current: oldDate ? {year: oldDate.year, month: oldDate.month} : null,\n next: {year: newDate.year, month: newDate.month},\n preventDefault: () => navigationPrevented = true\n });\n\n // can't prevent the very first navigation\n if (navigationPrevented && oldDate !== null) {\n this._service.open(oldDate);\n return;\n }\n }\n\n const newSelectedDate = model.selectedDate;\n const newFocusedDate = model.focusDate;\n const oldFocusedDate = this.model ? this.model.focusDate : null;\n\n this.model = model;\n\n // handling selection change\n if (isChangedDate(newSelectedDate, this._controlValue)) {\n this._controlValue = newSelectedDate;\n this.onTouched();\n this.onChange(this._ngbDateAdapter.toModel(newSelectedDate));\n }\n\n // handling focus change\n if (isChangedDate(newFocusedDate, oldFocusedDate) && oldFocusedDate && model.focusVisible) {\n this.focus();\n }\n\n cd.markForCheck();\n });\n }\n\n /**\n * Returns the readonly public state of the datepicker\n *\n * @since 5.2.0\n */\n get state(): NgbDatepickerState { return this._publicState; }\n\n /**\n * Returns the calendar service used in the specific datepicker instance.\n *\n * @since 5.3.0\n */\n get calendar(): NgbCalendar { return this._calendar; }\n\n /**\n * Focuses on given date.\n */\n focusDate(date: NgbDateStruct): void { this._service.focus(NgbDate.from(date)); }\n\n /**\n * Selects focused date.\n */\n focusSelect(): void { this._service.focusSelect(); }\n\n focus() {\n this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n const elementToFocus =\n this._elementRef.nativeElement.querySelector('div.ngb-dp-day[tabindex=\"0\"]');\n if (elementToFocus) {\n elementToFocus.focus();\n }\n });\n }\n\n /**\n * Navigates to the provided date.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date provided calendar will open current month.\n *\n * Use the `[startDate]` input as an alternative.\n */\n navigateTo(date?: {year: number, month: number, day?: number}) {\n this._service.open(NgbDate.from(date ? date.day ? date as NgbDateStruct : {...date, day: 1} : null));\n }\n\n ngAfterViewInit() {\n this._ngZone.runOutsideAngular(() => {\n const focusIns$ = fromEvent(this._contentEl.nativeElement, 'focusin');\n const focusOuts$ = fromEvent(this._contentEl.nativeElement, 'focusout');\n const {nativeElement} = this._elementRef;\n\n // we're changing 'focusVisible' only when entering or leaving months view\n // and ignoring all focus events where both 'target' and 'related' target are day cells\n merge(focusIns$, focusOuts$)\n .pipe(\n filter(\n ({target, relatedTarget}) =>\n !(hasClassName(target, 'ngb-dp-day') && hasClassName(relatedTarget, 'ngb-dp-day') &&\n nativeElement.contains(target as Node) && nativeElement.contains(relatedTarget as Node))),\n takeUntil(this._destroyed$))\n .subscribe(({type}) => this._ngZone.run(() => this._service.set({focusVisible: type === 'focusin'})));\n });\n }\n\n ngOnDestroy() { this._destroyed$.next(); }\n\n ngOnInit() {\n if (this.model === undefined) {\n const inputs: DatepickerServiceInputs = {};\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\n 'outsideDays']\n .forEach(name => inputs[name] = this[name]);\n this._service.set(inputs);\n\n this.navigateTo(this.startDate);\n }\n if (!this.dayTemplate) {\n this.dayTemplate = this._defaultDayTemplate;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const inputs: DatepickerServiceInputs = {};\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\n 'outsideDays']\n .filter(name => name in changes)\n .forEach(name => inputs[name] = this[name]);\n this._service.set(inputs);\n\n if ('startDate' in changes) {\n const {currentValue, previousValue} = changes.startDate;\n if (isChangedMonth(previousValue, currentValue)) {\n this.navigateTo(this.startDate);\n }\n }\n }\n\n onDateSelect(date: NgbDate) {\n this._service.focus(date);\n this._service.select(date, {emitEvent: true});\n }\n\n onNavigateDateSelect(date: NgbDate) { this._service.open(date); }\n\n onNavigateEvent(event: NavigationEvent) {\n switch (event) {\n case NavigationEvent.PREV:\n this._service.open(this._calendar.getPrev(this.model.firstDate, 'm', 1));\n break;\n case NavigationEvent.NEXT:\n this._service.open(this._calendar.getNext(this.model.firstDate, 'm', 1));\n break;\n }\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(disabled: boolean) { this._service.set({disabled}); }\n\n writeValue(value) {\n this._controlValue = NgbDate.from(this._ngbDateAdapter.fromModel(value));\n this._service.select(this._controlValue);\n }\n}\n","export enum Key {\n Tab = 9,\n Enter = 13,\n Escape = 27,\n Space = 32,\n PageUp = 33,\n PageDown = 34,\n End = 35,\n Home = 36,\n ArrowLeft = 37,\n ArrowUp = 38,\n ArrowRight = 39,\n ArrowDown = 40\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDatepicker} from './datepicker';\nimport {Key} from '../util/key';\n\n/**\n * A service that represents the keyboard navigation.\n *\n * Default keyboard shortcuts [are documented in the overview](#/components/datepicker/overview#keyboard-shortcuts)\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDatepickerKeyboardService {\n /**\n * Processes a keyboard event.\n */\n processKey(event: KeyboardEvent, datepicker: NgbDatepicker) {\n const {state, calendar} = datepicker;\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.PageUp:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, event.shiftKey ? 'y' : 'm', 1));\n break;\n case Key.PageDown:\n datepicker.focusDate(calendar.getNext(state.focusedDate, event.shiftKey ? 'y' : 'm', 1));\n break;\n case Key.End:\n datepicker.focusDate(event.shiftKey ? state.maxDate : state.lastDate);\n break;\n case Key.Home:\n datepicker.focusDate(event.shiftKey ? state.minDate : state.firstDate);\n break;\n case Key.ArrowLeft:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, 'd', 1));\n break;\n case Key.ArrowUp:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, 'd', calendar.getDaysPerWeek()));\n break;\n case Key.ArrowRight:\n datepicker.focusDate(calendar.getNext(state.focusedDate, 'd', 1));\n break;\n case Key.ArrowDown:\n datepicker.focusDate(calendar.getNext(state.focusedDate, 'd', calendar.getDaysPerWeek()));\n break;\n case Key.Enter:\n case Key.Space:\n datepicker.focusSelect();\n break;\n default:\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\nimport {NgbDatepicker} from './datepicker';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\nimport {NgbDatepickerKeyboardService} from './datepicker-keyboard-service';\nimport {NgbDatepickerService} from './datepicker-service';\nimport {MonthViewModel, DayViewModel} from './datepicker-view-model';\nimport {NgbDateStruct} from './ngb-date-struct';\n\n/**\n * A component that renders one month including all the days, weekdays and week numbers. Can be used inside\n * the `` when you want to customize months layout.\n *\n * For a usage example, see [custom month layout demo](#/components/datepicker/examples#custommonth)\n *\n * @since 5.3.0\n */\n@Component({\n selector: 'ngb-datepicker-month',\n host: {'role': 'grid', '(keydown)': 'onKeyDown($event)'},\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-month.scss'],\n template: `\n
\n
\n
\n {{ i18n.getWeekdayShortName(w) }}\n
\n
\n \n
\n
{{ i18n.getWeekNumerals(week.number) }}
\n
\n \n \n \n
\n
\n
\n `\n})\nexport class NgbDatepickerMonth {\n /**\n * The first date of month to be rendered.\n *\n * This month must one of the months present in the\n * [datepicker state](#/components/datepicker/api#NgbDatepickerState).\n */\n @Input()\n set month(month: NgbDateStruct) {\n this.viewModel = this._service.getMonth(month);\n }\n\n viewModel: MonthViewModel;\n\n constructor(\n public i18n: NgbDatepickerI18n, public datepicker: NgbDatepicker,\n private _keyboardService: NgbDatepickerKeyboardService, private _service: NgbDatepickerService) {}\n\n onKeyDown(event: KeyboardEvent) { this._keyboardService.processKey(event, this.datepicker); }\n\n doSelect(day: DayViewModel) {\n if (!day.context.disabled && !day.hidden) {\n this.datepicker.onDateSelect(day.date);\n }\n }\n}\n","import {Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {NavigationEvent, MonthViewModel} from './datepicker-view-model';\nimport {NgbDate} from './ngb-date';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: 'ngb-datepicker-navigation',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-navigation.scss'],\n template: `\n
\n \n
\n \n \n\n \n
0\">
\n
\n {{ i18n.getMonthFullName(month.number, month.year) }} {{ i18n.getYearNumerals(month.year) }}\n
\n
\n
\n
\n \n
\n `\n})\nexport class NgbDatepickerNavigation {\n navigation = NavigationEvent;\n\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() months: MonthViewModel[] = [];\n @Input() showSelect: boolean;\n @Input() prevDisabled: boolean;\n @Input() nextDisabled: boolean;\n @Input() selectBoxes: {years: number[], months: number[]};\n\n @Output() navigate = new EventEmitter();\n @Output() select = new EventEmitter();\n\n constructor(public i18n: NgbDatepickerI18n) {}\n\n onClickPrev(event: MouseEvent) {\n (event.currentTarget as HTMLElement).focus();\n this.navigate.emit(this.navigation.PREV);\n }\n\n onClickNext(event: MouseEvent) {\n (event.currentTarget as HTMLElement).focus();\n this.navigate.emit(this.navigation.NEXT);\n }\n}\n","import {NgZone} from '@angular/core';\nimport {fromEvent, Observable, race} from 'rxjs';\nimport {delay, filter, map, takeUntil, tap, withLatestFrom} from 'rxjs/operators';\nimport {Key} from './key';\nimport {closest} from './util';\n\nconst isContainedIn = (element: HTMLElement, array?: HTMLElement[]) =>\n array ? array.some(item => item.contains(element)) : false;\n\nconst matchesSelectorIfAny = (element: HTMLElement, selector?: string) =>\n !selector || closest(element, selector) != null;\n\n// we have to add a more significant delay to avoid re-opening when handling (click) on a toggling element\n// TODO: use proper Angular platform detection when NgbAutoClose becomes a service and we can inject PLATFORM_ID\nconst isMobile = (() => {\n const isIOS = () => /iPad|iPhone|iPod/.test(navigator.userAgent) ||\n (/Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2);\n const isAndroid = () => /Android/.test(navigator.userAgent);\n\n return typeof navigator !== 'undefined' ? !!navigator.userAgent && (isIOS() || isAndroid()) : false;\n})();\n\n// setting 'ngbAutoClose' synchronously on mobile results in immediate popup closing\n// when tapping on the triggering element\nconst wrapAsyncForMobile = fn => isMobile ? () => setTimeout(() => fn(), 100) : fn;\n\nexport function ngbAutoClose(\n zone: NgZone, document: any, type: boolean | 'inside' | 'outside', close: () => void, closed$: Observable,\n insideElements: HTMLElement[], ignoreElements?: HTMLElement[], insideSelector?: string) {\n // closing on ESC and outside clicks\n if (type) {\n zone.runOutsideAngular(wrapAsyncForMobile(() => {\n\n const shouldCloseOnClick = (event: MouseEvent) => {\n const element = event.target as HTMLElement;\n if (event.button === 2 || isContainedIn(element, ignoreElements)) {\n return false;\n }\n if (type === 'inside') {\n return isContainedIn(element, insideElements) && matchesSelectorIfAny(element, insideSelector);\n } else if (type === 'outside') {\n return !isContainedIn(element, insideElements);\n } else /* if (type === true) */ {\n return matchesSelectorIfAny(element, insideSelector) || !isContainedIn(element, insideElements);\n }\n };\n\n const escapes$ = fromEvent(document, 'keydown')\n .pipe(\n takeUntil(closed$),\n // tslint:disable-next-line:deprecation\n filter(e => e.which === Key.Escape), tap(e => e.preventDefault()));\n\n\n // we have to pre-calculate 'shouldCloseOnClick' on 'mousedown',\n // because on 'mouseup' DOM nodes might be detached\n const mouseDowns$ =\n fromEvent(document, 'mousedown').pipe(map(shouldCloseOnClick), takeUntil(closed$));\n\n const closeableClicks$ = fromEvent(document, 'mouseup')\n .pipe(\n withLatestFrom(mouseDowns$), filter(([_, shouldClose]) => shouldClose), delay(0),\n takeUntil(closed$)) as Observable;\n\n\n race([escapes$, closeableClicks$]).subscribe(() => zone.run(close));\n }));\n }\n}\n","import {NgZone} from '@angular/core';\n\nimport {fromEvent, Observable} from 'rxjs';\nimport {filter, map, takeUntil, withLatestFrom} from 'rxjs/operators';\n\nimport {Key} from './key';\n\n\nconst FOCUSABLE_ELEMENTS_SELECTOR = [\n 'a[href]', 'button:not([disabled])', 'input:not([disabled]):not([type=\"hidden\"])', 'select:not([disabled])',\n 'textarea:not([disabled])', '[contenteditable]', '[tabindex]:not([tabindex=\"-1\"])'\n].join(', ');\n\n/**\n * Returns first and last focusable elements inside of a given element based on specific CSS selector\n */\nexport function getFocusableBoundaryElements(element: HTMLElement): HTMLElement[] {\n const list: HTMLElement[] =\n Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR) as NodeListOf)\n .filter(el => el.tabIndex !== -1);\n return [list[0], list[list.length - 1]];\n}\n\n/**\n * Function that enforces browser focus to be trapped inside a DOM element.\n *\n * Works only for clicks inside the element and navigation with 'Tab', ignoring clicks outside of the element\n *\n * @param zone Angular zone\n * @param element The element around which focus will be trapped inside\n * @param stopFocusTrap$ The observable stream. When completed the focus trap will clean up listeners\n * and free internal resources\n * @param refocusOnClick Put the focus back to the last focused element whenever a click occurs on element (default to\n * false)\n */\nexport const ngbFocusTrap =\n (zone: NgZone, element: HTMLElement, stopFocusTrap$: Observable, refocusOnClick = false) => {\n zone.runOutsideAngular(() => {\n // last focused element\n const lastFocusedElement$ =\n fromEvent(element, 'focusin').pipe(takeUntil(stopFocusTrap$), map(e => e.target));\n\n // 'tab' / 'shift+tab' stream\n fromEvent(element, 'keydown')\n .pipe(\n takeUntil(stopFocusTrap$),\n // tslint:disable:deprecation\n filter(e => e.which === Key.Tab),\n // tslint:enable:deprecation\n withLatestFrom(lastFocusedElement$))\n .subscribe(([tabEvent, focusedElement]) => {\n const[first, last] = getFocusableBoundaryElements(element);\n\n if ((focusedElement === first || focusedElement === element) && tabEvent.shiftKey) {\n last.focus();\n tabEvent.preventDefault();\n }\n\n if (focusedElement === last && !tabEvent.shiftKey) {\n first.focus();\n tabEvent.preventDefault();\n }\n });\n\n // inside click\n if (refocusOnClick) {\n fromEvent(element, 'click')\n .pipe(takeUntil(stopFocusTrap$), withLatestFrom(lastFocusedElement$), map(arr => arr[1] as HTMLElement))\n .subscribe(lastFocusedElement => lastFocusedElement.focus());\n }\n });\n };\n","// previous version:\n// https://github.com/angular-ui/bootstrap/blob/07c31d0731f7cb068a1932b8e01d2312b796b4ec/src/position/position.js\nexport class Positioning {\n private getAllStyles(element: HTMLElement) { return window.getComputedStyle(element); }\n\n private getStyle(element: HTMLElement, prop: string): string { return this.getAllStyles(element)[prop]; }\n\n private isStaticPositioned(element: HTMLElement): boolean {\n return (this.getStyle(element, 'position') || 'static') === 'static';\n }\n\n private offsetParent(element: HTMLElement): HTMLElement {\n let offsetParentEl = element.offsetParent || document.documentElement;\n\n while (offsetParentEl && offsetParentEl !== document.documentElement && this.isStaticPositioned(offsetParentEl)) {\n offsetParentEl = offsetParentEl.offsetParent;\n }\n\n return offsetParentEl || document.documentElement;\n }\n\n position(element: HTMLElement, round = true): ClientRect {\n let elPosition: ClientRect;\n let parentOffset: ClientRect = {width: 0, height: 0, top: 0, bottom: 0, left: 0, right: 0};\n\n if (this.getStyle(element, 'position') === 'fixed') {\n elPosition = element.getBoundingClientRect();\n elPosition = {\n top: elPosition.top,\n bottom: elPosition.bottom,\n left: elPosition.left,\n right: elPosition.right,\n height: elPosition.height,\n width: elPosition.width\n };\n } else {\n const offsetParentEl = this.offsetParent(element);\n\n elPosition = this.offset(element, false);\n\n if (offsetParentEl !== document.documentElement) {\n parentOffset = this.offset(offsetParentEl, false);\n }\n\n parentOffset.top += offsetParentEl.clientTop;\n parentOffset.left += offsetParentEl.clientLeft;\n }\n\n elPosition.top -= parentOffset.top;\n elPosition.bottom -= parentOffset.top;\n elPosition.left -= parentOffset.left;\n elPosition.right -= parentOffset.left;\n\n if (round) {\n elPosition.top = Math.round(elPosition.top);\n elPosition.bottom = Math.round(elPosition.bottom);\n elPosition.left = Math.round(elPosition.left);\n elPosition.right = Math.round(elPosition.right);\n }\n\n return elPosition;\n }\n\n offset(element: HTMLElement, round = true): ClientRect {\n const elBcr = element.getBoundingClientRect();\n const viewportOffset = {\n top: window.pageYOffset - document.documentElement.clientTop,\n left: window.pageXOffset - document.documentElement.clientLeft\n };\n\n let elOffset = {\n height: elBcr.height || element.offsetHeight,\n width: elBcr.width || element.offsetWidth,\n top: elBcr.top + viewportOffset.top,\n bottom: elBcr.bottom + viewportOffset.top,\n left: elBcr.left + viewportOffset.left,\n right: elBcr.right + viewportOffset.left\n };\n\n if (round) {\n elOffset.height = Math.round(elOffset.height);\n elOffset.width = Math.round(elOffset.width);\n elOffset.top = Math.round(elOffset.top);\n elOffset.bottom = Math.round(elOffset.bottom);\n elOffset.left = Math.round(elOffset.left);\n elOffset.right = Math.round(elOffset.right);\n }\n\n return elOffset;\n }\n\n /*\n Return false if the element to position is outside the viewport\n */\n positionElements(hostElement: HTMLElement, targetElement: HTMLElement, placement: string, appendToBody?: boolean):\n boolean {\n const[placementPrimary = 'top', placementSecondary = 'center'] = placement.split('-');\n\n const hostElPosition = appendToBody ? this.offset(hostElement, false) : this.position(hostElement, false);\n const targetElStyles = this.getAllStyles(targetElement);\n\n const marginTop = parseFloat(targetElStyles.marginTop);\n const marginBottom = parseFloat(targetElStyles.marginBottom);\n const marginLeft = parseFloat(targetElStyles.marginLeft);\n const marginRight = parseFloat(targetElStyles.marginRight);\n\n let topPosition = 0;\n let leftPosition = 0;\n\n switch (placementPrimary) {\n case 'top':\n topPosition = (hostElPosition.top - (targetElement.offsetHeight + marginTop + marginBottom));\n break;\n case 'bottom':\n topPosition = (hostElPosition.top + hostElPosition.height);\n break;\n case 'left':\n leftPosition = (hostElPosition.left - (targetElement.offsetWidth + marginLeft + marginRight));\n break;\n case 'right':\n leftPosition = (hostElPosition.left + hostElPosition.width);\n break;\n }\n\n switch (placementSecondary) {\n case 'top':\n topPosition = hostElPosition.top;\n break;\n case 'bottom':\n topPosition = hostElPosition.top + hostElPosition.height - targetElement.offsetHeight;\n break;\n case 'left':\n leftPosition = hostElPosition.left;\n break;\n case 'right':\n leftPosition = hostElPosition.left + hostElPosition.width - targetElement.offsetWidth;\n break;\n case 'center':\n if (placementPrimary === 'top' || placementPrimary === 'bottom') {\n leftPosition = (hostElPosition.left + hostElPosition.width / 2 - targetElement.offsetWidth / 2);\n } else {\n topPosition = (hostElPosition.top + hostElPosition.height / 2 - targetElement.offsetHeight / 2);\n }\n break;\n }\n\n /// The translate3d/gpu acceleration render a blurry text on chrome, the next line is commented until a browser fix\n // targetElement.style.transform = `translate3d(${Math.round(leftPosition)}px, ${Math.floor(topPosition)}px, 0px)`;\n targetElement.style.transform = `translate(${Math.round(leftPosition)}px, ${Math.round(topPosition)}px)`;\n\n // Check if the targetElement is inside the viewport\n const targetElBCR = targetElement.getBoundingClientRect();\n const html = document.documentElement;\n const windowHeight = window.innerHeight || html.clientHeight;\n const windowWidth = window.innerWidth || html.clientWidth;\n\n return targetElBCR.left >= 0 && targetElBCR.top >= 0 && targetElBCR.right <= windowWidth &&\n targetElBCR.bottom <= windowHeight;\n }\n}\n\nconst placementSeparator = /\\s+/;\nexport const positionService = new Positioning();\n\n/*\n * Accept the placement array and applies the appropriate placement dependent on the viewport.\n * Returns the applied placement.\n * In case of auto placement, placements are selected in order\n * 'top', 'bottom', 'left', 'right',\n * 'top-left', 'top-right',\n * 'bottom-left', 'bottom-right',\n * 'left-top', 'left-bottom',\n * 'right-top', 'right-bottom'.\n * */\nexport function positionElements(\n hostElement: HTMLElement, targetElement: HTMLElement, placement: string | Placement | PlacementArray,\n appendToBody?: boolean, baseClass?: string): Placement {\n let placementVals: Array =\n Array.isArray(placement) ? placement : placement.split(placementSeparator) as Array;\n\n const allowedPlacements = [\n 'top', 'bottom', 'left', 'right', 'top-left', 'top-right', 'bottom-left', 'bottom-right', 'left-top', 'left-bottom',\n 'right-top', 'right-bottom'\n ];\n\n const classList = targetElement.classList;\n const addClassesToTarget = (targetPlacement: Placement): Array => {\n const[primary, secondary] = targetPlacement.split('-');\n const classes = [];\n if (baseClass) {\n classes.push(`${baseClass}-${primary}`);\n if (secondary) {\n classes.push(`${baseClass}-${primary}-${secondary}`);\n }\n\n classes.forEach((classname) => { classList.add(classname); });\n }\n return classes;\n };\n\n // Remove old placement classes to avoid issues\n if (baseClass) {\n allowedPlacements.forEach((placementToRemove) => { classList.remove(`${baseClass}-${placementToRemove}`); });\n }\n\n // replace auto placement with other placements\n let hasAuto = placementVals.findIndex(val => val === 'auto');\n if (hasAuto >= 0) {\n allowedPlacements.forEach(function(obj) {\n if (placementVals.find(val => val.search('^' + obj) !== -1) == null) {\n placementVals.splice(hasAuto++, 1, obj as Placement);\n }\n });\n }\n\n // coordinates where to position\n\n // Required for transform:\n const style = targetElement.style;\n style.position = 'absolute';\n style.top = '0';\n style.left = '0';\n style['will-change'] = 'transform';\n\n let testPlacement: Placement;\n let isInViewport = false;\n for (testPlacement of placementVals) {\n let addedClasses = addClassesToTarget(testPlacement);\n\n if (positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody)) {\n isInViewport = true;\n break;\n }\n\n // Remove the baseClasses for further calculation\n if (baseClass) {\n addedClasses.forEach((classname) => { classList.remove(classname); });\n }\n }\n\n if (!isInViewport) {\n // If nothing match, the first placement is the default one\n testPlacement = placementVals[0];\n addClassesToTarget(testPlacement);\n positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody);\n }\n\n return testPlacement;\n}\n\nexport type Placement = 'auto' | 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' |\n 'bottom-right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';\n\nexport type PlacementArray = Placement | Array| string;\n","import {padNumber, toInteger, isNumber} from '../util/util';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {Injectable} from '@angular/core';\n\nexport function NGB_DATEPICKER_PARSER_FORMATTER_FACTORY() {\n return new NgbDateISOParserFormatter();\n}\n\n/**\n * An abstract service for parsing and formatting dates for the\n * [`NgbInputDatepicker`](#/components/datepicker/api#NgbInputDatepicker) directive.\n * Converts between the internal `NgbDateStruct` model presentation and a `string` that is displayed in the\n * input element.\n *\n * When user types something in the input this service attempts to parse it into a `NgbDateStruct` object.\n * And vice versa, when users selects a date in the calendar with the mouse, it must be displayed as a `string`\n * in the input.\n *\n * Default implementation uses the ISO 8601 format, but you can provide another implementation via DI\n * to use an alternative string format or a custom parsing logic.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_PARSER_FORMATTER_FACTORY})\nexport abstract class NgbDateParserFormatter {\n /**\n * Parses the given `string` to an `NgbDateStruct`.\n *\n * Implementations should try their best to provide a result, even\n * partial. They must return `null` if the value can't be parsed.\n */\n abstract parse(value: string): NgbDateStruct;\n\n /**\n * Formats the given `NgbDateStruct` to a `string`.\n *\n * Implementations should return an empty string if the given date is `null`,\n * and try their best to provide a partial result if the given date is incomplete or invalid.\n */\n abstract format(date: NgbDateStruct): string;\n}\n\n@Injectable()\nexport class NgbDateISOParserFormatter extends NgbDateParserFormatter {\n parse(value: string): NgbDateStruct {\n if (value) {\n const dateParts = value.trim().split('-');\n if (dateParts.length === 1 && isNumber(dateParts[0])) {\n return {year: toInteger(dateParts[0]), month: null, day: null};\n } else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) {\n return {year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: null};\n } else if (dateParts.length === 3 && isNumber(dateParts[0]) && isNumber(dateParts[1]) && isNumber(dateParts[2])) {\n return {year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: toInteger(dateParts[2])};\n }\n }\n return null;\n }\n\n format(date: NgbDateStruct): string {\n return date ?\n `${date.year}-${isNumber(date.month) ? padNumber(date.month) : ''}-${isNumber(date.day) ? padNumber(date.day) : ''}` :\n '';\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbDatepickerInput`](#/components/datepicker/api#NgbDatepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the datepicker inputs used in the application.\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbInputDatepickerConfig extends NgbDatepickerConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n container: null | 'body';\n positionTarget: string | HTMLElement;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n restoreFocus: true | HTMLElement | string = true;\n}\n","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator} from '@angular/forms';\n\nimport {ngbAutoClose} from '../util/autoclose';\nimport {ngbFocusTrap} from '../util/focus-trap';\nimport {PlacementArray, positionElements} from '../util/positioning';\n\nimport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nimport {NgbDatepicker, NgbDatepickerNavigateEvent} from './datepicker';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {NgbDateParserFormatter} from './ngb-date-parser-formatter';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {NgbInputDatepickerConfig} from './datepicker-input-config';\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {isString} from '../util/util';\n\nconst NGB_DATEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbInputDatepicker),\n multi: true\n};\n\nconst NGB_DATEPICKER_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => NgbInputDatepicker),\n multi: true\n};\n\n/**\n * A directive that allows to stick a datepicker popup to an input field.\n *\n * Manages interaction with the input field itself, does value formatting and provides forms integration.\n */\n@Directive({\n selector: 'input[ngbDatepicker]',\n exportAs: 'ngbDatepicker',\n host: {\n '(input)': 'manualDateChange($event.target.value)',\n '(change)': 'manualDateChange($event.target.value, true)',\n '(focus)': 'onFocus()',\n '(blur)': 'onBlur()',\n '[disabled]': 'disabled'\n },\n providers: [\n NGB_DATEPICKER_VALUE_ACCESSOR, NGB_DATEPICKER_VALIDATOR,\n {provide: NgbDatepickerConfig, useExisting: NgbInputDatepickerConfig}\n ],\n})\nexport class NgbInputDatepicker implements OnChanges,\n OnDestroy, ControlValueAccessor, Validator {\n private _cRef: ComponentRef = null;\n private _disabled = false;\n private _elWithFocus = null;\n private _model: NgbDate;\n private _inputValue: string;\n private _zoneSubscription: any;\n\n /**\n * Indicates whether the datepicker popup should be closed automatically after date selection / outside click or not.\n *\n * * `true` - the popup will close on both date selection and outside click.\n * * `false` - the popup can only be closed manually via `close()` or `toggle()` methods.\n * * `\"inside\"` - the popup will close on date selection, but not outside clicks.\n * * `\"outside\"` - the popup will close only on the outside click and not on date selection/inside clicks.\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The reference to a custom template for the day.\n *\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\n *\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\n */\n @Input() dayTemplate: TemplateRef;\n\n /**\n * The callback to pass any arbitrary data to the template cell via the\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\n *\n * `current` is the month that is currently displayed by the datepicker.\n *\n * @since 3.3.0\n */\n @Input() dayTemplateData: (date: NgbDate, current: {year: number, month: number}) => any;\n\n /**\n * The number of months to display.\n */\n @Input() displayMonths: number;\n\n /**\n * The first day of the week.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n @Input() firstDayOfWeek: number;\n\n /**\n * The reference to the custom template for the datepicker footer.\n *\n * @since 3.3.0\n */\n @Input() footerTemplate: TemplateRef;\n\n /**\n * The callback to mark some dates as disabled.\n *\n * It is called for each new date when navigating to a different month.\n *\n * `current` is the month that is currently displayed by the datepicker.\n */\n @Input() markDisabled: (date: NgbDate, current: {year: number, month: number}) => boolean;\n\n /**\n * The earliest date that can be displayed or selected. Also used for form validation.\n *\n * If not provided, 'year' select box will display 10 years before the current month.\n */\n @Input() minDate: NgbDateStruct;\n\n /**\n * The latest date that can be displayed or selected. Also used for form validation.\n *\n * If not provided, 'year' select box will display 10 years after the current month.\n */\n @Input() maxDate: NgbDateStruct;\n\n /**\n * Navigation type.\n *\n * * `\"select\"` - select boxes for month and navigation arrows\n * * `\"arrows\"` - only navigation arrows\n * * `\"none\"` - no navigation visible at all\n */\n @Input() navigation: 'select' | 'arrows' | 'none';\n\n /**\n * The way of displaying days that don't belong to the current month.\n *\n * * `\"visible\"` - days are visible\n * * `\"hidden\"` - days are hidden, white space preserved\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\n *\n * For the 2+ months view, days in between months are never shown.\n */\n @Input() outsideDays: 'visible' | 'collapsed' | 'hidden';\n\n /**\n * The preferred placement of the datepicker popup.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * If `true`, when closing datepicker will focus element that was focused before datepicker was opened.\n *\n * Alternatively you could provide a selector or an `HTMLElement` to focus. If the element doesn't exist or invalid,\n * we'll fallback to focus document body.\n *\n * @since 5.2.0\n */\n @Input() restoreFocus: true | string | HTMLElement;\n\n /**\n * If `true`, weekdays will be displayed.\n */\n @Input() showWeekdays: boolean;\n\n /**\n * If `true`, week numbers will be displayed.\n */\n @Input() showWeekNumbers: boolean;\n\n /**\n * The date to open calendar with.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date is provided, calendar will open with current month.\n *\n * You could use `navigateTo(date)` method as an alternative.\n */\n @Input() startDate: {year: number, month: number, day?: number};\n\n /**\n * A selector specifying the element the datepicker popup should be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * A css selector or html element specifying the element the datepicker popup should be positioned against.\n *\n * By default the input is used as a target.\n *\n * @since 4.2.0\n */\n @Input() positionTarget: string | HTMLElement;\n\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @since 1.1.1\n */\n @Output() dateSelect = new EventEmitter();\n\n /**\n * Event emitted right after the navigation happens and displayed month changes.\n *\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\n */\n @Output() navigate = new EventEmitter();\n\n /**\n * An event fired after closing datepicker window.\n *\n * @since 4.2.0\n */\n @Output() closed = new EventEmitter();\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = value === '' || (value && value !== 'false');\n\n if (this.isOpen()) {\n this._cRef.instance.setDisabledState(this._disabled);\n }\n }\n\n private _onChange = (_: any) => {};\n private _onTouched = () => {};\n private _validatorChange = () => {};\n\n\n constructor(\n private _parserFormatter: NgbDateParserFormatter, private _elRef: ElementRef,\n private _vcRef: ViewContainerRef, private _renderer: Renderer2, private _cfr: ComponentFactoryResolver,\n private _ngZone: NgZone, private _calendar: NgbCalendar, private _dateAdapter: NgbDateAdapter,\n @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n config: NgbInputDatepickerConfig) {\n ['autoClose', 'container', 'positionTarget', 'placement'].forEach(input => this[input] = config[input]);\n this._zoneSubscription = _ngZone.onStable.subscribe(() => this._updatePopupPosition());\n }\n\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\n\n registerOnValidatorChange(fn: () => void): void { this._validatorChange = fn; }\n\n setDisabledState(isDisabled: boolean): void { this.disabled = isDisabled; }\n\n validate(c: AbstractControl): {[key: string]: any} {\n const {value} = c;\n\n if (value === null || value === undefined) {\n return null;\n }\n\n const ngbDate = this._fromDateStruct(this._dateAdapter.fromModel(value));\n\n if (!this._calendar.isValid(ngbDate)) {\n return {'ngbDate': {invalid: value}};\n }\n\n if (this.minDate && ngbDate.before(NgbDate.from(this.minDate))) {\n return {'ngbDate': {minDate: {minDate: this.minDate, actual: value}}};\n }\n\n if (this.maxDate && ngbDate.after(NgbDate.from(this.maxDate))) {\n return {'ngbDate': {maxDate: {maxDate: this.maxDate, actual: value}}};\n }\n }\n\n writeValue(value) {\n this._model = this._fromDateStruct(this._dateAdapter.fromModel(value));\n this._writeModelValue(this._model);\n }\n\n manualDateChange(value: string, updateView = false) {\n const inputValueChanged = value !== this._inputValue;\n if (inputValueChanged) {\n this._inputValue = value;\n this._model = this._fromDateStruct(this._parserFormatter.parse(value));\n }\n if (inputValueChanged || !updateView) {\n this._onChange(this._model ? this._dateAdapter.toModel(this._model) : (value === '' ? null : value));\n }\n if (updateView && this._model) {\n this._writeModelValue(this._model);\n }\n }\n\n isOpen() { return !!this._cRef; }\n\n /**\n * Opens the datepicker popup.\n *\n * If the related form control contains a valid date, the corresponding month will be opened.\n */\n open() {\n if (!this.isOpen()) {\n const cf = this._cfr.resolveComponentFactory(NgbDatepicker);\n this._cRef = this._vcRef.createComponent(cf);\n\n this._applyPopupStyling(this._cRef.location.nativeElement);\n this._applyDatepickerInputs(this._cRef.instance);\n this._subscribeForDatepickerOutputs(this._cRef.instance);\n this._cRef.instance.ngOnInit();\n this._cRef.instance.writeValue(this._dateAdapter.toModel(this._model));\n\n // date selection event handling\n this._cRef.instance.registerOnChange((selectedDate) => {\n this.writeValue(selectedDate);\n this._onChange(selectedDate);\n this._onTouched();\n });\n\n this._cRef.changeDetectorRef.detectChanges();\n\n this._cRef.instance.setDisabledState(this.disabled);\n\n if (this.container === 'body') {\n window.document.querySelector(this.container).appendChild(this._cRef.location.nativeElement);\n }\n\n // focus handling\n this._elWithFocus = this._document.activeElement;\n ngbFocusTrap(this._ngZone, this._cRef.location.nativeElement, this.closed, true);\n this._cRef.instance.focus();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.closed, [],\n [this._elRef.nativeElement, this._cRef.location.nativeElement]);\n }\n }\n\n /**\n * Closes the datepicker popup.\n */\n close() {\n if (this.isOpen()) {\n this._vcRef.remove(this._vcRef.indexOf(this._cRef.hostView));\n this._cRef = null;\n this.closed.emit();\n this._changeDetector.markForCheck();\n\n // restore focus\n let elementToFocus = this._elWithFocus;\n if (isString(this.restoreFocus)) {\n elementToFocus = this._document.querySelector(this.restoreFocus);\n } else if (this.restoreFocus !== undefined) {\n elementToFocus = this.restoreFocus;\n }\n\n // in IE document.activeElement can contain an object without 'focus()' sometimes\n if (elementToFocus && elementToFocus['focus']) {\n elementToFocus.focus();\n } else {\n this._document.body.focus();\n }\n }\n }\n\n /**\n * Toggles the datepicker popup.\n */\n toggle() {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Navigates to the provided date.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date provided calendar will open current month.\n *\n * Use the `[startDate]` input as an alternative.\n */\n navigateTo(date?: {year: number, month: number, day?: number}) {\n if (this.isOpen()) {\n this._cRef.instance.navigateTo(date);\n }\n }\n\n onBlur() { this._onTouched(); }\n\n onFocus() { this._elWithFocus = this._elRef.nativeElement; }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['minDate'] || changes['maxDate']) {\n this._validatorChange();\n\n if (this.isOpen()) {\n if (changes['minDate']) {\n this._cRef.instance.minDate = this._dateAdapter.toModel(changes.minDate.currentValue);\n }\n if (changes['maxDate']) {\n this._cRef.instance.maxDate = this._dateAdapter.toModel(changes.maxDate.currentValue);\n }\n this._cRef.instance.ngOnChanges(changes);\n }\n }\n }\n\n ngOnDestroy() {\n this.close();\n this._zoneSubscription.unsubscribe();\n }\n\n private _applyDatepickerInputs(datepickerInstance: NgbDatepicker): void {\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\n 'maxDate', 'navigation', 'outsideDays', 'showNavigation', 'showWeekdays', 'showWeekNumbers']\n .forEach((optionName: string) => {\n if (this[optionName] !== undefined) {\n datepickerInstance[optionName] = this[optionName];\n }\n });\n datepickerInstance.startDate = this.startDate || this._model;\n }\n\n private _applyPopupStyling(nativeElement: any) {\n this._renderer.addClass(nativeElement, 'dropdown-menu');\n this._renderer.addClass(nativeElement, 'show');\n\n if (this.container === 'body') {\n this._renderer.addClass(nativeElement, 'ngb-dp-body');\n }\n }\n\n private _subscribeForDatepickerOutputs(datepickerInstance: NgbDatepicker) {\n datepickerInstance.navigate.subscribe(navigateEvent => this.navigate.emit(navigateEvent));\n datepickerInstance.dateSelect.subscribe(date => {\n this.dateSelect.emit(date);\n if (this.autoClose === true || this.autoClose === 'inside') {\n this.close();\n }\n });\n }\n\n private _writeModelValue(model: NgbDate) {\n const value = this._parserFormatter.format(model);\n this._inputValue = value;\n this._renderer.setProperty(this._elRef.nativeElement, 'value', value);\n if (this.isOpen()) {\n this._cRef.instance.writeValue(this._dateAdapter.toModel(model));\n this._onTouched();\n }\n }\n\n private _fromDateStruct(date: NgbDateStruct): NgbDate {\n const ngbDate = date ? new NgbDate(date.year, date.month, date.day) : null;\n return this._calendar.isValid(ngbDate) ? ngbDate : null;\n }\n\n private _updatePopupPosition() {\n if (!this._cRef) {\n return;\n }\n\n let hostElement: HTMLElement;\n if (isString(this.positionTarget)) {\n hostElement = this._document.querySelector(this.positionTarget);\n } else if (this.positionTarget instanceof HTMLElement) {\n hostElement = this.positionTarget;\n } else {\n hostElement = this._elRef.nativeElement;\n }\n\n if (this.positionTarget && !hostElement) {\n throw new Error('ngbDatepicker could not find element declared in [positionTarget] to position against.');\n }\n\n positionElements(hostElement, this._cRef.location.nativeElement, this.placement, this.container === 'body');\n }\n}\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\nimport {NgbDate} from './ngb-date';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: '[ngbDatepickerDayView]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-day-view.scss'],\n host: {\n 'class': 'btn-light',\n '[class.bg-primary]': 'selected',\n '[class.text-white]': 'selected',\n '[class.text-muted]': 'isMuted()',\n '[class.outside]': 'isMuted()',\n '[class.active]': 'focused'\n },\n template: `{{ i18n.getDayNumerals(date) }}`\n})\nexport class NgbDatepickerDayView {\n @Input() currentMonth: number;\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() focused: boolean;\n @Input() selected: boolean;\n\n constructor(public i18n: NgbDatepickerI18n) {}\n\n isMuted() { return !this.selected && (this.date.month !== this.currentMonth || this.disabled); }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterViewChecked,\n ViewChild,\n ElementRef,\n Renderer2\n} from '@angular/core';\nimport {NgbDate} from './ngb-date';\nimport {toInteger} from '../util/util';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: 'ngb-datepicker-navigation-select',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-navigation-select.scss'],\n template: `\n \n `\n})\nexport class NgbDatepickerNavigationSelect implements AfterViewChecked {\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() months: number[];\n @Input() years: number[];\n\n @Output() select = new EventEmitter();\n\n @ViewChild('month', {static: true, read: ElementRef}) monthSelect: ElementRef;\n @ViewChild('year', {static: true, read: ElementRef}) yearSelect: ElementRef;\n\n private _month = -1;\n private _year = -1;\n\n constructor(public i18n: NgbDatepickerI18n, private _renderer: Renderer2) {}\n\n changeMonth(month: string) { this.select.emit(new NgbDate(this.date.year, toInteger(month), 1)); }\n\n changeYear(year: string) { this.select.emit(new NgbDate(toInteger(year), this.date.month, 1)); }\n\n ngAfterViewChecked() {\n if (this.date) {\n if (this.date.month !== this._month) {\n this._month = this.date.month;\n this._renderer.setProperty(this.monthSelect.nativeElement, 'value', this._month);\n }\n if (this.date.year !== this._year) {\n this._year = this.date.year;\n this._renderer.setProperty(this.yearSelect.nativeElement, 'value', this._year);\n }\n }\n }\n}\n","import {NgbDate} from '../ngb-date';\nimport {NgbPeriod, NgbCalendar} from '../ngb-calendar';\nimport {Injectable} from '@angular/core';\nimport {isNumber} from '../../util/util';\n\n@Injectable()\nexport abstract class NgbCalendarHijri extends NgbCalendar {\n /**\n * Returns the number of days in a specific Hijri month.\n * `month` is 1 for Muharram, 2 for Safar, etc.\n * `year` is any Hijri year.\n */\n abstract getDaysPerMonth(month: number, year: number): number;\n\n /**\n * Returns the equivalent Hijri date value for a give input Gregorian date.\n * `gDate` is s JS Date to be converted to Hijri.\n */\n abstract fromGregorian(gDate: Date): NgbDate;\n\n /**\n * Converts the current Hijri date to Gregorian.\n */\n abstract toGregorian(hDate: NgbDate): Date;\n\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date = this._setYear(date, date.year + number);\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = this._setMonth(date, date.month + number);\n date.day = 1;\n return date;\n case 'd':\n return this._setDay(date, date.day + number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = this.toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n const date = week[thursdayIndex];\n\n const jsDate = this.toGregorian(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n const MuhDate = this.toGregorian(new NgbDate(date.year, 1, 1)); // Compare with Muharram 1\n return Math.floor(Math.round((time - MuhDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return this.fromGregorian(new Date()); }\n\n\n isValid(date: NgbDate): boolean {\n return date && isNumber(date.year) && isNumber(date.month) && isNumber(date.day) &&\n !isNaN(this.toGregorian(date).getTime());\n }\n\n private _setDay(date: NgbDate, day: number): NgbDate {\n day = +day;\n let mDays = this.getDaysPerMonth(date.month, date.year);\n if (day <= 0) {\n while (day <= 0) {\n date = this._setMonth(date, date.month - 1);\n mDays = this.getDaysPerMonth(date.month, date.year);\n day += mDays;\n }\n } else if (day > mDays) {\n while (day > mDays) {\n day -= mDays;\n date = this._setMonth(date, date.month + 1);\n mDays = this.getDaysPerMonth(date.month, date.year);\n }\n }\n date.day = day;\n return date;\n }\n\n private _setMonth(date: NgbDate, month: number): NgbDate {\n month = +month;\n date.year = date.year + Math.floor((month - 1) / 12);\n date.month = Math.floor(((month - 1) % 12 + 12) % 12) + 1;\n return date;\n }\n\n private _setYear(date: NgbDate, year: number): NgbDate {\n date.year = +year;\n return date;\n }\n}\n","import {NgbCalendarHijri} from './ngb-calendar-hijri';\nimport {NgbDate} from '../ngb-date';\nimport {Injectable} from '@angular/core';\n\n/**\n * Checks if islamic year is a leap year\n */\nfunction isIslamicLeapYear(hYear: number): boolean {\n return (14 + 11 * hYear) % 30 < 11;\n}\n\n/**\n * Checks if gregorian years is a leap year\n */\nfunction isGregorianLeapYear(gDate: Date): boolean {\n const year = gDate.getFullYear();\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\n\n/**\n * Returns the start of Hijri Month.\n * `hMonth` is 0 for Muharram, 1 for Safar, etc.\n * `hYear` is any Hijri hYear.\n */\nfunction getIslamicMonthStart(hYear: number, hMonth: number): number {\n return Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30.0);\n}\n\n/**\n * Returns the start of Hijri year.\n * `year` is any Hijri year.\n */\nfunction getIslamicYearStart(year: number): number {\n return (year - 1) * 354 + Math.floor((3 + 11 * year) / 30.0);\n}\n\nfunction mod(a: number, b: number): number {\n return a - b * Math.floor(a / b);\n}\n\n/**\n * The civil calendar is one type of Hijri calendars used in islamic countries.\n * Uses a fixed cycle of alternating 29- and 30-day months,\n * with a leap day added to the last month of 11 out of every 30 years.\n * http://cldr.unicode.org/development/development-process/design-proposals/islamic-calendar-types\n * All the calculations here are based on the equations from \"Calendrical Calculations\" By Edward M. Reingold, Nachum\n * Dershowitz.\n */\n\nconst GREGORIAN_EPOCH = 1721425.5;\nconst ISLAMIC_EPOCH = 1948439.5;\n\n@Injectable()\nexport class NgbCalendarIslamicCivil extends NgbCalendarHijri {\n /**\n * Returns the equivalent islamic(civil) date value for a give input Gregorian date.\n * `gDate` is a JS Date to be converted to Hijri.\n */\n fromGregorian(gDate: Date): NgbDate {\n const gYear = gDate.getFullYear(), gMonth = gDate.getMonth(), gDay = gDate.getDate();\n\n let julianDay = GREGORIAN_EPOCH - 1 + 365 * (gYear - 1) + Math.floor((gYear - 1) / 4) +\n -Math.floor((gYear - 1) / 100) + Math.floor((gYear - 1) / 400) +\n Math.floor(\n (367 * (gMonth + 1) - 362) / 12 + (gMonth + 1 <= 2 ? 0 : isGregorianLeapYear(gDate) ? -1 : -2) + gDay);\n julianDay = Math.floor(julianDay) + 0.5;\n\n const days = julianDay - ISLAMIC_EPOCH;\n const hYear = Math.floor((30 * days + 10646) / 10631.0);\n let hMonth = Math.ceil((days - 29 - getIslamicYearStart(hYear)) / 29.5);\n hMonth = Math.min(hMonth, 11);\n const hDay = Math.ceil(days - getIslamicMonthStart(hYear, hMonth)) + 1;\n return new NgbDate(hYear, hMonth + 1, hDay);\n }\n\n /**\n * Returns the equivalent JS date value for a give input islamic(civil) date.\n * `hDate` is an islamic(civil) date to be converted to Gregorian.\n */\n toGregorian(hDate: NgbDate): Date {\n const hYear = hDate.year;\n const hMonth = hDate.month - 1;\n const hDay = hDate.day;\n const julianDay =\n hDay + Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30) + ISLAMIC_EPOCH - 1;\n\n const wjd = Math.floor(julianDay - 0.5) + 0.5, depoch = wjd - GREGORIAN_EPOCH,\n quadricent = Math.floor(depoch / 146097), dqc = mod(depoch, 146097), cent = Math.floor(dqc / 36524),\n dcent = mod(dqc, 36524), quad = Math.floor(dcent / 1461), dquad = mod(dcent, 1461),\n yindex = Math.floor(dquad / 365);\n let year = quadricent * 400 + cent * 100 + quad * 4 + yindex;\n if (!(cent === 4 || yindex === 4)) {\n year++;\n }\n\n const gYearStart = GREGORIAN_EPOCH + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400);\n\n const yearday = wjd - gYearStart;\n\n const tjd = GREGORIAN_EPOCH - 1 + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400) + Math.floor(739 / 12 + (isGregorianLeapYear(new Date(year, 3, 1)) ? -1 : -2) + 1);\n\n const leapadj = wjd < tjd ? 0 : isGregorianLeapYear(new Date(year, 3, 1)) ? 1 : 2;\n\n const month = Math.floor(((yearday + leapadj) * 12 + 373) / 367);\n const tjd2 = GREGORIAN_EPOCH - 1 + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400) +\n Math.floor(\n (367 * month - 362) / 12 + (month <= 2 ? 0 : isGregorianLeapYear(new Date(year, month - 1, 1)) ? -1 : -2) +\n 1);\n\n const day = wjd - tjd2 + 1;\n\n return new Date(year, month - 1, day);\n }\n\n /**\n * Returns the number of days in a specific Hijri month.\n * `month` is 1 for Muharram, 2 for Safar, etc.\n * `year` is any Hijri year.\n */\n getDaysPerMonth(month: number, year: number): number {\n year = year + Math.floor(month / 13);\n month = ((month - 1) % 12) + 1;\n let length = 29 + month % 2;\n if (month === 12 && isIslamicLeapYear(year)) {\n length++;\n }\n return length;\n }\n}\n","import {NgbCalendarIslamicCivil} from './ngb-calendar-islamic-civil';\nimport {NgbDate} from '../ngb-date';\nimport {Injectable} from '@angular/core';\n\n/**\n * Umalqura calendar is one type of Hijri calendars used in islamic countries.\n * This Calendar is used by Saudi Arabia for administrative purpose.\n * Unlike tabular calendars, the algorithm involves astronomical calculation, but it's still deterministic.\n * http://cldr.unicode.org/development/development-process/design-proposals/islamic-calendar-types\n */\n\nconst GREGORIAN_FIRST_DATE = new Date(1882, 10, 12);\nconst GREGORIAN_LAST_DATE = new Date(2174, 10, 25);\nconst HIJRI_BEGIN = 1300;\nconst HIJRI_END = 1600;\nconst ONE_DAY = 1000 * 60 * 60 * 24;\n\nconst MONTH_LENGTH = [\n // 1300-1304\n '101010101010', '110101010100', '111011001001', '011011010100', '011011101010',\n // 1305-1309\n '001101101100', '101010101101', '010101010101', '011010101001', '011110010010',\n // 1310-1314\n '101110101001', '010111010100', '101011011010', '010101011100', '110100101101',\n // 1315-1319\n '011010010101', '011101001010', '101101010100', '101101101010', '010110101101',\n // 1320-1324\n '010010101110', '101001001111', '010100010111', '011010001011', '011010100101',\n // 1325-1329\n '101011010101', '001011010110', '100101011011', '010010011101', '101001001101',\n // 1330-1334\n '110100100110', '110110010101', '010110101100', '100110110110', '001010111010',\n // 1335-1339\n '101001011011', '010100101011', '101010010101', '011011001010', '101011101001',\n // 1340-1344\n '001011110100', '100101110110', '001010110110', '100101010110', '101011001010',\n // 1345-1349\n '101110100100', '101111010010', '010111011001', '001011011100', '100101101101',\n // 1350-1354\n '010101001101', '101010100101', '101101010010', '101110100101', '010110110100',\n // 1355-1359\n '100110110110', '010101010111', '001010010111', '010101001011', '011010100011',\n // 1360-1364\n '011101010010', '101101100101', '010101101010', '101010101011', '010100101011',\n // 1365-1369\n '110010010101', '110101001010', '110110100101', '010111001010', '101011010110',\n // 1370-1374\n '100101010111', '010010101011', '100101001011', '101010100101', '101101010010',\n // 1375-1379\n '101101101010', '010101110101', '001001110110', '100010110111', '010001011011',\n // 1380-1384\n '010101010101', '010110101001', '010110110100', '100111011010', '010011011101',\n // 1385-1389\n '001001101110', '100100110110', '101010101010', '110101010100', '110110110010',\n // 1390-1394\n '010111010101', '001011011010', '100101011011', '010010101011', '101001010101',\n // 1395-1399\n '101101001001', '101101100100', '101101110001', '010110110100', '101010110101',\n // 1400-1404\n '101001010101', '110100100101', '111010010010', '111011001001', '011011010100',\n // 1405-1409\n '101011101001', '100101101011', '010010101011', '101010010011', '110101001001',\n // 1410-1414\n '110110100100', '110110110010', '101010111001', '010010111010', '101001011011',\n // 1415-1419\n '010100101011', '101010010101', '101100101010', '101101010101', '010101011100',\n // 1420-1424\n '010010111101', '001000111101', '100100011101', '101010010101', '101101001010',\n // 1425-1429\n '101101011010', '010101101101', '001010110110', '100100111011', '010010011011',\n // 1430-1434\n '011001010101', '011010101001', '011101010100', '101101101010', '010101101100',\n // 1435-1439\n '101010101101', '010101010101', '101100101001', '101110010010', '101110101001',\n // 1440-1444\n '010111010100', '101011011010', '010101011010', '101010101011', '010110010101',\n // 1445-1449\n '011101001001', '011101100100', '101110101010', '010110110101', '001010110110',\n // 1450-1454\n '101001010110', '111001001101', '101100100101', '101101010010', '101101101010',\n // 1455-1459\n '010110101101', '001010101110', '100100101111', '010010010111', '011001001011',\n // 1460-1464\n '011010100101', '011010101100', '101011010110', '010101011101', '010010011101',\n // 1465-1469\n '101001001101', '110100010110', '110110010101', '010110101010', '010110110101',\n // 1470-1474\n '001011011010', '100101011011', '010010101101', '010110010101', '011011001010',\n // 1475-1479\n '011011100100', '101011101010', '010011110101', '001010110110', '100101010110',\n // 1480-1484\n '101010101010', '101101010100', '101111010010', '010111011001', '001011101010',\n // 1485-1489\n '100101101101', '010010101101', '101010010101', '101101001010', '101110100101',\n // 1490-1494\n '010110110010', '100110110101', '010011010110', '101010010111', '010101000111',\n // 1495-1499\n '011010010011', '011101001001', '101101010101', '010101101010', '101001101011',\n // 1500-1504\n '010100101011', '101010001011', '110101000110', '110110100011', '010111001010',\n // 1505-1509\n '101011010110', '010011011011', '001001101011', '100101001011', '101010100101',\n // 1510-1514\n '101101010010', '101101101001', '010101110101', '000101110110', '100010110111',\n // 1515-1519\n '001001011011', '010100101011', '010101100101', '010110110100', '100111011010',\n // 1520-1524\n '010011101101', '000101101101', '100010110110', '101010100110', '110101010010',\n // 1525-1529\n '110110101001', '010111010100', '101011011010', '100101011011', '010010101011',\n // 1530-1534\n '011001010011', '011100101001', '011101100010', '101110101001', '010110110010',\n // 1535-1539\n '101010110101', '010101010101', '101100100101', '110110010010', '111011001001',\n // 1540-1544\n '011011010010', '101011101001', '010101101011', '010010101011', '101001010101',\n // 1545-1549\n '110100101001', '110101010100', '110110101010', '100110110101', '010010111010',\n // 1550-1554\n '101000111011', '010010011011', '101001001101', '101010101010', '101011010101',\n // 1555-1559\n '001011011010', '100101011101', '010001011110', '101000101110', '110010011010',\n // 1560-1564\n '110101010101', '011010110010', '011010111001', '010010111010', '101001011101',\n // 1565-1569\n '010100101101', '101010010101', '101101010010', '101110101000', '101110110100',\n // 1570-1574\n '010110111001', '001011011010', '100101011010', '101101001010', '110110100100',\n // 1575-1579\n '111011010001', '011011101000', '101101101010', '010101101101', '010100110101',\n // 1580-1584\n '011010010101', '110101001010', '110110101000', '110111010100', '011011011010',\n // 1585-1589\n '010101011011', '001010011101', '011000101011', '101100010101', '101101001010',\n // 1590-1594\n '101110010101', '010110101010', '101010101110', '100100101110', '110010001111',\n // 1595-1599\n '010100100111', '011010010101', '011010101010', '101011010110', '010101011101',\n // 1600\n '001010011101'\n];\n\nfunction getDaysDiff(date1: Date, date2: Date): number {\n // Ignores the time part in date1 and date2:\n const time1 = Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate());\n const time2 = Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate());\n const diff = Math.abs(time1 - time2);\n return Math.round(diff / ONE_DAY);\n}\n\n@Injectable()\nexport class NgbCalendarIslamicUmalqura extends NgbCalendarIslamicCivil {\n /**\n * Returns the equivalent islamic(Umalqura) date value for a give input Gregorian date.\n * `gdate` is s JS Date to be converted to Hijri.\n */\n fromGregorian(gDate: Date): NgbDate {\n let hDay = 1, hMonth = 0, hYear = 1300;\n let daysDiff = getDaysDiff(gDate, GREGORIAN_FIRST_DATE);\n if (gDate.getTime() - GREGORIAN_FIRST_DATE.getTime() >= 0 && gDate.getTime() - GREGORIAN_LAST_DATE.getTime() <= 0) {\n let year = 1300;\n for (let i = 0; i < MONTH_LENGTH.length; i++, year++) {\n for (let j = 0; j < 12; j++) {\n let numOfDays = +MONTH_LENGTH[i][j] + 29;\n if (daysDiff <= numOfDays) {\n hDay = daysDiff + 1;\n if (hDay > numOfDays) {\n hDay = 1;\n j++;\n }\n if (j > 11) {\n j = 0;\n year++;\n }\n hMonth = j;\n hYear = year;\n return new NgbDate(hYear, hMonth + 1, hDay);\n }\n daysDiff = daysDiff - numOfDays;\n }\n }\n } else {\n return super.fromGregorian(gDate);\n }\n }\n /**\n * Converts the current Hijri date to Gregorian.\n */\n toGregorian(hDate: NgbDate): Date {\n const hYear = hDate.year;\n const hMonth = hDate.month - 1;\n const hDay = hDate.day;\n let gDate = new Date(GREGORIAN_FIRST_DATE);\n let dayDiff = hDay - 1;\n if (hYear >= HIJRI_BEGIN && hYear <= HIJRI_END) {\n for (let y = 0; y < hYear - HIJRI_BEGIN; y++) {\n for (let m = 0; m < 12; m++) {\n dayDiff += +MONTH_LENGTH[y][m] + 29;\n }\n }\n for (let m = 0; m < hMonth; m++) {\n dayDiff += +MONTH_LENGTH[hYear - HIJRI_BEGIN][m] + 29;\n }\n gDate.setDate(GREGORIAN_FIRST_DATE.getDate() + dayDiff);\n } else {\n gDate = super.toGregorian(hDate);\n }\n return gDate;\n }\n /**\n * Returns the number of days in a specific Hijri hMonth.\n * `hMonth` is 1 for Muharram, 2 for Safar, etc.\n * `hYear` is any Hijri hYear.\n */\n getDaysPerMonth(hMonth: number, hYear: number): number {\n if (hYear >= HIJRI_BEGIN && hYear <= HIJRI_END) {\n const pos = hYear - HIJRI_BEGIN;\n return +MONTH_LENGTH[pos][hMonth - 1] + 29;\n }\n return super.getDaysPerMonth(hMonth, hYear);\n }\n}\n","import {NgbDate} from '../ngb-date';\n\n/**\n * Returns the equivalent JS date value for a give input Jalali date.\n * `jalaliDate` is an Jalali date to be converted to Gregorian.\n */\nexport function toGregorian(jalaliDate: NgbDate): Date {\n let jdn = jalaliToJulian(jalaliDate.year, jalaliDate.month, jalaliDate.day);\n let date = julianToGregorian(jdn);\n date.setHours(6, 30, 3, 200);\n return date;\n}\n\n/**\n * Returns the equivalent jalali date value for a give input Gregorian date.\n * `gdate` is a JS Date to be converted to jalali.\n * utc to local\n */\nexport function fromGregorian(gdate: Date): NgbDate {\n let g2d = gregorianToJulian(gdate.getFullYear(), gdate.getMonth() + 1, gdate.getDate());\n return julianToJalali(g2d);\n}\n\nexport function setJalaliYear(date: NgbDate, yearValue: number): NgbDate {\n date.year = +yearValue;\n return date;\n}\n\nexport function setJalaliMonth(date: NgbDate, month: number): NgbDate {\n month = +month;\n date.year = date.year + Math.floor((month - 1) / 12);\n date.month = Math.floor(((month - 1) % 12 + 12) % 12) + 1;\n return date;\n}\n\nexport function setJalaliDay(date: NgbDate, day: number): NgbDate {\n let mDays = getDaysPerMonth(date.month, date.year);\n if (day <= 0) {\n while (day <= 0) {\n date = setJalaliMonth(date, date.month - 1);\n mDays = getDaysPerMonth(date.month, date.year);\n day += mDays;\n }\n } else if (day > mDays) {\n while (day > mDays) {\n day -= mDays;\n date = setJalaliMonth(date, date.month + 1);\n mDays = getDaysPerMonth(date.month, date.year);\n }\n }\n date.day = day;\n return date;\n}\n\nfunction mod(a: number, b: number): number {\n return a - b * Math.floor(a / b);\n}\n\nfunction div(a: number, b: number) {\n return Math.trunc(a / b);\n}\n\n/*\n This function determines if the Jalali (Persian) year is\n leap (366-day long) or is the common year (365 days), and\n finds the day in March (Gregorian calendar) of the first\n day of the Jalali year (jalaliYear).\n @param jalaliYear Jalali calendar year (-61 to 3177)\n @return\n leap: number of years since the last leap year (0 to 4)\n gYear: Gregorian year of the beginning of Jalali year\n march: the March day of Farvardin the 1st (1st day of jalaliYear)\n @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm\n @see: http://www.fourmilab.ch/documents/calendar/\n */\nfunction jalCal(jalaliYear: number) {\n // Jalali years starting the 33-year rule.\n let breaks =\n [-61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178];\n const breaksLength = breaks.length;\n const gYear = jalaliYear + 621;\n let leapJ = -14;\n let jp = breaks[0];\n\n if (jalaliYear < jp || jalaliYear >= breaks[breaksLength - 1]) {\n throw new Error('Invalid Jalali year ' + jalaliYear);\n }\n\n // Find the limiting years for the Jalali year jalaliYear.\n let jump;\n for (let i = 1; i < breaksLength; i += 1) {\n const jm = breaks[i];\n jump = jm - jp;\n if (jalaliYear < jm) {\n break;\n }\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4);\n jp = jm;\n }\n let n = jalaliYear - jp;\n\n // Find the number of leap years from AD 621 to the beginning\n // of the current Jalali year in the Persian calendar.\n leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4);\n if (mod(jump, 33) === 4 && jump - n === 4) {\n leapJ += 1;\n }\n\n // And the same in the Gregorian calendar (until the year gYear).\n const leapG = div(gYear, 4) - div((div(gYear, 100) + 1) * 3, 4) - 150;\n\n // Determine the Gregorian date of Farvardin the 1st.\n const march = 20 + leapJ - leapG;\n\n // Find how many years have passed since the last leap year.\n if (jump - n < 6) {\n n = n - jump + div(jump + 4, 33) * 33;\n }\n let leap = mod(mod(n + 1, 33) - 1, 4);\n if (leap === -1) {\n leap = 4;\n }\n\n return {leap: leap, gy: gYear, march: march};\n}\n\n/*\n Calculates Gregorian and Julian calendar dates from the Julian Day number\n (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both\n calendars) to some millions years ahead of the present.\n @param jdn Julian Day number\n @return\n gYear: Calendar year (years BC numbered 0, -1, -2, ...)\n gMonth: Calendar month (1 to 12)\n gDay: Calendar day of the month M (1 to 28/29/30/31)\n */\nfunction julianToGregorian(julianDayNumber: number) {\n let j = 4 * julianDayNumber + 139361631;\n j = j + div(div(4 * julianDayNumber + 183187720, 146097) * 3, 4) * 4 - 3908;\n const i = div(mod(j, 1461), 4) * 5 + 308;\n const gDay = div(mod(i, 153), 5) + 1;\n const gMonth = mod(div(i, 153), 12) + 1;\n const gYear = div(j, 1461) - 100100 + div(8 - gMonth, 6);\n\n return new Date(gYear, gMonth - 1, gDay);\n}\n\n/*\n Converts a date of the Jalali calendar to the Julian Day number.\n @param jy Jalali year (1 to 3100)\n @param jm Jalali month (1 to 12)\n @param jd Jalali day (1 to 29/31)\n @return Julian Day number\n */\nfunction gregorianToJulian(gy: number, gm: number, gd: number) {\n let d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) + div(153 * mod(gm + 9, 12) + 2, 5) + gd - 34840408;\n d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752;\n return d;\n}\n\n/*\n Converts the Julian Day number to a date in the Jalali calendar.\n @param julianDayNumber Julian Day number\n @return\n jalaliYear: Jalali year (1 to 3100)\n jalaliMonth: Jalali month (1 to 12)\n jalaliDay: Jalali day (1 to 29/31)\n */\nfunction julianToJalali(julianDayNumber: number) {\n let gy = julianToGregorian(julianDayNumber).getFullYear() // Calculate Gregorian year (gy).\n ,\n jalaliYear = gy - 621, r = jalCal(jalaliYear), gregorianDay = gregorianToJulian(gy, 3, r.march), jalaliDay,\n jalaliMonth, numberOfDays;\n\n // Find number of days that passed since 1 Farvardin.\n numberOfDays = julianDayNumber - gregorianDay;\n if (numberOfDays >= 0) {\n if (numberOfDays <= 185) {\n // The first 6 months.\n jalaliMonth = 1 + div(numberOfDays, 31);\n jalaliDay = mod(numberOfDays, 31) + 1;\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\n } else {\n // The remaining months.\n numberOfDays -= 186;\n }\n } else {\n // Previous Jalali year.\n jalaliYear -= 1;\n numberOfDays += 179;\n if (r.leap === 1) {\n numberOfDays += 1;\n }\n }\n jalaliMonth = 7 + div(numberOfDays, 30);\n jalaliDay = mod(numberOfDays, 30) + 1;\n\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\n}\n\n/*\n Converts a date of the Jalali calendar to the Julian Day number.\n @param jYear Jalali year (1 to 3100)\n @param jMonth Jalali month (1 to 12)\n @param jDay Jalali day (1 to 29/31)\n @return Julian Day number\n */\nfunction jalaliToJulian(jYear: number, jMonth: number, jDay: number) {\n let r = jalCal(jYear);\n return gregorianToJulian(r.gy, 3, r.march) + (jMonth - 1) * 31 - div(jMonth, 7) * (jMonth - 7) + jDay - 1;\n}\n\n/**\n * Returns the number of days in a specific jalali month.\n */\nfunction getDaysPerMonth(month: number, year: number): number {\n if (month <= 6) {\n return 31;\n }\n if (month <= 11) {\n return 30;\n }\n if (jalCal(year).leap === 0) {\n return 30;\n }\n return 29;\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDate} from '../ngb-date';\nimport {NgbCalendar, NgbPeriod} from '../ngb-calendar';\nimport {isInteger} from '../../util/util';\n\nimport {fromGregorian, setJalaliDay, setJalaliMonth, setJalaliYear, toGregorian} from './jalali';\n\n@Injectable()\nexport class NgbCalendarPersian extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date = setJalaliYear(date, date.year + number);\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = setJalaliMonth(date, date.month + number);\n date.day = 1;\n return date;\n case 'd':\n return setJalaliDay(date, date.day + number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n const date = week[thursdayIndex];\n\n const jsDate = toGregorian(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n const startDate = toGregorian(new NgbDate(date.year, 1, 1));\n return Math.floor(Math.round((time - startDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return fromGregorian(new Date()); }\n\n isValid(date: NgbDate): boolean {\n return date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) &&\n !isNaN(toGregorian(date).getTime());\n }\n}\n","import {NgbDate} from '../ngb-date';\nimport {NgbDateStruct} from '../ngb-date-struct';\n\nconst PARTS_PER_HOUR = 1080;\nconst PARTS_PER_DAY = 24 * PARTS_PER_HOUR;\nconst PARTS_FRACTIONAL_MONTH = 12 * PARTS_PER_HOUR + 793;\nconst PARTS_PER_MONTH = 29 * PARTS_PER_DAY + PARTS_FRACTIONAL_MONTH;\nconst BAHARAD = 11 * PARTS_PER_HOUR + 204;\nconst HEBREW_DAY_ON_JAN_1_1970 = 2092591;\nconst GREGORIAN_EPOCH = 1721425.5;\n\nfunction isGregorianLeapYear(year: number): boolean {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\n\nfunction numberOfFirstDayInYear(year: number): number {\n let monthsBeforeYear = Math.floor((235 * year - 234) / 19);\n let fractionalMonthsBeforeYear = monthsBeforeYear * PARTS_FRACTIONAL_MONTH + BAHARAD;\n let dayNumber = monthsBeforeYear * 29 + Math.floor(fractionalMonthsBeforeYear / PARTS_PER_DAY);\n let timeOfDay = fractionalMonthsBeforeYear % PARTS_PER_DAY;\n\n let dayOfWeek = dayNumber % 7; // 0 == Monday\n\n if (dayOfWeek === 2 || dayOfWeek === 4 || dayOfWeek === 6) {\n dayNumber++;\n dayOfWeek = dayNumber % 7;\n }\n if (dayOfWeek === 1 && timeOfDay > 15 * PARTS_PER_HOUR + 204 && !isHebrewLeapYear(year)) {\n dayNumber += 2;\n } else if (dayOfWeek === 0 && timeOfDay > 21 * PARTS_PER_HOUR + 589 && isHebrewLeapYear(year - 1)) {\n dayNumber++;\n }\n return dayNumber;\n}\n\nfunction getDaysInGregorianMonth(month: number, year: number): number {\n let days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n if (isGregorianLeapYear(year)) {\n days[1]++;\n }\n return days[month - 1];\n}\n\nfunction getHebrewMonths(year: number): number {\n return isHebrewLeapYear(year) ? 13 : 12;\n}\n\n/**\n * Returns the number of days in a specific Hebrew year.\n * `year` is any Hebrew year.\n */\nfunction getDaysInHebrewYear(year: number): number {\n return numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\n}\n\nexport function isHebrewLeapYear(year: number): boolean {\n let b = (year * 12 + 17) % 19;\n return b >= ((b < 0) ? -7 : 12);\n}\n\n/**\n * Returns the number of days in a specific Hebrew month.\n * `month` is 1 for Nisan, 2 for Iyar etc. Note: Hebrew leap year contains 13 months.\n * `year` is any Hebrew year.\n */\nexport function getDaysInHebrewMonth(month: number, year: number): number {\n let yearLength = numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\n let yearType = (yearLength <= 380 ? yearLength : (yearLength - 30)) - 353;\n let leapYear = isHebrewLeapYear(year);\n let daysInMonth = leapYear ? [30, 29, 29, 29, 30, 30, 29, 30, 29, 30, 29, 30, 29] :\n [30, 29, 29, 29, 30, 29, 30, 29, 30, 29, 30, 29];\n if (yearType > 0) {\n daysInMonth[2]++; // Kislev gets an extra day in normal or complete years.\n }\n if (yearType > 1) {\n daysInMonth[1]++; // Heshvan gets an extra day in complete years only.\n }\n return daysInMonth[month - 1];\n}\n\nexport function getDayNumberInHebrewYear(date: NgbDate): number {\n let numberOfDay = 0;\n for (let i = 1; i < date.month; i++) {\n numberOfDay += getDaysInHebrewMonth(i, date.year);\n }\n return numberOfDay + date.day;\n}\n\nexport function setHebrewMonth(date: NgbDate, val: number): NgbDate {\n let after = val >= 0;\n if (!after) {\n val = -val;\n }\n while (val > 0) {\n if (after) {\n if (val > getHebrewMonths(date.year) - date.month) {\n val -= getHebrewMonths(date.year) - date.month + 1;\n date.year++;\n date.month = 1;\n } else {\n date.month += val;\n val = 0;\n }\n } else {\n if (val >= date.month) {\n date.year--;\n val -= date.month;\n date.month = getHebrewMonths(date.year);\n } else {\n date.month -= val;\n val = 0;\n }\n }\n }\n return date;\n}\n\nexport function setHebrewDay(date: NgbDate, val: number): NgbDate {\n let after = val >= 0;\n if (!after) {\n val = -val;\n }\n while (val > 0) {\n if (after) {\n if (val > getDaysInHebrewYear(date.year) - getDayNumberInHebrewYear(date)) {\n val -= getDaysInHebrewYear(date.year) - getDayNumberInHebrewYear(date) + 1;\n date.year++;\n date.month = 1;\n date.day = 1;\n } else if (val > getDaysInHebrewMonth(date.month, date.year) - date.day) {\n val -= getDaysInHebrewMonth(date.month, date.year) - date.day + 1;\n date.month++;\n date.day = 1;\n } else {\n date.day += val;\n val = 0;\n }\n } else {\n if (val >= date.day) {\n val -= date.day;\n date.month--;\n if (date.month === 0) {\n date.year--;\n date.month = getHebrewMonths(date.year);\n }\n date.day = getDaysInHebrewMonth(date.month, date.year);\n } else {\n date.day -= val;\n val = 0;\n }\n }\n }\n return date;\n}\n\n/**\n * Returns the equivalent Hebrew date value for a give input Gregorian date.\n * `gdate` is a JS Date to be converted to Hebrew date.\n */\nexport function fromGregorian(gdate: Date): NgbDate {\n const date = new Date(gdate);\n const gYear = date.getFullYear(), gMonth = date.getMonth(), gDay = date.getDate();\n let julianDay = GREGORIAN_EPOCH - 1 + 365 * (gYear - 1) + Math.floor((gYear - 1) / 4) -\n Math.floor((gYear - 1) / 100) + Math.floor((gYear - 1) / 400) +\n Math.floor((367 * (gMonth + 1) - 362) / 12 + (gMonth + 1 <= 2 ? 0 : isGregorianLeapYear(gYear) ? -1 : -2) + gDay);\n julianDay = Math.floor(julianDay + 0.5);\n let daysSinceHebEpoch = julianDay - 347997;\n let monthsSinceHebEpoch = Math.floor(daysSinceHebEpoch * PARTS_PER_DAY / PARTS_PER_MONTH);\n let hYear = Math.floor((monthsSinceHebEpoch * 19 + 234) / 235) + 1;\n let firstDayOfThisYear = numberOfFirstDayInYear(hYear);\n let dayOfYear = daysSinceHebEpoch - firstDayOfThisYear;\n while (dayOfYear < 1) {\n hYear--;\n firstDayOfThisYear = numberOfFirstDayInYear(hYear);\n dayOfYear = daysSinceHebEpoch - firstDayOfThisYear;\n }\n let hMonth = 1;\n let hDay = dayOfYear;\n while (hDay > getDaysInHebrewMonth(hMonth, hYear)) {\n hDay -= getDaysInHebrewMonth(hMonth, hYear);\n hMonth++;\n }\n return new NgbDate(hYear, hMonth, hDay);\n}\n\n/**\n * Returns the equivalent JS date value for a given Hebrew date.\n * `hebrewDate` is an Hebrew date to be converted to Gregorian.\n */\nexport function toGregorian(hebrewDate: NgbDateStruct | NgbDate): Date {\n const hYear = hebrewDate.year;\n const hMonth = hebrewDate.month;\n const hDay = hebrewDate.day;\n let days = numberOfFirstDayInYear(hYear);\n for (let i = 1; i < hMonth; i++) {\n days += getDaysInHebrewMonth(i, hYear);\n }\n days += hDay;\n let diffDays = days - HEBREW_DAY_ON_JAN_1_1970;\n let after = diffDays >= 0;\n if (!after) {\n diffDays = -diffDays;\n }\n let gYear = 1970;\n let gMonth = 1;\n let gDay = 1;\n while (diffDays > 0) {\n if (after) {\n if (diffDays >= (isGregorianLeapYear(gYear) ? 366 : 365)) {\n diffDays -= isGregorianLeapYear(gYear) ? 366 : 365;\n gYear++;\n } else if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\n gMonth++;\n } else {\n gDay += diffDays;\n diffDays = 0;\n }\n } else {\n if (diffDays >= (isGregorianLeapYear(gYear - 1) ? 366 : 365)) {\n diffDays -= isGregorianLeapYear(gYear - 1) ? 366 : 365;\n gYear--;\n } else {\n if (gMonth > 1) {\n gMonth--;\n } else {\n gMonth = 12;\n gYear--;\n }\n if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\n } else {\n gDay = getDaysInGregorianMonth(gMonth, gYear) - diffDays + 1;\n diffDays = 0;\n }\n }\n }\n }\n return new Date(gYear, gMonth - 1, gDay);\n}\n\nexport function hebrewNumerals(numerals: number): string {\n if (!numerals) {\n return '';\n }\n const hArray0_9 = ['', '\\u05d0', '\\u05d1', '\\u05d2', '\\u05d3', '\\u05d4', '\\u05d5', '\\u05d6', '\\u05d7', '\\u05d8'];\n const hArray10_19 = [\n '\\u05d9', '\\u05d9\\u05d0', '\\u05d9\\u05d1', '\\u05d9\\u05d2', '\\u05d9\\u05d3', '\\u05d8\\u05d5', '\\u05d8\\u05d6',\n '\\u05d9\\u05d6', '\\u05d9\\u05d7', '\\u05d9\\u05d8'\n ];\n const hArray20_90 = ['', '', '\\u05db', '\\u05dc', '\\u05de', '\\u05e0', '\\u05e1', '\\u05e2', '\\u05e4', '\\u05e6'];\n const hArray100_900 = [\n '', '\\u05e7', '\\u05e8', '\\u05e9', '\\u05ea', '\\u05ea\\u05e7', '\\u05ea\\u05e8', '\\u05ea\\u05e9', '\\u05ea\\u05ea',\n '\\u05ea\\u05ea\\u05e7'\n ];\n const hArray1000_9000 = [\n '', '\\u05d0', '\\u05d1', '\\u05d1\\u05d0', '\\u05d1\\u05d1', '\\u05d4', '\\u05d4\\u05d0', '\\u05d4\\u05d1',\n '\\u05d4\\u05d1\\u05d0', '\\u05d4\\u05d1\\u05d1'\n ];\n const geresh = '\\u05f3', gershaim = '\\u05f4';\n let mem = 0;\n let result = [];\n let step = 0;\n while (numerals > 0) {\n let m = numerals % 10;\n if (step === 0) {\n mem = m;\n } else if (step === 1) {\n if (m !== 1) {\n result.unshift(hArray20_90[m], hArray0_9[mem]);\n } else {\n result.unshift(hArray10_19[mem]);\n }\n } else if (step === 2) {\n result.unshift(hArray100_900[m]);\n } else {\n if (m !== 5) {\n result.unshift(hArray1000_9000[m], geresh, ' ');\n }\n break;\n }\n numerals = Math.floor(numerals / 10);\n if (step === 0 && numerals === 0) {\n result.unshift(hArray0_9[m]);\n }\n step++;\n }\n result = result.join('').split('');\n if (result.length === 1) {\n result.push(geresh);\n } else if (result.length > 1) {\n result.splice(result.length - 1, 0, gershaim);\n }\n return result.join('');\n}\n","import {NgbDate} from '../ngb-date';\nimport {fromJSDate, NgbCalendar, NgbPeriod, toJSDate} from '../ngb-calendar';\nimport {Injectable} from '@angular/core';\nimport {isNumber} from '../../util/util';\nimport {\n fromGregorian,\n getDayNumberInHebrewYear,\n getDaysInHebrewMonth,\n isHebrewLeapYear,\n toGregorian,\n setHebrewDay,\n setHebrewMonth\n} from './hebrew';\n\n/**\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbCalendarHebrew extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths(year?: number) {\n if (year && isHebrewLeapYear(year)) {\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];\n } else {\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n }\n }\n\n getWeeksPerMonth() { return 6; }\n\n isValid(date: NgbDate): boolean {\n let b = date && isNumber(date.year) && isNumber(date.month) && isNumber(date.day);\n b = b && date.month > 0 && date.month <= (isHebrewLeapYear(date.year) ? 13 : 12);\n b = b && date.day > 0 && date.day <= getDaysInHebrewMonth(date.month, date.year);\n return b && !isNaN(toGregorian(date).getTime());\n }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date.year += number;\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = setHebrewMonth(date, number);\n date.day = 1;\n return date;\n case 'd':\n return setHebrewDay(date, number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n const date = week[week.length - 1];\n return Math.ceil(getDayNumberInHebrewYear(date) / 7);\n }\n\n getToday(): NgbDate { return fromGregorian(new Date()); }\n\n /**\n * @since 3.4.0\n */\n toGregorian(date: NgbDate): NgbDate { return fromJSDate(toGregorian(date)); }\n\n /**\n * @since 3.4.0\n */\n fromGregorian(date: NgbDate): NgbDate { return fromGregorian(toJSDate(date)); }\n}\n","import {NgbDatepickerI18n} from '../datepicker-i18n';\nimport {NgbDateStruct} from '../../index';\nimport {hebrewNumerals, isHebrewLeapYear} from './hebrew';\nimport {Injectable} from '@angular/core';\n\n\nconst WEEKDAYS = ['שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת', 'ראשון'];\nconst MONTHS = ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\nconst MONTHS_LEAP =\n ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר א׳', 'אדר ב׳', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\n\n/**\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbDatepickerI18nHebrew extends NgbDatepickerI18n {\n getMonthShortName(month: number, year?: number): string { return this.getMonthFullName(month, year); }\n\n getMonthFullName(month: number, year?: number): string {\n return isHebrewLeapYear(year) ? MONTHS_LEAP[month - 1] : MONTHS[month - 1];\n }\n\n getWeekdayShortName(weekday: number): string { return WEEKDAYS[weekday - 1]; }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n return `${hebrewNumerals(date.day)} ${this.getMonthFullName(date.month, date.year)} ${hebrewNumerals(date.year)}`;\n }\n\n getDayNumerals(date: NgbDateStruct): string { return hebrewNumerals(date.day); }\n\n getWeekNumerals(weekNumber: number): string { return hebrewNumerals(weekNumber); }\n\n getYearNumerals(year: number): string { return hebrewNumerals(year); }\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateAdapter} from './ngb-date-adapter';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {isInteger} from '../../util/util';\n\n/**\n * [`NgbDateAdapter`](#/components/datepicker/api#NgbDateAdapter) implementation that uses\n * native javascript dates as a user date model.\n */\n@Injectable()\nexport class NgbDateNativeAdapter extends NgbDateAdapter {\n /**\n * Converts a native `Date` to a `NgbDateStruct`.\n */\n fromModel(date: Date): NgbDateStruct {\n return (date instanceof Date && !isNaN(date.getTime())) ? this._fromNativeDate(date) : null;\n }\n\n /**\n * Converts a `NgbDateStruct` to a native `Date`.\n */\n toModel(date: NgbDateStruct): Date {\n return date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) ? this._toNativeDate(date) :\n null;\n }\n\n protected _fromNativeDate(date: Date): NgbDateStruct {\n return {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()};\n }\n\n protected _toNativeDate(date: NgbDateStruct): Date {\n const jsDate = new Date(date.year, date.month - 1, date.day, 12);\n // avoid 30 -> 1930 conversion\n jsDate.setFullYear(date.year);\n return jsDate;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {NgbDateNativeAdapter} from './ngb-date-native-adapter';\n\n/**\n * Same as [`NgbDateNativeAdapter`](#/components/datepicker/api#NgbDateNativeAdapter), but with UTC dates.\n *\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbDateNativeUTCAdapter extends NgbDateNativeAdapter {\n protected _fromNativeDate(date: Date): NgbDateStruct {\n return {year: date.getUTCFullYear(), month: date.getUTCMonth() + 1, day: date.getUTCDate()};\n }\n\n protected _toNativeDate(date: NgbDateStruct): Date {\n const jsDate = new Date(Date.UTC(date.year, date.month - 1, date.day));\n // avoid 30 -> 1930 conversion\n jsDate.setUTCFullYear(date.year);\n return jsDate;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from '@angular/forms';\nimport {NgbDatepicker, NgbDatepickerContent} from './datepicker';\nimport {NgbDatepickerMonth} from './datepicker-month';\nimport {NgbDatepickerNavigation} from './datepicker-navigation';\nimport {NgbInputDatepicker} from './datepicker-input';\nimport {NgbDatepickerDayView} from './datepicker-day-view';\nimport {NgbDatepickerNavigationSelect} from './datepicker-navigation-select';\n\nexport {NgbDatepicker, NgbDatepickerContent, NgbDatepickerNavigateEvent, NgbDatepickerState} from './datepicker';\nexport {NgbInputDatepicker} from './datepicker-input';\nexport {NgbCalendar, NgbPeriod, NgbCalendarGregorian} from './ngb-calendar';\nexport {NgbCalendarIslamicCivil} from './hijri/ngb-calendar-islamic-civil';\nexport {NgbCalendarIslamicUmalqura} from './hijri/ngb-calendar-islamic-umalqura';\nexport {NgbCalendarPersian} from './jalali/ngb-calendar-persian';\nexport {NgbCalendarHebrew} from './hebrew/ngb-calendar-hebrew';\nexport {NgbDatepickerI18nHebrew} from './hebrew/datepicker-i18n-hebrew';\nexport {NgbDatepickerMonth} from './datepicker-month';\nexport {NgbDatepickerDayView} from './datepicker-day-view';\nexport {NgbDatepickerNavigation} from './datepicker-navigation';\nexport {NgbDatepickerNavigationSelect} from './datepicker-navigation-select';\nexport {NgbDatepickerConfig} from './datepicker-config';\nexport {NgbInputDatepickerConfig} from './datepicker-input-config';\nexport {NgbDatepickerI18n} from './datepicker-i18n';\nexport {NgbDateStruct} from './ngb-date-struct';\nexport {NgbDate} from './ngb-date';\nexport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nexport {NgbDateNativeAdapter} from './adapters/ngb-date-native-adapter';\nexport {NgbDateNativeUTCAdapter} from './adapters/ngb-date-native-utc-adapter';\nexport {NgbDateParserFormatter} from './ngb-date-parser-formatter';\nexport {NgbDatepickerKeyboardService} from './datepicker-keyboard-service';\n\n@NgModule({\n declarations: [\n NgbDatepicker, NgbDatepickerContent, NgbDatepickerMonth, NgbDatepickerNavigation, NgbDatepickerNavigationSelect,\n NgbDatepickerDayView, NgbInputDatepicker\n ],\n exports: [NgbDatepicker, NgbDatepickerContent, NgbInputDatepicker, NgbDatepickerMonth],\n imports: [CommonModule, FormsModule],\n entryComponents: [NgbDatepicker]\n})\nexport class NgbDatepickerModule {\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbDropdown`](#/components/dropdown/api#NgbDropdown) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the dropdowns used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDropdownConfig {\n autoClose: boolean | 'outside' | 'inside' = true;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n container: null | 'body';\n}\n","import {\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n AfterContentInit,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n Optional\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {fromEvent, Subject, Subscription} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {Placement, PlacementArray, positionElements} from '../util/positioning';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {Key} from '../util/key';\n\nimport {NgbDropdownConfig} from './dropdown-config';\n\n@Directive({selector: '.navbar'})\nexport class NgbNavbar {\n}\n\n/**\n * A directive you should put on a dropdown item to enable keyboard navigation.\n * Arrow keys will move focus between items marked with this directive.\n *\n * @since 4.1.0\n */\n@Directive({selector: '[ngbDropdownItem]', host: {'class': 'dropdown-item', '[class.disabled]': 'disabled'}})\nexport class NgbDropdownItem {\n private _disabled = false;\n\n @Input()\n set disabled(value: boolean) {\n this._disabled = value === '' || value === true; // accept an empty attribute as true\n }\n\n get disabled(): boolean { return this._disabled; }\n\n constructor(public elementRef: ElementRef) {}\n}\n\n/**\n * A directive that wraps dropdown menu content and dropdown items.\n */\n@Directive({\n selector: '[ngbDropdownMenu]',\n host: {\n '[class.dropdown-menu]': 'true',\n '[class.show]': 'dropdown.isOpen()',\n '[attr.x-placement]': 'placement',\n '(keydown.ArrowUp)': 'dropdown.onKeyDown($event)',\n '(keydown.ArrowDown)': 'dropdown.onKeyDown($event)',\n '(keydown.Home)': 'dropdown.onKeyDown($event)',\n '(keydown.End)': 'dropdown.onKeyDown($event)',\n '(keydown.Enter)': 'dropdown.onKeyDown($event)',\n '(keydown.Space)': 'dropdown.onKeyDown($event)'\n }\n})\nexport class NgbDropdownMenu {\n placement: Placement = 'bottom';\n isOpen = false;\n\n @ContentChildren(NgbDropdownItem) menuItems: QueryList;\n\n constructor(@Inject(forwardRef(() => NgbDropdown)) public dropdown) {}\n}\n\n/**\n * A directive to mark an element to which dropdown menu will be anchored.\n *\n * This is a simple version of the `NgbDropdownToggle` directive.\n * It plays the same role, but doesn't listen to click events to toggle dropdown menu thus enabling support\n * for events other than click.\n *\n * @since 1.1.0\n */\n@Directive({\n selector: '[ngbDropdownAnchor]',\n host: {'class': 'dropdown-toggle', 'aria-haspopup': 'true', '[attr.aria-expanded]': 'dropdown.isOpen()'}\n})\nexport class NgbDropdownAnchor {\n anchorEl;\n\n constructor(@Inject(forwardRef(() => NgbDropdown)) public dropdown, private _elementRef: ElementRef) {\n this.anchorEl = _elementRef.nativeElement;\n }\n\n getNativeElement() { return this._elementRef.nativeElement; }\n}\n\n/**\n * A directive to mark an element that will toggle dropdown via the `click` event.\n *\n * You can also use `NgbDropdownAnchor` as an alternative.\n */\n@Directive({\n selector: '[ngbDropdownToggle]',\n host: {\n 'class': 'dropdown-toggle',\n 'aria-haspopup': 'true',\n '[attr.aria-expanded]': 'dropdown.isOpen()',\n '(click)': 'dropdown.toggle()',\n '(keydown.ArrowUp)': 'dropdown.onKeyDown($event)',\n '(keydown.ArrowDown)': 'dropdown.onKeyDown($event)',\n '(keydown.Home)': 'dropdown.onKeyDown($event)',\n '(keydown.End)': 'dropdown.onKeyDown($event)'\n },\n providers: [{provide: NgbDropdownAnchor, useExisting: forwardRef(() => NgbDropdownToggle)}]\n})\nexport class NgbDropdownToggle extends NgbDropdownAnchor {\n constructor(@Inject(forwardRef(() => NgbDropdown)) dropdown, elementRef: ElementRef) {\n super(dropdown, elementRef);\n }\n}\n\n/**\n * A directive that provides contextual overlays for displaying lists of links and more.\n */\n@Directive({selector: '[ngbDropdown]', exportAs: 'ngbDropdown', host: {'[class.show]': 'isOpen()'}})\nexport class NgbDropdown implements AfterContentInit, OnDestroy {\n private _closed$ = new Subject();\n private _zoneSubscription: Subscription;\n private _bodyContainer: HTMLElement;\n\n @ContentChild(NgbDropdownMenu, {static: false}) private _menu: NgbDropdownMenu;\n @ContentChild(NgbDropdownMenu, {read: ElementRef, static: false}) private _menuElement: ElementRef;\n @ContentChild(NgbDropdownAnchor, {static: false}) private _anchor: NgbDropdownAnchor;\n\n /**\n * Indicates whether the dropdown should be closed when clicking one of dropdown items or pressing ESC.\n *\n * * `true` - the dropdown will close on both outside and inside (menu) clicks.\n * * `false` - the dropdown can only be closed manually via `close()` or `toggle()` methods.\n * * `\"inside\"` - the dropdown will close on inside menu clicks, but not outside clicks.\n * * `\"outside\"` - the dropdown will close only on the outside clicks and not on menu clicks.\n */\n @Input() autoClose: boolean | 'outside' | 'inside';\n\n /**\n * Defines whether or not the dropdown menu is opened initially.\n */\n @Input('open') _open = false;\n\n /**\n * The preferred placement of the dropdown.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * A selector specifying the element the dropdown should be appended to.\n * Currently only supports \"body\".\n *\n * @since 4.1.0\n */\n @Input() container: null | 'body';\n\n /**\n * Enable or disable the dynamic positioning. The default value is dynamic unless the dropdown is used\n * inside a Bootstrap navbar. If you need custom placement for a dropdown in a navbar, set it to\n * dynamic explicitly. See the [positioning of dropdown](#/positioning#dropdown)\n * and the [navbar demo](/#/components/dropdown/examples#navbar) for more details.\n *\n * @since 4.2.0\n */\n @Input() display: 'dynamic' | 'static';\n\n /**\n * An event fired when the dropdown is opened or closed.\n *\n * The event payload is a `boolean`:\n * * `true` - the dropdown was opened\n * * `false` - the dropdown was closed\n */\n @Output() openChange = new EventEmitter();\n\n constructor(\n private _changeDetector: ChangeDetectorRef, config: NgbDropdownConfig, @Inject(DOCUMENT) private _document: any,\n private _ngZone: NgZone, private _elementRef: ElementRef, private _renderer: Renderer2,\n @Optional() ngbNavbar: NgbNavbar) {\n this.placement = config.placement;\n this.container = config.container;\n this.autoClose = config.autoClose;\n\n this.display = ngbNavbar ? 'static' : 'dynamic';\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => { this._positionMenu(); });\n }\n\n ngAfterContentInit() {\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n this._applyPlacementClasses();\n if (this._open) {\n this._setCloseHandlers();\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.container && this._open) {\n this._applyContainer(this.container);\n }\n\n if (changes.placement && !changes.placement.isFirstChange) {\n this._applyPlacementClasses();\n }\n }\n\n /**\n * Checks if the dropdown menu is open.\n */\n isOpen(): boolean { return this._open; }\n\n /**\n * Opens the dropdown menu.\n */\n open(): void {\n if (!this._open) {\n this._open = true;\n this._applyContainer(this.container);\n this.openChange.emit(true);\n this._setCloseHandlers();\n }\n }\n\n private _setCloseHandlers() {\n const anchor = this._anchor;\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this._closed$,\n this._menu ? [this._menuElement.nativeElement] : [], anchor ? [anchor.getNativeElement()] : [],\n '.dropdown-item,.dropdown-divider');\n }\n\n /**\n * Closes the dropdown menu.\n */\n close(): void {\n if (this._open) {\n this._open = false;\n this._resetContainer();\n this._closed$.next();\n this.openChange.emit(false);\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Toggles the dropdown menu.\n */\n toggle(): void {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n ngOnDestroy() {\n this._resetContainer();\n\n this._closed$.next();\n this._zoneSubscription.unsubscribe();\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n const key = event.which;\n const itemElements = this._getMenuElements();\n\n let position = -1;\n let isEventFromItems = false;\n let itemElement: HTMLElement = null;\n const isEventFromToggle = this._isEventFromToggle(event);\n\n if (!isEventFromToggle && itemElements.length) {\n itemElements.forEach((item, index) => {\n if (item.contains(event.target as HTMLElement)) {\n isEventFromItems = true;\n itemElement = item;\n }\n if (item === this._document.activeElement) {\n position = index;\n }\n });\n }\n\n // closing on Enter / Space\n if (key === Key.Space || key === Key.Enter) {\n if (isEventFromItems && (this.autoClose === true || this.autoClose === 'inside')) {\n // Item is either a button or a link, so click will be triggered by the browser on Enter or Space.\n // So we have to register a one-time click handler that will fire after any user defined click handlers\n // to close the dropdown\n fromEvent(itemElement, 'click').pipe(take(1)).subscribe(() => this.close());\n }\n return;\n }\n\n // opening / navigating\n if (isEventFromToggle || isEventFromItems) {\n this.open();\n\n if (itemElements.length) {\n switch (key) {\n case Key.ArrowDown:\n position = Math.min(position + 1, itemElements.length - 1);\n break;\n case Key.ArrowUp:\n if (this._isDropup() && position === -1) {\n position = itemElements.length - 1;\n break;\n }\n position = Math.max(position - 1, 0);\n break;\n case Key.Home:\n position = 0;\n break;\n case Key.End:\n position = itemElements.length - 1;\n break;\n }\n itemElements[position].focus();\n }\n event.preventDefault();\n }\n }\n\n private _isDropup(): boolean { return this._elementRef.nativeElement.classList.contains('dropup'); }\n\n private _isEventFromToggle(event: KeyboardEvent) {\n return this._anchor.getNativeElement().contains(event.target as HTMLElement);\n }\n\n private _getMenuElements(): HTMLElement[] {\n const menu = this._menu;\n if (menu == null) {\n return [];\n }\n return menu.menuItems.filter(item => !item.disabled).map(item => item.elementRef.nativeElement);\n }\n\n private _positionMenu() {\n const menu = this._menu;\n if (this.isOpen() && menu) {\n this._applyPlacementClasses(\n this.display === 'dynamic' ?\n positionElements(\n this._anchor.anchorEl, this._bodyContainer || this._menuElement.nativeElement, this.placement,\n this.container === 'body') :\n this._getFirstPlacement(this.placement));\n }\n }\n\n private _getFirstPlacement(placement: PlacementArray): Placement {\n return Array.isArray(placement) ? placement[0] : placement.split(' ')[0] as Placement;\n }\n\n private _resetContainer() {\n const renderer = this._renderer;\n const menuElement = this._menuElement;\n if (menuElement) {\n const dropdownElement = this._elementRef.nativeElement;\n const dropdownMenuElement = menuElement.nativeElement;\n\n renderer.appendChild(dropdownElement, dropdownMenuElement);\n renderer.removeStyle(dropdownMenuElement, 'position');\n renderer.removeStyle(dropdownMenuElement, 'transform');\n }\n if (this._bodyContainer) {\n renderer.removeChild(this._document.body, this._bodyContainer);\n this._bodyContainer = null;\n }\n }\n\n private _applyContainer(container: null | 'body' = null) {\n this._resetContainer();\n if (container === 'body') {\n const renderer = this._renderer;\n const dropdownMenuElement = this._menuElement.nativeElement;\n const bodyContainer = this._bodyContainer = this._bodyContainer || renderer.createElement('div');\n\n // Override some styles to have the positionning working\n renderer.setStyle(bodyContainer, 'position', 'absolute');\n renderer.setStyle(dropdownMenuElement, 'position', 'static');\n renderer.setStyle(bodyContainer, 'z-index', '1050');\n\n renderer.appendChild(bodyContainer, dropdownMenuElement);\n renderer.appendChild(this._document.body, bodyContainer);\n }\n }\n\n private _applyPlacementClasses(placement?: Placement) {\n const menu = this._menu;\n if (menu) {\n if (!placement) {\n placement = this._getFirstPlacement(this.placement);\n }\n\n const renderer = this._renderer;\n const dropdownElement = this._elementRef.nativeElement;\n\n // remove the current placement classes\n renderer.removeClass(dropdownElement, 'dropup');\n renderer.removeClass(dropdownElement, 'dropdown');\n menu.placement = this.display === 'static' ? null : placement;\n\n /*\n * apply the new placement\n * in case of top use up-arrow or down-arrow otherwise\n */\n const dropdownClass = placement.search('^top') !== -1 ? 'dropup' : 'dropdown';\n renderer.addClass(dropdownElement, dropdownClass);\n\n const bodyContainer = this._bodyContainer;\n if (bodyContainer) {\n renderer.removeClass(bodyContainer, 'dropup');\n renderer.removeClass(bodyContainer, 'dropdown');\n renderer.addClass(bodyContainer, dropdownClass);\n }\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownToggle,\n NgbDropdownMenu,\n NgbDropdownItem,\n NgbNavbar\n} from './dropdown';\n\nexport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownToggle,\n NgbDropdownMenu,\n NgbDropdownItem,\n NgbNavbar\n} from './dropdown';\nexport {NgbDropdownConfig} from './dropdown-config';\n\nconst NGB_DROPDOWN_DIRECTIVES =\n [NgbDropdown, NgbDropdownAnchor, NgbDropdownToggle, NgbDropdownMenu, NgbDropdownItem, NgbNavbar];\n\n@NgModule({declarations: NGB_DROPDOWN_DIRECTIVES, exports: NGB_DROPDOWN_DIRECTIVES})\nexport class NgbDropdownModule {\n}\n","import {Injectable, Injector} from '@angular/core';\n\n/**\n * Options available when opening new modal windows with `NgbModal.open()` method.\n */\nexport interface NgbModalOptions {\n /**\n * `aria-labelledby` attribute value to set on the modal window.\n *\n * @since 2.2.0\n */\n ariaLabelledBy?: string;\n\n /**\n * If `true`, the backdrop element will be created for a given modal.\n *\n * Alternatively, specify `'static'` for a backdrop which doesn't close the modal on click.\n *\n * Default value is `true`.\n */\n backdrop?: boolean | 'static';\n\n /**\n * Callback right before the modal will be dismissed.\n *\n * If this function returns:\n * * `false`\n * * a promise resolved with `false`\n * * a promise that is rejected\n *\n * then the modal won't be dismissed.\n */\n beforeDismiss?: () => boolean | Promise;\n\n /**\n * If `true`, the modal will be centered vertically.\n *\n * Default value is `false`.\n *\n * @since 1.1.0\n */\n centered?: boolean;\n\n /**\n * A selector specifying the element all new modal windows should be appended to.\n * Since v5.3.0 it is also possible to pass the reference to an `HTMLElement`.\n *\n * If not specified, will be `body`.\n */\n container?: string | HTMLElement;\n\n /**\n * The `Injector` to use for modal content.\n */\n injector?: Injector;\n\n /**\n * If `true`, the modal will be closed when `Escape` key is pressed\n *\n * Default value is `true`.\n */\n keyboard?: boolean;\n\n /**\n * Scrollable modal content (false by default).\n *\n * @since 5.0.0\n */\n scrollable?: boolean;\n\n /**\n * Size of a new modal window.\n */\n size?: 'sm' | 'lg' | 'xl' | string;\n\n /**\n * A custom class to append to the modal window.\n */\n windowClass?: string;\n\n /**\n * A custom class to append to the modal backdrop.\n *\n * @since 1.1.0\n */\n backdropClass?: string;\n}\n\n/**\n * A configuration service for the [`NgbModal`](#/components/modal/api#NgbModal) service.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all modals used in the application.\n*\n* @since 3.1.0\n*/\n@Injectable({providedIn: 'root'})\nexport class NgbModalConfig implements Required {\n ariaLabelledBy: string;\n backdrop: boolean | 'static' = true;\n beforeDismiss: () => boolean | Promise;\n centered: boolean;\n container: string;\n injector: Injector;\n keyboard = true;\n scrollable: boolean;\n size: 'sm' | 'lg' | 'xl' | string;\n windowClass: string;\n backdropClass: string;\n}\n","import {\n Injector,\n TemplateRef,\n ViewRef,\n ViewContainerRef,\n Renderer2,\n ComponentRef,\n ComponentFactoryResolver,\n ApplicationRef\n} from '@angular/core';\n\nexport class ContentRef {\n constructor(public nodes: any[], public viewRef?: ViewRef, public componentRef?: ComponentRef) {}\n}\n\nexport class PopupService {\n private _windowRef: ComponentRef;\n private _contentRef: ContentRef;\n\n constructor(\n private _type: any, private _injector: Injector, private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2, private _componentFactoryResolver: ComponentFactoryResolver,\n private _applicationRef: ApplicationRef) {}\n\n open(content?: string | TemplateRef, context?: any): ComponentRef {\n if (!this._windowRef) {\n this._contentRef = this._getContentRef(content, context);\n this._windowRef = this._viewContainerRef.createComponent(\n this._componentFactoryResolver.resolveComponentFactory(this._type), this._viewContainerRef.length,\n this._injector, this._contentRef.nodes);\n }\n\n return this._windowRef;\n }\n\n close() {\n if (this._windowRef) {\n this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView));\n this._windowRef = null;\n\n if (this._contentRef.viewRef) {\n this._applicationRef.detachView(this._contentRef.viewRef);\n this._contentRef.viewRef.destroy();\n this._contentRef = null;\n }\n }\n }\n\n private _getContentRef(content: string | TemplateRef, context?: any): ContentRef {\n if (!content) {\n return new ContentRef([]);\n } else if (content instanceof TemplateRef) {\n const viewRef = content.createEmbeddedView(context);\n this._applicationRef.attachView(viewRef);\n return new ContentRef([viewRef.rootNodes], viewRef);\n } else {\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n }\n}\n","import {Injectable, Inject} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\nconst noop = () => {};\n\n\n\n/** Type for the callback used to revert the scrollbar compensation. */\nexport type CompensationReverter = () => void;\n\n\n\n/**\n * Utility to handle the scrollbar.\n *\n * It allows to compensate the lack of a vertical scrollbar by adding an\n * equivalent padding on the right of the body, and to remove this compensation.\n */\n@Injectable({providedIn: 'root'})\nexport class ScrollBar {\n constructor(@Inject(DOCUMENT) private _document: any) {}\n\n /**\n * To be called right before a potential vertical scrollbar would be removed:\n *\n * - if there was a scrollbar, adds some compensation padding to the body\n * to keep the same layout as when the scrollbar is there\n * - if there was none, there is nothing to do\n *\n * @return a callback used to revert the compensation (noop if there was none,\n * otherwise a function removing the padding)\n */\n compensate(): CompensationReverter {\n const width = this._getWidth();\n return !this._isPresent(width) ? noop : this._adjustBody(width);\n }\n\n /**\n * Adds a padding of the given width on the right of the body.\n *\n * @return a callback used to revert the padding to its previous value\n */\n private _adjustBody(scrollbarWidth: number): CompensationReverter {\n const body = this._document.body;\n const userSetPaddingStyle = body.style.paddingRight;\n const actualPadding = parseFloat(window.getComputedStyle(body)['padding-right']);\n body.style['padding-right'] = `${actualPadding + scrollbarWidth}px`;\n return () => body.style['padding-right'] = userSetPaddingStyle;\n }\n\n /**\n * Tells whether a scrollbar is currently present on the body.\n *\n * @return true if scrollbar is present, false otherwise\n */\n private _isPresent(scrollbarWidth: number): boolean {\n const rect = this._document.body.getBoundingClientRect();\n const bodyToViewportGap = window.innerWidth - (rect.left + rect.right);\n const uncertainty = 0.1 * scrollbarWidth;\n return bodyToViewportGap >= scrollbarWidth - uncertainty;\n }\n\n /**\n * Calculates and returns the width of a scrollbar.\n *\n * @return the width of a scrollbar on this page\n */\n private _getWidth(): number {\n const measurer = this._document.createElement('div');\n measurer.className = 'modal-scrollbar-measure';\n\n const body = this._document.body;\n body.appendChild(measurer);\n const width = measurer.getBoundingClientRect().width - measurer.clientWidth;\n body.removeChild(measurer);\n\n return width;\n }\n}\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'ngb-modal-backdrop',\n encapsulation: ViewEncapsulation.None,\n template: '',\n host:\n {'[class]': '\"modal-backdrop fade show\" + (backdropClass ? \" \" + backdropClass : \"\")', 'style': 'z-index: 1050'}\n})\nexport class NgbModalBackdrop {\n @Input() backdropClass: string;\n}\n","import {ComponentRef} from '@angular/core';\n\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalWindow} from './modal-window';\n\nimport {ContentRef} from '../util/popup';\n\n/**\n * A reference to the currently opened (active) modal.\n *\n * Instances of this class can be injected into your component passed as modal content.\n * So you can `.close()` or `.dismiss()` the modal window from your component.\n */\nexport class NgbActiveModal {\n /**\n * Closes the modal with an optional `result` value.\n *\n * The `NgbMobalRef.result` promise will be resolved with the provided value.\n */\n close(result?: any): void {}\n\n /**\n * Dismisses the modal with an optional `reason` value.\n *\n * The `NgbModalRef.result` promise will be rejected with the provided value.\n */\n dismiss(reason?: any): void {}\n}\n\n/**\n * A reference to the newly opened modal returned by the `NgbModal.open()` method.\n */\nexport class NgbModalRef {\n private _resolve: (result?: any) => void;\n private _reject: (reason?: any) => void;\n\n /**\n * The instance of a component used for the modal content.\n *\n * When a `TemplateRef` is used as the content or when the modal is closed, will return `undefined`.\n */\n get componentInstance(): any {\n if (this._contentRef && this._contentRef.componentRef) {\n return this._contentRef.componentRef.instance;\n }\n }\n\n /**\n * The promise that is resolved when the modal is closed and rejected when the modal is dismissed.\n */\n result: Promise;\n\n constructor(\n private _windowCmptRef: ComponentRef, private _contentRef: ContentRef,\n private _backdropCmptRef?: ComponentRef, private _beforeDismiss?: Function) {\n _windowCmptRef.instance.dismissEvent.subscribe((reason: any) => { this.dismiss(reason); });\n\n this.result = new Promise((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n this.result.then(null, () => {});\n }\n\n /**\n * Closes the modal with an optional `result` value.\n *\n * The `NgbMobalRef.result` promise will be resolved with the provided value.\n */\n close(result?: any): void {\n if (this._windowCmptRef) {\n this._resolve(result);\n this._removeModalElements();\n }\n }\n\n private _dismiss(reason?: any) {\n this._reject(reason);\n this._removeModalElements();\n }\n\n /**\n * Dismisses the modal with an optional `reason` value.\n *\n * The `NgbModalRef.result` promise will be rejected with the provided value.\n */\n dismiss(reason?: any): void {\n if (this._windowCmptRef) {\n if (!this._beforeDismiss) {\n this._dismiss(reason);\n } else {\n const dismiss = this._beforeDismiss();\n if (dismiss && dismiss.then) {\n dismiss.then(\n result => {\n if (result !== false) {\n this._dismiss(reason);\n }\n },\n () => {});\n } else if (dismiss !== false) {\n this._dismiss(reason);\n }\n }\n }\n }\n\n private _removeModalElements() {\n const windowNativeEl = this._windowCmptRef.location.nativeElement;\n windowNativeEl.parentNode.removeChild(windowNativeEl);\n this._windowCmptRef.destroy();\n\n if (this._backdropCmptRef) {\n const backdropNativeEl = this._backdropCmptRef.location.nativeElement;\n backdropNativeEl.parentNode.removeChild(backdropNativeEl);\n this._backdropCmptRef.destroy();\n }\n\n if (this._contentRef && this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._windowCmptRef = null;\n this._backdropCmptRef = null;\n this._contentRef = null;\n }\n}\n","export enum ModalDismissReasons {\n BACKDROP_CLICK,\n ESC\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {fromEvent, Subject} from 'rxjs';\nimport {filter, switchMap, take, takeUntil, tap} from 'rxjs/operators';\n\nimport {getFocusableBoundaryElements} from '../util/focus-trap';\nimport {Key} from '../util/key';\nimport {ModalDismissReasons} from './modal-dismiss-reasons';\n\n@Component({\n selector: 'ngb-modal-window',\n host: {\n '[class]': '\"modal fade show d-block\" + (windowClass ? \" \" + windowClass : \"\")',\n 'role': 'dialog',\n 'tabindex': '-1',\n '[attr.aria-modal]': 'true',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n },\n template: `\n
\n
\n
\n `,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./modal.scss']\n})\nexport class NgbModalWindow implements OnInit,\n AfterViewInit, OnDestroy {\n private _closed$ = new Subject();\n private _elWithFocus: Element; // element that is focused prior to modal opening\n\n @ViewChild('dialog', {static: true}) private _dialogEl: ElementRef;\n\n @Input() ariaLabelledBy: string;\n @Input() backdrop: boolean | string = true;\n @Input() centered: string;\n @Input() keyboard = true;\n @Input() scrollable: string;\n @Input() size: string;\n @Input() windowClass: string;\n\n @Output('dismiss') dismissEvent = new EventEmitter();\n\n constructor(\n @Inject(DOCUMENT) private _document: any, private _elRef: ElementRef, private _zone: NgZone) {}\n\n dismiss(reason): void { this.dismissEvent.emit(reason); }\n\n ngOnInit() { this._elWithFocus = this._document.activeElement; }\n\n ngAfterViewInit() {\n const {nativeElement} = this._elRef;\n this._zone.runOutsideAngular(() => {\n\n fromEvent(nativeElement, 'keydown')\n .pipe(\n takeUntil(this._closed$),\n // tslint:disable-next-line:deprecation\n filter(e => e.which === Key.Escape && this.keyboard))\n .subscribe(event => requestAnimationFrame(() => {\n if (!event.defaultPrevented) {\n this._zone.run(() => this.dismiss(ModalDismissReasons.ESC));\n }\n }));\n\n // We're listening to 'mousedown' and 'mouseup' to prevent modal from closing when pressing the mouse\n // inside the modal dialog and releasing it outside\n let preventClose = false;\n fromEvent(this._dialogEl.nativeElement, 'mousedown')\n .pipe(\n takeUntil(this._closed$), tap(() => preventClose = false),\n switchMap(() => fromEvent(nativeElement, 'mouseup').pipe(takeUntil(this._closed$), take(1))),\n filter(({target}) => nativeElement === target))\n .subscribe(() => { preventClose = true; });\n\n // We're listening to 'click' to dismiss modal on modal window click, except when:\n // 1. clicking on modal dialog itself\n // 2. closing was prevented by mousedown/up handlers\n // 3. clicking on scrollbar when the viewport is too small and modal doesn't fit (click is not triggered at all)\n fromEvent(nativeElement, 'click').pipe(takeUntil(this._closed$)).subscribe(({target}) => {\n if (this.backdrop === true && nativeElement === target && !preventClose) {\n this._zone.run(() => this.dismiss(ModalDismissReasons.BACKDROP_CLICK));\n }\n preventClose = false;\n });\n });\n\n if (!nativeElement.contains(document.activeElement)) {\n const autoFocusable = nativeElement.querySelector(`[ngbAutofocus]`) as HTMLElement;\n const firstFocusable = getFocusableBoundaryElements(nativeElement)[0];\n\n const elementToFocus = autoFocusable || firstFocusable || nativeElement;\n elementToFocus.focus();\n }\n }\n\n ngOnDestroy() {\n const body = this._document.body;\n const elWithFocus = this._elWithFocus;\n\n let elementToFocus;\n if (elWithFocus && elWithFocus['focus'] && body.contains(elWithFocus)) {\n elementToFocus = elWithFocus;\n } else {\n elementToFocus = body;\n }\n this._zone.runOutsideAngular(() => {\n setTimeout(() => elementToFocus.focus());\n this._elWithFocus = null;\n });\n\n this._closed$.next();\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Inject,\n Injectable,\n Injector,\n NgZone,\n RendererFactory2,\n TemplateRef\n} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nimport {ngbFocusTrap} from '../util/focus-trap';\nimport {ContentRef} from '../util/popup';\nimport {ScrollBar} from '../util/scrollbar';\nimport {isDefined, isString} from '../util/util';\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalOptions} from './modal-config';\nimport {NgbActiveModal, NgbModalRef} from './modal-ref';\nimport {NgbModalWindow} from './modal-window';\n\n@Injectable({providedIn: 'root'})\nexport class NgbModalStack {\n private _activeWindowCmptHasChanged = new Subject();\n private _ariaHiddenValues: Map = new Map();\n private _backdropAttributes = ['backdropClass'];\n private _modalRefs: NgbModalRef[] = [];\n private _windowAttributes =\n ['ariaLabelledBy', 'backdrop', 'centered', 'keyboard', 'scrollable', 'size', 'windowClass'];\n private _windowCmpts: ComponentRef[] = [];\n\n constructor(\n private _applicationRef: ApplicationRef, private _injector: Injector, @Inject(DOCUMENT) private _document: any,\n private _scrollBar: ScrollBar, private _rendererFactory: RendererFactory2, private _ngZone: NgZone) {\n // Trap focus on active WindowCmpt\n this._activeWindowCmptHasChanged.subscribe(() => {\n if (this._windowCmpts.length) {\n const activeWindowCmpt = this._windowCmpts[this._windowCmpts.length - 1];\n ngbFocusTrap(this._ngZone, activeWindowCmpt.location.nativeElement, this._activeWindowCmptHasChanged);\n this._revertAriaHidden();\n this._setAriaHidden(activeWindowCmpt.location.nativeElement);\n }\n });\n }\n\n open(moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, options): NgbModalRef {\n const containerEl = options.container instanceof HTMLElement ? options.container : isDefined(options.container) ?\n this._document.querySelector(options.container) :\n this._document.body;\n const renderer = this._rendererFactory.createRenderer(null, null);\n\n const revertPaddingForScrollBar = this._scrollBar.compensate();\n const removeBodyClass = () => {\n if (!this._modalRefs.length) {\n renderer.removeClass(this._document.body, 'modal-open');\n this._revertAriaHidden();\n }\n };\n\n if (!containerEl) {\n throw new Error(`The specified modal container \"${options.container || 'body'}\" was not found in the DOM.`);\n }\n\n const activeModal = new NgbActiveModal();\n const contentRef =\n this._getContentRef(moduleCFR, options.injector || contentInjector, content, activeModal, options);\n\n let backdropCmptRef: ComponentRef =\n options.backdrop !== false ? this._attachBackdrop(moduleCFR, containerEl) : null;\n let windowCmptRef: ComponentRef = this._attachWindowComponent(moduleCFR, containerEl, contentRef);\n let ngbModalRef: NgbModalRef = new NgbModalRef(windowCmptRef, contentRef, backdropCmptRef, options.beforeDismiss);\n\n this._registerModalRef(ngbModalRef);\n this._registerWindowCmpt(windowCmptRef);\n ngbModalRef.result.then(revertPaddingForScrollBar, revertPaddingForScrollBar);\n ngbModalRef.result.then(removeBodyClass, removeBodyClass);\n activeModal.close = (result: any) => { ngbModalRef.close(result); };\n activeModal.dismiss = (reason: any) => { ngbModalRef.dismiss(reason); };\n\n this._applyWindowOptions(windowCmptRef.instance, options);\n if (this._modalRefs.length === 1) {\n renderer.addClass(this._document.body, 'modal-open');\n }\n\n if (backdropCmptRef && backdropCmptRef.instance) {\n this._applyBackdropOptions(backdropCmptRef.instance, options);\n }\n return ngbModalRef;\n }\n\n dismissAll(reason?: any) { this._modalRefs.forEach(ngbModalRef => ngbModalRef.dismiss(reason)); }\n\n hasOpenModals(): boolean { return this._modalRefs.length > 0; }\n\n private _attachBackdrop(moduleCFR: ComponentFactoryResolver, containerEl: any): ComponentRef {\n let backdropFactory = moduleCFR.resolveComponentFactory(NgbModalBackdrop);\n let backdropCmptRef = backdropFactory.create(this._injector);\n this._applicationRef.attachView(backdropCmptRef.hostView);\n containerEl.appendChild(backdropCmptRef.location.nativeElement);\n return backdropCmptRef;\n }\n\n private _attachWindowComponent(moduleCFR: ComponentFactoryResolver, containerEl: any, contentRef: any):\n ComponentRef {\n let windowFactory = moduleCFR.resolveComponentFactory(NgbModalWindow);\n let windowCmptRef = windowFactory.create(this._injector, contentRef.nodes);\n this._applicationRef.attachView(windowCmptRef.hostView);\n containerEl.appendChild(windowCmptRef.location.nativeElement);\n return windowCmptRef;\n }\n\n private _applyWindowOptions(windowInstance: NgbModalWindow, options: Object): void {\n this._windowAttributes.forEach((optionName: string) => {\n if (isDefined(options[optionName])) {\n windowInstance[optionName] = options[optionName];\n }\n });\n }\n\n private _applyBackdropOptions(backdropInstance: NgbModalBackdrop, options: Object): void {\n this._backdropAttributes.forEach((optionName: string) => {\n if (isDefined(options[optionName])) {\n backdropInstance[optionName] = options[optionName];\n }\n });\n }\n\n private _getContentRef(\n moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, activeModal: NgbActiveModal,\n options: NgbModalOptions): ContentRef {\n if (!content) {\n return new ContentRef([]);\n } else if (content instanceof TemplateRef) {\n return this._createFromTemplateRef(content, activeModal);\n } else if (isString(content)) {\n return this._createFromString(content);\n } else {\n return this._createFromComponent(moduleCFR, contentInjector, content, activeModal, options);\n }\n }\n\n private _createFromTemplateRef(content: TemplateRef, activeModal: NgbActiveModal): ContentRef {\n const context = {\n $implicit: activeModal,\n close(result) { activeModal.close(result); },\n dismiss(reason) { activeModal.dismiss(reason); }\n };\n const viewRef = content.createEmbeddedView(context);\n this._applicationRef.attachView(viewRef);\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n private _createFromString(content: string): ContentRef {\n const component = this._document.createTextNode(`${content}`);\n return new ContentRef([[component]]);\n }\n\n private _createFromComponent(\n moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, context: NgbActiveModal,\n options: NgbModalOptions): ContentRef {\n const contentCmptFactory = moduleCFR.resolveComponentFactory(content);\n const modalContentInjector =\n Injector.create({providers: [{provide: NgbActiveModal, useValue: context}], parent: contentInjector});\n const componentRef = contentCmptFactory.create(modalContentInjector);\n const componentNativeEl = componentRef.location.nativeElement;\n if (options.scrollable) {\n (componentNativeEl as HTMLElement).classList.add('component-host-scrollable');\n }\n this._applicationRef.attachView(componentRef.hostView);\n // FIXME: we should here get rid of the component nativeElement\n // and use `[Array.from(componentNativeEl.childNodes)]` instead and remove the above CSS class.\n return new ContentRef([[componentNativeEl]], componentRef.hostView, componentRef);\n }\n\n private _setAriaHidden(element: Element) {\n const parent = element.parentElement;\n if (parent && element !== this._document.body) {\n Array.from(parent.children).forEach(sibling => {\n if (sibling !== element && sibling.nodeName !== 'SCRIPT') {\n this._ariaHiddenValues.set(sibling, sibling.getAttribute('aria-hidden'));\n sibling.setAttribute('aria-hidden', 'true');\n }\n });\n\n this._setAriaHidden(parent);\n }\n }\n\n private _revertAriaHidden() {\n this._ariaHiddenValues.forEach((value, element) => {\n if (value) {\n element.setAttribute('aria-hidden', value);\n } else {\n element.removeAttribute('aria-hidden');\n }\n });\n this._ariaHiddenValues.clear();\n }\n\n private _registerModalRef(ngbModalRef: NgbModalRef) {\n const unregisterModalRef = () => {\n const index = this._modalRefs.indexOf(ngbModalRef);\n if (index > -1) {\n this._modalRefs.splice(index, 1);\n }\n };\n this._modalRefs.push(ngbModalRef);\n ngbModalRef.result.then(unregisterModalRef, unregisterModalRef);\n }\n\n private _registerWindowCmpt(ngbWindowCmpt: ComponentRef) {\n this._windowCmpts.push(ngbWindowCmpt);\n this._activeWindowCmptHasChanged.next();\n\n ngbWindowCmpt.onDestroy(() => {\n const index = this._windowCmpts.indexOf(ngbWindowCmpt);\n if (index > -1) {\n this._windowCmpts.splice(index, 1);\n this._activeWindowCmptHasChanged.next();\n }\n });\n }\n}\n","import {Injectable, Injector, ComponentFactoryResolver} from '@angular/core';\n\nimport {NgbModalOptions, NgbModalConfig} from './modal-config';\nimport {NgbModalRef} from './modal-ref';\nimport {NgbModalStack} from './modal-stack';\n\n/**\n * A service for opening modal windows.\n *\n * Creating a modal is straightforward: create a component or a template and pass it as an argument to\n * the `.open()` method.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbModal {\n constructor(\n private _moduleCFR: ComponentFactoryResolver, private _injector: Injector, private _modalStack: NgbModalStack,\n private _config: NgbModalConfig) {}\n\n /**\n * Opens a new modal window with the specified content and supplied options.\n *\n * Content can be provided as a `TemplateRef` or a component type. If you pass a component type as content,\n * then instances of those components can be injected with an instance of the `NgbActiveModal` class. You can then\n * use `NgbActiveModal` methods to close / dismiss modals from \"inside\" of your component.\n *\n * Also see the [`NgbModalOptions`](#/components/modal/api#NgbModalOptions) for the list of supported options.\n */\n open(content: any, options: NgbModalOptions = {}): NgbModalRef {\n const combinedOptions = Object.assign({}, this._config, options);\n return this._modalStack.open(this._moduleCFR, this._injector, content, combinedOptions);\n }\n\n /**\n * Dismisses all currently displayed modal windows with the supplied reason.\n *\n * @since 3.1.0\n */\n dismissAll(reason?: any) { this._modalStack.dismissAll(reason); }\n\n /**\n * Indicates if there are currently any open modal windows in the application.\n *\n * @since 3.3.0\n */\n hasOpenModals(): boolean { return this._modalStack.hasOpenModals(); }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbModal} from './modal';\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalWindow} from './modal-window';\n\nexport {NgbModal} from './modal';\nexport {NgbModalConfig, NgbModalOptions} from './modal-config';\nexport {NgbModalRef, NgbActiveModal} from './modal-ref';\nexport {ModalDismissReasons} from './modal-dismiss-reasons';\n\n@NgModule({\n declarations: [NgbModalBackdrop, NgbModalWindow],\n entryComponents: [NgbModalBackdrop, NgbModalWindow],\n providers: [NgbModal]\n})\nexport class NgbModalModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbNav`](#/components/nav/api#NgbNav) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the navs used in the application.\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbNavConfig {\n destroyOnHide = true;\n orientation: 'horizontal' | 'vertical' = 'horizontal';\n roles: 'tablist' | false = 'tablist';\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n Attribute,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnInit,\n Output,\n QueryList,\n TemplateRef\n} from '@angular/core';\nimport {isDefined} from '../util/util';\nimport {NgbNavConfig} from './nav-config';\n\nconst isValidNavId = (id: any) => isDefined(id) && id !== '';\n\nlet navCounter = 0;\n\n/**\n * Context passed to the nav content template.\n *\n * See [this demo](#/components/nav/examples#keep-content) as the example.\n *\n * @since 5.2.0\n */\nexport interface NgbNavContentContext {\n /**\n * If `true`, current nav content is visible and active\n */\n $implicit: boolean;\n}\n\n\n/**\n * This directive must be used to wrap content to be displayed in the nav.\n *\n * @since 5.2.0\n */\n@Directive({selector: 'ng-template[ngbNavContent]'})\nexport class NgbNavContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n\n/**\n * The directive used to group nav link and related nav content. As well as set nav identifier and some options.\n *\n * @since 5.2.0\n */\n@Directive({selector: '[ngbNavItem]', exportAs: 'ngbNavItem', host: {'[class.nav-item]': 'true'}})\nexport class NgbNavItem implements AfterContentChecked, OnInit {\n private _nav: NgbNav;\n\n /**\n * If `true`, non-active current nav item content will be removed from DOM\n * Otherwise it will just be hidden\n */\n @Input() destroyOnHide;\n\n /**\n * If `true`, the current nav item is disabled and can't be toggled by user.\n *\n * Nevertheless disabled nav can be selected programmatically via the `.select()` method and the `[activeId]` binding.\n */\n @Input() disabled = false;\n\n /**\n * The id used for the DOM elements.\n * Must be unique inside the document in case you have multiple `ngbNav`s on the page.\n *\n * Autogenerated as `ngb-nav-XXX` if not provided.\n */\n @Input() domId: string;\n\n /**\n * The id used as a model for active nav.\n * It can be anything, but must be unique inside one `ngbNav`.\n *\n * The only limitation is that it is not possible to have the `''` (empty string) as id,\n * because ` ngbNavItem `, `ngbNavItem=''` and `[ngbNavItem]=\"''\"` are indistinguishable\n */\n @Input('ngbNavItem') _id: any;\n\n contentTpl: NgbNavContent | null;\n\n @ContentChildren(NgbNavContent, {descendants: false}) contentTpls: QueryList;\n\n constructor(@Inject(forwardRef(() => NgbNav)) nav, public elementRef: ElementRef) {\n // TODO: cf https://github.com/angular/angular/issues/30106\n this._nav = nav;\n }\n\n ngAfterContentChecked() {\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\n // only @ContentChildren allows us to specify the {descendants: false} option.\n // Without {descendants: false} we are hitting bugs described in:\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\n this.contentTpl = this.contentTpls.first;\n }\n\n ngOnInit() {\n if (!isDefined(this.domId)) {\n this.domId = `ngb-nav-${navCounter++}`;\n }\n }\n\n get active() { return this._nav.activeId === this.id; }\n\n get id() { return isValidNavId(this._id) ? this._id : this.domId; }\n\n get panelDomId() { return `${this.domId}-panel`; }\n\n isPanelInDom() {\n return (isDefined(this.destroyOnHide) ? !this.destroyOnHide : !this._nav.destroyOnHide) || this.active;\n }\n}\n\n\n/**\n * A nav directive that helps with implementing tabbed navigation components.\n *\n * @since 5.2.0\n */\n@Directive({\n selector: '[ngbNav]',\n exportAs: 'ngbNav',\n host: {\n '[class.nav]': 'true',\n '[class.flex-column]': `orientation === 'vertical'`,\n '[attr.aria-orientation]': `orientation === 'vertical' && roles === 'tablist' ? 'vertical' : undefined`,\n '[attr.role]': `role ? role : roles ? 'tablist' : undefined`,\n }\n})\nexport class NgbNav implements AfterContentInit {\n /**\n * The id of the nav that should be active\n *\n * You could also use the `.select()` method and the `(navChange)` event\n */\n @Input() activeId: any;\n\n /**\n * The event emitted after the active nav changes\n * The payload of the event is the newly active nav id\n *\n * If you want to prevent nav change, you should use `(navChange)` event\n */\n @Output() activeIdChange = new EventEmitter();\n\n /**\n * If `true`, non-active nav content will be removed from DOM\n * Otherwise it will just be hidden\n */\n @Input() destroyOnHide;\n\n /**\n * The orientation of navs.\n *\n * Using `vertical` will also add the `aria-orientation` attribute\n */\n @Input() orientation: 'horizontal' | 'vertical';\n\n /**\n * Role attribute generating strategy:\n * - `false` - no role attributes will be generated\n * - `'tablist'` - 'tablist', 'tab' and 'tabpanel' will be generated (default)\n */\n @Input() roles: 'tablist' | false;\n\n @ContentChildren(NgbNavItem) items: QueryList;\n\n constructor(@Attribute('role') public role: string, config: NgbNavConfig, private _cd: ChangeDetectorRef) {\n this.destroyOnHide = config.destroyOnHide;\n this.orientation = config.orientation;\n this.roles = config.roles;\n }\n\n /**\n * The nav change event emitted right before the nav change happens on user click.\n *\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\n *\n * See [`NgbNavChangeEvent`](#/components/nav/api#NgbNavChangeEvent) for payload details.\n */\n @Output() navChange = new EventEmitter();\n\n click(item: NgbNavItem) {\n if (!item.disabled) {\n this._updateActiveId(item.id);\n }\n }\n\n /**\n * Selects the nav with the given id and shows its associated pane.\n * Any other nav that was previously selected becomes unselected and its associated pane is hidden.\n */\n select(id: any) { this._updateActiveId(id, false); }\n\n ngAfterContentInit() {\n if (!isDefined(this.activeId)) {\n const nextId = this.items.first ? this.items.first.id : null;\n if (isValidNavId(nextId)) {\n this._updateActiveId(nextId, false);\n this._cd.detectChanges();\n }\n }\n }\n\n private _updateActiveId(nextId: any, emitNavChange = true) {\n if (this.activeId !== nextId) {\n let defaultPrevented = false;\n\n if (emitNavChange) {\n this.navChange.emit({activeId: this.activeId, nextId, preventDefault: () => { defaultPrevented = true; }});\n }\n\n if (!defaultPrevented) {\n this.activeId = nextId;\n this.activeIdChange.emit(nextId);\n }\n }\n }\n}\n\n\n/**\n * A directive to put on the nav link.\n *\n * @since 5.2.0\n */\n@Directive({\n selector: 'a[ngbNavLink]',\n host: {\n '[id]': 'navItem.domId',\n '[class.nav-link]': 'true',\n '[class.nav-item]': 'hasNavItemClass()',\n '[attr.role]': `role ? role : nav.roles ? 'tab' : undefined`,\n 'href': '',\n '[class.active]': 'navItem.active',\n '[class.disabled]': 'navItem.disabled',\n '[attr.tabindex]': 'navItem.disabled ? -1 : undefined',\n '[attr.aria-controls]': 'navItem.isPanelInDom() ? navItem.panelDomId : null',\n '[attr.aria-selected]': 'navItem.active',\n '[attr.aria-disabled]': 'navItem.disabled',\n '(click)': 'nav.click(navItem); $event.preventDefault()'\n }\n})\nexport class NgbNavLink {\n constructor(@Attribute('role') public role: string, public navItem: NgbNavItem, public nav: NgbNav) {}\n\n hasNavItemClass() {\n // with alternative markup we have to add `.nav-item` class, because `ngbNavItem` is on the ng-container\n return this.navItem.elementRef.nativeElement.nodeType === Node.COMMENT_NODE;\n }\n}\n\n\n/**\n * The payload of the change event emitted right before the nav change happens on user click.\n *\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\n *\n * @since 5.2.0\n */\nexport interface NgbNavChangeEvent {\n /**\n * Id of the currently active nav.\n */\n activeId: any;\n\n /**\n * Id of the newly selected nav.\n */\n nextId: any;\n\n /**\n * Function that will prevent nav change if called.\n */\n preventDefault: () => void;\n}\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\nimport {NgbNav} from './nav';\n\n/**\n * The outlet where currently active nav content will be displayed.\n *\n * @since 5.2.0\n */\n@Component({\n selector: '[ngbNavOutlet]',\n host: {'[class.tab-content]': 'true'},\n encapsulation: ViewEncapsulation.None,\n template: `\n \n
\n \n
\n
\n `\n})\nexport class NgbNavOutlet {\n /**\n * A role to set on the nav pane\n */\n @Input() paneRole;\n\n /**\n * Reference to the `NgbNav`\n */\n @Input('ngbNavOutlet') nav: NgbNav;\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbNav, NgbNavContent, NgbNavItem, NgbNavLink} from './nav';\nimport {NgbNavOutlet} from './nav-outlet';\n\nexport {NgbNav, NgbNavContent, NgbNavContentContext, NgbNavItem, NgbNavLink, NgbNavChangeEvent} from './nav';\nexport {NgbNavOutlet} from './nav-outlet';\nexport {NgbNavConfig} from './nav-config';\n\nconst NGB_NAV_DIRECTIVES = [NgbNavContent, NgbNav, NgbNavItem, NgbNavLink, NgbNavOutlet];\n\n@NgModule({declarations: NGB_NAV_DIRECTIVES, exports: NGB_NAV_DIRECTIVES, imports: [CommonModule]})\nexport class NgbNavModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbPagination`](#/components/pagination/api#NgbPagination) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the paginations used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbPaginationConfig {\n disabled = false;\n boundaryLinks = false;\n directionLinks = true;\n ellipses = true;\n maxSize = 0;\n pageSize = 10;\n rotate = false;\n size: 'sm' | 'lg';\n}\n","import {\n Component,\n ContentChild,\n Directive,\n EventEmitter,\n Input,\n Output,\n OnChanges,\n ChangeDetectionStrategy,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport {getValueInRange, isNumber} from '../util/util';\nimport {NgbPaginationConfig} from './pagination-config';\n\n/**\n * A context for the\n * * `NgbPaginationFirst`\n * * `NgbPaginationPrevious`\n * * `NgbPaginationNext`\n * * `NgbPaginationLast`\n * * `NgbPaginationEllipsis`\n *\n * link templates in case you want to override one.\n *\n * @since 4.1.0\n */\nexport interface NgbPaginationLinkContext {\n /**\n * The currently selected page number\n */\n currentPage: number;\n\n /**\n * If `true`, the current link is disabled\n */\n disabled: boolean;\n}\n\n/**\n * A context for the `NgbPaginationNumber` link template in case you want to override one.\n *\n * Extends `NgbPaginationLinkContext`.\n *\n * @since 4.1.0\n */\nexport interface NgbPaginationNumberContext extends NgbPaginationLinkContext {\n /**\n * The page number, displayed by the current page link.\n */\n $implicit: number;\n}\n\n/**\n * A directive to match the 'ellipsis' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationEllipsis]'})\nexport class NgbPaginationEllipsis {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'first' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationFirst]'})\nexport class NgbPaginationFirst {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'last' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationLast]'})\nexport class NgbPaginationLast {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'next' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationNext]'})\nexport class NgbPaginationNext {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the page 'number' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationNumber]'})\nexport class NgbPaginationNumber {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'previous' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationPrevious]'})\nexport class NgbPaginationPrevious {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A component that displays page numbers and allows to customize them in several ways.\n */\n@Component({\n selector: 'ngb-pagination',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'role': 'navigation'},\n template: `\n ««\n «\n »\n »»\n ...\n \n {{ page }}\n (current)\n \n \n `\n})\nexport class NgbPagination implements OnChanges {\n pageCount = 0;\n pages: number[] = [];\n\n @ContentChild(NgbPaginationEllipsis, {static: false}) tplEllipsis: NgbPaginationEllipsis;\n @ContentChild(NgbPaginationFirst, {static: false}) tplFirst: NgbPaginationFirst;\n @ContentChild(NgbPaginationLast, {static: false}) tplLast: NgbPaginationLast;\n @ContentChild(NgbPaginationNext, {static: false}) tplNext: NgbPaginationNext;\n @ContentChild(NgbPaginationNumber, {static: false}) tplNumber: NgbPaginationNumber;\n @ContentChild(NgbPaginationPrevious, {static: false}) tplPrevious: NgbPaginationPrevious;\n\n /**\n * If `true`, pagination links will be disabled.\n */\n @Input() disabled: boolean;\n\n /**\n * If `true`, the \"First\" and \"Last\" page links are shown.\n */\n @Input() boundaryLinks: boolean;\n\n /**\n * If `true`, the \"Next\" and \"Previous\" page links are shown.\n */\n @Input() directionLinks: boolean;\n\n /**\n * If `true`, the ellipsis symbols and first/last page numbers will be shown when `maxSize` > number of pages.\n */\n @Input() ellipses: boolean;\n\n /**\n * Whether to rotate pages when `maxSize` > number of pages.\n *\n * The current page always stays in the middle if `true`.\n */\n @Input() rotate: boolean;\n\n /**\n * The number of items in your paginated collection.\n *\n * Note, that this is not the number of pages. Page numbers are calculated dynamically based on\n * `collectionSize` and `pageSize`. Ex. if you have 100 items in your collection and displaying 20 items per page,\n * you'll end up with 5 pages.\n */\n @Input() collectionSize: number;\n\n /**\n * The maximum number of pages to display.\n */\n @Input() maxSize: number;\n\n /**\n * The current page.\n *\n * Page numbers start with `1`.\n */\n @Input() page = 1;\n\n /**\n * The number of items per page.\n */\n @Input() pageSize: number;\n\n /**\n * An event fired when the page is changed. Will fire only if collection size is set and all values are valid.\n *\n * Event payload is the number of the newly selected page.\n *\n * Page numbers start with `1`.\n */\n @Output() pageChange = new EventEmitter(true);\n\n /**\n * The pagination display size.\n *\n * Bootstrap currently supports small and large sizes.\n */\n @Input() size: 'sm' | 'lg';\n\n constructor(config: NgbPaginationConfig) {\n this.disabled = config.disabled;\n this.boundaryLinks = config.boundaryLinks;\n this.directionLinks = config.directionLinks;\n this.ellipses = config.ellipses;\n this.maxSize = config.maxSize;\n this.pageSize = config.pageSize;\n this.rotate = config.rotate;\n this.size = config.size;\n }\n\n hasPrevious(): boolean { return this.page > 1; }\n\n hasNext(): boolean { return this.page < this.pageCount; }\n\n nextDisabled(): boolean { return !this.hasNext() || this.disabled; }\n\n previousDisabled(): boolean { return !this.hasPrevious() || this.disabled; }\n\n selectPage(pageNumber: number): void { this._updatePages(pageNumber); }\n\n ngOnChanges(changes: SimpleChanges): void { this._updatePages(this.page); }\n\n isEllipsis(pageNumber): boolean { return pageNumber === -1; }\n\n /**\n * Appends ellipses and first/last page number to the displayed pages\n */\n private _applyEllipses(start: number, end: number) {\n if (this.ellipses) {\n if (start > 0) {\n // The first page will always be included. If the displayed range\n // starts after the third page, then add ellipsis. But if the range\n // starts on the third page, then add the second page instead of\n // an ellipsis, because the ellipsis would only hide a single page.\n if (start > 2) {\n this.pages.unshift(-1);\n } else if (start === 2) {\n this.pages.unshift(2);\n }\n this.pages.unshift(1);\n }\n if (end < this.pageCount) {\n // The last page will always be included. If the displayed range\n // ends before the third-last page, then add ellipsis. But if the range\n // ends on third-last page, then add the second-last page instead of\n // an ellipsis, because the ellipsis would only hide a single page.\n if (end < (this.pageCount - 2)) {\n this.pages.push(-1);\n } else if (end === (this.pageCount - 2)) {\n this.pages.push(this.pageCount - 1);\n }\n this.pages.push(this.pageCount);\n }\n }\n }\n\n /**\n * Rotates page numbers based on maxSize items visible.\n * Currently selected page stays in the middle:\n *\n * Ex. for selected page = 6:\n * [5,*6*,7] for maxSize = 3\n * [4,5,*6*,7] for maxSize = 4\n */\n private _applyRotation(): [number, number] {\n let start = 0;\n let end = this.pageCount;\n let leftOffset = Math.floor(this.maxSize / 2);\n let rightOffset = this.maxSize % 2 === 0 ? leftOffset - 1 : leftOffset;\n\n if (this.page <= leftOffset) {\n // very beginning, no rotation -> [0..maxSize]\n end = this.maxSize;\n } else if (this.pageCount - this.page < leftOffset) {\n // very end, no rotation -> [len-maxSize..len]\n start = this.pageCount - this.maxSize;\n } else {\n // rotate\n start = this.page - leftOffset - 1;\n end = this.page + rightOffset;\n }\n\n return [start, end];\n }\n\n /**\n * Paginates page numbers based on maxSize items per page.\n */\n private _applyPagination(): [number, number] {\n let page = Math.ceil(this.page / this.maxSize) - 1;\n let start = page * this.maxSize;\n let end = start + this.maxSize;\n\n return [start, end];\n }\n\n private _setPageInRange(newPageNo) {\n const prevPageNo = this.page;\n this.page = getValueInRange(newPageNo, this.pageCount, 1);\n\n if (this.page !== prevPageNo && isNumber(this.collectionSize)) {\n this.pageChange.emit(this.page);\n }\n }\n\n private _updatePages(newPage: number) {\n this.pageCount = Math.ceil(this.collectionSize / this.pageSize);\n\n if (!isNumber(this.pageCount)) {\n this.pageCount = 0;\n }\n\n // fill-in model needed to render pages\n this.pages.length = 0;\n for (let i = 1; i <= this.pageCount; i++) {\n this.pages.push(i);\n }\n\n // set page within 1..max range\n this._setPageInRange(newPage);\n\n // apply maxSize if necessary\n if (this.maxSize > 0 && this.pageCount > this.maxSize) {\n let start = 0;\n let end = this.pageCount;\n\n // either paginating or rotating page numbers\n if (this.rotate) {\n [start, end] = this._applyRotation();\n } else {\n [start, end] = this._applyPagination();\n }\n\n this.pages = this.pages.slice(start, end);\n\n // adding ellipses\n this._applyEllipses(start, end);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {\n NgbPagination,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination';\n\nexport {\n NgbPagination,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination';\nexport {NgbPaginationConfig} from './pagination-config';\n\nconst DIRECTIVES = [\n NgbPagination, NgbPaginationEllipsis, NgbPaginationFirst, NgbPaginationLast, NgbPaginationNext, NgbPaginationNumber,\n NgbPaginationPrevious\n];\n\n@NgModule({declarations: DIRECTIVES, exports: DIRECTIVES, imports: [CommonModule]})\nexport class NgbPaginationModule {\n}\n","import {Observable, merge} from 'rxjs';\nimport {share, filter, delay, map} from 'rxjs/operators';\n\nexport class Trigger {\n constructor(public open: string, public close?: string) {\n if (!close) {\n this.close = open;\n }\n }\n\n isManual() { return this.open === 'manual' || this.close === 'manual'; }\n}\n\nconst DEFAULT_ALIASES = {\n 'hover': ['mouseenter', 'mouseleave'],\n 'focus': ['focusin', 'focusout'],\n};\n\nexport function parseTriggers(triggers: string, aliases = DEFAULT_ALIASES): Trigger[] {\n const trimmedTriggers = (triggers || '').trim();\n\n if (trimmedTriggers.length === 0) {\n return [];\n }\n\n const parsedTriggers = trimmedTriggers.split(/\\s+/).map(trigger => trigger.split(':')).map((triggerPair) => {\n let alias = aliases[triggerPair[0]] || triggerPair;\n return new Trigger(alias[0], alias[1]);\n });\n\n const manualTriggers = parsedTriggers.filter(triggerPair => triggerPair.isManual());\n\n if (manualTriggers.length > 1) {\n throw 'Triggers parse error: only one manual trigger is allowed';\n }\n\n if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\n throw 'Triggers parse error: manual trigger can\\'t be mixed with other triggers';\n }\n\n return parsedTriggers;\n}\n\nexport function observeTriggers(renderer: any, nativeElement: any, triggers: Trigger[], isOpenedFn: () => boolean) {\n return new Observable(subscriber => {\n const listeners = [];\n const openFn = () => subscriber.next(true);\n const closeFn = () => subscriber.next(false);\n const toggleFn = () => subscriber.next(!isOpenedFn());\n\n triggers.forEach((trigger: Trigger) => {\n if (trigger.open === trigger.close) {\n listeners.push(renderer.listen(nativeElement, trigger.open, toggleFn));\n } else {\n listeners.push(\n renderer.listen(nativeElement, trigger.open, openFn),\n renderer.listen(nativeElement, trigger.close, closeFn));\n }\n });\n\n return () => { listeners.forEach(unsubscribeFn => unsubscribeFn()); };\n });\n}\n\nconst delayOrNoop = (time: number) => time > 0 ? delay(time) : (a: Observable) => a;\n\nexport function triggerDelay(openDelay: number, closeDelay: number, isOpenedFn: () => boolean) {\n return (input$: Observable) => {\n let pending = null;\n const filteredInput$ = input$.pipe(\n map(open => ({open})), filter(event => {\n const currentlyOpen = isOpenedFn();\n if (currentlyOpen !== event.open && (!pending || pending.open === currentlyOpen)) {\n pending = event;\n return true;\n }\n if (pending && pending.open !== event.open) {\n pending = null;\n }\n return false;\n }),\n share());\n const delayedOpen$ = filteredInput$.pipe(filter(event => event.open), delayOrNoop(openDelay));\n const delayedClose$ = filteredInput$.pipe(filter(event => !event.open), delayOrNoop(closeDelay));\n return merge(delayedOpen$, delayedClose$)\n .pipe(\n filter(event => {\n if (event === pending) {\n pending = null;\n return event.open !== isOpenedFn();\n }\n return false;\n }),\n map(event => event.open));\n };\n}\n\nexport function listenToTriggers(\n renderer: any, nativeElement: any, triggers: string, isOpenedFn: () => boolean, openFn, closeFn, openDelay = 0,\n closeDelay = 0) {\n const parsedTriggers = parseTriggers(triggers);\n\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return () => {};\n }\n\n const subscription = observeTriggers(renderer, nativeElement, parsedTriggers, isOpenedFn)\n .pipe(triggerDelay(openDelay, closeDelay, isOpenedFn))\n .subscribe(open => (open ? openFn() : closeFn()));\n\n return () => subscription.unsubscribe();\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbPopover`](#/components/popover/api#NgbPopover) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the popovers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbPopoverConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n placement: PlacementArray = 'auto';\n triggers = 'click';\n container: string;\n disablePopover = false;\n popoverClass: string;\n openDelay = 0;\n closeDelay = 0;\n}\n","import {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n OnChanges,\n Inject,\n Injector,\n Renderer2,\n ComponentRef,\n ElementRef,\n TemplateRef,\n ViewContainerRef,\n ComponentFactoryResolver,\n NgZone,\n SimpleChanges,\n ViewEncapsulation,\n ChangeDetectorRef,\n ApplicationRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {listenToTriggers} from '../util/triggers';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {positionElements, PlacementArray} from '../util/positioning';\nimport {PopupService} from '../util/popup';\n\nimport {NgbPopoverConfig} from './popover-config';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngb-popover-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'[class]': '\"popover\" + (popoverClass ? \" \" + popoverClass : \"\")', 'role': 'tooltip', '[id]': 'id'},\n template: `\n
\n

\n {{title}}\n \n

\n
`,\n styleUrls: ['./popover.scss']\n})\nexport class NgbPopoverWindow {\n @Input() title: undefined | string | TemplateRef;\n @Input() id: string;\n @Input() popoverClass: string;\n @Input() context: any;\n\n isTitleTemplate() { return this.title instanceof TemplateRef; }\n}\n\n/**\n * A lightweight and extensible directive for fancy popover creation.\n */\n@Directive({selector: '[ngbPopover]', exportAs: 'ngbPopover'})\nexport class NgbPopover implements OnInit, OnDestroy, OnChanges {\n /**\n * Indicates whether the popover should be closed on `Escape` key and inside/outside clicks:\n *\n * * `true` - closes on both outside and inside clicks as well as `Escape` presses\n * * `false` - disables the autoClose feature (NB: triggers still apply)\n * * `\"inside\"` - closes on inside clicks as well as Escape presses\n * * `\"outside\"` - closes on outside clicks (sometimes also achievable through triggers)\n * as well as `Escape` presses\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The string content or a `TemplateRef` for the content to be displayed in the popover.\n *\n * If the title and the content are empty, the popover won't open.\n */\n @Input() ngbPopover: string | TemplateRef;\n\n /**\n * The title of the popover.\n *\n * If the title and the content are empty, the popover won't open.\n */\n @Input() popoverTitle: string | TemplateRef;\n\n /**\n * The preferred placement of the popover.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"auto\"` (same as the sequence above).\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * Specifies events that should trigger the tooltip.\n *\n * Supports a space separated list of event names.\n * For more details see the [triggers demo](#/components/popover/examples#triggers).\n */\n @Input() triggers: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n *\n * Currently only supports `body`.\n */\n @Input() container: string;\n\n /**\n * If `true`, popover is disabled and won't be displayed.\n *\n * @since 1.1.0\n */\n @Input() disablePopover: boolean;\n\n /**\n * An optional class applied to the popover window element.\n *\n * @since 2.2.0\n */\n @Input() popoverClass: string;\n\n /**\n * The opening delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() openDelay: number;\n\n /**\n * The closing delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() closeDelay: number;\n\n /**\n * An event emitted when the popover is shown. Contains no payload.\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the popover is hidden. Contains no payload.\n */\n @Output() hidden = new EventEmitter();\n\n private _ngbPopoverWindowId = `ngb-popover-${nextId++}`;\n private _popupService: PopupService;\n private _windowRef: ComponentRef;\n private _unregisterListenersFn;\n private _zoneSubscription: any;\n private _isDisabled(): boolean {\n if (this.disablePopover) {\n return true;\n }\n if (!this.ngbPopover && !this.popoverTitle) {\n return true;\n }\n return false;\n }\n\n constructor(\n private _elementRef: ElementRef, private _renderer: Renderer2, injector: Injector,\n componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: NgbPopoverConfig,\n private _ngZone: NgZone, @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n applicationRef: ApplicationRef) {\n this.autoClose = config.autoClose;\n this.placement = config.placement;\n this.triggers = config.triggers;\n this.container = config.container;\n this.disablePopover = config.disablePopover;\n this.popoverClass = config.popoverClass;\n this.openDelay = config.openDelay;\n this.closeDelay = config.closeDelay;\n this._popupService = new PopupService(\n NgbPopoverWindow, injector, viewContainerRef, _renderer, componentFactoryResolver, applicationRef);\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\n if (this._windowRef) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\n this.container === 'body', 'bs-popover');\n }\n });\n }\n\n /**\n * Opens the popover.\n *\n * This is considered to be a \"manual\" triggering.\n * The `context` is an optional value to be injected into the popover template when it is created.\n */\n open(context?: any) {\n if (!this._windowRef && !this._isDisabled()) {\n this._windowRef = this._popupService.open(this.ngbPopover, context);\n this._windowRef.instance.title = this.popoverTitle;\n this._windowRef.instance.context = context;\n this._windowRef.instance.popoverClass = this.popoverClass;\n this._windowRef.instance.id = this._ngbPopoverWindowId;\n\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbPopoverWindowId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n // We need to detect changes, because we don't know where .open() might be called from.\n // Ex. opening popover from one of lifecycle hooks that run after the CD\n // (say from ngAfterViewInit) will result in 'ExpressionHasChanged' exception\n this._windowRef.changeDetectorRef.detectChanges();\n\n // We need to mark for check, because popover won't work inside the OnPush component.\n // Ex. when we use expression like `{{ popover.isOpen() : 'opened' : 'closed' }}`\n // inside the template of an OnPush component and we change the popover from\n // open -> closed, the expression in question won't be updated unless we explicitly\n // mark the parent component to be checked.\n this._windowRef.changeDetectorRef.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden,\n [this._windowRef.location.nativeElement]);\n this.shown.emit();\n }\n }\n\n /**\n * Closes the popover.\n *\n * This is considered to be a \"manual\" triggering of the popover.\n */\n close(): void {\n if (this._windowRef) {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n this._popupService.close();\n this._windowRef = null;\n this.hidden.emit();\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Toggles the popover.\n *\n * This is considered to be a \"manual\" triggering of the popover.\n */\n toggle(): void {\n if (this._windowRef) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Returns `true`, if the popover is currently shown.\n */\n isOpen(): boolean { return this._windowRef != null; }\n\n ngOnInit() {\n this._unregisterListenersFn = listenToTriggers(\n this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this),\n this.close.bind(this), +this.openDelay, +this.closeDelay);\n }\n\n ngOnChanges({ngbPopover, popoverTitle, disablePopover, popoverClass}: SimpleChanges) {\n if (popoverClass && this.isOpen()) {\n this._windowRef.instance.popoverClass = popoverClass.currentValue;\n }\n // close popover if title and content become empty, or disablePopover set to true\n if ((ngbPopover || popoverTitle || disablePopover) && this._isDisabled()) {\n this.close();\n }\n }\n\n ngOnDestroy() {\n this.close();\n // This check is needed as it might happen that ngOnDestroy is called before ngOnInit\n // under certain conditions, see: https://github.com/ng-bootstrap/ng-bootstrap/issues/2199\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n this._zoneSubscription.unsubscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbPopover, NgbPopoverWindow} from './popover';\nimport {CommonModule} from '@angular/common';\n\nexport {NgbPopover} from './popover';\nexport {NgbPopoverConfig} from './popover-config';\nexport {Placement} from '../util/positioning';\n\n@NgModule({\n declarations: [NgbPopover, NgbPopoverWindow],\n exports: [NgbPopover],\n imports: [CommonModule],\n entryComponents: [NgbPopoverWindow]\n})\nexport class NgbPopoverModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbProgressbar`](#/components/progressbar/api#NgbProgressbar) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the progress bars used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbProgressbarConfig {\n max = 100;\n animated = false;\n striped = false;\n textType: string;\n type: string;\n showValue = false;\n height: string;\n}\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\nimport {getValueInRange, isNumber} from '../util/util';\nimport {NgbProgressbarConfig} from './progressbar-config';\n\n/**\n * A directive that provides feedback on the progress of a workflow or an action.\n */\n@Component({\n selector: 'ngb-progressbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n
\n
\n {{getPercentValue()}}%\n
\n
\n `\n})\nexport class NgbProgressbar {\n private _max: number;\n\n /**\n * The maximal value to be displayed in the progress bar.\n *\n * Should be a positive number. Will default to 100 otherwise.\n */\n @Input()\n set max(max: number) {\n this._max = !isNumber(max) || max <= 0 ? 100 : max;\n }\n\n get max(): number { return this._max; }\n\n /**\n * If `true`, the stripes on the progress bar are animated.\n *\n * Takes effect only for browsers supporting CSS3 animations, and if `striped` is `true`.\n */\n @Input() animated: boolean;\n\n /**\n * If `true`, the progress bars will be displayed as striped.\n */\n @Input() striped: boolean;\n\n /**\n * If `true`, the current percentage will be shown in the `xx%` format.\n */\n @Input() showValue: boolean;\n\n /**\n * Optional text variant type of the progress bar.\n *\n * Supports types based on Bootstrap background color variants, like:\n * `\"success\"`, `\"info\"`, `\"warning\"`, `\"danger\"`, `\"primary\"`, `\"secondary\"`, `\"dark\"` and so on.\n *\n * @since 5.2.0\n */\n @Input() textType: string;\n\n /**\n * The type of the progress bar.\n *\n * Supports types based on Bootstrap background color variants, like:\n * `\"success\"`, `\"info\"`, `\"warning\"`, `\"danger\"`, `\"primary\"`, `\"secondary\"`, `\"dark\"` and so on.\n */\n @Input() type: string;\n\n /**\n * The current value for the progress bar.\n *\n * Should be in the `[0, max]` range.\n */\n @Input() value = 0;\n\n /**\n * The height of the progress bar.\n *\n * Accepts any valid CSS height values, ex. `\"2rem\"`\n */\n @Input() height: string;\n\n constructor(config: NgbProgressbarConfig) {\n this.max = config.max;\n this.animated = config.animated;\n this.striped = config.striped;\n this.textType = config.textType;\n this.type = config.type;\n this.showValue = config.showValue;\n this.height = config.height;\n }\n\n getValue() { return getValueInRange(this.value, this.max); }\n\n getPercentValue() { return 100 * this.getValue() / this.max; }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbProgressbar} from './progressbar';\n\nexport {NgbProgressbar} from './progressbar';\nexport {NgbProgressbarConfig} from './progressbar-config';\n\n@NgModule({declarations: [NgbProgressbar], exports: [NgbProgressbar], imports: [CommonModule]})\nexport class NgbProgressbarModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbRating`](#/components/rating/api#NgbRating) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the ratings used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbRatingConfig {\n max = 10;\n readonly = false;\n resettable = false;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {NgbRatingConfig} from './rating-config';\nimport {getValueInRange} from '../util/util';\nimport {Key} from '../util/key';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n/**\n * The context for the custom star display template defined in the `starTemplate`.\n */\nexport interface StarTemplateContext {\n /**\n * The star fill percentage, an integer in the `[0, 100]` range.\n */\n fill: number;\n\n /**\n * Index of the star, starts with `0`.\n */\n index: number;\n}\n\nconst NGB_RATING_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbRating),\n multi: true\n};\n\n/**\n * A directive that helps visualising and interacting with a star rating bar.\n */\n@Component({\n selector: 'ngb-rating',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'd-inline-flex',\n '[tabindex]': 'disabled ? -1 : 0',\n 'role': 'slider',\n 'aria-valuemin': '0',\n '[attr.aria-valuemax]': 'max',\n '[attr.aria-valuenow]': 'nextRate',\n '[attr.aria-valuetext]': 'ariaValueText()',\n '[attr.aria-disabled]': 'readonly ? true : null',\n '(blur)': 'handleBlur()',\n '(keydown)': 'handleKeyDown($event)',\n '(mouseleave)': 'reset()'\n },\n template: `\n {{ fill === 100 ? '★' : '☆' }}\n \n ({{ index < nextRate ? '*' : ' ' }})\n \n \n \n \n \n `,\n providers: [NGB_RATING_VALUE_ACCESSOR]\n})\nexport class NgbRating implements ControlValueAccessor,\n OnInit, OnChanges {\n contexts: StarTemplateContext[] = [];\n disabled = false;\n nextRate: number;\n\n\n /**\n * The maximal rating that can be given.\n */\n @Input() max: number;\n\n /**\n * The current rating. Could be a decimal value like `3.75`.\n */\n @Input() rate: number;\n\n /**\n * If `true`, the rating can't be changed.\n */\n @Input() readonly: boolean;\n\n /**\n * If `true`, the rating can be reset to `0` by mouse clicking currently set rating.\n */\n @Input() resettable: boolean;\n\n /**\n * The template to override the way each star is displayed.\n *\n * Alternatively put an `` as the only child of your `` element\n */\n @Input() starTemplate: TemplateRef;\n @ContentChild(TemplateRef, {static: false}) starTemplateFromContent: TemplateRef;\n\n /**\n * An event emitted when the user is hovering over a given rating.\n *\n * Event payload equals to the rating being hovered over.\n */\n @Output() hover = new EventEmitter();\n\n /**\n * An event emitted when the user stops hovering over a given rating.\n *\n * Event payload equals to the rating of the last item being hovered over.\n */\n @Output() leave = new EventEmitter();\n\n /**\n * An event emitted when the user selects a new rating.\n *\n * Event payload equals to the newly selected rating.\n */\n @Output() rateChange = new EventEmitter(true);\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n constructor(config: NgbRatingConfig, private _changeDetectorRef: ChangeDetectorRef) {\n this.max = config.max;\n this.readonly = config.readonly;\n }\n\n ariaValueText() { return `${this.nextRate} out of ${this.max}`; }\n\n enter(value: number): void {\n if (!this.readonly && !this.disabled) {\n this._updateState(value);\n }\n this.hover.emit(value);\n }\n\n handleBlur() { this.onTouched(); }\n\n handleClick(value: number) {\n if (!this.readonly && !this.disabled) {\n this.update(this.resettable && this.rate === value ? 0 : value);\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.ArrowDown:\n case Key.ArrowLeft:\n this.update(this.rate - 1);\n break;\n case Key.ArrowUp:\n case Key.ArrowRight:\n this.update(this.rate + 1);\n break;\n case Key.Home:\n this.update(0);\n break;\n case Key.End:\n this.update(this.max);\n break;\n default:\n return;\n }\n\n // note 'return' in default case\n event.preventDefault();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['rate']) {\n this.update(this.rate);\n }\n }\n\n ngOnInit(): void {\n this.contexts = Array.from({length: this.max}, (v, k) => ({fill: 0, index: k}));\n this._updateState(this.rate);\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n reset(): void {\n this.leave.emit(this.nextRate);\n this._updateState(this.rate);\n }\n\n setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; }\n\n update(value: number, internalChange = true): void {\n const newRate = getValueInRange(value, this.max, 0);\n if (!this.readonly && !this.disabled && this.rate !== newRate) {\n this.rate = newRate;\n this.rateChange.emit(this.rate);\n }\n if (internalChange) {\n this.onChange(this.rate);\n this.onTouched();\n }\n this._updateState(this.rate);\n }\n\n writeValue(value) {\n this.update(value, false);\n this._changeDetectorRef.markForCheck();\n }\n\n private _getFillValue(index: number): number {\n const diff = this.nextRate - index;\n\n if (diff >= 1) {\n return 100;\n }\n if (diff < 1 && diff > 0) {\n return parseInt((diff * 100).toFixed(2), 10);\n }\n\n return 0;\n }\n\n private _updateState(nextValue: number) {\n this.nextRate = nextValue;\n this.contexts.forEach((context, index) => context.fill = this._getFillValue(index));\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbRating} from './rating';\n\nexport {NgbRating} from './rating';\nexport {NgbRatingConfig} from './rating-config';\n\n@NgModule({declarations: [NgbRating], exports: [NgbRating], imports: [CommonModule]})\nexport class NgbRatingModule {\n}\n","// tslint:disable:deprecation\nimport {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbTabset`](#/components/tabset/api#NgbTabset) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the tabsets used in the application.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTabsetConfig {\n justify: 'start' | 'center' | 'end' | 'fill' | 'justified' = 'start';\n orientation: 'horizontal' | 'vertical' = 'horizontal';\n type: 'tabs' | 'pills' = 'tabs';\n}\n","// tslint:disable:deprecation\nimport {\n AfterContentChecked,\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {NgbTabsetConfig} from './tabset-config';\n\nlet nextId = 0;\n\n/**\n * A directive to wrap tab titles that need to contain HTML markup or other directives.\n *\n * Alternatively you could use the `NgbTab.title` input for string titles.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\n@Directive({selector: 'ng-template[ngbTabTitle]'})\nexport class NgbTabTitle {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to wrap content to be displayed in a tab.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\n@Directive({selector: 'ng-template[ngbTabContent]'})\nexport class NgbTabContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive representing an individual tab.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\n@Directive({selector: 'ngb-tab'})\nexport class NgbTab implements AfterContentChecked {\n /**\n * The tab identifier.\n *\n * Must be unique for the entire document for proper accessibility support.\n */\n @Input() id = `ngb-tab-${nextId++}`;\n\n /**\n * The tab title.\n *\n * Use the [`NgbTabTitle`](#/components/tabset/api#NgbTabTitle) directive for non-string titles.\n */\n @Input() title: string;\n\n /**\n * If `true`, the current tab is disabled and can't be toggled.\n */\n @Input() disabled = false;\n\n titleTpl: NgbTabTitle | null;\n contentTpl: NgbTabContent | null;\n\n @ContentChildren(NgbTabTitle, {descendants: false}) titleTpls: QueryList;\n @ContentChildren(NgbTabContent, {descendants: false}) contentTpls: QueryList;\n\n ngAfterContentChecked() {\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\n // only @ContentChildren allows us to specify the {descendants: false} option.\n // Without {descendants: false} we are hitting bugs described in:\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\n this.titleTpl = this.titleTpls.first;\n this.contentTpl = this.contentTpls.first;\n }\n}\n\n/**\n * The payload of the change event fired right before the tab change.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\nexport interface NgbTabChangeEvent {\n /**\n * The id of the currently active tab.\n */\n activeId: string;\n\n /**\n * The id of the newly selected tab.\n */\n nextId: string;\n\n /**\n * Calling this function will prevent tab switching.\n */\n preventDefault: () => void;\n}\n\n/**\n * A component that makes it easy to create tabbed interface.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\n@Component({\n selector: 'ngb-tabset',\n exportAs: 'ngbTabset',\n encapsulation: ViewEncapsulation.None,\n template: `\n \n
\n \n \n \n
\n
\n \n `\n})\nexport class NgbTabset implements AfterContentChecked {\n justifyClass: string;\n\n @ContentChildren(NgbTab) tabs: QueryList;\n\n /**\n * The identifier of the tab that should be opened **initially**.\n *\n * For subsequent tab switches use the `.select()` method and the `(tabChange)` event.\n */\n @Input() activeId: string;\n\n /**\n * If `true`, non-visible tabs content will be removed from DOM. Otherwise it will just be hidden.\n */\n @Input() destroyOnHide = true;\n\n /**\n * The horizontal alignment of the tabs with flexbox utilities.\n */\n @Input()\n set justify(className: 'start' | 'center' | 'end' | 'fill' | 'justified') {\n if (className === 'fill' || className === 'justified') {\n this.justifyClass = `nav-${className}`;\n } else {\n this.justifyClass = `justify-content-${className}`;\n }\n }\n\n /**\n * The orientation of the tabset.\n */\n @Input() orientation: 'horizontal' | 'vertical';\n\n /**\n * Type of navigation to be used for tabs.\n *\n * Currently Bootstrap supports only `\"tabs\"` and `\"pills\"`.\n *\n * Since `3.0.0` can also be an arbitrary string (ex. for custom themes).\n */\n @Input() type: 'tabs' | 'pills' | string;\n\n /**\n * A tab change event emitted right before the tab change happens.\n *\n * See [`NgbTabChangeEvent`](#/components/tabset/api#NgbTabChangeEvent) for payload details.\n */\n @Output() tabChange = new EventEmitter();\n\n constructor(config: NgbTabsetConfig) {\n this.type = config.type;\n this.justify = config.justify;\n this.orientation = config.orientation;\n }\n\n /**\n * Selects the tab with the given id and shows its associated content panel.\n *\n * Any other tab that was previously selected becomes unselected and its associated pane is removed from DOM or\n * hidden depending on the `destroyOnHide` value.\n */\n select(tabId: string) {\n let selectedTab = this._getTabById(tabId);\n if (selectedTab && !selectedTab.disabled && this.activeId !== selectedTab.id) {\n let defaultPrevented = false;\n\n this.tabChange.emit(\n {activeId: this.activeId, nextId: selectedTab.id, preventDefault: () => { defaultPrevented = true; }});\n\n if (!defaultPrevented) {\n this.activeId = selectedTab.id;\n }\n }\n }\n\n ngAfterContentChecked() {\n // auto-correct activeId that might have been set incorrectly as input\n let activeTab = this._getTabById(this.activeId);\n this.activeId = activeTab ? activeTab.id : (this.tabs.length ? this.tabs.first.id : null);\n }\n\n private _getTabById(id: string): NgbTab {\n let tabsWithId: NgbTab[] = this.tabs.filter(tab => tab.id === id);\n return tabsWithId.length ? tabsWithId[0] : null;\n }\n}\n","// tslint:disable:deprecation\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbTabset, NgbTab, NgbTabContent, NgbTabTitle} from './tabset';\n\nexport {NgbTabset, NgbTab, NgbTabContent, NgbTabTitle, NgbTabChangeEvent} from './tabset';\nexport {NgbTabsetConfig} from './tabset-config';\n\nconst NGB_TABSET_DIRECTIVES = [NgbTabset, NgbTab, NgbTabContent, NgbTabTitle];\n\n/**\n * @deprecated 6.0.0 Please use NgbNavModule instead\n */\n@NgModule({declarations: NGB_TABSET_DIRECTIVES, exports: NGB_TABSET_DIRECTIVES, imports: [CommonModule]})\nexport class NgbTabsetModule {\n}\n","import {isNumber, toInteger} from '../util/util';\n\nexport class NgbTime {\n hour: number;\n minute: number;\n second: number;\n\n constructor(hour?: number, minute?: number, second?: number) {\n this.hour = toInteger(hour);\n this.minute = toInteger(minute);\n this.second = toInteger(second);\n }\n\n changeHour(step = 1) { this.updateHour((isNaN(this.hour) ? 0 : this.hour) + step); }\n\n updateHour(hour: number) {\n if (isNumber(hour)) {\n this.hour = (hour < 0 ? 24 + hour : hour) % 24;\n } else {\n this.hour = NaN;\n }\n }\n\n changeMinute(step = 1) { this.updateMinute((isNaN(this.minute) ? 0 : this.minute) + step); }\n\n updateMinute(minute: number) {\n if (isNumber(minute)) {\n this.minute = minute % 60 < 0 ? 60 + minute % 60 : minute % 60;\n this.changeHour(Math.floor(minute / 60));\n } else {\n this.minute = NaN;\n }\n }\n\n changeSecond(step = 1) { this.updateSecond((isNaN(this.second) ? 0 : this.second) + step); }\n\n updateSecond(second: number) {\n if (isNumber(second)) {\n this.second = second < 0 ? 60 + second % 60 : second % 60;\n this.changeMinute(Math.floor(second / 60));\n } else {\n this.second = NaN;\n }\n }\n\n isValid(checkSecs = true) {\n return isNumber(this.hour) && isNumber(this.minute) && (checkSecs ? isNumber(this.second) : true);\n }\n\n toString() { return `${this.hour || 0}:${this.minute || 0}:${this.second || 0}`; }\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbTimepicker`](#/components/timepicker/api#NgbTimepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the timepickers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTimepickerConfig {\n meridian = false;\n spinners = true;\n seconds = false;\n hourStep = 1;\n minuteStep = 1;\n secondStep = 1;\n disabled = false;\n readonlyInputs = false;\n size: 'small' | 'medium' | 'large' = 'medium';\n}\n","import {Injectable} from '@angular/core';\nimport {NgbTimeStruct} from './ngb-time-struct';\nimport {isInteger} from '../util/util';\n\nexport function NGB_DATEPICKER_TIME_ADAPTER_FACTORY() {\n return new NgbTimeStructAdapter();\n}\n\n/**\n * An abstract service that does the conversion between the internal timepicker `NgbTimeStruct` model and\n * any provided user time model `T`, ex. a string, a native date, etc.\n *\n * The adapter is used **only** for conversion when binding timepicker to a form control,\n * ex. `[(ngModel)]=\"userTimeModel\"`. Here `userTimeModel` can be of any type.\n *\n * The default timepicker implementation assumes we use `NgbTimeStruct` as a user model.\n *\n * See the [custom time adapter demo](#/components/timepicker/examples#adapter) for an example.\n *\n * @since 2.2.0\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_TIME_ADAPTER_FACTORY})\nexport abstract class NgbTimeAdapter {\n /**\n * Converts a user-model time of type `T` to an `NgbTimeStruct` for internal use.\n */\n abstract fromModel(value: T): NgbTimeStruct;\n\n /**\n * Converts an internal `NgbTimeStruct` time to a user-model time of type `T`.\n */\n abstract toModel(time: NgbTimeStruct): T;\n}\n\n@Injectable()\nexport class NgbTimeStructAdapter extends NgbTimeAdapter {\n /**\n * Converts a NgbTimeStruct value into NgbTimeStruct value\n */\n fromModel(time: NgbTimeStruct): NgbTimeStruct {\n return (time && isInteger(time.hour) && isInteger(time.minute)) ?\n {hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null} :\n null;\n }\n\n /**\n * Converts a NgbTimeStruct value into NgbTimeStruct value\n */\n toModel(time: NgbTimeStruct): NgbTimeStruct {\n return (time && isInteger(time.hour) && isInteger(time.minute)) ?\n {hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null} :\n null;\n }\n}\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {FormStyle, getLocaleDayPeriods, TranslationWidth} from '@angular/common';\n\nexport function NGB_TIMEPICKER_I18N_FACTORY(locale) {\n return new NgbTimepickerI18nDefault(locale);\n}\n\n/**\n * Type of the service supplying day periods (for example, 'AM' and 'PM') to NgbTimepicker component.\n * The default implementation of this service honors the Angular locale, and uses the registered locale data,\n * as explained in the Angular i18n guide.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_TIMEPICKER_I18N_FACTORY, deps: [LOCALE_ID]})\nexport abstract class NgbTimepickerI18n {\n /**\n * Returns the name for the period before midday.\n */\n abstract getMorningPeriod(): string;\n\n /**\n * Returns the name for the period after midday.\n */\n abstract getAfternoonPeriod(): string;\n}\n\n@Injectable()\nexport class NgbTimepickerI18nDefault extends NgbTimepickerI18n {\n private _periods: [string, string];\n\n constructor(@Inject(LOCALE_ID) locale: string) {\n super();\n\n this._periods = getLocaleDayPeriods(locale, FormStyle.Standalone, TranslationWidth.Narrow);\n }\n\n getMorningPeriod(): string { return this._periods[0]; }\n\n getAfternoonPeriod(): string { return this._periods[1]; }\n}\n","import {\n ChangeDetectorRef,\n Component,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {isInteger, isNumber, padNumber, toInteger} from '../util/util';\nimport {NgbTime} from './ngb-time';\nimport {NgbTimepickerConfig} from './timepicker-config';\nimport {NgbTimeAdapter} from './ngb-time-adapter';\nimport {NgbTimepickerI18n} from './timepicker-i18n';\n\nconst FILTER_REGEX = /[^0-9]/g;\n\nconst NGB_TIMEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbTimepicker),\n multi: true\n};\n\n/**\n * A directive that helps with wth picking hours, minutes and seconds.\n */\n@Component({\n selector: 'ngb-timepicker',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./timepicker.scss'],\n template: `\n
\n
\n
\n \n \n \n
\n
:
\n
\n \n \n \n
\n
:
\n
\n \n \n \n
\n
\n
\n \n
\n
\n
\n `,\n providers: [NGB_TIMEPICKER_VALUE_ACCESSOR]\n})\nexport class NgbTimepicker implements ControlValueAccessor,\n OnChanges {\n disabled: boolean;\n model: NgbTime;\n\n private _hourStep: number;\n private _minuteStep: number;\n private _secondStep: number;\n\n /**\n * Whether to display 12H or 24H mode.\n */\n @Input() meridian: boolean;\n\n /**\n * If `true`, the spinners above and below inputs are visible.\n */\n @Input() spinners: boolean;\n\n /**\n * If `true`, it is possible to select seconds.\n */\n @Input() seconds: boolean;\n\n /**\n * The number of hours to add/subtract when clicking hour spinners.\n */\n @Input()\n set hourStep(step: number) {\n this._hourStep = isInteger(step) ? step : this._config.hourStep;\n }\n\n get hourStep(): number { return this._hourStep; }\n\n /**\n * The number of minutes to add/subtract when clicking minute spinners.\n */\n @Input()\n set minuteStep(step: number) {\n this._minuteStep = isInteger(step) ? step : this._config.minuteStep;\n }\n\n get minuteStep(): number { return this._minuteStep; }\n\n /**\n * The number of seconds to add/subtract when clicking second spinners.\n */\n @Input()\n set secondStep(step: number) {\n this._secondStep = isInteger(step) ? step : this._config.secondStep;\n }\n\n get secondStep(): number { return this._secondStep; }\n\n /**\n * If `true`, the timepicker is readonly and can't be changed.\n */\n @Input() readonlyInputs: boolean;\n\n /**\n * The size of inputs and buttons.\n */\n @Input() size: 'small' | 'medium' | 'large';\n\n constructor(\n private readonly _config: NgbTimepickerConfig, private _ngbTimeAdapter: NgbTimeAdapter,\n private _cd: ChangeDetectorRef, public i18n: NgbTimepickerI18n) {\n this.meridian = _config.meridian;\n this.spinners = _config.spinners;\n this.seconds = _config.seconds;\n this.hourStep = _config.hourStep;\n this.minuteStep = _config.minuteStep;\n this.secondStep = _config.secondStep;\n this.disabled = _config.disabled;\n this.readonlyInputs = _config.readonlyInputs;\n this.size = _config.size;\n }\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(value) {\n const structValue = this._ngbTimeAdapter.fromModel(value);\n this.model = structValue ? new NgbTime(structValue.hour, structValue.minute, structValue.second) : new NgbTime();\n if (!this.seconds && (!structValue || !isNumber(structValue.second))) {\n this.model.second = 0;\n }\n this._cd.markForCheck();\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; }\n\n changeHour(step: number) {\n this.model.changeHour(step);\n this.propagateModelChange();\n }\n\n changeMinute(step: number) {\n this.model.changeMinute(step);\n this.propagateModelChange();\n }\n\n changeSecond(step: number) {\n this.model.changeSecond(step);\n this.propagateModelChange();\n }\n\n updateHour(newVal: string) {\n const isPM = this.model.hour >= 12;\n const enteredHour = toInteger(newVal);\n if (this.meridian && (isPM && enteredHour < 12 || !isPM && enteredHour === 12)) {\n this.model.updateHour(enteredHour + 12);\n } else {\n this.model.updateHour(enteredHour);\n }\n this.propagateModelChange();\n }\n\n updateMinute(newVal: string) {\n this.model.updateMinute(toInteger(newVal));\n this.propagateModelChange();\n }\n\n updateSecond(newVal: string) {\n this.model.updateSecond(toInteger(newVal));\n this.propagateModelChange();\n }\n\n toggleMeridian() {\n if (this.meridian) {\n this.changeHour(12);\n }\n }\n\n formatInput(input: HTMLInputElement) { input.value = input.value.replace(FILTER_REGEX, ''); }\n\n formatHour(value: number) {\n if (isNumber(value)) {\n if (this.meridian) {\n return padNumber(value % 12 === 0 ? 12 : value % 12);\n } else {\n return padNumber(value % 24);\n }\n } else {\n return padNumber(NaN);\n }\n }\n\n formatMinSec(value: number) { return padNumber(value); }\n\n get isSmallSize(): boolean { return this.size === 'small'; }\n\n get isLargeSize(): boolean { return this.size === 'large'; }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['seconds'] && !this.seconds && this.model && !isNumber(this.model.second)) {\n this.model.second = 0;\n this.propagateModelChange(false);\n }\n }\n\n private propagateModelChange(touched = true) {\n if (touched) {\n this.onTouched();\n }\n if (this.model.isValid(this.seconds)) {\n this.onChange(\n this._ngbTimeAdapter.toModel({hour: this.model.hour, minute: this.model.minute, second: this.model.second}));\n } else {\n this.onChange(this._ngbTimeAdapter.toModel(null));\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbTimepicker} from './timepicker';\n\nexport {NgbTimepicker} from './timepicker';\nexport {NgbTimepickerConfig} from './timepicker-config';\nexport {NgbTimeStruct} from './ngb-time-struct';\nexport {NgbTimeAdapter} from './ngb-time-adapter';\nexport {NgbTimepickerI18n} from './timepicker-i18n';\n\n@NgModule({declarations: [NgbTimepicker], exports: [NgbTimepicker], imports: [CommonModule]})\nexport class NgbTimepickerModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * Interface used to type all toast config options. See `NgbToastConfig`.\n *\n * @since 5.0.0\n */\nexport interface NgbToastOptions {\n /**\n * Specify if the toast component should emit the `hide()` output\n * after a certain `delay` in ms.\n */\n autohide?: boolean;\n\n /**\n * Delay in ms after which the `hide()` output should be emitted.\n */\n delay?: number;\n\n /**\n * Type of aria-live attribute to be used.\n *\n * Could be one of these 2 values (as string):\n * - `polite` (default)\n * - `alert`\n */\n ariaLive?: 'polite' | 'alert';\n}\n\n/**\n * Configuration service for the NgbToast component. You can inject this service, typically in your root component,\n * and customize the values of its properties in order to provide default values for all the toasts used in the\n * application.\n *\n * @since 5.0.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbToastConfig implements NgbToastOptions {\n autohide = true;\n delay = 500;\n ariaLive: 'polite' | 'alert' = 'polite';\n}\n","import {\n AfterContentInit,\n Attribute,\n Component,\n ContentChild,\n Directive,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport {NgbToastConfig} from './toast-config';\n\n/**\n * This directive allows the usage of HTML markup or other directives\n * inside of the toast's header.\n *\n * @since 5.0.0\n */\n@Directive({selector: '[ngbToastHeader]'})\nexport class NgbToastHeader {\n}\n\n/**\n * Toasts provide feedback messages as notifications to the user.\n * Goal is to mimic the push notifications available both on mobile and desktop operating systems.\n *\n * @since 5.0.0\n */\n@Component({\n selector: 'ngb-toast',\n exportAs: 'ngbToast',\n encapsulation: ViewEncapsulation.None,\n host: {\n 'role': 'alert',\n '[attr.aria-live]': 'ariaLive',\n 'aria-atomic': 'true',\n '[class.toast]': 'true',\n '[class.show]': 'true',\n },\n template: `\n \n {{header}}\n \n \n
\n \n \n
\n
\n
\n \n
\n `,\n styleUrls: ['./toast.scss']\n})\nexport class NgbToast implements AfterContentInit,\n OnChanges {\n private _timeoutID;\n\n /**\n * Delay after which the toast will hide (ms).\n * default: `500` (ms) (inherited from NgbToastConfig)\n */\n @Input() delay: number;\n\n /**\n * Auto hide the toast after a delay in ms.\n * default: `true` (inherited from NgbToastConfig)\n */\n @Input() autohide: boolean;\n\n /**\n * Text to be used as toast's header.\n * Ignored if a ContentChild template is specified at the same time.\n */\n @Input() header: string;\n\n /**\n * A template like `` can be\n * used in the projected content to allow markup usage.\n */\n @ContentChild(NgbToastHeader, {read: TemplateRef, static: true}) contentHeaderTpl: TemplateRef| null = null;\n\n /**\n * An event fired immediately when toast's `hide()` method has been called.\n * It can only occur in 2 different scenarios:\n * - `autohide` timeout fires\n * - user clicks on a closing cross (×)\n *\n * Additionally this output is purely informative. The toast won't disappear. It's up to the user to take care of\n * that.\n */\n @Output('hide') hideOutput = new EventEmitter();\n\n constructor(@Attribute('aria-live') public ariaLive: string, config: NgbToastConfig) {\n if (this.ariaLive == null) {\n this.ariaLive = config.ariaLive;\n }\n this.delay = config.delay;\n this.autohide = config.autohide;\n }\n\n ngAfterContentInit() { this._init(); }\n\n ngOnChanges(changes: SimpleChanges) {\n if ('autohide' in changes) {\n this._clearTimeout();\n this._init();\n }\n }\n\n hide() {\n this._clearTimeout();\n this.hideOutput.emit();\n }\n\n private _init() {\n if (this.autohide && !this._timeoutID) {\n this._timeoutID = setTimeout(() => this.hide(), this.delay);\n }\n }\n\n private _clearTimeout() {\n if (this._timeoutID) {\n clearTimeout(this._timeoutID);\n this._timeoutID = null;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {NgbToast, NgbToastHeader} from './toast';\n\nexport {NgbToast, NgbToastHeader} from './toast';\nexport {NgbToastConfig, NgbToastOptions} from './toast-config';\n\n@NgModule({declarations: [NgbToast, NgbToastHeader], imports: [CommonModule], exports: [NgbToast, NgbToastHeader]})\nexport class NgbToastModule {\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbTooltip`](#/components/tooltip/api#NgbTooltip) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the tooltips used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTooltipConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n placement: PlacementArray = 'auto';\n triggers = 'hover focus';\n container: string;\n disableTooltip = false;\n tooltipClass: string;\n openDelay = 0;\n closeDelay = 0;\n}\n","import {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n Inject,\n Injector,\n Renderer2,\n ComponentRef,\n ElementRef,\n TemplateRef,\n ViewContainerRef,\n ComponentFactoryResolver,\n NgZone,\n ViewEncapsulation,\n ChangeDetectorRef,\n ApplicationRef,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {listenToTriggers} from '../util/triggers';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {positionElements, PlacementArray} from '../util/positioning';\nimport {PopupService} from '../util/popup';\n\nimport {NgbTooltipConfig} from './tooltip-config';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngb-tooltip-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'[class]': '\"tooltip show\" + (tooltipClass ? \" \" + tooltipClass : \"\")', 'role': 'tooltip', '[id]': 'id'},\n template: `
`,\n styleUrls: ['./tooltip.scss']\n})\nexport class NgbTooltipWindow {\n @Input() id: string;\n @Input() tooltipClass: string;\n}\n\n/**\n * A lightweight and extensible directive for fancy tooltip creation.\n */\n@Directive({selector: '[ngbTooltip]', exportAs: 'ngbTooltip'})\nexport class NgbTooltip implements OnInit, OnDestroy, OnChanges {\n /**\n * Indicates whether the tooltip should be closed on `Escape` key and inside/outside clicks:\n *\n * * `true` - closes on both outside and inside clicks as well as `Escape` presses\n * * `false` - disables the autoClose feature (NB: triggers still apply)\n * * `\"inside\"` - closes on inside clicks as well as Escape presses\n * * `\"outside\"` - closes on outside clicks (sometimes also achievable through triggers)\n * as well as `Escape` presses\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The preferred placement of the tooltip.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"auto\"` (same as the sequence above).\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * Specifies events that should trigger the tooltip.\n *\n * Supports a space separated list of event names.\n * For more details see the [triggers demo](#/components/tooltip/examples#triggers).\n */\n @Input() triggers: string;\n\n /**\n * A selector specifying the element the tooltip should be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * If `true`, tooltip is disabled and won't be displayed.\n *\n * @since 1.1.0\n */\n @Input() disableTooltip: boolean;\n\n /**\n * An optional class applied to the tooltip window element.\n *\n * @since 3.2.0\n */\n @Input() tooltipClass: string;\n\n /**\n * The opening delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() openDelay: number;\n\n /**\n * The closing delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() closeDelay: number;\n\n /**\n * An event emitted when the tooltip is shown. Contains no payload.\n */\n @Output() shown = new EventEmitter();\n /**\n * An event emitted when the popover is hidden. Contains no payload.\n */\n @Output() hidden = new EventEmitter();\n\n private _ngbTooltip: string | TemplateRef;\n private _ngbTooltipWindowId = `ngb-tooltip-${nextId++}`;\n private _popupService: PopupService;\n private _windowRef: ComponentRef;\n private _unregisterListenersFn;\n private _zoneSubscription: any;\n\n constructor(\n private _elementRef: ElementRef, private _renderer: Renderer2, injector: Injector,\n componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: NgbTooltipConfig,\n private _ngZone: NgZone, @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n applicationRef: ApplicationRef) {\n this.autoClose = config.autoClose;\n this.placement = config.placement;\n this.triggers = config.triggers;\n this.container = config.container;\n this.disableTooltip = config.disableTooltip;\n this.tooltipClass = config.tooltipClass;\n this.openDelay = config.openDelay;\n this.closeDelay = config.closeDelay;\n this._popupService = new PopupService(\n NgbTooltipWindow, injector, viewContainerRef, _renderer, componentFactoryResolver, applicationRef);\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\n if (this._windowRef) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\n this.container === 'body', 'bs-tooltip');\n }\n });\n }\n\n /**\n * The string content or a `TemplateRef` for the content to be displayed in the tooltip.\n *\n * If the content if falsy, the tooltip won't open.\n */\n @Input()\n set ngbTooltip(value: string | TemplateRef) {\n this._ngbTooltip = value;\n if (!value && this._windowRef) {\n this.close();\n }\n }\n\n get ngbTooltip() { return this._ngbTooltip; }\n\n /**\n * Opens the tooltip.\n *\n * This is considered to be a \"manual\" triggering.\n * The `context` is an optional value to be injected into the tooltip template when it is created.\n */\n open(context?: any) {\n if (!this._windowRef && this._ngbTooltip && !this.disableTooltip) {\n this._windowRef = this._popupService.open(this._ngbTooltip, context);\n this._windowRef.instance.tooltipClass = this.tooltipClass;\n this._windowRef.instance.id = this._ngbTooltipWindowId;\n\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbTooltipWindowId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n // We need to detect changes, because we don't know where .open() might be called from.\n // Ex. opening tooltip from one of lifecycle hooks that run after the CD\n // (say from ngAfterViewInit) will result in 'ExpressionHasChanged' exception\n this._windowRef.changeDetectorRef.detectChanges();\n\n // We need to mark for check, because tooltip won't work inside the OnPush component.\n // Ex. when we use expression like `{{ tooltip.isOpen() : 'opened' : 'closed' }}`\n // inside the template of an OnPush component and we change the tooltip from\n // open -> closed, the expression in question won't be updated unless we explicitly\n // mark the parent component to be checked.\n this._windowRef.changeDetectorRef.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden,\n [this._windowRef.location.nativeElement]);\n\n this.shown.emit();\n }\n }\n\n /**\n * Closes the tooltip.\n *\n * This is considered to be a \"manual\" triggering of the tooltip.\n */\n close(): void {\n if (this._windowRef != null) {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n this._popupService.close();\n this._windowRef = null;\n this.hidden.emit();\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Toggles the tooltip.\n *\n * This is considered to be a \"manual\" triggering of the tooltip.\n */\n toggle(): void {\n if (this._windowRef) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Returns `true`, if the popover is currently shown.\n */\n isOpen(): boolean { return this._windowRef != null; }\n\n ngOnInit() {\n this._unregisterListenersFn = listenToTriggers(\n this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this),\n this.close.bind(this), +this.openDelay, +this.closeDelay);\n }\n\n ngOnChanges({tooltipClass}: SimpleChanges) {\n if (tooltipClass && this.isOpen()) {\n this._windowRef.instance.tooltipClass = tooltipClass.currentValue;\n }\n }\n\n ngOnDestroy() {\n this.close();\n // This check is needed as it might happen that ngOnDestroy is called before ngOnInit\n // under certain conditions, see: https://github.com/ng-bootstrap/ng-bootstrap/issues/2199\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n this._zoneSubscription.unsubscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbTooltip, NgbTooltipWindow} from './tooltip';\n\nexport {NgbTooltipConfig} from './tooltip-config';\nexport {NgbTooltip} from './tooltip';\nexport {Placement} from '../util/positioning';\n\n@NgModule({declarations: [NgbTooltip, NgbTooltipWindow], exports: [NgbTooltip], entryComponents: [NgbTooltipWindow]})\nexport class NgbTooltipModule {\n}\n","import {Component, Input, OnChanges, ChangeDetectionStrategy, SimpleChanges, ViewEncapsulation} from '@angular/core';\nimport {regExpEscape, toString} from '../util/util';\n\n/**\n * A component that helps with text highlighting.\n *\n * If splits the `result` text into parts that contain the searched `term` and generates the HTML markup to simplify\n * highlighting:\n *\n * Ex. `result=\"Alaska\"` and `term=\"as\"` will produce `Alaska`.\n */\n@Component({\n selector: 'ngb-highlight',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `` +\n `{{part}}{{part}}` +\n ``, // template needs to be formatted in a certain way so we don't add empty text nodes\n styleUrls: ['./highlight.scss']\n})\nexport class NgbHighlight implements OnChanges {\n parts: string[];\n\n /**\n * The CSS class for `` elements wrapping the `term` inside the `result`.\n */\n @Input() highlightClass = 'ngb-highlight';\n\n /**\n * The text highlighting is added to.\n *\n * If the `term` is found inside this text, it will be highlighted.\n * If the `term` contains array then all the items from it will be highlighted inside the text.\n */\n @Input() result: string;\n\n /**\n * The term or array of terms to be highlighted.\n * Since version `v4.2.0` term could be a `string[]`\n */\n @Input() term: string | readonly string[];\n\n ngOnChanges(changes: SimpleChanges) {\n const result = toString(this.result);\n\n const terms = Array.isArray(this.term) ? this.term : [this.term];\n const escapedTerms = terms.map(term => regExpEscape(toString(term))).filter(term => term);\n\n this.parts = escapedTerms.length ? result.split(new RegExp(`(${escapedTerms.join('|')})`, 'gmi')) : [result];\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewEncapsulation} from '@angular/core';\n\nimport {toString} from '../util/util';\n\n/**\n * The context for the typeahead result template in case you want to override the default one.\n */\nexport interface ResultTemplateContext {\n /**\n * Your typeahead result item.\n */\n result: any;\n\n /**\n * Search term from the `` used to get current result.\n */\n term: string;\n}\n\n@Component({\n selector: 'ngb-typeahead-window',\n exportAs: 'ngbTypeaheadWindow',\n encapsulation: ViewEncapsulation.None,\n host: {'(mousedown)': '$event.preventDefault()', 'class': 'dropdown-menu show', 'role': 'listbox', '[id]': 'id'},\n template: `\n \n \n \n \n \n \n `\n})\nexport class NgbTypeaheadWindow implements OnInit {\n activeIdx = 0;\n\n /**\n * The id for the typeahead window. The id should be unique and the same\n * as the associated typeahead's id.\n */\n @Input() id: string;\n\n /**\n * Flag indicating if the first row should be active initially\n */\n @Input() focusFirst = true;\n\n /**\n * Typeahead match results to be displayed\n */\n @Input() results;\n\n /**\n * Search term used to get current results\n */\n @Input() term: string;\n\n /**\n * A function used to format a given result before display. This function should return a formatted string without any\n * HTML markup\n */\n @Input() formatter = toString;\n\n /**\n * A template to override a matching result default display\n */\n @Input() resultTemplate: TemplateRef;\n\n /**\n * Event raised when user selects a particular result row\n */\n @Output('select') selectEvent = new EventEmitter();\n\n @Output('activeChange') activeChangeEvent = new EventEmitter();\n\n hasActive() { return this.activeIdx > -1 && this.activeIdx < this.results.length; }\n\n getActive() { return this.results[this.activeIdx]; }\n\n markActive(activeIdx: number) {\n this.activeIdx = activeIdx;\n this._activeChanged();\n }\n\n next() {\n if (this.activeIdx === this.results.length - 1) {\n this.activeIdx = this.focusFirst ? (this.activeIdx + 1) % this.results.length : -1;\n } else {\n this.activeIdx++;\n }\n this._activeChanged();\n }\n\n prev() {\n if (this.activeIdx < 0) {\n this.activeIdx = this.results.length - 1;\n } else if (this.activeIdx === 0) {\n this.activeIdx = this.focusFirst ? this.results.length - 1 : -1;\n } else {\n this.activeIdx--;\n }\n this._activeChanged();\n }\n\n resetActive() {\n this.activeIdx = this.focusFirst ? 0 : -1;\n this._activeChanged();\n }\n\n select(item) { this.selectEvent.emit(item); }\n\n ngOnInit() { this.resetActive(); }\n\n private _activeChanged() {\n this.activeChangeEvent.emit(this.activeIdx >= 0 ? this.id + '-' + this.activeIdx : undefined);\n }\n}\n","import {Injectable, Inject, InjectionToken, OnDestroy} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\n\n// usefulness (and default value) of delay documented in Material's CDK\n// https://github.com/angular/material2/blob/6405da9b8e8532a7e5c854c920ee1815c275d734/src/cdk/a11y/live-announcer/live-announcer.ts#L50\nexport type ARIA_LIVE_DELAY_TYPE = number | null;\nexport const ARIA_LIVE_DELAY = new InjectionToken(\n 'live announcer delay', {providedIn: 'root', factory: ARIA_LIVE_DELAY_FACTORY});\nexport function ARIA_LIVE_DELAY_FACTORY(): number {\n return 100;\n}\n\n\nfunction getLiveElement(document: any, lazyCreate = false): HTMLElement | null {\n let element = document.body.querySelector('#ngb-live') as HTMLElement;\n\n if (element == null && lazyCreate) {\n element = document.createElement('div');\n\n element.setAttribute('id', 'ngb-live');\n element.setAttribute('aria-live', 'polite');\n element.setAttribute('aria-atomic', 'true');\n\n element.classList.add('sr-only');\n\n document.body.appendChild(element);\n }\n\n return element;\n}\n\n\n\n@Injectable({providedIn: 'root'})\nexport class Live implements OnDestroy {\n constructor(@Inject(DOCUMENT) private _document: any, @Inject(ARIA_LIVE_DELAY) private _delay: any) {}\n\n ngOnDestroy() {\n const element = getLiveElement(this._document);\n if (element) {\n element.parentElement.removeChild(element);\n }\n }\n\n say(message: string) {\n const element = getLiveElement(this._document, true);\n const delay = this._delay;\n\n element.textContent = '';\n const setText = () => element.textContent = message;\n if (delay === null) {\n setText();\n } else {\n setTimeout(setText, delay);\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbTypeahead`](#/components/typeahead/api#NgbTypeahead) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the typeaheads used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTypeaheadConfig {\n container;\n editable = true;\n focusFirst = true;\n showHint = false;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n}\n","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n ApplicationRef\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {DOCUMENT} from '@angular/common';\nimport {BehaviorSubject, fromEvent, Observable, Subject, Subscription} from 'rxjs';\nimport {map, switchMap, tap} from 'rxjs/operators';\n\nimport {Live} from '../util/accessibility/live';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {Key} from '../util/key';\nimport {PopupService} from '../util/popup';\nimport {PlacementArray, positionElements} from '../util/positioning';\nimport {isDefined, toString} from '../util/util';\n\nimport {NgbTypeaheadConfig} from './typeahead-config';\nimport {NgbTypeaheadWindow, ResultTemplateContext} from './typeahead-window';\n\n\nconst NGB_TYPEAHEAD_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbTypeahead),\n multi: true\n};\n\n/**\n * An event emitted right before an item is selected from the result list.\n */\nexport interface NgbTypeaheadSelectItemEvent {\n /**\n * The item from the result list about to be selected.\n */\n item: any;\n\n /**\n * Calling this function will prevent item selection from happening.\n */\n preventDefault: () => void;\n}\n\nlet nextWindowId = 0;\n\n/**\n * A directive providing a simple way of creating powerful typeaheads from any text input.\n */\n@Directive({\n selector: 'input[ngbTypeahead]',\n exportAs: 'ngbTypeahead',\n host: {\n '(blur)': 'handleBlur()',\n '[class.open]': 'isPopupOpen()',\n '(keydown)': 'handleKeyDown($event)',\n '[autocomplete]': 'autocomplete',\n 'autocapitalize': 'off',\n 'autocorrect': 'off',\n 'role': 'combobox',\n 'aria-multiline': 'false',\n '[attr.aria-autocomplete]': 'showHint ? \"both\" : \"list\"',\n '[attr.aria-activedescendant]': 'activeDescendant',\n '[attr.aria-owns]': 'isPopupOpen() ? popupId : null',\n '[attr.aria-expanded]': 'isPopupOpen()'\n },\n providers: [NGB_TYPEAHEAD_VALUE_ACCESSOR]\n})\nexport class NgbTypeahead implements ControlValueAccessor,\n OnInit, OnDestroy {\n private _popupService: PopupService;\n private _subscription: Subscription;\n private _closed$ = new Subject();\n private _inputValueBackup: string;\n private _valueChanges: Observable;\n private _resubscribeTypeahead: BehaviorSubject;\n private _windowRef: ComponentRef;\n private _zoneSubscription: any;\n\n /**\n * The value for the `autocomplete` attribute for the `` element.\n *\n * Defaults to `\"off\"` to disable the native browser autocomplete, but you can override it if necessary.\n *\n * @since 2.1.0\n */\n @Input() autocomplete = 'off';\n\n /**\n * A selector specifying the element the typeahead popup will be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * If `true`, model values will not be restricted only to items selected from the popup.\n */\n @Input() editable: boolean;\n\n /**\n * If `true`, the first item in the result list will always stay focused while typing.\n */\n @Input() focusFirst: boolean;\n\n /**\n * The function that converts an item from the result list to a `string` to display in the `` field.\n *\n * It is called when the user selects something in the popup or the model value changes, so the input needs to\n * be updated.\n */\n @Input() inputFormatter: (item: any) => string;\n\n /**\n * The function that converts a stream of text values from the `` element to the stream of the array of items\n * to display in the typeahead popup.\n *\n * If the resulting observable emits a non-empty array - the popup will be shown. If it emits an empty array - the\n * popup will be closed.\n *\n * See the [basic example](#/components/typeahead/examples#basic) for more details.\n *\n * Note that the `this` argument is `undefined` so you need to explicitly bind it to a desired \"this\" target.\n */\n @Input() ngbTypeahead: (text: Observable) => Observable;\n\n /**\n * The function that converts an item from the result list to a `string` to display in the popup.\n *\n * Must be provided, if your `ngbTypeahead` returns something other than `Observable`.\n *\n * Alternatively for more complex markup in the popup you should use `resultTemplate`.\n */\n @Input() resultFormatter: (item: any) => string;\n\n /**\n * The template to override the way resulting items are displayed in the popup.\n *\n * See the [ResultTemplateContext](#/components/typeahead/api#ResultTemplateContext) for the template context.\n *\n * Also see the [template for results demo](#/components/typeahead/examples#template) for more details.\n */\n @Input() resultTemplate: TemplateRef;\n\n /**\n * If `true`, will show the hint in the `` when an item in the result list matches.\n */\n @Input() showHint: boolean;\n\n /**\n * The preferred placement of the typeahead.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray = 'bottom-left';\n\n /**\n * An event emitted right before an item is selected from the result list.\n *\n * Event payload is of type [`NgbTypeaheadSelectItemEvent`](#/components/typeahead/api#NgbTypeaheadSelectItemEvent).\n */\n @Output() selectItem = new EventEmitter();\n\n activeDescendant: string;\n popupId = `ngb-typeahead-${nextWindowId++}`;\n\n private _onTouched = () => {};\n private _onChange = (_: any) => {};\n\n constructor(\n private _elementRef: ElementRef, viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2, injector: Injector, componentFactoryResolver: ComponentFactoryResolver,\n config: NgbTypeaheadConfig, ngZone: NgZone, private _live: Live, @Inject(DOCUMENT) private _document: any,\n private _ngZone: NgZone, private _changeDetector: ChangeDetectorRef, applicationRef: ApplicationRef) {\n this.container = config.container;\n this.editable = config.editable;\n this.focusFirst = config.focusFirst;\n this.showHint = config.showHint;\n this.placement = config.placement;\n\n this._valueChanges = fromEvent(_elementRef.nativeElement, 'input')\n .pipe(map($event => ($event.target as HTMLInputElement).value));\n\n this._resubscribeTypeahead = new BehaviorSubject(null);\n\n this._popupService = new PopupService(\n NgbTypeaheadWindow, injector, viewContainerRef, _renderer, componentFactoryResolver, applicationRef);\n\n this._zoneSubscription = ngZone.onStable.subscribe(() => {\n if (this.isPopupOpen()) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\n this.container === 'body');\n }\n });\n }\n\n ngOnInit(): void {\n const inputValues$ = this._valueChanges.pipe(tap(value => {\n this._inputValueBackup = this.showHint ? value : null;\n this._onChange(this.editable ? value : undefined);\n }));\n const results$ = inputValues$.pipe(this.ngbTypeahead);\n const userInput$ = this._resubscribeTypeahead.pipe(switchMap(() => results$));\n this._subscription = this._subscribeToUserInput(userInput$);\n }\n\n ngOnDestroy(): void {\n this._closePopup();\n this._unsubscribeFromUserInput();\n this._zoneSubscription.unsubscribe();\n }\n\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\n\n writeValue(value) {\n this._writeInputValue(this._formatItemForInput(value));\n if (this.showHint) {\n this._inputValueBackup = value;\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n }\n\n /**\n * Dismisses typeahead popup window\n */\n dismissPopup() {\n if (this.isPopupOpen()) {\n this._resubscribeTypeahead.next(null);\n this._closePopup();\n if (this.showHint && this._inputValueBackup !== null) {\n this._writeInputValue(this._inputValueBackup);\n }\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Returns true if the typeahead popup window is displayed\n */\n isPopupOpen() { return this._windowRef != null; }\n\n handleBlur() {\n this._resubscribeTypeahead.next(null);\n this._onTouched();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (!this.isPopupOpen()) {\n return;\n }\n\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.ArrowDown:\n event.preventDefault();\n this._windowRef.instance.next();\n this._showHint();\n break;\n case Key.ArrowUp:\n event.preventDefault();\n this._windowRef.instance.prev();\n this._showHint();\n break;\n case Key.Enter:\n case Key.Tab:\n const result = this._windowRef.instance.getActive();\n if (isDefined(result)) {\n event.preventDefault();\n event.stopPropagation();\n this._selectResult(result);\n }\n this._closePopup();\n break;\n }\n }\n\n private _openPopup() {\n if (!this.isPopupOpen()) {\n this._inputValueBackup = this._elementRef.nativeElement.value;\n this._windowRef = this._popupService.open();\n this._windowRef.instance.id = this.popupId;\n this._windowRef.instance.selectEvent.subscribe((result: any) => this._selectResultClosePopup(result));\n this._windowRef.instance.activeChangeEvent.subscribe((activeId: string) => this.activeDescendant = activeId);\n\n if (this.container === 'body') {\n window.document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n this._changeDetector.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, 'outside', () => this.dismissPopup(), this._closed$,\n [this._elementRef.nativeElement, this._windowRef.location.nativeElement]);\n }\n }\n\n private _closePopup() {\n this._closed$.next();\n this._popupService.close();\n this._windowRef = null;\n this.activeDescendant = undefined;\n }\n\n private _selectResult(result: any) {\n let defaultPrevented = false;\n this.selectItem.emit({item: result, preventDefault: () => { defaultPrevented = true; }});\n this._resubscribeTypeahead.next(null);\n\n if (!defaultPrevented) {\n this.writeValue(result);\n this._onChange(result);\n }\n }\n\n private _selectResultClosePopup(result: any) {\n this._selectResult(result);\n this._closePopup();\n }\n\n private _showHint() {\n if (this.showHint && this._windowRef.instance.hasActive() && this._inputValueBackup != null) {\n const userInputLowerCase = this._inputValueBackup.toLowerCase();\n const formattedVal = this._formatItemForInput(this._windowRef.instance.getActive());\n\n if (userInputLowerCase === formattedVal.substr(0, this._inputValueBackup.length).toLowerCase()) {\n this._writeInputValue(this._inputValueBackup + formattedVal.substr(this._inputValueBackup.length));\n this._elementRef.nativeElement['setSelectionRange'].apply(\n this._elementRef.nativeElement, [this._inputValueBackup.length, formattedVal.length]);\n } else {\n this._writeInputValue(formattedVal);\n }\n }\n }\n\n private _formatItemForInput(item: any): string {\n return item != null && this.inputFormatter ? this.inputFormatter(item) : toString(item);\n }\n\n private _writeInputValue(value: string): void {\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', toString(value));\n }\n\n private _subscribeToUserInput(userInput$: Observable): Subscription {\n return userInput$.subscribe((results) => {\n if (!results || results.length === 0) {\n this._closePopup();\n } else {\n this._openPopup();\n this._windowRef.instance.focusFirst = this.focusFirst;\n this._windowRef.instance.results = results;\n this._windowRef.instance.term = this._elementRef.nativeElement.value;\n if (this.resultFormatter) {\n this._windowRef.instance.formatter = this.resultFormatter;\n }\n if (this.resultTemplate) {\n this._windowRef.instance.resultTemplate = this.resultTemplate;\n }\n this._windowRef.instance.resetActive();\n\n // The observable stream we are subscribing to might have async steps\n // and if a component containing typeahead is using the OnPush strategy\n // the change detection turn wouldn't be invoked automatically.\n this._windowRef.changeDetectorRef.detectChanges();\n\n this._showHint();\n }\n\n // live announcer\n const count = results ? results.length : 0;\n this._live.say(count === 0 ? 'No results available' : `${count} result${count === 1 ? '' : 's'} available`);\n });\n }\n\n private _unsubscribeFromUserInput() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n this._subscription = null;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbHighlight} from './highlight';\nimport {NgbTypeaheadWindow} from './typeahead-window';\nimport {NgbTypeahead} from './typeahead';\n\nexport {NgbHighlight} from './highlight';\nexport {NgbTypeaheadWindow} from './typeahead-window';\nexport {NgbTypeaheadConfig} from './typeahead-config';\nexport {NgbTypeahead, NgbTypeaheadSelectItemEvent} from './typeahead';\n\n@NgModule({\n declarations: [NgbTypeahead, NgbHighlight, NgbTypeaheadWindow],\n exports: [NgbTypeahead, NgbHighlight],\n imports: [CommonModule],\n entryComponents: [NgbTypeaheadWindow]\n})\nexport class NgbTypeaheadModule {\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbAccordionModule} from './accordion/accordion.module';\nimport {NgbAlertModule} from './alert/alert.module';\nimport {NgbButtonsModule} from './buttons/buttons.module';\nimport {NgbCarouselModule} from './carousel/carousel.module';\nimport {NgbCollapseModule} from './collapse/collapse.module';\nimport {NgbDatepickerModule} from './datepicker/datepicker.module';\nimport {NgbDropdownModule} from './dropdown/dropdown.module';\nimport {NgbModalModule} from './modal/modal.module';\nimport {NgbNavModule} from './nav/nav.module';\nimport {NgbPaginationModule} from './pagination/pagination.module';\nimport {NgbPopoverModule} from './popover/popover.module';\nimport {NgbProgressbarModule} from './progressbar/progressbar.module';\nimport {NgbRatingModule} from './rating/rating.module';\nimport {NgbTabsetModule} from './tabset/tabset.module';\nimport {NgbTimepickerModule} from './timepicker/timepicker.module';\nimport {NgbToastModule} from './toast/toast.module';\nimport {NgbTooltipModule} from './tooltip/tooltip.module';\nimport {NgbTypeaheadModule} from './typeahead/typeahead.module';\n\n\n\nexport {\n NgbAccordion,\n NgbAccordionConfig,\n NgbAccordionModule,\n NgbPanel,\n NgbPanelChangeEvent,\n NgbPanelContent,\n NgbPanelHeader,\n NgbPanelHeaderContext,\n NgbPanelTitle,\n NgbPanelToggle\n} from './accordion/accordion.module';\nexport {NgbAlert, NgbAlertConfig, NgbAlertModule} from './alert/alert.module';\nexport {NgbButtonLabel, NgbButtonsModule, NgbCheckBox, NgbRadio, NgbRadioGroup} from './buttons/buttons.module';\nexport {\n NgbCarousel,\n NgbCarouselConfig,\n NgbCarouselModule,\n NgbSlide,\n NgbSlideEvent,\n NgbSlideEventDirection,\n NgbSlideEventSource\n} from './carousel/carousel.module';\nexport {NgbCollapse, NgbCollapseModule} from './collapse/collapse.module';\nexport {\n NgbCalendar,\n NgbCalendarGregorian,\n NgbCalendarHebrew,\n NgbCalendarIslamicCivil,\n NgbCalendarIslamicUmalqura,\n NgbCalendarPersian,\n NgbDate,\n NgbDateAdapter,\n NgbDateNativeAdapter,\n NgbDateNativeUTCAdapter,\n NgbDateParserFormatter,\n NgbDatepicker,\n NgbDatepickerConfig,\n NgbInputDatepickerConfig,\n NgbDatepickerContent,\n NgbDatepickerI18n,\n NgbDatepickerI18nHebrew,\n NgbDatepickerKeyboardService,\n NgbDatepickerModule,\n NgbDatepickerMonth,\n NgbDatepickerNavigateEvent,\n NgbDatepickerState,\n NgbDateStruct,\n NgbInputDatepicker,\n NgbPeriod\n} from './datepicker/datepicker.module';\nexport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownConfig,\n NgbDropdownItem,\n NgbDropdownMenu,\n NgbDropdownModule,\n NgbDropdownToggle,\n NgbNavbar\n} from './dropdown/dropdown.module';\nexport {\n ModalDismissReasons,\n NgbActiveModal,\n NgbModal,\n NgbModalConfig,\n NgbModalModule,\n NgbModalOptions,\n NgbModalRef\n} from './modal/modal.module';\nexport {\n NgbNavChangeEvent,\n NgbNavConfig,\n NgbNav,\n NgbNavContent,\n NgbNavContentContext,\n NgbNavItem,\n NgbNavLink,\n NgbNavModule,\n NgbNavOutlet\n} from './nav/nav.module';\nexport {\n NgbPagination,\n NgbPaginationConfig,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationModule,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination/pagination.module';\nexport {NgbPopover, NgbPopoverConfig, NgbPopoverModule} from './popover/popover.module';\nexport {NgbProgressbar, NgbProgressbarConfig, NgbProgressbarModule} from './progressbar/progressbar.module';\nexport {NgbRating, NgbRatingConfig, NgbRatingModule} from './rating/rating.module';\nexport {\n NgbTab,\n NgbTabChangeEvent,\n NgbTabContent,\n NgbTabset,\n NgbTabsetConfig,\n NgbTabsetModule,\n NgbTabTitle\n} from './tabset/tabset.module';\nexport {\n NgbTimeAdapter,\n NgbTimepickerI18n,\n NgbTimepicker,\n NgbTimepickerConfig,\n NgbTimepickerModule,\n NgbTimeStruct\n} from './timepicker/timepicker.module';\nexport {NgbToast, NgbToastConfig, NgbToastHeader, NgbToastModule} from './toast/toast.module';\nexport {NgbTooltip, NgbTooltipConfig, NgbTooltipModule} from './tooltip/tooltip.module';\nexport {\n NgbHighlight,\n NgbTypeahead,\n NgbTypeaheadConfig,\n NgbTypeaheadModule,\n NgbTypeaheadSelectItemEvent\n} from './typeahead/typeahead.module';\nexport {Placement} from './util/positioning';\n\n\nconst NGB_MODULES = [\n NgbAccordionModule, NgbAlertModule, NgbButtonsModule, NgbCarouselModule, NgbCollapseModule, NgbDatepickerModule,\n NgbDropdownModule, NgbModalModule, NgbNavModule, NgbPaginationModule, NgbPopoverModule, NgbProgressbarModule,\n NgbRatingModule, NgbTimepickerModule, NgbToastModule, NgbTooltipModule, NgbTypeaheadModule,\n // tslint:disable-next-line:deprecation\n NgbTabsetModule\n];\n\n@NgModule({imports: NGB_MODULES, exports: NGB_MODULES})\nexport class NgbModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {NGB_CAROUSEL_DIRECTIVES as ɵa} from './carousel/carousel';\nexport {NGB_DATEPICKER_DATE_ADAPTER_FACTORY as ɵi,NgbDateStructAdapter as ɵj} from './datepicker/adapters/ngb-date-adapter';\nexport {NGB_DATEPICKER_VALUE_ACCESSOR as ɵb} from './datepicker/datepicker';\nexport {NgbDatepickerDayView as ɵd} from './datepicker/datepicker-day-view';\nexport {NGB_DATEPICKER_18N_FACTORY as ɵg,NgbDatepickerI18nDefault as ɵh} from './datepicker/datepicker-i18n';\nexport {NgbDatepickerNavigation as ɵe} from './datepicker/datepicker-navigation';\nexport {NgbDatepickerNavigationSelect as ɵf} from './datepicker/datepicker-navigation-select';\nexport {NgbDatepickerService as ɵt} from './datepicker/datepicker-service';\nexport {NgbCalendarHijri as ɵbb} from './datepicker/hijri/ngb-calendar-hijri';\nexport {NGB_DATEPICKER_CALENDAR_FACTORY as ɵc} from './datepicker/ngb-calendar';\nexport {NGB_DATEPICKER_PARSER_FORMATTER_FACTORY as ɵk,NgbDateISOParserFormatter as ɵl} from './datepicker/ngb-date-parser-formatter';\nexport {NgbModalBackdrop as ɵu} from './modal/modal-backdrop';\nexport {NgbModalStack as ɵw} from './modal/modal-stack';\nexport {NgbModalWindow as ɵv} from './modal/modal-window';\nexport {NgbPopoverWindow as ɵm} from './popover/popover';\nexport {NGB_DATEPICKER_TIME_ADAPTER_FACTORY as ɵn,NgbTimeStructAdapter as ɵo} from './timepicker/ngb-time-adapter';\nexport {NGB_TIMEPICKER_I18N_FACTORY as ɵp,NgbTimepickerI18nDefault as ɵq} from './timepicker/timepicker-i18n';\nexport {NgbTooltipWindow as ɵr} from './tooltip/tooltip';\nexport {NgbTypeaheadWindow as ɵs} from './typeahead/typeahead-window';\nexport {ARIA_LIVE_DELAY as ɵy,ARIA_LIVE_DELAY_FACTORY as ɵz,Live as ɵba} from './util/accessibility/live';\nexport {ContentRef as ɵbc} from './util/popup';\nexport {ScrollBar as ɵx} from './util/scrollbar';","/**\n * @license Angular v11.0.5\n * (c) 2010-2020 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TagContentType;\n(function (TagContentType) {\n TagContentType[TagContentType[\"RAW_TEXT\"] = 0] = \"RAW_TEXT\";\n TagContentType[TagContentType[\"ESCAPABLE_RAW_TEXT\"] = 1] = \"ESCAPABLE_RAW_TEXT\";\n TagContentType[TagContentType[\"PARSABLE_DATA\"] = 2] = \"PARSABLE_DATA\";\n})(TagContentType || (TagContentType = {}));\nfunction splitNsName(elementName) {\n if (elementName[0] != ':') {\n return [null, elementName];\n }\n const colonIndex = elementName.indexOf(':', 1);\n if (colonIndex == -1) {\n throw new Error(`Unsupported format \"${elementName}\" expecting \":namespace:name\"`);\n }\n return [elementName.slice(1, colonIndex), elementName.slice(colonIndex + 1)];\n}\n// `` tags work the same regardless the namespace\nfunction isNgContainer(tagName) {\n return splitNsName(tagName)[1] === 'ng-container';\n}\n// `` tags work the same regardless the namespace\nfunction isNgContent(tagName) {\n return splitNsName(tagName)[1] === 'ng-content';\n}\n// `` tags work the same regardless the namespace\nfunction isNgTemplate(tagName) {\n return splitNsName(tagName)[1] === 'ng-template';\n}\nfunction getNsPrefix(fullName) {\n return fullName === null ? null : splitNsName(fullName)[0];\n}\nfunction mergeNsAndName(prefix, localName) {\n return prefix ? `:${prefix}:${localName}` : localName;\n}\n// see https://www.w3.org/TR/html51/syntax.html#named-character-references\n// see https://html.spec.whatwg.org/multipage/entities.json\n// This list is not exhaustive to keep the compiler footprint low.\n// The `{` / `ƫ` syntax should be used when the named character reference does not\n// exist.\nconst NAMED_ENTITIES = {\n 'Aacute': '\\u00C1',\n 'aacute': '\\u00E1',\n 'Acirc': '\\u00C2',\n 'acirc': '\\u00E2',\n 'acute': '\\u00B4',\n 'AElig': '\\u00C6',\n 'aelig': '\\u00E6',\n 'Agrave': '\\u00C0',\n 'agrave': '\\u00E0',\n 'alefsym': '\\u2135',\n 'Alpha': '\\u0391',\n 'alpha': '\\u03B1',\n 'amp': '&',\n 'and': '\\u2227',\n 'ang': '\\u2220',\n 'apos': '\\u0027',\n 'Aring': '\\u00C5',\n 'aring': '\\u00E5',\n 'asymp': '\\u2248',\n 'Atilde': '\\u00C3',\n 'atilde': '\\u00E3',\n 'Auml': '\\u00C4',\n 'auml': '\\u00E4',\n 'bdquo': '\\u201E',\n 'Beta': '\\u0392',\n 'beta': '\\u03B2',\n 'brvbar': '\\u00A6',\n 'bull': '\\u2022',\n 'cap': '\\u2229',\n 'Ccedil': '\\u00C7',\n 'ccedil': '\\u00E7',\n 'cedil': '\\u00B8',\n 'cent': '\\u00A2',\n 'Chi': '\\u03A7',\n 'chi': '\\u03C7',\n 'circ': '\\u02C6',\n 'clubs': '\\u2663',\n 'cong': '\\u2245',\n 'copy': '\\u00A9',\n 'crarr': '\\u21B5',\n 'cup': '\\u222A',\n 'curren': '\\u00A4',\n 'dagger': '\\u2020',\n 'Dagger': '\\u2021',\n 'darr': '\\u2193',\n 'dArr': '\\u21D3',\n 'deg': '\\u00B0',\n 'Delta': '\\u0394',\n 'delta': '\\u03B4',\n 'diams': '\\u2666',\n 'divide': '\\u00F7',\n 'Eacute': '\\u00C9',\n 'eacute': '\\u00E9',\n 'Ecirc': '\\u00CA',\n 'ecirc': '\\u00EA',\n 'Egrave': '\\u00C8',\n 'egrave': '\\u00E8',\n 'empty': '\\u2205',\n 'emsp': '\\u2003',\n 'ensp': '\\u2002',\n 'Epsilon': '\\u0395',\n 'epsilon': '\\u03B5',\n 'equiv': '\\u2261',\n 'Eta': '\\u0397',\n 'eta': '\\u03B7',\n 'ETH': '\\u00D0',\n 'eth': '\\u00F0',\n 'Euml': '\\u00CB',\n 'euml': '\\u00EB',\n 'euro': '\\u20AC',\n 'exist': '\\u2203',\n 'fnof': '\\u0192',\n 'forall': '\\u2200',\n 'frac12': '\\u00BD',\n 'frac14': '\\u00BC',\n 'frac34': '\\u00BE',\n 'frasl': '\\u2044',\n 'Gamma': '\\u0393',\n 'gamma': '\\u03B3',\n 'ge': '\\u2265',\n 'gt': '>',\n 'harr': '\\u2194',\n 'hArr': '\\u21D4',\n 'hearts': '\\u2665',\n 'hellip': '\\u2026',\n 'Iacute': '\\u00CD',\n 'iacute': '\\u00ED',\n 'Icirc': '\\u00CE',\n 'icirc': '\\u00EE',\n 'iexcl': '\\u00A1',\n 'Igrave': '\\u00CC',\n 'igrave': '\\u00EC',\n 'image': '\\u2111',\n 'infin': '\\u221E',\n 'int': '\\u222B',\n 'Iota': '\\u0399',\n 'iota': '\\u03B9',\n 'iquest': '\\u00BF',\n 'isin': '\\u2208',\n 'Iuml': '\\u00CF',\n 'iuml': '\\u00EF',\n 'Kappa': '\\u039A',\n 'kappa': '\\u03BA',\n 'Lambda': '\\u039B',\n 'lambda': '\\u03BB',\n 'lang': '\\u27E8',\n 'laquo': '\\u00AB',\n 'larr': '\\u2190',\n 'lArr': '\\u21D0',\n 'lceil': '\\u2308',\n 'ldquo': '\\u201C',\n 'le': '\\u2264',\n 'lfloor': '\\u230A',\n 'lowast': '\\u2217',\n 'loz': '\\u25CA',\n 'lrm': '\\u200E',\n 'lsaquo': '\\u2039',\n 'lsquo': '\\u2018',\n 'lt': '<',\n 'macr': '\\u00AF',\n 'mdash': '\\u2014',\n 'micro': '\\u00B5',\n 'middot': '\\u00B7',\n 'minus': '\\u2212',\n 'Mu': '\\u039C',\n 'mu': '\\u03BC',\n 'nabla': '\\u2207',\n 'nbsp': '\\u00A0',\n 'ndash': '\\u2013',\n 'ne': '\\u2260',\n 'ni': '\\u220B',\n 'not': '\\u00AC',\n 'notin': '\\u2209',\n 'nsub': '\\u2284',\n 'Ntilde': '\\u00D1',\n 'ntilde': '\\u00F1',\n 'Nu': '\\u039D',\n 'nu': '\\u03BD',\n 'Oacute': '\\u00D3',\n 'oacute': '\\u00F3',\n 'Ocirc': '\\u00D4',\n 'ocirc': '\\u00F4',\n 'OElig': '\\u0152',\n 'oelig': '\\u0153',\n 'Ograve': '\\u00D2',\n 'ograve': '\\u00F2',\n 'oline': '\\u203E',\n 'Omega': '\\u03A9',\n 'omega': '\\u03C9',\n 'Omicron': '\\u039F',\n 'omicron': '\\u03BF',\n 'oplus': '\\u2295',\n 'or': '\\u2228',\n 'ordf': '\\u00AA',\n 'ordm': '\\u00BA',\n 'Oslash': '\\u00D8',\n 'oslash': '\\u00F8',\n 'Otilde': '\\u00D5',\n 'otilde': '\\u00F5',\n 'otimes': '\\u2297',\n 'Ouml': '\\u00D6',\n 'ouml': '\\u00F6',\n 'para': '\\u00B6',\n 'permil': '\\u2030',\n 'perp': '\\u22A5',\n 'Phi': '\\u03A6',\n 'phi': '\\u03C6',\n 'Pi': '\\u03A0',\n 'pi': '\\u03C0',\n 'piv': '\\u03D6',\n 'plusmn': '\\u00B1',\n 'pound': '\\u00A3',\n 'prime': '\\u2032',\n 'Prime': '\\u2033',\n 'prod': '\\u220F',\n 'prop': '\\u221D',\n 'Psi': '\\u03A8',\n 'psi': '\\u03C8',\n 'quot': '\\u0022',\n 'radic': '\\u221A',\n 'rang': '\\u27E9',\n 'raquo': '\\u00BB',\n 'rarr': '\\u2192',\n 'rArr': '\\u21D2',\n 'rceil': '\\u2309',\n 'rdquo': '\\u201D',\n 'real': '\\u211C',\n 'reg': '\\u00AE',\n 'rfloor': '\\u230B',\n 'Rho': '\\u03A1',\n 'rho': '\\u03C1',\n 'rlm': '\\u200F',\n 'rsaquo': '\\u203A',\n 'rsquo': '\\u2019',\n 'sbquo': '\\u201A',\n 'Scaron': '\\u0160',\n 'scaron': '\\u0161',\n 'sdot': '\\u22C5',\n 'sect': '\\u00A7',\n 'shy': '\\u00AD',\n 'Sigma': '\\u03A3',\n 'sigma': '\\u03C3',\n 'sigmaf': '\\u03C2',\n 'sim': '\\u223C',\n 'spades': '\\u2660',\n 'sub': '\\u2282',\n 'sube': '\\u2286',\n 'sum': '\\u2211',\n 'sup': '\\u2283',\n 'sup1': '\\u00B9',\n 'sup2': '\\u00B2',\n 'sup3': '\\u00B3',\n 'supe': '\\u2287',\n 'szlig': '\\u00DF',\n 'Tau': '\\u03A4',\n 'tau': '\\u03C4',\n 'there4': '\\u2234',\n 'Theta': '\\u0398',\n 'theta': '\\u03B8',\n 'thetasym': '\\u03D1',\n 'thinsp': '\\u2009',\n 'THORN': '\\u00DE',\n 'thorn': '\\u00FE',\n 'tilde': '\\u02DC',\n 'times': '\\u00D7',\n 'trade': '\\u2122',\n 'Uacute': '\\u00DA',\n 'uacute': '\\u00FA',\n 'uarr': '\\u2191',\n 'uArr': '\\u21D1',\n 'Ucirc': '\\u00DB',\n 'ucirc': '\\u00FB',\n 'Ugrave': '\\u00D9',\n 'ugrave': '\\u00F9',\n 'uml': '\\u00A8',\n 'upsih': '\\u03D2',\n 'Upsilon': '\\u03A5',\n 'upsilon': '\\u03C5',\n 'Uuml': '\\u00DC',\n 'uuml': '\\u00FC',\n 'weierp': '\\u2118',\n 'Xi': '\\u039E',\n 'xi': '\\u03BE',\n 'Yacute': '\\u00DD',\n 'yacute': '\\u00FD',\n 'yen': '\\u00A5',\n 'yuml': '\\u00FF',\n 'Yuml': '\\u0178',\n 'Zeta': '\\u0396',\n 'zeta': '\\u03B6',\n 'zwj': '\\u200D',\n 'zwnj': '\\u200C',\n};\n// The &ngsp; pseudo-entity is denoting a space. see:\n// https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart\nconst NGSP_UNICODE = '\\uE500';\nNAMED_ENTITIES['ngsp'] = NGSP_UNICODE;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass HtmlTagDefinition {\n constructor({ closedByChildren, implicitNamespacePrefix, contentType = TagContentType.PARSABLE_DATA, closedByParent = false, isVoid = false, ignoreFirstLf = false, preventNamespaceInheritance = false } = {}) {\n this.closedByChildren = {};\n this.closedByParent = false;\n this.canSelfClose = false;\n if (closedByChildren && closedByChildren.length > 0) {\n closedByChildren.forEach(tagName => this.closedByChildren[tagName] = true);\n }\n this.isVoid = isVoid;\n this.closedByParent = closedByParent || isVoid;\n this.implicitNamespacePrefix = implicitNamespacePrefix || null;\n this.contentType = contentType;\n this.ignoreFirstLf = ignoreFirstLf;\n this.preventNamespaceInheritance = preventNamespaceInheritance;\n }\n isClosedByChild(name) {\n return this.isVoid || name.toLowerCase() in this.closedByChildren;\n }\n}\nlet _DEFAULT_TAG_DEFINITION;\n// see https://www.w3.org/TR/html51/syntax.html#optional-tags\n// This implementation does not fully conform to the HTML5 spec.\nlet TAG_DEFINITIONS;\nfunction getHtmlTagDefinition(tagName) {\n var _a, _b;\n if (!TAG_DEFINITIONS) {\n _DEFAULT_TAG_DEFINITION = new HtmlTagDefinition();\n TAG_DEFINITIONS = {\n 'base': new HtmlTagDefinition({ isVoid: true }),\n 'meta': new HtmlTagDefinition({ isVoid: true }),\n 'area': new HtmlTagDefinition({ isVoid: true }),\n 'embed': new HtmlTagDefinition({ isVoid: true }),\n 'link': new HtmlTagDefinition({ isVoid: true }),\n 'img': new HtmlTagDefinition({ isVoid: true }),\n 'input': new HtmlTagDefinition({ isVoid: true }),\n 'param': new HtmlTagDefinition({ isVoid: true }),\n 'hr': new HtmlTagDefinition({ isVoid: true }),\n 'br': new HtmlTagDefinition({ isVoid: true }),\n 'source': new HtmlTagDefinition({ isVoid: true }),\n 'track': new HtmlTagDefinition({ isVoid: true }),\n 'wbr': new HtmlTagDefinition({ isVoid: true }),\n 'p': new HtmlTagDefinition({\n closedByChildren: [\n 'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset',\n 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5',\n 'h6', 'header', 'hgroup', 'hr', 'main', 'nav', 'ol',\n 'p', 'pre', 'section', 'table', 'ul'\n ],\n closedByParent: true\n }),\n 'thead': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'] }),\n 'tbody': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'], closedByParent: true }),\n 'tfoot': new HtmlTagDefinition({ closedByChildren: ['tbody'], closedByParent: true }),\n 'tr': new HtmlTagDefinition({ closedByChildren: ['tr'], closedByParent: true }),\n 'td': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'th': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'col': new HtmlTagDefinition({ isVoid: true }),\n 'svg': new HtmlTagDefinition({ implicitNamespacePrefix: 'svg' }),\n 'foreignObject': new HtmlTagDefinition({\n // Usually the implicit namespace here would be redundant since it will be inherited from\n // the parent `svg`, but we have to do it for `foreignObject`, because the way the parser\n // works is that the parent node of an end tag is its own start tag which means that\n // the `preventNamespaceInheritance` on `foreignObject` would have it default to the\n // implicit namespace which is `html`, unless specified otherwise.\n implicitNamespacePrefix: 'svg',\n // We want to prevent children of foreignObject from inheriting its namespace, because\n // the point of the element is to allow nodes from other namespaces to be inserted.\n preventNamespaceInheritance: true,\n }),\n 'math': new HtmlTagDefinition({ implicitNamespacePrefix: 'math' }),\n 'li': new HtmlTagDefinition({ closedByChildren: ['li'], closedByParent: true }),\n 'dt': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'] }),\n 'dd': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'], closedByParent: true }),\n 'rb': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rt': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rtc': new HtmlTagDefinition({ closedByChildren: ['rb', 'rtc', 'rp'], closedByParent: true }),\n 'rp': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'optgroup': new HtmlTagDefinition({ closedByChildren: ['optgroup'], closedByParent: true }),\n 'option': new HtmlTagDefinition({ closedByChildren: ['option', 'optgroup'], closedByParent: true }),\n 'pre': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'listing': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'style': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'script': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'title': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT }),\n 'textarea': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }),\n };\n }\n // We have to make both a case-sensitive and a case-insesitive lookup, because\n // HTML tag names are case insensitive, whereas some SVG tags are case sensitive.\n return (_b = (_a = TAG_DEFINITIONS[tagName]) !== null && _a !== void 0 ? _a : TAG_DEFINITIONS[tagName.toLowerCase()]) !== null && _b !== void 0 ? _b : _DEFAULT_TAG_DEFINITION;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _SELECTOR_REGEXP = new RegExp('(\\\\:not\\\\()|' + // 1: \":not(\"\n '(([\\\\.\\\\#]?)[-\\\\w]+)|' + // 2: \"tag\"; 3: \".\"/\"#\";\n // \"-\" should appear first in the regexp below as FF31 parses \"[.-\\w]\" as a range\n // 4: attribute; 5: attribute_string; 6: attribute_value\n '(?:\\\\[([-.\\\\w*]+)(?:=([\\\"\\']?)([^\\\\]\\\"\\']*)\\\\5)?\\\\])|' + // \"[name]\", \"[name=value]\",\n // \"[name=\"value\"]\",\n // \"[name='value']\"\n '(\\\\))|' + // 7: \")\"\n '(\\\\s*,\\\\s*)', // 8: \",\"\n'g');\n/**\n * A css selector contains an element name,\n * css classes and attribute/value pairs with the purpose\n * of selecting subsets out of them.\n */\nclass CssSelector {\n constructor() {\n this.element = null;\n this.classNames = [];\n /**\n * The selectors are encoded in pairs where:\n * - even locations are attribute names\n * - odd locations are attribute values.\n *\n * Example:\n * Selector: `[key1=value1][key2]` would parse to:\n * ```\n * ['key1', 'value1', 'key2', '']\n * ```\n */\n this.attrs = [];\n this.notSelectors = [];\n }\n static parse(selector) {\n const results = [];\n const _addResult = (res, cssSel) => {\n if (cssSel.notSelectors.length > 0 && !cssSel.element && cssSel.classNames.length == 0 &&\n cssSel.attrs.length == 0) {\n cssSel.element = '*';\n }\n res.push(cssSel);\n };\n let cssSelector = new CssSelector();\n let match;\n let current = cssSelector;\n let inNot = false;\n _SELECTOR_REGEXP.lastIndex = 0;\n while (match = _SELECTOR_REGEXP.exec(selector)) {\n if (match[1 /* NOT */]) {\n if (inNot) {\n throw new Error('Nesting :not in a selector is not allowed');\n }\n inNot = true;\n current = new CssSelector();\n cssSelector.notSelectors.push(current);\n }\n const tag = match[2 /* TAG */];\n if (tag) {\n const prefix = match[3 /* PREFIX */];\n if (prefix === '#') {\n // #hash\n current.addAttribute('id', tag.substr(1));\n }\n else if (prefix === '.') {\n // Class\n current.addClassName(tag.substr(1));\n }\n else {\n // Element\n current.setElement(tag);\n }\n }\n const attribute = match[4 /* ATTRIBUTE */];\n if (attribute) {\n current.addAttribute(attribute, match[6 /* ATTRIBUTE_VALUE */]);\n }\n if (match[7 /* NOT_END */]) {\n inNot = false;\n current = cssSelector;\n }\n if (match[8 /* SEPARATOR */]) {\n if (inNot) {\n throw new Error('Multiple selectors in :not are not supported');\n }\n _addResult(results, cssSelector);\n cssSelector = current = new CssSelector();\n }\n }\n _addResult(results, cssSelector);\n return results;\n }\n isElementSelector() {\n return this.hasElementSelector() && this.classNames.length == 0 && this.attrs.length == 0 &&\n this.notSelectors.length === 0;\n }\n hasElementSelector() {\n return !!this.element;\n }\n setElement(element = null) {\n this.element = element;\n }\n /** Gets a template string for an element that matches the selector. */\n getMatchingElementTemplate() {\n const tagName = this.element || 'div';\n const classAttr = this.classNames.length > 0 ? ` class=\"${this.classNames.join(' ')}\"` : '';\n let attrs = '';\n for (let i = 0; i < this.attrs.length; i += 2) {\n const attrName = this.attrs[i];\n const attrValue = this.attrs[i + 1] !== '' ? `=\"${this.attrs[i + 1]}\"` : '';\n attrs += ` ${attrName}${attrValue}`;\n }\n return getHtmlTagDefinition(tagName).isVoid ? `<${tagName}${classAttr}${attrs}/>` :\n `<${tagName}${classAttr}${attrs}>`;\n }\n getAttrs() {\n const result = [];\n if (this.classNames.length > 0) {\n result.push('class', this.classNames.join(' '));\n }\n return result.concat(this.attrs);\n }\n addAttribute(name, value = '') {\n this.attrs.push(name, value && value.toLowerCase() || '');\n }\n addClassName(name) {\n this.classNames.push(name.toLowerCase());\n }\n toString() {\n let res = this.element || '';\n if (this.classNames) {\n this.classNames.forEach(klass => res += `.${klass}`);\n }\n if (this.attrs) {\n for (let i = 0; i < this.attrs.length; i += 2) {\n const name = this.attrs[i];\n const value = this.attrs[i + 1];\n res += `[${name}${value ? '=' + value : ''}]`;\n }\n }\n this.notSelectors.forEach(notSelector => res += `:not(${notSelector})`);\n return res;\n }\n}\n/**\n * Reads a list of CssSelectors and allows to calculate which ones\n * are contained in a given CssSelector.\n */\nclass SelectorMatcher {\n constructor() {\n this._elementMap = new Map();\n this._elementPartialMap = new Map();\n this._classMap = new Map();\n this._classPartialMap = new Map();\n this._attrValueMap = new Map();\n this._attrValuePartialMap = new Map();\n this._listContexts = [];\n }\n static createNotMatcher(notSelectors) {\n const notMatcher = new SelectorMatcher();\n notMatcher.addSelectables(notSelectors, null);\n return notMatcher;\n }\n addSelectables(cssSelectors, callbackCtxt) {\n let listContext = null;\n if (cssSelectors.length > 1) {\n listContext = new SelectorListContext(cssSelectors);\n this._listContexts.push(listContext);\n }\n for (let i = 0; i < cssSelectors.length; i++) {\n this._addSelectable(cssSelectors[i], callbackCtxt, listContext);\n }\n }\n /**\n * Add an object that can be found later on by calling `match`.\n * @param cssSelector A css selector\n * @param callbackCtxt An opaque object that will be given to the callback of the `match` function\n */\n _addSelectable(cssSelector, callbackCtxt, listContext) {\n let matcher = this;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n const selectable = new SelectorContext(cssSelector, callbackCtxt, listContext);\n if (element) {\n const isTerminal = attrs.length === 0 && classNames.length === 0;\n if (isTerminal) {\n this._addTerminal(matcher._elementMap, element, selectable);\n }\n else {\n matcher = this._addPartial(matcher._elementPartialMap, element);\n }\n }\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const isTerminal = attrs.length === 0 && i === classNames.length - 1;\n const className = classNames[i];\n if (isTerminal) {\n this._addTerminal(matcher._classMap, className, selectable);\n }\n else {\n matcher = this._addPartial(matcher._classPartialMap, className);\n }\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const isTerminal = i === attrs.length - 2;\n const name = attrs[i];\n const value = attrs[i + 1];\n if (isTerminal) {\n const terminalMap = matcher._attrValueMap;\n let terminalValuesMap = terminalMap.get(name);\n if (!terminalValuesMap) {\n terminalValuesMap = new Map();\n terminalMap.set(name, terminalValuesMap);\n }\n this._addTerminal(terminalValuesMap, value, selectable);\n }\n else {\n const partialMap = matcher._attrValuePartialMap;\n let partialValuesMap = partialMap.get(name);\n if (!partialValuesMap) {\n partialValuesMap = new Map();\n partialMap.set(name, partialValuesMap);\n }\n matcher = this._addPartial(partialValuesMap, value);\n }\n }\n }\n }\n _addTerminal(map, name, selectable) {\n let terminalList = map.get(name);\n if (!terminalList) {\n terminalList = [];\n map.set(name, terminalList);\n }\n terminalList.push(selectable);\n }\n _addPartial(map, name) {\n let matcher = map.get(name);\n if (!matcher) {\n matcher = new SelectorMatcher();\n map.set(name, matcher);\n }\n return matcher;\n }\n /**\n * Find the objects that have been added via `addSelectable`\n * whose css selector is contained in the given css selector.\n * @param cssSelector A css selector\n * @param matchedCallback This callback will be called with the object handed into `addSelectable`\n * @return boolean true if a match was found\n */\n match(cssSelector, matchedCallback) {\n let result = false;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n for (let i = 0; i < this._listContexts.length; i++) {\n this._listContexts[i].alreadyMatched = false;\n }\n result = this._matchTerminal(this._elementMap, element, cssSelector, matchedCallback) || result;\n result = this._matchPartial(this._elementPartialMap, element, cssSelector, matchedCallback) ||\n result;\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const className = classNames[i];\n result =\n this._matchTerminal(this._classMap, className, cssSelector, matchedCallback) || result;\n result =\n this._matchPartial(this._classPartialMap, className, cssSelector, matchedCallback) ||\n result;\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const name = attrs[i];\n const value = attrs[i + 1];\n const terminalValuesMap = this._attrValueMap.get(name);\n if (value) {\n result =\n this._matchTerminal(terminalValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchTerminal(terminalValuesMap, value, cssSelector, matchedCallback) || result;\n const partialValuesMap = this._attrValuePartialMap.get(name);\n if (value) {\n result = this._matchPartial(partialValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchPartial(partialValuesMap, value, cssSelector, matchedCallback) || result;\n }\n }\n return result;\n }\n /** @internal */\n _matchTerminal(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n let selectables = map.get(name) || [];\n const starSelectables = map.get('*');\n if (starSelectables) {\n selectables = selectables.concat(starSelectables);\n }\n if (selectables.length === 0) {\n return false;\n }\n let selectable;\n let result = false;\n for (let i = 0; i < selectables.length; i++) {\n selectable = selectables[i];\n result = selectable.finalize(cssSelector, matchedCallback) || result;\n }\n return result;\n }\n /** @internal */\n _matchPartial(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n const nestedSelector = map.get(name);\n if (!nestedSelector) {\n return false;\n }\n // TODO(perf): get rid of recursion and measure again\n // TODO(perf): don't pass the whole selector into the recursion,\n // but only the not processed parts\n return nestedSelector.match(cssSelector, matchedCallback);\n }\n}\nclass SelectorListContext {\n constructor(selectors) {\n this.selectors = selectors;\n this.alreadyMatched = false;\n }\n}\n// Store context to pass back selector and context when a selector is matched\nclass SelectorContext {\n constructor(selector, cbContext, listContext) {\n this.selector = selector;\n this.cbContext = cbContext;\n this.listContext = listContext;\n this.notSelectors = selector.notSelectors;\n }\n finalize(cssSelector, callback) {\n let result = true;\n if (this.notSelectors.length > 0 && (!this.listContext || !this.listContext.alreadyMatched)) {\n const notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors);\n result = !notMatcher.match(cssSelector, null);\n }\n if (result && callback && (!this.listContext || !this.listContext.alreadyMatched)) {\n if (this.listContext) {\n this.listContext.alreadyMatched = true;\n }\n callback(this.selector, this.cbContext);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst createInject = makeMetadataFactory('Inject', (token) => ({ token }));\nconst createInjectionToken = makeMetadataFactory('InjectionToken', (desc) => ({ _desc: desc, ɵprov: undefined }));\nconst createAttribute = makeMetadataFactory('Attribute', (attributeName) => ({ attributeName }));\nconst createContentChildren = makeMetadataFactory('ContentChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false }, data)));\nconst createContentChild = makeMetadataFactory('ContentChild', (selector, data = {}) => (Object.assign({ selector, first: true, isViewQuery: false, descendants: true }, data)));\nconst createViewChildren = makeMetadataFactory('ViewChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true }, data)));\nconst createViewChild = makeMetadataFactory('ViewChild', (selector, data) => (Object.assign({ selector, first: true, isViewQuery: true, descendants: true }, data)));\nconst createDirective = makeMetadataFactory('Directive', (dir = {}) => dir);\nvar ViewEncapsulation;\n(function (ViewEncapsulation) {\n ViewEncapsulation[ViewEncapsulation[\"Emulated\"] = 0] = \"Emulated\";\n // Historically the 1 value was for `Native` encapsulation which has been removed as of v11.\n ViewEncapsulation[ViewEncapsulation[\"None\"] = 2] = \"None\";\n ViewEncapsulation[ViewEncapsulation[\"ShadowDom\"] = 3] = \"ShadowDom\";\n})(ViewEncapsulation || (ViewEncapsulation = {}));\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\nconst createComponent = makeMetadataFactory('Component', (c = {}) => (Object.assign({ changeDetection: ChangeDetectionStrategy.Default }, c)));\nconst createPipe = makeMetadataFactory('Pipe', (p) => (Object.assign({ pure: true }, p)));\nconst createInput = makeMetadataFactory('Input', (bindingPropertyName) => ({ bindingPropertyName }));\nconst createOutput = makeMetadataFactory('Output', (bindingPropertyName) => ({ bindingPropertyName }));\nconst createHostBinding = makeMetadataFactory('HostBinding', (hostPropertyName) => ({ hostPropertyName }));\nconst createHostListener = makeMetadataFactory('HostListener', (eventName, args) => ({ eventName, args }));\nconst createNgModule = makeMetadataFactory('NgModule', (ngModule) => ngModule);\nconst createInjectable = makeMetadataFactory('Injectable', (injectable = {}) => injectable);\nconst CUSTOM_ELEMENTS_SCHEMA = {\n name: 'custom-elements'\n};\nconst NO_ERRORS_SCHEMA = {\n name: 'no-errors-schema'\n};\nconst createOptional = makeMetadataFactory('Optional');\nconst createSelf = makeMetadataFactory('Self');\nconst createSkipSelf = makeMetadataFactory('SkipSelf');\nconst createHost = makeMetadataFactory('Host');\nconst Type = Function;\nvar SecurityContext;\n(function (SecurityContext) {\n SecurityContext[SecurityContext[\"NONE\"] = 0] = \"NONE\";\n SecurityContext[SecurityContext[\"HTML\"] = 1] = \"HTML\";\n SecurityContext[SecurityContext[\"STYLE\"] = 2] = \"STYLE\";\n SecurityContext[SecurityContext[\"SCRIPT\"] = 3] = \"SCRIPT\";\n SecurityContext[SecurityContext[\"URL\"] = 4] = \"URL\";\n SecurityContext[SecurityContext[\"RESOURCE_URL\"] = 5] = \"RESOURCE_URL\";\n})(SecurityContext || (SecurityContext = {}));\nvar MissingTranslationStrategy;\n(function (MissingTranslationStrategy) {\n MissingTranslationStrategy[MissingTranslationStrategy[\"Error\"] = 0] = \"Error\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Warning\"] = 1] = \"Warning\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Ignore\"] = 2] = \"Ignore\";\n})(MissingTranslationStrategy || (MissingTranslationStrategy = {}));\nfunction makeMetadataFactory(name, props) {\n // This must be declared as a function, not a fat arrow, so that ES2015 devmode produces code\n // that works with the static_reflector.ts in the ViewEngine compiler.\n // In particular, `_registerDecoratorOrConstructor` assumes that the value returned here can be\n // new'ed.\n function factory(...args) {\n const values = props ? props(...args) : {};\n return Object.assign({ ngMetadataName: name }, values);\n }\n factory.isTypeOf = (obj) => obj && obj.ngMetadataName === name;\n factory.ngMetadataName = name;\n return factory;\n}\nfunction parserSelectorToSimpleSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* CLASS */, ...selector.classNames] :\n [];\n const elementName = selector.element && selector.element !== '*' ? selector.element : '';\n return [elementName, ...selector.attrs, ...classes];\n}\nfunction parserSelectorToNegativeSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* CLASS */, ...selector.classNames] :\n [];\n if (selector.element) {\n return [\n 1 /* NOT */ | 4 /* ELEMENT */, selector.element, ...selector.attrs, ...classes\n ];\n }\n else if (selector.attrs.length) {\n return [1 /* NOT */ | 2 /* ATTRIBUTE */, ...selector.attrs, ...classes];\n }\n else {\n return selector.classNames && selector.classNames.length ?\n [1 /* NOT */ | 8 /* CLASS */, ...selector.classNames] :\n [];\n }\n}\nfunction parserSelectorToR3Selector(selector) {\n const positive = parserSelectorToSimpleSelector(selector);\n const negative = selector.notSelectors && selector.notSelectors.length ?\n selector.notSelectors.map(notSelector => parserSelectorToNegativeSelector(notSelector)) :\n [];\n return positive.concat(...negative);\n}\nfunction parseSelectorToR3Selector(selector) {\n return selector ? CssSelector.parse(selector).map(parserSelectorToR3Selector) : [];\n}\n\nvar core = /*#__PURE__*/Object.freeze({\n __proto__: null,\n createInject: createInject,\n createInjectionToken: createInjectionToken,\n createAttribute: createAttribute,\n createContentChildren: createContentChildren,\n createContentChild: createContentChild,\n createViewChildren: createViewChildren,\n createViewChild: createViewChild,\n createDirective: createDirective,\n get ViewEncapsulation () { return ViewEncapsulation; },\n get ChangeDetectionStrategy () { return ChangeDetectionStrategy; },\n createComponent: createComponent,\n createPipe: createPipe,\n createInput: createInput,\n createOutput: createOutput,\n createHostBinding: createHostBinding,\n createHostListener: createHostListener,\n createNgModule: createNgModule,\n createInjectable: createInjectable,\n CUSTOM_ELEMENTS_SCHEMA: CUSTOM_ELEMENTS_SCHEMA,\n NO_ERRORS_SCHEMA: NO_ERRORS_SCHEMA,\n createOptional: createOptional,\n createSelf: createSelf,\n createSkipSelf: createSkipSelf,\n createHost: createHost,\n Type: Type,\n get SecurityContext () { return SecurityContext; },\n get MissingTranslationStrategy () { return MissingTranslationStrategy; },\n parseSelectorToR3Selector: parseSelectorToR3Selector\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n//// Types\nvar TypeModifier;\n(function (TypeModifier) {\n TypeModifier[TypeModifier[\"Const\"] = 0] = \"Const\";\n})(TypeModifier || (TypeModifier = {}));\nclass Type$1 {\n constructor(modifiers = []) {\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n}\nvar BuiltinTypeName;\n(function (BuiltinTypeName) {\n BuiltinTypeName[BuiltinTypeName[\"Dynamic\"] = 0] = \"Dynamic\";\n BuiltinTypeName[BuiltinTypeName[\"Bool\"] = 1] = \"Bool\";\n BuiltinTypeName[BuiltinTypeName[\"String\"] = 2] = \"String\";\n BuiltinTypeName[BuiltinTypeName[\"Int\"] = 3] = \"Int\";\n BuiltinTypeName[BuiltinTypeName[\"Number\"] = 4] = \"Number\";\n BuiltinTypeName[BuiltinTypeName[\"Function\"] = 5] = \"Function\";\n BuiltinTypeName[BuiltinTypeName[\"Inferred\"] = 6] = \"Inferred\";\n BuiltinTypeName[BuiltinTypeName[\"None\"] = 7] = \"None\";\n})(BuiltinTypeName || (BuiltinTypeName = {}));\nclass BuiltinType extends Type$1 {\n constructor(name, modifiers) {\n super(modifiers);\n this.name = name;\n }\n visitType(visitor, context) {\n return visitor.visitBuiltinType(this, context);\n }\n}\nclass ExpressionType extends Type$1 {\n constructor(value, modifiers, typeParams = null) {\n super(modifiers);\n this.value = value;\n this.typeParams = typeParams;\n }\n visitType(visitor, context) {\n return visitor.visitExpressionType(this, context);\n }\n}\nclass ArrayType extends Type$1 {\n constructor(of, modifiers) {\n super(modifiers);\n this.of = of;\n }\n visitType(visitor, context) {\n return visitor.visitArrayType(this, context);\n }\n}\nclass MapType extends Type$1 {\n constructor(valueType, modifiers) {\n super(modifiers);\n this.valueType = valueType || null;\n }\n visitType(visitor, context) {\n return visitor.visitMapType(this, context);\n }\n}\nconst DYNAMIC_TYPE = new BuiltinType(BuiltinTypeName.Dynamic);\nconst INFERRED_TYPE = new BuiltinType(BuiltinTypeName.Inferred);\nconst BOOL_TYPE = new BuiltinType(BuiltinTypeName.Bool);\nconst INT_TYPE = new BuiltinType(BuiltinTypeName.Int);\nconst NUMBER_TYPE = new BuiltinType(BuiltinTypeName.Number);\nconst STRING_TYPE = new BuiltinType(BuiltinTypeName.String);\nconst FUNCTION_TYPE = new BuiltinType(BuiltinTypeName.Function);\nconst NONE_TYPE = new BuiltinType(BuiltinTypeName.None);\n///// Expressions\nvar UnaryOperator;\n(function (UnaryOperator) {\n UnaryOperator[UnaryOperator[\"Minus\"] = 0] = \"Minus\";\n UnaryOperator[UnaryOperator[\"Plus\"] = 1] = \"Plus\";\n})(UnaryOperator || (UnaryOperator = {}));\nvar BinaryOperator;\n(function (BinaryOperator) {\n BinaryOperator[BinaryOperator[\"Equals\"] = 0] = \"Equals\";\n BinaryOperator[BinaryOperator[\"NotEquals\"] = 1] = \"NotEquals\";\n BinaryOperator[BinaryOperator[\"Identical\"] = 2] = \"Identical\";\n BinaryOperator[BinaryOperator[\"NotIdentical\"] = 3] = \"NotIdentical\";\n BinaryOperator[BinaryOperator[\"Minus\"] = 4] = \"Minus\";\n BinaryOperator[BinaryOperator[\"Plus\"] = 5] = \"Plus\";\n BinaryOperator[BinaryOperator[\"Divide\"] = 6] = \"Divide\";\n BinaryOperator[BinaryOperator[\"Multiply\"] = 7] = \"Multiply\";\n BinaryOperator[BinaryOperator[\"Modulo\"] = 8] = \"Modulo\";\n BinaryOperator[BinaryOperator[\"And\"] = 9] = \"And\";\n BinaryOperator[BinaryOperator[\"Or\"] = 10] = \"Or\";\n BinaryOperator[BinaryOperator[\"BitwiseAnd\"] = 11] = \"BitwiseAnd\";\n BinaryOperator[BinaryOperator[\"Lower\"] = 12] = \"Lower\";\n BinaryOperator[BinaryOperator[\"LowerEquals\"] = 13] = \"LowerEquals\";\n BinaryOperator[BinaryOperator[\"Bigger\"] = 14] = \"Bigger\";\n BinaryOperator[BinaryOperator[\"BiggerEquals\"] = 15] = \"BiggerEquals\";\n})(BinaryOperator || (BinaryOperator = {}));\nfunction nullSafeIsEquivalent(base, other) {\n if (base == null || other == null) {\n return base == other;\n }\n return base.isEquivalent(other);\n}\nfunction areAllEquivalent(base, other) {\n const len = base.length;\n if (len !== other.length) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n if (!base[i].isEquivalent(other[i])) {\n return false;\n }\n }\n return true;\n}\nclass Expression {\n constructor(type, sourceSpan) {\n this.type = type || null;\n this.sourceSpan = sourceSpan || null;\n }\n prop(name, sourceSpan) {\n return new ReadPropExpr(this, name, null, sourceSpan);\n }\n key(index, type, sourceSpan) {\n return new ReadKeyExpr(this, index, type, sourceSpan);\n }\n callMethod(name, params, sourceSpan) {\n return new InvokeMethodExpr(this, name, params, null, sourceSpan);\n }\n callFn(params, sourceSpan, pure) {\n return new InvokeFunctionExpr(this, params, null, sourceSpan, pure);\n }\n instantiate(params, type, sourceSpan) {\n return new InstantiateExpr(this, params, type, sourceSpan);\n }\n conditional(trueCase, falseCase = null, sourceSpan) {\n return new ConditionalExpr(this, trueCase, falseCase, null, sourceSpan);\n }\n equals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Equals, this, rhs, null, sourceSpan);\n }\n notEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotEquals, this, rhs, null, sourceSpan);\n }\n identical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Identical, this, rhs, null, sourceSpan);\n }\n notIdentical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotIdentical, this, rhs, null, sourceSpan);\n }\n minus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Minus, this, rhs, null, sourceSpan);\n }\n plus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Plus, this, rhs, null, sourceSpan);\n }\n divide(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Divide, this, rhs, null, sourceSpan);\n }\n multiply(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Multiply, this, rhs, null, sourceSpan);\n }\n modulo(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Modulo, this, rhs, null, sourceSpan);\n }\n and(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.And, this, rhs, null, sourceSpan);\n }\n bitwiseAnd(rhs, sourceSpan, parens = true) {\n return new BinaryOperatorExpr(BinaryOperator.BitwiseAnd, this, rhs, null, sourceSpan, parens);\n }\n or(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Or, this, rhs, null, sourceSpan);\n }\n lower(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Lower, this, rhs, null, sourceSpan);\n }\n lowerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.LowerEquals, this, rhs, null, sourceSpan);\n }\n bigger(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Bigger, this, rhs, null, sourceSpan);\n }\n biggerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.BiggerEquals, this, rhs, null, sourceSpan);\n }\n isBlank(sourceSpan) {\n // Note: We use equals by purpose here to compare to null and undefined in JS.\n // We use the typed null to allow strictNullChecks to narrow types.\n return this.equals(TYPED_NULL_EXPR, sourceSpan);\n }\n cast(type, sourceSpan) {\n return new CastExpr(this, type, sourceSpan);\n }\n toStmt() {\n return new ExpressionStatement(this, null);\n }\n}\nvar BuiltinVar;\n(function (BuiltinVar) {\n BuiltinVar[BuiltinVar[\"This\"] = 0] = \"This\";\n BuiltinVar[BuiltinVar[\"Super\"] = 1] = \"Super\";\n BuiltinVar[BuiltinVar[\"CatchError\"] = 2] = \"CatchError\";\n BuiltinVar[BuiltinVar[\"CatchStack\"] = 3] = \"CatchStack\";\n})(BuiltinVar || (BuiltinVar = {}));\nclass ReadVarExpr extends Expression {\n constructor(name, type, sourceSpan) {\n super(type, sourceSpan);\n if (typeof name === 'string') {\n this.name = name;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = name;\n }\n }\n isEquivalent(e) {\n return e instanceof ReadVarExpr && this.name === e.name && this.builtin === e.builtin;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadVarExpr(this, context);\n }\n set(value) {\n if (!this.name) {\n throw new Error(`Built in variable ${this.builtin} can not be assigned to.`);\n }\n return new WriteVarExpr(this.name, value, null, this.sourceSpan);\n }\n}\nclass TypeofExpr extends Expression {\n constructor(expr, type, sourceSpan) {\n super(type, sourceSpan);\n this.expr = expr;\n }\n visitExpression(visitor, context) {\n return visitor.visitTypeofExpr(this, context);\n }\n isEquivalent(e) {\n return e instanceof TypeofExpr && e.expr.isEquivalent(this.expr);\n }\n isConstant() {\n return this.expr.isConstant();\n }\n}\nclass WrappedNodeExpr extends Expression {\n constructor(node, type, sourceSpan) {\n super(type, sourceSpan);\n this.node = node;\n }\n isEquivalent(e) {\n return e instanceof WrappedNodeExpr && this.node === e.node;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWrappedNodeExpr(this, context);\n }\n}\nclass WriteVarExpr extends Expression {\n constructor(name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteVarExpr && this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteVarExpr(this, context);\n }\n toDeclStmt(type, modifiers) {\n return new DeclareVarStmt(this.name, this.value, type, modifiers, this.sourceSpan);\n }\n toConstDecl() {\n return this.toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]);\n }\n}\nclass WriteKeyExpr extends Expression {\n constructor(receiver, index, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index) && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteKeyExpr(this, context);\n }\n}\nclass WritePropExpr extends Expression {\n constructor(receiver, name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WritePropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWritePropExpr(this, context);\n }\n}\nvar BuiltinMethod;\n(function (BuiltinMethod) {\n BuiltinMethod[BuiltinMethod[\"ConcatArray\"] = 0] = \"ConcatArray\";\n BuiltinMethod[BuiltinMethod[\"SubscribeObservable\"] = 1] = \"SubscribeObservable\";\n BuiltinMethod[BuiltinMethod[\"Bind\"] = 2] = \"Bind\";\n})(BuiltinMethod || (BuiltinMethod = {}));\nclass InvokeMethodExpr extends Expression {\n constructor(receiver, method, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.args = args;\n if (typeof method === 'string') {\n this.name = method;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = method;\n }\n }\n isEquivalent(e) {\n return e instanceof InvokeMethodExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.builtin === e.builtin && areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeMethodExpr(this, context);\n }\n}\nclass InvokeFunctionExpr extends Expression {\n constructor(fn, args, type, sourceSpan, pure = false) {\n super(type, sourceSpan);\n this.fn = fn;\n this.args = args;\n this.pure = pure;\n }\n isEquivalent(e) {\n return e instanceof InvokeFunctionExpr && this.fn.isEquivalent(e.fn) &&\n areAllEquivalent(this.args, e.args) && this.pure === e.pure;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeFunctionExpr(this, context);\n }\n}\nclass InstantiateExpr extends Expression {\n constructor(classExpr, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.classExpr = classExpr;\n this.args = args;\n }\n isEquivalent(e) {\n return e instanceof InstantiateExpr && this.classExpr.isEquivalent(e.classExpr) &&\n areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInstantiateExpr(this, context);\n }\n}\nclass LiteralExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof LiteralExpr && this.value === e.value;\n }\n isConstant() {\n return true;\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralExpr(this, context);\n }\n}\nclass MessagePiece {\n constructor(text, sourceSpan) {\n this.text = text;\n this.sourceSpan = sourceSpan;\n }\n}\nclass LiteralPiece extends MessagePiece {\n}\nclass PlaceholderPiece extends MessagePiece {\n}\nclass LocalizedString extends Expression {\n constructor(metaBlock, messageParts, placeHolderNames, expressions, sourceSpan) {\n super(STRING_TYPE, sourceSpan);\n this.metaBlock = metaBlock;\n this.messageParts = messageParts;\n this.placeHolderNames = placeHolderNames;\n this.expressions = expressions;\n }\n isEquivalent(e) {\n // return e instanceof LocalizedString && this.message === e.message;\n return false;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitLocalizedString(this, context);\n }\n /**\n * Serialize the given `meta` and `messagePart` into \"cooked\" and \"raw\" strings that can be used\n * in a `$localize` tagged string. The format of the metadata is the same as that parsed by\n * `parseI18nMeta()`.\n *\n * @param meta The metadata to serialize\n * @param messagePart The first part of the tagged string\n */\n serializeI18nHead() {\n const MEANING_SEPARATOR = '|';\n const ID_SEPARATOR = '@@';\n const LEGACY_ID_INDICATOR = '␟';\n let metaBlock = this.metaBlock.description || '';\n if (this.metaBlock.meaning) {\n metaBlock = `${this.metaBlock.meaning}${MEANING_SEPARATOR}${metaBlock}`;\n }\n if (this.metaBlock.customId) {\n metaBlock = `${metaBlock}${ID_SEPARATOR}${this.metaBlock.customId}`;\n }\n if (this.metaBlock.legacyIds) {\n this.metaBlock.legacyIds.forEach(legacyId => {\n metaBlock = `${metaBlock}${LEGACY_ID_INDICATOR}${legacyId}`;\n });\n }\n return createCookedRawString(metaBlock, this.messageParts[0].text, this.getMessagePartSourceSpan(0));\n }\n getMessagePartSourceSpan(i) {\n var _a, _b;\n return (_b = (_a = this.messageParts[i]) === null || _a === void 0 ? void 0 : _a.sourceSpan) !== null && _b !== void 0 ? _b : this.sourceSpan;\n }\n getPlaceholderSourceSpan(i) {\n var _a, _b, _c, _d;\n return (_d = (_b = (_a = this.placeHolderNames[i]) === null || _a === void 0 ? void 0 : _a.sourceSpan) !== null && _b !== void 0 ? _b : (_c = this.expressions[i]) === null || _c === void 0 ? void 0 : _c.sourceSpan) !== null && _d !== void 0 ? _d : this.sourceSpan;\n }\n /**\n * Serialize the given `placeholderName` and `messagePart` into \"cooked\" and \"raw\" strings that\n * can be used in a `$localize` tagged string.\n *\n * @param placeholderName The placeholder name to serialize\n * @param messagePart The following message string after this placeholder\n */\n serializeI18nTemplatePart(partIndex) {\n const placeholderName = this.placeHolderNames[partIndex - 1].text;\n const messagePart = this.messageParts[partIndex];\n return createCookedRawString(placeholderName, messagePart.text, this.getMessagePartSourceSpan(partIndex));\n }\n}\nconst escapeSlashes = (str) => str.replace(/\\\\/g, '\\\\\\\\');\nconst escapeStartingColon = (str) => str.replace(/^:/, '\\\\:');\nconst escapeColons = (str) => str.replace(/:/g, '\\\\:');\nconst escapeForMessagePart = (str) => str.replace(/`/g, '\\\\`').replace(/\\${/g, '$\\\\{');\n/**\n * Creates a `{cooked, raw}` object from the `metaBlock` and `messagePart`.\n *\n * The `raw` text must have various character sequences escaped:\n * * \"\\\" would otherwise indicate that the next character is a control character.\n * * \"`\" and \"${\" are template string control sequences that would otherwise prematurely indicate\n * the end of a message part.\n * * \":\" inside a metablock would prematurely indicate the end of the metablock.\n * * \":\" at the start of a messagePart with no metablock would erroneously indicate the start of a\n * metablock.\n *\n * @param metaBlock Any metadata that should be prepended to the string\n * @param messagePart The message part of the string\n */\nfunction createCookedRawString(metaBlock, messagePart, range) {\n if (metaBlock === '') {\n return {\n cooked: messagePart,\n raw: escapeForMessagePart(escapeStartingColon(escapeSlashes(messagePart))),\n range,\n };\n }\n else {\n return {\n cooked: `:${metaBlock}:${messagePart}`,\n raw: escapeForMessagePart(`:${escapeColons(escapeSlashes(metaBlock))}:${escapeSlashes(messagePart)}`),\n range,\n };\n }\n}\nclass ExternalExpr extends Expression {\n constructor(value, type, typeParams = null, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n this.typeParams = typeParams;\n }\n isEquivalent(e) {\n return e instanceof ExternalExpr && this.value.name === e.value.name &&\n this.value.moduleName === e.value.moduleName && this.value.runtime === e.value.runtime;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitExternalExpr(this, context);\n }\n}\nclass ExternalReference {\n constructor(moduleName, name, runtime) {\n this.moduleName = moduleName;\n this.name = name;\n this.runtime = runtime;\n }\n}\nclass ConditionalExpr extends Expression {\n constructor(condition, trueCase, falseCase = null, type, sourceSpan) {\n super(type || trueCase.type, sourceSpan);\n this.condition = condition;\n this.falseCase = falseCase;\n this.trueCase = trueCase;\n }\n isEquivalent(e) {\n return e instanceof ConditionalExpr && this.condition.isEquivalent(e.condition) &&\n this.trueCase.isEquivalent(e.trueCase) && nullSafeIsEquivalent(this.falseCase, e.falseCase);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitConditionalExpr(this, context);\n }\n}\nclass NotExpr extends Expression {\n constructor(condition, sourceSpan) {\n super(BOOL_TYPE, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof NotExpr && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitNotExpr(this, context);\n }\n}\nclass AssertNotNull extends Expression {\n constructor(condition, sourceSpan) {\n super(condition.type, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof AssertNotNull && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitAssertNotNullExpr(this, context);\n }\n}\nclass CastExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof CastExpr && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCastExpr(this, context);\n }\n}\nclass FnParam {\n constructor(name, type = null) {\n this.name = name;\n this.type = type;\n }\n isEquivalent(param) {\n return this.name === param.name;\n }\n}\nclass FunctionExpr extends Expression {\n constructor(params, statements, type, sourceSpan, name) {\n super(type, sourceSpan);\n this.params = params;\n this.statements = statements;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof FunctionExpr && areAllEquivalent(this.params, e.params) &&\n areAllEquivalent(this.statements, e.statements);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitFunctionExpr(this, context);\n }\n toDeclStmt(name, modifiers) {\n return new DeclareFunctionStmt(name, this.params, this.statements, this.type, modifiers, this.sourceSpan);\n }\n}\nclass UnaryOperatorExpr extends Expression {\n constructor(operator, expr, type, sourceSpan, parens = true) {\n super(type || NUMBER_TYPE, sourceSpan);\n this.operator = operator;\n this.expr = expr;\n this.parens = parens;\n }\n isEquivalent(e) {\n return e instanceof UnaryOperatorExpr && this.operator === e.operator &&\n this.expr.isEquivalent(e.expr);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitUnaryOperatorExpr(this, context);\n }\n}\nclass BinaryOperatorExpr extends Expression {\n constructor(operator, lhs, rhs, type, sourceSpan, parens = true) {\n super(type || lhs.type, sourceSpan);\n this.operator = operator;\n this.rhs = rhs;\n this.parens = parens;\n this.lhs = lhs;\n }\n isEquivalent(e) {\n return e instanceof BinaryOperatorExpr && this.operator === e.operator &&\n this.lhs.isEquivalent(e.lhs) && this.rhs.isEquivalent(e.rhs);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitBinaryOperatorExpr(this, context);\n }\n}\nclass ReadPropExpr extends Expression {\n constructor(receiver, name, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof ReadPropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadPropExpr(this, context);\n }\n set(value) {\n return new WritePropExpr(this.receiver, this.name, value, null, this.sourceSpan);\n }\n}\nclass ReadKeyExpr extends Expression {\n constructor(receiver, index, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n }\n isEquivalent(e) {\n return e instanceof ReadKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadKeyExpr(this, context);\n }\n set(value) {\n return new WriteKeyExpr(this.receiver, this.index, value, null, this.sourceSpan);\n }\n}\nclass LiteralArrayExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n }\n isConstant() {\n return this.entries.every(e => e.isConstant());\n }\n isEquivalent(e) {\n return e instanceof LiteralArrayExpr && areAllEquivalent(this.entries, e.entries);\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralArrayExpr(this, context);\n }\n}\nclass LiteralMapEntry {\n constructor(key, value, quoted) {\n this.key = key;\n this.value = value;\n this.quoted = quoted;\n }\n isEquivalent(e) {\n return this.key === e.key && this.value.isEquivalent(e.value);\n }\n}\nclass LiteralMapExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n this.valueType = null;\n if (type) {\n this.valueType = type.valueType;\n }\n }\n isEquivalent(e) {\n return e instanceof LiteralMapExpr && areAllEquivalent(this.entries, e.entries);\n }\n isConstant() {\n return this.entries.every(e => e.value.isConstant());\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralMapExpr(this, context);\n }\n}\nclass CommaExpr extends Expression {\n constructor(parts, sourceSpan) {\n super(parts[parts.length - 1].type, sourceSpan);\n this.parts = parts;\n }\n isEquivalent(e) {\n return e instanceof CommaExpr && areAllEquivalent(this.parts, e.parts);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCommaExpr(this, context);\n }\n}\nconst THIS_EXPR = new ReadVarExpr(BuiltinVar.This, null, null);\nconst SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super, null, null);\nconst CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError, null, null);\nconst CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack, null, null);\nconst NULL_EXPR = new LiteralExpr(null, null, null);\nconst TYPED_NULL_EXPR = new LiteralExpr(null, INFERRED_TYPE, null);\n//// Statements\nvar StmtModifier;\n(function (StmtModifier) {\n StmtModifier[StmtModifier[\"Final\"] = 0] = \"Final\";\n StmtModifier[StmtModifier[\"Private\"] = 1] = \"Private\";\n StmtModifier[StmtModifier[\"Exported\"] = 2] = \"Exported\";\n StmtModifier[StmtModifier[\"Static\"] = 3] = \"Static\";\n})(StmtModifier || (StmtModifier = {}));\nclass LeadingComment {\n constructor(text, multiline, trailingNewline) {\n this.text = text;\n this.multiline = multiline;\n this.trailingNewline = trailingNewline;\n }\n toString() {\n return this.multiline ? ` ${this.text} ` : this.text;\n }\n}\nclass JSDocComment extends LeadingComment {\n constructor(tags) {\n super('', /* multiline */ true, /* trailingNewline */ true);\n this.tags = tags;\n }\n toString() {\n return serializeTags(this.tags);\n }\n}\nclass Statement {\n constructor(modifiers = [], sourceSpan = null, leadingComments) {\n this.modifiers = modifiers;\n this.sourceSpan = sourceSpan;\n this.leadingComments = leadingComments;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n addLeadingComment(leadingComment) {\n var _a;\n this.leadingComments = (_a = this.leadingComments) !== null && _a !== void 0 ? _a : [];\n this.leadingComments.push(leadingComment);\n }\n}\nclass DeclareVarStmt extends Statement {\n constructor(name, value, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.value = value;\n this.type = type || (value && value.type) || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareVarStmt && this.name === stmt.name &&\n (this.value ? !!stmt.value && this.value.isEquivalent(stmt.value) : !stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareVarStmt(this, context);\n }\n}\nclass DeclareFunctionStmt extends Statement {\n constructor(name, params, statements, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.params = params;\n this.statements = statements;\n this.type = type || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareFunctionStmt && areAllEquivalent(this.params, stmt.params) &&\n areAllEquivalent(this.statements, stmt.statements);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareFunctionStmt(this, context);\n }\n}\nclass ExpressionStatement extends Statement {\n constructor(expr, sourceSpan, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.expr = expr;\n }\n isEquivalent(stmt) {\n return stmt instanceof ExpressionStatement && this.expr.isEquivalent(stmt.expr);\n }\n visitStatement(visitor, context) {\n return visitor.visitExpressionStmt(this, context);\n }\n}\nclass ReturnStatement extends Statement {\n constructor(value, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.value = value;\n }\n isEquivalent(stmt) {\n return stmt instanceof ReturnStatement && this.value.isEquivalent(stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitReturnStmt(this, context);\n }\n}\nclass AbstractClassPart {\n constructor(type = null, modifiers = []) {\n this.type = type;\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n}\nclass ClassField extends AbstractClassPart {\n constructor(name, type, modifiers, initializer) {\n super(type, modifiers);\n this.name = name;\n this.initializer = initializer;\n }\n isEquivalent(f) {\n return this.name === f.name;\n }\n}\nclass ClassMethod extends AbstractClassPart {\n constructor(name, params, body, type, modifiers) {\n super(type, modifiers);\n this.name = name;\n this.params = params;\n this.body = body;\n }\n isEquivalent(m) {\n return this.name === m.name && areAllEquivalent(this.body, m.body);\n }\n}\nclass ClassGetter extends AbstractClassPart {\n constructor(name, body, type, modifiers) {\n super(type, modifiers);\n this.name = name;\n this.body = body;\n }\n isEquivalent(m) {\n return this.name === m.name && areAllEquivalent(this.body, m.body);\n }\n}\nclass ClassStmt extends Statement {\n constructor(name, parent, fields, getters, constructorMethod, methods, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.parent = parent;\n this.fields = fields;\n this.getters = getters;\n this.constructorMethod = constructorMethod;\n this.methods = methods;\n }\n isEquivalent(stmt) {\n return stmt instanceof ClassStmt && this.name === stmt.name &&\n nullSafeIsEquivalent(this.parent, stmt.parent) &&\n areAllEquivalent(this.fields, stmt.fields) &&\n areAllEquivalent(this.getters, stmt.getters) &&\n this.constructorMethod.isEquivalent(stmt.constructorMethod) &&\n areAllEquivalent(this.methods, stmt.methods);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareClassStmt(this, context);\n }\n}\nclass IfStmt extends Statement {\n constructor(condition, trueCase, falseCase = [], sourceSpan, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.condition = condition;\n this.trueCase = trueCase;\n this.falseCase = falseCase;\n }\n isEquivalent(stmt) {\n return stmt instanceof IfStmt && this.condition.isEquivalent(stmt.condition) &&\n areAllEquivalent(this.trueCase, stmt.trueCase) &&\n areAllEquivalent(this.falseCase, stmt.falseCase);\n }\n visitStatement(visitor, context) {\n return visitor.visitIfStmt(this, context);\n }\n}\nclass TryCatchStmt extends Statement {\n constructor(bodyStmts, catchStmts, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.bodyStmts = bodyStmts;\n this.catchStmts = catchStmts;\n }\n isEquivalent(stmt) {\n return stmt instanceof TryCatchStmt && areAllEquivalent(this.bodyStmts, stmt.bodyStmts) &&\n areAllEquivalent(this.catchStmts, stmt.catchStmts);\n }\n visitStatement(visitor, context) {\n return visitor.visitTryCatchStmt(this, context);\n }\n}\nclass ThrowStmt extends Statement {\n constructor(error, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.error = error;\n }\n isEquivalent(stmt) {\n return stmt instanceof TryCatchStmt && this.error.isEquivalent(stmt.error);\n }\n visitStatement(visitor, context) {\n return visitor.visitThrowStmt(this, context);\n }\n}\nclass AstTransformer {\n transformExpr(expr, context) {\n return expr;\n }\n transformStmt(stmt, context) {\n return stmt;\n }\n visitReadVarExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitTypeofExpr(expr, context) {\n return this.transformExpr(new TypeofExpr(expr.expr.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWriteVarExpr(expr, context) {\n return this.transformExpr(new WriteVarExpr(expr.name, expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWriteKeyExpr(expr, context) {\n return this.transformExpr(new WriteKeyExpr(expr.receiver.visitExpression(this, context), expr.index.visitExpression(this, context), expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWritePropExpr(expr, context) {\n return this.transformExpr(new WritePropExpr(expr.receiver.visitExpression(this, context), expr.name, expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitInvokeMethodExpr(ast, context) {\n const method = ast.builtin || ast.name;\n return this.transformExpr(new InvokeMethodExpr(ast.receiver.visitExpression(this, context), method, this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitInvokeFunctionExpr(ast, context) {\n return this.transformExpr(new InvokeFunctionExpr(ast.fn.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitInstantiateExpr(ast, context) {\n return this.transformExpr(new InstantiateExpr(ast.classExpr.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.transformExpr(new LocalizedString(ast.metaBlock, ast.messageParts, ast.placeHolderNames, this.visitAllExpressions(ast.expressions, context), ast.sourceSpan), context);\n }\n visitExternalExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitConditionalExpr(ast, context) {\n return this.transformExpr(new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitNotExpr(ast, context) {\n return this.transformExpr(new NotExpr(ast.condition.visitExpression(this, context), ast.sourceSpan), context);\n }\n visitAssertNotNullExpr(ast, context) {\n return this.transformExpr(new AssertNotNull(ast.condition.visitExpression(this, context), ast.sourceSpan), context);\n }\n visitCastExpr(ast, context) {\n return this.transformExpr(new CastExpr(ast.value.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitFunctionExpr(ast, context) {\n return this.transformExpr(new FunctionExpr(ast.params, this.visitAllStatements(ast.statements, context), ast.type, ast.sourceSpan), context);\n }\n visitUnaryOperatorExpr(ast, context) {\n return this.transformExpr(new UnaryOperatorExpr(ast.operator, ast.expr.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitBinaryOperatorExpr(ast, context) {\n return this.transformExpr(new BinaryOperatorExpr(ast.operator, ast.lhs.visitExpression(this, context), ast.rhs.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitReadPropExpr(ast, context) {\n return this.transformExpr(new ReadPropExpr(ast.receiver.visitExpression(this, context), ast.name, ast.type, ast.sourceSpan), context);\n }\n visitReadKeyExpr(ast, context) {\n return this.transformExpr(new ReadKeyExpr(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralArrayExpr(ast, context) {\n return this.transformExpr(new LiteralArrayExpr(this.visitAllExpressions(ast.entries, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralMapExpr(ast, context) {\n const entries = ast.entries.map((entry) => new LiteralMapEntry(entry.key, entry.value.visitExpression(this, context), entry.quoted));\n const mapType = new MapType(ast.valueType);\n return this.transformExpr(new LiteralMapExpr(entries, mapType, ast.sourceSpan), context);\n }\n visitCommaExpr(ast, context) {\n return this.transformExpr(new CommaExpr(this.visitAllExpressions(ast.parts, context), ast.sourceSpan), context);\n }\n visitAllExpressions(exprs, context) {\n return exprs.map(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n const value = stmt.value && stmt.value.visitExpression(this, context);\n return this.transformStmt(new DeclareVarStmt(stmt.name, value, stmt.type, stmt.modifiers, stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitDeclareFunctionStmt(stmt, context) {\n return this.transformStmt(new DeclareFunctionStmt(stmt.name, stmt.params, this.visitAllStatements(stmt.statements, context), stmt.type, stmt.modifiers, stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitExpressionStmt(stmt, context) {\n return this.transformStmt(new ExpressionStatement(stmt.expr.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitReturnStmt(stmt, context) {\n return this.transformStmt(new ReturnStatement(stmt.value.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitDeclareClassStmt(stmt, context) {\n const parent = stmt.parent.visitExpression(this, context);\n const getters = stmt.getters.map(getter => new ClassGetter(getter.name, this.visitAllStatements(getter.body, context), getter.type, getter.modifiers));\n const ctorMethod = stmt.constructorMethod &&\n new ClassMethod(stmt.constructorMethod.name, stmt.constructorMethod.params, this.visitAllStatements(stmt.constructorMethod.body, context), stmt.constructorMethod.type, stmt.constructorMethod.modifiers);\n const methods = stmt.methods.map(method => new ClassMethod(method.name, method.params, this.visitAllStatements(method.body, context), method.type, method.modifiers));\n return this.transformStmt(new ClassStmt(stmt.name, parent, stmt.fields, getters, ctorMethod, methods, stmt.modifiers, stmt.sourceSpan), context);\n }\n visitIfStmt(stmt, context) {\n return this.transformStmt(new IfStmt(stmt.condition.visitExpression(this, context), this.visitAllStatements(stmt.trueCase, context), this.visitAllStatements(stmt.falseCase, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitTryCatchStmt(stmt, context) {\n return this.transformStmt(new TryCatchStmt(this.visitAllStatements(stmt.bodyStmts, context), this.visitAllStatements(stmt.catchStmts, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitThrowStmt(stmt, context) {\n return this.transformStmt(new ThrowStmt(stmt.error.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitAllStatements(stmts, context) {\n return stmts.map(stmt => stmt.visitStatement(this, context));\n }\n}\nclass RecursiveAstVisitor {\n visitType(ast, context) {\n return ast;\n }\n visitExpression(ast, context) {\n if (ast.type) {\n ast.type.visitType(this, context);\n }\n return ast;\n }\n visitBuiltinType(type, context) {\n return this.visitType(type, context);\n }\n visitExpressionType(type, context) {\n type.value.visitExpression(this, context);\n if (type.typeParams !== null) {\n type.typeParams.forEach(param => this.visitType(param, context));\n }\n return this.visitType(type, context);\n }\n visitArrayType(type, context) {\n return this.visitType(type, context);\n }\n visitMapType(type, context) {\n return this.visitType(type, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return ast;\n }\n visitTypeofExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitReadVarExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitWriteVarExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWriteKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWritePropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeMethodExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeFunctionExpr(ast, context) {\n ast.fn.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitInstantiateExpr(ast, context) {\n ast.classExpr.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitExternalExpr(ast, context) {\n if (ast.typeParams) {\n ast.typeParams.forEach(type => type.visitType(this, context));\n }\n return this.visitExpression(ast, context);\n }\n visitConditionalExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n ast.trueCase.visitExpression(this, context);\n ast.falseCase.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitNotExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitAssertNotNullExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitCastExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitFunctionExpr(ast, context) {\n this.visitAllStatements(ast.statements, context);\n return this.visitExpression(ast, context);\n }\n visitUnaryOperatorExpr(ast, context) {\n ast.expr.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitBinaryOperatorExpr(ast, context) {\n ast.lhs.visitExpression(this, context);\n ast.rhs.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadPropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralArrayExpr(ast, context) {\n this.visitAllExpressions(ast.entries, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralMapExpr(ast, context) {\n ast.entries.forEach((entry) => entry.value.visitExpression(this, context));\n return this.visitExpression(ast, context);\n }\n visitCommaExpr(ast, context) {\n this.visitAllExpressions(ast.parts, context);\n return this.visitExpression(ast, context);\n }\n visitAllExpressions(exprs, context) {\n exprs.forEach(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n if (stmt.value) {\n stmt.value.visitExpression(this, context);\n }\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitDeclareFunctionStmt(stmt, context) {\n this.visitAllStatements(stmt.statements, context);\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitExpressionStmt(stmt, context) {\n stmt.expr.visitExpression(this, context);\n return stmt;\n }\n visitReturnStmt(stmt, context) {\n stmt.value.visitExpression(this, context);\n return stmt;\n }\n visitDeclareClassStmt(stmt, context) {\n stmt.parent.visitExpression(this, context);\n stmt.getters.forEach(getter => this.visitAllStatements(getter.body, context));\n if (stmt.constructorMethod) {\n this.visitAllStatements(stmt.constructorMethod.body, context);\n }\n stmt.methods.forEach(method => this.visitAllStatements(method.body, context));\n return stmt;\n }\n visitIfStmt(stmt, context) {\n stmt.condition.visitExpression(this, context);\n this.visitAllStatements(stmt.trueCase, context);\n this.visitAllStatements(stmt.falseCase, context);\n return stmt;\n }\n visitTryCatchStmt(stmt, context) {\n this.visitAllStatements(stmt.bodyStmts, context);\n this.visitAllStatements(stmt.catchStmts, context);\n return stmt;\n }\n visitThrowStmt(stmt, context) {\n stmt.error.visitExpression(this, context);\n return stmt;\n }\n visitAllStatements(stmts, context) {\n stmts.forEach(stmt => stmt.visitStatement(this, context));\n }\n}\nfunction findReadVarNames(stmts) {\n const visitor = new _ReadVarVisitor();\n visitor.visitAllStatements(stmts, null);\n return visitor.varNames;\n}\nclass _ReadVarVisitor extends RecursiveAstVisitor {\n constructor() {\n super(...arguments);\n this.varNames = new Set();\n }\n visitDeclareFunctionStmt(stmt, context) {\n // Don't descend into nested functions\n return stmt;\n }\n visitDeclareClassStmt(stmt, context) {\n // Don't descend into nested classes\n return stmt;\n }\n visitReadVarExpr(ast, context) {\n if (ast.name) {\n this.varNames.add(ast.name);\n }\n return null;\n }\n}\nfunction collectExternalReferences(stmts) {\n const visitor = new _FindExternalReferencesVisitor();\n visitor.visitAllStatements(stmts, null);\n return visitor.externalReferences;\n}\nclass _FindExternalReferencesVisitor extends RecursiveAstVisitor {\n constructor() {\n super(...arguments);\n this.externalReferences = [];\n }\n visitExternalExpr(e, context) {\n this.externalReferences.push(e.value);\n return super.visitExternalExpr(e, context);\n }\n}\nfunction applySourceSpanToStatementIfNeeded(stmt, sourceSpan) {\n if (!sourceSpan) {\n return stmt;\n }\n const transformer = new _ApplySourceSpanTransformer(sourceSpan);\n return stmt.visitStatement(transformer, null);\n}\nfunction applySourceSpanToExpressionIfNeeded(expr, sourceSpan) {\n if (!sourceSpan) {\n return expr;\n }\n const transformer = new _ApplySourceSpanTransformer(sourceSpan);\n return expr.visitExpression(transformer, null);\n}\nclass _ApplySourceSpanTransformer extends AstTransformer {\n constructor(sourceSpan) {\n super();\n this.sourceSpan = sourceSpan;\n }\n _clone(obj) {\n const clone = Object.create(obj.constructor.prototype);\n for (let prop of Object.keys(obj)) {\n clone[prop] = obj[prop];\n }\n return clone;\n }\n transformExpr(expr, context) {\n if (!expr.sourceSpan) {\n expr = this._clone(expr);\n expr.sourceSpan = this.sourceSpan;\n }\n return expr;\n }\n transformStmt(stmt, context) {\n if (!stmt.sourceSpan) {\n stmt = this._clone(stmt);\n stmt.sourceSpan = this.sourceSpan;\n }\n return stmt;\n }\n}\nfunction leadingComment(text, multiline = false, trailingNewline = true) {\n return new LeadingComment(text, multiline, trailingNewline);\n}\nfunction jsDocComment(tags = []) {\n return new JSDocComment(tags);\n}\nfunction variable(name, type, sourceSpan) {\n return new ReadVarExpr(name, type, sourceSpan);\n}\nfunction importExpr(id, typeParams = null, sourceSpan) {\n return new ExternalExpr(id, null, typeParams, sourceSpan);\n}\nfunction importType(id, typeParams, typeModifiers) {\n return id != null ? expressionType(importExpr(id, typeParams, null), typeModifiers) : null;\n}\nfunction expressionType(expr, typeModifiers, typeParams) {\n return new ExpressionType(expr, typeModifiers, typeParams);\n}\nfunction typeofExpr(expr) {\n return new TypeofExpr(expr);\n}\nfunction literalArr(values, type, sourceSpan) {\n return new LiteralArrayExpr(values, type, sourceSpan);\n}\nfunction literalMap(values, type = null) {\n return new LiteralMapExpr(values.map(e => new LiteralMapEntry(e.key, e.value, e.quoted)), type, null);\n}\nfunction unary(operator, expr, type, sourceSpan) {\n return new UnaryOperatorExpr(operator, expr, type, sourceSpan);\n}\nfunction not(expr, sourceSpan) {\n return new NotExpr(expr, sourceSpan);\n}\nfunction assertNotNull(expr, sourceSpan) {\n return new AssertNotNull(expr, sourceSpan);\n}\nfunction fn(params, body, type, sourceSpan, name) {\n return new FunctionExpr(params, body, type, sourceSpan, name);\n}\nfunction ifStmt(condition, thenClause, elseClause, sourceSpan, leadingComments) {\n return new IfStmt(condition, thenClause, elseClause, sourceSpan, leadingComments);\n}\nfunction literal(value, type, sourceSpan) {\n return new LiteralExpr(value, type, sourceSpan);\n}\nfunction localizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan) {\n return new LocalizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan);\n}\nfunction isNull(exp) {\n return exp instanceof LiteralExpr && exp.value === null;\n}\n/*\n * Serializes a `Tag` into a string.\n * Returns a string like \" @foo {bar} baz\" (note the leading whitespace before `@foo`).\n */\nfunction tagToString(tag) {\n let out = '';\n if (tag.tagName) {\n out += ` @${tag.tagName}`;\n }\n if (tag.text) {\n if (tag.text.match(/\\/\\*|\\*\\//)) {\n throw new Error('JSDoc text cannot contain \"/*\" and \"*/\"');\n }\n out += ' ' + tag.text.replace(/@/g, '\\\\@');\n }\n return out;\n}\nfunction serializeTags(tags) {\n if (tags.length === 0)\n return '';\n if (tags.length === 1 && tags[0].tagName && !tags[0].text) {\n // The JSDOC comment is a single simple tag: e.g `/** @tagname */`.\n return `*${tagToString(tags[0])} `;\n }\n let out = '*\\n';\n for (const tag of tags) {\n out += ' *';\n // If the tagToString is multi-line, insert \" * \" prefixes on lines.\n out += tagToString(tag).replace(/\\n/g, '\\n * ');\n out += '\\n';\n }\n out += ' ';\n return out;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction splitAtColon(input, defaultValues) {\n return _splitAt(input, ':', defaultValues);\n}\nfunction splitAtPeriod(input, defaultValues) {\n return _splitAt(input, '.', defaultValues);\n}\nfunction _splitAt(input, character, defaultValues) {\n const characterIndex = input.indexOf(character);\n if (characterIndex == -1)\n return defaultValues;\n return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()];\n}\nfunction visitValue(value, visitor, context) {\n if (Array.isArray(value)) {\n return visitor.visitArray(value, context);\n }\n if (isStrictStringMap(value)) {\n return visitor.visitStringMap(value, context);\n }\n if (value == null || typeof value == 'string' || typeof value == 'number' ||\n typeof value == 'boolean') {\n return visitor.visitPrimitive(value, context);\n }\n return visitor.visitOther(value, context);\n}\nfunction isDefined(val) {\n return val !== null && val !== undefined;\n}\nfunction noUndefined(val) {\n return val === undefined ? null : val;\n}\nclass ValueTransformer {\n visitArray(arr, context) {\n return arr.map(value => visitValue(value, this, context));\n }\n visitStringMap(map, context) {\n const result = {};\n Object.keys(map).forEach(key => {\n result[key] = visitValue(map[key], this, context);\n });\n return result;\n }\n visitPrimitive(value, context) {\n return value;\n }\n visitOther(value, context) {\n return value;\n }\n}\nconst SyncAsync = {\n assertSync: (value) => {\n if (isPromise(value)) {\n throw new Error(`Illegal state: value cannot be a promise`);\n }\n return value;\n },\n then: (value, cb) => {\n return isPromise(value) ? value.then(cb) : cb(value);\n },\n all: (syncAsyncValues) => {\n return syncAsyncValues.some(isPromise) ? Promise.all(syncAsyncValues) : syncAsyncValues;\n }\n};\nfunction error(msg) {\n throw new Error(`Internal Error: ${msg}`);\n}\nfunction syntaxError(msg, parseErrors) {\n const error = Error(msg);\n error[ERROR_SYNTAX_ERROR] = true;\n if (parseErrors)\n error[ERROR_PARSE_ERRORS] = parseErrors;\n return error;\n}\nconst ERROR_SYNTAX_ERROR = 'ngSyntaxError';\nconst ERROR_PARSE_ERRORS = 'ngParseErrors';\nfunction isSyntaxError(error) {\n return error[ERROR_SYNTAX_ERROR];\n}\nfunction getParseErrors(error) {\n return error[ERROR_PARSE_ERRORS] || [];\n}\n// Escape characters that have a special meaning in Regular Expressions\nfunction escapeRegExp(s) {\n return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\nconst STRING_MAP_PROTO = Object.getPrototypeOf({});\nfunction isStrictStringMap(obj) {\n return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\nfunction utf8Encode(str) {\n let encoded = [];\n for (let index = 0; index < str.length; index++) {\n let codePoint = str.charCodeAt(index);\n // decode surrogate\n // see https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n if (codePoint >= 0xd800 && codePoint <= 0xdbff && str.length > (index + 1)) {\n const low = str.charCodeAt(index + 1);\n if (low >= 0xdc00 && low <= 0xdfff) {\n index++;\n codePoint = ((codePoint - 0xd800) << 10) + low - 0xdc00 + 0x10000;\n }\n }\n if (codePoint <= 0x7f) {\n encoded.push(codePoint);\n }\n else if (codePoint <= 0x7ff) {\n encoded.push(((codePoint >> 6) & 0x1F) | 0xc0, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0xffff) {\n encoded.push((codePoint >> 12) | 0xe0, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0x1fffff) {\n encoded.push(((codePoint >> 18) & 0x07) | 0xf0, ((codePoint >> 12) & 0x3f) | 0x80, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n }\n return encoded;\n}\nfunction stringify(token) {\n if (typeof token === 'string') {\n return token;\n }\n if (Array.isArray(token)) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n if (token == null) {\n return '' + token;\n }\n if (token.overriddenName) {\n return `${token.overriddenName}`;\n }\n if (token.name) {\n return `${token.name}`;\n }\n if (!token.toString) {\n return 'object';\n }\n // WARNING: do not try to `JSON.stringify(token)` here\n // see https://github.com/angular/angular/issues/23440\n const res = token.toString();\n if (res == null) {\n return '' + res;\n }\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n/**\n * Lazily retrieves the reference value from a forwardRef.\n */\nfunction resolveForwardRef(type) {\n if (typeof type === 'function' && type.hasOwnProperty('__forward_ref__')) {\n return type();\n }\n else {\n return type;\n }\n}\n/**\n * Determine if the argument is shaped like a Promise\n */\nfunction isPromise(obj) {\n // allow any Promise/A+ compliant thenable.\n // It's up to the caller to ensure that obj.then conforms to the spec\n return !!obj && typeof obj.then === 'function';\n}\nclass Version {\n constructor(full) {\n this.full = full;\n const splits = full.split('.');\n this.major = splits[0];\n this.minor = splits[1];\n this.patch = splits.slice(2).join('.');\n }\n}\nconst __window = typeof window !== 'undefined' && window;\nconst __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nconst __global = typeof global !== 'undefined' && global;\n// Check __global first, because in Node tests both __global and __window may be defined and _global\n// should be __global in that case.\nconst _global = __global || __window || __self;\nfunction newArray(size, value) {\n const list = [];\n for (let i = 0; i < size; i++) {\n list.push(value);\n }\n return list;\n}\n/**\n * Partitions a given array into 2 arrays, based on a boolean value returned by the condition\n * function.\n *\n * @param arr Input array that should be partitioned\n * @param conditionFn Condition function that is called for each item in a given array and returns a\n * boolean value.\n */\nfunction partitionArray(arr, conditionFn) {\n const truthy = [];\n const falsy = [];\n for (const item of arr) {\n (conditionFn(item) ? truthy : falsy).push(item);\n }\n return [truthy, falsy];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CONSTANT_PREFIX = '_c';\n/**\n * `ConstantPool` tries to reuse literal factories when two or more literals are identical.\n * We determine whether literals are identical by creating a key out of their AST using the\n * `KeyVisitor`. This constant is used to replace dynamic expressions which can't be safely\n * converted into a key. E.g. given an expression `{foo: bar()}`, since we don't know what\n * the result of `bar` will be, we create a key that looks like `{foo: }`. Note\n * that we use a variable, rather than something like `null` in order to avoid collisions.\n */\nconst UNKNOWN_VALUE_KEY = variable('');\n/**\n * Context to use when producing a key.\n *\n * This ensures we see the constant not the reference variable when producing\n * a key.\n */\nconst KEY_CONTEXT = {};\n/**\n * Generally all primitive values are excluded from the `ConstantPool`, but there is an exclusion\n * for strings that reach a certain length threshold. This constant defines the length threshold for\n * strings.\n */\nconst POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS = 50;\n/**\n * A node that is a place-holder that allows the node to be replaced when the actual\n * node is known.\n *\n * This allows the constant pool to change an expression from a direct reference to\n * a constant to a shared constant. It returns a fix-up node that is later allowed to\n * change the referenced expression.\n */\nclass FixupExpression extends Expression {\n constructor(resolved) {\n super(resolved.type);\n this.resolved = resolved;\n this.original = resolved;\n }\n visitExpression(visitor, context) {\n if (context === KEY_CONTEXT) {\n // When producing a key we want to traverse the constant not the\n // variable used to refer to it.\n return this.original.visitExpression(visitor, context);\n }\n else {\n return this.resolved.visitExpression(visitor, context);\n }\n }\n isEquivalent(e) {\n return e instanceof FixupExpression && this.resolved.isEquivalent(e.resolved);\n }\n isConstant() {\n return true;\n }\n fixup(expression) {\n this.resolved = expression;\n this.shared = true;\n }\n}\n/**\n * A constant pool allows a code emitter to share constant in an output context.\n *\n * The constant pool also supports sharing access to ivy definitions references.\n */\nclass ConstantPool {\n constructor(isClosureCompilerEnabled = false) {\n this.isClosureCompilerEnabled = isClosureCompilerEnabled;\n this.statements = [];\n this.literals = new Map();\n this.literalFactories = new Map();\n this.injectorDefinitions = new Map();\n this.directiveDefinitions = new Map();\n this.componentDefinitions = new Map();\n this.pipeDefinitions = new Map();\n this.nextNameIndex = 0;\n }\n getConstLiteral(literal, forceShared) {\n if ((literal instanceof LiteralExpr && !isLongStringLiteral(literal)) ||\n literal instanceof FixupExpression) {\n // Do no put simple literals into the constant pool or try to produce a constant for a\n // reference to a constant.\n return literal;\n }\n const key = this.keyOf(literal);\n let fixup = this.literals.get(key);\n let newValue = false;\n if (!fixup) {\n fixup = new FixupExpression(literal);\n this.literals.set(key, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n // Replace the expression with a variable\n const name = this.freshName();\n let definition;\n let usage;\n if (this.isClosureCompilerEnabled && isLongStringLiteral(literal)) {\n // For string literals, Closure will **always** inline the string at\n // **all** usages, duplicating it each time. For large strings, this\n // unnecessarily bloats bundle size. To work around this restriction, we\n // wrap the string in a function, and call that function for each usage.\n // This tricks Closure into using inline logic for functions instead of\n // string literals. Function calls are only inlined if the body is small\n // enough to be worth it. By doing this, very large strings will be\n // shared across multiple usages, rather than duplicating the string at\n // each usage site.\n //\n // const myStr = function() { return \"very very very long string\"; };\n // const usage1 = myStr();\n // const usage2 = myStr();\n definition = variable(name).set(new FunctionExpr([], // Params.\n [\n // Statements.\n new ReturnStatement(literal),\n ]));\n usage = variable(name).callFn([]);\n }\n else {\n // Just declare and use the variable directly, without a function call\n // indirection. This saves a few bytes and avoids an unncessary call.\n definition = variable(name).set(literal);\n usage = variable(name);\n }\n this.statements.push(definition.toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]));\n fixup.fixup(usage);\n }\n return fixup;\n }\n getDefinition(type, kind, ctx, forceShared = false) {\n const definitions = this.definitionsOf(kind);\n let fixup = definitions.get(type);\n let newValue = false;\n if (!fixup) {\n const property = this.propertyNameOf(kind);\n fixup = new FixupExpression(ctx.importExpr(type).prop(property));\n definitions.set(type, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n const name = this.freshName();\n this.statements.push(variable(name).set(fixup.resolved).toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]));\n fixup.fixup(variable(name));\n }\n return fixup;\n }\n getLiteralFactory(literal) {\n // Create a pure function that builds an array of a mix of constant and variable expressions\n if (literal instanceof LiteralArrayExpr) {\n const argumentsForKey = literal.entries.map(e => e.isConstant() ? e : UNKNOWN_VALUE_KEY);\n const key = this.keyOf(literalArr(argumentsForKey));\n return this._getLiteralFactory(key, literal.entries, entries => literalArr(entries));\n }\n else {\n const expressionForKey = literalMap(literal.entries.map(e => ({\n key: e.key,\n value: e.value.isConstant() ? e.value : UNKNOWN_VALUE_KEY,\n quoted: e.quoted\n })));\n const key = this.keyOf(expressionForKey);\n return this._getLiteralFactory(key, literal.entries.map(e => e.value), entries => literalMap(entries.map((value, index) => ({\n key: literal.entries[index].key,\n value,\n quoted: literal.entries[index].quoted\n }))));\n }\n }\n _getLiteralFactory(key, values, resultMap) {\n let literalFactory = this.literalFactories.get(key);\n const literalFactoryArguments = values.filter((e => !e.isConstant()));\n if (!literalFactory) {\n const resultExpressions = values.map((e, index) => e.isConstant() ? this.getConstLiteral(e, true) : variable(`a${index}`));\n const parameters = resultExpressions.filter(isVariable).map(e => new FnParam(e.name, DYNAMIC_TYPE));\n const pureFunctionDeclaration = fn(parameters, [new ReturnStatement(resultMap(resultExpressions))], INFERRED_TYPE);\n const name = this.freshName();\n this.statements.push(variable(name).set(pureFunctionDeclaration).toDeclStmt(INFERRED_TYPE, [\n StmtModifier.Final\n ]));\n literalFactory = variable(name);\n this.literalFactories.set(key, literalFactory);\n }\n return { literalFactory, literalFactoryArguments };\n }\n /**\n * Produce a unique name.\n *\n * The name might be unique among different prefixes if any of the prefixes end in\n * a digit so the prefix should be a constant string (not based on user input) and\n * must not end in a digit.\n */\n uniqueName(prefix) {\n return `${prefix}${this.nextNameIndex++}`;\n }\n definitionsOf(kind) {\n switch (kind) {\n case 2 /* Component */:\n return this.componentDefinitions;\n case 1 /* Directive */:\n return this.directiveDefinitions;\n case 0 /* Injector */:\n return this.injectorDefinitions;\n case 3 /* Pipe */:\n return this.pipeDefinitions;\n }\n error(`Unknown definition kind ${kind}`);\n return this.componentDefinitions;\n }\n propertyNameOf(kind) {\n switch (kind) {\n case 2 /* Component */:\n return 'ɵcmp';\n case 1 /* Directive */:\n return 'ɵdir';\n case 0 /* Injector */:\n return 'ɵinj';\n case 3 /* Pipe */:\n return 'ɵpipe';\n }\n error(`Unknown definition kind ${kind}`);\n return '';\n }\n freshName() {\n return this.uniqueName(CONSTANT_PREFIX);\n }\n keyOf(expression) {\n return expression.visitExpression(new KeyVisitor(), KEY_CONTEXT);\n }\n}\n/**\n * Visitor used to determine if 2 expressions are equivalent and can be shared in the\n * `ConstantPool`.\n *\n * When the id (string) generated by the visitor is equal, expressions are considered equivalent.\n */\nclass KeyVisitor {\n constructor() {\n this.visitWrappedNodeExpr = invalid;\n this.visitWriteVarExpr = invalid;\n this.visitWriteKeyExpr = invalid;\n this.visitWritePropExpr = invalid;\n this.visitInvokeMethodExpr = invalid;\n this.visitInvokeFunctionExpr = invalid;\n this.visitInstantiateExpr = invalid;\n this.visitConditionalExpr = invalid;\n this.visitNotExpr = invalid;\n this.visitAssertNotNullExpr = invalid;\n this.visitCastExpr = invalid;\n this.visitFunctionExpr = invalid;\n this.visitUnaryOperatorExpr = invalid;\n this.visitBinaryOperatorExpr = invalid;\n this.visitReadPropExpr = invalid;\n this.visitReadKeyExpr = invalid;\n this.visitCommaExpr = invalid;\n this.visitLocalizedString = invalid;\n }\n visitLiteralExpr(ast) {\n return `${typeof ast.value === 'string' ? '\"' + ast.value + '\"' : ast.value}`;\n }\n visitLiteralArrayExpr(ast, context) {\n return `[${ast.entries.map(entry => entry.visitExpression(this, context)).join(',')}]`;\n }\n visitLiteralMapExpr(ast, context) {\n const mapKey = (entry) => {\n const quote = entry.quoted ? '\"' : '';\n return `${quote}${entry.key}${quote}`;\n };\n const mapEntry = (entry) => `${mapKey(entry)}:${entry.value.visitExpression(this, context)}`;\n return `{${ast.entries.map(mapEntry).join(',')}`;\n }\n visitExternalExpr(ast) {\n return ast.value.moduleName ? `EX:${ast.value.moduleName}:${ast.value.name}` :\n `EX:${ast.value.runtime.name}`;\n }\n visitReadVarExpr(node) {\n return `VAR:${node.name}`;\n }\n visitTypeofExpr(node, context) {\n return `TYPEOF:${node.expr.visitExpression(this, context)}`;\n }\n}\nfunction invalid(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction isVariable(e) {\n return e instanceof ReadVarExpr;\n}\nfunction isLongStringLiteral(expr) {\n return expr instanceof LiteralExpr && typeof expr.value === 'string' &&\n expr.value.length >= POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CORE = '@angular/core';\nclass Identifiers {\n}\nIdentifiers.ANALYZE_FOR_ENTRY_COMPONENTS = {\n name: 'ANALYZE_FOR_ENTRY_COMPONENTS',\n moduleName: CORE,\n};\nIdentifiers.ElementRef = { name: 'ElementRef', moduleName: CORE };\nIdentifiers.NgModuleRef = { name: 'NgModuleRef', moduleName: CORE };\nIdentifiers.ViewContainerRef = { name: 'ViewContainerRef', moduleName: CORE };\nIdentifiers.ChangeDetectorRef = {\n name: 'ChangeDetectorRef',\n moduleName: CORE,\n};\nIdentifiers.QueryList = { name: 'QueryList', moduleName: CORE };\nIdentifiers.TemplateRef = { name: 'TemplateRef', moduleName: CORE };\nIdentifiers.Renderer2 = { name: 'Renderer2', moduleName: CORE };\nIdentifiers.CodegenComponentFactoryResolver = {\n name: 'ɵCodegenComponentFactoryResolver',\n moduleName: CORE,\n};\nIdentifiers.ComponentFactoryResolver = {\n name: 'ComponentFactoryResolver',\n moduleName: CORE,\n};\nIdentifiers.ComponentFactory = { name: 'ComponentFactory', moduleName: CORE };\nIdentifiers.ComponentRef = { name: 'ComponentRef', moduleName: CORE };\nIdentifiers.NgModuleFactory = { name: 'NgModuleFactory', moduleName: CORE };\nIdentifiers.createModuleFactory = {\n name: 'ɵcmf',\n moduleName: CORE,\n};\nIdentifiers.moduleDef = {\n name: 'ɵmod',\n moduleName: CORE,\n};\nIdentifiers.moduleProviderDef = {\n name: 'ɵmpd',\n moduleName: CORE,\n};\nIdentifiers.RegisterModuleFactoryFn = {\n name: 'ɵregisterModuleFactory',\n moduleName: CORE,\n};\nIdentifiers.inject = { name: 'ɵɵinject', moduleName: CORE };\nIdentifiers.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE };\nIdentifiers.INJECTOR = { name: 'INJECTOR', moduleName: CORE };\nIdentifiers.Injector = { name: 'Injector', moduleName: CORE };\nIdentifiers.ɵɵdefineInjectable = { name: 'ɵɵdefineInjectable', moduleName: CORE };\nIdentifiers.InjectableDef = { name: 'ɵɵInjectableDef', moduleName: CORE };\nIdentifiers.ViewEncapsulation = {\n name: 'ViewEncapsulation',\n moduleName: CORE,\n};\nIdentifiers.ChangeDetectionStrategy = {\n name: 'ChangeDetectionStrategy',\n moduleName: CORE,\n};\nIdentifiers.SecurityContext = {\n name: 'SecurityContext',\n moduleName: CORE,\n};\nIdentifiers.LOCALE_ID = { name: 'LOCALE_ID', moduleName: CORE };\nIdentifiers.TRANSLATIONS_FORMAT = {\n name: 'TRANSLATIONS_FORMAT',\n moduleName: CORE,\n};\nIdentifiers.inlineInterpolate = {\n name: 'ɵinlineInterpolate',\n moduleName: CORE,\n};\nIdentifiers.interpolate = { name: 'ɵinterpolate', moduleName: CORE };\nIdentifiers.EMPTY_ARRAY = { name: 'ɵEMPTY_ARRAY', moduleName: CORE };\nIdentifiers.EMPTY_MAP = { name: 'ɵEMPTY_MAP', moduleName: CORE };\nIdentifiers.Renderer = { name: 'Renderer', moduleName: CORE };\nIdentifiers.viewDef = { name: 'ɵvid', moduleName: CORE };\nIdentifiers.elementDef = { name: 'ɵeld', moduleName: CORE };\nIdentifiers.anchorDef = { name: 'ɵand', moduleName: CORE };\nIdentifiers.textDef = { name: 'ɵted', moduleName: CORE };\nIdentifiers.directiveDef = { name: 'ɵdid', moduleName: CORE };\nIdentifiers.providerDef = { name: 'ɵprd', moduleName: CORE };\nIdentifiers.queryDef = { name: 'ɵqud', moduleName: CORE };\nIdentifiers.pureArrayDef = { name: 'ɵpad', moduleName: CORE };\nIdentifiers.pureObjectDef = { name: 'ɵpod', moduleName: CORE };\nIdentifiers.purePipeDef = { name: 'ɵppd', moduleName: CORE };\nIdentifiers.pipeDef = { name: 'ɵpid', moduleName: CORE };\nIdentifiers.nodeValue = { name: 'ɵnov', moduleName: CORE };\nIdentifiers.ngContentDef = { name: 'ɵncd', moduleName: CORE };\nIdentifiers.unwrapValue = { name: 'ɵunv', moduleName: CORE };\nIdentifiers.createRendererType2 = { name: 'ɵcrt', moduleName: CORE };\n// type only\nIdentifiers.RendererType2 = {\n name: 'RendererType2',\n moduleName: CORE,\n};\n// type only\nIdentifiers.ViewDefinition = {\n name: 'ɵViewDefinition',\n moduleName: CORE,\n};\nIdentifiers.createComponentFactory = { name: 'ɵccf', moduleName: CORE };\nIdentifiers.setClassMetadata = { name: 'ɵsetClassMetadata', moduleName: CORE };\nfunction createTokenForReference(reference) {\n return { identifier: { reference: reference } };\n}\nfunction createTokenForExternalReference(reflector, reference) {\n return createTokenForReference(reflector.resolveExternalReference(reference));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A token representing the a reference to a static type.\n *\n * This token is unique for a filePath and name and can be used as a hash table key.\n */\nclass StaticSymbol {\n constructor(filePath, name, members) {\n this.filePath = filePath;\n this.name = name;\n this.members = members;\n }\n assertNoMembers() {\n if (this.members.length) {\n throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`);\n }\n }\n}\n/**\n * A cache of static symbol used by the StaticReflector to return the same symbol for the\n * same symbol values.\n */\nclass StaticSymbolCache {\n constructor() {\n this.cache = new Map();\n }\n get(declarationFile, name, members) {\n members = members || [];\n const memberSuffix = members.length ? `.${members.join('.')}` : '';\n const key = `\"${declarationFile}\".${name}${memberSuffix}`;\n let result = this.cache.get(key);\n if (!result) {\n result = new StaticSymbol(declarationFile, name, members);\n this.cache.set(key, result);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// group 0: \"[prop] or (event) or @trigger\"\n// group 1: \"prop\" from \"[prop]\"\n// group 2: \"event\" from \"(event)\"\n// group 3: \"@trigger\" from \"@trigger\"\nconst HOST_REG_EXP = /^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;\nfunction sanitizeIdentifier(name) {\n return name.replace(/\\W/g, '_');\n}\nlet _anonymousTypeIndex = 0;\nfunction identifierName(compileIdentifier) {\n if (!compileIdentifier || !compileIdentifier.reference) {\n return null;\n }\n const ref = compileIdentifier.reference;\n if (ref instanceof StaticSymbol) {\n return ref.name;\n }\n if (ref['__anonymousType']) {\n return ref['__anonymousType'];\n }\n let identifier = stringify(ref);\n if (identifier.indexOf('(') >= 0) {\n // case: anonymous functions!\n identifier = `anonymous_${_anonymousTypeIndex++}`;\n ref['__anonymousType'] = identifier;\n }\n else {\n identifier = sanitizeIdentifier(identifier);\n }\n return identifier;\n}\nfunction identifierModuleUrl(compileIdentifier) {\n const ref = compileIdentifier.reference;\n if (ref instanceof StaticSymbol) {\n return ref.filePath;\n }\n // Runtime type\n return `./${stringify(ref)}`;\n}\nfunction viewClassName(compType, embeddedTemplateIndex) {\n return `View_${identifierName({ reference: compType })}_${embeddedTemplateIndex}`;\n}\nfunction rendererTypeName(compType) {\n return `RenderType_${identifierName({ reference: compType })}`;\n}\nfunction hostViewClassName(compType) {\n return `HostView_${identifierName({ reference: compType })}`;\n}\nfunction componentFactoryName(compType) {\n return `${identifierName({ reference: compType })}NgFactory`;\n}\nvar CompileSummaryKind;\n(function (CompileSummaryKind) {\n CompileSummaryKind[CompileSummaryKind[\"Pipe\"] = 0] = \"Pipe\";\n CompileSummaryKind[CompileSummaryKind[\"Directive\"] = 1] = \"Directive\";\n CompileSummaryKind[CompileSummaryKind[\"NgModule\"] = 2] = \"NgModule\";\n CompileSummaryKind[CompileSummaryKind[\"Injectable\"] = 3] = \"Injectable\";\n})(CompileSummaryKind || (CompileSummaryKind = {}));\nfunction tokenName(token) {\n return token.value != null ? sanitizeIdentifier(token.value) : identifierName(token.identifier);\n}\nfunction tokenReference(token) {\n if (token.identifier != null) {\n return token.identifier.reference;\n }\n else {\n return token.value;\n }\n}\n/**\n * Metadata about a stylesheet\n */\nclass CompileStylesheetMetadata {\n constructor({ moduleUrl, styles, styleUrls } = {}) {\n this.moduleUrl = moduleUrl || null;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n }\n}\n/**\n * Metadata regarding compilation of a template.\n */\nclass CompileTemplateMetadata {\n constructor({ encapsulation, template, templateUrl, htmlAst, styles, styleUrls, externalStylesheets, animations, ngContentSelectors, interpolation, isInline, preserveWhitespaces }) {\n this.encapsulation = encapsulation;\n this.template = template;\n this.templateUrl = templateUrl;\n this.htmlAst = htmlAst;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n this.externalStylesheets = _normalizeArray(externalStylesheets);\n this.animations = animations ? flatten(animations) : [];\n this.ngContentSelectors = ngContentSelectors || [];\n if (interpolation && interpolation.length != 2) {\n throw new Error(`'interpolation' should have a start and an end symbol.`);\n }\n this.interpolation = interpolation;\n this.isInline = isInline;\n this.preserveWhitespaces = preserveWhitespaces;\n }\n toSummary() {\n return {\n ngContentSelectors: this.ngContentSelectors,\n encapsulation: this.encapsulation,\n styles: this.styles,\n animations: this.animations\n };\n }\n}\n/**\n * Metadata regarding compilation of a directive.\n */\nclass CompileDirectiveMetadata {\n constructor({ isHost, type, isComponent, selector, exportAs, changeDetection, inputs, outputs, hostListeners, hostProperties, hostAttributes, providers, viewProviders, queries, guards, viewQueries, entryComponents, template, componentViewType, rendererType, componentFactory }) {\n this.isHost = !!isHost;\n this.type = type;\n this.isComponent = isComponent;\n this.selector = selector;\n this.exportAs = exportAs;\n this.changeDetection = changeDetection;\n this.inputs = inputs;\n this.outputs = outputs;\n this.hostListeners = hostListeners;\n this.hostProperties = hostProperties;\n this.hostAttributes = hostAttributes;\n this.providers = _normalizeArray(providers);\n this.viewProviders = _normalizeArray(viewProviders);\n this.queries = _normalizeArray(queries);\n this.guards = guards;\n this.viewQueries = _normalizeArray(viewQueries);\n this.entryComponents = _normalizeArray(entryComponents);\n this.template = template;\n this.componentViewType = componentViewType;\n this.rendererType = rendererType;\n this.componentFactory = componentFactory;\n }\n static create({ isHost, type, isComponent, selector, exportAs, changeDetection, inputs, outputs, host, providers, viewProviders, queries, guards, viewQueries, entryComponents, template, componentViewType, rendererType, componentFactory }) {\n const hostListeners = {};\n const hostProperties = {};\n const hostAttributes = {};\n if (host != null) {\n Object.keys(host).forEach(key => {\n const value = host[key];\n const matches = key.match(HOST_REG_EXP);\n if (matches === null) {\n hostAttributes[key] = value;\n }\n else if (matches[1] != null) {\n hostProperties[matches[1]] = value;\n }\n else if (matches[2] != null) {\n hostListeners[matches[2]] = value;\n }\n });\n }\n const inputsMap = {};\n if (inputs != null) {\n inputs.forEach((bindConfig) => {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n const parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n inputsMap[parts[0]] = parts[1];\n });\n }\n const outputsMap = {};\n if (outputs != null) {\n outputs.forEach((bindConfig) => {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n const parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n outputsMap[parts[0]] = parts[1];\n });\n }\n return new CompileDirectiveMetadata({\n isHost,\n type,\n isComponent: !!isComponent,\n selector,\n exportAs,\n changeDetection,\n inputs: inputsMap,\n outputs: outputsMap,\n hostListeners,\n hostProperties,\n hostAttributes,\n providers,\n viewProviders,\n queries,\n guards,\n viewQueries,\n entryComponents,\n template,\n componentViewType,\n rendererType,\n componentFactory,\n });\n }\n toSummary() {\n return {\n summaryKind: CompileSummaryKind.Directive,\n type: this.type,\n isComponent: this.isComponent,\n selector: this.selector,\n exportAs: this.exportAs,\n inputs: this.inputs,\n outputs: this.outputs,\n hostListeners: this.hostListeners,\n hostProperties: this.hostProperties,\n hostAttributes: this.hostAttributes,\n providers: this.providers,\n viewProviders: this.viewProviders,\n queries: this.queries,\n guards: this.guards,\n viewQueries: this.viewQueries,\n entryComponents: this.entryComponents,\n changeDetection: this.changeDetection,\n template: this.template && this.template.toSummary(),\n componentViewType: this.componentViewType,\n rendererType: this.rendererType,\n componentFactory: this.componentFactory\n };\n }\n}\nclass CompilePipeMetadata {\n constructor({ type, name, pure }) {\n this.type = type;\n this.name = name;\n this.pure = !!pure;\n }\n toSummary() {\n return {\n summaryKind: CompileSummaryKind.Pipe,\n type: this.type,\n name: this.name,\n pure: this.pure\n };\n }\n}\nclass CompileShallowModuleMetadata {\n}\n/**\n * Metadata regarding compilation of a module.\n */\nclass CompileNgModuleMetadata {\n constructor({ type, providers, declaredDirectives, exportedDirectives, declaredPipes, exportedPipes, entryComponents, bootstrapComponents, importedModules, exportedModules, schemas, transitiveModule, id }) {\n this.type = type || null;\n this.declaredDirectives = _normalizeArray(declaredDirectives);\n this.exportedDirectives = _normalizeArray(exportedDirectives);\n this.declaredPipes = _normalizeArray(declaredPipes);\n this.exportedPipes = _normalizeArray(exportedPipes);\n this.providers = _normalizeArray(providers);\n this.entryComponents = _normalizeArray(entryComponents);\n this.bootstrapComponents = _normalizeArray(bootstrapComponents);\n this.importedModules = _normalizeArray(importedModules);\n this.exportedModules = _normalizeArray(exportedModules);\n this.schemas = _normalizeArray(schemas);\n this.id = id || null;\n this.transitiveModule = transitiveModule || null;\n }\n toSummary() {\n const module = this.transitiveModule;\n return {\n summaryKind: CompileSummaryKind.NgModule,\n type: this.type,\n entryComponents: module.entryComponents,\n providers: module.providers,\n modules: module.modules,\n exportedDirectives: module.exportedDirectives,\n exportedPipes: module.exportedPipes\n };\n }\n}\nclass TransitiveCompileNgModuleMetadata {\n constructor() {\n this.directivesSet = new Set();\n this.directives = [];\n this.exportedDirectivesSet = new Set();\n this.exportedDirectives = [];\n this.pipesSet = new Set();\n this.pipes = [];\n this.exportedPipesSet = new Set();\n this.exportedPipes = [];\n this.modulesSet = new Set();\n this.modules = [];\n this.entryComponentsSet = new Set();\n this.entryComponents = [];\n this.providers = [];\n }\n addProvider(provider, module) {\n this.providers.push({ provider: provider, module: module });\n }\n addDirective(id) {\n if (!this.directivesSet.has(id.reference)) {\n this.directivesSet.add(id.reference);\n this.directives.push(id);\n }\n }\n addExportedDirective(id) {\n if (!this.exportedDirectivesSet.has(id.reference)) {\n this.exportedDirectivesSet.add(id.reference);\n this.exportedDirectives.push(id);\n }\n }\n addPipe(id) {\n if (!this.pipesSet.has(id.reference)) {\n this.pipesSet.add(id.reference);\n this.pipes.push(id);\n }\n }\n addExportedPipe(id) {\n if (!this.exportedPipesSet.has(id.reference)) {\n this.exportedPipesSet.add(id.reference);\n this.exportedPipes.push(id);\n }\n }\n addModule(id) {\n if (!this.modulesSet.has(id.reference)) {\n this.modulesSet.add(id.reference);\n this.modules.push(id);\n }\n }\n addEntryComponent(ec) {\n if (!this.entryComponentsSet.has(ec.componentType)) {\n this.entryComponentsSet.add(ec.componentType);\n this.entryComponents.push(ec);\n }\n }\n}\nfunction _normalizeArray(obj) {\n return obj || [];\n}\nclass ProviderMeta {\n constructor(token, { useClass, useValue, useExisting, useFactory, deps, multi }) {\n this.token = token;\n this.useClass = useClass || null;\n this.useValue = useValue;\n this.useExisting = useExisting;\n this.useFactory = useFactory || null;\n this.dependencies = deps || null;\n this.multi = !!multi;\n }\n}\nfunction flatten(list) {\n return list.reduce((flat, item) => {\n const flatItem = Array.isArray(item) ? flatten(item) : item;\n return flat.concat(flatItem);\n }, []);\n}\nfunction jitSourceUrl(url) {\n // Note: We need 3 \"/\" so that ng shows up as a separate domain\n // in the chrome dev tools.\n return url.replace(/(\\w+:\\/\\/[\\w:-]+)?(\\/+)?/, 'ng:///');\n}\nfunction templateSourceUrl(ngModuleType, compMeta, templateMeta) {\n let url;\n if (templateMeta.isInline) {\n if (compMeta.type.reference instanceof StaticSymbol) {\n // Note: a .ts file might contain multiple components with inline templates,\n // so we need to give them unique urls, as these will be used for sourcemaps.\n url = `${compMeta.type.reference.filePath}.${compMeta.type.reference.name}.html`;\n }\n else {\n url = `${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.html`;\n }\n }\n else {\n url = templateMeta.templateUrl;\n }\n return compMeta.type.reference instanceof StaticSymbol ? url : jitSourceUrl(url);\n}\nfunction sharedStylesheetJitUrl(meta, id) {\n const pathParts = meta.moduleUrl.split(/\\/\\\\/g);\n const baseName = pathParts[pathParts.length - 1];\n return jitSourceUrl(`css/${id}${baseName}.ngstyle.js`);\n}\nfunction ngModuleJitUrl(moduleMeta) {\n return jitSourceUrl(`${identifierName(moduleMeta.type)}/module.ngfactory.js`);\n}\nfunction templateJitUrl(ngModuleType, compMeta) {\n return jitSourceUrl(`${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.ngfactory.js`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CORE$1 = '@angular/core';\nclass Identifiers$1 {\n}\n/* Methods */\nIdentifiers$1.NEW_METHOD = 'factory';\nIdentifiers$1.TRANSFORM_METHOD = 'transform';\nIdentifiers$1.PATCH_DEPS = 'patchedDeps';\n/* Instructions */\nIdentifiers$1.namespaceHTML = { name: 'ɵɵnamespaceHTML', moduleName: CORE$1 };\nIdentifiers$1.namespaceMathML = { name: 'ɵɵnamespaceMathML', moduleName: CORE$1 };\nIdentifiers$1.namespaceSVG = { name: 'ɵɵnamespaceSVG', moduleName: CORE$1 };\nIdentifiers$1.element = { name: 'ɵɵelement', moduleName: CORE$1 };\nIdentifiers$1.elementStart = { name: 'ɵɵelementStart', moduleName: CORE$1 };\nIdentifiers$1.elementEnd = { name: 'ɵɵelementEnd', moduleName: CORE$1 };\nIdentifiers$1.advance = { name: 'ɵɵadvance', moduleName: CORE$1 };\nIdentifiers$1.syntheticHostProperty = { name: 'ɵɵsyntheticHostProperty', moduleName: CORE$1 };\nIdentifiers$1.syntheticHostListener = { name: 'ɵɵsyntheticHostListener', moduleName: CORE$1 };\nIdentifiers$1.attribute = { name: 'ɵɵattribute', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate1 = { name: 'ɵɵattributeInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate2 = { name: 'ɵɵattributeInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate3 = { name: 'ɵɵattributeInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate4 = { name: 'ɵɵattributeInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate5 = { name: 'ɵɵattributeInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate6 = { name: 'ɵɵattributeInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate7 = { name: 'ɵɵattributeInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate8 = { name: 'ɵɵattributeInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolateV = { name: 'ɵɵattributeInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.classProp = { name: 'ɵɵclassProp', moduleName: CORE$1 };\nIdentifiers$1.elementContainerStart = { name: 'ɵɵelementContainerStart', moduleName: CORE$1 };\nIdentifiers$1.elementContainerEnd = { name: 'ɵɵelementContainerEnd', moduleName: CORE$1 };\nIdentifiers$1.elementContainer = { name: 'ɵɵelementContainer', moduleName: CORE$1 };\nIdentifiers$1.styleMap = { name: 'ɵɵstyleMap', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate1 = { name: 'ɵɵstyleMapInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate2 = { name: 'ɵɵstyleMapInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate3 = { name: 'ɵɵstyleMapInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate4 = { name: 'ɵɵstyleMapInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate5 = { name: 'ɵɵstyleMapInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate6 = { name: 'ɵɵstyleMapInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate7 = { name: 'ɵɵstyleMapInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate8 = { name: 'ɵɵstyleMapInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolateV = { name: 'ɵɵstyleMapInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.classMap = { name: 'ɵɵclassMap', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate1 = { name: 'ɵɵclassMapInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate2 = { name: 'ɵɵclassMapInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate3 = { name: 'ɵɵclassMapInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate4 = { name: 'ɵɵclassMapInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate5 = { name: 'ɵɵclassMapInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate6 = { name: 'ɵɵclassMapInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate7 = { name: 'ɵɵclassMapInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate8 = { name: 'ɵɵclassMapInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolateV = { name: 'ɵɵclassMapInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.styleProp = { name: 'ɵɵstyleProp', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate1 = { name: 'ɵɵstylePropInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate2 = { name: 'ɵɵstylePropInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate3 = { name: 'ɵɵstylePropInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate4 = { name: 'ɵɵstylePropInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate5 = { name: 'ɵɵstylePropInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate6 = { name: 'ɵɵstylePropInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate7 = { name: 'ɵɵstylePropInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate8 = { name: 'ɵɵstylePropInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolateV = { name: 'ɵɵstylePropInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.nextContext = { name: 'ɵɵnextContext', moduleName: CORE$1 };\nIdentifiers$1.templateCreate = { name: 'ɵɵtemplate', moduleName: CORE$1 };\nIdentifiers$1.text = { name: 'ɵɵtext', moduleName: CORE$1 };\nIdentifiers$1.enableBindings = { name: 'ɵɵenableBindings', moduleName: CORE$1 };\nIdentifiers$1.disableBindings = { name: 'ɵɵdisableBindings', moduleName: CORE$1 };\nIdentifiers$1.getCurrentView = { name: 'ɵɵgetCurrentView', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate = { name: 'ɵɵtextInterpolate', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate1 = { name: 'ɵɵtextInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate2 = { name: 'ɵɵtextInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate3 = { name: 'ɵɵtextInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate4 = { name: 'ɵɵtextInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate5 = { name: 'ɵɵtextInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate6 = { name: 'ɵɵtextInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate7 = { name: 'ɵɵtextInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate8 = { name: 'ɵɵtextInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.textInterpolateV = { name: 'ɵɵtextInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.restoreView = { name: 'ɵɵrestoreView', moduleName: CORE$1 };\nIdentifiers$1.pureFunction0 = { name: 'ɵɵpureFunction0', moduleName: CORE$1 };\nIdentifiers$1.pureFunction1 = { name: 'ɵɵpureFunction1', moduleName: CORE$1 };\nIdentifiers$1.pureFunction2 = { name: 'ɵɵpureFunction2', moduleName: CORE$1 };\nIdentifiers$1.pureFunction3 = { name: 'ɵɵpureFunction3', moduleName: CORE$1 };\nIdentifiers$1.pureFunction4 = { name: 'ɵɵpureFunction4', moduleName: CORE$1 };\nIdentifiers$1.pureFunction5 = { name: 'ɵɵpureFunction5', moduleName: CORE$1 };\nIdentifiers$1.pureFunction6 = { name: 'ɵɵpureFunction6', moduleName: CORE$1 };\nIdentifiers$1.pureFunction7 = { name: 'ɵɵpureFunction7', moduleName: CORE$1 };\nIdentifiers$1.pureFunction8 = { name: 'ɵɵpureFunction8', moduleName: CORE$1 };\nIdentifiers$1.pureFunctionV = { name: 'ɵɵpureFunctionV', moduleName: CORE$1 };\nIdentifiers$1.pipeBind1 = { name: 'ɵɵpipeBind1', moduleName: CORE$1 };\nIdentifiers$1.pipeBind2 = { name: 'ɵɵpipeBind2', moduleName: CORE$1 };\nIdentifiers$1.pipeBind3 = { name: 'ɵɵpipeBind3', moduleName: CORE$1 };\nIdentifiers$1.pipeBind4 = { name: 'ɵɵpipeBind4', moduleName: CORE$1 };\nIdentifiers$1.pipeBindV = { name: 'ɵɵpipeBindV', moduleName: CORE$1 };\nIdentifiers$1.hostProperty = { name: 'ɵɵhostProperty', moduleName: CORE$1 };\nIdentifiers$1.property = { name: 'ɵɵproperty', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate = { name: 'ɵɵpropertyInterpolate', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate1 = { name: 'ɵɵpropertyInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate2 = { name: 'ɵɵpropertyInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate3 = { name: 'ɵɵpropertyInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate4 = { name: 'ɵɵpropertyInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate5 = { name: 'ɵɵpropertyInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate6 = { name: 'ɵɵpropertyInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate7 = { name: 'ɵɵpropertyInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate8 = { name: 'ɵɵpropertyInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolateV = { name: 'ɵɵpropertyInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.i18n = { name: 'ɵɵi18n', moduleName: CORE$1 };\nIdentifiers$1.i18nAttributes = { name: 'ɵɵi18nAttributes', moduleName: CORE$1 };\nIdentifiers$1.i18nExp = { name: 'ɵɵi18nExp', moduleName: CORE$1 };\nIdentifiers$1.i18nStart = { name: 'ɵɵi18nStart', moduleName: CORE$1 };\nIdentifiers$1.i18nEnd = { name: 'ɵɵi18nEnd', moduleName: CORE$1 };\nIdentifiers$1.i18nApply = { name: 'ɵɵi18nApply', moduleName: CORE$1 };\nIdentifiers$1.i18nPostprocess = { name: 'ɵɵi18nPostprocess', moduleName: CORE$1 };\nIdentifiers$1.pipe = { name: 'ɵɵpipe', moduleName: CORE$1 };\nIdentifiers$1.projection = { name: 'ɵɵprojection', moduleName: CORE$1 };\nIdentifiers$1.projectionDef = { name: 'ɵɵprojectionDef', moduleName: CORE$1 };\nIdentifiers$1.reference = { name: 'ɵɵreference', moduleName: CORE$1 };\nIdentifiers$1.inject = { name: 'ɵɵinject', moduleName: CORE$1 };\nIdentifiers$1.injectAttribute = { name: 'ɵɵinjectAttribute', moduleName: CORE$1 };\nIdentifiers$1.injectPipeChangeDetectorRef = { name: 'ɵɵinjectPipeChangeDetectorRef', moduleName: CORE$1 };\nIdentifiers$1.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE$1 };\nIdentifiers$1.invalidFactory = { name: 'ɵɵinvalidFactory', moduleName: CORE$1 };\nIdentifiers$1.invalidFactoryDep = { name: 'ɵɵinvalidFactoryDep', moduleName: CORE$1 };\nIdentifiers$1.templateRefExtractor = { name: 'ɵɵtemplateRefExtractor', moduleName: CORE$1 };\nIdentifiers$1.resolveWindow = { name: 'ɵɵresolveWindow', moduleName: CORE$1 };\nIdentifiers$1.resolveDocument = { name: 'ɵɵresolveDocument', moduleName: CORE$1 };\nIdentifiers$1.resolveBody = { name: 'ɵɵresolveBody', moduleName: CORE$1 };\nIdentifiers$1.defineComponent = { name: 'ɵɵdefineComponent', moduleName: CORE$1 };\nIdentifiers$1.setComponentScope = { name: 'ɵɵsetComponentScope', moduleName: CORE$1 };\nIdentifiers$1.ComponentDefWithMeta = {\n name: 'ɵɵComponentDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.FactoryDef = {\n name: 'ɵɵFactoryDef',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineDirective = {\n name: 'ɵɵdefineDirective',\n moduleName: CORE$1,\n};\nIdentifiers$1.DirectiveDefWithMeta = {\n name: 'ɵɵDirectiveDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.InjectorDef = {\n name: 'ɵɵInjectorDef',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineInjector = {\n name: 'ɵɵdefineInjector',\n moduleName: CORE$1,\n};\nIdentifiers$1.NgModuleDefWithMeta = {\n name: 'ɵɵNgModuleDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.ModuleWithProviders = {\n name: 'ModuleWithProviders',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineNgModule = { name: 'ɵɵdefineNgModule', moduleName: CORE$1 };\nIdentifiers$1.setNgModuleScope = { name: 'ɵɵsetNgModuleScope', moduleName: CORE$1 };\nIdentifiers$1.PipeDefWithMeta = { name: 'ɵɵPipeDefWithMeta', moduleName: CORE$1 };\nIdentifiers$1.definePipe = { name: 'ɵɵdefinePipe', moduleName: CORE$1 };\nIdentifiers$1.queryRefresh = { name: 'ɵɵqueryRefresh', moduleName: CORE$1 };\nIdentifiers$1.viewQuery = { name: 'ɵɵviewQuery', moduleName: CORE$1 };\nIdentifiers$1.staticViewQuery = { name: 'ɵɵstaticViewQuery', moduleName: CORE$1 };\nIdentifiers$1.staticContentQuery = { name: 'ɵɵstaticContentQuery', moduleName: CORE$1 };\nIdentifiers$1.loadQuery = { name: 'ɵɵloadQuery', moduleName: CORE$1 };\nIdentifiers$1.contentQuery = { name: 'ɵɵcontentQuery', moduleName: CORE$1 };\nIdentifiers$1.NgOnChangesFeature = { name: 'ɵɵNgOnChangesFeature', moduleName: CORE$1 };\nIdentifiers$1.InheritDefinitionFeature = { name: 'ɵɵInheritDefinitionFeature', moduleName: CORE$1 };\nIdentifiers$1.CopyDefinitionFeature = { name: 'ɵɵCopyDefinitionFeature', moduleName: CORE$1 };\nIdentifiers$1.ProvidersFeature = { name: 'ɵɵProvidersFeature', moduleName: CORE$1 };\nIdentifiers$1.listener = { name: 'ɵɵlistener', moduleName: CORE$1 };\nIdentifiers$1.getFactoryOf = {\n name: 'ɵɵgetFactoryOf',\n moduleName: CORE$1,\n};\nIdentifiers$1.getInheritedFactory = {\n name: 'ɵɵgetInheritedFactory',\n moduleName: CORE$1,\n};\n// sanitization-related functions\nIdentifiers$1.sanitizeHtml = { name: 'ɵɵsanitizeHtml', moduleName: CORE$1 };\nIdentifiers$1.sanitizeStyle = { name: 'ɵɵsanitizeStyle', moduleName: CORE$1 };\nIdentifiers$1.sanitizeResourceUrl = { name: 'ɵɵsanitizeResourceUrl', moduleName: CORE$1 };\nIdentifiers$1.sanitizeScript = { name: 'ɵɵsanitizeScript', moduleName: CORE$1 };\nIdentifiers$1.sanitizeUrl = { name: 'ɵɵsanitizeUrl', moduleName: CORE$1 };\nIdentifiers$1.sanitizeUrlOrResourceUrl = { name: 'ɵɵsanitizeUrlOrResourceUrl', moduleName: CORE$1 };\nIdentifiers$1.trustConstantHtml = { name: 'ɵɵtrustConstantHtml', moduleName: CORE$1 };\nIdentifiers$1.trustConstantScript = { name: 'ɵɵtrustConstantScript', moduleName: CORE$1 };\nIdentifiers$1.trustConstantResourceUrl = { name: 'ɵɵtrustConstantResourceUrl', moduleName: CORE$1 };\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Convert an object map with `Expression` values into a `LiteralMapExpr`.\n */\nfunction mapToMapExpression(map) {\n const result = Object.keys(map).map(key => ({\n key,\n // The assertion here is because really TypeScript doesn't allow us to express that if the\n // key is present, it will have a value, but this is true in reality.\n value: map[key],\n quoted: false,\n }));\n return literalMap(result);\n}\n/**\n * Convert metadata into an `Expression` in the given `OutputContext`.\n *\n * This operation will handle arrays, references to symbols, or literal `null` or `undefined`.\n */\nfunction convertMetaToOutput(meta, ctx) {\n if (Array.isArray(meta)) {\n return literalArr(meta.map(entry => convertMetaToOutput(entry, ctx)));\n }\n if (meta instanceof StaticSymbol) {\n return ctx.importExpr(meta);\n }\n if (meta == null) {\n return literal(meta);\n }\n throw new Error(`Internal error: Unsupported or unknown metadata: ${meta}`);\n}\nfunction typeWithParameters(type, numParams) {\n if (numParams === 0) {\n return expressionType(type);\n }\n const params = [];\n for (let i = 0; i < numParams; i++) {\n params.push(DYNAMIC_TYPE);\n }\n return expressionType(type, undefined, params);\n}\nconst ANIMATE_SYMBOL_PREFIX = '@';\nfunction prepareSyntheticPropertyName(name) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}`;\n}\nfunction prepareSyntheticListenerName(name, phase) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}.${phase}`;\n}\nfunction isSyntheticPropertyOrListener(name) {\n return name.charAt(0) == ANIMATE_SYMBOL_PREFIX;\n}\nfunction getSyntheticPropertyName(name) {\n // this will strip out listener phase values...\n // @foo.start => @foo\n const i = name.indexOf('.');\n name = i > 0 ? name.substring(0, i) : name;\n if (name.charAt(0) !== ANIMATE_SYMBOL_PREFIX) {\n name = ANIMATE_SYMBOL_PREFIX + name;\n }\n return name;\n}\nfunction prepareSyntheticListenerFunctionName(name, phase) {\n return `animation_${name}_${phase}`;\n}\nfunction jitOnlyGuardedExpression(expr) {\n const ngJitMode = new ExternalExpr({ name: 'ngJitMode', moduleName: null });\n const jitFlagNotDefined = new BinaryOperatorExpr(BinaryOperator.Identical, new TypeofExpr(ngJitMode), literal('undefined'));\n const jitFlagUndefinedOrTrue = new BinaryOperatorExpr(BinaryOperator.Or, jitFlagNotDefined, ngJitMode, /* type */ undefined, \n /* sourceSpan */ undefined, true);\n return new BinaryOperatorExpr(BinaryOperator.And, jitFlagUndefinedOrTrue, expr);\n}\nfunction wrapReference(value) {\n const wrapped = new WrappedNodeExpr(value);\n return { value: wrapped, type: wrapped };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Text {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass BoundText {\n constructor(value, sourceSpan, i18n) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitBoundText(this);\n }\n}\nclass TextAttribute {\n constructor(name, value, sourceSpan, valueSpan, i18n) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTextAttribute(this);\n }\n}\nclass BoundAttribute {\n constructor(name, type, securityContext, value, unit, sourceSpan, keySpan, valueSpan, i18n) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n static fromBoundElementProperty(prop, i18n) {\n if (prop.keySpan === undefined) {\n throw new Error(`Unexpected state: keySpan must be defined for bound attributes but was not for ${prop.name}: ${prop.sourceSpan}`);\n }\n return new BoundAttribute(prop.name, prop.type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan, prop.keySpan, prop.valueSpan, i18n);\n }\n visit(visitor) {\n return visitor.visitBoundAttribute(this);\n }\n}\nclass BoundEvent {\n constructor(name, type, handler, target, phase, sourceSpan, handlerSpan) {\n this.name = name;\n this.type = type;\n this.handler = handler;\n this.target = target;\n this.phase = phase;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n return new BoundEvent(event.name, event.type, event.handler, target, phase, event.sourceSpan, event.handlerSpan);\n }\n visit(visitor) {\n return visitor.visitBoundEvent(this);\n }\n}\nclass Element {\n constructor(name, attributes, inputs, outputs, children, references, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.name = name;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.children = children;\n this.references = references;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitElement(this);\n }\n}\nclass Template {\n constructor(tagName, attributes, inputs, outputs, templateAttrs, children, references, variables, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.tagName = tagName;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.templateAttrs = templateAttrs;\n this.children = children;\n this.references = references;\n this.variables = variables;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTemplate(this);\n }\n}\nclass Content {\n constructor(selector, attributes, sourceSpan, i18n) {\n this.selector = selector;\n this.attributes = attributes;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n this.name = 'ng-content';\n }\n visit(visitor) {\n return visitor.visitContent(this);\n }\n}\nclass Variable {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitVariable(this);\n }\n}\nclass Reference {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitReference(this);\n }\n}\nclass Icu {\n constructor(vars, placeholders, sourceSpan, i18n) {\n this.vars = vars;\n this.placeholders = placeholders;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitIcu(this);\n }\n}\nclass NullVisitor {\n visitElement(element) { }\n visitTemplate(template) { }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass RecursiveVisitor {\n visitElement(element) {\n visitAll(this, element.attributes);\n visitAll(this, element.children);\n visitAll(this, element.references);\n }\n visitTemplate(template) {\n visitAll(this, template.attributes);\n visitAll(this, template.children);\n visitAll(this, template.references);\n visitAll(this, template.variables);\n }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass TransformVisitor {\n visitElement(element) {\n const newAttributes = transformAll(this, element.attributes);\n const newInputs = transformAll(this, element.inputs);\n const newOutputs = transformAll(this, element.outputs);\n const newChildren = transformAll(this, element.children);\n const newReferences = transformAll(this, element.references);\n if (newAttributes != element.attributes || newInputs != element.inputs ||\n newOutputs != element.outputs || newChildren != element.children ||\n newReferences != element.references) {\n return new Element(element.name, newAttributes, newInputs, newOutputs, newChildren, newReferences, element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n return element;\n }\n visitTemplate(template) {\n const newAttributes = transformAll(this, template.attributes);\n const newInputs = transformAll(this, template.inputs);\n const newOutputs = transformAll(this, template.outputs);\n const newTemplateAttrs = transformAll(this, template.templateAttrs);\n const newChildren = transformAll(this, template.children);\n const newReferences = transformAll(this, template.references);\n const newVariables = transformAll(this, template.variables);\n if (newAttributes != template.attributes || newInputs != template.inputs ||\n newOutputs != template.outputs || newTemplateAttrs != template.templateAttrs ||\n newChildren != template.children || newReferences != template.references ||\n newVariables != template.variables) {\n return new Template(template.tagName, newAttributes, newInputs, newOutputs, newTemplateAttrs, newChildren, newReferences, newVariables, template.sourceSpan, template.startSourceSpan, template.endSourceSpan);\n }\n return template;\n }\n visitContent(content) {\n return content;\n }\n visitVariable(variable) {\n return variable;\n }\n visitReference(reference) {\n return reference;\n }\n visitTextAttribute(attribute) {\n return attribute;\n }\n visitBoundAttribute(attribute) {\n return attribute;\n }\n visitBoundEvent(attribute) {\n return attribute;\n }\n visitText(text) {\n return text;\n }\n visitBoundText(text) {\n return text;\n }\n visitIcu(icu) {\n return icu;\n }\n}\nfunction visitAll(visitor, nodes) {\n const result = [];\n if (visitor.visit) {\n for (const node of nodes) {\n const newNode = visitor.visit(node) || node.visit(visitor);\n }\n }\n else {\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n }\n }\n return result;\n}\nfunction transformAll(visitor, nodes) {\n const result = [];\n let changed = false;\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n changed = changed || newNode != node;\n }\n return changed ? result : nodes;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Message {\n /**\n * @param nodes message AST\n * @param placeholders maps placeholder names to static content and their source spans\n * @param placeholderToMessage maps placeholder names to messages (used for nested ICU messages)\n * @param meaning\n * @param description\n * @param customId\n */\n constructor(nodes, placeholders, placeholderToMessage, meaning, description, customId) {\n this.nodes = nodes;\n this.placeholders = placeholders;\n this.placeholderToMessage = placeholderToMessage;\n this.meaning = meaning;\n this.description = description;\n this.customId = customId;\n this.id = this.customId;\n /** The ids to use if there are no custom id and if `i18nLegacyMessageIdFormat` is not empty */\n this.legacyIds = [];\n if (nodes.length) {\n this.sources = [{\n filePath: nodes[0].sourceSpan.start.file.url,\n startLine: nodes[0].sourceSpan.start.line + 1,\n startCol: nodes[0].sourceSpan.start.col + 1,\n endLine: nodes[nodes.length - 1].sourceSpan.end.line + 1,\n endCol: nodes[0].sourceSpan.start.col + 1\n }];\n }\n else {\n this.sources = [];\n }\n }\n}\nclass Text$1 {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n// TODO(vicb): do we really need this node (vs an array) ?\nclass Container {\n constructor(children, sourceSpan) {\n this.children = children;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitContainer(this, context);\n }\n}\nclass Icu$1 {\n constructor(expression, type, cases, sourceSpan) {\n this.expression = expression;\n this.type = type;\n this.cases = cases;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcu(this, context);\n }\n}\nclass TagPlaceholder {\n constructor(tag, attrs, startName, closeName, children, isVoid, \n // TODO sourceSpan should cover all (we need a startSourceSpan and endSourceSpan)\n sourceSpan, startSourceSpan, endSourceSpan) {\n this.tag = tag;\n this.attrs = attrs;\n this.startName = startName;\n this.closeName = closeName;\n this.children = children;\n this.isVoid = isVoid;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitTagPlaceholder(this, context);\n }\n}\nclass Placeholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitPlaceholder(this, context);\n }\n}\nclass IcuPlaceholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcuPlaceholder(this, context);\n }\n}\n// Clone the AST\nclass CloneVisitor {\n visitText(text, context) {\n return new Text$1(text.value, text.sourceSpan);\n }\n visitContainer(container, context) {\n const children = container.children.map(n => n.visit(this, context));\n return new Container(children, container.sourceSpan);\n }\n visitIcu(icu, context) {\n const cases = {};\n Object.keys(icu.cases).forEach(key => cases[key] = icu.cases[key].visit(this, context));\n const msg = new Icu$1(icu.expression, icu.type, cases, icu.sourceSpan);\n msg.expressionPlaceholder = icu.expressionPlaceholder;\n return msg;\n }\n visitTagPlaceholder(ph, context) {\n const children = ph.children.map(n => n.visit(this, context));\n return new TagPlaceholder(ph.tag, ph.attrs, ph.startName, ph.closeName, children, ph.isVoid, ph.sourceSpan, ph.startSourceSpan, ph.endSourceSpan);\n }\n visitPlaceholder(ph, context) {\n return new Placeholder(ph.value, ph.name, ph.sourceSpan);\n }\n visitIcuPlaceholder(ph, context) {\n return new IcuPlaceholder(ph.value, ph.name, ph.sourceSpan);\n }\n}\n// Visit all the nodes recursively\nclass RecurseVisitor {\n visitText(text, context) { }\n visitContainer(container, context) {\n container.children.forEach(child => child.visit(this));\n }\n visitIcu(icu, context) {\n Object.keys(icu.cases).forEach(k => {\n icu.cases[k].visit(this);\n });\n }\n visitTagPlaceholder(ph, context) {\n ph.children.forEach(child => child.visit(this));\n }\n visitPlaceholder(ph, context) { }\n visitIcuPlaceholder(ph, context) { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents a big integer using a buffer of its individual digits, with the least significant\n * digit stored at the beginning of the array (little endian).\n *\n * For performance reasons, each instance is mutable. The addition operation can be done in-place\n * to reduce memory pressure of allocation for the digits array.\n */\nclass BigInteger {\n /**\n * Creates a big integer using its individual digits in little endian storage.\n */\n constructor(digits) {\n this.digits = digits;\n }\n static zero() {\n return new BigInteger([0]);\n }\n static one() {\n return new BigInteger([1]);\n }\n /**\n * Creates a clone of this instance.\n */\n clone() {\n return new BigInteger(this.digits.slice());\n }\n /**\n * Returns a new big integer with the sum of `this` and `other` as its value. This does not mutate\n * `this` but instead returns a new instance, unlike `addToSelf`.\n */\n add(other) {\n const result = this.clone();\n result.addToSelf(other);\n return result;\n }\n /**\n * Adds `other` to the instance itself, thereby mutating its value.\n */\n addToSelf(other) {\n const maxNrOfDigits = Math.max(this.digits.length, other.digits.length);\n let carry = 0;\n for (let i = 0; i < maxNrOfDigits; i++) {\n let digitSum = carry;\n if (i < this.digits.length) {\n digitSum += this.digits[i];\n }\n if (i < other.digits.length) {\n digitSum += other.digits[i];\n }\n if (digitSum >= 10) {\n this.digits[i] = digitSum - 10;\n carry = 1;\n }\n else {\n this.digits[i] = digitSum;\n carry = 0;\n }\n }\n // Apply a remaining carry if needed.\n if (carry > 0) {\n this.digits[maxNrOfDigits] = 1;\n }\n }\n /**\n * Builds the decimal string representation of the big integer. As this is stored in\n * little endian, the digits are concatenated in reverse order.\n */\n toString() {\n let res = '';\n for (let i = this.digits.length - 1; i >= 0; i--) {\n res += this.digits[i];\n }\n return res;\n }\n}\n/**\n * Represents a big integer which is optimized for multiplication operations, as its power-of-twos\n * are memoized. See `multiplyBy()` for details on the multiplication algorithm.\n */\nclass BigIntForMultiplication {\n constructor(value) {\n this.powerOfTwos = [value];\n }\n /**\n * Returns the big integer itself.\n */\n getValue() {\n return this.powerOfTwos[0];\n }\n /**\n * Computes the value for `num * b`, where `num` is a JS number and `b` is a big integer. The\n * value for `b` is represented by a storage model that is optimized for this computation.\n *\n * This operation is implemented in N(log2(num)) by continuous halving of the number, where the\n * least-significant bit (LSB) is tested in each iteration. If the bit is set, the bit's index is\n * used as exponent into the power-of-two multiplication of `b`.\n *\n * As an example, consider the multiplication num=42, b=1337. In binary 42 is 0b00101010 and the\n * algorithm unrolls into the following iterations:\n *\n * Iteration | num | LSB | b * 2^iter | Add? | product\n * -----------|------------|------|------------|------|--------\n * 0 | 0b00101010 | 0 | 1337 | No | 0\n * 1 | 0b00010101 | 1 | 2674 | Yes | 2674\n * 2 | 0b00001010 | 0 | 5348 | No | 2674\n * 3 | 0b00000101 | 1 | 10696 | Yes | 13370\n * 4 | 0b00000010 | 0 | 21392 | No | 13370\n * 5 | 0b00000001 | 1 | 42784 | Yes | 56154\n * 6 | 0b00000000 | 0 | 85568 | No | 56154\n *\n * The computed product of 56154 is indeed the correct result.\n *\n * The `BigIntForMultiplication` representation for a big integer provides memoized access to the\n * power-of-two values to reduce the workload in computing those values.\n */\n multiplyBy(num) {\n const product = BigInteger.zero();\n this.multiplyByAndAddTo(num, product);\n return product;\n }\n /**\n * See `multiplyBy()` for details. This function allows for the computed product to be added\n * directly to the provided result big integer.\n */\n multiplyByAndAddTo(num, result) {\n for (let exponent = 0; num !== 0; num = num >>> 1, exponent++) {\n if (num & 1) {\n const value = this.getMultipliedByPowerOfTwo(exponent);\n result.addToSelf(value);\n }\n }\n }\n /**\n * Computes and memoizes the big integer value for `this.number * 2^exponent`.\n */\n getMultipliedByPowerOfTwo(exponent) {\n // Compute the powers up until the requested exponent, where each value is computed from its\n // predecessor. This is simple as `this.number * 2^(exponent - 1)` only has to be doubled (i.e.\n // added to itself) to reach `this.number * 2^exponent`.\n for (let i = this.powerOfTwos.length; i <= exponent; i++) {\n const previousPower = this.powerOfTwos[i - 1];\n this.powerOfTwos[i] = previousPower.add(previousPower);\n }\n return this.powerOfTwos[exponent];\n }\n}\n/**\n * Represents an exponentiation operation for the provided base, of which exponents are computed and\n * memoized. The results are represented by a `BigIntForMultiplication` which is tailored for\n * multiplication operations by memoizing the power-of-twos. This effectively results in a matrix\n * representation that is lazily computed upon request.\n */\nclass BigIntExponentiation {\n constructor(base) {\n this.base = base;\n this.exponents = [new BigIntForMultiplication(BigInteger.one())];\n }\n /**\n * Compute the value for `this.base^exponent`, resulting in a big integer that is optimized for\n * further multiplication operations.\n */\n toThePowerOf(exponent) {\n // Compute the results up until the requested exponent, where every value is computed from its\n // predecessor. This is because `this.base^(exponent - 1)` only has to be multiplied by `base`\n // to reach `this.base^exponent`.\n for (let i = this.exponents.length; i <= exponent; i++) {\n const value = this.exponents[i - 1].multiplyBy(this.base);\n this.exponents[i] = new BigIntForMultiplication(value);\n }\n return this.exponents[exponent];\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Return the message id or compute it using the XLIFF1 digest.\n */\nfunction digest(message) {\n return message.id || computeDigest(message);\n}\n/**\n * Compute the message id using the XLIFF1 digest.\n */\nfunction computeDigest(message) {\n return sha1(serializeNodes(message.nodes).join('') + `[${message.meaning}]`);\n}\n/**\n * Return the message id or compute it using the XLIFF2/XMB/$localize digest.\n */\nfunction decimalDigest(message) {\n return message.id || computeDecimalDigest(message);\n}\n/**\n * Compute the message id using the XLIFF2/XMB/$localize digest.\n */\nfunction computeDecimalDigest(message) {\n const visitor = new _SerializerIgnoreIcuExpVisitor();\n const parts = message.nodes.map(a => a.visit(visitor, null));\n return computeMsgId(parts.join(''), message.meaning);\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * The visitor is also used in the i18n parser tests\n *\n * @internal\n */\nclass _SerializerVisitor {\n visitText(text, context) {\n return text.value;\n }\n visitContainer(container, context) {\n return `[${container.children.map(child => child.visit(this)).join(', ')}]`;\n }\n visitIcu(icu, context) {\n const strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n return `{${icu.expression}, ${icu.type}, ${strCases.join(', ')}}`;\n }\n visitTagPlaceholder(ph, context) {\n return ph.isVoid ?\n `` :\n `${ph.children.map(child => child.visit(this)).join(', ')}`;\n }\n visitPlaceholder(ph, context) {\n return ph.value ? `${ph.value}` : ``;\n }\n visitIcuPlaceholder(ph, context) {\n return `${ph.value.visit(this)}`;\n }\n}\nconst serializerVisitor = new _SerializerVisitor();\nfunction serializeNodes(nodes) {\n return nodes.map(a => a.visit(serializerVisitor, null));\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * Ignore the ICU expressions so that message IDs stays identical if only the expression changes.\n *\n * @internal\n */\nclass _SerializerIgnoreIcuExpVisitor extends _SerializerVisitor {\n visitIcu(icu, context) {\n let strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n // Do not take the expression into account\n return `{${icu.type}, ${strCases.join(', ')}}`;\n }\n}\n/**\n * Compute the SHA1 of the given string\n *\n * see https://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf\n *\n * WARNING: this function has not been designed not tested with security in mind.\n * DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.\n */\nfunction sha1(str) {\n const utf8 = utf8Encode(str);\n const words32 = bytesToWords32(utf8, Endian.Big);\n const len = utf8.length * 8;\n const w = newArray(80);\n let a = 0x67452301, b = 0xefcdab89, c = 0x98badcfe, d = 0x10325476, e = 0xc3d2e1f0;\n words32[len >> 5] |= 0x80 << (24 - len % 32);\n words32[((len + 64 >> 9) << 4) + 15] = len;\n for (let i = 0; i < words32.length; i += 16) {\n const h0 = a, h1 = b, h2 = c, h3 = d, h4 = e;\n for (let j = 0; j < 80; j++) {\n if (j < 16) {\n w[j] = words32[i + j];\n }\n else {\n w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n }\n const fkVal = fk(j, b, c, d);\n const f = fkVal[0];\n const k = fkVal[1];\n const temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);\n e = d;\n d = c;\n c = rol32(b, 30);\n b = a;\n a = temp;\n }\n a = add32(a, h0);\n b = add32(b, h1);\n c = add32(c, h2);\n d = add32(d, h3);\n e = add32(e, h4);\n }\n return bytesToHexString(words32ToByteString([a, b, c, d, e]));\n}\nfunction fk(index, b, c, d) {\n if (index < 20) {\n return [(b & c) | (~b & d), 0x5a827999];\n }\n if (index < 40) {\n return [b ^ c ^ d, 0x6ed9eba1];\n }\n if (index < 60) {\n return [(b & c) | (b & d) | (c & d), 0x8f1bbcdc];\n }\n return [b ^ c ^ d, 0xca62c1d6];\n}\n/**\n * Compute the fingerprint of the given string\n *\n * The output is 64 bit number encoded as a decimal string\n *\n * based on:\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/GoogleJsMessageIdGenerator.java\n */\nfunction fingerprint(str) {\n const utf8 = utf8Encode(str);\n let hi = hash32(utf8, 0);\n let lo = hash32(utf8, 102072);\n if (hi == 0 && (lo == 0 || lo == 1)) {\n hi = hi ^ 0x130f9bef;\n lo = lo ^ -0x6b5f56d8;\n }\n return [hi, lo];\n}\nfunction computeMsgId(msg, meaning = '') {\n let msgFingerprint = fingerprint(msg);\n if (meaning) {\n const meaningFingerprint = fingerprint(meaning);\n msgFingerprint = add64(rol64(msgFingerprint, 1), meaningFingerprint);\n }\n const hi = msgFingerprint[0];\n const lo = msgFingerprint[1];\n return wordsToDecimalString(hi & 0x7fffffff, lo);\n}\nfunction hash32(bytes, c) {\n let a = 0x9e3779b9, b = 0x9e3779b9;\n let i;\n const len = bytes.length;\n for (i = 0; i + 12 <= len; i += 12) {\n a = add32(a, wordAt(bytes, i, Endian.Little));\n b = add32(b, wordAt(bytes, i + 4, Endian.Little));\n c = add32(c, wordAt(bytes, i + 8, Endian.Little));\n const res = mix(a, b, c);\n a = res[0], b = res[1], c = res[2];\n }\n a = add32(a, wordAt(bytes, i, Endian.Little));\n b = add32(b, wordAt(bytes, i + 4, Endian.Little));\n // the first byte of c is reserved for the length\n c = add32(c, len);\n c = add32(c, wordAt(bytes, i + 8, Endian.Little) << 8);\n return mix(a, b, c)[2];\n}\n// clang-format off\nfunction mix(a, b, c) {\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 13;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 8;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 13;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 12;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 16;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 5;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 3;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 10;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 15;\n return [a, b, c];\n}\n// clang-format on\n// Utils\nvar Endian;\n(function (Endian) {\n Endian[Endian[\"Little\"] = 0] = \"Little\";\n Endian[Endian[\"Big\"] = 1] = \"Big\";\n})(Endian || (Endian = {}));\nfunction add32(a, b) {\n return add32to64(a, b)[1];\n}\nfunction add32to64(a, b) {\n const low = (a & 0xffff) + (b & 0xffff);\n const high = (a >>> 16) + (b >>> 16) + (low >>> 16);\n return [high >>> 16, (high << 16) | (low & 0xffff)];\n}\nfunction add64(a, b) {\n const ah = a[0], al = a[1];\n const bh = b[0], bl = b[1];\n const result = add32to64(al, bl);\n const carry = result[0];\n const l = result[1];\n const h = add32(add32(ah, bh), carry);\n return [h, l];\n}\nfunction sub32(a, b) {\n const low = (a & 0xffff) - (b & 0xffff);\n const high = (a >> 16) - (b >> 16) + (low >> 16);\n return (high << 16) | (low & 0xffff);\n}\n// Rotate a 32b number left `count` position\nfunction rol32(a, count) {\n return (a << count) | (a >>> (32 - count));\n}\n// Rotate a 64b number left `count` position\nfunction rol64(num, count) {\n const hi = num[0], lo = num[1];\n const h = (hi << count) | (lo >>> (32 - count));\n const l = (lo << count) | (hi >>> (32 - count));\n return [h, l];\n}\nfunction bytesToWords32(bytes, endian) {\n const size = (bytes.length + 3) >>> 2;\n const words32 = [];\n for (let i = 0; i < size; i++) {\n words32[i] = wordAt(bytes, i * 4, endian);\n }\n return words32;\n}\nfunction byteAt(bytes, index) {\n return index >= bytes.length ? 0 : bytes[index];\n}\nfunction wordAt(bytes, index, endian) {\n let word = 0;\n if (endian === Endian.Big) {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << (24 - 8 * i);\n }\n }\n else {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << 8 * i;\n }\n }\n return word;\n}\nfunction words32ToByteString(words32) {\n return words32.reduce((bytes, word) => bytes.concat(word32ToByteString(word)), []);\n}\nfunction word32ToByteString(word) {\n let bytes = [];\n for (let i = 0; i < 4; i++) {\n bytes.push((word >>> 8 * (3 - i)) & 0xff);\n }\n return bytes;\n}\nfunction bytesToHexString(bytes) {\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n const b = byteAt(bytes, i);\n hex += (b >>> 4).toString(16) + (b & 0x0f).toString(16);\n }\n return hex.toLowerCase();\n}\n/**\n * Create a shared exponentiation pool for base-256 computations. This shared pool provides memoized\n * power-of-256 results with memoized power-of-two computations for efficient multiplication.\n *\n * For our purposes, this can be safely stored as a global without memory concerns. The reason is\n * that we encode two words, so only need the 0th (for the low word) and 4th (for the high word)\n * exponent.\n */\nconst base256 = new BigIntExponentiation(256);\n/**\n * Represents two 32-bit words as a single decimal number. This requires a big integer storage\n * model as JS numbers are not accurate enough to represent the 64-bit number.\n *\n * Based on https://www.danvk.org/hex2dec.html\n */\nfunction wordsToDecimalString(hi, lo) {\n // Encode the four bytes in lo in the lower digits of the decimal number.\n // Note: the multiplication results in lo itself but represented by a big integer using its\n // decimal digits.\n const decimal = base256.toThePowerOf(0).multiplyBy(lo);\n // Encode the four bytes in hi above the four lo bytes. lo is a maximum of (2^8)^4, which is why\n // this multiplication factor is applied.\n base256.toThePowerOf(4).multiplyByAndAddTo(hi, decimal);\n return decimal.toString();\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Serializer {\n // Creates a name mapper, see `PlaceholderMapper`\n // Returning `null` means that no name mapping is used.\n createNameMapper(message) {\n return null;\n }\n}\n/**\n * A simple mapper that take a function to transform an internal name to a public name\n */\nclass SimplePlaceholderMapper extends RecurseVisitor {\n // create a mapping from the message\n constructor(message, mapName) {\n super();\n this.mapName = mapName;\n this.internalToPublic = {};\n this.publicToNextId = {};\n this.publicToInternal = {};\n message.nodes.forEach(node => node.visit(this));\n }\n toPublicName(internalName) {\n return this.internalToPublic.hasOwnProperty(internalName) ?\n this.internalToPublic[internalName] :\n null;\n }\n toInternalName(publicName) {\n return this.publicToInternal.hasOwnProperty(publicName) ? this.publicToInternal[publicName] :\n null;\n }\n visitText(text, context) {\n return null;\n }\n visitTagPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.startName);\n super.visitTagPlaceholder(ph, context);\n this.visitPlaceholderName(ph.closeName);\n }\n visitPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n visitIcuPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n // XMB placeholders could only contains A-Z, 0-9 and _\n visitPlaceholderName(internalName) {\n if (!internalName || this.internalToPublic.hasOwnProperty(internalName)) {\n return;\n }\n let publicName = this.mapName(internalName);\n if (this.publicToInternal.hasOwnProperty(publicName)) {\n // Create a new XMB when it has already been used\n const nextId = this.publicToNextId[publicName];\n this.publicToNextId[publicName] = nextId + 1;\n publicName = `${publicName}_${nextId}`;\n }\n else {\n this.publicToNextId[publicName] = 1;\n }\n this.internalToPublic[internalName] = publicName;\n this.publicToInternal[publicName] = internalName;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass _Visitor {\n visitTag(tag) {\n const strAttrs = this._serializeAttributes(tag.attrs);\n if (tag.children.length == 0) {\n return `<${tag.name}${strAttrs}/>`;\n }\n const strChildren = tag.children.map(node => node.visit(this));\n return `<${tag.name}${strAttrs}>${strChildren.join('')}`;\n }\n visitText(text) {\n return text.value;\n }\n visitDeclaration(decl) {\n return ``;\n }\n _serializeAttributes(attrs) {\n const strAttrs = Object.keys(attrs).map((name) => `${name}=\"${attrs[name]}\"`).join(' ');\n return strAttrs.length > 0 ? ' ' + strAttrs : '';\n }\n visitDoctype(doctype) {\n return ``;\n }\n}\nconst _visitor = new _Visitor();\nfunction serialize(nodes) {\n return nodes.map((node) => node.visit(_visitor)).join('');\n}\nclass Declaration {\n constructor(unescapedAttrs) {\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitDeclaration(this);\n }\n}\nclass Doctype {\n constructor(rootTag, dtd) {\n this.rootTag = rootTag;\n this.dtd = dtd;\n }\n visit(visitor) {\n return visitor.visitDoctype(this);\n }\n}\nclass Tag {\n constructor(name, unescapedAttrs = {}, children = []) {\n this.name = name;\n this.children = children;\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitTag(this);\n }\n}\nclass Text$2 {\n constructor(unescapedValue) {\n this.value = escapeXml(unescapedValue);\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass CR extends Text$2 {\n constructor(ws = 0) {\n super(`\\n${new Array(ws + 1).join(' ')}`);\n }\n}\nconst _ESCAPED_CHARS = [\n [/&/g, '&'],\n [/\"/g, '"'],\n [/'/g, '''],\n [//g, '>'],\n];\n// Escape `_ESCAPED_CHARS` characters in the given text with encoded entities\nfunction escapeXml(text) {\n return _ESCAPED_CHARS.reduce((text, entry) => text.replace(entry[0], entry[1]), text);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _MESSAGES_TAG = 'messagebundle';\nconst _MESSAGE_TAG = 'msg';\nconst _PLACEHOLDER_TAG = 'ph';\nconst _EXAMPLE_TAG = 'ex';\nconst _SOURCE_TAG = 'source';\nconst _DOCTYPE = `\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n`;\nclass Xmb extends Serializer {\n write(messages, locale) {\n const exampleVisitor = new ExampleVisitor();\n const visitor = new _Visitor$1();\n let rootNode = new Tag(_MESSAGES_TAG);\n messages.forEach(message => {\n const attrs = { id: message.id };\n if (message.description) {\n attrs['desc'] = message.description;\n }\n if (message.meaning) {\n attrs['meaning'] = message.meaning;\n }\n let sourceTags = [];\n message.sources.forEach((source) => {\n sourceTags.push(new Tag(_SOURCE_TAG, {}, [new Text$2(`${source.filePath}:${source.startLine}${source.endLine !== source.startLine ? ',' + source.endLine : ''}`)]));\n });\n rootNode.children.push(new CR(2), new Tag(_MESSAGE_TAG, attrs, [...sourceTags, ...visitor.serialize(message.nodes)]));\n });\n rootNode.children.push(new CR());\n return serialize([\n new Declaration({ version: '1.0', encoding: 'UTF-8' }),\n new CR(),\n new Doctype(_MESSAGES_TAG, _DOCTYPE),\n new CR(),\n exampleVisitor.addDefaultExamples(rootNode),\n new CR(),\n ]);\n }\n load(content, url) {\n throw new Error('Unsupported');\n }\n digest(message) {\n return digest$1(message);\n }\n createNameMapper(message) {\n return new SimplePlaceholderMapper(message, toPublicName);\n }\n}\nclass _Visitor$1 {\n visitText(text, context) {\n return [new Text$2(text.value)];\n }\n visitContainer(container, context) {\n const nodes = [];\n container.children.forEach((node) => nodes.push(...node.visit(this)));\n return nodes;\n }\n visitIcu(icu, context) {\n const nodes = [new Text$2(`{${icu.expressionPlaceholder}, ${icu.type}, `)];\n Object.keys(icu.cases).forEach((c) => {\n nodes.push(new Text$2(`${c} {`), ...icu.cases[c].visit(this), new Text$2(`} `));\n });\n nodes.push(new Text$2(`}`));\n return nodes;\n }\n visitTagPlaceholder(ph, context) {\n const startTagAsText = new Text$2(`<${ph.tag}>`);\n const startEx = new Tag(_EXAMPLE_TAG, {}, [startTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const startTagPh = new Tag(_PLACEHOLDER_TAG, { name: ph.startName }, [startEx, startTagAsText]);\n if (ph.isVoid) {\n // void tags have no children nor closing tags\n return [startTagPh];\n }\n const closeTagAsText = new Text$2(``);\n const closeEx = new Tag(_EXAMPLE_TAG, {}, [closeTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const closeTagPh = new Tag(_PLACEHOLDER_TAG, { name: ph.closeName }, [closeEx, closeTagAsText]);\n return [startTagPh, ...this.serialize(ph.children), closeTagPh];\n }\n visitPlaceholder(ph, context) {\n const interpolationAsText = new Text$2(`{{${ph.value}}}`);\n // Example tag needs to be not-empty for TC.\n const exTag = new Tag(_EXAMPLE_TAG, {}, [interpolationAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG, { name: ph.name }, [exTag, interpolationAsText])\n ];\n }\n visitIcuPlaceholder(ph, context) {\n const icuExpression = ph.value.expression;\n const icuType = ph.value.type;\n const icuCases = Object.keys(ph.value.cases).map((value) => value + ' {...}').join(' ');\n const icuAsText = new Text$2(`{${icuExpression}, ${icuType}, ${icuCases}}`);\n const exTag = new Tag(_EXAMPLE_TAG, {}, [icuAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG, { name: ph.name }, [exTag, icuAsText])\n ];\n }\n serialize(nodes) {\n return [].concat(...nodes.map(node => node.visit(this)));\n }\n}\nfunction digest$1(message) {\n return decimalDigest(message);\n}\n// TC requires at least one non-empty example on placeholders\nclass ExampleVisitor {\n addDefaultExamples(node) {\n node.visit(this);\n return node;\n }\n visitTag(tag) {\n if (tag.name === _PLACEHOLDER_TAG) {\n if (!tag.children || tag.children.length == 0) {\n const exText = new Text$2(tag.attrs['name'] || '...');\n tag.children = [new Tag(_EXAMPLE_TAG, {}, [exText])];\n }\n }\n else if (tag.children) {\n tag.children.forEach(node => node.visit(this));\n }\n }\n visitText(text) { }\n visitDeclaration(decl) { }\n visitDoctype(doctype) { }\n}\n// XMB/XTB placeholders can only contain A-Z, 0-9 and _\nfunction toPublicName(internalName) {\n return internalName.toUpperCase().replace(/[^A-Z0-9_]/g, '_');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/* Closure variables holding messages must be named `MSG_[A-Z0-9]+` */\nconst CLOSURE_TRANSLATION_VAR_PREFIX = 'MSG_';\n/**\n * Prefix for non-`goog.getMsg` i18n-related vars.\n * Note: the prefix uses lowercase characters intentionally due to a Closure behavior that\n * considers variables like `I18N_0` as constants and throws an error when their value changes.\n */\nconst TRANSLATION_VAR_PREFIX = 'i18n_';\n/** Name of the i18n attributes **/\nconst I18N_ATTR = 'i18n';\nconst I18N_ATTR_PREFIX = 'i18n-';\n/** Prefix of var expressions used in ICUs */\nconst I18N_ICU_VAR_PREFIX = 'VAR_';\n/** Prefix of ICU expressions for post processing */\nconst I18N_ICU_MAPPING_PREFIX = 'I18N_EXP_';\n/** Placeholder wrapper for i18n expressions **/\nconst I18N_PLACEHOLDER_SYMBOL = '�';\nfunction isI18nAttribute(name) {\n return name === I18N_ATTR || name.startsWith(I18N_ATTR_PREFIX);\n}\nfunction isI18nRootNode(meta) {\n return meta instanceof Message;\n}\nfunction isSingleI18nIcu(meta) {\n return isI18nRootNode(meta) && meta.nodes.length === 1 && meta.nodes[0] instanceof Icu$1;\n}\nfunction hasI18nMeta(node) {\n return !!node.i18n;\n}\nfunction hasI18nAttrs(element) {\n return element.attrs.some((attr) => isI18nAttribute(attr.name));\n}\nfunction icuFromI18nMessage(message) {\n return message.nodes[0];\n}\nfunction wrapI18nPlaceholder(content, contextId = 0) {\n const blockId = contextId > 0 ? `:${contextId}` : '';\n return `${I18N_PLACEHOLDER_SYMBOL}${content}${blockId}${I18N_PLACEHOLDER_SYMBOL}`;\n}\nfunction assembleI18nBoundString(strings, bindingStartIndex = 0, contextId = 0) {\n if (!strings.length)\n return '';\n let acc = '';\n const lastIdx = strings.length - 1;\n for (let i = 0; i < lastIdx; i++) {\n acc += `${strings[i]}${wrapI18nPlaceholder(bindingStartIndex + i, contextId)}`;\n }\n acc += strings[lastIdx];\n return acc;\n}\nfunction getSeqNumberGenerator(startsAt = 0) {\n let current = startsAt;\n return () => current++;\n}\nfunction placeholdersToParams(placeholders) {\n const params = {};\n placeholders.forEach((values, key) => {\n params[key] = literal(values.length > 1 ? `[${values.join('|')}]` : values[0]);\n });\n return params;\n}\nfunction updatePlaceholderMap(map, name, ...values) {\n const current = map.get(name) || [];\n current.push(...values);\n map.set(name, current);\n}\nfunction assembleBoundTextPlaceholders(meta, bindingStartIndex = 0, contextId = 0) {\n const startIdx = bindingStartIndex;\n const placeholders = new Map();\n const node = meta instanceof Message ? meta.nodes.find(node => node instanceof Container) : meta;\n if (node) {\n node\n .children\n .filter((child) => child instanceof Placeholder)\n .forEach((child, idx) => {\n const content = wrapI18nPlaceholder(startIdx + idx, contextId);\n updatePlaceholderMap(placeholders, child.name, content);\n });\n }\n return placeholders;\n}\n/**\n * Format the placeholder names in a map of placeholders to expressions.\n *\n * The placeholder names are converted from \"internal\" format (e.g. `START_TAG_DIV_1`) to \"external\"\n * format (e.g. `startTagDiv_1`).\n *\n * @param params A map of placeholder names to expressions.\n * @param useCamelCase whether to camelCase the placeholder name when formatting.\n * @returns A new map of formatted placeholder names to expressions.\n */\nfunction i18nFormatPlaceholderNames(params = {}, useCamelCase) {\n const _params = {};\n if (params && Object.keys(params).length) {\n Object.keys(params).forEach(key => _params[formatI18nPlaceholderName(key, useCamelCase)] = params[key]);\n }\n return _params;\n}\n/**\n * Converts internal placeholder names to public-facing format\n * (for example to use in goog.getMsg call).\n * Example: `START_TAG_DIV_1` is converted to `startTagDiv_1`.\n *\n * @param name The placeholder name that should be formatted\n * @returns Formatted placeholder name\n */\nfunction formatI18nPlaceholderName(name, useCamelCase = true) {\n const publicName = toPublicName(name);\n if (!useCamelCase) {\n return publicName;\n }\n const chunks = publicName.split('_');\n if (chunks.length === 1) {\n // if no \"_\" found - just lowercase the value\n return name.toLowerCase();\n }\n let postfix;\n // eject last element if it's a number\n if (/^\\d+$/.test(chunks[chunks.length - 1])) {\n postfix = chunks.pop();\n }\n let raw = chunks.shift().toLowerCase();\n if (chunks.length) {\n raw += chunks.map(c => c.charAt(0).toUpperCase() + c.slice(1).toLowerCase()).join('');\n }\n return postfix ? `${raw}_${postfix}` : raw;\n}\n/**\n * Generates a prefix for translation const name.\n *\n * @param extra Additional local prefix that should be injected into translation var name\n * @returns Complete translation const prefix\n */\nfunction getTranslationConstPrefix(extra) {\n return `${CLOSURE_TRANSLATION_VAR_PREFIX}${extra}`.toUpperCase();\n}\n/**\n * Generate AST to declare a variable. E.g. `var I18N_1;`.\n * @param variable the name of the variable to declare.\n */\nfunction declareI18nVariable(variable) {\n return new DeclareVarStmt(variable.name, undefined, INFERRED_TYPE, undefined, variable.sourceSpan);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Checks whether an object key contains potentially unsafe chars, thus the key should be wrapped in\n * quotes. Note: we do not wrap all keys into quotes, as it may have impact on minification and may\n * bot work in some cases when object keys are mangled by minifier.\n *\n * TODO(FW-1136): this is a temporary solution, we need to come up with a better way of working with\n * inputs that contain potentially unsafe chars.\n */\nconst UNSAFE_OBJECT_KEY_NAME_REGEXP = /[-.]/;\n/** Name of the temporary to use during data binding */\nconst TEMPORARY_NAME = '_t';\n/** Name of the context parameter passed into a template function */\nconst CONTEXT_NAME = 'ctx';\n/** Name of the RenderFlag passed into a template function */\nconst RENDER_FLAGS = 'rf';\n/** The prefix reference variables */\nconst REFERENCE_PREFIX = '_r';\n/** The name of the implicit context reference */\nconst IMPLICIT_REFERENCE = '$implicit';\n/** Non bindable attribute name **/\nconst NON_BINDABLE_ATTR = 'ngNonBindable';\n/**\n * Creates an allocator for a temporary variable.\n *\n * A variable declaration is added to the statements the first time the allocator is invoked.\n */\nfunction temporaryAllocator(statements, name) {\n let temp = null;\n return () => {\n if (!temp) {\n statements.push(new DeclareVarStmt(TEMPORARY_NAME, undefined, DYNAMIC_TYPE));\n temp = variable(name);\n }\n return temp;\n };\n}\nfunction unsupported(feature) {\n if (this) {\n throw new Error(`Builder ${this.constructor.name} doesn't support ${feature} yet`);\n }\n throw new Error(`Feature ${feature} is not supported yet`);\n}\nfunction invalid$1(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction asLiteral(value) {\n if (Array.isArray(value)) {\n return literalArr(value.map(asLiteral));\n }\n return literal(value, INFERRED_TYPE);\n}\nfunction conditionallyCreateMapObjectLiteral(keys, keepDeclared) {\n if (Object.getOwnPropertyNames(keys).length > 0) {\n return mapToExpression(keys, keepDeclared);\n }\n return null;\n}\nfunction mapToExpression(map, keepDeclared) {\n return literalMap(Object.getOwnPropertyNames(map).map(key => {\n // canonical syntax: `dirProp: publicProp`\n // if there is no `:`, use dirProp = elProp\n const value = map[key];\n let declaredName;\n let publicName;\n let minifiedName;\n if (Array.isArray(value)) {\n [publicName, declaredName] = value;\n }\n else {\n [declaredName, publicName] = splitAtColon(key, [key, value]);\n }\n minifiedName = declaredName;\n return {\n key: minifiedName,\n // put quotes around keys that contain potentially unsafe characters\n quoted: UNSAFE_OBJECT_KEY_NAME_REGEXP.test(minifiedName),\n value: (keepDeclared && publicName !== declaredName) ?\n literalArr([asLiteral(publicName), asLiteral(declaredName)]) :\n asLiteral(publicName)\n };\n }));\n}\n/**\n * Remove trailing null nodes as they are implied.\n */\nfunction trimTrailingNulls(parameters) {\n while (isNull(parameters[parameters.length - 1])) {\n parameters.pop();\n }\n return parameters;\n}\nfunction getQueryPredicate(query, constantPool) {\n if (Array.isArray(query.predicate)) {\n let predicate = [];\n query.predicate.forEach((selector) => {\n // Each item in predicates array may contain strings with comma-separated refs\n // (for ex. 'ref, ref1, ..., refN'), thus we extract individual refs and store them\n // as separate array entities\n const selectors = selector.split(',').map(token => literal(token.trim()));\n predicate.push(...selectors);\n });\n return constantPool.getConstLiteral(literalArr(predicate), true);\n }\n else {\n return query.predicate;\n }\n}\nclass DefinitionMap {\n constructor() {\n this.values = [];\n }\n set(key, value) {\n if (value) {\n this.values.push({ key, value, quoted: false });\n }\n }\n toLiteralMap() {\n return literalMap(this.values);\n }\n}\n/**\n * Extract a map of properties to values for a given element or template node, which can be used\n * by the directive matching machinery.\n *\n * @param elOrTpl the element or template in question\n * @return an object set up for directive matching. For attributes on the element/template, this\n * object maps a property name to its (static) value. For any bindings, this map simply maps the\n * property name to an empty string.\n */\nfunction getAttrsForDirectiveMatching(elOrTpl) {\n const attributesMap = {};\n if (elOrTpl instanceof Template && elOrTpl.tagName !== 'ng-template') {\n elOrTpl.templateAttrs.forEach(a => attributesMap[a.name] = '');\n }\n else {\n elOrTpl.attributes.forEach(a => {\n if (!isI18nAttribute(a.name)) {\n attributesMap[a.name] = a.value;\n }\n });\n elOrTpl.inputs.forEach(i => {\n attributesMap[i.name] = '';\n });\n elOrTpl.outputs.forEach(o => {\n attributesMap[o.name] = '';\n });\n }\n return attributesMap;\n}\n/** Returns a call expression to a chained instruction, e.g. `property(params[0])(params[1])`. */\nfunction chainedInstruction(reference, calls, span) {\n let expression = importExpr(reference, null, span);\n if (calls.length > 0) {\n for (let i = 0; i < calls.length; i++) {\n expression = expression.callFn(calls[i], span);\n }\n }\n else {\n // Add a blank invocation, in case the `calls` array is empty.\n expression = expression.callFn([], span);\n }\n return expression;\n}\n/**\n * Gets the number of arguments expected to be passed to a generated instruction in the case of\n * interpolation instructions.\n * @param interpolation An interpolation ast\n */\nfunction getInterpolationArgsLength(interpolation) {\n const { expressions, strings } = interpolation;\n if (expressions.length === 1 && strings.length === 2 && strings[0] === '' && strings[1] === '') {\n // If the interpolation has one interpolated value, but the prefix and suffix are both empty\n // strings, we only pass one argument, to a special instruction like `propertyInterpolate` or\n // `textInterpolate`.\n return 1;\n }\n else {\n return expressions.length + strings.length;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar R3FactoryDelegateType;\n(function (R3FactoryDelegateType) {\n R3FactoryDelegateType[R3FactoryDelegateType[\"Class\"] = 0] = \"Class\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Function\"] = 1] = \"Function\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Factory\"] = 2] = \"Factory\";\n})(R3FactoryDelegateType || (R3FactoryDelegateType = {}));\nvar R3FactoryTarget;\n(function (R3FactoryTarget) {\n R3FactoryTarget[R3FactoryTarget[\"Directive\"] = 0] = \"Directive\";\n R3FactoryTarget[R3FactoryTarget[\"Component\"] = 1] = \"Component\";\n R3FactoryTarget[R3FactoryTarget[\"Injectable\"] = 2] = \"Injectable\";\n R3FactoryTarget[R3FactoryTarget[\"Pipe\"] = 3] = \"Pipe\";\n R3FactoryTarget[R3FactoryTarget[\"NgModule\"] = 4] = \"NgModule\";\n})(R3FactoryTarget || (R3FactoryTarget = {}));\n/**\n * Resolved type of a dependency.\n *\n * Occasionally, dependencies will have special significance which is known statically. In that\n * case the `R3ResolvedDependencyType` informs the factory generator that a particular dependency\n * should be generated specially (usually by calling a special injection function instead of the\n * standard one).\n */\nvar R3ResolvedDependencyType;\n(function (R3ResolvedDependencyType) {\n /**\n * A normal token dependency.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Token\"] = 0] = \"Token\";\n /**\n * The dependency is for an attribute.\n *\n * The token expression is a string representing the attribute name.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Attribute\"] = 1] = \"Attribute\";\n /**\n * Injecting the `ChangeDetectorRef` token. Needs special handling when injected into a pipe.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"ChangeDetectorRef\"] = 2] = \"ChangeDetectorRef\";\n /**\n * An invalid dependency (no token could be determined). An error should be thrown at runtime.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Invalid\"] = 3] = \"Invalid\";\n})(R3ResolvedDependencyType || (R3ResolvedDependencyType = {}));\n/**\n * Construct a factory function expression for the given `R3FactoryMetadata`.\n */\nfunction compileFactoryFunction(meta) {\n const t = variable('t');\n const statements = [];\n let ctorDepsType = NONE_TYPE;\n // The type to instantiate via constructor invocation. If there is no delegated factory, meaning\n // this type is always created by constructor invocation, then this is the type-to-create\n // parameter provided by the user (t) if specified, or the current type if not. If there is a\n // delegated factory (which is used to create the current type) then this is only the type-to-\n // create parameter (t).\n const typeForCtor = !isDelegatedMetadata(meta) ?\n new BinaryOperatorExpr(BinaryOperator.Or, t, meta.internalType) :\n t;\n let ctorExpr = null;\n if (meta.deps !== null) {\n // There is a constructor (either explicitly or implicitly defined).\n if (meta.deps !== 'invalid') {\n ctorExpr = new InstantiateExpr(typeForCtor, injectDependencies(meta.deps, meta.injectFn, meta.target === R3FactoryTarget.Pipe));\n ctorDepsType = createCtorDepsType(meta.deps);\n }\n }\n else {\n const baseFactory = variable(`ɵ${meta.name}_BaseFactory`);\n const getInheritedFactory = importExpr(Identifiers$1.getInheritedFactory);\n const baseFactoryStmt = baseFactory\n .set(getInheritedFactory.callFn([meta.internalType], /* sourceSpan */ undefined, /* pure */ true))\n .toDeclStmt(INFERRED_TYPE, [StmtModifier.Exported, StmtModifier.Final]);\n statements.push(baseFactoryStmt);\n // There is no constructor, use the base class' factory to construct typeForCtor.\n ctorExpr = baseFactory.callFn([typeForCtor]);\n }\n const ctorExprFinal = ctorExpr;\n const body = [];\n let retExpr = null;\n function makeConditionalFactory(nonCtorExpr) {\n const r = variable('r');\n body.push(r.set(NULL_EXPR).toDeclStmt());\n let ctorStmt = null;\n if (ctorExprFinal !== null) {\n ctorStmt = r.set(ctorExprFinal).toStmt();\n }\n else {\n ctorStmt = importExpr(Identifiers$1.invalidFactory).callFn([]).toStmt();\n }\n body.push(ifStmt(t, [ctorStmt], [r.set(nonCtorExpr).toStmt()]));\n return r;\n }\n if (isDelegatedMetadata(meta) && meta.delegateType === R3FactoryDelegateType.Factory) {\n const delegateFactory = variable(`ɵ${meta.name}_BaseFactory`);\n const getFactoryOf = importExpr(Identifiers$1.getFactoryOf);\n if (meta.delegate.isEquivalent(meta.internalType)) {\n throw new Error(`Illegal state: compiling factory that delegates to itself`);\n }\n const delegateFactoryStmt = delegateFactory.set(getFactoryOf.callFn([meta.delegate])).toDeclStmt(INFERRED_TYPE, [\n StmtModifier.Exported, StmtModifier.Final\n ]);\n statements.push(delegateFactoryStmt);\n retExpr = makeConditionalFactory(delegateFactory.callFn([]));\n }\n else if (isDelegatedMetadata(meta)) {\n // This type is created with a delegated factory. If a type parameter is not specified, call\n // the factory instead.\n const delegateArgs = injectDependencies(meta.delegateDeps, meta.injectFn, meta.target === R3FactoryTarget.Pipe);\n // Either call `new delegate(...)` or `delegate(...)` depending on meta.delegateType.\n const factoryExpr = new (meta.delegateType === R3FactoryDelegateType.Class ?\n InstantiateExpr :\n InvokeFunctionExpr)(meta.delegate, delegateArgs);\n retExpr = makeConditionalFactory(factoryExpr);\n }\n else if (isExpressionFactoryMetadata(meta)) {\n // TODO(alxhub): decide whether to lower the value here or in the caller\n retExpr = makeConditionalFactory(meta.expression);\n }\n else {\n retExpr = ctorExpr;\n }\n if (retExpr !== null) {\n body.push(new ReturnStatement(retExpr));\n }\n else {\n body.push(importExpr(Identifiers$1.invalidFactory).callFn([]).toStmt());\n }\n return {\n factory: fn([new FnParam('t', DYNAMIC_TYPE)], body, INFERRED_TYPE, undefined, `${meta.name}_Factory`),\n statements,\n type: expressionType(importExpr(Identifiers$1.FactoryDef, [typeWithParameters(meta.type.type, meta.typeArgumentCount), ctorDepsType]))\n };\n}\nfunction injectDependencies(deps, injectFn, isPipe) {\n return deps.map((dep, index) => compileInjectDependency(dep, injectFn, isPipe, index));\n}\nfunction compileInjectDependency(dep, injectFn, isPipe, index) {\n // Interpret the dependency according to its resolved type.\n switch (dep.resolved) {\n case R3ResolvedDependencyType.Token:\n case R3ResolvedDependencyType.ChangeDetectorRef:\n // Build up the injection flags according to the metadata.\n const flags = 0 /* Default */ | (dep.self ? 2 /* Self */ : 0) |\n (dep.skipSelf ? 4 /* SkipSelf */ : 0) | (dep.host ? 1 /* Host */ : 0) |\n (dep.optional ? 8 /* Optional */ : 0);\n // If this dependency is optional or otherwise has non-default flags, then additional\n // parameters describing how to inject the dependency must be passed to the inject function\n // that's being used.\n let flagsParam = (flags !== 0 /* Default */ || dep.optional) ? literal(flags) : null;\n // We have a separate instruction for injecting ChangeDetectorRef into a pipe.\n if (isPipe && dep.resolved === R3ResolvedDependencyType.ChangeDetectorRef) {\n return importExpr(Identifiers$1.injectPipeChangeDetectorRef).callFn(flagsParam ? [flagsParam] : []);\n }\n // Build up the arguments to the injectFn call.\n const injectArgs = [dep.token];\n if (flagsParam) {\n injectArgs.push(flagsParam);\n }\n return importExpr(injectFn).callFn(injectArgs);\n case R3ResolvedDependencyType.Attribute:\n // In the case of attributes, the attribute name in question is given as the token.\n return importExpr(Identifiers$1.injectAttribute).callFn([dep.token]);\n case R3ResolvedDependencyType.Invalid:\n return importExpr(Identifiers$1.invalidFactoryDep).callFn([literal(index)]);\n default:\n return unsupported(`Unknown R3ResolvedDependencyType: ${R3ResolvedDependencyType[dep.resolved]}`);\n }\n}\nfunction createCtorDepsType(deps) {\n let hasTypes = false;\n const attributeTypes = deps.map(dep => {\n const type = createCtorDepType(dep);\n if (type !== null) {\n hasTypes = true;\n return type;\n }\n else {\n return literal(null);\n }\n });\n if (hasTypes) {\n return expressionType(literalArr(attributeTypes));\n }\n else {\n return NONE_TYPE;\n }\n}\nfunction createCtorDepType(dep) {\n const entries = [];\n if (dep.resolved === R3ResolvedDependencyType.Attribute) {\n if (dep.attribute !== null) {\n entries.push({ key: 'attribute', value: dep.attribute, quoted: false });\n }\n }\n if (dep.optional) {\n entries.push({ key: 'optional', value: literal(true), quoted: false });\n }\n if (dep.host) {\n entries.push({ key: 'host', value: literal(true), quoted: false });\n }\n if (dep.self) {\n entries.push({ key: 'self', value: literal(true), quoted: false });\n }\n if (dep.skipSelf) {\n entries.push({ key: 'skipSelf', value: literal(true), quoted: false });\n }\n return entries.length > 0 ? literalMap(entries) : null;\n}\n/**\n * A helper function useful for extracting `R3DependencyMetadata` from a Render2\n * `CompileTypeMetadata` instance.\n */\nfunction dependenciesFromGlobalMetadata(type, outputCtx, reflector) {\n // Use the `CompileReflector` to look up references to some well-known Angular types. These will\n // be compared with the token to statically determine whether the token has significance to\n // Angular, and set the correct `R3ResolvedDependencyType` as a result.\n const injectorRef = reflector.resolveExternalReference(Identifiers.Injector);\n // Iterate through the type's DI dependencies and produce `R3DependencyMetadata` for each of them.\n const deps = [];\n for (let dependency of type.diDeps) {\n if (dependency.token) {\n const tokenRef = tokenReference(dependency.token);\n let resolved = dependency.isAttribute ?\n R3ResolvedDependencyType.Attribute :\n R3ResolvedDependencyType.Token;\n // In the case of most dependencies, the token will be a reference to a type. Sometimes,\n // however, it can be a string, in the case of older Angular code or @Attribute injection.\n const token = tokenRef instanceof StaticSymbol ? outputCtx.importExpr(tokenRef) : literal(tokenRef);\n // Construct the dependency.\n deps.push({\n token,\n attribute: null,\n resolved,\n host: !!dependency.isHost,\n optional: !!dependency.isOptional,\n self: !!dependency.isSelf,\n skipSelf: !!dependency.isSkipSelf,\n });\n }\n else {\n unsupported('dependency without a token');\n }\n }\n return deps;\n}\nfunction isDelegatedMetadata(meta) {\n return meta.delegateType !== undefined;\n}\nfunction isExpressionFactoryMetadata(meta) {\n return meta.expression !== undefined;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction compileInjectable(meta) {\n let result = null;\n const factoryMeta = {\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: meta.typeArgumentCount,\n deps: [],\n injectFn: Identifiers.inject,\n target: R3FactoryTarget.Injectable,\n };\n if (meta.useClass !== undefined) {\n // meta.useClass has two modes of operation. Either deps are specified, in which case `new` is\n // used to instantiate the class with dependencies injected, or deps are not specified and\n // the factory of the class is used to instantiate it.\n //\n // A special case exists for useClass: Type where Type is the injectable type itself and no\n // deps are specified, in which case 'useClass' is effectively ignored.\n const useClassOnSelf = meta.useClass.isEquivalent(meta.internalType);\n let deps = undefined;\n if (meta.userDeps !== undefined) {\n deps = meta.userDeps;\n }\n if (deps !== undefined) {\n // factory: () => new meta.useClass(...deps)\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { delegate: meta.useClass, delegateDeps: deps, delegateType: R3FactoryDelegateType.Class }));\n }\n else if (useClassOnSelf) {\n result = compileFactoryFunction(factoryMeta);\n }\n else {\n result = delegateToFactory(meta.type.value, meta.useClass);\n }\n }\n else if (meta.useFactory !== undefined) {\n if (meta.userDeps !== undefined) {\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { delegate: meta.useFactory, delegateDeps: meta.userDeps || [], delegateType: R3FactoryDelegateType.Function }));\n }\n else {\n result = {\n statements: [],\n factory: fn([], [new ReturnStatement(meta.useFactory.callFn([]))])\n };\n }\n }\n else if (meta.useValue !== undefined) {\n // Note: it's safe to use `meta.useValue` instead of the `USE_VALUE in meta` check used for\n // client code because meta.useValue is an Expression which will be defined even if the actual\n // value is undefined.\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: meta.useValue }));\n }\n else if (meta.useExisting !== undefined) {\n // useExisting is an `inject` call on the existing token.\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: importExpr(Identifiers.inject).callFn([meta.useExisting]) }));\n }\n else {\n result = delegateToFactory(meta.type.value, meta.internalType);\n }\n const token = meta.internalType;\n const injectableProps = { token, factory: result.factory };\n // Only generate providedIn property if it has a non-null value\n if (meta.providedIn.value !== null) {\n injectableProps.providedIn = meta.providedIn;\n }\n const expression = importExpr(Identifiers.ɵɵdefineInjectable).callFn([mapToMapExpression(injectableProps)]);\n const type = new ExpressionType(importExpr(Identifiers.InjectableDef, [typeWithParameters(meta.type.type, meta.typeArgumentCount)]));\n return {\n expression,\n type,\n statements: result.statements,\n };\n}\nfunction delegateToFactory(type, internalType) {\n return {\n statements: [],\n // If types are the same, we can generate `factory: type.ɵfac`\n // If types are different, we have to generate a wrapper function to ensure\n // the internal type has been resolved (`factory: function(t) { return type.ɵfac(t); }`)\n factory: type.node === internalType.node ?\n internalType.prop('ɵfac') :\n fn([new FnParam('t', DYNAMIC_TYPE)], [new ReturnStatement(internalType.callMethod('ɵfac', [variable('t')]))])\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction assertArrayOfStrings(identifier, value) {\n if (value == null) {\n return;\n }\n if (!Array.isArray(value)) {\n throw new Error(`Expected '${identifier}' to be an array of strings.`);\n }\n for (let i = 0; i < value.length; i += 1) {\n if (typeof value[i] !== 'string') {\n throw new Error(`Expected '${identifier}' to be an array of strings.`);\n }\n }\n}\nconst UNUSABLE_INTERPOLATION_REGEXPS = [\n /^\\s*$/,\n /[<>]/,\n /^[{}]$/,\n /&(#|[a-z])/i,\n /^\\/\\//,\n];\nfunction assertInterpolationSymbols(identifier, value) {\n if (value != null && !(Array.isArray(value) && value.length == 2)) {\n throw new Error(`Expected '${identifier}' to be an array, [start, end].`);\n }\n else if (value != null) {\n const start = value[0];\n const end = value[1];\n // Check for unusable interpolation symbols\n UNUSABLE_INTERPOLATION_REGEXPS.forEach(regexp => {\n if (regexp.test(start) || regexp.test(end)) {\n throw new Error(`['${start}', '${end}'] contains unusable interpolation symbol.`);\n }\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass InterpolationConfig {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n static fromArray(markers) {\n if (!markers) {\n return DEFAULT_INTERPOLATION_CONFIG;\n }\n assertInterpolationSymbols('interpolation', markers);\n return new InterpolationConfig(markers[0], markers[1]);\n }\n}\nconst DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\nconst VERSION = 3;\nconst JS_B64_PREFIX = '# sourceMappingURL=data:application/json;base64,';\nclass SourceMapGenerator {\n constructor(file = null) {\n this.file = file;\n this.sourcesContent = new Map();\n this.lines = [];\n this.lastCol0 = 0;\n this.hasMappings = false;\n }\n // The content is `null` when the content is expected to be loaded using the URL\n addSource(url, content = null) {\n if (!this.sourcesContent.has(url)) {\n this.sourcesContent.set(url, content);\n }\n return this;\n }\n addLine() {\n this.lines.push([]);\n this.lastCol0 = 0;\n return this;\n }\n addMapping(col0, sourceUrl, sourceLine0, sourceCol0) {\n if (!this.currentLine) {\n throw new Error(`A line must be added before mappings can be added`);\n }\n if (sourceUrl != null && !this.sourcesContent.has(sourceUrl)) {\n throw new Error(`Unknown source file \"${sourceUrl}\"`);\n }\n if (col0 == null) {\n throw new Error(`The column in the generated code must be provided`);\n }\n if (col0 < this.lastCol0) {\n throw new Error(`Mapping should be added in output order`);\n }\n if (sourceUrl && (sourceLine0 == null || sourceCol0 == null)) {\n throw new Error(`The source location must be provided when a source url is provided`);\n }\n this.hasMappings = true;\n this.lastCol0 = col0;\n this.currentLine.push({ col0, sourceUrl, sourceLine0, sourceCol0 });\n return this;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get currentLine() {\n return this.lines.slice(-1)[0];\n }\n toJSON() {\n if (!this.hasMappings) {\n return null;\n }\n const sourcesIndex = new Map();\n const sources = [];\n const sourcesContent = [];\n Array.from(this.sourcesContent.keys()).forEach((url, i) => {\n sourcesIndex.set(url, i);\n sources.push(url);\n sourcesContent.push(this.sourcesContent.get(url) || null);\n });\n let mappings = '';\n let lastCol0 = 0;\n let lastSourceIndex = 0;\n let lastSourceLine0 = 0;\n let lastSourceCol0 = 0;\n this.lines.forEach(segments => {\n lastCol0 = 0;\n mappings += segments\n .map(segment => {\n // zero-based starting column of the line in the generated code\n let segAsStr = toBase64VLQ(segment.col0 - lastCol0);\n lastCol0 = segment.col0;\n if (segment.sourceUrl != null) {\n // zero-based index into the “sources” list\n segAsStr +=\n toBase64VLQ(sourcesIndex.get(segment.sourceUrl) - lastSourceIndex);\n lastSourceIndex = sourcesIndex.get(segment.sourceUrl);\n // the zero-based starting line in the original source\n segAsStr += toBase64VLQ(segment.sourceLine0 - lastSourceLine0);\n lastSourceLine0 = segment.sourceLine0;\n // the zero-based starting column in the original source\n segAsStr += toBase64VLQ(segment.sourceCol0 - lastSourceCol0);\n lastSourceCol0 = segment.sourceCol0;\n }\n return segAsStr;\n })\n .join(',');\n mappings += ';';\n });\n mappings = mappings.slice(0, -1);\n return {\n 'file': this.file || '',\n 'version': VERSION,\n 'sourceRoot': '',\n 'sources': sources,\n 'sourcesContent': sourcesContent,\n 'mappings': mappings,\n };\n }\n toJsComment() {\n return this.hasMappings ? '//' + JS_B64_PREFIX + toBase64String(JSON.stringify(this, null, 0)) :\n '';\n }\n}\nfunction toBase64String(value) {\n let b64 = '';\n const encoded = utf8Encode(value);\n for (let i = 0; i < encoded.length;) {\n const i1 = encoded[i++];\n const i2 = i < encoded.length ? encoded[i++] : null;\n const i3 = i < encoded.length ? encoded[i++] : null;\n b64 += toBase64Digit(i1 >> 2);\n b64 += toBase64Digit(((i1 & 3) << 4) | (i2 === null ? 0 : i2 >> 4));\n b64 += i2 === null ? '=' : toBase64Digit(((i2 & 15) << 2) | (i3 === null ? 0 : i3 >> 6));\n b64 += i2 === null || i3 === null ? '=' : toBase64Digit(i3 & 63);\n }\n return b64;\n}\nfunction toBase64VLQ(value) {\n value = value < 0 ? ((-value) << 1) + 1 : value << 1;\n let out = '';\n do {\n let digit = value & 31;\n value = value >> 5;\n if (value > 0) {\n digit = digit | 32;\n }\n out += toBase64Digit(digit);\n } while (value > 0);\n return out;\n}\nconst B64_DIGITS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfunction toBase64Digit(value) {\n if (value < 0 || value >= 64) {\n throw new Error(`Can only encode value in the range [0, 63]`);\n }\n return B64_DIGITS[value];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\\\|\\n|\\r|\\$/g;\nconst _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;\nconst _INDENT_WITH = ' ';\nconst CATCH_ERROR_VAR$1 = variable('error', null, null);\nconst CATCH_STACK_VAR$1 = variable('stack', null, null);\nclass _EmittedLine {\n constructor(indent) {\n this.indent = indent;\n this.partsLength = 0;\n this.parts = [];\n this.srcSpans = [];\n }\n}\nclass EmitterVisitorContext {\n constructor(_indent) {\n this._indent = _indent;\n this._classes = [];\n this._preambleLineCount = 0;\n this._lines = [new _EmittedLine(_indent)];\n }\n static createRoot() {\n return new EmitterVisitorContext(0);\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get _currentLine() {\n return this._lines[this._lines.length - 1];\n }\n println(from, lastPart = '') {\n this.print(from || null, lastPart, true);\n }\n lineIsEmpty() {\n return this._currentLine.parts.length === 0;\n }\n lineLength() {\n return this._currentLine.indent * _INDENT_WITH.length + this._currentLine.partsLength;\n }\n print(from, part, newLine = false) {\n if (part.length > 0) {\n this._currentLine.parts.push(part);\n this._currentLine.partsLength += part.length;\n this._currentLine.srcSpans.push(from && from.sourceSpan || null);\n }\n if (newLine) {\n this._lines.push(new _EmittedLine(this._indent));\n }\n }\n removeEmptyLastLine() {\n if (this.lineIsEmpty()) {\n this._lines.pop();\n }\n }\n incIndent() {\n this._indent++;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n decIndent() {\n this._indent--;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n pushClass(clazz) {\n this._classes.push(clazz);\n }\n popClass() {\n return this._classes.pop();\n }\n get currentClass() {\n return this._classes.length > 0 ? this._classes[this._classes.length - 1] : null;\n }\n toSource() {\n return this.sourceLines\n .map(l => l.parts.length > 0 ? _createIndent(l.indent) + l.parts.join('') : '')\n .join('\\n');\n }\n toSourceMapGenerator(genFilePath, startsAtLine = 0) {\n const map = new SourceMapGenerator(genFilePath);\n let firstOffsetMapped = false;\n const mapFirstOffsetIfNeeded = () => {\n if (!firstOffsetMapped) {\n // Add a single space so that tools won't try to load the file from disk.\n // Note: We are using virtual urls like `ng:///`, so we have to\n // provide a content here.\n map.addSource(genFilePath, ' ').addMapping(0, genFilePath, 0, 0);\n firstOffsetMapped = true;\n }\n };\n for (let i = 0; i < startsAtLine; i++) {\n map.addLine();\n mapFirstOffsetIfNeeded();\n }\n this.sourceLines.forEach((line, lineIdx) => {\n map.addLine();\n const spans = line.srcSpans;\n const parts = line.parts;\n let col0 = line.indent * _INDENT_WITH.length;\n let spanIdx = 0;\n // skip leading parts without source spans\n while (spanIdx < spans.length && !spans[spanIdx]) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n if (spanIdx < spans.length && lineIdx === 0 && col0 === 0) {\n firstOffsetMapped = true;\n }\n else {\n mapFirstOffsetIfNeeded();\n }\n while (spanIdx < spans.length) {\n const span = spans[spanIdx];\n const source = span.start.file;\n const sourceLine = span.start.line;\n const sourceCol = span.start.col;\n map.addSource(source.url, source.content)\n .addMapping(col0, source.url, sourceLine, sourceCol);\n col0 += parts[spanIdx].length;\n spanIdx++;\n // assign parts without span or the same span to the previous segment\n while (spanIdx < spans.length && (span === spans[spanIdx] || !spans[spanIdx])) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n }\n });\n return map;\n }\n setPreambleLineCount(count) {\n return this._preambleLineCount = count;\n }\n spanOf(line, column) {\n const emittedLine = this._lines[line - this._preambleLineCount];\n if (emittedLine) {\n let columnsLeft = column - _createIndent(emittedLine.indent).length;\n for (let partIndex = 0; partIndex < emittedLine.parts.length; partIndex++) {\n const part = emittedLine.parts[partIndex];\n if (part.length > columnsLeft) {\n return emittedLine.srcSpans[partIndex];\n }\n columnsLeft -= part.length;\n }\n }\n return null;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get sourceLines() {\n if (this._lines.length && this._lines[this._lines.length - 1].parts.length === 0) {\n return this._lines.slice(0, -1);\n }\n return this._lines;\n }\n}\nclass AbstractEmitterVisitor {\n constructor(_escapeDollarInStrings) {\n this._escapeDollarInStrings = _escapeDollarInStrings;\n }\n printLeadingComments(stmt, ctx) {\n if (stmt.leadingComments === undefined) {\n return;\n }\n for (const comment of stmt.leadingComments) {\n if (comment instanceof JSDocComment) {\n ctx.print(stmt, `/*${comment.toString()}*/`, comment.trailingNewline);\n }\n else {\n if (comment.multiline) {\n ctx.print(stmt, `/* ${comment.text} */`, comment.trailingNewline);\n }\n else {\n comment.text.split('\\n').forEach((line) => {\n ctx.println(stmt, `// ${line}`);\n });\n }\n }\n }\n }\n visitExpressionStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n stmt.expr.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitReturnStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `return `);\n stmt.value.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitIfStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `if (`);\n stmt.condition.visitExpression(this, ctx);\n ctx.print(stmt, `) {`);\n const hasElseCase = stmt.falseCase != null && stmt.falseCase.length > 0;\n if (stmt.trueCase.length <= 1 && !hasElseCase) {\n ctx.print(stmt, ` `);\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.removeEmptyLastLine();\n ctx.print(stmt, ` `);\n }\n else {\n ctx.println();\n ctx.incIndent();\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.decIndent();\n if (hasElseCase) {\n ctx.println(stmt, `} else {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.falseCase, ctx);\n ctx.decIndent();\n }\n }\n ctx.println(stmt, `}`);\n return null;\n }\n visitThrowStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `throw `);\n stmt.error.visitExpression(this, ctx);\n ctx.println(stmt, `;`);\n return null;\n }\n visitWriteVarExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n ctx.print(expr, `${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWriteKeyExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `[`);\n expr.index.visitExpression(this, ctx);\n ctx.print(expr, `] = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWritePropExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `.${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitInvokeMethodExpr(expr, ctx) {\n expr.receiver.visitExpression(this, ctx);\n let name = expr.name;\n if (expr.builtin != null) {\n name = this.getBuiltinMethodName(expr.builtin);\n if (name == null) {\n // some builtins just mean to skip the call.\n return null;\n }\n }\n ctx.print(expr, `.${name}(`);\n this.visitAllExpressions(expr.args, ctx, `,`);\n ctx.print(expr, `)`);\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n expr.fn.visitExpression(this, ctx);\n ctx.print(expr, `(`);\n this.visitAllExpressions(expr.args, ctx, ',');\n ctx.print(expr, `)`);\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Abstract emitter cannot visit WrappedNodeExpr.');\n }\n visitTypeofExpr(expr, ctx) {\n ctx.print(expr, 'typeof ');\n expr.expr.visitExpression(this, ctx);\n }\n visitReadVarExpr(ast, ctx) {\n let varName = ast.name;\n if (ast.builtin != null) {\n switch (ast.builtin) {\n case BuiltinVar.Super:\n varName = 'super';\n break;\n case BuiltinVar.This:\n varName = 'this';\n break;\n case BuiltinVar.CatchError:\n varName = CATCH_ERROR_VAR$1.name;\n break;\n case BuiltinVar.CatchStack:\n varName = CATCH_STACK_VAR$1.name;\n break;\n default:\n throw new Error(`Unknown builtin variable ${ast.builtin}`);\n }\n }\n ctx.print(ast, varName);\n return null;\n }\n visitInstantiateExpr(ast, ctx) {\n ctx.print(ast, `new `);\n ast.classExpr.visitExpression(this, ctx);\n ctx.print(ast, `(`);\n this.visitAllExpressions(ast.args, ctx, ',');\n ctx.print(ast, `)`);\n return null;\n }\n visitLiteralExpr(ast, ctx) {\n const value = ast.value;\n if (typeof value === 'string') {\n ctx.print(ast, escapeIdentifier(value, this._escapeDollarInStrings));\n }\n else {\n ctx.print(ast, `${value}`);\n }\n return null;\n }\n visitLocalizedString(ast, ctx) {\n const head = ast.serializeI18nHead();\n ctx.print(ast, '$localize `' + head.raw);\n for (let i = 1; i < ast.messageParts.length; i++) {\n ctx.print(ast, '${');\n ast.expressions[i - 1].visitExpression(this, ctx);\n ctx.print(ast, `}${ast.serializeI18nTemplatePart(i).raw}`);\n }\n ctx.print(ast, '`');\n return null;\n }\n visitConditionalExpr(ast, ctx) {\n ctx.print(ast, `(`);\n ast.condition.visitExpression(this, ctx);\n ctx.print(ast, '? ');\n ast.trueCase.visitExpression(this, ctx);\n ctx.print(ast, ': ');\n ast.falseCase.visitExpression(this, ctx);\n ctx.print(ast, `)`);\n return null;\n }\n visitNotExpr(ast, ctx) {\n ctx.print(ast, '!');\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitAssertNotNullExpr(ast, ctx) {\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitUnaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case UnaryOperator.Plus:\n opStr = '+';\n break;\n case UnaryOperator.Minus:\n opStr = '-';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ctx.print(ast, opStr);\n ast.expr.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitBinaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case BinaryOperator.Equals:\n opStr = '==';\n break;\n case BinaryOperator.Identical:\n opStr = '===';\n break;\n case BinaryOperator.NotEquals:\n opStr = '!=';\n break;\n case BinaryOperator.NotIdentical:\n opStr = '!==';\n break;\n case BinaryOperator.And:\n opStr = '&&';\n break;\n case BinaryOperator.BitwiseAnd:\n opStr = '&';\n break;\n case BinaryOperator.Or:\n opStr = '||';\n break;\n case BinaryOperator.Plus:\n opStr = '+';\n break;\n case BinaryOperator.Minus:\n opStr = '-';\n break;\n case BinaryOperator.Divide:\n opStr = '/';\n break;\n case BinaryOperator.Multiply:\n opStr = '*';\n break;\n case BinaryOperator.Modulo:\n opStr = '%';\n break;\n case BinaryOperator.Lower:\n opStr = '<';\n break;\n case BinaryOperator.LowerEquals:\n opStr = '<=';\n break;\n case BinaryOperator.Bigger:\n opStr = '>';\n break;\n case BinaryOperator.BiggerEquals:\n opStr = '>=';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ast.lhs.visitExpression(this, ctx);\n ctx.print(ast, ` ${opStr} `);\n ast.rhs.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitReadPropExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `.`);\n ctx.print(ast, ast.name);\n return null;\n }\n visitReadKeyExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `[`);\n ast.index.visitExpression(this, ctx);\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralArrayExpr(ast, ctx) {\n ctx.print(ast, `[`);\n this.visitAllExpressions(ast.entries, ctx, ',');\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralMapExpr(ast, ctx) {\n ctx.print(ast, `{`);\n this.visitAllObjects(entry => {\n ctx.print(ast, `${escapeIdentifier(entry.key, this._escapeDollarInStrings, entry.quoted)}:`);\n entry.value.visitExpression(this, ctx);\n }, ast.entries, ctx, ',');\n ctx.print(ast, `}`);\n return null;\n }\n visitCommaExpr(ast, ctx) {\n ctx.print(ast, '(');\n this.visitAllExpressions(ast.parts, ctx, ',');\n ctx.print(ast, ')');\n return null;\n }\n visitAllExpressions(expressions, ctx, separator) {\n this.visitAllObjects(expr => expr.visitExpression(this, ctx), expressions, ctx, separator);\n }\n visitAllObjects(handler, expressions, ctx, separator) {\n let incrementedIndent = false;\n for (let i = 0; i < expressions.length; i++) {\n if (i > 0) {\n if (ctx.lineLength() > 80) {\n ctx.print(null, separator, true);\n if (!incrementedIndent) {\n // continuation are marked with double indent.\n ctx.incIndent();\n ctx.incIndent();\n incrementedIndent = true;\n }\n }\n else {\n ctx.print(null, separator, false);\n }\n }\n handler(expressions[i]);\n }\n if (incrementedIndent) {\n // continuation are marked with double indent.\n ctx.decIndent();\n ctx.decIndent();\n }\n }\n visitAllStatements(statements, ctx) {\n statements.forEach((stmt) => stmt.visitStatement(this, ctx));\n }\n}\nfunction escapeIdentifier(input, escapeDollar, alwaysQuote = true) {\n if (input == null) {\n return null;\n }\n const body = input.replace(_SINGLE_QUOTE_ESCAPE_STRING_RE, (...match) => {\n if (match[0] == '$') {\n return escapeDollar ? '\\\\$' : '$';\n }\n else if (match[0] == '\\n') {\n return '\\\\n';\n }\n else if (match[0] == '\\r') {\n return '\\\\r';\n }\n else {\n return `\\\\${match[0]}`;\n }\n });\n const requiresQuotes = alwaysQuote || !_LEGAL_IDENTIFIER_RE.test(body);\n return requiresQuotes ? `'${body}'` : body;\n}\nfunction _createIndent(count) {\n let res = '';\n for (let i = 0; i < count; i++) {\n res += _INDENT_WITH;\n }\n return res;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass AbstractJsEmitterVisitor extends AbstractEmitterVisitor {\n constructor() {\n super(false);\n }\n visitDeclareClassStmt(stmt, ctx) {\n ctx.pushClass(stmt);\n this._visitClassConstructor(stmt, ctx);\n if (stmt.parent != null) {\n ctx.print(stmt, `${stmt.name}.prototype = Object.create(`);\n stmt.parent.visitExpression(this, ctx);\n ctx.println(stmt, `.prototype);`);\n }\n stmt.getters.forEach((getter) => this._visitClassGetter(stmt, getter, ctx));\n stmt.methods.forEach((method) => this._visitClassMethod(stmt, method, ctx));\n ctx.popClass();\n return null;\n }\n _visitClassConstructor(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n if (stmt.constructorMethod != null) {\n this._visitParams(stmt.constructorMethod.params, ctx);\n }\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n if (stmt.constructorMethod != null) {\n if (stmt.constructorMethod.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(stmt.constructorMethod.body, ctx);\n }\n }\n ctx.decIndent();\n ctx.println(stmt, `}`);\n }\n _visitClassGetter(stmt, getter, ctx) {\n ctx.println(stmt, `Object.defineProperty(${stmt.name}.prototype, '${getter.name}', { get: function() {`);\n ctx.incIndent();\n if (getter.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(getter.body, ctx);\n }\n ctx.decIndent();\n ctx.println(stmt, `}});`);\n }\n _visitClassMethod(stmt, method, ctx) {\n ctx.print(stmt, `${stmt.name}.prototype.${method.name} = function(`);\n this._visitParams(method.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n if (method.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(method.body, ctx);\n }\n ctx.decIndent();\n ctx.println(stmt, `};`);\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Cannot emit a WrappedNodeExpr in Javascript.');\n }\n visitReadVarExpr(ast, ctx) {\n if (ast.builtin === BuiltinVar.This) {\n ctx.print(ast, 'self');\n }\n else if (ast.builtin === BuiltinVar.Super) {\n throw new Error(`'super' needs to be handled at a parent ast node, not at the variable level!`);\n }\n else {\n super.visitReadVarExpr(ast, ctx);\n }\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n ctx.print(stmt, `var ${stmt.name}`);\n if (stmt.value) {\n ctx.print(stmt, ' = ');\n stmt.value.visitExpression(this, ctx);\n }\n ctx.println(stmt, `;`);\n return null;\n }\n visitCastExpr(ast, ctx) {\n ast.value.visitExpression(this, ctx);\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n const fnExpr = expr.fn;\n if (fnExpr instanceof ReadVarExpr && fnExpr.builtin === BuiltinVar.Super) {\n ctx.currentClass.parent.visitExpression(this, ctx);\n ctx.print(expr, `.call(this`);\n if (expr.args.length > 0) {\n ctx.print(expr, `, `);\n this.visitAllExpressions(expr.args, ctx, ',');\n }\n ctx.print(expr, `)`);\n }\n else {\n super.visitInvokeFunctionExpr(expr, ctx);\n }\n return null;\n }\n visitFunctionExpr(ast, ctx) {\n ctx.print(ast, `function${ast.name ? ' ' + ast.name : ''}(`);\n this._visitParams(ast.params, ctx);\n ctx.println(ast, `) {`);\n ctx.incIndent();\n this.visitAllStatements(ast.statements, ctx);\n ctx.decIndent();\n ctx.print(ast, `}`);\n return null;\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n this._visitParams(stmt.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.statements, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitTryCatchStmt(stmt, ctx) {\n ctx.println(stmt, `try {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.bodyStmts, ctx);\n ctx.decIndent();\n ctx.println(stmt, `} catch (${CATCH_ERROR_VAR$1.name}) {`);\n ctx.incIndent();\n const catchStmts = [CATCH_STACK_VAR$1.set(CATCH_ERROR_VAR$1.prop('stack')).toDeclStmt(null, [\n StmtModifier.Final\n ])].concat(stmt.catchStmts);\n this.visitAllStatements(catchStmts, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitLocalizedString(ast, ctx) {\n // The following convoluted piece of code is effectively the downlevelled equivalent of\n // ```\n // $localize `...`\n // ```\n // which is effectively like:\n // ```\n // $localize(__makeTemplateObject(cooked, raw), expression1, expression2, ...);\n // ```\n //\n // The `$localize` function expects a \"template object\", which is an array of \"cooked\" strings\n // plus a `raw` property that contains an array of \"raw\" strings.\n //\n // In some environments a helper function called `__makeTemplateObject(cooked, raw)` might be\n // available, in which case we use that. Otherwise we must create our own helper function\n // inline.\n //\n // In the inline function, if `Object.defineProperty` is available we use that to attach the\n // `raw` array.\n ctx.print(ast, '$localize((this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e})(');\n const parts = [ast.serializeI18nHead()];\n for (let i = 1; i < ast.messageParts.length; i++) {\n parts.push(ast.serializeI18nTemplatePart(i));\n }\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.cooked, false)).join(', ')}], `);\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.raw, false)).join(', ')}])`);\n ast.expressions.forEach(expression => {\n ctx.print(ast, ', ');\n expression.visitExpression(this, ctx);\n });\n ctx.print(ast, ')');\n return null;\n }\n _visitParams(params, ctx) {\n this.visitAllObjects(param => ctx.print(null, param.name), params, ctx, ',');\n }\n getBuiltinMethodName(method) {\n let name;\n switch (method) {\n case BuiltinMethod.ConcatArray:\n name = 'concat';\n break;\n case BuiltinMethod.SubscribeObservable:\n name = 'subscribe';\n break;\n case BuiltinMethod.Bind:\n name = 'bind';\n break;\n default:\n throw new Error(`Unknown builtin method: ${method}`);\n }\n return name;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A helper class to manage the evaluation of JIT generated code.\n */\nclass JitEvaluator {\n /**\n *\n * @param sourceUrl The URL of the generated code.\n * @param statements An array of Angular statement AST nodes to be evaluated.\n * @param reflector A helper used when converting the statements to executable code.\n * @param createSourceMaps If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns A map of all the variables in the generated code.\n */\n evaluateStatements(sourceUrl, statements, reflector, createSourceMaps) {\n const converter = new JitEmitterVisitor(reflector);\n const ctx = EmitterVisitorContext.createRoot();\n // Ensure generated code is in strict mode\n if (statements.length > 0 && !isUseStrictStatement(statements[0])) {\n statements = [\n literal('use strict').toStmt(),\n ...statements,\n ];\n }\n converter.visitAllStatements(statements, ctx);\n converter.createReturnStmt(ctx);\n return this.evaluateCode(sourceUrl, ctx, converter.getArgs(), createSourceMaps);\n }\n /**\n * Evaluate a piece of JIT generated code.\n * @param sourceUrl The URL of this generated code.\n * @param ctx A context object that contains an AST of the code to be evaluated.\n * @param vars A map containing the names and values of variables that the evaluated code might\n * reference.\n * @param createSourceMap If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns The result of evaluating the code.\n */\n evaluateCode(sourceUrl, ctx, vars, createSourceMap) {\n let fnBody = `\"use strict\";${ctx.toSource()}\\n//# sourceURL=${sourceUrl}`;\n const fnArgNames = [];\n const fnArgValues = [];\n for (const argName in vars) {\n fnArgValues.push(vars[argName]);\n fnArgNames.push(argName);\n }\n if (createSourceMap) {\n // using `new Function(...)` generates a header, 1 line of no arguments, 2 lines otherwise\n // E.g. ```\n // function anonymous(a,b,c\n // /**/) { ... }```\n // We don't want to hard code this fact, so we auto detect it via an empty function first.\n const emptyFn = new Function(...fnArgNames.concat('return null;')).toString();\n const headerLines = emptyFn.slice(0, emptyFn.indexOf('return null;')).split('\\n').length - 1;\n fnBody += `\\n${ctx.toSourceMapGenerator(sourceUrl, headerLines).toJsComment()}`;\n }\n const fn = new Function(...fnArgNames.concat(fnBody));\n return this.executeFunction(fn, fnArgValues);\n }\n /**\n * Execute a JIT generated function by calling it.\n *\n * This method can be overridden in tests to capture the functions that are generated\n * by this `JitEvaluator` class.\n *\n * @param fn A function to execute.\n * @param args The arguments to pass to the function being executed.\n * @returns The return value of the executed function.\n */\n executeFunction(fn, args) {\n return fn(...args);\n }\n}\n/**\n * An Angular AST visitor that converts AST nodes into executable JavaScript code.\n */\nclass JitEmitterVisitor extends AbstractJsEmitterVisitor {\n constructor(reflector) {\n super();\n this.reflector = reflector;\n this._evalArgNames = [];\n this._evalArgValues = [];\n this._evalExportedVars = [];\n }\n createReturnStmt(ctx) {\n const stmt = new ReturnStatement(new LiteralMapExpr(this._evalExportedVars.map(resultVar => new LiteralMapEntry(resultVar, variable(resultVar), false))));\n stmt.visitStatement(this, ctx);\n }\n getArgs() {\n const result = {};\n for (let i = 0; i < this._evalArgNames.length; i++) {\n result[this._evalArgNames[i]] = this._evalArgValues[i];\n }\n return result;\n }\n visitExternalExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, this.reflector.resolveExternalReference(ast.value), ctx);\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, ast.node, ctx);\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareVarStmt(stmt, ctx);\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareFunctionStmt(stmt, ctx);\n }\n visitDeclareClassStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareClassStmt(stmt, ctx);\n }\n _emitReferenceToExternal(ast, value, ctx) {\n let id = this._evalArgValues.indexOf(value);\n if (id === -1) {\n id = this._evalArgValues.length;\n this._evalArgValues.push(value);\n const name = identifierName({ reference: value }) || 'val';\n this._evalArgNames.push(`jit_${name}_${id}`);\n }\n ctx.print(ast, this._evalArgNames[id]);\n }\n}\nfunction isUseStrictStatement(statement) {\n return statement.isEquivalent(literal('use strict').toStmt());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst $EOF = 0;\nconst $BSPACE = 8;\nconst $TAB = 9;\nconst $LF = 10;\nconst $VTAB = 11;\nconst $FF = 12;\nconst $CR = 13;\nconst $SPACE = 32;\nconst $BANG = 33;\nconst $DQ = 34;\nconst $HASH = 35;\nconst $$ = 36;\nconst $PERCENT = 37;\nconst $AMPERSAND = 38;\nconst $SQ = 39;\nconst $LPAREN = 40;\nconst $RPAREN = 41;\nconst $STAR = 42;\nconst $PLUS = 43;\nconst $COMMA = 44;\nconst $MINUS = 45;\nconst $PERIOD = 46;\nconst $SLASH = 47;\nconst $COLON = 58;\nconst $SEMICOLON = 59;\nconst $LT = 60;\nconst $EQ = 61;\nconst $GT = 62;\nconst $QUESTION = 63;\nconst $0 = 48;\nconst $7 = 55;\nconst $9 = 57;\nconst $A = 65;\nconst $E = 69;\nconst $F = 70;\nconst $X = 88;\nconst $Z = 90;\nconst $LBRACKET = 91;\nconst $BACKSLASH = 92;\nconst $RBRACKET = 93;\nconst $CARET = 94;\nconst $_ = 95;\nconst $a = 97;\nconst $b = 98;\nconst $e = 101;\nconst $f = 102;\nconst $n = 110;\nconst $r = 114;\nconst $t = 116;\nconst $u = 117;\nconst $v = 118;\nconst $x = 120;\nconst $z = 122;\nconst $LBRACE = 123;\nconst $BAR = 124;\nconst $RBRACE = 125;\nconst $NBSP = 160;\nconst $PIPE = 124;\nconst $TILDA = 126;\nconst $AT = 64;\nconst $BT = 96;\nfunction isWhitespace(code) {\n return (code >= $TAB && code <= $SPACE) || (code == $NBSP);\n}\nfunction isDigit(code) {\n return $0 <= code && code <= $9;\n}\nfunction isAsciiLetter(code) {\n return code >= $a && code <= $z || code >= $A && code <= $Z;\n}\nfunction isAsciiHexDigit(code) {\n return code >= $a && code <= $f || code >= $A && code <= $F || isDigit(code);\n}\nfunction isNewLine(code) {\n return code === $LF || code === $CR;\n}\nfunction isOctalDigit(code) {\n return $0 <= code && code <= $7;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ParseLocation {\n constructor(file, offset, line, col) {\n this.file = file;\n this.offset = offset;\n this.line = line;\n this.col = col;\n }\n toString() {\n return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url;\n }\n moveBy(delta) {\n const source = this.file.content;\n const len = source.length;\n let offset = this.offset;\n let line = this.line;\n let col = this.col;\n while (offset > 0 && delta < 0) {\n offset--;\n delta++;\n const ch = source.charCodeAt(offset);\n if (ch == $LF) {\n line--;\n const priorLine = source.substr(0, offset - 1).lastIndexOf(String.fromCharCode($LF));\n col = priorLine > 0 ? offset - priorLine : offset;\n }\n else {\n col--;\n }\n }\n while (offset < len && delta > 0) {\n const ch = source.charCodeAt(offset);\n offset++;\n delta--;\n if (ch == $LF) {\n line++;\n col = 0;\n }\n else {\n col++;\n }\n }\n return new ParseLocation(this.file, offset, line, col);\n }\n // Return the source around the location\n // Up to `maxChars` or `maxLines` on each side of the location\n getContext(maxChars, maxLines) {\n const content = this.file.content;\n let startOffset = this.offset;\n if (startOffset != null) {\n if (startOffset > content.length - 1) {\n startOffset = content.length - 1;\n }\n let endOffset = startOffset;\n let ctxChars = 0;\n let ctxLines = 0;\n while (ctxChars < maxChars && startOffset > 0) {\n startOffset--;\n ctxChars++;\n if (content[startOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n ctxChars = 0;\n ctxLines = 0;\n while (ctxChars < maxChars && endOffset < content.length - 1) {\n endOffset++;\n ctxChars++;\n if (content[endOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n return {\n before: content.substring(startOffset, this.offset),\n after: content.substring(this.offset, endOffset + 1),\n };\n }\n return null;\n }\n}\nclass ParseSourceFile {\n constructor(content, url) {\n this.content = content;\n this.url = url;\n }\n}\nclass ParseSourceSpan {\n /**\n * Create an object that holds information about spans of tokens/nodes captured during\n * lexing/parsing of text.\n *\n * @param start\n * The location of the start of the span (having skipped leading trivia).\n * Skipping leading trivia makes source-spans more \"user friendly\", since things like HTML\n * elements will appear to begin at the start of the opening tag, rather than at the start of any\n * leading trivia, which could include newlines.\n *\n * @param end\n * The location of the end of the span.\n *\n * @param fullStart\n * The start of the token without skipping the leading trivia.\n * This is used by tooling that splits tokens further, such as extracting Angular interpolations\n * from text tokens. Such tooling creates new source-spans relative to the original token's\n * source-span. If leading trivia characters have been skipped then the new source-spans may be\n * incorrectly offset.\n *\n * @param details\n * Additional information (such as identifier names) that should be associated with the span.\n */\n constructor(start, end, fullStart = start, details = null) {\n this.start = start;\n this.end = end;\n this.fullStart = fullStart;\n this.details = details;\n }\n toString() {\n return this.start.file.content.substring(this.start.offset, this.end.offset);\n }\n}\nvar ParseErrorLevel;\n(function (ParseErrorLevel) {\n ParseErrorLevel[ParseErrorLevel[\"WARNING\"] = 0] = \"WARNING\";\n ParseErrorLevel[ParseErrorLevel[\"ERROR\"] = 1] = \"ERROR\";\n})(ParseErrorLevel || (ParseErrorLevel = {}));\nclass ParseError {\n constructor(span, msg, level = ParseErrorLevel.ERROR) {\n this.span = span;\n this.msg = msg;\n this.level = level;\n }\n contextualMessage() {\n const ctx = this.span.start.getContext(100, 3);\n return ctx ? `${this.msg} (\"${ctx.before}[${ParseErrorLevel[this.level]} ->]${ctx.after}\")` :\n this.msg;\n }\n toString() {\n const details = this.span.details ? `, ${this.span.details}` : '';\n return `${this.contextualMessage()}: ${this.span.start}${details}`;\n }\n}\nfunction typeSourceSpan(kind, type) {\n const moduleUrl = identifierModuleUrl(type);\n const sourceFileName = moduleUrl != null ? `in ${kind} ${identifierName(type)} in ${moduleUrl}` :\n `in ${kind} ${identifierName(type)}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));\n}\n/**\n * Generates Source Span object for a given R3 Type for JIT mode.\n *\n * @param kind Component or Directive.\n * @param typeName name of the Component or Directive.\n * @param sourceUrl reference to Component or Directive source.\n * @returns instance of ParseSourceSpan that represent a given Component or Directive.\n */\nfunction r3JitTypeSourceSpan(kind, typeName, sourceUrl) {\n const sourceFileName = `in ${kind} ${typeName} in ${sourceUrl}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Implementation of `CompileReflector` which resolves references to @angular/core\n * symbols at runtime, according to a consumer-provided mapping.\n *\n * Only supports `resolveExternalReference`, all other methods throw.\n */\nclass R3JitReflector {\n constructor(context) {\n this.context = context;\n }\n resolveExternalReference(ref) {\n // This reflector only handles @angular/core imports.\n if (ref.moduleName !== '@angular/core') {\n throw new Error(`Cannot resolve external reference to ${ref.moduleName}, only references to @angular/core are supported.`);\n }\n if (!this.context.hasOwnProperty(ref.name)) {\n throw new Error(`No value provided for @angular/core symbol '${ref.name}'.`);\n }\n return this.context[ref.name];\n }\n parameters(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n annotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n shallowAnnotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n tryAnnotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n propMetadata(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n hasLifecycleHook(type, lcProperty) {\n throw new Error('Not implemented.');\n }\n guards(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n componentModuleUrl(type, cmpMetadata) {\n throw new Error('Not implemented.');\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction mapEntry(key, value) {\n return { key, value, quoted: false };\n}\nfunction mapLiteral(obj, quoted = false) {\n return literalMap(Object.keys(obj).map(key => ({\n key,\n quoted,\n value: obj[key],\n })));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Construct an `R3NgModuleDef` for the given `R3NgModuleMetadata`.\n */\nfunction compileNgModule(meta) {\n const { internalType, type: moduleType, bootstrap, declarations, imports, exports, schemas, containsForwardDecls, emitInline, id } = meta;\n const additionalStatements = [];\n const definitionMap = { type: internalType };\n // Only generate the keys in the metadata if the arrays have values.\n if (bootstrap.length) {\n definitionMap.bootstrap = refsToArray(bootstrap, containsForwardDecls);\n }\n // If requested to emit scope information inline, pass the declarations, imports and exports to\n // the `ɵɵdefineNgModule` call. The JIT compilation uses this.\n if (emitInline) {\n if (declarations.length) {\n definitionMap.declarations = refsToArray(declarations, containsForwardDecls);\n }\n if (imports.length) {\n definitionMap.imports = refsToArray(imports, containsForwardDecls);\n }\n if (exports.length) {\n definitionMap.exports = refsToArray(exports, containsForwardDecls);\n }\n }\n // If not emitting inline, the scope information is not passed into `ɵɵdefineNgModule` as it would\n // prevent tree-shaking of the declarations, imports and exports references.\n else {\n const setNgModuleScopeCall = generateSetNgModuleScopeCall(meta);\n if (setNgModuleScopeCall !== null) {\n additionalStatements.push(setNgModuleScopeCall);\n }\n }\n if (schemas && schemas.length) {\n definitionMap.schemas = literalArr(schemas.map(ref => ref.value));\n }\n if (id) {\n definitionMap.id = id;\n }\n const expression = importExpr(Identifiers$1.defineNgModule).callFn([mapToMapExpression(definitionMap)]);\n const type = new ExpressionType(importExpr(Identifiers$1.NgModuleDefWithMeta, [\n new ExpressionType(moduleType.type), tupleTypeOf(declarations), tupleTypeOf(imports),\n tupleTypeOf(exports)\n ]));\n return { expression, type, additionalStatements };\n}\n/**\n * Generates a function call to `ɵɵsetNgModuleScope` with all necessary information so that the\n * transitive module scope can be computed during runtime in JIT mode. This call is marked pure\n * such that the references to declarations, imports and exports may be elided causing these\n * symbols to become tree-shakeable.\n */\nfunction generateSetNgModuleScopeCall(meta) {\n const { adjacentType: moduleType, declarations, imports, exports, containsForwardDecls } = meta;\n const scopeMap = {};\n if (declarations.length) {\n scopeMap.declarations = refsToArray(declarations, containsForwardDecls);\n }\n if (imports.length) {\n scopeMap.imports = refsToArray(imports, containsForwardDecls);\n }\n if (exports.length) {\n scopeMap.exports = refsToArray(exports, containsForwardDecls);\n }\n if (Object.keys(scopeMap).length === 0) {\n return null;\n }\n // setNgModuleScope(...)\n const fnCall = new InvokeFunctionExpr(\n /* fn */ importExpr(Identifiers$1.setNgModuleScope), \n /* args */ [moduleType, mapToMapExpression(scopeMap)]);\n // (ngJitMode guard) && setNgModuleScope(...)\n const guardedCall = jitOnlyGuardedExpression(fnCall);\n // function() { (ngJitMode guard) && setNgModuleScope(...); }\n const iife = new FunctionExpr(\n /* params */ [], \n /* statements */ [guardedCall.toStmt()]);\n // (function() { (ngJitMode guard) && setNgModuleScope(...); })()\n const iifeCall = new InvokeFunctionExpr(\n /* fn */ iife, \n /* args */ []);\n return iifeCall.toStmt();\n}\nfunction compileInjector(meta) {\n const result = compileFactoryFunction({\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: 0,\n deps: meta.deps,\n injectFn: Identifiers$1.inject,\n target: R3FactoryTarget.NgModule,\n });\n const definitionMap = {\n factory: result.factory,\n };\n if (meta.providers !== null) {\n definitionMap.providers = meta.providers;\n }\n if (meta.imports.length > 0) {\n definitionMap.imports = literalArr(meta.imports);\n }\n const expression = importExpr(Identifiers$1.defineInjector).callFn([mapToMapExpression(definitionMap)]);\n const type = new ExpressionType(importExpr(Identifiers$1.InjectorDef, [new ExpressionType(meta.type.type)]));\n return { expression, type, statements: result.statements };\n}\n// TODO(alxhub): integrate this with `compileNgModule`. Currently the two are separate operations.\nfunction compileNgModuleFromRender2(ctx, ngModule, injectableCompiler) {\n const className = identifierName(ngModule.type);\n const rawImports = ngModule.rawImports ? [ngModule.rawImports] : [];\n const rawExports = ngModule.rawExports ? [ngModule.rawExports] : [];\n const injectorDefArg = mapLiteral({\n 'factory': injectableCompiler.factoryFor({ type: ngModule.type, symbol: ngModule.type.reference }, ctx),\n 'providers': convertMetaToOutput(ngModule.rawProviders, ctx),\n 'imports': convertMetaToOutput([...rawImports, ...rawExports], ctx),\n });\n const injectorDef = importExpr(Identifiers$1.defineInjector).callFn([injectorDefArg]);\n ctx.statements.push(new ClassStmt(\n /* name */ className, \n /* parent */ null, \n /* fields */ [new ClassField(\n /* name */ 'ɵinj', \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ injectorDef)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []));\n}\nfunction accessExportScope(module) {\n const selectorScope = new ReadPropExpr(module, 'ɵmod');\n return new ReadPropExpr(selectorScope, 'exported');\n}\nfunction tupleTypeOf(exp) {\n const types = exp.map(ref => typeofExpr(ref.type));\n return exp.length > 0 ? expressionType(literalArr(types)) : NONE_TYPE;\n}\nfunction refsToArray(refs, shouldForwardDeclare) {\n const values = literalArr(refs.map(ref => ref.value));\n return shouldForwardDeclare ? fn([], [new ReturnStatement(values)]) : values;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction compilePipeFromMetadata(metadata) {\n const definitionMapValues = [];\n // e.g. `name: 'myPipe'`\n definitionMapValues.push({ key: 'name', value: literal(metadata.pipeName), quoted: false });\n // e.g. `type: MyPipe`\n definitionMapValues.push({ key: 'type', value: metadata.type.value, quoted: false });\n // e.g. `pure: true`\n definitionMapValues.push({ key: 'pure', value: literal(metadata.pure), quoted: false });\n const expression = importExpr(Identifiers$1.definePipe).callFn([literalMap(definitionMapValues)]);\n const type = new ExpressionType(importExpr(Identifiers$1.PipeDefWithMeta, [\n typeWithParameters(metadata.type.type, metadata.typeArgumentCount),\n new ExpressionType(new LiteralExpr(metadata.pipeName)),\n ]));\n return { expression, type };\n}\n/**\n * Write a pipe definition to the output context.\n */\nfunction compilePipeFromRender2(outputCtx, pipe, reflector) {\n const name = identifierName(pipe.type);\n if (!name) {\n return error(`Cannot resolve the name of ${pipe.type}`);\n }\n const type = outputCtx.importExpr(pipe.type.reference);\n const metadata = {\n name,\n type: wrapReference(type),\n internalType: type,\n pipeName: pipe.name,\n typeArgumentCount: 0,\n deps: dependenciesFromGlobalMetadata(pipe.type, outputCtx, reflector),\n pure: pipe.pure,\n };\n const res = compilePipeFromMetadata(metadata);\n const factoryRes = compileFactoryFunction(Object.assign(Object.assign({}, metadata), { injectFn: Identifiers$1.directiveInject, target: R3FactoryTarget.Pipe }));\n const definitionField = outputCtx.constantPool.propertyNameOf(3 /* Pipe */);\n const ngFactoryDefStatement = new ClassStmt(\n /* name */ name, \n /* parent */ null, \n /* fields */\n [new ClassField(\n /* name */ 'ɵfac', \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ factoryRes.factory)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []);\n const pipeDefStatement = new ClassStmt(\n /* name */ name, \n /* parent */ null, \n /* fields */ [new ClassField(\n /* name */ definitionField, \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ res.expression)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []);\n outputCtx.statements.push(ngFactoryDefStatement, pipeDefStatement);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ParserError {\n constructor(message, input, errLocation, ctxLocation) {\n this.input = input;\n this.errLocation = errLocation;\n this.ctxLocation = ctxLocation;\n this.message = `Parser Error: ${message} ${errLocation} [${input}] in ${ctxLocation}`;\n }\n}\nclass ParseSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n toAbsolute(absoluteOffset) {\n return new AbsoluteSourceSpan(absoluteOffset + this.start, absoluteOffset + this.end);\n }\n}\nclass AST {\n constructor(span, \n /**\n * Absolute location of the expression AST in a source code file.\n */\n sourceSpan) {\n this.span = span;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context = null) {\n return null;\n }\n toString() {\n return 'AST';\n }\n}\nclass ASTWithName extends AST {\n constructor(span, sourceSpan, nameSpan) {\n super(span, sourceSpan);\n this.nameSpan = nameSpan;\n }\n}\n/**\n * Represents a quoted expression of the form:\n *\n * quote = prefix `:` uninterpretedExpression\n * prefix = identifier\n * uninterpretedExpression = arbitrary string\n *\n * A quoted expression is meant to be pre-processed by an AST transformer that\n * converts it into another AST that no longer contains quoted expressions.\n * It is meant to allow third-party developers to extend Angular template\n * expression language. The `uninterpretedExpression` part of the quote is\n * therefore not interpreted by the Angular's own expression parser.\n */\nclass Quote extends AST {\n constructor(span, sourceSpan, prefix, uninterpretedExpression, location) {\n super(span, sourceSpan);\n this.prefix = prefix;\n this.uninterpretedExpression = uninterpretedExpression;\n this.location = location;\n }\n visit(visitor, context = null) {\n return visitor.visitQuote(this, context);\n }\n toString() {\n return 'Quote';\n }\n}\nclass EmptyExpr extends AST {\n visit(visitor, context = null) {\n // do nothing\n }\n}\nclass ImplicitReceiver extends AST {\n visit(visitor, context = null) {\n return visitor.visitImplicitReceiver(this, context);\n }\n}\n/**\n * Receiver when something is accessed through `this` (e.g. `this.foo`). Note that this class\n * inherits from `ImplicitReceiver`, because accessing something through `this` is treated the\n * same as accessing it implicitly inside of an Angular template (e.g. `[attr.title]=\"this.title\"`\n * is the same as `[attr.title]=\"title\"`.). Inheriting allows for the `this` accesses to be treated\n * the same as implicit ones, except for a couple of exceptions like `$event` and `$any`.\n * TODO: we should find a way for this class not to extend from `ImplicitReceiver` in the future.\n */\nclass ThisReceiver extends ImplicitReceiver {\n visit(visitor, context = null) {\n var _a;\n return (_a = visitor.visitThisReceiver) === null || _a === void 0 ? void 0 : _a.call(visitor, this, context);\n }\n}\n/**\n * Multiple expressions separated by a semicolon.\n */\nclass Chain extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitChain(this, context);\n }\n}\nclass Conditional extends AST {\n constructor(span, sourceSpan, condition, trueExp, falseExp) {\n super(span, sourceSpan);\n this.condition = condition;\n this.trueExp = trueExp;\n this.falseExp = falseExp;\n }\n visit(visitor, context = null) {\n return visitor.visitConditional(this, context);\n }\n}\nclass PropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyRead(this, context);\n }\n}\nclass PropertyWrite extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, value) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyWrite(this, context);\n }\n}\nclass SafePropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitSafePropertyRead(this, context);\n }\n}\nclass KeyedRead extends AST {\n constructor(span, sourceSpan, obj, key) {\n super(span, sourceSpan);\n this.obj = obj;\n this.key = key;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedRead(this, context);\n }\n}\nclass KeyedWrite extends AST {\n constructor(span, sourceSpan, obj, key, value) {\n super(span, sourceSpan);\n this.obj = obj;\n this.key = key;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedWrite(this, context);\n }\n}\nclass BindingPipe extends ASTWithName {\n constructor(span, sourceSpan, exp, name, args, nameSpan) {\n super(span, sourceSpan, nameSpan);\n this.exp = exp;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitPipe(this, context);\n }\n}\nclass LiteralPrimitive extends AST {\n constructor(span, sourceSpan, value) {\n super(span, sourceSpan);\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralPrimitive(this, context);\n }\n}\nclass LiteralArray extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralArray(this, context);\n }\n}\nclass LiteralMap extends AST {\n constructor(span, sourceSpan, keys, values) {\n super(span, sourceSpan);\n this.keys = keys;\n this.values = values;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralMap(this, context);\n }\n}\nclass Interpolation extends AST {\n constructor(span, sourceSpan, strings, expressions) {\n super(span, sourceSpan);\n this.strings = strings;\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitInterpolation(this, context);\n }\n}\nclass Binary extends AST {\n constructor(span, sourceSpan, operation, left, right) {\n super(span, sourceSpan);\n this.operation = operation;\n this.left = left;\n this.right = right;\n }\n visit(visitor, context = null) {\n return visitor.visitBinary(this, context);\n }\n}\n/**\n * For backwards compatibility reasons, `Unary` inherits from `Binary` and mimics the binary AST\n * node that was originally used. This inheritance relation can be deleted in some future major,\n * after consumers have been given a chance to fully support Unary.\n */\nclass Unary extends Binary {\n /**\n * During the deprecation period this constructor is private, to avoid consumers from creating\n * a `Unary` with the fallback properties for `Binary`.\n */\n constructor(span, sourceSpan, operator, expr, binaryOp, binaryLeft, binaryRight) {\n super(span, sourceSpan, binaryOp, binaryLeft, binaryRight);\n this.operator = operator;\n this.expr = expr;\n }\n /**\n * Creates a unary minus expression \"-x\", represented as `Binary` using \"0 - x\".\n */\n static createMinus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '-', expr, '-', new LiteralPrimitive(span, sourceSpan, 0), expr);\n }\n /**\n * Creates a unary plus expression \"+x\", represented as `Binary` using \"x - 0\".\n */\n static createPlus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '+', expr, '-', expr, new LiteralPrimitive(span, sourceSpan, 0));\n }\n visit(visitor, context = null) {\n if (visitor.visitUnary !== undefined) {\n return visitor.visitUnary(this, context);\n }\n return visitor.visitBinary(this, context);\n }\n}\nclass PrefixNot extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitPrefixNot(this, context);\n }\n}\nclass NonNullAssert extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitNonNullAssert(this, context);\n }\n}\nclass MethodCall extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, args) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitMethodCall(this, context);\n }\n}\nclass SafeMethodCall extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, args) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitSafeMethodCall(this, context);\n }\n}\nclass FunctionCall extends AST {\n constructor(span, sourceSpan, target, args) {\n super(span, sourceSpan);\n this.target = target;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitFunctionCall(this, context);\n }\n}\n/**\n * Records the absolute position of a text span in a source file, where `start` and `end` are the\n * starting and ending byte offsets, respectively, of the text span in a source file.\n */\nclass AbsoluteSourceSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n}\nclass ASTWithSource extends AST {\n constructor(ast, source, location, absoluteOffset, errors) {\n super(new ParseSpan(0, source === null ? 0 : source.length), new AbsoluteSourceSpan(absoluteOffset, source === null ? absoluteOffset : absoluteOffset + source.length));\n this.ast = ast;\n this.source = source;\n this.location = location;\n this.errors = errors;\n }\n visit(visitor, context = null) {\n if (visitor.visitASTWithSource) {\n return visitor.visitASTWithSource(this, context);\n }\n return this.ast.visit(visitor, context);\n }\n toString() {\n return `${this.source} in ${this.location}`;\n }\n}\nclass VariableBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key name of the LHS along with its span.\n * @param value optional value for the RHS along with its span.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass ExpressionBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key binding name, like ngForOf, ngForTrackBy, ngIf, along with its\n * span. Note that the length of the span may not be the same as\n * `key.source.length`. For example,\n * 1. key.source = ngFor, key.span is for \"ngFor\"\n * 2. key.source = ngForOf, key.span is for \"of\"\n * 3. key.source = ngForTrackBy, key.span is for \"trackBy\"\n * @param value optional expression for the RHS.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass RecursiveAstVisitor$1 {\n visit(ast, context) {\n // The default implementation just visits every node.\n // Classes that extend RecursiveAstVisitor should override this function\n // to selectively visit the specified node.\n ast.visit(this, context);\n }\n visitUnary(ast, context) {\n this.visit(ast.expr, context);\n }\n visitBinary(ast, context) {\n this.visit(ast.left, context);\n this.visit(ast.right, context);\n }\n visitChain(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitConditional(ast, context) {\n this.visit(ast.condition, context);\n this.visit(ast.trueExp, context);\n this.visit(ast.falseExp, context);\n }\n visitPipe(ast, context) {\n this.visit(ast.exp, context);\n this.visitAll(ast.args, context);\n }\n visitFunctionCall(ast, context) {\n if (ast.target) {\n this.visit(ast.target, context);\n }\n this.visitAll(ast.args, context);\n }\n visitImplicitReceiver(ast, context) { }\n visitThisReceiver(ast, context) { }\n visitInterpolation(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitKeyedRead(ast, context) {\n this.visit(ast.obj, context);\n this.visit(ast.key, context);\n }\n visitKeyedWrite(ast, context) {\n this.visit(ast.obj, context);\n this.visit(ast.key, context);\n this.visit(ast.value, context);\n }\n visitLiteralArray(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitLiteralMap(ast, context) {\n this.visitAll(ast.values, context);\n }\n visitLiteralPrimitive(ast, context) { }\n visitMethodCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitPrefixNot(ast, context) {\n this.visit(ast.expression, context);\n }\n visitNonNullAssert(ast, context) {\n this.visit(ast.expression, context);\n }\n visitPropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitPropertyWrite(ast, context) {\n this.visit(ast.receiver, context);\n this.visit(ast.value, context);\n }\n visitSafePropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitSafeMethodCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitQuote(ast, context) { }\n // This is not part of the AstVisitor interface, just a helper method\n visitAll(asts, context) {\n for (const ast of asts) {\n this.visit(ast, context);\n }\n }\n}\nclass AstTransformer$1 {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitThisReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, this.visitAll(ast.expressions));\n }\n visitLiteralPrimitive(ast, context) {\n return new LiteralPrimitive(ast.span, ast.sourceSpan, ast.value);\n }\n visitPropertyRead(ast, context) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitPropertyWrite(ast, context) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, ast.value.visit(this));\n }\n visitSafePropertyRead(ast, context) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitMethodCall(ast, context) {\n return new MethodCall(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n }\n visitSafeMethodCall(ast, context) {\n return new SafeMethodCall(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n }\n visitFunctionCall(ast, context) {\n return new FunctionCall(ast.span, ast.sourceSpan, ast.target.visit(this), this.visitAll(ast.args));\n }\n visitLiteralArray(ast, context) {\n return new LiteralArray(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitLiteralMap(ast, context) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, this.visitAll(ast.values));\n }\n visitUnary(ast, context) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n visitBinary(ast, context) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, ast.left.visit(this), ast.right.visit(this));\n }\n visitPrefixNot(ast, context) {\n return new PrefixNot(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitNonNullAssert(ast, context) {\n return new NonNullAssert(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitConditional(ast, context) {\n return new Conditional(ast.span, ast.sourceSpan, ast.condition.visit(this), ast.trueExp.visit(this), ast.falseExp.visit(this));\n }\n visitPipe(ast, context) {\n return new BindingPipe(ast.span, ast.sourceSpan, ast.exp.visit(this), ast.name, this.visitAll(ast.args), ast.nameSpan);\n }\n visitKeyedRead(ast, context) {\n return new KeyedRead(ast.span, ast.sourceSpan, ast.obj.visit(this), ast.key.visit(this));\n }\n visitKeyedWrite(ast, context) {\n return new KeyedWrite(ast.span, ast.sourceSpan, ast.obj.visit(this), ast.key.visit(this), ast.value.visit(this));\n }\n visitAll(asts) {\n const res = [];\n for (let i = 0; i < asts.length; ++i) {\n res[i] = asts[i].visit(this);\n }\n return res;\n }\n visitChain(ast, context) {\n return new Chain(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitQuote(ast, context) {\n return new Quote(ast.span, ast.sourceSpan, ast.prefix, ast.uninterpretedExpression, ast.location);\n }\n}\n// A transformer that only creates new nodes if the transformer makes a change or\n// a change is made a child node.\nclass AstMemoryEfficientTransformer {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitThisReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions)\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, expressions);\n return ast;\n }\n visitLiteralPrimitive(ast, context) {\n return ast;\n }\n visitPropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitPropertyWrite(ast, context) {\n const receiver = ast.receiver.visit(this);\n const value = ast.value.visit(this);\n if (receiver !== ast.receiver || value !== ast.value) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, value);\n }\n return ast;\n }\n visitSafePropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitMethodCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new MethodCall(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, args);\n }\n return ast;\n }\n visitSafeMethodCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new SafeMethodCall(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, args);\n }\n return ast;\n }\n visitFunctionCall(ast, context) {\n const target = ast.target && ast.target.visit(this);\n const args = this.visitAll(ast.args);\n if (target !== ast.target || args !== ast.args) {\n return new FunctionCall(ast.span, ast.sourceSpan, target, args);\n }\n return ast;\n }\n visitLiteralArray(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new LiteralArray(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitLiteralMap(ast, context) {\n const values = this.visitAll(ast.values);\n if (values !== ast.values) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, values);\n }\n return ast;\n }\n visitUnary(ast, context) {\n const expr = ast.expr.visit(this);\n if (expr !== ast.expr) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, expr);\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, expr);\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n return ast;\n }\n visitBinary(ast, context) {\n const left = ast.left.visit(this);\n const right = ast.right.visit(this);\n if (left !== ast.left || right !== ast.right) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, left, right);\n }\n return ast;\n }\n visitPrefixNot(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new PrefixNot(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitNonNullAssert(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new NonNullAssert(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitConditional(ast, context) {\n const condition = ast.condition.visit(this);\n const trueExp = ast.trueExp.visit(this);\n const falseExp = ast.falseExp.visit(this);\n if (condition !== ast.condition || trueExp !== ast.trueExp || falseExp !== ast.falseExp) {\n return new Conditional(ast.span, ast.sourceSpan, condition, trueExp, falseExp);\n }\n return ast;\n }\n visitPipe(ast, context) {\n const exp = ast.exp.visit(this);\n const args = this.visitAll(ast.args);\n if (exp !== ast.exp || args !== ast.args) {\n return new BindingPipe(ast.span, ast.sourceSpan, exp, ast.name, args, ast.nameSpan);\n }\n return ast;\n }\n visitKeyedRead(ast, context) {\n const obj = ast.obj.visit(this);\n const key = ast.key.visit(this);\n if (obj !== ast.obj || key !== ast.key) {\n return new KeyedRead(ast.span, ast.sourceSpan, obj, key);\n }\n return ast;\n }\n visitKeyedWrite(ast, context) {\n const obj = ast.obj.visit(this);\n const key = ast.key.visit(this);\n const value = ast.value.visit(this);\n if (obj !== ast.obj || key !== ast.key || value !== ast.value) {\n return new KeyedWrite(ast.span, ast.sourceSpan, obj, key, value);\n }\n return ast;\n }\n visitAll(asts) {\n const res = [];\n let modified = false;\n for (let i = 0; i < asts.length; ++i) {\n const original = asts[i];\n const value = original.visit(this);\n res[i] = value;\n modified = modified || value !== original;\n }\n return modified ? res : asts;\n }\n visitChain(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new Chain(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitQuote(ast, context) {\n return ast;\n }\n}\n// Bindings\nclass ParsedProperty {\n constructor(name, expression, type, \n // TODO(atscott): `keySpan` should really be required but allows `undefined` so VE does\n // not need to be updated. Make `keySpan` required when VE is removed.\n sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.expression = expression;\n this.type = type;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n this.isLiteral = this.type === ParsedPropertyType.LITERAL_ATTR;\n this.isAnimation = this.type === ParsedPropertyType.ANIMATION;\n }\n}\nvar ParsedPropertyType;\n(function (ParsedPropertyType) {\n ParsedPropertyType[ParsedPropertyType[\"DEFAULT\"] = 0] = \"DEFAULT\";\n ParsedPropertyType[ParsedPropertyType[\"LITERAL_ATTR\"] = 1] = \"LITERAL_ATTR\";\n ParsedPropertyType[ParsedPropertyType[\"ANIMATION\"] = 2] = \"ANIMATION\";\n})(ParsedPropertyType || (ParsedPropertyType = {}));\nclass ParsedEvent {\n // Regular events have a target\n // Animation events have a phase\n constructor(name, targetOrPhase, type, handler, sourceSpan, handlerSpan) {\n this.name = name;\n this.targetOrPhase = targetOrPhase;\n this.type = type;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n }\n}\n/**\n * ParsedVariable represents a variable declaration in a microsyntax expression.\n */\nclass ParsedVariable {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n}\nclass BoundElementProperty {\n constructor(name, type, securityContext, value, unit, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass EventHandlerVars {\n}\nEventHandlerVars.event = variable('$event');\nclass ConvertActionBindingResult {\n constructor(\n /**\n * Render2 compatible statements,\n */\n stmts, \n /**\n * Variable name used with render2 compatible statements.\n */\n allowDefault) {\n this.stmts = stmts;\n this.allowDefault = allowDefault;\n /**\n * This is bit of a hack. It converts statements which render2 expects to statements which are\n * expected by render3.\n *\n * Example: `
` will generate:\n *\n * Render3:\n * ```\n * const pd_b:any = ((ctx.doSomething($event)) !== false);\n * return pd_b;\n * ```\n *\n * but render2 expects:\n * ```\n * return ctx.doSomething($event);\n * ```\n */\n // TODO(misko): remove this hack once we no longer support ViewEngine.\n this.render3Stmts = stmts.map((statement) => {\n if (statement instanceof DeclareVarStmt && statement.name == allowDefault.name &&\n statement.value instanceof BinaryOperatorExpr) {\n const lhs = statement.value.lhs;\n return new ReturnStatement(lhs.value);\n }\n return statement;\n });\n }\n}\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression is\n * used in an action binding (e.g. an event handler).\n */\nfunction convertActionBinding(localResolver, implicitReceiver, action, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses, globals) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver(globals);\n }\n const actionWithoutBuiltins = convertPropertyBindingBuiltins({\n createLiteralArrayConverter: (argCount) => {\n // Note: no caching for literal arrays in actions.\n return (args) => literalArr(args);\n },\n createLiteralMapConverter: (keys) => {\n // Note: no caching for literal maps in actions.\n return (values) => {\n const entries = keys.map((k, i) => ({\n key: k.key,\n value: values[i],\n quoted: k.quoted,\n }));\n return literalMap(entries);\n };\n },\n createPipeConverter: (name) => {\n throw new Error(`Illegal State: Actions are not allowed to contain pipes. Pipe: ${name}`);\n }\n }, action);\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses);\n const actionStmts = [];\n flattenStatements(actionWithoutBuiltins.visit(visitor, _Mode.Statement), actionStmts);\n prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const lastIndex = actionStmts.length - 1;\n let preventDefaultVar = null;\n if (lastIndex >= 0) {\n const lastStatement = actionStmts[lastIndex];\n const returnExpr = convertStmtIntoExpression(lastStatement);\n if (returnExpr) {\n // Note: We need to cast the result of the method call to dynamic,\n // as it might be a void method!\n preventDefaultVar = createPreventDefaultVar(bindingId);\n actionStmts[lastIndex] =\n preventDefaultVar.set(returnExpr.cast(DYNAMIC_TYPE).notIdentical(literal(false)))\n .toDeclStmt(null, [StmtModifier.Final]);\n }\n }\n return new ConvertActionBindingResult(actionStmts, preventDefaultVar);\n}\nfunction convertPropertyBindingBuiltins(converterFactory, ast) {\n return convertBuiltins(converterFactory, ast);\n}\nclass ConvertPropertyBindingResult {\n constructor(stmts, currValExpr) {\n this.stmts = stmts;\n this.currValExpr = currValExpr;\n }\n}\nvar BindingForm;\n(function (BindingForm) {\n // The general form of binding expression, supports all expressions.\n BindingForm[BindingForm[\"General\"] = 0] = \"General\";\n // Try to generate a simple binding (no temporaries or statements)\n // otherwise generate a general binding\n BindingForm[BindingForm[\"TrySimple\"] = 1] = \"TrySimple\";\n // Inlines assignment of temporaries into the generated expression. The result may still\n // have statements attached for declarations of temporary variables.\n // This is the only relevant form for Ivy, the other forms are only used in ViewEngine.\n BindingForm[BindingForm[\"Expression\"] = 2] = \"Expression\";\n})(BindingForm || (BindingForm = {}));\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression\n * is used in property binding. The expression has to be preprocessed via\n * `convertPropertyBindingBuiltins`.\n */\nfunction convertPropertyBinding(localResolver, implicitReceiver, expressionWithoutBuiltins, bindingId, form, interpolationFunction) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver();\n }\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, interpolationFunction);\n const outputExpr = expressionWithoutBuiltins.visit(visitor, _Mode.Expression);\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n if (visitor.temporaryCount === 0 && form == BindingForm.TrySimple) {\n return new ConvertPropertyBindingResult([], outputExpr);\n }\n else if (form === BindingForm.Expression) {\n return new ConvertPropertyBindingResult(stmts, outputExpr);\n }\n const currValExpr = createCurrValueExpr(bindingId);\n stmts.push(currValExpr.set(outputExpr).toDeclStmt(DYNAMIC_TYPE, [StmtModifier.Final]));\n return new ConvertPropertyBindingResult(stmts, currValExpr);\n}\n/**\n * Given some expression, such as a binding or interpolation expression, and a context expression to\n * look values up on, visit each facet of the given expression resolving values from the context\n * expression such that a list of arguments can be derived from the found values that can be used as\n * arguments to an external update instruction.\n *\n * @param localResolver The resolver to use to look up expressions by name appropriately\n * @param contextVariableExpression The expression representing the context variable used to create\n * the final argument expressions\n * @param expressionWithArgumentsToExtract The expression to visit to figure out what values need to\n * be resolved and what arguments list to build.\n * @param bindingId A name prefix used to create temporary variable names if they're needed for the\n * arguments generated\n * @returns An array of expressions that can be passed as arguments to instruction expressions like\n * `o.importExpr(R3.propertyInterpolate).callFn(result)`\n */\nfunction convertUpdateArguments(localResolver, contextVariableExpression, expressionWithArgumentsToExtract, bindingId) {\n const visitor = new _AstToIrVisitor(localResolver, contextVariableExpression, bindingId, undefined);\n const outputExpr = expressionWithArgumentsToExtract.visit(visitor, _Mode.Expression);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n // Removing the first argument, because it was a length for ViewEngine, not Ivy.\n let args = outputExpr.args.slice(1);\n if (expressionWithArgumentsToExtract instanceof Interpolation) {\n // If we're dealing with an interpolation of 1 value with an empty prefix and suffix, reduce the\n // args returned to just the value, because we're going to pass it to a special instruction.\n const strings = expressionWithArgumentsToExtract.strings;\n if (args.length === 3 && strings[0] === '' && strings[1] === '') {\n // Single argument interpolate instructions.\n args = [args[1]];\n }\n else if (args.length >= 19) {\n // 19 or more arguments must be passed to the `interpolateV`-style instructions, which accept\n // an array of arguments\n args = [literalArr(args)];\n }\n }\n return { stmts, args };\n}\nfunction getStatementsFromVisitor(visitor, bindingId) {\n const stmts = [];\n for (let i = 0; i < visitor.temporaryCount; i++) {\n stmts.push(temporaryDeclaration(bindingId, i));\n }\n return stmts;\n}\nfunction convertBuiltins(converterFactory, ast) {\n const visitor = new _BuiltinAstConverter(converterFactory);\n return ast.visit(visitor);\n}\nfunction temporaryName(bindingId, temporaryNumber) {\n return `tmp_${bindingId}_${temporaryNumber}`;\n}\nfunction temporaryDeclaration(bindingId, temporaryNumber) {\n return new DeclareVarStmt(temporaryName(bindingId, temporaryNumber), NULL_EXPR);\n}\nfunction prependTemporaryDecls(temporaryCount, bindingId, statements) {\n for (let i = temporaryCount - 1; i >= 0; i--) {\n statements.unshift(temporaryDeclaration(bindingId, i));\n }\n}\nvar _Mode;\n(function (_Mode) {\n _Mode[_Mode[\"Statement\"] = 0] = \"Statement\";\n _Mode[_Mode[\"Expression\"] = 1] = \"Expression\";\n})(_Mode || (_Mode = {}));\nfunction ensureStatementMode(mode, ast) {\n if (mode !== _Mode.Statement) {\n throw new Error(`Expected a statement, but saw ${ast}`);\n }\n}\nfunction ensureExpressionMode(mode, ast) {\n if (mode !== _Mode.Expression) {\n throw new Error(`Expected an expression, but saw ${ast}`);\n }\n}\nfunction convertToStatementIfNeeded(mode, expr) {\n if (mode === _Mode.Statement) {\n return expr.toStmt();\n }\n else {\n return expr;\n }\n}\nclass _BuiltinAstConverter extends AstTransformer$1 {\n constructor(_converterFactory) {\n super();\n this._converterFactory = _converterFactory;\n }\n visitPipe(ast, context) {\n const args = [ast.exp, ...ast.args].map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createPipeConverter(ast.name, args.length));\n }\n visitLiteralArray(ast, context) {\n const args = ast.expressions.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralArrayConverter(ast.expressions.length));\n }\n visitLiteralMap(ast, context) {\n const args = ast.values.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralMapConverter(ast.keys));\n }\n}\nclass _AstToIrVisitor {\n constructor(_localResolver, _implicitReceiver, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses) {\n this._localResolver = _localResolver;\n this._implicitReceiver = _implicitReceiver;\n this.bindingId = bindingId;\n this.interpolationFunction = interpolationFunction;\n this.baseSourceSpan = baseSourceSpan;\n this.implicitReceiverAccesses = implicitReceiverAccesses;\n this._nodeMap = new Map();\n this._resultMap = new Map();\n this._currentTemporary = 0;\n this.temporaryCount = 0;\n this.usesImplicitReceiver = false;\n }\n visitUnary(ast, mode) {\n let op;\n switch (ast.operator) {\n case '+':\n op = UnaryOperator.Plus;\n break;\n case '-':\n op = UnaryOperator.Minus;\n break;\n default:\n throw new Error(`Unsupported operator ${ast.operator}`);\n }\n return convertToStatementIfNeeded(mode, new UnaryOperatorExpr(op, this._visit(ast.expr, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitBinary(ast, mode) {\n let op;\n switch (ast.operation) {\n case '+':\n op = BinaryOperator.Plus;\n break;\n case '-':\n op = BinaryOperator.Minus;\n break;\n case '*':\n op = BinaryOperator.Multiply;\n break;\n case '/':\n op = BinaryOperator.Divide;\n break;\n case '%':\n op = BinaryOperator.Modulo;\n break;\n case '&&':\n op = BinaryOperator.And;\n break;\n case '||':\n op = BinaryOperator.Or;\n break;\n case '==':\n op = BinaryOperator.Equals;\n break;\n case '!=':\n op = BinaryOperator.NotEquals;\n break;\n case '===':\n op = BinaryOperator.Identical;\n break;\n case '!==':\n op = BinaryOperator.NotIdentical;\n break;\n case '<':\n op = BinaryOperator.Lower;\n break;\n case '>':\n op = BinaryOperator.Bigger;\n break;\n case '<=':\n op = BinaryOperator.LowerEquals;\n break;\n case '>=':\n op = BinaryOperator.BiggerEquals;\n break;\n default:\n throw new Error(`Unsupported operation ${ast.operation}`);\n }\n return convertToStatementIfNeeded(mode, new BinaryOperatorExpr(op, this._visit(ast.left, _Mode.Expression), this._visit(ast.right, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitChain(ast, mode) {\n ensureStatementMode(mode, ast);\n return this.visitAll(ast.expressions, mode);\n }\n visitConditional(ast, mode) {\n const value = this._visit(ast.condition, _Mode.Expression);\n return convertToStatementIfNeeded(mode, value.conditional(this._visit(ast.trueExp, _Mode.Expression), this._visit(ast.falseExp, _Mode.Expression), this.convertSourceSpan(ast.span)));\n }\n visitPipe(ast, mode) {\n throw new Error(`Illegal state: Pipes should have been converted into functions. Pipe: ${ast.name}`);\n }\n visitFunctionCall(ast, mode) {\n const convertedArgs = this.visitAll(ast.args, _Mode.Expression);\n let fnResult;\n if (ast instanceof BuiltinFunctionCall) {\n fnResult = ast.converter(convertedArgs);\n }\n else {\n fnResult = this._visit(ast.target, _Mode.Expression)\n .callFn(convertedArgs, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, fnResult);\n }\n visitImplicitReceiver(ast, mode) {\n ensureExpressionMode(mode, ast);\n this.usesImplicitReceiver = true;\n return this._implicitReceiver;\n }\n visitThisReceiver(ast, mode) {\n return this.visitImplicitReceiver(ast, mode);\n }\n visitInterpolation(ast, mode) {\n ensureExpressionMode(mode, ast);\n const args = [literal(ast.expressions.length)];\n for (let i = 0; i < ast.strings.length - 1; i++) {\n args.push(literal(ast.strings[i]));\n args.push(this._visit(ast.expressions[i], _Mode.Expression));\n }\n args.push(literal(ast.strings[ast.strings.length - 1]));\n if (this.interpolationFunction) {\n return this.interpolationFunction(args);\n }\n return ast.expressions.length <= 9 ?\n importExpr(Identifiers.inlineInterpolate).callFn(args) :\n importExpr(Identifiers.interpolate).callFn([\n args[0], literalArr(args.slice(1), undefined, this.convertSourceSpan(ast.span))\n ]);\n }\n visitKeyedRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n return convertToStatementIfNeeded(mode, this._visit(ast.obj, _Mode.Expression).key(this._visit(ast.key, _Mode.Expression)));\n }\n }\n visitKeyedWrite(ast, mode) {\n const obj = this._visit(ast.obj, _Mode.Expression);\n const key = this._visit(ast.key, _Mode.Expression);\n const value = this._visit(ast.value, _Mode.Expression);\n return convertToStatementIfNeeded(mode, obj.key(key).set(value));\n }\n visitLiteralArray(ast, mode) {\n throw new Error(`Illegal State: literal arrays should have been converted into functions`);\n }\n visitLiteralMap(ast, mode) {\n throw new Error(`Illegal State: literal maps should have been converted into functions`);\n }\n visitLiteralPrimitive(ast, mode) {\n // For literal values of null, undefined, true, or false allow type interference\n // to infer the type.\n const type = ast.value === null || ast.value === undefined || ast.value === true || ast.value === true ?\n INFERRED_TYPE :\n undefined;\n return convertToStatementIfNeeded(mode, literal(ast.value, type, this.convertSourceSpan(ast.span)));\n }\n _getLocal(name, receiver) {\n var _a;\n if (((_a = this._localResolver.globals) === null || _a === void 0 ? void 0 : _a.has(name)) && receiver instanceof ThisReceiver) {\n return null;\n }\n return this._localResolver.getLocal(name);\n }\n visitMethodCall(ast, mode) {\n if (ast.receiver instanceof ImplicitReceiver &&\n !(ast.receiver instanceof ThisReceiver) && ast.name === '$any') {\n const args = this.visitAll(ast.args, _Mode.Expression);\n if (args.length != 1) {\n throw new Error(`Invalid call to $any, expected 1 argument but received ${args.length || 'none'}`);\n }\n return args[0].cast(DYNAMIC_TYPE, this.convertSourceSpan(ast.span));\n }\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n const args = this.visitAll(ast.args, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let result = null;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n const varExpr = this._getLocal(ast.name, ast.receiver);\n if (varExpr) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n result = varExpr.callFn(args);\n this.addImplicitReceiverAccess(ast.name);\n }\n }\n if (result == null) {\n result = receiver.callMethod(ast.name, args, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPrefixNot(ast, mode) {\n return convertToStatementIfNeeded(mode, not(this._visit(ast.expression, _Mode.Expression)));\n }\n visitNonNullAssert(ast, mode) {\n return convertToStatementIfNeeded(mode, assertNotNull(this._visit(ast.expression, _Mode.Expression)));\n }\n visitPropertyRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n let result = null;\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n result = this._getLocal(ast.name, ast.receiver);\n if (result) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n this.addImplicitReceiverAccess(ast.name);\n }\n }\n if (result == null) {\n result = receiver.prop(ast.name);\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPropertyWrite(ast, mode) {\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let varExpr = null;\n if (receiver === this._implicitReceiver) {\n const localExpr = this._getLocal(ast.name, ast.receiver);\n if (localExpr) {\n if (localExpr instanceof ReadPropExpr) {\n // If the local variable is a property read expression, it's a reference\n // to a 'context.property' value and will be used as the target of the\n // write expression.\n varExpr = localExpr;\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n this.addImplicitReceiverAccess(ast.name);\n }\n else {\n // Otherwise it's an error.\n const receiver = ast.name;\n const value = (ast.value instanceof PropertyRead) ? ast.value.name : undefined;\n throw new Error(`Cannot assign value \"${value}\" to template variable \"${receiver}\". Template variables are read-only.`);\n }\n }\n }\n // If no local expression could be produced, use the original receiver's\n // property as the target.\n if (varExpr === null) {\n varExpr = receiver.prop(ast.name);\n }\n return convertToStatementIfNeeded(mode, varExpr.set(this._visit(ast.value, _Mode.Expression)));\n }\n visitSafePropertyRead(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitSafeMethodCall(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitAll(asts, mode) {\n return asts.map(ast => this._visit(ast, mode));\n }\n visitQuote(ast, mode) {\n throw new Error(`Quotes are not supported for evaluation!\n Statement: ${ast.uninterpretedExpression} located at ${ast.location}`);\n }\n _visit(ast, mode) {\n const result = this._resultMap.get(ast);\n if (result)\n return result;\n return (this._nodeMap.get(ast) || ast).visit(this, mode);\n }\n convertSafeAccess(ast, leftMostSafe, mode) {\n // If the expression contains a safe access node on the left it needs to be converted to\n // an expression that guards the access to the member by checking the receiver for blank. As\n // execution proceeds from left to right, the left most part of the expression must be guarded\n // first but, because member access is left associative, the right side of the expression is at\n // the top of the AST. The desired result requires lifting a copy of the left part of the\n // expression up to test it for blank before generating the unguarded version.\n // Consider, for example the following expression: a?.b.c?.d.e\n // This results in the ast:\n // .\n // / \\\n // ?. e\n // / \\\n // . d\n // / \\\n // ?. c\n // / \\\n // a b\n // The following tree should be generated:\n //\n // /---- ? ----\\\n // / | \\\n // a /--- ? ---\\ null\n // / | \\\n // . . null\n // / \\ / \\\n // . c . e\n // / \\ / \\\n // a b . d\n // / \\\n // . c\n // / \\\n // a b\n //\n // Notice that the first guard condition is the left hand of the left most safe access node\n // which comes in as leftMostSafe to this routine.\n let guardedExpression = this._visit(leftMostSafe.receiver, _Mode.Expression);\n let temporary = undefined;\n if (this.needsTemporary(leftMostSafe.receiver)) {\n // If the expression has method calls or pipes then we need to save the result into a\n // temporary variable to avoid calling stateful or impure code more than once.\n temporary = this.allocateTemporary();\n // Preserve the result in the temporary variable\n guardedExpression = temporary.set(guardedExpression);\n // Ensure all further references to the guarded expression refer to the temporary instead.\n this._resultMap.set(leftMostSafe.receiver, temporary);\n }\n const condition = guardedExpression.isBlank();\n // Convert the ast to an unguarded access to the receiver's member. The map will substitute\n // leftMostNode with its unguarded version in the call to `this.visit()`.\n if (leftMostSafe instanceof SafeMethodCall) {\n this._nodeMap.set(leftMostSafe, new MethodCall(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name, leftMostSafe.args));\n }\n else {\n this._nodeMap.set(leftMostSafe, new PropertyRead(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name));\n }\n // Recursively convert the node now without the guarded member access.\n const access = this._visit(ast, _Mode.Expression);\n // Remove the mapping. This is not strictly required as the converter only traverses each node\n // once but is safer if the conversion is changed to traverse the nodes more than once.\n this._nodeMap.delete(leftMostSafe);\n // If we allocated a temporary, release it.\n if (temporary) {\n this.releaseTemporary(temporary);\n }\n // Produce the conditional\n return convertToStatementIfNeeded(mode, condition.conditional(literal(null), access));\n }\n // Given an expression of the form a?.b.c?.d.e then the left most safe node is\n // the (a?.b). The . and ?. are left associative thus can be rewritten as:\n // ((((a?.c).b).c)?.d).e. This returns the most deeply nested safe read or\n // safe method call as this needs to be transformed initially to:\n // a == null ? null : a.c.b.c?.d.e\n // then to:\n // a == null ? null : a.b.c == null ? null : a.b.c.d.e\n leftMostSafeNode(ast) {\n const visit = (visitor, ast) => {\n return (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n return ast.visit({\n visitUnary(ast) {\n return null;\n },\n visitBinary(ast) {\n return null;\n },\n visitChain(ast) {\n return null;\n },\n visitConditional(ast) {\n return null;\n },\n visitFunctionCall(ast) {\n return null;\n },\n visitImplicitReceiver(ast) {\n return null;\n },\n visitThisReceiver(ast) {\n return null;\n },\n visitInterpolation(ast) {\n return null;\n },\n visitKeyedRead(ast) {\n return visit(this, ast.obj);\n },\n visitKeyedWrite(ast) {\n return null;\n },\n visitLiteralArray(ast) {\n return null;\n },\n visitLiteralMap(ast) {\n return null;\n },\n visitLiteralPrimitive(ast) {\n return null;\n },\n visitMethodCall(ast) {\n return visit(this, ast.receiver);\n },\n visitPipe(ast) {\n return null;\n },\n visitPrefixNot(ast) {\n return null;\n },\n visitNonNullAssert(ast) {\n return null;\n },\n visitPropertyRead(ast) {\n return visit(this, ast.receiver);\n },\n visitPropertyWrite(ast) {\n return null;\n },\n visitQuote(ast) {\n return null;\n },\n visitSafeMethodCall(ast) {\n return visit(this, ast.receiver) || ast;\n },\n visitSafePropertyRead(ast) {\n return visit(this, ast.receiver) || ast;\n }\n });\n }\n // Returns true of the AST includes a method or a pipe indicating that, if the\n // expression is used as the target of a safe property or method access then\n // the expression should be stored into a temporary variable.\n needsTemporary(ast) {\n const visit = (visitor, ast) => {\n return ast && (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n const visitSome = (visitor, ast) => {\n return ast.some(ast => visit(visitor, ast));\n };\n return ast.visit({\n visitUnary(ast) {\n return visit(this, ast.expr);\n },\n visitBinary(ast) {\n return visit(this, ast.left) || visit(this, ast.right);\n },\n visitChain(ast) {\n return false;\n },\n visitConditional(ast) {\n return visit(this, ast.condition) || visit(this, ast.trueExp) || visit(this, ast.falseExp);\n },\n visitFunctionCall(ast) {\n return true;\n },\n visitImplicitReceiver(ast) {\n return false;\n },\n visitThisReceiver(ast) {\n return false;\n },\n visitInterpolation(ast) {\n return visitSome(this, ast.expressions);\n },\n visitKeyedRead(ast) {\n return false;\n },\n visitKeyedWrite(ast) {\n return false;\n },\n visitLiteralArray(ast) {\n return true;\n },\n visitLiteralMap(ast) {\n return true;\n },\n visitLiteralPrimitive(ast) {\n return false;\n },\n visitMethodCall(ast) {\n return true;\n },\n visitPipe(ast) {\n return true;\n },\n visitPrefixNot(ast) {\n return visit(this, ast.expression);\n },\n visitNonNullAssert(ast) {\n return visit(this, ast.expression);\n },\n visitPropertyRead(ast) {\n return false;\n },\n visitPropertyWrite(ast) {\n return false;\n },\n visitQuote(ast) {\n return false;\n },\n visitSafeMethodCall(ast) {\n return true;\n },\n visitSafePropertyRead(ast) {\n return false;\n }\n });\n }\n allocateTemporary() {\n const tempNumber = this._currentTemporary++;\n this.temporaryCount = Math.max(this._currentTemporary, this.temporaryCount);\n return new ReadVarExpr(temporaryName(this.bindingId, tempNumber));\n }\n releaseTemporary(temporary) {\n this._currentTemporary--;\n if (temporary.name != temporaryName(this.bindingId, this._currentTemporary)) {\n throw new Error(`Temporary ${temporary.name} released out of order`);\n }\n }\n /**\n * Creates an absolute `ParseSourceSpan` from the relative `ParseSpan`.\n *\n * `ParseSpan` objects are relative to the start of the expression.\n * This method converts these to full `ParseSourceSpan` objects that\n * show where the span is within the overall source file.\n *\n * @param span the relative span to convert.\n * @returns a `ParseSourceSpan` for the given span or null if no\n * `baseSourceSpan` was provided to this class.\n */\n convertSourceSpan(span) {\n if (this.baseSourceSpan) {\n const start = this.baseSourceSpan.start.moveBy(span.start);\n const end = this.baseSourceSpan.start.moveBy(span.end);\n const fullStart = this.baseSourceSpan.fullStart.moveBy(span.start);\n return new ParseSourceSpan(start, end, fullStart);\n }\n else {\n return null;\n }\n }\n /** Adds the name of an AST to the list of implicit receiver accesses. */\n addImplicitReceiverAccess(name) {\n if (this.implicitReceiverAccesses) {\n this.implicitReceiverAccesses.add(name);\n }\n }\n}\nfunction flattenStatements(arg, output) {\n if (Array.isArray(arg)) {\n arg.forEach((entry) => flattenStatements(entry, output));\n }\n else {\n output.push(arg);\n }\n}\nclass DefaultLocalResolver {\n constructor(globals) {\n this.globals = globals;\n }\n notifyImplicitReceiverUse() { }\n getLocal(name) {\n if (name === EventHandlerVars.event.name) {\n return EventHandlerVars.event;\n }\n return null;\n }\n}\nfunction createCurrValueExpr(bindingId) {\n return variable(`currVal_${bindingId}`); // fix syntax highlighting: `\n}\nfunction createPreventDefaultVar(bindingId) {\n return variable(`pd_${bindingId}`);\n}\nfunction convertStmtIntoExpression(stmt) {\n if (stmt instanceof ExpressionStatement) {\n return stmt.expr;\n }\n else if (stmt instanceof ReturnStatement) {\n return stmt.value;\n }\n return null;\n}\nclass BuiltinFunctionCall extends FunctionCall {\n constructor(span, sourceSpan, args, converter) {\n super(span, sourceSpan, null, args);\n this.args = args;\n this.converter = converter;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This file is a port of shadowCSS from webcomponents.js to TypeScript.\n *\n * Please make sure to keep to edits in sync with the source file.\n *\n * Source:\n * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js\n *\n * The original file level comment is reproduced below\n */\n/*\n This is a limited shim for ShadowDOM css styling.\n https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles\n\n The intention here is to support only the styling features which can be\n relatively simply implemented. The goal is to allow users to avoid the\n most obvious pitfalls and do so without compromising performance significantly.\n For ShadowDOM styling that's not covered here, a set of best practices\n can be provided that should allow users to accomplish more complex styling.\n\n The following is a list of specific ShadowDOM styling features and a brief\n discussion of the approach used to shim.\n\n Shimmed features:\n\n * :host, :host-context: ShadowDOM allows styling of the shadowRoot's host\n element using the :host rule. To shim this feature, the :host styles are\n reformatted and prefixed with a given scope name and promoted to a\n document level stylesheet.\n For example, given a scope name of .foo, a rule like this:\n\n :host {\n background: red;\n }\n }\n\n becomes:\n\n .foo {\n background: red;\n }\n\n * encapsulation: Styles defined within ShadowDOM, apply only to\n dom inside the ShadowDOM. Polymer uses one of two techniques to implement\n this feature.\n\n By default, rules are prefixed with the host element tag name\n as a descendant selector. This ensures styling does not leak out of the 'top'\n of the element's ShadowDOM. For example,\n\n div {\n font-weight: bold;\n }\n\n becomes:\n\n x-foo div {\n font-weight: bold;\n }\n\n becomes:\n\n\n Alternatively, if WebComponents.ShadowCSS.strictStyling is set to true then\n selectors are scoped by adding an attribute selector suffix to each\n simple selector that contains the host element tag name. Each element\n in the element's ShadowDOM template is also given the scope attribute.\n Thus, these rules match only elements that have the scope attribute.\n For example, given a scope name of x-foo, a rule like this:\n\n div {\n font-weight: bold;\n }\n\n becomes:\n\n div[x-foo] {\n font-weight: bold;\n }\n\n Note that elements that are dynamically added to a scope must have the scope\n selector added to them manually.\n\n * upper/lower bound encapsulation: Styles which are defined outside a\n shadowRoot should not cross the ShadowDOM boundary and should not apply\n inside a shadowRoot.\n\n This styling behavior is not emulated. Some possible ways to do this that\n were rejected due to complexity and/or performance concerns include: (1) reset\n every possible property for every possible selector for a given scope name;\n (2) re-implement css in javascript.\n\n As an alternative, users should make sure to use selectors\n specific to the scope in which they are working.\n\n * ::distributed: This behavior is not emulated. It's often not necessary\n to style the contents of a specific insertion point and instead, descendants\n of the host element can be styled selectively. Users can also create an\n extra node around an insertion point and style that node's contents\n via descendent selectors. For example, with a shadowRoot like this:\n\n \n \n\n could become:\n\n \n
\n \n
\n\n Note the use of @polyfill in the comment above a ShadowDOM specific style\n declaration. This is a directive to the styling shim to use the selector\n in comments in lieu of the next selector when running under polyfill.\n*/\nclass ShadowCss {\n constructor() {\n this.strictStyling = true;\n }\n /*\n * Shim some cssText with the given selector. Returns cssText that can\n * be included in the document via WebComponents.ShadowCSS.addCssToDocument(css).\n *\n * When strictStyling is true:\n * - selector is the attribute added to all elements inside the host,\n * - hostSelector is the attribute added to the host itself.\n */\n shimCssText(cssText, selector, hostSelector = '') {\n const commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n cssText = this._insertDirectives(cssText);\n const scopedCssText = this._scopeCssText(cssText, selector, hostSelector);\n return [scopedCssText, ...commentsWithHash].join('\\n');\n }\n _insertDirectives(cssText) {\n cssText = this._insertPolyfillDirectivesInCssText(cssText);\n return this._insertPolyfillRulesInCssText(cssText);\n }\n /*\n * Process styles to convert native ShadowDOM rules that will trip\n * up the css parser; we rely on decorating the stylesheet with inert rules.\n *\n * For example, we convert this rule:\n *\n * polyfill-next-selector { content: ':host menu-item'; }\n * ::content menu-item {\n *\n * to this:\n *\n * scopeName menu-item {\n *\n **/\n _insertPolyfillDirectivesInCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentNextSelectorRe, function (...m) {\n return m[2] + '{';\n });\n }\n /*\n * Process styles to add rules which will only apply under the polyfill\n *\n * For example, we convert this rule:\n *\n * polyfill-rule {\n * content: ':host menu-item';\n * ...\n * }\n *\n * to this:\n *\n * scopeName menu-item {...}\n *\n **/\n _insertPolyfillRulesInCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentRuleRe, (...m) => {\n const rule = m[0].replace(m[1], '').replace(m[2], '');\n return m[4] + rule;\n });\n }\n /* Ensure styles are scoped. Pseudo-scoping takes a rule like:\n *\n * .foo {... }\n *\n * and converts this to\n *\n * scopeName .foo { ... }\n */\n _scopeCssText(cssText, scopeSelector, hostSelector) {\n const unscopedRules = this._extractUnscopedRulesFromCssText(cssText);\n // replace :host and :host-context -shadowcsshost and -shadowcsshost respectively\n cssText = this._insertPolyfillHostInCssText(cssText);\n cssText = this._convertColonHost(cssText);\n cssText = this._convertColonHostContext(cssText);\n cssText = this._convertShadowDOMSelectors(cssText);\n if (scopeSelector) {\n cssText = this._scopeSelectors(cssText, scopeSelector, hostSelector);\n }\n cssText = cssText + '\\n' + unscopedRules;\n return cssText.trim();\n }\n /*\n * Process styles to add rules which will only apply under the polyfill\n * and do not process via CSSOM. (CSSOM is destructive to rules on rare\n * occasions, e.g. -webkit-calc on Safari.)\n * For example, we convert this rule:\n *\n * @polyfill-unscoped-rule {\n * content: 'menu-item';\n * ... }\n *\n * to this:\n *\n * menu-item {...}\n *\n **/\n _extractUnscopedRulesFromCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n let r = '';\n let m;\n _cssContentUnscopedRuleRe.lastIndex = 0;\n while ((m = _cssContentUnscopedRuleRe.exec(cssText)) !== null) {\n const rule = m[0].replace(m[2], '').replace(m[1], m[4]);\n r += rule + '\\n\\n';\n }\n return r;\n }\n /*\n * convert a rule like :host(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar\n */\n _convertColonHost(cssText) {\n return this._convertColonRule(cssText, _cssColonHostRe, this._colonHostPartReplacer);\n }\n /*\n * convert a rule like :host-context(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar, .foo scopeName > .bar { }\n *\n * and\n *\n * :host-context(.foo:host) .bar { ... }\n *\n * to\n *\n * .foo .bar { ... }\n */\n _convertColonHostContext(cssText) {\n return this._convertColonRule(cssText, _cssColonHostContextRe, this._colonHostContextPartReplacer);\n }\n _convertColonRule(cssText, regExp, partReplacer) {\n // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n return cssText.replace(regExp, function (...m) {\n if (m[2]) {\n const parts = m[2].split(',');\n const r = [];\n for (let i = 0; i < parts.length; i++) {\n const p = parts[i].trim();\n if (!p)\n break;\n r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n }\n return r.join(',');\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n }\n _colonHostContextPartReplacer(host, part, suffix) {\n if (part.indexOf(_polyfillHost) > -1) {\n return this._colonHostPartReplacer(host, part, suffix);\n }\n else {\n return host + part + suffix + ', ' + part + ' ' + host + suffix;\n }\n }\n _colonHostPartReplacer(host, part, suffix) {\n return host + part.replace(_polyfillHost, '') + suffix;\n }\n /*\n * Convert combinators like ::shadow and pseudo-elements like ::content\n * by replacing with space.\n */\n _convertShadowDOMSelectors(cssText) {\n return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);\n }\n // change a selector like 'div' to 'name div'\n _scopeSelectors(cssText, scopeSelector, hostSelector) {\n return processRules(cssText, (rule) => {\n let selector = rule.selector;\n let content = rule.content;\n if (rule.selector[0] != '@') {\n selector =\n this._scopeSelector(rule.selector, scopeSelector, hostSelector, this.strictStyling);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n content = this._scopeSelectors(rule.content, scopeSelector, hostSelector);\n }\n return new CssRule(selector, content);\n });\n }\n _scopeSelector(selector, scopeSelector, hostSelector, strict) {\n return selector.split(',')\n .map(part => part.trim().split(_shadowDeepSelectors))\n .map((deepParts) => {\n const [shallowPart, ...otherParts] = deepParts;\n const applyScope = (shallowPart) => {\n if (this._selectorNeedsScoping(shallowPart, scopeSelector)) {\n return strict ?\n this._applyStrictSelectorScope(shallowPart, scopeSelector, hostSelector) :\n this._applySelectorScope(shallowPart, scopeSelector, hostSelector);\n }\n else {\n return shallowPart;\n }\n };\n return [applyScope(shallowPart), ...otherParts].join(' ');\n })\n .join(', ');\n }\n _selectorNeedsScoping(selector, scopeSelector) {\n const re = this._makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n }\n _makeScopeMatcher(scopeSelector) {\n const lre = /\\[/g;\n const rre = /\\]/g;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n }\n _applySelectorScope(selector, scopeSelector, hostSelector) {\n // Difference from webcomponents.js: scopeSelector could not be an array\n return this._applySimpleSelectorScope(selector, scopeSelector, hostSelector);\n }\n // scope via name and [is=name]\n _applySimpleSelectorScope(selector, scopeSelector, hostSelector) {\n // In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n const replaceBy = this.strictStyling ? `[${hostSelector}]` : scopeSelector;\n return selector\n .replace(_polyfillHostNoCombinatorRe, (hnc, selector) => {\n return selector.replace(/([^:]*)(:*)(.*)/, (_, before, colon, after) => {\n return before + replaceBy + colon + after;\n });\n })\n .replace(_polyfillHostRe, replaceBy + ' ');\n }\n return scopeSelector + ' ' + selector;\n }\n // return a selector with [name] suffix on each simple selector\n // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] /** @internal */\n _applyStrictSelectorScope(selector, scopeSelector, hostSelector) {\n const isRe = /\\[is=([^\\]]*)\\]/g;\n scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);\n const attrName = '[' + scopeSelector + ']';\n const _scopeSelectorPart = (p) => {\n let scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) > -1) {\n scopedP = this._applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n // remove :host since it should be unnecessary\n const t = p.replace(_polyfillHostRe, '');\n if (t.length > 0) {\n const matches = t.match(/([^:]*)(:*)(.*)/);\n if (matches) {\n scopedP = matches[1] + attrName + matches[2] + matches[3];\n }\n }\n }\n return scopedP;\n };\n const safeContent = new SafeSelector(selector);\n selector = safeContent.content();\n let scopedSelector = '';\n let startIndex = 0;\n let res;\n const sep = /( |>|\\+|~(?!=))\\s*/g;\n // If a selector appears before :host it should not be shimmed as it\n // matches on ancestor elements and not on elements in the host's shadow\n // `:host-context(div)` is transformed to\n // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n // the `div` is not part of the component in the 2nd selectors and should not be scoped.\n // Historically `component-tag:host` was matching the component so we also want to preserve\n // this behavior to avoid breaking legacy apps (it should not match).\n // The behavior should be:\n // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a\n // `:host-context(tag)`)\n const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;\n // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n let shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n const separator = res[1];\n const part = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;\n scopedSelector += `${scopedPart} ${separator} `;\n startIndex = sep.lastIndex;\n }\n const part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n // replace the placeholders with their original values\n return safeContent.restore(scopedSelector);\n }\n _insertPolyfillHostInCssText(selector) {\n return selector.replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost);\n }\n}\nclass SafeSelector {\n constructor(selector) {\n this.placeholders = [];\n this.index = 0;\n // Replaces attribute selectors with placeholders.\n // The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n selector = selector.replace(/(\\[[^\\]]*\\])/g, (_, keep) => {\n const replaceBy = `__ph-${this.index}__`;\n this.placeholders.push(keep);\n this.index++;\n return replaceBy;\n });\n // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n // WS and \"+\" would otherwise be interpreted as selector separators.\n this._content = selector.replace(/(:nth-[-\\w]+)(\\([^)]+\\))/g, (_, pseudo, exp) => {\n const replaceBy = `__ph-${this.index}__`;\n this.placeholders.push(exp);\n this.index++;\n return pseudo + replaceBy;\n });\n }\n restore(content) {\n return content.replace(/__ph-(\\d+)__/g, (ph, index) => this.placeholders[+index]);\n }\n content() {\n return this._content;\n }\n}\nconst _cssContentNextSelectorRe = /polyfill-next-selector[^}]*content:[\\s]*?(['\"])(.*?)\\1[;\\s]*}([^{]*?){/gim;\nconst _cssContentRuleRe = /(polyfill-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nconst _cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nconst _polyfillHost = '-shadowcsshost';\n// note: :host-context pre-processed to -shadowcsshostcontext.\nconst _polyfillHostContext = '-shadowcsscontext';\nconst _parenSuffix = ')(?:\\\\((' +\n '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' +\n ')\\\\))?([^,{]*)';\nconst _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');\nconst _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');\nconst _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nconst _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\\s]*)/;\nconst _shadowDOMSelectorsRe = [\n /::shadow/g,\n /::content/g,\n // Deprecated selectors\n /\\/shadow-deep\\//g,\n /\\/shadow\\//g,\n];\n// The deep combinator is deprecated in the CSS spec\n// Support for `>>>`, `deep`, `::ng-deep` is then also deprecated and will be removed in the future.\n// see https://github.com/angular/angular/pull/17677\nconst _shadowDeepSelectors = /(?:>>>)|(?:\\/deep\\/)|(?:::ng-deep)/g;\nconst _selectorReSuffix = '([>\\\\s~+\\[.,{:][\\\\s\\\\S]*)?$';\nconst _polyfillHostRe = /-shadowcsshost/gim;\nconst _colonHostRe = /:host/gim;\nconst _colonHostContextRe = /:host-context/gim;\nconst _commentRe = /\\/\\*\\s*[\\s\\S]*?\\*\\//g;\nfunction stripComments(input) {\n return input.replace(_commentRe, '');\n}\nconst _commentWithHashRe = /\\/\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\//g;\nfunction extractCommentsWithHash(input) {\n return input.match(_commentWithHashRe) || [];\n}\nconst BLOCK_PLACEHOLDER = '%BLOCK%';\nconst QUOTE_PLACEHOLDER = '%QUOTED%';\nconst _ruleRe = /(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))/g;\nconst _quotedRe = /%QUOTED%/g;\nconst CONTENT_PAIRS = new Map([['{', '}']]);\nconst QUOTE_PAIRS = new Map([[`\"`, `\"`], [`'`, `'`]]);\nclass CssRule {\n constructor(selector, content) {\n this.selector = selector;\n this.content = content;\n }\n}\nfunction processRules(input, ruleCallback) {\n const inputWithEscapedQuotes = escapeBlocks(input, QUOTE_PAIRS, QUOTE_PLACEHOLDER);\n const inputWithEscapedBlocks = escapeBlocks(inputWithEscapedQuotes.escapedString, CONTENT_PAIRS, BLOCK_PLACEHOLDER);\n let nextBlockIndex = 0;\n let nextQuoteIndex = 0;\n return inputWithEscapedBlocks.escapedString\n .replace(_ruleRe, (...m) => {\n const selector = m[2];\n let content = '';\n let suffix = m[4];\n let contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n const rule = ruleCallback(new CssRule(selector, content));\n return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;\n })\n .replace(_quotedRe, () => inputWithEscapedQuotes.blocks[nextQuoteIndex++]);\n}\nclass StringWithEscapedBlocks {\n constructor(escapedString, blocks) {\n this.escapedString = escapedString;\n this.blocks = blocks;\n }\n}\nfunction escapeBlocks(input, charPairs, placeholder) {\n const resultParts = [];\n const escapedBlocks = [];\n let openCharCount = 0;\n let nonBlockStartIndex = 0;\n let blockStartIndex = -1;\n let openChar;\n let closeChar;\n for (let i = 0; i < input.length; i++) {\n const char = input[i];\n if (char === '\\\\') {\n i++;\n }\n else if (char === closeChar) {\n openCharCount--;\n if (openCharCount === 0) {\n escapedBlocks.push(input.substring(blockStartIndex, i));\n resultParts.push(placeholder);\n nonBlockStartIndex = i;\n blockStartIndex = -1;\n openChar = closeChar = undefined;\n }\n }\n else if (char === openChar) {\n openCharCount++;\n }\n else if (openCharCount === 0 && charPairs.has(char)) {\n openChar = char;\n closeChar = charPairs.get(char);\n openCharCount = 1;\n blockStartIndex = i + 1;\n resultParts.push(input.substring(nonBlockStartIndex, blockStartIndex));\n }\n }\n if (blockStartIndex !== -1) {\n escapedBlocks.push(input.substring(blockStartIndex));\n resultParts.push(placeholder);\n }\n else {\n resultParts.push(input.substring(nonBlockStartIndex));\n }\n return new StringWithEscapedBlocks(resultParts.join(''), escapedBlocks);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst COMPONENT_VARIABLE = '%COMP%';\nconst HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;\nconst CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;\nclass StylesCompileDependency {\n constructor(name, moduleUrl, setValue) {\n this.name = name;\n this.moduleUrl = moduleUrl;\n this.setValue = setValue;\n }\n}\nclass CompiledStylesheet {\n constructor(outputCtx, stylesVar, dependencies, isShimmed, meta) {\n this.outputCtx = outputCtx;\n this.stylesVar = stylesVar;\n this.dependencies = dependencies;\n this.isShimmed = isShimmed;\n this.meta = meta;\n }\n}\nclass StyleCompiler {\n constructor(_urlResolver) {\n this._urlResolver = _urlResolver;\n this._shadowCss = new ShadowCss();\n }\n compileComponent(outputCtx, comp) {\n const template = comp.template;\n return this._compileStyles(outputCtx, comp, new CompileStylesheetMetadata({\n styles: template.styles,\n styleUrls: template.styleUrls,\n moduleUrl: identifierModuleUrl(comp.type)\n }), this.needsStyleShim(comp), true);\n }\n compileStyles(outputCtx, comp, stylesheet, shim = this.needsStyleShim(comp)) {\n return this._compileStyles(outputCtx, comp, stylesheet, shim, false);\n }\n needsStyleShim(comp) {\n return comp.template.encapsulation === ViewEncapsulation.Emulated;\n }\n _compileStyles(outputCtx, comp, stylesheet, shim, isComponentStylesheet) {\n const styleExpressions = stylesheet.styles.map(plainStyle => literal(this._shimIfNeeded(plainStyle, shim)));\n const dependencies = [];\n stylesheet.styleUrls.forEach((styleUrl) => {\n const exprIndex = styleExpressions.length;\n // Note: This placeholder will be filled later.\n styleExpressions.push(null);\n dependencies.push(new StylesCompileDependency(getStylesVarName(null), styleUrl, (value) => styleExpressions[exprIndex] = outputCtx.importExpr(value)));\n });\n // styles variable contains plain strings and arrays of other styles arrays (recursive),\n // so we set its type to dynamic.\n const stylesVar = getStylesVarName(isComponentStylesheet ? comp : null);\n const stmt = variable(stylesVar)\n .set(literalArr(styleExpressions, new ArrayType(DYNAMIC_TYPE, [TypeModifier.Const])))\n .toDeclStmt(null, isComponentStylesheet ? [StmtModifier.Final] : [\n StmtModifier.Final, StmtModifier.Exported\n ]);\n outputCtx.statements.push(stmt);\n return new CompiledStylesheet(outputCtx, stylesVar, dependencies, shim, stylesheet);\n }\n _shimIfNeeded(style, shim) {\n return shim ? this._shadowCss.shimCssText(style, CONTENT_ATTR, HOST_ATTR) : style;\n }\n}\nfunction getStylesVarName(component) {\n let result = `styles`;\n if (component) {\n result += `_${identifierName(component.type)}`;\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A path is an ordered set of elements. Typically a path is to a\n * particular offset in a source file. The head of the list is the top\n * most node. The tail is the node that contains the offset directly.\n *\n * For example, the expression `a + b + c` might have an ast that looks\n * like:\n * +\n * / \\\n * a +\n * / \\\n * b c\n *\n * The path to the node at offset 9 would be `['+' at 1-10, '+' at 7-10,\n * 'c' at 9-10]` and the path the node at offset 1 would be\n * `['+' at 1-10, 'a' at 1-2]`.\n */\nclass AstPath {\n constructor(path, position = -1) {\n this.path = path;\n this.position = position;\n }\n get empty() {\n return !this.path || !this.path.length;\n }\n get head() {\n return this.path[0];\n }\n get tail() {\n return this.path[this.path.length - 1];\n }\n parentOf(node) {\n return node && this.path[this.path.indexOf(node) - 1];\n }\n childOf(node) {\n return this.path[this.path.indexOf(node) + 1];\n }\n first(ctor) {\n for (let i = this.path.length - 1; i >= 0; i--) {\n let item = this.path[i];\n if (item instanceof ctor)\n return item;\n }\n }\n push(node) {\n this.path.push(node);\n }\n pop() {\n return this.path.pop();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass NodeWithI18n {\n constructor(sourceSpan, i18n) {\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n}\nclass Text$3 extends NodeWithI18n {\n constructor(value, sourceSpan, i18n) {\n super(sourceSpan, i18n);\n this.value = value;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\nclass Expansion extends NodeWithI18n {\n constructor(switchValue, type, cases, sourceSpan, switchValueSourceSpan, i18n) {\n super(sourceSpan, i18n);\n this.switchValue = switchValue;\n this.type = type;\n this.cases = cases;\n this.switchValueSourceSpan = switchValueSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitExpansion(this, context);\n }\n}\nclass ExpansionCase {\n constructor(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {\n this.value = value;\n this.expression = expression;\n this.sourceSpan = sourceSpan;\n this.valueSourceSpan = valueSourceSpan;\n this.expSourceSpan = expSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitExpansionCase(this, context);\n }\n}\nclass Attribute extends NodeWithI18n {\n constructor(name, value, sourceSpan, valueSpan, i18n) {\n super(sourceSpan, i18n);\n this.name = name;\n this.value = value;\n this.valueSpan = valueSpan;\n }\n visit(visitor, context) {\n return visitor.visitAttribute(this, context);\n }\n}\nclass Element$1 extends NodeWithI18n {\n constructor(name, attrs, children, sourceSpan, startSourceSpan, endSourceSpan = null, i18n) {\n super(sourceSpan, i18n);\n this.name = name;\n this.attrs = attrs;\n this.children = children;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitElement(this, context);\n }\n}\nclass Comment {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitComment(this, context);\n }\n}\nfunction visitAll$1(visitor, nodes, context = null) {\n const result = [];\n const visit = visitor.visit ?\n (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :\n (ast) => ast.visit(visitor, context);\n nodes.forEach(ast => {\n const astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\nclass RecursiveVisitor$1 {\n constructor() { }\n visitElement(ast, context) {\n this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.children);\n });\n }\n visitAttribute(ast, context) { }\n visitText(ast, context) { }\n visitComment(ast, context) { }\n visitExpansion(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.cases);\n });\n }\n visitExpansionCase(ast, context) { }\n visitChildren(context, cb) {\n let results = [];\n let t = this;\n function visit(children) {\n if (children)\n results.push(visitAll$1(t, children, context));\n }\n cb(visit);\n return Array.prototype.concat.apply([], results);\n }\n}\nfunction spanOf(ast) {\n const start = ast.sourceSpan.start.offset;\n let end = ast.sourceSpan.end.offset;\n if (ast instanceof Element$1) {\n if (ast.endSourceSpan) {\n end = ast.endSourceSpan.end.offset;\n }\n else if (ast.children && ast.children.length) {\n end = spanOf(ast.children[ast.children.length - 1]).end;\n }\n }\n return { start, end };\n}\nfunction findNode(nodes, position) {\n const path = [];\n const visitor = new class extends RecursiveVisitor$1 {\n visit(ast, context) {\n const span = spanOf(ast);\n if (span.start <= position && position < span.end) {\n path.push(ast);\n }\n else {\n // Returning a value here will result in the children being skipped.\n return true;\n }\n }\n };\n visitAll$1(visitor, nodes);\n return new AstPath(path, position);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"TAG_OPEN_START\"] = 0] = \"TAG_OPEN_START\";\n TokenType[TokenType[\"TAG_OPEN_END\"] = 1] = \"TAG_OPEN_END\";\n TokenType[TokenType[\"TAG_OPEN_END_VOID\"] = 2] = \"TAG_OPEN_END_VOID\";\n TokenType[TokenType[\"TAG_CLOSE\"] = 3] = \"TAG_CLOSE\";\n TokenType[TokenType[\"INCOMPLETE_TAG_OPEN\"] = 4] = \"INCOMPLETE_TAG_OPEN\";\n TokenType[TokenType[\"TEXT\"] = 5] = \"TEXT\";\n TokenType[TokenType[\"ESCAPABLE_RAW_TEXT\"] = 6] = \"ESCAPABLE_RAW_TEXT\";\n TokenType[TokenType[\"RAW_TEXT\"] = 7] = \"RAW_TEXT\";\n TokenType[TokenType[\"COMMENT_START\"] = 8] = \"COMMENT_START\";\n TokenType[TokenType[\"COMMENT_END\"] = 9] = \"COMMENT_END\";\n TokenType[TokenType[\"CDATA_START\"] = 10] = \"CDATA_START\";\n TokenType[TokenType[\"CDATA_END\"] = 11] = \"CDATA_END\";\n TokenType[TokenType[\"ATTR_NAME\"] = 12] = \"ATTR_NAME\";\n TokenType[TokenType[\"ATTR_QUOTE\"] = 13] = \"ATTR_QUOTE\";\n TokenType[TokenType[\"ATTR_VALUE\"] = 14] = \"ATTR_VALUE\";\n TokenType[TokenType[\"DOC_TYPE\"] = 15] = \"DOC_TYPE\";\n TokenType[TokenType[\"EXPANSION_FORM_START\"] = 16] = \"EXPANSION_FORM_START\";\n TokenType[TokenType[\"EXPANSION_CASE_VALUE\"] = 17] = \"EXPANSION_CASE_VALUE\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_START\"] = 18] = \"EXPANSION_CASE_EXP_START\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_END\"] = 19] = \"EXPANSION_CASE_EXP_END\";\n TokenType[TokenType[\"EXPANSION_FORM_END\"] = 20] = \"EXPANSION_FORM_END\";\n TokenType[TokenType[\"EOF\"] = 21] = \"EOF\";\n})(TokenType || (TokenType = {}));\nclass Token {\n constructor(type, parts, sourceSpan) {\n this.type = type;\n this.parts = parts;\n this.sourceSpan = sourceSpan;\n }\n}\nclass TokenError extends ParseError {\n constructor(errorMsg, tokenType, span) {\n super(span, errorMsg);\n this.tokenType = tokenType;\n }\n}\nclass TokenizeResult {\n constructor(tokens, errors, nonNormalizedIcuExpressions) {\n this.tokens = tokens;\n this.errors = errors;\n this.nonNormalizedIcuExpressions = nonNormalizedIcuExpressions;\n }\n}\nfunction tokenize(source, url, getTagDefinition, options = {}) {\n const tokenizer = new _Tokenizer(new ParseSourceFile(source, url), getTagDefinition, options);\n tokenizer.tokenize();\n return new TokenizeResult(mergeTextTokens(tokenizer.tokens), tokenizer.errors, tokenizer.nonNormalizedIcuExpressions);\n}\nconst _CR_OR_CRLF_REGEXP = /\\r\\n?/g;\nfunction _unexpectedCharacterErrorMsg(charCode) {\n const char = charCode === $EOF ? 'EOF' : String.fromCharCode(charCode);\n return `Unexpected character \"${char}\"`;\n}\nfunction _unknownEntityErrorMsg(entitySrc) {\n return `Unknown entity \"${entitySrc}\" - use the \"&#;\" or \"&#x;\" syntax`;\n}\nfunction _unparsableEntityErrorMsg(type, entityStr) {\n return `Unable to parse entity \"${entityStr}\" - ${type} character reference entities must end with \";\"`;\n}\nvar CharacterReferenceType;\n(function (CharacterReferenceType) {\n CharacterReferenceType[\"HEX\"] = \"hexadecimal\";\n CharacterReferenceType[\"DEC\"] = \"decimal\";\n})(CharacterReferenceType || (CharacterReferenceType = {}));\nclass _ControlFlowError {\n constructor(error) {\n this.error = error;\n }\n}\n// See https://www.w3.org/TR/html51/syntax.html#writing-html-documents\nclass _Tokenizer {\n /**\n * @param _file The html source file being tokenized.\n * @param _getTagDefinition A function that will retrieve a tag definition for a given tag name.\n * @param options Configuration of the tokenization.\n */\n constructor(_file, _getTagDefinition, options) {\n this._getTagDefinition = _getTagDefinition;\n this._currentTokenStart = null;\n this._currentTokenType = null;\n this._expansionCaseStack = [];\n this._inInterpolation = false;\n this.tokens = [];\n this.errors = [];\n this.nonNormalizedIcuExpressions = [];\n this._tokenizeIcu = options.tokenizeExpansionForms || false;\n this._interpolationConfig = options.interpolationConfig || DEFAULT_INTERPOLATION_CONFIG;\n this._leadingTriviaCodePoints =\n options.leadingTriviaChars && options.leadingTriviaChars.map(c => c.codePointAt(0) || 0);\n const range = options.range || { endPos: _file.content.length, startPos: 0, startLine: 0, startCol: 0 };\n this._cursor = options.escapedString ? new EscapedCharacterCursor(_file, range) :\n new PlainCharacterCursor(_file, range);\n this._preserveLineEndings = options.preserveLineEndings || false;\n this._escapedString = options.escapedString || false;\n this._i18nNormalizeLineEndingsInICUs = options.i18nNormalizeLineEndingsInICUs || false;\n try {\n this._cursor.init();\n }\n catch (e) {\n this.handleError(e);\n }\n }\n _processCarriageReturns(content) {\n if (this._preserveLineEndings) {\n return content;\n }\n // https://www.w3.org/TR/html51/syntax.html#preprocessing-the-input-stream\n // In order to keep the original position in the source, we can not\n // pre-process it.\n // Instead CRs are processed right before instantiating the tokens.\n return content.replace(_CR_OR_CRLF_REGEXP, '\\n');\n }\n tokenize() {\n while (this._cursor.peek() !== $EOF) {\n const start = this._cursor.clone();\n try {\n if (this._attemptCharCode($LT)) {\n if (this._attemptCharCode($BANG)) {\n if (this._attemptCharCode($LBRACKET)) {\n this._consumeCdata(start);\n }\n else if (this._attemptCharCode($MINUS)) {\n this._consumeComment(start);\n }\n else {\n this._consumeDocType(start);\n }\n }\n else if (this._attemptCharCode($SLASH)) {\n this._consumeTagClose(start);\n }\n else {\n this._consumeTagOpen(start);\n }\n }\n else if (!(this._tokenizeIcu && this._tokenizeExpansionForm())) {\n this._consumeText();\n }\n }\n catch (e) {\n this.handleError(e);\n }\n }\n this._beginToken(TokenType.EOF);\n this._endToken([]);\n }\n /**\n * @returns whether an ICU token has been created\n * @internal\n */\n _tokenizeExpansionForm() {\n if (this.isExpansionFormStart()) {\n this._consumeExpansionFormStart();\n return true;\n }\n if (isExpansionCaseStart(this._cursor.peek()) && this._isInExpansionForm()) {\n this._consumeExpansionCaseStart();\n return true;\n }\n if (this._cursor.peek() === $RBRACE) {\n if (this._isInExpansionCase()) {\n this._consumeExpansionCaseEnd();\n return true;\n }\n if (this._isInExpansionForm()) {\n this._consumeExpansionFormEnd();\n return true;\n }\n }\n return false;\n }\n _beginToken(type, start = this._cursor.clone()) {\n this._currentTokenStart = start;\n this._currentTokenType = type;\n }\n _endToken(parts, end) {\n if (this._currentTokenStart === null) {\n throw new TokenError('Programming error - attempted to end a token when there was no start to the token', this._currentTokenType, this._cursor.getSpan(end));\n }\n if (this._currentTokenType === null) {\n throw new TokenError('Programming error - attempted to end a token which has no token type', null, this._cursor.getSpan(this._currentTokenStart));\n }\n const token = new Token(this._currentTokenType, parts, this._cursor.getSpan(this._currentTokenStart, this._leadingTriviaCodePoints));\n this.tokens.push(token);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return token;\n }\n _createError(msg, span) {\n if (this._isInExpansionForm()) {\n msg += ` (Do you have an unescaped \"{\" in your template? Use \"{{ '{' }}\") to escape it.)`;\n }\n const error = new TokenError(msg, this._currentTokenType, span);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return new _ControlFlowError(error);\n }\n handleError(e) {\n if (e instanceof CursorError) {\n e = this._createError(e.msg, this._cursor.getSpan(e.cursor));\n }\n if (e instanceof _ControlFlowError) {\n this.errors.push(e.error);\n }\n else {\n throw e;\n }\n }\n _attemptCharCode(charCode) {\n if (this._cursor.peek() === charCode) {\n this._cursor.advance();\n return true;\n }\n return false;\n }\n _attemptCharCodeCaseInsensitive(charCode) {\n if (compareCharCodeCaseInsensitive(this._cursor.peek(), charCode)) {\n this._cursor.advance();\n return true;\n }\n return false;\n }\n _requireCharCode(charCode) {\n const location = this._cursor.clone();\n if (!this._attemptCharCode(charCode)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));\n }\n }\n _attemptStr(chars) {\n const len = chars.length;\n if (this._cursor.charsLeft() < len) {\n return false;\n }\n const initialPosition = this._cursor.clone();\n for (let i = 0; i < len; i++) {\n if (!this._attemptCharCode(chars.charCodeAt(i))) {\n // If attempting to parse the string fails, we want to reset the parser\n // to where it was before the attempt\n this._cursor = initialPosition;\n return false;\n }\n }\n return true;\n }\n _attemptStrCaseInsensitive(chars) {\n for (let i = 0; i < chars.length; i++) {\n if (!this._attemptCharCodeCaseInsensitive(chars.charCodeAt(i))) {\n return false;\n }\n }\n return true;\n }\n _requireStr(chars) {\n const location = this._cursor.clone();\n if (!this._attemptStr(chars)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));\n }\n }\n _attemptCharCodeUntilFn(predicate) {\n while (!predicate(this._cursor.peek())) {\n this._cursor.advance();\n }\n }\n _requireCharCodeUntilFn(predicate, len) {\n const start = this._cursor.clone();\n this._attemptCharCodeUntilFn(predicate);\n if (this._cursor.diff(start) < len) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));\n }\n }\n _attemptUntilChar(char) {\n while (this._cursor.peek() !== char) {\n this._cursor.advance();\n }\n }\n _readChar(decodeEntities) {\n if (decodeEntities && this._cursor.peek() === $AMPERSAND) {\n return this._decodeEntity();\n }\n else {\n // Don't rely upon reading directly from `_input` as the actual char value\n // may have been generated from an escape sequence.\n const char = String.fromCodePoint(this._cursor.peek());\n this._cursor.advance();\n return char;\n }\n }\n _decodeEntity() {\n const start = this._cursor.clone();\n this._cursor.advance();\n if (this._attemptCharCode($HASH)) {\n const isHex = this._attemptCharCode($x) || this._attemptCharCode($X);\n const codeStart = this._cursor.clone();\n this._attemptCharCodeUntilFn(isDigitEntityEnd);\n if (this._cursor.peek() != $SEMICOLON) {\n // Advance cursor to include the peeked character in the string provided to the error\n // message.\n this._cursor.advance();\n const entityType = isHex ? CharacterReferenceType.HEX : CharacterReferenceType.DEC;\n throw this._createError(_unparsableEntityErrorMsg(entityType, this._cursor.getChars(start)), this._cursor.getSpan());\n }\n const strNum = this._cursor.getChars(codeStart);\n this._cursor.advance();\n try {\n const charCode = parseInt(strNum, isHex ? 16 : 10);\n return String.fromCharCode(charCode);\n }\n catch (_a) {\n throw this._createError(_unknownEntityErrorMsg(this._cursor.getChars(start)), this._cursor.getSpan());\n }\n }\n else {\n const nameStart = this._cursor.clone();\n this._attemptCharCodeUntilFn(isNamedEntityEnd);\n if (this._cursor.peek() != $SEMICOLON) {\n this._cursor = nameStart;\n return '&';\n }\n const name = this._cursor.getChars(nameStart);\n this._cursor.advance();\n const char = NAMED_ENTITIES[name];\n if (!char) {\n throw this._createError(_unknownEntityErrorMsg(name), this._cursor.getSpan(start));\n }\n return char;\n }\n }\n _consumeRawText(decodeEntities, endMarkerPredicate) {\n this._beginToken(decodeEntities ? TokenType.ESCAPABLE_RAW_TEXT : TokenType.RAW_TEXT);\n const parts = [];\n while (true) {\n const tagCloseStart = this._cursor.clone();\n const foundEndMarker = endMarkerPredicate();\n this._cursor = tagCloseStart;\n if (foundEndMarker) {\n break;\n }\n parts.push(this._readChar(decodeEntities));\n }\n return this._endToken([this._processCarriageReturns(parts.join(''))]);\n }\n _consumeComment(start) {\n this._beginToken(TokenType.COMMENT_START, start);\n this._requireCharCode($MINUS);\n this._endToken([]);\n this._consumeRawText(false, () => this._attemptStr('-->'));\n this._beginToken(TokenType.COMMENT_END);\n this._requireStr('-->');\n this._endToken([]);\n }\n _consumeCdata(start) {\n this._beginToken(TokenType.CDATA_START, start);\n this._requireStr('CDATA[');\n this._endToken([]);\n this._consumeRawText(false, () => this._attemptStr(']]>'));\n this._beginToken(TokenType.CDATA_END);\n this._requireStr(']]>');\n this._endToken([]);\n }\n _consumeDocType(start) {\n this._beginToken(TokenType.DOC_TYPE, start);\n const contentStart = this._cursor.clone();\n this._attemptUntilChar($GT);\n const content = this._cursor.getChars(contentStart);\n this._cursor.advance();\n this._endToken([content]);\n }\n _consumePrefixAndName() {\n const nameOrPrefixStart = this._cursor.clone();\n let prefix = '';\n while (this._cursor.peek() !== $COLON && !isPrefixEnd(this._cursor.peek())) {\n this._cursor.advance();\n }\n let nameStart;\n if (this._cursor.peek() === $COLON) {\n prefix = this._cursor.getChars(nameOrPrefixStart);\n this._cursor.advance();\n nameStart = this._cursor.clone();\n }\n else {\n nameStart = nameOrPrefixStart;\n }\n this._requireCharCodeUntilFn(isNameEnd, prefix === '' ? 0 : 1);\n const name = this._cursor.getChars(nameStart);\n return [prefix, name];\n }\n _consumeTagOpen(start) {\n let tagName;\n let prefix;\n let openTagToken;\n try {\n if (!isAsciiLetter(this._cursor.peek())) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));\n }\n openTagToken = this._consumeTagOpenStart(start);\n prefix = openTagToken.parts[0];\n tagName = openTagToken.parts[1];\n this._attemptCharCodeUntilFn(isNotWhitespace);\n while (this._cursor.peek() !== $SLASH && this._cursor.peek() !== $GT &&\n this._cursor.peek() !== $LT) {\n this._consumeAttributeName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (this._attemptCharCode($EQ)) {\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._consumeAttributeValue();\n }\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n this._consumeTagOpenEnd();\n }\n catch (e) {\n if (e instanceof _ControlFlowError) {\n if (openTagToken) {\n // We errored before we could close the opening tag, so it is incomplete.\n openTagToken.type = TokenType.INCOMPLETE_TAG_OPEN;\n }\n else {\n // When the start tag is invalid, assume we want a \"<\" as text.\n // Back to back text tokens are merged at the end.\n this._beginToken(TokenType.TEXT, start);\n this._endToken(['<']);\n }\n return;\n }\n throw e;\n }\n const contentTokenType = this._getTagDefinition(tagName).contentType;\n if (contentTokenType === TagContentType.RAW_TEXT) {\n this._consumeRawTextWithTagClose(prefix, tagName, false);\n }\n else if (contentTokenType === TagContentType.ESCAPABLE_RAW_TEXT) {\n this._consumeRawTextWithTagClose(prefix, tagName, true);\n }\n }\n _consumeRawTextWithTagClose(prefix, tagName, decodeEntities) {\n const textToken = this._consumeRawText(decodeEntities, () => {\n if (!this._attemptCharCode($LT))\n return false;\n if (!this._attemptCharCode($SLASH))\n return false;\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (!this._attemptStrCaseInsensitive(tagName))\n return false;\n this._attemptCharCodeUntilFn(isNotWhitespace);\n return this._attemptCharCode($GT);\n });\n this._beginToken(TokenType.TAG_CLOSE);\n this._requireCharCodeUntilFn(code => code === $GT, 3);\n this._cursor.advance(); // Consume the `>`\n this._endToken([prefix, tagName]);\n }\n _consumeTagOpenStart(start) {\n this._beginToken(TokenType.TAG_OPEN_START, start);\n const parts = this._consumePrefixAndName();\n return this._endToken(parts);\n }\n _consumeAttributeName() {\n const attrNameStart = this._cursor.peek();\n if (attrNameStart === $SQ || attrNameStart === $DQ) {\n throw this._createError(_unexpectedCharacterErrorMsg(attrNameStart), this._cursor.getSpan());\n }\n this._beginToken(TokenType.ATTR_NAME);\n const prefixAndName = this._consumePrefixAndName();\n this._endToken(prefixAndName);\n }\n _consumeAttributeValue() {\n let value;\n if (this._cursor.peek() === $SQ || this._cursor.peek() === $DQ) {\n this._beginToken(TokenType.ATTR_QUOTE);\n const quoteChar = this._cursor.peek();\n this._cursor.advance();\n this._endToken([String.fromCodePoint(quoteChar)]);\n this._beginToken(TokenType.ATTR_VALUE);\n const parts = [];\n while (this._cursor.peek() !== quoteChar) {\n parts.push(this._readChar(true));\n }\n value = parts.join('');\n this._endToken([this._processCarriageReturns(value)]);\n this._beginToken(TokenType.ATTR_QUOTE);\n this._cursor.advance();\n this._endToken([String.fromCodePoint(quoteChar)]);\n }\n else {\n this._beginToken(TokenType.ATTR_VALUE);\n const valueStart = this._cursor.clone();\n this._requireCharCodeUntilFn(isNameEnd, 1);\n value = this._cursor.getChars(valueStart);\n this._endToken([this._processCarriageReturns(value)]);\n }\n }\n _consumeTagOpenEnd() {\n const tokenType = this._attemptCharCode($SLASH) ? TokenType.TAG_OPEN_END_VOID : TokenType.TAG_OPEN_END;\n this._beginToken(tokenType);\n this._requireCharCode($GT);\n this._endToken([]);\n }\n _consumeTagClose(start) {\n this._beginToken(TokenType.TAG_CLOSE, start);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n const prefixAndName = this._consumePrefixAndName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._requireCharCode($GT);\n this._endToken(prefixAndName);\n }\n _consumeExpansionFormStart() {\n this._beginToken(TokenType.EXPANSION_FORM_START);\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._expansionCaseStack.push(TokenType.EXPANSION_FORM_START);\n this._beginToken(TokenType.RAW_TEXT);\n const condition = this._readUntil($COMMA);\n const normalizedCondition = this._processCarriageReturns(condition);\n if (this._i18nNormalizeLineEndingsInICUs) {\n // We explicitly want to normalize line endings for this text.\n this._endToken([normalizedCondition]);\n }\n else {\n // We are not normalizing line endings.\n const conditionToken = this._endToken([condition]);\n if (normalizedCondition !== condition) {\n this.nonNormalizedIcuExpressions.push(conditionToken);\n }\n }\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType.RAW_TEXT);\n const type = this._readUntil($COMMA);\n this._endToken([type]);\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n _consumeExpansionCaseStart() {\n this._beginToken(TokenType.EXPANSION_CASE_VALUE);\n const value = this._readUntil($LBRACE).trim();\n this._endToken([value]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType.EXPANSION_CASE_EXP_START);\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.push(TokenType.EXPANSION_CASE_EXP_START);\n }\n _consumeExpansionCaseEnd() {\n this._beginToken(TokenType.EXPANSION_CASE_EXP_END);\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.pop();\n }\n _consumeExpansionFormEnd() {\n this._beginToken(TokenType.EXPANSION_FORM_END);\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._expansionCaseStack.pop();\n }\n _consumeText() {\n const start = this._cursor.clone();\n this._beginToken(TokenType.TEXT, start);\n const parts = [];\n do {\n if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.start)) {\n parts.push(this._interpolationConfig.start);\n this._inInterpolation = true;\n }\n else if (this._interpolationConfig && this._inInterpolation &&\n this._attemptStr(this._interpolationConfig.end)) {\n parts.push(this._interpolationConfig.end);\n this._inInterpolation = false;\n }\n else {\n parts.push(this._readChar(true));\n }\n } while (!this._isTextEnd());\n this._endToken([this._processCarriageReturns(parts.join(''))]);\n }\n _isTextEnd() {\n if (this._cursor.peek() === $LT || this._cursor.peek() === $EOF) {\n return true;\n }\n if (this._tokenizeIcu && !this._inInterpolation) {\n if (this.isExpansionFormStart()) {\n // start of an expansion form\n return true;\n }\n if (this._cursor.peek() === $RBRACE && this._isInExpansionCase()) {\n // end of and expansion case\n return true;\n }\n }\n return false;\n }\n _readUntil(char) {\n const start = this._cursor.clone();\n this._attemptUntilChar(char);\n return this._cursor.getChars(start);\n }\n _isInExpansionCase() {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType.EXPANSION_CASE_EXP_START;\n }\n _isInExpansionForm() {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType.EXPANSION_FORM_START;\n }\n isExpansionFormStart() {\n if (this._cursor.peek() !== $LBRACE) {\n return false;\n }\n if (this._interpolationConfig) {\n const start = this._cursor.clone();\n const isInterpolation = this._attemptStr(this._interpolationConfig.start);\n this._cursor = start;\n return !isInterpolation;\n }\n return true;\n }\n}\nfunction isNotWhitespace(code) {\n return !isWhitespace(code) || code === $EOF;\n}\nfunction isNameEnd(code) {\n return isWhitespace(code) || code === $GT || code === $LT ||\n code === $SLASH || code === $SQ || code === $DQ || code === $EQ;\n}\nfunction isPrefixEnd(code) {\n return (code < $a || $z < code) && (code < $A || $Z < code) &&\n (code < $0 || code > $9);\n}\nfunction isDigitEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiHexDigit(code);\n}\nfunction isNamedEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiLetter(code);\n}\nfunction isExpansionCaseStart(peek) {\n return peek !== $RBRACE;\n}\nfunction compareCharCodeCaseInsensitive(code1, code2) {\n return toUpperCaseCharCode(code1) == toUpperCaseCharCode(code2);\n}\nfunction toUpperCaseCharCode(code) {\n return code >= $a && code <= $z ? code - $a + $A : code;\n}\nfunction mergeTextTokens(srcTokens) {\n const dstTokens = [];\n let lastDstToken = undefined;\n for (let i = 0; i < srcTokens.length; i++) {\n const token = srcTokens[i];\n if (lastDstToken && lastDstToken.type == TokenType.TEXT && token.type == TokenType.TEXT) {\n lastDstToken.parts[0] += token.parts[0];\n lastDstToken.sourceSpan.end = token.sourceSpan.end;\n }\n else {\n lastDstToken = token;\n dstTokens.push(lastDstToken);\n }\n }\n return dstTokens;\n}\nclass PlainCharacterCursor {\n constructor(fileOrCursor, range) {\n if (fileOrCursor instanceof PlainCharacterCursor) {\n this.file = fileOrCursor.file;\n this.input = fileOrCursor.input;\n this.end = fileOrCursor.end;\n const state = fileOrCursor.state;\n // Note: avoid using `{...fileOrCursor.state}` here as that has a severe performance penalty.\n // In ES5 bundles the object spread operator is translated into the `__assign` helper, which\n // is not optimized by VMs as efficiently as a raw object literal. Since this constructor is\n // called in tight loops, this difference matters.\n this.state = {\n peek: state.peek,\n offset: state.offset,\n line: state.line,\n column: state.column,\n };\n }\n else {\n if (!range) {\n throw new Error('Programming error: the range argument must be provided with a file argument.');\n }\n this.file = fileOrCursor;\n this.input = fileOrCursor.content;\n this.end = range.endPos;\n this.state = {\n peek: -1,\n offset: range.startPos,\n line: range.startLine,\n column: range.startCol,\n };\n }\n }\n clone() {\n return new PlainCharacterCursor(this);\n }\n peek() {\n return this.state.peek;\n }\n charsLeft() {\n return this.end - this.state.offset;\n }\n diff(other) {\n return this.state.offset - other.state.offset;\n }\n advance() {\n this.advanceState(this.state);\n }\n init() {\n this.updatePeek(this.state);\n }\n getSpan(start, leadingTriviaCodePoints) {\n start = start || this;\n let fullStart = start;\n if (leadingTriviaCodePoints) {\n while (this.diff(start) > 0 && leadingTriviaCodePoints.indexOf(start.peek()) !== -1) {\n if (fullStart === start) {\n start = start.clone();\n }\n start.advance();\n }\n }\n const startLocation = this.locationFromCursor(start);\n const endLocation = this.locationFromCursor(this);\n const fullStartLocation = fullStart !== start ? this.locationFromCursor(fullStart) : startLocation;\n return new ParseSourceSpan(startLocation, endLocation, fullStartLocation);\n }\n getChars(start) {\n return this.input.substring(start.state.offset, this.state.offset);\n }\n charAt(pos) {\n return this.input.charCodeAt(pos);\n }\n advanceState(state) {\n if (state.offset >= this.end) {\n this.state = state;\n throw new CursorError('Unexpected character \"EOF\"', this);\n }\n const currentChar = this.charAt(state.offset);\n if (currentChar === $LF) {\n state.line++;\n state.column = 0;\n }\n else if (!isNewLine(currentChar)) {\n state.column++;\n }\n state.offset++;\n this.updatePeek(state);\n }\n updatePeek(state) {\n state.peek = state.offset >= this.end ? $EOF : this.charAt(state.offset);\n }\n locationFromCursor(cursor) {\n return new ParseLocation(cursor.file, cursor.state.offset, cursor.state.line, cursor.state.column);\n }\n}\nclass EscapedCharacterCursor extends PlainCharacterCursor {\n constructor(fileOrCursor, range) {\n if (fileOrCursor instanceof EscapedCharacterCursor) {\n super(fileOrCursor);\n this.internalState = Object.assign({}, fileOrCursor.internalState);\n }\n else {\n super(fileOrCursor, range);\n this.internalState = this.state;\n }\n }\n advance() {\n this.state = this.internalState;\n super.advance();\n this.processEscapeSequence();\n }\n init() {\n super.init();\n this.processEscapeSequence();\n }\n clone() {\n return new EscapedCharacterCursor(this);\n }\n getChars(start) {\n const cursor = start.clone();\n let chars = '';\n while (cursor.internalState.offset < this.internalState.offset) {\n chars += String.fromCodePoint(cursor.peek());\n cursor.advance();\n }\n return chars;\n }\n /**\n * Process the escape sequence that starts at the current position in the text.\n *\n * This method is called to ensure that `peek` has the unescaped value of escape sequences.\n */\n processEscapeSequence() {\n const peek = () => this.internalState.peek;\n if (peek() === $BACKSLASH) {\n // We have hit an escape sequence so we need the internal state to become independent\n // of the external state.\n this.internalState = Object.assign({}, this.state);\n // Move past the backslash\n this.advanceState(this.internalState);\n // First check for standard control char sequences\n if (peek() === $n) {\n this.state.peek = $LF;\n }\n else if (peek() === $r) {\n this.state.peek = $CR;\n }\n else if (peek() === $v) {\n this.state.peek = $VTAB;\n }\n else if (peek() === $t) {\n this.state.peek = $TAB;\n }\n else if (peek() === $b) {\n this.state.peek = $BSPACE;\n }\n else if (peek() === $f) {\n this.state.peek = $FF;\n }\n // Now consider more complex sequences\n else if (peek() === $u) {\n // Unicode code-point sequence\n this.advanceState(this.internalState); // advance past the `u` char\n if (peek() === $LBRACE) {\n // Variable length Unicode, e.g. `\\x{123}`\n this.advanceState(this.internalState); // advance past the `{` char\n // Advance past the variable number of hex digits until we hit a `}` char\n const digitStart = this.clone();\n let length = 0;\n while (peek() !== $RBRACE) {\n this.advanceState(this.internalState);\n length++;\n }\n this.state.peek = this.decodeHexDigits(digitStart, length);\n }\n else {\n // Fixed length Unicode, e.g. `\\u1234`\n const digitStart = this.clone();\n this.advanceState(this.internalState);\n this.advanceState(this.internalState);\n this.advanceState(this.internalState);\n this.state.peek = this.decodeHexDigits(digitStart, 4);\n }\n }\n else if (peek() === $x) {\n // Hex char code, e.g. `\\x2F`\n this.advanceState(this.internalState); // advance past the `x` char\n const digitStart = this.clone();\n this.advanceState(this.internalState);\n this.state.peek = this.decodeHexDigits(digitStart, 2);\n }\n else if (isOctalDigit(peek())) {\n // Octal char code, e.g. `\\012`,\n let octal = '';\n let length = 0;\n let previous = this.clone();\n while (isOctalDigit(peek()) && length < 3) {\n previous = this.clone();\n octal += String.fromCodePoint(peek());\n this.advanceState(this.internalState);\n length++;\n }\n this.state.peek = parseInt(octal, 8);\n // Backup one char\n this.internalState = previous.internalState;\n }\n else if (isNewLine(this.internalState.peek)) {\n // Line continuation `\\` followed by a new line\n this.advanceState(this.internalState); // advance over the newline\n this.state = this.internalState;\n }\n else {\n // If none of the `if` blocks were executed then we just have an escaped normal character.\n // In that case we just, effectively, skip the backslash from the character.\n this.state.peek = this.internalState.peek;\n }\n }\n }\n decodeHexDigits(start, length) {\n const hex = this.input.substr(start.internalState.offset, length);\n const charCode = parseInt(hex, 16);\n if (!isNaN(charCode)) {\n return charCode;\n }\n else {\n start.state = start.internalState;\n throw new CursorError('Invalid hexadecimal escape sequence', start);\n }\n }\n}\nclass CursorError {\n constructor(msg, cursor) {\n this.msg = msg;\n this.cursor = cursor;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass TreeError extends ParseError {\n constructor(elementName, span, msg) {\n super(span, msg);\n this.elementName = elementName;\n }\n static create(elementName, span, msg) {\n return new TreeError(elementName, span, msg);\n }\n}\nclass ParseTreeResult {\n constructor(rootNodes, errors) {\n this.rootNodes = rootNodes;\n this.errors = errors;\n }\n}\nclass Parser {\n constructor(getTagDefinition) {\n this.getTagDefinition = getTagDefinition;\n }\n parse(source, url, options) {\n const tokenizeResult = tokenize(source, url, this.getTagDefinition, options);\n const parser = new _TreeBuilder(tokenizeResult.tokens, this.getTagDefinition);\n parser.build();\n return new ParseTreeResult(parser.rootNodes, tokenizeResult.errors.concat(parser.errors));\n }\n}\nclass _TreeBuilder {\n constructor(tokens, getTagDefinition) {\n this.tokens = tokens;\n this.getTagDefinition = getTagDefinition;\n this._index = -1;\n this._elementStack = [];\n this.rootNodes = [];\n this.errors = [];\n this._advance();\n }\n build() {\n while (this._peek.type !== TokenType.EOF) {\n if (this._peek.type === TokenType.TAG_OPEN_START ||\n this._peek.type === TokenType.INCOMPLETE_TAG_OPEN) {\n this._consumeStartTag(this._advance());\n }\n else if (this._peek.type === TokenType.TAG_CLOSE) {\n this._consumeEndTag(this._advance());\n }\n else if (this._peek.type === TokenType.CDATA_START) {\n this._closeVoidElement();\n this._consumeCdata(this._advance());\n }\n else if (this._peek.type === TokenType.COMMENT_START) {\n this._closeVoidElement();\n this._consumeComment(this._advance());\n }\n else if (this._peek.type === TokenType.TEXT || this._peek.type === TokenType.RAW_TEXT ||\n this._peek.type === TokenType.ESCAPABLE_RAW_TEXT) {\n this._closeVoidElement();\n this._consumeText(this._advance());\n }\n else if (this._peek.type === TokenType.EXPANSION_FORM_START) {\n this._consumeExpansion(this._advance());\n }\n else {\n // Skip all other tokens...\n this._advance();\n }\n }\n }\n _advance() {\n const prev = this._peek;\n if (this._index < this.tokens.length - 1) {\n // Note: there is always an EOF token at the end\n this._index++;\n }\n this._peek = this.tokens[this._index];\n return prev;\n }\n _advanceIf(type) {\n if (this._peek.type === type) {\n return this._advance();\n }\n return null;\n }\n _consumeCdata(_startToken) {\n this._consumeText(this._advance());\n this._advanceIf(TokenType.CDATA_END);\n }\n _consumeComment(token) {\n const text = this._advanceIf(TokenType.RAW_TEXT);\n this._advanceIf(TokenType.COMMENT_END);\n const value = text != null ? text.parts[0].trim() : null;\n this._addToParent(new Comment(value, token.sourceSpan));\n }\n _consumeExpansion(token) {\n const switchValue = this._advance();\n const type = this._advance();\n const cases = [];\n // read =\n while (this._peek.type === TokenType.EXPANSION_CASE_VALUE) {\n const expCase = this._parseExpansionCase();\n if (!expCase)\n return; // error\n cases.push(expCase);\n }\n // read the final }\n if (this._peek.type !== TokenType.EXPANSION_FORM_END) {\n this.errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return;\n }\n const sourceSpan = new ParseSourceSpan(token.sourceSpan.start, this._peek.sourceSpan.end, token.sourceSpan.fullStart);\n this._addToParent(new Expansion(switchValue.parts[0], type.parts[0], cases, sourceSpan, switchValue.sourceSpan));\n this._advance();\n }\n _parseExpansionCase() {\n const value = this._advance();\n // read {\n if (this._peek.type !== TokenType.EXPANSION_CASE_EXP_START) {\n this.errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '{'.`));\n return null;\n }\n // read until }\n const start = this._advance();\n const exp = this._collectExpansionExpTokens(start);\n if (!exp)\n return null;\n const end = this._advance();\n exp.push(new Token(TokenType.EOF, [], end.sourceSpan));\n // parse everything in between { and }\n const expansionCaseParser = new _TreeBuilder(exp, this.getTagDefinition);\n expansionCaseParser.build();\n if (expansionCaseParser.errors.length > 0) {\n this.errors = this.errors.concat(expansionCaseParser.errors);\n return null;\n }\n const sourceSpan = new ParseSourceSpan(value.sourceSpan.start, end.sourceSpan.end, value.sourceSpan.fullStart);\n const expSourceSpan = new ParseSourceSpan(start.sourceSpan.start, end.sourceSpan.end, start.sourceSpan.fullStart);\n return new ExpansionCase(value.parts[0], expansionCaseParser.rootNodes, sourceSpan, value.sourceSpan, expSourceSpan);\n }\n _collectExpansionExpTokens(start) {\n const exp = [];\n const expansionFormStack = [TokenType.EXPANSION_CASE_EXP_START];\n while (true) {\n if (this._peek.type === TokenType.EXPANSION_FORM_START ||\n this._peek.type === TokenType.EXPANSION_CASE_EXP_START) {\n expansionFormStack.push(this._peek.type);\n }\n if (this._peek.type === TokenType.EXPANSION_CASE_EXP_END) {\n if (lastOnStack(expansionFormStack, TokenType.EXPANSION_CASE_EXP_START)) {\n expansionFormStack.pop();\n if (expansionFormStack.length == 0)\n return exp;\n }\n else {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n }\n if (this._peek.type === TokenType.EXPANSION_FORM_END) {\n if (lastOnStack(expansionFormStack, TokenType.EXPANSION_FORM_START)) {\n expansionFormStack.pop();\n }\n else {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n }\n if (this._peek.type === TokenType.EOF) {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n exp.push(this._advance());\n }\n }\n _consumeText(token) {\n let text = token.parts[0];\n if (text.length > 0 && text[0] == '\\n') {\n const parent = this._getParentElement();\n if (parent != null && parent.children.length == 0 &&\n this.getTagDefinition(parent.name).ignoreFirstLf) {\n text = text.substring(1);\n }\n }\n if (text.length > 0) {\n this._addToParent(new Text$3(text, token.sourceSpan));\n }\n }\n _closeVoidElement() {\n const el = this._getParentElement();\n if (el && this.getTagDefinition(el.name).isVoid) {\n this._elementStack.pop();\n }\n }\n _consumeStartTag(startTagToken) {\n const [prefix, name] = startTagToken.parts;\n const attrs = [];\n while (this._peek.type === TokenType.ATTR_NAME) {\n attrs.push(this._consumeAttr(this._advance()));\n }\n const fullName = this._getElementFullName(prefix, name, this._getParentElement());\n let selfClosing = false;\n // Note: There could have been a tokenizer error\n // so that we don't get a token for the end tag...\n if (this._peek.type === TokenType.TAG_OPEN_END_VOID) {\n this._advance();\n selfClosing = true;\n const tagDef = this.getTagDefinition(fullName);\n if (!(tagDef.canSelfClose || getNsPrefix(fullName) !== null || tagDef.isVoid)) {\n this.errors.push(TreeError.create(fullName, startTagToken.sourceSpan, `Only void and foreign elements can be self closed \"${startTagToken.parts[1]}\"`));\n }\n }\n else if (this._peek.type === TokenType.TAG_OPEN_END) {\n this._advance();\n selfClosing = false;\n }\n const end = this._peek.sourceSpan.start;\n const span = new ParseSourceSpan(startTagToken.sourceSpan.start, end, startTagToken.sourceSpan.fullStart);\n // Create a separate `startSpan` because `span` will be modified when there is an `end` span.\n const startSpan = new ParseSourceSpan(startTagToken.sourceSpan.start, end, startTagToken.sourceSpan.fullStart);\n const el = new Element$1(fullName, attrs, [], span, startSpan, undefined);\n this._pushElement(el);\n if (selfClosing) {\n // Elements that are self-closed have their `endSourceSpan` set to the full span, as the\n // element start tag also represents the end tag.\n this._popElement(fullName, span);\n }\n else if (startTagToken.type === TokenType.INCOMPLETE_TAG_OPEN) {\n // We already know the opening tag is not complete, so it is unlikely it has a corresponding\n // close tag. Let's optimistically parse it as a full element and emit an error.\n this._popElement(fullName, null);\n this.errors.push(TreeError.create(fullName, span, `Opening tag \"${fullName}\" not terminated.`));\n }\n }\n _pushElement(el) {\n const parentEl = this._getParentElement();\n if (parentEl && this.getTagDefinition(parentEl.name).isClosedByChild(el.name)) {\n this._elementStack.pop();\n }\n this._addToParent(el);\n this._elementStack.push(el);\n }\n _consumeEndTag(endTagToken) {\n const fullName = this._getElementFullName(endTagToken.parts[0], endTagToken.parts[1], this._getParentElement());\n if (this.getTagDefinition(fullName).isVoid) {\n this.errors.push(TreeError.create(fullName, endTagToken.sourceSpan, `Void elements do not have end tags \"${endTagToken.parts[1]}\"`));\n }\n else if (!this._popElement(fullName, endTagToken.sourceSpan)) {\n const errMsg = `Unexpected closing tag \"${fullName}\". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;\n this.errors.push(TreeError.create(fullName, endTagToken.sourceSpan, errMsg));\n }\n }\n /**\n * Closes the nearest element with the tag name `fullName` in the parse tree.\n * `endSourceSpan` is the span of the closing tag, or null if the element does\n * not have a closing tag (for example, this happens when an incomplete\n * opening tag is recovered).\n */\n _popElement(fullName, endSourceSpan) {\n for (let stackIndex = this._elementStack.length - 1; stackIndex >= 0; stackIndex--) {\n const el = this._elementStack[stackIndex];\n if (el.name == fullName) {\n // Record the parse span with the element that is being closed. Any elements that are\n // removed from the element stack at this point are closed implicitly, so they won't get\n // an end source span (as there is no explicit closing element).\n el.endSourceSpan = endSourceSpan;\n el.sourceSpan.end = endSourceSpan !== null ? endSourceSpan.end : el.sourceSpan.end;\n this._elementStack.splice(stackIndex, this._elementStack.length - stackIndex);\n return true;\n }\n if (!this.getTagDefinition(el.name).closedByParent) {\n return false;\n }\n }\n return false;\n }\n _consumeAttr(attrName) {\n const fullName = mergeNsAndName(attrName.parts[0], attrName.parts[1]);\n let end = attrName.sourceSpan.end;\n let value = '';\n let valueSpan = undefined;\n if (this._peek.type === TokenType.ATTR_QUOTE) {\n this._advance();\n }\n if (this._peek.type === TokenType.ATTR_VALUE) {\n const valueToken = this._advance();\n value = valueToken.parts[0];\n end = valueToken.sourceSpan.end;\n valueSpan = valueToken.sourceSpan;\n }\n if (this._peek.type === TokenType.ATTR_QUOTE) {\n const quoteToken = this._advance();\n end = quoteToken.sourceSpan.end;\n }\n return new Attribute(fullName, value, new ParseSourceSpan(attrName.sourceSpan.start, end, attrName.sourceSpan.fullStart), valueSpan);\n }\n _getParentElement() {\n return this._elementStack.length > 0 ? this._elementStack[this._elementStack.length - 1] : null;\n }\n _addToParent(node) {\n const parent = this._getParentElement();\n if (parent != null) {\n parent.children.push(node);\n }\n else {\n this.rootNodes.push(node);\n }\n }\n _getElementFullName(prefix, localName, parentElement) {\n if (prefix === '') {\n prefix = this.getTagDefinition(localName).implicitNamespacePrefix || '';\n if (prefix === '' && parentElement != null) {\n const parentTagName = splitNsName(parentElement.name)[1];\n const parentTagDefinition = this.getTagDefinition(parentTagName);\n if (!parentTagDefinition.preventNamespaceInheritance) {\n prefix = getNsPrefix(parentElement.name);\n }\n }\n }\n return mergeNsAndName(prefix, localName);\n }\n}\nfunction lastOnStack(stack, element) {\n return stack.length > 0 && stack[stack.length - 1] === element;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass HtmlParser extends Parser {\n constructor() {\n super(getHtmlTagDefinition);\n }\n parse(source, url, options) {\n return super.parse(source, url, options);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PRESERVE_WS_ATTR_NAME = 'ngPreserveWhitespaces';\nconst SKIP_WS_TRIM_TAGS = new Set(['pre', 'template', 'textarea', 'script', 'style']);\n// Equivalent to \\s with \\u00a0 (non-breaking space) excluded.\n// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\nconst WS_CHARS = ' \\f\\n\\r\\t\\v\\u1680\\u180e\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff';\nconst NO_WS_REGEXP = new RegExp(`[^${WS_CHARS}]`);\nconst WS_REPLACE_REGEXP = new RegExp(`[${WS_CHARS}]{2,}`, 'g');\nfunction hasPreserveWhitespacesAttr(attrs) {\n return attrs.some((attr) => attr.name === PRESERVE_WS_ATTR_NAME);\n}\n/**\n * Angular Dart introduced &ngsp; as a placeholder for non-removable space, see:\n * https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart#L25-L32\n * In Angular Dart &ngsp; is converted to the 0xE500 PUA (Private Use Areas) unicode character\n * and later on replaced by a space. We are re-implementing the same idea here.\n */\nfunction replaceNgsp(value) {\n // lexer is replacing the &ngsp; pseudo-entity with NGSP_UNICODE\n return value.replace(new RegExp(NGSP_UNICODE, 'g'), ' ');\n}\n/**\n * This visitor can walk HTML parse tree and remove / trim text nodes using the following rules:\n * - consider spaces, tabs and new lines as whitespace characters;\n * - drop text nodes consisting of whitespace characters only;\n * - for all other text nodes replace consecutive whitespace characters with one space;\n * - convert &ngsp; pseudo-entity to a single space;\n *\n * Removal and trimming of whitespaces have positive performance impact (less code to generate\n * while compiling templates, faster view creation). At the same time it can be \"destructive\"\n * in some cases (whitespaces can influence layout). Because of the potential of breaking layout\n * this visitor is not activated by default in Angular 5 and people need to explicitly opt-in for\n * whitespace removal. The default option for whitespace removal will be revisited in Angular 6\n * and might be changed to \"on\" by default.\n */\nclass WhitespaceVisitor {\n visitElement(element, context) {\n if (SKIP_WS_TRIM_TAGS.has(element.name) || hasPreserveWhitespacesAttr(element.attrs)) {\n // don't descent into elements where we need to preserve whitespaces\n // but still visit all attributes to eliminate one used as a market to preserve WS\n return new Element$1(element.name, visitAll$1(this, element.attrs), element.children, element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);\n }\n return new Element$1(element.name, element.attrs, visitAllWithSiblings(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);\n }\n visitAttribute(attribute, context) {\n return attribute.name !== PRESERVE_WS_ATTR_NAME ? attribute : null;\n }\n visitText(text, context) {\n const isNotBlank = text.value.match(NO_WS_REGEXP);\n const hasExpansionSibling = context &&\n (context.prev instanceof Expansion || context.next instanceof Expansion);\n if (isNotBlank || hasExpansionSibling) {\n return new Text$3(replaceNgsp(text.value).replace(WS_REPLACE_REGEXP, ' '), text.sourceSpan, text.i18n);\n }\n return null;\n }\n visitComment(comment, context) {\n return comment;\n }\n visitExpansion(expansion, context) {\n return expansion;\n }\n visitExpansionCase(expansionCase, context) {\n return expansionCase;\n }\n}\nfunction removeWhitespaces(htmlAstWithErrors) {\n return new ParseTreeResult(visitAll$1(new WhitespaceVisitor(), htmlAstWithErrors.rootNodes), htmlAstWithErrors.errors);\n}\nfunction visitAllWithSiblings(visitor, nodes) {\n const result = [];\n nodes.forEach((ast, i) => {\n const context = { prev: nodes[i - 1], next: nodes[i + 1] };\n const astResult = ast.visit(visitor, context);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// http://cldr.unicode.org/index/cldr-spec/plural-rules\nconst PLURAL_CASES = ['zero', 'one', 'two', 'few', 'many', 'other'];\n/**\n * Expands special forms into elements.\n *\n * For example,\n *\n * ```\n * { messages.length, plural,\n * =0 {zero}\n * =1 {one}\n * other {more than one}\n * }\n * ```\n *\n * will be expanded into\n *\n * ```\n * \n * zero\n * one\n * more than one\n * \n * ```\n */\nfunction expandNodes(nodes) {\n const expander = new _Expander();\n return new ExpansionResult(visitAll$1(expander, nodes), expander.isExpanded, expander.errors);\n}\nclass ExpansionResult {\n constructor(nodes, expanded, errors) {\n this.nodes = nodes;\n this.expanded = expanded;\n this.errors = errors;\n }\n}\nclass ExpansionError extends ParseError {\n constructor(span, errorMsg) {\n super(span, errorMsg);\n }\n}\n/**\n * Expand expansion forms (plural, select) to directives\n *\n * @internal\n */\nclass _Expander {\n constructor() {\n this.isExpanded = false;\n this.errors = [];\n }\n visitElement(element, context) {\n return new Element$1(element.name, element.attrs, visitAll$1(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n visitAttribute(attribute, context) {\n return attribute;\n }\n visitText(text, context) {\n return text;\n }\n visitComment(comment, context) {\n return comment;\n }\n visitExpansion(icu, context) {\n this.isExpanded = true;\n return icu.type == 'plural' ? _expandPluralForm(icu, this.errors) :\n _expandDefaultForm(icu, this.errors);\n }\n visitExpansionCase(icuCase, context) {\n throw new Error('Should not be reached');\n }\n}\n// Plural forms are expanded to `NgPlural` and `NgPluralCase`s\nfunction _expandPluralForm(ast, errors) {\n const children = ast.cases.map(c => {\n if (PLURAL_CASES.indexOf(c.value) == -1 && !c.value.match(/^=\\d+$/)) {\n errors.push(new ExpansionError(c.valueSourceSpan, `Plural cases should be \"=\" or one of ${PLURAL_CASES.join(', ')}`));\n }\n const expansionResult = expandNodes(c.expression);\n errors.push(...expansionResult.errors);\n return new Element$1(`ng-template`, [new Attribute('ngPluralCase', `${c.value}`, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n const switchAttr = new Attribute('[ngPlural]', ast.switchValue, ast.switchValueSourceSpan);\n return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n// ICU messages (excluding plural form) are expanded to `NgSwitch` and `NgSwitchCase`s\nfunction _expandDefaultForm(ast, errors) {\n const children = ast.cases.map(c => {\n const expansionResult = expandNodes(c.expression);\n errors.push(...expansionResult.errors);\n if (c.value === 'other') {\n // other is the default case when no values match\n return new Element$1(`ng-template`, [new Attribute('ngSwitchDefault', '', c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n }\n return new Element$1(`ng-template`, [new Attribute('ngSwitchCase', `${c.value}`, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n const switchAttr = new Attribute('[ngSwitch]', ast.switchValue, ast.switchValueSourceSpan);\n return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A segment of text within the template.\n */\nclass TextAst {\n constructor(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n/**\n * A bound expression within the text of a template.\n */\nclass BoundTextAst {\n constructor(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitBoundText(this, context);\n }\n}\n/**\n * A plain attribute on an element.\n */\nclass AttrAst {\n constructor(name, value, sourceSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitAttr(this, context);\n }\n}\nconst BoundPropertyMapping = {\n [4 /* Animation */]: 4 /* Animation */,\n [1 /* Attribute */]: 1 /* Attribute */,\n [2 /* Class */]: 2 /* Class */,\n [0 /* Property */]: 0 /* Property */,\n [3 /* Style */]: 3 /* Style */,\n};\n/**\n * A binding for an element property (e.g. `[property]=\"expression\"`) or an animation trigger (e.g.\n * `[@trigger]=\"stateExp\"`)\n */\nclass BoundElementPropertyAst {\n constructor(name, type, securityContext, value, unit, sourceSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.isAnimation = this.type === 4 /* Animation */;\n }\n static fromBoundProperty(prop) {\n const type = BoundPropertyMapping[prop.type];\n return new BoundElementPropertyAst(prop.name, type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan);\n }\n visit(visitor, context) {\n return visitor.visitElementProperty(this, context);\n }\n}\n/**\n * A binding for an element event (e.g. `(event)=\"handler()\"`) or an animation trigger event (e.g.\n * `(@trigger.phase)=\"callback($event)\"`).\n */\nclass BoundEventAst {\n constructor(name, target, phase, handler, sourceSpan, handlerSpan) {\n this.name = name;\n this.target = target;\n this.phase = phase;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n this.fullName = BoundEventAst.calcFullName(this.name, this.target, this.phase);\n this.isAnimation = !!this.phase;\n }\n static calcFullName(name, target, phase) {\n if (target) {\n return `${target}:${name}`;\n }\n if (phase) {\n return `@${name}.${phase}`;\n }\n return name;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n return new BoundEventAst(event.name, target, phase, event.handler, event.sourceSpan, event.handlerSpan);\n }\n visit(visitor, context) {\n return visitor.visitEvent(this, context);\n }\n}\n/**\n * A reference declaration on an element (e.g. `let someName=\"expression\"`).\n */\nclass ReferenceAst {\n constructor(name, value, originalValue, sourceSpan) {\n this.name = name;\n this.value = value;\n this.originalValue = originalValue;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitReference(this, context);\n }\n}\n/**\n * A variable declaration on a (e.g. `var-someName=\"someLocalName\"`).\n */\nclass VariableAst {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n static fromParsedVariable(v) {\n return new VariableAst(v.name, v.value, v.sourceSpan, v.valueSpan);\n }\n visit(visitor, context) {\n return visitor.visitVariable(this, context);\n }\n}\n/**\n * An element declaration in a template.\n */\nclass ElementAst {\n constructor(name, attrs, inputs, outputs, references, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan, endSourceSpan) {\n this.name = name;\n this.attrs = attrs;\n this.inputs = inputs;\n this.outputs = outputs;\n this.references = references;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.queryMatches = queryMatches;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitElement(this, context);\n }\n}\n/**\n * A `` element included in an Angular template.\n */\nclass EmbeddedTemplateAst {\n constructor(attrs, outputs, references, variables, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan) {\n this.attrs = attrs;\n this.outputs = outputs;\n this.references = references;\n this.variables = variables;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.queryMatches = queryMatches;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitEmbeddedTemplate(this, context);\n }\n}\n/**\n * A directive property with a bound value (e.g. `*ngIf=\"condition\").\n */\nclass BoundDirectivePropertyAst {\n constructor(directiveName, templateName, value, sourceSpan) {\n this.directiveName = directiveName;\n this.templateName = templateName;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitDirectiveProperty(this, context);\n }\n}\n/**\n * A directive declared on an element.\n */\nclass DirectiveAst {\n constructor(directive, inputs, hostProperties, hostEvents, contentQueryStartId, sourceSpan) {\n this.directive = directive;\n this.inputs = inputs;\n this.hostProperties = hostProperties;\n this.hostEvents = hostEvents;\n this.contentQueryStartId = contentQueryStartId;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitDirective(this, context);\n }\n}\n/**\n * A provider declared on an element\n */\nclass ProviderAst {\n constructor(token, multiProvider, eager, providers, providerType, lifecycleHooks, sourceSpan, isModule) {\n this.token = token;\n this.multiProvider = multiProvider;\n this.eager = eager;\n this.providers = providers;\n this.providerType = providerType;\n this.lifecycleHooks = lifecycleHooks;\n this.sourceSpan = sourceSpan;\n this.isModule = isModule;\n }\n visit(visitor, context) {\n // No visit method in the visitor for now...\n return null;\n }\n}\nvar ProviderAstType;\n(function (ProviderAstType) {\n ProviderAstType[ProviderAstType[\"PublicService\"] = 0] = \"PublicService\";\n ProviderAstType[ProviderAstType[\"PrivateService\"] = 1] = \"PrivateService\";\n ProviderAstType[ProviderAstType[\"Component\"] = 2] = \"Component\";\n ProviderAstType[ProviderAstType[\"Directive\"] = 3] = \"Directive\";\n ProviderAstType[ProviderAstType[\"Builtin\"] = 4] = \"Builtin\";\n})(ProviderAstType || (ProviderAstType = {}));\n/**\n * Position where content is to be projected (instance of `` in a template).\n */\nclass NgContentAst {\n constructor(index, ngContentIndex, sourceSpan) {\n this.index = index;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitNgContent(this, context);\n }\n}\n/**\n * A visitor that accepts each node but doesn't do anything. It is intended to be used\n * as the base class for a visitor that is only interested in a subset of the node types.\n */\nclass NullTemplateVisitor {\n visitNgContent(ast, context) { }\n visitEmbeddedTemplate(ast, context) { }\n visitElement(ast, context) { }\n visitReference(ast, context) { }\n visitVariable(ast, context) { }\n visitEvent(ast, context) { }\n visitElementProperty(ast, context) { }\n visitAttr(ast, context) { }\n visitBoundText(ast, context) { }\n visitText(ast, context) { }\n visitDirective(ast, context) { }\n visitDirectiveProperty(ast, context) { }\n}\n/**\n * Base class that can be used to build a visitor that visits each node\n * in an template ast recursively.\n */\nclass RecursiveTemplateAstVisitor extends NullTemplateVisitor {\n constructor() {\n super();\n }\n // Nodes with children\n visitEmbeddedTemplate(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.references);\n visit(ast.variables);\n visit(ast.directives);\n visit(ast.providers);\n visit(ast.children);\n });\n }\n visitElement(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.inputs);\n visit(ast.outputs);\n visit(ast.references);\n visit(ast.directives);\n visit(ast.providers);\n visit(ast.children);\n });\n }\n visitDirective(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.inputs);\n visit(ast.hostProperties);\n visit(ast.hostEvents);\n });\n }\n visitChildren(context, cb) {\n let results = [];\n let t = this;\n function visit(children) {\n if (children && children.length)\n results.push(templateVisitAll(t, children, context));\n }\n cb(visit);\n return Array.prototype.concat.apply([], results);\n }\n}\n/**\n * Visit every node in a list of {@link TemplateAst}s with the given {@link TemplateAstVisitor}.\n */\nfunction templateVisitAll(visitor, asts, context = null) {\n const result = [];\n const visit = visitor.visit ?\n (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :\n (ast) => ast.visit(visitor, context);\n asts.forEach(ast => {\n const astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ProviderError extends ParseError {\n constructor(message, span) {\n super(span, message);\n }\n}\nclass ProviderViewContext {\n constructor(reflector, component) {\n this.reflector = reflector;\n this.component = component;\n this.errors = [];\n this.viewQueries = _getViewQueries(component);\n this.viewProviders = new Map();\n component.viewProviders.forEach((provider) => {\n if (this.viewProviders.get(tokenReference(provider.token)) == null) {\n this.viewProviders.set(tokenReference(provider.token), true);\n }\n });\n }\n}\nclass ProviderElementContext {\n constructor(viewContext, _parent, _isViewRoot, _directiveAsts, attrs, refs, isTemplate, contentQueryStartId, _sourceSpan) {\n this.viewContext = viewContext;\n this._parent = _parent;\n this._isViewRoot = _isViewRoot;\n this._directiveAsts = _directiveAsts;\n this._sourceSpan = _sourceSpan;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._queriedTokens = new Map();\n this.transformedHasViewContainer = false;\n this._attrs = {};\n attrs.forEach((attrAst) => this._attrs[attrAst.name] = attrAst.value);\n const directivesMeta = _directiveAsts.map(directiveAst => directiveAst.directive);\n this._allProviders =\n _resolveProvidersFromDirectives(directivesMeta, _sourceSpan, viewContext.errors);\n this._contentQueries = _getContentQueries(contentQueryStartId, directivesMeta);\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._addQueryReadsTo(provider.token, provider.token, this._queriedTokens);\n });\n if (isTemplate) {\n const templateRefId = createTokenForExternalReference(this.viewContext.reflector, Identifiers.TemplateRef);\n this._addQueryReadsTo(templateRefId, templateRefId, this._queriedTokens);\n }\n refs.forEach((refAst) => {\n let defaultQueryValue = refAst.value ||\n createTokenForExternalReference(this.viewContext.reflector, Identifiers.ElementRef);\n this._addQueryReadsTo({ value: refAst.name }, defaultQueryValue, this._queriedTokens);\n });\n if (this._queriedTokens.get(this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef))) {\n this.transformedHasViewContainer = true;\n }\n // create the providers that we know are eager first\n Array.from(this._allProviders.values()).forEach((provider) => {\n const eager = provider.eager || this._queriedTokens.get(tokenReference(provider.token));\n if (eager) {\n this._getOrCreateLocalProvider(provider.providerType, provider.token, true);\n }\n });\n }\n afterElement() {\n // collect lazy providers\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._getOrCreateLocalProvider(provider.providerType, provider.token, false);\n });\n }\n get transformProviders() {\n // Note: Maps keep their insertion order.\n const lazyProviders = [];\n const eagerProviders = [];\n this._transformedProviders.forEach(provider => {\n if (provider.eager) {\n eagerProviders.push(provider);\n }\n else {\n lazyProviders.push(provider);\n }\n });\n return lazyProviders.concat(eagerProviders);\n }\n get transformedDirectiveAsts() {\n const sortedProviderTypes = this.transformProviders.map(provider => provider.token.identifier);\n const sortedDirectives = this._directiveAsts.slice();\n sortedDirectives.sort((dir1, dir2) => sortedProviderTypes.indexOf(dir1.directive.type) -\n sortedProviderTypes.indexOf(dir2.directive.type));\n return sortedDirectives;\n }\n get queryMatches() {\n const allMatches = [];\n this._queriedTokens.forEach((matches) => {\n allMatches.push(...matches);\n });\n return allMatches;\n }\n _addQueryReadsTo(token, defaultValue, queryReadTokens) {\n this._getQueriesFor(token).forEach((query) => {\n const queryValue = query.meta.read || defaultValue;\n const tokenRef = tokenReference(queryValue);\n let queryMatches = queryReadTokens.get(tokenRef);\n if (!queryMatches) {\n queryMatches = [];\n queryReadTokens.set(tokenRef, queryMatches);\n }\n queryMatches.push({ queryId: query.queryId, value: queryValue });\n });\n }\n _getQueriesFor(token) {\n const result = [];\n let currentEl = this;\n let distance = 0;\n let queries;\n while (currentEl !== null) {\n queries = currentEl._contentQueries.get(tokenReference(token));\n if (queries) {\n result.push(...queries.filter((query) => query.meta.descendants || distance <= 1));\n }\n if (currentEl._directiveAsts.length > 0) {\n distance++;\n }\n currentEl = currentEl._parent;\n }\n queries = this.viewContext.viewQueries.get(tokenReference(token));\n if (queries) {\n result.push(...queries);\n }\n return result;\n }\n _getOrCreateLocalProvider(requestingProviderType, token, eager) {\n const resolvedProvider = this._allProviders.get(tokenReference(token));\n if (!resolvedProvider ||\n ((requestingProviderType === ProviderAstType.Directive ||\n requestingProviderType === ProviderAstType.PublicService) &&\n resolvedProvider.providerType === ProviderAstType.PrivateService) ||\n ((requestingProviderType === ProviderAstType.PrivateService ||\n requestingProviderType === ProviderAstType.PublicService) &&\n resolvedProvider.providerType === ProviderAstType.Builtin)) {\n return null;\n }\n let transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n if (transformedProviderAst) {\n return transformedProviderAst;\n }\n if (this._seenProviders.get(tokenReference(token)) != null) {\n this.viewContext.errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, this._sourceSpan));\n return null;\n }\n this._seenProviders.set(tokenReference(token), true);\n const transformedProviders = resolvedProvider.providers.map((provider) => {\n let transformedUseValue = provider.useValue;\n let transformedUseExisting = provider.useExisting;\n let transformedDeps = undefined;\n if (provider.useExisting != null) {\n const existingDiDep = this._getDependency(resolvedProvider.providerType, { token: provider.useExisting }, eager);\n if (existingDiDep.token != null) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (provider.useFactory) {\n const deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));\n }\n else if (provider.useClass) {\n const deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n return transformedProviderAst;\n }\n _getLocalDependency(requestingProviderType, dep, eager = false) {\n if (dep.isAttribute) {\n const attrValue = this._attrs[dep.token.value];\n return { isValue: true, value: attrValue == null ? null : attrValue };\n }\n if (dep.token != null) {\n // access builtints\n if ((requestingProviderType === ProviderAstType.Directive ||\n requestingProviderType === ProviderAstType.Component)) {\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.Renderer) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ElementRef) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ChangeDetectorRef) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.TemplateRef)) {\n return dep;\n }\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef)) {\n this.transformedHasViewContainer = true;\n }\n }\n // access the injector\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.Injector)) {\n return dep;\n }\n // access providers\n if (this._getOrCreateLocalProvider(requestingProviderType, dep.token, eager) != null) {\n return dep;\n }\n }\n return null;\n }\n _getDependency(requestingProviderType, dep, eager = false) {\n let currElement = this;\n let currEager = eager;\n let result = null;\n if (!dep.isSkipSelf) {\n result = this._getLocalDependency(requestingProviderType, dep, eager);\n }\n if (dep.isSelf) {\n if (!result && dep.isOptional) {\n result = { isValue: true, value: null };\n }\n }\n else {\n // check parent elements\n while (!result && currElement._parent) {\n const prevElement = currElement;\n currElement = currElement._parent;\n if (prevElement._isViewRoot) {\n currEager = false;\n }\n result = currElement._getLocalDependency(ProviderAstType.PublicService, dep, currEager);\n }\n // check @Host restriction\n if (!result) {\n if (!dep.isHost || this.viewContext.component.isHost ||\n this.viewContext.component.type.reference === tokenReference(dep.token) ||\n this.viewContext.viewProviders.get(tokenReference(dep.token)) != null) {\n result = dep;\n }\n else {\n result = dep.isOptional ? { isValue: true, value: null } : null;\n }\n }\n }\n if (!result) {\n this.viewContext.errors.push(new ProviderError(`No provider for ${tokenName(dep.token)}`, this._sourceSpan));\n }\n return result;\n }\n}\nclass NgModuleProviderAnalyzer {\n constructor(reflector, ngModule, extraProviders, sourceSpan) {\n this.reflector = reflector;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._errors = [];\n this._allProviders = new Map();\n ngModule.transitiveModule.modules.forEach((ngModuleType) => {\n const ngModuleProvider = { token: { identifier: ngModuleType }, useClass: ngModuleType };\n _resolveProviders([ngModuleProvider], ProviderAstType.PublicService, true, sourceSpan, this._errors, this._allProviders, /* isModule */ true);\n });\n _resolveProviders(ngModule.transitiveModule.providers.map(entry => entry.provider).concat(extraProviders), ProviderAstType.PublicService, false, sourceSpan, this._errors, this._allProviders, \n /* isModule */ false);\n }\n parse() {\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._getOrCreateLocalProvider(provider.token, provider.eager);\n });\n if (this._errors.length > 0) {\n const errorString = this._errors.join('\\n');\n throw new Error(`Provider parse errors:\\n${errorString}`);\n }\n // Note: Maps keep their insertion order.\n const lazyProviders = [];\n const eagerProviders = [];\n this._transformedProviders.forEach(provider => {\n if (provider.eager) {\n eagerProviders.push(provider);\n }\n else {\n lazyProviders.push(provider);\n }\n });\n return lazyProviders.concat(eagerProviders);\n }\n _getOrCreateLocalProvider(token, eager) {\n const resolvedProvider = this._allProviders.get(tokenReference(token));\n if (!resolvedProvider) {\n return null;\n }\n let transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n if (transformedProviderAst) {\n return transformedProviderAst;\n }\n if (this._seenProviders.get(tokenReference(token)) != null) {\n this._errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, resolvedProvider.sourceSpan));\n return null;\n }\n this._seenProviders.set(tokenReference(token), true);\n const transformedProviders = resolvedProvider.providers.map((provider) => {\n let transformedUseValue = provider.useValue;\n let transformedUseExisting = provider.useExisting;\n let transformedDeps = undefined;\n if (provider.useExisting != null) {\n const existingDiDep = this._getDependency({ token: provider.useExisting }, eager, resolvedProvider.sourceSpan);\n if (existingDiDep.token != null) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (provider.useFactory) {\n const deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));\n }\n else if (provider.useClass) {\n const deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n return transformedProviderAst;\n }\n _getDependency(dep, eager = false, requestorSourceSpan) {\n let foundLocal = false;\n if (!dep.isSkipSelf && dep.token != null) {\n // access the injector\n if (tokenReference(dep.token) ===\n this.reflector.resolveExternalReference(Identifiers.Injector) ||\n tokenReference(dep.token) ===\n this.reflector.resolveExternalReference(Identifiers.ComponentFactoryResolver)) {\n foundLocal = true;\n // access providers\n }\n else if (this._getOrCreateLocalProvider(dep.token, eager) != null) {\n foundLocal = true;\n }\n }\n return dep;\n }\n}\nfunction _transformProvider(provider, { useExisting, useValue, deps }) {\n return {\n token: provider.token,\n useClass: provider.useClass,\n useExisting: useExisting,\n useFactory: provider.useFactory,\n useValue: useValue,\n deps: deps,\n multi: provider.multi\n };\n}\nfunction _transformProviderAst(provider, { eager, providers }) {\n return new ProviderAst(provider.token, provider.multiProvider, provider.eager || eager, providers, provider.providerType, provider.lifecycleHooks, provider.sourceSpan, provider.isModule);\n}\nfunction _resolveProvidersFromDirectives(directives, sourceSpan, targetErrors) {\n const providersByToken = new Map();\n directives.forEach((directive) => {\n const dirProvider = { token: { identifier: directive.type }, useClass: directive.type };\n _resolveProviders([dirProvider], directive.isComponent ? ProviderAstType.Component : ProviderAstType.Directive, true, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n });\n // Note: directives need to be able to overwrite providers of a component!\n const directivesWithComponentFirst = directives.filter(dir => dir.isComponent).concat(directives.filter(dir => !dir.isComponent));\n directivesWithComponentFirst.forEach((directive) => {\n _resolveProviders(directive.providers, ProviderAstType.PublicService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n _resolveProviders(directive.viewProviders, ProviderAstType.PrivateService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n });\n return providersByToken;\n}\nfunction _resolveProviders(providers, providerType, eager, sourceSpan, targetErrors, targetProvidersByToken, isModule) {\n providers.forEach((provider) => {\n let resolvedProvider = targetProvidersByToken.get(tokenReference(provider.token));\n if (resolvedProvider != null && !!resolvedProvider.multiProvider !== !!provider.multi) {\n targetErrors.push(new ProviderError(`Mixing multi and non multi provider is not possible for token ${tokenName(resolvedProvider.token)}`, sourceSpan));\n }\n if (!resolvedProvider) {\n const lifecycleHooks = provider.token.identifier &&\n provider.token.identifier.lifecycleHooks ?\n provider.token.identifier.lifecycleHooks :\n [];\n const isUseValue = !(provider.useClass || provider.useExisting || provider.useFactory);\n resolvedProvider = new ProviderAst(provider.token, !!provider.multi, eager || isUseValue, [provider], providerType, lifecycleHooks, sourceSpan, isModule);\n targetProvidersByToken.set(tokenReference(provider.token), resolvedProvider);\n }\n else {\n if (!provider.multi) {\n resolvedProvider.providers.length = 0;\n }\n resolvedProvider.providers.push(provider);\n }\n });\n}\nfunction _getViewQueries(component) {\n // Note: queries start with id 1 so we can use the number in a Bloom filter!\n let viewQueryId = 1;\n const viewQueries = new Map();\n if (component.viewQueries) {\n component.viewQueries.forEach((query) => _addQueryToTokenMap(viewQueries, { meta: query, queryId: viewQueryId++ }));\n }\n return viewQueries;\n}\nfunction _getContentQueries(contentQueryStartId, directives) {\n let contentQueryId = contentQueryStartId;\n const contentQueries = new Map();\n directives.forEach((directive, directiveIndex) => {\n if (directive.queries) {\n directive.queries.forEach((query) => _addQueryToTokenMap(contentQueries, { meta: query, queryId: contentQueryId++ }));\n }\n });\n return contentQueries;\n}\nfunction _addQueryToTokenMap(map, query) {\n query.meta.selectors.forEach((token) => {\n let entry = map.get(tokenReference(token));\n if (!entry) {\n entry = [];\n map.set(tokenReference(token), entry);\n }\n entry.push(query);\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass StyleWithImports {\n constructor(style, styleUrls) {\n this.style = style;\n this.styleUrls = styleUrls;\n }\n}\nfunction isStyleUrlResolvable(url) {\n if (url == null || url.length === 0 || url[0] == '/')\n return false;\n const schemeMatch = url.match(URL_WITH_SCHEMA_REGEXP);\n return schemeMatch === null || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';\n}\n/**\n * Rewrites stylesheets by resolving and removing the @import urls that\n * are either relative or don't have a `package:` scheme\n */\nfunction extractStyleUrls(resolver, baseUrl, cssText) {\n const foundUrls = [];\n const modifiedCssText = cssText.replace(CSS_STRIPPABLE_COMMENT_REGEXP, '')\n .replace(CSS_IMPORT_REGEXP, (...m) => {\n const url = m[1] || m[2];\n if (!isStyleUrlResolvable(url)) {\n // Do not attempt to resolve non-package absolute URLs with URI\n // scheme\n return m[0];\n }\n foundUrls.push(resolver.resolve(baseUrl, url));\n return '';\n });\n return new StyleWithImports(modifiedCssText, foundUrls);\n}\nconst CSS_IMPORT_REGEXP = /@import\\s+(?:url\\()?\\s*(?:(?:['\"]([^'\"]*))|([^;\\)\\s]*))[^;]*;?/g;\nconst CSS_STRIPPABLE_COMMENT_REGEXP = /\\/\\*(?!#\\s*(?:sourceURL|sourceMappingURL)=)[\\s\\S]+?\\*\\//g;\nconst URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PROPERTY_PARTS_SEPARATOR = '.';\nconst ATTRIBUTE_PREFIX = 'attr';\nconst CLASS_PREFIX = 'class';\nconst STYLE_PREFIX = 'style';\nconst TEMPLATE_ATTR_PREFIX = '*';\nconst ANIMATE_PROP_PREFIX = 'animate-';\n/**\n * Parses bindings in templates and in the directive host area.\n */\nclass BindingParser {\n constructor(_exprParser, _interpolationConfig, _schemaRegistry, pipes, errors) {\n this._exprParser = _exprParser;\n this._interpolationConfig = _interpolationConfig;\n this._schemaRegistry = _schemaRegistry;\n this.errors = errors;\n this.pipesByName = null;\n this._usedPipes = new Map();\n // When the `pipes` parameter is `null`, do not check for used pipes\n // This is used in IVY when we might not know the available pipes at compile time\n if (pipes) {\n const pipesByName = new Map();\n pipes.forEach(pipe => pipesByName.set(pipe.name, pipe));\n this.pipesByName = pipesByName;\n }\n }\n get interpolationConfig() {\n return this._interpolationConfig;\n }\n getUsedPipes() {\n return Array.from(this._usedPipes.values());\n }\n createBoundHostProperties(dirMeta, sourceSpan) {\n if (dirMeta.hostProperties) {\n const boundProps = [];\n Object.keys(dirMeta.hostProperties).forEach(propName => {\n const expression = dirMeta.hostProperties[propName];\n if (typeof expression === 'string') {\n this.parsePropertyBinding(propName, expression, true, sourceSpan, sourceSpan.start.offset, undefined, [], \n // Use the `sourceSpan` for `keySpan`. This isn't really accurate, but neither is the\n // sourceSpan, as it represents the sourceSpan of the host itself rather than the\n // source of the host binding (which doesn't exist in the template). Regardless,\n // neither of these values are used in Ivy but are only here to satisfy the function\n // signature. This should likely be refactored in the future so that `sourceSpan`\n // isn't being used inaccurately.\n boundProps, sourceSpan);\n }\n else {\n this._reportError(`Value of the host property binding \"${propName}\" needs to be a string representing an expression but got \"${expression}\" (${typeof expression})`, sourceSpan);\n }\n });\n return boundProps;\n }\n return null;\n }\n createDirectiveHostPropertyAsts(dirMeta, elementSelector, sourceSpan) {\n const boundProps = this.createBoundHostProperties(dirMeta, sourceSpan);\n return boundProps &&\n boundProps.map((prop) => this.createBoundElementProperty(elementSelector, prop));\n }\n createDirectiveHostEventAsts(dirMeta, sourceSpan) {\n if (dirMeta.hostListeners) {\n const targetEvents = [];\n Object.keys(dirMeta.hostListeners).forEach(propName => {\n const expression = dirMeta.hostListeners[propName];\n if (typeof expression === 'string') {\n // TODO: pass a more accurate handlerSpan for this event.\n this.parseEvent(propName, expression, sourceSpan, sourceSpan, [], targetEvents);\n }\n else {\n this._reportError(`Value of the host listener \"${propName}\" needs to be a string representing an expression but got \"${expression}\" (${typeof expression})`, sourceSpan);\n }\n });\n return targetEvents;\n }\n return null;\n }\n parseInterpolation(value, sourceSpan) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const ast = this._exprParser.parseInterpolation(value, sourceInfo, sourceSpan.start.offset, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, sourceSpan.start.offset);\n }\n }\n /**\n * Similar to `parseInterpolation`, but treats the provided string as a single expression\n * element that would normally appear within the interpolation prefix and suffix (`{{` and `}}`).\n * This is used for parsing the switch expression in ICUs.\n */\n parseInterpolationExpression(expression, sourceSpan) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const ast = this._exprParser.parseInterpolationExpression(expression, sourceInfo, sourceSpan.start.offset);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, sourceSpan.start.offset);\n }\n }\n /**\n * Parses the bindings in a microsyntax expression, and converts them to\n * `ParsedProperty` or `ParsedVariable`.\n *\n * @param tplKey template binding name\n * @param tplValue template binding value\n * @param sourceSpan span of template binding relative to entire the template\n * @param absoluteValueOffset start of the tplValue relative to the entire template\n * @param targetMatchableAttrs potential attributes to match in the template\n * @param targetProps target property bindings in the template\n * @param targetVars target variables in the template\n */\n parseInlineTemplateBinding(tplKey, tplValue, sourceSpan, absoluteValueOffset, targetMatchableAttrs, targetProps, targetVars, isIvyAst) {\n const absoluteKeyOffset = sourceSpan.start.offset + TEMPLATE_ATTR_PREFIX.length;\n const bindings = this._parseTemplateBindings(tplKey, tplValue, sourceSpan, absoluteKeyOffset, absoluteValueOffset);\n for (const binding of bindings) {\n // sourceSpan is for the entire HTML attribute. bindingSpan is for a particular\n // binding within the microsyntax expression so it's more narrow than sourceSpan.\n const bindingSpan = moveParseSourceSpan(sourceSpan, binding.sourceSpan);\n const key = binding.key.source;\n const keySpan = moveParseSourceSpan(sourceSpan, binding.key.span);\n if (binding instanceof VariableBinding) {\n const value = binding.value ? binding.value.source : '$implicit';\n const valueSpan = binding.value ? moveParseSourceSpan(sourceSpan, binding.value.span) : undefined;\n targetVars.push(new ParsedVariable(key, value, bindingSpan, keySpan, valueSpan));\n }\n else if (binding.value) {\n const srcSpan = isIvyAst ? bindingSpan : sourceSpan;\n const valueSpan = moveParseSourceSpan(sourceSpan, binding.value.ast.sourceSpan);\n this._parsePropertyAst(key, binding.value, srcSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetMatchableAttrs.push([key, '' /* value */]);\n // Since this is a literal attribute with no RHS, source span should be\n // just the key span.\n this.parseLiteralAttr(key, null /* value */, keySpan, absoluteValueOffset, undefined /* valueSpan */, targetMatchableAttrs, targetProps, keySpan);\n }\n }\n }\n /**\n * Parses the bindings in a microsyntax expression, e.g.\n * ```\n * \n * ```\n *\n * @param tplKey template binding name\n * @param tplValue template binding value\n * @param sourceSpan span of template binding relative to entire the template\n * @param absoluteKeyOffset start of the `tplKey`\n * @param absoluteValueOffset start of the `tplValue`\n */\n _parseTemplateBindings(tplKey, tplValue, sourceSpan, absoluteKeyOffset, absoluteValueOffset) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const bindingsResult = this._exprParser.parseTemplateBindings(tplKey, tplValue, sourceInfo, absoluteKeyOffset, absoluteValueOffset);\n this._reportExpressionParserErrors(bindingsResult.errors, sourceSpan);\n bindingsResult.templateBindings.forEach((binding) => {\n if (binding.value instanceof ASTWithSource) {\n this._checkPipes(binding.value, sourceSpan);\n }\n });\n bindingsResult.warnings.forEach((warning) => {\n this._reportError(warning, sourceSpan, ParseErrorLevel.WARNING);\n });\n return bindingsResult.templateBindings;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return [];\n }\n }\n parseLiteralAttr(name, value, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, \n // TODO(atscott): keySpan is only optional here so VE template parser implementation does not\n // have to change This should be required when VE is removed.\n targetProps, keySpan) {\n if (isAnimationLabel(name)) {\n name = name.substring(1);\n if (value) {\n this._reportError(`Assigning animation triggers via @prop=\"exp\" attributes with an expression is invalid.` +\n ` Use property bindings (e.g. [@prop]=\"exp\") or use an attribute without a value (e.g. @prop) instead.`, sourceSpan, ParseErrorLevel.ERROR);\n }\n this._parseAnimation(name, value, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetProps.push(new ParsedProperty(name, this._exprParser.wrapLiteralPrimitive(value, '', absoluteOffset), ParsedPropertyType.LITERAL_ATTR, sourceSpan, keySpan, valueSpan));\n }\n }\n parsePropertyBinding(name, expression, isHost, sourceSpan, absoluteOffset, valueSpan, \n // TODO(atscott): keySpan is only optional here so VE template parser implementation does not\n // have to change This should be required when VE is removed.\n targetMatchableAttrs, targetProps, keySpan) {\n if (name.length === 0) {\n this._reportError(`Property name is missing in binding`, sourceSpan);\n }\n let isAnimationProp = false;\n if (name.startsWith(ANIMATE_PROP_PREFIX)) {\n isAnimationProp = true;\n name = name.substring(ANIMATE_PROP_PREFIX.length);\n }\n else if (isAnimationLabel(name)) {\n isAnimationProp = true;\n name = name.substring(1);\n }\n if (isAnimationProp) {\n this._parseAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n this._parsePropertyAst(name, this._parseBinding(expression, isHost, valueSpan || sourceSpan, absoluteOffset), sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n }\n parsePropertyInterpolation(name, value, sourceSpan, valueSpan, targetMatchableAttrs, \n // TODO(atscott): keySpan is only optional here so VE template parser implementation does not\n // have to change This should be required when VE is removed.\n targetProps, keySpan) {\n const expr = this.parseInterpolation(value, valueSpan || sourceSpan);\n if (expr) {\n this._parsePropertyAst(name, expr, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n return true;\n }\n return false;\n }\n _parsePropertyAst(name, ast, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps) {\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.DEFAULT, sourceSpan, keySpan, valueSpan));\n }\n _parseAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps) {\n if (name.length === 0) {\n this._reportError('Animation trigger is missing', sourceSpan);\n }\n // This will occur when a @trigger is not paired with an expression.\n // For animations it is valid to not have an expression since */void\n // states will be applied by angular when the element is attached/detached\n const ast = this._parseBinding(expression || 'undefined', false, valueSpan || sourceSpan, absoluteOffset);\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.ANIMATION, sourceSpan, keySpan, valueSpan));\n }\n _parseBinding(value, isHostBinding, sourceSpan, absoluteOffset) {\n const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown)').toString();\n try {\n const ast = isHostBinding ?\n this._exprParser.parseSimpleBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig) :\n this._exprParser.parseBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n createBoundElementProperty(elementSelector, boundProp, skipValidation = false, mapPropertyName = true) {\n if (boundProp.isAnimation) {\n return new BoundElementProperty(boundProp.name, 4 /* Animation */, SecurityContext.NONE, boundProp.expression, null, boundProp.sourceSpan, boundProp.keySpan, boundProp.valueSpan);\n }\n let unit = null;\n let bindingType = undefined;\n let boundPropertyName = null;\n const parts = boundProp.name.split(PROPERTY_PARTS_SEPARATOR);\n let securityContexts = undefined;\n // Check for special cases (prefix style, attr, class)\n if (parts.length > 1) {\n if (parts[0] == ATTRIBUTE_PREFIX) {\n boundPropertyName = parts.slice(1).join(PROPERTY_PARTS_SEPARATOR);\n if (!skipValidation) {\n this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, true);\n }\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, true);\n const nsSeparatorIdx = boundPropertyName.indexOf(':');\n if (nsSeparatorIdx > -1) {\n const ns = boundPropertyName.substring(0, nsSeparatorIdx);\n const name = boundPropertyName.substring(nsSeparatorIdx + 1);\n boundPropertyName = mergeNsAndName(ns, name);\n }\n bindingType = 1 /* Attribute */;\n }\n else if (parts[0] == CLASS_PREFIX) {\n boundPropertyName = parts[1];\n bindingType = 2 /* Class */;\n securityContexts = [SecurityContext.NONE];\n }\n else if (parts[0] == STYLE_PREFIX) {\n unit = parts.length > 2 ? parts[2] : null;\n boundPropertyName = parts[1];\n bindingType = 3 /* Style */;\n securityContexts = [SecurityContext.STYLE];\n }\n }\n // If not a special case, use the full property name\n if (boundPropertyName === null) {\n const mappedPropName = this._schemaRegistry.getMappedPropName(boundProp.name);\n boundPropertyName = mapPropertyName ? mappedPropName : boundProp.name;\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, mappedPropName, false);\n bindingType = 0 /* Property */;\n if (!skipValidation) {\n this._validatePropertyOrAttributeName(mappedPropName, boundProp.sourceSpan, false);\n }\n }\n return new BoundElementProperty(boundPropertyName, bindingType, securityContexts[0], boundProp.expression, unit, boundProp.sourceSpan, boundProp.keySpan, boundProp.valueSpan);\n }\n parseEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents) {\n if (name.length === 0) {\n this._reportError(`Event name is missing in binding`, sourceSpan);\n }\n if (isAnimationLabel(name)) {\n name = name.substr(1);\n this._parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents);\n }\n else {\n this._parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents);\n }\n }\n calcPossibleSecurityContexts(selector, propName, isAttribute) {\n const prop = this._schemaRegistry.getMappedPropName(propName);\n return calcPossibleSecurityContexts(this._schemaRegistry, selector, prop, isAttribute);\n }\n _parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents) {\n const matches = splitAtPeriod(name, [name, '']);\n const eventName = matches[0];\n const phase = matches[1].toLowerCase();\n if (phase) {\n switch (phase) {\n case 'start':\n case 'done':\n const ast = this._parseAction(expression, handlerSpan);\n targetEvents.push(new ParsedEvent(eventName, phase, 1 /* Animation */, ast, sourceSpan, handlerSpan));\n break;\n default:\n this._reportError(`The provided animation output phase value \"${phase}\" for \"@${eventName}\" is not supported (use start or done)`, sourceSpan);\n break;\n }\n }\n else {\n this._reportError(`The animation trigger output event (@${eventName}) is missing its phase value name (start or done are currently supported)`, sourceSpan);\n }\n }\n _parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents) {\n // long format: 'target: eventName'\n const [target, eventName] = splitAtColon(name, [null, name]);\n const ast = this._parseAction(expression, handlerSpan);\n targetMatchableAttrs.push([name, ast.source]);\n targetEvents.push(new ParsedEvent(eventName, target, 0 /* Regular */, ast, sourceSpan, handlerSpan));\n // Don't detect directives for event names for now,\n // so don't add the event name to the matchableAttrs\n }\n _parseAction(value, sourceSpan) {\n const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown').toString();\n const absoluteOffset = (sourceSpan && sourceSpan.start) ? sourceSpan.start.offset : 0;\n try {\n const ast = this._exprParser.parseAction(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast) {\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n }\n if (!ast || ast.ast instanceof EmptyExpr) {\n this._reportError(`Empty expressions are not allowed`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n _reportError(message, sourceSpan, level = ParseErrorLevel.ERROR) {\n this.errors.push(new ParseError(sourceSpan, message, level));\n }\n _reportExpressionParserErrors(errors, sourceSpan) {\n for (const error of errors) {\n this._reportError(error.message, sourceSpan);\n }\n }\n // Make sure all the used pipes are known in `this.pipesByName`\n _checkPipes(ast, sourceSpan) {\n if (ast && this.pipesByName) {\n const collector = new PipeCollector();\n ast.visit(collector);\n collector.pipes.forEach((ast, pipeName) => {\n const pipeMeta = this.pipesByName.get(pipeName);\n if (!pipeMeta) {\n this._reportError(`The pipe '${pipeName}' could not be found`, new ParseSourceSpan(sourceSpan.start.moveBy(ast.span.start), sourceSpan.start.moveBy(ast.span.end)));\n }\n else {\n this._usedPipes.set(pipeName, pipeMeta);\n }\n });\n }\n }\n /**\n * @param propName the name of the property / attribute\n * @param sourceSpan\n * @param isAttr true when binding to an attribute\n */\n _validatePropertyOrAttributeName(propName, sourceSpan, isAttr) {\n const report = isAttr ? this._schemaRegistry.validateAttribute(propName) :\n this._schemaRegistry.validateProperty(propName);\n if (report.error) {\n this._reportError(report.msg, sourceSpan, ParseErrorLevel.ERROR);\n }\n }\n}\nclass PipeCollector extends RecursiveAstVisitor$1 {\n constructor() {\n super(...arguments);\n this.pipes = new Map();\n }\n visitPipe(ast, context) {\n this.pipes.set(ast.name, ast);\n ast.exp.visit(this);\n this.visitAll(ast.args, context);\n return null;\n }\n}\nfunction isAnimationLabel(name) {\n return name[0] == '@';\n}\nfunction calcPossibleSecurityContexts(registry, selector, propName, isAttribute) {\n const ctxs = [];\n CssSelector.parse(selector).forEach((selector) => {\n const elementNames = selector.element ? [selector.element] : registry.allKnownElementNames();\n const notElementNames = new Set(selector.notSelectors.filter(selector => selector.isElementSelector())\n .map((selector) => selector.element));\n const possibleElementNames = elementNames.filter(elementName => !notElementNames.has(elementName));\n ctxs.push(...possibleElementNames.map(elementName => registry.securityContext(elementName, propName, isAttribute)));\n });\n return ctxs.length === 0 ? [SecurityContext.NONE] : Array.from(new Set(ctxs)).sort();\n}\n/**\n * Compute a new ParseSourceSpan based off an original `sourceSpan` by using\n * absolute offsets from the specified `absoluteSpan`.\n *\n * @param sourceSpan original source span\n * @param absoluteSpan absolute source span to move to\n */\nfunction moveParseSourceSpan(sourceSpan, absoluteSpan) {\n // The difference of two absolute offsets provide the relative offset\n const startDiff = absoluteSpan.start - sourceSpan.start.offset;\n const endDiff = absoluteSpan.end - sourceSpan.end.offset;\n return new ParseSourceSpan(sourceSpan.start.moveBy(startDiff), sourceSpan.end.moveBy(endDiff), sourceSpan.fullStart.moveBy(startDiff), sourceSpan.details);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_CONTENT_SELECT_ATTR = 'select';\nconst LINK_ELEMENT = 'link';\nconst LINK_STYLE_REL_ATTR = 'rel';\nconst LINK_STYLE_HREF_ATTR = 'href';\nconst LINK_STYLE_REL_VALUE = 'stylesheet';\nconst STYLE_ELEMENT = 'style';\nconst SCRIPT_ELEMENT = 'script';\nconst NG_NON_BINDABLE_ATTR = 'ngNonBindable';\nconst NG_PROJECT_AS = 'ngProjectAs';\nfunction preparseElement(ast) {\n let selectAttr = null;\n let hrefAttr = null;\n let relAttr = null;\n let nonBindable = false;\n let projectAs = '';\n ast.attrs.forEach(attr => {\n const lcAttrName = attr.name.toLowerCase();\n if (lcAttrName == NG_CONTENT_SELECT_ATTR) {\n selectAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_HREF_ATTR) {\n hrefAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_REL_ATTR) {\n relAttr = attr.value;\n }\n else if (attr.name == NG_NON_BINDABLE_ATTR) {\n nonBindable = true;\n }\n else if (attr.name == NG_PROJECT_AS) {\n if (attr.value.length > 0) {\n projectAs = attr.value;\n }\n }\n });\n selectAttr = normalizeNgContentSelect(selectAttr);\n const nodeName = ast.name.toLowerCase();\n let type = PreparsedElementType.OTHER;\n if (isNgContent(nodeName)) {\n type = PreparsedElementType.NG_CONTENT;\n }\n else if (nodeName == STYLE_ELEMENT) {\n type = PreparsedElementType.STYLE;\n }\n else if (nodeName == SCRIPT_ELEMENT) {\n type = PreparsedElementType.SCRIPT;\n }\n else if (nodeName == LINK_ELEMENT && relAttr == LINK_STYLE_REL_VALUE) {\n type = PreparsedElementType.STYLESHEET;\n }\n return new PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs);\n}\nvar PreparsedElementType;\n(function (PreparsedElementType) {\n PreparsedElementType[PreparsedElementType[\"NG_CONTENT\"] = 0] = \"NG_CONTENT\";\n PreparsedElementType[PreparsedElementType[\"STYLE\"] = 1] = \"STYLE\";\n PreparsedElementType[PreparsedElementType[\"STYLESHEET\"] = 2] = \"STYLESHEET\";\n PreparsedElementType[PreparsedElementType[\"SCRIPT\"] = 3] = \"SCRIPT\";\n PreparsedElementType[PreparsedElementType[\"OTHER\"] = 4] = \"OTHER\";\n})(PreparsedElementType || (PreparsedElementType = {}));\nclass PreparsedElement {\n constructor(type, selectAttr, hrefAttr, nonBindable, projectAs) {\n this.type = type;\n this.selectAttr = selectAttr;\n this.hrefAttr = hrefAttr;\n this.nonBindable = nonBindable;\n this.projectAs = projectAs;\n }\n}\nfunction normalizeNgContentSelect(selectAttr) {\n if (selectAttr === null || selectAttr.length === 0) {\n return '*';\n }\n return selectAttr;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst BIND_NAME_REGEXP = /^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.*))|\\[\\(([^\\)]+)\\)\\]|\\[([^\\]]+)\\]|\\(([^\\)]+)\\))$/;\n// Group 1 = \"bind-\"\nconst KW_BIND_IDX = 1;\n// Group 2 = \"let-\"\nconst KW_LET_IDX = 2;\n// Group 3 = \"ref-/#\"\nconst KW_REF_IDX = 3;\n// Group 4 = \"on-\"\nconst KW_ON_IDX = 4;\n// Group 5 = \"bindon-\"\nconst KW_BINDON_IDX = 5;\n// Group 6 = \"@\"\nconst KW_AT_IDX = 6;\n// Group 7 = the identifier after \"bind-\", \"let-\", \"ref-/#\", \"on-\", \"bindon-\" or \"@\"\nconst IDENT_KW_IDX = 7;\n// Group 8 = identifier inside [()]\nconst IDENT_BANANA_BOX_IDX = 8;\n// Group 9 = identifier inside []\nconst IDENT_PROPERTY_IDX = 9;\n// Group 10 = identifier inside ()\nconst IDENT_EVENT_IDX = 10;\nconst TEMPLATE_ATTR_PREFIX$1 = '*';\nconst CLASS_ATTR = 'class';\nlet _TEXT_CSS_SELECTOR;\nfunction TEXT_CSS_SELECTOR() {\n if (!_TEXT_CSS_SELECTOR) {\n _TEXT_CSS_SELECTOR = CssSelector.parse('*')[0];\n }\n return _TEXT_CSS_SELECTOR;\n}\nclass TemplateParseError extends ParseError {\n constructor(message, span, level) {\n super(span, message, level);\n }\n}\nclass TemplateParseResult {\n constructor(templateAst, usedPipes, errors) {\n this.templateAst = templateAst;\n this.usedPipes = usedPipes;\n this.errors = errors;\n }\n}\nclass TemplateParser {\n constructor(_config, _reflector, _exprParser, _schemaRegistry, _htmlParser, _console, transforms) {\n this._config = _config;\n this._reflector = _reflector;\n this._exprParser = _exprParser;\n this._schemaRegistry = _schemaRegistry;\n this._htmlParser = _htmlParser;\n this._console = _console;\n this.transforms = transforms;\n }\n get expressionParser() {\n return this._exprParser;\n }\n parse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {\n var _a;\n const result = this.tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces);\n const warnings = result.errors.filter(error => error.level === ParseErrorLevel.WARNING);\n const errors = result.errors.filter(error => error.level === ParseErrorLevel.ERROR);\n if (warnings.length > 0) {\n (_a = this._console) === null || _a === void 0 ? void 0 : _a.warn(`Template parse warnings:\\n${warnings.join('\\n')}`);\n }\n if (errors.length > 0) {\n const errorString = errors.join('\\n');\n throw syntaxError(`Template parse errors:\\n${errorString}`, errors);\n }\n return { template: result.templateAst, pipes: result.usedPipes };\n }\n tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {\n let htmlParseResult = typeof template === 'string' ?\n this._htmlParser.parse(template, templateUrl, {\n tokenizeExpansionForms: true,\n interpolationConfig: this.getInterpolationConfig(component)\n }) :\n template;\n if (!preserveWhitespaces) {\n htmlParseResult = removeWhitespaces(htmlParseResult);\n }\n return this.tryParseHtml(this.expandHtml(htmlParseResult), component, directives, pipes, schemas);\n }\n tryParseHtml(htmlAstWithErrors, component, directives, pipes, schemas) {\n let result;\n const errors = htmlAstWithErrors.errors;\n const usedPipes = [];\n if (htmlAstWithErrors.rootNodes.length > 0) {\n const uniqDirectives = removeSummaryDuplicates(directives);\n const uniqPipes = removeSummaryDuplicates(pipes);\n const providerViewContext = new ProviderViewContext(this._reflector, component);\n let interpolationConfig = undefined;\n if (component.template && component.template.interpolation) {\n interpolationConfig = {\n start: component.template.interpolation[0],\n end: component.template.interpolation[1]\n };\n }\n const bindingParser = new BindingParser(this._exprParser, interpolationConfig, this._schemaRegistry, uniqPipes, errors);\n const parseVisitor = new TemplateParseVisitor(this._reflector, this._config, providerViewContext, uniqDirectives, bindingParser, this._schemaRegistry, schemas, errors);\n result = visitAll$1(parseVisitor, htmlAstWithErrors.rootNodes, EMPTY_ELEMENT_CONTEXT);\n errors.push(...providerViewContext.errors);\n usedPipes.push(...bindingParser.getUsedPipes());\n }\n else {\n result = [];\n }\n this._assertNoReferenceDuplicationOnTemplate(result, errors);\n if (errors.length > 0) {\n return new TemplateParseResult(result, usedPipes, errors);\n }\n if (this.transforms) {\n this.transforms.forEach((transform) => {\n result = templateVisitAll(transform, result);\n });\n }\n return new TemplateParseResult(result, usedPipes, errors);\n }\n expandHtml(htmlAstWithErrors, forced = false) {\n const errors = htmlAstWithErrors.errors;\n if (errors.length == 0 || forced) {\n // Transform ICU messages to angular directives\n const expandedHtmlAst = expandNodes(htmlAstWithErrors.rootNodes);\n errors.push(...expandedHtmlAst.errors);\n htmlAstWithErrors = new ParseTreeResult(expandedHtmlAst.nodes, errors);\n }\n return htmlAstWithErrors;\n }\n getInterpolationConfig(component) {\n if (component.template) {\n return InterpolationConfig.fromArray(component.template.interpolation);\n }\n return undefined;\n }\n /** @internal */\n _assertNoReferenceDuplicationOnTemplate(result, errors) {\n const existingReferences = [];\n result.filter(element => !!element.references)\n .forEach(element => element.references.forEach((reference) => {\n const name = reference.name;\n if (existingReferences.indexOf(name) < 0) {\n existingReferences.push(name);\n }\n else {\n const error = new TemplateParseError(`Reference \"#${name}\" is defined several times`, reference.sourceSpan, ParseErrorLevel.ERROR);\n errors.push(error);\n }\n }));\n }\n}\nclass TemplateParseVisitor {\n constructor(reflector, config, providerViewContext, directives, _bindingParser, _schemaRegistry, _schemas, _targetErrors) {\n this.reflector = reflector;\n this.config = config;\n this.providerViewContext = providerViewContext;\n this._bindingParser = _bindingParser;\n this._schemaRegistry = _schemaRegistry;\n this._schemas = _schemas;\n this._targetErrors = _targetErrors;\n this.selectorMatcher = new SelectorMatcher();\n this.directivesIndex = new Map();\n this.ngContentCount = 0;\n // Note: queries start with id 1 so we can use the number in a Bloom filter!\n this.contentQueryStartId = providerViewContext.component.viewQueries.length + 1;\n directives.forEach((directive, index) => {\n const selector = CssSelector.parse(directive.selector);\n this.selectorMatcher.addSelectables(selector, directive);\n this.directivesIndex.set(directive, index);\n });\n }\n visitExpansion(expansion, context) {\n return null;\n }\n visitExpansionCase(expansionCase, context) {\n return null;\n }\n visitText(text, parent) {\n const ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR());\n const valueNoNgsp = replaceNgsp(text.value);\n const expr = this._bindingParser.parseInterpolation(valueNoNgsp, text.sourceSpan);\n return expr ? new BoundTextAst(expr, ngContentIndex, text.sourceSpan) :\n new TextAst(valueNoNgsp, ngContentIndex, text.sourceSpan);\n }\n visitAttribute(attribute, context) {\n return new AttrAst(attribute.name, attribute.value, attribute.sourceSpan);\n }\n visitComment(comment, context) {\n return null;\n }\n visitElement(element, parent) {\n const queryStartIndex = this.contentQueryStartId;\n const elName = element.name;\n const preparsedElement = preparseElement(element);\n if (preparsedElement.type === PreparsedElementType.SCRIPT ||\n preparsedElement.type === PreparsedElementType.STYLE) {\n // Skipping