403Webshell
Server IP : 34.87.99.72  /  Your IP : 216.73.217.31
Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n
System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64
User : bitnami ( 1000)
PHP Version : 7.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /home/bitnami/htdocs/app/node_modules/vuetify-image-clipper/dist/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/bitnami/htdocs/app/node_modules/vuetify-image-clipper/dist/v-image-clipper.common.js.map
{"version":3,"sources":["webpack://v-image-clipper/webpack/bootstrap","webpack://v-image-clipper/./node_modules/core-js/internals/to-string-tag-support.js","webpack://v-image-clipper/./node_modules/core-js/internals/function-bind-context.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-range.vue?3cc0","webpack://v-image-clipper/node_modules/vuejs-clipper/src/components/clipper-range.vue","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-range.vue?59e3","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-range.vue","webpack://v-image-clipper/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/hostReportError.js","webpack://v-image-clipper/./node_modules/core-js/internals/ie8-dom-define.js","webpack://v-image-clipper/./node_modules/core-js/internals/native-url.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/symbol/iterator.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/Subscriber.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-preview.vue?c8ca","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/subscribeToPromise.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/subscribeToIterable.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/subscribeToObservable.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/subscribeTo.js","webpack://v-image-clipper/./node_modules/core-js/internals/an-instance.js","webpack://v-image-clipper/./node_modules/core-js/internals/html.js","webpack://v-image-clipper/./node_modules/core-js/internals/a-function.js","webpack://v-image-clipper/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://v-image-clipper/./node_modules/core-js/internals/engine-is-ios.js","webpack://v-image-clipper/./node_modules/core-js/internals/require-object-coercible.js","webpack://v-image-clipper/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/observable/fromArray.js","webpack://v-image-clipper/./node_modules/core-js/internals/iterate.js","webpack://v-image-clipper/./node_modules/core-js/internals/to-absolute-index.js","webpack://v-image-clipper/./node_modules/core-js/internals/export.js","webpack://v-image-clipper/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js","webpack://v-image-clipper/./node_modules/core-js/internals/set-species.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-preview.vue?db66","webpack://v-image-clipper/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://v-image-clipper/./node_modules/core-js/modules/web.url.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/SubjectSubscription.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/Subject.js","webpack://v-image-clipper/./node_modules/core-js/modules/es.string.starts-with.js","webpack://v-image-clipper/./node_modules/core-js/internals/task.js","webpack://v-image-clipper/./node_modules/core-js/internals/engine-v8-version.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-basic.vue?4ae6","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/isObject.js","webpack://v-image-clipper/./node_modules/core-js/internals/engine-user-agent.js","webpack://v-image-clipper/./node_modules/core-js/internals/get-iterator-method.js","webpack://v-image-clipper/./node_modules/core-js/internals/object-define-properties.js","webpack://v-image-clipper/./node_modules/core-js/internals/a-possible-prototype.js","webpack://v-image-clipper/./node_modules/core-js/modules/es.string.iterator.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/concatMap.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-basic.vue?a638","webpack://v-image-clipper/./node_modules/core-js/internals/iterators.js","webpack://v-image-clipper/./node_modules/core-js/internals/path.js","webpack://v-image-clipper/./node_modules/core-js/internals/indexed-object.js","webpack://v-image-clipper/./node_modules/core-js/internals/add-to-unscopables.js","webpack://v-image-clipper/./node_modules/core-js/internals/host-report-errors.js","webpack://v-image-clipper/./node_modules/core-js/internals/is-regexp.js","webpack://v-image-clipper/./node_modules/core-js/internals/species-constructor.js","webpack://v-image-clipper/./node_modules/core-js/internals/native-symbol.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-fixed.vue?2580","webpack://v-image-clipper/./node_modules/core-js/internals/array-includes.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/merge.js","webpack://v-image-clipper/./node_modules/core-js/internals/array-from.js","webpack://v-image-clipper/./node_modules/core-js/internals/to-length.js","webpack://v-image-clipper/./node_modules/core-js/internals/has.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/filter.js","webpack://v-image-clipper/./node_modules/core-js/internals/shared.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/clipper.js","webpack://v-image-clipper/./node_modules/core-js/internals/own-keys.js","webpack://v-image-clipper/./node_modules/core-js/internals/whitespaces.js","webpack://v-image-clipper/./node_modules/core-js/internals/string-trim.js","webpack://v-image-clipper/./node_modules/core-js/internals/not-a-regexp.js","webpack://v-image-clipper/./node_modules/core-js/internals/create-property-descriptor.js","webpack://v-image-clipper/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://v-image-clipper/./node_modules/core-js/internals/object-assign.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-basic.vue?3c58","webpack://v-image-clipper/node_modules/vuejs-clipper/src/components/clipper-basic.vue","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-basic.vue?fea5","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-basic.vue","webpack://v-image-clipper/./node_modules/core-js/internals/string-multibyte.js","webpack://v-image-clipper/./node_modules/core-js/internals/array-species-create.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/mergeAll.js","webpack://v-image-clipper/./node_modules/core-js/internals/internal-state.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/observable/fromEvent.js","webpack://v-image-clipper/./node_modules/core-js/internals/redefine.js","webpack://v-image-clipper/./node_modules/exif-js/exif.js","webpack://v-image-clipper/./node_modules/core-js/internals/inherit-if-required.js","webpack://v-image-clipper/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://v-image-clipper/./src/components/Vuetify-Image-Clipper.vue?9065","webpack://v-image-clipper/./node_modules/core-js/internals/enum-bug-keys.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-range.vue?c97e","webpack://v-image-clipper/./node_modules/core-js/internals/to-object.js","webpack://v-image-clipper/./node_modules/core-js/internals/object-create.js","webpack://v-image-clipper/./node_modules/core-js/internals/define-iterator.js","webpack://v-image-clipper/./node_modules/core-js/internals/native-weak-map.js","webpack://v-image-clipper/./node_modules/core-js/internals/an-object.js","webpack://v-image-clipper/./node_modules/core-js/internals/descriptors.js","webpack://v-image-clipper/./node_modules/core-js/internals/create-property.js","webpack://v-image-clipper/./node_modules/core-js/internals/is-object.js","webpack://v-image-clipper/./src/components/Vuetify-Image-Clipper.vue?ed7b","webpack://v-image-clipper/./node_modules/@soda/get-current-script/index.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/config.js","webpack://v-image-clipper/./node_modules/core-js/internals/inspect-source.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/isArray.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-fixed.vue?fbaa","webpack://v-image-clipper/node_modules/vuejs-clipper/src/components/clipper-fixed.vue","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-fixed.vue?30e9","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-fixed.vue","webpack://v-image-clipper/./node_modules/core-js/internals/uid.js","webpack://v-image-clipper/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://v-image-clipper/./node_modules/core-js/internals/is-forced.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/identity.js","webpack://v-image-clipper/./node_modules/core-js/modules/web.url-search-params.js","webpack://v-image-clipper/./node_modules/core-js/modules/es.array.concat.js","webpack://v-image-clipper/./node_modules/core-js/internals/get-iterator.js","webpack://v-image-clipper/./node_modules/tslib/tslib.es6.js","webpack://v-image-clipper/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://v-image-clipper/./node_modules/core-js/internals/object-define-property.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/isScheduler.js","webpack://v-image-clipper/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/takeUntil.js","webpack://v-image-clipper/./node_modules/core-js/internals/to-integer.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/scheduled/scheduleObservable.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/scheduled/schedulePromise.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/scheduled/scheduleIterable.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/isInteropObservable.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/isIterable.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/scheduled/scheduled.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/observable/from.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/mergeMap.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/Subscription.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/observable/of.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/concatAll.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/observable/concat.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/startWith.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/observable/merge.js","webpack://v-image-clipper/./node_modules/core-js/modules/es.number.constructor.js","webpack://v-image-clipper/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://v-image-clipper/./node_modules/core-js/internals/iterators-core.js","webpack://v-image-clipper/./node_modules/core-js/internals/object-to-string.js","webpack://v-image-clipper/./node_modules/core-js/modules/es.function.name.js","webpack://v-image-clipper/./node_modules/core-js/internals/microtask.js","webpack://v-image-clipper/./node_modules/core-js/internals/well-known-symbol.js","webpack://v-image-clipper/./node_modules/core-js/internals/to-primitive.js","webpack://v-image-clipper/./node_modules/core-js/internals/is-pure.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/tap.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/symbol/observable.js","webpack://v-image-clipper/./node_modules/core-js/internals/classof-raw.js","webpack://v-image-clipper/./node_modules/core-js/internals/shared-store.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/extends/common-methods.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/extends/basic-methods.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/extends/fixed-methods.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/extends/clippo.js","webpack://v-image-clipper/(webpack)/buildin/global.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-preview.vue?6c83","webpack://v-image-clipper/node_modules/vuejs-clipper/src/components/clipper-preview.vue","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-preview.vue?d614","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-preview.vue","webpack://v-image-clipper/./node_modules/core-js/internals/object-keys-internal.js","webpack://v-image-clipper/./node_modules/core-js/internals/document-create-element.js","webpack://v-image-clipper/./node_modules/core-js/internals/promise-resolve.js","webpack://v-image-clipper/./node_modules/core-js/internals/set-global.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/innerSubscribe.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-upload.vue?437f","webpack://v-image-clipper/node_modules/vuejs-clipper/src/components/clipper-upload.vue","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-upload.vue?fcec","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-upload.vue","webpack://v-image-clipper/./node_modules/core-js/internals/hidden-keys.js","webpack://v-image-clipper/./node_modules/core-js/internals/fails.js","webpack://v-image-clipper/./node_modules/core-js/internals/get-built-in.js","webpack://v-image-clipper/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://v-image-clipper/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://v-image-clipper/./node_modules/core-js/modules/es.object.to-string.js","webpack://v-image-clipper/./node_modules/core-js/internals/set-to-string-tag.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-range.vue?ac20","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/isFunction.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/namespace.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/isArrayLike.js","webpack://v-image-clipper/./node_modules/core-js/internals/global.js","webpack://v-image-clipper/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://v-image-clipper/./node_modules/core-js/internals/object-keys.js","webpack://v-image-clipper/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://v-image-clipper/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://v-image-clipper/./node_modules/core-js/modules/es.array.iterator.js","webpack://v-image-clipper/./node_modules/core-js/internals/redefine-all.js","webpack://v-image-clipper/./node_modules/core-js/internals/perform.js","webpack://v-image-clipper/./node_modules/core-js/modules/es.promise.js","webpack://v-image-clipper/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://v-image-clipper/./node_modules/core-js/internals/is-array.js","webpack://v-image-clipper/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/Observer.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/canReportError.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/toSubscriber.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/pipe.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/Observable.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/map.js","webpack://v-image-clipper/./node_modules/core-js/internals/new-promise-capability.js","webpack://v-image-clipper/./node_modules/core-js/internals/classof.js","webpack://v-image-clipper/./node_modules/core-js/internals/shared-key.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/subscribeToArray.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/noop.js","webpack://v-image-clipper/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://v-image-clipper/./src/components/Vuetify-Image-Clipper.vue?b999","webpack://v-image-clipper/src/components/Vuetify-Image-Clipper.vue","webpack://v-image-clipper/./src/components/Vuetify-Image-Clipper.vue?f52b","webpack://v-image-clipper/./src/components/Vuetify-Image-Clipper.vue","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/observable/never.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/refCount.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/observable/ConnectableObservable.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/multicast.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/operators/share.js","webpack://v-image-clipper/./node_modules/vue-rx/dist/vue-rx.esm.js","webpack://v-image-clipper/./src/components/index.js","webpack://v-image-clipper/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://v-image-clipper/./node_modules/vuejs-clipper/src/components/clipper-fixed.vue?a551","webpack://v-image-clipper/./node_modules/core-js/internals/to-indexed-object.js","webpack://v-image-clipper/./node_modules/rxjs/_esm5/internal/util/isPromise.js","webpack://v-image-clipper/./node_modules/core-js/internals/dom-iterables.js","webpack://v-image-clipper/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://v-image-clipper/./node_modules/core-js/internals/native-promise-constructor.js"],"names":["VuetifyImageClipper","install","Vue","use","VueRx","component"],"mappings":"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O,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;AChCD;AAAA;AAAA;AAAA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACA;AACP;;;;;;;;;ACTA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACiC;AACc;AACK;AACN;AACuC;AACnD;AACuB;AACzD;AACA,IAAI,uDAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uDAAa;AACjD;AACA;AACA;AACA,wCAAwC,uDAAa;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kFAAkB,iBAAiB,aAAa;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,kEAAY;AACQ;AACtB;AACA,IAAI,uDAAiB;AACrB;AACA;AACA;AACA;AACA;AACA,YAAY,2EAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,uDAAa;AAChD;AACA,oBAAoB,2EAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sDAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,sDAAM;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,qFAAe;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qFAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,6CAA6C;AAChG,qBAAqB,sDAAM;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,sDAAM;AACtB;AACA;AACA;AACA,gBAAgB,qFAAe;AAC/B;AACA;AACA;AACA;AACA,aAAa,sDAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,sDAAM;AACtB;AACA;AACA;AACA;AACA;AACA,gBAAgB,qFAAe;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACyB;AAC1B;;;;;;;;ACxOA,uC;;;;;;;;;;;;;;;;;;;ACAA;AACoD;AAC7C;AACP;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,8BAA8B,EAAE;AAC3D,wBAAwB,0CAAe;AACvC;AACA;AACA;AACA;;;;;;ACdA;AACiE;AAC1D;AACP;AACA,gCAAgC,mCAAe;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;;;;;ACjCA;AACuE;AAChE;AACP;AACA,sBAAsB,gCAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACbA;AACsD;AACI;AACE;AACI;AACpB;AACJ;AACF;AAC2B;AACM;AAChE;AACP,kCAAkC,gCAAiB;AACnD,eAAe,qBAAqB;AACpC;AACA,aAAa,0CAAW;AACxB,eAAe,oDAAgB;AAC/B;AACA,aAAa,sCAA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;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACjGa;AACb;AACA,mBAAO,CAAC,MAA+B;AACvC,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,qBAAqB,mBAAO,CAAC,MAAyB;AACtD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,uBAAuB,mBAAO,CAAC,MAAuC;AACtE,eAAe,mBAAO,CAAC,MAAuB;AAC9C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,UAAU,mBAAO,CAAC,MAAkB;AACpC,aAAa,mBAAO,CAAC,MAA4B;AACjD,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,aAAa,mBAAO,CAAC,MAA+B;AACpD,cAAc,mBAAO,CAAC,MAAuC;AAC7D,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,4BAA4B,mBAAO,CAAC,MAAkC;AACtE,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;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,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,yBAAyB,6BAA6B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,cAAc;AACpD;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,GAAG,4DAA4D;AAC/D;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9+BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACM;AACP;;;ACZA;AACiC;AACa;AAC9C,IAAI,uCAAmB;AACvB,IAAI,8BAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,oCAAY;AACiB;AAC/B;;;;;;AC/BA;AACiC;AACS;AACA;AACI;AAC2B;AACb;AACyB;AACrF,IAAI,yBAAiB;AACrB,IAAI,8BAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,gCAAU;AACiB;AAC7B,IAAI,eAAO;AACX,IAAI,8BAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,oCAAkB;AACxC,mBAAmB,yBAAiB;AACpC;AACA;AACA,0BAA0B,wBAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA,sBAAsB,uBAAuB;AAC7C;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uBAAuB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uBAAuB;AAC7C;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uBAAuB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uBAAuB;AAC7C;AACA;AACA;AACA,mBAAmB,oCAAY;AAC/B;AACA;AACA;AACA,mBAAmB,oCAAY;AAC/B;AACA;AACA;AACA,uBAAuB,uCAAmB;AAC1C;AACA;AACA;AACA,6BAA6B,gCAAU;AACvC;AACA;AACA;AACA;AACA,mBAAmB,wBAAgB;AACnC;AACA;AACA,CAAC,CAAC,gCAAU;AACO;AACnB,IAAI,wBAAgB;AACpB,IAAI,8BAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oCAAY;AAC/B;AACA;AACA;AACA,CAAC,CAAC,eAAO;AACmB;AAC5B;;;;;;;;;AC7Ja;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,eAAe,mBAAO,CAAC,MAAwB;AAC/C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,2BAA2B,mBAAO,CAAC,MAAsC;AACzE,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,uFAAuF;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC/BD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,cAAc,mBAAO,CAAC,MAA0B;AAChD,WAAW,mBAAO,CAAC,MAAoC;AACvD,WAAW,mBAAO,CAAC,MAAmB;AACtC,oBAAoB,mBAAO,CAAC,MAAsC;AAClE,aAAa,mBAAO,CAAC,MAA4B;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;AC1GA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,gBAAgB,mBAAO,CAAC,MAAgC;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACnBA;AAAA;AAAA;AACO;AACP;AACA;AACA;AACA,CAAC;AACM;AACP;;;;;;;;;ACPA;AAAA;AAAA;AAAod,CAAgB,qeAAG,EAAC,C;;;;;;;;ACAxe;AAAA;AACO;AACP;AACA;AACA;;;;;;;;ACJA,iBAAiB,mBAAO,CAAC,MAA2B;;AAEpD;;;;;;;;ACFA,cAAc,mBAAO,CAAC,MAAsB;AAC5C,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACNa;AACb,aAAa,mBAAO,CAAC,MAA+B;AACpD,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,qBAAqB,mBAAO,CAAC,MAA8B;;AAE3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;;AC5BD;AAAA;AAAA;AACsC;AAC/B;AACP,WAAW,kEAAQ;AACnB;AACA;;;;;;;;ACLA,uC;;;;;;;ACAA;;;;;;;;ACAA,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;;;;;;;ACFA,YAAY,mBAAO,CAAC,MAAoB;AACxC,cAAc,mBAAO,CAAC,MAA0B;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACZD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,aAAa,mBAAO,CAAC,MAA4B;AACjD,2BAA2B,mBAAO,CAAC,MAAqC;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;ACnBA,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAA0B;AAChD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACND;AAAA;AAAA;AAAod,CAAgB,qeAAG,EAAC,C;;;;;;;ACAxe,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/BA;AAAA;AAAA;AAC2D;AACpD;AACP;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA,8BAA8B,yBAAyB,+DAAW,8CAA8C;AAChH;AACA;;;;;;;;;ACTa;AACb,WAAW,mBAAO,CAAC,MAAoC;AACvD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,mCAAmC,mBAAO,CAAC,MAA+C;AAC1F,4BAA4B,mBAAO,CAAC,MAAuC;AAC3E,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,wBAAwB,mBAAO,CAAC,MAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mCAAmC;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;;AAEA;AACA;AACA;AACA,uEAAuE;AACvE;;;;;;;;ACRA,uBAAuB;;AAEvB;AACA;AACA;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AACiC;AACU;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,IAAI,uDAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,8DAAU;AACZ;;;;;;;;AC1CA,cAAc,mBAAO,CAAC,MAAsB;AAC5C,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA,CAAC;;;;;;;;;ACTD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AACJ;AACA;AACA;AACE;;AAE/B;;AAE5B;AACA;AACA;AACA,iBAAiB,6EAAY;AAC7B;AACA,KAAK;AACL;AACA,iBAAiB,+EAAc;AAC/B;AACA,KAAK;AACL;AACA,iBAAiB,6EAAY;AAC7B;AACA,KAAK;AACL;AACA,iBAAiB,6EAAY;AAC7B;AACA,KAAK;AACL;AACA,iBAAiB,8EAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,0DAAE,4CAA4C,0DAAE;AAClD;AACA;AACA,+DAA+D,EAAE;AACjE;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe,gFAAM;;AAErB;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEkF;;;;;;;;;AC9DlF,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,gCAAgC,mBAAO,CAAC,MAA4C;AACpF,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;;;;;;;;ACFA,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;AACA;AACA;;AAEA,sBAAsB,gDAAgD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mCAAmC;AACnC,+CAA+C;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,OAAO;AACP,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mCAAmC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;;;;;;;;;ACvKa;AACb,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,iCAAiC,mBAAO,CAAC,MAA4C;AACrF,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,OAAO,gCAAgC;AAC1E;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,IAAI,OAAO;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,cAAc,EAAE;AAC7D,wBAAwB,+CAA+C;AACvE,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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AkB;AAC1C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5DA;AAAA;AAAA;AAAA;AAAA;AAAA;AAC2C;AACD;AACM;AACT;AACvC,2CAA2C,kCAAkC,EAAE;AACxE;AACP,QAAQ,2EAAU;AAClB;AACA;AACA;AACA;AACA,0DAA0D,kEAAG,kBAAkB,QAAQ,qEAAO,mEAAmE,EAAE;AACnK;AACA,eAAe,8DAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kEAAkE;AACrG;AACA;AACA;AACA;AACA,mCAAmC,yCAAyC;AAC5E;AACA;AACA;AACA;AACA,mCAAmC,oDAAoD;AACvF;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9DA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,UAAU,mBAAO,CAAC,MAAkB;AACpC,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACjCD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,IAA8B;AACtC,YAAY,KAA6B;AACzC;AACA;AACA;AACA,KAAK,MAAM,EAEN;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;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;;AAEA;AACA;AACA;AACA;;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;;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA,+DAA+D,KAAK,qBAAqB,0BAA0B;AACnH,6CAA6C,KAAK;AAClD;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C;AAC3C;AACA;;AAEA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,aAAa;AACb;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;;AAGA;AACA;;AAEA;;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;;AAEA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wEAAwE;AACxE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gCAAgC;AAChC;AACA;AACA,2BAA2B,2BAA2B;AACtD;AACA;AACA;AACA;AACA,SAAS,8BAA8B;AACvC;AACA;;AAEA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,yBAAyB;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,QAAQ,IAA0C;AAClD,QAAQ,iCAAkB,EAAE,mCAAE;AAC9B;AACA,SAAS;AAAA,oGAAC;AACV;AACA,CAAC;;;;;;;;;ACjiCD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;;;;;;;;ACAA,uC;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,uC;;;;;;;ACAA,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;AACA;AACA;;;;;;;;ACNA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,uBAAuB,mBAAO,CAAC,MAAuC;AACtE,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,WAAW,mBAAO,CAAC,MAAmB;AACtC,4BAA4B,mBAAO,CAAC,MAAsC;AAC1E,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA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AO,CAAC,MAAyC;AAChF,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,wBAAwB,mBAAO,CAAC,MAAkC;AAClE,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+EAA+E,EAAE,EAAE,cAAc;AACjG;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kDAAkD;AAC1E;AACA,OAAO,6DAA6D,kCAAkC;AACtG,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oCAAoC;AAC5D;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA,4BAA4B,2BAA2B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,GAAG,mBAAmB;;AAEvB;;AAEA,GAAG,wCAAwC;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;AC1Va;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAAoB;AACxC,cAAc,mBAAO,CAAC,MAAuB;AAC7C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,mCAAmC,mBAAO,CAAC,MAA+C;AAC1F,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAAgC;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG,+CAA+C;AAClD,gCAAgC;AAChC;AACA;AACA;AACA;AACA,2CAA2C,YAAY;AACvD;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC3DD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,wBAAwB,mBAAO,CAAC,MAAkC;;AAElE;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;;AAEO;AACP;AACA,mBAAmB,sBAAsB;AACzC;AACA;;AAEO;AACP;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA,4DAA4D,cAAc;AAC1E;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;;AAEO;AACP,mCAAmC,oCAAoC;AACvE;;AAEO;AACP;AACA;;AAEO;AACP,2BAA2B,+DAA+D,gBAAgB,EAAE,EAAE;AAC9G;AACA,mCAAmC,MAAM,6BAA6B,EAAE,YAAY,WAAW,EAAE;AACjG,kCAAkC,MAAM,iCAAiC,EAAE,YAAY,WAAW,EAAE;AACpG,+BAA+B,qFAAqF;AACpH;AACA,KAAK;AACL;;AAEO;AACP,aAAa,6BAA6B,0BAA0B,aAAa,EAAE,qBAAqB;AACxG,gBAAgB,qDAAqD,oEAAoE,aAAa,EAAE;AACxJ,sBAAsB,sBAAsB,qBAAqB,GAAG;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,kCAAkC,SAAS;AAC3C,kCAAkC,WAAW,UAAU;AACvD,yCAAyC,cAAc;AACvD;AACA,6GAA6G,OAAO,UAAU;AAC9H,gFAAgF,iBAAiB,OAAO;AACxG,wDAAwD,gBAAgB,QAAQ,OAAO;AACvF,8CAA8C,gBAAgB,gBAAgB,OAAO;AACrF;AACA,iCAAiC;AACjC;AACA;AACA,SAAS,YAAY,aAAa,OAAO,EAAE,UAAU,WAAW;AAChE,mCAAmC,SAAS;AAC5C;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM,gBAAgB;AACzC;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;;AAEO;AACP,4BAA4B,sBAAsB;AAClD;AACA;AACA;;AAEO;AACP,iDAAiD,QAAQ;AACzD,wCAAwC,QAAQ;AAChD,wDAAwD,QAAQ;AAChE;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA,iBAAiB,sFAAsF,aAAa,EAAE;AACtH,sBAAsB,gCAAgC,qCAAqC,0CAA0C,EAAE,EAAE,GAAG;AAC5I,2BAA2B,MAAM,eAAe,EAAE,YAAY,oBAAoB,EAAE;AACpF,sBAAsB,oGAAoG;AAC1H,6BAA6B,uBAAuB;AACpD,4BAA4B,wBAAwB;AACpD,2BAA2B,yDAAyD;AACpF;;AAEO;AACP;AACA,iBAAiB,4CAA4C,SAAS,EAAE,qDAAqD,aAAa,EAAE;AAC5I,yBAAyB,6BAA6B,oBAAoB,gDAAgD,gBAAgB,EAAE,KAAK;AACjJ;;AAEO;AACP;AACA;AACA,2GAA2G,sFAAsF,aAAa,EAAE;AAChN,sBAAsB,8BAA8B,gDAAgD,uDAAuD,EAAE,EAAE,GAAG;AAClK,4CAA4C,sCAAsC,UAAU,oBAAoB,EAAE,EAAE,UAAU;AAC9H;;AAEO;AACP,gCAAgC,uCAAuC,aAAa,EAAE,EAAE,OAAO,kBAAkB;AACjH;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP,4CAA4C;AAC5C;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzNA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;;ACZA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,qBAAqB,mBAAO,CAAC,MAA6B;AAC1D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA2B;;AAErD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;;;;;;;;;ACnBA;AAAA;AACO;AACP;AACA;AACA;;;;;;;;;ACJa;AACb,wBAAwB,mBAAO,CAAC,MAA6B;AAC7D,aAAa,mBAAO,CAAC,MAA4B;AACjD,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,gBAAgB,mBAAO,CAAC,MAAwB;;AAEhD,8BAA8B,aAAa;;AAE3C;AACA;AACA,6DAA6D,0CAA0C;AACvG;AACA;AACA;AACA;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AACiC;AACgE;AAC1F;AACP,8BAA8B,qDAAqD;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,8EAAc,oBAAoB,6EAAqB;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,IAAI,uDAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,6EAAqB;AACvB;;;;;;;;ACpCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA;AAC2C;AACI;AACwB;AAChE;AACP,eAAe,gCAAU;AACzB,sBAAsB,oCAAY;AAClC;AACA,mCAAmC,uCAAiB;AACpD;AACA,wCAAwC,yCAAyC,+BAA+B,EAAE,GAAG,EAAE;AACvH,uCAAuC,yCAAyC,8BAA8B,EAAE,GAAG,EAAE;AACrH,uCAAuC,yCAAyC,8BAA8B,EAAE,GAAG,EAAE;AACrH,aAAa;AACb,SAAS;AACT;AACA,KAAK;AACL;AACA;;;AClBA;AAC2C;AACI;AACxC;AACP,eAAe,gCAAU;AACzB,sBAAsB,oCAAY;AAClC;AACA;AACA;AACA;AACA,4DAA4D,8BAA8B,EAAE;AAC5F,iBAAiB;AACjB,aAAa;AACb,wDAAwD,8BAA8B,EAAE;AACxF,aAAa;AACb,SAAS;AACT;AACA,KAAK;AACL;AACA;;;;;;;;;ACnBA;AAC2C;AACI;AACkB;AAC1D;AACP;AACA;AACA;AACA,eAAe,gCAAU;AACzB,sBAAsB,oCAAY;AAClC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,6BAA6B,mCAAe;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,KAAK;AACL;AACA;;;AC7CA;AACuE;AAChE;AACP,iCAAiC,uCAAiB;AAClD;AACA;;;;;;;;;ACLA;AACiE;AAC1D;AACP,iCAAiC,mCAAe;AAChD;AACA;;;ACLA;AAC0D;AACN;AACJ;AACM;AACY;AACpB;AACI;AACF;AACzC;AACP;AACA,YAAY,mBAAmB;AAC/B,mBAAmB,kBAAkB;AACrC;AACA,iBAAiB,sCAAS;AAC1B,mBAAmB,eAAe;AAClC;AACA,iBAAiB,0CAAW;AAC5B,mBAAmB,8CAAa;AAChC;AACA,iBAAiB,UAAU;AAC3B,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;;;AC1BA;AAC2C;AACO;AACC;AAC5C;AACP;AACA,6BAA6B,gCAAU;AACvC;AACA;AACA,mBAAmB,gCAAU,CAAC,0CAAW;AACzC;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;;;;;;ACfA;AACiC;AACL;AACc;AACuD;AAC1F;AACP;AACA;AACA;AACA;AACA,kCAAkC,8CAA8C,QAAQ,IAAI,qBAAqB,0BAAG,mBAAmB,oCAAoC,EAAE,GAAG,EAAE,eAAe;AACjM;AACA;AACA;AACA;AACA,8BAA8B,+DAA+D;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAAkB;AACtD;AACA;AACA,CAAC;AAC2B;AAC5B,IAAI,2BAAkB;AACtB,IAAI,8BAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,+CAAqB;AACvD;AACA;AACA,gCAAgC,gDAAc;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,+CAAqB;AACO;AACvB;AACP;;;;;;;;;;;;;;;;;;;;;;;ACpGA;AACA;AACA;AACA;AACA;AACA,wGAAwG,sCAAsC,EAAE;AAChJ;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACM;AACP;;;ACdA;AACyC;AACE;AACI;AACkB;AACjE,IAAI,yBAAY;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iCAAiC;AAChE;AACA;AACA;AACA;AACA,YAAY,wCAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA,YAAY,kCAAO;AACnB;AACA;AACA;AACA;AACA,oBAAoB,oCAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA,yCAAyC,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AACuB;AACxB;AACA,+CAA+C,oCAAoC,mBAAmB,sBAAsB,EAAE;AAC9H;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3IA;AACkD;AACV;AACmB;AACpD;AACP;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA,QAAQ,0CAAW;AACnB;AACA,eAAe,8CAAa;AAC5B;AACA;AACA,eAAe,sCAAS;AACxB;AACA;AACA;;;;;;AClBA;AACsC;AAC/B;AACP,WAAW,oCAAQ;AACnB;AACA;;;ACLA;AAC0B;AACyB;AAC5C;AACP;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA,WAAW,SAAS,GAAG,EAAE;AACzB;AACA;;;ACVA;AAC8C;AACI;AAC3C;AACP;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA,QAAQ,0CAAW;AACnB;AACA,kCAAkC,QAAQ,MAAM,2BAA2B;AAC3E;AACA;AACA,kCAAkC,QAAQ,MAAM,gBAAgB;AAChE;AACA;AACA;;;;;;;;;ACjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAC2C;AACO;AACD;AACT;AACjC;AACP;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA,QAAQ,6EAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,8DAAU;AAC9F;AACA;AACA,WAAW,4EAAQ,aAAa,oEAAS;AACzC;AACA;;;;;;;;;AC3Ba;AACb,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAuB;AAC9C,UAAU,mBAAO,CAAC,MAAkB;AACpC,cAAc,mBAAO,CAAC,MAA0B;AAChD,wBAAwB,mBAAO,CAAC,MAAkC;AAClE,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAA4B;AACjD,0BAA0B,mBAAO,CAAC,MAA4C;AAC9E,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,WAAW,mBAAO,CAAC,MAA0B;;AAE7C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,KAAK;AACL;AACA,oCAAoC,cAAc,OAAO;AACzD,qCAAqC,cAAc,OAAO;AAC1D;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,qCAAqC,EAAE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7EA,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,YAAY;AACjB,GAAG;AACH;;;;;;;;;ACda;AACb,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,UAAU,mBAAO,CAAC,MAAkB;AACpC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACpCa;AACb,4BAA4B,mBAAO,CAAC,MAAoC;AACxE,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;AACA;AACA,2CAA2C;AAC3C;AACA;;;;;;;;ACRA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACrBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,cAAc,mBAAO,CAAC,MAA0B;AAChD,gBAAgB,mBAAO,CAAC,MAAmB;AAC3C,aAAa,mBAAO,CAAC,MAA4B;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AC7EA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,aAAa,mBAAO,CAAC,MAAqB;AAC1C,UAAU,mBAAO,CAAC,MAAkB;AACpC,UAAU,mBAAO,CAAC,MAAkB;AACpC,oBAAoB,mBAAO,CAAC,MAA4B;AACxD,wBAAwB,mBAAO,CAAC,MAAgC;;AAEhE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AChBA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACiC;AACU;AACP;AACY;AACzC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,IAAI,uDAAiB;AACrB;AACA;AACA,yBAAyB,uDAAI;AAC7B,0BAA0B,uDAAI;AAC9B,6BAA6B,uDAAI;AACjC,mCAAmC,uDAAI;AACvC,yCAAyC,uDAAI;AAC7C,YAAY,2EAAU;AACtB;AACA;AACA;AACA;AACA;AACA,oDAAoD,uDAAI;AACxD,sDAAsD,uDAAI;AAC1D,4DAA4D,uDAAI;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,8DAAU;AACZ;;;;;;;;;AC1EA;AAAA;AACO,6CAA6C,4EAA4E,EAAE;AAClI;;;;;;;;ACFA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;ACJA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA,kDAAkD;;AAElD;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEe,gEAAa;;;AC9C5B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,yBAAyB;AACzB;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH,yBAAyB,aAAa;AACtC;AACA;AACA;AACA,YAAY;AACZ,GAAG;AACH,6BAA6B,wBAAwB,GAAG;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,8BAA8B,aAAa;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,YAAY;AACZ,GAAG;AACH,yBAAyB,+DAA+D;AACxF,6BAA6B;AAC7B;AACA,oCAAoC,gBAAgB;AACpD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY;AACZ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,sBAAsB,YAAY;AAClC,YAAY;AACZ,GAAG;AACH,uBAAuB,+DAA+D;AACtF;AACA,WAAW,2BAA2B;AACtC,WAAW;AACX;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,iCAAiC;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,6BAA6B,aAAa;AAC1C,wCAAwC;;AAExC,8DAA8D;AAC9D;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY;AACZ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,WAAW,oBAAoB;AAC/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;;AAEe,gEAAc;;;ACvY7B;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA;AACA,GAAG;AACH;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,aAAa;AACjC;AACA;AACA,YAAY;AACZ,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,6BAA6B,aAAa;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA,WAAW,oBAAoB;AAC/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,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEe,8DAAY;;;;;;;;;ACnH3B;AACA;AACA;AACA;AAC6C;AACF;AACA;;AAEX;;AAEG;;AAEnC,mCAAmC,aAAa,EAAE,cAAc;AAChE,MAAM,mBAAY,iBAAiB,aAAa,EAAE,cAAc;;AAEzC;AACA;;AAEvB;AACA;AACA;AACA,sBAAsB,sCAAS;AAC/B,sBAAsB,sCAAS;AAC/B,oBAAoB,sCAAS;AAC7B,uBAAuB,sCAAS,wBAAwB,iBAAiB;AACzE,sBAAsB,sCAAS,uBAAuB,iBAAiB;AACvE,qBAAqB,sCAAS,sBAAsB,iBAAiB;AACrE;AACA;;AAEA;AACA;AACA,kBAAkB,sCAAS,mBAAmB,iBAAiB;AAC/D;AACA;AAC2B;AACA;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,6BAA6B,4BAAE;AAC/B;AACA;AACA;AACA,qDAAqD,aAAa;AAClE;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEwB;;;;;;;;AC9ExB;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;ACnBA,0BAA0B,aAAa,0BAA0B,wBAAwB,iBAAiB,sBAAsB,YAAY,yCAAyC,eAAe,0BAA0B,iDAAiD,YAAY,2CAA2C,YAAY,iDAAiD,YAAY,yBAAyB,cAAc,KAAK,sBAAsB,kBAAkB,+CAA+C;AAClhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACoCA;AACA;AACA;AACA;AACA,kBADA;AAEA;AAFA;AADA,GADA;AAOA;AACA;AACA,aADA;AAEA,iBAFA;AAGA,iBAHA;AAIA,kBAJA;AAKA,mBALA;AAMA,oBANA;AAOA,sBAPA;AAQA,aARA;AASA;AATA;AAWA,GAnBA;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AAGA,KARA;AASA;AACA;AACA;AADA;AAGA,KAbA;AAcA;AACA;AACA;AACA,qCADA;AAEA;AAFA;AAIA,KApBA;AAqBA;AACA;AAAA;AAAA;AACA;AAvBA,GApBA;AA6CA,SA7CA,qBA6CA;AACA;AACA;AACA,GAhDA;AAiDA;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AAAA;;AACA;AACA;AACA,KATA;AAUA;AAAA;AACA;AACA;AACA;AACA,KAdA;AAeA;AACA;AACA;AACA,KAlBA;AAmBA;AACA;AACA;AACA;AACA;AACA;AAxBA;AAjDA,G;;ACtCuR,CAAgB,8HAAG,EAAC,C;;;;;;;;ACAjM;AACvC;AACL;AACsC;;;AAGpG;AACgF;AAChF,gBAAgB,8CAAU;AAC1B,EAAE,kDAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,gG;;;;;;;ACnBf,UAAU,mBAAO,CAAC,MAAkB;AACpC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAA6B;AACnD,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACTA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,2BAA2B,mBAAO,CAAC,MAAqC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;;ACTA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACiC;AACS;AACA;AACO;AACjD;AACA,IAAI,uDAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,8DAAU;AACqB;AACjC;AACA,IAAI,uDAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,8DAAU;AACsB;AAClC;AACA,IAAI,uDAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,8DAAU;AACqB;AACjC;AACA,IAAI,uDAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,8DAAU;AACsB;AAC3B;AACP;AACA;AACA;AACA,0BAA0B,8DAAU;AACpC;AACA;AACA,WAAW,6EAAW;AACtB;AACA;;;;;;;;;;;AC5FA,0BAA0B,aAAa,0BAA0B,wBAAwB,iBAAiB,IAAI,0BAA0B,8BAA8B,gCAAgC,iBAAiB,QAAQ,qBAAqB,qBAAqB,kCAAkC,iBAAiB,QAAQ,cAAc,KAAK,0BAA0B,0BAA0B,0BAA0B,2BAA2B;AAChc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACmBA;AAEA;AACA;AACA;AACA,mBADA;AAEA;AAFA,KADA;AAKA;AACA,kBADA;AAEA;AAFA,KALA;AASA;AACA,mBADA;AAEA;A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AC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,cAAc,mBAAO,CAAC,MAA0B;AAChD,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,yBAAyB,mBAAO,CAAC,MAAkC;AACnE,WAAW,mBAAO,CAAC,MAAmB;AACtC,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,uBAAuB,mBAAO,CAAC,MAAiC;AAChE,iCAAiC,mBAAO,CAAC,MAAqC;AAC9E,cAAc,mBAAO,CAAC,MAAsB;AAC5C,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAAgC;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc,eAAe,cAAc;AACjE;AACA;AACA;AACA,qCAAqC,cAAc;AACnD,CAAC;;AAED;AACA,yDAAyD,cAAc;AACvE,CAAC;;AAED;AACA;AACA;AACA;AACA;;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,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,6BAA6B,cAAc;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,GAAG,eAAe;;AAEvB;AACA,wCAAwC,+CAA+C;AACvF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG,2CAA2C;AAC9C;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA,GAAG,8CAA8C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,yDAAyD;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,2DAA2D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;AC1XD,UAAU,mBAAO,CAAC,MAAkB;AACpC,cAAc,mBAAO,CAAC,MAAuB;AAC7C,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,2BAA2B,mBAAO,CAAC,MAAqC;;AAExE;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;;;;;;;ACbA,cAAc,mBAAO,CAAC,MAA0B;;AAEhD;AACA;AACA;AACA;AACA;;;;;;;;ACNA,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,gBAAgB,mBAAO,CAAC,MAAwB;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACTA;AAAA;AAAA;AAAA;AACkC;AACuB;AAClD;AACP;AACA,4BAA4B,EAAE;AAC9B;AACA,YAAY,sDAAM;AAClB;AACA;AACA;AACA,YAAY,qFAAe;AAC3B;AACA,KAAK;AACL,2BAA2B;AAC3B;AACA;;;;;;;;;;;;;;;;;AChBA;AAC2C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA,uDAAuD,gCAAU;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjBA;AAC2C;AACiC;AACvB;AAC9C;AACP;AACA,sCAAsC,gCAAU;AAChD;AACA;AACA,2BAA2B,oCAAkB;AAC7C,kCAAkC,oCAAkB;AACpD;AACA;AACA;AACA,mBAAmB,gCAAU,CAAC,yBAAa;AAC3C;AACA,eAAe,gCAAU;AACzB;AACA;;;;;;;;;AClBA;AACsC;AAC/B;AACP;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACO;AACP;AACA,eAAe,4BAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,+CAA+C,iBAAiB,EAAE;AAClE;AACA;AACA;;;;;;ACpBA;AACuD;AACJ;AACmB;AAC1B;AACV;AAClC,IAAI,qBAAU;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA,qCAAqC,wBAAM;AAC3C;AACA;AACA;AACA,YAAY,wBAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wBAAM;AACtB;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,yBAAyB,gCAAiB;AAC1C;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,kBAAkB,EAAE,kBAAkB,oBAAoB,EAAE,eAAe,uBAAuB,EAAE;AAC9I,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACqB;AACtB;AACA;AACA,sBAAsB,wBAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnHA;AAAA;AAAA;AAAA;AAAA;AACiC;AACU;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACsB;AACvB;AACA,IAAI,uDAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,8DAAU;AACZ;;;;;;;;;AC5Ca;AACb,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACjBA,4BAA4B,mBAAO,CAAC,MAAoC;AACxE,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;AACA,gDAAgD,kBAAkB,EAAE;;AAEpE;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,UAAU,mBAAO,CAAC,MAAkB;;AAEpC;;AAEA;AACA;AACA;;;;;;;;;ACPA;AAAA;AACO;AACP;AACA,2CAA2C,+BAA+B;AAC1E;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACTA;AAAA;AACO,iBAAiB;AACxB;;;;;;;;;;;;;ACFA;;AAEA;AACA;AACA,MAAM,IAAuC;AAC7C,2BAA2B,mBAAO,CAAC,MAA0B;AAC7D;;AAEA;AACA;AACA,wDAAwD,wBAAwB;AAChF;AACA;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;ACrBnB,0BAA0B,aAAa,0BAA0B,wBAAwB,oBAAoB,OAAO,WAAW,cAAc,0BAA0B,iBAAiB,cAAc,OAAO,qBAAqB,sBAAsB,gEAAgE,mBAAmB,QAAQ,mFAAmF,KAAK,wBAAwB,2BAA2B,YAAY,OAAO,qBAAqB,oBAAoB,uBAAuB,oCAAoC,oBAAoB,QAAQ,4CAA4C,eAAe,sBAAsB,kCAAkC,4CAA4C,yBAAyB,OAAO,eAAe,mDAAmD,yBAAyB,wDAAwD,mBAAmB,cAAc,qCAAqC,8BAA8B,oFAAoF,OAAO,4CAA4C,cAAc,0EAA0E,qCAAqC,iCAAiC,OAAO,aAAa,YAAY,gCAAgC,qBAAqB,YAAY,aAAa,wFAAwF,EAAE,gCAAgC,oFAAoF,4BAA4B,4EAA4E,OAAO,eAAe,eAAe,OAAO,oCAAoC,KAAK,yBAAyB,yBAAyB,kDAAkD,OAAO,eAAe,eAAe,OAAO,gCAAgC,KAAK,yBAAyB,8BAA8B,mDAAmD,OAAO,eAAe,eAAe,OAAO,uBAAuB,KAAK,yBAAyB,2BAA2B;AAChuE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC4DA;AACA;AACA;AACA,iDADA;AAEA;AAFA,GADA;AAKA;AACA;AACA;AADA,KADA;AAIA;AACA,mBADA;AAEA;AAFA,KAJA;AAQA;AACA,kBADA;AAEA;AAFA,KARA;AAYA;AACA,kBADA;AAEA;AAFA,KAZA;AAgBA;AACA,kBADA;AAEA;AAFA,KAhBA;AAoBA;AACA,kBADA;AAEA;AAFA,KApBA;AAwBA;AACA,kBADA;AAEA;AAFA;AAxBA,GALA;AAkCA,MAlCA,kBAkCA;AACA;AACA,gBADA;AAEA,mBAFA;AAGA;AAHA;AAKA,GAxCA;AAyCA,SAzCA,qBAyCA,CACA,CA1CA;AA2CA,WA3CA;AA6CA;AACA,eADA,yBACA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KAPA;AAQA,kBARA,4BAQA;AACA;AACA;AACA;AACA,KAZA;AAaA,eAbA,yBAaA;AACA;AACA,KAfA;AAgBA,aAhBA,uBAgBA;AACA,6CADA,CACA;;AACA,sCAFA,CAEA;;AACA;AACA;AACA;AArBA;AA7CA,G;;AC9D+U,CAAgB,0IAAG,EAAC,C;;;;;;;;ACAnP;AACvC;AACL;AACqC;;;AAGzG;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,wDAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2E;;;;;;;;;;;;;;;;;ACnBf;AAC2C;AACP;AAC7B,8BAA8B,gCAAU,CAAC,oBAAI;AAC7C;AACP;AACA;AACA;;;;;;;;;ACPA;AACiC;AACU;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,2BAAkB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,IAAI,2BAAkB;AACtB,IAAI,8BAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,gCAAU;AACZ;;;ACzDA;AACiC;AACc;AACJ;AACA;AACI;AACyB;AACxE,IAAI,2CAAqB;AACzB,IAAI,8BAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,oCAAY;AAC5D;AACA,+BAA+B,2CAAqB;AACpD;AACA;AACA,6BAA6B,oCAAY;AACzC;AACA;AACA;AACA;AACA;AACA,eAAe,QAAmB;AAClC;AACA;AACA,CAAC,CAAC,gCAAU;AACqB;AAC1B;AACP,2BAA2B,2CAAqB;AAChD;AACA,mBAAmB,cAAc;AACjC,oBAAoB,2BAA2B;AAC/C,mBAAmB,8BAA8B;AACjD,sBAAsB,8BAA8B;AACpD,qBAAqB,qCAAqC;AAC1D,sBAAsB,sDAAsD;AAC5E,qBAAqB,qCAAqC;AAC1D,kBAAkB,kCAAkC;AACpD,mBAAmB;AACnB;AACA,CAAC;AACD,IAAI,2CAAqB;AACzB,IAAI,8BAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,oCAAiB;AACnB,IAAI,sCAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,wCAAkB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,IAAI,wCAAkB;AACtB,IAAI,8BAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,gCAAU;AACZ;;;AC7IA;AACsF;AAC/E;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,+BAA+B;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAC4B;AAC7B;;;ACrCA;AACwC;AACF;AACD;AACrC;AACA,eAAe,0BAAO;AACtB;AACO;AACP,8BAA8B,QAAQ,QAAQ,GAAG,SAAS,+BAA+B;AACzF;AACA;;;ACV2E;AACpC;;AAEvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,0BAAO;AAC7B,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oCAAY;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oBAAoB,cAAc;AAC3C,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA,eAAe,8BAA8B;AAC7C;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,4BAA4B,EAAE;AACxD,6BAA6B,2BAA2B;AACxD;;AAEA;AACA,sBAAsB,uBAAuB;AAC7C;;AAEA;AACA;;AAEA;AACA;AACA,gDAAgD,+BAA+B,EAAE;AACjF;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,4BAA4B,8BAAS;AACrC,gDAAgD,+BAA+B,EAAE;AACjF;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,qCAAqC;AACrC,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,gCAAU;AAC3B;AACA;AACA;AACA,uBAAuB,yCAAyC;AAChE,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,eAAe,oCAAY;AAC3B;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB;;AAEA;AACA;AACA,iBAAiB,gCAAU;AAC3B;AACA,oBAAoB;AACpB,qDAAqD;AACrD;AACA;AACA,uCAAuC,SAAS;AAChD,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,eAAe,oCAAY;AAC3B;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,GAAG,iDAAiD,oCAAY;AAChE;AACA;;AAEA;AACA,SAAS;AACT,WAAW,cAAc;AACzB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA,iBAAiB,gCAAU;AAC3B;AACA,qCAAqC,uBAAuB,uBAAuB,EAAE;AACrF;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA,0CAA0C,0CAA0C,EAAE;AACtF;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,WAAW;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,gCAAU,eAAe,KAAK;AAC3C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEe,oDAAK,EAAC;;;ACxTrB;AACA;;AAEAA,qBAAmB,CAACC,OAApB,GAA8B,UAAUC,GAAV,EAAe;AAC5CA,KAAG,CAACC,GAAJ,CAAQC,UAAR;AACGF,KAAG,CAACG,SAAJ,CAAc,iBAAd,EAAiCL,qBAAjC;AACH,CAHD;;AAKeA,oEAAf,E;;ACRwB;AACA;AACT,yFAAG;AACI;;;;;;;;ACHtB,uC;;;;;;;ACAA;AACA,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;;;;;;;;ACNA;AAAA;AACO;AACP;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA,oBAAoB,mBAAO,CAAC,MAA4B;;AAExD;AACA;AACA;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAqB;;AAE1C","file":"v-image-clipper.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 0: return function () {\n      return fn.call(that);\n    };\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"clipper-range\"},[_c('div',{directives:[{name:\"stream\",rawName:\"v-stream:mousedown\",value:(_vm.mousedown$),expression:\"mousedown$\",arg:\"mousedown\"},{name:\"stream\",rawName:\"v-stream:touchstart\",value:(_vm.touchstart$),expression:\"touchstart$\",arg:\"touchstart\"}],staticClass:\"wrap\"},[_c('div',{staticClass:\"stick\"}),_c('div',{staticClass:\"bar\",style:(_vm.barStyle)})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <div class=\"clipper-range\">\r\n    <div\r\n      v-stream:mousedown=\"mousedown$\"\r\n      v-stream:touchstart=\"touchstart$\"\r\n      class=\"wrap\"\r\n    >\r\n      <div class=\"stick\" />\r\n      <div\r\n        class=\"bar\"\r\n        :style=\"barStyle\"\r\n      />\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { map, concatMap, takeUntil, startWith, merge } from 'rxjs/operators'\r\nimport { Subject, fromEvent } from 'rxjs'\r\nexport default {\r\n  domStreams: ['mousedown$', 'touchstart$'],\r\n  subscriptions () {\r\n    this.init$ = new Subject()\r\n    this.mouseup$ = fromEvent(window, 'mouseup')\r\n    this.mousemove$ = fromEvent(window, 'mousemove')\r\n    this.touchmove$ = fromEvent(window, 'touchmove', { passive: false })\r\n    this.touchend$ = fromEvent(window, 'touchend', { passive: false })\r\n    this.mouseEvent$ = this.mousedown$.pipe(\r\n      map(e => {\r\n        e.event.preventDefault()\r\n        return e.event\r\n      }),\r\n      concatMap(() =>\r\n        this.mousemove$.pipe(takeUntil(this.mouseup$), map(e => e.clientX))\r\n      ),\r\n      merge(this.mousedown$.pipe(map(e => e.event.clientX)))\r\n    )\r\n    this.touchEvent$ = this.touchstart$.pipe(\r\n      map(e => {\r\n        e.event.preventDefault()\r\n        return e.event\r\n      }),\r\n      concatMap(() =>\r\n        this.touchmove$.pipe(\r\n          takeUntil(this.touchend$),\r\n          map(e => e.touches[0].clientX)\r\n        )\r\n      ),\r\n      merge(this.touchstart$.pipe(map(e => e.event.touches[0].clientX)))\r\n    )\r\n    this.dragSubject$ = new Subject().pipe(\r\n      merge(this.mouseEvent$),\r\n      merge(this.touchEvent$),\r\n      map(this.getLeftPercent),\r\n      startWith(0),\r\n      merge(this.init$)\r\n    )\r\n    return {\r\n      x$: this.dragSubject$\r\n    }\r\n  },\r\n  props: {\r\n    value: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    max: {\r\n      type: Number,\r\n      default: 10\r\n    },\r\n    min: {\r\n      type: Number,\r\n      default: 0\r\n    }\r\n  },\r\n  computed: {\r\n    barStyle: function () {\r\n      return {\r\n        left: `${this.x$ * 100}%`\r\n      }\r\n    },\r\n    val: function () {\r\n      const range = this.max - this.min\r\n      const pos = this.getPos()\r\n      const stickPos = pos.stickPos\r\n      const maxLeft = pos.maxLeft\r\n      return this.x$ * stickPos.width / maxLeft * range + this.min\r\n    }\r\n  },\r\n  watch: {\r\n    value: function () {\r\n      this.initVal()\r\n    }\r\n  },\r\n  mounted () {\r\n    this.initVal()\r\n    this.$subscribeTo(this.dragSubject$, () => {\r\n      this.$emit('input', this.val)\r\n    })\r\n  },\r\n  methods: {\r\n    getPos: function () {\r\n      const stickPos = this.$el.querySelector('.stick').getBoundingClientRect()\r\n      const barPos = this.$el.querySelector('.bar').getBoundingClientRect()\r\n      return {\r\n        maxLeft: stickPos.width - barPos.width,\r\n        stickPos,\r\n        barPos\r\n      }\r\n    },\r\n    getLeftPercent: function (x) {\r\n      const stickPos = this.$el.querySelector('.stick').getBoundingClientRect()\r\n      const barPos = this.$el.querySelector('.bar').getBoundingClientRect()\r\n      const maxLeft = stickPos.width - barPos.width\r\n      const left = Math.max(Math.min(x - stickPos.left, maxLeft), 0)\r\n      return left / stickPos.width\r\n    },\r\n    initVal: function () {\r\n      const range = this.max - this.min\r\n      const percent = (this.value - this.min) / range\r\n      const pos = this.getPos()\r\n      this.init$.next(percent * pos.maxLeft / pos.stickPos.width)\r\n    }\r\n  }\r\n}\r\n</script>\r\n\r\n<style lang='scss' scoped>\r\n.clipper-range {\r\n  box-sizing: border-box;\r\n  padding: 10px;\r\n}\r\n.wrap {\r\n  position: relative;\r\n  height: 25px;\r\n  width: 100%;\r\n}\r\n.stick {\r\n  position: absolute;\r\n  width: 100%;\r\n  height: 2px;\r\n  background-color: gray;\r\n  top: 50%;\r\n  left: 0;\r\n  transform: translateY(-50%);\r\n}\r\n.bar {\r\n  position: absolute;\r\n  cursor: pointer;\r\n  width: 12px;\r\n  height: 100%;\r\n  background-color: white;\r\n  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);\r\n  top: 0;\r\n  left: 0;\r\n}\r\n</style>\r\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-range.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-range.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./clipper-range.vue?vue&type=template&id=2fd0acf9&scoped=true&\"\nimport script from \"./clipper-range.vue?vue&type=script&lang=js&\"\nexport * from \"./clipper-range.vue?vue&type=script&lang=js&\"\nimport style0 from \"./clipper-range.vue?vue&type=style&index=0&id=2fd0acf9&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2fd0acf9\",\n  null\n  \n)\n\nexport default component.exports","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return nativeGetOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport function hostReportError(err) {\n    setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n  var url = new URL('b?a=1&b=2&c=3', 'http://a');\n  var searchParams = url.searchParams;\n  var result = '';\n  url.pathname = 'c%20d';\n  searchParams.forEach(function (value, key) {\n    searchParams['delete']('b');\n    result += key + value;\n  });\n  return (IS_PURE && !url.toJSON)\n    || !searchParams.sort\n    || url.href !== 'http://a/c%20d?a=1&c=3'\n    || searchParams.get('c') !== '3'\n    || String(new URLSearchParams('?a=1')) !== 'a=1'\n    || !searchParams[ITERATOR]\n    // throws in Edge\n    || new URL('https://a@b').username !== 'a'\n    || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n    // not punycoded in Edge\n    || new URL('http://тест').host !== 'xn--e1aybc'\n    // not escaped in Chrome 62-\n    || new URL('http://a#б').hash !== '#%D0%B1'\n    // fails in Chrome 66-\n    || result !== 'a1c3'\n    // throws in Safari\n    || new URL('http://x', undefined).host !== 'x';\n});\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport function getSymbolIterator() {\n    if (typeof Symbol !== 'function' || !Symbol.iterator) {\n        return '@@iterator';\n    }\n    return Symbol.iterator;\n}\nexport var iterator = /*@__PURE__*/ getSymbolIterator();\nexport var $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(Subscriber, _super);\n    function Subscriber(destinationOrNext, error, complete) {\n        var _this = _super.call(this) || this;\n        _this.syncErrorValue = null;\n        _this.syncErrorThrown = false;\n        _this.syncErrorThrowable = false;\n        _this.isStopped = false;\n        switch (arguments.length) {\n            case 0:\n                _this.destination = emptyObserver;\n                break;\n            case 1:\n                if (!destinationOrNext) {\n                    _this.destination = emptyObserver;\n                    break;\n                }\n                if (typeof destinationOrNext === 'object') {\n                    if (destinationOrNext instanceof Subscriber) {\n                        _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n                        _this.destination = destinationOrNext;\n                        destinationOrNext.add(_this);\n                    }\n                    else {\n                        _this.syncErrorThrowable = true;\n                        _this.destination = new SafeSubscriber(_this, destinationOrNext);\n                    }\n                    break;\n                }\n            default:\n                _this.syncErrorThrowable = true;\n                _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n                break;\n        }\n        return _this;\n    }\n    Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n    Subscriber.create = function (next, error, complete) {\n        var subscriber = new Subscriber(next, error, complete);\n        subscriber.syncErrorThrowable = false;\n        return subscriber;\n    };\n    Subscriber.prototype.next = function (value) {\n        if (!this.isStopped) {\n            this._next(value);\n        }\n    };\n    Subscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            this.isStopped = true;\n            this._error(err);\n        }\n    };\n    Subscriber.prototype.complete = function () {\n        if (!this.isStopped) {\n            this.isStopped = true;\n            this._complete();\n        }\n    };\n    Subscriber.prototype.unsubscribe = function () {\n        if (this.closed) {\n            return;\n        }\n        this.isStopped = true;\n        _super.prototype.unsubscribe.call(this);\n    };\n    Subscriber.prototype._next = function (value) {\n        this.destination.next(value);\n    };\n    Subscriber.prototype._error = function (err) {\n        this.destination.error(err);\n        this.unsubscribe();\n    };\n    Subscriber.prototype._complete = function () {\n        this.destination.complete();\n        this.unsubscribe();\n    };\n    Subscriber.prototype._unsubscribeAndRecycle = function () {\n        var _parentOrParents = this._parentOrParents;\n        this._parentOrParents = null;\n        this.unsubscribe();\n        this.closed = false;\n        this.isStopped = false;\n        this._parentOrParents = _parentOrParents;\n        return this;\n    };\n    return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(SafeSubscriber, _super);\n    function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n        var _this = _super.call(this) || this;\n        _this._parentSubscriber = _parentSubscriber;\n        var next;\n        var context = _this;\n        if (isFunction(observerOrNext)) {\n            next = observerOrNext;\n        }\n        else if (observerOrNext) {\n            next = observerOrNext.next;\n            error = observerOrNext.error;\n            complete = observerOrNext.complete;\n            if (observerOrNext !== emptyObserver) {\n                context = Object.create(observerOrNext);\n                if (isFunction(context.unsubscribe)) {\n                    _this.add(context.unsubscribe.bind(context));\n                }\n                context.unsubscribe = _this.unsubscribe.bind(_this);\n            }\n        }\n        _this._context = context;\n        _this._next = next;\n        _this._error = error;\n        _this._complete = complete;\n        return _this;\n    }\n    SafeSubscriber.prototype.next = function (value) {\n        if (!this.isStopped && this._next) {\n            var _parentSubscriber = this._parentSubscriber;\n            if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n                this.__tryOrUnsub(this._next, value);\n            }\n            else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            var _parentSubscriber = this._parentSubscriber;\n            var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n            if (this._error) {\n                if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n                    this.__tryOrUnsub(this._error, err);\n                    this.unsubscribe();\n                }\n                else {\n                    this.__tryOrSetError(_parentSubscriber, this._error, err);\n                    this.unsubscribe();\n                }\n            }\n            else if (!_parentSubscriber.syncErrorThrowable) {\n                this.unsubscribe();\n                if (useDeprecatedSynchronousErrorHandling) {\n                    throw err;\n                }\n                hostReportError(err);\n            }\n            else {\n                if (useDeprecatedSynchronousErrorHandling) {\n                    _parentSubscriber.syncErrorValue = err;\n                    _parentSubscriber.syncErrorThrown = true;\n                }\n                else {\n                    hostReportError(err);\n                }\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.complete = function () {\n        var _this = this;\n        if (!this.isStopped) {\n            var _parentSubscriber = this._parentSubscriber;\n            if (this._complete) {\n                var wrappedComplete = function () { return _this._complete.call(_this._context); };\n                if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n                    this.__tryOrUnsub(wrappedComplete);\n                    this.unsubscribe();\n                }\n                else {\n                    this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n                    this.unsubscribe();\n                }\n            }\n            else {\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n        try {\n            fn.call(this._context, value);\n        }\n        catch (err) {\n            this.unsubscribe();\n            if (config.useDeprecatedSynchronousErrorHandling) {\n                throw err;\n            }\n            else {\n                hostReportError(err);\n            }\n        }\n    };\n    SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n        if (!config.useDeprecatedSynchronousErrorHandling) {\n            throw new Error('bad call');\n        }\n        try {\n            fn.call(this._context, value);\n        }\n        catch (err) {\n            if (config.useDeprecatedSynchronousErrorHandling) {\n                parent.syncErrorValue = err;\n                parent.syncErrorThrown = true;\n                return true;\n            }\n            else {\n                hostReportError(err);\n                return true;\n            }\n        }\n        return false;\n    };\n    SafeSubscriber.prototype._unsubscribe = function () {\n        var _parentSubscriber = this._parentSubscriber;\n        this._context = null;\n        this._parentSubscriber = null;\n        _parentSubscriber.unsubscribe();\n    };\n    return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","// extracted by mini-css-extract-plugin","/** PURE_IMPORTS_START _hostReportError PURE_IMPORTS_END */\nimport { hostReportError } from './hostReportError';\nexport var subscribeToPromise = function (promise) {\n    return function (subscriber) {\n        promise.then(function (value) {\n            if (!subscriber.closed) {\n                subscriber.next(value);\n                subscriber.complete();\n            }\n        }, function (err) { return subscriber.error(err); })\n            .then(null, hostReportError);\n        return subscriber;\n    };\n};\n//# sourceMappingURL=subscribeToPromise.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport var subscribeToIterable = function (iterable) {\n    return function (subscriber) {\n        var iterator = iterable[Symbol_iterator]();\n        do {\n            var item = void 0;\n            try {\n                item = iterator.next();\n            }\n            catch (err) {\n                subscriber.error(err);\n                return subscriber;\n            }\n            if (item.done) {\n                subscriber.complete();\n                break;\n            }\n            subscriber.next(item.value);\n            if (subscriber.closed) {\n                break;\n            }\n        } while (true);\n        if (typeof iterator.return === 'function') {\n            subscriber.add(function () {\n                if (iterator.return) {\n                    iterator.return();\n                }\n            });\n        }\n        return subscriber;\n    };\n};\n//# sourceMappingURL=subscribeToIterable.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeToObservable = function (obj) {\n    return function (subscriber) {\n        var obs = obj[Symbol_observable]();\n        if (typeof obs.subscribe !== 'function') {\n            throw new TypeError('Provided object does not correctly implement Symbol.observable');\n        }\n        else {\n            return obs.subscribe(subscriber);\n        }\n    };\n};\n//# sourceMappingURL=subscribeToObservable.js.map\n","/** PURE_IMPORTS_START _subscribeToArray,_subscribeToPromise,_subscribeToIterable,_subscribeToObservable,_isArrayLike,_isPromise,_isObject,_symbol_iterator,_symbol_observable PURE_IMPORTS_END */\nimport { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeTo = function (result) {\n    if (!!result && typeof result[Symbol_observable] === 'function') {\n        return subscribeToObservable(result);\n    }\n    else if (isArrayLike(result)) {\n        return subscribeToArray(result);\n    }\n    else if (isPromise(result)) {\n        return subscribeToPromise(result);\n    }\n    else if (!!result && typeof result[Symbol_iterator] === 'function') {\n        return subscribeToIterable(result);\n    }\n    else {\n        var value = isObject(result) ? 'an invalid object' : \"'\" + result + \"'\";\n        var msg = \"You provided \" + value + \" where a stream was expected.\"\n            + ' You can provide an Observable, Promise, Array, or Iterable.';\n        throw new TypeError(msg);\n    }\n};\n//# sourceMappingURL=subscribeTo.js.map\n","module.exports = function (it, Constructor, name) {\n  if (!(it instanceof Constructor)) {\n    throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n  } return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n  if (typeof it != 'function') {\n    throw TypeError(String(it) + ' is not a function');\n  } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var called = 0;\n  var iteratorWithReturn = {\n    next: function () {\n      return { done: !!called++ };\n    },\n    'return': function () {\n      SAFE_CLOSING = true;\n    }\n  };\n  iteratorWithReturn[ITERATOR] = function () {\n    return this;\n  };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n  if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n  var ITERATION_SUPPORT = false;\n  try {\n    var object = {};\n    object[ITERATOR] = function () {\n      return {\n        next: function () {\n          return { done: ITERATION_SUPPORT = true };\n        }\n      };\n    };\n    exec(object);\n  } catch (error) { /* empty */ }\n  return ITERATION_SUPPORT;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n  // We can't use this feature detection in V8 since it causes\n  // deoptimization and serious performance degradation\n  // https://github.com/zloirock/core-js/issues/677\n  return V8_VERSION >= 51 || !fails(function () {\n    var array = [];\n    var constructor = array.constructor = {};\n    constructor[SPECIES] = function () {\n      return { foo: 1 };\n    };\n    return array[METHOD_NAME](Boolean).foo !== 1;\n  });\n};\n","/** PURE_IMPORTS_START _Observable,_util_subscribeToArray,_scheduled_scheduleArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { subscribeToArray } from '../util/subscribeToArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function fromArray(input, scheduler) {\n    if (!scheduler) {\n        return new Observable(subscribeToArray(input));\n    }\n    else {\n        return scheduleArray(input, scheduler);\n    }\n}\n//# sourceMappingURL=fromArray.js.map\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n  var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n  var iterator, iterFn, index, length, result, next, step;\n\n  if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = toLength(iterable.length); length > index; index++) {\n        result = AS_ENTRIES\n          ? boundFunction(anObject(step = iterable[index])[0], step[1])\n          : boundFunction(iterable[index]);\n        if (result && result instanceof Result) return result;\n      } return new Result(false);\n    }\n    iterator = iterFn.call(iterable);\n  }\n\n  next = iterator.next;\n  while (!(step = next.call(iterator)).done) {\n    result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n    if (typeof result == 'object' && result && result instanceof Result) return result;\n  } return new Result(false);\n};\n\niterate.stop = function (result) {\n  return new Result(true, result);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toInteger(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n  options.target      - name of the target object\n  options.global      - target is the global object\n  options.stat        - export as static methods of target\n  options.proto       - export as prototype methods of target\n  options.real        - real prototype method for the `pure` version\n  options.forced      - export even if the native feature is available\n  options.bind        - bind methods to the target, required for the `pure` version\n  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe      - use the simple assignment of property instead of delete + defineProperty\n  options.sham        - add a flag to not completely full polyfills\n  options.enumerable  - export as enumerable property\n  options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n  if (GLOBAL) {\n    target = global;\n  } else if (STATIC) {\n    target = global[TARGET] || setGlobal(TARGET, {});\n  } else {\n    target = (global[TARGET] || {}).prototype;\n  }\n  if (target) for (key in source) {\n    sourceProperty = source[key];\n    if (options.noTargetGet) {\n      descriptor = getOwnPropertyDescriptor(target, key);\n      targetProperty = descriptor && descriptor.value;\n    } else targetProperty = target[key];\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contained in target\n    if (!FORCED && targetProperty !== undefined) {\n      if (typeof sourceProperty === typeof targetProperty) continue;\n      copyConstructorProperties(sourceProperty, targetProperty);\n    }\n    // add a flag to not completely full polyfills\n    if (options.sham || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(sourceProperty, 'sham', true);\n    }\n    // extend global\n    redefine(target, key, sourceProperty, options);\n  }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleArray(input, scheduler) {\n    return new Observable(function (subscriber) {\n        var sub = new Subscription();\n        var i = 0;\n        sub.add(scheduler.schedule(function () {\n            if (i === input.length) {\n                subscriber.complete();\n                return;\n            }\n            subscriber.next(input[i++]);\n            if (!subscriber.closed) {\n                sub.add(this.schedule());\n            }\n        }));\n        return sub;\n    });\n}\n//# sourceMappingURL=scheduleArray.js.map\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n  var defineProperty = definePropertyModule.f;\n\n  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n    defineProperty(Constructor, SPECIES, {\n      configurable: true,\n      get: function () { return this; }\n    });\n  }\n};\n","import mod from \"-!../../../mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-preview.vue?vue&type=style&index=0&id=50e0d35b&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-preview.vue?vue&type=style&index=0&id=50e0d35b&lang=scss&scoped=true&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n  scriptExports,\n  render,\n  staticRenderFns,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier, /* server only */\n  shadowMode /* vue-cli only */\n) {\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (render) {\n    options.render = render\n    options.staticRenderFns = staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = 'data-v-' + scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = shadowMode\n      ? function () {\n        injectStyles.call(\n          this,\n          (options.functional ? this.parent : this).$root.$options.shadowRoot\n        )\n      }\n      : injectStyles\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functional component in vue file\n      var originalRender = options.render\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return originalRender(h, context)\n      }\n    } else {\n      // inject component registration as beforeCreate hook\n      var existing = options.beforeCreate\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    }\n  }\n\n  return {\n    exports: scriptExports,\n    options: options\n  }\n}\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n  var result, codePoints, index;\n  if (input.charAt(0) == '[') {\n    if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n    result = parseIPv6(input.slice(1, -1));\n    if (!result) return INVALID_HOST;\n    url.host = result;\n  // opaque host\n  } else if (!isSpecial(url)) {\n    if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n    result = '';\n    codePoints = arrayFrom(input);\n    for (index = 0; index < codePoints.length; index++) {\n      result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n    }\n    url.host = result;\n  } else {\n    input = toASCII(input);\n    if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n    result = parseIPv4(input);\n    if (result === null) return INVALID_HOST;\n    url.host = result;\n  }\n};\n\nvar parseIPv4 = function (input) {\n  var parts = input.split('.');\n  var partsLength, numbers, index, part, radix, number, ipv4;\n  if (parts.length && parts[parts.length - 1] == '') {\n    parts.pop();\n  }\n  partsLength = parts.length;\n  if (partsLength > 4) return input;\n  numbers = [];\n  for (index = 0; index < partsLength; index++) {\n    part = parts[index];\n    if (part == '') return input;\n    radix = 10;\n    if (part.length > 1 && part.charAt(0) == '0') {\n      radix = HEX_START.test(part) ? 16 : 8;\n      part = part.slice(radix == 8 ? 1 : 2);\n    }\n    if (part === '') {\n      number = 0;\n    } else {\n      if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n      number = parseInt(part, radix);\n    }\n    numbers.push(number);\n  }\n  for (index = 0; index < partsLength; index++) {\n    number = numbers[index];\n    if (index == partsLength - 1) {\n      if (number >= pow(256, 5 - partsLength)) return null;\n    } else if (number > 255) return null;\n  }\n  ipv4 = numbers.pop();\n  for (index = 0; index < numbers.length; index++) {\n    ipv4 += numbers[index] * pow(256, 3 - index);\n  }\n  return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n  var address = [0, 0, 0, 0, 0, 0, 0, 0];\n  var pieceIndex = 0;\n  var compress = null;\n  var pointer = 0;\n  var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n  var char = function () {\n    return input.charAt(pointer);\n  };\n\n  if (char() == ':') {\n    if (input.charAt(1) != ':') return;\n    pointer += 2;\n    pieceIndex++;\n    compress = pieceIndex;\n  }\n  while (char()) {\n    if (pieceIndex == 8) return;\n    if (char() == ':') {\n      if (compress !== null) return;\n      pointer++;\n      pieceIndex++;\n      compress = pieceIndex;\n      continue;\n    }\n    value = length = 0;\n    while (length < 4 && HEX.test(char())) {\n      value = value * 16 + parseInt(char(), 16);\n      pointer++;\n      length++;\n    }\n    if (char() == '.') {\n      if (length == 0) return;\n      pointer -= length;\n      if (pieceIndex > 6) return;\n      numbersSeen = 0;\n      while (char()) {\n        ipv4Piece = null;\n        if (numbersSeen > 0) {\n          if (char() == '.' && numbersSeen < 4) pointer++;\n          else return;\n        }\n        if (!DIGIT.test(char())) return;\n        while (DIGIT.test(char())) {\n          number = parseInt(char(), 10);\n          if (ipv4Piece === null) ipv4Piece = number;\n          else if (ipv4Piece == 0) return;\n          else ipv4Piece = ipv4Piece * 10 + number;\n          if (ipv4Piece > 255) return;\n          pointer++;\n        }\n        address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n        numbersSeen++;\n        if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n      }\n      if (numbersSeen != 4) return;\n      break;\n    } else if (char() == ':') {\n      pointer++;\n      if (!char()) return;\n    } else if (char()) return;\n    address[pieceIndex++] = value;\n  }\n  if (compress !== null) {\n    swaps = pieceIndex - compress;\n    pieceIndex = 7;\n    while (pieceIndex != 0 && swaps > 0) {\n      swap = address[pieceIndex];\n      address[pieceIndex--] = address[compress + swaps - 1];\n      address[compress + --swaps] = swap;\n    }\n  } else if (pieceIndex != 8) return;\n  return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n  var maxIndex = null;\n  var maxLength = 1;\n  var currStart = null;\n  var currLength = 0;\n  var index = 0;\n  for (; index < 8; index++) {\n    if (ipv6[index] !== 0) {\n      if (currLength > maxLength) {\n        maxIndex = currStart;\n        maxLength = currLength;\n      }\n      currStart = null;\n      currLength = 0;\n    } else {\n      if (currStart === null) currStart = index;\n      ++currLength;\n    }\n  }\n  if (currLength > maxLength) {\n    maxIndex = currStart;\n    maxLength = currLength;\n  }\n  return maxIndex;\n};\n\nvar serializeHost = function (host) {\n  var result, index, compress, ignore0;\n  // ipv4\n  if (typeof host == 'number') {\n    result = [];\n    for (index = 0; index < 4; index++) {\n      result.unshift(host % 256);\n      host = floor(host / 256);\n    } return result.join('.');\n  // ipv6\n  } else if (typeof host == 'object') {\n    result = '';\n    compress = findLongestZeroSequence(host);\n    for (index = 0; index < 8; index++) {\n      if (ignore0 && host[index] === 0) continue;\n      if (ignore0) ignore0 = false;\n      if (compress === index) {\n        result += index ? ':' : '::';\n        ignore0 = true;\n      } else {\n        result += host[index].toString(16);\n        if (index < 7) result += ':';\n      }\n    }\n    return '[' + result + ']';\n  } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n  ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n  '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n  '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n  var code = codeAt(char, 0);\n  return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n  ftp: 21,\n  file: null,\n  http: 80,\n  https: 443,\n  ws: 80,\n  wss: 443\n};\n\nvar isSpecial = function (url) {\n  return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n  return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n  return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n  var second;\n  return string.length == 2 && ALPHA.test(string.charAt(0))\n    && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n  var third;\n  return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n    string.length == 2 ||\n    ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n  );\n};\n\nvar shortenURLsPath = function (url) {\n  var path = url.path;\n  var pathSize = path.length;\n  if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n    path.pop();\n  }\n};\n\nvar isSingleDot = function (segment) {\n  return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n  segment = segment.toLowerCase();\n  return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n  var state = stateOverride || SCHEME_START;\n  var pointer = 0;\n  var buffer = '';\n  var seenAt = false;\n  var seenBracket = false;\n  var seenPasswordToken = false;\n  var codePoints, char, bufferCodePoints, failure;\n\n  if (!stateOverride) {\n    url.scheme = '';\n    url.username = '';\n    url.password = '';\n    url.host = null;\n    url.port = null;\n    url.path = [];\n    url.query = null;\n    url.fragment = null;\n    url.cannotBeABaseURL = false;\n    input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n  }\n\n  input = input.replace(TAB_AND_NEW_LINE, '');\n\n  codePoints = arrayFrom(input);\n\n  while (pointer <= codePoints.length) {\n    char = codePoints[pointer];\n    switch (state) {\n      case SCHEME_START:\n        if (char && ALPHA.test(char)) {\n          buffer += char.toLowerCase();\n          state = SCHEME;\n        } else if (!stateOverride) {\n          state = NO_SCHEME;\n          continue;\n        } else return INVALID_SCHEME;\n        break;\n\n      case SCHEME:\n        if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n          buffer += char.toLowerCase();\n        } else if (char == ':') {\n          if (stateOverride && (\n            (isSpecial(url) != has(specialSchemes, buffer)) ||\n            (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n            (url.scheme == 'file' && !url.host)\n          )) return;\n          url.scheme = buffer;\n          if (stateOverride) {\n            if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n            return;\n          }\n          buffer = '';\n          if (url.scheme == 'file') {\n            state = FILE;\n          } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n            state = SPECIAL_RELATIVE_OR_AUTHORITY;\n          } else if (isSpecial(url)) {\n            state = SPECIAL_AUTHORITY_SLASHES;\n          } else if (codePoints[pointer + 1] == '/') {\n            state = PATH_OR_AUTHORITY;\n            pointer++;\n          } else {\n            url.cannotBeABaseURL = true;\n            url.path.push('');\n            state = CANNOT_BE_A_BASE_URL_PATH;\n          }\n        } else if (!stateOverride) {\n          buffer = '';\n          state = NO_SCHEME;\n          pointer = 0;\n          continue;\n        } else return INVALID_SCHEME;\n        break;\n\n      case NO_SCHEME:\n        if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n        if (base.cannotBeABaseURL && char == '#') {\n          url.scheme = base.scheme;\n          url.path = base.path.slice();\n          url.query = base.query;\n          url.fragment = '';\n          url.cannotBeABaseURL = true;\n          state = FRAGMENT;\n          break;\n        }\n        state = base.scheme == 'file' ? FILE : RELATIVE;\n        continue;\n\n      case SPECIAL_RELATIVE_OR_AUTHORITY:\n        if (char == '/' && codePoints[pointer + 1] == '/') {\n          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n          pointer++;\n        } else {\n          state = RELATIVE;\n          continue;\n        } break;\n\n      case PATH_OR_AUTHORITY:\n        if (char == '/') {\n          state = AUTHORITY;\n          break;\n        } else {\n          state = PATH;\n          continue;\n        }\n\n      case RELATIVE:\n        url.scheme = base.scheme;\n        if (char == EOF) {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.query = base.query;\n        } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n          state = RELATIVE_SLASH;\n        } else if (char == '?') {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.query = '';\n          state = QUERY;\n        } else if (char == '#') {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.query = base.query;\n          url.fragment = '';\n          state = FRAGMENT;\n        } else {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.path.pop();\n          state = PATH;\n          continue;\n        } break;\n\n      case RELATIVE_SLASH:\n        if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n        } else if (char == '/') {\n          state = AUTHORITY;\n        } else {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          state = PATH;\n          continue;\n        } break;\n\n      case SPECIAL_AUTHORITY_SLASHES:\n        state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n        if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n        pointer++;\n        break;\n\n      case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n        if (char != '/' && char != '\\\\') {\n          state = AUTHORITY;\n          continue;\n        } break;\n\n      case AUTHORITY:\n        if (char == '@') {\n          if (seenAt) buffer = '%40' + buffer;\n          seenAt = true;\n          bufferCodePoints = arrayFrom(buffer);\n          for (var i = 0; i < bufferCodePoints.length; i++) {\n            var codePoint = bufferCodePoints[i];\n            if (codePoint == ':' && !seenPasswordToken) {\n              seenPasswordToken = true;\n              continue;\n            }\n            var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n            if (seenPasswordToken) url.password += encodedCodePoints;\n            else url.username += encodedCodePoints;\n          }\n          buffer = '';\n        } else if (\n          char == EOF || char == '/' || char == '?' || char == '#' ||\n          (char == '\\\\' && isSpecial(url))\n        ) {\n          if (seenAt && buffer == '') return INVALID_AUTHORITY;\n          pointer -= arrayFrom(buffer).length + 1;\n          buffer = '';\n          state = HOST;\n        } else buffer += char;\n        break;\n\n      case HOST:\n      case HOSTNAME:\n        if (stateOverride && url.scheme == 'file') {\n          state = FILE_HOST;\n          continue;\n        } else if (char == ':' && !seenBracket) {\n          if (buffer == '') return INVALID_HOST;\n          failure = parseHost(url, buffer);\n          if (failure) return failure;\n          buffer = '';\n          state = PORT;\n          if (stateOverride == HOSTNAME) return;\n        } else if (\n          char == EOF || char == '/' || char == '?' || char == '#' ||\n          (char == '\\\\' && isSpecial(url))\n        ) {\n          if (isSpecial(url) && buffer == '') return INVALID_HOST;\n          if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n          failure = parseHost(url, buffer);\n          if (failure) return failure;\n          buffer = '';\n          state = PATH_START;\n          if (stateOverride) return;\n          continue;\n        } else {\n          if (char == '[') seenBracket = true;\n          else if (char == ']') seenBracket = false;\n          buffer += char;\n        } break;\n\n      case PORT:\n        if (DIGIT.test(char)) {\n          buffer += char;\n        } else if (\n          char == EOF || char == '/' || char == '?' || char == '#' ||\n          (char == '\\\\' && isSpecial(url)) ||\n          stateOverride\n        ) {\n          if (buffer != '') {\n            var port = parseInt(buffer, 10);\n            if (port > 0xFFFF) return INVALID_PORT;\n            url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n            buffer = '';\n          }\n          if (stateOverride) return;\n          state = PATH_START;\n          continue;\n        } else return INVALID_PORT;\n        break;\n\n      case FILE:\n        url.scheme = 'file';\n        if (char == '/' || char == '\\\\') state = FILE_SLASH;\n        else if (base && base.scheme == 'file') {\n          if (char == EOF) {\n            url.host = base.host;\n            url.path = base.path.slice();\n            url.query = base.query;\n          } else if (char == '?') {\n            url.host = base.host;\n            url.path = base.path.slice();\n            url.query = '';\n            state = QUERY;\n          } else if (char == '#') {\n            url.host = base.host;\n            url.path = base.path.slice();\n            url.query = base.query;\n            url.fragment = '';\n            state = FRAGMENT;\n          } else {\n            if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n              url.host = base.host;\n              url.path = base.path.slice();\n              shortenURLsPath(url);\n            }\n            state = PATH;\n            continue;\n          }\n        } else {\n          state = PATH;\n          continue;\n        } break;\n\n      case FILE_SLASH:\n        if (char == '/' || char == '\\\\') {\n          state = FILE_HOST;\n          break;\n        }\n        if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n          if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n          else url.host = base.host;\n        }\n        state = PATH;\n        continue;\n\n      case FILE_HOST:\n        if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n          if (!stateOverride && isWindowsDriveLetter(buffer)) {\n            state = PATH;\n          } else if (buffer == '') {\n            url.host = '';\n            if (stateOverride) return;\n            state = PATH_START;\n          } else {\n            failure = parseHost(url, buffer);\n            if (failure) return failure;\n            if (url.host == 'localhost') url.host = '';\n            if (stateOverride) return;\n            buffer = '';\n            state = PATH_START;\n          } continue;\n        } else buffer += char;\n        break;\n\n      case PATH_START:\n        if (isSpecial(url)) {\n          state = PATH;\n          if (char != '/' && char != '\\\\') continue;\n        } else if (!stateOverride && char == '?') {\n          url.query = '';\n          state = QUERY;\n        } else if (!stateOverride && char == '#') {\n          url.fragment = '';\n          state = FRAGMENT;\n        } else if (char != EOF) {\n          state = PATH;\n          if (char != '/') continue;\n        } break;\n\n      case PATH:\n        if (\n          char == EOF || char == '/' ||\n          (char == '\\\\' && isSpecial(url)) ||\n          (!stateOverride && (char == '?' || char == '#'))\n        ) {\n          if (isDoubleDot(buffer)) {\n            shortenURLsPath(url);\n            if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n              url.path.push('');\n            }\n          } else if (isSingleDot(buffer)) {\n            if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n              url.path.push('');\n            }\n          } else {\n            if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n              if (url.host) url.host = '';\n              buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n            }\n            url.path.push(buffer);\n          }\n          buffer = '';\n          if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n            while (url.path.length > 1 && url.path[0] === '') {\n              url.path.shift();\n            }\n          }\n          if (char == '?') {\n            url.query = '';\n            state = QUERY;\n          } else if (char == '#') {\n            url.fragment = '';\n            state = FRAGMENT;\n          }\n        } else {\n          buffer += percentEncode(char, pathPercentEncodeSet);\n        } break;\n\n      case CANNOT_BE_A_BASE_URL_PATH:\n        if (char == '?') {\n          url.query = '';\n          state = QUERY;\n        } else if (char == '#') {\n          url.fragment = '';\n          state = FRAGMENT;\n        } else if (char != EOF) {\n          url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n        } break;\n\n      case QUERY:\n        if (!stateOverride && char == '#') {\n          url.fragment = '';\n          state = FRAGMENT;\n        } else if (char != EOF) {\n          if (char == \"'\" && isSpecial(url)) url.query += '%27';\n          else if (char == '#') url.query += '%23';\n          else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n        } break;\n\n      case FRAGMENT:\n        if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n        break;\n    }\n\n    pointer++;\n  }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n  var that = anInstance(this, URLConstructor, 'URL');\n  var base = arguments.length > 1 ? arguments[1] : undefined;\n  var urlString = String(url);\n  var state = setInternalState(that, { type: 'URL' });\n  var baseState, failure;\n  if (base !== undefined) {\n    if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n    else {\n      failure = parseURL(baseState = {}, String(base));\n      if (failure) throw TypeError(failure);\n    }\n  }\n  failure = parseURL(state, urlString, null, baseState);\n  if (failure) throw TypeError(failure);\n  var searchParams = state.searchParams = new URLSearchParams();\n  var searchParamsState = getInternalSearchParamsState(searchParams);\n  searchParamsState.updateSearchParams(state.query);\n  searchParamsState.updateURL = function () {\n    state.query = String(searchParams) || null;\n  };\n  if (!DESCRIPTORS) {\n    that.href = serializeURL.call(that);\n    that.origin = getOrigin.call(that);\n    that.protocol = getProtocol.call(that);\n    that.username = getUsername.call(that);\n    that.password = getPassword.call(that);\n    that.host = getHost.call(that);\n    that.hostname = getHostname.call(that);\n    that.port = getPort.call(that);\n    that.pathname = getPathname.call(that);\n    that.search = getSearch.call(that);\n    that.searchParams = getSearchParams.call(that);\n    that.hash = getHash.call(that);\n  }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n  var url = getInternalURLState(this);\n  var scheme = url.scheme;\n  var username = url.username;\n  var password = url.password;\n  var host = url.host;\n  var port = url.port;\n  var path = url.path;\n  var query = url.query;\n  var fragment = url.fragment;\n  var output = scheme + ':';\n  if (host !== null) {\n    output += '//';\n    if (includesCredentials(url)) {\n      output += username + (password ? ':' + password : '') + '@';\n    }\n    output += serializeHost(host);\n    if (port !== null) output += ':' + port;\n  } else if (scheme == 'file') output += '//';\n  output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n  if (query !== null) output += '?' + query;\n  if (fragment !== null) output += '#' + fragment;\n  return output;\n};\n\nvar getOrigin = function () {\n  var url = getInternalURLState(this);\n  var scheme = url.scheme;\n  var port = url.port;\n  if (scheme == 'blob') try {\n    return new URL(scheme.path[0]).origin;\n  } catch (error) {\n    return 'null';\n  }\n  if (scheme == 'file' || !isSpecial(url)) return 'null';\n  return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n  return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n  return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n  return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n  var url = getInternalURLState(this);\n  var host = url.host;\n  var port = url.port;\n  return host === null ? ''\n    : port === null ? serializeHost(host)\n    : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n  var host = getInternalURLState(this).host;\n  return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n  var port = getInternalURLState(this).port;\n  return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n  var url = getInternalURLState(this);\n  var path = url.path;\n  return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n  var query = getInternalURLState(this).query;\n  return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n  return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n  var fragment = getInternalURLState(this).fragment;\n  return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n  return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n  defineProperties(URLPrototype, {\n    // `URL.prototype.href` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-href\n    href: accessorDescriptor(serializeURL, function (href) {\n      var url = getInternalURLState(this);\n      var urlString = String(href);\n      var failure = parseURL(url, urlString);\n      if (failure) throw TypeError(failure);\n      getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n    }),\n    // `URL.prototype.origin` getter\n    // https://url.spec.whatwg.org/#dom-url-origin\n    origin: accessorDescriptor(getOrigin),\n    // `URL.prototype.protocol` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-protocol\n    protocol: accessorDescriptor(getProtocol, function (protocol) {\n      var url = getInternalURLState(this);\n      parseURL(url, String(protocol) + ':', SCHEME_START);\n    }),\n    // `URL.prototype.username` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-username\n    username: accessorDescriptor(getUsername, function (username) {\n      var url = getInternalURLState(this);\n      var codePoints = arrayFrom(String(username));\n      if (cannotHaveUsernamePasswordPort(url)) return;\n      url.username = '';\n      for (var i = 0; i < codePoints.length; i++) {\n        url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n      }\n    }),\n    // `URL.prototype.password` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-password\n    password: accessorDescriptor(getPassword, function (password) {\n      var url = getInternalURLState(this);\n      var codePoints = arrayFrom(String(password));\n      if (cannotHaveUsernamePasswordPort(url)) return;\n      url.password = '';\n      for (var i = 0; i < codePoints.length; i++) {\n        url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n      }\n    }),\n    // `URL.prototype.host` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-host\n    host: accessorDescriptor(getHost, function (host) {\n      var url = getInternalURLState(this);\n      if (url.cannotBeABaseURL) return;\n      parseURL(url, String(host), HOST);\n    }),\n    // `URL.prototype.hostname` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-hostname\n    hostname: accessorDescriptor(getHostname, function (hostname) {\n      var url = getInternalURLState(this);\n      if (url.cannotBeABaseURL) return;\n      parseURL(url, String(hostname), HOSTNAME);\n    }),\n    // `URL.prototype.port` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-port\n    port: accessorDescriptor(getPort, function (port) {\n      var url = getInternalURLState(this);\n      if (cannotHaveUsernamePasswordPort(url)) return;\n      port = String(port);\n      if (port == '') url.port = null;\n      else parseURL(url, port, PORT);\n    }),\n    // `URL.prototype.pathname` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-pathname\n    pathname: accessorDescriptor(getPathname, function (pathname) {\n      var url = getInternalURLState(this);\n      if (url.cannotBeABaseURL) return;\n      url.path = [];\n      parseURL(url, pathname + '', PATH_START);\n    }),\n    // `URL.prototype.search` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-search\n    search: accessorDescriptor(getSearch, function (search) {\n      var url = getInternalURLState(this);\n      search = String(search);\n      if (search == '') {\n        url.query = null;\n      } else {\n        if ('?' == search.charAt(0)) search = search.slice(1);\n        url.query = '';\n        parseURL(url, search, QUERY);\n      }\n      getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n    }),\n    // `URL.prototype.searchParams` getter\n    // https://url.spec.whatwg.org/#dom-url-searchparams\n    searchParams: accessorDescriptor(getSearchParams),\n    // `URL.prototype.hash` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-hash\n    hash: accessorDescriptor(getHash, function (hash) {\n      var url = getInternalURLState(this);\n      hash = String(hash);\n      if (hash == '') {\n        url.fragment = null;\n        return;\n      }\n      if ('#' == hash.charAt(0)) hash = hash.slice(1);\n      url.fragment = '';\n      parseURL(url, hash, FRAGMENT);\n    })\n  });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n  return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n  return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n  var nativeCreateObjectURL = NativeURL.createObjectURL;\n  var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n  // `URL.createObjectURL` method\n  // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n  // eslint-disable-next-line no-unused-vars\n  if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n    return nativeCreateObjectURL.apply(NativeURL, arguments);\n  });\n  // `URL.revokeObjectURL` method\n  // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n  // eslint-disable-next-line no-unused-vars\n  if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n    return nativeRevokeObjectURL.apply(NativeURL, arguments);\n  });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n  URL: URLConstructor\n});\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nvar ObjectUnsubscribedErrorImpl = /*@__PURE__*/ (function () {\n    function ObjectUnsubscribedErrorImpl() {\n        Error.call(this);\n        this.message = 'object unsubscribed';\n        this.name = 'ObjectUnsubscribedError';\n        return this;\n    }\n    ObjectUnsubscribedErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n    return ObjectUnsubscribedErrorImpl;\n})();\nexport var ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from './Subscription';\nvar SubjectSubscription = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(SubjectSubscription, _super);\n    function SubjectSubscription(subject, subscriber) {\n        var _this = _super.call(this) || this;\n        _this.subject = subject;\n        _this.subscriber = subscriber;\n        _this.closed = false;\n        return _this;\n    }\n    SubjectSubscription.prototype.unsubscribe = function () {\n        if (this.closed) {\n            return;\n        }\n        this.closed = true;\n        var subject = this.subject;\n        var observers = subject.observers;\n        this.subject = null;\n        if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n            return;\n        }\n        var subscriberIndex = observers.indexOf(this.subscriber);\n        if (subscriberIndex !== -1) {\n            observers.splice(subscriberIndex, 1);\n        }\n    };\n    return SubjectSubscription;\n}(Subscription));\nexport { SubjectSubscription };\n//# sourceMappingURL=SubjectSubscription.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nvar SubjectSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(SubjectSubscriber, _super);\n    function SubjectSubscriber(destination) {\n        var _this = _super.call(this, destination) || this;\n        _this.destination = destination;\n        return _this;\n    }\n    return SubjectSubscriber;\n}(Subscriber));\nexport { SubjectSubscriber };\nvar Subject = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(Subject, _super);\n    function Subject() {\n        var _this = _super.call(this) || this;\n        _this.observers = [];\n        _this.closed = false;\n        _this.isStopped = false;\n        _this.hasError = false;\n        _this.thrownError = null;\n        return _this;\n    }\n    Subject.prototype[rxSubscriberSymbol] = function () {\n        return new SubjectSubscriber(this);\n    };\n    Subject.prototype.lift = function (operator) {\n        var subject = new AnonymousSubject(this, this);\n        subject.operator = operator;\n        return subject;\n    };\n    Subject.prototype.next = function (value) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        if (!this.isStopped) {\n            var observers = this.observers;\n            var len = observers.length;\n            var copy = observers.slice();\n            for (var i = 0; i < len; i++) {\n                copy[i].next(value);\n            }\n        }\n    };\n    Subject.prototype.error = function (err) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        this.hasError = true;\n        this.thrownError = err;\n        this.isStopped = true;\n        var observers = this.observers;\n        var len = observers.length;\n        var copy = observers.slice();\n        for (var i = 0; i < len; i++) {\n            copy[i].error(err);\n        }\n        this.observers.length = 0;\n    };\n    Subject.prototype.complete = function () {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        this.isStopped = true;\n        var observers = this.observers;\n        var len = observers.length;\n        var copy = observers.slice();\n        for (var i = 0; i < len; i++) {\n            copy[i].complete();\n        }\n        this.observers.length = 0;\n    };\n    Subject.prototype.unsubscribe = function () {\n        this.isStopped = true;\n        this.closed = true;\n        this.observers = null;\n    };\n    Subject.prototype._trySubscribe = function (subscriber) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        else {\n            return _super.prototype._trySubscribe.call(this, subscriber);\n        }\n    };\n    Subject.prototype._subscribe = function (subscriber) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        else if (this.hasError) {\n            subscriber.error(this.thrownError);\n            return Subscription.EMPTY;\n        }\n        else if (this.isStopped) {\n            subscriber.complete();\n            return Subscription.EMPTY;\n        }\n        else {\n            this.observers.push(subscriber);\n            return new SubjectSubscription(this, subscriber);\n        }\n    };\n    Subject.prototype.asObservable = function () {\n        var observable = new Observable();\n        observable.source = this;\n        return observable;\n    };\n    Subject.create = function (destination, source) {\n        return new AnonymousSubject(destination, source);\n    };\n    return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(AnonymousSubject, _super);\n    function AnonymousSubject(destination, source) {\n        var _this = _super.call(this) || this;\n        _this.destination = destination;\n        _this.source = source;\n        return _this;\n    }\n    AnonymousSubject.prototype.next = function (value) {\n        var destination = this.destination;\n        if (destination && destination.next) {\n            destination.next(value);\n        }\n    };\n    AnonymousSubject.prototype.error = function (err) {\n        var destination = this.destination;\n        if (destination && destination.error) {\n            this.destination.error(err);\n        }\n    };\n    AnonymousSubject.prototype.complete = function () {\n        var destination = this.destination;\n        if (destination && destination.complete) {\n            this.destination.complete();\n        }\n    };\n    AnonymousSubject.prototype._subscribe = function (subscriber) {\n        var source = this.source;\n        if (source) {\n            return this.source.subscribe(subscriber);\n        }\n        else {\n            return Subscription.EMPTY;\n        }\n    };\n    return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n  var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n  return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n  startsWith: function startsWith(searchString /* , position = 0 */) {\n    var that = String(requireObjectCoercible(this));\n    notARegExp(searchString);\n    var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n    var search = String(searchString);\n    return nativeStartsWith\n      ? nativeStartsWith.call(that, search, index)\n      : that.slice(index, index + search.length) === search;\n  }\n});\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\n\nvar runner = function (id) {\n  return function () {\n    run(id);\n  };\n};\n\nvar listener = function (event) {\n  run(event.data);\n};\n\nvar post = function (id) {\n  // old engines have not location.origin\n  global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n  set = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clear = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (classof(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(runner(id));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(runner(id));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  // except iOS - https://github.com/zloirock/core-js/issues/624\n  } else if (MessageChannel && !IS_IOS) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = bind(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (\n    global.addEventListener &&\n    typeof postMessage == 'function' &&\n    !global.importScripts &&\n    !fails(post) &&\n    location.protocol !== 'file:'\n  ) {\n    defer = post;\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in createElement('script')) {\n    defer = function (id) {\n      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(runner(id), 0);\n    };\n  }\n}\n\nmodule.exports = {\n  set: set,\n  clear: clear\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  version = match[0] + match[1];\n} else if (userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = match[1];\n  }\n}\n\nmodule.exports = version && +version;\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n    return typeof Symbol === 'function'\n        ? /*@__PURE__*/ Symbol('rxSubscriber')\n        : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","import mod from \"-!../../../mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-basic.vue?vue&type=style&index=0&id=322309c2&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-basic.vue?vue&type=style&index=0&id=322309c2&lang=scss&scoped=true&\"","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport function isObject(x) {\n    return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = objectKeys(Properties);\n  var length = keys.length;\n  var index = 0;\n  var key;\n  while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n  return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n  if (!isObject(it) && it !== null) {\n    throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n  } return it;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n  setInternalState(this, {\n    type: STRING_ITERATOR,\n    string: String(iterated),\n    index: 0\n  });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n  var state = getInternalState(this);\n  var string = state.string;\n  var index = state.index;\n  var point;\n  if (index >= string.length) return { value: undefined, done: true };\n  point = charAt(string, index);\n  state.index += point.length;\n  return { value: point, done: false };\n});\n","/** PURE_IMPORTS_START _mergeMap PURE_IMPORTS_END */\nimport { mergeMap } from './mergeMap';\nexport function concatMap(project, resultSelector) {\n    return mergeMap(project, resultSelector, 1);\n}\n//# sourceMappingURL=concatMap.js.map\n","// extracted by mini-css-extract-plugin","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins\n  return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n  definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n    configurable: true,\n    value: create(null)\n  });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n  ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n  var console = global.console;\n  if (console && console.error) {\n    arguments.length === 1 ? console.error(a) : console.error(a, b);\n  }\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  // Chrome 38 Symbol has incorrect toString conversion\n  // eslint-disable-next-line no-undef\n  return !String(Symbol());\n});\n","import mod from \"-!../../../mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-fixed.vue?vue&type=style&index=0&id=3e3030c1&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-fixed.vue?vue&type=style&index=0&id=3e3030c1&lang=scss&scoped=true&\"","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n","/** PURE_IMPORTS_START _observable_merge PURE_IMPORTS_END */\nimport { merge as mergeStatic } from '../observable/merge';\nexport function merge() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i] = arguments[_i];\n    }\n    return function (source) { return source.lift.call(mergeStatic.apply(void 0, [source].concat(observables))); };\n}\n//# sourceMappingURL=merge.js.map\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n  var O = toObject(arrayLike);\n  var C = typeof this == 'function' ? this : Array;\n  var argumentsLength = arguments.length;\n  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n  var mapping = mapfn !== undefined;\n  var iteratorMethod = getIteratorMethod(O);\n  var index = 0;\n  var length, result, step, iterator, next, value;\n  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n  // if the target is not iterable or it's an array with the default iterator - use a simple case\n  if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n    iterator = iteratorMethod.call(O);\n    next = iterator.next;\n    result = new C();\n    for (;!(step = next.call(iterator)).done; index++) {\n      value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n      createProperty(result, index, value);\n    }\n  } else {\n    length = toLength(O.length);\n    result = new C(length);\n    for (;length > index; index++) {\n      value = mapping ? mapfn(O[index], index) : O[index];\n      createProperty(result, index, value);\n    }\n  }\n  result.length = index;\n  return result;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function filter(predicate, thisArg) {\n    return function filterOperatorFunction(source) {\n        return source.lift(new FilterOperator(predicate, thisArg));\n    };\n}\nvar FilterOperator = /*@__PURE__*/ (function () {\n    function FilterOperator(predicate, thisArg) {\n        this.predicate = predicate;\n        this.thisArg = thisArg;\n    }\n    FilterOperator.prototype.call = function (subscriber, source) {\n        return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n    };\n    return FilterOperator;\n}());\nvar FilterSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(FilterSubscriber, _super);\n    function FilterSubscriber(destination, predicate, thisArg) {\n        var _this = _super.call(this, destination) || this;\n        _this.predicate = predicate;\n        _this.thisArg = thisArg;\n        _this.count = 0;\n        return _this;\n    }\n    FilterSubscriber.prototype._next = function (value) {\n        var result;\n        try {\n            result = this.predicate.call(this.thisArg, value, this.count++);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        if (result) {\n            this.destination.next(value);\n        }\n    };\n    return FilterSubscriber;\n}(Subscriber));\n//# sourceMappingURL=filter.js.map\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: '3.6.5',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","import clipperPreview from './components/clipper-preview.vue'\r\nimport clipperRange from './components/clipper-range.vue'\r\nimport clipperBasic from './components/clipper-basic.vue'\r\nimport clipperFixed from './components/clipper-fixed.vue'\r\nimport clipperUpload from './components/clipper-upload.vue'\r\n\r\nimport np from './namespace'\r\n\r\nconst install = function (Vue, options) {\r\n  const components = {\r\n    clipperBasic: {\r\n      component: clipperBasic,\r\n      name: 'clipper-basic'\r\n    },\r\n    clipperPreview: {\r\n      component: clipperPreview,\r\n      name: 'clipper-preview'\r\n    },\r\n    clipperRange: {\r\n      component: clipperRange,\r\n      name: 'clipper-range'\r\n    },\r\n    clipperFixed: {\r\n      component: clipperFixed,\r\n      name: 'clipper-fixed'\r\n    },\r\n    clipperUpload: {\r\n      component: clipperUpload,\r\n      name: 'clipper-upload'\r\n    }\r\n  }\r\n  const registerComponent = (name) => {\r\n    Vue.component(components[name].name, components[name].component)\r\n  }\r\n\r\n  options = options || {}\r\n  np.parentPropName = options.parentPropName || np.parentPropName\r\n  options.components = (options.components === undefined) ? components : options.components// if no components property, register all component\r\n  for (let k in options.components) {\r\n    if (!components[k]) throw new Error(`Invalid components \"${k}\" in vurjs-clipper plugin`)\r\n    components[k].name = (typeof options.components[k] === 'string') ? options.components[k] : components[k].name\r\n    registerComponent(k)\r\n  }\r\n}\r\n\r\nconst plugin = {\r\n  install\r\n}\r\n\r\nexport default plugin\r\n\r\n// script include auto plugin\r\nlet GlobalVue = null\r\nif (typeof window !== 'undefined') {\r\n  GlobalVue = window.Vue\r\n} else if (typeof global !== 'undefined') {\r\n  GlobalVue = global.Vue\r\n}\r\nif (GlobalVue) {\r\n  GlobalVue.use(plugin)\r\n}\r\n\r\nexport { clipperBasic, clipperFixed, clipperPreview, clipperRange, clipperUpload }\r\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n  var keys = getOwnPropertyNamesModule.f(anObject(it));\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n  return function ($this) {\n    var string = String(requireObjectCoercible($this));\n    if (TYPE & 1) string = string.replace(ltrim, '');\n    if (TYPE & 2) string = string.replace(rtrim, '');\n    return string;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.{ trimLeft, trimStart }` methods\n  // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n  start: createMethod(1),\n  // `String.prototype.{ trimRight, trimEnd }` methods\n  // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n  end: createMethod(2),\n  // `String.prototype.trim` method\n  // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n  trim: createMethod(3)\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n  if (isRegExp(it)) {\n    throw TypeError(\"The method doesn't accept regular expressions\");\n  } return it;\n};\n","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n  var output = [];\n  var counter = 0;\n  var length = string.length;\n  while (counter < length) {\n    var value = string.charCodeAt(counter++);\n    if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n      // It's a high surrogate, and there is a next character.\n      var extra = string.charCodeAt(counter++);\n      if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n        output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n      } else {\n        // It's an unmatched surrogate; only append this code unit, in case the\n        // next code unit is the high surrogate of a surrogate pair.\n        output.push(value);\n        counter--;\n      }\n    } else {\n      output.push(value);\n    }\n  }\n  return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n  //  0..25 map to ASCII a..z or A..Z\n  // 26..35 map to ASCII 0..9\n  return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n  var k = 0;\n  delta = firstTime ? floor(delta / damp) : delta >> 1;\n  delta += floor(delta / numPoints);\n  for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n    delta = floor(delta / baseMinusTMin);\n  }\n  return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line  max-statements\nvar encode = function (input) {\n  var output = [];\n\n  // Convert the input in UCS-2 to an array of Unicode code points.\n  input = ucs2decode(input);\n\n  // Cache the length.\n  var inputLength = input.length;\n\n  // Initialize the state.\n  var n = initialN;\n  var delta = 0;\n  var bias = initialBias;\n  var i, currentValue;\n\n  // Handle the basic code points.\n  for (i = 0; i < input.length; i++) {\n    currentValue = input[i];\n    if (currentValue < 0x80) {\n      output.push(stringFromCharCode(currentValue));\n    }\n  }\n\n  var basicLength = output.length; // number of basic code points.\n  var handledCPCount = basicLength; // number of code points that have been handled;\n\n  // Finish the basic string with a delimiter unless it's empty.\n  if (basicLength) {\n    output.push(delimiter);\n  }\n\n  // Main encoding loop:\n  while (handledCPCount < inputLength) {\n    // All non-basic code points < n have been handled already. Find the next larger one:\n    var m = maxInt;\n    for (i = 0; i < input.length; i++) {\n      currentValue = input[i];\n      if (currentValue >= n && currentValue < m) {\n        m = currentValue;\n      }\n    }\n\n    // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n    var handledCPCountPlusOne = handledCPCount + 1;\n    if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n      throw RangeError(OVERFLOW_ERROR);\n    }\n\n    delta += (m - n) * handledCPCountPlusOne;\n    n = m;\n\n    for (i = 0; i < input.length; i++) {\n      currentValue = input[i];\n      if (currentValue < n && ++delta > maxInt) {\n        throw RangeError(OVERFLOW_ERROR);\n      }\n      if (currentValue == n) {\n        // Represent delta as a generalized variable-length integer.\n        var q = delta;\n        for (var k = base; /* no condition */; k += base) {\n          var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n          if (q < t) break;\n          var qMinusT = q - t;\n          var baseMinusT = base - t;\n          output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n          q = floor(qMinusT / baseMinusT);\n        }\n\n        output.push(stringFromCharCode(digitToBasic(q)));\n        bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n        delta = 0;\n        ++handledCPCount;\n      }\n    }\n\n    ++delta;\n    ++n;\n  }\n  return output.join('');\n};\n\nmodule.exports = function (input) {\n  var encoded = [];\n  var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n  var i, label;\n  for (i = 0; i < labels.length; i++) {\n    label = labels[i];\n    encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n  }\n  return encoded.join('.');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n  // should have correct order of operations (Edge bug)\n  if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n    enumerable: true,\n    get: function () {\n      defineProperty(this, 'b', {\n        value: 3,\n        enumerable: false\n      });\n    }\n  }), { b: 2 })).b !== 1) return true;\n  // should work with symbols and should have deterministic property order (V8 bug)\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var symbol = Symbol();\n  var alphabet = 'abcdefghijklmnopqrst';\n  A[symbol] = 7;\n  alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n  return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var argumentsLength = arguments.length;\n  var index = 1;\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  var propertyIsEnumerable = propertyIsEnumerableModule.f;\n  while (argumentsLength > index) {\n    var S = IndexedObject(arguments[index++]);\n    var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : nativeAssign;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"js-clipper-basic\"},[_c('div',{staticClass:\"vuejs-clipper-basic__clip-area js-clip-area\",class:{ vertical: _vm.isVertical },style:(_vm.areaStyle)},[_c('canvas',{staticClass:\"vuejs-clipper-basic__stem-canvas\",attrs:{\"width\":_vm.stemArea.width,\"height\":_vm.stemArea.height}}),_c('div',{staticClass:\"vuejs-clipper-basic__padding\",style:({'padding': _vm.areaStyle.padding})},[_c('div',{staticClass:\"vuejs-clipper-basic__in-pad\"},[_c('div',{staticClass:\"vuejs-clipper-basic__img-scale js-img-scale\",style:(_vm.scaleStyle)},[_c('img',{staticClass:\"vuejs-clipper-basic__img js-img\",style:(_vm.rotateStyle),attrs:{\"src\":_vm.src,\"crossorigin\":_vm.crossOrigin},on:{\"load\":function($event){_vm.imgLoaded();_vm.emit('load',$event)},\"error\":function($event){return _vm.emit('error',$event)}}})])])]),_c('div',{staticClass:\"vuejs-clipper-basic__zoom-area js-zoom-area\",style:(_vm.posObj)},[_c('div',{staticClass:\"vuejs-clipper-basic__extend vuejs-clipper-basic__extend--outer\",style:(_vm.exOuterStyle)}),_c('div',{staticClass:\"vuejs-clipper-basic__extend vuejs-clipper-basic__extend--inner\",style:(_vm.exInnerStyle)},[_c('div',{staticClass:\"vuejs-clipper-basic__drag-inset js-drag-inset\"})]),(_vm.corner)?_c('div',_vm._l((4),function(index){return _c('div',{key:'corner'+index,staticClass:\"vuejs-clipper-basic__corner\",class:(\"vuejs-clipper-basic__corner\" + index)})}),0):_vm._e(),(_vm.grid)?_c('div',{staticClass:\"vuejs-clipper-basic__grid\"},_vm._l((4),function(index){return _c('div',{key:'gridItem'+index,staticClass:\"vuejs-clipper-basic__grid-item\"})}),0):_vm._e(),_vm._t(\"vuejs-clipper-basic__area\")],2)]),_c('div',{staticClass:\"vuejs-clipper-basic__placeholder\",style:(_vm.eptStyle)},[_vm._t(\"placeholder\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <div class=\"js-clipper-basic\">\r\n    <div\r\n      class=\"vuejs-clipper-basic__clip-area js-clip-area\"\r\n      :class=\"{ vertical: isVertical }\"\r\n      :style=\"areaStyle\"\r\n    >\r\n      <canvas\r\n        class=\"vuejs-clipper-basic__stem-canvas\"\r\n        :width=\"stemArea.width\"\r\n        :height=\"stemArea.height\"\r\n      />\r\n      <div\r\n        class=\"vuejs-clipper-basic__padding\"\r\n        :style=\"{'padding': areaStyle.padding}\"\r\n      >\r\n        <div class=\"vuejs-clipper-basic__in-pad\">\r\n          <div\r\n            class=\"vuejs-clipper-basic__img-scale js-img-scale\"\r\n            :style=\"scaleStyle\"\r\n          >\r\n            <img\r\n              :src=\"src\"\r\n              class=\"vuejs-clipper-basic__img js-img\"\r\n              :style=\"rotateStyle\"\r\n              :crossorigin=\"crossOrigin\"\r\n              @load=\"imgLoaded();emit('load',$event)\"\r\n              @error=\"emit('error',$event)\"\r\n            >\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div\r\n        class=\"vuejs-clipper-basic__zoom-area js-zoom-area\"\r\n        :style=\"posObj\"\r\n      >\r\n        <div\r\n          class=\"vuejs-clipper-basic__extend vuejs-clipper-basic__extend--outer\"\r\n          :style=\"exOuterStyle\"\r\n        />\r\n        <div\r\n          class=\"vuejs-clipper-basic__extend vuejs-clipper-basic__extend--inner\"\r\n          :style=\"exInnerStyle\"\r\n        >\r\n          <div class=\"vuejs-clipper-basic__drag-inset js-drag-inset\" />\r\n        </div>\r\n        <div v-if=\"corner\">\r\n          <div\r\n            v-for=\"index in 4\"\r\n            :key=\"'corner'+index\"\r\n            class=\"vuejs-clipper-basic__corner\"\r\n            :class=\"`vuejs-clipper-basic__corner${index}`\"\r\n          />\r\n        </div>\r\n        <div\r\n          v-if=\"grid\"\r\n          class=\"vuejs-clipper-basic__grid\"\r\n        >\r\n          <div\r\n            v-for=\"index in 4\"\r\n            :key=\"'gridItem'+index\"\r\n            class=\"vuejs-clipper-basic__grid-item\"\r\n          />\r\n        </div>\r\n        <slot name=\"vuejs-clipper-basic__area\" />\r\n      </div>\r\n    </div>\r\n    <div\r\n      class=\"vuejs-clipper-basic__placeholder\"\r\n      :style=\"eptStyle\"\r\n    >\r\n      <slot name=\"placeholder\" />\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport { basicMethods, rxEventListeners, pluginMethods } from './extends/clippo'\r\nimport { Subject } from 'rxjs'\r\nimport {\r\n  map,\r\n  tap,\r\n  filter,\r\n  takeUntil,\r\n  concatMap,\r\n  startWith,\r\n  merge\r\n} from 'rxjs/operators'\r\nexport default {\r\n  extends: {\r\n    methods: basicMethods,\r\n    mixins: [ rxEventListeners, pluginMethods ]// mousedown$,mousemove$...\r\n  },\r\n  subscriptions () {\r\n    this.change$ = new Subject()\r\n    // set value\r\n    this.setWH$ = new Subject()\r\n    this.setTL$ = new Subject()\r\n    this.initWHTL$ = new Subject().pipe(map(this.initWHTL))\r\n    // interupter\r\n    this.stop$ = new Subject()\r\n    /* events */\r\n    this.mousedownDrag$ = new Subject().pipe(// moving left, top\r\n      merge(this.mousedown$),\r\n      filter(this.isDragElement),\r\n      tap(this.prevent), // deal with down, we want to calc down just for once.\r\n      map(e => this.eInZoom(e)), // 點擊時zoom的position,rect\r\n      concatMap(// 將down (zoom rect), move交給後續\r\n        () => this.mousemove$.pipe(takeUntil(this.mouseup$)),\r\n        (down, move) => {\r\n          return { down, move }\r\n        }\r\n      )\r\n    )\r\n    this.touchdownDrag$ = this.touchstart$.pipe(\r\n      filter(this.isDragElement),\r\n      filter(e => e.touches.length === 1), // 單指\r\n      tap(this.prevent), // deal with down, we want to calc down just for once.\r\n      map(e => this.eInZoom(e.touches[0])),\r\n      concatMap(\r\n        () =>\r\n          this.touchmove$.pipe(\r\n            takeUntil(this.touchend$),\r\n            filter(e => e.touches.length === 1), // 單指\r\n            map(e => e.touches[0])\r\n          ),\r\n        (down, move) => {\r\n          return { down, move }\r\n        }\r\n      )\r\n    )\r\n    this.mousedownZoom$ = new Subject().pipe(\r\n      merge(this.mousedown$),\r\n      filter(this.isZoomElement),\r\n      tap(this.prevent),\r\n      map(this.setDownPosition),\r\n      concatMap(\r\n        () => this.mousemove$.pipe(takeUntil(this.mouseup$)),\r\n        (down, move) => {\r\n          return { down, move }\r\n        }\r\n      )\r\n    )\r\n    this.touchdownZoom$ = this.touchstart$.pipe(\r\n      filter(this.isZoomElement),\r\n      filter(e => e.touches.length === 1),\r\n      tap(this.prevent),\r\n      map(this.setDownPosition),\r\n      concatMap(\r\n        () =>\r\n          this.touchmove$.pipe(\r\n            takeUntil(this.touchend$),\r\n            filter(e => e.touches.length === 1),\r\n            map(e => e.touches[0])\r\n          ),\r\n        (down, move) => {\r\n          return { down, move }\r\n        }\r\n      )\r\n    )\r\n    this.touchTwoFingersZoom$ = this.touchstart$.pipe(\r\n      filter(e => {\r\n        return e.touches.length === 2\r\n      }),\r\n      filter(this.isTwoPointZoomElement),\r\n      tap(this.prevent),\r\n      map(() => {\r\n        this.stop$.next(0) // stop drag create event\r\n        const freezeZoom = this.zoomPos() // get zoom position at down\r\n        return { event, zoom: freezeZoom }\r\n      }),\r\n      concatMap(\r\n        () =>\r\n          this.touchmove$.pipe(\r\n            filter(e => e.touches.length === 2),\r\n            tap(this.prevent),\r\n            takeUntil(this.touchend$)\r\n          ),\r\n        (down, move) => {\r\n          return this.getTwoTouchesPos(down.event, move, down.zoom)\r\n        }\r\n      )\r\n    )\r\n    this.mousedownCreate$ = this.mousedown$.pipe(\r\n      filter(this.isCreateElement),\r\n      tap(this.prevent),\r\n      map(this.getFakeDown),\r\n      concatMap(\r\n        () => this.mousemove$.pipe(takeUntil(this.mouseup$)),\r\n        (down, move) => {\r\n          return { down, move }\r\n        }\r\n      )\r\n    )\r\n    this.touchstartCreate$ = this.touchstart$.pipe(\r\n      filter(this.isCreateElement),\r\n      tap(this.prevent),\r\n      map(e => e.touches[0]),\r\n      map(this.getFakeDown),\r\n      concatMap(\r\n        () =>\r\n          this.touchmove$.pipe(\r\n            takeUntil(this.touchend$),\r\n            takeUntil(this.stop$), // 兩指事件觸發時停止\r\n            filter(e => e.touches.length === 1), // 單指\r\n            filter(() => this.touchCreate)\r\n          ),\r\n        (down, move) => {\r\n          // down is fake\r\n          return { down, move: move.touches[0] }\r\n        }\r\n      )\r\n    )\r\n    /** *************MAIN SUBJECT (1)************\r\n     position: left, top, right, bottom (2 of 4) */\r\n    this.dragSubject$ = new Subject().pipe(\r\n      merge(this.mousedownDrag$),\r\n      merge(this.touchdownDrag$),\r\n      map(this.dragMoving) /* @down: eInZoom. @move: mouse/touch move event */,\r\n      map(this.repositionDrag), // validate & reposition @down\r\n      merge(this.setTL$), // this must be validate pos!!!! (in range)\r\n      startWith({ left: 0, top: 0 }) // vm view not init yet (this.zoomEl===null). To prevent \"cannot read 'left' of undefined\"\r\n    )\r\n    /** *************MAIN SUBJECT (3)************\r\n    Subject 3, 起始event不同,處理後傳給zoomSubject$\r\n    */\r\n    this.dragCreateSubject$ = this.mousedownCreate$\r\n      .pipe(\r\n        merge(this.touchstartCreate$),\r\n        map(({ down, move }) => {\r\n          return { down, move }\r\n        })\r\n      )\r\n    /** *************MAIN SUBJECT (2)************\r\n     width, height */\r\n    this.zoomSubject$ = new Subject().pipe(\r\n      merge(this.mousedownZoom$), // mouse event\r\n      merge(this.touchdownZoom$), // touch event 1 finger\r\n      merge(this.dragCreateSubject$), // dragCreateSubject$\r\n      map(this.reverseDownPos), // mode 'switch'\r\n      map(this.zoomingPosition), // 用創造的zoom rect去計算拖拉後的位置\r\n      merge(this.touchTwoFingersZoom$), /* touch event 2 fingers(兩指縮放)*  和上面事件分開,算法不同 */\r\n      // { down, move } => { width, height, maxWidth, maxHeight, left, top, right, bottom }\r\n      map(this.setRatioWH),\r\n      map(this.toPercentage),\r\n      map(this.splitPos),\r\n      map(split => {\r\n        const position = split.tl\r\n        const size = split.wh\r\n        this.setTL$.next(position)\r\n        return size\r\n      }),\r\n      startWith({ width: 0, height: 0 }),\r\n      merge(this.initWHTL$),\r\n      merge(this.setWH$)\r\n    )\r\n    this.onChange$ = new Subject().pipe(\r\n      merge(this.dragSubject$),\r\n      merge(this.change$)\r\n    )\r\n    return {\r\n      // subscriptions\r\n      zoomTL$: this.dragSubject$,\r\n      zoomWH$: this.zoomSubject$\r\n    }\r\n  },\r\n  props: {\r\n    preview: {\r\n      type: String,\r\n      default: ''\r\n    },\r\n    src: {\r\n      type: String,\r\n      default: ''\r\n    },\r\n    border: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    outline: {\r\n      type: Number,\r\n      default: 6\r\n    },\r\n    corner: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    grid: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    mode: {\r\n      type: String,\r\n      default: 'normal'\r\n    },\r\n    ratio: {\r\n      type: Number,\r\n      default: NaN\r\n    },\r\n    wrapRatio: {\r\n      type: Number,\r\n      default: NaN\r\n    },\r\n    touchCreate: {\r\n      // enable/disable create new zoom area in touch device;\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    rotate: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    bgColor: {\r\n      type: String,\r\n      default: 'white'\r\n    },\r\n    shadow: {\r\n      type: String,\r\n      default: 'rgba(0, 0, 0, 0.4)'\r\n    },\r\n    scale: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    minWidth: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    minHeight: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    initWidth: {\r\n      type: Number,\r\n      default: 50\r\n    },\r\n    initHeight: {\r\n      type: Number,\r\n      default: 50\r\n    },\r\n    crossOrigin: {\r\n      type: String,\r\n      default: undefined\r\n    }\r\n  },\r\n  data () {\r\n    return {\r\n      imgRatio: NaN\r\n    }\r\n  },\r\n  computed: {\r\n    posObj: function () {\r\n      let style = {\r\n        'border-width': `${this.border}px !important`,\r\n        'width': `${this.zoomWH$.width}% !important`,\r\n        'height': `${this.zoomWH$.height}% !important`,\r\n        'color': `${this.shadow} !important`,\r\n        'box-shadow': `0 0 0 ${this._shadow} !important`\r\n      }\r\n      for (let k in this.zoomTL$) {\r\n        if (typeof this.zoomTL$[k] === 'number') { style[k] = `${this.zoomTL$[k]}% !important` }\r\n      }\r\n      return style\r\n    },\r\n    scaleStyle: function () {\r\n      return {\r\n        transform: `scale(${this.scale}) !important`\r\n      }\r\n    },\r\n    rotateStyle: function () {\r\n      return {\r\n        transform: `rotate(${this.rotate}deg) !important`\r\n      }\r\n    },\r\n    areaStyle: function () {\r\n      const _border = `${this.border}px !important`\r\n      const display = `${(this.src) ? 'block' : 'none'} !important`\r\n      const backgroundColor = `${this.bgColor} !important`\r\n      return {\r\n        padding: _border,\r\n        display,\r\n        'background-color': backgroundColor\r\n      }\r\n    },\r\n    eptStyle: function () {\r\n      const display = `${(this.src) ? 'none' : 'block'} !important`\r\n      return { display }\r\n    },\r\n    exOuterStyle: function () {\r\n      const _outline = `${this.outline + this.border}px`\r\n      return {\r\n        'border-width': `${_outline} !important`,\r\n        'transform': `translate(-${_outline},-${_outline}) !important`\r\n      }\r\n    },\r\n    exInnerStyle: function () {\r\n      const _inline = `${this.outline}px !important`\r\n      return { padding: _inline }\r\n    },\r\n    _shadow: function () {\r\n      return `${(this.imgRatio >= 1 ? 100 : (100 / this.imgRatio))}vw`\r\n    },\r\n    stemArea: function () {\r\n      if (this.wrapRatio) {\r\n        return {\r\n          width: 100 * this.wrapRatio,\r\n          height: 100\r\n        }\r\n      } else if (this.imgRatio) {\r\n        return {\r\n          width: this.imgEl.naturalWidth,\r\n          height: this.imgEl.naturalHeight\r\n        }\r\n      } else return {}\r\n    },\r\n    isVertical: function () {\r\n      // Prevent img from overflowing\r\n      const ratio = this.wrapRatio || this.ratio\r\n      if (!ratio) return false\r\n      return this.imgRatio < ratio\r\n    }\r\n  },\r\n  watch: {\r\n    ratio () {\r\n      this.resetData()\r\n    },\r\n    wrapRatio () {\r\n      this.resetData()\r\n    },\r\n    bgColor () {\r\n      this.callPreview('setData', { bgColor: this.bgColor })\r\n    },\r\n    scaleStyle () {\r\n      this.change$.next(0)\r\n    },\r\n    rotateStyle () {\r\n      this.change$.next(0)\r\n    }\r\n  },\r\n  mounted () {\r\n    this.imgEl = this.$el.querySelector('.js-clipper-basic .js-img')\r\n    this.canvasEl = document.createElement('CANVAS')\r\n    this.areaEl = this.$el.querySelector('.js-clipper-basic .js-clip-area')\r\n    this.scaleEl = this.$el.querySelector('.js-clipper-basic .js-img-scale')\r\n    this.zoomEl = this.$el.querySelector('.js-clipper-basic .js-zoom-area')\r\n    this.dragEl = this.$el.querySelector('.js-clipper-basic .js-drag-inset')\r\n    if (this.preview) {\r\n      this.$subscribeTo(this.onChange$, () => {\r\n        this.$nextTick(() => {\r\n          // wait for vue render dom.\r\n          const result = this.getDrawPos().pos\r\n          const rotate = this.rotate\r\n          if (this.invalidDrawPos(result)) return\r\n          this.callPreview('locateImage', result, rotate)\r\n        })\r\n      })\r\n    }\r\n  },\r\n  methods: {\r\n    imgLoaded: function () {\r\n      // reset\r\n      this.callPreview('setData', {\r\n        src: this.src,\r\n        bgColor: this.bgColor\r\n      })\r\n      this.imgRatio = this.imgEl.naturalWidth / this.imgEl.naturalHeight\r\n      this.resetData()\r\n    },\r\n    resetData: function () {\r\n      this.$nextTick(() => {\r\n        this.initWHTL$.next(true)\r\n      })\r\n    }\r\n  }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n$hover_sec: 0.5s;\r\n$cover_color: rgba(0, 0, 0, 0.4);\r\n$border-color: #1baae8;\r\n$grid-width: 1px; //dive 2\r\n\r\n.vertical.vuejs-clipper-basic__clip-area {\r\n  &, .vuejs-clipper-basic__img {\r\n    width: auto !important;\r\n    height: 100% !important;\r\n  }\r\n}\r\n.vuejs-clipper-basic__clip-area {\r\n  position: relative !important;\r\n  width: 100% !important;\r\n  overflow: hidden !important;\r\n  box-sizing: border-box !important;\r\n  cursor: crosshair;\r\n  & .vuejs-clipper-basic__img {\r\n    position: relative !important;\r\n    width: 100% !important;\r\n    display: block !important;\r\n    pointer-events: none !important;\r\n  }\r\n}\r\n.vuejs-clipper-basic__stem-canvas {\r\n  pointer-events: none !important;\r\n  display: block !important;\r\n  width: 100% !important;\r\n}\r\n.vuejs-clipper-basic__padding {\r\n  pointer-events: none !important;\r\n  position: absolute !important;\r\n  top: 0 !important;\r\n  left: 0 !important;\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  box-sizing: border-box !important;\r\n}\r\n.vuejs-clipper-basic__in-pad {\r\n  pointer-events: none !important;\r\n  position: relative !important;\r\n  top: 0 !important;\r\n  left: 0 !important;\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  box-sizing: border-box !important;\r\n}\r\n.vuejs-clipper-basic__img-scale {\r\n  pointer-events: none !important;\r\n  position: relative !important;\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  top: 0;\r\n  left: 0;\r\n  display: flex !important;\r\n  justify-content: center !important;\r\n  align-items: center;\r\n}\r\n.vuejs-clipper-basic__zoom-area {\r\n  position: absolute !important;\r\n  box-sizing: border-box !important; //! don't change\r\n  border-style: solid;\r\n  border-color: $border_color;\r\n  overflow: visible !important;\r\n}\r\n.vuejs-clipper-basic__corner {\r\n  position: absolute;\r\n  border-color: white;\r\n  border-style: solid;\r\n  width: 10px;\r\n  height: 10px;\r\n  opacity: 0.7;\r\n}\r\n.vuejs-clipper-basic__corner:hover {\r\n  opacity: 1;\r\n}\r\n.vuejs-clipper-basic__corner1 {\r\n  top: 0;\r\n  left: 0;\r\n  border-width: 3px 0px 0px 3px;\r\n  cursor: nwse-resize;\r\n}\r\n.vuejs-clipper-basic__corner2 {\r\n  top: 0;\r\n  right: 0;\r\n  border-width: 3px 3px 0px 0px;\r\n  cursor: nesw-resize;\r\n}\r\n.vuejs-clipper-basic__corner3 {\r\n  bottom: 0;\r\n  right: 0;\r\n  border-width: 0px 3px 3px 0px;\r\n  cursor: nwse-resize;\r\n}\r\n.vuejs-clipper-basic__corner4 {\r\n  bottom: 0;\r\n  left: 0;\r\n  border-width: 0px 0px 3px 3px;\r\n  cursor: nesw-resize;\r\n}\r\n.vuejs-clipper-basic__extend {\r\n  color: white;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  cursor: move;\r\n  &--outer {\r\n    width: 100%;\r\n    height: 100%;\r\n    position: absolute;\r\n    border-style: solid;\r\n    box-sizing: content-box;\r\n    opacity: 0;\r\n    transition: opacity $hover_sec;\r\n    &:hover {\r\n      opacity: 0.3;\r\n    }\r\n  }\r\n  &--inner {\r\n    position: relative;\r\n    box-sizing: border-box;\r\n    overflow: hidden;\r\n    &:hover .vuejs-clipper-basic__drag-inset {\r\n      opacity: 0.3;\r\n    }\r\n    &:hover .vuejs-clipper-basic__drag-inset:hover.vuejs-clipper-basic__drag-inset {\r\n      opacity: 0;\r\n    }\r\n  }\r\n}\r\n.vuejs-clipper-basic__drag-inset {\r\n  position: relative;\r\n  box-shadow: 0px 0px 0px 4080px white;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  cursor: grab;\r\n  opacity: 0;\r\n  transition: opacity $hover_sec;\r\n}\r\n.vuejs-clipper-basic__grid {\r\n  width: 100%;\r\n  height: 100%;\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  pointer-events: none;\r\n}\r\n.vuejs-clipper-basic__grid-item {\r\n  position: absolute;\r\n  border-color: rgba(255, 255, 255, 0.7);\r\n  border-style: dashed;\r\n  width: 50%;\r\n  height: 50%;\r\n  box-sizing: border-box;\r\n}\r\n.vuejs-clipper-basic__grid-item:nth-child(1) {\r\n  top: 0;\r\n  left: 0;\r\n  border-width: 0 $grid-width $grid-width 0;\r\n  transform: translate($grid-width/2,$grid-width/2);\r\n}\r\n.vuejs-clipper-basic__grid-item:nth-child(2) {\r\n  top: 0;\r\n  right: 0;\r\n  border-width: 0 0 $grid-width 0;\r\n  transform: translate(-$grid-width/2,$grid-width/2);\r\n}\r\n.vuejs-clipper-basic__grid-item:nth-child(3) {\r\n  bottom: 0;\r\n  left: 0;\r\n  border-width: 0 $grid-width 0 0;\r\n  transform: translate($grid-width/2,-$grid-width/2);\r\n}\r\n.vuejs-clipper-basic__grid-item:nth-child(4) {\r\n  bottom: 0;\r\n  right: 0;\r\n  border-width: 0;\r\n  transform: translate(-$grid-width/2,-$grid-width/2);\r\n}\r\n</style>\r\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-basic.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-basic.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./clipper-basic.vue?vue&type=template&id=322309c2&scoped=true&\"\nimport script from \"./clipper-basic.vue?vue&type=script&lang=js&\"\nexport * from \"./clipper-basic.vue?vue&type=script&lang=js&\"\nimport style0 from \"./clipper-basic.vue?vue&type=style&index=0&id=322309c2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"322309c2\",\n  null\n  \n)\n\nexport default component.exports","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n  return function ($this, pos) {\n    var S = String(requireObjectCoercible($this));\n    var position = toInteger(pos);\n    var size = S.length;\n    var first, second;\n    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n    first = S.charCodeAt(position);\n    return first < 0xD800 || first > 0xDBFF || position + 1 === size\n      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n        ? CONVERT_TO_STRING ? S.charAt(position) : first\n        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.codePointAt` method\n  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n  codeAt: createMethod(false),\n  // `String.prototype.at` method\n  // https://github.com/mathiasbynens/String.prototype.at\n  charAt: createMethod(true)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n  var C;\n  if (isArray(originalArray)) {\n    C = originalArray.constructor;\n    // cross-realm fallback\n    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n    else if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","/** PURE_IMPORTS_START _mergeMap,_util_identity PURE_IMPORTS_END */\nimport { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent) {\n    if (concurrent === void 0) {\n        concurrent = Number.POSITIVE_INFINITY;\n    }\n    return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP) {\n  var store = new WeakMap();\n  var wmget = store.get;\n  var wmhas = store.has;\n  var wmset = store.set;\n  set = function (it, metadata) {\n    wmset.call(store, it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return wmget.call(store, it) || {};\n  };\n  has = function (it) {\n    return wmhas.call(store, it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return objectHas(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return objectHas(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","/** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nvar toString = /*@__PURE__*/ (function () { return Object.prototype.toString; })();\nexport function fromEvent(target, eventName, options, resultSelector) {\n    if (isFunction(options)) {\n        resultSelector = options;\n        options = undefined;\n    }\n    if (resultSelector) {\n        return fromEvent(target, eventName, options).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n    }\n    return new Observable(function (subscriber) {\n        function handler(e) {\n            if (arguments.length > 1) {\n                subscriber.next(Array.prototype.slice.call(arguments));\n            }\n            else {\n                subscriber.next(e);\n            }\n        }\n        setupSubscription(target, eventName, handler, subscriber, options);\n    });\n}\nfunction setupSubscription(sourceObj, eventName, handler, subscriber, options) {\n    var unsubscribe;\n    if (isEventTarget(sourceObj)) {\n        var source_1 = sourceObj;\n        sourceObj.addEventListener(eventName, handler, options);\n        unsubscribe = function () { return source_1.removeEventListener(eventName, handler, options); };\n    }\n    else if (isJQueryStyleEventEmitter(sourceObj)) {\n        var source_2 = sourceObj;\n        sourceObj.on(eventName, handler);\n        unsubscribe = function () { return source_2.off(eventName, handler); };\n    }\n    else if (isNodeStyleEventEmitter(sourceObj)) {\n        var source_3 = sourceObj;\n        sourceObj.addListener(eventName, handler);\n        unsubscribe = function () { return source_3.removeListener(eventName, handler); };\n    }\n    else if (sourceObj && sourceObj.length) {\n        for (var i = 0, len = sourceObj.length; i < len; i++) {\n            setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n        }\n    }\n    else {\n        throw new TypeError('Invalid event target');\n    }\n    subscriber.add(unsubscribe);\n}\nfunction isNodeStyleEventEmitter(sourceObj) {\n    return sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n    return sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isEventTarget(sourceObj) {\n    return sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n//# sourceMappingURL=fromEvent.js.map\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n  var unsafe = options ? !!options.unsafe : false;\n  var simple = options ? !!options.enumerable : false;\n  var noTargetGet = options ? !!options.noTargetGet : false;\n  if (typeof value == 'function') {\n    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n  }\n  if (O === global) {\n    if (simple) O[key] = value;\n    else setGlobal(key, value);\n    return;\n  } else if (!unsafe) {\n    delete O[key];\n  } else if (!noTargetGet && O[key]) {\n    simple = true;\n  }\n  if (simple) O[key] = value;\n  else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","(function() {\n\n    var debug = false;\n\n    var root = this;\n\n    var EXIF = function(obj) {\n        if (obj instanceof EXIF) return obj;\n        if (!(this instanceof EXIF)) return new EXIF(obj);\n        this.EXIFwrapped = obj;\n    };\n\n    if (typeof exports !== 'undefined') {\n        if (typeof module !== 'undefined' && module.exports) {\n            exports = module.exports = EXIF;\n        }\n        exports.EXIF = EXIF;\n    } else {\n        root.EXIF = EXIF;\n    }\n\n    var ExifTags = EXIF.Tags = {\n\n        // version tags\n        0x9000 : \"ExifVersion\",             // EXIF version\n        0xA000 : \"FlashpixVersion\",         // Flashpix format version\n\n        // colorspace tags\n        0xA001 : \"ColorSpace\",              // Color space information tag\n\n        // image configuration\n        0xA002 : \"PixelXDimension\",         // Valid width of meaningful image\n        0xA003 : \"PixelYDimension\",         // Valid height of meaningful image\n        0x9101 : \"ComponentsConfiguration\", // Information about channels\n        0x9102 : \"CompressedBitsPerPixel\",  // Compressed bits per pixel\n\n        // user information\n        0x927C : \"MakerNote\",               // Any desired information written by the manufacturer\n        0x9286 : \"UserComment\",             // Comments by user\n\n        // related file\n        0xA004 : \"RelatedSoundFile\",        // Name of related sound file\n\n        // date and time\n        0x9003 : \"DateTimeOriginal\",        // Date and time when the original image was generated\n        0x9004 : \"DateTimeDigitized\",       // Date and time when the image was stored digitally\n        0x9290 : \"SubsecTime\",              // Fractions of seconds for DateTime\n        0x9291 : \"SubsecTimeOriginal\",      // Fractions of seconds for DateTimeOriginal\n        0x9292 : \"SubsecTimeDigitized\",     // Fractions of seconds for DateTimeDigitized\n\n        // picture-taking conditions\n        0x829A : \"ExposureTime\",            // Exposure time (in seconds)\n        0x829D : \"FNumber\",                 // F number\n        0x8822 : \"ExposureProgram\",         // Exposure program\n        0x8824 : \"SpectralSensitivity\",     // Spectral sensitivity\n        0x8827 : \"ISOSpeedRatings\",         // ISO speed rating\n        0x8828 : \"OECF\",                    // Optoelectric conversion factor\n        0x9201 : \"ShutterSpeedValue\",       // Shutter speed\n        0x9202 : \"ApertureValue\",           // Lens aperture\n        0x9203 : \"BrightnessValue\",         // Value of brightness\n        0x9204 : \"ExposureBias\",            // Exposure bias\n        0x9205 : \"MaxApertureValue\",        // Smallest F number of lens\n        0x9206 : \"SubjectDistance\",         // Distance to subject in meters\n        0x9207 : \"MeteringMode\",            // Metering mode\n        0x9208 : \"LightSource\",             // Kind of light source\n        0x9209 : \"Flash\",                   // Flash status\n        0x9214 : \"SubjectArea\",             // Location and area of main subject\n        0x920A : \"FocalLength\",             // Focal length of the lens in mm\n        0xA20B : \"FlashEnergy\",             // Strobe energy in BCPS\n        0xA20C : \"SpatialFrequencyResponse\",    //\n        0xA20E : \"FocalPlaneXResolution\",   // Number of pixels in width direction per FocalPlaneResolutionUnit\n        0xA20F : \"FocalPlaneYResolution\",   // Number of pixels in height direction per FocalPlaneResolutionUnit\n        0xA210 : \"FocalPlaneResolutionUnit\",    // Unit for measuring FocalPlaneXResolution and FocalPlaneYResolution\n        0xA214 : \"SubjectLocation\",         // Location of subject in image\n        0xA215 : \"ExposureIndex\",           // Exposure index selected on camera\n        0xA217 : \"SensingMethod\",           // Image sensor type\n        0xA300 : \"FileSource\",              // Image source (3 == DSC)\n        0xA301 : \"SceneType\",               // Scene type (1 == directly photographed)\n        0xA302 : \"CFAPattern\",              // Color filter array geometric pattern\n        0xA401 : \"CustomRendered\",          // Special processing\n        0xA402 : \"ExposureMode\",            // Exposure mode\n        0xA403 : \"WhiteBalance\",            // 1 = auto white balance, 2 = manual\n        0xA404 : \"DigitalZoomRation\",       // Digital zoom ratio\n        0xA405 : \"FocalLengthIn35mmFilm\",   // Equivalent foacl length assuming 35mm film camera (in mm)\n        0xA406 : \"SceneCaptureType\",        // Type of scene\n        0xA407 : \"GainControl\",             // Degree of overall image gain adjustment\n        0xA408 : \"Contrast\",                // Direction of contrast processing applied by camera\n        0xA409 : \"Saturation\",              // Direction of saturation processing applied by camera\n        0xA40A : \"Sharpness\",               // Direction of sharpness processing applied by camera\n        0xA40B : \"DeviceSettingDescription\",    //\n        0xA40C : \"SubjectDistanceRange\",    // Distance to subject\n\n        // other tags\n        0xA005 : \"InteroperabilityIFDPointer\",\n        0xA420 : \"ImageUniqueID\"            // Identifier assigned uniquely to each image\n    };\n\n    var TiffTags = EXIF.TiffTags = {\n        0x0100 : \"ImageWidth\",\n        0x0101 : \"ImageHeight\",\n        0x8769 : \"ExifIFDPointer\",\n        0x8825 : \"GPSInfoIFDPointer\",\n        0xA005 : \"InteroperabilityIFDPointer\",\n        0x0102 : \"BitsPerSample\",\n        0x0103 : \"Compression\",\n        0x0106 : \"PhotometricInterpretation\",\n        0x0112 : \"Orientation\",\n        0x0115 : \"SamplesPerPixel\",\n        0x011C : \"PlanarConfiguration\",\n        0x0212 : \"YCbCrSubSampling\",\n        0x0213 : \"YCbCrPositioning\",\n        0x011A : \"XResolution\",\n        0x011B : \"YResolution\",\n        0x0128 : \"ResolutionUnit\",\n        0x0111 : \"StripOffsets\",\n        0x0116 : \"RowsPerStrip\",\n        0x0117 : \"StripByteCounts\",\n        0x0201 : \"JPEGInterchangeFormat\",\n        0x0202 : \"JPEGInterchangeFormatLength\",\n        0x012D : \"TransferFunction\",\n        0x013E : \"WhitePoint\",\n        0x013F : \"PrimaryChromaticities\",\n        0x0211 : \"YCbCrCoefficients\",\n        0x0214 : \"ReferenceBlackWhite\",\n        0x0132 : \"DateTime\",\n        0x010E : \"ImageDescription\",\n        0x010F : \"Make\",\n        0x0110 : \"Model\",\n        0x0131 : \"Software\",\n        0x013B : \"Artist\",\n        0x8298 : \"Copyright\"\n    };\n\n    var GPSTags = EXIF.GPSTags = {\n        0x0000 : \"GPSVersionID\",\n        0x0001 : \"GPSLatitudeRef\",\n        0x0002 : \"GPSLatitude\",\n        0x0003 : \"GPSLongitudeRef\",\n        0x0004 : \"GPSLongitude\",\n        0x0005 : \"GPSAltitudeRef\",\n        0x0006 : \"GPSAltitude\",\n        0x0007 : \"GPSTimeStamp\",\n        0x0008 : \"GPSSatellites\",\n        0x0009 : \"GPSStatus\",\n        0x000A : \"GPSMeasureMode\",\n        0x000B : \"GPSDOP\",\n        0x000C : \"GPSSpeedRef\",\n        0x000D : \"GPSSpeed\",\n        0x000E : \"GPSTrackRef\",\n        0x000F : \"GPSTrack\",\n        0x0010 : \"GPSImgDirectionRef\",\n        0x0011 : \"GPSImgDirection\",\n        0x0012 : \"GPSMapDatum\",\n        0x0013 : \"GPSDestLatitudeRef\",\n        0x0014 : \"GPSDestLatitude\",\n        0x0015 : \"GPSDestLongitudeRef\",\n        0x0016 : \"GPSDestLongitude\",\n        0x0017 : \"GPSDestBearingRef\",\n        0x0018 : \"GPSDestBearing\",\n        0x0019 : \"GPSDestDistanceRef\",\n        0x001A : \"GPSDestDistance\",\n        0x001B : \"GPSProcessingMethod\",\n        0x001C : \"GPSAreaInformation\",\n        0x001D : \"GPSDateStamp\",\n        0x001E : \"GPSDifferential\"\n    };\n\n     // EXIF 2.3 Spec\n    var IFD1Tags = EXIF.IFD1Tags = {\n        0x0100: \"ImageWidth\",\n        0x0101: \"ImageHeight\",\n        0x0102: \"BitsPerSample\",\n        0x0103: \"Compression\",\n        0x0106: \"PhotometricInterpretation\",\n        0x0111: \"StripOffsets\",\n        0x0112: \"Orientation\",\n        0x0115: \"SamplesPerPixel\",\n        0x0116: \"RowsPerStrip\",\n        0x0117: \"StripByteCounts\",\n        0x011A: \"XResolution\",\n        0x011B: \"YResolution\",\n        0x011C: \"PlanarConfiguration\",\n        0x0128: \"ResolutionUnit\",\n        0x0201: \"JpegIFOffset\",    // When image format is JPEG, this value show offset to JPEG data stored.(aka \"ThumbnailOffset\" or \"JPEGInterchangeFormat\")\n        0x0202: \"JpegIFByteCount\", // When image format is JPEG, this value shows data size of JPEG image (aka \"ThumbnailLength\" or \"JPEGInterchangeFormatLength\")\n        0x0211: \"YCbCrCoefficients\",\n        0x0212: \"YCbCrSubSampling\",\n        0x0213: \"YCbCrPositioning\",\n        0x0214: \"ReferenceBlackWhite\"\n    };\n\n    var StringValues = EXIF.StringValues = {\n        ExposureProgram : {\n            0 : \"Not defined\",\n            1 : \"Manual\",\n            2 : \"Normal program\",\n            3 : \"Aperture priority\",\n            4 : \"Shutter priority\",\n            5 : \"Creative program\",\n            6 : \"Action program\",\n            7 : \"Portrait mode\",\n            8 : \"Landscape mode\"\n        },\n        MeteringMode : {\n            0 : \"Unknown\",\n            1 : \"Average\",\n            2 : \"CenterWeightedAverage\",\n            3 : \"Spot\",\n            4 : \"MultiSpot\",\n            5 : \"Pattern\",\n            6 : \"Partial\",\n            255 : \"Other\"\n        },\n        LightSource : {\n            0 : \"Unknown\",\n            1 : \"Daylight\",\n            2 : \"Fluorescent\",\n            3 : \"Tungsten (incandescent light)\",\n            4 : \"Flash\",\n            9 : \"Fine weather\",\n            10 : \"Cloudy weather\",\n            11 : \"Shade\",\n            12 : \"Daylight fluorescent (D 5700 - 7100K)\",\n            13 : \"Day white fluorescent (N 4600 - 5400K)\",\n            14 : \"Cool white fluorescent (W 3900 - 4500K)\",\n            15 : \"White fluorescent (WW 3200 - 3700K)\",\n            17 : \"Standard light A\",\n            18 : \"Standard light B\",\n            19 : \"Standard light C\",\n            20 : \"D55\",\n            21 : \"D65\",\n            22 : \"D75\",\n            23 : \"D50\",\n            24 : \"ISO studio tungsten\",\n            255 : \"Other\"\n        },\n        Flash : {\n            0x0000 : \"Flash did not fire\",\n            0x0001 : \"Flash fired\",\n            0x0005 : \"Strobe return light not detected\",\n            0x0007 : \"Strobe return light detected\",\n            0x0009 : \"Flash fired, compulsory flash mode\",\n            0x000D : \"Flash fired, compulsory flash mode, return light not detected\",\n            0x000F : \"Flash fired, compulsory flash mode, return light detected\",\n            0x0010 : \"Flash did not fire, compulsory flash mode\",\n            0x0018 : \"Flash did not fire, auto mode\",\n            0x0019 : \"Flash fired, auto mode\",\n            0x001D : \"Flash fired, auto mode, return light not detected\",\n            0x001F : \"Flash fired, auto mode, return light detected\",\n            0x0020 : \"No flash function\",\n            0x0041 : \"Flash fired, red-eye reduction mode\",\n            0x0045 : \"Flash fired, red-eye reduction mode, return light not detected\",\n            0x0047 : \"Flash fired, red-eye reduction mode, return light detected\",\n            0x0049 : \"Flash fired, compulsory flash mode, red-eye reduction mode\",\n            0x004D : \"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected\",\n            0x004F : \"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected\",\n            0x0059 : \"Flash fired, auto mode, red-eye reduction mode\",\n            0x005D : \"Flash fired, auto mode, return light not detected, red-eye reduction mode\",\n            0x005F : \"Flash fired, auto mode, return light detected, red-eye reduction mode\"\n        },\n        SensingMethod : {\n            1 : \"Not defined\",\n            2 : \"One-chip color area sensor\",\n            3 : \"Two-chip color area sensor\",\n            4 : \"Three-chip color area sensor\",\n            5 : \"Color sequential area sensor\",\n            7 : \"Trilinear sensor\",\n            8 : \"Color sequential linear sensor\"\n        },\n        SceneCaptureType : {\n            0 : \"Standard\",\n            1 : \"Landscape\",\n            2 : \"Portrait\",\n            3 : \"Night scene\"\n        },\n        SceneType : {\n            1 : \"Directly photographed\"\n        },\n        CustomRendered : {\n            0 : \"Normal process\",\n            1 : \"Custom process\"\n        },\n        WhiteBalance : {\n            0 : \"Auto white balance\",\n            1 : \"Manual white balance\"\n        },\n        GainControl : {\n            0 : \"None\",\n            1 : \"Low gain up\",\n            2 : \"High gain up\",\n            3 : \"Low gain down\",\n            4 : \"High gain down\"\n        },\n        Contrast : {\n            0 : \"Normal\",\n            1 : \"Soft\",\n            2 : \"Hard\"\n        },\n        Saturation : {\n            0 : \"Normal\",\n            1 : \"Low saturation\",\n            2 : \"High saturation\"\n        },\n        Sharpness : {\n            0 : \"Normal\",\n            1 : \"Soft\",\n            2 : \"Hard\"\n        },\n        SubjectDistanceRange : {\n            0 : \"Unknown\",\n            1 : \"Macro\",\n            2 : \"Close view\",\n            3 : \"Distant view\"\n        },\n        FileSource : {\n            3 : \"DSC\"\n        },\n\n        Components : {\n            0 : \"\",\n            1 : \"Y\",\n            2 : \"Cb\",\n            3 : \"Cr\",\n            4 : \"R\",\n            5 : \"G\",\n            6 : \"B\"\n        }\n    };\n\n    function addEvent(element, event, handler) {\n        if (element.addEventListener) {\n            element.addEventListener(event, handler, false);\n        } else if (element.attachEvent) {\n            element.attachEvent(\"on\" + event, handler);\n        }\n    }\n\n    function imageHasData(img) {\n        return !!(img.exifdata);\n    }\n\n\n    function base64ToArrayBuffer(base64, contentType) {\n        contentType = contentType || base64.match(/^data\\:([^\\;]+)\\;base64,/mi)[1] || ''; // e.g. 'data:image/jpeg;base64,...' => 'image/jpeg'\n        base64 = base64.replace(/^data\\:([^\\;]+)\\;base64,/gmi, '');\n        var binary = atob(base64);\n        var len = binary.length;\n        var buffer = new ArrayBuffer(len);\n        var view = new Uint8Array(buffer);\n        for (var i = 0; i < len; i++) {\n            view[i] = binary.charCodeAt(i);\n        }\n        return buffer;\n    }\n\n    function objectURLToBlob(url, callback) {\n        var http = new XMLHttpRequest();\n        http.open(\"GET\", url, true);\n        http.responseType = \"blob\";\n        http.onload = function(e) {\n            if (this.status == 200 || this.status === 0) {\n                callback(this.response);\n            }\n        };\n        http.send();\n    }\n\n    function getImageData(img, callback) {\n        function handleBinaryFile(binFile) {\n            var data = findEXIFinJPEG(binFile);\n            img.exifdata = data || {};\n            var iptcdata = findIPTCinJPEG(binFile);\n            img.iptcdata = iptcdata || {};\n            if (EXIF.isXmpEnabled) {\n               var xmpdata= findXMPinJPEG(binFile);\n               img.xmpdata = xmpdata || {};               \n            }\n            if (callback) {\n                callback.call(img);\n            }\n        }\n\n        if (img.src) {\n            if (/^data\\:/i.test(img.src)) { // Data URI\n                var arrayBuffer = base64ToArrayBuffer(img.src);\n                handleBinaryFile(arrayBuffer);\n\n            } else if (/^blob\\:/i.test(img.src)) { // Object URL\n                var fileReader = new FileReader();\n                fileReader.onload = function(e) {\n                    handleBinaryFile(e.target.result);\n                };\n                objectURLToBlob(img.src, function (blob) {\n                    fileReader.readAsArrayBuffer(blob);\n                });\n            } else {\n                var http = new XMLHttpRequest();\n                http.onload = function() {\n                    if (this.status == 200 || this.status === 0) {\n                        handleBinaryFile(http.response);\n                    } else {\n                        throw \"Could not load image\";\n                    }\n                    http = null;\n                };\n                http.open(\"GET\", img.src, true);\n                http.responseType = \"arraybuffer\";\n                http.send(null);\n            }\n        } else if (self.FileReader && (img instanceof self.Blob || img instanceof self.File)) {\n            var fileReader = new FileReader();\n            fileReader.onload = function(e) {\n                if (debug) console.log(\"Got file of length \" + e.target.result.byteLength);\n                handleBinaryFile(e.target.result);\n            };\n\n            fileReader.readAsArrayBuffer(img);\n        }\n    }\n\n    function findEXIFinJPEG(file) {\n        var dataView = new DataView(file);\n\n        if (debug) console.log(\"Got file of length \" + file.byteLength);\n        if ((dataView.getUint8(0) != 0xFF) || (dataView.getUint8(1) != 0xD8)) {\n            if (debug) console.log(\"Not a valid JPEG\");\n            return false; // not a valid jpeg\n        }\n\n        var offset = 2,\n            length = file.byteLength,\n            marker;\n\n        while (offset < length) {\n            if (dataView.getUint8(offset) != 0xFF) {\n                if (debug) console.log(\"Not a valid marker at offset \" + offset + \", found: \" + dataView.getUint8(offset));\n                return false; // not a valid marker, something is wrong\n            }\n\n            marker = dataView.getUint8(offset + 1);\n            if (debug) console.log(marker);\n\n            // we could implement handling for other markers here,\n            // but we're only looking for 0xFFE1 for EXIF data\n\n            if (marker == 225) {\n                if (debug) console.log(\"Found 0xFFE1 marker\");\n\n                return readEXIFData(dataView, offset + 4, dataView.getUint16(offset + 2) - 2);\n\n                // offset += 2 + file.getShortAt(offset+2, true);\n\n            } else {\n                offset += 2 + dataView.getUint16(offset+2);\n            }\n\n        }\n\n    }\n\n    function findIPTCinJPEG(file) {\n        var dataView = new DataView(file);\n\n        if (debug) console.log(\"Got file of length \" + file.byteLength);\n        if ((dataView.getUint8(0) != 0xFF) || (dataView.getUint8(1) != 0xD8)) {\n            if (debug) console.log(\"Not a valid JPEG\");\n            return false; // not a valid jpeg\n        }\n\n        var offset = 2,\n            length = file.byteLength;\n\n\n        var isFieldSegmentStart = function(dataView, offset){\n            return (\n                dataView.getUint8(offset) === 0x38 &&\n                dataView.getUint8(offset+1) === 0x42 &&\n                dataView.getUint8(offset+2) === 0x49 &&\n                dataView.getUint8(offset+3) === 0x4D &&\n                dataView.getUint8(offset+4) === 0x04 &&\n                dataView.getUint8(offset+5) === 0x04\n            );\n        };\n\n        while (offset < length) {\n\n            if ( isFieldSegmentStart(dataView, offset )){\n\n                // Get the length of the name header (which is padded to an even number of bytes)\n                var nameHeaderLength = dataView.getUint8(offset+7);\n                if(nameHeaderLength % 2 !== 0) nameHeaderLength += 1;\n                // Check for pre photoshop 6 format\n                if(nameHeaderLength === 0) {\n                    // Always 4\n                    nameHeaderLength = 4;\n                }\n\n                var startOffset = offset + 8 + nameHeaderLength;\n                var sectionLength = dataView.getUint16(offset + 6 + nameHeaderLength);\n\n                return readIPTCData(file, startOffset, sectionLength);\n\n                break;\n\n            }\n\n\n            // Not the marker, continue searching\n            offset++;\n\n        }\n\n    }\n    var IptcFieldMap = {\n        0x78 : 'caption',\n        0x6E : 'credit',\n        0x19 : 'keywords',\n        0x37 : 'dateCreated',\n        0x50 : 'byline',\n        0x55 : 'bylineTitle',\n        0x7A : 'captionWriter',\n        0x69 : 'headline',\n        0x74 : 'copyright',\n        0x0F : 'category'\n    };\n    function readIPTCData(file, startOffset, sectionLength){\n        var dataView = new DataView(file);\n        var data = {};\n        var fieldValue, fieldName, dataSize, segmentType, segmentSize;\n        var segmentStartPos = startOffset;\n        while(segmentStartPos < startOffset+sectionLength) {\n            if(dataView.getUint8(segmentStartPos) === 0x1C && dataView.getUint8(segmentStartPos+1) === 0x02){\n                segmentType = dataView.getUint8(segmentStartPos+2);\n                if(segmentType in IptcFieldMap) {\n                    dataSize = dataView.getInt16(segmentStartPos+3);\n                    segmentSize = dataSize + 5;\n                    fieldName = IptcFieldMap[segmentType];\n                    fieldValue = getStringFromDB(dataView, segmentStartPos+5, dataSize);\n                    // Check if we already stored a value with this name\n                    if(data.hasOwnProperty(fieldName)) {\n                        // Value already stored with this name, create multivalue field\n                        if(data[fieldName] instanceof Array) {\n                            data[fieldName].push(fieldValue);\n                        }\n                        else {\n                            data[fieldName] = [data[fieldName], fieldValue];\n                        }\n                    }\n                    else {\n                        data[fieldName] = fieldValue;\n                    }\n                }\n\n            }\n            segmentStartPos++;\n        }\n        return data;\n    }\n\n\n\n    function readTags(file, tiffStart, dirStart, strings, bigEnd) {\n        var entries = file.getUint16(dirStart, !bigEnd),\n            tags = {},\n            entryOffset, tag,\n            i;\n\n        for (i=0;i<entries;i++) {\n            entryOffset = dirStart + i*12 + 2;\n            tag = strings[file.getUint16(entryOffset, !bigEnd)];\n            if (!tag && debug) console.log(\"Unknown tag: \" + file.getUint16(entryOffset, !bigEnd));\n            tags[tag] = readTagValue(file, entryOffset, tiffStart, dirStart, bigEnd);\n        }\n        return tags;\n    }\n\n\n    function readTagValue(file, entryOffset, tiffStart, dirStart, bigEnd) {\n        var type = file.getUint16(entryOffset+2, !bigEnd),\n            numValues = file.getUint32(entryOffset+4, !bigEnd),\n            valueOffset = file.getUint32(entryOffset+8, !bigEnd) + tiffStart,\n            offset,\n            vals, val, n,\n            numerator, denominator;\n\n        switch (type) {\n            case 1: // byte, 8-bit unsigned int\n            case 7: // undefined, 8-bit byte, value depending on field\n                if (numValues == 1) {\n                    return file.getUint8(entryOffset + 8, !bigEnd);\n                } else {\n                    offset = numValues > 4 ? valueOffset : (entryOffset + 8);\n                    vals = [];\n                    for (n=0;n<numValues;n++) {\n                        vals[n] = file.getUint8(offset + n);\n                    }\n                    return vals;\n                }\n\n            case 2: // ascii, 8-bit byte\n                offset = numValues > 4 ? valueOffset : (entryOffset + 8);\n                return getStringFromDB(file, offset, numValues-1);\n\n            case 3: // short, 16 bit int\n                if (numValues == 1) {\n                    return file.getUint16(entryOffset + 8, !bigEnd);\n                } else {\n                    offset = numValues > 2 ? valueOffset : (entryOffset + 8);\n                    vals = [];\n                    for (n=0;n<numValues;n++) {\n                        vals[n] = file.getUint16(offset + 2*n, !bigEnd);\n                    }\n                    return vals;\n                }\n\n            case 4: // long, 32 bit int\n                if (numValues == 1) {\n                    return file.getUint32(entryOffset + 8, !bigEnd);\n                } else {\n                    vals = [];\n                    for (n=0;n<numValues;n++) {\n                        vals[n] = file.getUint32(valueOffset + 4*n, !bigEnd);\n                    }\n                    return vals;\n                }\n\n            case 5:    // rational = two long values, first is numerator, second is denominator\n                if (numValues == 1) {\n                    numerator = file.getUint32(valueOffset, !bigEnd);\n                    denominator = file.getUint32(valueOffset+4, !bigEnd);\n                    val = new Number(numerator / denominator);\n                    val.numerator = numerator;\n                    val.denominator = denominator;\n                    return val;\n                } else {\n                    vals = [];\n                    for (n=0;n<numValues;n++) {\n                        numerator = file.getUint32(valueOffset + 8*n, !bigEnd);\n                        denominator = file.getUint32(valueOffset+4 + 8*n, !bigEnd);\n                        vals[n] = new Number(numerator / denominator);\n                        vals[n].numerator = numerator;\n                        vals[n].denominator = denominator;\n                    }\n                    return vals;\n                }\n\n            case 9: // slong, 32 bit signed int\n                if (numValues == 1) {\n                    return file.getInt32(entryOffset + 8, !bigEnd);\n                } else {\n                    vals = [];\n                    for (n=0;n<numValues;n++) {\n                        vals[n] = file.getInt32(valueOffset + 4*n, !bigEnd);\n                    }\n                    return vals;\n                }\n\n            case 10: // signed rational, two slongs, first is numerator, second is denominator\n                if (numValues == 1) {\n                    return file.getInt32(valueOffset, !bigEnd) / file.getInt32(valueOffset+4, !bigEnd);\n                } else {\n                    vals = [];\n                    for (n=0;n<numValues;n++) {\n                        vals[n] = file.getInt32(valueOffset + 8*n, !bigEnd) / file.getInt32(valueOffset+4 + 8*n, !bigEnd);\n                    }\n                    return vals;\n                }\n        }\n    }\n\n    /**\n    * Given an IFD (Image File Directory) start offset\n    * returns an offset to next IFD or 0 if it's the last IFD.\n    */\n    function getNextIFDOffset(dataView, dirStart, bigEnd){\n        //the first 2bytes means the number of directory entries contains in this IFD\n        var entries = dataView.getUint16(dirStart, !bigEnd);\n\n        // After last directory entry, there is a 4bytes of data,\n        // it means an offset to next IFD.\n        // If its value is '0x00000000', it means this is the last IFD and there is no linked IFD.\n\n        return dataView.getUint32(dirStart + 2 + entries * 12, !bigEnd); // each entry is 12 bytes long\n    }\n\n    function readThumbnailImage(dataView, tiffStart, firstIFDOffset, bigEnd){\n        // get the IFD1 offset\n        var IFD1OffsetPointer = getNextIFDOffset(dataView, tiffStart+firstIFDOffset, bigEnd);\n\n        if (!IFD1OffsetPointer) {\n            // console.log('******** IFD1Offset is empty, image thumb not found ********');\n            return {};\n        }\n        else if (IFD1OffsetPointer > dataView.byteLength) { // this should not happen\n            // console.log('******** IFD1Offset is outside the bounds of the DataView ********');\n            return {};\n        }\n        // console.log('*******  thumbnail IFD offset (IFD1) is: %s', IFD1OffsetPointer);\n\n        var thumbTags = readTags(dataView, tiffStart, tiffStart + IFD1OffsetPointer, IFD1Tags, bigEnd)\n\n        // EXIF 2.3 specification for JPEG format thumbnail\n\n        // If the value of Compression(0x0103) Tag in IFD1 is '6', thumbnail image format is JPEG.\n        // Most of Exif image uses JPEG format for thumbnail. In that case, you can get offset of thumbnail\n        // by JpegIFOffset(0x0201) Tag in IFD1, size of thumbnail by JpegIFByteCount(0x0202) Tag.\n        // Data format is ordinary JPEG format, starts from 0xFFD8 and ends by 0xFFD9. It seems that\n        // JPEG format and 160x120pixels of size are recommended thumbnail format for Exif2.1 or later.\n\n        if (thumbTags['Compression']) {\n            // console.log('Thumbnail image found!');\n\n            switch (thumbTags['Compression']) {\n                case 6:\n                    // console.log('Thumbnail image format is JPEG');\n                    if (thumbTags.JpegIFOffset && thumbTags.JpegIFByteCount) {\n                    // extract the thumbnail\n                        var tOffset = tiffStart + thumbTags.JpegIFOffset;\n                        var tLength = thumbTags.JpegIFByteCount;\n                        thumbTags['blob'] = new Blob([new Uint8Array(dataView.buffer, tOffset, tLength)], {\n                            type: 'image/jpeg'\n                        });\n                    }\n                break;\n\n            case 1:\n                console.log(\"Thumbnail image format is TIFF, which is not implemented.\");\n                break;\n            default:\n                console.log(\"Unknown thumbnail image format '%s'\", thumbTags['Compression']);\n            }\n        }\n        else if (thumbTags['PhotometricInterpretation'] == 2) {\n            console.log(\"Thumbnail image format is RGB, which is not implemented.\");\n        }\n        return thumbTags;\n    }\n\n    function getStringFromDB(buffer, start, length) {\n        var outstr = \"\";\n        for (n = start; n < start+length; n++) {\n            outstr += String.fromCharCode(buffer.getUint8(n));\n        }\n        return outstr;\n    }\n\n    function readEXIFData(file, start) {\n        if (getStringFromDB(file, start, 4) != \"Exif\") {\n            if (debug) console.log(\"Not valid EXIF data! \" + getStringFromDB(file, start, 4));\n            return false;\n        }\n\n        var bigEnd,\n            tags, tag,\n            exifData, gpsData,\n            tiffOffset = start + 6;\n\n        // test for TIFF validity and endianness\n        if (file.getUint16(tiffOffset) == 0x4949) {\n            bigEnd = false;\n        } else if (file.getUint16(tiffOffset) == 0x4D4D) {\n            bigEnd = true;\n        } else {\n            if (debug) console.log(\"Not valid TIFF data! (no 0x4949 or 0x4D4D)\");\n            return false;\n        }\n\n        if (file.getUint16(tiffOffset+2, !bigEnd) != 0x002A) {\n            if (debug) console.log(\"Not valid TIFF data! (no 0x002A)\");\n            return false;\n        }\n\n        var firstIFDOffset = file.getUint32(tiffOffset+4, !bigEnd);\n\n        if (firstIFDOffset < 0x00000008) {\n            if (debug) console.log(\"Not valid TIFF data! (First offset less than 8)\", file.getUint32(tiffOffset+4, !bigEnd));\n            return false;\n        }\n\n        tags = readTags(file, tiffOffset, tiffOffset + firstIFDOffset, TiffTags, bigEnd);\n\n        if (tags.ExifIFDPointer) {\n            exifData = readTags(file, tiffOffset, tiffOffset + tags.ExifIFDPointer, ExifTags, bigEnd);\n            for (tag in exifData) {\n                switch (tag) {\n                    case \"LightSource\" :\n                    case \"Flash\" :\n                    case \"MeteringMode\" :\n                    case \"ExposureProgram\" :\n                    case \"SensingMethod\" :\n                    case \"SceneCaptureType\" :\n                    case \"SceneType\" :\n                    case \"CustomRendered\" :\n                    case \"WhiteBalance\" :\n                    case \"GainControl\" :\n                    case \"Contrast\" :\n                    case \"Saturation\" :\n                    case \"Sharpness\" :\n                    case \"SubjectDistanceRange\" :\n                    case \"FileSource\" :\n                        exifData[tag] = StringValues[tag][exifData[tag]];\n                        break;\n\n                    case \"ExifVersion\" :\n                    case \"FlashpixVersion\" :\n                        exifData[tag] = String.fromCharCode(exifData[tag][0], exifData[tag][1], exifData[tag][2], exifData[tag][3]);\n                        break;\n\n                    case \"ComponentsConfiguration\" :\n                        exifData[tag] =\n                            StringValues.Components[exifData[tag][0]] +\n                            StringValues.Components[exifData[tag][1]] +\n                            StringValues.Components[exifData[tag][2]] +\n                            StringValues.Components[exifData[tag][3]];\n                        break;\n                }\n                tags[tag] = exifData[tag];\n            }\n        }\n\n        if (tags.GPSInfoIFDPointer) {\n            gpsData = readTags(file, tiffOffset, tiffOffset + tags.GPSInfoIFDPointer, GPSTags, bigEnd);\n            for (tag in gpsData) {\n                switch (tag) {\n                    case \"GPSVersionID\" :\n                        gpsData[tag] = gpsData[tag][0] +\n                            \".\" + gpsData[tag][1] +\n                            \".\" + gpsData[tag][2] +\n                            \".\" + gpsData[tag][3];\n                        break;\n                }\n                tags[tag] = gpsData[tag];\n            }\n        }\n\n        // extract thumbnail\n        tags['thumbnail'] = readThumbnailImage(file, tiffOffset, firstIFDOffset, bigEnd);\n\n        return tags;\n    }\n\n   function findXMPinJPEG(file) {\n\n        if (!('DOMParser' in self)) {\n            // console.warn('XML parsing not supported without DOMParser');\n            return;\n        }\n        var dataView = new DataView(file);\n\n        if (debug) console.log(\"Got file of length \" + file.byteLength);\n        if ((dataView.getUint8(0) != 0xFF) || (dataView.getUint8(1) != 0xD8)) {\n           if (debug) console.log(\"Not a valid JPEG\");\n           return false; // not a valid jpeg\n        }\n\n        var offset = 2,\n            length = file.byteLength,\n            dom = new DOMParser();\n\n        while (offset < (length-4)) {\n            if (getStringFromDB(dataView, offset, 4) == \"http\") {\n                var startOffset = offset - 1;\n                var sectionLength = dataView.getUint16(offset - 2) - 1;\n                var xmpString = getStringFromDB(dataView, startOffset, sectionLength)\n                var xmpEndIndex = xmpString.indexOf('xmpmeta>') + 8;\n                xmpString = xmpString.substring( xmpString.indexOf( '<x:xmpmeta' ), xmpEndIndex );\n\n                var indexOfXmp = xmpString.indexOf('x:xmpmeta') + 10\n                //Many custom written programs embed xmp/xml without any namespace. Following are some of them.\n                //Without these namespaces, XML is thought to be invalid by parsers\n                xmpString = xmpString.slice(0, indexOfXmp)\n                            + 'xmlns:Iptc4xmpCore=\"http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/\" '\n                            + 'xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" '\n                            + 'xmlns:tiff=\"http://ns.adobe.com/tiff/1.0/\" '\n                            + 'xmlns:plus=\"http://schemas.android.com/apk/lib/com.google.android.gms.plus\" '\n                            + 'xmlns:ext=\"http://www.gettyimages.com/xsltExtension/1.0\" '\n                            + 'xmlns:exif=\"http://ns.adobe.com/exif/1.0/\" '\n                            + 'xmlns:stEvt=\"http://ns.adobe.com/xap/1.0/sType/ResourceEvent#\" '\n                            + 'xmlns:stRef=\"http://ns.adobe.com/xap/1.0/sType/ResourceRef#\" '\n                            + 'xmlns:crs=\"http://ns.adobe.com/camera-raw-settings/1.0/\" '\n                            + 'xmlns:xapGImg=\"http://ns.adobe.com/xap/1.0/g/img/\" '\n                            + 'xmlns:Iptc4xmpExt=\"http://iptc.org/std/Iptc4xmpExt/2008-02-29/\" '\n                            + xmpString.slice(indexOfXmp)\n\n                var domDocument = dom.parseFromString( xmpString, 'text/xml' );\n                return xml2Object(domDocument);\n            } else{\n             offset++;\n            }\n        }\n    }\n\n    function xml2json(xml) {\n        var json = {};\n      \n        if (xml.nodeType == 1) { // element node\n          if (xml.attributes.length > 0) {\n            json['@attributes'] = {};\n            for (var j = 0; j < xml.attributes.length; j++) {\n              var attribute = xml.attributes.item(j);\n              json['@attributes'][attribute.nodeName] = attribute.nodeValue;\n            }\n          }\n        } else if (xml.nodeType == 3) { // text node\n          return xml.nodeValue;\n        }\n      \n        // deal with children\n        if (xml.hasChildNodes()) {\n          for(var i = 0; i < xml.childNodes.length; i++) {\n            var child = xml.childNodes.item(i);\n            var nodeName = child.nodeName;\n            if (json[nodeName] == null) {\n              json[nodeName] = xml2json(child);\n            } else {\n              if (json[nodeName].push == null) {\n                var old = json[nodeName];\n                json[nodeName] = [];\n                json[nodeName].push(old);\n              }\n              json[nodeName].push(xml2json(child));\n            }\n          }\n        }\n        \n        return json;\n    }\n\n    function xml2Object(xml) {\n        try {\n            var obj = {};\n            if (xml.children.length > 0) {\n              for (var i = 0; i < xml.children.length; i++) {\n                var item = xml.children.item(i);\n                var attributes = item.attributes;\n                for(var idx in attributes) {\n                    var itemAtt = attributes[idx];\n                    var dataKey = itemAtt.nodeName;\n                    var dataValue = itemAtt.nodeValue;\n\n                    if(dataKey !== undefined) {\n                        obj[dataKey] = dataValue;\n                    }\n                }\n                var nodeName = item.nodeName;\n\n                if (typeof (obj[nodeName]) == \"undefined\") {\n                  obj[nodeName] = xml2json(item);\n                } else {\n                  if (typeof (obj[nodeName].push) == \"undefined\") {\n                    var old = obj[nodeName];\n\n                    obj[nodeName] = [];\n                    obj[nodeName].push(old);\n                  }\n                  obj[nodeName].push(xml2json(item));\n                }\n              }\n            } else {\n              obj = xml.textContent;\n            }\n            return obj;\n          } catch (e) {\n              console.log(e.message);\n          }\n    }\n\n    EXIF.enableXmp = function() {\n        EXIF.isXmpEnabled = true;\n    }\n\n    EXIF.disableXmp = function() {\n        EXIF.isXmpEnabled = false;\n    }\n\n    EXIF.getData = function(img, callback) {\n        if (((self.Image && img instanceof self.Image)\n            || (self.HTMLImageElement && img instanceof self.HTMLImageElement))\n            && !img.complete)\n            return false;\n\n        if (!imageHasData(img)) {\n            getImageData(img, callback);\n        } else {\n            if (callback) {\n                callback.call(img);\n            }\n        }\n        return true;\n    }\n\n    EXIF.getTag = function(img, tag) {\n        if (!imageHasData(img)) return;\n        return img.exifdata[tag];\n    }\n    \n    EXIF.getIptcTag = function(img, tag) {\n        if (!imageHasData(img)) return;\n        return img.iptcdata[tag];\n    }\n\n    EXIF.getAllTags = function(img) {\n        if (!imageHasData(img)) return {};\n        var a,\n            data = img.exifdata,\n            tags = {};\n        for (a in data) {\n            if (data.hasOwnProperty(a)) {\n                tags[a] = data[a];\n            }\n        }\n        return tags;\n    }\n    \n    EXIF.getAllIptcTags = function(img) {\n        if (!imageHasData(img)) return {};\n        var a,\n            data = img.iptcdata,\n            tags = {};\n        for (a in data) {\n            if (data.hasOwnProperty(a)) {\n                tags[a] = data[a];\n            }\n        }\n        return tags;\n    }\n\n    EXIF.pretty = function(img) {\n        if (!imageHasData(img)) return \"\";\n        var a,\n            data = img.exifdata,\n            strPretty = \"\";\n        for (a in data) {\n            if (data.hasOwnProperty(a)) {\n                if (typeof data[a] == \"object\") {\n                    if (data[a] instanceof Number) {\n                        strPretty += a + \" : \" + data[a] + \" [\" + data[a].numerator + \"/\" + data[a].denominator + \"]\\r\\n\";\n                    } else {\n                        strPretty += a + \" : [\" + data[a].length + \" values]\\r\\n\";\n                    }\n                } else {\n                    strPretty += a + \" : \" + data[a] + \"\\r\\n\";\n                }\n            }\n        }\n        return strPretty;\n    }\n\n    EXIF.readFromBinaryFile = function(file) {\n        return findEXIFinJPEG(file);\n    }\n\n    if (typeof define === 'function' && define.amd) {\n        define('exif-js', [], function() {\n            return EXIF;\n        });\n    }\n}.call(this));\n\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n  var NewTarget, NewTargetPrototype;\n  if (\n    // it can work only with native `setPrototypeOf`\n    setPrototypeOf &&\n    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n    typeof (NewTarget = dummy.constructor) == 'function' &&\n    NewTarget !== Wrapper &&\n    isObject(NewTargetPrototype = NewTarget.prototype) &&\n    NewTargetPrototype !== Wrapper.prototype\n  ) setPrototypeOf($this, NewTargetPrototype);\n  return $this;\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// extracted by mini-css-extract-plugin","// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n","// extracted by mini-css-extract-plugin","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return Object(requireObjectCoercible(argument));\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  activeXDocument = null; // avoid memory leak\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    /* global ActiveXObject */\n    activeXDocument = document.domain && new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n  createIteratorConstructor(IteratorConstructor, NAME, next);\n\n  var getIterationMethod = function (KIND) {\n    if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n    if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n    switch (KIND) {\n      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n    } return function () { return new IteratorConstructor(this); };\n  };\n\n  var TO_STRING_TAG = NAME + ' Iterator';\n  var INCORRECT_VALUES_NAME = false;\n  var IterablePrototype = Iterable.prototype;\n  var nativeIterator = IterablePrototype[ITERATOR]\n    || IterablePrototype['@@iterator']\n    || DEFAULT && IterablePrototype[DEFAULT];\n  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n  var CurrentIteratorPrototype, methods, KEY;\n\n  // fix native\n  if (anyNativeIterator) {\n    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n    if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n        if (setPrototypeOf) {\n          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n        } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n        }\n      }\n      // Set @@toStringTag to native iterators\n      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n    }\n  }\n\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n    INCORRECT_VALUES_NAME = true;\n    defaultIterator = function values() { return nativeIterator.call(this); };\n  }\n\n  // define iterator\n  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n    createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n  }\n  Iterators[NAME] = defaultIterator;\n\n  // export additional methods\n  if (DEFAULT) {\n    methods = {\n      values: getIterationMethod(VALUES),\n      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n      entries: getIterationMethod(ENTRIES)\n    };\n    if (FORCED) for (KEY in methods) {\n      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n        redefine(IterablePrototype, KEY, methods[KEY]);\n      }\n    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n  }\n\n  return methods;\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n  if (!isObject(it)) {\n    throw TypeError(String(it) + ' is not an object');\n  } return it;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n  var propertyKey = toPrimitive(key);\n  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n  else object[propertyKey] = value;\n};\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vuetify-Image-Clipper.vue?vue&type=style&index=0&id=ddce35a0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vuetify-Image-Clipper.vue?vue&type=style&index=0&id=ddce35a0&scoped=true&lang=css&\"","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n  if (typeof define === 'function' && define.amd) {\n    define([], factory);\n  } else if (typeof module === 'object' && module.exports) {\n    module.exports = factory();\n  } else {\n    root.getCurrentScript = factory();\n  }\n}(typeof self !== 'undefined' ? self : this, function () {\n  function getCurrentScript () {\n    var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n    // for chrome\n    if (!descriptor && 'currentScript' in document && document.currentScript) {\n      return document.currentScript\n    }\n\n    // for other browsers with native support for currentScript\n    if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n      return document.currentScript\n    }\n  \n    // IE 8-10 support script readyState\n    // IE 11+ & Firefox support stack trace\n    try {\n      throw new Error();\n    }\n    catch (err) {\n      // Find the second match for the \"at\" string to get file src url from stack.\n      var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n        ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n        stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n        scriptLocation = (stackDetails && stackDetails[1]) || false,\n        line = (stackDetails && stackDetails[2]) || false,\n        currentLocation = document.location.href.replace(document.location.hash, ''),\n        pageSource,\n        inlineScriptSourceRegExp,\n        inlineScriptSource,\n        scripts = document.getElementsByTagName('script'); // Live NodeList collection\n  \n      if (scriptLocation === currentLocation) {\n        pageSource = document.documentElement.outerHTML;\n        inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n        inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n      }\n  \n      for (var i = 0; i < scripts.length; i++) {\n        // If ready state is interactive, return the script tag\n        if (scripts[i].readyState === 'interactive') {\n          return scripts[i];\n        }\n  \n        // If src matches, return the script tag\n        if (scripts[i].src === scriptLocation) {\n          return scripts[i];\n        }\n  \n        // If inline source matches, return the script tag\n        if (\n          scriptLocation === currentLocation &&\n          scripts[i].innerHTML &&\n          scripts[i].innerHTML.trim() === inlineScriptSource\n        ) {\n          return scripts[i];\n        }\n      }\n  \n      // If no match, return null\n      return null;\n    }\n  };\n\n  return getCurrentScript\n}));\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n    Promise: undefined,\n    set useDeprecatedSynchronousErrorHandling(value) {\n        if (value) {\n            var error = /*@__PURE__*/ new Error();\n            /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n        }\n        else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n            /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n        }\n        _enable_super_gross_mode_that_will_cause_bad_things = value;\n    },\n    get useDeprecatedSynchronousErrorHandling() {\n        return _enable_super_gross_mode_that_will_cause_bad_things;\n    },\n};\n//# sourceMappingURL=config.js.map\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n  store.inspectSource = function (it) {\n    return functionToString.call(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"js-clipper-fixed\"},[_c('div',{staticClass:\"vuejs-clipper-fixed__wrap js-wrap\",style:(_vm.wrapStyle)},[_c('canvas',{staticClass:\"vuejs-clipper-fixed__stem-outer\",attrs:{\"width\":_vm.stemArea.width,\"height\":_vm.stemArea.height}}),_c('div',{staticClass:\"vuejs-clipper-fixed__img-center\"},[_c('canvas',{staticClass:\"vuejs-clipper-fixed__stem-bg js-stem-bg\"}),_c('div',{staticClass:\"vuejs-clipper-fixed__img-scale js-img-scale\",style:(_vm.scaleStyle)},[_c('div',{staticClass:\"vuejs-clipper-fixed__img-translate js-img-translate\",style:(_vm.translateStyle)},[_c('img',{staticClass:\"vuejs-clipper-fixed__img js-img\",style:(_vm.bgStyle),attrs:{\"src\":_vm.src,\"crossorigin\":_vm.crossOrigin},on:{\"load\":function($event){_vm.imgLoaded(); _vm.emit('load',$event)},\"error\":function($event){return _vm.emit('error',$event)}}})])])]),_c('div',{staticClass:\"vuejs-clipper-fixed__cover\"},[_c('div',{staticClass:\"vuejs-clipper-fixed__area js-area\",style:(_vm.areaStyle)},[_c('canvas',{staticClass:\"vuejs-clipper-fixed__stem-area\",style:(_vm.stemStyle),attrs:{\"width\":_vm.stemArea.width,\"height\":_vm.stemArea.height}}),(_vm.grid)?_c('div',{staticClass:\"vuejs-clipper-fixed__grid\"},_vm._l((4),function(index){return _c('div',{key:'gridItem'+index,staticClass:\"vuejs-clipper-fixed__grid-item\"})}),0):_vm._e()])])]),_c('div',{staticClass:\"vuejs-clipper-fixed__placeholder\",style:(_vm.eptStyle)},[_vm._t(\"placeholder\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <div class=\"js-clipper-fixed\">\r\n    <div\r\n      class=\"vuejs-clipper-fixed__wrap js-wrap\"\r\n      :style=\"wrapStyle\"\r\n    >\r\n      <canvas\r\n        class=\"vuejs-clipper-fixed__stem-outer\"\r\n        :width=\"stemArea.width\"\r\n        :height=\"stemArea.height\"\r\n      />\r\n      <div class=\"vuejs-clipper-fixed__img-center\">\r\n        <canvas class=\"vuejs-clipper-fixed__stem-bg js-stem-bg\" />\r\n        <div\r\n          class=\"vuejs-clipper-fixed__img-scale js-img-scale\"\r\n          :style=\"scaleStyle\"\r\n        >\r\n          <div\r\n            class=\"vuejs-clipper-fixed__img-translate js-img-translate\"\r\n            :style=\"translateStyle\"\r\n          >\r\n            <img\r\n              :src=\"src\"\r\n              class=\"vuejs-clipper-fixed__img js-img\"\r\n              :style=\"bgStyle\"\r\n              :crossorigin=\"crossOrigin\"\r\n              @load=\"imgLoaded(); emit('load',$event)\"\r\n              @error=\"emit('error',$event)\"\r\n            >\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"vuejs-clipper-fixed__cover\">\r\n        <div\r\n          class=\"vuejs-clipper-fixed__area js-area\"\r\n          :style=\"areaStyle\"\r\n        >\r\n          <canvas\r\n            class=\"vuejs-clipper-fixed__stem-area\"\r\n            :width=\"stemArea.width\"\r\n            :height=\"stemArea.height\"\r\n            :style=\"stemStyle\"\r\n          />\r\n          <div\r\n            v-if=\"grid\"\r\n            class=\"vuejs-clipper-fixed__grid\"\r\n          >\r\n            <div\r\n              v-for=\"index in 4\"\r\n              :key=\"'gridItem'+index\"\r\n              class=\"vuejs-clipper-fixed__grid-item\"\r\n            />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div\r\n      class=\"vuejs-clipper-fixed__placeholder\"\r\n      :style=\"eptStyle\"\r\n    >\r\n      <slot name=\"placeholder\" />\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n  fixedMethods,\r\n  rxEventListeners,\r\n  rxWheelListeners,\r\n  pluginMethods\r\n} from './extends/clippo'\r\nimport {\r\n  map,\r\n  tap,\r\n  filter,\r\n  startWith,\r\n  concatMap,\r\n  merge,\r\n  takeUntil\r\n} from 'rxjs/operators'\r\nimport { Subject, merge as mergeObs } from 'rxjs'\r\nexport default {\r\n  extends: {\r\n    methods: fixedMethods,\r\n    mixins: [rxEventListeners, rxWheelListeners, pluginMethods]\r\n  },\r\n  subscriptions () {\r\n    this.setWH$ = new Subject()\r\n    this.setTL$ = new Subject()\r\n    this.change$ = new Subject()\r\n    /** basic */\r\n    this.mousedownDrag$ = this.mousedown$.pipe(\r\n      filter(this.isDragElement),\r\n      tap(this.prevent),\r\n      map(this.dragDownPos),\r\n      concatMap(\r\n        () => this.mousemove$.pipe(tap(this.prevent), takeUntil(this.mouseup$)),\r\n        (down, move) => {\r\n          return { down, move }\r\n        }\r\n      )\r\n    )\r\n    this.touchdownDrag$ = this.touchstart$.pipe(\r\n      filter(this.isDragElement),\r\n      tap(this.prevent),\r\n      filter(e => e.touches.length === 1),\r\n      map(e => e.touches[0]),\r\n      map(this.dragDownPos),\r\n      concatMap(\r\n        () =>\r\n          this.touchmove$.pipe(\r\n            takeUntil(this.touchend$),\r\n            filter(e => e.touches.length === 1)\r\n          ),\r\n        (down, move) => {\r\n          return { down, move: move.touches[0] }\r\n        }\r\n      )\r\n    )\r\n    this.wheelEvent$ = this.wheel$.pipe(\r\n      filter(this.isDragElement),\r\n      tap(this.prevent),\r\n      map(e => e.deltaY),\r\n      map(deltaY => (deltaY >= 0 ? -1 : 1))\r\n    )\r\n    this.touchTwoFinger$ = this.touchstart$.pipe(\r\n      filter(this.isDragElement),\r\n      filter(e => e.touches.length === 2),\r\n      tap(this.prevent),\r\n      map(this.towPointsTouches),\r\n      map(this.setOrigin),\r\n      concatMap(\r\n        () =>\r\n          this.touchmove$.pipe(\r\n            takeUntil(this.touchend$),\r\n            filter(e => e.touches.length === 2),\r\n            map(this.towPointsTouches)\r\n          ),\r\n        ({ down, origin }, move) => {\r\n          return { down, move, origin }\r\n        }\r\n      ),\r\n      map(this.twoPointsDelta)\r\n    )\r\n    /** Zoom Subject */\r\n    this.wheelZoom$ = new Subject().pipe(\r\n      startWith(1),\r\n      merge(this.wheelEvent$),\r\n      map(this.calcWheelScaling)\r\n    )\r\n    this.touchZoom$ = new Subject().pipe(\r\n      startWith(1),\r\n      merge(this.touchTwoFinger$),\r\n      map(this.calcTouchScaling)\r\n    )\r\n\r\n    this.zoomFromNativeEvents = mergeObs(\r\n      this.wheelZoom$,\r\n      this.touchZoom$\r\n    )\r\n      .pipe(\r\n        map(this.handleZoomEvent)\r\n      )\r\n\r\n    this.zoomSubject$ = new Subject().pipe(\r\n      merge(this.setWH$),\r\n      merge(this.zoomFromNativeEvents)\r\n    )\r\n    /** Drag Subject */\r\n    this.dragSubject$ = new Subject().pipe(\r\n      startWith({ left: 0, top: 0 }),\r\n      merge(this.setTL$),\r\n      merge(\r\n        this.mousedownDrag$.pipe(\r\n          merge(this.touchdownDrag$),\r\n          map(this.delta),\r\n          map(this.toPercentage)\r\n        )\r\n      )\r\n    )\r\n\r\n    this.onChange$ = new Subject().pipe(\r\n      merge(this.zoomSubject$),\r\n      merge(this.dragSubject$),\r\n      merge(this.change$)\r\n    )\r\n\r\n    return {\r\n      bgWH$: this.zoomSubject$,\r\n      bgTL$: this.dragSubject$\r\n    }\r\n  },\r\n  props: {\r\n    src: {\r\n      type: String,\r\n      default: ''\r\n    },\r\n    rotate: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    ratio: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    zoomRate: {\r\n      type: Number,\r\n      default: 0.04\r\n    },\r\n    minScale: {\r\n      type: Number,\r\n      default: 0.1\r\n    },\r\n    bgColor: {\r\n      type: String,\r\n      default: 'white'\r\n    },\r\n    border: {\r\n      type: Number,\r\n      default: 1\r\n    },\r\n    borderColor: {\r\n      type: String,\r\n      default: 'white'\r\n    },\r\n    grid: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    shadow: {\r\n      type: String,\r\n      default: 'rgba(0, 0, 0, 0.4)'\r\n    },\r\n    round: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    preview: {\r\n      type: String,\r\n      default: ''\r\n    },\r\n    crossOrigin: {\r\n      type: String,\r\n      default: undefined\r\n    },\r\n    area: {\r\n      type: Number,\r\n      default: 50\r\n    },\r\n    handleZoomEvent: {\r\n      type: Function,\r\n      default: val => val\r\n    }\r\n  },\r\n  data () {\r\n    return {\r\n      imgRatio: NaN\r\n    }\r\n  },\r\n  computed: {\r\n    areaStyle: function () {\r\n      const style = {\r\n        'color': this.shadow,\r\n        'border-width': `${this.border}px !important`,\r\n        'border-color': `${this.borderColor} !important`,\r\n        'box-shadow': `0 0 0 ${this._shadow} !important`,\r\n        'border-radius': `${(this.round) ? '50%' : ''} !important`\r\n      }\r\n      this.ratio >= 1 ? (style.width = `${this.area}% !important`) : (style.height = `${this.area}% !important`)\r\n      return style\r\n    },\r\n    scaleStyle: function () {\r\n      let width = this.bgWH$\r\n      return {\r\n        transform: `scale(${width}) !important`\r\n      }\r\n    },\r\n    translateStyle: function () {\r\n      let left = this.bgTL$.left\r\n      let top = this.bgTL$.top\r\n      return {\r\n        transform: `translate(${left}%,${top}%) !important`\r\n      }\r\n    },\r\n    bgStyle: function () {\r\n      return {\r\n        transform: `rotate(${this.rotate}deg) !important`\r\n      }\r\n    },\r\n    wrapStyle: function () {\r\n      return {\r\n        'background-color': `${this.bgColor} !important`,\r\n        'display': `${(this.src) ? 'block' : 'none'} !important`\r\n      }\r\n    },\r\n    stemArea: function () {\r\n      return {\r\n        width: 100,\r\n        height: 100 / this.ratio\r\n      }\r\n    },\r\n    eptStyle: function () {\r\n      return {\r\n        display: `${(this.src) ? 'none' : 'block'} !important`\r\n      }\r\n    },\r\n    stemStyle: function () {\r\n      const style = {}\r\n      this.ratio >= 1 ? (style.width = '100% !important') : (style.height = '100% !important')\r\n      return style\r\n    },\r\n    _shadow: function () {\r\n      return `${(this.imgRatio >= 1 ? 100 : 100 / this.imgRatio)}vw`\r\n    }\r\n  },\r\n  watch: {\r\n    ratio () {\r\n      this.resetData()\r\n      this.change$.next(0)\r\n    },\r\n    bgColor () {\r\n      this.callPreview('setData', { bgColor: this.bgColor })\r\n    },\r\n    bgStyle () {\r\n      this.change$.next(0)\r\n    }\r\n  },\r\n  mounted () {\r\n    this.imgEl = this.$el.querySelector('.js-clipper-fixed .js-img')\r\n    this.wrapEl = this.$el.querySelector('.js-clipper-fixed .js-wrap')\r\n    this.areaEl = this.$el.querySelector('.js-clipper-fixed .js-area')\r\n    this.scaleEl = this.$el.querySelector('.js-clipper-fixed .js-img-scale')\r\n    this.translateEl = this.$el.querySelector('.js-clipper-fixed .js-img-translate')\r\n    this.stemEl = this.$el.querySelector('.js-clipper-fixed .js-stem-bg')\r\n    this.canvasEl = document.createElement('CANVAS')\r\n    this.$subscribeTo(\r\n      this.onChange$,\r\n      () => {\r\n        this.$nextTick(() => {\r\n          const result = this.getDrawPos().pos\r\n          const rotate = this.rotate\r\n          if (this.invalidDrawPos(result)) return\r\n          this.callPreview('locateImage', result, rotate)\r\n        })\r\n      }\r\n    )\r\n  },\r\n  methods: {\r\n    imgLoaded: function () {\r\n      this.imgRatio = this.imgEl.naturalWidth / this.imgEl.naturalHeight\r\n      this.stemEl.width = this.imgEl.naturalWidth\r\n      this.stemEl.height = this.imgEl.naturalHeight\r\n      this.resetData()\r\n      this.callPreview('setData', {\r\n        src: this.src,\r\n        bgColor: this.bgColor\r\n      })\r\n    },\r\n    resetData: function () {\r\n      this.setTL$.next({ left: 0, top: 0 })\r\n      const scale = (this.ratio > this.imgRatio)\r\n        ? this.imgRatio / this.ratio\r\n        : 1\r\n      this.setWH$.next(Math.max(scale, this.minScale))\r\n    }\r\n  }\r\n}\r\n</script>\r\n<style lang='scss' scoped>\r\n$grid-width: 1px;\r\n\r\n.vuejs-clipper-fixed__wrap {\r\n  position: relative !important;\r\n  overflow: hidden !important;\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  cursor: grab;\r\n}\r\n.vuejs-clipper-fixed__stem-outer {\r\n  position: relative !important;\r\n  top: 0 !important;\r\n  left: 0 !important;\r\n  width: 100% !important;\r\n  display: block !important;\r\n}\r\n.vuejs-clipper-fixed__stem-bg {\r\n  position: relative !important;\r\n  top: 0 !important;\r\n  left: 0 !important;\r\n  width: 100% !important;\r\n}\r\n.vuejs-clipper-fixed__img-center {\r\n  width: 100% !important;\r\n  position: absolute !important;\r\n  top: 50% !important;\r\n  left: 50% !important;\r\n  transform: translate(-50%, -50%) !important;\r\n}\r\n.vuejs-clipper-fixed__img-scale {\r\n  position: absolute !important;\r\n  top: 0% !important;\r\n  left: 0% !important;\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n}\r\n.vuejs-clipper-fixed__img-translate {\r\n  position: absolute !important;\r\n  top: 0% !important;\r\n  left: 0% !important;\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n}\r\n.vuejs-clipper-fixed__img {\r\n  position: absolute !important;\r\n  top: 0 !important;\r\n  left: 0 !important;\r\n  width: 100% !important;\r\n  display: block !important;\r\n}\r\n.vuejs-clipper-fixed__cover {\r\n  pointer-events: none !important;\r\n  position: absolute !important;\r\n  top: 0 !important;\r\n  left: 0 !important;\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  overflow: hidden !important;\r\n}\r\n.vuejs-clipper-fixed__area {\r\n  position: absolute !important;\r\n  top: 50% !important;\r\n  left: 50% !important;\r\n  transform: translate(-50%, -50%) !important;\r\n  border-style: solid;\r\n}\r\n.vuejs-clipper-fixed__stem-area {\r\n  display: block !important;\r\n  position: relative !important;\r\n}\r\n.vuejs-clipper-fixed__grid {\r\n  width: 100%;\r\n  height: 100%;\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  pointer-events: none;\r\n}\r\n.vuejs-clipper-fixed__grid-item {\r\n  position: absolute;\r\n  border-color: rgba(255, 255, 255, 0.7);\r\n  border-style: dashed;\r\n  width: 50%;\r\n  height: 50%;\r\n  box-sizing: border-box;\r\n}\r\n.vuejs-clipper-fixed__grid-item:nth-child(1) {\r\n  top: 0;\r\n  left: 0;\r\n  border-width: 0 $grid-width $grid-width 0;\r\n  transform: translate($grid-width/2, $grid-width/2);\r\n}\r\n.vuejs-clipper-fixed__grid-item:nth-child(2) {\r\n  top: 0;\r\n  right: 0;\r\n  border-width: 0 0 $grid-width 0;\r\n  transform: translate(-$grid-width/2, $grid-width/2);\r\n}\r\n.vuejs-clipper-fixed__grid-item:nth-child(3) {\r\n  bottom: 0;\r\n  left: 0;\r\n  border-width: 0 $grid-width 0 0;\r\n  transform: translate($grid-width/2, -$grid-width/2);\r\n}\r\n.vuejs-clipper-fixed__grid-item:nth-child(4) {\r\n  bottom: 0;\r\n  right: 0;\r\n  border-width: 0;\r\n  transform: translate(-$grid-width/2, -$grid-width/2);\r\n}\r\n</style>\r\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-fixed.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-fixed.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./clipper-fixed.vue?vue&type=template&id=3e3030c1&scoped=true&\"\nimport script from \"./clipper-fixed.vue?vue&type=script&lang=js&\"\nexport * from \"./clipper-fixed.vue?vue&type=script&lang=js&\"\nimport style0 from \"./clipper-fixed.vue?vue&type=style&index=0&id=3e3030c1&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3e3030c1\",\n  null\n  \n)\n\nexport default component.exports","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value == POLYFILL ? true\n    : value == NATIVE ? false\n    : typeof detection == 'function' ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport function identity(x) {\n    return x;\n}\n//# sourceMappingURL=identity.js.map\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n  return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n  try {\n    return decodeURIComponent(sequence);\n  } catch (error) {\n    return sequence;\n  }\n};\n\nvar deserialize = function (it) {\n  var result = it.replace(plus, ' ');\n  var bytes = 4;\n  try {\n    return decodeURIComponent(result);\n  } catch (error) {\n    while (bytes) {\n      result = result.replace(percentSequence(bytes--), percentDecode);\n    }\n    return result;\n  }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n  '!': '%21',\n  \"'\": '%27',\n  '(': '%28',\n  ')': '%29',\n  '~': '%7E',\n  '%20': '+'\n};\n\nvar replacer = function (match) {\n  return replace[match];\n};\n\nvar serialize = function (it) {\n  return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n  if (query) {\n    var attributes = query.split('&');\n    var index = 0;\n    var attribute, entry;\n    while (index < attributes.length) {\n      attribute = attributes[index++];\n      if (attribute.length) {\n        entry = attribute.split('=');\n        result.push({\n          key: deserialize(entry.shift()),\n          value: deserialize(entry.join('='))\n        });\n      }\n    }\n  }\n};\n\nvar updateSearchParams = function (query) {\n  this.entries.length = 0;\n  parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n  if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n  setInternalState(this, {\n    type: URL_SEARCH_PARAMS_ITERATOR,\n    iterator: getIterator(getInternalParamsState(params).entries),\n    kind: kind\n  });\n}, 'Iterator', function next() {\n  var state = getInternalIteratorState(this);\n  var kind = state.kind;\n  var step = state.iterator.next();\n  var entry = step.value;\n  if (!step.done) {\n    step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n  } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n  anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n  var init = arguments.length > 0 ? arguments[0] : undefined;\n  var that = this;\n  var entries = [];\n  var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n  setInternalState(that, {\n    type: URL_SEARCH_PARAMS,\n    entries: entries,\n    updateURL: function () { /* empty */ },\n    updateSearchParams: updateSearchParams\n  });\n\n  if (init !== undefined) {\n    if (isObject(init)) {\n      iteratorMethod = getIteratorMethod(init);\n      if (typeof iteratorMethod === 'function') {\n        iterator = iteratorMethod.call(init);\n        next = iterator.next;\n        while (!(step = next.call(iterator)).done) {\n          entryIterator = getIterator(anObject(step.value));\n          entryNext = entryIterator.next;\n          if (\n            (first = entryNext.call(entryIterator)).done ||\n            (second = entryNext.call(entryIterator)).done ||\n            !entryNext.call(entryIterator).done\n          ) throw TypeError('Expected sequence with length 2');\n          entries.push({ key: first.value + '', value: second.value + '' });\n        }\n      } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n    } else {\n      parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n    }\n  }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n  // `URLSearchParams.prototype.appent` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n  append: function append(name, value) {\n    validateArgumentsLength(arguments.length, 2);\n    var state = getInternalParamsState(this);\n    state.entries.push({ key: name + '', value: value + '' });\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.delete` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n  'delete': function (name) {\n    validateArgumentsLength(arguments.length, 1);\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    var key = name + '';\n    var index = 0;\n    while (index < entries.length) {\n      if (entries[index].key === key) entries.splice(index, 1);\n      else index++;\n    }\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.get` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n  get: function get(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = name + '';\n    var index = 0;\n    for (; index < entries.length; index++) {\n      if (entries[index].key === key) return entries[index].value;\n    }\n    return null;\n  },\n  // `URLSearchParams.prototype.getAll` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n  getAll: function getAll(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = name + '';\n    var result = [];\n    var index = 0;\n    for (; index < entries.length; index++) {\n      if (entries[index].key === key) result.push(entries[index].value);\n    }\n    return result;\n  },\n  // `URLSearchParams.prototype.has` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n  has: function has(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = name + '';\n    var index = 0;\n    while (index < entries.length) {\n      if (entries[index++].key === key) return true;\n    }\n    return false;\n  },\n  // `URLSearchParams.prototype.set` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n  set: function set(name, value) {\n    validateArgumentsLength(arguments.length, 1);\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    var found = false;\n    var key = name + '';\n    var val = value + '';\n    var index = 0;\n    var entry;\n    for (; index < entries.length; index++) {\n      entry = entries[index];\n      if (entry.key === key) {\n        if (found) entries.splice(index--, 1);\n        else {\n          found = true;\n          entry.value = val;\n        }\n      }\n    }\n    if (!found) entries.push({ key: key, value: val });\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.sort` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n  sort: function sort() {\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    // Array#sort is not stable in some engines\n    var slice = entries.slice();\n    var entry, entriesIndex, sliceIndex;\n    entries.length = 0;\n    for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n      entry = slice[sliceIndex];\n      for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n        if (entries[entriesIndex].key > entry.key) {\n          entries.splice(entriesIndex, 0, entry);\n          break;\n        }\n      }\n      if (entriesIndex === sliceIndex) entries.push(entry);\n    }\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.forEach` method\n  forEach: function forEach(callback /* , thisArg */) {\n    var entries = getInternalParamsState(this).entries;\n    var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n    var index = 0;\n    var entry;\n    while (index < entries.length) {\n      entry = entries[index++];\n      boundFunction(entry.value, entry.key, this);\n    }\n  },\n  // `URLSearchParams.prototype.keys` method\n  keys: function keys() {\n    return new URLSearchParamsIterator(this, 'keys');\n  },\n  // `URLSearchParams.prototype.values` method\n  values: function values() {\n    return new URLSearchParamsIterator(this, 'values');\n  },\n  // `URLSearchParams.prototype.entries` method\n  entries: function entries() {\n    return new URLSearchParamsIterator(this, 'entries');\n  }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n  var entries = getInternalParamsState(this).entries;\n  var result = [];\n  var index = 0;\n  var entry;\n  while (index < entries.length) {\n    entry = entries[index++];\n    result.push(serialize(entry.key) + '=' + serialize(entry.value));\n  } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n  URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n  $({ global: true, enumerable: true, forced: true }, {\n    fetch: function fetch(input /* , init */) {\n      var args = [input];\n      var init, body, headers;\n      if (arguments.length > 1) {\n        init = arguments[1];\n        if (isObject(init)) {\n          body = init.body;\n          if (classof(body) === URL_SEARCH_PARAMS) {\n            headers = init.headers ? new Headers(init.headers) : new Headers();\n            if (!headers.has('content-type')) {\n              headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n            }\n            init = create(init, {\n              body: createPropertyDescriptor(0, String(body)),\n              headers: createPropertyDescriptor(0, headers)\n            });\n          }\n        }\n        args.push(init);\n      } return $fetch.apply(this, args);\n    }\n  });\n}\n\nmodule.exports = {\n  URLSearchParams: URLSearchParamsConstructor,\n  getState: getInternalParamsState\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n  var array = [];\n  array[IS_CONCAT_SPREADABLE] = false;\n  return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n  if (!isObject(O)) return false;\n  var spreadable = O[IS_CONCAT_SPREADABLE];\n  return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n  concat: function concat(arg) { // eslint-disable-line no-unused-vars\n    var O = toObject(this);\n    var A = arraySpeciesCreate(O, 0);\n    var n = 0;\n    var i, k, length, len, E;\n    for (i = -1, length = arguments.length; i < length; i++) {\n      E = i === -1 ? O : arguments[i];\n      if (isConcatSpreadable(E)) {\n        len = toLength(E.length);\n        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n      } else {\n        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n        createProperty(A, n++, E);\n      }\n    }\n    A.length = n;\n    return A;\n  }\n});\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n  var iteratorMethod = getIteratorMethod(it);\n  if (typeof iteratorMethod != 'function') {\n    throw TypeError(String(it) + ' is not iterable');\n  } return anObject(iteratorMethod.call(it));\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n  try {\n    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (error) {\n    var returnMethod = iterator['return'];\n    if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n    throw error;\n  }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return nativeDefineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport function isScheduler(value) {\n    return value && typeof value.schedule === 'function';\n}\n//# sourceMappingURL=isScheduler.js.map\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n  var TO_STRING_TAG = NAME + ' Iterator';\n  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n  Iterators[TO_STRING_TAG] = returnThis;\n  return IteratorConstructor;\n};\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';\nexport function takeUntil(notifier) {\n    return function (source) { return source.lift(new TakeUntilOperator(notifier)); };\n}\nvar TakeUntilOperator = /*@__PURE__*/ (function () {\n    function TakeUntilOperator(notifier) {\n        this.notifier = notifier;\n    }\n    TakeUntilOperator.prototype.call = function (subscriber, source) {\n        var takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n        var 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    return TakeUntilOperator;\n}());\nvar TakeUntilSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(TakeUntilSubscriber, _super);\n    function TakeUntilSubscriber(destination) {\n        var _this = _super.call(this, destination) || this;\n        _this.seenValue = false;\n        return _this;\n    }\n    TakeUntilSubscriber.prototype.notifyNext = function () {\n        this.seenValue = true;\n        this.complete();\n    };\n    TakeUntilSubscriber.prototype.notifyComplete = function () {\n    };\n    return TakeUntilSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=takeUntil.js.map\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n    return new Observable(function (subscriber) {\n        var sub = new Subscription();\n        sub.add(scheduler.schedule(function () {\n            var observable = input[Symbol_observable]();\n            sub.add(observable.subscribe({\n                next: function (value) { sub.add(scheduler.schedule(function () { return subscriber.next(value); })); },\n                error: function (err) { sub.add(scheduler.schedule(function () { return subscriber.error(err); })); },\n                complete: function () { sub.add(scheduler.schedule(function () { return subscriber.complete(); })); },\n            }));\n        }));\n        return sub;\n    });\n}\n//# sourceMappingURL=scheduleObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n    return new Observable(function (subscriber) {\n        var sub = new Subscription();\n        sub.add(scheduler.schedule(function () {\n            return input.then(function (value) {\n                sub.add(scheduler.schedule(function () {\n                    subscriber.next(value);\n                    sub.add(scheduler.schedule(function () { return subscriber.complete(); }));\n                }));\n            }, function (err) {\n                sub.add(scheduler.schedule(function () { return subscriber.error(err); }));\n            });\n        }));\n        return sub;\n    });\n}\n//# sourceMappingURL=schedulePromise.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_iterator PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n    if (!input) {\n        throw new Error('Iterable cannot be null');\n    }\n    return new Observable(function (subscriber) {\n        var sub = new Subscription();\n        var iterator;\n        sub.add(function () {\n            if (iterator && typeof iterator.return === 'function') {\n                iterator.return();\n            }\n        });\n        sub.add(scheduler.schedule(function () {\n            iterator = input[Symbol_iterator]();\n            sub.add(scheduler.schedule(function () {\n                if (subscriber.closed) {\n                    return;\n                }\n                var value;\n                var done;\n                try {\n                    var result = iterator.next();\n                    value = result.value;\n                    done = result.done;\n                }\n                catch (err) {\n                    subscriber.error(err);\n                    return;\n                }\n                if (done) {\n                    subscriber.complete();\n                }\n                else {\n                    subscriber.next(value);\n                    this.schedule();\n                }\n            }));\n        }));\n        return sub;\n    });\n}\n//# sourceMappingURL=scheduleIterable.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n    return input && typeof input[Symbol_observable] === 'function';\n}\n//# sourceMappingURL=isInteropObservable.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n    return input && typeof input[Symbol_iterator] === 'function';\n}\n//# sourceMappingURL=isIterable.js.map\n","/** PURE_IMPORTS_START _scheduleObservable,_schedulePromise,_scheduleArray,_scheduleIterable,_util_isInteropObservable,_util_isPromise,_util_isArrayLike,_util_isIterable PURE_IMPORTS_END */\nimport { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nexport function scheduled(input, scheduler) {\n    if (input != null) {\n        if (isInteropObservable(input)) {\n            return scheduleObservable(input, scheduler);\n        }\n        else if (isPromise(input)) {\n            return schedulePromise(input, scheduler);\n        }\n        else if (isArrayLike(input)) {\n            return scheduleArray(input, scheduler);\n        }\n        else if (isIterable(input) || typeof input === 'string') {\n            return scheduleIterable(input, scheduler);\n        }\n    }\n    throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n//# sourceMappingURL=scheduled.js.map\n","/** PURE_IMPORTS_START _Observable,_util_subscribeTo,_scheduled_scheduled PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n    if (!scheduler) {\n        if (input instanceof Observable) {\n            return input;\n        }\n        return new Observable(subscribeTo(input));\n    }\n    else {\n        return scheduled(input, scheduler);\n    }\n}\n//# sourceMappingURL=from.js.map\n","/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function mergeMap(project, resultSelector, concurrent) {\n    if (concurrent === void 0) {\n        concurrent = Number.POSITIVE_INFINITY;\n    }\n    if (typeof resultSelector === 'function') {\n        return function (source) { return source.pipe(mergeMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); }, concurrent)); };\n    }\n    else if (typeof resultSelector === 'number') {\n        concurrent = resultSelector;\n    }\n    return function (source) { return source.lift(new MergeMapOperator(project, concurrent)); };\n}\nvar MergeMapOperator = /*@__PURE__*/ (function () {\n    function MergeMapOperator(project, concurrent) {\n        if (concurrent === void 0) {\n            concurrent = Number.POSITIVE_INFINITY;\n        }\n        this.project = project;\n        this.concurrent = concurrent;\n    }\n    MergeMapOperator.prototype.call = function (observer, source) {\n        return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n    };\n    return MergeMapOperator;\n}());\nexport { MergeMapOperator };\nvar MergeMapSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(MergeMapSubscriber, _super);\n    function MergeMapSubscriber(destination, project, concurrent) {\n        if (concurrent === void 0) {\n            concurrent = Number.POSITIVE_INFINITY;\n        }\n        var _this = _super.call(this, destination) || this;\n        _this.project = project;\n        _this.concurrent = concurrent;\n        _this.hasCompleted = false;\n        _this.buffer = [];\n        _this.active = 0;\n        _this.index = 0;\n        return _this;\n    }\n    MergeMapSubscriber.prototype._next = function (value) {\n        if (this.active < this.concurrent) {\n            this._tryNext(value);\n        }\n        else {\n            this.buffer.push(value);\n        }\n    };\n    MergeMapSubscriber.prototype._tryNext = function (value) {\n        var result;\n        var index = this.index++;\n        try {\n            result = this.project(value, index);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.active++;\n        this._innerSub(result);\n    };\n    MergeMapSubscriber.prototype._innerSub = function (ish) {\n        var innerSubscriber = new SimpleInnerSubscriber(this);\n        var destination = this.destination;\n        destination.add(innerSubscriber);\n        var innerSubscription = innerSubscribe(ish, innerSubscriber);\n        if (innerSubscription !== innerSubscriber) {\n            destination.add(innerSubscription);\n        }\n    };\n    MergeMapSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.active === 0 && this.buffer.length === 0) {\n            this.destination.complete();\n        }\n        this.unsubscribe();\n    };\n    MergeMapSubscriber.prototype.notifyNext = function (innerValue) {\n        this.destination.next(innerValue);\n    };\n    MergeMapSubscriber.prototype.notifyComplete = function () {\n        var buffer = this.buffer;\n        this.active--;\n        if (buffer.length > 0) {\n            this._next(buffer.shift());\n        }\n        else if (this.active === 0 && this.hasCompleted) {\n            this.destination.complete();\n        }\n    };\n    return MergeMapSubscriber;\n}(SimpleOuterSubscriber));\nexport { MergeMapSubscriber };\nexport var flatMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n    function UnsubscriptionErrorImpl(errors) {\n        Error.call(this);\n        this.message = errors ?\n            errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n  ') : '';\n        this.name = 'UnsubscriptionError';\n        this.errors = errors;\n        return this;\n    }\n    UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n    return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n    function Subscription(unsubscribe) {\n        this.closed = false;\n        this._parentOrParents = null;\n        this._subscriptions = null;\n        if (unsubscribe) {\n            this._ctorUnsubscribe = true;\n            this._unsubscribe = unsubscribe;\n        }\n    }\n    Subscription.prototype.unsubscribe = function () {\n        var errors;\n        if (this.closed) {\n            return;\n        }\n        var _a = this, _parentOrParents = _a._parentOrParents, _ctorUnsubscribe = _a._ctorUnsubscribe, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n        this.closed = true;\n        this._parentOrParents = null;\n        this._subscriptions = null;\n        if (_parentOrParents instanceof Subscription) {\n            _parentOrParents.remove(this);\n        }\n        else if (_parentOrParents !== null) {\n            for (var index = 0; index < _parentOrParents.length; ++index) {\n                var parent_1 = _parentOrParents[index];\n                parent_1.remove(this);\n            }\n        }\n        if (isFunction(_unsubscribe)) {\n            if (_ctorUnsubscribe) {\n                this._unsubscribe = undefined;\n            }\n            try {\n                _unsubscribe.call(this);\n            }\n            catch (e) {\n                errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n            }\n        }\n        if (isArray(_subscriptions)) {\n            var index = -1;\n            var len = _subscriptions.length;\n            while (++index < len) {\n                var sub = _subscriptions[index];\n                if (isObject(sub)) {\n                    try {\n                        sub.unsubscribe();\n                    }\n                    catch (e) {\n                        errors = errors || [];\n                        if (e instanceof UnsubscriptionError) {\n                            errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n                        }\n                        else {\n                            errors.push(e);\n                        }\n                    }\n                }\n            }\n        }\n        if (errors) {\n            throw new UnsubscriptionError(errors);\n        }\n    };\n    Subscription.prototype.add = function (teardown) {\n        var subscription = teardown;\n        if (!teardown) {\n            return Subscription.EMPTY;\n        }\n        switch (typeof teardown) {\n            case 'function':\n                subscription = new Subscription(teardown);\n            case 'object':\n                if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n                    return subscription;\n                }\n                else if (this.closed) {\n                    subscription.unsubscribe();\n                    return subscription;\n                }\n                else if (!(subscription instanceof Subscription)) {\n                    var tmp = subscription;\n                    subscription = new Subscription();\n                    subscription._subscriptions = [tmp];\n                }\n                break;\n            default: {\n                throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n            }\n        }\n        var _parentOrParents = subscription._parentOrParents;\n        if (_parentOrParents === null) {\n            subscription._parentOrParents = this;\n        }\n        else if (_parentOrParents instanceof Subscription) {\n            if (_parentOrParents === this) {\n                return subscription;\n            }\n            subscription._parentOrParents = [_parentOrParents, this];\n        }\n        else if (_parentOrParents.indexOf(this) === -1) {\n            _parentOrParents.push(this);\n        }\n        else {\n            return subscription;\n        }\n        var subscriptions = this._subscriptions;\n        if (subscriptions === null) {\n            this._subscriptions = [subscription];\n        }\n        else {\n            subscriptions.push(subscription);\n        }\n        return subscription;\n    };\n    Subscription.prototype.remove = function (subscription) {\n        var subscriptions = this._subscriptions;\n        if (subscriptions) {\n            var subscriptionIndex = subscriptions.indexOf(subscription);\n            if (subscriptionIndex !== -1) {\n                subscriptions.splice(subscriptionIndex, 1);\n            }\n        }\n    };\n    Subscription.EMPTY = (function (empty) {\n        empty.closed = true;\n        return empty;\n    }(new Subscription()));\n    return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n    return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","/** PURE_IMPORTS_START _util_isScheduler,_fromArray,_scheduled_scheduleArray PURE_IMPORTS_END */\nimport { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function of() {\n    var args = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n    }\n    var scheduler = args[args.length - 1];\n    if (isScheduler(scheduler)) {\n        args.pop();\n        return scheduleArray(args, scheduler);\n    }\n    else {\n        return fromArray(args);\n    }\n}\n//# sourceMappingURL=of.js.map\n","/** PURE_IMPORTS_START _mergeAll PURE_IMPORTS_END */\nimport { mergeAll } from './mergeAll';\nexport function concatAll() {\n    return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map\n","/** PURE_IMPORTS_START _of,_operators_concatAll PURE_IMPORTS_END */\nimport { of } from './of';\nimport { concatAll } from '../operators/concatAll';\nexport function concat() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i] = arguments[_i];\n    }\n    return concatAll()(of.apply(void 0, observables));\n}\n//# sourceMappingURL=concat.js.map\n","/** PURE_IMPORTS_START _observable_concat,_util_isScheduler PURE_IMPORTS_END */\nimport { concat } from '../observable/concat';\nimport { isScheduler } from '../util/isScheduler';\nexport function startWith() {\n    var array = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        array[_i] = arguments[_i];\n    }\n    var scheduler = array[array.length - 1];\n    if (isScheduler(scheduler)) {\n        array.pop();\n        return function (source) { return concat(array, source, scheduler); };\n    }\n    else {\n        return function (source) { return concat(array, source); };\n    }\n}\n//# sourceMappingURL=startWith.js.map\n","/** PURE_IMPORTS_START _Observable,_util_isScheduler,_operators_mergeAll,_fromArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function merge() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i] = arguments[_i];\n    }\n    var concurrent = Number.POSITIVE_INFINITY;\n    var scheduler = null;\n    var last = observables[observables.length - 1];\n    if (isScheduler(last)) {\n        scheduler = observables.pop();\n        if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n            concurrent = observables.pop();\n        }\n    }\n    else if (typeof last === 'number') {\n        concurrent = observables.pop();\n    }\n    if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n        return observables[0];\n    }\n    return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n//# sourceMappingURL=merge.js.map\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n  var it = toPrimitive(argument, false);\n  var first, third, radix, maxCode, digits, length, index, code;\n  if (typeof it == 'string' && it.length > 2) {\n    it = trim(it);\n    first = it.charCodeAt(0);\n    if (first === 43 || first === 45) {\n      third = it.charCodeAt(2);\n      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n    } else if (first === 48) {\n      switch (it.charCodeAt(1)) {\n        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n        default: return +it;\n      }\n      digits = it.slice(2);\n      length = digits.length;\n      for (index = 0; index < length; index++) {\n        code = digits.charCodeAt(index);\n        // parseInt parses a string to a first unavailable symbol\n        // but ToNumber should return NaN if a string contains unavailable symbols\n        if (code < 48 || code > maxCode) return NaN;\n      } return parseInt(digits, radix);\n    }\n  } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n  var NumberWrapper = function Number(value) {\n    var it = arguments.length < 1 ? 0 : value;\n    var dummy = this;\n    return dummy instanceof NumberWrapper\n      // check on 1..constructor(foo) case\n      && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n        ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n  };\n  for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n    // ES3:\n    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n    // ES2015 (in case, if modules with ES2015 Number statics required before):\n    'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n    'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n  ).split(','), j = 0, key; keys.length > j; j++) {\n    if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n      defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n    }\n  }\n  NumberWrapper.prototype = NumberPrototype;\n  NumberPrototype.constructor = NumberWrapper;\n  redefine(global, NUMBER, NumberWrapper);\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n  var regexp = /./;\n  try {\n    '/./'[METHOD_NAME](regexp);\n  } catch (e) {\n    try {\n      regexp[MATCH] = false;\n      return '/./'[METHOD_NAME](regexp);\n    } catch (f) { /* empty */ }\n  } return false;\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n  arrayIterator = [].keys();\n  // Safari 8 has buggy iterators w/o `next`\n  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n  else {\n    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n  }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n  IteratorPrototype: IteratorPrototype,\n  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n  return '[object ' + classof(this) + ']';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n  defineProperty(FunctionPrototype, NAME, {\n    configurable: true,\n    get: function () {\n      try {\n        return FunctionPrototypeToString.call(this).match(nameRE)[1];\n      } catch (error) {\n        return '';\n      }\n    }\n  });\n}\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n  flush = function () {\n    var parent, fn;\n    if (IS_NODE && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (error) {\n        if (head) notify();\n        else last = undefined;\n        throw error;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (IS_NODE) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n  } else if (MutationObserver && !IS_IOS) {\n    toggle = true;\n    node = document.createTextNode('');\n    new MutationObserver(flush).observe(node, { characterData: true });\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    promise = Promise.resolve(undefined);\n    then = promise.then;\n    notify = function () {\n      then.call(promise, flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n  var task = { fn: fn, next: undefined };\n  if (last) last.next = task;\n  if (!head) {\n    head = task;\n    notify();\n  } last = task;\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!has(WellKnownSymbolsStore, name)) {\n    if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n  if (!isObject(input)) return input;\n  var fn, val;\n  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = false;\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_noop,_util_isFunction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { noop } from '../util/noop';\nimport { isFunction } from '../util/isFunction';\nexport function tap(nextOrObserver, error, complete) {\n    return function tapOperatorFunction(source) {\n        return source.lift(new DoOperator(nextOrObserver, error, complete));\n    };\n}\nvar DoOperator = /*@__PURE__*/ (function () {\n    function DoOperator(nextOrObserver, error, complete) {\n        this.nextOrObserver = nextOrObserver;\n        this.error = error;\n        this.complete = complete;\n    }\n    DoOperator.prototype.call = function (subscriber, source) {\n        return source.subscribe(new TapSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n    };\n    return DoOperator;\n}());\nvar TapSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(TapSubscriber, _super);\n    function TapSubscriber(destination, observerOrNext, error, complete) {\n        var _this = _super.call(this, destination) || this;\n        _this._tapNext = noop;\n        _this._tapError = noop;\n        _this._tapComplete = noop;\n        _this._tapError = error || noop;\n        _this._tapComplete = complete || noop;\n        if (isFunction(observerOrNext)) {\n            _this._context = _this;\n            _this._tapNext = observerOrNext;\n        }\n        else if (observerOrNext) {\n            _this._context = observerOrNext;\n            _this._tapNext = observerOrNext.next || noop;\n            _this._tapError = observerOrNext.error || noop;\n            _this._tapComplete = observerOrNext.complete || noop;\n        }\n        return _this;\n    }\n    TapSubscriber.prototype._next = function (value) {\n        try {\n            this._tapNext.call(this._context, value);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(value);\n    };\n    TapSubscriber.prototype._error = function (err) {\n        try {\n            this._tapError.call(this._context, err);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.error(err);\n    };\n    TapSubscriber.prototype._complete = function () {\n        try {\n            this._tapComplete.call(this._context);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        return this.destination.complete();\n    };\n    return TapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=tap.js.map\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","const commonMethods = {\r\n  /* 通用 common */\r\n  prevent: function (e) {\r\n    e.preventDefault()\r\n  },\r\n  eTo: function (e, direction, element) {\r\n    const area = this[element + 'Pos']()\r\n    let length = 0\r\n    switch (direction) {\r\n      case 'top':\r\n        length = e.clientY - area.top\r\n        break\r\n      case 'left':\r\n        length = e.clientX - area.left\r\n        break\r\n      case 'right':\r\n        length = area.right - e.clientX\r\n        break\r\n      case 'bottom':\r\n        length = area.bottom - e.clientY\r\n        break\r\n    }\r\n    return length\r\n  },\r\n  toPercentage: function (pos) {\r\n    const result = {}\r\n    const table = {\r\n      left: 'toX',\r\n      right: 'toX',\r\n      top: 'toY',\r\n      bottom: 'toY',\r\n      width: 'toX',\r\n      height: 'toY'\r\n    }\r\n    for (let k in pos) {\r\n      const fn = table[k]\r\n      if (!fn || pos[k] === undefined) continue\r\n      result[k] = this[fn](pos[k])\r\n    }\r\n    return result\r\n  },\r\n  invalidDrawPos: function (pos) { // true if invalid\r\n    return (pos.swidth === 0 || pos.sheight === 0)\r\n  }\r\n}\r\n\r\nexport default commonMethods\r\n","const clipperMethods = {\r\n  eToArea: function (e, direction) {\r\n    return this.eTo(e, direction, 'area')\r\n  },\r\n  areaPos: function () {\r\n    const rect = this.areaEl.getBoundingClientRect()\r\n    return rect\r\n  },\r\n  zoomPos: function () {\r\n    const rect = this.zoomEl.getBoundingClientRect()\r\n    return rect\r\n  },\r\n  scalePos: function () {\r\n    return this.scaleEl.getBoundingClientRect()\r\n  },\r\n  imgPos: function () {\r\n    return this.imgEl.getBoundingClientRect()\r\n  },\r\n  eInZoom: function (e) {\r\n    const zoomPos = this.zoomEl.getBoundingClientRect()\r\n    return {\r\n      width: zoomPos.width,\r\n      height: zoomPos.height,\r\n      left: e.clientX - zoomPos.left,\r\n      top: e.clientY - zoomPos.top\r\n    }\r\n  },\r\n  zoomInArea: function () { // zoom rect & zoom pos related to area\r\n    const areaPos = this.areaEl.getBoundingClientRect()\r\n    const zoomPos = this.zoomEl.getBoundingClientRect()\r\n    return Object.assign(zoomPos, {\r\n      offsetLeft: zoomPos.left - areaPos.left,\r\n      offsetTop: zoomPos.top - areaPos.top,\r\n      maxLeft: areaPos.width - zoomPos.width,\r\n      maxTop: areaPos.height - zoomPos.height\r\n    })\r\n  },\r\n  toX: function (value) { // to X axis percentage 0~100 !\r\n    const area = this.areaPos()\r\n    return Math.min(Math.max(value / (area.width) * 100, 0), 100)\r\n  },\r\n  toY: function (value) { // to Y axis percentage 0~100 !\r\n    const area = this.areaPos()\r\n    return Math.min(Math.max(value / (area.height) * 100, 0), 100)\r\n  },\r\n  /* 拖曳drag */\r\n  isDragElement: function (e) {\r\n    return e.target === this.dragEl\r\n  },\r\n  dragMoving: function ({ down, move }) {\r\n    const left = this.toX(this.eToArea(move, 'left') - down.left)\r\n    const top = this.toY(this.eToArea(move, 'top') - down.top)\r\n    // set max position\r\n    return { left, top, down, move }\r\n  },\r\n  repositionDrag: function ({ left, top, down, move }) { // validate @left, @top, and reposition @down if nedded.\r\n    const zoom = this.zoomInArea()\r\n    const maxLeft = this.toX(zoom.maxLeft)\r\n    const maxTop = this.toY(zoom.maxTop)\r\n    left = Math.min(left, maxLeft)\r\n    top = Math.min(top, maxTop)\r\n    if (left === maxLeft || left === 0) {\r\n      // 轉換拖曳點X\r\n      const eInZoom = this.eInZoom(move)\r\n      down.left = Math.max(Math.min(eInZoom.left, eInZoom.width), 0)\r\n    }\r\n    if (top === maxTop || top === 0) {\r\n      // 轉換拖曳點Y\r\n      const eInZoom = this.eInZoom(move)\r\n      down.top = Math.max(Math.min(eInZoom.top, eInZoom.height), 0)\r\n    }\r\n    return {\r\n      left,\r\n      top\r\n    }\r\n  },\r\n  /* 縮放計算 */\r\n  ratioPos: function (newRect) {\r\n    /**\r\n         * @argument e - moving event\r\n         */\r\n    const zoom = this.zoomPos()\r\n    let xGrow = newRect.width - zoom.width\r\n    let yGrow = newRect.height - zoom.height\r\n    let horizon = xGrow > yGrow\r\n    return {\r\n      x: horizon,\r\n      y: !horizon\r\n    }\r\n  },\r\n  zoomingPosition: function ({ down, move }) {\r\n    // 判斷移動方向\r\n    let x = (move.clientX > down.clientX) ? 'r' : 'l'\r\n    let y = (move.clientY > down.clientY) ? 'b' : 't'\r\n\r\n    const getTop = () => this.eToArea(down, 'top')\r\n    const getLeft = () => this.eToArea(down, 'left')\r\n\r\n    const originTop = getTop()\r\n    const originLeft = getLeft()\r\n\r\n    const area = this.areaPos()\r\n    let left, top, right, bottom\r\n    let width = 0\r\n    let height = 0\r\n    let maxWidth, maxHeight\r\n    const minWidth = this.minWidth * area.width / 100\r\n    const minHeight = (this.ratio)\r\n      ? minWidth / this.ratio\r\n      : this.minHeight * area.height / 100\r\n    // horizontal\r\n    if (x === 'r') {\r\n      if (originLeft + minWidth > area.width) {\r\n        /* clip area will overlay, reset down position */\r\n        down.clientX = area.right - minWidth\r\n        left = originLeft\r\n      } else {\r\n        left = getLeft()\r\n      }\r\n      maxWidth = area.width - left\r\n      width = move.clientX - down.clientX\r\n    } else if (x === 'l') {\r\n      if (originLeft < minWidth) {\r\n        /* clip area will overlay, reset down position */\r\n        down.clientX = area.left + minWidth\r\n      }\r\n      right = area.right - down.clientX\r\n      maxWidth = area.width - right\r\n      width = down.clientX - move.clientX\r\n    }\r\n    // vertical\r\n    if (y === 'b') {\r\n      if (originTop + minHeight > area.height) {\r\n        down.clientY = area.bottom - minHeight\r\n        top = originTop\r\n      } else {\r\n        top = getTop()\r\n      }\r\n      maxHeight = area.height - top\r\n      height = move.clientY - down.clientY\r\n    } else if (y === 't') {\r\n      if (originTop < minHeight) {\r\n        down.clientY = area.top + minHeight\r\n      }\r\n      bottom = area.bottom - down.clientY\r\n      maxHeight = area.height - bottom\r\n      height = down.clientY - move.clientY\r\n    }\r\n\r\n    width = Math.max(Math.min(width, maxWidth), minWidth)\r\n    height = Math.max(Math.min(height, maxHeight), minHeight)\r\n\r\n    return { width, height, top, left, right, bottom, maxWidth, maxHeight }\r\n  },\r\n  setRatioWH: function ({ width, height, maxWidth, maxHeight, left, top, right, bottom }) {\r\n    if (!this.ratio) return { width, height, left, top, right, bottom }\r\n    // 有設定比例的話進行調整\r\n    const ratioPos = this.ratioPos({ width, height })\r\n    if (ratioPos.x) {\r\n      height = Math.min(width / this.ratio, maxHeight)\r\n      width = (height === maxHeight) ? height * this.ratio : width\r\n    } else {\r\n      width = Math.min(height * this.ratio, maxWidth)\r\n      height = (width === maxWidth) ? width / this.ratio : height\r\n    }\r\n    return { width, height, left, top, right, bottom }\r\n  },\r\n  initWHTL: function () {\r\n    let width = this.initWidth\r\n    let height = this.initHeight\r\n    let left = (100 - this.initWidth) / 2\r\n    let top = (100 - this.initHeight) / 2\r\n    const area = this.areaPos()\r\n    const pixel = {\r\n      width: width * area.width / 100,\r\n      height: height * area.height / 100,\r\n      border: this.border * 2\r\n    }\r\n    if (!this.ratio) {\r\n      if (width < this.minWidth) throw new Error('Invalid initWidth, minWidth combination')\r\n      if (height < this.minHeight) throw new Error('Invalid initHeight, minHeight combination')\r\n    } else if (this.ratio) {\r\n      const wrapRatio = this.wrapRatio || this.imgRatio\r\n      const calcH = () => {\r\n        const heightInPixel = (pixel.width - pixel.border) / this.ratio + pixel.border\r\n        const heightInPercentage = heightInPixel / area.height * 100\r\n        height = Math.max(heightInPercentage, this.minHeight)\r\n        top = (100 - height) / 2\r\n      }\r\n      const calcW = () => {\r\n        const widthInPixel = (pixel.height - pixel.border) * this.ratio + pixel.border\r\n        const widthInPercentage = widthInPixel / area.width * 100\r\n        width = Math.max(widthInPercentage, this.minWidth)\r\n        left = (100 - width) / 2\r\n      }\r\n      if (wrapRatio <= this.ratio) {\r\n        calcH()\r\n        if (this.minHeight === height) calcW()\r\n        if (width > 100) throw new Error('Invalid ratio, wrapRatio, minWidth combination')\r\n      } else {\r\n        calcW()\r\n        if (this.minWidth === width) calcH()\r\n        if (height > 100) throw new Error('Invalid ratio, wrapRatio, minWidth combination')\r\n      }\r\n    }\r\n    this.setTL$.next({ left, top })\r\n    return { width, height }\r\n  },\r\n  splitPos: function ({ top, left, right, bottom, width, height, maxWidth, maxHeight }) {\r\n    return {\r\n      tl: { left, top, right, bottom },\r\n      wh: { width, height, maxWidth, maxHeight }\r\n    }\r\n  },\r\n  /* 拖曳縮放 */\r\n  isZoomElement: function (e) {\r\n    return this.zoomEl.contains(e.target) && e.target !== this.dragEl\r\n  },\r\n  judgeArea: function (e) {\r\n    const zoom = this.zoomPos()\r\n    const md = zoom.left + zoom.width / 2\r\n    const vh = zoom.top + zoom.height / 2\r\n    const mouseX = e.clientX\r\n    const mouseY = e.clientY\r\n    return {\r\n      l: mouseX < md,\r\n      r: mouseX > md,\r\n      t: mouseY < vh,\r\n      b: mouseY > vh\r\n    }\r\n  },\r\n  setDownPosition: function (e) { // use in zoomWH$\r\n    const judge = this.judgeArea(e)\r\n    const zoom = this.zoomPos()\r\n    const clientY = judge.t ? zoom.bottom : zoom.top\r\n    const clientX = judge.l ? zoom.right : zoom.left\r\n\r\n    return {\r\n      target: null,\r\n      clientX,\r\n      clientY\r\n    }\r\n  },\r\n  /* 兩指縮放 */\r\n  isTwoPointZoomElement: function (e) {\r\n    // in .area\r\n    return (\r\n      this.areaEl.contains(e.touches[0].target) &&\r\n            this.areaEl.contains(e.touches[1].target)\r\n    )\r\n  },\r\n  getTwoTouchesPos: function (start, move, originZoom) {\r\n    /* p[0]----|\r\n            |---- p[1]\r\n        */\r\n    const area = this.areaPos()\r\n    const normalX = move.touches[0].clientX < move.touches[1].clientX\r\n    const normalY = move.touches[0].clientY < move.touches[1].clientY\r\n    const normalSX = start.touches[0].clientX < start.touches[1].clientX\r\n    const normalSY = start.touches[0].clientY < start.touches[1].clientY\r\n    // const originWRange = Math.abs(start.touches[0].clientX - start.touches[1].clientX),\r\n    //     originHRange = Math.abs(start.touches[0].clientY - start.touches[1].clientY);\r\n    const point = {\r\n      left: (normalX) ? 0 : 1,\r\n      right: (normalX) ? 1 : 0,\r\n      top: (normalY) ? 0 : 1,\r\n      bottom: (normalY) ? 1 : 0\r\n    }\r\n    const pointStart = {\r\n      left: (normalSX) ? 0 : 1,\r\n      right: (normalSX) ? 1 : 0,\r\n      top: (normalSY) ? 0 : 1,\r\n      bottom: (normalSY) ? 1 : 0\r\n    }\r\n    const LMove = start.touches[pointStart.left].clientX - move.touches[point.left].clientX\r\n    const TMove = start.touches[pointStart.top].clientY - move.touches[point.top].clientY\r\n    const minWidth = this.minWidth * area.width / 100\r\n    const minHeight = (this.ratio)\r\n      ? minWidth / this.ratio\r\n      : this.minHeight * area.height / 100\r\n    // 這裡的left,top要先validate否則maxWidth,maxHeight會算錯\r\n    const left = Math.min(originZoom.left - area.left - LMove, area.width - minWidth)\r\n    const top = Math.min(originZoom.top - area.top - TMove, area.height - minHeight)\r\n    const maxWidth = area.width - left\r\n    const maxHeight = area.height - top\r\n    const overRight = (start.touches[pointStart.right].clientX - originZoom.right)\r\n    const overTop = (start.touches[pointStart.bottom].clientY - originZoom.bottom)\r\n    const width = Math.max(Math.min(move.touches[point.right].clientX - area.left - left - overRight, maxWidth), minWidth)\r\n    const height = Math.max(Math.min(move.touches[point.bottom].clientY - top - area.top - overTop, maxHeight), minHeight)\r\n    return { width, height, top, left, maxWidth, maxHeight }\r\n  },\r\n  /* 拖曳重新劃定區域 */\r\n  isCreateElement: function (e) {\r\n    return e.target === this.areaEl || e.target === this.imgEl\r\n  },\r\n  getFakeDown: function (e) {\r\n    return {\r\n      target: e.target,\r\n      clientX: e.clientX,\r\n      clientY: e.clientY\r\n    }\r\n  },\r\n  reverseDownPos: function ({ down, move }) {\r\n    if (this.mode === 'normal') return { down, move }\r\n\r\n    if (down.target !== null && down.target === this.areaEl) { // this is dragCreate, first time dont count\r\n      down.target = null\r\n      return { down, move }\r\n    }\r\n    // 處理反向\r\n    const judge = this.judgeArea(down)\r\n    const zoom = this.zoomPos()\r\n    // 左右反向\r\n    if (judge.l && move.clientX <= down.clientX) {\r\n      down.clientX = zoom.right\r\n    } else if (judge.r && move.clientX >= down.clientX) {\r\n      down.clientX = zoom.left\r\n    }\r\n    // 上下反向\r\n    if (judge.t && move.clientY <= down.clientY) {\r\n      down.clientY = zoom.bottom\r\n    } else if (judge.b && move.clientY >= down.clientY) {\r\n      down.clientY = zoom.top\r\n    }\r\n    return { down, move }\r\n  },\r\n  getImgNonRotatePos: function () {\r\n    // 取得 image 旋轉前的 position\r\n    const scalePos = this.scalePos()\r\n    const x = scalePos.left + scalePos.width / 2\r\n    const y = scalePos.top + scalePos.height / 2\r\n    let w, h\r\n    if (this.isVertical) {\r\n      h = scalePos.height\r\n      w = h * this.imgRatio\r\n    } else {\r\n      w = scalePos.width\r\n      h = w / this.imgRatio\r\n    }\r\n    return {\r\n      left: x - w / 2,\r\n      right: x + w / 2,\r\n      top: y - h / 2,\r\n      bottom: y + h / 2,\r\n      width: w,\r\n      height: h\r\n    }\r\n  },\r\n  // DRAW\r\n  getDrawPos: function (opt) {\r\n    const { wPixel, maxWPixel } = opt || {}\r\n    const zoom = this.zoomPos()\r\n    const img = this.getImgNonRotatePos()\r\n    const imgW = this.imgEl.naturalWidth\r\n    const viewW = img.width\r\n    const viewL = zoom.left - img.left + this.border\r\n    const viewT = zoom.top - img.top + this.border\r\n    const zWidth = zoom.width - this.border * 2\r\n    const zHeight = zoom.height - this.border * 2\r\n    const rate = imgW / viewW\r\n    const dWidth = (maxWPixel)\r\n      ? Math.min((wPixel || zWidth * rate), maxWPixel)\r\n      : wPixel || zWidth * rate\r\n    const translate = {\r\n      rotateX: (img.left + img.width / 2 - (zoom.left + this.border)) * rate,\r\n      rotateY: (img.top + img.height / 2 - (zoom.top + this.border)) * rate,\r\n      drawX: (img.left - (zoom.left + this.border)) * rate,\r\n      drawY: (img.top - (zoom.top + this.border)) * rate\r\n    }\r\n    const pos = {\r\n      sx: viewL * rate, // sx\r\n      sy: viewT * rate, // sy\r\n      swidth: zWidth * rate, // sWidth\r\n      sheight: zHeight * rate, // sHeight\r\n      dx: 0, // dx\r\n      dy: 0, // dy\r\n      dwidth: dWidth, // dWidth\r\n      dheight: dWidth * zHeight / zWidth// dHeight\r\n    }\r\n    pos[Symbol.iterator] = function * () {\r\n      for (let k in pos) {\r\n        yield pos[k]\r\n      }\r\n    }\r\n    return {\r\n      pos,\r\n      translate\r\n    }\r\n  }\r\n}\r\n\r\nexport default clipperMethods\r\n","const fixedMethods = {\r\n  // translatePos: function () {\r\n  //     return this.imgEl.getBoundingClientRect();\r\n  // },\r\n  wrapPos: function () {\r\n    return this.wrapEl.getBoundingClientRect()\r\n  },\r\n  scalePos: function () {\r\n    return this.scaleEl.getBoundingClientRect()\r\n  },\r\n  translatePos: function () {\r\n    return this.translateEl.getBoundingClientRect()\r\n  },\r\n  toX: function (value) { // to X axis percentage 0~100 !\r\n    const scale = this.scalePos()\r\n    return value / scale.width * 100\r\n  },\r\n  toY: function (value) { // to Y axis percentage 0~100 !\r\n    const scale = this.scalePos()\r\n    return value / scale.height * 100\r\n  },\r\n  // eToBg: function (e, direction) {\r\n  //     return this.eTo(e, direction, '.bg');\r\n  // },\r\n  isDragElement: function (e) {\r\n    return this.wrapEl.contains(e.target)\r\n  },\r\n  dragDownPos: function (e) {\r\n    const translatePos = this.translatePos()\r\n    const scalePos = this.scalePos()\r\n    const offset = {\r\n      left: translatePos.left - scalePos.left,\r\n      top: translatePos.top - scalePos.top,\r\n      clientX: e.clientX,\r\n      clientY: e.clientY\r\n    }\r\n    return offset\r\n  },\r\n  delta: function ({ down, move }) {\r\n    const left = move.clientX - down.clientX + down.left\r\n    const top = move.clientY - down.clientY + down.top\r\n    return { left, top }\r\n  },\r\n  towPointsTouches: function (e) {\r\n    return e.touches\r\n  },\r\n  setOrigin: function (down) {\r\n    return {\r\n      down: [down[0], down[1]],\r\n      origin: this.scalePos().width\r\n    }\r\n  },\r\n  twoPointsDelta: function ({ down, move }) {\r\n    const x = Math.abs(move[0].clientX - move[1].clientX) - Math.abs(down[0].clientX - down[1].clientX)\r\n    const y = Math.abs(move[0].clientY - move[1].clientY) - Math.abs(down[0].clientY - down[1].clientY)\r\n    down[0] = move[0]\r\n    down[1] = move[1]\r\n    const wrapPos = this.wrapPos()\r\n    if (Math.abs(x) >= Math.abs(y)) {\r\n      return x / wrapPos.width\r\n    } else {\r\n      return y / wrapPos.height\r\n    }\r\n  },\r\n  getDrawPos: function (opt) {\r\n    const { wPixel, maxWPixel } = opt || {}\r\n    const areaPos = this.areaEl.getBoundingClientRect()\r\n    const translatePos = this.translatePos()\r\n    const imgW = this.imgEl.naturalWidth\r\n    const viewL = areaPos.left - translatePos.left + this.border\r\n    const viewT = areaPos.top - translatePos.top + this.border\r\n    const rate = imgW / translatePos.width\r\n    const translate = {\r\n      rotateX: (translatePos.left + translatePos.width / 2 - (areaPos.left + this.border)) * rate,\r\n      rotateY: (translatePos.top + translatePos.height / 2 - (areaPos.top + this.border)) * rate,\r\n      drawX: (translatePos.left - (areaPos.left + this.border)) * rate,\r\n      drawY: (translatePos.top - (areaPos.top + this.border)) * rate\r\n    }\r\n    const swidth = areaPos.width - this.border * 2\r\n    const sheight = areaPos.height - this.border * 2\r\n    const dwidth = (maxWPixel)\r\n      ? Math.min((wPixel || swidth * rate), maxWPixel)\r\n      : wPixel || swidth * rate\r\n    const pos = {\r\n      sx: viewL * rate, // sx\r\n      sy: viewT * rate, // sy\r\n      swidth: swidth * rate, // sWidth\r\n      sheight: sheight * rate, // sHeight\r\n      dx: 0, // dx\r\n      dy: 0, // dy\r\n      dwidth: dwidth, // dWidth\r\n      dheight: dwidth * sheight / swidth// dHeight\r\n    }\r\n    pos[Symbol.iterator] = function * () {\r\n      for (let k in pos) {\r\n        yield pos[k]\r\n      }\r\n    }\r\n    return {\r\n      pos,\r\n      translate\r\n    }\r\n  },\r\n  calcWheelScaling: function (delta) {\r\n    const origin = this.bgWH$\r\n    let rate = this.zoomRate * Math.max(origin, 0.8) * delta\r\n    return Math.max(origin + rate, this.minScale)\r\n  },\r\n  calcTouchScaling: function (delta) {\r\n    const origin = this.bgWH$\r\n    let rate = Math.max(origin, 0.8) * delta\r\n    return Math.max(origin + rate, this.minScale)\r\n  }\r\n}\r\n\r\nexport default fixedMethods\r\n","/*\r\n    * methods for calculating position layout,\r\n    * extended by clipper-basic-component\r\n*/\r\nimport _commonMethods from './common-methods'\r\nimport _basicMethods from './basic-methods'\r\nimport _fixedMethods from './fixed-methods'\r\n\r\nimport { fromEvent } from 'rxjs'\r\n\r\nimport np from '../../namespace.js'\r\n\r\nconst basicMethods = Object.assign(_basicMethods, _commonMethods)\r\nconst fixedMethods = Object.assign(_fixedMethods, _commonMethods)\r\n\r\nexport { basicMethods }\r\nexport { fixedMethods }\r\n\r\n/**  Listeners */\r\nconst rxEventListeners = {\r\n  beforeCreate () {\r\n    this.mousedown$ = fromEvent(window, 'mousedown')\r\n    this.mousemove$ = fromEvent(window, 'mousemove')\r\n    this.mouseup$ = fromEvent(window, 'mouseup')\r\n    this.touchstart$ = fromEvent(window, 'touchstart', { passive: false })\r\n    this.touchmove$ = fromEvent(window, 'touchmove', { passive: false })\r\n    this.touchend$ = fromEvent(window, 'touchend', { passive: false })\r\n  }\r\n}\r\n\r\nconst rxWheelListeners = {\r\n  beforeCreate () {\r\n    this.wheel$ = fromEvent(window, 'wheel', { passive: false })\r\n  }\r\n}\r\nexport { rxEventListeners }\r\nexport { rxWheelListeners }\r\nconst pluginMethods = {\r\n  methods: {\r\n    clip: function (opt) {\r\n      const drawPos = this.getDrawPos(opt)\r\n      const ctx = this.canvasEl.getContext('2d')\r\n      const width = drawPos.pos.swidth // dw\r\n      const height = drawPos.pos.sheight// dh\r\n      this.canvasEl.width = width\r\n      this.canvasEl.height = height\r\n      ctx.fillStyle = this.bgColor\r\n      ctx.fillRect(0, 0, width, height)\r\n      ctx.translate(drawPos.translate.rotateX, drawPos.translate.rotateY)\r\n      ctx.rotate(this.rotate * Math.PI / 180)\r\n      ctx.translate(drawPos.translate.drawX - drawPos.translate.rotateX, drawPos.translate.drawY - drawPos.translate.rotateY)\r\n      ctx.drawImage(this.imgEl, 0, 0)\r\n      if (opt) {\r\n        const canvas = document.createElement('CANVAS')\r\n        canvas.width = drawPos.pos.dwidth\r\n        canvas.height = drawPos.pos.dheight\r\n        canvas.getContext('2d').drawImage(this.canvasEl, 0, 0, drawPos.pos.dwidth, drawPos.pos.dheight)\r\n        return canvas\r\n      } else {\r\n        return this.canvasEl\r\n      }\r\n    },\r\n    callPreview: function (method, ...arg) {\r\n      const parentPropName = np.parentPropName\r\n      if (!this.preview) return\r\n      if (!this.$parent[parentPropName]) return // \"You register to use clipper-preview But No clipper-view Component detected.\";\r\n      let previews = this.$parent[parentPropName][this.preview]\r\n      if (!previews) return // `preview with name \"${this.preview}\" not found`;\r\n      previews.forEach(p => {\r\n        p[method](...arg)\r\n      })\r\n    },\r\n    emit: function (name, arg) {\r\n      this.$emit(name, arg)\r\n    }\r\n  }\r\n}\r\n\r\nexport { pluginMethods }\r\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"preview\"},[_c('div',{staticClass:\"wrap\",style:(_vm.wrapStyle)},[_c('canvas',{staticClass:\"shim\",attrs:{\"width\":_vm.outerWidth,\"height\":_vm.outerHeight}}),_c('div',{staticClass:\"img-pos\",style:(_vm.styleObj)},[_c('div',{staticClass:\"img-rotate\",style:(_vm.rotateStyle)},[_c('img',{staticClass:\"img\",attrs:{\"src\":_vm.src},on:{\"load\":_vm.imgLoaded}})])])]),_c('div',{staticClass:\"placeholder\",style:(_vm.eptStyle)},[_vm._t(\"placeholder\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <div class=\"preview\">\r\n    <div\r\n      class=\"wrap\"\r\n      :style=\"wrapStyle\"\r\n    >\r\n      <canvas\r\n        class=\"shim\"\r\n        :width=\"outerWidth\"\r\n        :height=\"outerHeight\"\r\n      />\r\n      <div\r\n        class=\"img-pos\"\r\n        :style=\"styleObj\"\r\n      >\r\n        <div\r\n          class=\"img-rotate\"\r\n          :style=\"rotateStyle\"\r\n        >\r\n          <img\r\n            :src=\"src\"\r\n            class=\"img\"\r\n            @load=\"imgLoaded\"\r\n          >\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div\r\n      class=\"placeholder\"\r\n      :style=\"eptStyle\"\r\n    >\r\n      <slot name=\"placeholder\" />\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport np from '../namespace'\r\nexport default {\r\n  props: {\r\n    name: {\r\n      type: String,\r\n      required: true\r\n    }\r\n  },\r\n  data: () => {\r\n    return {\r\n      src: '',\r\n      imgEl: null,\r\n      imgWidth: 1,\r\n      imgHeight: 1,\r\n      outerWidth: 1,\r\n      outerHeight: 1,\r\n      bgColor: 'white',\r\n      pos: {},\r\n      rotate: 0\r\n    }\r\n  },\r\n  computed: {\r\n    styleObj: function () {\r\n      const left = this.pos.sx / this.imgWidth\r\n      const top = this.pos.sy / this.imgHeight\r\n      const width = this.imgWidth / this.pos.swidth\r\n      return {\r\n        transform: `scale(${width}) translate(${left * -100}% ,${top * -100}%)`\r\n      }\r\n    },\r\n    rotateStyle: function () {\r\n      return {\r\n        transform: `rotate(${this.rotate}deg)`\r\n      }\r\n    },\r\n    wrapStyle: function () {\r\n      const display = (this.src) ? 'block' : 'none'\r\n      return {\r\n        backgroundColor: this.bgColor,\r\n        display\r\n      }\r\n    },\r\n    eptStyle: function () {\r\n      return { display: (this.src) ? 'none' : 'block' }\r\n    }\r\n  },\r\n  mounted () {\r\n    this.imgEl = this.$el.querySelector('.img')\r\n    this.initListener()\r\n  },\r\n  methods: {\r\n    initListener: function () {\r\n      // set listener on parent\r\n      const parent = this.$parent\r\n      const parentPropName = np.parentPropName\r\n      if (!parent[parentPropName]) parent[parentPropName] = {}\r\n      if (!parent[parentPropName][this.name]) { parent[parentPropName][this.name] = [] }\r\n      let listeners = parent[parentPropName][this.name]\r\n      listeners.push(this)\r\n    },\r\n    setData: function (datasets) { // Called from outside\r\n      for (let k in datasets) {\r\n        this[k] = datasets[k]\r\n      }\r\n    },\r\n    imgLoaded: function () {\r\n      this.imgWidth = this.imgEl.naturalWidth\r\n      this.imgHeight = this.imgEl.naturalHeight\r\n    },\r\n    locateImage: function (pos, rotate) {\r\n      this.rotate = rotate\r\n      this.outerWidth = pos.swidth\r\n      this.outerHeight = pos.sheight\r\n      this.pos = pos\r\n    }\r\n  }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.wrap {\r\n  width: 100%;\r\n  position: relative;\r\n  overflow: hidden;\r\n}\r\n.shim {\r\n  display: block;\r\n  width: 100%;\r\n  position: relative;\r\n  top: 0;\r\n  left: 0;\r\n}\r\n\r\n.img-pos {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  transform-origin: 0 0;\r\n}\r\n.img-rotate {\r\n  position: relative;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  transform-origin: 50% 50%;\r\n}\r\n.img {\r\n  left: 0;\r\n  top: 0;\r\n  position: relative;\r\n  width: 100%;\r\n  display: block;\r\n}\r\n</style>\r\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-preview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-preview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./clipper-preview.vue?vue&type=template&id=50e0d35b&scoped=true&\"\nimport script from \"./clipper-preview.vue?vue&type=script&lang=js&\"\nexport * from \"./clipper-preview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./clipper-preview.vue?vue&type=style&index=0&id=50e0d35b&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"50e0d35b\",\n  null\n  \n)\n\nexport default component.exports","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~indexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n  try {\n    createNonEnumerableProperty(global, key, value);\n  } catch (error) {\n    global[key] = value;\n  } return value;\n};\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_util_subscribeTo PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nimport { Observable } from './Observable';\nimport { subscribeTo } from './util/subscribeTo';\nvar SimpleInnerSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(SimpleInnerSubscriber, _super);\n    function SimpleInnerSubscriber(parent) {\n        var _this = _super.call(this) || this;\n        _this.parent = parent;\n        return _this;\n    }\n    SimpleInnerSubscriber.prototype._next = function (value) {\n        this.parent.notifyNext(value);\n    };\n    SimpleInnerSubscriber.prototype._error = function (error) {\n        this.parent.notifyError(error);\n        this.unsubscribe();\n    };\n    SimpleInnerSubscriber.prototype._complete = function () {\n        this.parent.notifyComplete();\n        this.unsubscribe();\n    };\n    return SimpleInnerSubscriber;\n}(Subscriber));\nexport { SimpleInnerSubscriber };\nvar ComplexInnerSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(ComplexInnerSubscriber, _super);\n    function ComplexInnerSubscriber(parent, outerValue, outerIndex) {\n        var _this = _super.call(this) || this;\n        _this.parent = parent;\n        _this.outerValue = outerValue;\n        _this.outerIndex = outerIndex;\n        return _this;\n    }\n    ComplexInnerSubscriber.prototype._next = function (value) {\n        this.parent.notifyNext(this.outerValue, value, this.outerIndex, this);\n    };\n    ComplexInnerSubscriber.prototype._error = function (error) {\n        this.parent.notifyError(error);\n        this.unsubscribe();\n    };\n    ComplexInnerSubscriber.prototype._complete = function () {\n        this.parent.notifyComplete(this);\n        this.unsubscribe();\n    };\n    return ComplexInnerSubscriber;\n}(Subscriber));\nexport { ComplexInnerSubscriber };\nvar SimpleOuterSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(SimpleOuterSubscriber, _super);\n    function SimpleOuterSubscriber() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    SimpleOuterSubscriber.prototype.notifyNext = function (innerValue) {\n        this.destination.next(innerValue);\n    };\n    SimpleOuterSubscriber.prototype.notifyError = function (err) {\n        this.destination.error(err);\n    };\n    SimpleOuterSubscriber.prototype.notifyComplete = function () {\n        this.destination.complete();\n    };\n    return SimpleOuterSubscriber;\n}(Subscriber));\nexport { SimpleOuterSubscriber };\nvar ComplexOuterSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(ComplexOuterSubscriber, _super);\n    function ComplexOuterSubscriber() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    ComplexOuterSubscriber.prototype.notifyNext = function (_outerValue, innerValue, _outerIndex, _innerSub) {\n        this.destination.next(innerValue);\n    };\n    ComplexOuterSubscriber.prototype.notifyError = function (error) {\n        this.destination.error(error);\n    };\n    ComplexOuterSubscriber.prototype.notifyComplete = function (_innerSub) {\n        this.destination.complete();\n    };\n    return ComplexOuterSubscriber;\n}(Subscriber));\nexport { ComplexOuterSubscriber };\nexport function innerSubscribe(result, innerSubscriber) {\n    if (innerSubscriber.closed) {\n        return undefined;\n    }\n    if (result instanceof Observable) {\n        return result.subscribe(innerSubscriber);\n    }\n    return subscribeTo(result)(innerSubscriber);\n}\n//# sourceMappingURL=innerSubscribe.js.map\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{on:{\"click\":_vm.triggerInput}},[_vm._t(\"default\"),_c('img',{staticClass:\"stem\",staticStyle:{\"display\":\"none\"},attrs:{\"src\":_vm.DomString}}),_c('input',_vm._b({staticClass:\"upload\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\"},on:{\"change\":function($event){return _vm.upload($event)},\"click\":function($event){return _vm.clear($event)}}},'input',_vm.$attrs,false))],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <div @click=\"triggerInput\">\r\n    <slot />\r\n    <img\r\n      class=\"stem\"\r\n      :src=\"DomString\"\r\n      style=\"display:none\"\r\n    >\r\n    <input\r\n      type=\"file\"\r\n      class=\"upload\"\r\n      style=\"display:none\"\r\n      v-bind=\"$attrs\"\r\n      @change=\"upload($event)\"\r\n      @click=\"clear($event)\"\r\n    >\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport exif from 'exif-js'\r\n\r\nexport default {\r\n  props: {\r\n    exif: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    value: {\r\n      type: String,\r\n      default: ''\r\n    },\r\n    check: {\r\n      type: Boolean,\r\n      default: true\r\n    }\r\n  },\r\n  data: () => {\r\n    return {\r\n      uploadEl: null,\r\n      file: null,\r\n      DomString: ''\r\n    }\r\n  },\r\n  mounted () {\r\n    this.uploadEl = this.$el.querySelector('.upload')\r\n  },\r\n  methods: {\r\n    upload: function (e) {\r\n      if (e.target.files.length !== 1) return\r\n      this.file = e.target.files[0]\r\n      if (this.check && !this.file.type.startsWith('image/')) return\r\n      if (this.DomString && /^blob:/.test(this.DomString)) { window.URL.revokeObjectURL(this.DomString) }\r\n      this.DomString = window.URL.createObjectURL(this.file)\r\n      this.checkEXIF().then(() => {\r\n        this.$emit('input', this.DomString)\r\n      })\r\n    },\r\n    checkEXIF: function () {\r\n      return new Promise((resolve, reject) => {\r\n        if (!this.exif) return reject(new Error())\r\n        resolve()\r\n      })\r\n        .then(() => this.getEXIF())\r\n        .then(orientation => this.getImageRect()\r\n          .then(({ width, height }) => {\r\n            return Promise.resolve({\r\n              width,\r\n              height,\r\n              orientation\r\n            })\r\n          })\r\n          .catch(() => Promise.reject(new Error())))\r\n        .then(this.tranformCanvas)\r\n        .catch(() => Promise.resolve()) // just use catch to escape chains\r\n    },\r\n    getEXIF: function () {\r\n      return new Promise((resolve, reject) => {\r\n        exif.getData(this.file, function () {\r\n          const orientation = this.exifdata.Orientation\r\n          if (orientation === undefined || orientation === 1) reject(new Error())\r\n          resolve(orientation)\r\n        })\r\n      })\r\n    },\r\n    getImageRect: function () {\r\n      return new Promise((resolve, reject) => {\r\n        const img = this.$el.querySelector('.stem')\r\n        if (img.complete) {\r\n          return resolve({\r\n            width: img.naturalWidth,\r\n            height: img.naturalHeight\r\n          })\r\n        }\r\n        img.onload = function () {\r\n          resolve({\r\n            width: this.naturalWidth,\r\n            height: this.naturalHeight\r\n          })\r\n        }\r\n        img.onerror = function () {\r\n          reject(new Error('img on load error'))\r\n        }\r\n      })\r\n    },\r\n    tranformCanvas: function ({ width, height, orientation }) {\r\n      /** This piece of code is referenced to\r\n       * https://stackoverflow.com/questions/20600800/js-client-side-exif-orientation-rotate-and-mirror-jpeg-images */\r\n      const canvas = document.createElement('canvas')\r\n      const ctx = canvas.getContext('2d')\r\n\r\n      // set proper canvas dimensions before transform & export\r\n      if (orientation > 4 && orientation < 9) {\r\n        canvas.width = height\r\n        canvas.height = width\r\n      } else {\r\n        canvas.width = width\r\n        canvas.height = height\r\n      }\r\n      // transform context before drawing image\r\n      switch (orientation) {\r\n        case 2: ctx.transform(-1, 0, 0, 1, width, 0); break\r\n        case 3: ctx.transform(-1, 0, 0, -1, width, height); break\r\n        case 4: ctx.transform(1, 0, 0, -1, 0, height); break\r\n        case 5: ctx.transform(0, 1, 1, 0, 0, 0); break\r\n        case 6: ctx.transform(0, 1, -1, 0, height, 0); break\r\n        case 7: ctx.transform(0, -1, -1, 0, height, width); break\r\n        case 8: ctx.transform(0, -1, 1, 0, 0, width); break\r\n        default: break\r\n      }\r\n\r\n      ctx.drawImage(this.$el.querySelector('.stem'), 0, 0)\r\n      this.DomString = canvas.toDataURL(this.file.type)\r\n    },\r\n    clear: function (e) {\r\n      e.target.value = null\r\n    },\r\n    triggerInput: function () {\r\n      if (this.uploadEl) this.uploadEl.click()\r\n    }\r\n  }\r\n}\r\n</script>\r\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-upload.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-upload.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./clipper-upload.vue?vue&type=template&id=733c1e62&\"\nimport script from \"./clipper-upload.vue?vue&type=script&lang=js&\"\nexport * from \"./clipper-upload.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","module.exports = {};\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n  return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n    : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n    setter.call(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    anObject(O);\n    aPossiblePrototype(proto);\n    if (CORRECT_SETTER) setter.call(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n  redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n    defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n  }\n};\n","import mod from \"-!../../../mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-range.vue?vue&type=style&index=0&id=2fd0acf9&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./clipper-range.vue?vue&type=style&index=0&id=2fd0acf9&lang=scss&scoped=true&\"","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport function isFunction(x) {\n    return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","const namespace = {\r\n  parentPropName: '_imgPreviewLists'\r\n}\r\n\r\nexport default namespace\r\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map\n","var check = function (it) {\n  return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line no-undef\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  // eslint-disable-next-line no-new-func\n  Function('return this')();\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  var Collection = global[COLLECTION_NAME];\n  var CollectionPrototype = Collection && Collection.prototype;\n  if (CollectionPrototype) {\n    // some Chrome versions have non-configurable methods on DOMTokenList\n    if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n      createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n    } catch (error) {\n      CollectionPrototype[ITERATOR] = ArrayValues;\n    }\n    if (!CollectionPrototype[TO_STRING_TAG]) {\n      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n    }\n    if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n      // some Chrome versions have non-configurable methods on DOMTokenList\n      if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n      } catch (error) {\n        CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n      }\n    }\n  }\n}\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  function F() { /* empty */ }\n  F.prototype.constructor = null;\n  return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n  setInternalState(this, {\n    type: ARRAY_ITERATOR,\n    target: toIndexedObject(iterated), // target\n    index: 0,                          // next index\n    kind: kind                         // kind\n  });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n  var state = getInternalState(this);\n  var target = state.target;\n  var kind = state.kind;\n  var index = state.index++;\n  if (!target || index >= target.length) {\n    state.target = undefined;\n    return { value: undefined, done: true };\n  }\n  if (kind == 'keys') return { value: index, done: false };\n  if (kind == 'values') return { value: target[index], done: false };\n  return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n  for (var key in src) redefine(target, key, src[key], options);\n  return target;\n};\n","module.exports = function (exec) {\n  try {\n    return { error: false, value: exec() };\n  } catch (error) {\n    return { error: true, value: error };\n  }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n  var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n  if (!GLOBAL_CORE_JS_PROMISE) {\n    // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n    // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n    // We can't detect it synchronously, so just check versions\n    if (V8_VERSION === 66) return true;\n    // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n  }\n  // We need Promise#finally in the pure version for preventing prototype pollution\n  if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n  // We can't use @@species feature detection in V8 since it causes\n  // deoptimization and performance degradation\n  // https://github.com/zloirock/core-js/issues/679\n  if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n  // Detect correctness of subclassing with @@species support\n  var promise = PromiseConstructor.resolve(1);\n  var FakePromise = function (exec) {\n    exec(function () { /* empty */ }, function () { /* empty */ });\n  };\n  var constructor = promise.constructor = {};\n  constructor[SPECIES] = FakePromise;\n  return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n  PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n  if (state.notified) return;\n  state.notified = true;\n  var chain = state.reactions;\n  microtask(function () {\n    var value = state.value;\n    var ok = state.state == FULFILLED;\n    var index = 0;\n    // variable length - can't use forEach\n    while (chain.length > index) {\n      var reaction = chain[index++];\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n            state.rejection = HANDLED;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // can throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (error) {\n        if (domain && !exited) domain.exit();\n        reject(error);\n      }\n    }\n    state.reactions = [];\n    state.notified = false;\n    if (isReject && !state.rejection) onUnhandled(promise, state);\n  });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n  var event, handler;\n  if (DISPATCH_EVENT) {\n    event = document.createEvent('Event');\n    event.promise = promise;\n    event.reason = reason;\n    event.initEvent(name, false, true);\n    global.dispatchEvent(event);\n  } else event = { promise: promise, reason: reason };\n  if (handler = global['on' + name]) handler(event);\n  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n  task.call(global, function () {\n    var value = state.value;\n    var IS_UNHANDLED = isUnhandled(state);\n    var result;\n    if (IS_UNHANDLED) {\n      result = perform(function () {\n        if (IS_NODE) {\n          process.emit('unhandledRejection', value, promise);\n        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n      if (result.error) throw result.value;\n    }\n  });\n};\n\nvar isUnhandled = function (state) {\n  return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n  task.call(global, function () {\n    if (IS_NODE) {\n      process.emit('rejectionHandled', promise);\n    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n  });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n  return function (value) {\n    fn(promise, state, value, unwrap);\n  };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  state.value = value;\n  state.state = REJECTED;\n  notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    var then = isThenable(value);\n    if (then) {\n      microtask(function () {\n        var wrapper = { done: false };\n        try {\n          then.call(value,\n            bind(internalResolve, promise, wrapper, state),\n            bind(internalReject, promise, wrapper, state)\n          );\n        } catch (error) {\n          internalReject(promise, wrapper, error, state);\n        }\n      });\n    } else {\n      state.value = value;\n      state.state = FULFILLED;\n      notify(promise, state, false);\n    }\n  } catch (error) {\n    internalReject(promise, { done: false }, error, state);\n  }\n};\n\n// constructor polyfill\nif (FORCED) {\n  // 25.4.3.1 Promise(executor)\n  PromiseConstructor = function Promise(executor) {\n    anInstance(this, PromiseConstructor, PROMISE);\n    aFunction(executor);\n    Internal.call(this);\n    var state = getInternalState(this);\n    try {\n      executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n    } catch (error) {\n      internalReject(this, state, error);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    setInternalState(this, {\n      type: PROMISE,\n      done: false,\n      notified: false,\n      parent: false,\n      reactions: [],\n      rejection: false,\n      state: PENDING,\n      value: undefined\n    });\n  };\n  Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n    // `Promise.prototype.then` method\n    // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n    then: function then(onFulfilled, onRejected) {\n      var state = getInternalPromiseState(this);\n      var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = IS_NODE ? process.domain : undefined;\n      state.parent = true;\n      state.reactions.push(reaction);\n      if (state.state != PENDING) notify(this, state, false);\n      return reaction.promise;\n    },\n    // `Promise.prototype.catch` method\n    // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    var state = getInternalState(promise);\n    this.promise = promise;\n    this.resolve = bind(internalResolve, promise, state);\n    this.reject = bind(internalReject, promise, state);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === PromiseConstructor || C === PromiseWrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n\n  if (!IS_PURE && typeof NativePromise == 'function') {\n    nativeThen = NativePromise.prototype.then;\n\n    // wrap native Promise#then for native async functions\n    redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n      var that = this;\n      return new PromiseConstructor(function (resolve, reject) {\n        nativeThen.call(that, resolve, reject);\n      }).then(onFulfilled, onRejected);\n    // https://github.com/zloirock/core-js/issues/640\n    }, { unsafe: true });\n\n    // wrap fetch result\n    if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n      // eslint-disable-next-line no-unused-vars\n      fetch: function fetch(input /* , init */) {\n        return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n      }\n    });\n  }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n  Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n  // `Promise.reject` method\n  // https://tc39.github.io/ecma262/#sec-promise.reject\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    capability.reject.call(undefined, r);\n    return capability.promise;\n  }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n  // `Promise.resolve` method\n  // https://tc39.github.io/ecma262/#sec-promise.resolve\n  resolve: function resolve(x) {\n    return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n  }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n  // `Promise.all` method\n  // https://tc39.github.io/ecma262/#sec-promise.all\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aFunction(C.resolve);\n      var values = [];\n      var counter = 0;\n      var remaining = 1;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        $promiseResolve.call(C, promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  },\n  // `Promise.race` method\n  // https://tc39.github.io/ecma262/#sec-promise.race\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aFunction(C.resolve);\n      iterate(iterable, function (promise) {\n        $promiseResolve.call(C, promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n  var keys = ownKeys(source);\n  var defineProperty = definePropertyModule.f;\n  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n  }\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n  return classof(arg) == 'Array';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n    closed: true,\n    next: function (value) { },\n    error: function (err) {\n        if (config.useDeprecatedSynchronousErrorHandling) {\n            throw err;\n        }\n        else {\n            hostReportError(err);\n        }\n    },\n    complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","/** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n    while (observer) {\n        var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n        if (closed_1 || isStopped) {\n            return false;\n        }\n        else if (destination && destination instanceof Subscriber) {\n            observer = destination;\n        }\n        else {\n            observer = null;\n        }\n    }\n    return true;\n}\n//# sourceMappingURL=canReportError.js.map\n","/** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n    if (nextOrObserver) {\n        if (nextOrObserver instanceof Subscriber) {\n            return nextOrObserver;\n        }\n        if (nextOrObserver[rxSubscriberSymbol]) {\n            return nextOrObserver[rxSubscriberSymbol]();\n        }\n    }\n    if (!nextOrObserver && !error && !complete) {\n        return new Subscriber(emptyObserver);\n    }\n    return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map\n","/** PURE_IMPORTS_START _identity PURE_IMPORTS_END */\nimport { identity } from './identity';\nexport function pipe() {\n    var fns = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        fns[_i] = arguments[_i];\n    }\n    return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n    if (fns.length === 0) {\n        return identity;\n    }\n    if (fns.length === 1) {\n        return fns[0];\n    }\n    return function piped(input) {\n        return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n    };\n}\n//# sourceMappingURL=pipe.js.map\n","/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */\nimport { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nvar Observable = /*@__PURE__*/ (function () {\n    function Observable(subscribe) {\n        this._isScalar = false;\n        if (subscribe) {\n            this._subscribe = subscribe;\n        }\n    }\n    Observable.prototype.lift = function (operator) {\n        var observable = new Observable();\n        observable.source = this;\n        observable.operator = operator;\n        return observable;\n    };\n    Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n        var operator = this.operator;\n        var sink = toSubscriber(observerOrNext, error, complete);\n        if (operator) {\n            sink.add(operator.call(sink, this.source));\n        }\n        else {\n            sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n                this._subscribe(sink) :\n                this._trySubscribe(sink));\n        }\n        if (config.useDeprecatedSynchronousErrorHandling) {\n            if (sink.syncErrorThrowable) {\n                sink.syncErrorThrowable = false;\n                if (sink.syncErrorThrown) {\n                    throw sink.syncErrorValue;\n                }\n            }\n        }\n        return sink;\n    };\n    Observable.prototype._trySubscribe = function (sink) {\n        try {\n            return this._subscribe(sink);\n        }\n        catch (err) {\n            if (config.useDeprecatedSynchronousErrorHandling) {\n                sink.syncErrorThrown = true;\n                sink.syncErrorValue = err;\n            }\n            if (canReportError(sink)) {\n                sink.error(err);\n            }\n            else {\n                console.warn(err);\n            }\n        }\n    };\n    Observable.prototype.forEach = function (next, promiseCtor) {\n        var _this = this;\n        promiseCtor = getPromiseCtor(promiseCtor);\n        return new promiseCtor(function (resolve, reject) {\n            var subscription;\n            subscription = _this.subscribe(function (value) {\n                try {\n                    next(value);\n                }\n                catch (err) {\n                    reject(err);\n                    if (subscription) {\n                        subscription.unsubscribe();\n                    }\n                }\n            }, reject, resolve);\n        });\n    };\n    Observable.prototype._subscribe = function (subscriber) {\n        var source = this.source;\n        return source && source.subscribe(subscriber);\n    };\n    Observable.prototype[Symbol_observable] = function () {\n        return this;\n    };\n    Observable.prototype.pipe = function () {\n        var operations = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            operations[_i] = arguments[_i];\n        }\n        if (operations.length === 0) {\n            return this;\n        }\n        return pipeFromArray(operations)(this);\n    };\n    Observable.prototype.toPromise = function (promiseCtor) {\n        var _this = this;\n        promiseCtor = getPromiseCtor(promiseCtor);\n        return new promiseCtor(function (resolve, reject) {\n            var value;\n            _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n        });\n    };\n    Observable.create = function (subscribe) {\n        return new Observable(subscribe);\n    };\n    return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n    if (!promiseCtor) {\n        promiseCtor = config.Promise || Promise;\n    }\n    if (!promiseCtor) {\n        throw new Error('no Promise impl found');\n    }\n    return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n    return function mapOperation(source) {\n        if (typeof project !== 'function') {\n            throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n        }\n        return source.lift(new MapOperator(project, thisArg));\n    };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n    function MapOperator(project, thisArg) {\n        this.project = project;\n        this.thisArg = thisArg;\n    }\n    MapOperator.prototype.call = function (subscriber, source) {\n        return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n    };\n    return MapOperator;\n}());\nexport { MapOperator };\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(MapSubscriber, _super);\n    function MapSubscriber(destination, project, thisArg) {\n        var _this = _super.call(this, destination) || this;\n        _this.project = project;\n        _this.count = 0;\n        _this.thisArg = thisArg || _this;\n        return _this;\n    }\n    MapSubscriber.prototype._next = function (value) {\n        var result;\n        try {\n            result = this.project.call(this.thisArg, value, this.count++);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport var subscribeToArray = function (array) {\n    return function (subscriber) {\n        for (var i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n            subscriber.next(array[i]);\n        }\n        subscriber.complete();\n    };\n};\n//# sourceMappingURL=subscribeToArray.js.map\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport function noop() { }\n//# sourceMappingURL=noop.js.map\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n  var currentScript = window.document.currentScript\n  if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n    var getCurrentScript = require('@soda/get-current-script')\n    currentScript = getCurrentScript()\n\n    // for backward compatibility, because previously we directly included the polyfill\n    if (!('currentScript' in document)) {\n      Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n    }\n  }\n\n  var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n  if (src) {\n    __webpack_public_path__ = src[1] // eslint-disable-line\n  }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-row',{staticClass:\"ma-0\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('clipper-fixed',{ref:\"clipper\",staticClass:\"my-clipper fill-height\",staticStyle:{\"cursor\":\"pointer\"},attrs:{\"src\":_vm.imgURL,\"ratio\":_vm.ratio,\"grid\":\"\",\"bg-color\":\"#eee\",\"rotate\":_vm.rotate},on:{\"load\":function($event){return _vm.resetRotate()}}},[_c('div',{attrs:{\"slot\":\"placeholder\"},slot:\"placeholder\"},[_c('clipper-upload',{staticClass:\"clipper-upload\",attrs:{\"accept\":_vm.accept},model:{value:(_vm.imgURL),callback:function ($$v) {_vm.imgURL=$$v},expression:\"imgURL\"}},[_vm._t(\"image_input\",[_c('div',{staticClass:\"py-12 text-center font-italic\"},[_c('div',[_c('v-icon',{attrs:{\"size\":\"80px\"}},[_vm._v(\"mdi-file-image-outline\")])],1),_c('div',{staticClass:\"grey--text\"},[_c('div',[_vm._v(\"No image is selected.\")]),_c('div',{staticClass:\"pt-1\"},[_c('v-btn',{staticClass:\"text-capitalize\",attrs:{\"small\":\"\",\"color\":\"primary\"}},[_vm._v(\"upload image\")])],1)])])])],2)],1)])],1),(_vm.imgURL != '' )?[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"align-self\":\"center\"}},[_c('v-row',{staticClass:\"pa-1 ma-0\",class:_vm.hide_result ? 'flex-column' : '',attrs:{\"dense\":\"\",\"justify\":\"space-around\"}},[(!_vm.hide_result)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('img',{staticClass:\"fill-width\",attrs:{\"src\":_vm.imgResult}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.imgResult == '' ),expression:\"imgResult == '' \"}]},[_vm._t(\"no_result\",[_c('div',{staticClass:\"radius-05 body-2 font-italic grey--text py-6 text-center\",staticStyle:{\"border\":\"2px dashed #ccc\"}},[_vm._v(\"No Result\")])])],2),_vm._t(\"extra_info\")],2):_vm._e(),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"color\":\"success\",\"title\":\"Confirm\"},on:{\"click\":function($event){return _vm.clipImage()}}},[_vm._v(_vm._s(_vm.clip_icon))])],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"color\":\"error\",\"title\":\"Reset\"},on:{\"click\":function($event){return _vm.resetComponent()}}},[_vm._v(_vm._s(_vm.reset_icon))])],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"title\":\"Rotate Image\"},on:{\"click\":function($event){return _vm.rotateImage()}}},[_vm._v(_vm._s(_vm.rotate_icon))])],1)],1)],1)]:_vm._e()],2),_c('v-card-actions',[_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n<v-card flat>\r\n\t<v-row no-gutters class=\"ma-0\">\r\n\t\t<v-col cols=12 md>\r\n\t\t\t<clipper-fixed \r\n\t\t\t\tclass=\"my-clipper fill-height\" ref=\"clipper\" \r\n\t\t\t\t:src=\"imgURL\"\r\n\t\t\t\t:ratio=\"ratio\"\r\n\t\t\t\tgrid\r\n\t\t\t\tbg-color=\"#eee\"\r\n\t\t\t\t:rotate=\"rotate\"\r\n\t\t\t\tstyle=\"cursor: pointer;\"\r\n\t\t\t\t@load=\"resetRotate()\"\r\n\t\t\t>\r\n\t\t\t\t<div slot=\"placeholder\">\r\n\t\t\t\t\t<clipper-upload v-model=\"imgURL\" class=\"clipper-upload\" :accept=\"accept\">\r\n\t\t\t\t\t\t<!-- image input slot -->\r\n\t\t\t\t\t\t<slot name=\"image_input\">\r\n\t\t\t\t\t\t\t<div class=\"py-12 text-center font-italic\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<v-icon size=\"80px\">mdi-file-image-outline</v-icon>\r\n\t\t\t\t\t\t\t\t</div>                                \r\n\t\t\t\t\t\t\t\t<div class=\"grey--text\">\r\n                                    <div>No image is selected.</div>\r\n                                    <div class=\"pt-1\"><v-btn small color=\"primary\" class=\"text-capitalize\">upload image</v-btn></div>\r\n                                </div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</slot>\r\n\t\t\t\t\t</clipper-upload>\r\n\t\t\t\t</div>\r\n\t\t\t</clipper-fixed>\r\n\t\t</v-col>\r\n\t\t<template v-if=\"imgURL != '' \">\r\n\t\t\t<v-col cols=12 md=3 align-self=\"center\">\r\n\t\t\t\t<v-row dense class=\"pa-1 ma-0\" justify=\"space-around\" :class=\"hide_result ? 'flex-column' : '' \">\r\n\t\t\t\t\t<v-col cols=12 v-if=\"!hide_result\">\r\n\t\t\t\t\t\t\t<img :src=\"imgResult\" class=\"fill-width\">\r\n\t\t\t\t\t\t\t<div v-show=\"imgResult == '' \">\r\n\t\t\t\t\t\t\t\t<!-- no result slot -->\r\n\t\t\t\t\t\t\t\t<slot name=\"no_result\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"radius-05 body-2 font-italic grey--text py-6 text-center\" style=\"border: 2px dashed #ccc;\">No Result</div>\r\n\t\t\t\t\t\t\t\t</slot>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<!-- file details slot -->\r\n\t\t\t\t\t\t\t<slot name=\"extra_info\"></slot>\r\n\t\t\t\t\t</v-col>\r\n\t\t\t\t\t<v-col cols=auto><v-icon color=\"success\" title=\"Confirm\" @click=\"clipImage()\">{{ clip_icon }}</v-icon></v-col>\r\n\t\t\t\t\t<v-col cols=auto><v-icon color=\"error\" title=\"Reset\" @click=\"resetComponent()\">{{ reset_icon }}</v-icon></v-col>\r\n\t\t\t\t\t<v-col cols=auto><v-icon title=\"Rotate Image\" @click=\"rotateImage()\">{{ rotate_icon }}</v-icon></v-col>\t\r\n\t\t\t\t</v-row>\r\n\t\t\t</v-col>\r\n\t\t</template>\r\n\t</v-row>\r\n\t<v-card-actions>\r\n\t\t<!-- default slot -->\r\n\t\t<slot></slot>\r\n\t</v-card-actions>\r\n</v-card>\r\n</template>\r\n\r\n<script>\r\nimport { clipperFixed, clipperUpload  } from 'vuejs-clipper'\r\nexport default {\r\n\tcomponents: { \r\n\t\tclipperFixed,\r\n\t\tclipperUpload,\r\n\t},\r\n\tprops:{\r\n\t\tvalue: {\r\n\t\t\trequired: true,\r\n\t\t},\r\n\t\thide_result: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: false,\r\n\t\t},\r\n\t\tratio: {\r\n\t\t\ttype: Number,\r\n\t\t\tdefault : 1\r\n\t\t},\r\n\t\tclip_icon: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault : \"mdi-content-cut\"\r\n\t\t},\r\n\t\treset_icon: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault : \"mdi-backup-restore\"\r\n\t\t},\r\n\t\trotate_icon: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault : \"mdi-format-rotate-90\"\r\n\t\t},\r\n\t\taccept: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault : \"image/*\"\r\n\t\t},\r\n\t},\r\n\tdata () {\r\n\t\treturn {\r\n\t\t\timgURL: '',\r\n\t\t\timgResult : '',\r\n\t\t\trotate : 0,\r\n\t\t}\r\n\t},\r\n\tcreated(){\r\n\t},\r\n\twatch:{\r\n\t},\r\n\tmethods: {\r\n\t\trotateImage(){\r\n\t\t\tif(this.rotate == 270){\r\n\t\t\t\tthis.rotate = 0\r\n\t\t\t}else{\r\n\t\t\t\tthis.rotate+=90\r\n\t\t\t}\r\n\t\t},\r\n\t\tresetComponent(){\r\n\t\t\tthis.imgURL = ''\r\n\t\t\tthis.imgResult = ''\r\n\t\t\tthis.$emit('reset')\r\n\t\t},\r\n\t\tresetRotate(){\r\n\t\t\tthis.rotate = 0\r\n\t\t},\r\n\t\tclipImage() {\r\n\t\t\tconst canvas = this.$refs.clipper.clip(); // call component's clip method\r\n\t\t\tlet result = canvas.toDataURL(); // canvas->image\r\n\t\t\tthis.imgResult = result\r\n\t\t\tthis.$emit('input',result)\r\n\t\t},\r\n\t}\r\n  }\r\n</script>\r\n\r\n<style scoped>\r\n\t.radius-05{\r\n\t\tborder-radius: 5px !important;\r\n\t}\r\n\t.fill-width{\r\n\t\twidth: 100% !important;\r\n\t}\r\n</style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vuetify-Image-Clipper.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vuetify-Image-Clipper.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Vuetify-Image-Clipper.vue?vue&type=template&id=ddce35a0&scoped=true&\"\nimport script from \"./Vuetify-Image-Clipper.vue?vue&type=script&lang=js&\"\nexport * from \"./Vuetify-Image-Clipper.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Vuetify-Image-Clipper.vue?vue&type=style&index=0&id=ddce35a0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ddce35a0\",\n  null\n  \n)\n\nexport default component.exports","/** PURE_IMPORTS_START _Observable,_util_noop PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { noop } from '../util/noop';\nexport var NEVER = /*@__PURE__*/ new Observable(noop);\nexport function never() {\n    return NEVER;\n}\n//# sourceMappingURL=never.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function refCount() {\n    return function refCountOperatorFunction(source) {\n        return source.lift(new RefCountOperator(source));\n    };\n}\nvar RefCountOperator = /*@__PURE__*/ (function () {\n    function RefCountOperator(connectable) {\n        this.connectable = connectable;\n    }\n    RefCountOperator.prototype.call = function (subscriber, source) {\n        var connectable = this.connectable;\n        connectable._refCount++;\n        var refCounter = new RefCountSubscriber(subscriber, connectable);\n        var subscription = source.subscribe(refCounter);\n        if (!refCounter.closed) {\n            refCounter.connection = connectable.connect();\n        }\n        return subscription;\n    };\n    return RefCountOperator;\n}());\nvar RefCountSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(RefCountSubscriber, _super);\n    function RefCountSubscriber(destination, connectable) {\n        var _this = _super.call(this, destination) || this;\n        _this.connectable = connectable;\n        return _this;\n    }\n    RefCountSubscriber.prototype._unsubscribe = function () {\n        var connectable = this.connectable;\n        if (!connectable) {\n            this.connection = null;\n            return;\n        }\n        this.connectable = null;\n        var refCount = connectable._refCount;\n        if (refCount <= 0) {\n            this.connection = null;\n            return;\n        }\n        connectable._refCount = refCount - 1;\n        if (refCount > 1) {\n            this.connection = null;\n            return;\n        }\n        var connection = this.connection;\n        var sharedConnection = connectable._connection;\n        this.connection = null;\n        if (sharedConnection && (!connection || sharedConnection === connection)) {\n            sharedConnection.unsubscribe();\n        }\n    };\n    return RefCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=refCount.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_Observable,_Subscriber,_Subscription,_operators_refCount PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SubjectSubscriber } from '../Subject';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nvar ConnectableObservable = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(ConnectableObservable, _super);\n    function ConnectableObservable(source, subjectFactory) {\n        var _this = _super.call(this) || this;\n        _this.source = source;\n        _this.subjectFactory = subjectFactory;\n        _this._refCount = 0;\n        _this._isComplete = false;\n        return _this;\n    }\n    ConnectableObservable.prototype._subscribe = function (subscriber) {\n        return this.getSubject().subscribe(subscriber);\n    };\n    ConnectableObservable.prototype.getSubject = function () {\n        var subject = this._subject;\n        if (!subject || subject.isStopped) {\n            this._subject = this.subjectFactory();\n        }\n        return this._subject;\n    };\n    ConnectableObservable.prototype.connect = function () {\n        var connection = this._connection;\n        if (!connection) {\n            this._isComplete = false;\n            connection = this._connection = new Subscription();\n            connection.add(this.source\n                .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n            if (connection.closed) {\n                this._connection = null;\n                connection = Subscription.EMPTY;\n            }\n        }\n        return connection;\n    };\n    ConnectableObservable.prototype.refCount = function () {\n        return higherOrderRefCount()(this);\n    };\n    return ConnectableObservable;\n}(Observable));\nexport { ConnectableObservable };\nexport var connectableObservableDescriptor = /*@__PURE__*/ (function () {\n    var connectableProto = ConnectableObservable.prototype;\n    return {\n        operator: { value: null },\n        _refCount: { value: 0, writable: true },\n        _subject: { value: null, writable: true },\n        _connection: { value: null, writable: true },\n        _subscribe: { value: connectableProto._subscribe },\n        _isComplete: { value: connectableProto._isComplete, writable: true },\n        getSubject: { value: connectableProto.getSubject },\n        connect: { value: connectableProto.connect },\n        refCount: { value: connectableProto.refCount }\n    };\n})();\nvar ConnectableSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(ConnectableSubscriber, _super);\n    function ConnectableSubscriber(destination, connectable) {\n        var _this = _super.call(this, destination) || this;\n        _this.connectable = connectable;\n        return _this;\n    }\n    ConnectableSubscriber.prototype._error = function (err) {\n        this._unsubscribe();\n        _super.prototype._error.call(this, err);\n    };\n    ConnectableSubscriber.prototype._complete = function () {\n        this.connectable._isComplete = true;\n        this._unsubscribe();\n        _super.prototype._complete.call(this);\n    };\n    ConnectableSubscriber.prototype._unsubscribe = function () {\n        var connectable = this.connectable;\n        if (connectable) {\n            this.connectable = null;\n            var connection = connectable._connection;\n            connectable._refCount = 0;\n            connectable._subject = null;\n            connectable._connection = null;\n            if (connection) {\n                connection.unsubscribe();\n            }\n        }\n    };\n    return ConnectableSubscriber;\n}(SubjectSubscriber));\nvar RefCountOperator = /*@__PURE__*/ (function () {\n    function RefCountOperator(connectable) {\n        this.connectable = connectable;\n    }\n    RefCountOperator.prototype.call = function (subscriber, source) {\n        var connectable = this.connectable;\n        connectable._refCount++;\n        var refCounter = new RefCountSubscriber(subscriber, connectable);\n        var subscription = source.subscribe(refCounter);\n        if (!refCounter.closed) {\n            refCounter.connection = connectable.connect();\n        }\n        return subscription;\n    };\n    return RefCountOperator;\n}());\nvar RefCountSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(RefCountSubscriber, _super);\n    function RefCountSubscriber(destination, connectable) {\n        var _this = _super.call(this, destination) || this;\n        _this.connectable = connectable;\n        return _this;\n    }\n    RefCountSubscriber.prototype._unsubscribe = function () {\n        var connectable = this.connectable;\n        if (!connectable) {\n            this.connection = null;\n            return;\n        }\n        this.connectable = null;\n        var refCount = connectable._refCount;\n        if (refCount <= 0) {\n            this.connection = null;\n            return;\n        }\n        connectable._refCount = refCount - 1;\n        if (refCount > 1) {\n            this.connection = null;\n            return;\n        }\n        var connection = this.connection;\n        var sharedConnection = connectable._connection;\n        this.connection = null;\n        if (sharedConnection && (!connection || sharedConnection === connection)) {\n            sharedConnection.unsubscribe();\n        }\n    };\n    return RefCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=ConnectableObservable.js.map\n","/** PURE_IMPORTS_START _observable_ConnectableObservable PURE_IMPORTS_END */\nimport { connectableObservableDescriptor } from '../observable/ConnectableObservable';\nexport function multicast(subjectOrSubjectFactory, selector) {\n    return function multicastOperatorFunction(source) {\n        var subjectFactory;\n        if (typeof subjectOrSubjectFactory === 'function') {\n            subjectFactory = subjectOrSubjectFactory;\n        }\n        else {\n            subjectFactory = function subjectFactory() {\n                return subjectOrSubjectFactory;\n            };\n        }\n        if (typeof selector === 'function') {\n            return source.lift(new MulticastOperator(subjectFactory, selector));\n        }\n        var connectable = Object.create(source, connectableObservableDescriptor);\n        connectable.source = source;\n        connectable.subjectFactory = subjectFactory;\n        return connectable;\n    };\n}\nvar MulticastOperator = /*@__PURE__*/ (function () {\n    function MulticastOperator(subjectFactory, selector) {\n        this.subjectFactory = subjectFactory;\n        this.selector = selector;\n    }\n    MulticastOperator.prototype.call = function (subscriber, source) {\n        var selector = this.selector;\n        var subject = this.subjectFactory();\n        var subscription = selector(subject).subscribe(subscriber);\n        subscription.add(source.subscribe(subject));\n        return subscription;\n    };\n    return MulticastOperator;\n}());\nexport { MulticastOperator };\n//# sourceMappingURL=multicast.js.map\n","/** PURE_IMPORTS_START _multicast,_refCount,_Subject PURE_IMPORTS_END */\nimport { multicast } from './multicast';\nimport { refCount } from './refCount';\nimport { Subject } from '../Subject';\nfunction shareSubjectFactory() {\n    return new Subject();\n}\nexport function share() {\n    return function (source) { return refCount()(multicast(shareSubjectFactory)(source)); };\n}\n//# sourceMappingURL=share.js.map\n","import { Subject, Subscription, fromEvent, Observable, NEVER } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\nvar Vue$1;\nvar warn = function () {};\n\n// NOTE(benlesh): the value of this method seems dubious now, but I'm not sure\n// if this is a Vue convention I'm just not familiar with. Perhaps it would\n// be better to just import and use Vue directly?\nfunction install (_Vue) {\n  Vue$1 = _Vue;\n  warn = Vue$1.util.warn || warn;\n}\n\n// TODO(benlesh): as time passes, this should be updated to use RxJS 6.1's\n// `isObservable` method. But wait until you're ready to drop support for Rx 5\nfunction isObservable (ob) {\n  return ob && typeof ob.subscribe === 'function'\n}\n\nfunction isObserver (subject) {\n  return subject && (\n    typeof subject.next === 'function'\n  )\n}\n\nfunction defineReactive (vm, key, val) {\n  if (key in vm) {\n    vm[key] = val;\n  } else {\n    Vue$1.util.defineReactive(vm, key, val);\n  }\n}\n\nfunction getKey (binding) {\n  return [binding.arg].concat(Object.keys(binding.modifiers)).join(':')\n}\n\nvar rxMixin = {\n  created: function created () {\n    var vm = this;\n    var domStreams = vm.$options.domStreams;\n    if (domStreams) {\n      domStreams.forEach(function (key) {\n        vm[key] = new Subject();\n      });\n    }\n\n    var observableMethods = vm.$options.observableMethods;\n    if (observableMethods) {\n      if (Array.isArray(observableMethods)) {\n        observableMethods.forEach(function (methodName) {\n          vm[ methodName + '$' ] = vm.$createObservableMethod(methodName);\n        });\n      } else {\n        Object.keys(observableMethods).forEach(function (methodName) {\n          vm[observableMethods[methodName]] = vm.$createObservableMethod(methodName);\n        });\n      }\n    }\n\n    var obs = vm.$options.subscriptions;\n    if (typeof obs === 'function') {\n      obs = obs.call(vm);\n    }\n    if (obs) {\n      vm.$observables = {};\n      vm._subscription = new Subscription();\n      Object.keys(obs).forEach(function (key) {\n        defineReactive(vm, key, undefined);\n        var ob = vm.$observables[key] = obs[key];\n        if (!isObservable(ob)) {\n          warn(\n            'Invalid Observable found in subscriptions option with key \"' + key + '\".',\n            vm\n          );\n          return\n        }\n        vm._subscription.add(obs[key].subscribe(function (value) {\n          vm[key] = value;\n        }, function (error) { throw error }));\n      });\n    }\n  },\n\n  beforeDestroy: function beforeDestroy () {\n    if (this._subscription) {\n      this._subscription.unsubscribe();\n    }\n  }\n}\n\nvar streamDirective = {\n  // Example ./example/counter_dir.html\n  bind: function bind (el, binding, vnode) {\n    var handle = binding.value;\n    var event = binding.arg;\n    var streamName = binding.expression;\n    var modifiers = binding.modifiers;\n\n    if (isObserver(handle)) {\n      handle = { subject: handle };\n    } else if (!handle || !isObserver(handle.subject)) {\n      warn(\n        'Invalid Subject found in directive with key \"' + streamName + '\".' +\n        streamName + ' should be an instance of Subject or have the ' +\n        'type { subject: Subject, data: any }.',\n        vnode.context\n      );\n      return\n    }\n\n    var modifiersFuncs = {\n      stop: function (e) { return e.stopPropagation(); },\n      prevent: function (e) { return e.preventDefault(); }\n    };\n\n    var modifiersExists = Object.keys(modifiersFuncs).filter(\n      function (key) { return modifiers[key]; }\n    );\n\n    var subject = handle.subject;\n    var next = (subject.next || subject.onNext).bind(subject);\n\n    if (!modifiers.native && vnode.componentInstance) {\n      handle.subscription = vnode.componentInstance.$eventToObservable(event).subscribe(function (e) {\n        modifiersExists.forEach(function (mod) { return modifiersFuncs[mod](e); });\n        next({\n          event: e,\n          data: handle.data\n        });\n      });\n    } else {\n      var fromEventArgs = handle.options ? [el, event, handle.options] : [el, event];\n      handle.subscription = fromEvent.apply(void 0, fromEventArgs).subscribe(function (e) {\n        modifiersExists.forEach(function (mod) { return modifiersFuncs[mod](e); });\n        next({\n          event: e,\n          data: handle.data\n        });\n      });\n    }\n(el._rxHandles || (el._rxHandles = {}))[getKey(binding)] = handle;\n  },\n\n  update: function update (el, binding) {\n    var handle = binding.value;\n    var _handle = el._rxHandles && el._rxHandles[getKey(binding)];\n    if (_handle && handle && isObserver(handle.subject)) {\n      _handle.data = handle.data;\n    }\n  },\n\n  unbind: function unbind (el, binding) {\n    var key = getKey(binding);\n    var handle = el._rxHandles && el._rxHandles[key];\n    if (handle) {\n      if (handle.subscription) {\n        handle.subscription.unsubscribe();\n      }\n      el._rxHandles[key] = null;\n    }\n  }\n}\n\nfunction watchAsObservable (expOrFn, options) {\n  var vm = this;\n  var obs$ = new Observable(function (observer) {\n    var _unwatch;\n    var watch = function () {\n      _unwatch = vm.$watch(expOrFn, function (newValue, oldValue) {\n        observer.next({ oldValue: oldValue, newValue: newValue });\n      }, options);\n    };\n\n    // if $watchAsObservable is called inside the subscriptions function,\n    // because data hasn't been observed yet, the watcher will not work.\n    // in that case, wait until created hook to watch.\n    if (vm._data) {\n      watch();\n    } else {\n      vm.$once('hook:created', watch);\n    }\n\n    // Returns function which disconnects the $watch expression\n    return new Subscription(function () {\n      _unwatch && _unwatch();\n    })\n  });\n\n  return obs$\n}\n\nfunction fromDOMEvent (selector, event) {\n  if (typeof window === 'undefined') {\n    // TODO(benlesh): I'm not sure if this is really what you want here,\n    // but it's equivalent to what you were doing. You might want EMPTY\n    return NEVER\n  }\n\n  var vm = this;\n  var doc = document.documentElement;\n  var obs$ = new Observable(function (observer) {\n    function listener (e) {\n      if (!vm.$el) { return }\n      if (selector === null && vm.$el === e.target) { return observer.next(e) }\n      var els = vm.$el.querySelectorAll(selector);\n      var el = e.target;\n      for (var i = 0, len = els.length; i < len; i++) {\n        if (els[i] === el) { return observer.next(e) }\n      }\n    }\n    doc.addEventListener(event, listener);\n    // Returns function which disconnects the $watch expression\n    return new Subscription(function () {\n      doc.removeEventListener(event, listener);\n    })\n  });\n\n  return obs$\n}\n\nfunction subscribeTo (observable, next, error, complete) {\n  var subscription = observable.subscribe(next, error, complete)\n  ;(this._subscription || (this._subscription = new Subscription())).add(subscription);\n  return subscription\n}\n\n/**\n * @see {@link https://vuejs.org/v2/api/#vm-on}\n * @param {String||Array} evtName Event name\n * @return {Observable} Event stream\n */\nfunction eventToObservable (evtName) {\n  var vm = this;\n  var evtNames = Array.isArray(evtName) ? evtName : [evtName];\n  var obs$ = new Observable(function (observer) {\n    var eventPairs = evtNames.map(function (name) {\n      var callback = function (msg) { return observer.next({ name: name, msg: msg }); };\n      vm.$on(name, callback);\n      return { name: name, callback: callback }\n    });\n    return function () {\n      // Only remove the specific callback\n      eventPairs.forEach(function (pair) { return vm.$off(pair.name, pair.callback); });\n    }\n  });\n\n  return obs$\n}\n\n/**\n * @name Vue.prototype.$createObservableMethod\n * @description Creates an observable from a given function name.\n * @param {String} methodName Function name\n * @param {Boolean} [passContext] Append the call context at the end of emit data?\n * @return {Observable} Hot stream\n */\nfunction createObservableMethod (methodName, passContext) {\n  var vm = this;\n\n  if (vm[methodName] !== undefined) {\n    warn(\n      'Potential bug: ' +\n      \"Method \" + methodName + \" already defined on vm and has been overwritten by $createObservableMethod.\" +\n      String(vm[methodName]),\n      vm\n    );\n  }\n\n  var creator = function (observer) {\n    vm[methodName] = function () {\n      var args = Array.from(arguments);\n      if (passContext) {\n        args.push(this);\n        observer.next(args);\n      } else {\n        if (args.length <= 1) {\n          observer.next(args[0]);\n        } else {\n          observer.next(args);\n        }\n      }\n    };\n    return function () {\n      delete vm[methodName];\n    }\n  };\n\n  // Must be a hot stream otherwise function context may overwrite over and over again\n  return new Observable(creator).pipe(share())\n}\n\n/* global Vue */\n\nfunction VueRx (Vue) {\n  install(Vue);\n  Vue.mixin(rxMixin);\n  Vue.directive('stream', streamDirective);\n  Vue.prototype.$watchAsObservable = watchAsObservable;\n  Vue.prototype.$fromDOMEvent = fromDOMEvent;\n  Vue.prototype.$subscribeTo = subscribeTo;\n  Vue.prototype.$eventToObservable = eventToObservable;\n  Vue.prototype.$createObservableMethod = createObservableMethod;\n  Vue.config.optionMergeStrategies.subscriptions = Vue.config.optionMergeStrategies.data;\n}\n\n// auto install\nif (typeof Vue !== 'undefined') {\n  Vue.use(VueRx);\n}\n\nexport default VueRx;\n","import VuetifyImageClipper from './Vuetify-Image-Clipper.vue'\r\nimport VueRx from \"vue-rx\"; \r\n\r\nVuetifyImageClipper.install = function (Vue) {\r\n\tVue.use(VueRx);\r\n    Vue.component('v-image-clipper', VuetifyImageClipper)\r\n}\r\n\r\nexport default VuetifyImageClipper","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","// extracted by mini-css-extract-plugin","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport function isPromise(value) {\n    return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n//# sourceMappingURL=isPromise.js.map\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n  CSSRuleList: 0,\n  CSSStyleDeclaration: 0,\n  CSSValueList: 0,\n  ClientRectList: 0,\n  DOMRectList: 0,\n  DOMStringList: 0,\n  DOMTokenList: 1,\n  DataTransferItemList: 0,\n  FileList: 0,\n  HTMLAllCollection: 0,\n  HTMLCollection: 0,\n  HTMLFormElement: 0,\n  HTMLSelectElement: 0,\n  MediaList: 0,\n  MimeTypeArray: 0,\n  NamedNodeMap: 0,\n  NodeList: 1,\n  PaintRequestList: 0,\n  Plugin: 0,\n  PluginArray: 0,\n  SVGLengthList: 0,\n  SVGNumberList: 0,\n  SVGPathSegList: 0,\n  SVGPointList: 0,\n  SVGStringList: 0,\n  SVGTransformList: 0,\n  SourceBufferList: 0,\n  StyleSheetList: 0,\n  TextTrackCueList: 0,\n  TextTrackList: 0,\n  TouchList: 0\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n  // eslint-disable-next-line no-undef\n  && !Symbol.sham\n  // eslint-disable-next-line no-undef\n  && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n"],"sourceRoot":""}

Youez - 2016 - github.com/yon3zu
LinuXploit