UNPKG

358 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack://TPP_SNAP/webpack/universalModuleDefinition","webpack://TPP_SNAP/webpack/bootstrap","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_core.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_global.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_wks.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_export.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_is-object.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-dp.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_descriptors.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_ctx.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_hide.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_an-object.js","webpack://TPP_SNAP/./src/common/tpp-icon/workflow.png","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_has.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_fails.js","webpack://TPP_SNAP/./src/snap/lib/_consts.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_to-iobject.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_a-function.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_property-desc.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_library.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_cof.js","webpack://TPP_SNAP/./node_modules/babel-runtime/core-js/promise.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_iterators.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_for-of.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_meta.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_uid.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-keys.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_to-length.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-pie.js","webpack://TPP_SNAP/./node_modules/babel-runtime/core-js/object/assign.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_to-object.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es6.string.iterator.js","webpack://TPP_SNAP/./src/snap/lib/$utils.js","webpack://TPP_SNAP/./src/common/tpp-icon/edit.svg","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_dom-create.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_to-primitive.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_shared.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_wks-define.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_iobject.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_defined.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_to-integer.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_shared-key.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-gops.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-create.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_iter-define.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/web.dom.iterable.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_classof.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_an-instance.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_new-promise-capability.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_redefine-all.js","webpack://TPP_SNAP/./node_modules/babel-runtime/core-js/map.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_validate-collection.js","webpack://TPP_SNAP/./src/common/tpp-icon/edit.png","webpack://TPP_SNAP/./node_modules/babel-runtime/core-js/symbol.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_redefine.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_wks-ext.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-keys-internal.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_is-array.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_html.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-gopn.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_iter-step.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_iter-call.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_is-array-iter.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_species-constructor.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_task.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_perform.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_promise-resolve.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_set-species.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_iter-detect.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_collection-strong.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_collection.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_collection-to-json.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_set-collection-of.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_set-collection-from.js","webpack://TPP_SNAP/./node_modules/css-loader/lib/url/escape.js","webpack://TPP_SNAP/./node_modules/css-loader/lib/css-base.js","webpack://TPP_SNAP/./src/common/tpp-icon/debug.png","webpack://TPP_SNAP/./src/common/tpp-icon/move.png","webpack://TPP_SNAP/./node_modules/style-loader/lib/addStyles.js","webpack://TPP_SNAP/./src/common/tpp-icon/action.svg","webpack://TPP_SNAP/./src/common/tpp-icon/meta-data.svg","webpack://TPP_SNAP/./src/common/tpp-icon/delete.svg","webpack://TPP_SNAP/./src/common/tpp-icon/add-section.svg","webpack://TPP_SNAP/./src/common/tpp-icon/create-page.svg","webpack://TPP_SNAP/./src/common/tpp-icon/crop-image.svg","webpack://TPP_SNAP/./src/common/tpp-icon/translate.svg","webpack://TPP_SNAP/./src/common/tpp-icon/bookmark-create.svg","webpack://TPP_SNAP/./src/common/tpp-icon/bookmark-delete.svg","webpack://TPP_SNAP/./src/common/tpp-icon/preview-diff.svg","webpack://TPP_SNAP/./src/common/tpp-icon/move-left.svg","webpack://TPP_SNAP/./src/common/tpp-icon/move-right.svg","webpack://TPP_SNAP/./src/common/tpp-icon/move-up.svg","webpack://TPP_SNAP/./src/common/tpp-icon/move-down.svg","webpack://TPP_SNAP/./src/snap/index.js","webpack://TPP_SNAP/./node_modules/core-js/library/fn/symbol/index.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es6.symbol.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_enum-keys.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_array-includes.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_to-absolute-index.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-dps.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-gopd.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack://TPP_SNAP/./node_modules/core-js/library/fn/object/assign.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es6.object.assign.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-assign.js","webpack://TPP_SNAP/./node_modules/core-js/library/fn/promise.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_string-at.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_iter-create.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-gpo.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es6.array.iterator.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es6.promise.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_invoke.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_microtask.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_user-agent.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es7.promise.finally.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es7.promise.try.js","webpack://TPP_SNAP/./src/snap/lib/_messenger.js","webpack://TPP_SNAP/./node_modules/babel-runtime/core-js/json/stringify.js","webpack://TPP_SNAP/./node_modules/core-js/library/fn/json/stringify.js","webpack://TPP_SNAP/./node_modules/babel-runtime/core-js/object/freeze.js","webpack://TPP_SNAP/./node_modules/core-js/library/fn/object/freeze.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es6.object.freeze.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_object-sap.js","webpack://TPP_SNAP/./node_modules/core-js/library/fn/map.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es6.map.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_array-methods.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_array-species-create.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_array-species-constructor.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es7.map.to-json.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_array-from-iterable.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es7.map.of.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es7.map.from.js","webpack://TPP_SNAP/./src/snap/lib/actions.js","webpack://TPP_SNAP/./src/snap/lib/decoration.js","webpack://TPP_SNAP/./src/snap/lib/_dom-observer.js","webpack://TPP_SNAP/./src/snap/lib/_default-buttons.js","webpack://TPP_SNAP/./src/snap/lib/_dnd.js","webpack://TPP_SNAP/./src/snap/lib/_display-change-set.js","webpack://TPP_SNAP/./node_modules/babel-runtime/core-js/set.js","webpack://TPP_SNAP/./node_modules/core-js/library/fn/set.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es6.set.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es7.set.to-json.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es7.set.of.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es7.set.from.js","webpack://TPP_SNAP/./node_modules/babel-runtime/core-js/array/from.js","webpack://TPP_SNAP/./node_modules/core-js/library/fn/array/from.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/es6.array.from.js","webpack://TPP_SNAP/./node_modules/core-js/library/modules/_create-property.js","webpack://TPP_SNAP/./src/common/fs-tpp.css?a1bf","webpack://TPP_SNAP/./src/common/fs-tpp.css","webpack://TPP_SNAP/./src/common/tpp-icon/action.png","webpack://TPP_SNAP/./src/common/tpp-icon/meta-data.png","webpack://TPP_SNAP/./src/common/tpp-icon/delete.png","webpack://TPP_SNAP/./src/common/tpp-icon/add-section.png","webpack://TPP_SNAP/./src/common/tpp-icon/create-page.png","webpack://TPP_SNAP/./src/common/tpp-icon/crop-image.png","webpack://TPP_SNAP/./src/common/tpp-icon/translate.png","webpack://TPP_SNAP/./src/common/tpp-icon/bookmark-create.png","webpack://TPP_SNAP/./src/common/tpp-icon/bookmark-delete.png","webpack://TPP_SNAP/./src/common/tpp-icon/preview-diff.png","webpack://TPP_SNAP/./node_modules/style-loader/lib/urls.js","webpack://TPP_SNAP/./src/common/fs-tpp-new.css?e19f","webpack://TPP_SNAP/./src/common/fs-tpp-new.css","webpack://TPP_SNAP/./src/common/tpp-icon/debug.svg","webpack://TPP_SNAP/./src/common/tpp-icon/move.svg"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","core","version","__e","global","Math","self","Function","__g","store","uid","USE_SYMBOL","ctx","hide","has","$export","type","source","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","expProto","target","undefined","C","a","b","this","arguments","length","apply","virtual","R","U","it","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","e","TypeError","aFunction","fn","that","createDesc","isObject","exec","POST_MESSAGE_NAMESPACE","VERSION","GIT_HASH","MODULE_ENDPOINT","PREVIEW_ID_ATTRIBUTE","CUSTOM_PREVIEW_ID_PREFIX","Event","Initialized","ElementChange","StatusChange","RerenderView","DropElement","PreviewRequest","NavigationChange","WorkflowTransition","DragElement","DisplayChangesRequest","ResetDisplayChangesRequest","Action","EDIT","EDIT_META_DATA","STATUS","DELETE","DELETE_WORKFLOW","RENDER","RENDER_START_NODE","CREATE_PAGE","CREATE_SIBLING_SECTION","CREATE_CHILD_SECTION","CREATE_DATASET","WORKFLOW_START","RELATED_ELEMENTS","AFFECTED_ELEMENTS","WORKFLOW_PROCESS","CROP_IMAGE","TOGGLE_BOOKMARK","FSID_TO_PREVIEW_ID","PROJECT_INFO","TRANSLATION","TRANSFER_SECTION","TRANSFER_SECTION_ALLOWED","REQUEST_CHANGE_SET","SHOW_COMPARISON_DIALOG","IObject","defined","bitmap","configurable","writable","def","TAG","tag","stat","toString","slice","isArrayIter","toLength","getIterFn","BREAK","RETURN","iterable","entries","ITERATOR","step","iterator","result","iterFn","index","next","done","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","KEY","NEED","fastKey","getWeak","onFreeze","px","random","concat","$keys","enumBugKeys","keys","toInteger","min","propertyIsEnumerable","$at","String","iterated","_t","_i","point","$","selector","$scope","document","querySelector","$$","querySelectorAll","$uid","performance","now","$create","classes","attr","match","$el","createElement","className","replace","split","forEach","pair","setAttribute","$Filter","notNull","any","distinct","val","orig","indexOf","$EventEmitter","constructor","_eventHandlers","on","eventName","listener","push","off","filter","handler","args","$wait","millis","resolve","setTimeout","is","valueOf","copyright","LIBRARY","wksExt","$Symbol","charAt","cof","ceil","floor","isNaN","shared","getOwnPropertySymbols","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","open","write","lt","close","Properties","redefine","Iterators","$iterCreate","setToStringTag","getPrototypeOf","BUGGY","returnThis","Base","NAME","Constructor","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","values","TO_STRING_TAG","DOMIterables","Collection","Array","ARG","T","tryGet","callee","forbiddenField","PromiseCapability","reject","promise","$$resolve","$$reject","safe","TYPE","toIObject","arrayIndexOf","names","isArray","arg","documentElement","hiddenKeys","getOwnPropertyNames","ret","ArrayProto","classof","getIteratorMethod","SPECIES","D","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","event","data","nextTick","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","set","clear","v","newPromiseCapability","x","promiseCapability","DESCRIPTORS","SAFE_CLOSING","riter","from","skipClosing","arr","iter","redefineAll","anInstance","forOf","$iterDefine","setSpecies","validate","SIZE","getEntry","entry","_f","k","getConstructor","wrapper","IS_MAP","ADDER","_l","prev","callbackfn","setStrong","_k","fails","each","common","IS_WEAK","_c","IS_ADDER","size","COLLECTION","of","A","mapping","cb","mapFn","nextItem","url","test","useSourceMap","list","map","item","content","cssMapping","btoa","sourceMapping","sourceMap","unescape","encodeURIComponent","JSON","stringify","sourceURLs","sources","sourceRoot","join","cssWithMappingToString","mediaQuery","alreadyImportedModules","memo","stylesInDom","isOldIE","all","atob","getTarget","getElement","styleTarget","HTMLIFrameElement","contentDocument","head","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","options","domStyle","refs","j","parts","addStyle","listToStyles","newStyles","base","part","css","media","insertStyleElement","insertInto","Error","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","firstChild","before","removeStyleElement","parentNode","idx","splice","createStyleElement","attrs","addAttrs","el","obj","update","remove","transform","styleIndex","applyToSingletonTag","URL","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","updateLink","href","applyToTag","newObj","DEBUG","newList","mayRemove","textStore","replaceText","replacement","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","autoFixUrls","convertToAbsoluteUrls","blob","oldSrc","oldStyle","use","_actionsPromiseResolver","_actionsPromise","events","_connected","usingOldStyle","preview","actions","_actions","_buttons","_resolver","_listener","async","$node","previewId","CustomEvent","detail","bubbles","cancelable","body","dispatchEvent","dataset","onTppUpdate","getPreviewElement","location","previewUrl","$parent","fragment","createDocumentFragment","innerHTML","nodes","children","matches","outerHTML","reload","onInit","onContentChange","onRerenderView","onNavigationChange","onRequestPreviewElement","registerButton","label","icon","isVisible","scope","isEnabled","getIcon","$button","classList","add","backgroundImage","getLabel","getItems","beforeExecute","execute","afterExecute","_name","addButton","overrideDefaultButton","button","findIndex","findPreviewNodes","identifier","params","setPreviewElement","getPreviewLanguage","showEditDialog","showMetaDataDialog","refresh","getElementStatus","renderElement","showConfirmDialog","deleteElement","workflow","startWorkflow","transition","processWorkflow","path","template","language","showFormDialog","createPage","createSection","copy","skipRerenderEvent","elementType","sourceElementType","sourceId","console","error","targetElementType","targetId","includes","_transferSection","position","createDataset","toggleBookmark","resolution","cropImage","languages","showTranslationDialog","triggerChange","triggerRerenderView","mppGetParameter","mppGetTimeParameter","mppIsParameterized","mppSetParameter","date","mppSetTimeParameter","connected","isLegacyCC","unuse","newStyle","func","debug","top","targetOrigin","firstspiritOrigin","messenger","Messenger","Actions","trigger","some","context","emit","$fails","wks","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$DP","gOPD","gOPN","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperty","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","defineProperties","getOwnPropertyDescriptor","replacer","$replacer","getKeys","gOPS","pIE","getSymbols","symbols","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","max","windowNames","getWindowNames","assign","toObject","$assign","K","aLen","Promise","TO_STRING","pos","charCodeAt","descriptor","addToUnscopables","Arguments","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","speciesConstructor","task","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","versions","v8","$Promise","isNode","empty","FakePromise","PromiseRejectionEvent","then","isThenable","notify","isReject","_n","chain","_v","ok","_s","reaction","exited","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","onunhandledrejection","reason","_a","onrejectionhandled","$reject","_d","_w","$resolve","executor","err","onFulfilled","onRejected","capability","remaining","$index","alreadyCalled","race","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","last","flush","parent","navigator","standalone","toggle","node","observe","characterData","onFinally","isFunction","dataKey","targetFrame","_callbacks","CallbackRegistry","_initialized","sendMessage","ping","timeout","receiver","warn","connectApi","_send","message","_callbackId","register","origin","_messageType","_eventId","_response","_payload","validateResponse","sendAction","action","sendSubject","topic","payload","callbackFn","_generateId","callbackId","delete","parseIfJson","parse","ignore","freeze","$freeze","exp","Map","strong","asc","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","res","original","toJSON","_currentPreviewElement","_currentPreviewLanguage","isDeleted","status","_statusCache","_cache","startsWith","custom","substr","invalidate","_statusChanged","_projectInfo","_project","project","lang","master","unshift","mayTriggerChange","_mppWrapper","method","isInNavigation","displayName","workflowUID","transitionId","isUidPath","positionIndex","sectionName","sectionId","success","force","requestChangeSet","previewIds","showComparisonDialog","$container","DecoratedElement","decoration","$borders","$buttons","getPreviewId","_isVisible","_intersectionChangeHandler","showButtons","_statusPreviewId","_status","_timer","clearTimeout","hideButtons","getAttribute","currentPreviewId","left","width","height","getBoundingClientRect","getStatus","container","buttons","_execute","stopPropagation","enabled","removeAttribute","title","items","$ul","$li","innerText","renderButtons","removeEventListener","undecorate","DECORATION_SYMBOL","onInsert","onRemove","neverReturnEmptyList","_previewElementNode","previewElementNode","previewIdOrNode","HTMLElement","_previewElementNodes","Element","msMatchesSelector","webkitMatchesSelector","_observer","mutationsList","mutation","removedNodes","findRemovedNodes","addedNodes","findInsertedNodes","_nodes","_root","_selector","_attribute","_onInsert","_onRemove","_nodeWalker","handleFunction","subtrees","subtree","attribute","childList","attributes","attributeFilter","typeMatches","expectedTypes","toLowerCase","permissions","change","isMultiLanguage","currentLanguage","targetLanguage","changeMeta","appendLeaf","workflows","current","released","releaseSupported","allowed","transitions","deleteWorkflow","workflowId","tppContextImageResolution","bookmark","getAllowedSectionDropTargets","sourcePreviewIdOrNode","targets","$skipNode","targetIds","allowedIds","UI","_$targets","onDragOver","preventDefault","onDragMove","clientX","clientY","onDrop","addTarget","hitTarget","y","destroy","AutoScroll","distance","increment","super","scrollX","scrollY","innerWidth","innerHeight","doScroll","scrollBy","ZonesUI","zones","addZone","x1","y1","x2","y2","details","hitZone","sort","rect","scroll","HorizontalDropBorder","$dropBorder","DragAndDropOperation","$source","sourcePreviewId","autoscroll","ui","addTargets","onDrag","drop","$target","_dnd","onDragStart","onDragEnd","makeTransferable","$draggable","dataTransfer","setData","setDragImage","phase","start","drag","end","nextElementSibling","insertAdjacentElement","previousElementSibling","cursor","findAllElementsWithNonCustomPreviewId","removeCssClassFsChangeDetected","elements","removeShadowOverlay","appyShadowOverlay","visibleBoundingRects","boundingRects","bodyRect","bodyBoundingRect","clientHeight","scrollHeight","offsetHeight","clientWidth","scrollWidth","offsetWidth","DOMRect","calclulateBodyBoundingRect","actualRows","actualColumns","rows","bottom","columns","right","ascending","computeGrid","row","column","computeGridCells","cell","visibleRect","doesNotIntersectAny","div","addShadowOverlayFragment","shadowEverythingExcept","eventListeners","distinctPreviewIds","changedIds","addBordersToChangedElements","eventListener","contains","Set","createProperty","arrayLike","mapfn","dispose","locals","ref","unref","escape","baseUrl","protocol","host","currentDir","pathname","fullMatch","origUrl","newUrl","unquotedOrigUrl","trim","$1"],"mappings":"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","file":"snap.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[\"TPP_SNAP\"] = factory();\n\telse\n\t\troot[\"TPP_SNAP\"] = factory();\n})(window, 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 = 96);\n","var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAFoTx1HAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE1MUVCNzBCMDE0NDExRTE4MTIwREU0NEQzOTMzM0Y4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1MUVCNzBDMDE0NDExRTE4MTIwREU0NEQzOTMzM0Y4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTUxRUI3MDkwMTQ0MTFFMTgxMjBERTQ0RDM5MzMzRjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTUxRUI3MEEwMTQ0MTFFMTgxMjBERTQ0RDM5MzMzRjgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz65ABaxAAAAl0lEQVR42mL8//8/AwgwMUABQAAxYogABBBcBAhADEa4DIgDIgACCFkFWN9/ZA5cLxNMPYgGCCAUPcimI2v7j2YTmM+CLoAMAAIIm7EM2FyDbjyGJF6djLgk/+PS+R+JxggeRiQabjRAgOH1CnJooQMWfO5BE2fEpZEBi+nINqLYjjfscDkTXSMjthAiNkKItp2FFOchAwBEcygkEeR08gAAAABJRU5ErkJggg==\"","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","export const POST_MESSAGE_NAMESPACE = 'tpp';\n\nexport const VERSION = '1.2.23';\nexport const GIT_HASH = 'eab1dfe7f89e17b8be3a27d397351176b83ae007';\n\nexport const MODULE_ENDPOINT = 'class:TppApi';\nexport const PREVIEW_ID_ATTRIBUTE = 'data-preview-id';\nexport const CUSTOM_PREVIEW_ID_PREFIX = 'custom:';\n\nexport const Event = {\n // TPP Events\n Initialized: 'tpp-initialized',\n ElementChange: 'tpp-element-change',\n StatusChange: 'tpp-status-change',\n RerenderView: 'tpp-rerender-view',\n DropElement: 'tpp-drop-element',\n // WE Events (piped)\n PreviewRequest: 'TPP_PREVIEW_REQUEST',\n NavigationChange: 'TPP_NAVIGATION_CHANGED',\n WorkflowTransition: 'TPP_WORKFLOW_ACTION',\n // WE Events (custom)\n DragElement: 'TPP_DRAG_ACTION',\n DisplayChangesRequest: 'TPP_DISPLAY_CHANGES_REQUEST',\n ResetDisplayChangesRequest: 'TPP_RESET_DISPLAY_CHANGES_REQUEST'\n};\n\nexport const Action = {\n EDIT: 'EDIT',\n EDIT_META_DATA: 'EDIT_META_DATA',\n STATUS: 'STATUS',\n DELETE: 'DELETE',\n DELETE_WORKFLOW: 'DELETE_WORKFLOW',\n RENDER: 'RENDER',\n RENDER_START_NODE: 'RENDER_START_NODE',\n CREATE_PAGE: 'CREATE_PAGE',\n CREATE_SIBLING_SECTION: 'CREATE_SIBLING_SECTION',\n CREATE_CHILD_SECTION: 'CREATE_CHILD_SECTION',\n CREATE_DATASET: 'CREATE_DATASET',\n WORKFLOW_START: 'WORKFLOW_START',\n RELATED_ELEMENTS: 'RELATED_ELEMENTS',\n AFFECTED_ELEMENTS: 'GET_AFFECTED_WORKFLOW_ELEMENTS',\n WORKFLOW_PROCESS: 'WORKFLOW_PROCESS',\n CROP_IMAGE: 'CROP_IMAGE',\n TOGGLE_BOOKMARK: 'TOGGLE_BOOKMARK',\n FSID_TO_PREVIEW_ID: 'FSID_TO_PREVIEW_ID',\n PROJECT_INFO: 'PROJECT_INFO',\n TRANSLATION: 'TRANSLATION',\n TRANSFER_SECTION: 'TRANSFER_SECTION',\n TRANSFER_SECTION_ALLOWED: 'TRANSFER_SECTION_ALLOWED',\n REQUEST_CHANGE_SET: 'REQUEST_CHANGE_SET',\n SHOW_COMPARISON_DIALOG: 'SHOW_COMPARISON_DIALOG'\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\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","module.exports = true;\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };","module.exports = {};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","exports.f = {}.propertyIsEnumerable;\n","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","export const $ = (selector, $scope = document) => $scope.querySelector(selector);\n\nexport const $$ = (selector, $scope = document) => [...$scope.querySelectorAll(selector)];\n\nexport const $uid = () => (performance.now() * 10 ** 13).toString(36);\n\nexport const $create = (selector) => {\n const [, tag = 'div', id, classes, attr] = selector.match(/^([a-z]+)?(?:#([^\\.]+))?(?:\\.([^\\[]*))?(?:\\[(.*)\\])?$/);\n const $el = document.createElement(tag);\n if (!!id) $el[id] = id;\n if (!!classes) $el.className = classes.replace('.', ' ');\n if (!!attr) attr.split('][').forEach(pair => {\n const [, key, , value = ''] = pair.match(/^([^=]*)(?:=(['|\"]?)(.*)\\2)?$/);\n if (key !== '') $el.setAttribute(key, value);\n });\n return $el;\n};\n\nexport const $Filter = {\n notNull: (any) => any !== null,\n distinct: (val, i, orig) => orig.indexOf(val) === i,\n};\n\nexport class $EventEmitter {\n constructor() {\n this._eventHandlers = {};\n }\n on(eventName, listener) {\n if (!(eventName in this._eventHandlers)) this._eventHandlers[eventName] = [];\n this._eventHandlers[eventName].push(listener);\n }\n off(eventName, listener) {\n if (eventName in this._eventHandlers) {\n this._eventHandlers[eventName] = this._eventHandlers[eventName].filter((handler) => listener !== handler);\n }\n }\n async emit(eventName, ...args) {\n if (eventName in this._eventHandlers) {\n for (const handler of this._eventHandlers[eventName]) {\n await handler(...args);\n }\n }\n }\n}\n\nexport const $wait = (millis) => new Promise(resolve => window.setTimeout(resolve, millis));\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTJ7ZmlsbDpub25lO30uY2xzLTF7c3Ryb2tlOiMyMTIxMjE7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO30uY2xzLTJ7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5DQzwvdGl0bGU+PGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iNi41NSIgeTE9IjcuNDciIHgyPSIxNS41NSIgeTI9IjcuNDciLz48bGluZSBjbGFzcz0iY2xzLTEiIHgxPSI2LjU1IiB5MT0iMTAuNDciIHgyPSIxNy41NSIgeTI9IjEwLjQ3Ii8+PGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iNi41NSIgeTE9IjEzLjQ3IiB4Mj0iMTMuNTUiIHkyPSIxMy40NyIvPjxsaW5lIGNsYXNzPSJjbHMtMSIgeDE9IjYuNTUiIHkxPSIxNi40NyIgeDI9IjEyLjU1IiB5Mj0iMTYuNDciLz48cG9seWxpbmUgY2xhc3M9ImNscy0yIiBwb2ludHM9IjE1LjU1IDE4Ljk3IDE1LjU1IDEzLjQ3IDE5LjU1IDE3LjQ3Ii8+PC9zdmc+\"","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(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 (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/map\"), __esModule: true };","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAATCAYAAACUef2IAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAyElEQVQ4T9WU4QqDMBCDRRBBhiAiyBiMgY/pu9dEWnFSe7mfFkJRz880XltVjx8hhNUSFtlCtWuxFpTPAZwi3MWmG774KcgPhiN5uCKRqSj0RqJEkWLSI7Ecw+XAGsw91MndIYCnVAPoSwbHH1LqigMcnWtwwXF/rZGcC+A/x55YrK7Igs1YSluaHcFOyK0K93/QCDXZfW6A9749g3G9QF9otrIuRXGAAXmfgOxp88TjccgiNv9V6WXOjEUCZqO5ucmPM8vbM3kDZGPFNvxi+34AAAAASUVORK5CYII=\"","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","module.exports = require('./_hide');\n","exports.f = require('./_wks');\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\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 (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar meta = require('./_meta');\nvar fails = require('./_fails');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar setToStringTag = require('./_set-to-string-tag');\nvar dP = require('./_object-dp').f;\nvar each = require('./_array-methods')(0);\nvar DESCRIPTORS = require('./_descriptors');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME, '_c');\n target._c = new Base();\n if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);\n });\n each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {\n var IS_ADDER = KEY == 'add' || KEY == 'set';\n if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {\n anInstance(this, C, KEY);\n if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;\n var result = this._c[KEY](a === 0 ? 0 : a, b);\n return IS_ADDER ? this : result;\n });\n });\n IS_WEAK || dP(C.prototype, 'size', {\n get: function () {\n return this._c.size;\n }\n });\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F, O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof');\nvar from = require('./_array-from-iterable');\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar ctx = require('./_ctx');\nvar forOf = require('./_for-of');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n","module.exports = function escape(url) {\n if (typeof url !== 'string') {\n return url\n }\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]/.test(url)) {\n return '\"' + url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n') + '\"'\n }\n\n return url\n}\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target) {\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertInto + \" \" + options.insertAt.before);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjQgMjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1taXRlcmxpbWl0OjEwO30KPC9zdHlsZT4KPHRpdGxlPmNjPC90aXRsZT4KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxMy45LDE3LjUgOC40LDE3LjUgMTIuMSwxMiA4LjQsNi41IDEzLjksNi41IDE3LjYsMTIgIi8+Cjwvc3ZnPgo=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTIsLmNscy0ze2ZpbGw6bm9uZTt9LmNscy0xe3N0cm9rZTojMjEyMTIxO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9LmNscy0ye3N0cm9rZTojMDAwO30uY2xzLTIsLmNscy0ze3N0cm9rZS1taXRlcmxpbWl0OjEwO30uY2xzLTN7c3Ryb2tlOiMxZDFkMWI7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5DQzwvdGl0bGU+PGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iNS44OSIgeTE9IjEzLjUzIiB4Mj0iMTQiIHkyPSIxMy41NiIvPjxsaW5lIGNsYXNzPSJjbHMtMSIgeDE9IjUuODQiIHkxPSIxNi41NiIgeDI9IjEyLjgxIiB5Mj0iMTYuNTkiLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMTcuOTYgNy40OSA1LjkxIDcuNDMgNS45MSAxMC40OSAxNy45NiAxMC41NSAxNy45NiA3LjQ5Ii8+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMyIgcG9pbnRzPSIxNS44OCAxOS4wOSAxNS44OCAxMy41OSAxOS44OCAxNy41OSIvPjwvc3ZnPg==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5DQzwvdGl0bGU+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSI2IDguNSA5LjUgOC41IDkuNSA2LjUgMTMuNSA2LjUgMTMuNSA4LjUgMTUuMjcgOC41IDE3IDguNSIvPjxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iNy41IDguNSA3LjUgMTcuNSAxNS41IDE3LjUgMTUuNSA4LjUiLz48L3N2Zz4=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMyMTIxMjE7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO308L3N0eWxlPjwvZGVmcz48dGl0bGU+Q0M8L3RpdGxlPjxsaW5lIGNsYXNzPSJjbHMtMSIgeDE9IjYuNSIgeTE9IjcuNSIgeDI9IjE1LjUiIHkyPSI3LjUiLz48bGluZSBjbGFzcz0iY2xzLTEiIHgxPSI2LjUiIHkxPSIxMC41IiB4Mj0iMTcuNSIgeTI9IjEwLjUiLz48bGluZSBjbGFzcz0iY2xzLTEiIHgxPSI2LjUiIHkxPSIxMy41IiB4Mj0iMTQuNSIgeTI9IjEzLjUiLz48bGluZSBjbGFzcz0iY2xzLTEiIHgxPSI2LjUiIHkxPSIxNi41IiB4Mj0iMTIuNSIgeTI9IjE2LjUiLz48ZyBpZD0iQmlsZG1hdGVyaWFsXzEiIGRhdGEtbmFtZT0iQmlsZG1hdGVyaWFsIDEiPjxsaW5lIGNsYXNzPSJjbHMtMSIgeDE9IjE0LjUiIHkxPSIxNi41IiB4Mj0iMTguNSIgeTI9IjE2LjUiLz48bGluZSBjbGFzcz0iY2xzLTEiIHgxPSIxNi41IiB5MT0iMTguNSIgeDI9IjE2LjUiIHkyPSIxNC41Ii8+PC9nPjwvc3ZnPg==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTJ7ZmlsbDpub25lO30uY2xzLTF7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fS5jbHMtMntzdHJva2U6IzIxMjEyMTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5DQzwvdGl0bGU+PGcgaWQ9IkJpbGRtYXRlcmlhbF83IiBkYXRhLW5hbWU9IkJpbGRtYXRlcmlhbCA3Ij48ZyBpZD0iXzEiIGRhdGEtbmFtZT0iMSI+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxNi41IDEzLjUzIDE2LjUgOS41IDEyLjUgNS41IDYuNSA1LjUgNi41IDE4LjUgMTMgMTguNSIvPjwvZz48cG9seWxpbmUgY2xhc3M9ImNscy0xIiBwb2ludHM9IjEyLjUgNS41IDEyLjUgOS41IDE2LjUgOS41Ii8+PC9nPjxnIGlkPSJCaWxkbWF0ZXJpYWxfMSIgZGF0YS1uYW1lPSJCaWxkbWF0ZXJpYWwgMSI+PGxpbmUgY2xhc3M9ImNscy0yIiB4MT0iMTQuNSIgeTE9IjE3LjUiIHgyPSIxOC41IiB5Mj0iMTcuNSIvPjxsaW5lIGNsYXNzPSJjbHMtMiIgeDE9IjE2LjUiIHkxPSIxOS41IiB4Mj0iMTYuNSIgeTI9IjE1LjUiLz48L2c+PC9zdmc+\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMyMTIxMjE7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO308L3N0eWxlPjwvZGVmcz48dGl0bGU+Q0M8L3RpdGxlPjxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iOC41IDE4LjUgOC41IDguNSAxOC41IDguNSIvPjxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMTQuNSA0LjUgMTQuNSAxNC41IDQuNSAxNC41Ii8+PC9zdmc+\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMyMTIxMjE7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5DQzwvdGl0bGU+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTMuNTEsMTYuODFWMTMuMzNIOS45MmEzLjU1LDMuNTUsMCwwLDEtMy42LTMuNDhoMGEzLjU1LDMuNTUsMCwwLDEsMy42LTMuNDdoNS4zOWEzLjU1LDMuNTUsMCwwLDEsMy42LDMuNDdoMGMwLDEuNS0uNDIsMy0xLjgsMy40OFoiLz48bGluZSBjbGFzcz0iY2xzLTEiIHgxPSI5Ljg4IiB5MT0iOS41IiB4Mj0iMTUuMzgiIHkyPSI5LjUiLz48L3N2Zz4=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtzdHJva2U6IzAwMDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9LmNscy0ye2ZpbGw6bm9uZTtzdHJva2U6IzIxMjEyMTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5DQzwvdGl0bGU+PGcgaWQ9Il83IiBkYXRhLW5hbWU9IjciPjxnIGlkPSJfNy0yIiBkYXRhLW5hbWU9IjciPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE3LjIzLDEzLjMzbC41NywxLjQxLDEuNTMuMTFhLjI4LjI4LDAsMCwxLC4xNi40OWwtMS4xOCwxLC4zOCwxLjVhLjI4LjI4LDAsMCwxLS40Mi4zTDE3LDE3LjI4bC0xLjI5LjgzYS4yOC4yOCwwLDAsMS0uNDItLjNsLjM4LTEuNS0xLjE4LTFhLjI4LjI4LDAsMCwxLC4xNi0uNDlsMS41My0uMTEuNTctMS40MUEuMjcuMjcsMCwwLDEsMTcuMjMsMTMuMzNaIi8+PC9nPjwvZz48bGluZSBjbGFzcz0iY2xzLTIiIHgxPSI2LjQzIiB5MT0iNy40MSIgeDI9IjE1LjQzIiB5Mj0iNy40MSIvPjxsaW5lIGNsYXNzPSJjbHMtMiIgeDE9IjYuNDMiIHkxPSIxMC40MSIgeDI9IjE3LjQzIiB5Mj0iMTAuNDEiLz48bGluZSBjbGFzcz0iY2xzLTIiIHgxPSI2LjQzIiB5MT0iMTMuNDEiIHgyPSIxMy40MyIgeTI9IjEzLjQxIi8+PGxpbmUgY2xhc3M9ImNscy0yIiB4MT0iNi40MyIgeTE9IjE2LjQxIiB4Mj0iMTIuNDMiIHkyPSIxNi40MSIvPjwvc3ZnPg==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMyMTIxMjE7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO308L3N0eWxlPjwvZGVmcz48dGl0bGU+Q0M8L3RpdGxlPjxwYXRoIGQ9Ik0xOS40NywxNC43NGEuNzguNzgsMCwwLDAtLjY4LS41NGwtMS4yMy0uMDlMMTcuMTEsMTNhLjc3Ljc3LDAsMCwwLS43Mi0uNDhoMGEuNzcuNzcsMCwwLDAtLjcyLjQ5bC0uNDUsMS4xMkwxNCwxNC4yYS43OS43OSwwLDAsMC0uNjkuNTQuNzcuNzcsMCwwLDAsLjI1LjgzbC45My43Ny0uMywxLjE5YS43Ny43NywwLDAsMCwuMy44Mi43OS43OSwwLDAsMCwuNDYuMTUuNzUuNzUsMCwwLDAsLjQxLS4xMmwxLS42NiwxLC42NmEuNzguNzgsMCwwLDAsMS4xNy0uODVsLS4zLTEuMTkuOTMtLjc3QS43Ny43NywwLDAsMCwxOS40NywxNC43NFpNMTguMTksMTZoLTMuNVYxNWgzLjVaIi8+PGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iNS40MyIgeTE9IjcuNDEiIHgyPSIxNC40MyIgeTI9IjcuNDEiLz48bGluZSBjbGFzcz0iY2xzLTEiIHgxPSI1LjQzIiB5MT0iMTAuNDEiIHgyPSIxNi40MyIgeTI9IjEwLjQxIi8+PGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iNS40MyIgeTE9IjEzLjQxIiB4Mj0iMTIuNDMiIHkyPSIxMy40MSIvPjxsaW5lIGNsYXNzPSJjbHMtMSIgeDE9IjUuNDMiIHkxPSIxNi40MSIgeDI9IjExLjQzIiB5Mj0iMTYuNDEiLz48L3N2Zz4=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtvcGFjaXR5OjAuMzt9LmNscy0ye2ZpbGw6bm9uZTtzdHJva2U6IzIxMjEyMTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5DQzwvdGl0bGU+PGcgY2xhc3M9ImNscy0xIj48bGluZSBjbGFzcz0iY2xzLTIiIHgxPSI1LjQ0IiB5MT0iNy40MSIgeDI9IjEwLjQ0IiB5Mj0iNy40MSIvPjxsaW5lIGNsYXNzPSJjbHMtMiIgeDE9IjUuNDQiIHkxPSIxMC40MSIgeDI9IjEwLjUiIHkyPSIxMC40MSIvPjxsaW5lIGNsYXNzPSJjbHMtMiIgeDE9IjUuNDQiIHkxPSIxMy40MSIgeDI9IjEwLjU2IiB5Mj0iMTMuNDEiLz48bGluZSBjbGFzcz0iY2xzLTIiIHgxPSI1LjQ0IiB5MT0iMTYuNDEiIHgyPSIxMC41IiB5Mj0iMTYuNDEiLz48L2c+PGxpbmUgY2xhc3M9ImNscy0yIiB4MT0iMTMuNDQiIHkxPSI3LjQxIiB4Mj0iMTguNDQiIHkyPSI3LjQxIi8+PGxpbmUgY2xhc3M9ImNscy0yIiB4MT0iMTMuNDQiIHkxPSIxMC40MSIgeDI9IjE4LjUiIHkyPSIxMC40MSIvPjxsaW5lIGNsYXNzPSJjbHMtMiIgeDE9IjEzLjQ0IiB5MT0iMTMuNDEiIHgyPSIxOC41NiIgeTI9IjEzLjQxIi8+PGxpbmUgY2xhc3M9ImNscy0yIiB4MT0iMTMuNDQiIHkxPSIxNi40MSIgeDI9IjE4LjUiIHkyPSIxNi40MSIvPjwvc3ZnPg==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMyMTIxMjE7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO308L3N0eWxlPjwvZGVmcz48dGl0bGU+Q0M8L3RpdGxlPjxnIGlkPSJfMTAiIGRhdGEtbmFtZT0iMTAiPjxnIGlkPSJfMTAtMiIgZGF0YS1uYW1lPSIxMCI+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxNC43NSAxNy41IDkuMjUgMTEuOTkgMTQuNzUgNi41Ii8+PC9nPjwvZz48L3N2Zz4=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMyMTIxMjE7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO308L3N0eWxlPjwvZGVmcz48dGl0bGU+Q0M8L3RpdGxlPjxnIGlkPSJfMTAiIGRhdGEtbmFtZT0iMTAiPjxnIGlkPSJfMTAtMiIgZGF0YS1uYW1lPSIxMCI+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSI5LjI1IDYuNSAxNC43NSAxMi4wMSA5LjI1IDE3LjUiLz48L2c+PC9nPjwvc3ZnPg==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMyMTIxMjE7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO308L3N0eWxlPjwvZGVmcz48dGl0bGU+Q0M8L3RpdGxlPjxnIGlkPSJfMTAiIGRhdGEtbmFtZT0iMTAiPjxnIGlkPSJfMTAtMiIgZGF0YS1uYW1lPSIxMCI+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSI3LjQ4IDE0LjUyIDEyLjA1IDkuNDggMTYuNTIgMTQuMzYiLz48L2c+PC9nPjwvc3ZnPg==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMyMTIxMjE7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO308L3N0eWxlPjwvZGVmcz48dGl0bGU+Q0M8L3RpdGxlPjxnIGlkPSJfMTAiIGRhdGEtbmFtZT0iMTAiPjxnIGlkPSJfMTAtMiIgZGF0YS1uYW1lPSIxMCI+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxNi41MiA5LjQ4IDExLjk1IDE0LjUyIDcuNDggOS42NCIvPjwvZz48L2c+PC9zdmc+\"","import {Event, PREVIEW_ID_ATTRIBUTE} from './lib/_consts.js';\nimport {$, $EventEmitter} from './lib/$utils.js';\nimport Messenger from './lib/_messenger.js';\nimport Actions from './lib/actions.js';\nimport Decoration from './lib/decoration.js';\n\nimport DefaultButtons from './lib/_default-buttons.js';\nimport DragAndDrop from './lib/_dnd.js';\nimport DisplayChanges from './lib/_display-change-set.js';\n\nimport oldStyle from '../common/fs-tpp.css';\nimport newStyle from '../common/fs-tpp-new.css';\n\noldStyle.use();\n\n/**\n * Global FirstSpiritPreview instance.\n *\n * @namespace TPP_SNAP\n *\n * @example\n * <!--\n * The fs-tpp-api/snap.js must be used in the markup of the third party app. There is no specific\n * position defined, but if you want to use the API of window.TPP_SNAP, your own script\n * must be loaded after the inclusion fs-tpp-api/snap.js, of course.\n * You could define the optional [data-firstspirit-origin] attribute to ensure that the\n * first(!) postMessage (aka. TPP handshake) is only committed to the real ContentCreator frame.\n * -->\n * <script src=\"path/to/fs-tpp-api/snap.js\" data-firstspirit-origin=\"http://firstspirit:8000\"></script>\n *\n * @example\n * <!--\n * All you have to do is use the [data-preview-id] in your markup. This library\n * automatically decorates those containers with the known borders and buttons. Content\n * changes will force a refresh of the current page, so there is no need to implement in JS!\n *\n * But of course you are able to do this by using the framework! That's what the docs are for...\n *\n * As an example, a FirstSpirit Template delivers some HTML Markup, which you would like to update\n * in-place in case of changes. You could use the [data-on-tpp-change] attribute which is\n * a representation of the {@link onContentChange~Handler}. Or you use it directly, like this:\n *\n * TPP_SNAP.onContentChange(($node, previewId, content) => {\n * if ($node.matches('.content') && content !== null) {\n * $node.innerHTML = content;\n * return false;\n * }\n * })\n *\n * You can register multiple handlers. Further processing of the event is stopped after the first\n * handler returns a value !== undefined.\n * -->\n * <div class=\"content\"\n * data-preview-id=\"<previewId>\"\n * data-on-tpp-change=\"if (content !== null) { this.innerHTML = content; return false; }\">\n * </div>\n */\nclass FirstSpiritPreview {\n constructor({ actions }) {\n this._actions = actions;\n this._buttons = [];\n this._resolver = null;\n this._listener = [\n ['onContentChangeFallback', async ($node, previewId, content) => {\n const event = new CustomEvent('tpp-update', { detail: { previewId, content }, bubbles: false, cancelable: true });\n if (!$node) { // content change on previewId which is not directly in DOM (e.g. the (CC-)PreviewElement)\n const cancelled = !document.body.dispatchEvent(event);\n return cancelled ? false : undefined;\n }\n const cancelled = !$node.dispatchEvent(event);\n if (cancelled) return false;\n\n if ('onTppUpdate' in $node.dataset) {\n // via attribute [data-on-tpp-update]\n return await (new Function('previewId', 'content', $node.dataset.onTppUpdate)).call($node, previewId, content);\n\n } else if (content === null) {\n // node is deleted\n if (previewId === await this.getPreviewElement()) {\n return location.href = await this.previewUrl();\n }\n const $parent = $node.parentNode;\n $node.parentNode.removeChild($node);\n return $parent.querySelector('[data-preview-id]') || undefined;\n\n } else if (typeof content === 'string') {\n // if result is html markup try to replace\n const fragment = document.createDocumentFragment();\n fragment.appendChild(document.createElement('div')).innerHTML = content;\n const nodes = [...fragment.firstChild.children];\n if (nodes.length === 1 && nodes[0].matches(`[${PREVIEW_ID_ATTRIBUTE}=\"${previewId}\"]`)) {\n $node.outerHTML = nodes[0].outerHTML;\n return false;\n }\n }\n }],\n ['onRerenderViewFallback', () => {\n location.reload()\n }]\n ];\n }\n\n /**\n * Will be true, if the TPP handshake was successful.\n * @memberof TPP_SNAP\n * @property {Promise<boolean>} isConnected\n *\n * @since 1.2.0\n */\n get isConnected() {\n return new Promise((resolve, reject) => {\n this._resolver = resolve;\n if(_connected.value !== null) resolve(_connected.value);\n else setTimeout(() => resolve(_connected.value !== null ? _connected.value : false ), 800);\n });\n }\n\n /**\n * Will be true, if the TPP handshake was successful and the connected ContentCreator does not use the new design.\n * @memberof TPP_SNAP\n * @property {boolean} isLegacyCC\n *\n * @since 1.2.20\n */\n get isLegacyCC() {\n \treturn _connected.usingOldStyle;\n }\n\n /**\n * @callback onInit~Handler\n * @param {boolean} success - the TPP handshake was successful or not\n * @param {boolean} isLegacyCC - if the TPP handshake was successful, whether the connected ContentCreator uses the legacy design\n *\n * @since 1.2.0\n */\n /**\n * Will be called after internal initialization (even if the handler is set\n * after initialization).\n *\n * @memberof TPP_SNAP\n * @method onInit\n * @param {onInit~Handler} handler\n *\n * @since 1.2.0\n *\n * @example TPP_SNAP.onInit(async (success) => console.log(`FirstSpirit Preview is ${success ? 'now' : 'NOT'} available!`))\n */\n onInit(handler) {\n \t_connected.handler.push(handler);\n \tif (_connected.value !== null) handler(_connected.value, _connected.usingOldStyle);\n }\n\n /**\n * @callback onContentChange~Handler\n * @param {HTMLElement} $node - a DOM node which contains the [data-preview-id] attribute\n * @param {string} previewId - the current PreviewId\n * @param {any} content - the changed content, could be a string,\n * or an object (if the FirstSpirit Template generates JSON) or null, if\n * this PreviewElement was deleted.\n * @return - if the handler doesn't return anything, {@link onRerenderView~Handler} will be triggered.\n *\n * @since 1.2.0\n */\n /**\n * Is triggered any time the content changes (or is deleted), on each Node that\n * was associated by the `[data-preview-id]` attribute in the markup.\n *\n * @memberof TPP_SNAP\n * @method onContentChange\n * @param {onContentChange~Handler} handler\n *\n * @since 1.2.0\n *\n * @example TPP_SNAP.onContentChange(($node, previewId, content) => $node.innerHTML = content))\n */\n onContentChange(handler) {\n this._listener.push(['onContentChange', handler]);\n }\n\n /**\n * @callback onRerenderView~Handler\n */\n /**\n * Sometimes it's _easier_ to rerender the complete view instead of implementing\n * event handlers for anything that could happen on the FristSpirit side.\n * Additional this is the common fallback, if the {@link onContentChange~Handler}\n * is not handled by the frontend application.\n *\n * If there is no listener defined, there is a fallback to **`location.reload()`**!\n *\n * @memberof TPP_SNAP\n * @method onRerenderView\n * @param {onRerenderView~Handler} handler\n *\n * @since 1.2.0\n *\n * @example\n * TPP_SNAP.onRerenderView(() => app.rerender());\n */\n onRerenderView(handler) {\n this._listener.push(['onRerenderView', handler]);\n }\n\n /**\n * @callback onNavigationChange~Handler\n * @param {string|null} previewId - of a newly created page, otherwise null\n *\n * @since 1.2.0\n */\n /**\n * Creates an event if the site's structure has been changed.\n *\n * See also {@link https://docs.e-spirit.com/odfs52/dev/index.html?de/espirit/firstspirit/webedit/client/api/Common.NavigationChangeListener.html|WE_API.Common.NavigationChangeListener}.\n *\n * @memberof TPP_SNAP\n * @method onNavigationChange\n * @param {onNavigationChange~Handler} handler\n *\n * @since 1.2.0\n */\n onNavigationChange(fn) {\n this._listener.push(['onNavigationChange', fn]);\n }\n\n /**\n * @callback onRequestPreviewElement~Handler\n * @param {string} previewId - the current PreviewId\n *\n * @since 1.2.0\n */\n /**\n * If the user navigates via the ContentCreator Frame, e.g. by clicking on a search\n * result, this handler is called. The FrontEnd application should now _translate_\n * the _PreviewId_ to a route, and follow it. After setting the new route always\n * inform FirstSpirit by calling #setPreviewElement to set the context e.g. for\n * workflow actions.\n *\n * See also {@link https://docs.e-spirit.com/odfs52/dev/index.html?de/espirit/firstspirit/webedit/client/api/Common.PreviewRequestHandler.html|WE_API.Common.PreviewRequestHandler}.\n *\n * @memberof TPP_SNAP\n * @method onRequestPreviewElement\n * @param {onRequestPreviewElement~Handler} handler\n *\n * @since 1.2.0\n *\n * @example\n * TPP_SNAP.onRequestPreviewElement(async (previewId) => {\n * // error handling omitted for brevity\n * const json = await TPP_SNAP.renderElement(previewId);\n * $('body').innerHTML = renderHtml(json);\n * window.historyPushState(json.uid, json.displayName, json.uid);\n * await TPP_SNAP.setPreviewElement(previewId);\n * })\n */\n onRequestPreviewElement(fn) {\n this._listener.push(['onRequestPreviewElement', fn]);\n }\n\n /**\n * @name Button\n * @param {object} button\n * @param {string} [button.label = ''] - simple labeling, used by the default of {@link Button#getLabel~Callback}\n * @param {string} [button.css] - simple css class definition, used by the default of {@link Button#getIcon~Callback}\n * @param {string} [button.icon] - simple icon url, used by the default of {@link Button#getIcon~Callback}\n * @param {Button#isVisible~Callback} [button.isVisible] - whether this button should be rendered or not; the default is `(scope) => true`\n * @param {Button#isEnabled~Callback} [button.isEnabled] - whether this button should be enabled or not; the default is `(scope) => false`\n * @param {Button#getIcon~Callback} [button.getIcon] - use `scope.$button` to define the appearance of the button\n * @param {Button#getLabel~Callback} [button.getLabel] - the tooltip (`[title]`) for this button\n * @param {Button#getItems~Callback} [button.getItems] - if this is not an empty list, a dropdown will be rendered; the default is `(scope) => []`\n * @param {Button#beforeExecute~Callback} [button.beforeExecute] - will be called before {@link Button#execute~Callback}\n * @param {Button#execute~Callback} [button.execute] - will be called, when the button (or an item) is clicked\n * @param {Button#afterExecute~Callback} [button.afterExecute] - will be called after {@link Button#execute~Callback}\n */\n\n /**\n * The _ButtonScope_ is an object which is used by all button callbacks.\n *\n * @name ButtonScope\n * @param {HTMLElement} $node - the DOM node where the decoration appears\n * @param {HTMLElement} $button - the DOM node of the button (not available in {@link Button#isVisible~Callback})\n * @param {string} previewId - the PreviewId\n * @param {Status} status - the current {@link Status} object of PreviewId\n * @param {string} language - the current language\n */\n\n /**\n * Be careful with your Promise here: the rendering of **all** buttons only happens after all `Button#isVisible` calls.\n * That's why `ButtonScope.$button` doesn't exists in {@link ButtonScope} this time.\n *\n * @callback Button#isVisible~Callback\n * @param {ButtonScope} scope\n * @return {Promise<boolean>}\n * @since 1.2.0\n */\n /**\n * @callback Button#isEnabled~Callback\n * @param {ButtonScope} scope\n * @return {Promise<boolean>}\n * @since 1.2.0\n */\n /**\n * @callback Button#getIcon~Callback\n * @param {ButtonScope} scope\n * @since 1.2.0\n * @example\n * // the default callback is defined as:\n * TPP_SNAP.registerButton({\n * icon = null,\n * css = null,\n * getIcon = async ({ $button }) =>\n * (css !== null && !$button.classList.add(css))\n * || (icon !== null && ($button.style.backgroundImage = `url(${icon})`))\n * || $button.classList.add('tpp-icon-action'),\n * ...\n * });\n */\n /**\n * @callback Button#getLabel~Callback\n * @param {ButtonScope} scope\n * @since 1.2.0\n * @example\n * // the default callback is defined as:\n * TPP_SNAP.registerButton({\n * label = '',\n * getLabel = () => label,\n * ...\n * });\n *\n * @example\n * // localize\n * TPP_SNAP.registerButton({\n * getLabel: ({ language }) => language.toLowerCase() === 'de' ? 'Deutsche Bezeichnung' : 'English Label',\n * ...\n * });\n */\n /**\n * An Item could be anything, but it needs a property called `label`, which appears in the dropdown.\n * @callback Button#getItems~Callback\n * @param {ButtonScope} scope\n * @since 1.2.0\n * @example\n * TPP_SNAP.registerButton({\n * label = '',\n * getItems = () => {\n * return [\n * { label: 'Option 1', value: 1 },\n * { label: 'Option 2', value: 2 },\n * { label: 'Option 3', value: 3 },\n * ];\n * },\n * execute = (scope, item) => console.log(item.value),\n * ...\n * });\n */\n /**\n * @callback Button#beforeExecute~Callback\n * @param {ButtonScope} scope\n * @param {any} item - see {@link Button#getItems~Callback}\n * @since 1.2.0\n */\n /**\n * @callback Button#execute~Callback\n * @param {ButtonScope} scope\n * @param {any} item - see {@link Button#getItems~Callback}\n * @return {Promise<void>}\n * @since 1.2.0\n */\n /**\n * @callback Button#afterExecute~Callback\n * @param {ButtonScope} scope\n * @param {any} item - see {@link Button#getItems~Callback}\n * @param {Error} [error] - if an uncatched error appears\n * @since 1.2.0\n */\n\n /**\n * Define a custom button on the element decoration.\n *\n * @memberof TPP_SNAP\n * @method registerButton\n * @param {Button} button\n * @param {int} [index = -1] - the button index, used as rendering order; `-1` means at the end\n *\n * @since 1.2.0\n *\n * @example\n * // register a debug button, as the first button, on any decorated element\n * TPP_SNAP.registerButton({\n * css: 'tpp-icon-debug',\n * execute: async (scope) => console.log(scope),\n * }, 0);\n */\n registerButton({\n label = '',\n css = null,\n icon = null,\n isVisible = (scope) => true,\n isEnabled = async (scope) => false,\n getIcon = async (scope) => (css !== null && !scope.$button.classList.add(css)) || (icon !== null && (scope.$button.style.backgroundImage = `url(${icon})`)) || scope.$button.classList.add('tpp-icon-action'),\n getLabel = async (scope) => label || '',\n getItems = async (scope) => [],\n beforeExecute = async (scope) => {},\n execute = async (scope, item = undefined) => {},\n afterExecute = async (scope) => {},\n _name = 'custom',\n }, index = -1) {\n this._buttons.splice(index < 0 ? this._buttons.length : index, 0, { css, isVisible, isEnabled, getIcon, getLabel, getItems, beforeExecute, execute, afterExecute, _name });\n }\n\n addButton(...args) {\n this.registerButton(...args);\n }\n\n /**\n * Override a default button on the element decoration.\n *\n * @memberof TPP_SNAP\n * @method overrideDefaultButton\n * @param {string} defaultButtonName - available button names: `edit`, `metadata`, `add-sibling-section`, `add-child-section-page`, `add-child-section-body`, `workflows`, `delete`, `crop`, `translate`, `move`, and `bookmark`\n * @param {Button|null} buttonOverrides - overrides given methods, `null` removes the default button\n *\n * @since 1.2.0\n *\n * @example\n * // override what the default 'crop' button does\n * TPP_SNAP.overrideDefaultButton('crop', {\n * execute: async ({ previewId }) => actions.cropImage(previewId, 'my-cropped-resolution'),\n * });\n */\n overrideDefaultButton(name, button) {\n if (button === null) {\n this._buttons = this._buttons.filter(({ _name }) => _name !== name);\n } else {\n const idx = this._buttons.findIndex(({ _name }) => _name === name);\n if (idx !== -1) {\n Object.assign(this._buttons[idx], button);\n }\n }\n }\n\n /**\n * Find DOM nodes by _PreviewId_.\n *\n * @memberof TPP_SNAP\n * @method findPreviewNodes\n * @param {string} previewId\n * @return {Promise<[...HTMLElement]>} - any DOM node which is associated with the given PreviewId\n *\n * @since 1.2.0\n */\n async findPreviewNodes(previewId) {\n return (await this._actions).findPreviewNodes(...arguments);\n }\n\n /**\n * Executes a project script or an executable.\n *\n * See also {@link https://docs.e-spirit.com/odfs52/dev/de/espirit/firstspirit/webedit/client/api/Common.html#execute-java.lang.String-JavaScriptObject-JavaScriptObject-|WE_API.Common.execute}.\n *\n * @memberof TPP_SNAP\n * @method execute\n * @param {string} identifier - script (\"script:script_uid\") or executable (\"class:full.qualified.executable.ClassName\")\n * @param {object} [params = {}] - parameters (e.g. { param1: 42, param2: 'text' })\n * @param {boolean} [result = true] - should wait for an result\n * @return {Promise<any>} - the result\n *\n * @since 1.2.0\n *\n * @example\n * // https://docs.e-spirit.com/odfs/template-develo/contentcreator/functional-scop/index.html#klassen_navigationbearbeiten\n * TPP_SNAP.execute('class:EditMenu', { node: 43 }).then(() => location.reload());\n */\n async execute(identifier, params = {}, result = true) {\n return (await this._actions).execute(...arguments);\n }\n\n /**\n * Returns the _PreviewId_ of the ContentCreator scope (see {@link #tpp_snapsetpreviewelement|TPP_SNAP.setPreviewElement}).\n *\n * @memberof TPP_SNAP\n * @method getPreviewElement\n * @return {Promise<string>} - the PreviewId\n *\n * @since 1.2.0\n */\n async getPreviewElement() {\n return (await this._actions).getPreviewElement(...arguments);\n }\n\n /**\n * Sets the ContentCreator scope to the given _PreviewId_, so e.g. the upper-left colorized\n * _Workflow Status_ is set to the associated FirstSpirit _StoreElement_.\n *\n * @memberof TPP_SNAP\n * @method setPreviewElement\n * @param {string} previewId - the PreviewId\n *\n * @since 1.2.0\n */\n async setPreviewElement(previewId) {\n return (await this._actions).setPreviewElement(...arguments);\n }\n\n /**\n * Returns the current language abbreviation, set by {@link #tpp_snapsetpreviewelement|TPP_SNAP.setPreviewElement}.\n * Fallback is always `EN`!\n *\n * @memberof TPP_SNAP\n * @method getPreviewLanguage\n * @return {Promise<string>} - the language abbreviation\n *\n * @since 1.2.0\n */\n async getPreviewLanguage() {\n return (await this._actions).getPreviewLanguage(...arguments);\n }\n\n /**\n * Opens the _Edit Dialog_ of a FirstSpirit _StoreElement_ associated with\n * the _PreviewId_.\n *\n * Triggers {@link onContentChange~Handler}.\n *\n * @memberof TPP_SNAP\n * @method showEditDialog\n * @param {string} previewId - the associated PreviewId\n *\n * @since 1.2.0\n */\n async showEditDialog(previewId) {\n return (await this._actions).showEditDialog(...arguments);\n }\n\n /**\n * Opens the _Meta Data Dialog_ of an FirtSpirit _StoreElement_ associated with\n * the _PreviewId_.\n * MetaData providing elements must be allowed in the ContentCreator settings, see https://docs.e-spirit.com/odfs/edocs/admi/firstspirit-ser/project-propert/contentcreator/index.html#text_bild_14.\n *\n * Triggers {@link onContentChange~Handler}.\n *\n * @memberof TPP_SNAP\n * @method showMetaDataDialog\n * @param {string} previewId - the associated PreviewId\n *\n * @since NEXT_STABLE\n *\n * @example\n * // display the default button\n * TPP_SNAP.overrideDefaultButton('metadata', {\n * isVisible: ({ status }) => !status.custom && (['PageRef', 'Page', 'Section', 'Media'].includes(status.elementType))\n * })\n */\n async showMetaDataDialog(previewId) {\n return (await this._actions).showMetaDataDialog(...arguments);\n }\n\n /**\n * Fetches the {@link Status} of the given _PreviewId_.\n *\n * @memberof TPP_SNAP\n * @method getElementStatus\n * @param {string} previewId - the associated PreviewId\n * @param {boolean} [refresh = false] - if `true`, purge cache for this PreviewId\n * @return {Promise<Status>}\n *\n * @since 1.2.0\n */\n async getElementStatus(previewId, refresh = false) {\n return (await this._actions).getElementStatus(...arguments);\n }\n\n /**\n * Renders the given _PreviewId_.\n *\n * @memberof TPP_SNAP\n * @method renderElement\n * @param {string} [previewId = null] - the associated PreviewId; if not set, the *StartNode* will be rendered\n * @return {Promise<string|object>} - the rendering result of the FirstSpirit template; if the result is a JSON, the\n * JSON will automatically parsed. For FirstSpirit projects based on CaaS v3 the standard FirstSpirit json format is returned\n *\n * @since 1.2.0\n */\n async renderElement(previewId = null) {\n return (await this._actions).renderElement(...arguments);\n }\n\n /**\n * Tries to delete a FirstSpirit _StoreElement_ based on the _PreviewId_.\n *\n * Triggers {@link onContentChange~Handler}.\n *\n * You can also delete elements by using a specific Workflow - see {@link #tpp_snapstartworkflow|TPP_SNAP.startWorkflow}.\n *\n * @memberof TPP_SNAP\n * @method deleteElement\n * @param {string} previewId - the associated PreviewId\n * @param {boolean} showConfirmDialog - if true, the user will be asked to confirm the deletion before it is performed\n *\n * @since 1.2.0\n */\n async deleteElement(previewId, showConfirmDialog = false) {\n return (await this._actions).deleteElement(...arguments);\n }\n\n /**\n * Starts a FirstSpirit _Workflow_ on the given _PreviewId_.\n *\n * @memberof TPP_SNAP\n * @method startWorkflow\n * @param {string} previewId - the associated PreviewId\n * @param {string} workflow - a workflow uid, can be found in {@link Status}\n *\n * @since 1.2.0\n */\n async startWorkflow(previewId, workflow) {\n return (await this._actions).startWorkflow(...arguments);\n }\n\n /**\n * Processes a _Workflow_ transition.\n *\n * @memberof TPP_SNAP\n * @method processWorkflow\n * @param {string} previewId - the associated PreviewId\n * @param {string} transition - a transition uid, can be found in {@link Status}\n *\n * @since 1.2.0\n */\n async processWorkflow(previewId, transition) {\n return (await this._actions).processWorkflow(...arguments);\n }\n\n /**\n * Creates a new _Page_ (and _PageRef_) in FirstSpirit.\n *\n * Triggers {@link onRerenderView~Handler} and {@link onNavigationChange~Handler}.\n *\n * @memberof TPP_SNAP\n * @method createPage\n * @param {string} path - the (uid-)path in FirstSpirit's PageStore/SiteStore (separated by '/')\n * @param {string} uid - the name/uid for the new page\n * @param {string} template - the PageTemplate uid\n * @param {object} [options]\n * @param {string} [options.language = null] - a specific language, `null` means the current language\n * @param {boolean} [options.result = false] - if `true`, the {@link onRerenderView~Handler} will **not** be triggered and the\n * {@link #tpp_snaprenderelement|TPP_SNAP.renderElement} result will be returned.\n *\n * **Be careful when preventing the *change event*!\n * The affected PreviewId could appear several times in the DOM!**\n * @param {boolean} [options.showFormDialog = true] - if `true`, the page form will be shown\n * @since 1.2.0\n */\n async createPage(path, uid, template, { language = null, showFormDialog = true } = {}) {\n return (await this._actions).createPage(...arguments);\n }\n\n /**\n * Adds a new _Section_.\n *\n * Triggers {@link onContentChange~Handler} if _PreviewId_ fulfills a _Page_ or\n * _PageRef_, otherwise {@link onRerenderView~Handler} would directly be triggered.\n *\n * @memberof TPP_SNAP\n * @method createSection\n * @param {string} previewId - the PreviewId of a parent or sibling element\n * @param {object} [options]\n * @param {string} [options.body = null] - name of the body in which the section is created; if not given the parent's or sibling's body is used.\n * @param {string} [options.template = null] - a _SectionTemplate_ uid; if not set a selection overlay will displayed\n * @param {string} [options.name = null] - the name of the _Section_\n * @param {int} [options.index = null] - the index where the section should be inserted; default is last position\n * @param {boolean} [options.result = false] - if `true`, the {@link onContentChange~Handler}/{@link onRerenderView~Handler} will **not** be triggered and the\n * {@link #tpp_snaprenderelement|TPP_SNAP.renderElement} result will be returned.\n *\n * **Be careful when preventing the *change event*!\n * The affected PreviewId could appear several times in the DOM!**\n *\n * @since 1.2.0\n */\n async createSection(previewId, { body = null, template = null, name = null, index = null } = {}) {\n return (await this._actions).createSection(...arguments);\n }\n\n /**\n * Move a _Section_ before or after another _Section_.\n *\n * Triggers {@link onRerenderView~Handler}.\n *\n * @memberof TPP_SNAP\n * @method moveSection\n * @param {string} source - the PreviewId of a the source _Section_\n * @param {string} target - the PreviewId of a the target _Section_, _Body_ or _Page_ with a single _Body_\n * @param {object} [options]\n * @param {boolean} [options.before = false] - (only relevant if target is a _Section_) move the source _Section_ before target _Section_, otherwise it would be moved after\n * @param {boolean} [options.copy = false] - create a copy of the source _Section_\n * @param {boolean} [options.skipRerenderEvent = false] - if `true`, the {@link onRerenderView~Handler} will **not** be triggered\n *\n * **Be careful when preventing the *change event*!\n * The affected PreviewId could appear several times in the DOM!**\n *\n * @return true, if the operation was successful, false otherwise\n * @since 1.2.4\n */\n async moveSection(source, target, { before = false, copy = false, skipRerenderEvent = false } = {}) {\n // Element retrieved here apparently out of IdProviderInfo\n let { elementType: sourceElementType, id: sourceId } = await this.getElementStatus(source);\n if (sourceElementType !== 'Section') {\n console.error('[moveSection] Given \"source\" must be a Section!', { previewId: source });\n return false;\n }\n\n let { elementType: targetElementType, id: targetId } = await this.getElementStatus(target);\n if (!['Page', 'Body', 'Section'].includes(targetElementType)) {\n console.error('[moveSection] Given \"target\" must be a Page, Body or Section!', { previewId: target });\n return false;\n }\n\n return (await this._actions)._transferSection(sourceId, targetId, { position: before ? 'BEFORE' : 'AFTER', mode: copy ? 'COPY' : 'MOVE', skipRerenderEvent });\n }\n\n /**\n * Creates a new _Dataset_.\n *\n * Triggers {@link onRerenderView~Handler}.\n *\n * @memberof TPP_SNAP\n * @method createDataset\n * @param {string} template - the TableTemplate uid\n * @param {object} [options]\n * @param {string} [options.language = null] - a specific language, `null` means the current language\n * @param {boolean} [options.result = false] - if `true`, the {@link onRerenderView~Handler} will **not** be triggered and the\n * {@link #tpp_snaprenderelement|TPP_SNAP.renderElement} result will be returned.\n *\n * **Be careful when preventing the *change event*!\n * The affected PreviewId could appear several times in the DOM!**\n *\n * @since 1.2.0\n */\n async createDataset(template, { language = null } = {}) {\n return (await this._actions).createDataset(...arguments);\n }\n\n /**\n * Toggles an element to be bookmarked (flagged as master) or not. Bookmarked elements will appear\n * in creation dialogs, like {@link #tpp_snapcreatesection|TPP_SNAP.createSection}.\n *\n * @memberof TPP_SNAP\n * @method toggleBookmark\n * @param {string} previewId\n *\n * @since 1.2.0\n */\n async toggleBookmark(previewId) {\n return (await this._actions).toggleBookmark(...arguments);\n }\n\n /**\n * Shows the _Crop Dialog_ for an image.\n *\n * Triggers {@link onContentChange~Handler}, the `content` parameter contains the URL in this case.\n *\n * @memberof TPP_SNAP\n * @method cropImage\n * @param {string} previewId - a PreviewId of _Media_ (type _Picture_)\n * @param {string|Array.<string>} [resolution = 'ORIGINAL'] - the uid of a _Resolution_ / array of uids\n * @param {boolean} [result = false] - if `true`, the {@link onContentChange~Handler} will **not** be triggered and the URL will be returned.\n *\n * **Be careful when preventing the *change event*!\n * The affected PreviewId could appear several times in the DOM!**\n *\n * @since 1.2.0\n */\n async cropImage(previewId, resolution = 'ORIGINAL') {\n return (await this._actions).cropImage(...arguments);\n }\n\n /**\n * Returns all project languages (abbreviations). The first language is always the master language.\n *\n * @memberof TPP_SNAP\n * @method languages\n * @return {Promise<Array.<string>>} - list of languages\n *\n * @since 1.2.4\n */\n async languages() {\n return (await this._actions).languages(...arguments);\n }\n\n /**\n * Returns the \"External Preview URL\" as set in FirstSpirit.\n *\n * @memberof TPP_SNAP\n * @method previewUrl\n * @return {Promise<string>} - the \"External Preview URL\"\n *\n * @since 1.2.4\n */\n async previewUrl() {\n return (await this._actions).previewUrl(...arguments);\n }\n\n /**\n * Shows the translation help dialogue.\n *\n * Triggers {@link onContentChange~Handler} if the current language is the same\n * as the given `target` language.\n *\n * @memberof TPP_SNAP\n * @method showTranslationDialog\n * @param {string} previewId - a PreviewId of DataProvider\n * @param {string} source - the source language\n * @param {string} target - the target language\n *\n * @since 1.2.4\n */\n async showTranslationDialog() {\n return (await this._actions).showTranslationDialog(...arguments);\n }\n\n /**\n * Trigger {@link onContentChange~Handler}. Can be used if a _Custom Button_\n * changes the content.\n *\n * @memberof TPP_SNAP\n * @method triggerChange\n * @param {string} previewId - the target PreviewId\n * @param {string|object} [content = null] - the updated content, if `null` {@link #tpp_snaprenderelement|TPP_SNAP.renderElement} is called internally\n *\n * @since 1.2.0\n */\n async triggerChange(previewId, content = null) {\n return (await this._actions).triggerChange(...arguments);\n }\n\n /**\n * Trigger {@link TPP_SNAP.triggerRerenderView}.\n *\n * @memberof TPP_SNAP\n * @method triggerRerenderView\n *\n * @since 1.2.0\n */\n async triggerRerenderView() {\n return (await this._actions).triggerRerenderView(...arguments);\n }\n\n /**\n * Async wrapper for {@link https://docs.e-spirit.com/odfs/dev/de/espirit/firstspirit/client/mpp/MPPWebControl.html#getParameter-java.lang.String-|MPP_API.getParameter}.\n *\n * @memberof TPP_SNAP\n * @method mppGetParameter\n * @param {string} name\n * @return {Promise<object>}\n *\n * @since 1.2.0\n */\n async mppGetParameter(name) {\n return (await this._actions).mppGetParameter(...arguments);\n }\n\n /**\n * Async wrapper for {@link https://docs.e-spirit.com/odfs/dev/de/espirit/firstspirit/client/mpp/MPPWebControl.html#getTimeParameter--|MPP_API.getTimeParameter}.\n *\n * @memberof TPP_SNAP\n * @method mppGetTimeParameter\n * @return {Promise<Date>}\n *\n * @since 1.2.0\n */\n async mppGetTimeParameter() {\n return (await this._actions).mppGetTimeParameter(...arguments);\n }\n\n /**\n * Async wrapper for {@link https://docs.e-spirit.com/odfs/dev/de/espirit/firstspirit/client/mpp/MPPWebControl.html#isParameterized--|MPP_API.isParameterized}.\n *\n * @memberof TPP_SNAP\n * @method mppIsParameterized\n * @return {Promise<boolean>}\n *\n * @since 1.2.0\n */\n async mppIsParameterized() {\n return (await this._actions).mppIsParameterized(...arguments);\n }\n\n /**\n * Async wrapper for {@link https://docs.e-spirit.com/odfs/dev/de/espirit/firstspirit/client/mpp/MPPWebControl.html#setParameter-java.lang.String-java.lang.Object-|MPP_API.setParameter}.\n *\n * @memberof TPP_SNAP\n * @method mppSetParameter\n * @param {string} name\n * @param {object} value\n *\n * @since 1.2.0\n */\n async mppSetParameter(name, value) {\n return (await this._actions).mppSetParameter(...arguments);\n }\n\n /**\n * Async wrapper for {@link https://docs.e-spirit.com/odfs/dev/de/espirit/firstspirit/client/mpp/MPPWebControl.html#setTimeParameter-java.lang.Object-|MPP_API.setTimeParameter}.\n *\n * @memberof TPP_SNAP\n * @method mppSetTimeParameter\n * @param {Date} date\n *\n * @since 1.2.0\n */\n async mppSetTimeParameter(date) {\n return (await this._actions).mppSetTimeParameter(...arguments);\n }\n\n /**\n * The status is not a stable API, yet.\n *\n * @name Status\n * @param {string} previewId - the raw PreviewId\n * @param {string|null} custom - is null, if the status is delivered by FirstSpirit. Otherwise this contains information from the markup.\n */\n\n /**\n * A custom PreviewId starts with `custom:` and can be used in a URN Schema way to create custom buttons.\n *\n * @name CustomStatus\n * @extends Status\n * @param {array[...string]} parts - splitted (delimiter: `:`) version of `custom`\n *\n * @since 1.2.0\n *\n * @example\n * // <div data-preview-id=\"custom:create-page:my/firstspirit/path:myPageName\"></div>\n *\n * TPP_SNAP.registerButton({\n * css: 'tpp-icon-create-page',\n * label: 'addMyPageName',\n * isVisible: ({ status }) => status.custom !== null && status.parts[0] === 'create-page',\n * execute: ({ status }) => {\n * const [, path, name] = status.parts;\n * TPP_SNAP.createPage(path, name, 'page_template_uid');\n * },\n * })\n */\n}\n\n\nlet _actionsPromiseResolver, _actionsPromise = new Promise(resolve => _actionsPromiseResolver = resolve);\nconst events = new $EventEmitter();\n/* Since it could sometimes happen, that the handshake with the top frame works just after the timeout, rebuilt the whole\nsystem. Instead of one immutable Promise, the _connected object keeps track of the current Connection status. Its value\ncan just like beforehand be retreived using the TPP_SNAP.isConnected property.\nThe handler property is used (not directly! Use TPP_SNAP.onInit!!) to register handlers being revoked as soon as the\nconnection status changed. Before this happens, the \"isConnected\" property will wait only for 800ms when \"awaited\"\n to be resolved. If that doesn't happen, it will return false. */\nlet _connected = {\n value: null,\n handler: [],\n usingOldStyle: true\n};\n\nconst preview = new FirstSpiritPreview({ actions: _actionsPromise });\nexport default preview;\n\n// Switch theme if connected with a CC in modern design\npreview.onInit((connected, isLegacyCC) => {\n\tif (connected && _connected.usingOldStyle && !isLegacyCC) {\n\t\t_connected.usingOldStyle = false;\n\t\toldStyle.unuse();\n\t\tnewStyle.use();\n\t}\n});\n\nevents.on(Event.Initialized, (connected, isLegacyCC) => {\n _connected.value = connected;\n if (preview._resolver !== null) {\n preview._resolver(connected);\n }\n _connected.handler.forEach(func => func(connected, isLegacyCC));\n if (connected && window) {\n try {\n window[Symbol('TPP_SNAP')] = preview; // window[Object.getOwnPropertySymbols(window).find(s => s.description === \"TPP_SNAP\")]\n if (!window['TPP_SNAP']) {\n window['TPP_SNAP'] = preview;\n }\n } catch (e) {\n console.debug('cannot register TPP_SNAP in window');\n }\n }\n});\n\nif (typeof(window) !== 'undefined' && top !== self) {\n const targetOrigin = $('[data-firstspirit-origin]:not([data-firstspirit-origin=\"\"])') && $('[data-firstspirit-origin]:not([data-firstspirit-origin=\"\"])').dataset.firstspiritOrigin || '*';\n const messenger = new Messenger({ events, targetOrigin });\n const actions = new Actions({ events, messenger });\n _actionsPromiseResolver(actions);\n Decoration({ events, actions, preview });\n\n const trigger = async (eventName, ...args) => {\n const listener = preview._listener.filter(([name]) => eventName === name);\n if (listener.length > 0) {\n return await Promise.all(listener.map(([, fn]) => fn(...args)));\n } else {\n eventName = `${eventName}Fallback`;\n return await Promise.all(preview._listener.filter(([name]) => eventName === name).map(([, fn]) => fn(...args)));\n }\n };\n\n events.on(Event.RerenderView, () => trigger('onRerenderView'));\n events.on(Event.PreviewRequest, (previewId) => trigger('onRequestPreviewElement', previewId));\n events.on(Event.NavigationChange, (previewId) => trigger('onNavigationChange', previewId));\n events.on(Event.ElementChange, async ({ previewId, content }) => {\n if (typeof content === 'undefined') {\n content = await actions.renderElement(previewId);\n }\n const captures = [].concat(...(await Promise.all(actions.findPreviewNodes(previewId, true).map($node => trigger('onContentChange', $node, previewId, content)))));\n if (!captures.some(result => typeof result !== 'undefined')) {\n trigger('onRerenderView');\n }\n });\n\n const context = { events, messenger, actions, preview };\n\n DefaultButtons(context);\n DragAndDrop(context);\n DisplayChanges(context);\n\n} else {\n events.emit(Event.Initialized, false);\n}\n","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\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($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\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 gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = 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 ? ObjectProto : null;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function () { /* empty */ };\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n","import { $uid } from './$utils.js';\nimport { VERSION, MODULE_ENDPOINT, POST_MESSAGE_NAMESPACE, Event } from './_consts.js';\n\n\nfunction CallbackRegistry() {\n const _callbacks = new Map();\n\n function _generateId(id = $uid()) {\n return _callbacks.has(id) ? _generateId() : id;\n }\n\n function register(callbackFn) {\n const id = _generateId();\n _callbacks.set(id, callbackFn);\n return id;\n }\n\n function resolve(callbackId, ...args) {\n if (_callbacks.has(callbackId)) {\n _callbacks.get(callbackId)(...args);\n _callbacks.delete(callbackId);\n } else {\n console.warn(`Unknown callbackId '${callbackId}'`, ...args);\n }\n }\n\n return Object.freeze({\n register,\n resolve,\n has: (id) => _callbacks.has(id)\n });\n}\n\n\nfunction parseIfJson(payload) {\n if (typeof payload === 'string' && payload.match(/^\\s*[\\[{\"]/) !== null)\n try { return JSON.parse(payload); } catch (ignore) {}\n return payload;\n}\n\nfunction validateResponse(payload) {\n payload = parseIfJson(payload);\n\n if (payload !== null && typeof payload === 'object') {\n if ('error' in payload && 'object' in payload) {\n if (payload.error === true) {\n payload = null;\n } else {\n payload = parseIfJson(payload.object);\n }\n }\n }\n\n return payload;\n}\n\n\nexport default function Messenger({ events, dataKey = POST_MESSAGE_NAMESPACE, targetFrame = window.top, targetOrigin = '*' }) {\n const _callbacks = new CallbackRegistry();\n\n const _initialized = new Promise(resolve => {\n if (window.self !== window.top) {\n sendMessage({ ping: true }, { timeout: 800 })\n .then(receiver => {\n if (VERSION !== receiver.version) {\n console.warn(`TPP Version missmatch! Please update your resources! Unexpected errors may occur!\\nsnap.js@${VERSION} != fs-tpp.fsm@${receiver.version}`);\n }\n resolve();\n sendMessage({ connectApi: true});\n events.emit(Event.Initialized, true, receiver.isLegacyCC);\n }, (error) => {\n events.emit(Event.Initialized, false, false);\n console.error(error);\n });\n } else {\n events.emit(Event.Initialized, false, false);\n }\n });\n\n window.addEventListener('message', (e) => {\n if (e.data instanceof Object && POST_MESSAGE_NAMESPACE in e.data) {\n if (targetOrigin === '*') targetOrigin = e.origin;\n let { _messageType, _callbackId = null, _eventId = null, _response = null, _payload = null } = e.data[POST_MESSAGE_NAMESPACE];\n\n if (_messageType === 'CALLBACK') {\n console.debug('← %o', (_response = validateResponse(_response)));\n _callbacks.resolve(_callbackId, _response);\n } else if (_messageType === 'EVENT') {\n console.debug(`⇠ ${_eventId} %o`, (_payload = validateResponse(_payload)));\n events.emit(_eventId, _payload);\n }\n }\n });\n\n function _send(message) {\n targetFrame.postMessage({ [dataKey]: message }, targetOrigin);\n }\n\n async function sendMessage(message, { result = true, timeout = null } = {}) {\n if (!('ping' in message)) await _initialized;\n\n if (result) {\n return new Promise((resolve, reject) => {\n const _callbackId = _callbacks.register(resolve);\n\n if (timeout !== null) {\n setTimeout(() => {\n if (_callbacks.has(_callbackId)) {\n if ('ping' in message) {\n events.emit(Event.Initialized, false, false);\n } else {\n reject(new Error(`Timeout for Message[${JSON.stringify(message, null, 2)}]`));\n }\n }\n }, timeout);\n }\n\n _send(Object.assign(message, { _callbackId }));\n });\n } else _send(message);\n }\n\n async function sendSubject(topic, payload = null, result = true) {\n return sendMessage({ [topic]: payload }, { result });\n }\n\n async function sendAction(action, params = {}, result = true) {\n return sendMessage({ execute: MODULE_ENDPOINT, params: Object.assign(params, { action }) }, { result });\n }\n\n return Object.freeze({ sendMessage, sendAction, sendSubject, on: events.on.bind(events) });\n}\n","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/object/freeze\"), __esModule: true };","require('../../modules/es6.object.freeze');\nmodule.exports = require('../../modules/_core').Object.freeze;\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.map');\nrequire('../modules/es7.map.to-json');\nrequire('../modules/es7.map.of');\nrequire('../modules/es7.map.from');\nmodule.exports = require('../modules/_core').Map;\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\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 var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') });\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\nrequire('./_set-collection-of')('Map');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\nrequire('./_set-collection-from')('Map');\n","import {Action, CUSTOM_PREVIEW_ID_PREFIX, Event} from './_consts.js';\n\n\nexport default function Actions({ messenger, events, common }) {\n let _currentPreviewElement = null;\n let _currentPreviewLanguage = null;\n\n events.on(Event.ElementChange, () => messenger.sendMessage({ setPreviewElement: true, previewId: _currentPreviewElement }, false));\n\n events.on(Event.WorkflowTransition, async ({ previewId, isDeleted }) => {\n if (isDeleted) {\n await events.emit(Event.NavigationChange);\n events.emit(Event.ElementChange, { previewId, content: null });\n } else {\n events.emit(Event.StatusChange, { previewId, status: await getElementStatus(previewId) });\n }\n });\n\n const _statusCache = (() => {\n const _cache = new Map();\n\n const get = async (previewId, refresh = false) => {\n if (!_cache.has(previewId) || refresh) {\n if (previewId.startsWith(CUSTOM_PREVIEW_ID_PREFIX)) {\n const custom = previewId.substr(CUSTOM_PREVIEW_ID_PREFIX.length);\n _cache.set(previewId, { custom, parts: custom.split(':') });\n } else {\n const status = await messenger.sendAction(Action.STATUS, { previewId });\n if(status.name && status.name !== \"unknown\") {\n _cache.set(previewId, Object.assign(status, { custom: null }));\n }\n return status;\n }\n }\n return _cache.get(previewId);\n };\n\n const invalidate = (previewId = null) => {\n if (previewId === null) {\n _cache.clear();\n } else {\n _cache.delete(previewId);\n }\n };\n\n return { get, invalidate };\n })();\n\n const _statusChanged = async (previewId) => {\n _statusCache.invalidate(previewId);\n const status = await getElementStatus(previewId);\n events.emit(Event.StatusChange, { previewId, status });\n };\n\n const _projectInfo = (() => {\n let _cache = null;\n const _project = async(invalidate = false) => {\n if (invalidate || _cache === null) {\n _cache = await messenger.sendAction(Action.PROJECT_INFO);\n }\n return _cache;\n };\n\n const languages = async(invalidate) => {\n const project = await _project(invalidate);\n let languages = [];\n for (let { lang, master } of project.languages) {\n if (master) {\n _currentPreviewLanguage = _currentPreviewLanguage || lang;\n languages.unshift(lang);\n } else {\n languages.push(lang);\n }\n }\n return languages;\n };\n\n const previewUrl = async(invalidate) => {\n const { previewUrl } = await _project(invalidate);\n return previewUrl;\n };\n\n return { languages, previewUrl };\n })();\n\n\n async function execute(identifier, params = {}, result = true) {\n return messenger.sendMessage({ execute: identifier, params }, { result });\n }\n\n function getPreviewElement() {\n return _currentPreviewElement;\n }\n\n async function setPreviewElement(previewId) {\n _currentPreviewElement = previewId;\n if (previewId !== null) {\n const { language } = await getElementStatus(previewId);\n _currentPreviewLanguage = language || _currentPreviewLanguage;\n }\n messenger.sendMessage({ setPreviewElement: true, previewId }, false);\n }\n\n async function getPreviewLanguage() {\n return _currentPreviewLanguage;\n }\n\n async function requestChangeSet(previewIds) {\n return messenger.sendAction(Action.REQUEST_CHANGE_SET, { previewIds });\n }\n\n async function showComparisonDialog(previewId) {\n return messenger.sendAction(Action.SHOW_COMPARISON_DIALOG, { previewId });\n }\n\n async function showEditDialog(previewId) {\n const action = messenger.sendAction(Action.EDIT, { previewId });\n mayTriggerChange(previewId, action);\n }\n\n async function showMetaDataDialog(previewId) {\n const action = messenger.sendAction(Action.EDIT_META_DATA, { previewId });\n mayTriggerChange(previewId, action);\n }\n\n async function getElementStatus(previewId, refresh = false) {\n if (!previewId) throw new Error(`Missing PreviewId!`);\n return _statusCache.get(previewId, refresh);\n }\n\n async function renderElement(previewId = null) {\n if (previewId === null) {\n return await messenger.sendAction(Action.RENDER_START_NODE);\n } else {\n return await messenger.sendAction(Action.RENDER, { previewId });\n }\n }\n\n async function deleteElement(previewId, showConfirmDialog = false) {\n const status = await getElementStatus(previewId);\n const isInNavigation = ['Page', 'PageRef', 'PageRefFolder'].includes(status.elementType) || status.elementType.startsWith('Dataset');\n const result = await messenger.sendAction(Action.DELETE, { previewId, showConfirmDialog });\n _statusCache.invalidate();\n if (result) {\n if (isInNavigation) await events.emit(Event.NavigationChange);\n events.emit(Event.ElementChange, { previewId, content: null });\n } else {\n messenger.sendSubject('error', `Unable to delete ${status.elementType} \"${status.displayName}\" (id:${status.id})!`);\n }\n }\n\n async function startWorkflow(previewId, workflow) {\n _statusCache.invalidate(previewId);\n return await messenger.sendAction(Action.WORKFLOW_START, { previewId, workflowUID: workflow });\n }\n\n async function processWorkflow(previewId, transition) {\n _statusCache.invalidate(previewId);\n return await messenger.sendAction(Action.WORKFLOW_PROCESS, { previewId, transitionId: transition });\n }\n\n async function createPage(path, name, template, { language = _currentPreviewLanguage, result = false, showFormDialog = true } = {}) {\n const content = await messenger.sendAction(Action.CREATE_PAGE, { path, isUidPath: true, uid: name, template, language, showFormDialog });\n _statusCache.invalidate();\n await events.emit(Event.NavigationChange);\n if (result) {\n return content;\n } else {\n events.emit(Event.RerenderView);\n }\n }\n\n async function createSection(previewId, { body = null, template = null, name = null, index = null, result = false } = {}) {\n const status = await getElementStatus(previewId);\n let pos = (index !== null) ? { positionIndex: ''+index, position: 'INDEX' } : { positionIndex: null, position: 'LAST' };\n _statusCache.invalidate();\n\n if (status.elementType === 'Section') {\n pos.position = pos.position === 'LAST' ? 'AFTER' : pos.position;\n const content = await messenger.sendAction(Action.CREATE_SIBLING_SECTION, { previewId, template, sectionName: name, position: pos.position, positionIndex: pos.positionIndex });\n if (result) {\n return content;\n } else {\n events.emit(Event.RerenderView);\n }\n\n } else if (['PageRef', 'Page', 'Body'].includes(status.elementType)) {\n const action = await messenger.sendAction(Action.CREATE_CHILD_SECTION, { previewId, body, template, sectionName: name, position: pos.position, positionIndex: pos.positionIndex });\n if (result) {\n return await action;\n } else {\n mayTriggerChange(previewId, action);\n }\n }\n }\n\n async function createDataset(template, { language = _currentPreviewLanguage, result = false } = {}) {\n const content = await messenger.sendAction(Action.CREATE_DATASET, { template, language });\n _statusCache.invalidate();\n if (result) {\n return content;\n } else {\n events.emit(Event.RerenderView);\n }\n }\n\n async function cropImage(previewId, resolution = 'ORIGINAL', result = false) {\n const content = await messenger.sendAction(Action.CROP_IMAGE, { previewId, resolution });\n if (content !== null) {\n if (result) {\n return content;\n } else {\n triggerChange(previewId, content);\n }\n }\n }\n\n // Do not use directly\n async function _transferSection(sectionId, targetId, { position = 'AFTER', mode = 'MOVE', skipRerenderEvent = false } = {}) {\n let success = await messenger.sendAction(Action.TRANSFER_SECTION, { sectionId, targetId, position, mode });\n if (success && !skipRerenderEvent) {\n events.emit(Event.RerenderView);\n }\n return success;\n }\n\n async function toggleBookmark(previewId) {\n await messenger.sendAction(Action.TOGGLE_BOOKMARK, { previewId });\n await _statusChanged(previewId);\n }\n\n async function languages(force = false) {\n return _projectInfo.languages(force);\n }\n\n async function previewUrl(force = false) {\n return _projectInfo.previewUrl(force);\n }\n\n async function showTranslationDialog(previewId, source, target) {\n const action = messenger.sendAction(Action.TRANSLATION, { previewId, source, target });\n mayTriggerChange(previewId, action);\n }\n\n const triggerChange = async (previewId, content = null) => {\n _statusChanged(previewId);\n if (content === null) {\n try {\n content = await renderElement(previewId);\n } catch(ignore) {}\n }\n events.emit(Event.ElementChange, { previewId, content });\n };\n const mayTriggerChange = async (previewId, action) => {\n const content = await action;\n if (content === null) {\n _statusChanged(previewId);\n } else {\n triggerChange(previewId, content);\n }\n };\n\n const triggerRerenderView = () => events.emit(Event.RerenderView);\n\n const _mppWrapper = async (method, ...args) => messenger.sendSubject('mpp', { method, args });\n const mppGetParameter = (name) => _mppWrapper('getParameter', name);\n const mppGetTimeParameter = () => _mppWrapper('getTimeParameter');\n const mppIsParameterized = () => _mppWrapper('isParameterized');\n const mppSetParameter = (name, value) => _mppWrapper('setParameter', name, value);\n const mppSetTimeParameter = (date) => _mppWrapper('setTimeParameter', date);\n\n return {\n execute,\n getPreviewElement,\n setPreviewElement,\n getPreviewLanguage,\n showEditDialog,\n showMetaDataDialog,\n getElementStatus,\n renderElement,\n deleteElement,\n startWorkflow,\n processWorkflow,\n createPage,\n createSection,\n createDataset,\n _transferSection,\n cropImage,\n toggleBookmark,\n triggerChange,\n triggerRerenderView,\n languages,\n previewUrl,\n showTranslationDialog,\n mppGetParameter,\n mppGetTimeParameter,\n mppIsParameterized,\n mppSetParameter,\n mppSetTimeParameter,\n requestChangeSet,\n showComparisonDialog\n };\n};\n","import { Event, PREVIEW_ID_ATTRIBUTE } from './_consts.js';\nimport { $create, $$ } from './$utils.js';\nimport DomObserver from './_dom-observer.js';\n\n\nconst renderButtons = async ({ container, buttons, scope, hide }) => {\n const visibles = await Promise.all(buttons.map(async (button) => {\n const $button = container.appendChild($create(`span.tpp-button[disabled]`));\n\n try {\n if (await button.isVisible(scope)) {\n scope = Object.assign({}, scope, { $button });\n\n const _execute = (item = undefined) => async (e) => {\n e.stopPropagation();\n hide();\n button.beforeExecute(scope, item);\n try {\n const result = await button.execute(scope, item);\n button.afterExecute(scope, item, result);\n } catch (e) {\n console.error(e);\n button.afterExecute(scope, item, null, e);\n }\n };\n\n button.getIcon(scope);\n Promise.resolve(button.isEnabled(scope)).then(enabled => enabled === true && $button.removeAttribute('disabled'));\n Promise.resolve(button.getLabel(scope)).then(label => label && ($button.title = label));\n $button.addEventListener('click', _execute());\n\n Promise.resolve(button.getItems(scope)).then(items => {\n if (items instanceof Array && items.length !== 0) {\n const $ul = $button.appendChild($create('ul'));\n items.forEach(item => {\n const $li = $ul.appendChild($create('li'));\n $li.innerText = item.label || item;\n $li.addEventListener('click', _execute(item));\n });\n }\n });\n\n return true;\n }\n } catch(err) {\n console.error(err);\n }\n \n $button.parentNode.removeChild($button);\n }));\n\n return visibles.some(isVisible => isVisible === true);\n};\n\n\nconst DECORATION_SYMBOL = Symbol('snap_decoration');\n\n\nexport default function Decoration({ events, actions, preview }) {\n\n let $container = null;\n\n class DecoratedElement {\n\n constructor(node) {\n this.$node = node;\n this.$node.decoration = this;\n\n this.$borders = $container.appendChild($create('.tpp-borders'));\n this.$buttons = this.$borders.appendChild($create('.tpp-buttons'));\n\n actions.getElementStatus(this.getPreviewId()).then(({ elementType }) => {\n if (elementType === 'Media') {\n this.$buttons.classList.add('bottom');\n }\n });\n\n this._isVisible = false;\n this._intersectionChangeHandler = this.showButtons.bind(this);\n this._statusPreviewId = this.getPreviewId();\n this._status = undefined;\n\n let _timer = null;\n [this.$node, this.$buttons].forEach($el => {\n $el.addEventListener('mouseenter', () => clearTimeout(_timer) || this.showButtons());\n $el.addEventListener('mouseleave', () => _timer = setTimeout(this.hideButtons.bind(this), 10));\n });\n }\n\n getPreviewId() {\n return this.$node.getAttribute(PREVIEW_ID_ATTRIBUTE)\n }\n\n async getStatus() {\n let currentPreviewId = this.getPreviewId();\n if (! this._status || currentPreviewId !== this._statusPreviewId) {\n this._statusPreviewId = currentPreviewId;\n this._status = await actions.getElementStatus(this.getPreviewId());\n }\n return this._status;\n }\n\n async showButtons() {\n const { top, left, width, height } = this.$node.getBoundingClientRect();\n this.$borders.style.cssText = `opacity:1;top:${top}px;left:${left}px;width:${width}px;height:${Math.max(height, 27)}px`;\n if (!this._isVisible) {\n this._isVisible = true;\n window.addEventListener('scroll', this._intersectionChangeHandler);\n window.addEventListener('resize', this._intersectionChangeHandler);\n this.$buttons.innerHTML = '';\n const status = await this.getStatus();\n const language = await actions.getPreviewLanguage();\n const scope = { $node: this.$node, previewId: this.getPreviewId(), status, language };\n const hasButtons = await renderButtons({ container: this.$buttons, buttons: preview._buttons, scope, hide: () => this.hideButtons() });\n if (!hasButtons) {\n this.$borders.style.cssText = 'transition: all 0s';\n window.removeEventListener('scroll', this._intersectionChangeHandler);\n window.removeEventListener('resize', this._intersectionChangeHandler);\n }\n }\n }\n\n hideButtons() {\n if (this._isVisible) {\n this._isVisible = false;\n window.removeEventListener('scroll', this._intersectionChangeHandler);\n window.removeEventListener('resize', this._intersectionChangeHandler);\n this.$borders.style.cssText = 'transition: all 0s';\n }\n }\n\n undecorate() {\n delete this.$node.decoration;\n delete this.$node[DECORATION_SYMBOL];\n window.removeEventListener('scroll', this._intersectionChangeHandler);\n window.removeEventListener('resize', this._intersectionChangeHandler);\n $container.removeChild(this.$borders);\n }\n\n }\n\n\n events.on(Event.Initialized, () => {\n $container = document.body.appendChild($create('.tpp-borders-container'));\n\n DomObserver({\n onInsert: (node) => {\n if (!(node[DECORATION_SYMBOL] instanceof DecoratedElement)) {\n node[DECORATION_SYMBOL] = new DecoratedElement(node);\n }\n },\n onRemove: (node) => {\n if (node[DECORATION_SYMBOL] instanceof DecoratedElement) {\n node[DECORATION_SYMBOL].undecorate();\n }\n }\n });\n });\n\n const findPreviewNodes = (previewId, neverReturnEmptyList = false) => {\n const list = $$(`[${PREVIEW_ID_ATTRIBUTE}=\"${previewId}\"]`);\n return neverReturnEmptyList && list.length === 0 ? [null] : list;\n };\n\n events.on(Event.StatusChange, ({ previewId, status }) => {\n findPreviewNodes(previewId)\n .forEach($node => $node[DECORATION_SYMBOL]._status = status)\n });\n\n const _previewElementNode = async(previewIdOrNode) => {\n let previewElementNode;\n if (previewIdOrNode instanceof HTMLElement && previewIdOrNode.matches(`[${PREVIEW_ID_ATTRIBUTE}]`)) {\n previewElementNode = {\n previewId: previewIdOrNode.getAttribute(PREVIEW_ID_ATTRIBUTE),\n $node: previewIdOrNode\n };\n } else {\n previewElementNode = {\n previewId: previewIdOrNode,\n $node: findPreviewNodes(previewIdOrNode)[0] || null\n };\n }\n return Object.assign(previewElementNode, await actions.getElementStatus(previewElementNode.previewId));\n };\n\n const _previewElementNodes = async() => Promise.all($$(`[${PREVIEW_ID_ATTRIBUTE}]`).map(_previewElementNode));\n\n Object.assign(actions, {\n findPreviewNodes,\n _previewElementNode,\n _previewElementNodes,\n });\n\n}\n","import { PREVIEW_ID_ATTRIBUTE } from './_consts.js';\n/**\n * Manual polyfill. \n * The elements provided by MutationObserver do not seem to be enhanced by babel-polyfills.\n */\nif (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n}\n\nconst observer = (mutationsList) => {\n\n for (const mutation of mutationsList) {\n if (mutation.removedNodes.length !== 0) findRemovedNodes(...mutation.removedNodes);\n if (mutation.addedNodes.length !== 0) findInsertedNodes(...mutation.addedNodes);\n if (mutation.type === 'attributes') {\n findRemovedNodes(mutation.target);\n findInsertedNodes(mutation.target);\n }\n }\n\n};\n\nconst _observer = new MutationObserver(observer);\nconst _nodes = new Map();\n\nlet _root, _selector, _attribute, _onInsert, _onRemove;\n\nconst _nodeWalker = (handleFunction) => (...subtrees) => subtrees\n .filter(subtree => subtree instanceof HTMLElement)\n .forEach(subtree => {\n if (subtree.matches(_selector)) handleFunction(subtree);\n for (const node of subtree.querySelectorAll(_selector)) handleFunction(node);\n });\n\nconst findInsertedNodes = _nodeWalker(node => {\n _onInsert(node);\n _nodes.set(node, true);\n});\n\nconst findRemovedNodes = _nodeWalker(node => {\n if (_nodes.get(node) === true) {\n _onRemove(node);\n _nodes.delete(node);\n } else {\n _nodes.delete(node);\n }\n});\n\nexport default ({ onInsert, onRemove, root = document.body, attribute = PREVIEW_ID_ATTRIBUTE, selector = `[${attribute}]` }) => {\n _onInsert = onInsert;\n _onRemove = onRemove;\n _root = root;\n _attribute = attribute;\n _selector = selector;\n _observer.observe(_root, { subtree: true, childList: true, attributes: true, attributeFilter: [_attribute] });\n findInsertedNodes(_root);\n};\n","/*\ninterface FirstSpiritPreviewButtonScope {\n HTMLElement $node,\n HTMLElement $button,\n String previewId,\n Status<any> status,\n String language,\n}\n*/\nexport default function ({ preview, actions }) {\n\n function typeMatches(elementType, ...expectedTypes) {\n if (elementType) {\n if (elementType.startsWith('Dataset')) {\n return expectedTypes.includes('Dataset');\n }\n return expectedTypes.includes(elementType);\n }\n return false;\n }\n\n // Edit Button\n preview.registerButton({\n _name: 'edit',\n css: 'tpp-icon-edit',\n getLabel: ({ language }) => {\n return language.toLowerCase() === 'de' ? 'Bearbeiten' : 'Edit';\n },\n isVisible: ({ status }) => {\n return typeMatches(status.elementType, 'PageRef', 'Page', 'Section', 'GCAPage', 'GCASection', 'Dataset');\n },\n isEnabled: ({ status }) => {\n return status.permissions.change;\n },\n execute: async ({ previewId }) => {\n return actions.showEditDialog(previewId);\n },\n });\n\n // Translation dialogue\n let isMultiLanguage = new Promise(resolve => actions.languages().then(languages => resolve(languages.length > 1)));\n preview.addButton({\n _name: 'translate',\n css: 'tpp-icon-translate',\n isVisible: async({ status }) => typeMatches(status.elementType, 'Page', 'Section', 'GCAPage', 'GCASection', 'Dataset') && await isMultiLanguage,\n isEnabled: ({ status }) => status.permissions.change,\n getItems: async() => {\n const languages = await actions.languages();\n const currentLanguage = await actions.getPreviewLanguage() || languages[0];\n let items = [];\n for (let targetLanguage of languages) {\n if (targetLanguage !== currentLanguage) {\n items.push({ source: currentLanguage, target: targetLanguage });\n }\n }\n items.push(...items.map(({ source: target, target: source }) => ({ source, target })));\n return items.map(({ source, target }) => ({ label: `${source} → ${target}`, source, target }));\n },\n execute: async ({ previewId }, { source, target } = {}) => source && target && actions.showTranslationDialog(previewId, source, target)\n });\n\n // Edit MetaData Button\n preview.addButton({\n _name: 'metadata',\n css: 'tpp-icon-meta-data',\n getLabel: ({ language }) => language.toLowerCase() === 'de' ? 'Meta-Daten' : 'Meta Data',\n isVisible: () => false,\n isEnabled: ({ status }) => status.permissions.changeMeta,\n execute: async ({ previewId }) => actions.showMetaDataDialog(previewId),\n });\n\n // Add Sibling Section Button\n preview.registerButton({\n _name: 'add-sibling-section',\n css: 'tpp-icon-add-section',\n getLabel: ({ language }) => language.toLowerCase() === 'de' ? 'Absatz hinzufügen' : 'Add Section',\n isVisible: ({ status }) => status.elementType === 'Section',\n isEnabled: ({ status }) => status.permissions.change,\n execute: async ({ previewId }) => actions.createSection(previewId),\n });\n\n // Add Section Button\n preview.registerButton({\n _name: 'add-child-section',\n css: 'tpp-icon-add-section',\n getLabel: ({ language }) => language.toLowerCase() === 'de' ? 'Absatz hinzufügen' : 'Add Section',\n isVisible: ({ status }) => status.elementType === 'Page' && status.children.length !== 0,\n isEnabled: ({ status }) => status.permissions.appendLeaf,\n getItems: ({ status }) => status.children.length === 1 ? [] : status.children.map(body => body.name),\n execute: async ({ previewId, status }, body = status.children[0].name) => actions.createSection(previewId, { body }),\n });\n preview.addButton({\n _name: 'add-child-section-body',\n css: 'tpp-icon-add-section',\n getLabel: ({ language }) => language.toLowerCase() === 'de' ? 'Absatz hinzufügen' : 'Add Section',\n isVisible: ({ status }) => status.elementType === 'Body',\n isEnabled: ({ status }) => status.permissions.appendLeaf,\n execute: async ({ previewId }) => actions.createSection(previewId),\n });\n\n // Add Workflow Button\n preview.registerButton({\n _name: 'workflows',\n getIcon: ({ $button, status }) => {\n if (status.workflows.current !== null) {\n $button.classList.add('tpp-icon-workflow-in-progress');\n } else if (status.released) {\n $button.classList.add('tpp-icon-workflow-released');\n } else {\n $button.classList.add('tpp-icon-workflow-changed');\n }\n },\n getLabel: ({ language, status }) => {\n if (status.workflows.current !== null) {\n return status.workflows.current.displayName;\n } else {\n return language.toLowerCase() === 'de' ? 'Starte Arbeitsablauf' : 'Start Workflow';\n }\n },\n isVisible: async ({ status, previewId }) => {\n if (!status.custom && status.releaseSupported && (status.workflows.allowed.length !== 0 || status.workflows.current !== null)) {\n return previewId !== actions.getPreviewElement();\n }\n return false;\n },\n isEnabled: () => true,\n getItems: ({ status }) => {\n if (status.workflows.current !== null) {\n return status.workflows.transitions.map(transition => {\n const { displayName, id } = transition;\n return { label: displayName, transitionId: id };\n });\n\n } else {\n return status.workflows.allowed\n .filter(({ uid }) => status.workflows.deleteWorkflow === null || uid !== status.workflows.deleteWorkflow.uid)\n .map(workflow => ({ label: workflow.displayName, workflowId: workflow.id }));\n }\n },\n execute: async ({ previewId }, { workflowId = null, transitionId = null } = {}) => {\n if (workflowId !== null) {\n return actions.startWorkflow(previewId, workflowId);\n } else if (transitionId !== null) {\n return actions.processWorkflow(previewId, transitionId);\n }\n },\n });\n\n // Add Delete Button\n preview.registerButton({\n _name: 'delete',\n css: 'tpp-icon-delete',\n getLabel: ({ language }) => language.toLowerCase() === 'de' ? 'Löschen' : 'Remove',\n isVisible: ({ status }) => status.elementType && status.elementType !== 'Body' && status.elementType !== 'Media',\n isEnabled: ({ status }) => {\n if ('Section' !== status.elementType && status.workflows && status.workflows.deleteWorkflow !== null) {\n return status.workflows.current === null;\n } else {\n return status.permissions.delete;\n }\n },\n execute: async ({ previewId, status }) => {\n if ('Section' !== status.elementType && status.workflows && status.workflows.deleteWorkflow !== null) {\n \treturn actions.startWorkflow(previewId, status.workflows.deleteWorkflow.uid);\n } else {\n \treturn actions.deleteElement(previewId, true);\n }\n }\n });\n\n // Crop Dialog\n preview.registerButton({\n _name: 'crop',\n css: 'tpp-icon-crop-image',\n isVisible: ({ status }) => status.elementType === 'Media',\n isEnabled: ({ status }) => status.permissions.change,\n execute: async ({ previewId, $node: { dataset : { tppContextImageResolution = \"ORIGINAL\" } } }) => {\n actions.cropImage(previewId, tppContextImageResolution);\n }\n });\n\n // Toggle Bookmark\n preview.registerButton({\n _name: 'bookmark',\n isVisible: ({ status }) => typeMatches(status.elementType, 'Page', 'PageRef', 'Section', 'Dataset'),\n isEnabled: () => true,\n getIcon: ({ $button, status }) => $button.classList.add(status.bookmark ? 'tpp-icon-bookmark-delete' : 'tpp-icon-bookmark-create'),\n getLabel: ({ language }) => language.toLowerCase() === 'de' ? 'Kopiervorlage' : 'Bookmark',\n execute: async ({ previewId }) => actions.toggleBookmark(previewId),\n });\n};\n","import {Action, Event, PREVIEW_ID_ATTRIBUTE} from './_consts.js';\nimport {$Filter} from './$utils.js';\n\n\nexport default function ({ events, messenger, actions, decoration, preview }) {\n\n const getAllowedSectionDropTargets = async(sourcePreviewIdOrNode) => {\n const source = await actions._previewElementNode(sourcePreviewIdOrNode);\n let targets = await actions._previewElementNodes();\n const $skipNode = sourcePreviewIdOrNode instanceof HTMLElement ? sourcePreviewIdOrNode : null;\n\n if (source.elementType === 'Section') {\n targets = targets.filter(({ elementType, children, $node }) => elementType === 'Body'\n || (elementType === 'Section' && $node !== $skipNode)\n || (elementType === 'Page' && children.length === 1)\n );\n\n if (targets.length !== 0) {\n const targetIds = targets.map(({ id }) => id).filter($Filter.distinct);\n const allowedIds = await messenger.sendAction(Action.TRANSFER_SECTION_ALLOWED, { sectionId: source.id, targetIds });\n targets = targets.filter(({ id }) => allowedIds.includes(id));\n return targets;\n }\n }\n\n return [];\n };\n\n\n class UI {\n constructor() {\n this._$targets = [];\n }\n onDragOver(e) {\n e.preventDefault();\n e.stopPropagation();\n onDragMove(e.clientX, e.clientY);\n }\n onDrop(e) {\n e.preventDefault();\n e.stopPropagation();\n onDrop(e.clientX, e.clientY);\n }\n addTarget({ $node }) {\n this._$targets.push($node);\n $node.addEventListener('dragover', this.onDragOver);\n $node.addEventListener('drop', this.onDrop);\n }\n hitTarget(x, y) {\n }\n destroy() {\n this._$targets.forEach($node => {\n $node.removeEventListener('dragover', this.onDragOver);\n $node.removeEventListener('drop', this.onDrop);\n });\n }\n }\n\n class AutoScroll extends UI {\n constructor({ distance = 30, increment = 2, timeout = 100 } = {}) {\n super();\n this.distance = distance;\n this.increment = increment;\n this.timeout = timeout;\n this.scrollX = 0;\n this.scrollY = 0;\n }\n hitTarget(x, y) {\n this.scrollX = ((x <= this.distance && -1) || (window.innerWidth - x < this.distance && 1)) * this.increment;\n this.scrollY = ((y <= this.distance && -1) || (window.innerHeight - y < this.distance && 1)) * this.increment;\n this.doScroll();\n }\n doScroll() {\n if (this.scrollX !== 0 || this.scrollY !== 0) {\n window.scrollBy(this.scrollX, this.scrollY);\n setTimeout(this.doScroll.bind(this), this.timeout);\n }\n }\n addTarget(target) {\n super.addTarget(target);\n }\n destroy() {\n super.destroy();\n }\n }\n\n class ZonesUI extends UI {\n constructor() {\n super();\n this.zones = [];\n }\n addZone({ top, left, width, height, x1, y1, x2, y2 }, details) {\n this.zones.push({ x1: x1 || left, y1: y1 || top, x2: x2 || left + width, y2: y2 || top + height, details });\n }\n hitZone(x, y) {\n const top = y + window.scrollY;\n const left = x + window.scrollX;\n\n const { details = {} } = this.zones\n .filter(({ x1, y1, x2, y2 }) => left >= x1 && left <= x2 && top >= y1 && top <= y2)\n .sort((a, b) => ((left - a.x1) * (top - a.y1)) - ((left - b.x1) * (top - b.y1)))\n [0] || {};\n\n return details;\n }\n rect($node) {\n const scroll = { top: window.scrollY, left: window.scrollX };\n const { top, left, width, height } = $node.getBoundingClientRect();\n return { top: top + scroll.top, left: left + scroll.left, width, height };\n }\n }\n\n class HorizontalDropBorder extends ZonesUI {\n constructor() {\n super();\n this.$dropBorder = document.body.appendChild(document.createElement('div'));\n this.$dropBorder.classList.add('tpp-drop-target');\n this.$dropBorder.style.cssText = 'display:none';\n }\n destroy() {\n super.destroy();\n document.body.removeChild(this.$dropBorder);\n }\n addTarget(target) {\n super.addTarget(target);\n const { $node, elementType } = target;\n\n if (elementType === 'Section') {\n const { top, left, width, height } = this.rect($node);\n this.addZone({ top, left, width, height: height / 2 },\n { before: true, top, left, width, target });\n this.addZone({ top: top + height / 2, left, width, height: height / 2 },\n { top: top + height, left, width, target });\n\n } else if (target.elementType === 'Body' || target.elementType === 'Page') {\n const { top, left, width, height } = this.rect($node);\n this.addZone({ top, left, width, height },\n { top: top + height, left, width, target });\n }\n }\n hitTarget(x, y) {\n const { target = null, top, left, width, before = false } = this.hitZone(x, y);\n if (target !== null) {\n this.$dropBorder.style.cssText = `top: ${top}px; left: ${left}px; width: ${width}px;`;\n return { $node: target.$node, previewId: target.previewId, position: before ? 'BEFORE' : 'AFTER' };\n } else {\n this.$dropBorder.style.cssText = 'display:none';\n }\n }\n }\n\n class DragAndDropOperation {\n constructor({ $source = null, sourcePreviewId = null, mode = null, autoscroll = false } = {}) {\n this.source = { $source, sourcePreviewId, mode };\n\n document.body.classList.add('tpp-invisible');\n this.ui = [];\n if (autoscroll) this.ui.push(new AutoScroll());\n this.ui.push(new HorizontalDropBorder());\n }\n addTarget(target) {\n for (const ui of this.ui) {\n ui.addTarget(target);\n }\n }\n addTargets(targets) {\n targets.forEach(target => this.addTarget(target));\n }\n onDrag(x, y, drop = false) {\n this.ui.forEach(ui => ui.hitTarget(x, y));\n }\n onDrop(x, y) {\n const targets = this.ui.map(ui => ui.hitTarget(x, y)).filter(target => !!target);\n if (targets.length === 1) {\n let { $source, sourcePreviewId, mode } = this.source;\n const { $node: $target, position } = targets[0];\n events.emit(Event.DropElement, { source: $source || sourcePreviewId, $target, mode, position });\n }\n }\n destroy() {\n document.body.classList.remove('tpp-invisible');\n this.ui.forEach(ui => ui.destroy());\n }\n }\n\n let _dnd = null;\n const onDragStart = async(previewIdOrNode) => {\n if (_dnd !== null) onDragEnd();\n\n if (previewIdOrNode instanceof HTMLElement) {\n _dnd = new DragAndDropOperation({ $source: previewIdOrNode, mode: 'MOVE' });\n } else {\n _dnd = new DragAndDropOperation({ sourcePreviewId: previewIdOrNode, mode: 'COPY', autoscroll: true });\n }\n\n const { elementType } = await actions._previewElementNode(previewIdOrNode);\n if (elementType === 'Section') {\n _dnd.addTargets(await getAllowedSectionDropTargets(previewIdOrNode));\n }\n };\n const onDragEnd = () => {\n if (_dnd !== null) _dnd.destroy();\n _dnd = null;\n };\n const onDragMove = (x, y) => _dnd !== null && _dnd.onDrag(x, y);\n const onDrop = (x, y) => _dnd !== null && _dnd.onDrop(x, y);\n\n\n actions.makeTransferable = ($draggable, $node = $draggable) => {\n $draggable.setAttribute('draggable', 'true');\n\n const previewId = $node.getAttribute(PREVIEW_ID_ATTRIBUTE);\n if (previewId) {\n $draggable.addEventListener('dragstart', (e) => {\n e.dataTransfer.setData('text/plain', previewId);\n try { e.dataTransfer.setDragImage($node, 0, 0); } catch(ignore) {}\n $node.classList.add('tpp-disabled-node');\n onDragStart($node);\n });\n $draggable.addEventListener('dragend', (e) => {\n $node.classList.remove('tpp-disabled-node');\n onDragEnd();\n });\n }\n };\n\n events.on(Event.DragElement, ({ previewId, phase, start, drag, drop, end, x, y }) => {\n switch (phase) {\n case 'start': return onDragStart(previewId, { autoscroll: true });\n case 'drag': return onDragMove(x, y);\n case 'drop': return onDrop(x, y);\n default: return onDragEnd();\n }\n });\n\n events.on(Event.DropElement, async ({ source, $target, mode, position }) => {\n const { elementType: sourceElementType, id: sourceId, $node: $source } = await actions._previewElementNode(source);\n\n if (sourceElementType === 'Section') {\n const { elementType: targetElementType, id: targetId } = await actions._previewElementNode($target);\n const execute = async(skipRerenderEvent = false) => actions._transferSection(sourceId, targetId, { position, mode, skipRerenderEvent });\n\n if ($source !== $target) {\n if (mode === 'MOVE' && targetElementType === 'Section') {\n // Avoiding triggering of re-render or content change events because this is one of the few times where SNAP\n // actually defines the render logic for changes (section dnd in this case).\n // However, providing a way to override the default behavior through API might be a viable long-term solution.\n if (position === 'BEFORE') {\n if ($target !== $source.nextElementSibling) {\n const success = await execute(true);\n if (success) {\n $target.insertAdjacentElement('beforebegin', $source);\n }\n }\n } else {\n if ($target !== $source.previousElementSibling) {\n const success = await execute(true);\n if (success) {\n $target.insertAdjacentElement('afterend', $source);\n }\n }\n }\n } else {\n await execute();\n }\n }\n }\n });\n\n // Move Button\n preview.registerButton({\n _name: 'move',\n isVisible: ({ status: { elementType } }) => {\n return elementType === 'Section';\n },\n isEnabled: async({ $node }) => {\n const targets = await getAllowedSectionDropTargets($node);\n return targets.length !== 0;\n },\n getIcon: ({ $button, $node }) => {\n $button.className += ' tpp-icon-move tpp-separator';\n $button.style.cursor = 'crosshair';\n actions.makeTransferable($button, $node);\n }\n }, 0);\n}\n","import {CUSTOM_PREVIEW_ID_PREFIX, Event, PREVIEW_ID_ATTRIBUTE} from \"./_consts\";\n\nexport default function ({events, actions, preview}) {\n\n const findAllElementsWithNonCustomPreviewId = function () {\n return Array.from(document.querySelectorAll(\"[\" + PREVIEW_ID_ATTRIBUTE + \"]\"))\n .filter(n => !n.getAttribute(PREVIEW_ID_ATTRIBUTE).startsWith(CUSTOM_PREVIEW_ID_PREFIX));\n };\n\n const cssClassFsChangeDetected = 'fs-change-detected';\n const removeCssClassFsChangeDetected = function (elements) {\n document.querySelectorAll('.' + cssClassFsChangeDetected).forEach(e => e.classList.remove(cssClassFsChangeDetected));\n };\n\n function removeShadowOverlay() {\n document.querySelectorAll('.fs-changemask-solid').forEach(e => e.remove());\n }\n\n function appyShadowOverlay() {\n const visibleBoundingRects = [...document.querySelectorAll('.' + cssClassFsChangeDetected)].map(e => e.getBoundingClientRect())\n removeShadowOverlay();\n shadowEverythingExcept(visibleBoundingRects);\n }\n\n function calclulateBodyBoundingRect() {\n // see https://stackoverflow.com/questions/1145850/how-to-get-height-of-entire-document-with-javascript\n const bodyBoundingRect = document.body.getBoundingClientRect();\n const body = document.body;\n const html = document.documentElement;\n const height = Math.max(body.clientHeight, body.scrollHeight, body.offsetHeight,\n html.clientHeight, html.scrollHeight, html.offsetHeight);\n const width = Math.max(body.clientWidth, body.scrollWidth, body.offsetWidth,\n html.clientWidth, html.scrollWidth, html.offsetWidth);\n\n return new DOMRect(bodyBoundingRect.x, bodyBoundingRect.y, width, height);\n }\n\n function computeGridCells(actualRows, actualColumns) {\n const all = [];\n for (let i = 0; i < actualRows.length - 1; i++) {\n const row = actualRows[i];\n for (let j = 0; j < actualColumns.length - 1; j++) {\n const column = actualColumns[j];\n all.push({\n top: row,\n left: column,\n width: actualColumns[j + 1] - column,\n right: actualColumns[j + 1],\n height: actualRows[i + 1] - row,\n bottom: actualRows[i + 1]\n });\n }\n }\n return all;\n }\n\n function addShadowOverlayFragment(rect, bodyRect) {\n const div = document.createElement(\"div\");\n\n div.style.top = (rect.top - bodyRect.top) + \"px\";\n div.style.left = (rect.left - bodyRect.left) + \"px\";\n div.style.width = rect.width + \"px\";\n div.style.height = rect.height + \"px\";\n div.classList.add(\"fs-changemask-solid\");\n\n document.body.appendChild(div);\n }\n\n function computeGrid(bodyRect, visibleBoundingRects ) {\n const rows = [bodyRect.top, bodyRect.bottom];\n const columns = [bodyRect.left, bodyRect.right];\n\n visibleBoundingRects.forEach(rect => {\n rows.push(rect.top, rect.bottom);\n columns.push(rect.left, rect.right);\n });\n\n const ascending = (a, b) => a - b;\n const actualRows = [...new Set(rows.sort(ascending))];\n const actualColumns = [...new Set(columns.sort(ascending))];\n\n return {actualRows, actualColumns}\n }\n\n function shadowEverythingExcept(boundingRects) {\n const bodyRect = calclulateBodyBoundingRect();\n const visibleBoundingRects = boundingRects.filter(rect => rect.width !== 0 && rect.height !== 0);\n const {actualRows, actualColumns} = computeGrid(bodyRect, visibleBoundingRects);\n\n const cells = computeGridCells(actualRows, actualColumns);\n cells.filter(cell => doesNotIntersectAny(cell, visibleBoundingRects)).forEach(cell => {\n\t\t\taddShadowOverlayFragment(cell, bodyRect);\n });\n }\n\n function doesNotIntersectAny(rect, visibleBoundingRects) {\n for (const visibleRect of visibleBoundingRects) {\n if (intersects(rect, visibleRect)) {\n return false;\n }\n }\n\n return true;\n }\n\n function intersects(a, b) {\n return a.left < b.right &&\n b.left < a.right &&\n a.top < b.bottom &&\n b.top < a.bottom\n }\n\n function addBordersToChangedElements(previewIds, changedIds, elements) {\n for (let i = 0; i < previewIds.length; i++) {\n const previewId = previewIds[i];\n if (changedIds.includes(previewId)) {\n elements[i].classList.add(cssClassFsChangeDetected);\n }\n }\n }\n\n const eventListeners = [\"resize\", \"scroll\", \"transitionend\", \"animationend\"];\n events.on(Event.DisplayChangesRequest, async function () {\n document.body.classList.add('tpp-disabled-node');\n\n const elements = findAllElementsWithNonCustomPreviewId();\n removeCssClassFsChangeDetected(elements);\n\n const previewIds = elements.map(e => e.getAttribute(PREVIEW_ID_ATTRIBUTE));\n let distinctPreviewIds = [...new Set(previewIds)];\n\n let changedIds = await actions.requestChangeSet(distinctPreviewIds);\n\n addBordersToChangedElements(previewIds, changedIds, elements);\n\n eventListeners.forEach ( eventListener => window.addEventListener(eventListener, appyShadowOverlay));\n appyShadowOverlay();\n\n document.body.classList.remove('tpp-disabled-node');\n });\n\n events.on(Event.ResetDisplayChangesRequest, async function () {\n eventListeners.forEach ( eventListener => window.removeEventListener(eventListener, appyShadowOverlay));\n removeCssClassFsChangeDetected(findAllElementsWithNonCustomPreviewId());\n removeShadowOverlay();\n });\n\n preview.addButton({\n label: \"Compare\",\n css: \"tpp-icon-preview-diff\",\n isVisible: (scope) => {\n return scope.$node.classList.contains(cssClassFsChangeDetected);\n },\n isEnabled: () => true,\n execute: async (scope) => {\n const previewId = scope.$node.getAttribute(PREVIEW_ID_ATTRIBUTE);\n\n await actions.showComparisonDialog(previewId);\n },\n });\n\n}","module.exports = { \"default\": require(\"core-js/library/fn/set\"), __esModule: true };","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.set');\nrequire('../modules/es7.set.to-json');\nrequire('../modules/es7.set.of');\nrequire('../modules/es7.set.from');\nmodule.exports = require('../modules/_core').Set;\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') });\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\nrequire('./_set-collection-of')('Set');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\nrequire('./_set-collection-from')('Set');\n","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","var refs = 0;\nvar dispose;\nvar content = require(\"!!../../node_modules/css-loader/index.js!./fs-tpp.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) exports.locals = content.locals;\n\nexports.use = exports.ref = function() {\n\tif(!(refs++)) {\n\t\tdispose = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, {\"hmr\":true});\n\t}\n\n\treturn exports;\n};\n\nexports.unuse = exports.unref = function() {\n if(refs > 0 && !(--refs)) {\n\t dispose();\n\t\t dispose = null;\n }\n};\nif(module.hot) {\n\tvar lastRefs = module.hot.data && module.hot.data.refs || 0;\n\n\tif(lastRefs) {\n\t\texports.ref();\n\t\tif(!content.locals) {\n\t\t\trefs = lastRefs;\n\t\t}\n\t}\n\n\tif(!content.locals) {\n\t\tmodule.hot.accept();\n\t}\n\n\tmodule.hot.dispose(function(data) {\n\t\tdata.refs = content.locals ? 0 : refs;\n\n\t\tif(dispose) {\n\t\t\tdispose();\n\t\t}\n\t});\n}","var escape = require(\"../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".tpp-borders {\\n\\tposition: fixed;\\n\\tz-index: 9999999999;\\n\\topacity: 0;\\n\\tpointer-events: none;\\n\\tbox-shadow: 0 0 3px rgba(0,0,0,.5), 0 0 3px rgba(0,0,0,.5) inset;\\n\\tborder: 1px solid rgb(181,30,104);\\n\\ttransition: opacity 300ms ease-in-out;\\n}\\n.tpp-buttons {\\n\\tpointer-events: all;\\n\\tposition: absolute;\\n\\ttop: 0; right: 0;\\n\\tbackground: linear-gradient(#626161, #424141);\\n\\tborder: 1px solid #B5B5B5;\\n\\tdisplay: inline-block;\\n\\tline-height: 23px;\\n}\\n.tpp-buttons.bottom {\\n\\ttop: auto;\\n\\tbottom: 0;\\n}\\n.tpp-invisible .tpp-borders {\\n\\topacity: 0 !important;\\n}\\n\\n.tpp-button {\\n\\tdisplay: block; float: left;\\n\\twidth: 23px; height: 23px; line-height: 23px;\\n\\tcursor: pointer;\\n\\tposition: relative;\\n\\ttext-align: center;\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: center;\\n\\tcolor: #fff;\\n\\tfont-size: 13px;\\n\\tuser-select: none;\\n\\topacity: .8;\\n}\\n.tpp-button:hover {\\n\\topacity: 1;\\n}\\n.tpp-button[disabled] {\\n\\tfilter: grayscale(100%);\\n\\topacity: .3;\\n\\tcursor: default;\\n\\tpointer-events: none;\\n}\\n.tpp-button.tpp-separator {\\n\\tborder-right: 1px solid #727177;\\n}\\n.tpp-icon-action { background-image: url(\" + escape(require(\"./tpp-icon/action.png\")) + \"); }\\n.tpp-icon-edit { background-image: url(\" + escape(require(\"./tpp-icon/edit.png\")) + \"), linear-gradient(#A9356B, #79053B); }\\n.tpp-icon-meta-data { background-image: url(\" + escape(require(\"./tpp-icon/meta-data.png\")) + \"); }\\n.tpp-icon-edit-gray { background-image: url(\" + escape(require(\"./tpp-icon/edit.png\")) + \"); }\\n.tpp-icon-debug { background-image: url(\" + escape(require(\"./tpp-icon/debug.png\")) + \"); }\\n.tpp-icon-delete { background-image: url(\" + escape(require(\"./tpp-icon/delete.png\")) + \"); }\\n.tpp-icon-add-section { background-image: url(\" + escape(require(\"./tpp-icon/add-section.png\")) + \"); }\\n.tpp-icon-create-page { background-image: url(\" + escape(require(\"./tpp-icon/create-page.png\")) + \"); }\\n.tpp-icon-crop-image { background-image: url(\" + escape(require(\"./tpp-icon/crop-image.png\")) + \"); }\\n.tpp-icon-translate { background-image: url(\" + escape(require(\"./tpp-icon/translate.png\")) + \"); }\\n.tpp-icon-bookmark-create { background-image: url(\" + escape(require(\"./tpp-icon/bookmark-create.png\")) + \"); }\\n.tpp-icon-bookmark-delete { background-image: url(\" + escape(require(\"./tpp-icon/bookmark-delete.png\")) + \"); }\\n.tpp-icon-workflow { background-image: url(\" + escape(require(\"./tpp-icon/workflow.png\")) + \"); }\\n.tpp-icon-workflow-changed { background-image: url(\" + escape(require(\"./tpp-icon/workflow.png\")) + \"), linear-gradient(rgb(181, 131, 77), rgb(181, 131, 77)); }\\n.tpp-icon-workflow-released { background-image: url(\" + escape(require(\"./tpp-icon/workflow.png\")) + \"), linear-gradient(rgb(88, 170, 72), rgb(88, 170, 72)); }\\n.tpp-icon-workflow-in-progress { background-image: url(\" + escape(require(\"./tpp-icon/workflow.png\")) + \"), linear-gradient(rgb(148, 50, 51), rgb(148, 50, 51)); }\\n.tpp-icon-move { background-image: url(\" + escape(require(\"./tpp-icon/move.png\")) + \"); }\\n.tpp-icon-preview-diff { background-image: url(\" + escape(require(\"./tpp-icon/preview-diff.png\")) + \"); }\\n\\n\\n.tpp-button ul {\\n\\tdisplay: none;\\n\\tmargin: 0; padding: 2px;\\n\\tlist-style-type: none;\\n\\tposition: absolute;\\n\\ttop: 23px; right: 0;\\n\\tborder: 1px solid #C9CBCC;\\n\\tbackground-color: #fff;\\n\\tcolor: #666;\\n\\tfont: normal 11px/20px Arial, Helvetica, sans-serif;\\n\\ttext-align: left;\\n}\\n.tpp-button:hover ul {\\n\\tdisplay: block;\\n}\\n.tpp-button li {\\n\\tcursor: pointer;\\n\\tpadding: 0 25px 0 5px;\\n\\twhite-space: nowrap;\\n}\\n.tpp-button li:hover {\\n\\tbackground-color: #f0f0f0;\\n}\\n\\n[data-preview-id] {\\n\\tmin-height: 23px;\\n}\\n\\n/* new styles */\\n.tpp-buttons {\\n\\tbackground: #312F41;\\n\\tborder: 0;\\n}\\n.tpp-icon-edit { background-image: url(\" + escape(require(\"./tpp-icon/edit.png\")) + \"), linear-gradient(#9D2A64, #9D2A64); }\\n\\n.tpp-placeholder {\\n\\tmargin: 10px;\\n\\tpadding: 50px 20px;\\n\\ttext-align: center;\\n\\tfont: bold 20px/1.2 Arial, Helvetica, sans-serif;\\n\\tcolor: #fff;\\n\\tborder: 5px solid rgb(49, 47, 65);\\n\\tbackground: rgb(101, 99, 131);\\n\\tbox-shadow: 0 0 10px #000;\\n}\\n\\n.tpp-disabled-node {\\n\\tpointer-events: none;\\n\\tfilter: blur(2px);\\n}\\n\\n.tpp-drop-target {\\n\\tposition: absolute;\\n\\tz-index: 9999999999;\\n\\ttop: 0; left: 0; width: 0; height: 5px;\\n\\tmargin-top: -2.5px;\\n\\tbox-shadow: 0 0 3px rgba(0,0,0,.5);\\n\\tbackground: rgb(181,30,104);\\n\\ttransition: all 200ms ease-out;\\n}\\n\\n.fs-change-detected {\\n\\tborder: 1px solid #b61867;\\n}\\n\\n.fs-changemask-solid {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\tbackground-color: #525967;\\n\\topacity: 0.25;\\n\\tfilter: alpha(opacity = 0.25);\\n}\", \"\"]);\n\n// exports\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAAGXljaGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjVFQkNGMTk4RTlCMjExRTBCQTc4Q0QxRkI0ODk1RjA0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjVFQkNGMTk5RTlCMjExRTBCQTc4Q0QxRkI0ODk1RjA0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUVCQ0YxOTZFOUIyMTFFMEJBNzhDRDFGQjQ4OTVGMDQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NUVCQ0YxOTdFOUIyMTFFMEJBNzhDRDFGQjQ4OTVGMDQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4j+SC7AAAApklEQVR42mL8//8/AwgwMUABQAAxAEX+Mz1+/JgBIIAYQXKfP38GKwAIIEYUhSBRuAhAAMEZv3//BjNYWVkZ4ea9f/8ejEEAIIBgKkEEI9wwoDa4VhYQ8ePHDwYo/R+s4vv372DMy8sLMfjnz58MYmJiYDMAAgxuPQj8+/cPzmFiYmKEsVkYkABINxIAa+Dk5GREUQSyDx0AFaGaBHMpCEhJScGtAwDOn1MNwUTjlwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAATCAYAAAHjfs0eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpBOUQxQjhFMDAxNDhFMTExOTFGNDlEMUVCNkMxQkEwMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyNzgyNTE4RjYxMUMxMUUxQThBRUE5MTJEMzMyRDY1OCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyNzgyNTE4RTYxMUMxMUUxQThBRUE5MTJEMzMyRDY1OCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCNzdCMUY2OUUwNDhFMTExOTFGNDlEMUVCNkMxQkEwMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBOUQxQjhFMDAxNDhFMTExOTFGNDlEMUVCNkMxQkEwMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlzLg4kAAADDSURBVHjaYvz//z8DDDAxIAEUDkAAMRKnDCCAkJXBGIwgggVJURaSAkaAAEIxGAZY0IwAG8OEZB4juspMJJX/0c0EWwQQQFgtwgVY0PjYdDLiUpyFxp8GcwJGQGIBKF5mIeBMRmQOQACR5EEmBhIAC7EhQZHJjKQozkSTm44cxsQ64z+xQYczKTNQNTQAAoykGCQ3mAkla4JeItt71HAx2S4lZHAWCemFkdqR9x+fL3C5OJOAodMJ+YBaLmakVuQRjEAA4Ow5e6ANBqwAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAATCAYAAACUef2IAAAACXBIWXMAAA7CAAAOwgEVKEqAAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAEZJREFUeNpi+P//PwMtMMOwMZgYMLgMHtCgwOtyuhs8YEEx+AwmFuO0iFQX09xgghZTGgRUN5jsoBhwg+lfCAEAAAD//wMA3Is5Dj1O75MAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAATCAYAAAHjfs0eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdFMDhBMzA2NzI3ODExRTE5M0EzQTc5MUI3RjlEQzc2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdFMDhBMzA3NzI3ODExRTE5M0EzQTc5MUI3RjlEQzc2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0UwOEEzMDQ3Mjc4MTFFMTkzQTNBNzkxQjdGOURDNzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0UwOEEzMDU3Mjc4MTFFMTkzQTNBNzkxQjdGOURDNzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz67EEkXAAAAv0lEQVR42mL8//8/AwwwQen/yBxGkABAADESpYwBIICQlf1HlmBiQAWMMAUAAYRiMDYL/qMLYlWJAliQbYYBgADCahEuwILG/4/F+fjdQKzJjHhsYmQhYBiKZoAAIsmDZLv5PwH34zX5P0XOoJpiRnSnsBARIf9xJWVsocFIrJtRbAMIMJJikJJEhzM+8EUsKQYTCkiCFrCQ4DtGIn1EeiKiRhgTG+44g4WFRIOQU/h/fBawkBnzjJS4mNQIRQEAAoouSwxwE+wAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAATCAYAAACUef2IAAAABGdBTUEAAK/INwWK6QAAAAlwSFlzAAAOwgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAgUlEQVQ4T2P4//8/Ay0wTQwFOXTQGRwJdNVMfEFIrosHr8FA3xINUHxPKChApk7BgncCxa6giZNlMLoDKA5jmItHqMGg8INhUFCAIgpZDMYmOYOANMAwyGBQ7COLIbNxpipikxshdRjyhDTgShWE9BEs3WhmMEGX4SrhyNZIqNYBAOWOEXeO7QWpAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAATCAYAAACUef2IAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAINJREFUOE+1kAEKgEAIBHtfnwr6uCXhsbetSWQLA96od9FiZr8gZQdSdiBlB1J2wGIHuJchd3DA4YEq2d7jr8DgWfVusMCXOei4Lr9YXbydRB/riNflxQjGz+tVTrUHdwYs+OUq2V568TREROIsd0bxAo/yE1J2IGUHUnYgZQdSfseWA4mZHgMwLO3eAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAATCAYAAAHjfs0eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI3N0ZBOUU5NjEzRTExRTJCNkRDODFGNjk4NDJCRDY3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI3N0ZBOUVBNjEzRTExRTJCNkRDODFGNjk4NDJCRDY3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Mjc3RkE5RTc2MTNFMTFFMkI2REM4MUY2OTg0MkJENjciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Mjc3RkE5RTg2MTNFMTFFMkI2REM4MUY2OTg0MkJENjciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7EpoHcAAABGElEQVR42mL4//8/AxBLgGhGEAEDTAxIACCAcMugcAACiAFqmtl/CIiB8uGqTgFxLLIGgABCMRjdTJDMXyCOQTabE4h1YeayQFUGQ+nLOM0ECCB0QSEgfgsSZ8AC0BXDOIuAeDeS+BIQwYKmORaLgUvw+hcXYGIgAQAEELrJbED8i1iTXwGxGU6jYaENxB/+I8A05BhGj2kQ8EFiH4PSMcgGIwfdU1yRgcuDMfjCmVDQLSGYCKkSKSQpBggwQs6oAGJdII5mIBFgM7gOiL2B2ATNlY+B+A4QLwPiH9gCC1fKQMZ+/zFBHQ61WDELDvv4gfgzEG8H4k9QH5jhSAtYXY4vjGOIDM4l5EQe2YASFy+hJLnRxMUUAQDIWuXpcvA6lwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAATCAYAAAHjfs0eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjM3RDgzMUQ2NjEzRTExRTJBRTUzQTE0Qzg2NDBGMjZGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjM3RDgzMUQ3NjEzRTExRTJBRTUzQTE0Qzg2NDBGMjZGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzdEODMxRDQ2MTNFMTFFMkFFNTNBMTRDODY0MEYyNkYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzdEODMxRDU2MTNFMTFFMkFFNTNBMTRDODY0MEYyNkYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6VnafPAAABG0lEQVR42mL4//8/AxBLgGhGEAEDTAxIACCAcMugcAACiAFqmtl/CIiB8hlgEgxIgiDAABBAKAajmwmS+QvEMchmcwKxLsw4FqjKYCh9CeRWrGYCBBC6oBAQvwWJM2AB6IphnEVAvBtJfAmIYEHTHIvFwCW4TMYLmBhIAAABhG4yGxD/ItbkV0BshtNopMj78B8BpiHHMAwjm+yDxD4GpWOQDUYOuqe4IgOXB2PwhTO+oFsMxf9pHykkKQYIMELOqABiXSCOZiARYDO4Doi9gdgEzZWPgfgOEC8D4h/ooYovZSBjv/+YoA6HWqyYBYd9/ED8GYi3A/EnqA/McKQFrC7HF8YxRAbnEnIij2xAjouXIKduZLMG3MUUAQB/1/qqz56eugAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAATCAYAAACUef2IAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAABzSURBVDhPtc5BCsBACEPROXsPXruZBJFPKTQjPJAgwVVVR2CYgGEChgkYJszgeqGbPvfgLi8bFYpuZlnnLi9pM6BPRTf0qbjLy0aFops+n4tjZkCfim7ml527vGxUKLqhQnGXlzQMEzBMwDABwwQM/6v1ADo1IGznm6AIAAAAAElFTkSuQmCC\"","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","var refs = 0;\nvar dispose;\nvar content = require(\"!!../../node_modules/css-loader/index.js!./fs-tpp-new.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) exports.locals = content.locals;\n\nexports.use = exports.ref = function() {\n\tif(!(refs++)) {\n\t\tdispose = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, {\"hmr\":true});\n\t}\n\n\treturn exports;\n};\n\nexports.unuse = exports.unref = function() {\n if(refs > 0 && !(--refs)) {\n\t dispose();\n\t\t dispose = null;\n }\n};\nif(module.hot) {\n\tvar lastRefs = module.hot.data && module.hot.data.refs || 0;\n\n\tif(lastRefs) {\n\t\texports.ref();\n\t\tif(!content.locals) {\n\t\t\trefs = lastRefs;\n\t\t}\n\t}\n\n\tif(!content.locals) {\n\t\tmodule.hot.accept();\n\t}\n\n\tmodule.hot.dispose(function(data) {\n\t\tdata.refs = content.locals ? 0 : refs;\n\n\t\tif(dispose) {\n\t\t\tdispose();\n\t\t}\n\t});\n}","var escape = require(\"../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \":root {\\n\\t--default-button-background: white;\\n\\t--color-accent-default: #3288C3;\\n\\t--color-state-modified: #B5834D;\\n\\t--color-state-workflow: #943233;\\n\\t--color-state-released: #56B525;\\n}\\n\\n.tpp-borders {\\n\\tposition: fixed;\\n\\tz-index: 9999999999;\\n\\topacity: 0;\\n\\tpointer-events: none;\\n\\tbox-shadow: rgba(0, 0, 0, 0.2) 1px 1px 5px;\\n\\tborder: 1px solid var(--color-accent-default);\\n\\ttransition: opacity 0.25s;\\n}\\n.tpp-borders::after {\\n content: '';\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n box-shadow: rgba(0, 0, 0, 0.4) 0 0 0 99999px;\\n opacity: 0;\\n transition: opacity 0.3s ease-in-out;\\n}\\n.tpp-borders:hover::after {\\n opacity: 1;\\n}\\n.tpp-buttons {\\n\\tpointer-events: all;\\n\\tposition: absolute;\\n\\ttop: 0; right: 0;\\n\\tbackground: linear-gradient(#626161, #424141);\\n\\tborder: 1px solid #B5B5B5;\\n\\tdisplay: inline-block;\\n\\tline-height: 1em;\\n\\theight: 1em;\\n\\tbox-shadow: 1px 1px 2px -1px rgba(0, 0, 0, 0.5);\\n\\tfont-size: 24px;\\n\\tfont-family: Arial,Verdana, Helvetica, sans-serif;\\n}\\n.tpp-buttons.bottom {\\n\\ttop: auto;\\n\\tbottom: 0;\\n}\\n.tpp-invisible .tpp-borders {\\n\\topacity: 0 !important;\\n}\\n\\n.tpp-button {\\n\\tdisplay: block; float: left;\\n\\twidth: 1em; height: 1em; line-height: 23px;\\n\\tcursor: pointer;\\n\\tposition: relative;\\n\\ttext-align: center;\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: center;\\n\\tuser-select: none;\\n}\\n.tpp-button[disabled] {\\n\\tfilter: grayscale(100%);\\n\\topacity: .3;\\n\\tcursor: default;\\n\\tpointer-events: none;\\n}\\n\\n.tpp-button::after {\\n\\tdisplay: block;\\n\\tcontent: '';\\n\\theight: 100%;\\n\\tbackground: var(--default-button-background);\\n}\\n\\n.tpp-button.tpp-separator {\\n\\tborder-right: 1px solid #727177;\\n}\\n.tpp-icon-action {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/action.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/action.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-edit {\\n\\tbackground: var(--color-accent-default);\\n}\\n.tpp-icon-edit::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/edit.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/edit.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-meta-data::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/meta-data.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/meta-data.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-edit-gray::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/edit.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/edit.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-debug::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/debug.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/debug.png\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-delete::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/delete.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/delete.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-add-section::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/add-section.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/add-section.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-create-page::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/create-page.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/create-page.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-crop-image::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/crop-image.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/crop-image.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-translate::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/translate.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/translate.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-bookmark-create::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/bookmark-create.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/bookmark-create.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-bookmark-delete::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/bookmark-delete.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/bookmark-delete.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-workflow {\\n\\tbackground: transparent url(\" + escape(require(\"./tpp-icon/workflow.png\")) + \") no-repeat center;\\n}\\n.tpp-icon-workflow-changed {\\n\\tbackground: var(--color-state-modified) url(\" + escape(require(\"./tpp-icon/workflow.png\")) + \") no-repeat center;\\n}\\n.tpp-icon-workflow-released {\\n\\tbackground: var(--color-state-released) url(\" + escape(require(\"./tpp-icon/workflow.png\")) + \") no-repeat center;\\n}\\n.tpp-icon-workflow-in-progress {\\n\\tbackground: var(--color-state-workflow) url(\" + escape(require(\"./tpp-icon/workflow.png\")) + \") no-repeat center;\\n}\\n.tpp-icon-workflow::after,\\n.tpp-icon-workflow-changed::after,\\n.tpp-icon-workflow-released::after,\\n.tpp-icon-workflow-in-progress::after {\\n\\tbackground: transparent;\\n}\\n.tpp-icon-move::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/move.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/move.png\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-preview-diff::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/preview-diff.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/preview-diff.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-arrow-left::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/move-left.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/move-left.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-arrow-right::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/move-right.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/move-right.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-arrow-up::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/move-up.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/move-up.svg\")) + \") center center / cover no-repeat;\\n}\\n.tpp-icon-arrow-down::after {\\n\\t-webkit-mask: url(\" + escape(require(\"./tpp-icon/move-down.svg\")) + \") center center / cover no-repeat;\\n\\tmask: url(\" + escape(require(\"./tpp-icon/move-down.svg\")) + \") center center / cover no-repeat;\\n}\\n\\n.tpp-button ul {\\n\\tdisplay: none;\\n\\tz-index: 1;\\n\\tmargin: 0; padding: 2px;\\n\\tlist-style-type: none;\\n\\tposition: absolute;\\n\\ttop: 23px; right: 0;\\n\\tborder: 1px solid #C9CBCC;\\n\\tbackground-color: #fff;\\n\\tcolor: #666;\\n\\tfont: normal 11px/20px Arial, Helvetica, sans-serif;\\n\\ttext-align: left;\\n}\\n.tpp-button:hover ul {\\n\\tdisplay: block;\\n}\\n.tpp-button li {\\n\\tcursor: pointer;\\n\\tpadding: 0 25px 0 5px;\\n\\twhite-space: nowrap;\\n}\\n.tpp-button li:hover {\\n\\tbackground-color: #f0f0f0;\\n}\\n\\n[data-preview-id] {\\n\\tmin-height: 23px;\\n}\\n\\n/* new styles */\\n.tpp-buttons {\\n\\tbackground: #46446B;\\n\\tborder: 0;\\n}\\n\\n.tpp-placeholder {\\n\\tmargin: 10px;\\n\\tpadding: 50px 20px;\\n\\ttext-align: center;\\n\\tfont: bold 20px/1.2 Arial, Helvetica, sans-serif;\\n\\tcolor: #fff;\\n\\tborder: 5px solid rgb(49, 47, 65);\\n\\tbackground: rgb(101, 99, 131);\\n\\tbox-shadow: 0 0 10px #000;\\n}\\n\\n.tpp-disabled-node {\\n\\tpointer-events: none;\\n\\tfilter: blur(2px);\\n}\\n\\n.tpp-drop-target {\\n\\tposition: absolute;\\n\\tz-index: 9999999999;\\n\\ttop: 0; left: 0; width: 0; height: 5px;\\n\\tmargin-top: -2.5px;\\n\\tbox-shadow: 0 0 3px rgba(0,0,0,.5);\\n\\tbackground: #3288C3B0;\\n\\ttransition: all 200ms ease-out;\\n}\\n\\n.fs-change-detected {\\n\\tborder: 1px solid #b61867;\\n}\\n\\n.fs-changemask-solid {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\tbackground-color: #525967;\\n\\topacity: 0.25;\\n\\tfilter: alpha(opacity = 0.25);\\n}\", \"\"]);\n\n// exports\n","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjQgMjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMUQxRDFCO3N0cm9rZS1taXRlcmxpbWl0OjEwO30KPC9zdHlsZT4KPHRpdGxlPmNjPC90aXRsZT4KPGc+Cgk8bGluZSBjbGFzcz0ic3QwIiB4MT0iOC41IiB5MT0iNi4zIiB4Mj0iOC41IiB5Mj0iNC40Ii8+Cgk8bGluZSBjbGFzcz0ic3QwIiB4MT0iMTIuNCIgeTE9IjcuOCIgeDI9IjEyLjQiIHkyPSI0LjYiLz4KCTxsaW5lIGNsYXNzPSJzdDAiIHgxPSI3LjkiIHkxPSIxMi4zIiB4Mj0iNC43IiB5Mj0iMTIuMyIvPgoJPGxpbmUgY2xhc3M9InN0MCIgeDE9IjE5LjUiIHkxPSIxMi4xIiB4Mj0iMTYuMSIgeTI9IjEyLjEiLz4KCTxsaW5lIGNsYXNzPSJzdDAiIHgxPSIxMi4xIiB5MT0iMTkuNiIgeDI9IjEyLjEiIHkyPSIxNi4yIi8+Cgk8bGluZSBjbGFzcz0ic3QwIiB4MT0iMTYuNiIgeTE9IjcuNSIgeDI9IjE0LjYiIHkyPSI5LjUiLz4KCTxsaW5lIGNsYXNzPSJzdDAiIHgxPSI5LjQiIHkxPSIxNC42IiB4Mj0iNy41IiB5Mj0iMTYuNiIvPgoJPGxpbmUgY2xhc3M9InN0MCIgeDE9IjYuMyIgeTE9IjguNSIgeDI9IjQuNSIgeTI9IjguNSIvPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTguMSw4YzAuNS0wLjUsMS4yLTAuNywyLTAuN0MxMCw3LjEsOS45LDYuOSw5LjcsNi44Yy0wLjktMC45LTIuMi0xLTMtMC4yQzUuOSw3LjQsNiw4LjgsNi44LDkuNwoJCUM3LDkuOCw3LjIsOS45LDcuNCwxMEM3LjMsOS4yLDcuNiw4LjUsOC4xLDh6Ii8+Cgk8ZWxsaXBzZSB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEgLTAuNzA3MSAwLjcwNzEgMC43MDcxIC00Ljg2OTUgMTEuODUyKSIgY2xhc3M9InN0MCIgY3g9IjExLjkiIGN5PSIxMS44IiByeD0iMy43IiByeT0iNS4yIi8+Cgk8bGluZSBjbGFzcz0ic3QwIiB4MT0iOC4yIiB5MT0iOC4yIiB4Mj0iMTUuNiIgeTI9IjE1LjUiLz4KPC9nPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMyMTIxMjE7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO308L3N0eWxlPjwvZGVmcz48dGl0bGU+Q0M8L3RpdGxlPjxnIGlkPSJfMTAiIGRhdGEtbmFtZT0iMTAiPjxnIGlkPSJfMTAtMiIgZGF0YS1uYW1lPSIxMCI+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxNi40NyA5LjQxIDE4LjkyIDEyLjExIDE2LjUgMTQuNSIvPjxnIGlkPSJfMTAtMyIgZGF0YS1uYW1lPSIxMCI+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSI3LjU5IDE0LjU2IDUuMDYgMTIuMSA3LjUgOS40NyIvPjwvZz48ZyBpZD0iXzEwLTQiIGRhdGEtbmFtZT0iMTAiPjxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iOS40NCA3LjUzIDExLjk5IDUuMDggMTQuNTMgNy41NiIvPjwvZz48ZyBpZD0iXzEwLTUiIGRhdGEtbmFtZT0iMTAiPjxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMTQuNTYgMTYuNDQgMTEuOTkgMTguOTEgOS40NCAxNi40NCIvPjwvZz48L2c+PC9nPjwvc3ZnPg==\""],"sourceRoot":""}
\No newline at end of file