This repository has been archived by the owner on Jan 5, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathvue-responsive-dash.umd.js.map
1 lines (1 loc) · 589 KB
/
vue-responsive-dash.umd.js.map
1
{"version":3,"sources":["webpack://vue-responsive-dash/webpack/universalModuleDefinition","webpack://vue-responsive-dash/webpack/bootstrap","webpack://vue-responsive-dash/./node_modules/core-js/internals/to-string-tag-support.js","webpack://vue-responsive-dash/./src/components/DashLayout.vue?cf19","webpack://vue-responsive-dash/./node_modules/core-js/internals/function-bind-context.js","webpack://vue-responsive-dash/./node_modules/@vue/cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://vue-responsive-dash/./node_modules/@vue/cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://vue-responsive-dash/./node_modules/@vue/cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://vue-responsive-dash/./node_modules/ste-core/dist/index.js","webpack://vue-responsive-dash/./node_modules/vue-element-resize-detector/dist/vue-element-resize-detector.common.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://vue-responsive-dash/./src/components/Dashboard.vue?4c51","webpack://vue-responsive-dash/./node_modules/@vue/cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://vue-responsive-dash/./src/components/Dashboard.model.ts","webpack://vue-responsive-dash/src/components/Dashboard.vue","webpack://vue-responsive-dash/./src/components/Dashboard.vue?4a83","webpack://vue-responsive-dash/./src/components/Dashboard.vue","webpack://vue-responsive-dash/./node_modules/core-js/internals/ie8-dom-define.js","webpack://vue-responsive-dash/./src/components/DashItem.vue?edde","webpack://vue-responsive-dash/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/array-for-each.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/html.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/a-function.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/require-object-coercible.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://vue-responsive-dash/./node_modules/ste-core/dist/subscription.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/to-absolute-index.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/export.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://vue-responsive-dash/./node_modules/css-loader/dist/runtime/api.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.string.includes.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://vue-responsive-dash/./src/components/DashItem.vue?ba85","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/domObjects.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/isWindow.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/window.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/is.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/browser.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/arr.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/clone.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/extend.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/raf.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/normalizeListeners.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/Eventable.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/domUtils.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/rect.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/getOriginXY.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/hypot.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/BaseEvent.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/defaultOptions.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/InteractEvent.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/isNonNativeEvent.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/Interactable.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/InteractableSet.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/pointerExtend.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/pointerUtils.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/events.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/interactStatic.js","webpack://vue-responsive-dash/./node_modules/@interactjs/utils/misc.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/PointerInfo.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/Interaction.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/interactablePreventDefault.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/interactionFinder.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/interactions.js","webpack://vue-responsive-dash/./node_modules/@interactjs/core/scope.js","webpack://vue-responsive-dash/./node_modules/@interactjs/interact/index.js","webpack://vue-responsive-dash/./node_modules/@interactjs/actions/drag/plugin.js","webpack://vue-responsive-dash/./node_modules/@interactjs/actions/drop/DropEvent.js","webpack://vue-responsive-dash/./node_modules/@interactjs/actions/drop/plugin.js","webpack://vue-responsive-dash/./node_modules/@interactjs/actions/gesture/plugin.js","webpack://vue-responsive-dash/./node_modules/@interactjs/actions/resize/plugin.js","webpack://vue-responsive-dash/./node_modules/@interactjs/actions/plugin.js","webpack://vue-responsive-dash/./node_modules/@interactjs/actions/index.js","webpack://vue-responsive-dash/./node_modules/@interactjs/auto-start/InteractableMethods.js","webpack://vue-responsive-dash/./node_modules/@interactjs/auto-start/base.js","webpack://vue-responsive-dash/./node_modules/@interactjs/auto-start/dragAxis.js","webpack://vue-responsive-dash/./node_modules/@interactjs/auto-start/hold.js","webpack://vue-responsive-dash/./node_modules/@interactjs/auto-start/plugin.js","webpack://vue-responsive-dash/./node_modules/@interactjs/auto-start/index.js","webpack://vue-responsive-dash/src/components/DashItem.vue","webpack://vue-responsive-dash/./src/components/DashItem.vue?6e1f","webpack://vue-responsive-dash/./src/components/DashItem.vue","webpack://vue-responsive-dash/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://vue-responsive-dash/./src/components/DashItem.model.ts","webpack://vue-responsive-dash/./src/components/index.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/engine-v8-version.js","webpack://vue-responsive-dash/./node_modules/@vue/cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/engine-user-agent.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/get-iterator-method.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-define-properties.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/a-possible-prototype.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.string.iterator.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/iterators.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.array.for-each.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/path.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/indexed-object.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/add-to-unscopables.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/is-regexp.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/native-symbol.js","webpack://vue-responsive-dash/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://vue-responsive-dash/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/array-includes.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.array.filter.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/array-from.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/to-length.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/has.js","webpack://vue-responsive-dash/./src/components/DashLayout.vue?5d84","webpack://vue-responsive-dash/src/components/DashLayout.vue","webpack://vue-responsive-dash/./src/components/DashLayout.vue?eb62","webpack://vue-responsive-dash/./src/components/DashLayout.vue","webpack://vue-responsive-dash/./node_modules/core-js/internals/shared.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/own-keys.js","webpack://vue-responsive-dash/./src/components/DashItem.vue?a3f3","webpack://vue-responsive-dash/./node_modules/core-js/internals/whitespaces.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/string-trim.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/not-a-regexp.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/create-property-descriptor.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/string-multibyte.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/array-species-create.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/internal-state.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/redefine.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/inherit-if-required.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/enum-bug-keys.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/to-object.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-create.js","webpack://vue-responsive-dash/./node_modules/ste-simple-events/dist/simple-events.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/define-iterator.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/native-weak-map.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/an-object.js","webpack://vue-responsive-dash/./node_modules/ste-core/dist/management.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/descriptors.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/create-property.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/is-object.js","webpack://vue-responsive-dash/./node_modules/@soda/get-current-script/index.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/inspect-source.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/uid.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/is-forced.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-define-property.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.array.splice.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.symbol.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.array.from.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/array-method-is-strict.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/to-integer.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.number.constructor.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://vue-responsive-dash/./node_modules/@vue/cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/regexp-flags.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/array-method-uses-to-length.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/iterators-core.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-to-string.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.function.name.js","webpack://vue-responsive-dash/./node_modules/@vue/cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://vue-responsive-dash/./node_modules/@vue/cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/well-known-symbol.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.object.keys.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/array-iteration.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/to-primitive.js","webpack://vue-responsive-dash/./src/components/DashLayout.vue?528a","webpack://vue-responsive-dash/./node_modules/core-js/internals/is-pure.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/classof-raw.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/shared-store.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.array.find-index.js","webpack://vue-responsive-dash/(webpack)/buildin/global.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-keys-internal.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.array.includes.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/document-create-element.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/set-global.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/hidden-keys.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/fails.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/get-built-in.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://vue-responsive-dash/./src/components/DashItem.vue?9e2b","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://vue-responsive-dash/./src/components/Layout.model.ts","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.object.to-string.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/set-to-string-tag.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.array.map.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/global.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-keys.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.symbol.description.js","webpack://vue-responsive-dash/./node_modules/ste-core/dist/dispatching.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.array.iterator.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/is-array.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://vue-responsive-dash/./node_modules/ste-simple-events/dist/index.js","webpack://vue-responsive-dash/./src/components/DashLayout.vue?3025","webpack://vue-responsive-dash/./node_modules/core-js/internals/classof.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/shared-key.js","webpack://vue-responsive-dash/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-responsive-dash/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://vue-responsive-dash/./node_modules/core-js/modules/es.array.slice.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/to-indexed-object.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/dom-iterables.js","webpack://vue-responsive-dash/./node_modules/core-js/internals/use-symbol-as-uid.js"],"names":["_arrayLikeToArray","arr","len","length","i","arr2","Array","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","isArray","unsupportedIterableToArray","F","s","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","_typeof","obj","VueResponsiveDash","DashItem","DashLayout","Dashboard","install","Vue","installed","keys","forEach","component","plugin","GlobalVue","window","global","use","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","key","_createClass","Constructor","protoProps","staticProps","_classCallCheck","instance","_defineProperty","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","arguments","source","getOwnPropertyDescriptors","defineProperties"],"mappings":"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AAkD,qCAAqC,qCAAqC,EAAE,EAAE;AAChI,qDAAqD,qCAAqC,wCAAwC,EAAE,EAAE;AACtI,iDAAiD,qCAAqC,oCAAoC,EAAE,EAAE;AAC9H,qBAAqB,mBAAO,CAAC,MAAgB;AAC7C,gDAAgD,qCAAqC,oCAAoC,EAAE,EAAE;;;;;;;;ACf7H;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,kBAAkB;AAClF;AACA,yDAAyD,cAAc;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,iCAAiC;AAClF,wHAAwH,mBAAmB,EAAE;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA,8DAA8D,+DAA+D;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;;AAGA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,iBAAiB;AACjB,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,EAAE;AACf;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4IAA4I,kCAAkC;AAC9K,gCAAgC,0BAA0B;AAC1D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,mBAAmB;AACvD;;AAEA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wEAAwE,gDAAgD;AACxH,8DAA8D,mMAAmM;AACjQ,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA,UAAU;AACV,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,UAAU;AACxB;AACA,cAAc,SAAS;AACvB;AACA;AACA,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,6CAA6C,EAAE;AACpF;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mFAAmF,qBAAqB;;AAExG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,kBAAkB;AACjC,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA,yDAAyD,6CAA6C;AACtG;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;AAGD,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iEAAiE,6C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AAC9D,iBAAiB,mBAAO,CAAC,MAAgC;;AAEzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,GAAG;AACH;;;;;;;;;AClBa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,EAAE;AACjB,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;AC9CA,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;;AAEA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;;;;;;;;ACXA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,eAAe,mBAAO,CAAC,MAAuB;AAC9C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;;AAEA;AACA,4CAA4C,qBAAqB;AACjE;;AAEA;AACA,KAAK;AACL,IAAI;AACJ;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,iBAAiB;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,8BAA8B;;AAE9B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,CAAC;;;AAGD;AACA;AACA;AACA,qDAAqD,cAAc;AACnE;AACA,C;;;;;;;;AC7Fa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,2BAA2B,mBAAO,CAAC,MAAsC;;AAEzE;AACA;AACA,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACbY;AACb,eAAe,mBAAO,CAAC,MAAuB;AAC9C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,YAAY,mBAAO,CAAC,MAAoB;AACxC,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;AACA;AACA;;AAEA,qCAAqC,6BAA6B,0BAA0B,YAAY,EAAE;AAC1G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;;;;;;;;;;ACxBA,0BAA0B,aAAa,0BAA0B,wBAAwB,iBAAiB,6EAA6E,sBAAsB,KAAK,6BAA6B,iBAAiB,+BAA+B,oBAAoB,4BAA4B;AAC/U;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,4BAA4B,gEAAgE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,+BAA+B,iEAAiE;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,6BAA6B,gEAAgE;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,8BAA8B,mEAAmE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,gCAAgC,sEAAsE;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,iCAAiC,yEAAyE;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,mCAAmC,4EAA4E;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,oCAAoC;AAClD;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEe,+DAAU,EAAC;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;AC/BgB,gHAAmE,EAAE;AACrF,oC;;ACDqC;AACrC;AACA;AACA;AACA;AACA,MAAM;AACN;AACO,SAAS,WAAI;AACpB;AACA,0BAA0B;;AAE1B,gDAAgD;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD,EAAE,WAAI;AACN;;AAEO;AACP,MAAM,QAAQ;AACd;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAI;AACA,oDAAG,EAAC;AACnB,kC;;ACtCqC;AACP;;AAE9B,MAAM,SAAM,sBAAsB,YAAG,WAAW,QAAQ;;AAExD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,MAAM,UAAO;AACb;AACA;AACA,GAAG;;;AAGH,kBAAkB,YAAG,qBAAqB,YAAG;;AAE7C;AACA;AACA;;AAEA;;AAEA;;AAEe;AACf,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC,EAAC;AACF,8B;;AC7CyC;AAChB;AACK;AAC9B;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,YAAI;AACb,kBAAkB,gBAAU;AAC5B,oBAAoB,YAAG,kBAAkB;;AAEzC,sDAAsD,EAAE,+BAA+B,gBAAU,0CAA0C;;AAE3I,yEAAyE,gBAAU;AACnF,4DAA4D;;AAE5D;AACA,qDAAqD;;AAErD,uHAAuH;;AAEvH;AACA,uDAAuD,gBAAU;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,QAAQ;;AAEX,yCAAyC,gBAAU;AACnD;;AAEe,yDAAO,EAAC;AACvB,mC;;ACnDO;AACA,MAAM,UAAM;AACZ;AACP;AACA;AACA;;AAEA;AACA;AACO;AACA;AACP,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP,+B;;ACpBgC;AACP;;AAEV;AACf;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK,UAAU,EAAE;AACjB,mBAAmB,IAAQ;AAC3B,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,iC;;ACpBe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA,kC;;ACRA;AACA;AACA;;AAEA,SAAS,QAAI;AACb;AACA;;AAEA;AACA;;AAEA;AACA,0BAA0B,OAAO;AACjC,yBAAyB,OAAO,oCAAoC,OAAO;AAC3E;AACA;;AAEA;AACA;AACA;AACA,iEAAiE;;AAEjE;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA,MAAM;AACN,CAAC,EAAC;AACF,+B;;ACtCiC;AACR;AACV;AACf;;AAEA,MAAM,EAAE;AACR;AACA;;AAEA,MAAM,EAAE;AACR,mCAAmC,MAAM;AACzC,GAAG,MAAM,WAAW,WAAW,WAAW;;;AAG1C,MAAM,EAAE;AACR;AACA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA,GAAG,UAAU,EAAE;AACf;AACA;AACA;AACA,GAAG,UAAU,EAAE;AACf;AACA,sDAAsD,KAAK,EAAE,EAAE;AAC/D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,8C;;ACvCuC;AACC;AACe;;AAEvD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEO,MAAM,mBAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM,GAAG,eAAe;AAC3C;;AAEA;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,SAAS;;AAE/B;AACA,yBAAyB,KAAS;AAClC;AACA;;AAEA;AACA,sBAAsB,SAAS;;AAE/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qC;;ACxEmC;AACM;AAChB;AACoB;AACtC;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACO;AACP,SAAS,EAAE;AACX;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACO;AACP;;AAEA,MAAM,EAAE;AACR;AACA;AACA,qCAAqC,EAAE;AACvC;AACA;;AAEA;AACA;;AAEA;AACA;AACO;AACP;AACA,MAAM,YAAG,YAAY,YAAG;AACxB;AACA;;AAEA,iBAAiB,aAAO;AACxB;;AAEA,iDAAiD;;;AAG1C;AACP;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA,mDAAmD;;AAEnD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA,sBAAsB;;AAEtB,+BAA+B,gBAAU,uCAAuC,gBAAU,wCAAwC,gBAAU;AAC5I;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA,wBAAwB;;AAExB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+BAA+B,SAAS;AACxC,8BAA8B,SAAS;AACvC;AACA;;AAEO;AACP,SAAS,EAAE;AACX;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP,4BAA4B,gBAAU;AACtC;AACO;AACP,qCAAqC,YAAG;AACxC;AACA;AACA;AACA;AACA;AACO;AACP,wCAAwC,gBAAU;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;;AAEA,OAAO,aAAO;AACd,+BAA+B,YAAG;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP,OAAO,EAAE;AACT;AACA,GAAG;;;AAGH,EAAE,gBAAU;AACZ;AACA;AACA,oC;;AC3NoE;AACnC;AACR;AAClB;AACP;AACA,WAAW,UAAU;AACrB;;AAEA;AACA;AACA;;AAEA,SAAS,OAAO;AAChB;AACO;AACP;;AAEA,MAAM,EAAE;AACR;AACA,GAAG,UAAU,EAAE;AACf;AACA;;AAEA,MAAM,EAAE;AACR,kBAAkB,cAAc;AAChC;;AAEA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA,WAAW,MAAM,GAAG;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA,WAAW,MAAM,GAAG;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gC;;AC7EsD;AACvC;AACf;AACA;AACA;AACA,qBAAqB,eAAe;AACpC,SAAS,QAAQ;AACjB;AACA;AACA;AACA,CAAC;AACD,uC;;ACXgB,4EAAkC,EAAE;AACpD,iC;;ACDO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA,CAAC;AACc,4DAAS,EAAC;AACzB,qC;;AC7CA;AACA;AACO,MAAM,uBAAQ;AACrB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0C;;AChBwC;AACU;AACZ;AACK;AACI;AACxC,MAAM,2BAAa,SAAS,SAAS;AAC5C;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,qDAAqD,uBAAQ;AAC7D,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,MAAM,GAAG;AACzB,kBAAkB,MAAM,GAAG;AAC3B,gBAAgB,MAAM,GAAG;AACzB;;AAEA;AACA;AACA;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,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;;AAE7C,oBAAoB,MAAM,GAAG;AAC7B,iBAAiB,KAAK;AACtB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,CAAC;AACD;;AAEA,wBAAwB,2BAAa;AACrC;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;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B;AACrC;AACA,aAAa,0BAA0B;AACvC,aAAa,iBAAiB;AAC9B;AACA,cAAc,aAAa;AAC3B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,aAAa,0BAA0B;AACvC,aAAa,iBAAiB;AAC9B;AACA,cAAc,aAAa;AAC3B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;;;AAGA;AACA;;AAEA,SAAS,EAAE;AACX;AACA;;AAEA,mBAAmB,KAAK;;AAExB;AACA;AACA;AACA;AACA,oCAAoC,MAAM,CAAC,MAAM,GAAG;AACpD;AACA;;AAEA;AACA,UAAU,EAAE;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;;AAEA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,wC;;AC/YuC;AACU;AACT;AACR;AACzB,MAAM,+BAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,+BAA+B,EAAE;AACjC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA,cAAc,MAAM,cAAc;AAClC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,uBAAuB,EAAE;AACzB;;AAEA;AACA;AACA;;AAEA,kBAAkB,IAAQ;AAC1B;AACA;;AAEA;AACA;AACA;;AAEA,WAAW,EAAE;AACb,QAAQ,EAAE,kBAAkB,eAAwB;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2C;;ACtGA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACe,qEAAa,EAAC;AAC7B,yC;;ACzBmC;AACD;AACQ;AACX;AACN;AACsB;AACxC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP,4BAA4B,gBAAG,6BAA6B,gBAAG;AAC/D,CAAC;;AAEM;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,IAAI;;AAEJ,MAAM,aAAO;AACb;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACO;AACP;;AAEA,MAAM,aAAO;AACb;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACO;AACP,SAAS,EAAE;AACX;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,qBAAqB;;AAErB,MAAM,EAAE;AACR;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK;AACd;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,SAAS,EAAE,qDAAqD,EAAE;AAClE;AACA,qDAAqD,gBAAG;AACxD,CAAC;;AAEM;AACP,eAAe,EAAE;AACjB,UAAU,gBAAyB,iCAAiC,gBAAyB;AAC7F;AACO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACO;AACP;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACyB;AACzB,wC;;AC9PuC;AACU;AACT;AACR;AACgB;AACS;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA,iBAAiB,IAAQ;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,yCAAyC,QAAY;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,SAAa;AACrC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA,OAAO;AACP,uBAAuB,0BAA0B;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,IAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL,sCAAsC,YAAY;AAClD,mCAAmC;;AAEnC;AACA;AACA;AACA,SAAS,OAAO;;AAEhB,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA,WAAW,iBAAiB;;AAE5B;AACA;AACA,mCAAmC;AACnC;;AAEA;AACA,yCAAyC;;AAEzC;AACA;AACA,aAAa;;;AAGb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA,0BAA0B,gBAAS;AACnC;AACA,0BAA0B,eAA4B;AACtD,8BAA8B;;AAE9B,WAAW,EAAE;AACb,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA,SAAS;;AAET,YAAY,eAAwB,uBAAuB,YAAqB,0BAA0B,YAAqB;AAC/H;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAmB;AACnC;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEO,MAAM,gBAAS;AACtB;AACA;AACA;AACA,uCAAuC;;AAEvC,IAAI,mBAAO;AACX;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,OAAO,EAAE;AACT;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,MAAM,GAAG;AAC3B;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA,CAAC,EAAC;AACF,kC;;AClRA;AAC0C;AACO;AACjB;AACyB;AACJ;AAC9C;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ,+BAA+B,cAA2B;AAC1D,0BAA0B,SAAsB;AAChD,8BAA8B,aAA0B;AACxD,2BAA2B,UAAuB;AAClD,4BAA4B,cAAuB;AACnD,kCAAkC,oBAA6B;AAC/D,6BAA6B,eAAwB;AACrD,qBAAqB,OAAgB;AACrC,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,QAAQ;AACtB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,aAAa,SAAS;AACtB,aAAa,iBAAiB;AAC9B;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,aAAa,SAAS;AACtB,aAAa,iBAAiB;AAC9B;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA,QAAQ,gBAAgB;AACxB;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;;AAGA;AACA,WAAW,aAAO;AAClB;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;;AAGA;AACA,WAAW,aAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,0C;;AC7P8B;AACvB;AACP;AACA;AACA;AACA,MAAM,YAAG;AACT;AACA;;AAEA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,gC;;AClBO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uC;;ACfuC;AACC;AACF;AACkB;AACC;AACX;AACK;AACJ;AACxC;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;;AAE9B;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;;AAEvC;AACO,MAAM,uBAAW;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;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,kBAAkB,QAAQ;AAC1B;AACA,KAAK;AACL;AACA;AACA,aAAa,SAAsB;AACnC;AACA,YAAY,SAAsB;AAClC;AACA,WAAW,SAAsB;AACjC;AACA,aAAa,SAAsB;AACnC;AACA,gBAAgB,SAAsB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,8BAA8B,eAAe;AAC7C;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,qBAAqB;AAClE;AACA;AACA,aAAa,OAAO;AACpB,aAAa,aAAa;AAC1B,aAAa,QAAQ;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;;AAEA,IAAI,UAAU;AACd;AACA;AACA;AACA,uCAAuC,MAAM,GAAG;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,6BAA6B,KAAK;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,gBAA6B;AACnC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,UAAuB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ,eAAe;AAChE;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,MAAM,aAA0B;AAChC;;AAEA,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA,KAAK,iBAAiB;AACtB;;AAEA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,oCAAoC,KAAK;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,aAAa,aAAa;AAC1B;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,YAAyB,UAAU;;AAEzD,mGAAmG,SAAa;AAChH;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,YAAyB;AACxC;AACA;AACA;;AAEA;AACA,wBAAwB,WAAW;AACnC;AACA;AACA,KAAK;AACL;AACA;;AAEA,IAAI,SAAsB;AAC1B,IAAI,cAA2B;;AAE/B;AACA;AACA;AACA;AACA,MAAM,mBAA0B;;AAEhC;AACA,QAAQ,UAAuB;AAC/B,QAAQ,UAAuB;AAC/B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,2BAAa;AAC5B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,MAAM,QAAkB;AACxB;AACA;AACA;;AAEA,uEAAuE,MAAM;;AAE7E;AACA;AACA;;AAEA;;AAEA,2CAA2C,MAAM;;AAEjD;AACA;AACA;;AAEA;;AAEA,iDAAiD,MAAM;;AAEvD;AACA;;AAEA;AACA;AACA;;AAEA;AACe,4EAAW,EAAC;AACJ;AACvB,uC;;ACxgBqE;AACrC;AACe;;AAE/C;AACA;AACA;AACA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,mCAAmC,WAAW;AAC9C;;;AAGA;AACA,gBAAgB,SAAS;AACzB;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;;;AAGH,MAAM,EAAE,0BAA0B,eAAe;AACjD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEO,SAAS,kCAAO;AACvB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,sBAAsB;AACpC;;AAEA;;AAEA;AACA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA,4EAA4E,YAAY;AACxF;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACe;AACf;AACA,SAAS;AACT;AACA,wBAAwB,UAAU;AAClC;AACA,GAAG,IAAI;AACP,CAAC,EAAC;AACF,sD;;AC9G4C;AAC5C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,UAAc;AAClC;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEe,4DAAM,EAAC;AACtB,6C;;AC/I0C;AACM;AACI;AACK;AACV;AAC0B;AAC7B;AAC5C;;AAEA,SAAS,oBAAO;AAChB;;AAEA;AACA;AACA;;AAEA,sBAAsB,aAAO;AAC7B;;AAEA,MAAM,gBAAU;AAChB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG,EAAE;;AAEL;AACA,oCAAoC,gBAAe;AACnD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA,SAAS,KAAK,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;;AAEA;AACA;AACA;AACA,wBAAwB,cAA2B;AACnD,0CAA0C,eAA4B;AACtE,uBAAuB;;AAEvB;AACA;;AAEA;AACA;AACA,0BAA0B,YAAyB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,WAAW,aAAO;AAClB;AACA,uBAAuB,4CAA4C;AACnE;AACA,SAAS;AACT;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,YAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,2BAA2B,iBAAM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,MAAM,yBAAY;AAClB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sDAAsD,QAAQ;AAC9D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACe,+EAAY,EAAC;AAC5B,wC;;ACpR0C;AACJ;AACU;AACR;AACN;AACG;AACM;AACQ;AACkB;AACd;AACR;AACd;AAC0B;AACd;AACtC,MAAM,WAAK;AAClB;AACA;AACA;AACA;AACA;AACA,kCAAkC,gCAAgC;AAClE;AACA;AACA,mBAAmB,aAAO;AAC1B,oBAAoB,KAAK,CAAC,uBAAQ;AAClC,qBAAqB,mBAAS;AAC9B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,OAAO;AACP,oBAAoB;AACpB;AACA;AACA,0BAA0B,oBAAoB;AAC9C,yBAAyB,2BAAa;AACtC;AACA,6BAA6B,+BAAe;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,sCAAsC,yBAAgB;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAI;;AAEX,YAAY,aAAa;AACzB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,YAAG;AACtB,wBAAwB,MAAM,GAAG;AACjC;AACA;AACA;AACA,KAAK;AACL,oCAAoC;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,mBAAmB,YAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACO;AACP;AACA,EAAE,YAAG;AACL,EAAE,gBAAU;AACZ,EAAE,aAAO;AACT,EAAE,GAAG;AACL;AACA;AACA,kBAAkB,iBAAY;AAC9B,kBAAkB,MAAM;AACxB;AACA;;AAEA;AACA;AACA;AACA,iC;;ACxOyC;AACzC,MAAM,cAAK,OAAO,WAAK;AACvB,MAAM,iBAAQ,GAAG,cAAK;AACP,0EAAQ,EAAC;AACjB,MAAM,aAAI,UAAU,cAAK;;AAEhC;AACA,EAAE,aAAI;AACN;AACA,iC;;ACTmC;;AAEnC,SAAS,cAAO;AAChB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;;;AAGA,MAAM,gBAAS;AACf,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACe,oDAAI,EAAC;AACpB,kC;;ACjKoD;AACV;AACnC,MAAM,mBAAS,SAAS,SAAS;AACxC;AACA;AACA;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;;;AAGA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,SAAa;AACjC;AACA;AACA,OAAO;AACP;AACA,kCAAkC,mBAAS;AAC3C;AACA;AACA;AACA,KAAK;AACL,6BAA6B,mBAAS;AACtC;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qC;;AChF0D;AACd;AACQ;AACT;AACU;AAClB;AACgC;AACP;AACvB;AACM;;AAE3C,SAAS,mBAAO;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,WAAI;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,cAAc,uBAAuB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,EAAE,MAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD,mBAAmB;;AAEnB;AACA;AACA;AACA;;AAEA,gDAAgD;;AAEhD,QAAQ,EAAE,mDAAmD,EAAE,oBAAoB,eAAwB,8BAA8B,EAAE;AAC3I;AACA;AACA,KAAK;AACL;AACA,KAAK;;;AAGL,yBAAyB,EAAE,iFAAiF,EAAE;;AAE9G;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;;;AAGH,oBAAoB,qBAA8B;AAClD;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,mBAAS;AACvC;AACA;AACA;;AAEA;AACA,gCAAgC,mBAAS;AACzC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,mBAAS;AACtC;AACA;AACA,KAAK;;;AAGL;AACA,6BAA6B,mBAAS;AACtC;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAS;AACnC;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAS;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,4DAA4D;;AAE5D;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,EAAE;AACR;;AAEA;AACA,yBAAyB,SAAkB,oBAAoB;;AAE/D;AACA,mEAAmE,KAAK,sDAAsD,KAAK;AACnI;AACA;AACA,OAAO,IAAI;AACX;AACA;AACA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;;AAEA;AACA;AACA,KAAK,UAAU,EAAE;AACjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB,WAAW;AAC9B,iBAAiB,SAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,EAAE;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,OAAO,eAAe;;AAEtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,oDAAI,EAAC;AACpB,kC;;ACriBmC;AACyB;;AAE5D,SAAS,sBAAO;AAChB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC;AACA;AACA,oCAAoC,6BAA6B;AACjE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA,QAAQ,EAAE;AACV;AACA;AACA;AACA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,aAA0B;AAChD,iBAAiB,SAAsB;AACvC;AACA;AACA,mBAAmB,UAAuB;AAC1C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,aAA0B;AAChD,iBAAiB,SAAsB;AACvC;AACA,mBAAmB,UAAuB;AAC1C;AACA;AACA;;AAEA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,cAAc;;AAEd;AACA;AACA;;AAEA;AACe,0DAAO,EAAC;AACvB,kC;;ACnJwD;AACT;AACJ;AACR;;AAEnC,SAAS,qBAAO;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG,SAAS;;AAEZ;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,6BAA6B;AACnE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,eAAe,MAAM,GAAG;AACxB;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH,MAAM,EAAE;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,MAAM,EAAE;AACR;AACA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK;AACL;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK,UAAU,EAAE;AACjB;AACA;;AAEA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,kBAAkB,EAAE;AACpB,mBAAmB,EAAE,4DAA4D;;AAEjF;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH,OAAO,EAAE;AACT;AACA;;AAEA,SAAS,EAAE;AACX;AACA,IAAI,WAAe;AACnB;;AAEA;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;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM,GAAG;AACpB,eAAe,MAAM,GAAG;AACxB,cAAc,MAAM,GAAG;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,WAAI;AACb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,MAAM;;AAER;AACA;AACA,IAAI,MAAM;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,MAAM,WAAI;AACV;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACe,wDAAM,EAAC;AACtB,kC;;AC7boC;AACA;AACM;AACF;AACzB;AACf;;AAEA;AACA,oBAAoB,cAAO;AAC3B,oBAAoB,aAAM;AAC1B,oBAAoB,WAAI;AACxB,oBAAoB,WAAI;AACxB;;AAEA,CAAC,EAAC;AACF,kC;;ACfA;AACsD;AACrB;;AAEjC;AACA,EAAE,aAAI;AACN,CAAC;;;AAGD,KAAK,KAAsC,MAAM,oBAAQ;AACzD,EAAE,oBAAQ;AACV;AACA;;AAEA,oBAAQ,KAAK,cAAM;AACnB,iC;;ACfgC;AACY;;AAE5C,SAAS,2BAAO;AAChB;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,mDAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;;AAGA,sCAAsC,QAAQ;AAC9C;AACA,GAAG,6EAA6E,qBAAqB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA,qCAAqC,QAAQ;AAC7C;AACA,GAAG,4EAA4E,oBAAoB;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA,cAAc,wBAAwB;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,uBAAuB;AACrC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEe;AACf;AACA,SAAS;AACT,CAAC,EAAC;AACF,+C;;AC/KiD;AACT;AACR;AACc;AACa;;AAE3D,SAAS,YAAO;AAChB;AACA;AACA;AACA,GAAG;AACH,kBAAkB,mBAAmB;AACrC;AACA;AACA,EAAE,MAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uCAAuC,SAAS;AAChD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,EAAE;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc,UAAmB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,EAAE,UAAU;AACZ;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACe,kDAAS,EAAC;AACzB,gC;;AC7TkD;AAClB;AACE;;AAElC;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,qCAAqC;;AAErC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,6FAA6F,IAAS;AACtG;AACA;AACA;AACA,MAAM;;;AAGN,WAAW,EAAE;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAU;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;AACF,oC;;AC5EmC;;AAEnC,SAAS,YAAO;AAChB;AACA;AACA,GAAG;AACH,kBAAkB,IAAU;AAC5B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,SAAS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AAyBA,iBAzBA,2BAyBA;AACA;AACA,KA3BA;AA4BA,kBA5BA,4BA4BA;AACA;AACA;AA9BA,GA7OA;AA6QA,SA7QA,qBA6QA;AACA;AAEA;AACA;AACA,wBALA,CAOA;;AACA;AACA;AACA;AACA;AACA,KAJA,MAIA;AACA,iCACA,QADA,EAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OATA,EAUA;AAAA;AAAA,OAVA;AAYA;AACA,GAvSA;AAwSA,eAxSA,2BAwSA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AA/SA,G;;AChMkU,CAAgB,gHAAG,EAAC,C;;;;;;;;ACAnP;AACvC;AACL;AACqC;;;AAG5F;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,yF;;;;;;;;ACnBf;AAAA;;AAEA;AACA;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;AAGO,IAAM,QAAb;AAoCE,0BAwCC;AAAA,QAvCC,EAuCD,QAvCC,EAuCD;AAAA,QAtCC,CAsCD,QAtCC,CAsCD;AAAA,QArCC,CAqCD,QArCC,CAqCD;AAAA,QApCC,KAoCD,QApCC,KAoCD;AAAA,QAnCC,MAmCD,QAnCC,MAmCD;AAAA,QAlCC,QAkCD,QAl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CA;;;;;;;;ACnBA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAA0B;AAChD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;ACND;AACA;AACA;AACA;AACe;AACf;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wBAAwB;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;;;AC1BA;AACA;AACA;AACA;AACA;;AAEyC;;AAEzC;;AAEA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,KAAK;AACL;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7NA,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;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,cAAc,mBAAO,CAAC,MAA8B;AACpD,mCAAmC,mBAAO,CAAC,MAA+C;AAC1F,8BAA8B,mBAAO,CAAC,MAA0C;;AAEhF;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,gFAAgF;AACnF;AACA;AACA;AACA,CAAC;;;;;;;;;ACjBY;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;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BAA6B,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,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACnBA,sBAAsB,mBAAO,CAAC,MAA8B;AAC5D,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,gBAAgB,mBAAO,CAAC,MAAkB;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,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,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,WAAW,mBAAO,CAAC,MAAmB;AACtC,UAAU,mBAAO,CAAC,MAAkB;AACpC,mCAAmC,mBAAO,CAAC,MAAwC;AACnF,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA,+CAA+C;AAC/C;AACA;AACA,GAAG;AACH;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,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;AACA,yBAAyB;AACzB;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;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;AC7Ea;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA,iBAAiB,mBAAO,CAAC,MAAU;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;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,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACD;;;;;;;;;AC9Ka;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,gCAA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DAAiD;AACpG,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,kCAAkC;AAChH;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gFAAgF,eAAe;AAC/F;AACA;AACA;;AAEA,GAAG,yEAAyE;AAC5E;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,GAAG,qDAAqD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,mBAAmB,EAAE;AAC/C,0BAA0B,oBAAoB;AAC9C,CAAC;;AAED,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,0DAA0D,kCAAkC,EAAE,GAAG;AACpG;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY,QAAQ;AACzC;AACA,0CAA0C;AAC1C,GAAG;;AAEH,KAAK,4DAA4D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;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mBAAO,CAAC,MAAgB;AAC7C;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,0BAA0B,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,EAAE;AACjB,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA,mEAAmE,iCAAiC,EAAE;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,gBAAgB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,iCAAiC;AAC1E,2CAA2C,mCAAmC;AAC9E,mCAAmC,2BAA2B;AAC9D,mCAAmC,2BAA2B;AAC9D,mCAAmC,2BAA2B;AAC9D,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACD;;;;;;;;ACjRA,UAAU,mBAAO,CAAC,MAAkB;AACpC,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,+BAA+B,mBAAO,CAAC,MAAuC;;AAE9E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AChBA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA,gBAAgB;AAChB;AACA;AACA,CAAC;;;;;;;;;ACNY;AACb,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,uBAAuB,mBAAO,CAAC,MAAiC;AAChE,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,qBAAqB,mBAAO,CAAC,MAA8B;;AAE3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,8BAA8B;AAC9B,gCAAgC;AAChC,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACpDA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAAoB;AACxC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD,6CAA6C,mCAAmC,EAAE;AAClF;;AAEA;AACA;AACA,GAAG,mEAAmE;AACtE;AACA;AACA;AACA,CAAC;;;;;;;;ACfD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;;;;;;;ACFA,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;AACb,8CAA8C,cAAc;AAC5D,sBAAsB,mBAAO,CAAC,MAAiB;AAC/C,yDAAyD,qCAAqC,8CAA8C,EAAE,EAAE;AAChJ,2DAA2D,qCAAqC,gDAAgD,EAAE,EAAE;AACpJ,mDAAmD,qCAAqC,wCAAwC,EAAE,EAAE;AACpI,6DAA6D,qCAAqC,kDAAkD,EAAE,EAAE;;;;;;;;ACNxJ;AACA,kCAAkC,mBAAO,CAAC,MAAmD;AAC7F;AACA;AACA,cAAc,QAAS,iCAAiC,YAAY,WAAW,qBAAqB,WAAW;AAC/G;AACA;;;;;;;;ACNA,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;;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;;;;;;ACrBK;AACA;AACT,4GAAG;AACI;;;;;;;;;ACHT;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,mCAAmC,mBAAO,CAAC,MAA+C;AAC1F,8BAA8B,mBAAO,CAAC,MAA0C;;AAEhF;AACA,uDAAuD,8BAA8B;;AAErF;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,gFAAgF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;AChDD;AACA,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"vue-responsive-dash.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-responsive-dash\"] = factory();\n\telse\n\t\troot[\"vue-responsive-dash\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \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","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../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/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashLayout.vue?vue&type=style&index=0&id=52e92723&scoped=true&lang=css&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"22709826\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","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","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","\"use strict\";\r\n/*!\r\n * Strongly Typed Events for TypeScript - Core\r\n * https://github.com/KeesCBakker/StronlyTypedEvents/\r\n * http://keestalkstech.com\r\n *\r\n * Copyright Kees C. Bakker / KeesTalksTech\r\n * Released under the MIT license\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar dispatching_1 = require(\"./dispatching\");\r\nObject.defineProperty(exports, \"DispatcherBase\", { enumerable: true, get: function () { return dispatching_1.DispatcherBase; } });\r\nObject.defineProperty(exports, \"DispatcherWrapper\", { enumerable: true, get: function () { return dispatching_1.DispatcherWrapper; } });\r\nObject.defineProperty(exports, \"EventListBase\", { enumerable: true, get: function () { return dispatching_1.EventListBase; } });\r\nvar subscription_1 = require(\"./subscription\");\r\nObject.defineProperty(exports, \"Subscription\", { enumerable: true, get: function () { return subscription_1.Subscription; } });\r\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \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/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"18d2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Resize detection strategy that injects objects to elements in order to detect resize events.\n * Heavily inspired by: http://www.backalleycoder.com/2013/03/18/cross-browser-event-based-element-resize-detection/\n */\n\n\n\nvar browserDetector = __webpack_require__(\"18e9\");\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n\n if(!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n function listenerProxy() {\n listener(element);\n }\n\n if(browserDetector.isIE(8)) {\n //IE 8 does not support object, but supports the resize event directly on elements.\n getState(element).object = {\n proxy: listenerProxy\n };\n element.attachEvent(\"onresize\", listenerProxy);\n } else {\n var object = getObject(element);\n\n if(!object) {\n throw new Error(\"Element is not detectable by this strategy.\");\n }\n\n object.contentDocument.defaultView.addEventListener(\"resize\", listenerProxy);\n }\n }\n\n function buildCssTextString(rules) {\n var seperator = options.important ? \" !important; \" : \"; \";\n\n return (rules.join(seperator) + seperator).trim();\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n var debug = options.debug;\n\n function injectObject(element, callback) {\n var OBJECT_STYLE = buildCssTextString([\"display: block\", \"position: absolute\", \"top: 0\", \"left: 0\", \"width: 100%\", \"height: 100%\", \"border: none\", \"padding: 0\", \"margin: 0\", \"opacity: 0\", \"z-index: -1000\", \"pointer-events: none\"]);\n\n //The target element needs to be positioned (everything except static) so the absolute positioned object will be positioned relative to the target element.\n\n // Position altering may be performed directly or on object load, depending on if style resolution is possible directly or not.\n var positionCheckPerformed = false;\n\n // The element may not yet be attached to the DOM, and therefore the style object may be empty in some browsers.\n // Since the style object is a reference, it will be updated as soon as the element is attached to the DOM.\n var style = window.getComputedStyle(element);\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n getState(element).startSize = {\n width: width,\n height: height\n };\n\n function mutateDom() {\n function alterPositionStyles() {\n if(style.position === \"static\") {\n element.style.setProperty(\"position\", \"relative\", options.important ? \"important\" : \"\");\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style.setProperty(property, \"0\", options.important ? \"important\" : \"\");\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function onObjectLoad() {\n // The object has been loaded, which means that the element now is guaranteed to be attached to the DOM.\n if (!positionCheckPerformed) {\n alterPositionStyles();\n }\n\n /*jshint validthis: true */\n\n function getDocument(element, callback) {\n //Opera 12 seem to call the object.onload before the actual document has been created.\n //So if it is not present, poll it with an timeout until it is present.\n //TODO: Could maybe be handled better with object.onreadystatechange or similar.\n if(!element.contentDocument) {\n var state = getState(element);\n if (state.checkForObjectDocumentTimeoutId) {\n window.clearTimeout(state.checkForObjectDocumentTimeoutId);\n }\n state.checkForObjectDocumentTimeoutId = setTimeout(function checkForObjectDocument() {\n state.checkForObjectDocumentTimeoutId = 0;\n getDocument(element, callback);\n }, 100);\n\n return;\n }\n\n callback(element.contentDocument);\n }\n\n //Mutating the object element here seems to fire another load event.\n //Mutating the inner document of the object element is fine though.\n var objectElement = this;\n\n //Create the style element to be added to the object.\n getDocument(objectElement, function onObjectDocumentReady(objectDocument) {\n //Notify that the element is ready to be listened to.\n callback(element);\n });\n }\n\n // The element may be detached from the DOM, and some browsers does not support style resolving of detached elements.\n // The alterPositionStyles needs to be delayed until we know the element has been attached to the DOM (which we are sure of when the onObjectLoad has been fired), if style resolution is not possible.\n if (style.position !== \"\") {\n alterPositionStyles(style);\n positionCheckPerformed = true;\n }\n\n //Add an object element as a child to the target element that will be listened to for resize events.\n var object = document.createElement(\"object\");\n object.style.cssText = OBJECT_STYLE;\n object.tabIndex = -1;\n object.type = \"text/html\";\n object.setAttribute(\"aria-hidden\", \"true\");\n object.onload = onObjectLoad;\n\n //Safari: This must occur before adding the object to the DOM.\n //IE: Does not like that this happens before, even if it is also added after.\n if(!browserDetector.isIE()) {\n object.data = \"about:blank\";\n }\n\n if (!getState(element)) {\n // The element has been uninstalled before the actual loading happened.\n return;\n }\n\n element.appendChild(object);\n getState(element).object = object;\n\n //IE: This must occur after adding the object to the DOM.\n if(browserDetector.isIE()) {\n object.data = \"about:blank\";\n }\n }\n\n if(batchProcessor) {\n batchProcessor.add(mutateDom);\n } else {\n mutateDom();\n }\n }\n\n if(browserDetector.isIE(8)) {\n //IE 8 does not support objects properly. Luckily they do support the resize event.\n //So do not inject the object and notify that the element is already ready to be listened to.\n //The event handler for the resize event is attached in the utils.addListener instead.\n callback(element);\n } else {\n injectObject(element, callback);\n }\n }\n\n /**\n * Returns the child object of the target element.\n * @private\n * @param {element} element The target element.\n * @returns The object element of the target.\n */\n function getObject(element) {\n return getState(element).object;\n }\n\n function uninstall(element) {\n if (!getState(element)) {\n return;\n }\n\n var object = getObject(element);\n\n if (!object) {\n return;\n }\n\n if (browserDetector.isIE(8)) {\n element.detachEvent(\"onresize\", object.proxy);\n } else {\n element.removeChild(object);\n }\n\n if (getState(element).checkForObjectDocumentTimeoutId) {\n window.clearTimeout(getState(element).checkForObjectDocumentTimeoutId);\n }\n\n delete getState(element).object;\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n\n\n/***/ }),\n\n/***/ \"18e9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar detector = module.exports = {};\n\ndetector.isIE = function(version) {\n function isAnyIeVersion() {\n var agent = navigator.userAgent.toLowerCase();\n return agent.indexOf(\"msie\") !== -1 || agent.indexOf(\"trident\") !== -1 || agent.indexOf(\" edge/\") !== -1;\n }\n\n if(!isAnyIeVersion()) {\n return false;\n }\n\n if(!version) {\n return true;\n }\n\n //Shamelessly stolen from https://gist.github.com/padolsey/527683\n var ieVersion = (function(){\n var undef,\n v = 3,\n div = document.createElement(\"div\"),\n all = div.getElementsByTagName(\"i\");\n\n do {\n div.innerHTML = \"<!--[if gt IE \" + (++v) + \"]><i></i><![endif]-->\";\n }\n while (all[0]);\n\n return v > 4 ? v : undef;\n }());\n\n return version === ieVersion;\n};\n\ndetector.isLegacyOpera = function() {\n return !!window.opera;\n};\n\n\n/***/ }),\n\n/***/ \"2cef\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function() {\n var idCount = 1;\n\n /**\n * Generates a new unique id in the context.\n * @public\n * @returns {number} A unique id in the context.\n */\n function generate() {\n return idCount++;\n }\n\n return {\n generate: generate\n };\n};\n\n\n/***/ }),\n\n/***/ \"49ad\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function(idHandler) {\n var eventListeners = {};\n\n /**\n * Gets all listeners for the given element.\n * @public\n * @param {element} element The element to get all listeners for.\n * @returns All listeners for the given element.\n */\n function getListeners(element) {\n var id = idHandler.get(element);\n\n if (id === undefined) {\n return [];\n }\n\n return eventListeners[id] || [];\n }\n\n /**\n * Stores the given listener for the given element. Will not actually add the listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The callback that the element has added.\n */\n function addListener(element, listener) {\n var id = idHandler.get(element);\n\n if(!eventListeners[id]) {\n eventListeners[id] = [];\n }\n\n eventListeners[id].push(listener);\n }\n\n function removeListener(element, listener) {\n var listeners = getListeners(element);\n for (var i = 0, len = listeners.length; i < len; ++i) {\n if (listeners[i] === listener) {\n listeners.splice(i, 1);\n break;\n }\n }\n }\n\n function removeAllListeners(element) {\n var listeners = getListeners(element);\n if (!listeners) { return; }\n listeners.length = 0;\n }\n\n return {\n get: getListeners,\n add: addListener,\n removeListener: removeListener,\n removeAllListeners: removeAllListeners\n };\n};\n\n\n/***/ }),\n\n/***/ \"5058\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function(options) {\n var idGenerator = options.idGenerator;\n var getState = options.stateHandler.getState;\n\n /**\n * Gets the resize detector id of the element.\n * @public\n * @param {element} element The target element to get the id of.\n * @returns {string|number|null} The id of the element. Null if it has no id.\n */\n function getId(element) {\n var state = getState(element);\n\n if (state && state.id !== undefined) {\n return state.id;\n }\n\n return null;\n }\n\n /**\n * Sets the resize detector id of the element. Requires the element to have a resize detector state initialized.\n * @public\n * @param {element} element The target element to set the id of.\n * @returns {string|number|null} The id of the element.\n */\n function setId(element) {\n var state = getState(element);\n\n if (!state) {\n throw new Error(\"setId required the element to have a resize detection state.\");\n }\n\n var id = idGenerator.generate();\n\n state.id = id;\n\n return id;\n }\n\n return {\n get: getId,\n set: setId\n };\n};\n\n\n/***/ }),\n\n/***/ \"50bf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = module.exports = {};\n\nutils.getOption = getOption;\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n\n\n/***/ }),\n\n/***/ \"5be5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function(options) {\n var getState = options.stateHandler.getState;\n\n /**\n * Tells if the element has been made detectable and ready to be listened for resize events.\n * @public\n * @param {element} The element to check.\n * @returns {boolean} True or false depending on if the element is detectable or not.\n */\n function isDetectable(element) {\n var state = getState(element);\n return state && !!state.isDetectable;\n }\n\n /**\n * Marks the element that it has been made detectable and ready to be listened for resize events.\n * @public\n * @param {element} The element to mark.\n */\n function markAsDetectable(element) {\n getState(element).isDetectable = true;\n }\n\n /**\n * Tells if the element is busy or not.\n * @public\n * @param {element} The element to check.\n * @returns {boolean} True or false depending on if the element is busy or not.\n */\n function isBusy(element) {\n return !!getState(element).busy;\n }\n\n /**\n * Marks the object is busy and should not be made detectable.\n * @public\n * @param {element} element The element to mark.\n * @param {boolean} busy If the element is busy or not.\n */\n function markBusy(element, busy) {\n getState(element).busy = !!busy;\n }\n\n return {\n isDetectable: isDetectable,\n markAsDetectable: markAsDetectable,\n isBusy: isBusy,\n markBusy: markBusy\n };\n};\n\n\n/***/ }),\n\n/***/ \"abb4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/* global console: false */\n\n/**\n * Reporter that handles the reporting of logs, warnings and errors.\n * @public\n * @param {boolean} quiet Tells if the reporter should be quiet or not.\n */\nmodule.exports = function(quiet) {\n function noop() {\n //Does nothing.\n }\n\n var reporter = {\n log: noop,\n warn: noop,\n error: noop\n };\n\n if(!quiet && window.console) {\n var attachFunction = function(reporter, name) {\n //The proxy is needed to be able to call the method with the console context,\n //since we cannot use bind.\n reporter[name] = function reporterProxy() {\n var f = console[name];\n if (f.apply) { //IE9 does not support console.log.apply :)\n f.apply(console, arguments);\n } else {\n for (var i = 0; i < arguments.length; i++) {\n f(arguments[i]);\n }\n }\n };\n };\n\n attachFunction(reporter, \"log\");\n attachFunction(reporter, \"warn\");\n attachFunction(reporter, \"error\");\n }\n\n return reporter;\n};\n\n/***/ }),\n\n/***/ \"b770\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = module.exports = {};\n\n/**\n * Loops through the collection and calls the callback for each element. if the callback returns truthy, the loop is broken and returns the same value.\n * @public\n * @param {*} collection The collection to loop through. Needs to have a length property set and have indices set from 0 to length - 1.\n * @param {function} callback The callback to be called for each element. The element will be given as a parameter to the callback. If this callback returns truthy, the loop is broken and the same value is returned.\n * @returns {*} The value that a callback has returned (if truthy). Otherwise nothing.\n */\nutils.forEach = function(collection, callback) {\n for(var i = 0; i < collection.length; i++) {\n var result = callback(collection[i]);\n if(result) {\n return result;\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"c274\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(\"50bf\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n\n\n/***/ }),\n\n/***/ \"c946\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\n\nvar forEach = __webpack_require__(\"b770\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n\n function initDocument(targetDocument) {\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n injectScrollStyle(targetDocument, styleId, detectionContainerClass);\n }\n\n initDocument(window.document);\n\n function buildCssTextString(rules) {\n var seperator = options.important ? \" !important; \" : \"; \";\n\n return (rules.join(seperator) + seperator).trim();\n }\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = buildCssTextString([\"position: absolute\", \"width: \" + width*2 + \"px\", \"height: \" + height*2 + \"px\", \"visibility: hidden\", \"margin: 0\", \"padding: 0\"]);\n\n var container = document.createElement(\"div\");\n container.style.cssText = buildCssTextString([\"position: absolute\", \"width: \" + width + \"px\", \"height: \" + height + \"px\", \"overflow: scroll\", \"visibility: none\", \"top: \" + -width*3 + \"px\", \"left: \" + -height*3 + \"px\", \"visibility: hidden\", \"margin: 0\", \"padding: 0\"]);\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(targetDocument, styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n targetDocument.head.appendChild(element);\n };\n\n var styleElement = targetDocument.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!targetDocument.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { \" + buildCssTextString([\"display: none\"]) + \" }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { \" + buildCssTextString([\"-webkit-animation-duration: 0.1s\", \"animation-duration: 0.1s\", \"-webkit-animation-name: \" + containerAnimationClass, \"animation-name: \" + containerAnimationClass]) + \" }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = buildCssTextString([\"visibility: hidden\", \"display: inline\", \"width: 0px\", \"height: 0px\", \"z-index: -1\", \"overflow: hidden\", \"margin: 0\", \"padding: 0\"]);\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.setProperty(\"position\", \"relative\",options.important ? \"important\" : \"\");\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return [\"left: \" + left, \"top: \" + top, \"right: \" + right, \"bottom: \" + bottom];\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: hidden\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\", \"left: 0px\", \"top: 0px\"]);\n var containerStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: hidden\", \"z-index: -1\", \"visibility: hidden\"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth)));\n var expandStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: scroll\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\"]);\n var shrinkStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: scroll\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\"]);\n var expandChildStyle = buildCssTextString([\"position: absolute\", \"left: 0\", \"top: 0\"]);\n var shrinkChildStyle = buildCssTextString([\"position: absolute\", \"width: 200%\", \"height: 200%\"]);\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.setProperty(\"width\", expandWidth + \"px\", options.important ? \"important\" : \"\");\n expandChild.style.setProperty(\"height\", expandHeight + \"px\", options.important ? \"important\" : \"\");\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped.\n var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!sizeChanged) {\n return;\n }\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then\n // been restored to the original size, which will have changed the scrollbar positions.\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (sizeChanged && done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n updateDetectorElements(notifyListenersIfNeeded);\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall,\n initDocument: initDocument\n };\n};\n\n\n/***/ }),\n\n/***/ \"d6eb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n\n\n/***/ }),\n\n/***/ \"eec4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar forEach = __webpack_require__(\"b770\").forEach;\nvar elementUtilsMaker = __webpack_require__(\"5be5\");\nvar listenerHandlerMaker = __webpack_require__(\"49ad\");\nvar idGeneratorMaker = __webpack_require__(\"2cef\");\nvar idHandlerMaker = __webpack_require__(\"5058\");\nvar reporterMaker = __webpack_require__(\"abb4\");\nvar browserDetector = __webpack_require__(\"18e9\");\nvar batchProcessorMaker = __webpack_require__(\"c274\");\nvar stateHandler = __webpack_require__(\"d6eb\");\n\n//Detection strategies.\nvar objectStrategyMaker = __webpack_require__(\"18d2\");\nvar scrollStrategyMaker = __webpack_require__(\"c946\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var importantCssRules = getOption(options, \"important\", false);\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler,\n important: importantCssRules\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n function initDocument(targetDocument) {\n detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument);\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall,\n initDocument: initDocument\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n\n\n/***/ }),\n\n/***/ \"f6fd\":\n/***/ (function(module, exports) {\n\n// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n\n\n/***/ }),\n\n/***/ \"fb15\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"resize\", function() { return /* reexport */ elementResizeDetector; });\n\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (true) {\n __webpack_require__(\"f6fd\")\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_require__.p = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ var setPublicPath = (null);\n\n// CONCATENATED MODULE: ./src/directive/elementResizeDetector.js\nvar elementResizeDetectorMaker = __webpack_require__(\"eec4\");\n\nvar erd = elementResizeDetectorMaker({\n strategy: \"scroll\" //<- For ultra performance.\n\n}); // this occurs once when the directive is attached to the element.\n\nfunction bind(el, binding, vnode) {\n var options = {};\n\n if (binding.value) {\n options = binding.value;\n }\n\n erd.listenTo(options, el, function (element) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (vnode.componentInstance) {\n vnode.componentInstance.$emit(\"resize\", {\n detail: {\n width: width,\n height: height\n }\n });\n } else {\n vnode.elm.dispatchEvent(new CustomEvent(\"resize\", {\n detail: {\n width: width,\n height: height\n }\n }));\n }\n });\n}\n\nfunction unbind(el) {\n erd.uninstall(el);\n}\n\n/* harmony default export */ var elementResizeDetector = ({\n bind: bind,\n unbind: unbind\n});\n// CONCATENATED MODULE: ./src/index.js\n\n/* harmony default export */ var src = ({\n install: function install(Vue) {\n Vue.directive(\"resize\", elementResizeDetector);\n }\n});\n\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ var entry_lib = __webpack_exports__[\"default\"] = (src);\n\n\n\n/***/ })\n\n/******/ });\n//# sourceMappingURL=vue-element-resize-detector.common.js.map","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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.d)?_c('div',{directives:[{name:\"rlocal\",rawName:\"v-rlocal\"}],ref:_vm.id,attrs:{\"id\":_vm.id},on:{\"resize\":_vm.onResize}},[_vm._t(\"default\")],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import { Breakpoint } from \"../interfaces\";\nimport { Layout } from \"./Layout.model\";\n\nexport class Dashboard {\n private readonly _id: string | number;\n private _layouts: Layout[];\n private _autoHeight: boolean;\n private _width: number;\n\n constructor({\n id,\n autoHeight,\n width,\n }: {\n id: string | number;\n autoHeight?: boolean;\n width?: number;\n }) {\n this._id = id;\n this._layouts = [];\n if (typeof autoHeight !== \"undefined\") {\n this._autoHeight = autoHeight;\n } else {\n this._autoHeight = Dashboard.defaults.autoHeight;\n }\n\n if (typeof width !== \"undefined\") {\n this._width = width;\n } else {\n this._width = Dashboard.defaults.width;\n }\n }\n get id() {\n return this._id;\n }\n get breakpoints() {\n let bp: Breakpoint[] = [];\n for (let layout of this._layouts) {\n bp.push({\n name: layout.breakpoint,\n numberOfCols: layout.numberOfCols,\n setpoint: layout.breakpointWidth,\n });\n }\n bp.sort((a, b) => {\n if (\n typeof a.setpoint !== \"undefined\" &&\n typeof b.setpoint !== \"undefined\"\n ) {\n return +a.setpoint - +b.setpoint;\n }\n if (typeof a.setpoint == \"undefined\") {\n return 1;\n }\n return -1;\n });\n return bp;\n }\n get currentBreakpoint() {\n return this.updateCurrentBreakpoint();\n }\n get layouts() {\n return this._layouts;\n }\n set layouts(l: Layout[]) {\n this._layouts = l;\n }\n get autoHeight() {\n return this._autoHeight;\n }\n set autoHeight(ah: boolean) {\n this._autoHeight = ah;\n }\n get width() {\n return this._width;\n }\n set width(w: number) {\n this._width = w;\n this.updateCurrentBreakpoint();\n this.updateLayouts();\n }\n updateCurrentBreakpoint() {\n //TODO check if we are right on the edge of a breakpoint (i.e. dont allow a change if a scroll bar is added)\n if (this.breakpoints.length == 0) {\n return \"\";\n }\n //let previousBreakpoint = this.currentBreakpoint;\n let matching = this.breakpoints[0].name;\n for (let i = 1; i < this.breakpoints.length; i++) {\n if (typeof this.breakpoints[i].setpoint !== undefined) {\n if (this.width > this.breakpoints[i].setpoint!) {\n matching = this.breakpoints[i].name;\n }\n }\n }\n return matching;\n }\n sortBreakpoints() {\n this.breakpoints.sort((a, b) => {\n if (\n typeof a.setpoint !== \"undefined\" &&\n typeof b.setpoint !== \"undefined\"\n ) {\n return +a.setpoint - +b.setpoint;\n }\n if (typeof a.setpoint == \"undefined\") {\n return 1;\n }\n return -1;\n });\n }\n addLayoutInstance(l: Layout) {\n this._layouts.push(l);\n }\n updateLayouts() {\n this._layouts.forEach((layout) => {\n layout.width = this.width;\n });\n }\n removeLayoutInstance(l: Layout) {\n let index = this.layouts.findIndex((layout) => {\n return l.breakpoint === layout.breakpoint;\n });\n if (index >= 0) {\n this._layouts.splice(index, 1);\n }\n }\n static get defaults() {\n return {\n autoHeight: true as boolean,\n width: 400 as number,\n };\n }\n}\n","<template>\n <div :id=\"id\" :ref=\"id\" v-if=\"d\" v-rlocal @resize=\"onResize\">\n <slot></slot>\n </div>\n</template>\n\n<script>\nimport { Dashboard } from \"./Dashboard.model\";\nimport { resize } from \"vue-element-resize-detector\";\n\n//Monitor the Props and update the item with the changed value\nconst watchProp = (key, deep) => ({\n handler(newValue) {\n //If the prop did not cause the update there is no updating\n if (this.d[key] === newValue) {\n return;\n }\n this.d[key] = newValue;\n },\n deep,\n});\nexport default {\n name: \"Dashboard\",\n inheritAttrs: false,\n props: {\n id: { type: [Number, String], required: true },\n autoHeight: { type: Boolean, default: Dashboard.defaults.autoHeight },\n },\n directives: {\n rlocal: resize,\n },\n data() {\n return {\n d: null,\n };\n },\n provide() {\n return {\n $dashboard: () => this.d,\n };\n },\n computed: {\n currentBreakpoint() {\n if (this.d) {\n return this.d.currentBreakpoint;\n }\n return null;\n },\n },\n watch: {\n currentBreakpoint(newValue) {\n if (newValue) {\n this.$emit(\"currentBreakpointUpdated\", newValue);\n }\n },\n },\n methods: {\n onResize(e) {\n this.d.width = e.detail.width;\n },\n createPropWatchers() {\n //Setup prop watches to sync with the Dash Item\n Object.keys(this.$props).forEach((key) => {\n this.$watch(key, watchProp(key, true));\n });\n },\n },\n created() {\n this.d = new Dashboard(this.$props);\n this.createPropWatchers();\n },\n};\n</script>\n\n<style></style>\n","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!./Dashboard.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!./Dashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=4892049d&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js&\"\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 null,\n null\n \n)\n\nexport default component.exports","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","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../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/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashItem.vue?vue&type=style&index=0&id=2ce8db4c&scoped=true&lang=css&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"79b59140\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\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","// `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","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Subscription = void 0;\r\n/**\r\n * Stores a handler. Manages execution meta data.\r\n * @class Subscription\r\n * @template TEventHandler\r\n */\r\nvar Subscription = /** @class */ (function () {\r\n /**\r\n * Creates an instance of Subscription.\r\n *\r\n * @param {TEventHandler} handler The handler for the subscription.\r\n * @param {boolean} isOnce Indicates if the handler should only be executed once.\r\n */\r\n function Subscription(handler, isOnce) {\r\n this.handler = handler;\r\n this.isOnce = isOnce;\r\n /**\r\n * Indicates if the subscription has been executed before.\r\n */\r\n this.isExecuted = false;\r\n }\r\n /**\r\n * Executes the handler.\r\n *\r\n * @param {boolean} executeAsync True if the even should be executed async.\r\n * @param {*} scope The scope the scope of the event.\r\n * @param {IArguments} args The arguments for the event.\r\n */\r\n Subscription.prototype.execute = function (executeAsync, scope, args) {\r\n if (!this.isOnce || !this.isExecuted) {\r\n this.isExecuted = true;\r\n var fn = this.handler;\r\n if (executeAsync) {\r\n setTimeout(function () {\r\n fn.apply(scope, args);\r\n }, 1);\r\n }\r\n else {\r\n fn.apply(scope, args);\r\n }\r\n }\r\n };\r\n return Subscription;\r\n}());\r\nexports.Subscription = Subscription;\r\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","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"item\",class:_vm.classObj,style:(_vm.cssStyle),attrs:{\"id\":'item_' + _vm.id},on:{\"mouseover\":function($event){_vm.hover = true},\"mouseleave\":function($event){_vm.hover = false}}},[(_vm.resizeTop)?_c('div',{ref:_vm.id + '-resizeTop',staticClass:\"resize resize-top\",style:({\n height: _vm.resizeHandleSize + 'px',\n top: -(_vm.resizeHandleSize / 2) + 'px',\n left: 0,\n right: 0,\n cursor: 'ns-resize',\n position: 'absolute',\n zIndex: _vm.resizableZIndex,\n }),attrs:{\"id\":_vm.id + '-resizeTop'}},[_vm._t(\"resizeTop\")],2):_vm._e(),(_vm.resizeBottom)?_c('div',{ref:_vm.id + '-resizeBottom',staticClass:\"resize resize-bottom\",style:({\n height: _vm.resizeHandleSize + 'px',\n left: 0 + 'px',\n right: 0 + 'px',\n bottom: -(_vm.resizeHandleSize / 2) + 'px',\n cursor: 'ns-resize',\n position: 'absolute',\n zIndex: _vm.resizableZIndex,\n }),attrs:{\"id\":_vm.id + '-resizeBottom'}},[_vm._t(\"resizeBottom\")],2):_vm._e(),(_vm.resizeLeft)?_c('div',{ref:_vm.id + '-resizeLeft',staticClass:\"resize resize-left\",style:({\n width: _vm.resizeHandleSize + 'px',\n top: 0 + 'px',\n bottom: 0 + 'px',\n left: -(_vm.resizeHandleSize / 2) + 'px',\n cursor: 'ew-resize',\n position: 'absolute',\n zIndex: _vm.resizableZIndex,\n }),attrs:{\"id\":_vm.id + '-resizeLeft'}},[_vm._t(\"resizeLeft\")],2):_vm._e(),(_vm.resizeRight)?_c('div',{ref:_vm.id + '-resizeRight',staticClass:\"resize resize-right\",style:({\n width: _vm.resizeHandleSize + 'px',\n top: 0 + 'px',\n bottom: 0 + 'px',\n right: -(_vm.resizeHandleSize / 2) + 'px',\n cursor: 'ew-resize',\n position: 'absolute',\n zIndex: _vm.resizableZIndex,\n }),attrs:{\"id\":_vm.id + '-resizeRight'}},[_vm._t(\"resizeRight\")],2):_vm._e(),(_vm.resizeTopLeft)?_c('div',{ref:_vm.id + '-resizeTopLeft',staticClass:\"resize resize-left resize-top\",style:({\n width: _vm.resizeHandleSize * 2 + 'px',\n height: _vm.resizeHandleSize * 2 + 'px',\n top: -_vm.resizeHandleSize + 'px',\n left: -_vm.resizeHandleSize + 'px',\n cursor: 'nw-resize',\n position: 'absolute',\n zIndex: _vm.resizableZIndex,\n }),attrs:{\"id\":_vm.id + '-resizeTopLeft'}},[_vm._t(\"resizeTopLeft\")],2):_vm._e(),(_vm.resizeTopRight)?_c('div',{ref:_vm.id + '-resizeTopRight',staticClass:\"resize resize-right resize-top\",style:({\n width: _vm.resizeHandleSize * 2 + 'px',\n height: _vm.resizeHandleSize * 2 + 'px',\n top: -_vm.resizeHandleSize + 'px',\n right: -_vm.resizeHandleSize + 'px',\n cursor: 'ne-resize',\n position: 'absolute',\n zIndex: _vm.resizableZIndex,\n }),attrs:{\"id\":_vm.id + '-resizeTopRight'}},[_vm._t(\"resizeTopRight\")],2):_vm._e(),(_vm.resizeBottomLeft)?_c('div',{ref:_vm.id + '-resizeBottomLeft',staticClass:\"resize resize-left resize-bottom\",style:({\n width: _vm.resizeHandleSize * 2 + 'px',\n height: _vm.resizeHandleSize * 2 + 'px',\n bottom: -_vm.resizeHandleSize + 'px',\n left: -_vm.resizeHandleSize + 'px',\n cursor: 'ne-resize',\n position: 'absolute',\n zIndex: _vm.resizableZIndex,\n }),attrs:{\"id\":_vm.id + '-resizeBottomLeft'}},[_vm._t(\"resizeBottomLeft\")],2):_vm._e(),(_vm.resizeBottomRight)?_c('div',{ref:_vm.id + '-resizeBottomRight',staticClass:\"resize resize-right resize-bottom\",style:({\n width: _vm.resizeHandleSize * 2 + 'px',\n height: _vm.resizeHandleSize * 2 + 'px',\n bottom: -_vm.resizeHandleSize + 'px',\n right: -_vm.resizeHandleSize + 'px',\n cursor: 'nw-resize',\n position: 'absolute',\n zIndex: _vm.resizableZIndex,\n }),attrs:{\"id\":_vm.id + '-resizeBottomRight'}},[_vm._t(\"resizeBottomRight\")],2):_vm._e(),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const domObjects = {\n init,\n document: null,\n DocumentFragment: null,\n SVGElement: null,\n SVGSVGElement: null,\n SVGElementInstance: null,\n Element: null,\n HTMLElement: null,\n Event: null,\n Touch: null,\n PointerEvent: null\n};\n\nfunction blank() {}\n\nexport default domObjects;\n\nfunction init(window) {\n const win = window;\n domObjects.document = win.document;\n domObjects.DocumentFragment = win.DocumentFragment || blank;\n domObjects.SVGElement = win.SVGElement || blank;\n domObjects.SVGSVGElement = win.SVGSVGElement || blank;\n domObjects.SVGElementInstance = win.SVGElementInstance || blank;\n domObjects.Element = win.Element || blank;\n domObjects.HTMLElement = win.HTMLElement || domObjects.Element;\n domObjects.Event = win.Event;\n domObjects.Touch = win.Touch || blank;\n domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent;\n}\n//# sourceMappingURL=domObjects.js.map","export default (thing => !!(thing && thing.Window) && thing instanceof thing.Window);\n//# sourceMappingURL=isWindow.js.map","import isWindow from \"./isWindow.js\";\nconst win = {\n realWindow: undefined,\n window: undefined,\n getWindow,\n init\n};\nexport function init(window) {\n // get wrapped window if using Shadow DOM polyfill\n win.realWindow = window; // create a TextNode\n\n const el = window.document.createTextNode(''); // check if it's wrapped by a polyfill\n\n if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) {\n // use wrapped window\n window = window.wrap(window);\n }\n\n win.window = window;\n}\n\nif (typeof window === 'undefined') {\n win.window = undefined;\n win.realWindow = undefined;\n} else {\n init(window);\n}\n\nexport function getWindow(node) {\n if (isWindow(node)) {\n return node;\n }\n\n const rootNode = node.ownerDocument || node;\n return rootNode.defaultView || win.window;\n}\nwin.init = init;\nexport default win;\n//# sourceMappingURL=window.js.map","import isWindow from \"./isWindow.js\";\nimport win from \"./window.js\";\n\nconst window = thing => thing === win.window || isWindow(thing);\n\nconst docFrag = thing => object(thing) && thing.nodeType === 11;\n\nconst object = thing => !!thing && typeof thing === 'object';\n\nconst func = thing => typeof thing === 'function';\n\nconst number = thing => typeof thing === 'number';\n\nconst bool = thing => typeof thing === 'boolean';\n\nconst string = thing => typeof thing === 'string';\n\nconst element = thing => {\n if (!thing || typeof thing !== 'object') {\n return false;\n } // eslint-disable-next-line import/no-named-as-default-member\n\n\n const _window = win.getWindow(thing) || win.window;\n\n return /object|function/.test(typeof _window.Element) ? thing instanceof _window.Element // DOM2\n : thing.nodeType === 1 && typeof thing.nodeName === 'string';\n};\n\nconst plainObject = thing => object(thing) && !!thing.constructor && /function Object\\b/.test(thing.constructor.toString());\n\nconst array = thing => object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n\nexport default {\n window,\n docFrag,\n object,\n func,\n number,\n bool,\n string,\n element,\n plainObject,\n array\n};\n//# sourceMappingURL=is.js.map","import domObjects from \"./domObjects.js\";\nimport is from \"./is.js\";\nimport win from \"./window.js\";\nconst browser = {\n init,\n supportsTouch: null,\n supportsPointerEvent: null,\n isIOS7: null,\n isIOS: null,\n isIe9: null,\n isOperaMobile: null,\n prefixedMatchesSelector: null,\n pEventTypes: null,\n wheelEvent: null\n};\n\nfunction init(window) {\n const Element = domObjects.Element;\n const navigator = win.window.navigator; // Does the browser support touch input?\n\n browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && domObjects.document instanceof window.DocumentTouch; // Does the browser support PointerEvents\n\n browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!domObjects.PointerEvent;\n browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7\n\n browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\\d]/.test(navigator.appVersion);\n browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently\n\n browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector\n\n browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector';\n browser.pEventTypes = browser.supportsPointerEvent ? domObjects.PointerEvent === window.MSPointerEvent ? {\n up: 'MSPointerUp',\n down: 'MSPointerDown',\n over: 'mouseover',\n out: 'mouseout',\n move: 'MSPointerMove',\n cancel: 'MSPointerCancel'\n } : {\n up: 'pointerup',\n down: 'pointerdown',\n over: 'pointerover',\n out: 'pointerout',\n move: 'pointermove',\n cancel: 'pointercancel'\n } : null; // because Webkit and Opera still use 'mousewheel' event type\n\n browser.wheelEvent = 'onmousewheel' in domObjects.document ? 'mousewheel' : 'wheel';\n}\n\nexport default browser;\n//# sourceMappingURL=browser.js.map","export const contains = (array, target) => array.indexOf(target) !== -1;\nexport const remove = (array, target) => array.splice(array.indexOf(target), 1);\nexport const merge = (target, source) => {\n for (const item of source) {\n target.push(item);\n }\n\n return target;\n};\nexport const from = source => merge([], source);\nexport const findIndex = (array, func) => {\n for (let i = 0; i < array.length; i++) {\n if (func(array[i], i, array)) {\n return i;\n }\n }\n\n return -1;\n};\nexport const find = (array, func) => array[findIndex(array, func)];\n//# sourceMappingURL=arr.js.map","import * as arr from \"./arr.js\";\nimport is from \"./is.js\"; // tslint:disable-next-line ban-types\n\nexport default function clone(source) {\n const dest = {};\n\n for (const prop in source) {\n const value = source[prop];\n\n if (is.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (is.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n//# sourceMappingURL=clone.js.map","export default function extend(dest, source) {\n for (const prop in source) {\n dest[prop] = source[prop];\n }\n\n const ret = dest;\n return ret;\n}\n//# sourceMappingURL=extend.js.map","let lastTime = 0;\nlet request;\nlet cancel;\n\nfunction init(window) {\n request = window.requestAnimationFrame;\n cancel = window.cancelAnimationFrame;\n\n if (!request) {\n const vendors = ['ms', 'moz', 'webkit', 'o'];\n\n for (const vendor of vendors) {\n request = window[`${vendor}RequestAnimationFrame`];\n cancel = window[`${vendor}CancelAnimationFrame`] || window[`${vendor}CancelRequestAnimationFrame`];\n }\n }\n\n if (!request) {\n request = callback => {\n const currTime = Date.now();\n const timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal\n\n const token = setTimeout(() => {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return token;\n };\n\n cancel = token => clearTimeout(token);\n }\n}\n\nexport default {\n request: callback => request(callback),\n cancel: token => cancel(token),\n init\n};\n//# sourceMappingURL=raf.js.map","import extend from \"./extend.js\";\nimport is from \"./is.js\";\nexport default function normalize(type, listeners, result) {\n result = result || {};\n\n if (is.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (is.array(type)) {\n return type.reduce((acc, t) => extend(acc, normalize(t, listeners, result)), result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (is.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (is.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (is.array(listeners)) {\n for (const l of listeners) {\n normalize(type, l, result);\n }\n } else if (is.object(listeners)) {\n for (const prefix in listeners) {\n const combinedTypes = split(prefix).map(p => `${type}${p}`);\n normalize(combinedTypes, listeners[prefix], result);\n }\n }\n\n return result;\n}\n\nfunction split(type) {\n return type.trim().split(/ +/);\n}\n//# sourceMappingURL=normalizeListeners.js.map","import * as arr from \"../utils/arr.js\";\nimport extend from \"../utils/extend.js\";\nimport normalize from \"../utils/normalizeListeners.js\";\n\nfunction fireUntilImmediateStopped(event, listeners) {\n for (const listener of listeners) {\n if (event.immediatePropagationStopped) {\n break;\n }\n\n listener(event);\n }\n}\n\nexport class Eventable {\n constructor(options) {\n this.options = void 0;\n this.types = {};\n this.propagationStopped = false;\n this.immediatePropagationStopped = false;\n this.global = void 0;\n this.options = extend({}, options || {});\n }\n\n fire(event) {\n let listeners;\n const global = this.global; // Interactable#on() listeners\n // tslint:disable no-conditional-assignment\n\n if (listeners = this.types[event.type]) {\n fireUntilImmediateStopped(event, listeners);\n } // interact.on() listeners\n\n\n if (!event.propagationStopped && global && (listeners = global[event.type])) {\n fireUntilImmediateStopped(event, listeners);\n }\n }\n\n on(type, listener) {\n const listeners = normalize(type, listener);\n\n for (type in listeners) {\n this.types[type] = arr.merge(this.types[type] || [], listeners[type]);\n }\n }\n\n off(type, listener) {\n const listeners = normalize(type, listener);\n\n for (type in listeners) {\n const eventList = this.types[type];\n\n if (!eventList || !eventList.length) {\n continue;\n }\n\n for (const subListener of listeners[type]) {\n const index = eventList.indexOf(subListener);\n\n if (index !== -1) {\n eventList.splice(index, 1);\n }\n }\n }\n }\n\n getRect(_element) {\n return null;\n }\n\n}\n//# sourceMappingURL=Eventable.js.map","import browser from \"./browser.js\";\nimport domObjects from \"./domObjects.js\";\nimport is from \"./is.js\";\nimport win, { getWindow } from \"./window.js\";\nexport function nodeContains(parent, child) {\n while (child) {\n if (child === parent) {\n return true;\n }\n\n child = child.parentNode;\n }\n\n return false;\n}\nexport function closest(element, selector) {\n while (is.element(element)) {\n if (matchesSelector(element, selector)) {\n return element;\n }\n\n element = parentNode(element);\n }\n\n return null;\n}\nexport function parentNode(node) {\n let parent = node.parentNode;\n\n if (is.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && is.docFrag(parent)) {\n continue;\n }\n\n return parent;\n }\n\n return parent;\n}\nexport function matchesSelector(element, selector) {\n // remove /deep/ from selectors if shadowDOM polyfill is used\n if (win.window !== win.realWindow) {\n selector = selector.replace(/\\/deep\\//g, ' ');\n }\n\n return element[browser.prefixedMatchesSelector](selector);\n}\n\nconst getParent = el => el.parentNode || el.host; // Test for the element that's \"above\" all other qualifiers\n\n\nexport function indexOfDeepestElement(elements) {\n let deepestNodeParents = [];\n let deepestNodeIndex;\n\n for (let i = 0; i < elements.length; i++) {\n const currentNode = elements[i];\n const deepestNode = elements[deepestNodeIndex]; // node may appear in elements array multiple times\n\n if (!currentNode || i === deepestNodeIndex) {\n continue;\n }\n\n if (!deepestNode) {\n deepestNodeIndex = i;\n continue;\n }\n\n const currentNodeParent = getParent(currentNode);\n const deepestNodeParent = getParent(deepestNode); // check if the deepest or current are document.documentElement/rootElement\n // - if the current node is, do nothing and continue\n\n if (currentNodeParent === currentNode.ownerDocument) {\n continue;\n } // - if deepest is, update with the current node and continue to next\n else if (deepestNodeParent === currentNode.ownerDocument) {\n deepestNodeIndex = i;\n continue;\n } // compare zIndex of siblings\n\n\n if (currentNodeParent === deepestNodeParent) {\n if (zIndexIsHigherThan(currentNode, deepestNode)) {\n deepestNodeIndex = i;\n }\n\n continue;\n } // populate the ancestry array for the latest deepest node\n\n\n deepestNodeParents = deepestNodeParents.length ? deepestNodeParents : getNodeParents(deepestNode);\n let ancestryStart; // if the deepest node is an HTMLElement and the current node is a non root svg element\n\n if (deepestNode instanceof domObjects.HTMLElement && currentNode instanceof domObjects.SVGElement && !(currentNode instanceof domObjects.SVGSVGElement)) {\n // TODO: is this check necessary? Was this for HTML elements embedded in SVG?\n if (currentNode === deepestNodeParent) {\n continue;\n }\n\n ancestryStart = currentNode.ownerSVGElement;\n } else {\n ancestryStart = currentNode;\n }\n\n const currentNodeParents = getNodeParents(ancestryStart, deepestNode.ownerDocument);\n let commonIndex = 0; // get (position of closest common ancestor) + 1\n\n while (currentNodeParents[commonIndex] && currentNodeParents[commonIndex] === deepestNodeParents[commonIndex]) {\n commonIndex++;\n }\n\n const parents = [currentNodeParents[commonIndex - 1], currentNodeParents[commonIndex], deepestNodeParents[commonIndex]];\n let child = parents[0].lastChild;\n\n while (child) {\n if (child === parents[1]) {\n deepestNodeIndex = i;\n deepestNodeParents = currentNodeParents;\n break;\n } else if (child === parents[2]) {\n break;\n }\n\n child = child.previousSibling;\n }\n }\n\n return deepestNodeIndex;\n}\n\nfunction getNodeParents(node, limit) {\n const parents = [];\n let parent = node;\n let parentParent;\n\n while ((parentParent = getParent(parent)) && parent !== limit && parentParent !== parent.ownerDocument) {\n parents.unshift(parent);\n parent = parentParent;\n }\n\n return parents;\n}\n\nfunction zIndexIsHigherThan(higherNode, lowerNode) {\n const higherIndex = parseInt(getWindow(higherNode).getComputedStyle(higherNode).zIndex, 10) || 0;\n const lowerIndex = parseInt(getWindow(lowerNode).getComputedStyle(lowerNode).zIndex, 10) || 0;\n return higherIndex >= lowerIndex;\n}\n\nexport function matchesUpTo(element, selector, limit) {\n while (is.element(element)) {\n if (matchesSelector(element, selector)) {\n return true;\n }\n\n element = parentNode(element);\n\n if (element === limit) {\n return matchesSelector(element, selector);\n }\n }\n\n return false;\n}\nexport function getActualElement(element) {\n return element instanceof domObjects.SVGElementInstance ? element.correspondingUseElement : element;\n}\nexport function getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || win.window;\n return {\n x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,\n y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop\n };\n}\nexport function getElementClientRect(element) {\n const clientRect = element instanceof domObjects.SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0];\n return clientRect && {\n left: clientRect.left,\n right: clientRect.right,\n top: clientRect.top,\n bottom: clientRect.bottom,\n width: clientRect.width || clientRect.right - clientRect.left,\n height: clientRect.height || clientRect.bottom - clientRect.top\n };\n}\nexport function getElementRect(element) {\n const clientRect = getElementClientRect(element);\n\n if (!browser.isIOS7 && clientRect) {\n const scroll = getScrollXY(win.getWindow(element));\n clientRect.left += scroll.x;\n clientRect.right += scroll.x;\n clientRect.top += scroll.y;\n clientRect.bottom += scroll.y;\n }\n\n return clientRect;\n}\nexport function getPath(node) {\n const path = [];\n\n while (node) {\n path.push(node);\n node = parentNode(node);\n }\n\n return path;\n}\nexport function trySelector(value) {\n if (!is.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n domObjects.document.querySelector(value);\n return true;\n}\n//# sourceMappingURL=domUtils.js.map","import { closest, getElementRect, parentNode } from \"./domUtils.js\";\nimport extend from \"./extend.js\";\nimport is from \"./is.js\";\nexport function getStringOptionResult(value, target, element) {\n if (value === 'parent') {\n return parentNode(element);\n }\n\n if (value === 'self') {\n return target.getRect(element);\n }\n\n return closest(element, value);\n}\nexport function resolveRectLike(value, target, element, functionArgs) {\n let returnValue = value;\n\n if (is.string(returnValue)) {\n returnValue = getStringOptionResult(returnValue, target, element);\n } else if (is.func(returnValue)) {\n returnValue = returnValue(...functionArgs);\n }\n\n if (is.element(returnValue)) {\n returnValue = getElementRect(returnValue);\n }\n\n return returnValue;\n}\nexport function rectToXY(rect) {\n return rect && {\n x: 'x' in rect ? rect.x : rect.left,\n y: 'y' in rect ? rect.y : rect.top\n };\n}\nexport function xywhToTlbr(rect) {\n if (rect && !('left' in rect && 'top' in rect)) {\n rect = extend({}, rect);\n rect.left = rect.x || 0;\n rect.top = rect.y || 0;\n rect.right = rect.right || rect.left + rect.width;\n rect.bottom = rect.bottom || rect.top + rect.height;\n }\n\n return rect;\n}\nexport function tlbrToXywh(rect) {\n if (rect && !('x' in rect && 'y' in rect)) {\n rect = extend({}, rect);\n rect.x = rect.left || 0;\n rect.y = rect.top || 0;\n rect.width = rect.width || (rect.right || 0) - rect.x;\n rect.height = rect.height || (rect.bottom || 0) - rect.y;\n }\n\n return rect;\n}\nexport function addEdges(edges, rect, delta) {\n if (edges.left) {\n rect.left += delta.x;\n }\n\n if (edges.right) {\n rect.right += delta.x;\n }\n\n if (edges.top) {\n rect.top += delta.y;\n }\n\n if (edges.bottom) {\n rect.bottom += delta.y;\n }\n\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n}\n//# sourceMappingURL=rect.js.map","import { rectToXY, resolveRectLike } from \"./rect.js\";\nexport default function (target, element, actionName) {\n const actionOptions = target.options[actionName];\n const actionOrigin = actionOptions && actionOptions.origin;\n const origin = actionOrigin || target.options.origin;\n const originRect = resolveRectLike(origin, target, element, [target && element]);\n return rectToXY(originRect) || {\n x: 0,\n y: 0\n };\n}\n//# sourceMappingURL=getOriginXY.js.map","export default ((x, y) => Math.sqrt(x * x + y * y));\n//# sourceMappingURL=hypot.js.map","export class BaseEvent {\n constructor(interaction) {\n this.type = void 0;\n this.target = void 0;\n this.currentTarget = void 0;\n this.interactable = void 0;\n this._interaction = void 0;\n this.timeStamp = void 0;\n this.immediatePropagationStopped = false;\n this.propagationStopped = false;\n this._interaction = interaction;\n }\n\n preventDefault() {}\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n\n stopPropagation() {\n this.propagationStopped = true;\n }\n /**\n * Don't call listeners on the remaining targets\n */\n\n\n stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n\n} // defined outside of class definition to avoid assignment of undefined during\n// construction\n\n// getters and setters defined here to support typescript 3.6 and below which\n// don't support getter and setters in .d.ts files\nObject.defineProperty(BaseEvent.prototype, 'interaction', {\n get() {\n return this._interaction._proxy;\n },\n\n set() {}\n\n});\nexport default BaseEvent;\n//# sourceMappingURL=BaseEvent.js.map","// eslint-disable-next-line @typescript-eslint/no-empty-interface\n// export interface Options extends BaseDefaults, PerActionDefaults {}\nexport const defaults = {\n base: {\n preventDefault: 'auto',\n deltaSource: 'page'\n },\n perAction: {\n enabled: false,\n origin: {\n x: 0,\n y: 0\n }\n },\n actions: {}\n};\n//# sourceMappingURL=defaultOptions.js.map","import extend from \"../utils/extend.js\";\nimport getOriginXY from \"../utils/getOriginXY.js\";\nimport hypot from \"../utils/hypot.js\";\nimport { BaseEvent } from \"./BaseEvent.js\";\nimport { defaults } from \"./defaultOptions.js\";\nexport class InteractEvent extends BaseEvent {\n // drag\n // resize\n\n /** */\n constructor(interaction, event, actionName, phase, element, preEnd, type) {\n super(interaction);\n this.target = void 0;\n this.currentTarget = void 0;\n this.relatedTarget = null;\n this.screenX = void 0;\n this.screenY = void 0;\n this.button = void 0;\n this.buttons = void 0;\n this.ctrlKey = void 0;\n this.shiftKey = void 0;\n this.altKey = void 0;\n this.metaKey = void 0;\n this.page = void 0;\n this.client = void 0;\n this.delta = void 0;\n this.rect = void 0;\n this.x0 = void 0;\n this.y0 = void 0;\n this.t0 = void 0;\n this.dt = void 0;\n this.duration = void 0;\n this.clientX0 = void 0;\n this.clientY0 = void 0;\n this.velocity = void 0;\n this.speed = void 0;\n this.swipe = void 0;\n this.timeStamp = void 0;\n this.dragEnter = void 0;\n this.dragLeave = void 0;\n this.axes = void 0;\n this.preEnd = void 0;\n element = element || interaction.element;\n const target = interaction.interactable;\n const deltaSource = (target && target.options || defaults).deltaSource;\n const origin = getOriginXY(target, element, actionName);\n const starting = phase === 'start';\n const ending = phase === 'end';\n const prevEvent = starting ? this : interaction.prevEvent;\n const coords = starting ? interaction.coords.start : ending ? {\n page: prevEvent.page,\n client: prevEvent.client,\n timeStamp: interaction.coords.cur.timeStamp\n } : interaction.coords.cur;\n this.page = extend({}, coords.page);\n this.client = extend({}, coords.client);\n this.rect = extend({}, interaction.rect);\n this.timeStamp = coords.timeStamp;\n\n if (!ending) {\n this.page.x -= origin.x;\n this.page.y -= origin.y;\n this.client.x -= origin.x;\n this.client.y -= origin.y;\n }\n\n this.ctrlKey = event.ctrlKey;\n this.altKey = event.altKey;\n this.shiftKey = event.shiftKey;\n this.metaKey = event.metaKey;\n this.button = event.button;\n this.buttons = event.buttons;\n this.target = element;\n this.currentTarget = element;\n this.preEnd = preEnd;\n this.type = type || actionName + (phase || '');\n this.interactable = target;\n this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0;\n this.x0 = interaction.coords.start.page.x - origin.x;\n this.y0 = interaction.coords.start.page.y - origin.y;\n this.clientX0 = interaction.coords.start.client.x - origin.x;\n this.clientY0 = interaction.coords.start.client.y - origin.y;\n\n if (starting || ending) {\n this.delta = {\n x: 0,\n y: 0\n };\n } else {\n this.delta = {\n x: this[deltaSource].x - prevEvent[deltaSource].x,\n y: this[deltaSource].y - prevEvent[deltaSource].y\n };\n }\n\n this.dt = interaction.coords.delta.timeStamp;\n this.duration = this.timeStamp - this.t0; // velocity and speed in pixels per second\n\n this.velocity = extend({}, interaction.coords.velocity[deltaSource]);\n this.speed = hypot(this.velocity.x, this.velocity.y);\n this.swipe = ending || phase === 'inertiastart' ? this.getSwipe() : null;\n }\n\n getSwipe() {\n const interaction = this._interaction;\n\n if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) {\n return null;\n }\n\n let angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI;\n const overlap = 22.5;\n\n if (angle < 0) {\n angle += 360;\n }\n\n const left = 135 - overlap <= angle && angle < 225 + overlap;\n const up = 225 - overlap <= angle && angle < 315 + overlap;\n const right = !left && (315 - overlap <= angle || angle < 45 + overlap);\n const down = !up && 45 - overlap <= angle && angle < 135 + overlap;\n return {\n up,\n down,\n left,\n right,\n angle,\n speed: interaction.prevEvent.speed,\n velocity: {\n x: interaction.prevEvent.velocityX,\n y: interaction.prevEvent.velocityY\n }\n };\n }\n\n preventDefault() {}\n /**\n * Don't call listeners on the remaining targets\n */\n\n\n stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n\n stopPropagation() {\n this.propagationStopped = true;\n }\n\n} // getters and setters defined here to support typescript 3.6 and below which\n// don't support getter and setters in .d.ts files\n\nObject.defineProperties(InteractEvent.prototype, {\n pageX: {\n get() {\n return this.page.x;\n },\n\n set(value) {\n this.page.x = value;\n }\n\n },\n pageY: {\n get() {\n return this.page.y;\n },\n\n set(value) {\n this.page.y = value;\n }\n\n },\n clientX: {\n get() {\n return this.client.x;\n },\n\n set(value) {\n this.client.x = value;\n }\n\n },\n clientY: {\n get() {\n return this.client.y;\n },\n\n set(value) {\n this.client.y = value;\n }\n\n },\n dx: {\n get() {\n return this.delta.x;\n },\n\n set(value) {\n this.delta.x = value;\n }\n\n },\n dy: {\n get() {\n return this.delta.y;\n },\n\n set(value) {\n this.delta.y = value;\n }\n\n },\n velocityX: {\n get() {\n return this.velocity.x;\n },\n\n set(value) {\n this.velocity.x = value;\n }\n\n },\n velocityY: {\n get() {\n return this.velocity.y;\n },\n\n set(value) {\n this.velocity.y = value;\n }\n\n }\n});\n//# sourceMappingURL=InteractEvent.js.map","export default function isNonNativeEvent(type, actions) {\n if (actions.phaselessTypes[type]) {\n return true;\n }\n\n for (const name in actions.map) {\n if (type.indexOf(name) === 0 && type.substr(name.length) in actions.phases) {\n return true;\n }\n }\n\n return false;\n}\n//# sourceMappingURL=isNonNativeEvent.js.map","/* eslint-disable no-dupe-class-members */\nimport * as arr from \"../utils/arr.js\";\nimport browser from \"../utils/browser.js\";\nimport clone from \"../utils/clone.js\";\nimport { getElementRect, matchesUpTo, nodeContains, trySelector } from \"../utils/domUtils.js\";\nimport extend from \"../utils/extend.js\";\nimport is from \"../utils/is.js\";\nimport normalizeListeners from \"../utils/normalizeListeners.js\";\nimport { getWindow } from \"../utils/window.js\";\nimport { Eventable } from \"./Eventable.js\";\nimport isNonNativeEvent from \"./isNonNativeEvent.js\";\n\n/** */\nexport class Interactable {\n /** @internal */\n get _defaults() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n\n /** */\n constructor(target, options, defaultContext, scopeEvents) {\n this.options = void 0;\n this._actions = void 0;\n this.target = void 0;\n this.events = new Eventable();\n this._context = void 0;\n this._win = void 0;\n this._doc = void 0;\n this._scopeEvents = void 0;\n this._rectChecker = void 0;\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = getWindow(trySelector(target) ? this._context : target);\n this._doc = this._win.document;\n this._scopeEvents = scopeEvents;\n this.set(options);\n }\n\n setOnEvents(actionName, phases) {\n if (is.func(phases.onstart)) {\n this.on(`${actionName}start`, phases.onstart);\n }\n\n if (is.func(phases.onmove)) {\n this.on(`${actionName}move`, phases.onmove);\n }\n\n if (is.func(phases.onend)) {\n this.on(`${actionName}end`, phases.onend);\n }\n\n if (is.func(phases.oninertiastart)) {\n this.on(`${actionName}inertiastart`, phases.oninertiastart);\n }\n\n return this;\n }\n\n updatePerActionListeners(actionName, prev, cur) {\n if (is.array(prev) || is.object(prev)) {\n this.off(actionName, prev);\n }\n\n if (is.array(cur) || is.object(cur)) {\n this.on(actionName, cur);\n }\n }\n\n setPerAction(actionName, options) {\n const defaults = this._defaults; // for all the default per-action options\n\n for (const optionName_ in options) {\n const optionName = optionName_;\n const actionOptions = this.options[actionName];\n const optionValue = options[optionName]; // remove old event listeners and add new ones\n\n if (optionName === 'listeners') {\n this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue);\n } // if the option value is an array\n\n\n if (is.array(optionValue)) {\n actionOptions[optionName] = arr.from(optionValue);\n } // if the option value is an object\n else if (is.plainObject(optionValue)) {\n // copy the object\n actionOptions[optionName] = extend(actionOptions[optionName] || {}, clone(optionValue)); // set anabled field to true if it exists in the defaults\n\n if (is.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) {\n actionOptions[optionName].enabled = optionValue.enabled !== false;\n }\n } // if the option value is a boolean and the default is an object\n else if (is.bool(optionValue) && is.object(defaults.perAction[optionName])) {\n actionOptions[optionName].enabled = optionValue;\n } // if it's anything else, do a plain assignment\n else {\n actionOptions[optionName] = optionValue;\n }\n }\n }\n /**\n * The default function to get an Interactables bounding rect. Can be\n * overridden using {@link Interactable.rectChecker}.\n *\n * @param {Element} [element] The element to measure.\n * @return {Interact.Rect} The object's bounding rectangle.\n */\n\n\n getRect(element) {\n element = element || (is.element(this.target) ? this.target : null);\n\n if (is.string(this.target)) {\n element = element || this._context.querySelector(this.target);\n }\n\n return getElementRect(element);\n }\n /**\n * Returns or sets the function used to calculate the interactable's\n * element's rectangle\n *\n * @param {function} [checker] A function which returns this Interactable's\n * bounding rectangle. See {@link Interactable.getRect}\n * @return {function | object} The checker function or this Interactable\n */\n\n\n rectChecker(checker) {\n if (is.func(checker)) {\n this._rectChecker = checker;\n\n this.getRect = element => {\n const rect = extend({}, this._rectChecker(element));\n\n if (!('width' in rect)) {\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n }\n\n return rect;\n };\n\n return this;\n }\n\n if (checker === null) {\n delete this.getRect;\n delete this._rectChecker;\n return this;\n }\n\n return this.getRect;\n }\n\n _backCompatOption(optionName, newValue) {\n if (trySelector(newValue) || is.object(newValue)) {\n this.options[optionName] = newValue;\n\n for (const action in this._actions.map) {\n this.options[action][optionName] = newValue;\n }\n\n return this;\n }\n\n return this.options[optionName];\n }\n /**\n * Gets or sets the origin of the Interactable's element. The x and y\n * of the origin will be subtracted from action event coordinates.\n *\n * @param {Element | object | string} [origin] An HTML or SVG Element whose\n * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self'\n * or any CSS selector\n *\n * @return {object} The current origin or this Interactable\n */\n\n\n origin(newValue) {\n return this._backCompatOption('origin', newValue);\n }\n /**\n * Returns or sets the mouse coordinate types used to calculate the\n * movement of the pointer.\n *\n * @param {string} [newValue] Use 'client' if you will be scrolling while\n * interacting; Use 'page' if you want autoScroll to work\n * @return {string | object} The current deltaSource or this Interactable\n */\n\n\n deltaSource(newValue) {\n if (newValue === 'page' || newValue === 'client') {\n this.options.deltaSource = newValue;\n return this;\n }\n\n return this.options.deltaSource;\n }\n /**\n * Gets the selector context Node of the Interactable. The default is\n * `window.document`.\n *\n * @return {Node} The context Node of this Interactable\n */\n\n\n context() {\n return this._context;\n }\n\n inContext(element) {\n return this._context === element.ownerDocument || nodeContains(this._context, element);\n }\n\n testIgnoreAllow(options, targetNode, eventTarget) {\n return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget);\n }\n\n testAllow(allowFrom, targetNode, element) {\n if (!allowFrom) {\n return true;\n }\n\n if (!is.element(element)) {\n return false;\n }\n\n if (is.string(allowFrom)) {\n return matchesUpTo(element, allowFrom, targetNode);\n } else if (is.element(allowFrom)) {\n return nodeContains(allowFrom, element);\n }\n\n return false;\n }\n\n testIgnore(ignoreFrom, targetNode, element) {\n if (!ignoreFrom || !is.element(element)) {\n return false;\n }\n\n if (is.string(ignoreFrom)) {\n return matchesUpTo(element, ignoreFrom, targetNode);\n } else if (is.element(ignoreFrom)) {\n return nodeContains(ignoreFrom, element);\n }\n\n return false;\n }\n /**\n * Calls listeners for the given InteractEvent type bound globally\n * and directly to this Interactable\n *\n * @param {InteractEvent} iEvent The InteractEvent object to be fired on this\n * Interactable\n * @return {Interactable} this Interactable\n */\n\n\n fire(iEvent) {\n this.events.fire(iEvent);\n return this;\n }\n\n _onOff(method, typeArg, listenerArg, options) {\n if (is.object(typeArg) && !is.array(typeArg)) {\n options = listenerArg;\n listenerArg = null;\n }\n\n const addRemove = method === 'on' ? 'add' : 'remove';\n const listeners = normalizeListeners(typeArg, listenerArg);\n\n for (let type in listeners) {\n if (type === 'wheel') {\n type = browser.wheelEvent;\n }\n\n for (const listener of listeners[type]) {\n // if it is an action event type\n if (isNonNativeEvent(type, this._actions)) {\n this.events[method](type, listener);\n } // delegated event\n else if (is.string(this.target)) {\n this._scopeEvents[`${addRemove}Delegate`](this.target, this._context, type, listener, options);\n } // remove listener from this Interactable's element\n else {\n this._scopeEvents[addRemove](this.target, type, listener, options);\n }\n }\n }\n\n return this;\n }\n /**\n * Binds a listener for an InteractEvent, pointerEvent or DOM event.\n *\n * @param {string | array | object} types The types of events to listen\n * for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * addEventListener\n * @return {Interactable} This Interactable\n */\n\n\n on(types, listener, options) {\n return this._onOff('on', types, listener, options);\n }\n /**\n * Removes an InteractEvent, pointerEvent or DOM event listener.\n *\n * @param {string | array | object} types The types of events that were\n * listened for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * removeEventListener\n * @return {Interactable} This Interactable\n */\n\n\n off(types, listener, options) {\n return this._onOff('off', types, listener, options);\n }\n /**\n * Reset the options of this Interactable\n *\n * @param {object} options The new settings to apply\n * @return {object} This Interactable\n */\n\n\n set(options) {\n const defaults = this._defaults;\n\n if (!is.object(options)) {\n options = {};\n }\n\n this.options = clone(defaults.base);\n\n for (const actionName_ in this._actions.methodDict) {\n const actionName = actionName_;\n const methodName = this._actions.methodDict[actionName];\n this.options[actionName] = {};\n this.setPerAction(actionName, extend(extend({}, defaults.perAction), defaults.actions[actionName]));\n this[methodName](options[actionName]);\n }\n\n for (const setting in options) {\n if (is.func(this[setting])) {\n this[setting](options[setting]);\n }\n }\n\n return this;\n }\n /**\n * Remove this interactable from the list of interactables and remove it's\n * action capabilities and event listeners\n */\n\n\n unset() {\n if (is.string(this.target)) {\n // remove delegated events\n for (const type in this._scopeEvents.delegatedEvents) {\n const delegated = this._scopeEvents.delegatedEvents[type];\n\n for (let i = delegated.length - 1; i >= 0; i--) {\n const {\n selector,\n context,\n listeners\n } = delegated[i];\n\n if (selector === this.target && context === this._context) {\n delegated.splice(i, 1);\n }\n\n for (let l = listeners.length - 1; l >= 0; l--) {\n this._scopeEvents.removeDelegate(this.target, this._context, type, listeners[l][0], listeners[l][1]);\n }\n }\n }\n } else {\n this._scopeEvents.remove(this.target, 'all');\n }\n }\n\n}\n//# sourceMappingURL=Interactable.js.map","import * as arr from \"../utils/arr.js\";\nimport * as domUtils from \"../utils/domUtils.js\";\nimport extend from \"../utils/extend.js\";\nimport is from \"../utils/is.js\";\nexport class InteractableSet {\n // all set interactables\n constructor(scope) {\n this.list = [];\n this.selectorMap = {};\n this.scope = void 0;\n this.scope = scope;\n scope.addListeners({\n 'interactable:unset': ({\n interactable\n }) => {\n const {\n target,\n _context: context\n } = interactable;\n const targetMappings = is.string(target) ? this.selectorMap[target] : target[this.scope.id];\n const targetIndex = targetMappings.findIndex(m => m.context === context);\n\n if (targetMappings[targetIndex]) {\n // Destroying mappingInfo's context and interactable\n targetMappings[targetIndex].context = null;\n targetMappings[targetIndex].interactable = null;\n }\n\n targetMappings.splice(targetIndex, 1);\n }\n });\n }\n\n new(target, options) {\n options = extend(options || {}, {\n actions: this.scope.actions\n });\n const interactable = new this.scope.Interactable(target, options, this.scope.document, this.scope.events);\n const mappingInfo = {\n context: interactable._context,\n interactable\n };\n this.scope.addDocument(interactable._doc);\n this.list.push(interactable);\n\n if (is.string(target)) {\n if (!this.selectorMap[target]) {\n this.selectorMap[target] = [];\n }\n\n this.selectorMap[target].push(mappingInfo);\n } else {\n if (!interactable.target[this.scope.id]) {\n Object.defineProperty(target, this.scope.id, {\n value: [],\n configurable: true\n });\n }\n\n target[this.scope.id].push(mappingInfo);\n }\n\n this.scope.fire('interactable:new', {\n target,\n options,\n interactable,\n win: this.scope._win\n });\n return interactable;\n }\n\n get(target, options) {\n const context = options && options.context || this.scope.document;\n const isSelector = is.string(target);\n const targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id];\n\n if (!targetMappings) {\n return null;\n }\n\n const found = arr.find(targetMappings, m => m.context === context && (isSelector || m.interactable.inContext(target)));\n return found && found.interactable;\n }\n\n forEachMatch(node, callback) {\n for (const interactable of this.list) {\n let ret;\n\n if ((is.string(interactable.target) // target is a selector and the element matches\n ? is.element(node) && domUtils.matchesSelector(node, interactable.target) : // target is the element\n node === interactable.target) && // the element is in context\n interactable.inContext(node)) {\n ret = callback(interactable);\n }\n\n if (ret !== undefined) {\n return ret;\n }\n }\n }\n\n}\n//# sourceMappingURL=InteractableSet.js.map","function pointerExtend(dest, source) {\n for (const prop in source) {\n const prefixedPropREs = pointerExtend.prefixedPropREs;\n let deprecated = false; // skip deprecated prefixed properties\n\n for (const vendor in prefixedPropREs) {\n if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {\n deprecated = true;\n break;\n }\n }\n\n if (!deprecated && typeof source[prop] !== 'function') {\n dest[prop] = source[prop];\n }\n }\n\n return dest;\n}\n\npointerExtend.prefixedPropREs = {\n webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,\n moz: /(Pressure)$/\n};\nexport default pointerExtend;\n//# sourceMappingURL=pointerExtend.js.map","import browser from \"./browser.js\";\nimport dom from \"./domObjects.js\";\nimport * as domUtils from \"./domUtils.js\";\nimport hypot from \"./hypot.js\";\nimport is from \"./is.js\";\nimport pointerExtend from \"./pointerExtend.js\";\nexport function copyCoords(dest, src) {\n dest.page = dest.page || {};\n dest.page.x = src.page.x;\n dest.page.y = src.page.y;\n dest.client = dest.client || {};\n dest.client.x = src.client.x;\n dest.client.y = src.client.y;\n dest.timeStamp = src.timeStamp;\n}\nexport function setCoordDeltas(targetObj, prev, cur) {\n targetObj.page.x = cur.page.x - prev.page.x;\n targetObj.page.y = cur.page.y - prev.page.y;\n targetObj.client.x = cur.client.x - prev.client.x;\n targetObj.client.y = cur.client.y - prev.client.y;\n targetObj.timeStamp = cur.timeStamp - prev.timeStamp;\n}\nexport function setCoordVelocity(targetObj, delta) {\n const dt = Math.max(delta.timeStamp / 1000, 0.001);\n targetObj.page.x = delta.page.x / dt;\n targetObj.page.y = delta.page.y / dt;\n targetObj.client.x = delta.client.x / dt;\n targetObj.client.y = delta.client.y / dt;\n targetObj.timeStamp = dt;\n}\nexport function setZeroCoords(targetObj) {\n targetObj.page.x = 0;\n targetObj.page.y = 0;\n targetObj.client.x = 0;\n targetObj.client.y = 0;\n}\nexport function isNativePointer(pointer) {\n return pointer instanceof dom.Event || pointer instanceof dom.Touch;\n} // Get specified X/Y coords for mouse or event.touches[0]\n\nexport function getXY(type, pointer, xy) {\n xy = xy || {};\n type = type || 'page';\n xy.x = pointer[type + 'X'];\n xy.y = pointer[type + 'Y'];\n return xy;\n}\nexport function getPageXY(pointer, page) {\n page = page || {\n x: 0,\n y: 0\n }; // Opera Mobile handles the viewport and scrolling oddly\n\n if (browser.isOperaMobile && isNativePointer(pointer)) {\n getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n getXY('page', pointer, page);\n }\n\n return page;\n}\nexport function getClientXY(pointer, client) {\n client = client || {};\n\n if (browser.isOperaMobile && isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n getXY('screen', pointer, client);\n } else {\n getXY('client', pointer, client);\n }\n\n return client;\n}\nexport function getPointerId(pointer) {\n return is.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n}\nexport function setCoords(targetObj, pointers, timeStamp) {\n const pointer = pointers.length > 1 ? pointerAverage(pointers) : pointers[0];\n const tmpXY = {};\n getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n}\nexport function getTouchPair(event) {\n const touches = []; // array of touches is supplied\n\n if (is.array(event)) {\n touches[0] = event[0];\n touches[1] = event[1];\n } // an event\n else {\n if (event.type === 'touchend') {\n if (event.touches.length === 1) {\n touches[0] = event.touches[0];\n touches[1] = event.changedTouches[0];\n } else if (event.touches.length === 0) {\n touches[0] = event.changedTouches[0];\n touches[1] = event.changedTouches[1];\n }\n } else {\n touches[0] = event.touches[0];\n touches[1] = event.touches[1];\n }\n }\n\n return touches;\n}\nexport function pointerAverage(pointers) {\n const average = {\n pageX: 0,\n pageY: 0,\n clientX: 0,\n clientY: 0,\n screenX: 0,\n screenY: 0\n };\n\n for (const pointer of pointers) {\n for (const prop in average) {\n average[prop] += pointer[prop];\n }\n }\n\n for (const prop in average) {\n average[prop] /= pointers.length;\n }\n\n return average;\n}\nexport function touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n const touches = getTouchPair(event);\n const minX = Math.min(touches[0].pageX, touches[1].pageX);\n const minY = Math.min(touches[0].pageY, touches[1].pageY);\n const maxX = Math.max(touches[0].pageX, touches[1].pageX);\n const maxY = Math.max(touches[0].pageY, touches[1].pageY);\n return {\n x: minX,\n y: minY,\n left: minX,\n top: minY,\n right: maxX,\n bottom: maxY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nexport function touchDistance(event, deltaSource) {\n const sourceX = deltaSource + 'X';\n const sourceY = deltaSource + 'Y';\n const touches = getTouchPair(event);\n const dx = touches[0][sourceX] - touches[1][sourceX];\n const dy = touches[0][sourceY] - touches[1][sourceY];\n return hypot(dx, dy);\n}\nexport function touchAngle(event, deltaSource) {\n const sourceX = deltaSource + 'X';\n const sourceY = deltaSource + 'Y';\n const touches = getTouchPair(event);\n const dx = touches[1][sourceX] - touches[0][sourceX];\n const dy = touches[1][sourceY] - touches[0][sourceY];\n const angle = 180 * Math.atan2(dy, dx) / Math.PI;\n return angle;\n}\nexport function getPointerType(pointer) {\n return is.string(pointer.pointerType) ? pointer.pointerType : is.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the \"pointer\" must\n // be either a MouseEvent, TouchEvent, or Touch object\n : /touch/.test(pointer.type) || pointer instanceof dom.Touch ? 'touch' : 'mouse';\n} // [ event.target, event.currentTarget ]\n\nexport function getEventTargets(event) {\n const path = is.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n}\nexport function newCoords() {\n return {\n page: {\n x: 0,\n y: 0\n },\n client: {\n x: 0,\n y: 0\n },\n timeStamp: 0\n };\n}\nexport function coordsToEvent(coords) {\n const event = {\n coords,\n\n get page() {\n return this.coords.page;\n },\n\n get client() {\n return this.coords.client;\n },\n\n get timeStamp() {\n return this.coords.timeStamp;\n },\n\n get pageX() {\n return this.coords.page.x;\n },\n\n get pageY() {\n return this.coords.page.y;\n },\n\n get clientX() {\n return this.coords.client.x;\n },\n\n get clientY() {\n return this.coords.client.y;\n },\n\n get pointerId() {\n return this.coords.pointerId;\n },\n\n get target() {\n return this.coords.target;\n },\n\n get type() {\n return this.coords.type;\n },\n\n get pointerType() {\n return this.coords.pointerType;\n },\n\n get buttons() {\n return this.coords.buttons;\n },\n\n preventDefault() {}\n\n };\n return event;\n}\nexport { pointerExtend };\n//# sourceMappingURL=pointerUtils.js.map","import * as arr from \"../utils/arr.js\";\nimport * as domUtils from \"../utils/domUtils.js\";\nimport extend from \"../utils/extend.js\";\nimport is from \"../utils/is.js\";\nimport pExtend from \"../utils/pointerExtend.js\";\nimport * as pointerUtils from \"../utils/pointerUtils.js\";\n\nfunction install(scope) {\n const targets = [];\n const delegatedEvents = {};\n const documents = [];\n const eventsMethods = {\n add,\n remove,\n addDelegate,\n removeDelegate,\n delegateListener,\n delegateUseCapture,\n delegatedEvents,\n documents,\n targets,\n supportsOptions: false,\n supportsPassive: false\n }; // check if browser supports passive events and options arg\n\n scope.document.createElement('div').addEventListener('test', null, {\n get capture() {\n return eventsMethods.supportsOptions = true;\n },\n\n get passive() {\n return eventsMethods.supportsPassive = true;\n }\n\n });\n scope.events = eventsMethods;\n\n function add(eventTarget, type, listener, optionalArg) {\n const options = getOptions(optionalArg);\n let target = arr.find(targets, t => t.eventTarget === eventTarget);\n\n if (!target) {\n target = {\n eventTarget,\n events: {}\n };\n targets.push(target);\n }\n\n if (!target.events[type]) {\n target.events[type] = [];\n }\n\n if (eventTarget.addEventListener && !arr.contains(target.events[type], listener)) {\n eventTarget.addEventListener(type, listener, eventsMethods.supportsOptions ? options : options.capture);\n target.events[type].push(listener);\n }\n }\n\n function remove(eventTarget, type, listener, optionalArg) {\n const options = getOptions(optionalArg);\n const targetIndex = arr.findIndex(targets, t => t.eventTarget === eventTarget);\n const target = targets[targetIndex];\n\n if (!target || !target.events) {\n return;\n }\n\n if (type === 'all') {\n for (type in target.events) {\n if (target.events.hasOwnProperty(type)) {\n remove(eventTarget, type, 'all');\n }\n }\n\n return;\n }\n\n let typeIsEmpty = false;\n const typeListeners = target.events[type];\n\n if (typeListeners) {\n if (listener === 'all') {\n for (let i = typeListeners.length - 1; i >= 0; i--) {\n remove(eventTarget, type, typeListeners[i], options);\n }\n\n return;\n } else {\n for (let i = 0; i < typeListeners.length; i++) {\n if (typeListeners[i] === listener) {\n eventTarget.removeEventListener(type, listener, eventsMethods.supportsOptions ? options : options.capture);\n typeListeners.splice(i, 1);\n\n if (typeListeners.length === 0) {\n delete target.events[type];\n typeIsEmpty = true;\n }\n\n break;\n }\n }\n }\n }\n\n if (typeIsEmpty && !Object.keys(target.events).length) {\n targets.splice(targetIndex, 1);\n }\n }\n\n function addDelegate(selector, context, type, listener, optionalArg) {\n const options = getOptions(optionalArg);\n\n if (!delegatedEvents[type]) {\n delegatedEvents[type] = []; // add delegate listener functions\n\n for (const doc of documents) {\n add(doc, type, delegateListener);\n add(doc, type, delegateUseCapture, true);\n }\n }\n\n const delegates = delegatedEvents[type];\n let delegate = arr.find(delegates, d => d.selector === selector && d.context === context);\n\n if (!delegate) {\n delegate = {\n selector,\n context,\n listeners: []\n };\n delegates.push(delegate);\n }\n\n delegate.listeners.push([listener, options]);\n }\n\n function removeDelegate(selector, context, type, listener, optionalArg) {\n const options = getOptions(optionalArg);\n const delegates = delegatedEvents[type];\n let matchFound = false;\n let index;\n\n if (!delegates) {\n return;\n } // count from last index of delegated to 0\n\n\n for (index = delegates.length - 1; index >= 0; index--) {\n const cur = delegates[index]; // look for matching selector and context Node\n\n if (cur.selector === selector && cur.context === context) {\n const {\n listeners\n } = cur; // each item of the listeners array is an array: [function, capture, passive]\n\n for (let i = listeners.length - 1; i >= 0; i--) {\n const [fn, {\n capture,\n passive\n }] = listeners[i]; // check if the listener functions and capture and passive flags match\n\n if (fn === listener && capture === options.capture && passive === options.passive) {\n // remove the listener from the array of listeners\n listeners.splice(i, 1); // if all listeners for this target have been removed\n // remove the target from the delegates array\n\n if (!listeners.length) {\n delegates.splice(index, 1); // remove delegate function from context\n\n remove(context, type, delegateListener);\n remove(context, type, delegateUseCapture, true);\n } // only remove one listener\n\n\n matchFound = true;\n break;\n }\n }\n\n if (matchFound) {\n break;\n }\n }\n }\n } // bound to the interactable context when a DOM event\n // listener is added to a selector interactable\n\n\n function delegateListener(event, optionalArg) {\n const options = getOptions(optionalArg);\n const fakeEvent = new FakeEvent(event);\n const delegates = delegatedEvents[event.type];\n const [eventTarget] = pointerUtils.getEventTargets(event);\n let element = eventTarget; // climb up document tree looking for selector matches\n\n while (is.element(element)) {\n for (let i = 0; i < delegates.length; i++) {\n const cur = delegates[i];\n const {\n selector,\n context\n } = cur;\n\n if (domUtils.matchesSelector(element, selector) && domUtils.nodeContains(context, eventTarget) && domUtils.nodeContains(context, element)) {\n const {\n listeners\n } = cur;\n fakeEvent.currentTarget = element;\n\n for (const [fn, {\n capture,\n passive\n }] of listeners) {\n if (capture === options.capture && passive === options.passive) {\n fn(fakeEvent);\n }\n }\n }\n }\n\n element = domUtils.parentNode(element);\n }\n }\n\n function delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n } // for type inferrence\n\n\n return eventsMethods;\n}\n\nexport class FakeEvent {\n constructor(originalEvent) {\n this.currentTarget = void 0;\n this.originalEvent = void 0;\n this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed\n\n pExtend(this, originalEvent);\n }\n\n preventOriginalDefault() {\n this.originalEvent.preventDefault();\n }\n\n stopPropagation() {\n this.originalEvent.stopPropagation();\n }\n\n stopImmediatePropagation() {\n this.originalEvent.stopImmediatePropagation();\n }\n\n}\n\nfunction getOptions(param) {\n if (!is.object(param)) {\n return {\n capture: !!param,\n passive: false\n };\n }\n\n const options = extend({}, param);\n options.capture = !!param.capture;\n options.passive = !!param.passive;\n return options;\n}\n\nexport default {\n id: 'events',\n install\n};\n//# sourceMappingURL=events.js.map","/** @module interact */\nimport browser from \"../utils/browser.js\";\nimport * as domUtils from \"../utils/domUtils.js\";\nimport is from \"../utils/is.js\";\nimport * as pointerUtils from \"../utils/pointerUtils.js\";\nimport isNonNativeEvent from \"./isNonNativeEvent.js\";\nexport function createInteractStatic(scope) {\n /**\n * ```js\n * interact('#draggable').draggable(true)\n *\n * var rectables = interact('rect')\n * rectables\n * .gesturable(true)\n * .on('gesturemove', function (event) {\n * // ...\n * })\n * ```\n *\n * The methods of this variable can be used to set elements as interactables\n * and also to change various default settings.\n *\n * Calling it as a function and passing an element or a valid CSS selector\n * string returns an Interactable object which has various methods to configure\n * it.\n *\n * @global\n *\n * @param {Element | string} target The HTML or SVG Element to interact with\n * or CSS selector\n * @return {Interactable}\n */\n const interact = (target, options) => {\n let interactable = scope.interactables.get(target, options);\n\n if (!interactable) {\n interactable = scope.interactables.new(target, options);\n interactable.events.global = interact.globalEvents;\n }\n\n return interactable;\n }; // expose the functions used to calculate multi-touch properties\n\n\n interact.getPointerAverage = pointerUtils.pointerAverage;\n interact.getTouchBBox = pointerUtils.touchBBox;\n interact.getTouchDistance = pointerUtils.touchDistance;\n interact.getTouchAngle = pointerUtils.touchAngle;\n interact.getElementRect = domUtils.getElementRect;\n interact.getElementClientRect = domUtils.getElementClientRect;\n interact.matchesSelector = domUtils.matchesSelector;\n interact.closest = domUtils.closest;\n interact.globalEvents = {}; // eslint-disable-next-line no-undef\n\n interact.version = \"1.9.20\";\n interact.scope = scope;\n /**\n * Use a plugin\n *\n * @alias module:interact.use\n *\n * @param {Object} plugin\n * @param {function} plugin.install\n * @return {Interact.InteractStatic}\n */\n\n interact.use = function (plugin, options) {\n this.scope.usePlugin(plugin, options);\n return this;\n };\n /**\n * Check if an element or selector has been set with the {@link interact}\n * function\n *\n * @alias module:interact.isSet\n *\n * @param {Element} element The Element being searched for\n * @return {boolean} Indicates if the element or CSS selector was previously\n * passed to interact\n */\n\n\n interact.isSet = function (target, options) {\n return !!this.scope.interactables.get(target, options && options.context);\n };\n /**\n * Add a global listener for an InteractEvent or adds a DOM event to `document`\n *\n * @alias module:interact.on\n *\n * @param {string | array | object} type The types of events to listen for\n * @param {function} listener The function event (s)\n * @param {object | boolean} [options] object or useCapture flag for\n * addEventListener\n * @return {object} interact\n */\n\n\n interact.on = function (type, listener, options) {\n if (is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (is.array(type)) {\n for (const eventType of type) {\n this.on(eventType, listener, options);\n }\n\n return this;\n }\n\n if (is.object(type)) {\n for (const prop in type) {\n this.on(prop, type[prop], listener);\n }\n\n return this;\n } // if it is an InteractEvent type, add listener to globalEvents\n\n\n if (isNonNativeEvent(type, this.scope.actions)) {\n // if this type of event was never bound\n if (!this.globalEvents[type]) {\n this.globalEvents[type] = [listener];\n } else {\n this.globalEvents[type].push(listener);\n }\n } // If non InteractEvent type, addEventListener to document\n else {\n this.scope.events.add(this.scope.document, type, listener, {\n options\n });\n }\n\n return this;\n };\n /**\n * Removes a global InteractEvent listener or DOM event from `document`\n *\n * @alias module:interact.off\n *\n * @param {string | array | object} type The types of events that were listened\n * for\n * @param {function} listener The listener function to be removed\n * @param {object | boolean} options [options] object or useCapture flag for\n * removeEventListener\n * @return {object} interact\n */\n\n\n interact.off = function (type, listener, options) {\n if (is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (is.array(type)) {\n for (const eventType of type) {\n this.off(eventType, listener, options);\n }\n\n return this;\n }\n\n if (is.object(type)) {\n for (const prop in type) {\n this.off(prop, type[prop], listener);\n }\n\n return this;\n }\n\n if (isNonNativeEvent(type, this.scope.actions)) {\n let index;\n\n if (type in this.globalEvents && (index = this.globalEvents[type].indexOf(listener)) !== -1) {\n this.globalEvents[type].splice(index, 1);\n }\n } else {\n this.scope.events.remove(this.scope.document, type, listener, options);\n }\n\n return this;\n };\n\n interact.debug = function () {\n return this.scope;\n };\n /**\n * @alias module:interact.supportsTouch\n *\n * @return {boolean} Whether or not the browser supports touch input\n */\n\n\n interact.supportsTouch = function () {\n return browser.supportsTouch;\n };\n /**\n * @alias module:interact.supportsPointerEvent\n *\n * @return {boolean} Whether or not the browser supports PointerEvents\n */\n\n\n interact.supportsPointerEvent = function () {\n return browser.supportsPointerEvent;\n };\n /**\n * Cancels all interactions (end events are not fired)\n *\n * @alias module:interact.stop\n *\n * @return {object} interact\n */\n\n\n interact.stop = function () {\n for (const interaction of this.scope.interactions.list) {\n interaction.stop();\n }\n\n return this;\n };\n /**\n * Returns or sets the distance the pointer must be moved before an action\n * sequence occurs. This also affects tolerance for tap events.\n *\n * @alias module:interact.pointerMoveTolerance\n *\n * @param {number} [newValue] The movement from the start position must be greater than this value\n * @return {interact | number}\n */\n\n\n interact.pointerMoveTolerance = function (newValue) {\n if (is.number(newValue)) {\n this.scope.interactions.pointerMoveTolerance = newValue;\n return this;\n }\n\n return this.scope.interactions.pointerMoveTolerance;\n };\n\n interact.addDocument = function (doc, options) {\n this.scope.addDocument(doc, options);\n };\n\n interact.removeDocument = function (doc) {\n this.scope.removeDocument(doc);\n };\n\n return interact;\n}\n//# sourceMappingURL=interactStatic.js.map","import win from \"./window.js\";\nexport function warnOnce(method, message) {\n let warned = false;\n return function () {\n if (!warned) {\n win.window.console.warn(message);\n warned = true;\n }\n\n return method.apply(this, arguments);\n };\n}\nexport function copyAction(dest, src) {\n dest.name = src.name;\n dest.axis = src.axis;\n dest.edges = src.edges;\n return dest;\n}\n//# sourceMappingURL=misc.js.map","export class PointerInfo {\n constructor(id, pointer, event, downTime, downTarget) {\n this.id = void 0;\n this.pointer = void 0;\n this.event = void 0;\n this.downTime = void 0;\n this.downTarget = void 0;\n this.id = id;\n this.pointer = pointer;\n this.event = event;\n this.downTime = downTime;\n this.downTarget = downTarget;\n }\n\n}\n//# sourceMappingURL=PointerInfo.js.map","import * as arr from \"../utils/arr.js\";\nimport extend from \"../utils/extend.js\";\nimport hypot from \"../utils/hypot.js\";\nimport { warnOnce, copyAction } from \"../utils/misc.js\";\nimport * as pointerUtils from \"../utils/pointerUtils.js\";\nimport * as rectUtils from \"../utils/rect.js\";\nimport { InteractEvent } from \"./InteractEvent.js\";\nimport { PointerInfo } from \"./PointerInfo.js\";\nexport let _ProxyValues;\n\n(function (_ProxyValues) {\n _ProxyValues[\"interactable\"] = \"\";\n _ProxyValues[\"element\"] = \"\";\n _ProxyValues[\"prepared\"] = \"\";\n _ProxyValues[\"pointerIsDown\"] = \"\";\n _ProxyValues[\"pointerWasMoved\"] = \"\";\n _ProxyValues[\"_proxy\"] = \"\";\n})(_ProxyValues || (_ProxyValues = {}));\n\nexport let _ProxyMethods;\n\n(function (_ProxyMethods) {\n _ProxyMethods[\"start\"] = \"\";\n _ProxyMethods[\"move\"] = \"\";\n _ProxyMethods[\"end\"] = \"\";\n _ProxyMethods[\"stop\"] = \"\";\n _ProxyMethods[\"interacting\"] = \"\";\n})(_ProxyMethods || (_ProxyMethods = {}));\n\nlet idCounter = 0;\nexport class Interaction {\n // current interactable being interacted with\n // the target element of the interactable\n // action that's ready to be fired on next move event\n // keep track of added pointers\n // pointerdown/mousedown/touchstart event\n // previous action event\n\n /** @internal */\n get pointerMoveTolerance() {\n return 1;\n }\n /**\n * @alias Interaction.prototype.move\n */\n\n\n /** */\n constructor({\n pointerType,\n scopeFire\n }) {\n this.interactable = null;\n this.element = null;\n this.rect = void 0;\n this._rects = void 0;\n this.edges = void 0;\n this._scopeFire = void 0;\n this.prepared = {\n name: null,\n axis: null,\n edges: null\n };\n this.pointerType = void 0;\n this.pointers = [];\n this.downEvent = null;\n this.downPointer = {};\n this._latestPointer = {\n pointer: null,\n event: null,\n eventTarget: null\n };\n this.prevEvent = null;\n this.pointerIsDown = false;\n this.pointerWasMoved = false;\n this._interacting = false;\n this._ending = false;\n this._stopped = true;\n this._proxy = null;\n this.simulation = null;\n this.doMove = warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()');\n this.coords = {\n // Starting InteractEvent pointer coordinates\n start: pointerUtils.newCoords(),\n // Previous native pointer move event coordinates\n prev: pointerUtils.newCoords(),\n // current native pointer move event coordinates\n cur: pointerUtils.newCoords(),\n // Change in coordinates and time of the pointer\n delta: pointerUtils.newCoords(),\n // pointer velocity\n velocity: pointerUtils.newCoords()\n };\n this._id = idCounter++;\n this._scopeFire = scopeFire;\n this.pointerType = pointerType;\n const that = this;\n this._proxy = {};\n\n for (const key in _ProxyValues) {\n Object.defineProperty(this._proxy, key, {\n get() {\n return that[key];\n }\n\n });\n }\n\n for (const key in _ProxyMethods) {\n Object.defineProperty(this._proxy, key, {\n value: (...args) => that[key](...args)\n });\n }\n\n this._scopeFire('interactions:new', {\n interaction: this\n });\n }\n\n pointerDown(pointer, event, eventTarget) {\n const pointerIndex = this.updatePointer(pointer, event, eventTarget, true);\n const pointerInfo = this.pointers[pointerIndex];\n\n this._scopeFire('interactions:down', {\n pointer,\n event,\n eventTarget,\n pointerIndex,\n pointerInfo,\n type: 'down',\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable({\n * // disable the default drag start by down->move\n * manualStart: true\n * })\n * // start dragging after the user holds the pointer down\n * .on('hold', function (event) {\n * var interaction = event.interaction\n *\n * if (!interaction.interacting()) {\n * interaction.start({ name: 'drag' },\n * event.interactable,\n * event.currentTarget)\n * }\n * })\n * ```\n *\n * Start an action with the given Interactable and Element as tartgets. The\n * action must be enabled for the target Interactable and an appropriate\n * number of pointers must be held down - 1 for drag/resize, 2 for gesture.\n *\n * Use it with `interactable.<action>able({ manualStart: false })` to always\n * [start actions manually](https://github.com/taye/interact.js/issues/114)\n *\n * @param {object} action The action to be performed - drag, resize, etc.\n * @param {Interactable} target The Interactable to target\n * @param {Element} element The DOM Element to target\n * @return {object} interact\n */\n\n\n start(action, interactable, element) {\n if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === 'gesture' ? 2 : 1) || !interactable.options[action.name].enabled) {\n return false;\n }\n\n copyAction(this.prepared, action);\n this.interactable = interactable;\n this.element = element;\n this.rect = interactable.getRect(element);\n this.edges = this.prepared.edges ? extend({}, this.prepared.edges) : {\n left: true,\n right: true,\n top: true,\n bottom: true\n };\n this._stopped = false;\n this._interacting = this._doPhase({\n interaction: this,\n event: this.downEvent,\n phase: 'start'\n }) && !this._stopped;\n return this._interacting;\n }\n\n pointerMove(pointer, event, eventTarget) {\n if (!this.simulation && !(this.modification && this.modification.endResult)) {\n this.updatePointer(pointer, event, eventTarget, false);\n }\n\n const duplicateMove = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y;\n let dx;\n let dy; // register movement greater than pointerMoveTolerance\n\n if (this.pointerIsDown && !this.pointerWasMoved) {\n dx = this.coords.cur.client.x - this.coords.start.client.x;\n dy = this.coords.cur.client.y - this.coords.start.client.y;\n this.pointerWasMoved = hypot(dx, dy) > this.pointerMoveTolerance;\n }\n\n const pointerIndex = this.getPointerIndex(pointer);\n const signalArg = {\n pointer,\n pointerIndex,\n pointerInfo: this.pointers[pointerIndex],\n event,\n type: 'move',\n eventTarget,\n dx,\n dy,\n duplicate: duplicateMove,\n interaction: this\n };\n\n if (!duplicateMove) {\n // set pointer coordinate, time changes and velocity\n pointerUtils.setCoordVelocity(this.coords.velocity, this.coords.delta);\n }\n\n this._scopeFire('interactions:move', signalArg);\n\n if (!duplicateMove && !this.simulation) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n signalArg.type = null;\n this.move(signalArg);\n }\n\n if (this.pointerWasMoved) {\n pointerUtils.copyCoords(this.coords.prev, this.coords.cur);\n }\n }\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('dragmove', function (event) {\n * if (someCondition) {\n * // change the snap settings\n * event.interactable.draggable({ snap: { targets: [] }})\n * // fire another move event with re-calculated snap\n * event.interaction.move()\n * }\n * })\n * ```\n *\n * Force a move of the current action at the same coordinates. Useful if\n * snap/restrict has been changed and you want a movement with the new\n * settings.\n */\n\n\n move(signalArg) {\n if (!signalArg || !signalArg.event) {\n pointerUtils.setZeroCoords(this.coords.delta);\n }\n\n signalArg = extend({\n pointer: this._latestPointer.pointer,\n event: this._latestPointer.event,\n eventTarget: this._latestPointer.eventTarget,\n interaction: this\n }, signalArg || {});\n signalArg.phase = 'move';\n\n this._doPhase(signalArg);\n } // End interact move events and stop auto-scroll unless simulation is running\n\n\n pointerUp(pointer, event, eventTarget, curEventTarget) {\n let pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n pointerIndex = this.updatePointer(pointer, event, eventTarget, false);\n }\n\n const type = /cancel$/i.test(event.type) ? 'cancel' : 'up';\n\n this._scopeFire(`interactions:${type}`, {\n pointer,\n pointerIndex,\n pointerInfo: this.pointers[pointerIndex],\n event,\n eventTarget,\n type: type,\n curEventTarget,\n interaction: this\n });\n\n if (!this.simulation) {\n this.end(event);\n }\n\n this.pointerIsDown = false;\n this.removePointer(pointer, event);\n }\n\n documentBlur(event) {\n this.end(event);\n\n this._scopeFire('interactions:blur', {\n event,\n type: 'blur',\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('move', function (event) {\n * if (event.pageX > 1000) {\n * // end the current action\n * event.interaction.end()\n * // stop all further listeners from being called\n * event.stopImmediatePropagation()\n * }\n * })\n * ```\n *\n * @param {PointerEvent} [event]\n */\n\n\n end(event) {\n this._ending = true;\n event = event || this._latestPointer.event;\n let endPhaseResult;\n\n if (this.interacting()) {\n endPhaseResult = this._doPhase({\n event,\n interaction: this,\n phase: 'end'\n });\n }\n\n this._ending = false;\n\n if (endPhaseResult === true) {\n this.stop();\n }\n }\n\n currentAction() {\n return this._interacting ? this.prepared.name : null;\n }\n\n interacting() {\n return this._interacting;\n }\n /** */\n\n\n stop() {\n this._scopeFire('interactions:stop', {\n interaction: this\n });\n\n this.interactable = this.element = null;\n this._interacting = false;\n this._stopped = true;\n this.prepared.name = this.prevEvent = null;\n }\n\n getPointerIndex(pointer) {\n const pointerId = pointerUtils.getPointerId(pointer); // mouse and pen interactions may have only one pointer\n\n return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : arr.findIndex(this.pointers, curPointer => curPointer.id === pointerId);\n }\n\n getPointerInfo(pointer) {\n return this.pointers[this.getPointerIndex(pointer)];\n }\n\n updatePointer(pointer, event, eventTarget, down) {\n const id = pointerUtils.getPointerId(pointer);\n let pointerIndex = this.getPointerIndex(pointer);\n let pointerInfo = this.pointers[pointerIndex];\n down = down === false ? false : down || /(down|start)$/i.test(event.type);\n\n if (!pointerInfo) {\n pointerInfo = new PointerInfo(id, pointer, event, null, null);\n pointerIndex = this.pointers.length;\n this.pointers.push(pointerInfo);\n } else {\n pointerInfo.pointer = pointer;\n }\n\n pointerUtils.setCoords(this.coords.cur, this.pointers.map(p => p.pointer), this._now());\n pointerUtils.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur);\n\n if (down) {\n this.pointerIsDown = true;\n pointerInfo.downTime = this.coords.cur.timeStamp;\n pointerInfo.downTarget = eventTarget;\n pointerUtils.pointerExtend(this.downPointer, pointer);\n\n if (!this.interacting()) {\n pointerUtils.copyCoords(this.coords.start, this.coords.cur);\n pointerUtils.copyCoords(this.coords.prev, this.coords.cur);\n this.downEvent = event;\n this.pointerWasMoved = false;\n }\n }\n\n this._updateLatestPointer(pointer, event, eventTarget);\n\n this._scopeFire('interactions:update-pointer', {\n pointer,\n event,\n eventTarget,\n down,\n pointerInfo,\n pointerIndex,\n interaction: this\n });\n\n return pointerIndex;\n }\n\n removePointer(pointer, event) {\n const pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n return;\n }\n\n const pointerInfo = this.pointers[pointerIndex];\n\n this._scopeFire('interactions:remove-pointer', {\n pointer,\n event,\n eventTarget: null,\n pointerIndex,\n pointerInfo,\n interaction: this\n });\n\n this.pointers.splice(pointerIndex, 1);\n }\n\n _updateLatestPointer(pointer, event, eventTarget) {\n this._latestPointer.pointer = pointer;\n this._latestPointer.event = event;\n this._latestPointer.eventTarget = eventTarget;\n }\n\n destroy() {\n this._latestPointer.pointer = null;\n this._latestPointer.event = null;\n this._latestPointer.eventTarget = null;\n }\n\n _createPreparedEvent(event, phase, preEnd, type) {\n return new InteractEvent(this, event, this.prepared.name, phase, this.element, preEnd, type);\n }\n\n _fireEvent(iEvent) {\n this.interactable.fire(iEvent);\n\n if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) {\n this.prevEvent = iEvent;\n }\n }\n\n _doPhase(signalArg) {\n const {\n event,\n phase,\n preEnd,\n type\n } = signalArg;\n const {\n rect\n } = this;\n\n if (rect && phase === 'move') {\n // update the rect changes due to pointer move\n rectUtils.addEdges(this.edges, rect, this.coords.delta[this.interactable.options.deltaSource]);\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n }\n\n const beforeResult = this._scopeFire(`interactions:before-action-${phase}`, signalArg);\n\n if (beforeResult === false) {\n return false;\n }\n\n const iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type);\n\n this._scopeFire(`interactions:action-${phase}`, signalArg);\n\n if (phase === 'start') {\n this.prevEvent = iEvent;\n }\n\n this._fireEvent(iEvent);\n\n this._scopeFire(`interactions:after-action-${phase}`, signalArg);\n\n return true;\n }\n\n _now() {\n return Date.now();\n }\n\n}\nexport default Interaction;\nexport { PointerInfo };\n//# sourceMappingURL=Interaction.js.map","import { matchesSelector, nodeContains } from \"../utils/domUtils.js\";\nimport is from \"../utils/is.js\";\nimport { getWindow } from \"../utils/window.js\";\n\nfunction preventDefault(newValue) {\n if (/^(always|never|auto)$/.test(newValue)) {\n this.options.preventDefault = newValue;\n return this;\n }\n\n if (is.bool(newValue)) {\n this.options.preventDefault = newValue ? 'always' : 'never';\n return this;\n }\n\n return this.options.preventDefault;\n}\n\nfunction checkAndPreventDefault(interactable, scope, event) {\n const setting = interactable.options.preventDefault;\n\n if (setting === 'never') {\n return;\n }\n\n if (setting === 'always') {\n event.preventDefault();\n return;\n } // setting === 'auto'\n // if the browser supports passive event listeners and isn't running on iOS,\n // don't preventDefault of touch{start,move} events. CSS touch-action and\n // user-select should be used instead of calling event.preventDefault().\n\n\n if (scope.events.supportsPassive && /^touch(start|move)$/.test(event.type)) {\n const doc = getWindow(event.target).document;\n const docOptions = scope.getDocOptions(doc);\n\n if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) {\n return;\n }\n } // don't preventDefault of pointerdown events\n\n\n if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) {\n return;\n } // don't preventDefault on editable elements\n\n\n if (is.element(event.target) && matchesSelector(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) {\n return;\n }\n\n event.preventDefault();\n}\n\nfunction onInteractionEvent({\n interaction,\n event\n}) {\n if (interaction.interactable) {\n interaction.interactable.checkAndPreventDefault(event);\n }\n}\n\nexport function install(scope) {\n /** @lends Interactable */\n const {\n Interactable\n } = scope;\n /**\n * Returns or sets whether to prevent the browser's default behaviour in\n * response to pointer events. Can be set to:\n * - `'always'` to always prevent\n * - `'never'` to never prevent\n * - `'auto'` to let interact.js try to determine what would be best\n *\n * @param {string} [newValue] `'always'`, `'never'` or `'auto'`\n * @return {string | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.preventDefault = preventDefault;\n\n Interactable.prototype.checkAndPreventDefault = function (event) {\n return checkAndPreventDefault(this, scope, event);\n }; // prevent native HTML5 drag on interact.js target elements\n\n\n scope.interactions.docEvents.push({\n type: 'dragstart',\n\n listener(event) {\n for (const interaction of scope.interactions.list) {\n if (interaction.element && (interaction.element === event.target || nodeContains(interaction.element, event.target))) {\n interaction.interactable.checkAndPreventDefault(event);\n return;\n }\n }\n }\n\n });\n}\nexport default {\n id: 'core/interactablePreventDefault',\n install,\n listeners: ['down', 'move', 'up', 'cancel'].reduce((acc, eventType) => {\n acc[`interactions:${eventType}`] = onInteractionEvent;\n return acc;\n }, {})\n};\n//# sourceMappingURL=interactablePreventDefault.js.map","import * as dom from \"../utils/domUtils.js\";\nconst finder = {\n methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'],\n\n search(details) {\n for (const method of finder.methodOrder) {\n const interaction = finder[method](details);\n\n if (interaction) {\n return interaction;\n }\n }\n\n return null;\n },\n\n // try to resume simulation with a new pointer\n simulationResume({\n pointerType,\n eventType,\n eventTarget,\n scope\n }) {\n if (!/down|start/i.test(eventType)) {\n return null;\n }\n\n for (const interaction of scope.interactions.list) {\n let element = eventTarget;\n\n if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) {\n while (element) {\n // if the element is the interaction element\n if (element === interaction.element) {\n return interaction;\n }\n\n element = dom.parentNode(element);\n }\n }\n }\n\n return null;\n },\n\n // if it's a mouse or pen interaction\n mouseOrPen({\n pointerId,\n pointerType,\n eventType,\n scope\n }) {\n if (pointerType !== 'mouse' && pointerType !== 'pen') {\n return null;\n }\n\n let firstNonActive;\n\n for (const interaction of scope.interactions.list) {\n if (interaction.pointerType === pointerType) {\n // if it's a down event, skip interactions with running simulations\n if (interaction.simulation && !hasPointerId(interaction, pointerId)) {\n continue;\n } // if the interaction is active, return it immediately\n\n\n if (interaction.interacting()) {\n return interaction;\n } // otherwise save it and look for another active interaction\n else if (!firstNonActive) {\n firstNonActive = interaction;\n }\n }\n } // if no active mouse interaction was found use the first inactive mouse\n // interaction\n\n\n if (firstNonActive) {\n return firstNonActive;\n } // find any mouse or pen interaction.\n // ignore the interaction if the eventType is a *down, and a simulation\n // is active\n\n\n for (const interaction of scope.interactions.list) {\n if (interaction.pointerType === pointerType && !(/down/i.test(eventType) && interaction.simulation)) {\n return interaction;\n }\n }\n\n return null;\n },\n\n // get interaction that has this pointer\n hasPointer({\n pointerId,\n scope\n }) {\n for (const interaction of scope.interactions.list) {\n if (hasPointerId(interaction, pointerId)) {\n return interaction;\n }\n }\n\n return null;\n },\n\n // get first idle interaction with a matching pointerType\n idle({\n pointerType,\n scope\n }) {\n for (const interaction of scope.interactions.list) {\n // if there's already a pointer held down\n if (interaction.pointers.length === 1) {\n const target = interaction.interactable; // don't add this pointer if there is a target interactable and it\n // isn't gesturable\n\n if (target && !(target.options.gesture && target.options.gesture.enabled)) {\n continue;\n }\n } // maximum of 2 pointers per interaction\n else if (interaction.pointers.length >= 2) {\n continue;\n }\n\n if (!interaction.interacting() && pointerType === interaction.pointerType) {\n return interaction;\n }\n }\n\n return null;\n }\n\n};\n\nfunction hasPointerId(interaction, pointerId) {\n return interaction.pointers.some(({\n id\n }) => id === pointerId);\n}\n\nexport default finder;\n//# sourceMappingURL=interactionFinder.js.map","import browser from \"../utils/browser.js\";\nimport domObjects from \"../utils/domObjects.js\";\nimport { nodeContains } from \"../utils/domUtils.js\";\nimport * as pointerUtils from \"../utils/pointerUtils.js\";\nimport InteractionBase from \"./Interaction.js\";\nimport interactablePreventDefault from \"./interactablePreventDefault.js\";\nimport finder from \"./interactionFinder.js\";\nconst methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur'];\n\nfunction install(scope) {\n const listeners = {};\n\n for (const method of methodNames) {\n listeners[method] = doOnInteractions(method, scope);\n }\n\n const pEventTypes = browser.pEventTypes;\n let docEvents;\n\n if (domObjects.PointerEvent) {\n docEvents = [{\n type: pEventTypes.down,\n listener: releasePointersOnRemovedEls\n }, {\n type: pEventTypes.down,\n listener: listeners.pointerDown\n }, {\n type: pEventTypes.move,\n listener: listeners.pointerMove\n }, {\n type: pEventTypes.up,\n listener: listeners.pointerUp\n }, {\n type: pEventTypes.cancel,\n listener: listeners.pointerUp\n }];\n } else {\n docEvents = [{\n type: 'mousedown',\n listener: listeners.pointerDown\n }, {\n type: 'mousemove',\n listener: listeners.pointerMove\n }, {\n type: 'mouseup',\n listener: listeners.pointerUp\n }, {\n type: 'touchstart',\n listener: releasePointersOnRemovedEls\n }, {\n type: 'touchstart',\n listener: listeners.pointerDown\n }, {\n type: 'touchmove',\n listener: listeners.pointerMove\n }, {\n type: 'touchend',\n listener: listeners.pointerUp\n }, {\n type: 'touchcancel',\n listener: listeners.pointerUp\n }];\n }\n\n docEvents.push({\n type: 'blur',\n\n listener(event) {\n for (const interaction of scope.interactions.list) {\n interaction.documentBlur(event);\n }\n }\n\n }); // for ignoring browser's simulated mouse events\n\n scope.prevTouchTime = 0;\n scope.Interaction = class extends InteractionBase {\n get pointerMoveTolerance() {\n return scope.interactions.pointerMoveTolerance;\n }\n\n set pointerMoveTolerance(value) {\n scope.interactions.pointerMoveTolerance = value;\n }\n\n _now() {\n return scope.now();\n }\n\n };\n scope.interactions = {\n // all active and idle interactions\n list: [],\n\n new(options) {\n options.scopeFire = (name, arg) => scope.fire(name, arg);\n\n const interaction = new scope.Interaction(options);\n scope.interactions.list.push(interaction);\n return interaction;\n },\n\n listeners,\n docEvents,\n pointerMoveTolerance: 1\n };\n\n function releasePointersOnRemovedEls() {\n // for all inactive touch interactions with pointers down\n for (const interaction of scope.interactions.list) {\n if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) {\n continue;\n } // if a pointer is down on an element that is no longer in the DOM tree\n\n\n for (const pointer of interaction.pointers) {\n if (!scope.documents.some(({\n doc\n }) => nodeContains(doc, pointer.downTarget))) {\n // remove the pointer from the interaction\n interaction.removePointer(pointer.pointer, pointer.event);\n }\n }\n }\n }\n\n scope.usePlugin(interactablePreventDefault);\n}\n\nfunction doOnInteractions(method, scope) {\n return function (event) {\n const interactions = scope.interactions.list;\n const pointerType = pointerUtils.getPointerType(event);\n const [eventTarget, curEventTarget] = pointerUtils.getEventTargets(event);\n const matches = []; // [ [pointer, interaction], ...]\n\n if (/^touch/.test(event.type)) {\n scope.prevTouchTime = scope.now();\n\n for (const changedTouch of event.changedTouches) {\n const pointer = changedTouch;\n const pointerId = pointerUtils.getPointerId(pointer);\n const searchDetails = {\n pointer,\n pointerId,\n pointerType,\n eventType: event.type,\n eventTarget,\n curEventTarget,\n scope\n };\n const interaction = getInteraction(searchDetails);\n matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]);\n }\n } else {\n let invalidPointer = false;\n\n if (!browser.supportsPointerEvent && /mouse/.test(event.type)) {\n // ignore mouse events while touch interactions are active\n for (let i = 0; i < interactions.length && !invalidPointer; i++) {\n invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown;\n } // try to ignore mouse events that are simulated by the browser\n // after a touch event\n\n\n invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated\n event.timeStamp === 0;\n }\n\n if (!invalidPointer) {\n const searchDetails = {\n pointer: event,\n pointerId: pointerUtils.getPointerId(event),\n pointerType,\n eventType: event.type,\n curEventTarget,\n eventTarget,\n scope\n };\n const interaction = getInteraction(searchDetails);\n matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]);\n }\n } // eslint-disable-next-line no-shadow\n\n\n for (const [pointer, eventTarget, curEventTarget, interaction] of matches) {\n interaction[method](pointer, event, eventTarget, curEventTarget);\n }\n };\n}\n\nfunction getInteraction(searchDetails) {\n const {\n pointerType,\n scope\n } = searchDetails;\n const foundInteraction = finder.search(searchDetails);\n const signalArg = {\n interaction: foundInteraction,\n searchDetails\n };\n scope.fire('interactions:find', signalArg);\n return signalArg.interaction || scope.interactions.new({\n pointerType\n });\n}\n\nfunction onDocSignal({\n doc,\n scope,\n options\n}, eventMethodName) {\n const {\n interactions: {\n docEvents\n },\n events\n } = scope;\n const eventMethod = events[eventMethodName];\n\n if (scope.browser.isIOS && !options.events) {\n options.events = {\n passive: false\n };\n } // delegate event listener\n\n\n for (const eventType in events.delegatedEvents) {\n eventMethod(doc, eventType, events.delegateListener);\n eventMethod(doc, eventType, events.delegateUseCapture, true);\n }\n\n const eventOptions = options && options.events;\n\n for (const {\n type,\n listener\n } of docEvents) {\n eventMethod(doc, type, listener, eventOptions);\n }\n}\n\nconst interactions = {\n id: 'core/interactions',\n install,\n listeners: {\n 'scope:add-document': arg => onDocSignal(arg, 'add'),\n 'scope:remove-document': arg => onDocSignal(arg, 'remove'),\n 'interactable:unset': ({\n interactable\n }, scope) => {\n // Stop and destroy related interactions when an Interactable is unset\n for (let i = scope.interactions.list.length - 1; i >= 0; i--) {\n const interaction = scope.interactions.list[i];\n\n if (interaction.interactable !== interactable) {\n continue;\n }\n\n interaction.stop();\n scope.fire('interactions:destroy', {\n interaction\n });\n interaction.destroy();\n\n if (scope.interactions.list.length > 2) {\n scope.interactions.list.splice(i, 1);\n }\n }\n }\n },\n onDocSignal,\n doOnInteractions,\n methodNames\n};\nexport default interactions;\n//# sourceMappingURL=interactions.js.map","import browser from \"../utils/browser.js\";\nimport clone from \"../utils/clone.js\";\nimport domObjects from \"../utils/domObjects.js\";\nimport extend from \"../utils/extend.js\";\nimport raf from \"../utils/raf.js\";\nimport win from \"../utils/window.js\";\nimport { Eventable } from \"./Eventable.js\";\nimport { InteractEvent } from \"./InteractEvent.js\";\nimport { Interactable as InteractableBase } from \"./Interactable.js\";\nimport { InteractableSet } from \"./InteractableSet.js\";\nimport { defaults } from \"./defaultOptions.js\";\nimport events from \"./events.js\";\nimport { createInteractStatic } from \"./interactStatic.js\";\nimport interactions from \"./interactions.js\";\nexport class Scope {\n // main window\n // main document\n // main window\n // all documents being listened to\n constructor() {\n this.id = `__interact_scope_${Math.floor(Math.random() * 100)}`;\n this.isInitialized = false;\n this.listenerMaps = [];\n this.browser = browser;\n this.defaults = clone(defaults);\n this.Eventable = Eventable;\n this.actions = {\n map: {},\n phases: {\n start: true,\n move: true,\n end: true\n },\n methodDict: {},\n phaselessTypes: {}\n };\n this.interactStatic = createInteractStatic(this);\n this.InteractEvent = InteractEvent;\n this.Interactable = void 0;\n this.interactables = new InteractableSet(this);\n this._win = void 0;\n this.document = void 0;\n this.window = void 0;\n this.documents = [];\n this._plugins = {\n list: [],\n map: {}\n };\n\n this.onWindowUnload = event => this.removeDocument(event.target);\n\n const scope = this;\n this.Interactable = class extends InteractableBase {\n get _defaults() {\n return scope.defaults;\n }\n\n set(options) {\n super.set(options);\n scope.fire('interactable:set', {\n options,\n interactable: this\n });\n return this;\n }\n\n unset() {\n super.unset();\n scope.interactables.list.splice(scope.interactables.list.indexOf(this), 1);\n scope.fire('interactable:unset', {\n interactable: this\n });\n }\n\n };\n }\n\n addListeners(map, id) {\n this.listenerMaps.push({\n id,\n map\n });\n }\n\n fire(name, arg) {\n for (const {\n map: {\n [name]: listener\n }\n } of this.listenerMaps) {\n if (!!listener && listener(arg, this, name) === false) {\n return false;\n }\n }\n }\n\n init(window) {\n return this.isInitialized ? this : initScope(this, window);\n }\n\n pluginIsInstalled(plugin) {\n return this._plugins.map[plugin.id] || this._plugins.list.indexOf(plugin) !== -1;\n }\n\n usePlugin(plugin, options) {\n if (!this.isInitialized) {\n return this;\n }\n\n if (this.pluginIsInstalled(plugin)) {\n return this;\n }\n\n if (plugin.id) {\n this._plugins.map[plugin.id] = plugin;\n }\n\n this._plugins.list.push(plugin);\n\n if (plugin.install) {\n plugin.install(this, options);\n }\n\n if (plugin.listeners && plugin.before) {\n let index = 0;\n const len = this.listenerMaps.length;\n const before = plugin.before.reduce((acc, id) => {\n acc[id] = true;\n acc[pluginIdRoot(id)] = true;\n return acc;\n }, {});\n\n for (; index < len; index++) {\n const otherId = this.listenerMaps[index].id;\n\n if (before[otherId] || before[pluginIdRoot(otherId)]) {\n break;\n }\n }\n\n this.listenerMaps.splice(index, 0, {\n id: plugin.id,\n map: plugin.listeners\n });\n } else if (plugin.listeners) {\n this.listenerMaps.push({\n id: plugin.id,\n map: plugin.listeners\n });\n }\n\n return this;\n }\n\n addDocument(doc, options) {\n // do nothing if document is already known\n if (this.getDocIndex(doc) !== -1) {\n return false;\n }\n\n const window = win.getWindow(doc);\n options = options ? extend({}, options) : {};\n this.documents.push({\n doc,\n options\n });\n this.events.documents.push(doc); // don't add an unload event for the main document\n // so that the page may be cached in browser history\n\n if (doc !== this.document) {\n this.events.add(window, 'unload', this.onWindowUnload);\n }\n\n this.fire('scope:add-document', {\n doc,\n window,\n scope: this,\n options\n });\n }\n\n removeDocument(doc) {\n const index = this.getDocIndex(doc);\n const window = win.getWindow(doc);\n const options = this.documents[index].options;\n this.events.remove(window, 'unload', this.onWindowUnload);\n this.documents.splice(index, 1);\n this.events.documents.splice(index, 1);\n this.fire('scope:remove-document', {\n doc,\n window,\n scope: this,\n options\n });\n }\n\n getDocIndex(doc) {\n for (let i = 0; i < this.documents.length; i++) {\n if (this.documents[i].doc === doc) {\n return i;\n }\n }\n\n return -1;\n }\n\n getDocOptions(doc) {\n const docIndex = this.getDocIndex(doc);\n return docIndex === -1 ? null : this.documents[docIndex].options;\n }\n\n now() {\n return (this.window.Date || Date).now();\n }\n\n}\nexport function initScope(scope, window) {\n scope.isInitialized = true;\n win.init(window);\n domObjects.init(window);\n browser.init(window);\n raf.init(window);\n scope.window = window;\n scope.document = window.document;\n scope.usePlugin(interactions);\n scope.usePlugin(events);\n return scope;\n}\n\nfunction pluginIdRoot(id) {\n return id && id.replace(/\\/.*$/, '');\n}\n//# sourceMappingURL=scope.js.map","import { Scope } from \"../core/scope.js\";\nconst scope = new Scope();\nconst interact = scope.interactStatic;\nexport default interact;\nexport const init = win => scope.init(win);\n\nif (typeof window === 'object' && !!window) {\n init(window);\n}\n//# sourceMappingURL=index.js.map","import is from \"../../utils/is.js\";\n\nfunction install(scope) {\n const {\n actions,\n Interactable,\n defaults\n } = scope;\n Interactable.prototype.draggable = drag.draggable;\n actions.map.drag = drag;\n actions.methodDict.drag = 'draggable';\n defaults.actions.drag = drag.defaults;\n}\n\nfunction beforeMove({\n interaction\n}) {\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n const axis = interaction.prepared.axis;\n\n if (axis === 'x') {\n interaction.coords.cur.page.y = interaction.coords.start.page.y;\n interaction.coords.cur.client.y = interaction.coords.start.client.y;\n interaction.coords.velocity.client.y = 0;\n interaction.coords.velocity.page.y = 0;\n } else if (axis === 'y') {\n interaction.coords.cur.page.x = interaction.coords.start.page.x;\n interaction.coords.cur.client.x = interaction.coords.start.client.x;\n interaction.coords.velocity.client.x = 0;\n interaction.coords.velocity.page.x = 0;\n }\n}\n\nfunction move({\n iEvent,\n interaction\n}) {\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n const axis = interaction.prepared.axis;\n\n if (axis === 'x' || axis === 'y') {\n const opposite = axis === 'x' ? 'y' : 'x';\n iEvent.page[opposite] = interaction.coords.start.page[opposite];\n iEvent.client[opposite] = interaction.coords.start.client[opposite];\n iEvent.delta[opposite] = 0;\n }\n}\n/**\n * ```js\n * interact(element).draggable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // the axis in which the first movement must be\n * // for the drag sequence to start\n * // 'xy' by default - any direction\n * startAxis: 'x' || 'y' || 'xy',\n *\n * // 'xy' by default - don't restrict to one axis (move in any direction)\n * // 'x' or 'y' to restrict movement to either axis\n * // 'start' to restrict movement to the axis the drag started in\n * lockAxis: 'x' || 'y' || 'xy' || 'start',\n *\n * // max number of drags that can happen concurrently\n * // with elements of this Interactable. Infinity by default\n * max: Infinity,\n *\n * // max number of drags that can target the same element+Interactable\n * // 1 by default\n * maxPerElement: 2\n * })\n *\n * var isDraggable = interact('element').draggable(); // true\n * ```\n *\n * Get or set whether drag actions can be performed on the target\n *\n * @alias Interactable.prototype.draggable\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on drag events (object makes the Interactable\n * draggable)\n * @return {boolean | Interactable} boolean indicating if this can be the\n * target of drag events, or this Interctable\n */\n\n\nconst draggable = function draggable(options) {\n if (is.object(options)) {\n this.options.drag.enabled = options.enabled !== false;\n this.setPerAction('drag', options);\n this.setOnEvents('drag', options);\n\n if (/^(xy|x|y|start)$/.test(options.lockAxis)) {\n this.options.drag.lockAxis = options.lockAxis;\n }\n\n if (/^(xy|x|y)$/.test(options.startAxis)) {\n this.options.drag.startAxis = options.startAxis;\n }\n\n return this;\n }\n\n if (is.bool(options)) {\n this.options.drag.enabled = options;\n return this;\n }\n\n return this.options.drag;\n};\n\nconst drag = {\n id: 'actions/drag',\n install,\n listeners: {\n 'interactions:before-action-move': beforeMove,\n 'interactions:action-resume': beforeMove,\n // dragmove\n 'interactions:action-move': move,\n 'auto-start:check': arg => {\n const {\n interaction,\n interactable,\n buttons\n } = arg;\n const dragOptions = interactable.options.drag;\n\n if (!(dragOptions && dragOptions.enabled) || // check mouseButton setting if the pointer is down\n interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options.drag.mouseButtons) === 0) {\n return undefined;\n }\n\n arg.action = {\n name: 'drag',\n axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis\n };\n return false;\n }\n },\n draggable,\n beforeMove,\n move,\n defaults: {\n startAxis: 'xy',\n lockAxis: 'xy'\n },\n\n getCursor() {\n return 'move';\n }\n\n};\nexport default drag;\n//# sourceMappingURL=plugin.js.map","import { BaseEvent } from \"../../core/BaseEvent.js\";\nimport * as arr from \"../../utils/arr.js\";\nexport class DropEvent extends BaseEvent {\n /**\n * Class of events fired on dropzones during drags with acceptable targets.\n */\n constructor(dropState, dragEvent, type) {\n super(dragEvent._interaction);\n this.target = void 0;\n this.dropzone = void 0;\n this.dragEvent = void 0;\n this.relatedTarget = void 0;\n this.draggable = void 0;\n this.timeStamp = void 0;\n this.propagationStopped = false;\n this.immediatePropagationStopped = false;\n const {\n element,\n dropzone\n } = type === 'dragleave' ? dropState.prev : dropState.cur;\n this.type = type;\n this.target = element;\n this.currentTarget = element;\n this.dropzone = dropzone;\n this.dragEvent = dragEvent;\n this.relatedTarget = dragEvent.target;\n this.draggable = dragEvent.interactable;\n this.timeStamp = dragEvent.timeStamp;\n }\n /**\n * If this is a `dropactivate` event, the dropzone element will be\n * deactivated.\n *\n * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the\n * dropzone element and more.\n */\n\n\n reject() {\n const {\n dropState\n } = this._interaction;\n\n if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) {\n return;\n }\n\n dropState.prev.dropzone = this.dropzone;\n dropState.prev.element = this.target;\n dropState.rejected = true;\n dropState.events.enter = null;\n this.stopImmediatePropagation();\n\n if (this.type === 'dropactivate') {\n const activeDrops = dropState.activeDrops;\n const index = arr.findIndex(activeDrops, ({\n dropzone,\n element\n }) => dropzone === this.dropzone && element === this.target);\n dropState.activeDrops.splice(index, 1);\n const deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate');\n deactivateEvent.dropzone = this.dropzone;\n deactivateEvent.target = this.target;\n this.dropzone.fire(deactivateEvent);\n } else {\n this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave'));\n }\n }\n\n preventDefault() {}\n\n stopPropagation() {\n this.propagationStopped = true;\n }\n\n stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n\n}\n//# sourceMappingURL=DropEvent.js.map","import { Interactable } from \"../../core/Interactable.js\";\nimport { Scope } from \"../../core/scope.js\";\nimport * as domUtils from \"../../utils/domUtils.js\";\nimport extend from \"../../utils/extend.js\";\nimport getOriginXY from \"../../utils/getOriginXY.js\";\nimport is from \"../../utils/is.js\";\nimport normalizeListeners from \"../../utils/normalizeListeners.js\";\nimport * as pointerUtils from \"../../utils/pointerUtils.js\";\nimport drag from \"../drag/plugin.js\";\nimport { DropEvent } from \"./DropEvent.js\";\n\nfunction install(scope) {\n const {\n actions,\n\n /** @lends module:interact */\n interactStatic: interact,\n\n /** @lends Interactable */\n Interactable,\n // eslint-disable-line no-shadow\n defaults\n } = scope;\n scope.usePlugin(drag);\n /**\n *\n * ```js\n * interact('.drop').dropzone({\n * accept: '.can-drop' || document.getElementById('single-drop'),\n * overlap: 'pointer' || 'center' || zeroToOne\n * }\n * ```\n *\n * Returns or sets whether draggables can be dropped onto this target to\n * trigger drop events\n *\n * Dropzones can receive the following events:\n * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends\n * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone\n * - `dragmove` when a draggable that has entered the dropzone is moved\n * - `drop` when a draggable is dropped into this dropzone\n *\n * Use the `accept` option to allow only elements that match the given CSS\n * selector or element. The value can be:\n *\n * - **an Element** - only that element can be dropped into this dropzone.\n * - **a string**, - the element being dragged must match it as a CSS selector.\n * - **`null`** - accept options is cleared - it accepts any element.\n *\n * Use the `overlap` option to set how drops are checked for. The allowed\n * values are:\n *\n * - `'pointer'`, the pointer must be over the dropzone (default)\n * - `'center'`, the draggable element's center must be over the dropzone\n * - a number from 0-1 which is the `(intersection area) / (draggable area)`.\n * e.g. `0.5` for drop to happen when half of the area of the draggable is\n * over the dropzone\n *\n * Use the `checker` option to specify a function to check if a dragged element\n * is over this Interactable.\n *\n * @param {boolean | object | null} [options] The new options to be set.\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.dropzone = function (options) {\n return dropzoneMethod(this, options);\n };\n /**\n * ```js\n * interact(target)\n * .dropChecker(function(dragEvent, // related dragmove or dragend event\n * event, // TouchEvent/PointerEvent/MouseEvent\n * dropped, // bool result of the default checker\n * dropzone, // dropzone Interactable\n * dropElement, // dropzone elemnt\n * draggable, // draggable Interactable\n * draggableElement) {// draggable element\n *\n * return dropped && event.target.hasAttribute('allow-drop')\n * }\n * ```\n */\n\n\n Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) {\n return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect);\n };\n /**\n * Returns or sets whether the dimensions of dropzone elements are calculated\n * on every dragmove or only on dragstart for the default dropChecker\n *\n * @param {boolean} [newValue] True to check on each move. False to check only\n * before start\n * @return {boolean | interact} The current setting or interact\n */\n\n\n interact.dynamicDrop = function (newValue) {\n if (is.bool(newValue)) {\n // if (dragging && scope.dynamicDrop !== newValue && !newValue) {\n // calcRects(dropzones)\n // }\n scope.dynamicDrop = newValue;\n return interact;\n }\n\n return scope.dynamicDrop;\n };\n\n extend(actions.phaselessTypes, {\n dragenter: true,\n dragleave: true,\n dropactivate: true,\n dropdeactivate: true,\n dropmove: true,\n drop: true\n });\n actions.methodDict.drop = 'dropzone';\n scope.dynamicDrop = false;\n defaults.actions.drop = drop.defaults;\n}\n\nfunction collectDrops({\n interactables\n}, draggableElement) {\n const drops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (const dropzone of interactables.list) {\n if (!dropzone.options.drop.enabled) {\n continue;\n }\n\n const accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting\n\n if (is.element(accept) && accept !== draggableElement || is.string(accept) && !domUtils.matchesSelector(draggableElement, accept) || is.func(accept) && !accept({\n dropzone,\n draggableElement\n })) {\n continue;\n } // query for new elements if necessary\n\n\n const dropElements = is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : is.array(dropzone.target) ? dropzone.target : [dropzone.target];\n\n for (const dropzoneElement of dropElements) {\n if (dropzoneElement !== draggableElement) {\n drops.push({\n dropzone,\n element: dropzoneElement\n });\n }\n }\n }\n\n return drops;\n}\n\nfunction fireActivationEvents(activeDrops, event) {\n // loop through all active dropzones and trigger event\n for (const {\n dropzone,\n element\n } of activeDrops.slice()) {\n event.dropzone = dropzone; // set current element as event target\n\n event.target = element;\n dropzone.fire(event);\n event.propagationStopped = event.immediatePropagationStopped = false;\n }\n} // return a new array of possible drops. getActiveDrops should always be\n// called when a drag has just started or a drag event happens while\n// dynamicDrop is true\n\n\nfunction getActiveDrops(scope, dragElement) {\n // get dropzones and their elements that could receive the draggable\n const activeDrops = collectDrops(scope, dragElement);\n\n for (const activeDrop of activeDrops) {\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop({\n dropState,\n interactable: draggable,\n element: dragElement\n}, dragEvent, pointerEvent) {\n const validDrops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (const {\n dropzone,\n element: dropzoneElement,\n rect\n } of dropState.activeDrops) {\n validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null);\n } // get the most appropriate dropzone based on DOM depth and order\n\n\n const dropIndex = domUtils.indexOfDeepestElement(validDrops);\n return dropState.activeDrops[dropIndex] || null;\n}\n\nfunction getDropEvents(interaction, _pointerEvent, dragEvent) {\n const {\n dropState\n } = interaction;\n const dropEvents = {\n enter: null,\n leave: null,\n activate: null,\n deactivate: null,\n move: null,\n drop: null\n };\n\n if (dragEvent.type === 'dragstart') {\n dropEvents.activate = new DropEvent(dropState, dragEvent, 'dropactivate');\n dropEvents.activate.target = null;\n dropEvents.activate.dropzone = null;\n }\n\n if (dragEvent.type === 'dragend') {\n dropEvents.deactivate = new DropEvent(dropState, dragEvent, 'dropdeactivate');\n dropEvents.deactivate.target = null;\n dropEvents.deactivate.dropzone = null;\n }\n\n if (dropState.rejected) {\n return dropEvents;\n }\n\n if (dropState.cur.element !== dropState.prev.element) {\n // if there was a previous dropzone, create a dragleave event\n if (dropState.prev.dropzone) {\n dropEvents.leave = new DropEvent(dropState, dragEvent, 'dragleave');\n dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element;\n dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone;\n } // if dropzone is not null, create a dragenter event\n\n\n if (dropState.cur.dropzone) {\n dropEvents.enter = new DropEvent(dropState, dragEvent, 'dragenter');\n dragEvent.dragEnter = dropState.cur.element;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n }\n\n if (dragEvent.type === 'dragend' && dropState.cur.dropzone) {\n dropEvents.drop = new DropEvent(dropState, dragEvent, 'drop');\n dragEvent.dropzone = dropState.cur.dropzone;\n dragEvent.relatedTarget = dropState.cur.element;\n }\n\n if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) {\n dropEvents.move = new DropEvent(dropState, dragEvent, 'dropmove');\n dropEvents.move.dragmove = dragEvent;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n\n return dropEvents;\n}\n\nfunction fireDropEvents(interaction, events) {\n const {\n dropState\n } = interaction;\n const {\n activeDrops,\n cur,\n prev\n } = dropState;\n\n if (events.leave) {\n prev.dropzone.fire(events.leave);\n }\n\n if (events.move) {\n cur.dropzone.fire(events.move);\n }\n\n if (events.enter) {\n cur.dropzone.fire(events.enter);\n }\n\n if (events.drop) {\n cur.dropzone.fire(events.drop);\n }\n\n if (events.deactivate) {\n fireActivationEvents(activeDrops, events.deactivate);\n }\n\n dropState.prev.dropzone = cur.dropzone;\n dropState.prev.element = cur.element;\n}\n\nfunction onEventCreated({\n interaction,\n iEvent,\n event\n}, scope) {\n if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') {\n return;\n }\n\n const {\n dropState\n } = interaction;\n\n if (scope.dynamicDrop) {\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n }\n\n const dragEvent = iEvent;\n const dropResult = getDrop(interaction, dragEvent, event); // update rejected status\n\n dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element;\n dropState.cur.dropzone = dropResult && dropResult.dropzone;\n dropState.cur.element = dropResult && dropResult.element;\n dropState.events = getDropEvents(interaction, event, dragEvent);\n}\n\nfunction dropzoneMethod(interactable, options) {\n if (is.object(options)) {\n interactable.options.drop.enabled = options.enabled !== false;\n\n if (options.listeners) {\n const normalized = normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop'\n\n const corrected = Object.keys(normalized).reduce((acc, type) => {\n const correctedType = /^(enter|leave)/.test(type) ? `drag${type}` : /^(activate|deactivate|move)/.test(type) ? `drop${type}` : type;\n acc[correctedType] = normalized[type];\n return acc;\n }, {});\n interactable.off(interactable.options.drop.listeners);\n interactable.on(corrected);\n interactable.options.drop.listeners = corrected;\n }\n\n if (is.func(options.ondrop)) {\n interactable.on('drop', options.ondrop);\n }\n\n if (is.func(options.ondropactivate)) {\n interactable.on('dropactivate', options.ondropactivate);\n }\n\n if (is.func(options.ondropdeactivate)) {\n interactable.on('dropdeactivate', options.ondropdeactivate);\n }\n\n if (is.func(options.ondragenter)) {\n interactable.on('dragenter', options.ondragenter);\n }\n\n if (is.func(options.ondragleave)) {\n interactable.on('dragleave', options.ondragleave);\n }\n\n if (is.func(options.ondropmove)) {\n interactable.on('dropmove', options.ondropmove);\n }\n\n if (/^(pointer|center)$/.test(options.overlap)) {\n interactable.options.drop.overlap = options.overlap;\n } else if (is.number(options.overlap)) {\n interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0);\n }\n\n if ('accept' in options) {\n interactable.options.drop.accept = options.accept;\n }\n\n if ('checker' in options) {\n interactable.options.drop.checker = options.checker;\n }\n\n return interactable;\n }\n\n if (is.bool(options)) {\n interactable.options.drop.enabled = options;\n return interactable;\n }\n\n return interactable.options.drop;\n}\n\nfunction dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) {\n let dropped = false; // if the dropzone has no rect (eg. display: none)\n // call the custom dropChecker or just return false\n\n if (!(rect = rect || interactable.getRect(dropElement))) {\n return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false;\n }\n\n const dropOverlap = interactable.options.drop.overlap;\n\n if (dropOverlap === 'pointer') {\n const origin = getOriginXY(draggable, draggableElement, 'drag');\n const page = pointerUtils.getPageXY(dragEvent);\n page.x += origin.x;\n page.y += origin.y;\n const horizontal = page.x > rect.left && page.x < rect.right;\n const vertical = page.y > rect.top && page.y < rect.bottom;\n dropped = horizontal && vertical;\n }\n\n const dragRect = draggable.getRect(draggableElement);\n\n if (dragRect && dropOverlap === 'center') {\n const cx = dragRect.left + dragRect.width / 2;\n const cy = dragRect.top + dragRect.height / 2;\n dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom;\n }\n\n if (dragRect && is.number(dropOverlap)) {\n const overlapArea = Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) * Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top));\n const overlapRatio = overlapArea / (dragRect.width * dragRect.height);\n dropped = overlapRatio >= dropOverlap;\n }\n\n if (interactable.options.drop.checker) {\n dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement);\n }\n\n return dropped;\n}\n\nconst drop = {\n id: 'actions/drop',\n install,\n listeners: {\n 'interactions:before-action-start': ({\n interaction\n }) => {\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n interaction.dropState = {\n cur: {\n dropzone: null,\n element: null\n },\n prev: {\n dropzone: null,\n element: null\n },\n rejected: null,\n events: null,\n activeDrops: []\n };\n },\n 'interactions:after-action-start': ({\n interaction,\n event,\n iEvent: dragEvent\n }, scope) => {\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n const {\n dropState\n } = interaction; // reset active dropzones\n\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n dropState.events = getDropEvents(interaction, event, dragEvent);\n\n if (dropState.events.activate) {\n fireActivationEvents(dropState.activeDrops, dropState.events.activate);\n scope.fire('actions/drop:start', {\n interaction,\n dragEvent\n });\n }\n },\n // FIXME proper signal types\n 'interactions:action-move': onEventCreated,\n 'interactions:action-end': onEventCreated,\n 'interactions:after-action-move': function fireDropAfterMove({\n interaction,\n iEvent: dragEvent\n }, scope) {\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n scope.fire('actions/drop:move', {\n interaction,\n dragEvent\n });\n interaction.dropState.events = {};\n },\n 'interactions:after-action-end': ({\n interaction,\n iEvent: dragEvent\n }, scope) => {\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n scope.fire('actions/drop:end', {\n interaction,\n dragEvent\n });\n },\n 'interactions:stop': ({\n interaction\n }) => {\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n const {\n dropState\n } = interaction;\n\n if (dropState) {\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.cur.dropzone = null;\n dropState.cur.element = null;\n dropState.prev.dropzone = null;\n dropState.prev.element = null;\n dropState.rejected = false;\n }\n }\n },\n getActiveDrops,\n getDrop,\n getDropEvents,\n fireDropEvents,\n defaults: {\n enabled: false,\n accept: null,\n overlap: 'pointer'\n }\n};\nexport default drop;\n//# sourceMappingURL=plugin.js.map","import is from \"../../utils/is.js\";\nimport * as pointerUtils from \"../../utils/pointerUtils.js\";\n\nfunction install(scope) {\n const {\n actions,\n Interactable,\n defaults\n } = scope;\n /**\n * ```js\n * interact(element).gesturable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // limit multiple gestures.\n * // See the explanation in {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isGestureable = interact(element).gesturable()\n * ```\n *\n * Gets or sets whether multitouch gestures can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on gesture events (makes the Interactable gesturable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of gesture events, or this Interactable\n */\n\n Interactable.prototype.gesturable = function (options) {\n if (is.object(options)) {\n this.options.gesture.enabled = options.enabled !== false;\n this.setPerAction('gesture', options);\n this.setOnEvents('gesture', options);\n return this;\n }\n\n if (is.bool(options)) {\n this.options.gesture.enabled = options;\n return this;\n }\n\n return this.options.gesture;\n };\n\n actions.map.gesture = gesture;\n actions.methodDict.gesture = 'gesturable';\n defaults.actions.gesture = gesture.defaults;\n}\n\nfunction updateGestureProps({\n interaction,\n iEvent,\n phase\n}) {\n if (interaction.prepared.name !== 'gesture') {\n return;\n }\n\n const pointers = interaction.pointers.map(p => p.pointer);\n const starting = phase === 'start';\n const ending = phase === 'end';\n const deltaSource = interaction.interactable.options.deltaSource;\n iEvent.touches = [pointers[0], pointers[1]];\n\n if (starting) {\n iEvent.distance = pointerUtils.touchDistance(pointers, deltaSource);\n iEvent.box = pointerUtils.touchBBox(pointers);\n iEvent.scale = 1;\n iEvent.ds = 0;\n iEvent.angle = pointerUtils.touchAngle(pointers, deltaSource);\n iEvent.da = 0;\n interaction.gesture.startDistance = iEvent.distance;\n interaction.gesture.startAngle = iEvent.angle;\n } else if (ending) {\n const prevEvent = interaction.prevEvent;\n iEvent.distance = prevEvent.distance;\n iEvent.box = prevEvent.box;\n iEvent.scale = prevEvent.scale;\n iEvent.ds = 0;\n iEvent.angle = prevEvent.angle;\n iEvent.da = 0;\n } else {\n iEvent.distance = pointerUtils.touchDistance(pointers, deltaSource);\n iEvent.box = pointerUtils.touchBBox(pointers);\n iEvent.scale = iEvent.distance / interaction.gesture.startDistance;\n iEvent.angle = pointerUtils.touchAngle(pointers, deltaSource);\n iEvent.ds = iEvent.scale - interaction.gesture.scale;\n iEvent.da = iEvent.angle - interaction.gesture.angle;\n }\n\n interaction.gesture.distance = iEvent.distance;\n interaction.gesture.angle = iEvent.angle;\n\n if (is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) {\n interaction.gesture.scale = iEvent.scale;\n }\n}\n\nconst gesture = {\n id: 'actions/gesture',\n before: ['actions/drag', 'actions/resize'],\n install,\n listeners: {\n 'interactions:action-start': updateGestureProps,\n 'interactions:action-move': updateGestureProps,\n 'interactions:action-end': updateGestureProps,\n 'interactions:new': ({\n interaction\n }) => {\n interaction.gesture = {\n angle: 0,\n distance: 0,\n scale: 1,\n startAngle: 0,\n startDistance: 0\n };\n },\n 'auto-start:check': arg => {\n if (arg.interaction.pointers.length < 2) {\n return undefined;\n }\n\n const gestureOptions = arg.interactable.options.gesture;\n\n if (!(gestureOptions && gestureOptions.enabled)) {\n return undefined;\n }\n\n arg.action = {\n name: 'gesture'\n };\n return false;\n }\n },\n defaults: {},\n\n getCursor() {\n return '';\n }\n\n};\nexport default gesture;\n//# sourceMappingURL=plugin.js.map","import { Interaction } from \"../../core/Interaction.js\";\nimport * as dom from \"../../utils/domUtils.js\";\nimport extend from \"../../utils/extend.js\";\nimport is from \"../../utils/is.js\";\n\nfunction install(scope) {\n const {\n actions,\n browser,\n\n /** @lends Interactable */\n Interactable,\n // tslint:disable-line no-shadowed-variable\n defaults\n } = scope; // Less Precision with touch input\n\n resize.cursors = initCursors(browser);\n resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10;\n /**\n * ```js\n * interact(element).resizable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * edges: {\n * top : true, // Use pointer coords to check for resize.\n * left : false, // Disable resizing from left edge.\n * bottom: '.resize-s',// Resize if pointer target matches selector\n * right : handleEl // Resize if pointer target is the given Element\n * },\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height are adjusted at a 1:1 ratio.\n * square: false,\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height maintain the aspect ratio they had when resizing started.\n * preserveAspectRatio: false,\n *\n * // a value of 'none' will limit the resize rect to a minimum of 0x0\n * // 'negate' will allow the rect to have negative width/height\n * // 'reposition' will keep the width/height positive by swapping\n * // the top and bottom edges and/or swapping the left and right edges\n * invert: 'none' || 'negate' || 'reposition'\n *\n * // limit multiple resizes.\n * // See the explanation in the {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isResizeable = interact(element).resizable()\n * ```\n *\n * Gets or sets whether resize actions can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on resize events (object makes the Interactable\n * resizable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of resize elements, or this Interactable\n */\n\n Interactable.prototype.resizable = function (options) {\n return resizable(this, options, scope);\n };\n\n actions.map.resize = resize;\n actions.methodDict.resize = 'resizable';\n defaults.actions.resize = resize.defaults;\n}\n\nfunction resizeChecker(arg) {\n const {\n interaction,\n interactable,\n element,\n rect,\n buttons\n } = arg;\n\n if (!rect) {\n return undefined;\n }\n\n const page = extend({}, interaction.coords.cur.page);\n const resizeOptions = interactable.options.resize;\n\n if (!(resizeOptions && resizeOptions.enabled) || // check mouseButton setting if the pointer is down\n interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & resizeOptions.mouseButtons) === 0) {\n return undefined;\n } // if using resize.edges\n\n\n if (is.object(resizeOptions.edges)) {\n const resizeEdges = {\n left: false,\n right: false,\n top: false,\n bottom: false\n };\n\n for (const edge in resizeEdges) {\n resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || resize.defaultMargin);\n }\n\n resizeEdges.left = resizeEdges.left && !resizeEdges.right;\n resizeEdges.top = resizeEdges.top && !resizeEdges.bottom;\n\n if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) {\n arg.action = {\n name: 'resize',\n edges: resizeEdges\n };\n }\n } else {\n const right = resizeOptions.axis !== 'y' && page.x > rect.right - resize.defaultMargin;\n const bottom = resizeOptions.axis !== 'x' && page.y > rect.bottom - resize.defaultMargin;\n\n if (right || bottom) {\n arg.action = {\n name: 'resize',\n axes: (right ? 'x' : '') + (bottom ? 'y' : '')\n };\n }\n }\n\n return arg.action ? false : undefined;\n}\n\nfunction resizable(interactable, options, scope) {\n if (is.object(options)) {\n interactable.options.resize.enabled = options.enabled !== false;\n interactable.setPerAction('resize', options);\n interactable.setOnEvents('resize', options);\n\n if (is.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) {\n interactable.options.resize.axis = options.axis;\n } else if (options.axis === null) {\n interactable.options.resize.axis = scope.defaults.actions.resize.axis;\n }\n\n if (is.bool(options.preserveAspectRatio)) {\n interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio;\n } else if (is.bool(options.square)) {\n interactable.options.resize.square = options.square;\n }\n\n return interactable;\n }\n\n if (is.bool(options)) {\n interactable.options.resize.enabled = options;\n return interactable;\n }\n\n return interactable.options.resize;\n}\n\nfunction checkResizeEdge(name, value, page, element, interactableElement, rect, margin) {\n // false, '', undefined, null\n if (!value) {\n return false;\n } // true value, use pointer coords and element rect\n\n\n if (value === true) {\n // if dimensions are negative, \"switch\" edges\n const width = is.number(rect.width) ? rect.width : rect.right - rect.left;\n const height = is.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension\n\n margin = Math.min(margin, Math.abs((name === 'left' || name === 'right' ? width : height) / 2));\n\n if (width < 0) {\n if (name === 'left') {\n name = 'right';\n } else if (name === 'right') {\n name = 'left';\n }\n }\n\n if (height < 0) {\n if (name === 'top') {\n name = 'bottom';\n } else if (name === 'bottom') {\n name = 'top';\n }\n }\n\n if (name === 'left') {\n return page.x < (width >= 0 ? rect.left : rect.right) + margin;\n }\n\n if (name === 'top') {\n return page.y < (height >= 0 ? rect.top : rect.bottom) + margin;\n }\n\n if (name === 'right') {\n return page.x > (width >= 0 ? rect.right : rect.left) - margin;\n }\n\n if (name === 'bottom') {\n return page.y > (height >= 0 ? rect.bottom : rect.top) - margin;\n }\n } // the remaining checks require an element\n\n\n if (!is.element(element)) {\n return false;\n }\n\n return is.element(value) // the value is an element to use as a resize handle\n ? value === element // otherwise check if element matches value as selector\n : dom.matchesUpTo(element, value, interactableElement);\n}\n\nfunction initCursors(browser) {\n return browser.isIe9 ? {\n x: 'e-resize',\n y: 's-resize',\n xy: 'se-resize',\n top: 'n-resize',\n left: 'w-resize',\n bottom: 's-resize',\n right: 'e-resize',\n topleft: 'se-resize',\n bottomright: 'se-resize',\n topright: 'ne-resize',\n bottomleft: 'ne-resize'\n } : {\n x: 'ew-resize',\n y: 'ns-resize',\n xy: 'nwse-resize',\n top: 'ns-resize',\n left: 'ew-resize',\n bottom: 'ns-resize',\n right: 'ew-resize',\n topleft: 'nwse-resize',\n bottomright: 'nwse-resize',\n topright: 'nesw-resize',\n bottomleft: 'nesw-resize'\n };\n}\n\nfunction start({\n iEvent,\n interaction\n}) {\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n const resizeEvent = iEvent;\n const rect = interaction.rect;\n interaction._rects = {\n start: extend({}, rect),\n corrected: extend({}, rect),\n previous: extend({}, rect),\n delta: {\n left: 0,\n right: 0,\n width: 0,\n top: 0,\n bottom: 0,\n height: 0\n }\n };\n resizeEvent.edges = interaction.prepared.edges;\n resizeEvent.rect = interaction._rects.corrected;\n resizeEvent.deltaRect = interaction._rects.delta;\n}\n\nfunction move({\n iEvent,\n interaction\n}) {\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n const resizeEvent = iEvent;\n const resizeOptions = interaction.interactable.options.resize;\n const invert = resizeOptions.invert;\n const invertible = invert === 'reposition' || invert === 'negate'; // eslint-disable-next-line no-shadow\n\n const current = interaction.rect;\n const {\n start: startRect,\n corrected,\n delta: deltaRect,\n previous\n } = interaction._rects;\n extend(previous, corrected);\n\n if (invertible) {\n // if invertible, copy the current rect\n extend(corrected, current);\n\n if (invert === 'reposition') {\n // swap edge values if necessary to keep width/height positive\n if (corrected.top > corrected.bottom) {\n const swap = corrected.top;\n corrected.top = corrected.bottom;\n corrected.bottom = swap;\n }\n\n if (corrected.left > corrected.right) {\n const swap = corrected.left;\n corrected.left = corrected.right;\n corrected.right = swap;\n }\n }\n } else {\n // if not invertible, restrict to minimum of 0x0 rect\n corrected.top = Math.min(current.top, startRect.bottom);\n corrected.bottom = Math.max(current.bottom, startRect.top);\n corrected.left = Math.min(current.left, startRect.right);\n corrected.right = Math.max(current.right, startRect.left);\n }\n\n corrected.width = corrected.right - corrected.left;\n corrected.height = corrected.bottom - corrected.top;\n\n for (const edge in corrected) {\n deltaRect[edge] = corrected[edge] - previous[edge];\n }\n\n resizeEvent.edges = interaction.prepared.edges;\n resizeEvent.rect = corrected;\n resizeEvent.deltaRect = deltaRect;\n}\n\nfunction end({\n iEvent,\n interaction\n}) {\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n const resizeEvent = iEvent;\n resizeEvent.edges = interaction.prepared.edges;\n resizeEvent.rect = interaction._rects.corrected;\n resizeEvent.deltaRect = interaction._rects.delta;\n}\n\nfunction updateEventAxes({\n iEvent,\n interaction\n}) {\n if (interaction.prepared.name !== 'resize' || !interaction.resizeAxes) {\n return;\n }\n\n const options = interaction.interactable.options;\n const resizeEvent = iEvent;\n\n if (options.resize.square) {\n if (interaction.resizeAxes === 'y') {\n resizeEvent.delta.x = resizeEvent.delta.y;\n } else {\n resizeEvent.delta.y = resizeEvent.delta.x;\n }\n\n resizeEvent.axes = 'xy';\n } else {\n resizeEvent.axes = interaction.resizeAxes;\n\n if (interaction.resizeAxes === 'x') {\n resizeEvent.delta.y = 0;\n } else if (interaction.resizeAxes === 'y') {\n resizeEvent.delta.x = 0;\n }\n }\n}\n\nconst resize = {\n id: 'actions/resize',\n before: ['actions/drag'],\n install,\n listeners: {\n 'interactions:new': ({\n interaction\n }) => {\n interaction.resizeAxes = 'xy';\n },\n 'interactions:action-start': arg => {\n start(arg);\n updateEventAxes(arg);\n },\n 'interactions:action-move': arg => {\n move(arg);\n updateEventAxes(arg);\n },\n 'interactions:action-end': end,\n 'auto-start:check': resizeChecker\n },\n defaults: {\n square: false,\n preserveAspectRatio: false,\n axis: 'xy',\n // use default margin\n margin: NaN,\n // object with props left, right, top, bottom which are\n // true/false values to resize when the pointer is over that edge,\n // CSS selectors to match the handles for each direction\n // or the Elements for each handle\n edges: null,\n // a value of 'none' will limit the resize rect to a minimum of 0x0\n // 'negate' will alow the rect to have negative width/height\n // 'reposition' will keep the width/height positive by swapping\n // the top and bottom edges and/or swapping the left and right edges\n invert: 'none'\n },\n cursors: null,\n\n getCursor({\n edges,\n axis,\n name\n }) {\n const cursors = resize.cursors;\n let result = null;\n\n if (axis) {\n result = cursors[name + axis];\n } else if (edges) {\n let cursorKey = '';\n\n for (const edge of ['top', 'bottom', 'left', 'right']) {\n if (edges[edge]) {\n cursorKey += edge;\n }\n }\n\n result = cursors[cursorKey];\n }\n\n return result;\n },\n\n defaultMargin: null\n};\nexport default resize;\n//# sourceMappingURL=plugin.js.map","import drag from \"./drag/plugin.js\";\nimport drop from \"./drop/plugin.js\";\nimport gesture from \"./gesture/plugin.js\";\nimport resize from \"./resize/plugin.js\";\nexport default {\n id: 'actions',\n\n install(scope) {\n scope.usePlugin(gesture);\n scope.usePlugin(resize);\n scope.usePlugin(drag);\n scope.usePlugin(drop);\n }\n\n};\n//# sourceMappingURL=plugin.js.map","/* eslint-disable import/order, no-console, eol-last */\nimport interact, { init } from \"../interact/index.js\";\nimport plugin from \"./plugin.js\";\n\nif (typeof window === 'object' && !!window) {\n init(window);\n} // eslint-disable-next-line no-undef\n\n\nif ((\"development\" !== 'production' || true) && !interact.__warnedUseImport) {\n interact.__warnedUseImport = true;\n console.warn('[interact.js] The \"@interactjs/*/index\" packages are not quite stable yet. Use them with caution.');\n}\n\ninteract.use(plugin);\n//# sourceMappingURL=index.js.map","import is from \"../utils/is.js\";\nimport { warnOnce } from \"../utils/misc.js\";\n\nfunction install(scope) {\n const {\n /** @lends Interactable */\n Interactable // tslint:disable-line no-shadowed-variable\n\n } = scope;\n\n Interactable.prototype.getAction = function getAction(pointer, event, interaction, element) {\n const action = defaultActionChecker(this, event, interaction, element, scope);\n\n if (this.options.actionChecker) {\n return this.options.actionChecker(pointer, event, action, this, element, interaction);\n }\n\n return action;\n };\n /**\n * ```js\n * interact(element, { ignoreFrom: document.getElementById('no-action') })\n * // or\n * interact(element).ignoreFrom('input, textarea, a')\n * ```\n * @deprecated\n * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any\n * of it's parents match the given CSS selector or Element, no\n * drag/resize/gesture is started.\n *\n * Don't use this method. Instead set the `ignoreFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .draggable({\n * ignoreFrom: 'input, textarea, a[href]'',\n * })\n * .pointerEvents({\n * ignoreFrom: '[no-pointer]',\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to not ignore any elements\n * @return {string | Element | object} The current ignoreFrom value or this\n * Interactable\n */\n\n\n Interactable.prototype.ignoreFrom = warnOnce(function (newValue) {\n return this._backCompatOption('ignoreFrom', newValue);\n }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).');\n /**\n * @deprecated\n *\n * A drag/resize/gesture is started only If the target of the `mousedown`,\n * `pointerdown` or `touchstart` event or any of it's parents match the given\n * CSS selector or Element.\n *\n * Don't use this method. Instead set the `allowFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .resizable({\n * allowFrom: '.resize-handle',\n * .pointerEvents({\n * allowFrom: '.handle',,\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to allow from any element\n * @return {string | Element | object} The current allowFrom value or this\n * Interactable\n */\n\n Interactable.prototype.allowFrom = warnOnce(function (newValue) {\n return this._backCompatOption('allowFrom', newValue);\n }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).');\n /**\n * ```js\n * interact('.resize-drag')\n * .resizable(true)\n * .draggable(true)\n * .actionChecker(function (pointer, event, action, interactable, element, interaction) {\n *\n * if (interact.matchesSelector(event.target, '.drag-handle')) {\n * // force drag with handle target\n * action.name = drag\n * }\n * else {\n * // resize from the top and right edges\n * action.name = 'resize'\n * action.edges = { top: true, right: true }\n * }\n *\n * return action\n * })\n * ```\n *\n * Returns or sets the function used to check action to be performed on\n * pointerDown\n *\n * @param {function | null} [checker] A function which takes a pointer event,\n * defaultAction string, interactable, element and interaction as parameters\n * and returns an object with name property 'drag' 'resize' or 'gesture' and\n * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right\n * props.\n * @return {Function | Interactable} The checker function or this Interactable\n */\n\n Interactable.prototype.actionChecker = actionChecker;\n /**\n * Returns or sets whether the the cursor should be changed depending on the\n * action that would be performed if the mouse were pressed and dragged.\n *\n * @param {boolean} [newValue]\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.styleCursor = styleCursor;\n}\n\nfunction defaultActionChecker(interactable, event, interaction, element, scope) {\n const rect = interactable.getRect(element);\n const buttons = event.buttons || {\n 0: 1,\n 1: 4,\n 3: 8,\n 4: 16\n }[event.button];\n const arg = {\n action: null,\n interactable,\n interaction,\n element,\n rect,\n buttons\n };\n scope.fire('auto-start:check', arg);\n return arg.action;\n}\n\nfunction styleCursor(newValue) {\n if (is.bool(newValue)) {\n this.options.styleCursor = newValue;\n return this;\n }\n\n if (newValue === null) {\n delete this.options.styleCursor;\n return this;\n }\n\n return this.options.styleCursor;\n}\n\nfunction actionChecker(checker) {\n if (is.func(checker)) {\n this.options.actionChecker = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.options.actionChecker;\n return this;\n }\n\n return this.options.actionChecker;\n}\n\nexport default {\n id: 'auto-start/interactableMethods',\n install\n};\n//# sourceMappingURL=InteractableMethods.js.map","import * as domUtils from \"../utils/domUtils.js\";\nimport extend from \"../utils/extend.js\";\nimport is from \"../utils/is.js\";\nimport { copyAction } from \"../utils/misc.js\";\nimport InteractableMethods from \"./InteractableMethods.js\";\n\nfunction install(scope) {\n const {\n interactStatic: interact,\n defaults\n } = scope;\n scope.usePlugin(InteractableMethods);\n defaults.base.actionChecker = null;\n defaults.base.styleCursor = true;\n extend(defaults.perAction, {\n manualStart: false,\n max: Infinity,\n maxPerElement: 1,\n allowFrom: null,\n ignoreFrom: null,\n // only allow left button by default\n // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value\n mouseButtons: 1\n });\n /**\n * Returns or sets the maximum number of concurrent interactions allowed. By\n * default only 1 interaction is allowed at a time (for backwards\n * compatibility). To allow multiple interactions on the same Interactables and\n * elements, you need to enable it in the draggable, resizable and gesturable\n * `'max'` and `'maxPerElement'` options.\n *\n * @alias module:interact.maxInteractions\n *\n * @param {number} [newValue] Any number. newValue <= 0 means no interactions.\n */\n\n interact.maxInteractions = newValue => maxInteractions(newValue, scope);\n\n scope.autoStart = {\n // Allow this many interactions to happen simultaneously\n maxInteractions: Infinity,\n withinInteractionLimit,\n cursorElement: null\n };\n}\n\nfunction prepareOnDown({\n interaction,\n pointer,\n event,\n eventTarget\n}, scope) {\n if (interaction.interacting()) {\n return;\n }\n\n const actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n}\n\nfunction prepareOnMove({\n interaction,\n pointer,\n event,\n eventTarget\n}, scope) {\n if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) {\n return;\n }\n\n const actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n}\n\nfunction startOnMove(arg, scope) {\n const {\n interaction\n } = arg;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.fire('autoStart:before-start', arg);\n const {\n interactable\n } = interaction;\n const actionName = interaction.prepared.name;\n\n if (actionName && interactable) {\n // check manualStart and interaction limit\n if (interactable.options[actionName].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) {\n interaction.stop();\n } else {\n interaction.start(interaction.prepared, interactable, interaction.element);\n setInteractionCursor(interaction, scope);\n }\n }\n}\n\nfunction clearCursorOnStop({\n interaction\n}, scope) {\n const {\n interactable\n } = interaction;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n} // Check if the current interactable supports the action.\n// If so, return the validated action. Otherwise, return null\n\n\nfunction validateAction(action, interactable, element, eventTarget, scope) {\n if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) {\n return action;\n }\n\n return null;\n}\n\nfunction validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) {\n for (let i = 0, len = matches.length; i < len; i++) {\n const match = matches[i];\n const matchElement = matchElements[i];\n const matchAction = match.getAction(pointer, event, interaction, matchElement);\n\n if (!matchAction) {\n continue;\n }\n\n const action = validateAction(matchAction, match, matchElement, eventTarget, scope);\n\n if (action) {\n return {\n action,\n interactable: match,\n element: matchElement\n };\n }\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction getActionInfo(interaction, pointer, event, eventTarget, scope) {\n let matches = [];\n let matchElements = [];\n let element = eventTarget;\n\n function pushMatches(interactable) {\n matches.push(interactable);\n matchElements.push(element);\n }\n\n while (is.element(element)) {\n matches = [];\n matchElements = [];\n scope.interactables.forEachMatch(element, pushMatches);\n const actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope);\n\n if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) {\n return actionInfo;\n }\n\n element = domUtils.parentNode(element);\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction prepare(interaction, {\n action,\n interactable,\n element\n}, scope) {\n action = action || {\n name: null\n };\n interaction.interactable = interactable;\n interaction.element = element;\n copyAction(interaction.prepared, action);\n interaction.rect = interactable && action.name ? interactable.getRect(element) : null;\n setInteractionCursor(interaction, scope);\n scope.fire('autoStart:prepared', {\n interaction\n });\n}\n\nfunction withinInteractionLimit(interactable, element, action, scope) {\n const options = interactable.options;\n const maxActions = options[action.name].max;\n const maxPerElement = options[action.name].maxPerElement;\n const autoStartMax = scope.autoStart.maxInteractions;\n let activeInteractions = 0;\n let interactableCount = 0;\n let elementCount = 0; // no actions if any of these values == 0\n\n if (!(maxActions && maxPerElement && autoStartMax)) {\n return false;\n }\n\n for (const interaction of scope.interactions.list) {\n const otherAction = interaction.prepared.name;\n\n if (!interaction.interacting()) {\n continue;\n }\n\n activeInteractions++;\n\n if (activeInteractions >= autoStartMax) {\n return false;\n }\n\n if (interaction.interactable !== interactable) {\n continue;\n }\n\n interactableCount += otherAction === action.name ? 1 : 0;\n\n if (interactableCount >= maxActions) {\n return false;\n }\n\n if (interaction.element === element) {\n elementCount++;\n\n if (otherAction === action.name && elementCount >= maxPerElement) {\n return false;\n }\n }\n }\n\n return autoStartMax > 0;\n}\n\nfunction maxInteractions(newValue, scope) {\n if (is.number(newValue)) {\n scope.autoStart.maxInteractions = newValue;\n return this;\n }\n\n return scope.autoStart.maxInteractions;\n}\n\nfunction setCursor(element, cursor, scope) {\n const {\n cursorElement: prevCursorElement\n } = scope.autoStart;\n\n if (prevCursorElement && prevCursorElement !== element) {\n prevCursorElement.style.cursor = '';\n }\n\n element.ownerDocument.documentElement.style.cursor = cursor;\n element.style.cursor = cursor;\n scope.autoStart.cursorElement = cursor ? element : null;\n}\n\nfunction setInteractionCursor(interaction, scope) {\n const {\n interactable,\n element,\n prepared\n } = interaction;\n\n if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) {\n // clear previous target element cursor\n if (scope.autoStart.cursorElement) {\n setCursor(scope.autoStart.cursorElement, '', scope);\n }\n\n return;\n }\n\n let cursor = '';\n\n if (prepared.name) {\n const cursorChecker = interactable.options[prepared.name].cursorChecker;\n\n if (is.func(cursorChecker)) {\n cursor = cursorChecker(prepared, interactable, element, interaction._interacting);\n } else {\n cursor = scope.actions.map[prepared.name].getCursor(prepared);\n }\n }\n\n setCursor(interaction.element, cursor || '', scope);\n}\n\nconst autoStart = {\n id: 'auto-start/base',\n before: ['actions'],\n install,\n listeners: {\n 'interactions:down': prepareOnDown,\n 'interactions:move': (arg, scope) => {\n prepareOnMove(arg, scope);\n startOnMove(arg, scope);\n },\n 'interactions:stop': clearCursorOnStop\n },\n maxInteractions,\n withinInteractionLimit,\n validateAction\n};\nexport default autoStart;\n//# sourceMappingURL=base.js.map","import { parentNode } from \"../utils/domUtils.js\";\nimport is from \"../utils/is.js\";\nimport autoStart from \"./base.js\";\n\nfunction beforeStart({\n interaction,\n eventTarget,\n dx,\n dy\n}, scope) {\n if (interaction.prepared.name !== 'drag') {\n return;\n } // check if a drag is in the correct axis\n\n\n const absX = Math.abs(dx);\n const absY = Math.abs(dy);\n const targetOptions = interaction.interactable.options.drag;\n const startAxis = targetOptions.startAxis;\n const currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy';\n interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy'\n : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable\n\n if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) {\n // cancel the prepared action\n interaction.prepared.name = null; // then try to get a drag from another ineractable\n\n let element = eventTarget;\n\n const getDraggable = function (interactable) {\n if (interactable === interaction.interactable) {\n return;\n }\n\n const options = interaction.interactable.options.drag;\n\n if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) {\n const action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element);\n\n if (action && action.name === 'drag' && checkStartAxis(currentAxis, interactable) && autoStart.validateAction(action, interactable, element, eventTarget, scope)) {\n return interactable;\n }\n }\n }; // check all interactables\n\n\n while (is.element(element)) {\n const interactable = scope.interactables.forEachMatch(element, getDraggable);\n\n if (interactable) {\n interaction.prepared.name = 'drag';\n interaction.interactable = interactable;\n interaction.element = element;\n break;\n }\n\n element = parentNode(element);\n }\n }\n}\n\nfunction checkStartAxis(startAxis, interactable) {\n if (!interactable) {\n return false;\n }\n\n const thisAxis = interactable.options.drag.startAxis;\n return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis;\n}\n\nexport default {\n id: 'auto-start/dragAxis',\n listeners: {\n 'autoStart:before-start': beforeStart\n }\n};\n//# sourceMappingURL=dragAxis.js.map","import basePlugin from \"./base.js\";\n\nfunction install(scope) {\n const {\n defaults\n } = scope;\n scope.usePlugin(basePlugin);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\n}\n\nfunction getHoldDuration(interaction) {\n const actionName = interaction.prepared && interaction.prepared.name;\n\n if (!actionName) {\n return null;\n }\n\n const options = interaction.interactable.options;\n return options[actionName].hold || options[actionName].delay;\n}\n\nexport default {\n id: 'auto-start/hold',\n install,\n listeners: {\n 'interactions:new': ({\n interaction\n }) => {\n interaction.autoStartHoldTimer = null;\n },\n 'autoStart:prepared': ({\n interaction\n }) => {\n const hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.autoStartHoldTimer = setTimeout(() => {\n interaction.start(interaction.prepared, interaction.interactable, interaction.element);\n }, hold);\n }\n },\n 'interactions:move': ({\n interaction,\n duplicate\n }) => {\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n },\n // prevent regular down->move autoStart\n 'autoStart:before-start': ({\n interaction\n }) => {\n const hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n }\n },\n getHoldDuration\n};\n//# sourceMappingURL=hold.js.map","import autoStart from \"./base.js\";\nimport dragAxis from \"./dragAxis.js\";\nimport hold from \"./hold.js\";\nexport default {\n id: 'auto-start',\n\n install(scope) {\n scope.usePlugin(autoStart);\n scope.usePlugin(hold);\n scope.usePlugin(dragAxis);\n }\n\n};\n//# sourceMappingURL=plugin.js.map","/* eslint-disable import/order, no-console, eol-last */\nimport interact, { init } from \"../interact/index.js\";\nimport plugin from \"./plugin.js\";\n\nif (typeof window === 'object' && !!window) {\n init(window);\n} // eslint-disable-next-line no-undef\n\n\nif ((\"development\" !== 'production' || true) && !interact.__warnedUseImport) {\n interact.__warnedUseImport = true;\n console.warn('[interact.js] The \"@interactjs/*/index\" packages are not quite stable yet. Use them with caution.');\n}\n\ninteract.use(plugin);\n//# sourceMappingURL=index.js.map","<template>\r\n <div\r\n :id=\"'item_' + id\"\r\n ref=\"item\"\r\n class=\"item\"\r\n :style=\"cssStyle\"\r\n :class=\"classObj\"\r\n @mouseover=\"hover = true\"\r\n @mouseleave=\"hover = false\"\r\n >\r\n <!-- Resize Top Div -->\r\n <div\r\n :id=\"id + '-resizeTop'\"\r\n :ref=\"id + '-resizeTop'\"\r\n class=\"resize resize-top\"\r\n :style=\"{\r\n height: resizeHandleSize + 'px',\r\n top: -(resizeHandleSize / 2) + 'px',\r\n left: 0,\r\n right: 0,\r\n cursor: 'ns-resize',\r\n position: 'absolute',\r\n zIndex: resizableZIndex,\r\n }\"\r\n v-if=\"resizeTop\"\r\n >\r\n <slot name=\"resizeTop\"></slot>\r\n </div>\r\n <!-- Resize Bottom Div -->\r\n <div\r\n :id=\"id + '-resizeBottom'\"\r\n :ref=\"id + '-resizeBottom'\"\r\n class=\"resize resize-bottom\"\r\n :style=\"{\r\n height: resizeHandleSize + 'px',\r\n left: 0 + 'px',\r\n right: 0 + 'px',\r\n bottom: -(resizeHandleSize / 2) + 'px',\r\n cursor: 'ns-resize',\r\n position: 'absolute',\r\n zIndex: resizableZIndex,\r\n }\"\r\n v-if=\"resizeBottom\"\r\n >\r\n <slot name=\"resizeBottom\"></slot>\r\n </div>\r\n <!-- Resize Left Div -->\r\n <div\r\n :id=\"id + '-resizeLeft'\"\r\n :ref=\"id + '-resizeLeft'\"\r\n class=\"resize resize-left\"\r\n :style=\"{\r\n width: resizeHandleSize + 'px',\r\n top: 0 + 'px',\r\n bottom: 0 + 'px',\r\n left: -(resizeHandleSize / 2) + 'px',\r\n cursor: 'ew-resize',\r\n position: 'absolute',\r\n zIndex: resizableZIndex,\r\n }\"\r\n v-if=\"resizeLeft\"\r\n >\r\n <slot name=\"resizeLeft\"></slot>\r\n </div>\r\n <!-- Resize Right Div -->\r\n <div\r\n :id=\"id + '-resizeRight'\"\r\n :ref=\"id + '-resizeRight'\"\r\n class=\"resize resize-right\"\r\n :style=\"{\r\n width: resizeHandleSize + 'px',\r\n top: 0 + 'px',\r\n bottom: 0 + 'px',\r\n right: -(resizeHandleSize / 2) + 'px',\r\n cursor: 'ew-resize',\r\n position: 'absolute',\r\n zIndex: resizableZIndex,\r\n }\"\r\n v-if=\"resizeRight\"\r\n >\r\n <slot name=\"resizeRight\"></slot>\r\n </div>\r\n <!-- Resize Top Left Div -->\r\n <div\r\n :id=\"id + '-resizeTopLeft'\"\r\n :ref=\"id + '-resizeTopLeft'\"\r\n class=\"resize resize-left resize-top\"\r\n :style=\"{\r\n width: resizeHandleSize * 2 + 'px',\r\n height: resizeHandleSize * 2 + 'px',\r\n top: -resizeHandleSize + 'px',\r\n left: -resizeHandleSize + 'px',\r\n cursor: 'nw-resize',\r\n position: 'absolute',\r\n zIndex: resizableZIndex,\r\n }\"\r\n v-if=\"resizeTopLeft\"\r\n >\r\n <slot name=\"resizeTopLeft\"></slot>\r\n </div>\r\n <!-- Top Right Resize Div -->\r\n <div\r\n :id=\"id + '-resizeTopRight'\"\r\n :ref=\"id + '-resizeTopRight'\"\r\n class=\"resize resize-right resize-top\"\r\n :style=\"{\r\n width: resizeHandleSize * 2 + 'px',\r\n height: resizeHandleSize * 2 + 'px',\r\n top: -resizeHandleSize + 'px',\r\n right: -resizeHandleSize + 'px',\r\n cursor: 'ne-resize',\r\n position: 'absolute',\r\n zIndex: resizableZIndex,\r\n }\"\r\n v-if=\"resizeTopRight\"\r\n >\r\n <slot name=\"resizeTopRight\"></slot>\r\n </div>\r\n <!-- Bottom Left Resize Div -->\r\n <div\r\n :id=\"id + '-resizeBottomLeft'\"\r\n :ref=\"id + '-resizeBottomLeft'\"\r\n class=\"resize resize-left resize-bottom\"\r\n :style=\"{\r\n width: resizeHandleSize * 2 + 'px',\r\n height: resizeHandleSize * 2 + 'px',\r\n bottom: -resizeHandleSize + 'px',\r\n left: -resizeHandleSize + 'px',\r\n cursor: 'ne-resize',\r\n position: 'absolute',\r\n zIndex: resizableZIndex,\r\n }\"\r\n v-if=\"resizeBottomLeft\"\r\n >\r\n <slot name=\"resizeBottomLeft\"></slot>\r\n </div>\r\n <!-- Bottom Right Resize Div -->\r\n <div\r\n :id=\"id + '-resizeBottomRight'\"\r\n :ref=\"id + '-resizeBottomRight'\"\r\n class=\"resize resize-right resize-bottom\"\r\n :style=\"{\r\n width: resizeHandleSize * 2 + 'px',\r\n height: resizeHandleSize * 2 + 'px',\r\n bottom: -resizeHandleSize + 'px',\r\n right: -resizeHandleSize + 'px',\r\n cursor: 'nw-resize',\r\n position: 'absolute',\r\n zIndex: resizableZIndex,\r\n }\"\r\n v-if=\"resizeBottomRight\"\r\n >\r\n <slot name=\"resizeBottomRight\"></slot>\r\n </div>\r\n <slot></slot>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport \"@interactjs/actions\";\r\nimport \"@interactjs/auto-start\";\r\nimport interact from \"@interactjs/interact\";\r\n\r\nimport { DashItem } from \"./DashItem.model\";\r\nimport { Layout as layoutModel } from \"./Layout.model\";\r\n\r\n//Monitor the Props and update the item with the changed value\r\nconst watchProp = (key, deep) => ({\r\n handler(newValue) {\r\n //If the prop did not cause the update there is no updating\r\n if (this.item[key] === newValue) {\r\n return;\r\n }\r\n this.item[key] = newValue;\r\n },\r\n deep,\r\n});\r\n\r\n//Props to change via interaction and need to be emitted for prop.sync usage\r\nconst EMIT_PROPS = [\"x\", \"y\", \"width\", \"height\"];\r\n//Monitor the item and emit an update to allow .sync usage\r\nconst watchEmitProp = (key, deep) => ({\r\n handler(newValue) {\r\n //If the prop caused the update there is no point emitting it back\r\n if (this.$props[key] === newValue) {\r\n return;\r\n }\r\n this.$emit(\"update:\" + key, newValue);\r\n },\r\n deep,\r\n});\r\n\r\nexport default {\r\n name: \"DashItem\",\r\n inheritAttrs: false,\r\n props: {\r\n id: { type: [Number, String], required: true },\r\n x: { type: Number, default: DashItem.defaults.x },\r\n y: { type: Number, default: DashItem.defaults.y },\r\n width: { type: Number, default: DashItem.defaults.width },\r\n maxWidth: { type: [Number, Boolean], default: DashItem.defaults.maxWidth },\r\n minWidth: { type: [Number, Boolean], default: DashItem.defaults.minWidth },\r\n height: { type: Number, default: DashItem.defaults.height },\r\n maxHeight: {\r\n type: [Number, Boolean],\r\n default: DashItem.defaults.maxHeight,\r\n },\r\n minHeight: {\r\n type: [Number, Boolean],\r\n default: DashItem.defaults.minHeight,\r\n },\r\n draggable: { type: Boolean, default: DashItem.defaults.draggable },\r\n resizable: { type: Boolean, default: DashItem.defaults.resizable },\r\n resizeEdges: { type: String, default: \"bottom right\" },\r\n resizeHandleSize: { type: Number, default: 8 },\r\n draggableZIndex: { type: Number, default: 1 }, //TODO remove\r\n resizableZIndex: { type: Number, default: 1 }, //TODO consider removing\r\n moveHold: { type: Number, default: 0 },\r\n resizeHold: { type: Number, default: 0 },\r\n dragAllowFrom: { type: String, default: null },\r\n dragIgnoreFrom: { type: String, default: null },\r\n locked: { type: Boolean, default: DashItem.defaults.locked },\r\n },\r\n inject: { $layout: { default: null } },\r\n provide() {\r\n return {\r\n $item: () => this.item,\r\n };\r\n },\r\n data() {\r\n return {\r\n interactInstance: null,\r\n item: null,\r\n dragging: false,\r\n resizing: false,\r\n unWatch: null,\r\n hover: false,\r\n };\r\n },\r\n computed: {\r\n resizingOrDragging() {\r\n return (this.resizing || this.dragging) && !this.locked;\r\n },\r\n classObj() {\r\n return {\r\n dragging: this.resizingOrDragging,\r\n cssTransforms: this.useCssTransforms,\r\n };\r\n },\r\n layout() {\r\n if (this.$layout) {\r\n return this.$layout();\r\n }\r\n return null;\r\n },\r\n useCssTransforms() {\r\n if (this.layout) {\r\n return this.layout.useCssTransforms;\r\n }\r\n return layoutModel.default.useCssTransforms;\r\n },\r\n left() {\r\n if (this.item) {\r\n return this.item.left;\r\n }\r\n return 0;\r\n },\r\n top() {\r\n if (this.item) {\r\n return this.item.top;\r\n }\r\n return 0;\r\n },\r\n widthPx() {\r\n if (this.item) {\r\n return this.item.widthPx;\r\n }\r\n return 0;\r\n },\r\n heightPx() {\r\n if (this.item) {\r\n return this.item.heightPx;\r\n }\r\n return 0;\r\n },\r\n cssStyle() {\r\n if (this.useCssTransforms) {\r\n return DashItem.cssTransform(\r\n this.top,\r\n this.left,\r\n this.widthPx,\r\n this.heightPx\r\n );\r\n } else {\r\n return DashItem.cssTopLeft(\r\n this.top,\r\n this.left,\r\n this.widthPx,\r\n this.heightPx\r\n );\r\n }\r\n },\r\n resizeTop() {\r\n return !this.locked && this.resizable && this.resizeEdges.includes(\"top\");\r\n },\r\n resizeBottom() {\r\n return (\r\n !this.locked && this.resizable && this.resizeEdges.includes(\"bottom\")\r\n );\r\n },\r\n resizeLeft() {\r\n return (\r\n !this.locked && this.resizable && this.resizeEdges.includes(\"left\")\r\n );\r\n },\r\n resizeRight() {\r\n return (\r\n !this.locked && this.resizable && this.resizeEdges.includes(\"right\")\r\n );\r\n },\r\n resizeTopLeft() {\r\n return !this.locked && this.resizeTop && this.resizeLeft;\r\n },\r\n resizeBottomLeft() {\r\n return !this.locked && this.resizeBottom && this.resizeLeft;\r\n },\r\n resizeTopRight() {\r\n return !this.locked && this.resizeTop && this.resizeRight;\r\n },\r\n resizeBottomRight() {\r\n return !this.locked && this.resizeBottom && this.resizeRight;\r\n },\r\n },\r\n methods: {\r\n setDraggable() {\r\n if (this.draggable && !this.locked) {\r\n this.interactInstance.draggable({\r\n enabled: true,\r\n hold: this.moveHold,\r\n allowFrom: this.dragAllowFrom,\r\n ignoreFrom: this.dragIgnoreFrom,\r\n listeners: {\r\n start: (event) => {\r\n this.onMoveStart(event);\r\n },\r\n move: (event) => {\r\n this.onMove(event);\r\n },\r\n end: (event) => {\r\n this.onMoveEnd(event);\r\n },\r\n },\r\n });\r\n } else {\r\n this.interactInstance.draggable(false);\r\n }\r\n },\r\n setResizable() {\r\n if (this.resizable && !this.locked) {\r\n this.interactInstance.resizable({\r\n enabled: true,\r\n hold: this.resizeHold,\r\n edges: {\r\n top: \".resize-top\",\r\n left: \".resize-left\",\r\n bottom: \".resize-bottom\",\r\n right: \".resize-right\",\r\n },\r\n listeners: {\r\n start: (event) => {\r\n this.onResizeStart(event);\r\n },\r\n move: (event) => {\r\n this.onResize(event);\r\n },\r\n end: (event) => {\r\n this.onResizeEnd(event);\r\n },\r\n },\r\n });\r\n } else {\r\n this.interactInstance.resizable(false);\r\n }\r\n },\r\n onMoveStart(e) {\r\n this.dragging = true;\r\n this.item._onMoveStart();\r\n this.$emit(\"moveStart\", { ...this.item.toItem() });\r\n },\r\n onMove(event) {\r\n if (this.dragging) {\r\n this.item._onMove(event.dx, event.dy);\r\n this.$emit(\"moving\", { ...this.item.toItem() });\r\n }\r\n },\r\n onMoveEnd(e) {\r\n this.item._onMoveEnd();\r\n this.dragging = false;\r\n this.$emit(\"moveEnd\", { ...this.item.toItem() });\r\n },\r\n onResizeStart(e) {\r\n this.resizing = true;\r\n this.item._onResizeStart();\r\n this.$emit(\"resizeStart\", { ...this.item.toItem() });\r\n },\r\n onResize(e) {\r\n if (this.resizing) {\r\n this.item._onResize(e);\r\n this.$emit(\"resizing\", { ...this.item.toItem() });\r\n }\r\n },\r\n onResizeEnd(e) {\r\n this.item._onResizeEnd();\r\n this.resizing = false;\r\n this.$emit(\"resizeEnd\", { ...this.item.toItem() });\r\n },\r\n createPropWatchers() {\r\n //Setup prop watches to sync with the Dash Item\r\n Object.keys(this.$props).forEach((key) => {\r\n this.$watch(key, watchProp(key, true));\r\n });\r\n },\r\n createDashItemWatchers() {\r\n //Setup Watchers for emmit sync option\r\n EMIT_PROPS.forEach((prop) => {\r\n this.$watch(\"item.\" + prop, watchEmitProp(prop, true));\r\n });\r\n },\r\n },\r\n watch: {\r\n hover(newValue) {\r\n this.item.hover = newValue;\r\n if (newValue) {\r\n this.$emit(\"hoverStart\", this.item);\r\n } else {\r\n this.$emit(\"hovenEnd\", this.item);\r\n }\r\n },\r\n draggable() {\r\n this.setDraggable();\r\n },\r\n resizable() {\r\n this.setResizable();\r\n },\r\n locked() {\r\n this.setDraggable();\r\n this.setResizable();\r\n },\r\n moveHold() {\r\n this.setDraggable();\r\n },\r\n resizeHold() {\r\n this.setResizable();\r\n },\r\n dragAllowFrom() {\r\n this.setDraggable();\r\n },\r\n dragIgnoreFrom() {\r\n this.setDraggable();\r\n },\r\n },\r\n mounted() {\r\n this.item = new DashItem(this.$props);\r\n\r\n this.interactInstance = interact(this.$refs.item);\r\n this.setDraggable();\r\n this.setResizable();\r\n\r\n //Check if layout exists and if not then start a watcher\r\n if (this.layout) {\r\n this.layout.addDashItem(this.item);\r\n this.createPropWatchers();\r\n this.createDashItemWatchers();\r\n } else {\r\n this.unWatch = this.$watch(\r\n \"layout\",\r\n function (newValue) {\r\n if (newValue) {\r\n this.layout.addDashItem(this.item);\r\n this.createPropWatchers();\r\n this.createDashItemWatchers();\r\n this.unWatch();\r\n }\r\n },\r\n { immediate: true }\r\n );\r\n }\r\n },\r\n beforeDestroy() {\r\n if (this.interactInstance) {\r\n this.interactInstance.unset();\r\n }\r\n if (this.layout) {\r\n this.layout.removeDashItem(this.item);\r\n }\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.item {\r\n box-sizing: border-box;\r\n position: absolute;\r\n display: inline-block;\r\n transition: all 200ms ease;\r\n transition-property: left, top, right;\r\n touch-action: none;\r\n user-select: none;\r\n}\r\n.item.dragging {\r\n transition: none;\r\n z-index: 3;\r\n}\r\n\r\n.resize {\r\n touch-action: none;\r\n user-select: none;\r\n}\r\n\r\n.item.cssTransforms {\r\n transition-property: transform;\r\n left: 0;\r\n right: auto;\r\n}\r\n</style>\r\n","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!./DashItem.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!./DashItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DashItem.vue?vue&type=template&id=2ce8db4c&scoped=true&\"\nimport script from \"./DashItem.vue?vue&type=script&lang=js&\"\nexport * from \"./DashItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DashItem.vue?vue&type=style&index=0&id=2ce8db4c&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 \"2ce8db4c\",\n null\n \n)\n\nexport default component.exports","/* 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","import { SimpleEventDispatcher } from \"ste-simple-events\";\r\nimport { Margin, Item } from \"../interfaces\";\r\nimport { ResizeEvent } from \"@interactjs/types\";\r\nexport class DashItem {\r\n private readonly _id: number | string;\r\n private _x: number;\r\n private _y: number;\r\n private _colWidth: number;\r\n private _rowHeight: number;\r\n private _margin: Margin;\r\n private _left: number;\r\n private _top: number;\r\n private _width: number;\r\n private _height: number;\r\n private _minWidth: number | boolean;\r\n private _maxWidth: number | boolean;\r\n private _minHeight: number | boolean;\r\n private _maxHeight: number | boolean;\r\n private _widthPx: number;\r\n private _heightPx: number;\r\n private _draggable: boolean;\r\n private _resizable: boolean;\r\n private _resizeEdges: string;\r\n private _resizeHandleSize: number;\r\n private _moved: boolean = false;\r\n private _hover: boolean = false;\r\n private _resizeHold: number;\r\n private _moveHold: number;\r\n private _locked: boolean;\r\n\r\n private _moving = false as boolean;\r\n private _resizing = false as boolean;\r\n private _onMoveStartEventDispatcher = new SimpleEventDispatcher<Item>();\r\n private _onMoveEventDispatcher = new SimpleEventDispatcher<Item>();\r\n private _onMoveEndEventDispatcher = new SimpleEventDispatcher<Item>();\r\n private _onResizeStartEventDispatcher = new SimpleEventDispatcher<Item>();\r\n private _onResizeEventDispatcher = new SimpleEventDispatcher<Item>();\r\n private _onResizeEndEventDispatcher = new SimpleEventDispatcher<Item>();\r\n\r\n constructor({\r\n id,\r\n x,\r\n y,\r\n width,\r\n height,\r\n minWidth,\r\n maxWidth,\r\n minHeight,\r\n maxHeight,\r\n colWidth,\r\n rowHeight,\r\n margin,\r\n draggable,\r\n resizable,\r\n resizeEdges,\r\n resizeHandleSize,\r\n moveHold,\r\n resizeHold,\r\n locked,\r\n }: {\r\n id: string | number;\r\n x?: number;\r\n y?: number;\r\n width?: number;\r\n height?: number;\r\n minWidth?: number | boolean;\r\n maxWidth?: number | boolean;\r\n minHeight?: number | boolean;\r\n maxHeight?: number | boolean;\r\n colWidth?: number;\r\n rowHeight?: number;\r\n margin?: Margin;\r\n draggable?: boolean;\r\n resizable?: boolean;\r\n resizeEdges?: string;\r\n resizeHandleSize?: number;\r\n moveHold?: number;\r\n resizeHold?: number;\r\n locked?: boolean;\r\n }) {\r\n this._id = id;\r\n\r\n if (typeof colWidth !== \"undefined\") {\r\n this._colWidth = colWidth;\r\n } else {\r\n this._colWidth = 1;\r\n }\r\n if (typeof rowHeight !== \"undefined\") {\r\n this._rowHeight = rowHeight;\r\n } else {\r\n this._rowHeight = 1;\r\n }\r\n if (typeof margin !== \"undefined\") {\r\n this._margin = margin;\r\n } else {\r\n this._margin = { x: 1, y: 1 };\r\n }\r\n if (typeof x !== \"undefined\") {\r\n this._x = x;\r\n } else {\r\n this._x = DashItem.defaults.x;\r\n }\r\n this._left = DashItem.getLeftFromX(this._x, this._colWidth, this._margin);\r\n if (typeof y !== \"undefined\") {\r\n this._y = y;\r\n } else {\r\n this._y = DashItem.defaults.y;\r\n }\r\n this._top = DashItem.getTopFromY(this._y, this._rowHeight, this._margin);\r\n\r\n if (typeof minWidth !== \"undefined\") {\r\n this._minWidth = minWidth;\r\n } else {\r\n this._minWidth = DashItem.defaults.minWidth;\r\n }\r\n if (typeof maxWidth !== \"undefined\") {\r\n this._maxWidth = maxWidth;\r\n } else {\r\n this._maxWidth = DashItem.defaults.maxWidth;\r\n }\r\n if (typeof width !== \"undefined\") {\r\n this._width = width;\r\n } else {\r\n this._width = DashItem.defaults.width;\r\n }\r\n if (typeof minHeight !== \"undefined\") {\r\n this._minHeight = minHeight;\r\n } else {\r\n this._minHeight = DashItem.defaults.minHeight;\r\n }\r\n if (typeof maxHeight !== \"undefined\") {\r\n this._maxHeight = maxHeight;\r\n } else {\r\n this._maxHeight = DashItem.defaults.maxHeight;\r\n }\r\n if (typeof height !== \"undefined\") {\r\n this._height = height;\r\n } else {\r\n this._height = DashItem.defaults.height;\r\n }\r\n this._widthPx = DashItem.getWidthInPx(\r\n this._width,\r\n this._colWidth,\r\n this._margin\r\n );\r\n this._heightPx = DashItem.getHeightInPx(\r\n this._height,\r\n this._rowHeight,\r\n this._margin\r\n );\r\n if (typeof draggable !== \"undefined\") {\r\n this._draggable = draggable;\r\n } else {\r\n this._draggable = DashItem.defaults.draggable!;\r\n }\r\n if (typeof resizable !== \"undefined\") {\r\n this._resizable = resizable;\r\n } else {\r\n this._resizable = DashItem.defaults.resizable!;\r\n }\r\n if (typeof resizeEdges !== \"undefined\") {\r\n this._resizeEdges = resizeEdges;\r\n } else {\r\n this._resizeEdges = \"top bottom left right\";\r\n }\r\n if (typeof resizeHandleSize !== \"undefined\") {\r\n this._resizeHandleSize = resizeHandleSize;\r\n } else {\r\n this._resizeHandleSize = 8;\r\n }\r\n if (typeof moveHold !== \"undefined\") {\r\n this._moveHold = moveHold;\r\n } else {\r\n this._moveHold = 0;\r\n }\r\n if (typeof resizeHold !== \"undefined\") {\r\n this._resizeHold = resizeHold;\r\n } else {\r\n this._resizeHold = 0;\r\n }\r\n if (typeof locked !== \"undefined\") {\r\n this._locked = locked;\r\n } else {\r\n this._locked = DashItem.defaults.locked!;\r\n }\r\n }\r\n get id() {\r\n return this._id;\r\n }\r\n get x() {\r\n return this._x;\r\n }\r\n set x(x: number) {\r\n this._x = x;\r\n this.updatePositionAndSize();\r\n }\r\n get y() {\r\n return this._y;\r\n }\r\n set y(y: number) {\r\n this._y = y;\r\n this.updatePositionAndSize();\r\n }\r\n get colWidth() {\r\n return this._colWidth;\r\n }\r\n set colWidth(c: number) {\r\n this._colWidth = c;\r\n this.updatePositionAndSize();\r\n }\r\n get rowHeight() {\r\n return this._rowHeight;\r\n }\r\n set rowHeight(r: number) {\r\n this._rowHeight = r;\r\n this.updatePositionAndSize();\r\n }\r\n get margin() {\r\n return this._margin;\r\n }\r\n set margin(m: Margin) {\r\n this._margin = m;\r\n this.updatePositionAndSize();\r\n }\r\n get left() {\r\n return this._left;\r\n }\r\n set left(l: number) {\r\n if (!this._moving && !this._resizing) {\r\n this._left = l;\r\n }\r\n }\r\n get top() {\r\n return this._top;\r\n }\r\n set top(t: number) {\r\n if (!this._moving && !this._resizing) {\r\n this._top = t;\r\n }\r\n }\r\n get minWidth() {\r\n return this._minWidth;\r\n }\r\n set minWidth(mW: number | boolean) {\r\n this._minWidth = mW;\r\n }\r\n get maxWidth() {\r\n return this._maxWidth;\r\n }\r\n set maxWidth(mW: number | boolean) {\r\n this._maxWidth = mW;\r\n }\r\n get width() {\r\n return this._width;\r\n }\r\n set width(w: number) {\r\n this._width = w;\r\n this.checkSizeLimits();\r\n this.updatePositionAndSize();\r\n }\r\n\r\n get minHeight() {\r\n return this._minHeight;\r\n }\r\n set minHeight(mW: number | boolean) {\r\n this._minHeight = mW;\r\n }\r\n get maxHeight() {\r\n return this._maxHeight;\r\n }\r\n set maxHeight(mW: number | boolean) {\r\n this._maxHeight = mW;\r\n }\r\n get height() {\r\n return this._height;\r\n }\r\n set height(h: number) {\r\n this._height = h;\r\n this.checkSizeLimits();\r\n this.updatePositionAndSize();\r\n }\r\n get widthPx() {\r\n return this._widthPx;\r\n }\r\n set widthPx(w: number) {\r\n if (!this._resizing) {\r\n this._widthPx = w;\r\n }\r\n }\r\n get heightPx() {\r\n return this._heightPx;\r\n }\r\n set heightPx(h: number) {\r\n if (!this._resizing) {\r\n this._heightPx = h;\r\n }\r\n }\r\n get hover() {\r\n return this._hover;\r\n }\r\n set hover(h: boolean) {\r\n this._hover = h;\r\n }\r\n get moveHold() {\r\n return this._moveHold;\r\n }\r\n set moveHold(dh: number) {\r\n this._moveHold = dh;\r\n }\r\n get resizeHold() {\r\n return this._resizeHold;\r\n }\r\n set resizeHold(rh: number) {\r\n this._resizeHold = rh;\r\n }\r\n get moving() {\r\n return this._moving;\r\n }\r\n get resizing() {\r\n return this._resizing;\r\n }\r\n checkSizeLimits() {\r\n if (typeof this.maxWidth == \"number\") {\r\n if (this.width > this.maxWidth) {\r\n this.width = this.maxWidth;\r\n }\r\n }\r\n if (typeof this.minWidth == \"number\") {\r\n if (this.width < this.minWidth) {\r\n this.width = this.minWidth;\r\n }\r\n }\r\n if (typeof this.maxHeight == \"number\") {\r\n if (this.height > this.maxHeight) {\r\n this.height = this.maxHeight;\r\n }\r\n }\r\n if (typeof this.minHeight == \"number\") {\r\n if (this.height < this.minHeight) {\r\n this.height = this.minHeight;\r\n }\r\n }\r\n }\r\n updatePositionAndSize() {\r\n this.left = DashItem.getLeftFromX(this.x, this.colWidth, this.margin);\r\n this.top = DashItem.getTopFromY(this.y, this.rowHeight, this.margin);\r\n this.widthPx = DashItem.getWidthInPx(\r\n this.width,\r\n this.colWidth,\r\n this.margin\r\n );\r\n this.heightPx = DashItem.getHeightInPx(\r\n this.height,\r\n this.rowHeight,\r\n this.margin\r\n );\r\n }\r\n get draggable() {\r\n return this._draggable;\r\n }\r\n set draggable(d: boolean) {\r\n this._draggable = d;\r\n }\r\n get resizable() {\r\n return this._resizable;\r\n }\r\n set resizable(r: boolean) {\r\n this._resizable = r;\r\n }\r\n get resizeEdges() {\r\n return this._resizeEdges;\r\n }\r\n set resizeEdges(e: string) {\r\n this._resizeEdges = e;\r\n }\r\n get resizeHandleSize() {\r\n return this._resizeHandleSize;\r\n }\r\n set resizeHandleSize(rhs: number) {\r\n this._resizeHandleSize = rhs;\r\n }\r\n get moved() {\r\n return this._moved;\r\n }\r\n set moved(m: boolean) {\r\n this._moved = m;\r\n }\r\n get locked() {\r\n return this._locked;\r\n }\r\n set locked(l: boolean) {\r\n this._locked = l;\r\n }\r\n toItem() {\r\n let item = {\r\n id: this.id,\r\n x: this.x,\r\n y: this.y,\r\n top: this.top,\r\n left: this.left,\r\n width: this.width,\r\n maxWidth: this.maxWidth,\r\n minWidth: this.minWidth,\r\n widthPx: this.widthPx,\r\n height: this.height,\r\n maxHeight: this.maxHeight,\r\n minHeight: this.minHeight,\r\n heightPx: this.heightPx,\r\n draggable: this.draggable,\r\n resizable: this.resizable,\r\n locked: this.locked,\r\n } as Item;\r\n return item;\r\n }\r\n fromItem(item: Item) {\r\n this._x = item.x;\r\n this._y = item.y;\r\n this._width = item.width;\r\n this._height = item.height;\r\n this.updatePositionAndSize();\r\n }\r\n //Drag Event Management\r\n _onMoveStart() {\r\n this._moving = true;\r\n this._onMoveStartEventDispatcher.dispatch(this.toItem());\r\n }\r\n _onMove(left: number, top: number) {\r\n this._left += left;\r\n this._top += top;\r\n this._onMoveEventDispatcher.dispatch(this.toItem());\r\n }\r\n _onMoveEnd() {\r\n this._moving = false;\r\n this._onMoveEndEventDispatcher.dispatch(this.toItem());\r\n }\r\n get onMoveStart() {\r\n return this._onMoveStartEventDispatcher.asEvent();\r\n }\r\n get onMove() {\r\n return this._onMoveEventDispatcher.asEvent();\r\n }\r\n get onMoveEnd() {\r\n return this._onMoveEndEventDispatcher.asEvent();\r\n }\r\n //ResizeEventManagement\r\n _onResizeStart() {\r\n this._resizing = true;\r\n this._onResizeStartEventDispatcher.dispatch(this.toItem());\r\n }\r\n _onResize(event: ResizeEvent) {\r\n this._left += event.deltaRect!.left;\r\n this._top += event.deltaRect!.top;\r\n this._widthPx = event.rect.width;\r\n this._heightPx = event.rect.height;\r\n this._onResizeEventDispatcher.dispatch(this.toItem());\r\n }\r\n _onResizeEnd() {\r\n this._resizing = false;\r\n this._onResizeEndEventDispatcher.dispatch(this.toItem());\r\n }\r\n get onResizeStart() {\r\n return this._onResizeStartEventDispatcher.asEvent();\r\n }\r\n get onResize() {\r\n return this._onResizeEventDispatcher.asEvent();\r\n }\r\n get onResizeEnd() {\r\n return this._onResizeEndEventDispatcher.asEvent();\r\n }\r\n //Static Methods\r\n static getLeftFromX(x: number, colWidth: number, margin: Margin) {\r\n return Math.round(colWidth * x + (x + 1) * margin.x);\r\n }\r\n static getXFromLeft(l: number, colWidth: number, margin: Margin) {\r\n return Math.round((l - margin.x) / (colWidth + margin.x));\r\n }\r\n static getTopFromY(y: number, rowHeight: number, margin: Margin) {\r\n return Math.round(rowHeight * y + (y + 1) * margin.y);\r\n }\r\n static getYFromTop(t: number, rowHeight: number, margin: Margin) {\r\n return Math.round((t - margin.y) / (rowHeight + margin.y));\r\n }\r\n static getWidthInPx(w: number, colWidth: number, margin: Margin) {\r\n return Math.round(colWidth * w + Math.max(0, w - 1) * margin.x);\r\n }\r\n static getWidthFromPx(widthPx: number, colWidth: number, margin: Margin) {\r\n return Math.round((widthPx + margin.x) / (colWidth + margin.x));\r\n }\r\n static getHeightInPx(h: number, rowHeight: number, margin: Margin) {\r\n return Math.round(rowHeight * h + Math.max(0, h - 1) * margin.y);\r\n }\r\n static getHeightFromPx(heightPx: number, rowHeight: number, margin: Margin) {\r\n return Math.round((heightPx + margin.y) / (rowHeight + margin.y));\r\n }\r\n static get defaults() {\r\n let defaults: Item = {\r\n id: \"\",\r\n x: 0,\r\n y: 0,\r\n width: 1,\r\n height: 1,\r\n minWidth: 1,\r\n maxWidth: false,\r\n minHeight: 1,\r\n maxHeight: false,\r\n draggable: true,\r\n resizable: true,\r\n locked: false,\r\n };\r\n return defaults;\r\n }\r\n static cssTransform(\r\n top: number,\r\n left: number,\r\n widthPx: number,\r\n heightPx: number\r\n ) {\r\n const translate = \"translate3d(\" + left + \"px,\" + top + \"px, 0)\";\r\n return {\r\n transform: translate,\r\n WebkitTransform: translate,\r\n MozTransform: translate,\r\n msTransform: translate,\r\n OTransform: translate,\r\n width: widthPx + \"px\",\r\n height: heightPx + \"px\",\r\n };\r\n }\r\n static cssTopLeft(\r\n top: number,\r\n left: number,\r\n widthPx: number,\r\n heightPx: number\r\n ) {\r\n return {\r\n top: top + \"px\",\r\n left: left + \"px\",\r\n width: widthPx + \"px\",\r\n height: heightPx + \"px\",\r\n };\r\n }\r\n}\r\n","import DashItem from \"./DashItem.vue\";\nimport DashLayout from \"./DashLayout.vue\";\nimport Dashboard from \"./Dashboard.vue\";\n\nconst VueResponsiveDash = {\n DashItem,\n DashLayout,\n Dashboard,\n};\n\n// Declare install function executed by Vue.use()\nexport function install(Vue) {\n if (install.installed) return;\n install.installed = true;\n Object.keys(VueResponsiveDash).forEach((name) => {\n Vue.component(name, VueResponsiveDash[name]);\n });\n}\n\n// Create module definition for Vue.use()\nconst plugin = {\n install,\n};\n\n// Auto-install when vue is found (eg. in browser via <script> tag)\nlet GlobalVue = null;\nif (typeof window !== \"undefined\") {\n GlobalVue = window.Vue;\n} else if (typeof global !== \"undefined\") {\n GlobalVue = global.Vue;\n}\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default VueResponsiveDash;\nexport { DashItem, DashLayout, Dashboard };\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","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\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","module.exports = {};\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\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 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 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","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nexport default function addStylesClient (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n","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","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.currentBreakpoint === _vm.breakpoint)?_c('div',[(_vm.l)?_c('div',{style:({ position: 'relative', height: _vm.height, width: _vm.width })},[_vm._t(\"default\"),_c('DashItem',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dragging || _vm.resizing),expression:\"dragging || resizing\"}],attrs:{\"id\":_vm.placeholderId,\"draggable\":false,\"resizable\":false,\"y\":_vm.placeholderY,\"height\":_vm.placeholderHeight,\"maxWidth\":_vm.placeholderMaxWidth},on:{\"update:y\":function($event){_vm.placeholderY=$event},\"update:height\":function($event){_vm.placeholderHeight=$event},\"update:maxWidth\":function($event){_vm.placeholderMaxWidth=$event},\"update:max-width\":function($event){_vm.placeholderMaxWidth=$event}}},[_vm._t(\"placeholder\",[_c('div',{staticClass:\"placeholder\"})])],2)],2):_vm._e(),(_vm.debug)?_c('div',[_vm._v(\" Layout Breakpoint: \"+_vm._s(_vm.breakpoint)+\" \"),_c('br'),_vm._v(\" Layout Number of Cols: \"+_vm._s(_vm.numberOfCols)+\" \"),_c('br'),_vm._v(\" placeholder: \"+_vm._s(JSON.stringify(_vm.placeholder))+\" \"),_c('br'),_vm._v(\" Items: \"+_vm._s(JSON.stringify(_vm.itemsFromLayout))+\" \"),_c('br'),_vm._v(\" Height: \"+_vm._s(_vm.height)+\" \"),_c('br'),_vm._v(\" Attrs: \"+_vm._s(_vm.$attrs)+\" \")]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div v-if=\"currentBreakpoint === breakpoint\">\r\n <div\r\n v-if=\"l\"\r\n :style=\"{ position: 'relative', height: height, width: width }\"\r\n >\r\n <slot></slot>\r\n <DashItem\r\n :id=\"placeholderId\"\r\n :draggable=\"false\"\r\n :resizable=\"false\"\r\n v-show=\"dragging || resizing\"\r\n :y.sync=\"placeholderY\"\r\n :height.sync=\"placeholderHeight\"\r\n :maxWidth.sync=\"placeholderMaxWidth\"\r\n >\r\n <slot name=\"placeholder\">\r\n <div class=\"placeholder\"></div>\r\n </slot>\r\n </DashItem>\r\n </div>\r\n <div v-if=\"debug\">\r\n Layout Breakpoint: {{ breakpoint }} <br />\r\n Layout Number of Cols: {{ numberOfCols }} <br />\r\n placeholder: {{ JSON.stringify(placeholder) }} <br />\r\n Items: {{ JSON.stringify(itemsFromLayout) }} <br />\r\n Height: {{ height }} <br />\r\n Attrs: {{ $attrs }}\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { Layout } from \"./Layout.model\";\r\nimport DashItem from \"./DashItem\";\r\n\r\n//Monitor the Props and update the item with the changed value\r\nconst watchProp = (key, deep) => ({\r\n handler(newValue) {\r\n //If the prop did not cause the update there is no updating\r\n if (this.l[key] === newValue) {\r\n return;\r\n }\r\n this.l[key] = newValue;\r\n },\r\n deep,\r\n});\r\n\r\nexport default {\r\n name: \"DashLayout\",\r\n inheritAttrs: false,\r\n props: {\r\n breakpoint: { type: String, required: true },\r\n breakpointWidth: { type: Number, default: Layout.defaults.breakpointWidth },\r\n numberOfCols: { type: Number, default: Layout.defaults.numberOfCols },\r\n useCssTransforms: {\r\n type: Boolean,\r\n default: Layout.defaults.useCssTransforms,\r\n },\r\n compact: { type: Boolean, default: Layout.defaults.compact },\r\n debug: { type: Boolean, default: false },\r\n margin: { type: Object, default: () => Layout.defaults.margin },\r\n rowHeight: {\r\n type: [Boolean, Number],\r\n default: Layout.defaults.rowHeight,\r\n },\r\n maxRowHeight: {\r\n type: [Boolean, Number],\r\n default: Layout.defaults.maxRowHeight,\r\n },\r\n minRowHeight: {\r\n type: [Boolean, Number],\r\n default: Layout.defaults.minRowHeight,\r\n },\r\n colWidth: {\r\n type: [Boolean, Number],\r\n default: Layout.defaults.colWidth,\r\n },\r\n maxColWidth: {\r\n type: [Boolean, Number],\r\n default: Layout.defaults.maxColWidth,\r\n },\r\n minColWidth: {\r\n type: [Boolean, Number],\r\n default: Layout.defaults.minColWidth,\r\n },\r\n },\r\n components: {\r\n DashItem,\r\n },\r\n data() {\r\n return {\r\n l: null,\r\n placeholderId: \"-1Placeholder\",\r\n placeholderY: 0,\r\n placeholderHeight: 0,\r\n placeholderMaxWidth: false,\r\n unWatch: null,\r\n };\r\n },\r\n provide() {\r\n return {\r\n $layout: () => this.l,\r\n };\r\n },\r\n inject: { $dashboard: { default: null } },\r\n computed: {\r\n dashboard() {\r\n if (this.$dashboard) {\r\n return this.$dashboard();\r\n }\r\n return null;\r\n },\r\n currentBreakpoint() {\r\n if (this.dashboard) {\r\n return this.dashboard.currentBreakpoint;\r\n }\r\n return \"\";\r\n },\r\n dragging() {\r\n return this.l.itemBeingDragged;\r\n },\r\n resizing() {\r\n return this.l.itemBeingResized;\r\n },\r\n placeholder() {\r\n if (this.l?.placeholder) {\r\n return this.l.placeholder.toItem();\r\n }\r\n return \"\";\r\n },\r\n itemsFromLayout() {\r\n if (this.l) {\r\n return this.l.items;\r\n }\r\n return [];\r\n },\r\n height() {\r\n if (this.l) {\r\n return this.l.height + \"px\";\r\n }\r\n return \"0px\";\r\n },\r\n width() {\r\n if (this.l) {\r\n return this.l.width + \"px\";\r\n }\r\n return \"0px\";\r\n },\r\n },\r\n methods: {\r\n createPropWatchers() {\r\n //Setup prop watches to sync with the Dash Item\r\n Object.keys(this.$props).forEach((key) => {\r\n this.$watch(key, watchProp(key, true));\r\n });\r\n },\r\n },\r\n mounted() {\r\n let initialItems = [];\r\n if (this.$attrs?.items) {\r\n initialItems = this.$attrs.items;\r\n }\r\n this.l = new Layout({ ...this.$props, initialItems });\r\n //Check if dashboard exists and if not then start a watcher\r\n if (this.dashboard) {\r\n this.dashboard.addLayoutInstance(this.l);\r\n this.createPropWatchers();\r\n } else {\r\n this.unWatch = this.$watch(\r\n \"dashboard\",\r\n function (newValue) {\r\n if (newValue) {\r\n this.dashboard.addLayoutInstance(this.l);\r\n this.createPropWatchers();\r\n this.unWatch();\r\n }\r\n },\r\n { immediate: true }\r\n );\r\n }\r\n },\r\n beforeDestroy() {\r\n if (this.dashboard) {\r\n this.dashboard.removeLayoutInstance(this.l);\r\n }\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.placeholder {\r\n height: 100%;\r\n width: 100%;\r\n background-color: red;\r\n opacity: 0.2;\r\n}\r\n</style>\r\n","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!./DashLayout.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!./DashLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DashLayout.vue?vue&type=template&id=52e92723&scoped=true&\"\nimport script from \"./DashLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./DashLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DashLayout.vue?vue&type=style&index=0&id=52e92723&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 \"52e92723\",\n null\n \n)\n\nexport default component.exports","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","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","import mod from \"-!../../node_modules/vue-style-loader/index.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/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashItem.vue?vue&type=style&index=0&id=2ce8db4c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.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/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashItem.vue?vue&type=style&index=0&id=2ce8db4c&scoped=true&lang=css&\"","// 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","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","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","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","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","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","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\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var 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 return function (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\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SimpleEventHandlingBase = exports.SimpleEventList = exports.NonUniformSimpleEventList = exports.SimpleEventDispatcher = void 0;\r\nvar ste_core_1 = require(\"ste-core\");\r\n/**\r\n * The dispatcher handles the storage of subsciptions and facilitates\r\n * subscription, unsubscription and dispatching of a simple event\r\n */\r\nvar SimpleEventDispatcher = /** @class */ (function (_super) {\r\n __extends(SimpleEventDispatcher, _super);\r\n /**\r\n * Creates a new SimpleEventDispatcher instance.\r\n */\r\n function SimpleEventDispatcher() {\r\n return _super.call(this) || this;\r\n }\r\n /**\r\n * Dispatches the event.\r\n * @param args The arguments object.\r\n */\r\n SimpleEventDispatcher.prototype.dispatch = function (args) {\r\n this._dispatch(false, this, arguments);\r\n };\r\n /**\r\n * Dispatches the events thread.\r\n * @param args The arguments object.\r\n */\r\n SimpleEventDispatcher.prototype.dispatchAsync = function (args) {\r\n this._dispatch(true, this, arguments);\r\n };\r\n /**\r\n * Creates an event from the dispatcher. Will return the dispatcher\r\n * in a wrapper. This will prevent exposure of any dispatcher methods.\r\n */\r\n SimpleEventDispatcher.prototype.asEvent = function () {\r\n return _super.prototype.asEvent.call(this);\r\n };\r\n return SimpleEventDispatcher;\r\n}(ste_core_1.DispatcherBase));\r\nexports.SimpleEventDispatcher = SimpleEventDispatcher;\r\n/**\r\n * Similar to EventList, but instead of TArgs, a map of event names ang argument types is provided with TArgsMap.\r\n */\r\nvar NonUniformSimpleEventList = /** @class */ (function () {\r\n function NonUniformSimpleEventList() {\r\n this._events = {};\r\n }\r\n /**\r\n * Gets the dispatcher associated with the name.\r\n * @param name The name of the event.\r\n */\r\n NonUniformSimpleEventList.prototype.get = function (name) {\r\n if (this._events[name]) {\r\n // @TODO avoid typecasting. Not sure why TS thinks this._events[name] could still be undefined.\r\n return this._events[name];\r\n }\r\n var event = this.createDispatcher();\r\n this._events[name] = event;\r\n return event;\r\n };\r\n /**\r\n * Removes the dispatcher associated with the name.\r\n * @param name The name of the event.\r\n */\r\n NonUniformSimpleEventList.prototype.remove = function (name) {\r\n delete this._events[name];\r\n };\r\n /**\r\n * Creates a new dispatcher instance.\r\n */\r\n NonUniformSimpleEventList.prototype.createDispatcher = function () {\r\n return new SimpleEventDispatcher();\r\n };\r\n return NonUniformSimpleEventList;\r\n}());\r\nexports.NonUniformSimpleEventList = NonUniformSimpleEventList;\r\n/**\r\n * Storage class for multiple simple events that are accessible by name.\r\n * Events dispatchers are automatically created.\r\n */\r\nvar SimpleEventList = /** @class */ (function (_super) {\r\n __extends(SimpleEventList, _super);\r\n /**\r\n * Creates a new SimpleEventList instance.\r\n */\r\n function SimpleEventList() {\r\n return _super.call(this) || this;\r\n }\r\n /**\r\n * Creates a new dispatcher instance.\r\n */\r\n SimpleEventList.prototype.createDispatcher = function () {\r\n return new SimpleEventDispatcher();\r\n };\r\n return SimpleEventList;\r\n}(ste_core_1.EventListBase));\r\nexports.SimpleEventList = SimpleEventList;\r\n/**\r\n * Extends objects with simple event handling capabilities.\r\n */\r\nvar SimpleEventHandlingBase = /** @class */ (function () {\r\n function SimpleEventHandlingBase() {\r\n this._events = new SimpleEventList();\r\n }\r\n Object.defineProperty(SimpleEventHandlingBase.prototype, \"events\", {\r\n get: function () {\r\n return this._events;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Subscribes to the event with the specified name.\r\n * @param name The name of the event.\r\n * @param fn The event handler.\r\n */\r\n SimpleEventHandlingBase.prototype.subscribe = function (name, fn) {\r\n this._events.get(name).subscribe(fn);\r\n };\r\n /**\r\n * Subscribes to the event with the specified name.\r\n * @param name The name of the event.\r\n * @param fn The event handler.\r\n */\r\n SimpleEventHandlingBase.prototype.sub = function (name, fn) {\r\n this.subscribe(name, fn);\r\n };\r\n /**\r\n * Subscribes once to the event with the specified name.\r\n * @param name The name of the event.\r\n * @param fn The event handler.\r\n */\r\n SimpleEventHandlingBase.prototype.one = function (name, fn) {\r\n this._events.get(name).one(fn);\r\n };\r\n /**\r\n * Checks it the event has a subscription for the specified handler.\r\n * @param name The name of the event.\r\n * @param fn The event handler.\r\n */\r\n SimpleEventHandlingBase.prototype.has = function (name, fn) {\r\n return this._events.get(name).has(fn);\r\n };\r\n /**\r\n * Unsubscribes from the event with the specified name.\r\n * @param name The name of the event.\r\n * @param fn The event handler.\r\n */\r\n SimpleEventHandlingBase.prototype.unsubscribe = function (name, fn) {\r\n this._events.get(name).unsubscribe(fn);\r\n };\r\n /**\r\n * Unsubscribes from the event with the specified name.\r\n * @param name The name of the event.\r\n * @param fn The event handler.\r\n */\r\n SimpleEventHandlingBase.prototype.unsub = function (name, fn) {\r\n this.unsubscribe(name, fn);\r\n };\r\n return SimpleEventHandlingBase;\r\n}());\r\nexports.SimpleEventHandlingBase = SimpleEventHandlingBase;\r\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","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.EventManagement = void 0;\r\n/**\r\n * Allows the user to interact with the event.\r\n *\r\n * @class EventManagement\r\n * @implements {IEventManagement}\r\n */\r\nvar EventManagement = /** @class */ (function () {\r\n function EventManagement(unsub) {\r\n this.unsub = unsub;\r\n this.propagationStopped = false;\r\n }\r\n EventManagement.prototype.stopPropagation = function () {\r\n this.propagationStopped = true;\r\n };\r\n return EventManagement;\r\n}());\r\nexports.EventManagement = EventManagement;\r\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","// 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","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","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","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","'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","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\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","'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","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\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","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\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 $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\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","import mod from \"-!../../node_modules/vue-style-loader/index.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/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashLayout.vue?vue&type=style&index=0&id=52e92723&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.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/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashLayout.vue?vue&type=style&index=0&id=52e92723&scoped=true&lang=css&\"","module.exports = false;\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","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\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 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","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\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 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","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","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".item[data-v-2ce8db4c]{-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;display:inline-block;-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-transition-property:left,top,right;transition-property:left,top,right;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.item.dragging[data-v-2ce8db4c]{-webkit-transition:none;transition:none;z-index:3}.resize[data-v-2ce8db4c]{-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.item.cssTransforms[data-v-2ce8db4c]{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;left:0;right:auto}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","import { Item, Margin, Subscription } from \"@/interfaces\";\r\nimport { DashItem } from \"./DashItem.model\";\r\n\r\nexport class Layout {\r\n private _breakpoint: string;\r\n private _breakpointWidth: number | undefined;\r\n private _margin: Margin;\r\n private _width: number;\r\n private _height: number;\r\n private _numberOfCols: number;\r\n private _autoHeight: boolean;\r\n private _rowHeight: number | boolean;\r\n private _minRowHeight: number | boolean;\r\n private _maxRowHeight: number | boolean;\r\n private _colWidth: number | boolean;\r\n private _minColWidth: number | boolean;\r\n private _maxColWidth: number | boolean;\r\n private _compact: boolean;\r\n private _useCssTransforms: boolean;\r\n private _itemBeingDragged: boolean = false;\r\n private _itemBeingResized: boolean = false;\r\n private _initalItemIds: Array<number | string> = [];\r\n private _dashItems: DashItem[] = [];\r\n private _dragStartListeners: Subscription[] = [];\r\n private _dragListeners: Subscription[] = [];\r\n private _dragEndListeners: Subscription[] = [];\r\n private _resizeStartListeners: Subscription[] = [];\r\n private _resizeListeners: Subscription[] = [];\r\n private _resizeEndListeners: Subscription[] = [];\r\n\r\n constructor({\r\n breakpoint,\r\n numberOfCols,\r\n breakpointWidth,\r\n margin,\r\n autoHeight,\r\n useCssTransforms,\r\n width,\r\n height,\r\n rowHeight,\r\n minRowHeight,\r\n maxRowHeight,\r\n colWidth,\r\n minColWidth,\r\n maxColWidth,\r\n compact,\r\n initialItems,\r\n }: {\r\n breakpoint: string;\r\n numberOfCols: number;\r\n breakpointWidth?: number;\r\n margin?: Margin;\r\n autoHeight?: boolean;\r\n useCssTransforms?: boolean;\r\n width?: number;\r\n height?: number;\r\n rowHeight?: number | boolean;\r\n minRowHeight?: number | boolean;\r\n maxRowHeight?: number | boolean;\r\n colWidth?: number | boolean;\r\n minColWidth?: number | boolean;\r\n maxColWidth?: number | boolean;\r\n compact?: boolean;\r\n initialItems?: Item[];\r\n }) {\r\n this._breakpoint = breakpoint;\r\n this._numberOfCols = numberOfCols;\r\n\r\n if (typeof breakpointWidth !== \"undefined\") {\r\n this._breakpointWidth = breakpointWidth;\r\n } else {\r\n this._breakpointWidth = Layout.defaults.breakpointWidth;\r\n }\r\n\r\n if (typeof margin !== \"undefined\") {\r\n this._margin = margin;\r\n } else {\r\n this._margin = Layout.defaults.margin;\r\n }\r\n\r\n if (typeof autoHeight !== \"undefined\") {\r\n this._autoHeight = autoHeight;\r\n } else {\r\n this._autoHeight = Layout.defaults.autoHeight;\r\n }\r\n\r\n if (typeof useCssTransforms !== \"undefined\") {\r\n this._useCssTransforms = useCssTransforms;\r\n } else {\r\n this._useCssTransforms = Layout.defaults.useCssTransforms;\r\n }\r\n\r\n if (typeof width !== \"undefined\") {\r\n this._width = width;\r\n } else {\r\n this._width = Layout.defaults.width;\r\n }\r\n if (typeof height !== \"undefined\") {\r\n this._height = height;\r\n } else {\r\n this._height = Layout.defaults.height;\r\n }\r\n\r\n if (typeof rowHeight !== \"undefined\") {\r\n this._rowHeight = rowHeight;\r\n } else {\r\n this._rowHeight = Layout.defaults.rowHeight;\r\n }\r\n\r\n if (typeof minRowHeight !== \"undefined\") {\r\n this._minRowHeight = minRowHeight;\r\n } else {\r\n this._minRowHeight = Layout.defaults.minRowHeight;\r\n }\r\n\r\n if (typeof maxRowHeight !== \"undefined\") {\r\n this._maxRowHeight = maxRowHeight;\r\n } else {\r\n this._maxRowHeight = Layout.defaults.maxRowHeight;\r\n }\r\n\r\n if (typeof colWidth !== \"undefined\") {\r\n this._colWidth = colWidth;\r\n } else {\r\n this._colWidth = Layout.defaults.colWidth;\r\n }\r\n if (typeof minColWidth !== \"undefined\") {\r\n this._minColWidth = minColWidth;\r\n } else {\r\n this._minColWidth = Layout.defaults.minColWidth;\r\n }\r\n if (typeof maxColWidth !== \"undefined\") {\r\n this._maxColWidth = maxColWidth;\r\n } else {\r\n this._maxColWidth = Layout.defaults.maxColWidth;\r\n }\r\n\r\n if (typeof compact !== \"undefined\") {\r\n this._compact = compact;\r\n } else {\r\n this._compact = Layout.defaults.compact;\r\n }\r\n\r\n if (typeof initialItems !== \"undefined\") {\r\n this._initalItemIds = initialItems.map((item) => {\r\n return item.id;\r\n });\r\n }\r\n }\r\n get breakpoint() {\r\n return this._breakpoint;\r\n }\r\n set breakpoint(b: string) {\r\n this._breakpoint = b;\r\n }\r\n get breakpointWidth() {\r\n return this._breakpointWidth;\r\n }\r\n set breakpointWidth(bw: number | undefined) {\r\n this._breakpointWidth = bw;\r\n }\r\n get margin() {\r\n return this._margin;\r\n }\r\n set margin(m: Margin) {\r\n this._margin = m;\r\n }\r\n get width() {\r\n return this.calculateWidth();\r\n }\r\n set width(w: number) {\r\n this._width = w;\r\n this.updateDashItems();\r\n }\r\n get height() {\r\n if (this.autoHeight) {\r\n return this.calculateHeight();\r\n }\r\n return this._height;\r\n }\r\n set height(h: number) {\r\n this._height = h;\r\n }\r\n get numberOfCols() {\r\n return this._numberOfCols;\r\n }\r\n set numberOfCols(n: number) {\r\n this._numberOfCols = n;\r\n this.updateDashItems();\r\n }\r\n get autoHeight() {\r\n return this._autoHeight;\r\n }\r\n set autoHeight(ah: boolean) {\r\n this._autoHeight = ah;\r\n }\r\n get maxRowHeight() {\r\n return this._maxRowHeight;\r\n }\r\n set maxRowHeight(mrh: boolean | number) {\r\n this._maxRowHeight = mrh;\r\n this.updateDashItems();\r\n }\r\n get minRowHeight() {\r\n return this._minRowHeight;\r\n }\r\n set minRowHeight(mrh: boolean | number) {\r\n this._minRowHeight = mrh;\r\n this.updateDashItems();\r\n }\r\n get rowHeight() {\r\n let rH = 0;\r\n if (typeof this._rowHeight == \"number\") {\r\n rH = this._rowHeight;\r\n } else {\r\n rH = this.colWidth as number;\r\n }\r\n if (typeof this.maxRowHeight == \"number\") {\r\n if (rH > this.maxRowHeight) {\r\n rH = this.maxRowHeight;\r\n }\r\n }\r\n if (typeof this.minRowHeight == \"number\") {\r\n if (rH < this.minRowHeight) {\r\n rH = this.minRowHeight;\r\n }\r\n }\r\n return rH;\r\n }\r\n set rowHeight(rh: number) {\r\n this._rowHeight = rh;\r\n this.updateDashItems();\r\n }\r\n\r\n set maxColWidth(mcw: boolean | number) {\r\n this._maxColWidth = mcw;\r\n this.updateDashItems();\r\n }\r\n get maxColWidth() {\r\n return this._maxColWidth;\r\n }\r\n set minColWidth(mcw: boolean | number) {\r\n this._minColWidth = mcw;\r\n this.updateDashItems();\r\n }\r\n get minColWidth() {\r\n return this._minColWidth;\r\n }\r\n set colWidth(cw: number | boolean) {\r\n this._colWidth = cw;\r\n }\r\n get colWidth() {\r\n let colWidthCalc = 0;\r\n if (typeof this._colWidth == \"number\") {\r\n colWidthCalc = this._colWidth;\r\n } else {\r\n colWidthCalc =\r\n (this.width - this.margin.x * (this.numberOfCols + 1)) /\r\n this.numberOfCols;\r\n }\r\n\r\n if (typeof this.maxColWidth == \"number\") {\r\n if (colWidthCalc > this.maxColWidth) {\r\n colWidthCalc = this.maxColWidth;\r\n }\r\n }\r\n if (typeof this.minColWidth == \"number\") {\r\n if (colWidthCalc < this.minColWidth) {\r\n colWidthCalc = this.minColWidth;\r\n }\r\n }\r\n return colWidthCalc;\r\n }\r\n //Item Methods\r\n get itemBeingDragged() {\r\n return this._itemBeingDragged;\r\n }\r\n set itemBeingDragged(ibd: boolean) {\r\n this._itemBeingDragged = ibd;\r\n }\r\n get itemBeingResized() {\r\n return this._itemBeingResized;\r\n }\r\n set itemBeingResized(ibr: boolean) {\r\n this._itemBeingResized = ibr;\r\n }\r\n get placeholder() {\r\n return this.getDashItemById(\"-1Placeholder\");\r\n }\r\n set placeholder(p) {\r\n this.placeholder = p;\r\n }\r\n get compact() {\r\n return this._compact;\r\n }\r\n set compact(c: boolean) {\r\n this._compact = c;\r\n }\r\n get useCssTransforms() {\r\n return this._useCssTransforms;\r\n }\r\n set useCssTransforms(uct: boolean) {\r\n this._useCssTransforms = uct;\r\n }\r\n //used when colWidth is defined (i.e. not looking or caring about width of window )\r\n calculateWidth() {\r\n if (typeof this._colWidth == \"number\" && typeof this.colWidth == \"number\") {\r\n return (\r\n this.numberOfCols * (this.colWidth + this.margin.x) + this.margin.x\r\n );\r\n }\r\n return this._width;\r\n }\r\n //Reactive Methods\r\n calculateHeight() {\r\n let maxY = 0;\r\n let bottomY = 0;\r\n for (let item of this._dashItems) {\r\n bottomY = item.y + item.height;\r\n if (bottomY > maxY) {\r\n maxY = bottomY;\r\n }\r\n }\r\n return maxY * (this.rowHeight + this.margin.y) + this.margin.y;\r\n }\r\n //DashItem Methods\r\n addDashItem(d: DashItem) {\r\n this._dashItems.push(d);\r\n this.updateDashItems();\r\n //Drag Subscriptions\r\n let unDragStart = d.onMoveStart.subscribe((item) => {\r\n this.itemDragging(item);\r\n });\r\n this._dragStartListeners.push({\r\n id: d.id,\r\n unsubscribe: unDragStart,\r\n });\r\n let unDrag = d.onMove.subscribe((item) => {\r\n this.itemDragging(item);\r\n });\r\n this._dragListeners.push({\r\n id: d.id,\r\n unsubscribe: unDrag,\r\n });\r\n let unDragEnd = d.onMoveEnd.subscribe((item) => {\r\n this.itemDraggingComplete(item);\r\n });\r\n this._dragEndListeners.push({ id: d.id, unsubscribe: unDragEnd });\r\n //Resize Subscirptions\r\n let unResizeStart = d.onResizeStart.subscribe((item) => {\r\n this.itemResizing(item);\r\n });\r\n this._resizeStartListeners.push({\r\n id: d.id,\r\n unsubscribe: unResizeStart,\r\n });\r\n let unResize = d.onResize.subscribe((item) => {\r\n this.itemResizing(item);\r\n });\r\n this._resizeListeners.push({\r\n id: d.id,\r\n unsubscribe: unResize,\r\n });\r\n let unResizeEnd = d.onResizeEnd.subscribe((item) => {\r\n this.itemResizingComplete(item);\r\n });\r\n this._resizeEndListeners.push({\r\n id: d.id,\r\n unsubscribe: unResizeEnd,\r\n });\r\n\r\n //Check that the added item has not caused a collision and if so move the others.\r\n //Only do this on items added after initialisation\r\n if (!this._initalItemIds.includes(d.id)) {\r\n let items = this.compactLayout(this.items);\r\n this.syncItems(items);\r\n }\r\n }\r\n removeDashItem(d: DashItem) {\r\n let index = this._dashItems.findIndex((item) => {\r\n return item.id === d.id;\r\n });\r\n if (index >= 0) {\r\n this._dashItems.splice(index, 1);\r\n }\r\n //Remove Event Listerners\r\n index = this._dragStartListeners.findIndex((item) => {\r\n return item.id === d.id;\r\n });\r\n if (index >= 0) {\r\n this._dragStartListeners[index].unsubscribe();\r\n this._dragStartListeners.splice(index, 1);\r\n }\r\n index = this._dragListeners.findIndex((item) => {\r\n return item.id === d.id;\r\n });\r\n if (index >= 0) {\r\n this._dragListeners[index].unsubscribe();\r\n this._dragListeners.splice(index, 1);\r\n }\r\n index = this._dragEndListeners.findIndex((item) => {\r\n return item.id === d.id;\r\n });\r\n if (index >= 0) {\r\n this._dragEndListeners[index].unsubscribe();\r\n this._dragEndListeners.splice(index, 1);\r\n }\r\n //Remove Drag Listerners\r\n index = this._resizeStartListeners.findIndex((item) => {\r\n return item.id === d.id;\r\n });\r\n if (index >= 0) {\r\n this._resizeStartListeners[index].unsubscribe();\r\n this._resizeStartListeners.splice(index, 1);\r\n }\r\n index = this._resizeListeners.findIndex((item) => {\r\n return item.id === d.id;\r\n });\r\n if (index >= 0) {\r\n this._resizeListeners[index].unsubscribe();\r\n this._resizeListeners.splice(index, 1);\r\n }\r\n index = this._resizeEndListeners.findIndex((item) => {\r\n return item.id === d.id;\r\n });\r\n if (index >= 0) {\r\n this._resizeEndListeners[index].unsubscribe();\r\n this._resizeEndListeners.splice(index, 1);\r\n }\r\n //Remove from initial Item Id check if it existed. This way the item can be added again and compacted\r\n let initialItemIdIndex = this._initalItemIds.findIndex((id) => {\r\n id === d.id;\r\n });\r\n if (initialItemIdIndex > -1) {\r\n this._initalItemIds.splice(initialItemIdIndex, 1);\r\n }\r\n\r\n //Compact layout after removal\r\n let items = this.compactLayout(this.items);\r\n this.syncItems(items);\r\n }\r\n getDashItemById(id: string | number) {\r\n let index = this._dashItems.findIndex((item) => {\r\n return item.id === id;\r\n });\r\n if (index >= 0) {\r\n return this._dashItems[index];\r\n }\r\n return null;\r\n }\r\n updateDashItems() {\r\n this._dashItems.forEach((item) => {\r\n item.colWidth = this.colWidth as number;\r\n item.rowHeight = this.rowHeight as number;\r\n item.margin = this.margin;\r\n });\r\n }\r\n //Item Methods\r\n get items() {\r\n let items: Item[] = [];\r\n this._dashItems.forEach((dashItem) => {\r\n items.push(dashItem.toItem());\r\n });\r\n return items;\r\n }\r\n itemDragging(item: Item) {\r\n if (!this.itemBeingDragged) {\r\n this.placeholder!.x = item.x;\r\n this.placeholder!.y = item.y;\r\n this.placeholder!.width = item.width;\r\n this.placeholder!.height = item.height;\r\n this.itemBeingDragged = true;\r\n }\r\n //Take a copy of items\r\n let itemsCopy = JSON.parse(JSON.stringify(this.items)) as Item[];\r\n //Remove the item being dragged as the placeholder takes its place. Otherwise the item will snap while being dragged.\r\n let items = itemsCopy.filter((i) => {\r\n return i.id !== item.id;\r\n });\r\n let placeholderIndex = items.findIndex((i) => {\r\n return i.id === this.placeholder!.id;\r\n });\r\n //items = this.correctBounds(items);\r\n items = this.moveItem(\r\n items,\r\n items[placeholderIndex],\r\n DashItem.getXFromLeft(item.left!, this.colWidth as number, this.margin),\r\n DashItem.getYFromTop(item.top!, this.rowHeight, this.margin),\r\n true\r\n );\r\n items = this.compactLayout(items);\r\n this.syncItems(items);\r\n }\r\n itemDraggingComplete(item: Item) {\r\n this.itemBeingDragged = false;\r\n let dashItem = this.getDashItemById(item.id);\r\n if (dashItem) {\r\n dashItem.x = this.placeholder!.x;\r\n dashItem.y = this.placeholder!.y;\r\n }\r\n this.placeholder!.x = 0;\r\n this.placeholder!.y = 0;\r\n this.placeholder!.width = 0;\r\n this.placeholder!.height = 0;\r\n }\r\n itemResizing(item: Item) {\r\n this.itemBeingResized = true;\r\n this.placeholder!.minWidth = item.minWidth;\r\n this.placeholder!.maxWidth = item.maxWidth;\r\n this.placeholder!.minHeight = item.minHeight;\r\n this.placeholder!.maxHeight = item.maxHeight;\r\n this.placeholder!.x = DashItem.getXFromLeft(\r\n item.left!,\r\n this.colWidth as number,\r\n this.margin\r\n );\r\n this.placeholder!.y = DashItem.getYFromTop(\r\n item.top!,\r\n this.rowHeight,\r\n this.margin\r\n );\r\n this.placeholder!.width = DashItem.getWidthFromPx(\r\n item.widthPx!,\r\n this.colWidth as number,\r\n this.margin\r\n );\r\n this.placeholder!.height = DashItem.getHeightFromPx(\r\n item.heightPx!,\r\n this.rowHeight,\r\n this.margin\r\n );\r\n //Take a copy of items\r\n let itemsCopy = JSON.parse(JSON.stringify(this.items)) as Item[];\r\n //Remove the item being resized as the placeholder takes its place. Otherwise the item will snap while being resized.\r\n let items = itemsCopy.filter((i) => {\r\n return i.id !== item.id;\r\n });\r\n let placeholderIndex = items.findIndex((i) => {\r\n return i.id === this.placeholder!.id;\r\n });\r\n items = this.moveItem(\r\n items,\r\n items[placeholderIndex],\r\n DashItem.getXFromLeft(item.left!, this.colWidth as number, this.margin),\r\n DashItem.getYFromTop(item.top!, this.rowHeight, this.margin),\r\n true\r\n );\r\n items = this.compactLayout(items);\r\n this.syncItems(items);\r\n }\r\n itemResizingComplete(item: Item) {\r\n this.itemBeingResized = false;\r\n let dashItem = this.getDashItemById(item.id);\r\n if (dashItem) {\r\n dashItem.x = this.placeholder!.x;\r\n dashItem.y = this.placeholder!.y;\r\n dashItem.width = this.placeholder!.width;\r\n dashItem.height = this.placeholder!.height;\r\n }\r\n this.placeholder!.x = 0;\r\n this.placeholder!.y = 0;\r\n this.placeholder!.width = 0;\r\n this.placeholder!.height = 0;\r\n }\r\n //Collision Utils\r\n checkForCollision(d1: Item, d2: Item) {\r\n if (d1.id === d2.id) {\r\n return false;\r\n }\r\n if (d1.x + d1.width <= d2.x) {\r\n return false;\r\n }\r\n if (d1.x >= d2.x + d2.width) {\r\n return false;\r\n }\r\n if (d1.y + d1.height <= d2.y) {\r\n return false;\r\n }\r\n if (d1.y >= d2.y + d2.height) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n getFirstCollision(items: Item[], d: Item) {\r\n for (let i of items) {\r\n if (this.checkForCollision(d, i)) {\r\n return i;\r\n }\r\n }\r\n return null;\r\n }\r\n getAllCollisions(items: Item[], d: Item) {\r\n return items.filter((item) => this.checkForCollision(item, d));\r\n }\r\n //Layout and Item Moving Methods\r\n correctItemBounds(item: Item) {\r\n if (item.x + item.width > this.numberOfCols) {\r\n item.x = this.numberOfCols - item.width;\r\n }\r\n if (item.x < 0) {\r\n item.x = 0;\r\n }\r\n if (item.y < 0) {\r\n item.y = 0;\r\n }\r\n if (item.width > this.numberOfCols) {\r\n item.x = 0;\r\n item.width = this.numberOfCols;\r\n }\r\n return item;\r\n }\r\n correctBounds(items: Item[]) {\r\n for (let i = 0; i < items.length; i++) {\r\n items[i] = this.correctItemBounds(items[i]);\r\n }\r\n return items;\r\n }\r\n getLockedItems(items: Item[]) {\r\n return this.items.filter((item) => item.locked);\r\n }\r\n compactLayout(items: Item[]) {\r\n const sorted = this.sortItems(items);\r\n const compareWith = this.getLockedItems(items);\r\n const out = Array(items.length) as Item[];\r\n\r\n for (let i = 0; i < sorted.length; i++) {\r\n let l = sorted[i];\r\n if (!l.locked) {\r\n l = this.compactItem(compareWith, l);\r\n // Add to comparison array. We only collide with items before this one.\r\n compareWith.push(l);\r\n }\r\n\r\n // Add to output array to make sure they still come out in the right order.\r\n let index = items.findIndex((item) => {\r\n return item.id === l.id;\r\n });\r\n out[index] = l;\r\n // Clear moved flag, if it exists.\r\n l.moved = false;\r\n }\r\n return out;\r\n }\r\n compactItem(items: Item[], d: Item) {\r\n if (this.compact) {\r\n while (d.y > 0 && !this.getFirstCollision(items, d)) {\r\n d.y--;\r\n }\r\n }\r\n let collides;\r\n while ((collides = this.getFirstCollision(items, d))) {\r\n d.y = collides.y + collides.height;\r\n }\r\n return d;\r\n }\r\n sortItems(items: Item[], reverse?: Boolean) {\r\n let i = JSON.parse(JSON.stringify(items)) as Item[];\r\n i.sort((a, b) => {\r\n if (a.y > b.y || (a.y === b.y && a.x > b.x)) {\r\n return 1;\r\n }\r\n return -1;\r\n });\r\n if (reverse) {\r\n i.reverse();\r\n }\r\n return i;\r\n }\r\n moveItem(\r\n items: Item[],\r\n d: Item,\r\n x: number,\r\n y: number,\r\n isUserAction?: boolean\r\n ) {\r\n if (d.locked) {\r\n return items;\r\n }\r\n const movingUp: boolean = d.y > y;\r\n d.x = x;\r\n d.y = y;\r\n d.moved = true;\r\n d = this.correctItemBounds(d);\r\n const sorted = this.sortItems(items, movingUp);\r\n const collisions = this.getAllCollisions(sorted, d);\r\n for (let collision of collisions) {\r\n if (collision.moved) {\r\n continue;\r\n }\r\n // This makes it feel a bit more precise by waiting to swap for just a bit when moving up.\r\n if (d.y > collision.y && d.y - collision.y > collision.height / 4) {\r\n continue;\r\n }\r\n let collisionIndex = items.findIndex((item) => {\r\n return item.id === collision.id;\r\n });\r\n if (collision.locked) {\r\n items = this.moveItemFromCollision(\r\n items,\r\n items[collisionIndex],\r\n d,\r\n isUserAction\r\n );\r\n } else {\r\n items = this.moveItemFromCollision(\r\n items,\r\n d,\r\n items[collisionIndex],\r\n isUserAction\r\n );\r\n }\r\n }\r\n return items;\r\n }\r\n moveItemFromCollision(\r\n items: Item[],\r\n colllidesWith: Item,\r\n itemToMove: Item,\r\n isUserAction?: Boolean\r\n ) {\r\n if (isUserAction) {\r\n const fakeItem: Item = {\r\n id: \"-1fakeItem\",\r\n x: itemToMove.x,\r\n y: itemToMove.y,\r\n width: itemToMove.width,\r\n maxWidth: itemToMove.maxWidth,\r\n minWidth: itemToMove.minWidth,\r\n height: itemToMove.height,\r\n maxHeight: itemToMove.maxHeight,\r\n minHeight: itemToMove.minHeight,\r\n };\r\n fakeItem.y = Math.max(colllidesWith.y - itemToMove.height, 0);\r\n if (!this.getFirstCollision(items, fakeItem)) {\r\n return this.moveItem(items, itemToMove, itemToMove.x, fakeItem.y);\r\n }\r\n }\r\n return this.moveItem(items, itemToMove, itemToMove.x, itemToMove.y + 1);\r\n }\r\n syncItems(items: Item[]) {\r\n items.forEach((i) => {\r\n let dashItem = this.getDashItemById(i.id);\r\n dashItem!.fromItem(i);\r\n });\r\n }\r\n static get defaults() {\r\n return {\r\n numberOfCols: 12 as number,\r\n breakpointWidth: undefined as number | undefined,\r\n margin: { x: 10, y: 10 } as Margin,\r\n autoHeight: true as boolean,\r\n keepSquare: true as boolean,\r\n useCssTransforms: false as boolean,\r\n width: 400 as number,\r\n height: 400 as number,\r\n rowHeight: false as number | boolean,\r\n maxRowHeight: false as number | boolean,\r\n minRowHeight: false as number | boolean,\r\n colWidth: false as number | boolean,\r\n maxColWidth: false as number | boolean,\r\n minColWidth: false as number | boolean,\r\n compact: true as boolean,\r\n };\r\n }\r\n}\r\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","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\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 $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\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","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","\"use strict\";\r\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\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\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DispatcherWrapper = exports.EventListBase = exports.DispatcherBase = void 0;\r\nvar management_1 = require(\"./management\");\r\nvar subscription_1 = require(\"./subscription\");\r\n/**\r\n * Base class for implementation of the dispatcher. It facilitates the subscribe\r\n * and unsubscribe methods based on generic handlers. The TEventType specifies\r\n * the type of event that should be exposed. Use the asEvent to expose the\r\n * dispatcher as event.\r\n */\r\nvar DispatcherBase = /** @class */ (function () {\r\n function DispatcherBase() {\r\n this._wrap = new DispatcherWrapper(this);\r\n this._subscriptions = new Array();\r\n }\r\n Object.defineProperty(DispatcherBase.prototype, \"count\", {\r\n /**\r\n * Returns the number of subscriptions.\r\n *\r\n * @readonly\r\n *\r\n * @memberOf DispatcherBase\r\n */\r\n get: function () {\r\n return this._subscriptions.length;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Subscribe to the event dispatcher.\r\n * @param fn The event handler that is called when the event is dispatched.\r\n * @returns A function that unsubscribes the event handler from the event.\r\n */\r\n DispatcherBase.prototype.subscribe = function (fn) {\r\n var _this = this;\r\n if (fn) {\r\n this._subscriptions.push(new subscription_1.Subscription(fn, false));\r\n }\r\n return function () {\r\n _this.unsubscribe(fn);\r\n };\r\n };\r\n /**\r\n * Subscribe to the event dispatcher.\r\n * @param fn The event handler that is called when the event is dispatched.\r\n * @returns A function that unsubscribes the event handler from the event.\r\n */\r\n DispatcherBase.prototype.sub = function (fn) {\r\n return this.subscribe(fn);\r\n };\r\n /**\r\n * Subscribe once to the event with the specified name.\r\n * @param fn The event handler that is called when the event is dispatched.\r\n * @returns A function that unsubscribes the event handler from the event.\r\n */\r\n DispatcherBase.prototype.one = function (fn) {\r\n var _this = this;\r\n if (fn) {\r\n this._subscriptions.push(new subscription_1.Subscription(fn, true));\r\n }\r\n return function () {\r\n _this.unsubscribe(fn);\r\n };\r\n };\r\n /**\r\n * Checks it the event has a subscription for the specified handler.\r\n * @param fn The event handler.\r\n */\r\n DispatcherBase.prototype.has = function (fn) {\r\n if (!fn)\r\n return false;\r\n return this._subscriptions.some(function (sub) { return sub.handler == fn; });\r\n };\r\n /**\r\n * Unsubscribes the handler from the dispatcher.\r\n * @param fn The event handler.\r\n */\r\n DispatcherBase.prototype.unsubscribe = function (fn) {\r\n if (!fn)\r\n return;\r\n for (var i = 0; i < this._subscriptions.length; i++) {\r\n if (this._subscriptions[i].handler == fn) {\r\n this._subscriptions.splice(i, 1);\r\n break;\r\n }\r\n }\r\n };\r\n /**\r\n * Unsubscribes the handler from the dispatcher.\r\n * @param fn The event handler.\r\n */\r\n DispatcherBase.prototype.unsub = function (fn) {\r\n this.unsubscribe(fn);\r\n };\r\n /**\r\n * Generic dispatch will dispatch the handlers with the given arguments.\r\n *\r\n * @protected\r\n * @param {boolean} executeAsync True if the even should be executed async.\r\n * @param {*} The scope the scope of the event. The scope becomes the \"this\" for handler.\r\n * @param {IArguments} args The arguments for the event.\r\n */\r\n DispatcherBase.prototype._dispatch = function (executeAsync, scope, args) {\r\n var _this = this;\r\n var _loop_1 = function (sub) {\r\n var ev = new management_1.EventManagement(function () { return _this.unsub(sub.handler); });\r\n var nargs = Array.prototype.slice.call(args);\r\n nargs.push(ev);\r\n sub.execute(executeAsync, scope, nargs);\r\n //cleanup subs that are no longer needed\r\n this_1.cleanup(sub);\r\n if (!executeAsync && ev.propagationStopped) {\r\n return \"break\";\r\n }\r\n };\r\n var this_1 = this;\r\n //execute on a copy because of bug #9\r\n for (var _i = 0, _a = __spreadArrays(this._subscriptions); _i < _a.length; _i++) {\r\n var sub = _a[_i];\r\n var state_1 = _loop_1(sub);\r\n if (state_1 === \"break\")\r\n break;\r\n }\r\n };\r\n /**\r\n * Cleans up subs that ran and should run only once.\r\n */\r\n DispatcherBase.prototype.cleanup = function (sub) {\r\n if (sub.isOnce && sub.isExecuted) {\r\n var i = this._subscriptions.indexOf(sub);\r\n if (i > -1) {\r\n this._subscriptions.splice(i, 1);\r\n }\r\n }\r\n };\r\n /**\r\n * Creates an event from the dispatcher. Will return the dispatcher\r\n * in a wrapper. This will prevent exposure of any dispatcher methods.\r\n */\r\n DispatcherBase.prototype.asEvent = function () {\r\n return this._wrap;\r\n };\r\n /**\r\n * Clears all the subscriptions.\r\n */\r\n DispatcherBase.prototype.clear = function () {\r\n this._subscriptions.splice(0, this._subscriptions.length);\r\n };\r\n return DispatcherBase;\r\n}());\r\nexports.DispatcherBase = DispatcherBase;\r\n/**\r\n * Base class for event lists classes. Implements the get and remove.\r\n */\r\nvar EventListBase = /** @class */ (function () {\r\n function EventListBase() {\r\n this._events = {};\r\n }\r\n /**\r\n * Gets the dispatcher associated with the name.\r\n * @param name The name of the event.\r\n */\r\n EventListBase.prototype.get = function (name) {\r\n var event = this._events[name];\r\n if (event) {\r\n return event;\r\n }\r\n event = this.createDispatcher();\r\n this._events[name] = event;\r\n return event;\r\n };\r\n /**\r\n * Removes the dispatcher associated with the name.\r\n * @param name The name of the event.\r\n */\r\n EventListBase.prototype.remove = function (name) {\r\n delete this._events[name];\r\n };\r\n return EventListBase;\r\n}());\r\nexports.EventListBase = EventListBase;\r\n/**\r\n * Hides the implementation of the event dispatcher. Will expose methods that\r\n * are relevent to the event.\r\n */\r\nvar DispatcherWrapper = /** @class */ (function () {\r\n /**\r\n * Creates a new EventDispatcherWrapper instance.\r\n * @param dispatcher The dispatcher.\r\n */\r\n function DispatcherWrapper(dispatcher) {\r\n this._subscribe = function (fn) { return dispatcher.subscribe(fn); };\r\n this._unsubscribe = function (fn) { return dispatcher.unsubscribe(fn); };\r\n this._one = function (fn) { return dispatcher.one(fn); };\r\n this._has = function (fn) { return dispatcher.has(fn); };\r\n this._clear = function () { return dispatcher.clear(); };\r\n this._count = function () { return dispatcher.count; };\r\n }\r\n Object.defineProperty(DispatcherWrapper.prototype, \"count\", {\r\n /**\r\n * Returns the number of subscriptions.\r\n *\r\n * @readonly\r\n * @type {number}\r\n * @memberOf DispatcherWrapper\r\n */\r\n get: function () {\r\n return this._count();\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Subscribe to the event dispatcher.\r\n * @param fn The event handler that is called when the event is dispatched.\r\n * @returns A function that unsubscribes the event handler from the event.\r\n */\r\n DispatcherWrapper.prototype.subscribe = function (fn) {\r\n return this._subscribe(fn);\r\n };\r\n /**\r\n * Subscribe to the event dispatcher.\r\n * @param fn The event handler that is called when the event is dispatched.\r\n * @returns A function that unsubscribes the event handler from the event.\r\n */\r\n DispatcherWrapper.prototype.sub = function (fn) {\r\n return this.subscribe(fn);\r\n };\r\n /**\r\n * Unsubscribe from the event dispatcher.\r\n * @param fn The event handler that is called when the event is dispatched.\r\n */\r\n DispatcherWrapper.prototype.unsubscribe = function (fn) {\r\n this._unsubscribe(fn);\r\n };\r\n /**\r\n * Unsubscribe from the event dispatcher.\r\n * @param fn The event handler that is called when the event is dispatched.\r\n */\r\n DispatcherWrapper.prototype.unsub = function (fn) {\r\n this.unsubscribe(fn);\r\n };\r\n /**\r\n * Subscribe once to the event with the specified name.\r\n * @param fn The event handler that is called when the event is dispatched.\r\n */\r\n DispatcherWrapper.prototype.one = function (fn) {\r\n return this._one(fn);\r\n };\r\n /**\r\n * Checks it the event has a subscription for the specified handler.\r\n * @param fn The event handler.\r\n */\r\n DispatcherWrapper.prototype.has = function (fn) {\r\n return this._has(fn);\r\n };\r\n /**\r\n * Clears all the subscriptions.\r\n */\r\n DispatcherWrapper.prototype.clear = function () {\r\n this._clear();\r\n };\r\n return DispatcherWrapper;\r\n}());\r\nexports.DispatcherWrapper = DispatcherWrapper;\r\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 $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\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","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar simple_events_1 = require(\"./simple-events\");\r\nObject.defineProperty(exports, \"SimpleEventDispatcher\", { enumerable: true, get: function () { return simple_events_1.SimpleEventDispatcher; } });\r\nObject.defineProperty(exports, \"SimpleEventHandlingBase\", { enumerable: true, get: function () { return simple_events_1.SimpleEventHandlingBase; } });\r\nObject.defineProperty(exports, \"SimpleEventList\", { enumerable: true, get: function () { return simple_events_1.SimpleEventList; } });\r\nObject.defineProperty(exports, \"NonUniformSimpleEventList\", { enumerable: true, get: function () { return simple_events_1.NonUniformSimpleEventList; } });\r\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".placeholder[data-v-52e92723]{height:100%;width:100%;background-color:red;opacity:.2}\", \"\"]);\n// Exports\nmodule.exports = exports;\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","// 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","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// 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","// 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"],"sourceRoot":""}