{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/packs/customtrix.js","webpack:///./node_modules/trix/dist/trix.esm.min.js","webpack:///./node_modules/@rails/actiontext/app/assets/javascripts/actiontext.esm.js","webpack:///./app/javascript/packs/application.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","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","_regeneratorRuntime","e","a","iterator","asyncIterator","u","define","configurable","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","type","arg","h","f","y","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_defineProperties","target","props","descriptor","_toPropertyKey","toPrimitive","String","Number","_toPrimitive","require","Trix","config","toolbar","getDefaultHTML","lang","concat","bold","italic","strike","quote","heading1","link","bullets","numbers","attachFiles","urlPlaceholder","url","unlink","document","addEventListener","_event","textAttributes","underline","tagName","style","textDecoration","inheritable","parser","element","window","getComputedStyle","toolbars","querySelectorAll","html","innerHTML","once","event","EmbedController","allowedImageTypes","includes","file","preventDefault","instance","Constructor","_classCallCheck","this","pattern","editor","toolbarElement","videoInputElement","querySelector","embedButton","installEventHandlers","protoProps","staticProps","_fetchYouTube","_embedVideo","embedVideo","_callee","matches","_context","trim","match","fetchYouTube","alert","_callee2","videoId","response","embed","_context2","encodeURIComponent","fetch","text","insertEmbed","t0","_x","attachment","Attachment","JSON","parse","insertAttachment","focus","_toArray","arr","_arrayWithHoles","iter","Array","from","_iterableToArray","_unsupportedIterableToArray","_nonIterableRest","_slicedToArray","return","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","test","len","arr2","isArray","preview","presentation","caption","size","default","nestable","terminal","breakOnReturn","group","code","htmlAttributes","plaintext","bulletList","bullet","listAttribute","parentNode","numberList","number","attachmentGallery","exclusive","toLowerCase","navigator","userAgent","parseInt","composesExistingText","recentAndroid","samsungAndroid","forcesObjectResizing","supportsInputEvents","InputEvent","every","byte","bytes","captionPlaceholder","indent","outdent","redo","remove","undo","GB","KB","MB","PB","TB","prefix","precision","formatter","Math","floor","log","pow","toFixed","replace","documentElement","_ref","onElement","matchingSelector","withCallback","inPhase","times","destroy","A","removeEventListener","b","_ref2","bubbles","cancelable","attributes","createEvent","initEvent","dispatchEvent","nodeType","_ref3","untilNode","Node","ELEMENT_NODE","closest","x","activeElement","C","previousSibling","k","removeChild","E","_ref4","onlyNodesOfType","usingFilter","expandEntityReferences","NodeFilter","SHOW_ELEMENT","SHOW_TEXT","SHOW_COMMENT","SHOW_ALL","createTreeWalker","R","S","createElement","editable","contenteditable","setAttribute","data","dataset","className","split","classList","add","textContent","childNodes","appendChild","w","L","D","F","firstChild","T","strict","B","COMMENT_NODE","P","O","trixCursorTarget","I","N","TEXT_NODE","M","level2Enabled","getLevel","pickFiles","multiple","hidden","id","fileInputId","files","getElementById","body","click","j","removeBlankTableCells","tableCellSeparator","tableRowSeparator","W","fontWeight","fontStyle","href","groupTagName","getAttribute","frozen","backgroundColor","V","q","interval","U","freeze","attachments","blockAttributes","browser","css","attachmentCaption","attachmentCaptionEditor","attachmentMetadata","attachmentMetadataContainer","attachmentName","attachmentProgress","attachmentSize","attachmentToolbar","fileSize","input","keyNames","H","proxyMethod","_z","z","toMethod","toProperty","optional","_","J","Function","RegExp","K","G","$","X","box","fromUCS2String","tt","fromCodepoints","et","super","ucs2String","codepoints","ucs2Length","offsetToUCS2Offset","max","offsetFromUCS2Offset","isEqualTo","toJSON","getCacheKey","Y","Q","codePointAt","Z","fromCodePoint","map","charCodeAt","fromCharCode","join","it","nt","fromJSONString","fromJSON","hasSameConstructorAs","inspect","contentsForInspection","toJSONString","stringify","toUTF16String","rt","ot","splice","st","at","dir","dirName","FormData","has","lt","ct","ut","ht","dt","ft","mt","gt","pt","bt","vt","At","head","insertBefore","xt","nonce","content","yt","Ct","getData","DOMParser","parseFromString","kt","platform","metaKey","ctrlKey","Et","setTimeout","Rt","St","wt","Tt","Lt","_wt2","Ft","Dt","_wt4","_wt6","Bt","update","selectionManagers","start","started","registerSelectionManager","unregisterSelectionManager","filter","notifySelectionManagersOfSelectionChange","selectionDidChange","Pt","It","getSelection","rangeCount","Nt","getRangeAt","Mt","Ot","removeAllRanges","addRange","jt","startContainer","endContainer","Wt","Vt","qt","source","Ut","Ht","utf16String","offset","zt","fromCommonAttributesOfObjects","Gt","getKeys","getKeysCommonToHash","Kt","merge","_t","Jt","$t","toArray","isEmpty","array","toObject","sort","Xt","groupObjects","_ref7","depth","asTree","canBeGrouped","canBeGroupedWith","_ref8","objects","getObjects","getDepth","Yt","find","Qt","Zt","elements","trixStoreKey","te","isPerforming","performing","hasPerformed","performed","hasSucceeded","succeeded","hasFailed","getPromise","promise","perform","release","cancel","ee","options","childViews","rootView","getNodes","nodes","createNodes","cloneNode","invalidate","parentView","invalidateViewForObject","findViewForObject","findOrCreateCachedChildView","getCachedViewForObject","recordChildView","createChildView","cacheViewForObject","viewClass","ie","getAllChildViews","findElement","findElementForObject","getViewCache","isViewCachingEnabled","viewCache","shouldCacheViews","enableViewCaching","disableViewCaching","garbageCollectCachedViews","objectGroup","getChildViews","createContainerElement","ne","re","oe","se","setHTML","sanitize","getHTML","outerHTML","_ref9","allowedAttributes","forbiddenProtocols","forbiddenElements","ae","sanitizeElements","normalizeListElementNesting","getBody","nextNode","currentNode","elementIsRemovable","sanitizeElement","hasAttribute","protocol","removeAttribute","indexOf","previousElementSibling","elementIsForbidden","elementIsntSerializable","implementation","createHTMLDocument","le","ce","uploadProgressDelegate","attachmentPiece","piece","createContentNodes","getClassName","getHref","tabindex","hasContent","getContent","createCaptionElement","isPending","progressElement","class","getUploadProgress","trixMutable","ue","getCaption","getCaptionConfig","getFilename","getFormattedFilesize","createTextNode","getType","getExtension","trixAttachment","trixContentType","getContentType","trixId","trixAttributes","trixSerialize","he","findProgressElement","attachmentDidChangeUploadProgress","de","previewDelegate","image","src","refresh","updateAttributesForImage","getURL","getPreviewURL","getWidth","getHeight","width","height","attachmentDidChangeAttributes","ge","getAttributes","textConfig","context","string","createAttachmentNodes","createStringNodes","firstElementChild","isPreviewable","preserveSpaces","styleProperty","isLast","isFirst","followsWhitespace","me","getPieces","pe","fe","be","block","createComment","getLastAttribute","shouldAddExtraNewlineElement","isRTL","_gt","_gt$htmlAttributes","assign","getBlockBreakPosition","entries","_t2","ve","render","sync","elementStore","setDocument","shadowElement","getBlocks","isSynced","xe","createDocumentFragmentForSync","lastChild","didSync","Ae","createDocumentFragment","replaceChild","ye","Ce","ke","Ee","Re","Se","De","Le","we","set","Te","Fe","Be","Pe","throw","Ie","registerType","types","copyWithAttributes","getValue","copyWithAdditionalAttributes","copyWithoutAttribute","copy","getAttributesHash","hasSameStringValueAsPiece","hasSameAttributesAsPiece","isBlockBreak","isSerializable","getLength","canBeConsolidatedWith","Ne","Image","onload","naturalWidth","naturalHeight","onerror","Oe","attachmentForFile","attributesForFile","setFile","filename","filesize","contentType","releaseFile","didChangeAttributes","setAttributes","preloadURL","previewablePattern","getFilesize","getFile","preloadFile","releasePreloadedFile","uploadProgress","setUploadProgress","previewURL","preloadingURL","setPreviewURL","attachmentDidChangePreviewURL","preload","fileObjectURL","URL","createObjectURL","revokeObjectURL","catch","Me","ensureAttachmentExclusivelyHasAttribute","removeProhibitedAttributes","permittedAttributes","toConsole","je","consolidateWith","splitAtOffset","We","eachObject","insertObjectAtIndex","insertSplittableListAtIndex","insertSplittableListAtPosition","_this$splitObjectAtPo2","splitObjectAtPosition","editObjectAtIndex","replaceObjectAtIndex","removeObjectAtIndex","getObjectAtIndex","getSplittableListInRange","_this$splitObjectsAtR2","splitObjectsAtRange","selectSplittableList","removeObjectsInRange","_this$splitObjectsAtR4","transformObjectsInRange","_this$splitObjectsAtR6","_this$constructor$spl2","_this$splitObjectAtPo4","qe","Ue","getObjectAtPosition","findIndexAndOffsetAtPosition","index","_this$findIndexAndOff2","_t$splitAtOffset2","consolidate","consolidateFromIndexToIndex","findPositionAtIndexAndOffset","getEndPosition","endPosition","Ve","He","textForAttachmentWithAttributes","textForStringWithAttributes","pieceList","copyWithPieceList","copyUsingObjectMap","appendText","insertTextAtPosition","removeTextAtRange","replaceTextAtRange","moveTextFromRangeToPosition","getTextAtRange","addAttributeAtRange","addAttributesAtRange","removeAttributeAtRange","setAttributesAtRange","getAttributesAtPosition","getCommonAttributes","getCommonAttributesAtRange","getExpandedRangeForAttributeAtOffset","getStringAtRange","getStringAtPosition","startsWithString","endsWithString","getAttachmentPieces","getAttachments","getAttachmentAndPositionById","position","getAttachmentById","getRangeOfAttachment","updateAttributesForAttachment","eachPiece","getPieceAtPosition","toSerializableText","getDirection","ze","_e","copyWithText","copyWithoutText","copyWithoutAttributes","addAttribute","Ye","addHTMLAttribute","Ze","removeLastAttribute","Qe","getAttributeLevel","getAttributeAtLevel","hasAttributes","getLastNestableAttribute","getNestableAttributes","getNestingLevel","decreaseNestingLevel","increaseNestingLevel","lastIndexOf","getListItemAttributes","isListItem","isTerminalBlock","breaksOnReturn","findLineBreakInDirectionFromPosition","getTextWithoutBlockBreak","$e","Je","Ge","Xe","Ke","blockBreak","ti","fromString","blockList","getBlockAtIndex","consolidateBlocks","copyUsingObjectsFromDocument","copyWithBaseBlockAttributes","replaceBlock","insertDocumentAtRange","_this$locationFromPos","locationFromPosition","getBlockAtPosition","mergeDocumentAtRange","getBaseBlockAttributes","getBlockCount","insertTextAtRange","_this$locationFromPos2","_t4","_Array$from2","locationRangeFromRange","_t6","getDocumentAtRange","_o$getBlocks2","eachBlockAtRange","eachBlock","getTextAtIndex","removeAttributeForAttachment","setHTMLAttributeAtPosition","insertBlockBreakAtRange","applyBlockAttributeAtRange","expandRangeToLineBreaksAndSplitBlocks","range","removeLastListAttributeAtRange","exceptAttributeName","convertLineBreaksToBlockBreaksInRange","removeBlockAttributesAtRange","removeLastTerminalAttributeAtRange","consolidateBlocksAtRange","_t10","positionFromLocation","_t14","getTextAtPosition","_this$locationFromPos7","getCharacterAtPosition","_this$locationFromPos8","getEditCount","editCount","_t16","getCommonAttributesAtPosition","ei","_this$locationFromPos9","getRangeOfCommonAttributeAtPosition","_this$locationFromPos10","_Array$from6","min","getLocationRangeOfAttachment","getAttachmentPieceForAttachment","findRangesForBlockAttribute","findRangesForTextAttribute","withValue","locationRangeFromPosition","_Array$from8","rangeFromLocationRange","getTexts","toSerializableDocument","ii","ni","ri","referenceElement","blocks","blockElements","processedElements","getDocument","createHiddenContainer","containerElement","li","processNode","translateBlockElementMarginsToNewlines","removeHiddenContainer","display","nextSibling","isInsignificantTextNode","appendBlockForTextNode","processTextNode","appendBlockForElement","processElement","currentBlockElement","isBlockElement","appendStringWithAttributes","getBlockAttributes","getBlockHTMLAttributes","currentBlock","appendBlockForAttributesWithElement","findParentBlockElement","appendEmptyBlock","parentElement","oi","hi","ci","getTextAttributes","appendAttachmentWithAttributes","isExtraBR","needsTableSeparator","appendPiece","appendStringToTextAtIndex","prependStringToTextAtIndex","unshift","findBlockElementAncestors","ui","si","getMarginOfDefaultBlockElement","getMarginOfBlockElementAtIndex","top","bottom","ai","whiteSpace","marginTop","marginBottom","FILTER_REJECT","FILTER_ACCEPT","di","gi","mi","pi","fi","HTMLElement","bi","vi","attachmentManager","requestRemovalOfAttachment","Ai","managedAttachments","manageAttachment","attachmentIsManaged","attachmentManagerDidRequestRemovalOfAttachment","unmanageAttachment","xi","composition","getSelectedRange","startPosition","startLocation","endLocation","previousCharacter","nextCharacter","shouldInsertBlockBreak","shouldBreakFormattedBlock","shouldDecreaseListLevel","shouldPrependListItem","shouldRemoveLastBlockAttribute","yi","currentAttributes","revision","refreshAttachments","compositionDidChangeDocument","getSnapshot","selectedRange","loadSnapshot","compositionWillLoadSnapshot","setSelection","compositionDidLoadSnapshot","insertText","updatePosition","notifyDelegateOfInsertionAtRange","insertBlock","insertDocument","insertString","getCurrentTextAttributes","insertBlockBreak","insertLineBreak","decreaseListLevel","removeLastBlockAttribute","breakFormattedBlock","insertHTML","replaceHTML","getLocationRange","insertFile","insertFiles","compositionShouldAcceptFile","insertAttachments","shouldManageDeletingInDirection","shouldManageMovingCursorInDirection","deleteInDirection","canDecreaseBlockAttributeLevel","getBlock","decreaseBlockAttributeLevel","getExpandedRangeInDirection","getAttachmentAtRange","editAttachment","moveTextFromRange","removeAttachment","stopEditingAttachment","_Array$from12","removeCurrentAttribute","insertPlaceholder","placeholderPosition","getPosition","selectPlaceholder","setSelectedRange","forgetPlaceholder","hasCurrentAttribute","toggleCurrentAttribute","setCurrentAttribute","canSetCurrentAttribute","canSetCurrentBlockAttribute","canSetCurrentTextAttribute","getSelectedDocument","setBlockAttribute","setTextAttribute","notifyDelegateOfCurrentAttributesChange","setHTMLAtributeAtPosition","_Array$from14","removeBlockAttribute","updateCurrentAttributes","removeTextAttribute","canDecreaseNestingLevel","canIncreaseNestingLevel","getPreviousBlock","ignoreLock","getCurrentAttributes","freezeSelection","thawSelection","hasFrozenSelection","compositionDidRequestChangingSelectionToLocationRange","getSelectionManager","setLocationRange","targetLocationRange","withTargetLocationRange","withTargetRange","withTargetDOMRange","createLocationRangeFromDOMRange","_Array$from18","translateUTF16PositionFromOffset","editingAttachment","moveCursorInDirection","expandSelectionInDirection","expandSelectionForEditing","expandSelectionAroundCommonAttribute","selectionContainsAttachments","getSelectedAttachments","selectionIsInCursorTarget","positionIsCursorTarget","locationIsCursorTarget","positionIsBlockBreak","_ref16","Set","added","removed","compositionDidRemoveAttachment","compositionDidAddAttachment","compositionDidEditAttachment","compositionDidChangeAttachmentPreviewURL","compositionDidStartEditingAttachment","compositionDidStopEditingAttachment","compositionDidChangeCurrentAttributes","compositionDidPerformInsertionAtRange","Ci","undoEntries","redoEntries","recordUndoEntry","_ref17","consolidatable","ki","createEntry","description","snapshot","canUndo","canRedo","_ref18","Ei","Ri","applyBlockAttribute","findRangesOfBlocks","findRangesOfPieces","moveSelectedRangeForward","Si","wi","Li","selectionManager","undoManager","filters","loadDocument","loadHTML","loadJSON","getClientRectAtPosition","getClientRectAtLocationRange","activateAttribute","attributeIsActive","canActivateAttribute","deactivateAttribute","_ref19","Di","findLocationFromContainerAndOffset","findAttachmentElementParentForNode","Pi","Ti","findContainerAndOffsetFromLocation","_this$findNodeAndOffs2","findNodeAndOffsetFromLocation","getSignificantNodesForIndex","Fi","Bi","Ii","createDOMRangeFromPoint","caretPositionFromPoint","_document$caretPositi","offsetNode","createRange","setStart","caretRangeFromPoint","createTextRange","moveToPoint","select","getClientRectsForDOMRange","getClientRects","Ni","didMouseDown","locationMapper","pointMapper","lockCount","currentLocationRange","lockedLocationRange","createDOMRangeFromLocationRange","updateCurrentLocationRange","setLocationRangeFromPointRange","getLocationAtPoint","lock","unlock","clearSelection","selectionIsCollapsed","collapsed","selectionIsExpanded","domRangeWithinElement","startOffset","endOffset","pauseTemporarily","paused","clearTimeout","locationRangeDidChange","setEnd","Oi","AttachmentManager","AttachmentPiece","Block","Composition","Document","Editor","HTMLParser","HTMLSanitizer","LineBreakInsertion","LocationMapper","ManagedAttachment","Piece","PointMapper","SelectionManager","SplittableList","StringPiece","Text","UndoManager","Mi","ObjectView","AttachmentView","BlockView","DocumentView","PieceView","PreviewableAttachmentView","TextView","ji","Wi","Vi","qi","do","undos","Ui","title","trixAction","didClickToolbar","didClickActionButton","placeholder","tabIndex","scrollHeight","didInputCaption","didKeyDownCaption","didChangeCaption","didBlurCaption","editCaption","container","install","makeElementMutable","addToolbar","installCaptionEditor","uninstall","savePendingCaption","didUninstallAttachmentEditor","pendingCaption","attachmentEditorDidRequestUpdatingAttributesForAttachment","attachmentEditorDidRequestRemovingAttributeForAttachment","stopPropagation","attachmentEditorDidRequestRemovalOfAttachment","keyCode","attachmentEditorDidRequestDeselectingAttachment","Hi","didFocus","didBlur","didClickAttachment","documentView","focused","compositionControllerDidFocus","blurPromise","compositionControllerDidBlur","findAttachmentForElement","compositionControllerDidSelectAttachment","getSerializableElement","isEditingAttachment","canSyncDocumentView","compositionControllerWillSyncDocumentView","compositionControllerDidSyncDocumentView","compositionControllerDidRender","rerenderViewForObject","refreshViewCache","attachmentEditor","installAttachmentEditorForAttachment","uninstallAttachmentEditor","compositionControllerWillUpdateAttachment","compositionControllerDidRequestRemovalOfAttachment","compositionControllerDidRequestDeselectingAttachment","zi","_i","Ji","Ki","childList","characterData","characterDataOldValue","subtree","Gi","didMutate","observer","MutationObserver","observe","disconnect","mutations","findSignificantMutations","elementDidMutate","getMutationSummary","mutationIsSignificant","nodeIsMutable","nodesModifiedByMutation","nodeIsSignificant","attributeName","addedNodes","removedNodes","getTextMutationSummary","_this$getTextChangesF","getTextChangesFromCharacterData","additions","deletions","getTextChangesFromChildList","textAdded","textDeleted","getMutationsByType","$i","_Ut","_Ut2","_Ut3","_Ut4","oldValue","Xi","FileReader","abort","readAsArrayBuffer","Yi","shouldIgnore","previousEvent","checkSamsungKeyboardBuggyModeStart","checkSamsungKeyboardBuggyModeEnd","buggyMode","insertingLongTextAfterUnidentifiedChar","Qi","innerText","inputType","isBeforeInputInsertText","previousEventWasUnidentifiedKeydown","tn","Zi","en","mutationObserver","flakyKeyboardDetector","events","handlerFor","editorWillSyncDocumentView","editorDidSyncDocumentView","requestRender","inputControllerDidRequestRender","requestReparse","inputControllerDidRequestReparse","all","handleInput","inputControllerWillAttachFiles","responder","defaultPrevented","eventName","inputControllerWillHandleInput","inputControllerDidHandleInput","createLinkHTML","nn","rn","on","sn","an","resetInputSummary","setInputSummary","inputSummary","isComposing","inputControllerDidAllowUnhandledInput","mutationIsExpected","preferDocument","didDelete","compositionInput","getEndData","getCompositionInput","dn","isEnded","serializeSelectionToDataTransfer","setData","canAcceptDataTransfer","Files","getPastedHTMLUsingHiddenElement","left","pageXOffset","pageYOffset","opacity","requestAnimationFrame","keydown","didInput","keyName","inputControllerDidReceiveKeyboardCommand","keypress","altKey","un","inputControllerWillPerformTyping","textInput","toUpperCase","dragenter","dragstart","dataTransfer","draggedRange","inputControllerDidStartDrag","dragover","clientX","clientY","draggingPoint","inputControllerDidReceiveDragOverPoint","dragend","inputControllerDidCancelDrag","drop","inputControllerWillMoveText","cut","clipboardData","inputControllerWillCutText","paste","testClipboardData","clipboard","hn","inputControllerWillPaste","inputControllerDidPaste","items","getAsFile","ln","compositionstart","compositionupdate","compositionend","end","beforeinput","backspace","tab","right","control","shift","alt","meta","cn","which","charCode","inputController","isSignificant","canApplyToDocument","gn","scheduledRender","composing","reparse","scheduleRender","cancelAnimationFrame","afterRender","toggleAttributeIfSupported","inputControllerWillPerformFormatting","activateAttributeIfSupported","getTargetDOMRange","minLength","getTargetRanges","mn","withEvent","An","shiftKey","bn","vn","inputTypes","dragging","point","xn","pn","ArrowLeft","ArrowRight","Backspace","Tab","deleteByComposition","deleteByCut","deleteByDrag","deleteByDragRange","deleteCompositionText","deleteContent","deleteContentBackward","deleteContentForward","deleteEntireSoftLine","deleteHardLineBackward","deleteHardLineForward","deleteSoftLineBackward","deleteSoftLineForward","deleteWordBackward","deleteWordForward","formatBackColor","formatBold","formatFontColor","formatFontName","formatIndent","formatItalic","formatJustifyCenter","formatJustifyFull","formatJustifyLeft","formatJustifyRight","formatOutdent","formatRemove","formatSetBlockTextDirection","formatSetInlineTextDirection","formatStrikeThrough","formatSubscript","formatSuperscript","formatUnderline","historyRedo","inputControllerWillPerformRedo","historyUndo","inputControllerWillPerformUndo","insertCompositionText","insertFromComposition","insertFromDrop","insertFromPaste","insertFromYank","insertLink","insertOrderedList","insertParagraph","insertReplacementText","insertTranspose","insertUnorderedList","yn","Cn","kn","En","Rn","Sn","wn","Ln","Tn","Dn","Fn","didClickAttributeButton","didClickDialogButton","didKeyDownDialogInput","actions","resetDialogInputs","toolbarDidClickButton","getDialog","toggleDialog","toolbarDidInvokeAction","toolbarDidToggleAttribute","refreshAttributeButtons","hideDialog","updateActions","refreshActionButtons","eachActionButton","disabled","updateAttributes","eachAttributeButton","dialogIsVisible","applyKeyboardCommand","showDialog","toolbarWillShowDialog","toolbarDidShowDialog","willValidate","checkValidity","toolbarDidUpdateAttribute","toolbarDidRemoveAttribute","toolbarDidHideDialog","Bn","editorElement","compositionController","toolbarController","notifyEditorElement","handlingInput","updateCurrentActions","pasting","pastedRange","attachmentLocationRange","loadingSnapshot","isFocused","requestedLocationRange","compositionRevisionWhenLocationRangeRequested","renderedCompositionRevision","runEditorFilters","isFocusedInvisibly","requestedRender","recordTypingUndoEntry","recordFormattingUndoEntry","locationRangeBeforeDrag","invokeAction","selectionFrozen","dialogName","canInvokeAction","actionIsExternal","actionName","invokingElement","getCurrentActions","currentActions","_t19","updateInputElement","setFormValue","documentChangedSinceLastRender","notify","getUndoContext","getLocationContext","getTimeContext","Date","getTime","ownerDocument","Pn","AttachmentEditorController","CompositionController","Controller","EditorController","InputController","Level0InputController","Level2InputController","ToolbarController","In","SelectionChangeObserver","Nn","FileVerificationOperation","ImagePreloadOperation","On","connectedCallback","Mn","Wn","Vn","qn","queryCommandSupported","execCommand","Un","Hn","WeakMap","zn","WeakSet","_n","attachInternals","Jn","disconnectedCallback","labels","inputElement","toggleAttribute","required","validity","validationMessage","reportValidity","setCustomValidity","_this$element","setValidity","valueMissing","customError","Kn","Gn","$n","Xn","form","contains","console","warn","Yn","Qn","formAssociated","localName","nextElementSibling","editorController","defaultValue","jn","formDisabledCallback","formResetCallback","Zn","VERSION","core","models","views","controllers","observers","operations","TrixEditorElement","TrixToolbarElement","Filter","attachmentGalleryFilter","customElements","sparkMd5","undefined$1","hex_chr","md5cycle","md5blk","md5blks","md5blk_array","md51","tail","tmp","lo","state","substring","md51_array","subarray","Uint8Array","rhex","hex","toUtf8","str","unescape","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arrayBuffer2Utf8Str","concatenateArrayBuffers","first","second","result","byteLength","buffer","hexToBinaryString","substr","SparkMD5","clamp","val","to","num","targetArray","sourceArray","begin","append","appendBinary","contents","_buff","_length","_hash","raw","ret","_finish","getState","hash","setState","hashBinary","factory","fileSlice","File","mozSlice","webkitSlice","FileChecksum","callback","chunkSize","chunkCount","ceil","chunkIndex","md5Buffer","fileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","btoa","root","selector","eventInit","detail","BlobRecord","checksum","customHeaders","content_type","byte_size","xhr","XMLHttpRequest","open","responseType","setRequestHeader","headerKey","csrfToken","getMetaValue","requestDidLoad","requestDidError","status","_this$xhr","send","blob","direct_upload","directUploadData","BlobUpload","_blob$directUploadDat","headers","_this$xhr2","DirectUpload","upload","methodName","_len","messages","_key","DirectUploadController","directUpload","dispatch","hiddenInput","insertAdjacentElement","dispatchError","signed_id","uploadRequestDidProgress","progress","loaded","total","directUploadWillCreateBlobWithXHR","directUploadWillStoreFileWithXHR","DirectUploadsController","inputs","createDirectUploadControllers","startNextController","controller","processingAttribute","submitButtonsByForm","didClick","button","didSubmitForm","handleFormSubmissionEvent","didSubmitRemoteElement","disable","enable","delete","submitForm","ActiveStorage","AttachmentUpload","directUploadUrl","directUploadDidComplete","sgid","attachable_sgid","createBlobUrl","signedId","blobUrlTemplate"],"mappings":"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","file":"js/application-6163751d4e9a58529589.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n","require(\"trix\")\nrequire(\"@rails/actiontext\")\n\nTrix.config.toolbar.getDefaultHTML = toolbarDefaultHTML;\ndocument.addEventListener('trix-initialize', updateToolbars, { once: true });\ndocument.addEventListener('trix-initialize', (event) => { new EmbedController(event.target) })\n\nfunction updateToolbars(_event) {\n Trix.config.textAttributes.underline = {\n tagName: \"u\",\n style: { textDecoration: \"underline\" },\n inheritable: true,\n parser: function (element) {\n var style = window.getComputedStyle(element);\n return style.textDecoration === \"underline\";\n },\n };\n\n const toolbars = document.querySelectorAll('trix-toolbar');\n const html = Trix.config.toolbar.getDefaultHTML();\n toolbars.forEach((toolbar) => (toolbar.innerHTML = html));\n}\n\nfunction toolbarDefaultHTML() {\n const {lang} = Trix.config;\n return `
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
`\n}\n\nconst allowedImageTypes = [\"image/png\", \"image/jpg\", \"image/jpeg\", \"image/gif\"]\ndocument.addEventListener(\"trix-file-accept\", e => {\n if (!allowedImageTypes.includes(e.file.type)) {\n e.preventDefault();\n }\n})\n\nclass EmbedController {\n constructor(element) {\n this.pattern = /^https:\\/\\/(([^\\.]+\\.)?youtube\\.com\\/watch\\?.*?v=|youtu\\.be\\/)([a-zA-Z0-9_-]{11}).*/\n this.element = element\n this.editor = element.editor\n this.toolbar = element.toolbarElement\n this.videoInputElement = this.toolbar.querySelector(\"[name='videoUrl']\")\n this.embedButton = this.toolbar.querySelector(\"[data-trix-method='embedVideo']\")\n\n this.reset()\n this.installEventHandlers()\n }\n\n installEventHandlers() {\n this.embedButton.addEventListener('click', this.embedVideo.bind(this))\n }\n\n async embedVideo() {\n let value = this.videoInputElement.value.trim()\n let matches = value.match(this.pattern)\n\n if (matches != null) {\n await this.fetchYouTube(matches[3])\n } else {\n alert(\"Invalid video URL. Please provide a valid YouTube link.\")\n }\n }\n\n async fetchYouTube(videoId) {\n const url = `/youtube/${encodeURIComponent(videoId)}`\n\n try {\n const response = await fetch(url)\n const embed = await response.text()\n this.insertEmbed(embed)\n } catch {\n alert(\"Failed to embed the video. Please try again.\")\n }\n }\n\n insertEmbed(embed) {\n let attachment = new Trix.Attachment(JSON.parse(embed))\n this.editor.insertAttachment(attachment)\n this.element.focus()\n }\n\n reset() {\n this.videoInputElement.value = \"\"\n }\n}\n\n// document.addEventListener(\"trix-initialize\", (event) => {\n// addInsertTakeawayButton(event.target);\n// });\n\n// function addInsertTakeawayButton(trixEditor) {\n// const toolbar = trixEditor.toolbarElement;\n\n// const customGroup = document.createElement(\"span\");\n// customGroup.className = \"trix-button-group trix-button-group--custom\";\n\n// const button = document.createElement(\"button\");\n// button.type = \"button\";\n// button.className = \"trix-button trix-button--insert-block\";\n// button.title = \"Insert Key Takeaways\";\n// button.textContent = \"Key Takeaways\";\n// button.style.padding = \"5px 10px\";\n// customGroup.appendChild(button);\n\n// const buttonRow = toolbar.querySelector(\".trix-button-row\");\n// buttonRow.appendChild(customGroup);\n\n// button.addEventListener(\"click\", () => insertKeyTakeaways(trixEditor));\n// }\n\n// function insertKeyTakeaways(trixEditor) {\n// const editor = trixEditor.editor;\n\n// const customBlockHTML = `\n// \n// Key Takeaways\n// \n// `;\n\n// // editor.insertLineBreak();\n// // editor.insertHTML(customHTML);\n// // Create a Trix attachment with the custom block content\n// const attachment = new Trix.Attachment({\n// content: customBlockHTML,\n// });\n\n// // Insert the attachment into the editor\n// editor.insertAttachment(attachment);\n// editor.insertLineBreak(); // Optional: Add a line break after the block\n// }\n\n// document.addEventListener(\"trix-initialize\", (event) => {\n// setupCustomBlockAttribute();\n// addInsertBlockButton(event.target);\n// });\n\n// // Add a custom button to the toolbar\n// function addInsertBlockButton(trixEditor) {\n// const toolbar = trixEditor.toolbarElement;\n\n// // Create a custom button group\n// const customGroup = document.createElement(\"span\");\n// customGroup.className = \"trix-button-group trix-button-group--custom\";\n\n// // Create the button\n// const button = document.createElement(\"button\");\n// button.type = \"button\";\n// button.className = \"trix-button trix-button--insert-block\";\n// button.title = \"Insert Editable Block\";\n// button.textContent = \"Block\"; // Label for the button\n// customGroup.appendChild(button);\n\n// // Append the button group to the toolbar\n// const buttonRow = toolbar.querySelector(\".trix-button-row\");\n// buttonRow.appendChild(customGroup);\n\n// // Add event listener to the button\n// button.addEventListener(\"click\", () => insertCustomBlock(trixEditor));\n// }\n\n// // Define a custom block attribute\n// function setupCustomBlockAttribute() {\n// Trix.config.blockAttributes.customBlock = {\n// tagName: \"div\",\n// terminal: true,\n// nestable: true,\n// };\n// }\n\n// // Function to insert the custom block\n// function insertCustomBlock(trixEditor) {\n// const editor = trixEditor.editor;\n\n// // Use Trix to insert a block with the custom attribute\n// editor.insertHTML(`\n//
\n//
Click here to edit this block.
\n//
\n// `);\n// }\n\n// document.addEventListener(\"trix-initialize\", (event) => {\n// setupCustomBlockAttribute();\n// addKeyTakeawaysButton(event.target);\n// });\n\n// Add the \"Key Takeaways\" button to the toolbar\n// function addKeyTakeawaysButton(trixEditor) {\n// const toolbar = trixEditor.toolbarElement;\n\n// // Create a custom button group\n// const customGroup = document.createElement(\"span\");\n// customGroup.className = \"trix-button-group trix-button-group--custom trix-button-group--text-tools\";\n\n// // Create the button\n// const button = document.createElement(\"button\");\n// button.type = \"button\";\n// button.className = \"trix-button trix-button--key-takeaways\";\n// button.title = \"Key Takeaways\";\n// button.textContent = \"Key Takeaways\"; // Button label\n// customGroup.appendChild(button);\n\n// // Append the button group to the toolbar\n// const buttonRow = toolbar.querySelector(\".trix-button-row\");\n// buttonRow.appendChild(customGroup);\n\n// // Add a click listener to open the input dialog\n// button.addEventListener(\"click\", () => openKeyTakeawaysInput(trixEditor));\n// }\n\n// Open the input dialog for adding bullet points\n// function openKeyTakeawaysInput(trixEditor) {\n// // Create a popup dialog\n// const modal = document.createElement(\"div\");\n// modal.className = \"key-takeaways-modal\";\n// modal.innerHTML = `\n//
\n//

Key Takeaways

\n// \n//
\n// \n// \n//
\n//
\n// `;\n// document.body.appendChild(modal);\n\n// // Add event listeners for the buttons\n// const insertButton = modal.querySelector(\".key-takeaways-insert\");\n// const cancelButton = modal.querySelector(\".key-takeaways-cancel\");\n// const textarea = modal.querySelector(\"textarea\");\n\n// insertButton.addEventListener(\"click\", () => {\n// const content = textarea.value.trim();\n// if (content) {\n// insertKeyTakeaways(trixEditor, content);\n// }\n// closeKeyTakeawaysModal(modal);\n// });\n\n// cancelButton.addEventListener(\"click\", () => closeKeyTakeawaysModal(modal));\n// }\n\n// Insert the key takeaways as an attachment\n// async function insertKeyTakeaways(trixEditor, content) {\n// const editor = trixEditor.editor;\n\n// // Convert the content into a bullet list\n// const contents = content.split(\"\\n\").map((line) => line.trim()).join(\",\");\n// const response = await fetch(`/key_takeaways/${contents}`)\n\n// const data = await response.text();\n// let attachment = new Trix.Attachment(JSON.parse(data))\n// editor.insertAttachment(attachment)\n// }\n\n// Close and remove the modal\n// function closeKeyTakeawaysModal(modal) {\n// document.body.removeChild(modal);\n// }\n\n// Optional: Add styles for the modal and key takeaways block\n// const style = document.createElement(\"style\");\n// style.textContent = `\n// .key-takeaways-modal {\n// position: fixed;\n// top: 50%;\n// left: 50%;\n// transform: translate(-50%, -50%);\n// z-index: 1000;\n// background: white;\n// padding: 20px;\n// border: 1px solid #ccc;\n// box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n// width: 400px;\n// }\n\n// .key-takeaways-modal-content h3 {\n// margin-top: 0;\n// }\n\n// .key-takeaways-modal-content textarea {\n// width: 100%;\n// height: 100px;\n// margin-bottom: 10px;\n// resize: none;\n// padding: 5px;\n// }\n\n// .key-takeaways-modal-actions {\n// display: flex;\n// justify-content: flex-end;\n// gap: 10px;\n// }\n\n// .key-takeaways-attachment {\n// border: 1px solid #ccc;\n// background: #f9f9f9;\n// padding: 10px;\n// margin: 10px 0;\n// }\n\n// .key-takeaways-attachment h4 {\n// margin: 0 0 10px;\n// }\n\n// .key-takeaways-attachment ul {\n// margin: 0;\n// padding-left: 20px;\n// }\n\n// .key-takeaways-attachment li {\n// margin-bottom: 5px;\n// }\n// `;\n// document.head.appendChild(style);\n\n","function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n/*\nTrix 2.1.8\nCopyright © 2024 37signals, LLC\n */\nvar t = \"2.1.8\";\nconst e = \"[data-trix-attachment]\",\n i = {\n preview: {\n presentation: \"gallery\",\n caption: {\n name: !0,\n size: !0\n }\n },\n file: {\n caption: {\n size: !0\n }\n }\n },\n n = {\n default: {\n tagName: \"div\",\n parse: !1\n },\n quote: {\n tagName: \"blockquote\",\n nestable: !0\n },\n heading1: {\n tagName: \"h1\",\n terminal: !0,\n breakOnReturn: !0,\n group: !1\n },\n code: {\n tagName: \"pre\",\n terminal: !0,\n htmlAttributes: [\"language\"],\n text: {\n plaintext: !0\n }\n },\n bulletList: {\n tagName: \"ul\",\n parse: !1\n },\n bullet: {\n tagName: \"li\",\n listAttribute: \"bulletList\",\n group: !1,\n nestable: !0,\n test(t) {\n return r(t.parentNode) === n[this.listAttribute].tagName;\n }\n },\n numberList: {\n tagName: \"ol\",\n parse: !1\n },\n number: {\n tagName: \"li\",\n listAttribute: \"numberList\",\n group: !1,\n nestable: !0,\n test(t) {\n return r(t.parentNode) === n[this.listAttribute].tagName;\n }\n },\n attachmentGallery: {\n tagName: \"div\",\n exclusive: !0,\n terminal: !0,\n parse: !1,\n group: !1\n }\n },\n r = t => {\n var e;\n return null == t || null === (e = t.tagName) || void 0 === e ? void 0 : e.toLowerCase();\n },\n o = navigator.userAgent.match(/android\\s([0-9]+.*Chrome)/i),\n s = o && parseInt(o[1]);\nvar a = {\n composesExistingText: /Android.*Chrome/.test(navigator.userAgent),\n recentAndroid: s && s > 12,\n samsungAndroid: s && navigator.userAgent.match(/Android.*SM-/),\n forcesObjectResizing: /Trident.*rv:11/.test(navigator.userAgent),\n supportsInputEvents: \"undefined\" != typeof InputEvent && [\"data\", \"getTargetRanges\", \"inputType\"].every(t => t in InputEvent.prototype)\n },\n l = {\n attachFiles: \"Attach Files\",\n bold: \"Bold\",\n bullets: \"Bullets\",\n byte: \"Byte\",\n bytes: \"Bytes\",\n captionPlaceholder: \"Add a caption…\",\n code: \"Code\",\n heading1: \"Heading\",\n indent: \"Increase Level\",\n italic: \"Italic\",\n link: \"Link\",\n numbers: \"Numbers\",\n outdent: \"Decrease Level\",\n quote: \"Quote\",\n redo: \"Redo\",\n remove: \"Remove\",\n strike: \"Strikethrough\",\n undo: \"Undo\",\n unlink: \"Unlink\",\n url: \"URL\",\n urlPlaceholder: \"Enter a URL…\",\n GB: \"GB\",\n KB: \"KB\",\n MB: \"MB\",\n PB: \"PB\",\n TB: \"TB\"\n };\nconst c = [l.bytes, l.KB, l.MB, l.GB, l.TB, l.PB];\nvar u = {\n prefix: \"IEC\",\n precision: 2,\n formatter(t) {\n switch (t) {\n case 0:\n return \"0 \".concat(l.bytes);\n case 1:\n return \"1 \".concat(l.byte);\n default:\n let e;\n \"SI\" === this.prefix ? e = 1e3 : \"IEC\" === this.prefix && (e = 1024);\n const i = Math.floor(Math.log(t) / Math.log(e)),\n n = (t / Math.pow(e, i)).toFixed(this.precision).replace(/0*$/, \"\").replace(/\\.$/, \"\");\n return \"\".concat(n, \" \").concat(c[i]);\n }\n }\n};\nconst h = \"\\ufeff\",\n d = \" \",\n g = function (t) {\n for (const e in t) {\n const i = t[e];\n this[e] = i;\n }\n return this;\n },\n m = document.documentElement,\n p = m.matches,\n f = function (t) {\n let _ref = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n e = _ref.onElement,\n i = _ref.matchingSelector,\n n = _ref.withCallback,\n r = _ref.inPhase,\n o = _ref.preventDefault,\n s = _ref.times;\n const a = e || m,\n l = i,\n c = \"capturing\" === r,\n u = function (t) {\n null != s && 0 == --s && u.destroy();\n const e = A(t.target, {\n matchingSelector: l\n });\n null != e && (null == n || n.call(e, t, e), o && t.preventDefault());\n };\n return u.destroy = () => a.removeEventListener(t, u, c), a.addEventListener(t, u, c), u;\n },\n b = function (t) {\n let _ref2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n e = _ref2.onElement,\n i = _ref2.bubbles,\n n = _ref2.cancelable,\n r = _ref2.attributes;\n const o = null != e ? e : m;\n i = !1 !== i, n = !1 !== n;\n const s = document.createEvent(\"Events\");\n return s.initEvent(t, i, n), null != r && g.call(s, r), o.dispatchEvent(s);\n },\n v = function (t, e) {\n if (1 === (null == t ? void 0 : t.nodeType)) return p.call(t, e);\n },\n A = function (t) {\n let _ref3 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n e = _ref3.matchingSelector,\n i = _ref3.untilNode;\n for (; t && t.nodeType !== Node.ELEMENT_NODE;) t = t.parentNode;\n if (null != t) {\n if (null == e) return t;\n if (t.closest && null == i) return t.closest(e);\n for (; t && t !== i;) {\n if (v(t, e)) return t;\n t = t.parentNode;\n }\n }\n },\n x = t => document.activeElement !== t && y(t, document.activeElement),\n y = function (t, e) {\n if (t && e) for (; e;) {\n if (e === t) return !0;\n e = e.parentNode;\n }\n },\n C = function (t) {\n var e;\n if (null === (e = t) || void 0 === e || !e.parentNode) return;\n let i = 0;\n for (t = t.previousSibling; t;) i++, t = t.previousSibling;\n return i;\n },\n k = t => {\n var e;\n return null == t || null === (e = t.parentNode) || void 0 === e ? void 0 : e.removeChild(t);\n },\n E = function (t) {\n let _ref4 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n e = _ref4.onlyNodesOfType,\n i = _ref4.usingFilter,\n n = _ref4.expandEntityReferences;\n const r = (() => {\n switch (e) {\n case \"element\":\n return NodeFilter.SHOW_ELEMENT;\n case \"text\":\n return NodeFilter.SHOW_TEXT;\n case \"comment\":\n return NodeFilter.SHOW_COMMENT;\n default:\n return NodeFilter.SHOW_ALL;\n }\n })();\n return document.createTreeWalker(t, r, null != i ? i : null, !0 === n);\n },\n R = t => {\n var e;\n return null == t || null === (e = t.tagName) || void 0 === e ? void 0 : e.toLowerCase();\n },\n S = function (t) {\n let e,\n i,\n n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\n \"object\" == typeof t ? (n = t, t = n.tagName) : n = {\n attributes: n\n };\n const r = document.createElement(t);\n if (null != n.editable && (null == n.attributes && (n.attributes = {}), n.attributes.contenteditable = n.editable), n.attributes) for (e in n.attributes) i = n.attributes[e], r.setAttribute(e, i);\n if (n.style) for (e in n.style) i = n.style[e], r.style[e] = i;\n if (n.data) for (e in n.data) i = n.data[e], r.dataset[e] = i;\n return n.className && n.className.split(\" \").forEach(t => {\n r.classList.add(t);\n }), n.textContent && (r.textContent = n.textContent), n.childNodes && [].concat(n.childNodes).forEach(t => {\n r.appendChild(t);\n }), r;\n };\nlet w;\nconst L = function () {\n if (null != w) return w;\n w = [];\n for (const t in n) {\n const e = n[t];\n e.tagName && w.push(e.tagName);\n }\n return w;\n },\n D = t => F(null == t ? void 0 : t.firstChild),\n T = function (t) {\n let _ref5 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {\n strict: !0\n },\n e = _ref5.strict;\n return e ? F(t) : F(t) || !F(t.firstChild) && function (t) {\n return L().includes(R(t)) && !L().includes(R(t.firstChild));\n }(t);\n },\n F = t => B(t) && \"block\" === (null == t ? void 0 : t.data),\n B = t => (null == t ? void 0 : t.nodeType) === Node.COMMENT_NODE,\n P = function (t) {\n let _ref6 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n e = _ref6.name;\n if (t) return O(t) ? t.data === h ? !e || t.parentNode.dataset.trixCursorTarget === e : void 0 : P(t.firstChild);\n },\n I = t => v(t, e),\n N = t => O(t) && \"\" === (null == t ? void 0 : t.data),\n O = t => (null == t ? void 0 : t.nodeType) === Node.TEXT_NODE,\n M = {\n level2Enabled: !0,\n getLevel() {\n return this.level2Enabled && a.supportsInputEvents ? 2 : 0;\n },\n pickFiles(t) {\n const e = S(\"input\", {\n type: \"file\",\n multiple: !0,\n hidden: !0,\n id: this.fileInputId\n });\n e.addEventListener(\"change\", () => {\n t(e.files), k(e);\n }), k(document.getElementById(this.fileInputId)), document.body.appendChild(e), e.click();\n }\n };\nvar j = {\n removeBlankTableCells: !1,\n tableCellSeparator: \" | \",\n tableRowSeparator: \"\\n\"\n },\n W = {\n bold: {\n tagName: \"strong\",\n inheritable: !0,\n parser(t) {\n const e = window.getComputedStyle(t);\n return \"bold\" === e.fontWeight || e.fontWeight >= 600;\n }\n },\n italic: {\n tagName: \"em\",\n inheritable: !0,\n parser: t => \"italic\" === window.getComputedStyle(t).fontStyle\n },\n href: {\n groupTagName: \"a\",\n parser(t) {\n const i = \"a:not(\".concat(e, \")\"),\n n = t.closest(i);\n if (n) return n.getAttribute(\"href\");\n }\n },\n strike: {\n tagName: \"del\",\n inheritable: !0\n },\n frozen: {\n style: {\n backgroundColor: \"highlight\"\n }\n }\n },\n V = {\n getDefaultHTML: () => '
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n
\\n\\n
\\n
\\n \\n
\\n
')\n };\nconst q = {\n interval: 5e3\n};\nvar U = Object.freeze({\n __proto__: null,\n attachments: i,\n blockAttributes: n,\n browser: a,\n css: {\n attachment: \"attachment\",\n attachmentCaption: \"attachment__caption\",\n attachmentCaptionEditor: \"attachment__caption-editor\",\n attachmentMetadata: \"attachment__metadata\",\n attachmentMetadataContainer: \"attachment__metadata-container\",\n attachmentName: \"attachment__name\",\n attachmentProgress: \"attachment__progress\",\n attachmentSize: \"attachment__size\",\n attachmentToolbar: \"attachment__toolbar\",\n attachmentGallery: \"attachment-gallery\"\n },\n fileSize: u,\n input: M,\n keyNames: {\n 8: \"backspace\",\n 9: \"tab\",\n 13: \"return\",\n 27: \"escape\",\n 37: \"left\",\n 39: \"right\",\n 46: \"delete\",\n 68: \"d\",\n 72: \"h\",\n 79: \"o\"\n },\n lang: l,\n parser: j,\n textAttributes: W,\n toolbar: V,\n undo: q\n});\nclass H {\n static proxyMethod(t) {\n const _z = z(t),\n e = _z.name,\n i = _z.toMethod,\n n = _z.toProperty,\n r = _z.optional;\n this.prototype[e] = function () {\n let t, o;\n var s, a;\n i ? o = r ? null === (s = this[i]) || void 0 === s ? void 0 : s.call(this) : this[i]() : n && (o = this[n]);\n return r ? (t = null === (a = o) || void 0 === a ? void 0 : a[e], t ? _.call(t, o, arguments) : void 0) : (t = o[e], _.call(t, o, arguments));\n };\n }\n}\nconst z = function (t) {\n const e = t.match(J);\n if (!e) throw new Error(\"can't parse @proxyMethod expression: \".concat(t));\n const i = {\n name: e[4]\n };\n return null != e[2] ? i.toMethod = e[1] : i.toProperty = e[1], null != e[3] && (i.optional = !0), i;\n },\n _ = Function.prototype.apply,\n J = new RegExp(\"^(.+?)(\\\\(\\\\))?(\\\\?)?\\\\.(.+?)$\");\nvar K, G, $;\nclass X extends H {\n static box() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"\";\n return t instanceof this ? t : this.fromUCS2String(null == t ? void 0 : t.toString());\n }\n static fromUCS2String(t) {\n return new this(t, tt(t));\n }\n static fromCodepoints(t) {\n return new this(et(t), t);\n }\n constructor(t, e) {\n super(...arguments), this.ucs2String = t, this.codepoints = e, this.length = this.codepoints.length, this.ucs2Length = this.ucs2String.length;\n }\n offsetToUCS2Offset(t) {\n return et(this.codepoints.slice(0, Math.max(0, t))).length;\n }\n offsetFromUCS2Offset(t) {\n return tt(this.ucs2String.slice(0, Math.max(0, t))).length;\n }\n slice() {\n return this.constructor.fromCodepoints(this.codepoints.slice(...arguments));\n }\n charAt(t) {\n return this.slice(t, t + 1);\n }\n isEqualTo(t) {\n return this.constructor.box(t).ucs2String === this.ucs2String;\n }\n toJSON() {\n return this.ucs2String;\n }\n getCacheKey() {\n return this.ucs2String;\n }\n toString() {\n return this.ucs2String;\n }\n}\nconst Y = 1 === (null === (K = Array.from) || void 0 === K ? void 0 : K.call(Array, \"👼\").length),\n Q = null != (null === (G = \" \".codePointAt) || void 0 === G ? void 0 : G.call(\" \", 0)),\n Z = \" 👼\" === (null === ($ = String.fromCodePoint) || void 0 === $ ? void 0 : $.call(String, 32, 128124));\nlet tt, et;\ntt = Y && Q ? t => Array.from(t).map(t => t.codePointAt(0)) : function (t) {\n const e = [];\n let i = 0;\n const n = t.length;\n for (; i < n;) {\n let r = t.charCodeAt(i++);\n if (55296 <= r && r <= 56319 && i < n) {\n const e = t.charCodeAt(i++);\n 56320 == (64512 & e) ? r = ((1023 & r) << 10) + (1023 & e) + 65536 : i--;\n }\n e.push(r);\n }\n return e;\n}, et = Z ? t => String.fromCodePoint(...Array.from(t || [])) : function (t) {\n return (() => {\n const e = [];\n return Array.from(t).forEach(t => {\n let i = \"\";\n t > 65535 && (t -= 65536, i += String.fromCharCode(t >>> 10 & 1023 | 55296), t = 56320 | 1023 & t), e.push(i + String.fromCharCode(t));\n }), e;\n })().join(\"\");\n};\nlet it = 0;\nclass nt extends H {\n static fromJSONString(t) {\n return this.fromJSON(JSON.parse(t));\n }\n constructor() {\n super(...arguments), this.id = ++it;\n }\n hasSameConstructorAs(t) {\n return this.constructor === (null == t ? void 0 : t.constructor);\n }\n isEqualTo(t) {\n return this === t;\n }\n inspect() {\n const t = [],\n e = this.contentsForInspection() || {};\n for (const i in e) {\n const n = e[i];\n t.push(\"\".concat(i, \"=\").concat(n));\n }\n return \"#<\".concat(this.constructor.name, \":\").concat(this.id).concat(t.length ? \" \".concat(t.join(\", \")) : \"\", \">\");\n }\n contentsForInspection() {}\n toJSONString() {\n return JSON.stringify(this);\n }\n toUTF16String() {\n return X.box(this);\n }\n getCacheKey() {\n return this.id.toString();\n }\n}\nconst rt = function () {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],\n e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];\n if (t.length !== e.length) return !1;\n for (let i = 0; i < t.length; i++) {\n if (t[i] !== e[i]) return !1;\n }\n return !0;\n },\n ot = function (t) {\n const e = t.slice(0);\n for (var i = arguments.length, n = new Array(i > 1 ? i - 1 : 0), r = 1; r < i; r++) n[r - 1] = arguments[r];\n return e.splice(...n), e;\n },\n st = /[\\u05BE\\u05C0\\u05C3\\u05D0-\\u05EA\\u05F0-\\u05F4\\u061B\\u061F\\u0621-\\u063A\\u0640-\\u064A\\u066D\\u0671-\\u06B7\\u06BA-\\u06BE\\u06C0-\\u06CE\\u06D0-\\u06D5\\u06E5\\u06E6\\u200F\\u202B\\u202E\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE72\\uFE74\\uFE76-\\uFEFC]/,\n at = function () {\n const t = S(\"input\", {\n dir: \"auto\",\n name: \"x\",\n dirName: \"x.dir\"\n }),\n e = S(\"textarea\", {\n dir: \"auto\",\n name: \"y\",\n dirName: \"y.dir\"\n }),\n i = S(\"form\");\n i.appendChild(t), i.appendChild(e);\n const n = function () {\n try {\n return new FormData(i).has(e.dirName);\n } catch (t) {\n return !1;\n }\n }(),\n r = function () {\n try {\n return t.matches(\":dir(ltr),:dir(rtl)\");\n } catch (t) {\n return !1;\n }\n }();\n return n ? function (t) {\n return e.value = t, new FormData(i).get(e.dirName);\n } : r ? function (e) {\n return t.value = e, t.matches(\":dir(rtl)\") ? \"rtl\" : \"ltr\";\n } : function (t) {\n const e = t.trim().charAt(0);\n return st.test(e) ? \"rtl\" : \"ltr\";\n };\n }();\nlet lt = null,\n ct = null,\n ut = null,\n ht = null;\nconst dt = () => (lt || (lt = ft().concat(mt())), lt),\n gt = t => n[t],\n mt = () => (ct || (ct = Object.keys(n)), ct),\n pt = t => W[t],\n ft = () => (ut || (ut = Object.keys(W)), ut),\n bt = function (t, e) {\n vt(t).textContent = e.replace(/%t/g, t);\n },\n vt = function (t) {\n const e = document.createElement(\"style\");\n e.setAttribute(\"type\", \"text/css\"), e.setAttribute(\"data-tag-name\", t.toLowerCase());\n const i = At();\n return i && e.setAttribute(\"nonce\", i), document.head.insertBefore(e, document.head.firstChild), e;\n },\n At = function () {\n const t = xt(\"trix-csp-nonce\") || xt(\"csp-nonce\");\n if (t) {\n const e = t.nonce,\n i = t.content;\n return \"\" == e ? i : e;\n }\n },\n xt = t => document.head.querySelector(\"meta[name=\".concat(t, \"]\")),\n yt = {\n \"application/x-trix-feature-detection\": \"test\"\n },\n Ct = function (t) {\n const e = t.getData(\"text/plain\"),\n i = t.getData(\"text/html\");\n if (!e || !i) return null == e ? void 0 : e.length;\n {\n const _DOMParser$parseFromS = new DOMParser().parseFromString(i, \"text/html\"),\n t = _DOMParser$parseFromS.body;\n if (t.textContent === e) return !t.querySelector(\"*\");\n }\n },\n kt = /Mac|^iP/.test(navigator.platform) ? t => t.metaKey : t => t.ctrlKey;\nconst Et = t => setTimeout(t, 1),\n Rt = function () {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\n const e = {};\n for (const i in t) {\n const n = t[i];\n e[i] = n;\n }\n return e;\n },\n St = function () {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},\n e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\n if (Object.keys(t).length !== Object.keys(e).length) return !1;\n for (const i in t) {\n if (t[i] !== e[i]) return !1;\n }\n return !0;\n },\n wt = function (t) {\n if (null != t) return Array.isArray(t) || (t = [t, t]), [Tt(t[0]), Tt(null != t[1] ? t[1] : t[0])];\n },\n Lt = function (t) {\n if (null == t) return;\n const _wt = wt(t),\n _wt2 = _slicedToArray(_wt, 2),\n e = _wt2[0],\n i = _wt2[1];\n return Ft(e, i);\n },\n Dt = function (t, e) {\n if (null == t || null == e) return;\n const _wt3 = wt(t),\n _wt4 = _slicedToArray(_wt3, 2),\n i = _wt4[0],\n n = _wt4[1],\n _wt5 = wt(e),\n _wt6 = _slicedToArray(_wt5, 2),\n r = _wt6[0],\n o = _wt6[1];\n return Ft(i, r) && Ft(n, o);\n },\n Tt = function (t) {\n return \"number\" == typeof t ? t : Rt(t);\n },\n Ft = function (t, e) {\n return \"number\" == typeof t ? t === e : St(t, e);\n };\nclass Bt extends H {\n constructor() {\n super(...arguments), this.update = this.update.bind(this), this.selectionManagers = [];\n }\n start() {\n this.started || (this.started = !0, document.addEventListener(\"selectionchange\", this.update, !0));\n }\n stop() {\n if (this.started) return this.started = !1, document.removeEventListener(\"selectionchange\", this.update, !0);\n }\n registerSelectionManager(t) {\n if (!this.selectionManagers.includes(t)) return this.selectionManagers.push(t), this.start();\n }\n unregisterSelectionManager(t) {\n if (this.selectionManagers = this.selectionManagers.filter(e => e !== t), 0 === this.selectionManagers.length) return this.stop();\n }\n notifySelectionManagersOfSelectionChange() {\n return this.selectionManagers.map(t => t.selectionDidChange());\n }\n update() {\n this.notifySelectionManagersOfSelectionChange();\n }\n reset() {\n this.update();\n }\n}\nconst Pt = new Bt(),\n It = function () {\n const t = window.getSelection();\n if (t.rangeCount > 0) return t;\n },\n Nt = function () {\n var t;\n const e = null === (t = It()) || void 0 === t ? void 0 : t.getRangeAt(0);\n if (e && !Mt(e)) return e;\n },\n Ot = function (t) {\n const e = window.getSelection();\n return e.removeAllRanges(), e.addRange(t), Pt.update();\n },\n Mt = t => jt(t.startContainer) || jt(t.endContainer),\n jt = t => !Object.getPrototypeOf(t),\n Wt = t => t.replace(new RegExp(\"\".concat(h), \"g\"), \"\").replace(new RegExp(\"\".concat(d), \"g\"), \" \"),\n Vt = new RegExp(\"[^\\\\S\".concat(d, \"]\")),\n qt = t => t.replace(new RegExp(\"\".concat(Vt.source), \"g\"), \" \").replace(/\\ {2,}/g, \" \"),\n Ut = function (t, e) {\n if (t.isEqualTo(e)) return [\"\", \"\"];\n const i = Ht(t, e),\n n = i.utf16String.length;\n let r;\n if (n) {\n const o = i.offset,\n s = t.codepoints.slice(0, o).concat(t.codepoints.slice(o + n));\n r = Ht(e, X.fromCodepoints(s));\n } else r = Ht(e, t);\n return [i.utf16String.toString(), r.utf16String.toString()];\n },\n Ht = function (t, e) {\n let i = 0,\n n = t.length,\n r = e.length;\n for (; i < n && t.charAt(i).isEqualTo(e.charAt(i));) i++;\n for (; n > i + 1 && t.charAt(n - 1).isEqualTo(e.charAt(r - 1));) n--, r--;\n return {\n utf16String: t.slice(i, n),\n offset: i\n };\n };\nclass zt extends nt {\n static fromCommonAttributesOfObjects() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\n if (!t.length) return new this();\n let e = Gt(t[0]),\n i = e.getKeys();\n return t.slice(1).forEach(t => {\n i = e.getKeysCommonToHash(Gt(t)), e = e.slice(i);\n }), e;\n }\n static box(t) {\n return Gt(t);\n }\n constructor() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\n super(...arguments), this.values = Kt(t);\n }\n add(t, e) {\n return this.merge(_t(t, e));\n }\n remove(t) {\n return new zt(Kt(this.values, t));\n }\n get(t) {\n return this.values[t];\n }\n has(t) {\n return t in this.values;\n }\n merge(t) {\n return new zt(Jt(this.values, $t(t)));\n }\n slice(t) {\n const e = {};\n return Array.from(t).forEach(t => {\n this.has(t) && (e[t] = this.values[t]);\n }), new zt(e);\n }\n getKeys() {\n return Object.keys(this.values);\n }\n getKeysCommonToHash(t) {\n return t = Gt(t), this.getKeys().filter(e => this.values[e] === t.values[e]);\n }\n isEqualTo(t) {\n return rt(this.toArray(), Gt(t).toArray());\n }\n isEmpty() {\n return 0 === this.getKeys().length;\n }\n toArray() {\n if (!this.array) {\n const t = [];\n for (const e in this.values) {\n const i = this.values[e];\n t.push(t.push(e, i));\n }\n this.array = t.slice(0);\n }\n return this.array;\n }\n toObject() {\n return Kt(this.values);\n }\n toJSON() {\n return this.toObject();\n }\n contentsForInspection() {\n return {\n values: JSON.stringify(this.values)\n };\n }\n}\nconst _t = function (t, e) {\n const i = {};\n return i[t] = e, i;\n },\n Jt = function (t, e) {\n const i = Kt(t);\n for (const t in e) {\n const n = e[t];\n i[t] = n;\n }\n return i;\n },\n Kt = function (t, e) {\n const i = {};\n return Object.keys(t).sort().forEach(n => {\n n !== e && (i[n] = t[n]);\n }), i;\n },\n Gt = function (t) {\n return t instanceof zt ? t : new zt(t);\n },\n $t = function (t) {\n return t instanceof zt ? t.values : t;\n };\nclass Xt {\n static groupObjects() {\n let t,\n e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],\n _ref7 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n i = _ref7.depth,\n n = _ref7.asTree;\n n && null == i && (i = 0);\n const r = [];\n return Array.from(e).forEach(e => {\n var o;\n if (t) {\n var s, a, l;\n if (null !== (s = e.canBeGrouped) && void 0 !== s && s.call(e, i) && null !== (a = (l = t[t.length - 1]).canBeGroupedWith) && void 0 !== a && a.call(l, e, i)) return void t.push(e);\n r.push(new this(t, {\n depth: i,\n asTree: n\n })), t = null;\n }\n null !== (o = e.canBeGrouped) && void 0 !== o && o.call(e, i) ? t = [e] : r.push(e);\n }), t && r.push(new this(t, {\n depth: i,\n asTree: n\n })), r;\n }\n constructor() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],\n _ref8 = arguments.length > 1 ? arguments[1] : void 0,\n e = _ref8.depth,\n i = _ref8.asTree;\n this.objects = t, i && (this.depth = e, this.objects = this.constructor.groupObjects(this.objects, {\n asTree: i,\n depth: this.depth + 1\n }));\n }\n getObjects() {\n return this.objects;\n }\n getDepth() {\n return this.depth;\n }\n getCacheKey() {\n const t = [\"objectGroup\"];\n return Array.from(this.getObjects()).forEach(e => {\n t.push(e.getCacheKey());\n }), t.join(\"/\");\n }\n}\nclass Yt extends H {\n constructor() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\n super(...arguments), this.objects = {}, Array.from(t).forEach(t => {\n const e = JSON.stringify(t);\n null == this.objects[e] && (this.objects[e] = t);\n });\n }\n find(t) {\n const e = JSON.stringify(t);\n return this.objects[e];\n }\n}\nclass Qt {\n constructor(t) {\n this.reset(t);\n }\n add(t) {\n const e = Zt(t);\n this.elements[e] = t;\n }\n remove(t) {\n const e = Zt(t),\n i = this.elements[e];\n if (i) return delete this.elements[e], i;\n }\n reset() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\n return this.elements = {}, Array.from(t).forEach(t => {\n this.add(t);\n }), t;\n }\n}\nconst Zt = t => t.dataset.trixStoreKey;\nclass te extends H {\n isPerforming() {\n return !0 === this.performing;\n }\n hasPerformed() {\n return !0 === this.performed;\n }\n hasSucceeded() {\n return this.performed && this.succeeded;\n }\n hasFailed() {\n return this.performed && !this.succeeded;\n }\n getPromise() {\n return this.promise || (this.promise = new Promise((t, e) => (this.performing = !0, this.perform((i, n) => {\n this.succeeded = i, this.performing = !1, this.performed = !0, this.succeeded ? t(n) : e(n);\n })))), this.promise;\n }\n perform(t) {\n return t(!1);\n }\n release() {\n var t, e;\n null === (t = this.promise) || void 0 === t || null === (e = t.cancel) || void 0 === e || e.call(t), this.promise = null, this.performing = null, this.performed = null, this.succeeded = null;\n }\n}\nte.proxyMethod(\"getPromise().then\"), te.proxyMethod(\"getPromise().catch\");\nclass ee extends H {\n constructor(t) {\n let e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\n super(...arguments), this.object = t, this.options = e, this.childViews = [], this.rootView = this;\n }\n getNodes() {\n return this.nodes || (this.nodes = this.createNodes()), this.nodes.map(t => t.cloneNode(!0));\n }\n invalidate() {\n var t;\n return this.nodes = null, this.childViews = [], null === (t = this.parentView) || void 0 === t ? void 0 : t.invalidate();\n }\n invalidateViewForObject(t) {\n var e;\n return null === (e = this.findViewForObject(t)) || void 0 === e ? void 0 : e.invalidate();\n }\n findOrCreateCachedChildView(t, e, i) {\n let n = this.getCachedViewForObject(e);\n return n ? this.recordChildView(n) : (n = this.createChildView(...arguments), this.cacheViewForObject(n, e)), n;\n }\n createChildView(t, e) {\n let i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\n e instanceof Xt && (i.viewClass = t, t = ie);\n const n = new t(e, i);\n return this.recordChildView(n);\n }\n recordChildView(t) {\n return t.parentView = this, t.rootView = this.rootView, this.childViews.push(t), t;\n }\n getAllChildViews() {\n let t = [];\n return this.childViews.forEach(e => {\n t.push(e), t = t.concat(e.getAllChildViews());\n }), t;\n }\n findElement() {\n return this.findElementForObject(this.object);\n }\n findElementForObject(t) {\n const e = null == t ? void 0 : t.id;\n if (e) return this.rootView.element.querySelector(\"[data-trix-id='\".concat(e, \"']\"));\n }\n findViewForObject(t) {\n for (const e of this.getAllChildViews()) if (e.object === t) return e;\n }\n getViewCache() {\n return this.rootView !== this ? this.rootView.getViewCache() : this.isViewCachingEnabled() ? (this.viewCache || (this.viewCache = {}), this.viewCache) : void 0;\n }\n isViewCachingEnabled() {\n return !1 !== this.shouldCacheViews;\n }\n enableViewCaching() {\n this.shouldCacheViews = !0;\n }\n disableViewCaching() {\n this.shouldCacheViews = !1;\n }\n getCachedViewForObject(t) {\n var e;\n return null === (e = this.getViewCache()) || void 0 === e ? void 0 : e[t.getCacheKey()];\n }\n cacheViewForObject(t, e) {\n const i = this.getViewCache();\n i && (i[e.getCacheKey()] = t);\n }\n garbageCollectCachedViews() {\n const t = this.getViewCache();\n if (t) {\n const e = this.getAllChildViews().concat(this).map(t => t.object.getCacheKey());\n for (const i in t) e.includes(i) || delete t[i];\n }\n }\n}\nclass ie extends ee {\n constructor() {\n super(...arguments), this.objectGroup = this.object, this.viewClass = this.options.viewClass, delete this.options.viewClass;\n }\n getChildViews() {\n return this.childViews.length || Array.from(this.objectGroup.getObjects()).forEach(t => {\n this.findOrCreateCachedChildView(this.viewClass, t, this.options);\n }), this.childViews;\n }\n createNodes() {\n const t = this.createContainerElement();\n return this.getChildViews().forEach(e => {\n Array.from(e.getNodes()).forEach(e => {\n t.appendChild(e);\n });\n }), [t];\n }\n createContainerElement() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.objectGroup.getDepth();\n return this.getChildViews()[0].createContainerElement(t);\n }\n}\nconst ne = \"style href src width height language class\".split(\" \"),\n re = \"javascript:\".split(\" \"),\n oe = \"script iframe form noscript\".split(\" \");\nclass se extends H {\n static setHTML(t, e) {\n const i = new this(e).sanitize(),\n n = i.getHTML ? i.getHTML() : i.outerHTML;\n t.innerHTML = n;\n }\n static sanitize(t, e) {\n const i = new this(t, e);\n return i.sanitize(), i;\n }\n constructor(t) {\n let _ref9 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n e = _ref9.allowedAttributes,\n i = _ref9.forbiddenProtocols,\n n = _ref9.forbiddenElements;\n super(...arguments), this.allowedAttributes = e || ne, this.forbiddenProtocols = i || re, this.forbiddenElements = n || oe, this.body = ae(t);\n }\n sanitize() {\n return this.sanitizeElements(), this.normalizeListElementNesting();\n }\n getHTML() {\n return this.body.innerHTML;\n }\n getBody() {\n return this.body;\n }\n sanitizeElements() {\n const t = E(this.body),\n e = [];\n for (; t.nextNode();) {\n const i = t.currentNode;\n switch (i.nodeType) {\n case Node.ELEMENT_NODE:\n this.elementIsRemovable(i) ? e.push(i) : this.sanitizeElement(i);\n break;\n case Node.COMMENT_NODE:\n e.push(i);\n }\n }\n return e.forEach(t => k(t)), this.body;\n }\n sanitizeElement(t) {\n return t.hasAttribute(\"href\") && this.forbiddenProtocols.includes(t.protocol) && t.removeAttribute(\"href\"), Array.from(t.attributes).forEach(e => {\n let i = e.name;\n this.allowedAttributes.includes(i) || 0 === i.indexOf(\"data-trix\") || t.removeAttribute(i);\n }), t;\n }\n normalizeListElementNesting() {\n return Array.from(this.body.querySelectorAll(\"ul,ol\")).forEach(t => {\n const e = t.previousElementSibling;\n e && \"li\" === R(e) && e.appendChild(t);\n }), this.body;\n }\n elementIsRemovable(t) {\n if ((null == t ? void 0 : t.nodeType) === Node.ELEMENT_NODE) return this.elementIsForbidden(t) || this.elementIsntSerializable(t);\n }\n elementIsForbidden(t) {\n return this.forbiddenElements.includes(R(t));\n }\n elementIsntSerializable(t) {\n return \"false\" === t.getAttribute(\"data-trix-serialize\") && !I(t);\n }\n}\nconst ae = function () {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"\";\n t = t.replace(/<\\/html[^>]*>[^]*$/i, \"\");\n const e = document.implementation.createHTMLDocument(\"\");\n return e.documentElement.innerHTML = t, Array.from(e.head.querySelectorAll(\"style\")).forEach(t => {\n e.body.appendChild(t);\n }), e.body;\n },\n le = U.css;\nclass ce extends ee {\n constructor() {\n super(...arguments), this.attachment = this.object, this.attachment.uploadProgressDelegate = this, this.attachmentPiece = this.options.piece;\n }\n createContentNodes() {\n return [];\n }\n createNodes() {\n let t;\n const e = t = S({\n tagName: \"figure\",\n className: this.getClassName(),\n data: this.getData(),\n editable: !1\n }),\n i = this.getHref();\n return i && (t = S({\n tagName: \"a\",\n editable: !1,\n attributes: {\n href: i,\n tabindex: -1\n }\n }), e.appendChild(t)), this.attachment.hasContent() ? se.setHTML(t, this.attachment.getContent()) : this.createContentNodes().forEach(e => {\n t.appendChild(e);\n }), t.appendChild(this.createCaptionElement()), this.attachment.isPending() && (this.progressElement = S({\n tagName: \"progress\",\n attributes: {\n class: le.attachmentProgress,\n value: this.attachment.getUploadProgress(),\n max: 100\n },\n data: {\n trixMutable: !0,\n trixStoreKey: [\"progressElement\", this.attachment.id].join(\"/\")\n }\n }), e.appendChild(this.progressElement)), [ue(\"left\"), e, ue(\"right\")];\n }\n createCaptionElement() {\n const t = S({\n tagName: \"figcaption\",\n className: le.attachmentCaption\n }),\n e = this.attachmentPiece.getCaption();\n if (e) t.classList.add(\"\".concat(le.attachmentCaption, \"--edited\")), t.textContent = e;else {\n let e, i;\n const n = this.getCaptionConfig();\n if (n.name && (e = this.attachment.getFilename()), n.size && (i = this.attachment.getFormattedFilesize()), e) {\n const i = S({\n tagName: \"span\",\n className: le.attachmentName,\n textContent: e\n });\n t.appendChild(i);\n }\n if (i) {\n e && t.appendChild(document.createTextNode(\" \"));\n const n = S({\n tagName: \"span\",\n className: le.attachmentSize,\n textContent: i\n });\n t.appendChild(n);\n }\n }\n return t;\n }\n getClassName() {\n const t = [le.attachment, \"\".concat(le.attachment, \"--\").concat(this.attachment.getType())],\n e = this.attachment.getExtension();\n return e && t.push(\"\".concat(le.attachment, \"--\").concat(e)), t.join(\" \");\n }\n getData() {\n const t = {\n trixAttachment: JSON.stringify(this.attachment),\n trixContentType: this.attachment.getContentType(),\n trixId: this.attachment.id\n },\n e = this.attachmentPiece.attributes;\n return e.isEmpty() || (t.trixAttributes = JSON.stringify(e)), this.attachment.isPending() && (t.trixSerialize = !1), t;\n }\n getHref() {\n if (!he(this.attachment.getContent(), \"a\")) return this.attachment.getHref();\n }\n getCaptionConfig() {\n var t;\n const e = this.attachment.getType(),\n n = Rt(null === (t = i[e]) || void 0 === t ? void 0 : t.caption);\n return \"file\" === e && (n.name = !0), n;\n }\n findProgressElement() {\n var t;\n return null === (t = this.findElement()) || void 0 === t ? void 0 : t.querySelector(\"progress\");\n }\n attachmentDidChangeUploadProgress() {\n const t = this.attachment.getUploadProgress(),\n e = this.findProgressElement();\n e && (e.value = t);\n }\n}\nconst ue = t => S({\n tagName: \"span\",\n textContent: h,\n data: {\n trixCursorTarget: t,\n trixSerialize: !1\n }\n }),\n he = function (t, e) {\n const i = S(\"div\");\n return se.setHTML(i, t || \"\"), i.querySelector(e);\n };\nclass de extends ce {\n constructor() {\n super(...arguments), this.attachment.previewDelegate = this;\n }\n createContentNodes() {\n return this.image = S({\n tagName: \"img\",\n attributes: {\n src: \"\"\n },\n data: {\n trixMutable: !0\n }\n }), this.refresh(this.image), [this.image];\n }\n createCaptionElement() {\n const t = super.createCaptionElement(...arguments);\n return t.textContent || t.setAttribute(\"data-trix-placeholder\", l.captionPlaceholder), t;\n }\n refresh(t) {\n var e;\n t || (t = null === (e = this.findElement()) || void 0 === e ? void 0 : e.querySelector(\"img\"));\n if (t) return this.updateAttributesForImage(t);\n }\n updateAttributesForImage(t) {\n const e = this.attachment.getURL(),\n i = this.attachment.getPreviewURL();\n if (t.src = i || e, i === e) t.removeAttribute(\"data-trix-serialized-attributes\");else {\n const i = JSON.stringify({\n src: e\n });\n t.setAttribute(\"data-trix-serialized-attributes\", i);\n }\n const n = this.attachment.getWidth(),\n r = this.attachment.getHeight();\n null != n && (t.width = n), null != r && (t.height = r);\n const o = [\"imageElement\", this.attachment.id, t.src, t.width, t.height].join(\"/\");\n t.dataset.trixStoreKey = o;\n }\n attachmentDidChangeAttributes() {\n return this.refresh(this.image), this.refresh();\n }\n}\nclass ge extends ee {\n constructor() {\n super(...arguments), this.piece = this.object, this.attributes = this.piece.getAttributes(), this.textConfig = this.options.textConfig, this.context = this.options.context, this.piece.attachment ? this.attachment = this.piece.attachment : this.string = this.piece.toString();\n }\n createNodes() {\n let t = this.attachment ? this.createAttachmentNodes() : this.createStringNodes();\n const e = this.createElement();\n if (e) {\n const i = function (t) {\n for (; null !== (e = t) && void 0 !== e && e.firstElementChild;) {\n var e;\n t = t.firstElementChild;\n }\n return t;\n }(e);\n Array.from(t).forEach(t => {\n i.appendChild(t);\n }), t = [e];\n }\n return t;\n }\n createAttachmentNodes() {\n const t = this.attachment.isPreviewable() ? de : ce;\n return this.createChildView(t, this.piece.attachment, {\n piece: this.piece\n }).getNodes();\n }\n createStringNodes() {\n var t;\n if (null !== (t = this.textConfig) && void 0 !== t && t.plaintext) return [document.createTextNode(this.string)];\n {\n const t = [],\n e = this.string.split(\"\\n\");\n for (let i = 0; i < e.length; i++) {\n const n = e[i];\n if (i > 0) {\n const e = S(\"br\");\n t.push(e);\n }\n if (n.length) {\n const e = document.createTextNode(this.preserveSpaces(n));\n t.push(e);\n }\n }\n return t;\n }\n }\n createElement() {\n let t, e, i;\n const n = {};\n for (e in this.attributes) {\n i = this.attributes[e];\n const o = pt(e);\n if (o) {\n if (o.tagName) {\n var r;\n const e = S(o.tagName);\n r ? (r.appendChild(e), r = e) : t = r = e;\n }\n if (o.styleProperty && (n[o.styleProperty] = i), o.style) for (e in o.style) i = o.style[e], n[e] = i;\n }\n }\n if (Object.keys(n).length) for (e in t || (t = S(\"span\")), n) i = n[e], t.style[e] = i;\n return t;\n }\n createContainerElement() {\n for (const t in this.attributes) {\n const e = this.attributes[t],\n i = pt(t);\n if (i && i.groupTagName) {\n const n = {};\n return n[t] = e, S(i.groupTagName, n);\n }\n }\n }\n preserveSpaces(t) {\n return this.context.isLast && (t = t.replace(/\\ $/, d)), t = t.replace(/(\\S)\\ {3}(\\S)/g, \"$1 \".concat(d, \" $2\")).replace(/\\ {2}/g, \"\".concat(d, \" \")).replace(/\\ {2}/g, \" \".concat(d)), (this.context.isFirst || this.context.followsWhitespace) && (t = t.replace(/^\\ /, d)), t;\n }\n}\nclass me extends ee {\n constructor() {\n super(...arguments), this.text = this.object, this.textConfig = this.options.textConfig;\n }\n createNodes() {\n const t = [],\n e = Xt.groupObjects(this.getPieces()),\n i = e.length - 1;\n for (let r = 0; r < e.length; r++) {\n const o = e[r],\n s = {};\n 0 === r && (s.isFirst = !0), r === i && (s.isLast = !0), pe(n) && (s.followsWhitespace = !0);\n const a = this.findOrCreateCachedChildView(ge, o, {\n textConfig: this.textConfig,\n context: s\n });\n t.push(...Array.from(a.getNodes() || []));\n var n = o;\n }\n return t;\n }\n getPieces() {\n return Array.from(this.text.getPieces()).filter(t => !t.hasAttribute(\"blockBreak\"));\n }\n}\nconst pe = t => /\\s$/.test(null == t ? void 0 : t.toString()),\n fe = U.css;\nclass be extends ee {\n constructor() {\n super(...arguments), this.block = this.object, this.attributes = this.block.getAttributes();\n }\n createNodes() {\n const t = [document.createComment(\"block\")];\n if (this.block.isEmpty()) t.push(S(\"br\"));else {\n var e;\n const i = null === (e = gt(this.block.getLastAttribute())) || void 0 === e ? void 0 : e.text,\n n = this.findOrCreateCachedChildView(me, this.block.text, {\n textConfig: i\n });\n t.push(...Array.from(n.getNodes() || [])), this.shouldAddExtraNewlineElement() && t.push(S(\"br\"));\n }\n if (this.attributes.length) return t;\n {\n let e;\n const i = n.default.tagName;\n this.block.isRTL() && (e = {\n dir: \"rtl\"\n });\n const r = S({\n tagName: i,\n attributes: e\n });\n return t.forEach(t => r.appendChild(t)), [r];\n }\n }\n createContainerElement(t) {\n const e = {};\n let i;\n const n = this.attributes[t],\n _gt = gt(n),\n r = _gt.tagName,\n _gt$htmlAttributes = _gt.htmlAttributes,\n o = _gt$htmlAttributes === void 0 ? [] : _gt$htmlAttributes;\n if (0 === t && this.block.isRTL() && Object.assign(e, {\n dir: \"rtl\"\n }), \"attachmentGallery\" === n) {\n const t = this.block.getBlockBreakPosition();\n i = \"\".concat(fe.attachmentGallery, \" \").concat(fe.attachmentGallery, \"--\").concat(t);\n }\n return Object.entries(this.block.htmlAttributes).forEach(t => {\n let _t2 = _slicedToArray(t, 2),\n i = _t2[0],\n n = _t2[1];\n o.includes(i) && (e[i] = n);\n }), S({\n tagName: r,\n className: i,\n attributes: e\n });\n }\n shouldAddExtraNewlineElement() {\n return /\\n\\n$/.test(this.block.toString());\n }\n}\nclass ve extends ee {\n static render(t) {\n const e = S(\"div\"),\n i = new this(t, {\n element: e\n });\n return i.render(), i.sync(), e;\n }\n constructor() {\n super(...arguments), this.element = this.options.element, this.elementStore = new Qt(), this.setDocument(this.object);\n }\n setDocument(t) {\n t.isEqualTo(this.document) || (this.document = this.object = t);\n }\n render() {\n if (this.childViews = [], this.shadowElement = S(\"div\"), !this.document.isEmpty()) {\n const t = Xt.groupObjects(this.document.getBlocks(), {\n asTree: !0\n });\n Array.from(t).forEach(t => {\n const e = this.findOrCreateCachedChildView(be, t);\n Array.from(e.getNodes()).map(t => this.shadowElement.appendChild(t));\n });\n }\n }\n isSynced() {\n return xe(this.shadowElement, this.element);\n }\n sync() {\n const t = this.createDocumentFragmentForSync();\n for (; this.element.lastChild;) this.element.removeChild(this.element.lastChild);\n return this.element.appendChild(t), this.didSync();\n }\n didSync() {\n return this.elementStore.reset(Ae(this.element)), Et(() => this.garbageCollectCachedViews());\n }\n createDocumentFragmentForSync() {\n const t = document.createDocumentFragment();\n return Array.from(this.shadowElement.childNodes).forEach(e => {\n t.appendChild(e.cloneNode(!0));\n }), Array.from(Ae(t)).forEach(t => {\n const e = this.elementStore.remove(t);\n e && t.parentNode.replaceChild(e, t);\n }), t;\n }\n}\nconst Ae = t => t.querySelectorAll(\"[data-trix-store-key]\"),\n xe = (t, e) => ye(t.innerHTML) === ye(e.innerHTML),\n ye = t => t.replace(/ /g, \" \");\nfunction Ce(t) {\n var e, i;\n function n(e, i) {\n try {\n var o = t[e](i),\n s = o.value,\n a = s instanceof ke;\n Promise.resolve(a ? s.v : s).then(function (i) {\n if (a) {\n var l = \"return\" === e ? \"return\" : \"next\";\n if (!s.k || i.done) return n(l, i);\n i = t[l](i).value;\n }\n r(o.done ? \"return\" : \"normal\", i);\n }, function (t) {\n n(\"throw\", t);\n });\n } catch (t) {\n r(\"throw\", t);\n }\n }\n function r(t, r) {\n switch (t) {\n case \"return\":\n e.resolve({\n value: r,\n done: !0\n });\n break;\n case \"throw\":\n e.reject(r);\n break;\n default:\n e.resolve({\n value: r,\n done: !1\n });\n }\n (e = e.next) ? n(e.key, e.arg) : i = null;\n }\n this._invoke = function (t, r) {\n return new Promise(function (o, s) {\n var a = {\n key: t,\n arg: r,\n resolve: o,\n reject: s,\n next: null\n };\n i ? i = i.next = a : (e = i = a, n(t, r));\n });\n }, \"function\" != typeof t.return && (this.return = void 0);\n}\nfunction ke(t, e) {\n this.v = t, this.k = e;\n}\nfunction Ee(t, e, i) {\n return (e = Re(e)) in t ? Object.defineProperty(t, e, {\n value: i,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : t[e] = i, t;\n}\nfunction Re(t) {\n var e = function (t, e) {\n if (\"object\" != typeof t || null === t) return t;\n var i = t[Symbol.toPrimitive];\n if (void 0 !== i) {\n var n = i.call(t, e || \"default\");\n if (\"object\" != typeof n) return n;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === e ? String : Number)(t);\n }(t, \"string\");\n return \"symbol\" == typeof e ? e : String(e);\n}\nCe.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function () {\n return this;\n}, Ce.prototype.next = function (t) {\n return this._invoke(\"next\", t);\n}, Ce.prototype.throw = function (t) {\n return this._invoke(\"throw\", t);\n}, Ce.prototype.return = function (t) {\n return this._invoke(\"return\", t);\n};\nfunction Se(t, e) {\n return De(t, Le(t, e, \"get\"));\n}\nfunction we(t, e, i) {\n return Te(t, Le(t, e, \"set\"), i), i;\n}\nfunction Le(t, e, i) {\n if (!e.has(t)) throw new TypeError(\"attempted to \" + i + \" private field on non-instance\");\n return e.get(t);\n}\nfunction De(t, e) {\n return e.get ? e.get.call(t) : e.value;\n}\nfunction Te(t, e, i) {\n if (e.set) e.set.call(t, i);else {\n if (!e.writable) throw new TypeError(\"attempted to set read only private field\");\n e.value = i;\n }\n}\nfunction Fe(t, e, i) {\n if (!e.has(t)) throw new TypeError(\"attempted to get private field on non-instance\");\n return i;\n}\nfunction Be(t, e) {\n if (e.has(t)) throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n}\nfunction Pe(t, e, i) {\n Be(t, e), e.set(t, i);\n}\nclass Ie extends nt {\n static registerType(t, e) {\n e.type = t, this.types[t] = e;\n }\n static fromJSON(t) {\n const e = this.types[t.type];\n if (e) return e.fromJSON(t);\n }\n constructor(t) {\n let e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\n super(...arguments), this.attributes = zt.box(e);\n }\n copyWithAttributes(t) {\n return new this.constructor(this.getValue(), t);\n }\n copyWithAdditionalAttributes(t) {\n return this.copyWithAttributes(this.attributes.merge(t));\n }\n copyWithoutAttribute(t) {\n return this.copyWithAttributes(this.attributes.remove(t));\n }\n copy() {\n return this.copyWithAttributes(this.attributes);\n }\n getAttribute(t) {\n return this.attributes.get(t);\n }\n getAttributesHash() {\n return this.attributes;\n }\n getAttributes() {\n return this.attributes.toObject();\n }\n hasAttribute(t) {\n return this.attributes.has(t);\n }\n hasSameStringValueAsPiece(t) {\n return t && this.toString() === t.toString();\n }\n hasSameAttributesAsPiece(t) {\n return t && (this.attributes === t.attributes || this.attributes.isEqualTo(t.attributes));\n }\n isBlockBreak() {\n return !1;\n }\n isEqualTo(t) {\n return super.isEqualTo(...arguments) || this.hasSameConstructorAs(t) && this.hasSameStringValueAsPiece(t) && this.hasSameAttributesAsPiece(t);\n }\n isEmpty() {\n return 0 === this.length;\n }\n isSerializable() {\n return !0;\n }\n toJSON() {\n return {\n type: this.constructor.type,\n attributes: this.getAttributes()\n };\n }\n contentsForInspection() {\n return {\n type: this.constructor.type,\n attributes: this.attributes.inspect()\n };\n }\n canBeGrouped() {\n return this.hasAttribute(\"href\");\n }\n canBeGroupedWith(t) {\n return this.getAttribute(\"href\") === t.getAttribute(\"href\");\n }\n getLength() {\n return this.length;\n }\n canBeConsolidatedWith(t) {\n return !1;\n }\n}\nEe(Ie, \"types\", {});\nclass Ne extends te {\n constructor(t) {\n super(...arguments), this.url = t;\n }\n perform(t) {\n const e = new Image();\n e.onload = () => (e.width = this.width = e.naturalWidth, e.height = this.height = e.naturalHeight, t(!0, e)), e.onerror = () => t(!1), e.src = this.url;\n }\n}\nclass Oe extends nt {\n static attachmentForFile(t) {\n const e = new this(this.attributesForFile(t));\n return e.setFile(t), e;\n }\n static attributesForFile(t) {\n return new zt({\n filename: t.name,\n filesize: t.size,\n contentType: t.type\n });\n }\n static fromJSON(t) {\n return new this(t);\n }\n constructor() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\n super(t), this.releaseFile = this.releaseFile.bind(this), this.attributes = zt.box(t), this.didChangeAttributes();\n }\n getAttribute(t) {\n return this.attributes.get(t);\n }\n hasAttribute(t) {\n return this.attributes.has(t);\n }\n getAttributes() {\n return this.attributes.toObject();\n }\n setAttributes() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\n const e = this.attributes.merge(t);\n var i, n, r, o;\n if (!this.attributes.isEqualTo(e)) return this.attributes = e, this.didChangeAttributes(), null === (i = this.previewDelegate) || void 0 === i || null === (n = i.attachmentDidChangeAttributes) || void 0 === n || n.call(i, this), null === (r = this.delegate) || void 0 === r || null === (o = r.attachmentDidChangeAttributes) || void 0 === o ? void 0 : o.call(r, this);\n }\n didChangeAttributes() {\n if (this.isPreviewable()) return this.preloadURL();\n }\n isPending() {\n return null != this.file && !(this.getURL() || this.getHref());\n }\n isPreviewable() {\n return this.attributes.has(\"previewable\") ? this.attributes.get(\"previewable\") : Oe.previewablePattern.test(this.getContentType());\n }\n getType() {\n return this.hasContent() ? \"content\" : this.isPreviewable() ? \"preview\" : \"file\";\n }\n getURL() {\n return this.attributes.get(\"url\");\n }\n getHref() {\n return this.attributes.get(\"href\");\n }\n getFilename() {\n return this.attributes.get(\"filename\") || \"\";\n }\n getFilesize() {\n return this.attributes.get(\"filesize\");\n }\n getFormattedFilesize() {\n const t = this.attributes.get(\"filesize\");\n return \"number\" == typeof t ? u.formatter(t) : \"\";\n }\n getExtension() {\n var t;\n return null === (t = this.getFilename().match(/\\.(\\w+)$/)) || void 0 === t ? void 0 : t[1].toLowerCase();\n }\n getContentType() {\n return this.attributes.get(\"contentType\");\n }\n hasContent() {\n return this.attributes.has(\"content\");\n }\n getContent() {\n return this.attributes.get(\"content\");\n }\n getWidth() {\n return this.attributes.get(\"width\");\n }\n getHeight() {\n return this.attributes.get(\"height\");\n }\n getFile() {\n return this.file;\n }\n setFile(t) {\n if (this.file = t, this.isPreviewable()) return this.preloadFile();\n }\n releaseFile() {\n this.releasePreloadedFile(), this.file = null;\n }\n getUploadProgress() {\n return null != this.uploadProgress ? this.uploadProgress : 0;\n }\n setUploadProgress(t) {\n var e, i;\n if (this.uploadProgress !== t) return this.uploadProgress = t, null === (e = this.uploadProgressDelegate) || void 0 === e || null === (i = e.attachmentDidChangeUploadProgress) || void 0 === i ? void 0 : i.call(e, this);\n }\n toJSON() {\n return this.getAttributes();\n }\n getCacheKey() {\n return [super.getCacheKey(...arguments), this.attributes.getCacheKey(), this.getPreviewURL()].join(\"/\");\n }\n getPreviewURL() {\n return this.previewURL || this.preloadingURL;\n }\n setPreviewURL(t) {\n var e, i, n, r;\n if (t !== this.getPreviewURL()) return this.previewURL = t, null === (e = this.previewDelegate) || void 0 === e || null === (i = e.attachmentDidChangeAttributes) || void 0 === i || i.call(e, this), null === (n = this.delegate) || void 0 === n || null === (r = n.attachmentDidChangePreviewURL) || void 0 === r ? void 0 : r.call(n, this);\n }\n preloadURL() {\n return this.preload(this.getURL(), this.releaseFile);\n }\n preloadFile() {\n if (this.file) return this.fileObjectURL = URL.createObjectURL(this.file), this.preload(this.fileObjectURL);\n }\n releasePreloadedFile() {\n this.fileObjectURL && (URL.revokeObjectURL(this.fileObjectURL), this.fileObjectURL = null);\n }\n preload(t, e) {\n if (t && t !== this.getPreviewURL()) {\n this.preloadingURL = t;\n return new Ne(t).then(i => {\n let n = i.width,\n r = i.height;\n return this.getWidth() && this.getHeight() || this.setAttributes({\n width: n,\n height: r\n }), this.preloadingURL = null, this.setPreviewURL(t), null == e ? void 0 : e();\n }).catch(() => (this.preloadingURL = null, null == e ? void 0 : e()));\n }\n }\n}\nEe(Oe, \"previewablePattern\", /^image(\\/(gif|png|webp|jpe?g)|$)/);\nclass Me extends Ie {\n static fromJSON(t) {\n return new this(Oe.fromJSON(t.attachment), t.attributes);\n }\n constructor(t) {\n super(...arguments), this.attachment = t, this.length = 1, this.ensureAttachmentExclusivelyHasAttribute(\"href\"), this.attachment.hasContent() || this.removeProhibitedAttributes();\n }\n ensureAttachmentExclusivelyHasAttribute(t) {\n this.hasAttribute(t) && (this.attachment.hasAttribute(t) || this.attachment.setAttributes(this.attributes.slice([t])), this.attributes = this.attributes.remove(t));\n }\n removeProhibitedAttributes() {\n const t = this.attributes.slice(Me.permittedAttributes);\n t.isEqualTo(this.attributes) || (this.attributes = t);\n }\n getValue() {\n return this.attachment;\n }\n isSerializable() {\n return !this.attachment.isPending();\n }\n getCaption() {\n return this.attributes.get(\"caption\") || \"\";\n }\n isEqualTo(t) {\n var e;\n return super.isEqualTo(t) && this.attachment.id === (null == t || null === (e = t.attachment) || void 0 === e ? void 0 : e.id);\n }\n toString() {\n return \"\";\n }\n toJSON() {\n const t = super.toJSON(...arguments);\n return t.attachment = this.attachment, t;\n }\n getCacheKey() {\n return [super.getCacheKey(...arguments), this.attachment.getCacheKey()].join(\"/\");\n }\n toConsole() {\n return JSON.stringify(this.toString());\n }\n}\nEe(Me, \"permittedAttributes\", [\"caption\", \"presentation\"]), Ie.registerType(\"attachment\", Me);\nclass je extends Ie {\n static fromJSON(t) {\n return new this(t.string, t.attributes);\n }\n constructor(t) {\n super(...arguments), this.string = (t => t.replace(/\\r\\n?/g, \"\\n\"))(t), this.length = this.string.length;\n }\n getValue() {\n return this.string;\n }\n toString() {\n return this.string.toString();\n }\n isBlockBreak() {\n return \"\\n\" === this.toString() && !0 === this.getAttribute(\"blockBreak\");\n }\n toJSON() {\n const t = super.toJSON(...arguments);\n return t.string = this.string, t;\n }\n canBeConsolidatedWith(t) {\n return t && this.hasSameConstructorAs(t) && this.hasSameAttributesAsPiece(t);\n }\n consolidateWith(t) {\n return new this.constructor(this.toString() + t.toString(), this.attributes);\n }\n splitAtOffset(t) {\n let e, i;\n return 0 === t ? (e = null, i = this) : t === this.length ? (e = this, i = null) : (e = new this.constructor(this.string.slice(0, t), this.attributes), i = new this.constructor(this.string.slice(t), this.attributes)), [e, i];\n }\n toConsole() {\n let t = this.string;\n return t.length > 15 && (t = t.slice(0, 14) + \"…\"), JSON.stringify(t.toString());\n }\n}\nIe.registerType(\"string\", je);\nclass We extends nt {\n static box(t) {\n return t instanceof this ? t : new this(t);\n }\n constructor() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\n super(...arguments), this.objects = t.slice(0), this.length = this.objects.length;\n }\n indexOf(t) {\n return this.objects.indexOf(t);\n }\n splice() {\n for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++) e[i] = arguments[i];\n return new this.constructor(ot(this.objects, ...e));\n }\n eachObject(t) {\n return this.objects.map((e, i) => t(e, i));\n }\n insertObjectAtIndex(t, e) {\n return this.splice(e, 0, t);\n }\n insertSplittableListAtIndex(t, e) {\n return this.splice(e, 0, ...t.objects);\n }\n insertSplittableListAtPosition(t, e) {\n const _this$splitObjectAtPo = this.splitObjectAtPosition(e),\n _this$splitObjectAtPo2 = _slicedToArray(_this$splitObjectAtPo, 2),\n i = _this$splitObjectAtPo2[0],\n n = _this$splitObjectAtPo2[1];\n return new this.constructor(i).insertSplittableListAtIndex(t, n);\n }\n editObjectAtIndex(t, e) {\n return this.replaceObjectAtIndex(e(this.objects[t]), t);\n }\n replaceObjectAtIndex(t, e) {\n return this.splice(e, 1, t);\n }\n removeObjectAtIndex(t) {\n return this.splice(t, 1);\n }\n getObjectAtIndex(t) {\n return this.objects[t];\n }\n getSplittableListInRange(t) {\n const _this$splitObjectsAtR = this.splitObjectsAtRange(t),\n _this$splitObjectsAtR2 = _slicedToArray(_this$splitObjectsAtR, 3),\n e = _this$splitObjectsAtR2[0],\n i = _this$splitObjectsAtR2[1],\n n = _this$splitObjectsAtR2[2];\n return new this.constructor(e.slice(i, n + 1));\n }\n selectSplittableList(t) {\n const e = this.objects.filter(e => t(e));\n return new this.constructor(e);\n }\n removeObjectsInRange(t) {\n const _this$splitObjectsAtR3 = this.splitObjectsAtRange(t),\n _this$splitObjectsAtR4 = _slicedToArray(_this$splitObjectsAtR3, 3),\n e = _this$splitObjectsAtR4[0],\n i = _this$splitObjectsAtR4[1],\n n = _this$splitObjectsAtR4[2];\n return new this.constructor(e).splice(i, n - i + 1);\n }\n transformObjectsInRange(t, e) {\n const _this$splitObjectsAtR5 = this.splitObjectsAtRange(t),\n _this$splitObjectsAtR6 = _slicedToArray(_this$splitObjectsAtR5, 3),\n i = _this$splitObjectsAtR6[0],\n n = _this$splitObjectsAtR6[1],\n r = _this$splitObjectsAtR6[2],\n o = i.map((t, i) => n <= i && i <= r ? e(t) : t);\n return new this.constructor(o);\n }\n splitObjectsAtRange(t) {\n var _this$constructor$spl, _this$constructor$spl2;\n let e,\n _this$splitObjectAtPo3 = this.splitObjectAtPosition(qe(t)),\n _this$splitObjectAtPo4 = _slicedToArray(_this$splitObjectAtPo3, 3),\n i = _this$splitObjectAtPo4[0],\n n = _this$splitObjectAtPo4[1],\n r = _this$splitObjectAtPo4[2];\n return (_this$constructor$spl = new this.constructor(i).splitObjectAtPosition(Ue(t) + r), _this$constructor$spl2 = _slicedToArray(_this$constructor$spl, 2), i = _this$constructor$spl2[0], e = _this$constructor$spl2[1]), [i, n, e - 1];\n }\n getObjectAtPosition(t) {\n const _this$findIndexAndOff = this.findIndexAndOffsetAtPosition(t),\n e = _this$findIndexAndOff.index;\n return this.objects[e];\n }\n splitObjectAtPosition(t) {\n let e, i;\n const _this$findIndexAndOff2 = this.findIndexAndOffsetAtPosition(t),\n n = _this$findIndexAndOff2.index,\n r = _this$findIndexAndOff2.offset,\n o = this.objects.slice(0);\n if (null != n) {\n if (0 === r) e = n, i = 0;else {\n const t = this.getObjectAtIndex(n),\n _t$splitAtOffset = t.splitAtOffset(r),\n _t$splitAtOffset2 = _slicedToArray(_t$splitAtOffset, 2),\n s = _t$splitAtOffset2[0],\n a = _t$splitAtOffset2[1];\n o.splice(n, 1, s, a), e = n + 1, i = s.getLength() - r;\n }\n } else e = o.length, i = 0;\n return [o, e, i];\n }\n consolidate() {\n const t = [];\n let e = this.objects[0];\n return this.objects.slice(1).forEach(i => {\n var n, r;\n null !== (n = (r = e).canBeConsolidatedWith) && void 0 !== n && n.call(r, i) ? e = e.consolidateWith(i) : (t.push(e), e = i);\n }), e && t.push(e), new this.constructor(t);\n }\n consolidateFromIndexToIndex(t, e) {\n const i = this.objects.slice(0).slice(t, e + 1),\n n = new this.constructor(i).consolidate().toArray();\n return this.splice(t, i.length, ...n);\n }\n findIndexAndOffsetAtPosition(t) {\n let e,\n i = 0;\n for (e = 0; e < this.objects.length; e++) {\n const n = i + this.objects[e].getLength();\n if (i <= t && t < n) return {\n index: e,\n offset: t - i\n };\n i = n;\n }\n return {\n index: null,\n offset: null\n };\n }\n findPositionAtIndexAndOffset(t, e) {\n let i = 0;\n for (let n = 0; n < this.objects.length; n++) {\n const r = this.objects[n];\n if (n < t) i += r.getLength();else if (n === t) {\n i += e;\n break;\n }\n }\n return i;\n }\n getEndPosition() {\n return null == this.endPosition && (this.endPosition = 0, this.objects.forEach(t => this.endPosition += t.getLength())), this.endPosition;\n }\n toString() {\n return this.objects.join(\"\");\n }\n toArray() {\n return this.objects.slice(0);\n }\n toJSON() {\n return this.toArray();\n }\n isEqualTo(t) {\n return super.isEqualTo(...arguments) || Ve(this.objects, null == t ? void 0 : t.objects);\n }\n contentsForInspection() {\n return {\n objects: \"[\".concat(this.objects.map(t => t.inspect()).join(\", \"), \"]\")\n };\n }\n}\nconst Ve = function (t) {\n let e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];\n if (t.length !== e.length) return !1;\n let i = !0;\n for (let n = 0; n < t.length; n++) {\n const r = t[n];\n i && !r.isEqualTo(e[n]) && (i = !1);\n }\n return i;\n },\n qe = t => t[0],\n Ue = t => t[1];\nclass He extends nt {\n static textForAttachmentWithAttributes(t, e) {\n return new this([new Me(t, e)]);\n }\n static textForStringWithAttributes(t, e) {\n return new this([new je(t, e)]);\n }\n static fromJSON(t) {\n return new this(Array.from(t).map(t => Ie.fromJSON(t)));\n }\n constructor() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\n super(...arguments);\n const e = t.filter(t => !t.isEmpty());\n this.pieceList = new We(e);\n }\n copy() {\n return this.copyWithPieceList(this.pieceList);\n }\n copyWithPieceList(t) {\n return new this.constructor(t.consolidate().toArray());\n }\n copyUsingObjectMap(t) {\n const e = this.getPieces().map(e => t.find(e) || e);\n return new this.constructor(e);\n }\n appendText(t) {\n return this.insertTextAtPosition(t, this.getLength());\n }\n insertTextAtPosition(t, e) {\n return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t.pieceList, e));\n }\n removeTextAtRange(t) {\n return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t));\n }\n replaceTextAtRange(t, e) {\n return this.removeTextAtRange(e).insertTextAtPosition(t, e[0]);\n }\n moveTextFromRangeToPosition(t, e) {\n if (t[0] <= e && e <= t[1]) return;\n const i = this.getTextAtRange(t),\n n = i.getLength();\n return t[0] < e && (e -= n), this.removeTextAtRange(t).insertTextAtPosition(i, e);\n }\n addAttributeAtRange(t, e, i) {\n const n = {};\n return n[t] = e, this.addAttributesAtRange(n, i);\n }\n addAttributesAtRange(t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, e => e.copyWithAdditionalAttributes(t)));\n }\n removeAttributeAtRange(t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, e => e.copyWithoutAttribute(t)));\n }\n setAttributesAtRange(t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, e => e.copyWithAttributes(t)));\n }\n getAttributesAtPosition(t) {\n var e;\n return (null === (e = this.pieceList.getObjectAtPosition(t)) || void 0 === e ? void 0 : e.getAttributes()) || {};\n }\n getCommonAttributes() {\n const t = Array.from(this.pieceList.toArray()).map(t => t.getAttributes());\n return zt.fromCommonAttributesOfObjects(t).toObject();\n }\n getCommonAttributesAtRange(t) {\n return this.getTextAtRange(t).getCommonAttributes() || {};\n }\n getExpandedRangeForAttributeAtOffset(t, e) {\n let i,\n n = i = e;\n const r = this.getLength();\n for (; n > 0 && this.getCommonAttributesAtRange([n - 1, i])[t];) n--;\n for (; i < r && this.getCommonAttributesAtRange([e, i + 1])[t];) i++;\n return [n, i];\n }\n getTextAtRange(t) {\n return this.copyWithPieceList(this.pieceList.getSplittableListInRange(t));\n }\n getStringAtRange(t) {\n return this.pieceList.getSplittableListInRange(t).toString();\n }\n getStringAtPosition(t) {\n return this.getStringAtRange([t, t + 1]);\n }\n startsWithString(t) {\n return this.getStringAtRange([0, t.length]) === t;\n }\n endsWithString(t) {\n const e = this.getLength();\n return this.getStringAtRange([e - t.length, e]) === t;\n }\n getAttachmentPieces() {\n return this.pieceList.toArray().filter(t => !!t.attachment);\n }\n getAttachments() {\n return this.getAttachmentPieces().map(t => t.attachment);\n }\n getAttachmentAndPositionById(t) {\n let e = 0;\n for (const n of this.pieceList.toArray()) {\n var i;\n if ((null === (i = n.attachment) || void 0 === i ? void 0 : i.id) === t) return {\n attachment: n.attachment,\n position: e\n };\n e += n.length;\n }\n return {\n attachment: null,\n position: null\n };\n }\n getAttachmentById(t) {\n const _this$getAttachmentAn = this.getAttachmentAndPositionById(t),\n e = _this$getAttachmentAn.attachment;\n return e;\n }\n getRangeOfAttachment(t) {\n const e = this.getAttachmentAndPositionById(t.id),\n i = e.position;\n if (t = e.attachment) return [i, i + 1];\n }\n updateAttributesForAttachment(t, e) {\n const i = this.getRangeOfAttachment(e);\n return i ? this.addAttributesAtRange(t, i) : this;\n }\n getLength() {\n return this.pieceList.getEndPosition();\n }\n isEmpty() {\n return 0 === this.getLength();\n }\n isEqualTo(t) {\n var e;\n return super.isEqualTo(t) || (null == t || null === (e = t.pieceList) || void 0 === e ? void 0 : e.isEqualTo(this.pieceList));\n }\n isBlockBreak() {\n return 1 === this.getLength() && this.pieceList.getObjectAtIndex(0).isBlockBreak();\n }\n eachPiece(t) {\n return this.pieceList.eachObject(t);\n }\n getPieces() {\n return this.pieceList.toArray();\n }\n getPieceAtPosition(t) {\n return this.pieceList.getObjectAtPosition(t);\n }\n contentsForInspection() {\n return {\n pieceList: this.pieceList.inspect()\n };\n }\n toSerializableText() {\n const t = this.pieceList.selectSplittableList(t => t.isSerializable());\n return this.copyWithPieceList(t);\n }\n toString() {\n return this.pieceList.toString();\n }\n toJSON() {\n return this.pieceList.toJSON();\n }\n toConsole() {\n return JSON.stringify(this.pieceList.toArray().map(t => JSON.parse(t.toConsole())));\n }\n getDirection() {\n return at(this.toString());\n }\n isRTL() {\n return \"rtl\" === this.getDirection();\n }\n}\nclass ze extends nt {\n static fromJSON(t) {\n return new this(He.fromJSON(t.text), t.attributes, t.htmlAttributes);\n }\n constructor(t, e, i) {\n super(...arguments), this.text = _e(t || new He()), this.attributes = e || [], this.htmlAttributes = i || {};\n }\n isEmpty() {\n return this.text.isBlockBreak();\n }\n isEqualTo(t) {\n return !!super.isEqualTo(t) || this.text.isEqualTo(null == t ? void 0 : t.text) && rt(this.attributes, null == t ? void 0 : t.attributes) && St(this.htmlAttributes, null == t ? void 0 : t.htmlAttributes);\n }\n copyWithText(t) {\n return new ze(t, this.attributes, this.htmlAttributes);\n }\n copyWithoutText() {\n return this.copyWithText(null);\n }\n copyWithAttributes(t) {\n return new ze(this.text, t, this.htmlAttributes);\n }\n copyWithoutAttributes() {\n return this.copyWithAttributes(null);\n }\n copyUsingObjectMap(t) {\n const e = t.find(this.text);\n return e ? this.copyWithText(e) : this.copyWithText(this.text.copyUsingObjectMap(t));\n }\n addAttribute(t) {\n const e = this.attributes.concat(Ye(t));\n return this.copyWithAttributes(e);\n }\n addHTMLAttribute(t, e) {\n const i = Object.assign({}, this.htmlAttributes, {\n [t]: e\n });\n return new ze(this.text, this.attributes, i);\n }\n removeAttribute(t) {\n const _gt2 = gt(t),\n e = _gt2.listAttribute,\n i = Ze(Ze(this.attributes, t), e);\n return this.copyWithAttributes(i);\n }\n removeLastAttribute() {\n return this.removeAttribute(this.getLastAttribute());\n }\n getLastAttribute() {\n return Qe(this.attributes);\n }\n getAttributes() {\n return this.attributes.slice(0);\n }\n getAttributeLevel() {\n return this.attributes.length;\n }\n getAttributeAtLevel(t) {\n return this.attributes[t - 1];\n }\n hasAttribute(t) {\n return this.attributes.includes(t);\n }\n hasAttributes() {\n return this.getAttributeLevel() > 0;\n }\n getLastNestableAttribute() {\n return Qe(this.getNestableAttributes());\n }\n getNestableAttributes() {\n return this.attributes.filter(t => gt(t).nestable);\n }\n getNestingLevel() {\n return this.getNestableAttributes().length;\n }\n decreaseNestingLevel() {\n const t = this.getLastNestableAttribute();\n return t ? this.removeAttribute(t) : this;\n }\n increaseNestingLevel() {\n const t = this.getLastNestableAttribute();\n if (t) {\n const e = this.attributes.lastIndexOf(t),\n i = ot(this.attributes, e + 1, 0, ...Ye(t));\n return this.copyWithAttributes(i);\n }\n return this;\n }\n getListItemAttributes() {\n return this.attributes.filter(t => gt(t).listAttribute);\n }\n isListItem() {\n var t;\n return null === (t = gt(this.getLastAttribute())) || void 0 === t ? void 0 : t.listAttribute;\n }\n isTerminalBlock() {\n var t;\n return null === (t = gt(this.getLastAttribute())) || void 0 === t ? void 0 : t.terminal;\n }\n breaksOnReturn() {\n var t;\n return null === (t = gt(this.getLastAttribute())) || void 0 === t ? void 0 : t.breakOnReturn;\n }\n findLineBreakInDirectionFromPosition(t, e) {\n const i = this.toString();\n let n;\n switch (t) {\n case \"forward\":\n n = i.indexOf(\"\\n\", e);\n break;\n case \"backward\":\n n = i.slice(0, e).lastIndexOf(\"\\n\");\n }\n if (-1 !== n) return n;\n }\n contentsForInspection() {\n return {\n text: this.text.inspect(),\n attributes: this.attributes\n };\n }\n toString() {\n return this.text.toString();\n }\n toJSON() {\n return {\n text: this.text,\n attributes: this.attributes,\n htmlAttributes: this.htmlAttributes\n };\n }\n getDirection() {\n return this.text.getDirection();\n }\n isRTL() {\n return this.text.isRTL();\n }\n getLength() {\n return this.text.getLength();\n }\n canBeConsolidatedWith(t) {\n return !this.hasAttributes() && !t.hasAttributes() && this.getDirection() === t.getDirection();\n }\n consolidateWith(t) {\n const e = He.textForStringWithAttributes(\"\\n\"),\n i = this.getTextWithoutBlockBreak().appendText(e);\n return this.copyWithText(i.appendText(t.text));\n }\n splitAtOffset(t) {\n let e, i;\n return 0 === t ? (e = null, i = this) : t === this.getLength() ? (e = this, i = null) : (e = this.copyWithText(this.text.getTextAtRange([0, t])), i = this.copyWithText(this.text.getTextAtRange([t, this.getLength()]))), [e, i];\n }\n getBlockBreakPosition() {\n return this.text.getLength() - 1;\n }\n getTextWithoutBlockBreak() {\n return $e(this.text) ? this.text.getTextAtRange([0, this.getBlockBreakPosition()]) : this.text.copy();\n }\n canBeGrouped(t) {\n return this.attributes[t];\n }\n canBeGroupedWith(t, e) {\n const i = t.getAttributes(),\n r = i[e],\n o = this.attributes[e];\n return o === r && !(!1 === gt(o).group && !(() => {\n if (!ht) {\n ht = [];\n for (const t in n) {\n const e = n[t].listAttribute;\n null != e && ht.push(e);\n }\n }\n return ht;\n })().includes(i[e + 1])) && (this.getDirection() === t.getDirection() || t.isEmpty());\n }\n}\nconst _e = function (t) {\n return t = Je(t), t = Ge(t);\n },\n Je = function (t) {\n let e = !1;\n const i = t.getPieces();\n let n = i.slice(0, i.length - 1);\n const r = i[i.length - 1];\n return r ? (n = n.map(t => t.isBlockBreak() ? (e = !0, Xe(t)) : t), e ? new He([...n, r]) : t) : t;\n },\n Ke = He.textForStringWithAttributes(\"\\n\", {\n blockBreak: !0\n }),\n Ge = function (t) {\n return $e(t) ? t : t.appendText(Ke);\n },\n $e = function (t) {\n const e = t.getLength();\n if (0 === e) return !1;\n return t.getTextAtRange([e - 1, e]).isBlockBreak();\n },\n Xe = t => t.copyWithoutAttribute(\"blockBreak\"),\n Ye = function (t) {\n const _gt3 = gt(t),\n e = _gt3.listAttribute;\n return e ? [e, t] : [t];\n },\n Qe = t => t.slice(-1)[0],\n Ze = function (t, e) {\n const i = t.lastIndexOf(e);\n return -1 === i ? t : ot(t, i, 1);\n };\nclass ti extends nt {\n static fromJSON(t) {\n return new this(Array.from(t).map(t => ze.fromJSON(t)));\n }\n static fromString(t, e) {\n const i = He.textForStringWithAttributes(t, e);\n return new this([new ze(i)]);\n }\n constructor() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\n super(...arguments), 0 === t.length && (t = [new ze()]), this.blockList = We.box(t);\n }\n isEmpty() {\n const t = this.getBlockAtIndex(0);\n return 1 === this.blockList.length && t.isEmpty() && !t.hasAttributes();\n }\n copy() {\n const t = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).consolidateBlocks ? this.blockList.consolidate().toArray() : this.blockList.toArray();\n return new this.constructor(t);\n }\n copyUsingObjectsFromDocument(t) {\n const e = new Yt(t.getObjects());\n return this.copyUsingObjectMap(e);\n }\n copyUsingObjectMap(t) {\n const e = this.getBlocks().map(e => t.find(e) || e.copyUsingObjectMap(t));\n return new this.constructor(e);\n }\n copyWithBaseBlockAttributes() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\n const e = this.getBlocks().map(e => {\n const i = t.concat(e.getAttributes());\n return e.copyWithAttributes(i);\n });\n return new this.constructor(e);\n }\n replaceBlock(t, e) {\n const i = this.blockList.indexOf(t);\n return -1 === i ? this : new this.constructor(this.blockList.replaceObjectAtIndex(e, i));\n }\n insertDocumentAtRange(t, e) {\n const i = t.blockList;\n e = wt(e);\n let _e2 = e,\n _e3 = _slicedToArray(_e2, 1),\n n = _e3[0];\n const _this$locationFromPos = this.locationFromPosition(n),\n r = _this$locationFromPos.index,\n o = _this$locationFromPos.offset;\n let s = this;\n const a = this.getBlockAtPosition(n);\n return Lt(e) && a.isEmpty() && !a.hasAttributes() ? s = new this.constructor(s.blockList.removeObjectAtIndex(r)) : a.getBlockBreakPosition() === o && n++, s = s.removeTextAtRange(e), new this.constructor(s.blockList.insertSplittableListAtPosition(i, n));\n }\n mergeDocumentAtRange(t, e) {\n let i, n;\n e = wt(e);\n const _e4 = e,\n _e5 = _slicedToArray(_e4, 1),\n r = _e5[0],\n o = this.locationFromPosition(r),\n s = this.getBlockAtIndex(o.index).getAttributes(),\n a = t.getBaseBlockAttributes(),\n l = s.slice(-a.length);\n if (rt(a, l)) {\n const e = s.slice(0, -a.length);\n i = t.copyWithBaseBlockAttributes(e);\n } else i = t.copy({\n consolidateBlocks: !0\n }).copyWithBaseBlockAttributes(s);\n const c = i.getBlockCount(),\n u = i.getBlockAtIndex(0);\n if (rt(s, u.getAttributes())) {\n const t = u.getTextWithoutBlockBreak();\n if (n = this.insertTextAtRange(t, e), c > 1) {\n i = new this.constructor(i.getBlocks().slice(1));\n const e = r + t.getLength();\n n = n.insertDocumentAtRange(i, e);\n }\n } else n = this.insertDocumentAtRange(i, e);\n return n;\n }\n insertTextAtRange(t, e) {\n e = wt(e);\n const _e6 = e,\n _e7 = _slicedToArray(_e6, 1),\n i = _e7[0],\n _this$locationFromPos2 = this.locationFromPosition(i),\n n = _this$locationFromPos2.index,\n r = _this$locationFromPos2.offset,\n o = this.removeTextAtRange(e);\n return new this.constructor(o.blockList.editObjectAtIndex(n, e => e.copyWithText(e.text.insertTextAtPosition(t, r))));\n }\n removeTextAtRange(t) {\n let e;\n t = wt(t);\n const _t3 = t,\n _t4 = _slicedToArray(_t3, 2),\n i = _t4[0],\n n = _t4[1];\n if (Lt(t)) return this;\n const _Array$from = Array.from(this.locationRangeFromRange(t)),\n _Array$from2 = _slicedToArray(_Array$from, 2),\n r = _Array$from2[0],\n o = _Array$from2[1],\n s = r.index,\n a = r.offset,\n l = this.getBlockAtIndex(s),\n c = o.index,\n u = o.offset,\n h = this.getBlockAtIndex(c);\n if (n - i == 1 && l.getBlockBreakPosition() === a && h.getBlockBreakPosition() !== u && \"\\n\" === h.text.getStringAtPosition(u)) e = this.blockList.editObjectAtIndex(c, t => t.copyWithText(t.text.removeTextAtRange([u, u + 1])));else {\n let t;\n const i = l.text.getTextAtRange([0, a]),\n n = h.text.getTextAtRange([u, h.getLength()]),\n r = i.appendText(n);\n t = s !== c && 0 === a && l.getAttributeLevel() >= h.getAttributeLevel() ? h.copyWithText(r) : l.copyWithText(r);\n const o = c + 1 - s;\n e = this.blockList.splice(s, o, t);\n }\n return new this.constructor(e);\n }\n moveTextFromRangeToPosition(t, e) {\n let i;\n t = wt(t);\n const _t5 = t,\n _t6 = _slicedToArray(_t5, 2),\n n = _t6[0],\n r = _t6[1];\n if (n <= e && e <= r) return this;\n let o = this.getDocumentAtRange(t),\n s = this.removeTextAtRange(t);\n const a = n < e;\n a && (e -= o.getLength());\n const _o$getBlocks = o.getBlocks(),\n _o$getBlocks2 = _toArray(_o$getBlocks),\n l = _o$getBlocks2[0],\n c = _o$getBlocks2.slice(1);\n return 0 === c.length ? (i = l.getTextWithoutBlockBreak(), a && (e += 1)) : i = l.text, s = s.insertTextAtRange(i, e), 0 === c.length ? s : (o = new this.constructor(c), e += i.getLength(), s.insertDocumentAtRange(o, e));\n }\n addAttributeAtRange(t, e, i) {\n let n = this.blockList;\n return this.eachBlockAtRange(i, (i, r, o) => n = n.editObjectAtIndex(o, function () {\n return gt(t) ? i.addAttribute(t, e) : r[0] === r[1] ? i : i.copyWithText(i.text.addAttributeAtRange(t, e, r));\n })), new this.constructor(n);\n }\n addAttribute(t, e) {\n let i = this.blockList;\n return this.eachBlock((n, r) => i = i.editObjectAtIndex(r, () => n.addAttribute(t, e))), new this.constructor(i);\n }\n removeAttributeAtRange(t, e) {\n let i = this.blockList;\n return this.eachBlockAtRange(e, function (e, n, r) {\n gt(t) ? i = i.editObjectAtIndex(r, () => e.removeAttribute(t)) : n[0] !== n[1] && (i = i.editObjectAtIndex(r, () => e.copyWithText(e.text.removeAttributeAtRange(t, n))));\n }), new this.constructor(i);\n }\n updateAttributesForAttachment(t, e) {\n const i = this.getRangeOfAttachment(e),\n _Array$from3 = Array.from(i),\n _Array$from4 = _slicedToArray(_Array$from3, 1),\n n = _Array$from4[0],\n _this$locationFromPos3 = this.locationFromPosition(n),\n r = _this$locationFromPos3.index,\n o = this.getTextAtIndex(r);\n return new this.constructor(this.blockList.editObjectAtIndex(r, i => i.copyWithText(o.updateAttributesForAttachment(t, e))));\n }\n removeAttributeForAttachment(t, e) {\n const i = this.getRangeOfAttachment(e);\n return this.removeAttributeAtRange(t, i);\n }\n setHTMLAttributeAtPosition(t, e, i) {\n const n = this.getBlockAtPosition(t),\n r = n.addHTMLAttribute(e, i);\n return this.replaceBlock(n, r);\n }\n insertBlockBreakAtRange(t) {\n let e;\n t = wt(t);\n const _t7 = t,\n _t8 = _slicedToArray(_t7, 1),\n i = _t8[0],\n _this$locationFromPos4 = this.locationFromPosition(i),\n n = _this$locationFromPos4.offset,\n r = this.removeTextAtRange(t);\n return 0 === n && (e = [new ze()]), new this.constructor(r.blockList.insertSplittableListAtPosition(new We(e), i));\n }\n applyBlockAttributeAtRange(t, e, i) {\n const n = this.expandRangeToLineBreaksAndSplitBlocks(i);\n let r = n.document;\n i = n.range;\n const o = gt(t);\n if (o.listAttribute) {\n r = r.removeLastListAttributeAtRange(i, {\n exceptAttributeName: t\n });\n const e = r.convertLineBreaksToBlockBreaksInRange(i);\n r = e.document, i = e.range;\n } else r = o.exclusive ? r.removeBlockAttributesAtRange(i) : o.terminal ? r.removeLastTerminalAttributeAtRange(i) : r.consolidateBlocksAtRange(i);\n return r.addAttributeAtRange(t, e, i);\n }\n removeLastListAttributeAtRange(t) {\n let e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n i = this.blockList;\n return this.eachBlockAtRange(t, function (t, n, r) {\n const o = t.getLastAttribute();\n o && gt(o).listAttribute && o !== e.exceptAttributeName && (i = i.editObjectAtIndex(r, () => t.removeAttribute(o)));\n }), new this.constructor(i);\n }\n removeLastTerminalAttributeAtRange(t) {\n let e = this.blockList;\n return this.eachBlockAtRange(t, function (t, i, n) {\n const r = t.getLastAttribute();\n r && gt(r).terminal && (e = e.editObjectAtIndex(n, () => t.removeAttribute(r)));\n }), new this.constructor(e);\n }\n removeBlockAttributesAtRange(t) {\n let e = this.blockList;\n return this.eachBlockAtRange(t, function (t, i, n) {\n t.hasAttributes() && (e = e.editObjectAtIndex(n, () => t.copyWithoutAttributes()));\n }), new this.constructor(e);\n }\n expandRangeToLineBreaksAndSplitBlocks(t) {\n let e;\n t = wt(t);\n let _t9 = t,\n _t10 = _slicedToArray(_t9, 2),\n i = _t10[0],\n n = _t10[1];\n const r = this.locationFromPosition(i),\n o = this.locationFromPosition(n);\n let s = this;\n const a = s.getBlockAtIndex(r.index);\n if (r.offset = a.findLineBreakInDirectionFromPosition(\"backward\", r.offset), null != r.offset && (e = s.positionFromLocation(r), s = s.insertBlockBreakAtRange([e, e + 1]), o.index += 1, o.offset -= s.getBlockAtIndex(r.index).getLength(), r.index += 1), r.offset = 0, 0 === o.offset && o.index > r.index) o.index -= 1, o.offset = s.getBlockAtIndex(o.index).getBlockBreakPosition();else {\n const t = s.getBlockAtIndex(o.index);\n \"\\n\" === t.text.getStringAtRange([o.offset - 1, o.offset]) ? o.offset -= 1 : o.offset = t.findLineBreakInDirectionFromPosition(\"forward\", o.offset), o.offset !== t.getBlockBreakPosition() && (e = s.positionFromLocation(o), s = s.insertBlockBreakAtRange([e, e + 1]));\n }\n return i = s.positionFromLocation(r), n = s.positionFromLocation(o), {\n document: s,\n range: t = wt([i, n])\n };\n }\n convertLineBreaksToBlockBreaksInRange(t) {\n t = wt(t);\n let _t11 = t,\n _t12 = _slicedToArray(_t11, 1),\n e = _t12[0];\n const i = this.getStringAtRange(t).slice(0, -1);\n let n = this;\n return i.replace(/.*?\\n/g, function (t) {\n e += t.length, n = n.insertBlockBreakAtRange([e - 1, e]);\n }), {\n document: n,\n range: t\n };\n }\n consolidateBlocksAtRange(t) {\n t = wt(t);\n const _t13 = t,\n _t14 = _slicedToArray(_t13, 2),\n e = _t14[0],\n i = _t14[1],\n n = this.locationFromPosition(e).index,\n r = this.locationFromPosition(i).index;\n return new this.constructor(this.blockList.consolidateFromIndexToIndex(n, r));\n }\n getDocumentAtRange(t) {\n t = wt(t);\n const e = this.blockList.getSplittableListInRange(t).toArray();\n return new this.constructor(e);\n }\n getStringAtRange(t) {\n let e;\n const i = t = wt(t);\n return i[i.length - 1] !== this.getLength() && (e = -1), this.getDocumentAtRange(t).toString().slice(0, e);\n }\n getBlockAtIndex(t) {\n return this.blockList.getObjectAtIndex(t);\n }\n getBlockAtPosition(t) {\n const _this$locationFromPos5 = this.locationFromPosition(t),\n e = _this$locationFromPos5.index;\n return this.getBlockAtIndex(e);\n }\n getTextAtIndex(t) {\n var e;\n return null === (e = this.getBlockAtIndex(t)) || void 0 === e ? void 0 : e.text;\n }\n getTextAtPosition(t) {\n const _this$locationFromPos6 = this.locationFromPosition(t),\n e = _this$locationFromPos6.index;\n return this.getTextAtIndex(e);\n }\n getPieceAtPosition(t) {\n const _this$locationFromPos7 = this.locationFromPosition(t),\n e = _this$locationFromPos7.index,\n i = _this$locationFromPos7.offset;\n return this.getTextAtIndex(e).getPieceAtPosition(i);\n }\n getCharacterAtPosition(t) {\n const _this$locationFromPos8 = this.locationFromPosition(t),\n e = _this$locationFromPos8.index,\n i = _this$locationFromPos8.offset;\n return this.getTextAtIndex(e).getStringAtRange([i, i + 1]);\n }\n getLength() {\n return this.blockList.getEndPosition();\n }\n getBlocks() {\n return this.blockList.toArray();\n }\n getBlockCount() {\n return this.blockList.length;\n }\n getEditCount() {\n return this.editCount;\n }\n eachBlock(t) {\n return this.blockList.eachObject(t);\n }\n eachBlockAtRange(t, e) {\n let i, n;\n t = wt(t);\n const _t15 = t,\n _t16 = _slicedToArray(_t15, 2),\n r = _t16[0],\n o = _t16[1],\n s = this.locationFromPosition(r),\n a = this.locationFromPosition(o);\n if (s.index === a.index) return i = this.getBlockAtIndex(s.index), n = [s.offset, a.offset], e(i, n, s.index);\n for (let t = s.index; t <= a.index; t++) if (i = this.getBlockAtIndex(t), i) {\n switch (t) {\n case s.index:\n n = [s.offset, i.text.getLength()];\n break;\n case a.index:\n n = [0, a.offset];\n break;\n default:\n n = [0, i.text.getLength()];\n }\n e(i, n, t);\n }\n }\n getCommonAttributesAtRange(t) {\n t = wt(t);\n const _t17 = t,\n _t18 = _slicedToArray(_t17, 1),\n e = _t18[0];\n if (Lt(t)) return this.getCommonAttributesAtPosition(e);\n {\n const e = [],\n i = [];\n return this.eachBlockAtRange(t, function (t, n) {\n if (n[0] !== n[1]) return e.push(t.text.getCommonAttributesAtRange(n)), i.push(ei(t));\n }), zt.fromCommonAttributesOfObjects(e).merge(zt.fromCommonAttributesOfObjects(i)).toObject();\n }\n }\n getCommonAttributesAtPosition(t) {\n let e, i;\n const _this$locationFromPos9 = this.locationFromPosition(t),\n n = _this$locationFromPos9.index,\n r = _this$locationFromPos9.offset,\n o = this.getBlockAtIndex(n);\n if (!o) return {};\n const s = ei(o),\n a = o.text.getAttributesAtPosition(r),\n l = o.text.getAttributesAtPosition(r - 1),\n c = Object.keys(W).filter(t => W[t].inheritable);\n for (e in l) i = l[e], (i === a[e] || c.includes(e)) && (s[e] = i);\n return s;\n }\n getRangeOfCommonAttributeAtPosition(t, e) {\n const _this$locationFromPos10 = this.locationFromPosition(e),\n i = _this$locationFromPos10.index,\n n = _this$locationFromPos10.offset,\n r = this.getTextAtIndex(i),\n _Array$from5 = Array.from(r.getExpandedRangeForAttributeAtOffset(t, n)),\n _Array$from6 = _slicedToArray(_Array$from5, 2),\n o = _Array$from6[0],\n s = _Array$from6[1],\n a = this.positionFromLocation({\n index: i,\n offset: o\n }),\n l = this.positionFromLocation({\n index: i,\n offset: s\n });\n return wt([a, l]);\n }\n getBaseBlockAttributes() {\n let t = this.getBlockAtIndex(0).getAttributes();\n for (let e = 1; e < this.getBlockCount(); e++) {\n const i = this.getBlockAtIndex(e).getAttributes(),\n n = Math.min(t.length, i.length);\n t = (() => {\n const e = [];\n for (let r = 0; r < n && i[r] === t[r]; r++) e.push(i[r]);\n return e;\n })();\n }\n return t;\n }\n getAttachmentById(t) {\n for (const e of this.getAttachments()) if (e.id === t) return e;\n }\n getAttachmentPieces() {\n let t = [];\n return this.blockList.eachObject(e => {\n let i = e.text;\n return t = t.concat(i.getAttachmentPieces());\n }), t;\n }\n getAttachments() {\n return this.getAttachmentPieces().map(t => t.attachment);\n }\n getRangeOfAttachment(t) {\n let e = 0;\n const i = this.blockList.toArray();\n for (let n = 0; n < i.length; n++) {\n const r = i[n].text,\n o = r.getRangeOfAttachment(t);\n if (o) return wt([e + o[0], e + o[1]]);\n e += r.getLength();\n }\n }\n getLocationRangeOfAttachment(t) {\n const e = this.getRangeOfAttachment(t);\n return this.locationRangeFromRange(e);\n }\n getAttachmentPieceForAttachment(t) {\n for (const e of this.getAttachmentPieces()) if (e.attachment === t) return e;\n }\n findRangesForBlockAttribute(t) {\n let e = 0;\n const i = [];\n return this.getBlocks().forEach(n => {\n const r = n.getLength();\n n.hasAttribute(t) && i.push([e, e + r]), e += r;\n }), i;\n }\n findRangesForTextAttribute(t) {\n let _ref10 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n e = _ref10.withValue,\n i = 0,\n n = [];\n const r = [];\n return this.getPieces().forEach(o => {\n const s = o.getLength();\n (function (i) {\n return e ? i.getAttribute(t) === e : i.hasAttribute(t);\n })(o) && (n[1] === i ? n[1] = i + s : r.push(n = [i, i + s])), i += s;\n }), r;\n }\n locationFromPosition(t) {\n const e = this.blockList.findIndexAndOffsetAtPosition(Math.max(0, t));\n if (null != e.index) return e;\n {\n const t = this.getBlocks();\n return {\n index: t.length - 1,\n offset: t[t.length - 1].getLength()\n };\n }\n }\n positionFromLocation(t) {\n return this.blockList.findPositionAtIndexAndOffset(t.index, t.offset);\n }\n locationRangeFromPosition(t) {\n return wt(this.locationFromPosition(t));\n }\n locationRangeFromRange(t) {\n if (!(t = wt(t))) return;\n const _Array$from7 = Array.from(t),\n _Array$from8 = _slicedToArray(_Array$from7, 2),\n e = _Array$from8[0],\n i = _Array$from8[1],\n n = this.locationFromPosition(e),\n r = this.locationFromPosition(i);\n return wt([n, r]);\n }\n rangeFromLocationRange(t) {\n let e;\n t = wt(t);\n const i = this.positionFromLocation(t[0]);\n return Lt(t) || (e = this.positionFromLocation(t[1])), wt([i, e]);\n }\n isEqualTo(t) {\n return this.blockList.isEqualTo(null == t ? void 0 : t.blockList);\n }\n getTexts() {\n return this.getBlocks().map(t => t.text);\n }\n getPieces() {\n const t = [];\n return Array.from(this.getTexts()).forEach(e => {\n t.push(...Array.from(e.getPieces() || []));\n }), t;\n }\n getObjects() {\n return this.getBlocks().concat(this.getTexts()).concat(this.getPieces());\n }\n toSerializableDocument() {\n const t = [];\n return this.blockList.eachObject(e => t.push(e.copyWithText(e.text.toSerializableText()))), new this.constructor(t);\n }\n toString() {\n return this.blockList.toString();\n }\n toJSON() {\n return this.blockList.toJSON();\n }\n toConsole() {\n return JSON.stringify(this.blockList.toArray().map(t => JSON.parse(t.text.toConsole())));\n }\n}\nconst ei = function (t) {\n const e = {},\n i = t.getLastAttribute();\n return i && (e[i] = !0), e;\n },\n ii = function (t) {\n let e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\n return {\n string: t = Wt(t),\n attributes: e,\n type: \"string\"\n };\n },\n ni = (t, e) => {\n try {\n return JSON.parse(t.getAttribute(\"data-trix-\".concat(e)));\n } catch (t) {\n return {};\n }\n };\nclass ri extends H {\n static parse(t, e) {\n const i = new this(t, e);\n return i.parse(), i;\n }\n constructor(t) {\n let _ref11 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n e = _ref11.referenceElement;\n super(...arguments), this.html = t, this.referenceElement = e, this.blocks = [], this.blockElements = [], this.processedElements = [];\n }\n getDocument() {\n return ti.fromJSON(this.blocks);\n }\n parse() {\n try {\n this.createHiddenContainer(), se.setHTML(this.containerElement, this.html);\n const t = E(this.containerElement, {\n usingFilter: li\n });\n for (; t.nextNode();) this.processNode(t.currentNode);\n return this.translateBlockElementMarginsToNewlines();\n } finally {\n this.removeHiddenContainer();\n }\n }\n createHiddenContainer() {\n return this.referenceElement ? (this.containerElement = this.referenceElement.cloneNode(!1), this.containerElement.removeAttribute(\"id\"), this.containerElement.setAttribute(\"data-trix-internal\", \"\"), this.containerElement.style.display = \"none\", this.referenceElement.parentNode.insertBefore(this.containerElement, this.referenceElement.nextSibling)) : (this.containerElement = S({\n tagName: \"div\",\n style: {\n display: \"none\"\n }\n }), document.body.appendChild(this.containerElement));\n }\n removeHiddenContainer() {\n return k(this.containerElement);\n }\n processNode(t) {\n switch (t.nodeType) {\n case Node.TEXT_NODE:\n if (!this.isInsignificantTextNode(t)) return this.appendBlockForTextNode(t), this.processTextNode(t);\n break;\n case Node.ELEMENT_NODE:\n return this.appendBlockForElement(t), this.processElement(t);\n }\n }\n appendBlockForTextNode(t) {\n const e = t.parentNode;\n if (e === this.currentBlockElement && this.isBlockElement(t.previousSibling)) return this.appendStringWithAttributes(\"\\n\");\n if (e === this.containerElement || this.isBlockElement(e)) {\n var i;\n const t = this.getBlockAttributes(e),\n n = this.getBlockHTMLAttributes(e);\n rt(t, null === (i = this.currentBlock) || void 0 === i ? void 0 : i.attributes) || (this.currentBlock = this.appendBlockForAttributesWithElement(t, e, n), this.currentBlockElement = e);\n }\n }\n appendBlockForElement(t) {\n const e = this.isBlockElement(t),\n i = y(this.currentBlockElement, t);\n if (e && !this.isBlockElement(t.firstChild)) {\n if (!this.isInsignificantTextNode(t.firstChild) || !this.isBlockElement(t.firstElementChild)) {\n const e = this.getBlockAttributes(t),\n n = this.getBlockHTMLAttributes(t);\n if (t.firstChild) {\n if (i && rt(e, this.currentBlock.attributes)) return this.appendStringWithAttributes(\"\\n\");\n this.currentBlock = this.appendBlockForAttributesWithElement(e, t, n), this.currentBlockElement = t;\n }\n }\n } else if (this.currentBlockElement && !i && !e) {\n const e = this.findParentBlockElement(t);\n if (e) return this.appendBlockForElement(e);\n this.currentBlock = this.appendEmptyBlock(), this.currentBlockElement = null;\n }\n }\n findParentBlockElement(t) {\n let e = t.parentElement;\n for (; e && e !== this.containerElement;) {\n if (this.isBlockElement(e) && this.blockElements.includes(e)) return e;\n e = e.parentElement;\n }\n return null;\n }\n processTextNode(t) {\n let e = t.data;\n var i;\n oi(t.parentNode) || (e = qt(e), hi(null === (i = t.previousSibling) || void 0 === i ? void 0 : i.textContent) && (e = ci(e)));\n return this.appendStringWithAttributes(e, this.getTextAttributes(t.parentNode));\n }\n processElement(t) {\n let e;\n if (I(t)) {\n if (e = ni(t, \"attachment\"), Object.keys(e).length) {\n const i = this.getTextAttributes(t);\n this.appendAttachmentWithAttributes(e, i), t.innerHTML = \"\";\n }\n return this.processedElements.push(t);\n }\n switch (R(t)) {\n case \"br\":\n return this.isExtraBR(t) || this.isBlockElement(t.nextSibling) || this.appendStringWithAttributes(\"\\n\", this.getTextAttributes(t)), this.processedElements.push(t);\n case \"img\":\n e = {\n url: t.getAttribute(\"src\"),\n contentType: \"image\"\n };\n const i = (t => {\n const e = t.getAttribute(\"width\"),\n i = t.getAttribute(\"height\"),\n n = {};\n return e && (n.width = parseInt(e, 10)), i && (n.height = parseInt(i, 10)), n;\n })(t);\n for (const t in i) {\n const n = i[t];\n e[t] = n;\n }\n return this.appendAttachmentWithAttributes(e, this.getTextAttributes(t)), this.processedElements.push(t);\n case \"tr\":\n if (this.needsTableSeparator(t)) return this.appendStringWithAttributes(j.tableRowSeparator);\n break;\n case \"td\":\n if (this.needsTableSeparator(t)) return this.appendStringWithAttributes(j.tableCellSeparator);\n }\n }\n appendBlockForAttributesWithElement(t, e) {\n let i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\n this.blockElements.push(e);\n const n = function () {\n return {\n text: [],\n attributes: arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},\n htmlAttributes: arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}\n };\n }(t, i);\n return this.blocks.push(n), n;\n }\n appendEmptyBlock() {\n return this.appendBlockForAttributesWithElement([], null);\n }\n appendStringWithAttributes(t, e) {\n return this.appendPiece(ii(t, e));\n }\n appendAttachmentWithAttributes(t, e) {\n return this.appendPiece(function (t) {\n return {\n attachment: t,\n attributes: arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n type: \"attachment\"\n };\n }(t, e));\n }\n appendPiece(t) {\n return 0 === this.blocks.length && this.appendEmptyBlock(), this.blocks[this.blocks.length - 1].text.push(t);\n }\n appendStringToTextAtIndex(t, e) {\n const i = this.blocks[e].text,\n n = i[i.length - 1];\n if (\"string\" !== (null == n ? void 0 : n.type)) return i.push(ii(t));\n n.string += t;\n }\n prependStringToTextAtIndex(t, e) {\n const i = this.blocks[e].text,\n n = i[0];\n if (\"string\" !== (null == n ? void 0 : n.type)) return i.unshift(ii(t));\n n.string = t + n.string;\n }\n getTextAttributes(t) {\n let e;\n const i = {};\n for (const n in W) {\n const r = W[n];\n if (r.tagName && A(t, {\n matchingSelector: r.tagName,\n untilNode: this.containerElement\n })) i[n] = !0;else if (r.parser) {\n if (e = r.parser(t), e) {\n let o = !1;\n for (const i of this.findBlockElementAncestors(t)) if (r.parser(i) === e) {\n o = !0;\n break;\n }\n o || (i[n] = e);\n }\n } else r.styleProperty && (e = t.style[r.styleProperty], e && (i[n] = e));\n }\n if (I(t)) {\n const n = ni(t, \"attributes\");\n for (const t in n) e = n[t], i[t] = e;\n }\n return i;\n }\n getBlockAttributes(t) {\n const e = [];\n for (; t && t !== this.containerElement;) {\n for (const r in n) {\n const o = n[r];\n var i;\n if (!1 !== o.parse) if (R(t) === o.tagName) (null !== (i = o.test) && void 0 !== i && i.call(o, t) || !o.test) && (e.push(r), o.listAttribute && e.push(o.listAttribute));\n }\n t = t.parentNode;\n }\n return e.reverse();\n }\n getBlockHTMLAttributes(t) {\n const e = {},\n i = Object.values(n).find(e => e.tagName === R(t));\n return ((null == i ? void 0 : i.htmlAttributes) || []).forEach(i => {\n t.hasAttribute(i) && (e[i] = t.getAttribute(i));\n }), e;\n }\n findBlockElementAncestors(t) {\n const e = [];\n for (; t && t !== this.containerElement;) {\n const i = R(t);\n L().includes(i) && e.push(t), t = t.parentNode;\n }\n return e;\n }\n isBlockElement(t) {\n if ((null == t ? void 0 : t.nodeType) === Node.ELEMENT_NODE && !I(t) && !A(t, {\n matchingSelector: \"td\",\n untilNode: this.containerElement\n })) return L().includes(R(t)) || \"block\" === window.getComputedStyle(t).display;\n }\n isInsignificantTextNode(t) {\n if ((null == t ? void 0 : t.nodeType) !== Node.TEXT_NODE) return;\n if (!ui(t.data)) return;\n const e = t.parentNode,\n i = t.previousSibling,\n n = t.nextSibling;\n return si(e.previousSibling) && !this.isBlockElement(e.previousSibling) || oi(e) ? void 0 : !i || this.isBlockElement(i) || !n || this.isBlockElement(n);\n }\n isExtraBR(t) {\n return \"br\" === R(t) && this.isBlockElement(t.parentNode) && t.parentNode.lastChild === t;\n }\n needsTableSeparator(t) {\n if (j.removeBlankTableCells) {\n var e;\n const i = null === (e = t.previousSibling) || void 0 === e ? void 0 : e.textContent;\n return i && /\\S/.test(i);\n }\n return t.previousSibling;\n }\n translateBlockElementMarginsToNewlines() {\n const t = this.getMarginOfDefaultBlockElement();\n for (let e = 0; e < this.blocks.length; e++) {\n const i = this.getMarginOfBlockElementAtIndex(e);\n i && (i.top > 2 * t.top && this.prependStringToTextAtIndex(\"\\n\", e), i.bottom > 2 * t.bottom && this.appendStringToTextAtIndex(\"\\n\", e));\n }\n }\n getMarginOfBlockElementAtIndex(t) {\n const e = this.blockElements[t];\n if (e && e.textContent && !L().includes(R(e)) && !this.processedElements.includes(e)) return ai(e);\n }\n getMarginOfDefaultBlockElement() {\n const t = S(n.default.tagName);\n return this.containerElement.appendChild(t), ai(t);\n }\n}\nconst oi = function (t) {\n const _window$getComputedSt = window.getComputedStyle(t),\n e = _window$getComputedSt.whiteSpace;\n return [\"pre\", \"pre-wrap\", \"pre-line\"].includes(e);\n },\n si = t => t && !hi(t.textContent),\n ai = function (t) {\n const e = window.getComputedStyle(t);\n if (\"block\" === e.display) return {\n top: parseInt(e.marginTop),\n bottom: parseInt(e.marginBottom)\n };\n },\n li = function (t) {\n return \"style\" === R(t) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n },\n ci = t => t.replace(new RegExp(\"^\".concat(Vt.source, \"+\")), \"\"),\n ui = t => new RegExp(\"^\".concat(Vt.source, \"*$\")).test(t),\n hi = t => /\\s$/.test(t),\n di = [\"contenteditable\", \"data-trix-id\", \"data-trix-store-key\", \"data-trix-mutable\", \"data-trix-placeholder\", \"tabindex\"],\n gi = \"data-trix-serialized-attributes\",\n mi = \"[\".concat(gi, \"]\"),\n pi = new RegExp(\"\\x3c!--block--\\x3e\", \"g\"),\n fi = {\n \"application/json\": function (t) {\n let e;\n if (t instanceof ti) e = t;else {\n if (!(t instanceof HTMLElement)) throw new Error(\"unserializable object\");\n e = ri.parse(t.innerHTML).getDocument();\n }\n return e.toSerializableDocument().toJSONString();\n },\n \"text/html\": function (t) {\n let e;\n if (t instanceof ti) e = ve.render(t);else {\n if (!(t instanceof HTMLElement)) throw new Error(\"unserializable object\");\n e = t.cloneNode(!0);\n }\n return Array.from(e.querySelectorAll(\"[data-trix-serialize=false]\")).forEach(t => {\n k(t);\n }), di.forEach(t => {\n Array.from(e.querySelectorAll(\"[\".concat(t, \"]\"))).forEach(e => {\n e.removeAttribute(t);\n });\n }), Array.from(e.querySelectorAll(mi)).forEach(t => {\n try {\n const e = JSON.parse(t.getAttribute(gi));\n t.removeAttribute(gi);\n for (const i in e) {\n const n = e[i];\n t.setAttribute(i, n);\n }\n } catch (t) {}\n }), e.innerHTML.replace(pi, \"\");\n }\n };\nvar bi = Object.freeze({\n __proto__: null\n});\nclass vi extends H {\n constructor(t, e) {\n super(...arguments), this.attachmentManager = t, this.attachment = e, this.id = this.attachment.id, this.file = this.attachment.file;\n }\n remove() {\n return this.attachmentManager.requestRemovalOfAttachment(this.attachment);\n }\n}\nvi.proxyMethod(\"attachment.getAttribute\"), vi.proxyMethod(\"attachment.hasAttribute\"), vi.proxyMethod(\"attachment.setAttribute\"), vi.proxyMethod(\"attachment.getAttributes\"), vi.proxyMethod(\"attachment.setAttributes\"), vi.proxyMethod(\"attachment.isPending\"), vi.proxyMethod(\"attachment.isPreviewable\"), vi.proxyMethod(\"attachment.getURL\"), vi.proxyMethod(\"attachment.getHref\"), vi.proxyMethod(\"attachment.getFilename\"), vi.proxyMethod(\"attachment.getFilesize\"), vi.proxyMethod(\"attachment.getFormattedFilesize\"), vi.proxyMethod(\"attachment.getExtension\"), vi.proxyMethod(\"attachment.getContentType\"), vi.proxyMethod(\"attachment.getFile\"), vi.proxyMethod(\"attachment.setFile\"), vi.proxyMethod(\"attachment.releaseFile\"), vi.proxyMethod(\"attachment.getUploadProgress\"), vi.proxyMethod(\"attachment.setUploadProgress\");\nclass Ai extends H {\n constructor() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\n super(...arguments), this.managedAttachments = {}, Array.from(t).forEach(t => {\n this.manageAttachment(t);\n });\n }\n getAttachments() {\n const t = [];\n for (const e in this.managedAttachments) {\n const i = this.managedAttachments[e];\n t.push(i);\n }\n return t;\n }\n manageAttachment(t) {\n return this.managedAttachments[t.id] || (this.managedAttachments[t.id] = new vi(this, t)), this.managedAttachments[t.id];\n }\n attachmentIsManaged(t) {\n return t.id in this.managedAttachments;\n }\n requestRemovalOfAttachment(t) {\n var e, i;\n if (this.attachmentIsManaged(t)) return null === (e = this.delegate) || void 0 === e || null === (i = e.attachmentManagerDidRequestRemovalOfAttachment) || void 0 === i ? void 0 : i.call(e, t);\n }\n unmanageAttachment(t) {\n const e = this.managedAttachments[t.id];\n return delete this.managedAttachments[t.id], e;\n }\n}\nclass xi {\n constructor(t) {\n this.composition = t, this.document = this.composition.document;\n const e = this.composition.getSelectedRange();\n this.startPosition = e[0], this.endPosition = e[1], this.startLocation = this.document.locationFromPosition(this.startPosition), this.endLocation = this.document.locationFromPosition(this.endPosition), this.block = this.document.getBlockAtIndex(this.endLocation.index), this.breaksOnReturn = this.block.breaksOnReturn(), this.previousCharacter = this.block.text.getStringAtPosition(this.endLocation.offset - 1), this.nextCharacter = this.block.text.getStringAtPosition(this.endLocation.offset);\n }\n shouldInsertBlockBreak() {\n return this.block.hasAttributes() && this.block.isListItem() && !this.block.isEmpty() ? 0 !== this.startLocation.offset : this.breaksOnReturn && \"\\n\" !== this.nextCharacter;\n }\n shouldBreakFormattedBlock() {\n return this.block.hasAttributes() && !this.block.isListItem() && (this.breaksOnReturn && \"\\n\" === this.nextCharacter || \"\\n\" === this.previousCharacter);\n }\n shouldDecreaseListLevel() {\n return this.block.hasAttributes() && this.block.isListItem() && this.block.isEmpty();\n }\n shouldPrependListItem() {\n return this.block.isListItem() && 0 === this.startLocation.offset && !this.block.isEmpty();\n }\n shouldRemoveLastBlockAttribute() {\n return this.block.hasAttributes() && !this.block.isListItem() && this.block.isEmpty();\n }\n}\nclass yi extends H {\n constructor() {\n super(...arguments), this.document = new ti(), this.attachments = [], this.currentAttributes = {}, this.revision = 0;\n }\n setDocument(t) {\n var e, i;\n if (!t.isEqualTo(this.document)) return this.document = t, this.refreshAttachments(), this.revision++, null === (e = this.delegate) || void 0 === e || null === (i = e.compositionDidChangeDocument) || void 0 === i ? void 0 : i.call(e, t);\n }\n getSnapshot() {\n return {\n document: this.document,\n selectedRange: this.getSelectedRange()\n };\n }\n loadSnapshot(t) {\n var e, i, n, r;\n let o = t.document,\n s = t.selectedRange;\n return null === (e = this.delegate) || void 0 === e || null === (i = e.compositionWillLoadSnapshot) || void 0 === i || i.call(e), this.setDocument(null != o ? o : new ti()), this.setSelection(null != s ? s : [0, 0]), null === (n = this.delegate) || void 0 === n || null === (r = n.compositionDidLoadSnapshot) || void 0 === r ? void 0 : r.call(n);\n }\n insertText(t) {\n let _ref12 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {\n updatePosition: !0\n },\n e = _ref12.updatePosition;\n const i = this.getSelectedRange();\n this.setDocument(this.document.insertTextAtRange(t, i));\n const n = i[0],\n r = n + t.getLength();\n return e && this.setSelection(r), this.notifyDelegateOfInsertionAtRange([n, r]);\n }\n insertBlock() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : new ze();\n const e = new ti([t]);\n return this.insertDocument(e);\n }\n insertDocument() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : new ti();\n const e = this.getSelectedRange();\n this.setDocument(this.document.insertDocumentAtRange(t, e));\n const i = e[0],\n n = i + t.getLength();\n return this.setSelection(n), this.notifyDelegateOfInsertionAtRange([i, n]);\n }\n insertString(t, e) {\n const i = this.getCurrentTextAttributes(),\n n = He.textForStringWithAttributes(t, i);\n return this.insertText(n, e);\n }\n insertBlockBreak() {\n const t = this.getSelectedRange();\n this.setDocument(this.document.insertBlockBreakAtRange(t));\n const e = t[0],\n i = e + 1;\n return this.setSelection(i), this.notifyDelegateOfInsertionAtRange([e, i]);\n }\n insertLineBreak() {\n const t = new xi(this);\n if (t.shouldDecreaseListLevel()) return this.decreaseListLevel(), this.setSelection(t.startPosition);\n if (t.shouldPrependListItem()) {\n const e = new ti([t.block.copyWithoutText()]);\n return this.insertDocument(e);\n }\n return t.shouldInsertBlockBreak() ? this.insertBlockBreak() : t.shouldRemoveLastBlockAttribute() ? this.removeLastBlockAttribute() : t.shouldBreakFormattedBlock() ? this.breakFormattedBlock(t) : this.insertString(\"\\n\");\n }\n insertHTML(t) {\n const e = ri.parse(t).getDocument(),\n i = this.getSelectedRange();\n this.setDocument(this.document.mergeDocumentAtRange(e, i));\n const n = i[0],\n r = n + e.getLength() - 1;\n return this.setSelection(r), this.notifyDelegateOfInsertionAtRange([n, r]);\n }\n replaceHTML(t) {\n const e = ri.parse(t).getDocument().copyUsingObjectsFromDocument(this.document),\n i = this.getLocationRange({\n strict: !1\n }),\n n = this.document.rangeFromLocationRange(i);\n return this.setDocument(e), this.setSelection(n);\n }\n insertFile(t) {\n return this.insertFiles([t]);\n }\n insertFiles(t) {\n const e = [];\n return Array.from(t).forEach(t => {\n var i;\n if (null !== (i = this.delegate) && void 0 !== i && i.compositionShouldAcceptFile(t)) {\n const i = Oe.attachmentForFile(t);\n e.push(i);\n }\n }), this.insertAttachments(e);\n }\n insertAttachment(t) {\n return this.insertAttachments([t]);\n }\n insertAttachments(t) {\n let e = new He();\n return Array.from(t).forEach(t => {\n var n;\n const r = t.getType(),\n o = null === (n = i[r]) || void 0 === n ? void 0 : n.presentation,\n s = this.getCurrentTextAttributes();\n o && (s.presentation = o);\n const a = He.textForAttachmentWithAttributes(t, s);\n e = e.appendText(a);\n }), this.insertText(e);\n }\n shouldManageDeletingInDirection(t) {\n const e = this.getLocationRange();\n if (Lt(e)) {\n if (\"backward\" === t && 0 === e[0].offset) return !0;\n if (this.shouldManageMovingCursorInDirection(t)) return !0;\n } else if (e[0].index !== e[1].index) return !0;\n return !1;\n }\n deleteInDirection(t) {\n let e,\n i,\n n,\n _ref13 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n r = _ref13.length;\n const o = this.getLocationRange();\n let s = this.getSelectedRange();\n const a = Lt(s);\n if (a ? i = \"backward\" === t && 0 === o[0].offset : n = o[0].index !== o[1].index, i && this.canDecreaseBlockAttributeLevel()) {\n const t = this.getBlock();\n if (t.isListItem() ? this.decreaseListLevel() : this.decreaseBlockAttributeLevel(), this.setSelection(s[0]), t.isEmpty()) return !1;\n }\n return a && (s = this.getExpandedRangeInDirection(t, {\n length: r\n }), \"backward\" === t && (e = this.getAttachmentAtRange(s))), e ? (this.editAttachment(e), !1) : (this.setDocument(this.document.removeTextAtRange(s)), this.setSelection(s[0]), !i && !n && void 0);\n }\n moveTextFromRange(t) {\n const _Array$from9 = Array.from(this.getSelectedRange()),\n _Array$from10 = _slicedToArray(_Array$from9, 1),\n e = _Array$from10[0];\n return this.setDocument(this.document.moveTextFromRangeToPosition(t, e)), this.setSelection(e);\n }\n removeAttachment(t) {\n const e = this.document.getRangeOfAttachment(t);\n if (e) return this.stopEditingAttachment(), this.setDocument(this.document.removeTextAtRange(e)), this.setSelection(e[0]);\n }\n removeLastBlockAttribute() {\n const _Array$from11 = Array.from(this.getSelectedRange()),\n _Array$from12 = _slicedToArray(_Array$from11, 2),\n t = _Array$from12[0],\n e = _Array$from12[1],\n i = this.document.getBlockAtPosition(e);\n return this.removeCurrentAttribute(i.getLastAttribute()), this.setSelection(t);\n }\n insertPlaceholder() {\n return this.placeholderPosition = this.getPosition(), this.insertString(\" \");\n }\n selectPlaceholder() {\n if (null != this.placeholderPosition) return this.setSelectedRange([this.placeholderPosition, this.placeholderPosition + 1]), this.getSelectedRange();\n }\n forgetPlaceholder() {\n this.placeholderPosition = null;\n }\n hasCurrentAttribute(t) {\n const e = this.currentAttributes[t];\n return null != e && !1 !== e;\n }\n toggleCurrentAttribute(t) {\n const e = !this.currentAttributes[t];\n return e ? this.setCurrentAttribute(t, e) : this.removeCurrentAttribute(t);\n }\n canSetCurrentAttribute(t) {\n return gt(t) ? this.canSetCurrentBlockAttribute(t) : this.canSetCurrentTextAttribute(t);\n }\n canSetCurrentTextAttribute(t) {\n const e = this.getSelectedDocument();\n if (e) {\n for (const t of Array.from(e.getAttachments())) if (!t.hasContent()) return !1;\n return !0;\n }\n }\n canSetCurrentBlockAttribute(t) {\n const e = this.getBlock();\n if (e) return !e.isTerminalBlock();\n }\n setCurrentAttribute(t, e) {\n return gt(t) ? this.setBlockAttribute(t, e) : (this.setTextAttribute(t, e), this.currentAttributes[t] = e, this.notifyDelegateOfCurrentAttributesChange());\n }\n setHTMLAtributeAtPosition(t, e, i) {\n var n;\n const r = this.document.getBlockAtPosition(t),\n o = null === (n = gt(r.getLastAttribute())) || void 0 === n ? void 0 : n.htmlAttributes;\n if (r && null != o && o.includes(e)) {\n const n = this.document.setHTMLAttributeAtPosition(t, e, i);\n this.setDocument(n);\n }\n }\n setTextAttribute(t, e) {\n const i = this.getSelectedRange();\n if (!i) return;\n const _Array$from13 = Array.from(i),\n _Array$from14 = _slicedToArray(_Array$from13, 2),\n n = _Array$from14[0],\n r = _Array$from14[1];\n if (n !== r) return this.setDocument(this.document.addAttributeAtRange(t, e, i));\n if (\"href\" === t) {\n const t = He.textForStringWithAttributes(e, {\n href: e\n });\n return this.insertText(t);\n }\n }\n setBlockAttribute(t, e) {\n const i = this.getSelectedRange();\n if (this.canSetCurrentAttribute(t)) return this.setDocument(this.document.applyBlockAttributeAtRange(t, e, i)), this.setSelection(i);\n }\n removeCurrentAttribute(t) {\n return gt(t) ? (this.removeBlockAttribute(t), this.updateCurrentAttributes()) : (this.removeTextAttribute(t), delete this.currentAttributes[t], this.notifyDelegateOfCurrentAttributesChange());\n }\n removeTextAttribute(t) {\n const e = this.getSelectedRange();\n if (e) return this.setDocument(this.document.removeAttributeAtRange(t, e));\n }\n removeBlockAttribute(t) {\n const e = this.getSelectedRange();\n if (e) return this.setDocument(this.document.removeAttributeAtRange(t, e));\n }\n canDecreaseNestingLevel() {\n var t;\n return (null === (t = this.getBlock()) || void 0 === t ? void 0 : t.getNestingLevel()) > 0;\n }\n canIncreaseNestingLevel() {\n var t;\n const e = this.getBlock();\n if (e) {\n if (null === (t = gt(e.getLastNestableAttribute())) || void 0 === t || !t.listAttribute) return e.getNestingLevel() > 0;\n {\n const t = this.getPreviousBlock();\n if (t) return function () {\n let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];\n return rt((arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []).slice(0, t.length), t);\n }(t.getListItemAttributes(), e.getListItemAttributes());\n }\n }\n }\n decreaseNestingLevel() {\n const t = this.getBlock();\n if (t) return this.setDocument(this.document.replaceBlock(t, t.decreaseNestingLevel()));\n }\n increaseNestingLevel() {\n const t = this.getBlock();\n if (t) return this.setDocument(this.document.replaceBlock(t, t.increaseNestingLevel()));\n }\n canDecreaseBlockAttributeLevel() {\n var t;\n return (null === (t = this.getBlock()) || void 0 === t ? void 0 : t.getAttributeLevel()) > 0;\n }\n decreaseBlockAttributeLevel() {\n var t;\n const e = null === (t = this.getBlock()) || void 0 === t ? void 0 : t.getLastAttribute();\n if (e) return this.removeCurrentAttribute(e);\n }\n decreaseListLevel() {\n let _Array$from15 = Array.from(this.getSelectedRange()),\n _Array$from16 = _slicedToArray(_Array$from15, 1),\n t = _Array$from16[0];\n const _this$document$locati = this.document.locationFromPosition(t),\n e = _this$document$locati.index;\n let i = e;\n const n = this.getBlock().getAttributeLevel();\n let r = this.document.getBlockAtIndex(i + 1);\n for (; r && r.isListItem() && !(r.getAttributeLevel() <= n);) i++, r = this.document.getBlockAtIndex(i + 1);\n t = this.document.positionFromLocation({\n index: e,\n offset: 0\n });\n const o = this.document.positionFromLocation({\n index: i,\n offset: 0\n });\n return this.setDocument(this.document.removeLastListAttributeAtRange([t, o]));\n }\n updateCurrentAttributes() {\n const t = this.getSelectedRange({\n ignoreLock: !0\n });\n if (t) {\n const e = this.document.getCommonAttributesAtRange(t);\n if (Array.from(dt()).forEach(t => {\n e[t] || this.canSetCurrentAttribute(t) || (e[t] = !1);\n }), !St(e, this.currentAttributes)) return this.currentAttributes = e, this.notifyDelegateOfCurrentAttributesChange();\n }\n }\n getCurrentAttributes() {\n return g.call({}, this.currentAttributes);\n }\n getCurrentTextAttributes() {\n const t = {};\n for (const e in this.currentAttributes) {\n const i = this.currentAttributes[e];\n !1 !== i && pt(e) && (t[e] = i);\n }\n return t;\n }\n freezeSelection() {\n return this.setCurrentAttribute(\"frozen\", !0);\n }\n thawSelection() {\n return this.removeCurrentAttribute(\"frozen\");\n }\n hasFrozenSelection() {\n return this.hasCurrentAttribute(\"frozen\");\n }\n setSelection(t) {\n var e;\n const i = this.document.locationRangeFromRange(t);\n return null === (e = this.delegate) || void 0 === e ? void 0 : e.compositionDidRequestChangingSelectionToLocationRange(i);\n }\n getSelectedRange() {\n const t = this.getLocationRange();\n if (t) return this.document.rangeFromLocationRange(t);\n }\n setSelectedRange(t) {\n const e = this.document.locationRangeFromRange(t);\n return this.getSelectionManager().setLocationRange(e);\n }\n getPosition() {\n const t = this.getLocationRange();\n if (t) return this.document.positionFromLocation(t[0]);\n }\n getLocationRange(t) {\n return this.targetLocationRange ? this.targetLocationRange : this.getSelectionManager().getLocationRange(t) || wt({\n index: 0,\n offset: 0\n });\n }\n withTargetLocationRange(t, e) {\n let i;\n this.targetLocationRange = t;\n try {\n i = e();\n } finally {\n this.targetLocationRange = null;\n }\n return i;\n }\n withTargetRange(t, e) {\n const i = this.document.locationRangeFromRange(t);\n return this.withTargetLocationRange(i, e);\n }\n withTargetDOMRange(t, e) {\n const i = this.createLocationRangeFromDOMRange(t, {\n strict: !1\n });\n return this.withTargetLocationRange(i, e);\n }\n getExpandedRangeInDirection(t) {\n let _ref14 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n e = _ref14.length,\n _Array$from17 = Array.from(this.getSelectedRange()),\n _Array$from18 = _slicedToArray(_Array$from17, 2),\n i = _Array$from18[0],\n n = _Array$from18[1];\n return \"backward\" === t ? e ? i -= e : i = this.translateUTF16PositionFromOffset(i, -1) : e ? n += e : n = this.translateUTF16PositionFromOffset(n, 1), wt([i, n]);\n }\n shouldManageMovingCursorInDirection(t) {\n if (this.editingAttachment) return !0;\n const e = this.getExpandedRangeInDirection(t);\n return null != this.getAttachmentAtRange(e);\n }\n moveCursorInDirection(t) {\n let e, i;\n if (this.editingAttachment) i = this.document.getRangeOfAttachment(this.editingAttachment);else {\n const n = this.getSelectedRange();\n i = this.getExpandedRangeInDirection(t), e = !Dt(n, i);\n }\n if (\"backward\" === t ? this.setSelectedRange(i[0]) : this.setSelectedRange(i[1]), e) {\n const t = this.getAttachmentAtRange(i);\n if (t) return this.editAttachment(t);\n }\n }\n expandSelectionInDirection(t) {\n let _ref15 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n e = _ref15.length;\n const i = this.getExpandedRangeInDirection(t, {\n length: e\n });\n return this.setSelectedRange(i);\n }\n expandSelectionForEditing() {\n if (this.hasCurrentAttribute(\"href\")) return this.expandSelectionAroundCommonAttribute(\"href\");\n }\n expandSelectionAroundCommonAttribute(t) {\n const e = this.getPosition(),\n i = this.document.getRangeOfCommonAttributeAtPosition(t, e);\n return this.setSelectedRange(i);\n }\n selectionContainsAttachments() {\n var t;\n return (null === (t = this.getSelectedAttachments()) || void 0 === t ? void 0 : t.length) > 0;\n }\n selectionIsInCursorTarget() {\n return this.editingAttachment || this.positionIsCursorTarget(this.getPosition());\n }\n positionIsCursorTarget(t) {\n const e = this.document.locationFromPosition(t);\n if (e) return this.locationIsCursorTarget(e);\n }\n positionIsBlockBreak(t) {\n var e;\n return null === (e = this.document.getPieceAtPosition(t)) || void 0 === e ? void 0 : e.isBlockBreak();\n }\n getSelectedDocument() {\n const t = this.getSelectedRange();\n if (t) return this.document.getDocumentAtRange(t);\n }\n getSelectedAttachments() {\n var t;\n return null === (t = this.getSelectedDocument()) || void 0 === t ? void 0 : t.getAttachments();\n }\n getAttachments() {\n return this.attachments.slice(0);\n }\n refreshAttachments() {\n const t = this.document.getAttachments(),\n _ref16 = function () {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],\n e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];\n const i = [],\n n = [],\n r = new Set();\n t.forEach(t => {\n r.add(t);\n });\n const o = new Set();\n return e.forEach(t => {\n o.add(t), r.has(t) || i.push(t);\n }), t.forEach(t => {\n o.has(t) || n.push(t);\n }), {\n added: i,\n removed: n\n };\n }(this.attachments, t),\n e = _ref16.added,\n i = _ref16.removed;\n return this.attachments = t, Array.from(i).forEach(t => {\n var e, i;\n t.delegate = null, null === (e = this.delegate) || void 0 === e || null === (i = e.compositionDidRemoveAttachment) || void 0 === i || i.call(e, t);\n }), (() => {\n const t = [];\n return Array.from(e).forEach(e => {\n var i, n;\n e.delegate = this, t.push(null === (i = this.delegate) || void 0 === i || null === (n = i.compositionDidAddAttachment) || void 0 === n ? void 0 : n.call(i, e));\n }), t;\n })();\n }\n attachmentDidChangeAttributes(t) {\n var e, i;\n return this.revision++, null === (e = this.delegate) || void 0 === e || null === (i = e.compositionDidEditAttachment) || void 0 === i ? void 0 : i.call(e, t);\n }\n attachmentDidChangePreviewURL(t) {\n var e, i;\n return this.revision++, null === (e = this.delegate) || void 0 === e || null === (i = e.compositionDidChangeAttachmentPreviewURL) || void 0 === i ? void 0 : i.call(e, t);\n }\n editAttachment(t, e) {\n var i, n;\n if (t !== this.editingAttachment) return this.stopEditingAttachment(), this.editingAttachment = t, null === (i = this.delegate) || void 0 === i || null === (n = i.compositionDidStartEditingAttachment) || void 0 === n ? void 0 : n.call(i, this.editingAttachment, e);\n }\n stopEditingAttachment() {\n var t, e;\n this.editingAttachment && (null === (t = this.delegate) || void 0 === t || null === (e = t.compositionDidStopEditingAttachment) || void 0 === e || e.call(t, this.editingAttachment), this.editingAttachment = null);\n }\n updateAttributesForAttachment(t, e) {\n return this.setDocument(this.document.updateAttributesForAttachment(t, e));\n }\n removeAttributeForAttachment(t, e) {\n return this.setDocument(this.document.removeAttributeForAttachment(t, e));\n }\n breakFormattedBlock(t) {\n let e = t.document;\n const i = t.block;\n let n = t.startPosition,\n r = [n - 1, n];\n i.getBlockBreakPosition() === t.startLocation.offset ? (i.breaksOnReturn() && \"\\n\" === t.nextCharacter ? n += 1 : e = e.removeTextAtRange(r), r = [n, n]) : \"\\n\" === t.nextCharacter ? \"\\n\" === t.previousCharacter ? r = [n - 1, n + 1] : (r = [n, n + 1], n += 1) : t.startLocation.offset - 1 != 0 && (n += 1);\n const o = new ti([i.removeLastAttribute().copyWithoutText()]);\n return this.setDocument(e.insertDocumentAtRange(o, r)), this.setSelection(n);\n }\n getPreviousBlock() {\n const t = this.getLocationRange();\n if (t) {\n const e = t[0].index;\n if (e > 0) return this.document.getBlockAtIndex(e - 1);\n }\n }\n getBlock() {\n const t = this.getLocationRange();\n if (t) return this.document.getBlockAtIndex(t[0].index);\n }\n getAttachmentAtRange(t) {\n const e = this.document.getDocumentAtRange(t);\n if (e.toString() === \"\".concat(\"\", \"\\n\")) return e.getAttachments()[0];\n }\n notifyDelegateOfCurrentAttributesChange() {\n var t, e;\n return null === (t = this.delegate) || void 0 === t || null === (e = t.compositionDidChangeCurrentAttributes) || void 0 === e ? void 0 : e.call(t, this.currentAttributes);\n }\n notifyDelegateOfInsertionAtRange(t) {\n var e, i;\n return null === (e = this.delegate) || void 0 === e || null === (i = e.compositionDidPerformInsertionAtRange) || void 0 === i ? void 0 : i.call(e, t);\n }\n translateUTF16PositionFromOffset(t, e) {\n const i = this.document.toUTF16String(),\n n = i.offsetFromUCS2Offset(t);\n return i.offsetToUCS2Offset(n + e);\n }\n}\nyi.proxyMethod(\"getSelectionManager().getPointRange\"), yi.proxyMethod(\"getSelectionManager().setLocationRangeFromPointRange\"), yi.proxyMethod(\"getSelectionManager().createLocationRangeFromDOMRange\"), yi.proxyMethod(\"getSelectionManager().locationIsCursorTarget\"), yi.proxyMethod(\"getSelectionManager().selectionIsExpanded\"), yi.proxyMethod(\"delegate?.getSelectionManager\");\nclass Ci extends H {\n constructor(t) {\n super(...arguments), this.composition = t, this.undoEntries = [], this.redoEntries = [];\n }\n recordUndoEntry(t) {\n let _ref17 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n e = _ref17.context,\n i = _ref17.consolidatable;\n const n = this.undoEntries.slice(-1)[0];\n if (!i || !ki(n, t, e)) {\n const i = this.createEntry({\n description: t,\n context: e\n });\n this.undoEntries.push(i), this.redoEntries = [];\n }\n }\n undo() {\n const t = this.undoEntries.pop();\n if (t) {\n const e = this.createEntry(t);\n return this.redoEntries.push(e), this.composition.loadSnapshot(t.snapshot);\n }\n }\n redo() {\n const t = this.redoEntries.pop();\n if (t) {\n const e = this.createEntry(t);\n return this.undoEntries.push(e), this.composition.loadSnapshot(t.snapshot);\n }\n }\n canUndo() {\n return this.undoEntries.length > 0;\n }\n canRedo() {\n return this.redoEntries.length > 0;\n }\n createEntry() {\n let _ref18 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},\n t = _ref18.description,\n e = _ref18.context;\n return {\n description: null == t ? void 0 : t.toString(),\n context: JSON.stringify(e),\n snapshot: this.composition.getSnapshot()\n };\n }\n}\nconst ki = (t, e, i) => (null == t ? void 0 : t.description) === (null == e ? void 0 : e.toString()) && (null == t ? void 0 : t.context) === JSON.stringify(i),\n Ei = \"attachmentGallery\";\nclass Ri {\n constructor(t) {\n this.document = t.document, this.selectedRange = t.selectedRange;\n }\n perform() {\n return this.removeBlockAttribute(), this.applyBlockAttribute();\n }\n getSnapshot() {\n return {\n document: this.document,\n selectedRange: this.selectedRange\n };\n }\n removeBlockAttribute() {\n return this.findRangesOfBlocks().map(t => this.document = this.document.removeAttributeAtRange(Ei, t));\n }\n applyBlockAttribute() {\n let t = 0;\n this.findRangesOfPieces().forEach(e => {\n e[1] - e[0] > 1 && (e[0] += t, e[1] += t, \"\\n\" !== this.document.getCharacterAtPosition(e[1]) && (this.document = this.document.insertBlockBreakAtRange(e[1]), e[1] < this.selectedRange[1] && this.moveSelectedRangeForward(), e[1]++, t++), 0 !== e[0] && \"\\n\" !== this.document.getCharacterAtPosition(e[0] - 1) && (this.document = this.document.insertBlockBreakAtRange(e[0]), e[0] < this.selectedRange[0] && this.moveSelectedRangeForward(), e[0]++, t++), this.document = this.document.applyBlockAttributeAtRange(Ei, !0, e));\n });\n }\n findRangesOfBlocks() {\n return this.document.findRangesForBlockAttribute(Ei);\n }\n findRangesOfPieces() {\n return this.document.findRangesForTextAttribute(\"presentation\", {\n withValue: \"gallery\"\n });\n }\n moveSelectedRangeForward() {\n this.selectedRange[0] += 1, this.selectedRange[1] += 1;\n }\n}\nconst Si = function (t) {\n const e = new Ri(t);\n return e.perform(), e.getSnapshot();\n },\n wi = [Si];\nclass Li {\n constructor(t, e, i) {\n this.insertFiles = this.insertFiles.bind(this), this.composition = t, this.selectionManager = e, this.element = i, this.undoManager = new Ci(this.composition), this.filters = wi.slice(0);\n }\n loadDocument(t) {\n return this.loadSnapshot({\n document: t,\n selectedRange: [0, 0]\n });\n }\n loadHTML() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"\";\n const e = ri.parse(t, {\n referenceElement: this.element\n }).getDocument();\n return this.loadDocument(e);\n }\n loadJSON(t) {\n let e = t.document,\n i = t.selectedRange;\n return e = ti.fromJSON(e), this.loadSnapshot({\n document: e,\n selectedRange: i\n });\n }\n loadSnapshot(t) {\n return this.undoManager = new Ci(this.composition), this.composition.loadSnapshot(t);\n }\n getDocument() {\n return this.composition.document;\n }\n getSelectedDocument() {\n return this.composition.getSelectedDocument();\n }\n getSnapshot() {\n return this.composition.getSnapshot();\n }\n toJSON() {\n return this.getSnapshot();\n }\n deleteInDirection(t) {\n return this.composition.deleteInDirection(t);\n }\n insertAttachment(t) {\n return this.composition.insertAttachment(t);\n }\n insertAttachments(t) {\n return this.composition.insertAttachments(t);\n }\n insertDocument(t) {\n return this.composition.insertDocument(t);\n }\n insertFile(t) {\n return this.composition.insertFile(t);\n }\n insertFiles(t) {\n return this.composition.insertFiles(t);\n }\n insertHTML(t) {\n return this.composition.insertHTML(t);\n }\n insertString(t) {\n return this.composition.insertString(t);\n }\n insertText(t) {\n return this.composition.insertText(t);\n }\n insertLineBreak() {\n return this.composition.insertLineBreak();\n }\n getSelectedRange() {\n return this.composition.getSelectedRange();\n }\n getPosition() {\n return this.composition.getPosition();\n }\n getClientRectAtPosition(t) {\n const e = this.getDocument().locationRangeFromRange([t, t + 1]);\n return this.selectionManager.getClientRectAtLocationRange(e);\n }\n expandSelectionInDirection(t) {\n return this.composition.expandSelectionInDirection(t);\n }\n moveCursorInDirection(t) {\n return this.composition.moveCursorInDirection(t);\n }\n setSelectedRange(t) {\n return this.composition.setSelectedRange(t);\n }\n activateAttribute(t) {\n let e = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1];\n return this.composition.setCurrentAttribute(t, e);\n }\n attributeIsActive(t) {\n return this.composition.hasCurrentAttribute(t);\n }\n canActivateAttribute(t) {\n return this.composition.canSetCurrentAttribute(t);\n }\n deactivateAttribute(t) {\n return this.composition.removeCurrentAttribute(t);\n }\n setHTMLAtributeAtPosition(t, e, i) {\n this.composition.setHTMLAtributeAtPosition(t, e, i);\n }\n canDecreaseNestingLevel() {\n return this.composition.canDecreaseNestingLevel();\n }\n canIncreaseNestingLevel() {\n return this.composition.canIncreaseNestingLevel();\n }\n decreaseNestingLevel() {\n if (this.canDecreaseNestingLevel()) return this.composition.decreaseNestingLevel();\n }\n increaseNestingLevel() {\n if (this.canIncreaseNestingLevel()) return this.composition.increaseNestingLevel();\n }\n canRedo() {\n return this.undoManager.canRedo();\n }\n canUndo() {\n return this.undoManager.canUndo();\n }\n recordUndoEntry(t) {\n let _ref19 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n e = _ref19.context,\n i = _ref19.consolidatable;\n return this.undoManager.recordUndoEntry(t, {\n context: e,\n consolidatable: i\n });\n }\n redo() {\n if (this.canRedo()) return this.undoManager.redo();\n }\n undo() {\n if (this.canUndo()) return this.undoManager.undo();\n }\n}\nclass Di {\n constructor(t) {\n this.element = t;\n }\n findLocationFromContainerAndOffset(t, e) {\n let _ref20 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {\n strict: !0\n },\n i = _ref20.strict,\n n = 0,\n r = !1;\n const o = {\n index: 0,\n offset: 0\n },\n s = this.findAttachmentElementParentForNode(t);\n s && (t = s.parentNode, e = C(s));\n const a = E(this.element, {\n usingFilter: Pi\n });\n for (; a.nextNode();) {\n const s = a.currentNode;\n if (s === t && O(t)) {\n P(s) || (o.offset += e);\n break;\n }\n if (s.parentNode === t) {\n if (n++ === e) break;\n } else if (!y(t, s) && n > 0) break;\n T(s, {\n strict: i\n }) ? (r && o.index++, o.offset = 0, r = !0) : o.offset += Ti(s);\n }\n return o;\n }\n findContainerAndOffsetFromLocation(t) {\n let e, i;\n if (0 === t.index && 0 === t.offset) {\n for (e = this.element, i = 0; e.firstChild;) if (e = e.firstChild, D(e)) {\n i = 1;\n break;\n }\n return [e, i];\n }\n let _this$findNodeAndOffs = this.findNodeAndOffsetFromLocation(t),\n _this$findNodeAndOffs2 = _slicedToArray(_this$findNodeAndOffs, 2),\n n = _this$findNodeAndOffs2[0],\n r = _this$findNodeAndOffs2[1];\n if (n) {\n if (O(n)) 0 === Ti(n) ? (e = n.parentNode.parentNode, i = C(n.parentNode), P(n, {\n name: \"right\"\n }) && i++) : (e = n, i = t.offset - r);else {\n if (e = n.parentNode, !T(n.previousSibling) && !D(e)) for (; n === e.lastChild && (n = e, e = e.parentNode, !D(e)););\n i = C(n), 0 !== t.offset && i++;\n }\n return [e, i];\n }\n }\n findNodeAndOffsetFromLocation(t) {\n let e,\n i,\n n = 0;\n for (const r of this.getSignificantNodesForIndex(t.index)) {\n const o = Ti(r);\n if (t.offset <= n + o) if (O(r)) {\n if (e = r, i = n, t.offset === i && P(e)) break;\n } else e || (e = r, i = n);\n if (n += o, n > t.offset) break;\n }\n return [e, i];\n }\n findAttachmentElementParentForNode(t) {\n for (; t && t !== this.element;) {\n if (I(t)) return t;\n t = t.parentNode;\n }\n }\n getSignificantNodesForIndex(t) {\n const e = [],\n i = E(this.element, {\n usingFilter: Fi\n });\n let n = !1;\n for (; i.nextNode();) {\n const o = i.currentNode;\n var r;\n if (F(o)) {\n if (null != r ? r++ : r = 0, r === t) n = !0;else if (n) break;\n } else n && e.push(o);\n }\n return e;\n }\n}\nconst Ti = function (t) {\n if (t.nodeType === Node.TEXT_NODE) {\n if (P(t)) return 0;\n return t.textContent.length;\n }\n return \"br\" === R(t) || I(t) ? 1 : 0;\n },\n Fi = function (t) {\n return Bi(t) === NodeFilter.FILTER_ACCEPT ? Pi(t) : NodeFilter.FILTER_REJECT;\n },\n Bi = function (t) {\n return N(t) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n },\n Pi = function (t) {\n return I(t.parentNode) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n };\nclass Ii {\n createDOMRangeFromPoint(t) {\n let e,\n i = t.x,\n n = t.y;\n if (document.caretPositionFromPoint) {\n const _document$caretPositi = document.caretPositionFromPoint(i, n),\n t = _document$caretPositi.offsetNode,\n r = _document$caretPositi.offset;\n return e = document.createRange(), e.setStart(t, r), e;\n }\n if (document.caretRangeFromPoint) return document.caretRangeFromPoint(i, n);\n if (document.body.createTextRange) {\n const t = Nt();\n try {\n const t = document.body.createTextRange();\n t.moveToPoint(i, n), t.select();\n } catch (t) {}\n return e = Nt(), Ot(t), e;\n }\n }\n getClientRectsForDOMRange(t) {\n const e = Array.from(t.getClientRects());\n return [e[0], e[e.length - 1]];\n }\n}\nclass Ni extends H {\n constructor(t) {\n super(...arguments), this.didMouseDown = this.didMouseDown.bind(this), this.selectionDidChange = this.selectionDidChange.bind(this), this.element = t, this.locationMapper = new Di(this.element), this.pointMapper = new Ii(), this.lockCount = 0, f(\"mousedown\", {\n onElement: this.element,\n withCallback: this.didMouseDown\n });\n }\n getLocationRange() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\n return !1 === t.strict ? this.createLocationRangeFromDOMRange(Nt()) : t.ignoreLock ? this.currentLocationRange : this.lockedLocationRange ? this.lockedLocationRange : this.currentLocationRange;\n }\n setLocationRange(t) {\n if (this.lockedLocationRange) return;\n t = wt(t);\n const e = this.createDOMRangeFromLocationRange(t);\n e && (Ot(e), this.updateCurrentLocationRange(t));\n }\n setLocationRangeFromPointRange(t) {\n t = wt(t);\n const e = this.getLocationAtPoint(t[0]),\n i = this.getLocationAtPoint(t[1]);\n this.setLocationRange([e, i]);\n }\n getClientRectAtLocationRange(t) {\n const e = this.createDOMRangeFromLocationRange(t);\n if (e) return this.getClientRectsForDOMRange(e)[1];\n }\n locationIsCursorTarget(t) {\n const e = Array.from(this.findNodeAndOffsetFromLocation(t))[0];\n return P(e);\n }\n lock() {\n 0 == this.lockCount++ && (this.updateCurrentLocationRange(), this.lockedLocationRange = this.getLocationRange());\n }\n unlock() {\n if (0 == --this.lockCount) {\n const t = this.lockedLocationRange;\n if (this.lockedLocationRange = null, null != t) return this.setLocationRange(t);\n }\n }\n clearSelection() {\n var t;\n return null === (t = It()) || void 0 === t ? void 0 : t.removeAllRanges();\n }\n selectionIsCollapsed() {\n var t;\n return !0 === (null === (t = Nt()) || void 0 === t ? void 0 : t.collapsed);\n }\n selectionIsExpanded() {\n return !this.selectionIsCollapsed();\n }\n createLocationRangeFromDOMRange(t, e) {\n if (null == t || !this.domRangeWithinElement(t)) return;\n const i = this.findLocationFromContainerAndOffset(t.startContainer, t.startOffset, e);\n if (!i) return;\n const n = t.collapsed ? void 0 : this.findLocationFromContainerAndOffset(t.endContainer, t.endOffset, e);\n return wt([i, n]);\n }\n didMouseDown() {\n return this.pauseTemporarily();\n }\n pauseTemporarily() {\n let t;\n this.paused = !0;\n const e = () => {\n if (this.paused = !1, clearTimeout(i), Array.from(t).forEach(t => {\n t.destroy();\n }), y(document, this.element)) return this.selectionDidChange();\n },\n i = setTimeout(e, 200);\n t = [\"mousemove\", \"keydown\"].map(t => f(t, {\n onElement: document,\n withCallback: e\n }));\n }\n selectionDidChange() {\n if (!this.paused && !x(this.element)) return this.updateCurrentLocationRange();\n }\n updateCurrentLocationRange(t) {\n var e, i;\n if ((null != t ? t : t = this.createLocationRangeFromDOMRange(Nt())) && !Dt(t, this.currentLocationRange)) return this.currentLocationRange = t, null === (e = this.delegate) || void 0 === e || null === (i = e.locationRangeDidChange) || void 0 === i ? void 0 : i.call(e, this.currentLocationRange.slice(0));\n }\n createDOMRangeFromLocationRange(t) {\n const e = this.findContainerAndOffsetFromLocation(t[0]),\n i = Lt(t) ? e : this.findContainerAndOffsetFromLocation(t[1]) || e;\n if (null != e && null != i) {\n const t = document.createRange();\n return t.setStart(...Array.from(e || [])), t.setEnd(...Array.from(i || [])), t;\n }\n }\n getLocationAtPoint(t) {\n const e = this.createDOMRangeFromPoint(t);\n var i;\n if (e) return null === (i = this.createLocationRangeFromDOMRange(e)) || void 0 === i ? void 0 : i[0];\n }\n domRangeWithinElement(t) {\n return t.collapsed ? y(this.element, t.startContainer) : y(this.element, t.startContainer) && y(this.element, t.endContainer);\n }\n}\nNi.proxyMethod(\"locationMapper.findLocationFromContainerAndOffset\"), Ni.proxyMethod(\"locationMapper.findContainerAndOffsetFromLocation\"), Ni.proxyMethod(\"locationMapper.findNodeAndOffsetFromLocation\"), Ni.proxyMethod(\"pointMapper.createDOMRangeFromPoint\"), Ni.proxyMethod(\"pointMapper.getClientRectsForDOMRange\");\nvar Oi = Object.freeze({\n __proto__: null,\n Attachment: Oe,\n AttachmentManager: Ai,\n AttachmentPiece: Me,\n Block: ze,\n Composition: yi,\n Document: ti,\n Editor: Li,\n HTMLParser: ri,\n HTMLSanitizer: se,\n LineBreakInsertion: xi,\n LocationMapper: Di,\n ManagedAttachment: vi,\n Piece: Ie,\n PointMapper: Ii,\n SelectionManager: Ni,\n SplittableList: We,\n StringPiece: je,\n Text: He,\n UndoManager: Ci\n }),\n Mi = Object.freeze({\n __proto__: null,\n ObjectView: ee,\n AttachmentView: ce,\n BlockView: be,\n DocumentView: ve,\n PieceView: ge,\n PreviewableAttachmentView: de,\n TextView: me\n });\nconst ji = U.lang,\n Wi = U.css,\n Vi = U.keyNames,\n qi = function (t) {\n return function () {\n const e = t.apply(this, arguments);\n e.do(), this.undos || (this.undos = []), this.undos.push(e.undo);\n };\n };\nclass Ui extends H {\n constructor(t, e, i) {\n let n = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {};\n super(...arguments), Ee(this, \"makeElementMutable\", qi(() => ({\n do: () => {\n this.element.dataset.trixMutable = !0;\n },\n undo: () => delete this.element.dataset.trixMutable\n }))), Ee(this, \"addToolbar\", qi(() => {\n const t = S({\n tagName: \"div\",\n className: Wi.attachmentToolbar,\n data: {\n trixMutable: !0\n },\n childNodes: S({\n tagName: \"div\",\n className: \"trix-button-row\",\n childNodes: S({\n tagName: \"span\",\n className: \"trix-button-group trix-button-group--actions\",\n childNodes: S({\n tagName: \"button\",\n className: \"trix-button trix-button--remove\",\n textContent: ji.remove,\n attributes: {\n title: ji.remove\n },\n data: {\n trixAction: \"remove\"\n }\n })\n })\n })\n });\n return this.attachment.isPreviewable() && t.appendChild(S({\n tagName: \"div\",\n className: Wi.attachmentMetadataContainer,\n childNodes: S({\n tagName: \"span\",\n className: Wi.attachmentMetadata,\n childNodes: [S({\n tagName: \"span\",\n className: Wi.attachmentName,\n textContent: this.attachment.getFilename(),\n attributes: {\n title: this.attachment.getFilename()\n }\n }), S({\n tagName: \"span\",\n className: Wi.attachmentSize,\n textContent: this.attachment.getFormattedFilesize()\n })]\n })\n })), f(\"click\", {\n onElement: t,\n withCallback: this.didClickToolbar\n }), f(\"click\", {\n onElement: t,\n matchingSelector: \"[data-trix-action]\",\n withCallback: this.didClickActionButton\n }), b(\"trix-attachment-before-toolbar\", {\n onElement: this.element,\n attributes: {\n toolbar: t,\n attachment: this.attachment\n }\n }), {\n do: () => this.element.appendChild(t),\n undo: () => k(t)\n };\n })), Ee(this, \"installCaptionEditor\", qi(() => {\n const t = S({\n tagName: \"textarea\",\n className: Wi.attachmentCaptionEditor,\n attributes: {\n placeholder: ji.captionPlaceholder\n },\n data: {\n trixMutable: !0\n }\n });\n t.value = this.attachmentPiece.getCaption();\n const e = t.cloneNode();\n e.classList.add(\"trix-autoresize-clone\"), e.tabIndex = -1;\n const i = function () {\n e.value = t.value, t.style.height = e.scrollHeight + \"px\";\n };\n f(\"input\", {\n onElement: t,\n withCallback: i\n }), f(\"input\", {\n onElement: t,\n withCallback: this.didInputCaption\n }), f(\"keydown\", {\n onElement: t,\n withCallback: this.didKeyDownCaption\n }), f(\"change\", {\n onElement: t,\n withCallback: this.didChangeCaption\n }), f(\"blur\", {\n onElement: t,\n withCallback: this.didBlurCaption\n });\n const n = this.element.querySelector(\"figcaption\"),\n r = n.cloneNode();\n return {\n do: () => {\n if (n.style.display = \"none\", r.appendChild(t), r.appendChild(e), r.classList.add(\"\".concat(Wi.attachmentCaption, \"--editing\")), n.parentElement.insertBefore(r, n), i(), this.options.editCaption) return Et(() => t.focus());\n },\n undo() {\n k(r), n.style.display = null;\n }\n };\n })), this.didClickToolbar = this.didClickToolbar.bind(this), this.didClickActionButton = this.didClickActionButton.bind(this), this.didKeyDownCaption = this.didKeyDownCaption.bind(this), this.didInputCaption = this.didInputCaption.bind(this), this.didChangeCaption = this.didChangeCaption.bind(this), this.didBlurCaption = this.didBlurCaption.bind(this), this.attachmentPiece = t, this.element = e, this.container = i, this.options = n, this.attachment = this.attachmentPiece.attachment, \"a\" === R(this.element) && (this.element = this.element.firstChild), this.install();\n }\n install() {\n this.makeElementMutable(), this.addToolbar(), this.attachment.isPreviewable() && this.installCaptionEditor();\n }\n uninstall() {\n var t;\n let e = this.undos.pop();\n for (this.savePendingCaption(); e;) e(), e = this.undos.pop();\n null === (t = this.delegate) || void 0 === t || t.didUninstallAttachmentEditor(this);\n }\n savePendingCaption() {\n if (null != this.pendingCaption) {\n const r = this.pendingCaption;\n var t, e, i, n;\n if (this.pendingCaption = null, r) null === (t = this.delegate) || void 0 === t || null === (e = t.attachmentEditorDidRequestUpdatingAttributesForAttachment) || void 0 === e || e.call(t, {\n caption: r\n }, this.attachment);else null === (i = this.delegate) || void 0 === i || null === (n = i.attachmentEditorDidRequestRemovingAttributeForAttachment) || void 0 === n || n.call(i, \"caption\", this.attachment);\n }\n }\n didClickToolbar(t) {\n return t.preventDefault(), t.stopPropagation();\n }\n didClickActionButton(t) {\n var e;\n if (\"remove\" === t.target.getAttribute(\"data-trix-action\")) return null === (e = this.delegate) || void 0 === e ? void 0 : e.attachmentEditorDidRequestRemovalOfAttachment(this.attachment);\n }\n didKeyDownCaption(t) {\n var e, i;\n if (\"return\" === Vi[t.keyCode]) return t.preventDefault(), this.savePendingCaption(), null === (e = this.delegate) || void 0 === e || null === (i = e.attachmentEditorDidRequestDeselectingAttachment) || void 0 === i ? void 0 : i.call(e, this.attachment);\n }\n didInputCaption(t) {\n this.pendingCaption = t.target.value.replace(/\\s/g, \" \").trim();\n }\n didChangeCaption(t) {\n return this.savePendingCaption();\n }\n didBlurCaption(t) {\n return this.savePendingCaption();\n }\n}\nclass Hi extends H {\n constructor(t, i) {\n super(...arguments), this.didFocus = this.didFocus.bind(this), this.didBlur = this.didBlur.bind(this), this.didClickAttachment = this.didClickAttachment.bind(this), this.element = t, this.composition = i, this.documentView = new ve(this.composition.document, {\n element: this.element\n }), f(\"focus\", {\n onElement: this.element,\n withCallback: this.didFocus\n }), f(\"blur\", {\n onElement: this.element,\n withCallback: this.didBlur\n }), f(\"click\", {\n onElement: this.element,\n matchingSelector: \"a[contenteditable=false]\",\n preventDefault: !0\n }), f(\"mousedown\", {\n onElement: this.element,\n matchingSelector: e,\n withCallback: this.didClickAttachment\n }), f(\"click\", {\n onElement: this.element,\n matchingSelector: \"a\".concat(e),\n preventDefault: !0\n });\n }\n didFocus(t) {\n var e;\n const i = () => {\n var t, e;\n if (!this.focused) return this.focused = !0, null === (t = this.delegate) || void 0 === t || null === (e = t.compositionControllerDidFocus) || void 0 === e ? void 0 : e.call(t);\n };\n return (null === (e = this.blurPromise) || void 0 === e ? void 0 : e.then(i)) || i();\n }\n didBlur(t) {\n this.blurPromise = new Promise(t => Et(() => {\n var e, i;\n x(this.element) || (this.focused = null, null === (e = this.delegate) || void 0 === e || null === (i = e.compositionControllerDidBlur) || void 0 === i || i.call(e));\n return this.blurPromise = null, t();\n }));\n }\n didClickAttachment(t, e) {\n var i, n;\n const r = this.findAttachmentForElement(e),\n o = !!A(t.target, {\n matchingSelector: \"figcaption\"\n });\n return null === (i = this.delegate) || void 0 === i || null === (n = i.compositionControllerDidSelectAttachment) || void 0 === n ? void 0 : n.call(i, r, {\n editCaption: o\n });\n }\n getSerializableElement() {\n return this.isEditingAttachment() ? this.documentView.shadowElement : this.element;\n }\n render() {\n var t, e, i, n, r, o;\n (this.revision !== this.composition.revision && (this.documentView.setDocument(this.composition.document), this.documentView.render(), this.revision = this.composition.revision), this.canSyncDocumentView() && !this.documentView.isSynced()) && (null === (i = this.delegate) || void 0 === i || null === (n = i.compositionControllerWillSyncDocumentView) || void 0 === n || n.call(i), this.documentView.sync(), null === (r = this.delegate) || void 0 === r || null === (o = r.compositionControllerDidSyncDocumentView) || void 0 === o || o.call(r));\n return null === (t = this.delegate) || void 0 === t || null === (e = t.compositionControllerDidRender) || void 0 === e ? void 0 : e.call(t);\n }\n rerenderViewForObject(t) {\n return this.invalidateViewForObject(t), this.render();\n }\n invalidateViewForObject(t) {\n return this.documentView.invalidateViewForObject(t);\n }\n isViewCachingEnabled() {\n return this.documentView.isViewCachingEnabled();\n }\n enableViewCaching() {\n return this.documentView.enableViewCaching();\n }\n disableViewCaching() {\n return this.documentView.disableViewCaching();\n }\n refreshViewCache() {\n return this.documentView.garbageCollectCachedViews();\n }\n isEditingAttachment() {\n return !!this.attachmentEditor;\n }\n installAttachmentEditorForAttachment(t, e) {\n var i;\n if ((null === (i = this.attachmentEditor) || void 0 === i ? void 0 : i.attachment) === t) return;\n const n = this.documentView.findElementForObject(t);\n if (!n) return;\n this.uninstallAttachmentEditor();\n const r = this.composition.document.getAttachmentPieceForAttachment(t);\n this.attachmentEditor = new Ui(r, n, this.element, e), this.attachmentEditor.delegate = this;\n }\n uninstallAttachmentEditor() {\n var t;\n return null === (t = this.attachmentEditor) || void 0 === t ? void 0 : t.uninstall();\n }\n didUninstallAttachmentEditor() {\n return this.attachmentEditor = null, this.render();\n }\n attachmentEditorDidRequestUpdatingAttributesForAttachment(t, e) {\n var i, n;\n return null === (i = this.delegate) || void 0 === i || null === (n = i.compositionControllerWillUpdateAttachment) || void 0 === n || n.call(i, e), this.composition.updateAttributesForAttachment(t, e);\n }\n attachmentEditorDidRequestRemovingAttributeForAttachment(t, e) {\n var i, n;\n return null === (i = this.delegate) || void 0 === i || null === (n = i.compositionControllerWillUpdateAttachment) || void 0 === n || n.call(i, e), this.composition.removeAttributeForAttachment(t, e);\n }\n attachmentEditorDidRequestRemovalOfAttachment(t) {\n var e, i;\n return null === (e = this.delegate) || void 0 === e || null === (i = e.compositionControllerDidRequestRemovalOfAttachment) || void 0 === i ? void 0 : i.call(e, t);\n }\n attachmentEditorDidRequestDeselectingAttachment(t) {\n var e, i;\n return null === (e = this.delegate) || void 0 === e || null === (i = e.compositionControllerDidRequestDeselectingAttachment) || void 0 === i ? void 0 : i.call(e, t);\n }\n canSyncDocumentView() {\n return !this.isEditingAttachment();\n }\n findAttachmentForElement(t) {\n return this.composition.document.getAttachmentById(parseInt(t.dataset.trixId, 10));\n }\n}\nclass zi extends H {}\nconst _i = \"data-trix-mutable\",\n Ji = \"[\".concat(_i, \"]\"),\n Ki = {\n attributes: !0,\n childList: !0,\n characterData: !0,\n characterDataOldValue: !0,\n subtree: !0\n };\nclass Gi extends H {\n constructor(t) {\n super(t), this.didMutate = this.didMutate.bind(this), this.element = t, this.observer = new window.MutationObserver(this.didMutate), this.start();\n }\n start() {\n return this.reset(), this.observer.observe(this.element, Ki);\n }\n stop() {\n return this.observer.disconnect();\n }\n didMutate(t) {\n var e, i;\n if (this.mutations.push(...Array.from(this.findSignificantMutations(t) || [])), this.mutations.length) return null === (e = this.delegate) || void 0 === e || null === (i = e.elementDidMutate) || void 0 === i || i.call(e, this.getMutationSummary()), this.reset();\n }\n reset() {\n this.mutations = [];\n }\n findSignificantMutations(t) {\n return t.filter(t => this.mutationIsSignificant(t));\n }\n mutationIsSignificant(t) {\n if (this.nodeIsMutable(t.target)) return !1;\n for (const e of Array.from(this.nodesModifiedByMutation(t))) if (this.nodeIsSignificant(e)) return !0;\n return !1;\n }\n nodeIsSignificant(t) {\n return t !== this.element && !this.nodeIsMutable(t) && !N(t);\n }\n nodeIsMutable(t) {\n return A(t, {\n matchingSelector: Ji\n });\n }\n nodesModifiedByMutation(t) {\n const e = [];\n switch (t.type) {\n case \"attributes\":\n t.attributeName !== _i && e.push(t.target);\n break;\n case \"characterData\":\n e.push(t.target.parentNode), e.push(t.target);\n break;\n case \"childList\":\n e.push(...Array.from(t.addedNodes || [])), e.push(...Array.from(t.removedNodes || []));\n }\n return e;\n }\n getMutationSummary() {\n return this.getTextMutationSummary();\n }\n getTextMutationSummary() {\n const _this$getTextChangesF = this.getTextChangesFromCharacterData(),\n t = _this$getTextChangesF.additions,\n e = _this$getTextChangesF.deletions,\n i = this.getTextChangesFromChildList();\n Array.from(i.additions).forEach(e => {\n Array.from(t).includes(e) || t.push(e);\n }), e.push(...Array.from(i.deletions || []));\n const n = {},\n r = t.join(\"\");\n r && (n.textAdded = r);\n const o = e.join(\"\");\n return o && (n.textDeleted = o), n;\n }\n getMutationsByType(t) {\n return Array.from(this.mutations).filter(e => e.type === t);\n }\n getTextChangesFromChildList() {\n let t, e;\n const i = [],\n n = [];\n Array.from(this.getMutationsByType(\"childList\")).forEach(t => {\n i.push(...Array.from(t.addedNodes || [])), n.push(...Array.from(t.removedNodes || []));\n });\n 0 === i.length && 1 === n.length && F(n[0]) ? (t = [], e = [\"\\n\"]) : (t = $i(i), e = $i(n));\n return {\n additions: t.filter((t, i) => t !== e[i]).map(Wt),\n deletions: e.filter((e, i) => e !== t[i]).map(Wt)\n };\n }\n getTextChangesFromCharacterData() {\n let t, e;\n const i = this.getMutationsByType(\"characterData\");\n if (i.length) {\n const n = i[0],\n r = i[i.length - 1],\n o = function (t, e, _Ut, _Ut2, _Ut3, _Ut4) {\n let i, n;\n return t = X.box(t), (e = X.box(e)).length < t.length ? (_Ut = Ut(t, e), _Ut2 = _slicedToArray(_Ut, 2), n = _Ut2[0], i = _Ut2[1], _Ut) : (_Ut3 = Ut(e, t), _Ut4 = _slicedToArray(_Ut3, 2), i = _Ut4[0], n = _Ut4[1], _Ut3), {\n added: i,\n removed: n\n };\n }(Wt(n.oldValue), Wt(r.target.data));\n t = o.added, e = o.removed;\n }\n return {\n additions: t ? [t] : [],\n deletions: e ? [e] : []\n };\n }\n}\nconst $i = function () {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\n const e = [];\n for (const i of Array.from(t)) switch (i.nodeType) {\n case Node.TEXT_NODE:\n e.push(i.data);\n break;\n case Node.ELEMENT_NODE:\n \"br\" === R(i) ? e.push(\"\\n\") : e.push(...Array.from($i(i.childNodes) || []));\n }\n return e;\n};\nclass Xi extends te {\n constructor(t) {\n super(...arguments), this.file = t;\n }\n perform(t) {\n const e = new FileReader();\n return e.onerror = () => t(!1), e.onload = () => {\n e.onerror = null;\n try {\n e.abort();\n } catch (t) {}\n return t(!0, this.file);\n }, e.readAsArrayBuffer(this.file);\n }\n}\nclass Yi {\n constructor(t) {\n this.element = t;\n }\n shouldIgnore(t) {\n return !!a.samsungAndroid && (this.previousEvent = this.event, this.event = t, this.checkSamsungKeyboardBuggyModeStart(), this.checkSamsungKeyboardBuggyModeEnd(), this.buggyMode);\n }\n checkSamsungKeyboardBuggyModeStart() {\n this.insertingLongTextAfterUnidentifiedChar() && Qi(this.element.innerText, this.event.data) && (this.buggyMode = !0, this.event.preventDefault());\n }\n checkSamsungKeyboardBuggyModeEnd() {\n this.buggyMode && \"insertText\" !== this.event.inputType && (this.buggyMode = !1);\n }\n insertingLongTextAfterUnidentifiedChar() {\n var t;\n return this.isBeforeInputInsertText() && this.previousEventWasUnidentifiedKeydown() && (null === (t = this.event.data) || void 0 === t ? void 0 : t.length) > 50;\n }\n isBeforeInputInsertText() {\n return \"beforeinput\" === this.event.type && \"insertText\" === this.event.inputType;\n }\n previousEventWasUnidentifiedKeydown() {\n var t, e;\n return \"keydown\" === (null === (t = this.previousEvent) || void 0 === t ? void 0 : t.type) && \"Unidentified\" === (null === (e = this.previousEvent) || void 0 === e ? void 0 : e.key);\n }\n}\nconst Qi = (t, e) => tn(t) === tn(e),\n Zi = new RegExp(\"(\".concat(\"\", \"|\").concat(h, \"|\").concat(d, \"|\\\\s)+\"), \"g\"),\n tn = t => t.replace(Zi, \" \").trim();\nclass en extends H {\n constructor(t) {\n super(...arguments), this.element = t, this.mutationObserver = new Gi(this.element), this.mutationObserver.delegate = this, this.flakyKeyboardDetector = new Yi(this.element);\n for (const t in this.constructor.events) f(t, {\n onElement: this.element,\n withCallback: this.handlerFor(t)\n });\n }\n elementDidMutate(t) {}\n editorWillSyncDocumentView() {\n return this.mutationObserver.stop();\n }\n editorDidSyncDocumentView() {\n return this.mutationObserver.start();\n }\n requestRender() {\n var t, e;\n return null === (t = this.delegate) || void 0 === t || null === (e = t.inputControllerDidRequestRender) || void 0 === e ? void 0 : e.call(t);\n }\n requestReparse() {\n var t, e;\n return null === (t = this.delegate) || void 0 === t || null === (e = t.inputControllerDidRequestReparse) || void 0 === e || e.call(t), this.requestRender();\n }\n attachFiles(t) {\n const e = Array.from(t).map(t => new Xi(t));\n return Promise.all(e).then(t => {\n this.handleInput(function () {\n var e, i;\n return null === (e = this.delegate) || void 0 === e || e.inputControllerWillAttachFiles(), null === (i = this.responder) || void 0 === i || i.insertFiles(t), this.requestRender();\n });\n });\n }\n handlerFor(t) {\n return e => {\n e.defaultPrevented || this.handleInput(() => {\n if (!x(this.element)) {\n if (this.flakyKeyboardDetector.shouldIgnore(e)) return;\n this.eventName = t, this.constructor.events[t].call(this, e);\n }\n });\n };\n }\n handleInput(t) {\n try {\n var e;\n null === (e = this.delegate) || void 0 === e || e.inputControllerWillHandleInput(), t.call(this);\n } finally {\n var i;\n null === (i = this.delegate) || void 0 === i || i.inputControllerDidHandleInput();\n }\n }\n createLinkHTML(t, e) {\n const i = document.createElement(\"a\");\n return i.href = t, i.textContent = e || t, i.outerHTML;\n }\n}\nvar nn;\nEe(en, \"events\", {});\nconst rn = U.browser,\n on = U.keyNames;\nlet sn = 0;\nclass an extends en {\n constructor() {\n super(...arguments), this.resetInputSummary();\n }\n setInputSummary() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\n this.inputSummary.eventName = this.eventName;\n for (const e in t) {\n const i = t[e];\n this.inputSummary[e] = i;\n }\n return this.inputSummary;\n }\n resetInputSummary() {\n this.inputSummary = {};\n }\n reset() {\n return this.resetInputSummary(), Pt.reset();\n }\n elementDidMutate(t) {\n var e, i;\n return this.isComposing() ? null === (e = this.delegate) || void 0 === e || null === (i = e.inputControllerDidAllowUnhandledInput) || void 0 === i ? void 0 : i.call(e) : this.handleInput(function () {\n return this.mutationIsSignificant(t) && (this.mutationIsExpected(t) ? this.requestRender() : this.requestReparse()), this.reset();\n });\n }\n mutationIsExpected(t) {\n let e = t.textAdded,\n i = t.textDeleted;\n if (this.inputSummary.preferDocument) return !0;\n const n = null != e ? e === this.inputSummary.textAdded : !this.inputSummary.textAdded,\n r = null != i ? this.inputSummary.didDelete : !this.inputSummary.didDelete,\n o = [\"\\n\", \" \\n\"].includes(e) && !n,\n s = \"\\n\" === i && !r;\n if (o && !s || s && !o) {\n const t = this.getSelectedRange();\n if (t) {\n var a;\n const i = o ? e.replace(/\\n$/, \"\").length || -1 : (null == e ? void 0 : e.length) || 1;\n if (null !== (a = this.responder) && void 0 !== a && a.positionIsBlockBreak(t[1] + i)) return !0;\n }\n }\n return n && r;\n }\n mutationIsSignificant(t) {\n var e;\n const i = Object.keys(t).length > 0,\n n = \"\" === (null === (e = this.compositionInput) || void 0 === e ? void 0 : e.getEndData());\n return i || !n;\n }\n getCompositionInput() {\n if (this.isComposing()) return this.compositionInput;\n this.compositionInput = new dn(this);\n }\n isComposing() {\n return this.compositionInput && !this.compositionInput.isEnded();\n }\n deleteInDirection(t, e) {\n var i;\n return !1 !== (null === (i = this.responder) || void 0 === i ? void 0 : i.deleteInDirection(t)) ? this.setInputSummary({\n didDelete: !0\n }) : e ? (e.preventDefault(), this.requestRender()) : void 0;\n }\n serializeSelectionToDataTransfer(t) {\n var e;\n if (!function (t) {\n if (null == t || !t.setData) return !1;\n for (const e in yt) {\n const i = yt[e];\n try {\n if (t.setData(e, i), !t.getData(e) === i) return !1;\n } catch (t) {\n return !1;\n }\n }\n return !0;\n }(t)) return;\n const i = null === (e = this.responder) || void 0 === e ? void 0 : e.getSelectedDocument().toSerializableDocument();\n return t.setData(\"application/x-trix-document\", JSON.stringify(i)), t.setData(\"text/html\", ve.render(i).innerHTML), t.setData(\"text/plain\", i.toString().replace(/\\n$/, \"\")), !0;\n }\n canAcceptDataTransfer(t) {\n const e = {};\n return Array.from((null == t ? void 0 : t.types) || []).forEach(t => {\n e[t] = !0;\n }), e.Files || e[\"application/x-trix-document\"] || e[\"text/html\"] || e[\"text/plain\"];\n }\n getPastedHTMLUsingHiddenElement(t) {\n const e = this.getSelectedRange(),\n i = {\n position: \"absolute\",\n left: \"\".concat(window.pageXOffset, \"px\"),\n top: \"\".concat(window.pageYOffset, \"px\"),\n opacity: 0\n },\n n = S({\n style: i,\n tagName: \"div\",\n editable: !0\n });\n return document.body.appendChild(n), n.focus(), requestAnimationFrame(() => {\n const i = n.innerHTML;\n return k(n), this.setSelectedRange(e), t(i);\n });\n }\n}\nEe(an, \"events\", {\n keydown(t) {\n this.isComposing() || this.resetInputSummary(), this.inputSummary.didInput = !0;\n const e = on[t.keyCode];\n if (e) {\n var i;\n let n = this.keys;\n [\"ctrl\", \"alt\", \"shift\", \"meta\"].forEach(e => {\n var i;\n t[\"\".concat(e, \"Key\")] && (\"ctrl\" === e && (e = \"control\"), n = null === (i = n) || void 0 === i ? void 0 : i[e]);\n }), null != (null === (i = n) || void 0 === i ? void 0 : i[e]) && (this.setInputSummary({\n keyName: e\n }), Pt.reset(), n[e].call(this, t));\n }\n if (kt(t)) {\n const e = String.fromCharCode(t.keyCode).toLowerCase();\n if (e) {\n var n;\n const i = [\"alt\", \"shift\"].map(e => {\n if (t[\"\".concat(e, \"Key\")]) return e;\n }).filter(t => t);\n i.push(e), null !== (n = this.delegate) && void 0 !== n && n.inputControllerDidReceiveKeyboardCommand(i) && t.preventDefault();\n }\n }\n },\n keypress(t) {\n if (null != this.inputSummary.eventName) return;\n if (t.metaKey) return;\n if (t.ctrlKey && !t.altKey) return;\n const e = un(t);\n var i, n;\n return e ? (null === (i = this.delegate) || void 0 === i || i.inputControllerWillPerformTyping(), null === (n = this.responder) || void 0 === n || n.insertString(e), this.setInputSummary({\n textAdded: e,\n didDelete: this.selectionIsExpanded()\n })) : void 0;\n },\n textInput(t) {\n const e = t.data,\n i = this.inputSummary.textAdded;\n if (i && i !== e && i.toUpperCase() === e) {\n var n;\n const t = this.getSelectedRange();\n return this.setSelectedRange([t[0], t[1] + i.length]), null === (n = this.responder) || void 0 === n || n.insertString(e), this.setInputSummary({\n textAdded: e\n }), this.setSelectedRange(t);\n }\n },\n dragenter(t) {\n t.preventDefault();\n },\n dragstart(t) {\n var e, i;\n return this.serializeSelectionToDataTransfer(t.dataTransfer), this.draggedRange = this.getSelectedRange(), null === (e = this.delegate) || void 0 === e || null === (i = e.inputControllerDidStartDrag) || void 0 === i ? void 0 : i.call(e);\n },\n dragover(t) {\n if (this.draggedRange || this.canAcceptDataTransfer(t.dataTransfer)) {\n t.preventDefault();\n const n = {\n x: t.clientX,\n y: t.clientY\n };\n var e, i;\n if (!St(n, this.draggingPoint)) return this.draggingPoint = n, null === (e = this.delegate) || void 0 === e || null === (i = e.inputControllerDidReceiveDragOverPoint) || void 0 === i ? void 0 : i.call(e, this.draggingPoint);\n }\n },\n dragend(t) {\n var e, i;\n null === (e = this.delegate) || void 0 === e || null === (i = e.inputControllerDidCancelDrag) || void 0 === i || i.call(e), this.draggedRange = null, this.draggingPoint = null;\n },\n drop(t) {\n var e, i;\n t.preventDefault();\n const n = null === (e = t.dataTransfer) || void 0 === e ? void 0 : e.files,\n r = t.dataTransfer.getData(\"application/x-trix-document\"),\n o = {\n x: t.clientX,\n y: t.clientY\n };\n if (null === (i = this.responder) || void 0 === i || i.setLocationRangeFromPointRange(o), null != n && n.length) this.attachFiles(n);else if (this.draggedRange) {\n var s, a;\n null === (s = this.delegate) || void 0 === s || s.inputControllerWillMoveText(), null === (a = this.responder) || void 0 === a || a.moveTextFromRange(this.draggedRange), this.draggedRange = null, this.requestRender();\n } else if (r) {\n var l;\n const t = ti.fromJSONString(r);\n null === (l = this.responder) || void 0 === l || l.insertDocument(t), this.requestRender();\n }\n this.draggedRange = null, this.draggingPoint = null;\n },\n cut(t) {\n var e, i;\n if (null !== (e = this.responder) && void 0 !== e && e.selectionIsExpanded() && (this.serializeSelectionToDataTransfer(t.clipboardData) && t.preventDefault(), null === (i = this.delegate) || void 0 === i || i.inputControllerWillCutText(), this.deleteInDirection(\"backward\"), t.defaultPrevented)) return this.requestRender();\n },\n copy(t) {\n var e;\n null !== (e = this.responder) && void 0 !== e && e.selectionIsExpanded() && this.serializeSelectionToDataTransfer(t.clipboardData) && t.preventDefault();\n },\n paste(t) {\n const e = t.clipboardData || t.testClipboardData,\n i = {\n clipboard: e\n };\n if (!e || hn(t)) return void this.getPastedHTMLUsingHiddenElement(t => {\n var e, n, r;\n return i.type = \"text/html\", i.html = t, null === (e = this.delegate) || void 0 === e || e.inputControllerWillPaste(i), null === (n = this.responder) || void 0 === n || n.insertHTML(i.html), this.requestRender(), null === (r = this.delegate) || void 0 === r ? void 0 : r.inputControllerDidPaste(i);\n });\n const n = e.getData(\"URL\"),\n r = e.getData(\"text/html\"),\n o = e.getData(\"public.url-name\");\n if (n) {\n var s, a, l;\n let t;\n i.type = \"text/html\", t = o ? qt(o).trim() : n, i.html = this.createLinkHTML(n, t), null === (s = this.delegate) || void 0 === s || s.inputControllerWillPaste(i), this.setInputSummary({\n textAdded: t,\n didDelete: this.selectionIsExpanded()\n }), null === (a = this.responder) || void 0 === a || a.insertHTML(i.html), this.requestRender(), null === (l = this.delegate) || void 0 === l || l.inputControllerDidPaste(i);\n } else if (Ct(e)) {\n var c, u, h;\n i.type = \"text/plain\", i.string = e.getData(\"text/plain\"), null === (c = this.delegate) || void 0 === c || c.inputControllerWillPaste(i), this.setInputSummary({\n textAdded: i.string,\n didDelete: this.selectionIsExpanded()\n }), null === (u = this.responder) || void 0 === u || u.insertString(i.string), this.requestRender(), null === (h = this.delegate) || void 0 === h || h.inputControllerDidPaste(i);\n } else if (r) {\n var d, g, m;\n i.type = \"text/html\", i.html = r, null === (d = this.delegate) || void 0 === d || d.inputControllerWillPaste(i), null === (g = this.responder) || void 0 === g || g.insertHTML(i.html), this.requestRender(), null === (m = this.delegate) || void 0 === m || m.inputControllerDidPaste(i);\n } else if (Array.from(e.types).includes(\"Files\")) {\n var p, f;\n const t = null === (p = e.items) || void 0 === p || null === (p = p[0]) || void 0 === p || null === (f = p.getAsFile) || void 0 === f ? void 0 : f.call(p);\n if (t) {\n var b, v, A;\n const e = ln(t);\n !t.name && e && (t.name = \"pasted-file-\".concat(++sn, \".\").concat(e)), i.type = \"File\", i.file = t, null === (b = this.delegate) || void 0 === b || b.inputControllerWillAttachFiles(), null === (v = this.responder) || void 0 === v || v.insertFile(i.file), this.requestRender(), null === (A = this.delegate) || void 0 === A || A.inputControllerDidPaste(i);\n }\n }\n t.preventDefault();\n },\n compositionstart(t) {\n return this.getCompositionInput().start(t.data);\n },\n compositionupdate(t) {\n return this.getCompositionInput().update(t.data);\n },\n compositionend(t) {\n return this.getCompositionInput().end(t.data);\n },\n beforeinput(t) {\n this.inputSummary.didInput = !0;\n },\n input(t) {\n return this.inputSummary.didInput = !0, t.stopPropagation();\n }\n}), Ee(an, \"keys\", {\n backspace(t) {\n var e;\n return null === (e = this.delegate) || void 0 === e || e.inputControllerWillPerformTyping(), this.deleteInDirection(\"backward\", t);\n },\n delete(t) {\n var e;\n return null === (e = this.delegate) || void 0 === e || e.inputControllerWillPerformTyping(), this.deleteInDirection(\"forward\", t);\n },\n return(t) {\n var e, i;\n return this.setInputSummary({\n preferDocument: !0\n }), null === (e = this.delegate) || void 0 === e || e.inputControllerWillPerformTyping(), null === (i = this.responder) || void 0 === i ? void 0 : i.insertLineBreak();\n },\n tab(t) {\n var e, i;\n null !== (e = this.responder) && void 0 !== e && e.canIncreaseNestingLevel() && (null === (i = this.responder) || void 0 === i || i.increaseNestingLevel(), this.requestRender(), t.preventDefault());\n },\n left(t) {\n var e;\n if (this.selectionIsInCursorTarget()) return t.preventDefault(), null === (e = this.responder) || void 0 === e ? void 0 : e.moveCursorInDirection(\"backward\");\n },\n right(t) {\n var e;\n if (this.selectionIsInCursorTarget()) return t.preventDefault(), null === (e = this.responder) || void 0 === e ? void 0 : e.moveCursorInDirection(\"forward\");\n },\n control: {\n d(t) {\n var e;\n return null === (e = this.delegate) || void 0 === e || e.inputControllerWillPerformTyping(), this.deleteInDirection(\"forward\", t);\n },\n h(t) {\n var e;\n return null === (e = this.delegate) || void 0 === e || e.inputControllerWillPerformTyping(), this.deleteInDirection(\"backward\", t);\n },\n o(t) {\n var e, i;\n return t.preventDefault(), null === (e = this.delegate) || void 0 === e || e.inputControllerWillPerformTyping(), null === (i = this.responder) || void 0 === i || i.insertString(\"\\n\", {\n updatePosition: !1\n }), this.requestRender();\n }\n },\n shift: {\n return(t) {\n var e, i;\n null === (e = this.delegate) || void 0 === e || e.inputControllerWillPerformTyping(), null === (i = this.responder) || void 0 === i || i.insertString(\"\\n\"), this.requestRender(), t.preventDefault();\n },\n tab(t) {\n var e, i;\n null !== (e = this.responder) && void 0 !== e && e.canDecreaseNestingLevel() && (null === (i = this.responder) || void 0 === i || i.decreaseNestingLevel(), this.requestRender(), t.preventDefault());\n },\n left(t) {\n if (this.selectionIsInCursorTarget()) return t.preventDefault(), this.expandSelectionInDirection(\"backward\");\n },\n right(t) {\n if (this.selectionIsInCursorTarget()) return t.preventDefault(), this.expandSelectionInDirection(\"forward\");\n }\n },\n alt: {\n backspace(t) {\n var e;\n return this.setInputSummary({\n preferDocument: !1\n }), null === (e = this.delegate) || void 0 === e ? void 0 : e.inputControllerWillPerformTyping();\n }\n },\n meta: {\n backspace(t) {\n var e;\n return this.setInputSummary({\n preferDocument: !1\n }), null === (e = this.delegate) || void 0 === e ? void 0 : e.inputControllerWillPerformTyping();\n }\n }\n}), an.proxyMethod(\"responder?.getSelectedRange\"), an.proxyMethod(\"responder?.setSelectedRange\"), an.proxyMethod(\"responder?.expandSelectionInDirection\"), an.proxyMethod(\"responder?.selectionIsInCursorTarget\"), an.proxyMethod(\"responder?.selectionIsExpanded\");\nconst ln = t => {\n var e;\n return null === (e = t.type) || void 0 === e || null === (e = e.match(/\\/(\\w+)$/)) || void 0 === e ? void 0 : e[1];\n },\n cn = !(null === (nn = \" \".codePointAt) || void 0 === nn || !nn.call(\" \", 0)),\n un = function (t) {\n if (t.key && cn && t.key.codePointAt(0) === t.keyCode) return t.key;\n {\n let e;\n if (null === t.which ? e = t.keyCode : 0 !== t.which && 0 !== t.charCode && (e = t.charCode), null != e && \"escape\" !== on[e]) return X.fromCodepoints([e]).toString();\n }\n },\n hn = function (t) {\n const e = t.clipboardData;\n if (e) {\n if (e.types.includes(\"text/html\")) {\n for (const t of e.types) {\n const i = /^CorePasteboardFlavorType/.test(t),\n n = /^dyn\\./.test(t) && e.getData(t);\n if (i || n) return !0;\n }\n return !1;\n }\n {\n const t = e.types.includes(\"com.apple.webarchive\"),\n i = e.types.includes(\"com.apple.flat-rtfd\");\n return t || i;\n }\n }\n };\nclass dn extends H {\n constructor(t) {\n super(...arguments), this.inputController = t, this.responder = this.inputController.responder, this.delegate = this.inputController.delegate, this.inputSummary = this.inputController.inputSummary, this.data = {};\n }\n start(t) {\n if (this.data.start = t, this.isSignificant()) {\n var e, i;\n if (\"keypress\" === this.inputSummary.eventName && this.inputSummary.textAdded) null === (i = this.responder) || void 0 === i || i.deleteInDirection(\"left\");\n this.selectionIsExpanded() || (this.insertPlaceholder(), this.requestRender()), this.range = null === (e = this.responder) || void 0 === e ? void 0 : e.getSelectedRange();\n }\n }\n update(t) {\n if (this.data.update = t, this.isSignificant()) {\n const t = this.selectPlaceholder();\n t && (this.forgetPlaceholder(), this.range = t);\n }\n }\n end(t) {\n return this.data.end = t, this.isSignificant() ? (this.forgetPlaceholder(), this.canApplyToDocument() ? (this.setInputSummary({\n preferDocument: !0,\n didInput: !1\n }), null === (e = this.delegate) || void 0 === e || e.inputControllerWillPerformTyping(), null === (i = this.responder) || void 0 === i || i.setSelectedRange(this.range), null === (n = this.responder) || void 0 === n || n.insertString(this.data.end), null === (r = this.responder) || void 0 === r ? void 0 : r.setSelectedRange(this.range[0] + this.data.end.length)) : null != this.data.start || null != this.data.update ? (this.requestReparse(), this.inputController.reset()) : void 0) : this.inputController.reset();\n var e, i, n, r;\n }\n getEndData() {\n return this.data.end;\n }\n isEnded() {\n return null != this.getEndData();\n }\n isSignificant() {\n return !rn.composesExistingText || this.inputSummary.didInput;\n }\n canApplyToDocument() {\n var t, e;\n return 0 === (null === (t = this.data.start) || void 0 === t ? void 0 : t.length) && (null === (e = this.data.end) || void 0 === e ? void 0 : e.length) > 0 && this.range;\n }\n}\ndn.proxyMethod(\"inputController.setInputSummary\"), dn.proxyMethod(\"inputController.requestRender\"), dn.proxyMethod(\"inputController.requestReparse\"), dn.proxyMethod(\"responder?.selectionIsExpanded\"), dn.proxyMethod(\"responder?.insertPlaceholder\"), dn.proxyMethod(\"responder?.selectPlaceholder\"), dn.proxyMethod(\"responder?.forgetPlaceholder\");\nclass gn extends en {\n constructor() {\n super(...arguments), this.render = this.render.bind(this);\n }\n elementDidMutate() {\n return this.scheduledRender ? this.composing ? null === (t = this.delegate) || void 0 === t || null === (e = t.inputControllerDidAllowUnhandledInput) || void 0 === e ? void 0 : e.call(t) : void 0 : this.reparse();\n var t, e;\n }\n scheduleRender() {\n return this.scheduledRender ? this.scheduledRender : this.scheduledRender = requestAnimationFrame(this.render);\n }\n render() {\n var t, e;\n (cancelAnimationFrame(this.scheduledRender), this.scheduledRender = null, this.composing) || null === (e = this.delegate) || void 0 === e || e.render();\n null === (t = this.afterRender) || void 0 === t || t.call(this), this.afterRender = null;\n }\n reparse() {\n var t;\n return null === (t = this.delegate) || void 0 === t ? void 0 : t.reparse();\n }\n insertString() {\n var t;\n let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"\",\n i = arguments.length > 1 ? arguments[1] : void 0;\n return null === (t = this.delegate) || void 0 === t || t.inputControllerWillPerformTyping(), this.withTargetDOMRange(function () {\n var t;\n return null === (t = this.responder) || void 0 === t ? void 0 : t.insertString(e, i);\n });\n }\n toggleAttributeIfSupported(t) {\n var e;\n if (dt().includes(t)) return null === (e = this.delegate) || void 0 === e || e.inputControllerWillPerformFormatting(t), this.withTargetDOMRange(function () {\n var e;\n return null === (e = this.responder) || void 0 === e ? void 0 : e.toggleCurrentAttribute(t);\n });\n }\n activateAttributeIfSupported(t, e) {\n var i;\n if (dt().includes(t)) return null === (i = this.delegate) || void 0 === i || i.inputControllerWillPerformFormatting(t), this.withTargetDOMRange(function () {\n var i;\n return null === (i = this.responder) || void 0 === i ? void 0 : i.setCurrentAttribute(t, e);\n });\n }\n deleteInDirection(t) {\n let _ref21 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {\n recordUndoEntry: !0\n },\n e = _ref21.recordUndoEntry;\n var i;\n e && (null === (i = this.delegate) || void 0 === i || i.inputControllerWillPerformTyping());\n const n = () => {\n var e;\n return null === (e = this.responder) || void 0 === e ? void 0 : e.deleteInDirection(t);\n },\n r = this.getTargetDOMRange({\n minLength: this.composing ? 1 : 2\n });\n return r ? this.withTargetDOMRange(r, n) : n();\n }\n withTargetDOMRange(t, e) {\n var i;\n return \"function\" == typeof t && (e = t, t = this.getTargetDOMRange()), t ? null === (i = this.responder) || void 0 === i ? void 0 : i.withTargetDOMRange(t, e.bind(this)) : (Pt.reset(), e.call(this));\n }\n getTargetDOMRange() {\n var t, e;\n let _ref22 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {\n minLength: 0\n },\n i = _ref22.minLength;\n const n = null === (t = (e = this.event).getTargetRanges) || void 0 === t ? void 0 : t.call(e);\n if (n && n.length) {\n const t = mn(n[0]);\n if (0 === i || t.toString().length >= i) return t;\n }\n }\n withEvent(t, e) {\n let i;\n this.event = t;\n try {\n i = e.call(this);\n } finally {\n this.event = null;\n }\n return i;\n }\n}\nEe(gn, \"events\", {\n keydown(t) {\n if (kt(t)) {\n var e;\n const i = An(t);\n null !== (e = this.delegate) && void 0 !== e && e.inputControllerDidReceiveKeyboardCommand(i) && t.preventDefault();\n } else {\n let e = t.key;\n t.altKey && (e += \"+Alt\"), t.shiftKey && (e += \"+Shift\");\n const i = this.constructor.keys[e];\n if (i) return this.withEvent(t, i);\n }\n },\n paste(t) {\n var e;\n let i;\n const n = null === (e = t.clipboardData) || void 0 === e ? void 0 : e.getData(\"URL\");\n return bn(t) ? (t.preventDefault(), this.attachFiles(t.clipboardData.files)) : vn(t) ? (t.preventDefault(), i = {\n type: \"text/plain\",\n string: t.clipboardData.getData(\"text/plain\")\n }, null === (r = this.delegate) || void 0 === r || r.inputControllerWillPaste(i), null === (o = this.responder) || void 0 === o || o.insertString(i.string), this.render(), null === (s = this.delegate) || void 0 === s ? void 0 : s.inputControllerDidPaste(i)) : n ? (t.preventDefault(), i = {\n type: \"text/html\",\n html: this.createLinkHTML(n)\n }, null === (a = this.delegate) || void 0 === a || a.inputControllerWillPaste(i), null === (l = this.responder) || void 0 === l || l.insertHTML(i.html), this.render(), null === (c = this.delegate) || void 0 === c ? void 0 : c.inputControllerDidPaste(i)) : void 0;\n var r, o, s, a, l, c;\n },\n beforeinput(t) {\n const e = this.constructor.inputTypes[t.inputType],\n i = (n = t, !(!/iPhone|iPad/.test(navigator.userAgent) || n.inputType && \"insertParagraph\" !== n.inputType));\n var n;\n e && (this.withEvent(t, e), i || this.scheduleRender()), i && this.render();\n },\n input(t) {\n Pt.reset();\n },\n dragstart(t) {\n var e, i;\n null !== (e = this.responder) && void 0 !== e && e.selectionContainsAttachments() && (t.dataTransfer.setData(\"application/x-trix-dragging\", !0), this.dragging = {\n range: null === (i = this.responder) || void 0 === i ? void 0 : i.getSelectedRange(),\n point: xn(t)\n });\n },\n dragenter(t) {\n pn(t) && t.preventDefault();\n },\n dragover(t) {\n if (this.dragging) {\n t.preventDefault();\n const i = xn(t);\n var e;\n if (!St(i, this.dragging.point)) return this.dragging.point = i, null === (e = this.responder) || void 0 === e ? void 0 : e.setLocationRangeFromPointRange(i);\n } else pn(t) && t.preventDefault();\n },\n drop(t) {\n var e, i;\n if (this.dragging) return t.preventDefault(), null === (e = this.delegate) || void 0 === e || e.inputControllerWillMoveText(), null === (i = this.responder) || void 0 === i || i.moveTextFromRange(this.dragging.range), this.dragging = null, this.scheduleRender();\n if (pn(t)) {\n var n;\n t.preventDefault();\n const e = xn(t);\n return null === (n = this.responder) || void 0 === n || n.setLocationRangeFromPointRange(e), this.attachFiles(t.dataTransfer.files);\n }\n },\n dragend() {\n var t;\n this.dragging && (null === (t = this.responder) || void 0 === t || t.setSelectedRange(this.dragging.range), this.dragging = null);\n },\n compositionend(t) {\n this.composing && (this.composing = !1, a.recentAndroid || this.scheduleRender());\n }\n}), Ee(gn, \"keys\", {\n ArrowLeft() {\n var t, e;\n if (null !== (t = this.responder) && void 0 !== t && t.shouldManageMovingCursorInDirection(\"backward\")) return this.event.preventDefault(), null === (e = this.responder) || void 0 === e ? void 0 : e.moveCursorInDirection(\"backward\");\n },\n ArrowRight() {\n var t, e;\n if (null !== (t = this.responder) && void 0 !== t && t.shouldManageMovingCursorInDirection(\"forward\")) return this.event.preventDefault(), null === (e = this.responder) || void 0 === e ? void 0 : e.moveCursorInDirection(\"forward\");\n },\n Backspace() {\n var t, e, i;\n if (null !== (t = this.responder) && void 0 !== t && t.shouldManageDeletingInDirection(\"backward\")) return this.event.preventDefault(), null === (e = this.delegate) || void 0 === e || e.inputControllerWillPerformTyping(), null === (i = this.responder) || void 0 === i || i.deleteInDirection(\"backward\"), this.render();\n },\n Tab() {\n var t, e;\n if (null !== (t = this.responder) && void 0 !== t && t.canIncreaseNestingLevel()) return this.event.preventDefault(), null === (e = this.responder) || void 0 === e || e.increaseNestingLevel(), this.render();\n },\n \"Tab+Shift\"() {\n var t, e;\n if (null !== (t = this.responder) && void 0 !== t && t.canDecreaseNestingLevel()) return this.event.preventDefault(), null === (e = this.responder) || void 0 === e || e.decreaseNestingLevel(), this.render();\n }\n}), Ee(gn, \"inputTypes\", {\n deleteByComposition() {\n return this.deleteInDirection(\"backward\", {\n recordUndoEntry: !1\n });\n },\n deleteByCut() {\n return this.deleteInDirection(\"backward\");\n },\n deleteByDrag() {\n return this.event.preventDefault(), this.withTargetDOMRange(function () {\n var t;\n this.deleteByDragRange = null === (t = this.responder) || void 0 === t ? void 0 : t.getSelectedRange();\n });\n },\n deleteCompositionText() {\n return this.deleteInDirection(\"backward\", {\n recordUndoEntry: !1\n });\n },\n deleteContent() {\n return this.deleteInDirection(\"backward\");\n },\n deleteContentBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteContentForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteEntireSoftLine() {\n return this.deleteInDirection(\"forward\");\n },\n deleteHardLineBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteHardLineForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteSoftLineBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteSoftLineForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteWordBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteWordForward() {\n return this.deleteInDirection(\"forward\");\n },\n formatBackColor() {\n return this.activateAttributeIfSupported(\"backgroundColor\", this.event.data);\n },\n formatBold() {\n return this.toggleAttributeIfSupported(\"bold\");\n },\n formatFontColor() {\n return this.activateAttributeIfSupported(\"color\", this.event.data);\n },\n formatFontName() {\n return this.activateAttributeIfSupported(\"font\", this.event.data);\n },\n formatIndent() {\n var t;\n if (null !== (t = this.responder) && void 0 !== t && t.canIncreaseNestingLevel()) return this.withTargetDOMRange(function () {\n var t;\n return null === (t = this.responder) || void 0 === t ? void 0 : t.increaseNestingLevel();\n });\n },\n formatItalic() {\n return this.toggleAttributeIfSupported(\"italic\");\n },\n formatJustifyCenter() {\n return this.toggleAttributeIfSupported(\"justifyCenter\");\n },\n formatJustifyFull() {\n return this.toggleAttributeIfSupported(\"justifyFull\");\n },\n formatJustifyLeft() {\n return this.toggleAttributeIfSupported(\"justifyLeft\");\n },\n formatJustifyRight() {\n return this.toggleAttributeIfSupported(\"justifyRight\");\n },\n formatOutdent() {\n var t;\n if (null !== (t = this.responder) && void 0 !== t && t.canDecreaseNestingLevel()) return this.withTargetDOMRange(function () {\n var t;\n return null === (t = this.responder) || void 0 === t ? void 0 : t.decreaseNestingLevel();\n });\n },\n formatRemove() {\n this.withTargetDOMRange(function () {\n for (const i in null === (t = this.responder) || void 0 === t ? void 0 : t.getCurrentAttributes()) {\n var t, e;\n null === (e = this.responder) || void 0 === e || e.removeCurrentAttribute(i);\n }\n });\n },\n formatSetBlockTextDirection() {\n return this.activateAttributeIfSupported(\"blockDir\", this.event.data);\n },\n formatSetInlineTextDirection() {\n return this.activateAttributeIfSupported(\"textDir\", this.event.data);\n },\n formatStrikeThrough() {\n return this.toggleAttributeIfSupported(\"strike\");\n },\n formatSubscript() {\n return this.toggleAttributeIfSupported(\"sub\");\n },\n formatSuperscript() {\n return this.toggleAttributeIfSupported(\"sup\");\n },\n formatUnderline() {\n return this.toggleAttributeIfSupported(\"underline\");\n },\n historyRedo() {\n var t;\n return null === (t = this.delegate) || void 0 === t ? void 0 : t.inputControllerWillPerformRedo();\n },\n historyUndo() {\n var t;\n return null === (t = this.delegate) || void 0 === t ? void 0 : t.inputControllerWillPerformUndo();\n },\n insertCompositionText() {\n return this.composing = !0, this.insertString(this.event.data);\n },\n insertFromComposition() {\n return this.composing = !1, this.insertString(this.event.data);\n },\n insertFromDrop() {\n const t = this.deleteByDragRange;\n var e;\n if (t) return this.deleteByDragRange = null, null === (e = this.delegate) || void 0 === e || e.inputControllerWillMoveText(), this.withTargetDOMRange(function () {\n var e;\n return null === (e = this.responder) || void 0 === e ? void 0 : e.moveTextFromRange(t);\n });\n },\n insertFromPaste() {\n const t = this.event.dataTransfer,\n e = {\n dataTransfer: t\n },\n i = t.getData(\"URL\"),\n n = t.getData(\"text/html\");\n if (i) {\n var r;\n let n;\n this.event.preventDefault(), e.type = \"text/html\";\n const o = t.getData(\"public.url-name\");\n n = o ? qt(o).trim() : i, e.html = this.createLinkHTML(i, n), null === (r = this.delegate) || void 0 === r || r.inputControllerWillPaste(e), this.withTargetDOMRange(function () {\n var t;\n return null === (t = this.responder) || void 0 === t ? void 0 : t.insertHTML(e.html);\n }), this.afterRender = () => {\n var t;\n return null === (t = this.delegate) || void 0 === t ? void 0 : t.inputControllerDidPaste(e);\n };\n } else if (Ct(t)) {\n var o;\n e.type = \"text/plain\", e.string = t.getData(\"text/plain\"), null === (o = this.delegate) || void 0 === o || o.inputControllerWillPaste(e), this.withTargetDOMRange(function () {\n var t;\n return null === (t = this.responder) || void 0 === t ? void 0 : t.insertString(e.string);\n }), this.afterRender = () => {\n var t;\n return null === (t = this.delegate) || void 0 === t ? void 0 : t.inputControllerDidPaste(e);\n };\n } else if (fn(this.event)) {\n var s;\n e.type = \"File\", e.file = t.files[0], null === (s = this.delegate) || void 0 === s || s.inputControllerWillPaste(e), this.withTargetDOMRange(function () {\n var t;\n return null === (t = this.responder) || void 0 === t ? void 0 : t.insertFile(e.file);\n }), this.afterRender = () => {\n var t;\n return null === (t = this.delegate) || void 0 === t ? void 0 : t.inputControllerDidPaste(e);\n };\n } else if (n) {\n var a;\n this.event.preventDefault(), e.type = \"text/html\", e.html = n, null === (a = this.delegate) || void 0 === a || a.inputControllerWillPaste(e), this.withTargetDOMRange(function () {\n var t;\n return null === (t = this.responder) || void 0 === t ? void 0 : t.insertHTML(e.html);\n }), this.afterRender = () => {\n var t;\n return null === (t = this.delegate) || void 0 === t ? void 0 : t.inputControllerDidPaste(e);\n };\n }\n },\n insertFromYank() {\n return this.insertString(this.event.data);\n },\n insertLineBreak() {\n return this.insertString(\"\\n\");\n },\n insertLink() {\n return this.activateAttributeIfSupported(\"href\", this.event.data);\n },\n insertOrderedList() {\n return this.toggleAttributeIfSupported(\"number\");\n },\n insertParagraph() {\n var t;\n return null === (t = this.delegate) || void 0 === t || t.inputControllerWillPerformTyping(), this.withTargetDOMRange(function () {\n var t;\n return null === (t = this.responder) || void 0 === t ? void 0 : t.insertLineBreak();\n });\n },\n insertReplacementText() {\n const t = this.event.dataTransfer.getData(\"text/plain\"),\n e = this.event.getTargetRanges()[0];\n this.withTargetDOMRange(e, () => {\n this.insertString(t, {\n updatePosition: !1\n });\n });\n },\n insertText() {\n var t;\n return this.insertString(this.event.data || (null === (t = this.event.dataTransfer) || void 0 === t ? void 0 : t.getData(\"text/plain\")));\n },\n insertTranspose() {\n return this.insertString(this.event.data);\n },\n insertUnorderedList() {\n return this.toggleAttributeIfSupported(\"bullet\");\n }\n});\nconst mn = function (t) {\n const e = document.createRange();\n return e.setStart(t.startContainer, t.startOffset), e.setEnd(t.endContainer, t.endOffset), e;\n },\n pn = t => {\n var e;\n return Array.from((null === (e = t.dataTransfer) || void 0 === e ? void 0 : e.types) || []).includes(\"Files\");\n },\n fn = t => {\n var e;\n return (null === (e = t.dataTransfer.files) || void 0 === e ? void 0 : e[0]) && !bn(t) && !(t => {\n let e = t.dataTransfer;\n return e.types.includes(\"Files\") && e.types.includes(\"text/html\") && e.getData(\"text/html\").includes(\"urn:schemas-microsoft-com:office:office\");\n })(t);\n },\n bn = function (t) {\n const e = t.clipboardData;\n if (e) {\n return Array.from(e.types).filter(t => t.match(/file/i)).length === e.types.length && e.files.length >= 1;\n }\n },\n vn = function (t) {\n const e = t.clipboardData;\n if (e) return e.types.includes(\"text/plain\") && 1 === e.types.length;\n },\n An = function (t) {\n const e = [];\n return t.altKey && e.push(\"alt\"), t.shiftKey && e.push(\"shift\"), e.push(t.key), e;\n },\n xn = t => ({\n x: t.clientX,\n y: t.clientY\n }),\n yn = \"[data-trix-attribute]\",\n Cn = \"[data-trix-action]\",\n kn = \"\".concat(yn, \", \").concat(Cn),\n En = \"[data-trix-dialog]\",\n Rn = \"\".concat(En, \"[data-trix-active]\"),\n Sn = \"\".concat(En, \" [data-trix-method]\"),\n wn = \"\".concat(En, \" [data-trix-input]\"),\n Ln = (t, e) => (e || (e = Tn(t)), t.querySelector(\"[data-trix-input][name='\".concat(e, \"']\"))),\n Dn = t => t.getAttribute(\"data-trix-action\"),\n Tn = t => t.getAttribute(\"data-trix-attribute\") || t.getAttribute(\"data-trix-dialog-attribute\");\nclass Fn extends H {\n constructor(t) {\n super(t), this.didClickActionButton = this.didClickActionButton.bind(this), this.didClickAttributeButton = this.didClickAttributeButton.bind(this), this.didClickDialogButton = this.didClickDialogButton.bind(this), this.didKeyDownDialogInput = this.didKeyDownDialogInput.bind(this), this.element = t, this.attributes = {}, this.actions = {}, this.resetDialogInputs(), f(\"mousedown\", {\n onElement: this.element,\n matchingSelector: Cn,\n withCallback: this.didClickActionButton\n }), f(\"mousedown\", {\n onElement: this.element,\n matchingSelector: yn,\n withCallback: this.didClickAttributeButton\n }), f(\"click\", {\n onElement: this.element,\n matchingSelector: kn,\n preventDefault: !0\n }), f(\"click\", {\n onElement: this.element,\n matchingSelector: Sn,\n withCallback: this.didClickDialogButton\n }), f(\"keydown\", {\n onElement: this.element,\n matchingSelector: wn,\n withCallback: this.didKeyDownDialogInput\n });\n }\n didClickActionButton(t, e) {\n var i;\n null === (i = this.delegate) || void 0 === i || i.toolbarDidClickButton(), t.preventDefault();\n const n = Dn(e);\n return this.getDialog(n) ? this.toggleDialog(n) : null === (r = this.delegate) || void 0 === r ? void 0 : r.toolbarDidInvokeAction(n, e);\n var r;\n }\n didClickAttributeButton(t, e) {\n var i;\n null === (i = this.delegate) || void 0 === i || i.toolbarDidClickButton(), t.preventDefault();\n const n = Tn(e);\n var r;\n this.getDialog(n) ? this.toggleDialog(n) : null === (r = this.delegate) || void 0 === r || r.toolbarDidToggleAttribute(n);\n return this.refreshAttributeButtons();\n }\n didClickDialogButton(t, e) {\n const i = A(e, {\n matchingSelector: En\n });\n return this[e.getAttribute(\"data-trix-method\")].call(this, i);\n }\n didKeyDownDialogInput(t, e) {\n if (13 === t.keyCode) {\n t.preventDefault();\n const i = e.getAttribute(\"name\"),\n n = this.getDialog(i);\n this.setAttribute(n);\n }\n if (27 === t.keyCode) return t.preventDefault(), this.hideDialog();\n }\n updateActions(t) {\n return this.actions = t, this.refreshActionButtons();\n }\n refreshActionButtons() {\n return this.eachActionButton((t, e) => {\n t.disabled = !1 === this.actions[e];\n });\n }\n eachActionButton(t) {\n return Array.from(this.element.querySelectorAll(Cn)).map(e => t(e, Dn(e)));\n }\n updateAttributes(t) {\n return this.attributes = t, this.refreshAttributeButtons();\n }\n refreshAttributeButtons() {\n return this.eachAttributeButton((t, e) => (t.disabled = !1 === this.attributes[e], this.attributes[e] || this.dialogIsVisible(e) ? (t.setAttribute(\"data-trix-active\", \"\"), t.classList.add(\"trix-active\")) : (t.removeAttribute(\"data-trix-active\"), t.classList.remove(\"trix-active\"))));\n }\n eachAttributeButton(t) {\n return Array.from(this.element.querySelectorAll(yn)).map(e => t(e, Tn(e)));\n }\n applyKeyboardCommand(t) {\n const e = JSON.stringify(t.sort());\n for (const t of Array.from(this.element.querySelectorAll(\"[data-trix-key]\"))) {\n const i = t.getAttribute(\"data-trix-key\").split(\"+\");\n if (JSON.stringify(i.sort()) === e) return b(\"mousedown\", {\n onElement: t\n }), !0;\n }\n return !1;\n }\n dialogIsVisible(t) {\n const e = this.getDialog(t);\n if (e) return e.hasAttribute(\"data-trix-active\");\n }\n toggleDialog(t) {\n return this.dialogIsVisible(t) ? this.hideDialog() : this.showDialog(t);\n }\n showDialog(t) {\n var e, i;\n this.hideDialog(), null === (e = this.delegate) || void 0 === e || e.toolbarWillShowDialog();\n const n = this.getDialog(t);\n n.setAttribute(\"data-trix-active\", \"\"), n.classList.add(\"trix-active\"), Array.from(n.querySelectorAll(\"input[disabled]\")).forEach(t => {\n t.removeAttribute(\"disabled\");\n });\n const r = Tn(n);\n if (r) {\n const e = Ln(n, t);\n e && (e.value = this.attributes[r] || \"\", e.select());\n }\n return null === (i = this.delegate) || void 0 === i ? void 0 : i.toolbarDidShowDialog(t);\n }\n setAttribute(t) {\n const e = Tn(t),\n i = Ln(t, e);\n return i.willValidate && !i.checkValidity() ? (i.setAttribute(\"data-trix-validate\", \"\"), i.classList.add(\"trix-validate\"), i.focus()) : (null === (n = this.delegate) || void 0 === n || n.toolbarDidUpdateAttribute(e, i.value), this.hideDialog());\n var n;\n }\n removeAttribute(t) {\n var e;\n const i = Tn(t);\n return null === (e = this.delegate) || void 0 === e || e.toolbarDidRemoveAttribute(i), this.hideDialog();\n }\n hideDialog() {\n const t = this.element.querySelector(Rn);\n var e;\n if (t) return t.removeAttribute(\"data-trix-active\"), t.classList.remove(\"trix-active\"), this.resetDialogInputs(), null === (e = this.delegate) || void 0 === e ? void 0 : e.toolbarDidHideDialog((t => t.getAttribute(\"data-trix-dialog\"))(t));\n }\n resetDialogInputs() {\n Array.from(this.element.querySelectorAll(wn)).forEach(t => {\n t.setAttribute(\"disabled\", \"disabled\"), t.removeAttribute(\"data-trix-validate\"), t.classList.remove(\"trix-validate\");\n });\n }\n getDialog(t) {\n return this.element.querySelector(\"[data-trix-dialog=\".concat(t, \"]\"));\n }\n}\nclass Bn extends zi {\n constructor(t) {\n let e = t.editorElement,\n i = t.document,\n n = t.html;\n super(...arguments), this.editorElement = e, this.selectionManager = new Ni(this.editorElement), this.selectionManager.delegate = this, this.composition = new yi(), this.composition.delegate = this, this.attachmentManager = new Ai(this.composition.getAttachments()), this.attachmentManager.delegate = this, this.inputController = 2 === M.getLevel() ? new gn(this.editorElement) : new an(this.editorElement), this.inputController.delegate = this, this.inputController.responder = this.composition, this.compositionController = new Hi(this.editorElement, this.composition), this.compositionController.delegate = this, this.toolbarController = new Fn(this.editorElement.toolbarElement), this.toolbarController.delegate = this, this.editor = new Li(this.composition, this.selectionManager, this.editorElement), i ? this.editor.loadDocument(i) : this.editor.loadHTML(n);\n }\n registerSelectionManager() {\n return Pt.registerSelectionManager(this.selectionManager);\n }\n unregisterSelectionManager() {\n return Pt.unregisterSelectionManager(this.selectionManager);\n }\n render() {\n return this.compositionController.render();\n }\n reparse() {\n return this.composition.replaceHTML(this.editorElement.innerHTML);\n }\n compositionDidChangeDocument(t) {\n if (this.notifyEditorElement(\"document-change\"), !this.handlingInput) return this.render();\n }\n compositionDidChangeCurrentAttributes(t) {\n return this.currentAttributes = t, this.toolbarController.updateAttributes(this.currentAttributes), this.updateCurrentActions(), this.notifyEditorElement(\"attributes-change\", {\n attributes: this.currentAttributes\n });\n }\n compositionDidPerformInsertionAtRange(t) {\n this.pasting && (this.pastedRange = t);\n }\n compositionShouldAcceptFile(t) {\n return this.notifyEditorElement(\"file-accept\", {\n file: t\n });\n }\n compositionDidAddAttachment(t) {\n const e = this.attachmentManager.manageAttachment(t);\n return this.notifyEditorElement(\"attachment-add\", {\n attachment: e\n });\n }\n compositionDidEditAttachment(t) {\n this.compositionController.rerenderViewForObject(t);\n const e = this.attachmentManager.manageAttachment(t);\n return this.notifyEditorElement(\"attachment-edit\", {\n attachment: e\n }), this.notifyEditorElement(\"change\");\n }\n compositionDidChangeAttachmentPreviewURL(t) {\n return this.compositionController.invalidateViewForObject(t), this.notifyEditorElement(\"change\");\n }\n compositionDidRemoveAttachment(t) {\n const e = this.attachmentManager.unmanageAttachment(t);\n return this.notifyEditorElement(\"attachment-remove\", {\n attachment: e\n });\n }\n compositionDidStartEditingAttachment(t, e) {\n return this.attachmentLocationRange = this.composition.document.getLocationRangeOfAttachment(t), this.compositionController.installAttachmentEditorForAttachment(t, e), this.selectionManager.setLocationRange(this.attachmentLocationRange);\n }\n compositionDidStopEditingAttachment(t) {\n this.compositionController.uninstallAttachmentEditor(), this.attachmentLocationRange = null;\n }\n compositionDidRequestChangingSelectionToLocationRange(t) {\n if (!this.loadingSnapshot || this.isFocused()) return this.requestedLocationRange = t, this.compositionRevisionWhenLocationRangeRequested = this.composition.revision, this.handlingInput ? void 0 : this.render();\n }\n compositionWillLoadSnapshot() {\n this.loadingSnapshot = !0;\n }\n compositionDidLoadSnapshot() {\n this.compositionController.refreshViewCache(), this.render(), this.loadingSnapshot = !1;\n }\n getSelectionManager() {\n return this.selectionManager;\n }\n attachmentManagerDidRequestRemovalOfAttachment(t) {\n return this.removeAttachment(t);\n }\n compositionControllerWillSyncDocumentView() {\n return this.inputController.editorWillSyncDocumentView(), this.selectionManager.lock(), this.selectionManager.clearSelection();\n }\n compositionControllerDidSyncDocumentView() {\n return this.inputController.editorDidSyncDocumentView(), this.selectionManager.unlock(), this.updateCurrentActions(), this.notifyEditorElement(\"sync\");\n }\n compositionControllerDidRender() {\n this.requestedLocationRange && (this.compositionRevisionWhenLocationRangeRequested === this.composition.revision && this.selectionManager.setLocationRange(this.requestedLocationRange), this.requestedLocationRange = null, this.compositionRevisionWhenLocationRangeRequested = null), this.renderedCompositionRevision !== this.composition.revision && (this.runEditorFilters(), this.composition.updateCurrentAttributes(), this.notifyEditorElement(\"render\")), this.renderedCompositionRevision = this.composition.revision;\n }\n compositionControllerDidFocus() {\n return this.isFocusedInvisibly() && this.setLocationRange({\n index: 0,\n offset: 0\n }), this.toolbarController.hideDialog(), this.notifyEditorElement(\"focus\");\n }\n compositionControllerDidBlur() {\n return this.notifyEditorElement(\"blur\");\n }\n compositionControllerDidSelectAttachment(t, e) {\n return this.toolbarController.hideDialog(), this.composition.editAttachment(t, e);\n }\n compositionControllerDidRequestDeselectingAttachment(t) {\n const e = this.attachmentLocationRange || this.composition.document.getLocationRangeOfAttachment(t);\n return this.selectionManager.setLocationRange(e[1]);\n }\n compositionControllerWillUpdateAttachment(t) {\n return this.editor.recordUndoEntry(\"Edit Attachment\", {\n context: t.id,\n consolidatable: !0\n });\n }\n compositionControllerDidRequestRemovalOfAttachment(t) {\n return this.removeAttachment(t);\n }\n inputControllerWillHandleInput() {\n this.handlingInput = !0, this.requestedRender = !1;\n }\n inputControllerDidRequestRender() {\n this.requestedRender = !0;\n }\n inputControllerDidHandleInput() {\n if (this.handlingInput = !1, this.requestedRender) return this.requestedRender = !1, this.render();\n }\n inputControllerDidAllowUnhandledInput() {\n return this.notifyEditorElement(\"change\");\n }\n inputControllerDidRequestReparse() {\n return this.reparse();\n }\n inputControllerWillPerformTyping() {\n return this.recordTypingUndoEntry();\n }\n inputControllerWillPerformFormatting(t) {\n return this.recordFormattingUndoEntry(t);\n }\n inputControllerWillCutText() {\n return this.editor.recordUndoEntry(\"Cut\");\n }\n inputControllerWillPaste(t) {\n return this.editor.recordUndoEntry(\"Paste\"), this.pasting = !0, this.notifyEditorElement(\"before-paste\", {\n paste: t\n });\n }\n inputControllerDidPaste(t) {\n return t.range = this.pastedRange, this.pastedRange = null, this.pasting = null, this.notifyEditorElement(\"paste\", {\n paste: t\n });\n }\n inputControllerWillMoveText() {\n return this.editor.recordUndoEntry(\"Move\");\n }\n inputControllerWillAttachFiles() {\n return this.editor.recordUndoEntry(\"Drop Files\");\n }\n inputControllerWillPerformUndo() {\n return this.editor.undo();\n }\n inputControllerWillPerformRedo() {\n return this.editor.redo();\n }\n inputControllerDidReceiveKeyboardCommand(t) {\n return this.toolbarController.applyKeyboardCommand(t);\n }\n inputControllerDidStartDrag() {\n this.locationRangeBeforeDrag = this.selectionManager.getLocationRange();\n }\n inputControllerDidReceiveDragOverPoint(t) {\n return this.selectionManager.setLocationRangeFromPointRange(t);\n }\n inputControllerDidCancelDrag() {\n this.selectionManager.setLocationRange(this.locationRangeBeforeDrag), this.locationRangeBeforeDrag = null;\n }\n locationRangeDidChange(t) {\n return this.composition.updateCurrentAttributes(), this.updateCurrentActions(), this.attachmentLocationRange && !Dt(this.attachmentLocationRange, t) && this.composition.stopEditingAttachment(), this.notifyEditorElement(\"selection-change\");\n }\n toolbarDidClickButton() {\n if (!this.getLocationRange()) return this.setLocationRange({\n index: 0,\n offset: 0\n });\n }\n toolbarDidInvokeAction(t, e) {\n return this.invokeAction(t, e);\n }\n toolbarDidToggleAttribute(t) {\n if (this.recordFormattingUndoEntry(t), this.composition.toggleCurrentAttribute(t), this.render(), !this.selectionFrozen) return this.editorElement.focus();\n }\n toolbarDidUpdateAttribute(t, e) {\n if (this.recordFormattingUndoEntry(t), this.composition.setCurrentAttribute(t, e), this.render(), !this.selectionFrozen) return this.editorElement.focus();\n }\n toolbarDidRemoveAttribute(t) {\n if (this.recordFormattingUndoEntry(t), this.composition.removeCurrentAttribute(t), this.render(), !this.selectionFrozen) return this.editorElement.focus();\n }\n toolbarWillShowDialog(t) {\n return this.composition.expandSelectionForEditing(), this.freezeSelection();\n }\n toolbarDidShowDialog(t) {\n return this.notifyEditorElement(\"toolbar-dialog-show\", {\n dialogName: t\n });\n }\n toolbarDidHideDialog(t) {\n return this.thawSelection(), this.editorElement.focus(), this.notifyEditorElement(\"toolbar-dialog-hide\", {\n dialogName: t\n });\n }\n freezeSelection() {\n if (!this.selectionFrozen) return this.selectionManager.lock(), this.composition.freezeSelection(), this.selectionFrozen = !0, this.render();\n }\n thawSelection() {\n if (this.selectionFrozen) return this.composition.thawSelection(), this.selectionManager.unlock(), this.selectionFrozen = !1, this.render();\n }\n canInvokeAction(t) {\n return !!this.actionIsExternal(t) || !(null === (e = this.actions[t]) || void 0 === e || null === (e = e.test) || void 0 === e || !e.call(this));\n var e;\n }\n invokeAction(t, e) {\n return this.actionIsExternal(t) ? this.notifyEditorElement(\"action-invoke\", {\n actionName: t,\n invokingElement: e\n }) : null === (i = this.actions[t]) || void 0 === i || null === (i = i.perform) || void 0 === i ? void 0 : i.call(this);\n var i;\n }\n actionIsExternal(t) {\n return /^x-./.test(t);\n }\n getCurrentActions() {\n const t = {};\n for (const e in this.actions) t[e] = this.canInvokeAction(e);\n return t;\n }\n updateCurrentActions() {\n const t = this.getCurrentActions();\n if (!St(t, this.currentActions)) return this.currentActions = t, this.toolbarController.updateActions(this.currentActions), this.notifyEditorElement(\"actions-change\", {\n actions: this.currentActions\n });\n }\n runEditorFilters() {\n let t = this.composition.getSnapshot();\n if (Array.from(this.editor.filters).forEach(e => {\n const _t19 = t,\n i = _t19.document,\n n = _t19.selectedRange;\n t = e.call(this.editor, t) || {}, t.document || (t.document = i), t.selectedRange || (t.selectedRange = n);\n }), e = t, i = this.composition.getSnapshot(), !Dt(e.selectedRange, i.selectedRange) || !e.document.isEqualTo(i.document)) return this.composition.loadSnapshot(t);\n var e, i;\n }\n updateInputElement() {\n const t = function (t, e) {\n const i = fi[e];\n if (i) return i(t);\n throw new Error(\"unknown content type: \".concat(e));\n }(this.compositionController.getSerializableElement(), \"text/html\");\n return this.editorElement.setFormValue(t);\n }\n notifyEditorElement(t, e) {\n switch (t) {\n case \"document-change\":\n this.documentChangedSinceLastRender = !0;\n break;\n case \"render\":\n this.documentChangedSinceLastRender && (this.documentChangedSinceLastRender = !1, this.notifyEditorElement(\"change\"));\n break;\n case \"change\":\n case \"attachment-add\":\n case \"attachment-edit\":\n case \"attachment-remove\":\n this.updateInputElement();\n }\n return this.editorElement.notify(t, e);\n }\n removeAttachment(t) {\n return this.editor.recordUndoEntry(\"Delete Attachment\"), this.composition.removeAttachment(t), this.render();\n }\n recordFormattingUndoEntry(t) {\n const e = gt(t),\n i = this.selectionManager.getLocationRange();\n if (e || !Lt(i)) return this.editor.recordUndoEntry(\"Formatting\", {\n context: this.getUndoContext(),\n consolidatable: !0\n });\n }\n recordTypingUndoEntry() {\n return this.editor.recordUndoEntry(\"Typing\", {\n context: this.getUndoContext(this.currentAttributes),\n consolidatable: !0\n });\n }\n getUndoContext() {\n for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++) e[i] = arguments[i];\n return [this.getLocationContext(), this.getTimeContext(), ...Array.from(e)];\n }\n getLocationContext() {\n const t = this.selectionManager.getLocationRange();\n return Lt(t) ? t[0].index : t;\n }\n getTimeContext() {\n return q.interval > 0 ? Math.floor(new Date().getTime() / q.interval) : 0;\n }\n isFocused() {\n var t;\n return this.editorElement === (null === (t = this.editorElement.ownerDocument) || void 0 === t ? void 0 : t.activeElement);\n }\n isFocusedInvisibly() {\n return this.isFocused() && !this.getLocationRange();\n }\n get actions() {\n return this.constructor.actions;\n }\n}\nEe(Bn, \"actions\", {\n undo: {\n test() {\n return this.editor.canUndo();\n },\n perform() {\n return this.editor.undo();\n }\n },\n redo: {\n test() {\n return this.editor.canRedo();\n },\n perform() {\n return this.editor.redo();\n }\n },\n link: {\n test() {\n return this.editor.canActivateAttribute(\"href\");\n }\n },\n increaseNestingLevel: {\n test() {\n return this.editor.canIncreaseNestingLevel();\n },\n perform() {\n return this.editor.increaseNestingLevel() && this.render();\n }\n },\n decreaseNestingLevel: {\n test() {\n return this.editor.canDecreaseNestingLevel();\n },\n perform() {\n return this.editor.decreaseNestingLevel() && this.render();\n }\n },\n attachFiles: {\n test: () => !0,\n perform() {\n return M.pickFiles(this.editor.insertFiles);\n }\n }\n}), Bn.proxyMethod(\"getSelectionManager().setLocationRange\"), Bn.proxyMethod(\"getSelectionManager().getLocationRange\");\nvar Pn = Object.freeze({\n __proto__: null,\n AttachmentEditorController: Ui,\n CompositionController: Hi,\n Controller: zi,\n EditorController: Bn,\n InputController: en,\n Level0InputController: an,\n Level2InputController: gn,\n ToolbarController: Fn\n }),\n In = Object.freeze({\n __proto__: null,\n MutationObserver: Gi,\n SelectionChangeObserver: Bt\n }),\n Nn = Object.freeze({\n __proto__: null,\n FileVerificationOperation: Xi,\n ImagePreloadOperation: Ne\n });\nbt(\"trix-toolbar\", \"%t {\\n display: block;\\n}\\n\\n%t {\\n white-space: nowrap;\\n}\\n\\n%t [data-trix-dialog] {\\n display: none;\\n}\\n\\n%t [data-trix-dialog][data-trix-active] {\\n display: block;\\n}\\n\\n%t [data-trix-dialog] [data-trix-validate]:invalid {\\n background-color: #ffdddd;\\n}\");\nclass On extends HTMLElement {\n connectedCallback() {\n \"\" === this.innerHTML && (this.innerHTML = V.getDefaultHTML());\n }\n}\nlet Mn = 0;\nconst jn = function (t) {\n if (!t.hasAttribute(\"contenteditable\")) return t.setAttribute(\"contenteditable\", \"\"), function (t) {\n let e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\n return e.times = 1, f(t, e);\n }(\"focus\", {\n onElement: t,\n withCallback: () => Wn(t)\n });\n },\n Wn = function (t) {\n return Vn(t), qn(t);\n },\n Vn = function (t) {\n var e, i;\n if (null !== (e = (i = document).queryCommandSupported) && void 0 !== e && e.call(i, \"enableObjectResizing\")) return document.execCommand(\"enableObjectResizing\", !1, !1), f(\"mscontrolselect\", {\n onElement: t,\n preventDefault: !0\n });\n },\n qn = function (t) {\n var e, i;\n if (null !== (e = (i = document).queryCommandSupported) && void 0 !== e && e.call(i, \"DefaultParagraphSeparator\")) {\n const t = n.default.tagName;\n if ([\"div\", \"p\"].includes(t)) return document.execCommand(\"DefaultParagraphSeparator\", !1, t);\n }\n },\n Un = a.forcesObjectResizing ? {\n display: \"inline\",\n width: \"auto\"\n } : {\n display: \"inline-block\",\n width: \"1px\"\n };\nbt(\"trix-editor\", \"%t {\\n display: block;\\n}\\n\\n%t:empty::before {\\n content: attr(placeholder);\\n color: graytext;\\n cursor: text;\\n pointer-events: none;\\n white-space: pre-line;\\n}\\n\\n%t a[contenteditable=false] {\\n cursor: text;\\n}\\n\\n%t img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n%t \".concat(e, \" figcaption textarea {\\n resize: none;\\n}\\n\\n%t \").concat(e, \" figcaption textarea.trix-autoresize-clone {\\n position: absolute;\\n left: -9999px;\\n max-height: 0px;\\n}\\n\\n%t \").concat(e, \" figcaption[data-trix-placeholder]:empty::before {\\n content: attr(data-trix-placeholder);\\n color: graytext;\\n}\\n\\n%t [data-trix-cursor-target] {\\n display: \").concat(Un.display, \" !important;\\n width: \").concat(Un.width, \" !important;\\n padding: 0 !important;\\n margin: 0 !important;\\n border: none !important;\\n}\\n\\n%t [data-trix-cursor-target=left] {\\n vertical-align: top !important;\\n margin-left: -1px !important;\\n}\\n\\n%t [data-trix-cursor-target=right] {\\n vertical-align: bottom !important;\\n margin-right: -1px !important;\\n}\"));\nvar Hn = new WeakMap(),\n zn = new WeakSet();\nclass _n {\n constructor(t) {\n var e, i;\n Be(e = this, i = zn), i.add(e), Pe(this, Hn, {\n writable: !0,\n value: void 0\n }), this.element = t, we(this, Hn, t.attachInternals());\n }\n connectedCallback() {\n Fe(this, zn, Jn).call(this);\n }\n disconnectedCallback() {}\n get labels() {\n return Se(this, Hn).labels;\n }\n get disabled() {\n var t;\n return null === (t = this.element.inputElement) || void 0 === t ? void 0 : t.disabled;\n }\n set disabled(t) {\n this.element.toggleAttribute(\"disabled\", t);\n }\n get required() {\n return this.element.hasAttribute(\"required\");\n }\n set required(t) {\n this.element.toggleAttribute(\"required\", t), Fe(this, zn, Jn).call(this);\n }\n get validity() {\n return Se(this, Hn).validity;\n }\n get validationMessage() {\n return Se(this, Hn).validationMessage;\n }\n get willValidate() {\n return Se(this, Hn).willValidate;\n }\n setFormValue(t) {\n Fe(this, zn, Jn).call(this);\n }\n checkValidity() {\n return Se(this, Hn).checkValidity();\n }\n reportValidity() {\n return Se(this, Hn).reportValidity();\n }\n setCustomValidity(t) {\n Fe(this, zn, Jn).call(this, t);\n }\n}\nfunction Jn() {\n let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"\";\n const _this$element = this.element,\n e = _this$element.required,\n i = _this$element.value,\n n = e && !i,\n r = !!t,\n o = S(\"input\", {\n required: e\n }),\n s = t || o.validationMessage;\n Se(this, Hn).setValidity({\n valueMissing: n,\n customError: r\n }, s);\n}\nvar Kn = new WeakMap(),\n Gn = new WeakMap(),\n $n = new WeakMap();\nclass Xn {\n constructor(t) {\n Pe(this, Kn, {\n writable: !0,\n value: void 0\n }), Pe(this, Gn, {\n writable: !0,\n value: t => {\n t.defaultPrevented || t.target === this.element.form && this.element.reset();\n }\n }), Pe(this, $n, {\n writable: !0,\n value: t => {\n if (t.defaultPrevented) return;\n if (this.element.contains(t.target)) return;\n const e = A(t.target, {\n matchingSelector: \"label\"\n });\n e && Array.from(this.labels).includes(e) && this.element.focus();\n }\n }), this.element = t;\n }\n connectedCallback() {\n we(this, Kn, function (t) {\n if (t.hasAttribute(\"aria-label\") || t.hasAttribute(\"aria-labelledby\")) return;\n const e = function () {\n const e = Array.from(t.labels).map(e => {\n if (!e.contains(t)) return e.textContent;\n }).filter(t => t),\n i = e.join(\" \");\n return i ? t.setAttribute(\"aria-label\", i) : t.removeAttribute(\"aria-label\");\n };\n return e(), f(\"focus\", {\n onElement: t,\n withCallback: e\n });\n }(this.element)), window.addEventListener(\"reset\", Se(this, Gn), !1), window.addEventListener(\"click\", Se(this, $n), !1);\n }\n disconnectedCallback() {\n var t;\n null === (t = Se(this, Kn)) || void 0 === t || t.destroy(), window.removeEventListener(\"reset\", Se(this, Gn), !1), window.removeEventListener(\"click\", Se(this, $n), !1);\n }\n get labels() {\n const t = [];\n this.element.id && this.element.ownerDocument && t.push(...Array.from(this.element.ownerDocument.querySelectorAll(\"label[for='\".concat(this.element.id, \"']\")) || []));\n const e = A(this.element, {\n matchingSelector: \"label\"\n });\n return e && [this.element, null].includes(e.control) && t.push(e), t;\n }\n get disabled() {\n return console.warn(\"This browser does not support the [disabled] attribute for trix-editor elements.\"), !1;\n }\n set disabled(t) {\n console.warn(\"This browser does not support the [disabled] attribute for trix-editor elements.\");\n }\n get required() {\n return console.warn(\"This browser does not support the [required] attribute for trix-editor elements.\"), !1;\n }\n set required(t) {\n console.warn(\"This browser does not support the [required] attribute for trix-editor elements.\");\n }\n get validity() {\n return console.warn(\"This browser does not support the validity property for trix-editor elements.\"), null;\n }\n get validationMessage() {\n return console.warn(\"This browser does not support the validationMessage property for trix-editor elements.\"), \"\";\n }\n get willValidate() {\n return console.warn(\"This browser does not support the willValidate property for trix-editor elements.\"), !1;\n }\n setFormValue(t) {}\n checkValidity() {\n return console.warn(\"This browser does not support checkValidity() for trix-editor elements.\"), !0;\n }\n reportValidity() {\n return console.warn(\"This browser does not support reportValidity() for trix-editor elements.\"), !0;\n }\n setCustomValidity(t) {\n console.warn(\"This browser does not support setCustomValidity(validationMessage) for trix-editor elements.\");\n }\n}\nvar Yn = new WeakMap();\nclass Qn extends HTMLElement {\n constructor() {\n super(), Pe(this, Yn, {\n writable: !0,\n value: void 0\n }), we(this, Yn, this.constructor.formAssociated ? new _n(this) : new Xn(this));\n }\n get trixId() {\n return this.hasAttribute(\"trix-id\") ? this.getAttribute(\"trix-id\") : (this.setAttribute(\"trix-id\", ++Mn), this.trixId);\n }\n get labels() {\n return Se(this, Yn).labels;\n }\n get disabled() {\n return Se(this, Yn).disabled;\n }\n set disabled(t) {\n Se(this, Yn).disabled = t;\n }\n get required() {\n return Se(this, Yn).required;\n }\n set required(t) {\n Se(this, Yn).required = t;\n }\n get validity() {\n return Se(this, Yn).validity;\n }\n get validationMessage() {\n return Se(this, Yn).validationMessage;\n }\n get willValidate() {\n return Se(this, Yn).willValidate;\n }\n get type() {\n return this.localName;\n }\n get toolbarElement() {\n var t;\n if (this.hasAttribute(\"toolbar\")) return null === (t = this.ownerDocument) || void 0 === t ? void 0 : t.getElementById(this.getAttribute(\"toolbar\"));\n if (this.parentNode) {\n const t = \"trix-toolbar-\".concat(this.trixId);\n this.setAttribute(\"toolbar\", t);\n const e = S(\"trix-toolbar\", {\n id: t\n });\n return this.parentNode.insertBefore(e, this), e;\n }\n }\n get form() {\n var t;\n return null === (t = this.inputElement) || void 0 === t ? void 0 : t.form;\n }\n get inputElement() {\n var t;\n if (this.hasAttribute(\"input\")) return null === (t = this.ownerDocument) || void 0 === t ? void 0 : t.getElementById(this.getAttribute(\"input\"));\n if (this.parentNode) {\n const t = \"trix-input-\".concat(this.trixId);\n this.setAttribute(\"input\", t);\n const e = S(\"input\", {\n type: \"hidden\",\n id: t\n });\n return this.parentNode.insertBefore(e, this.nextElementSibling), e;\n }\n }\n get editor() {\n var t;\n return null === (t = this.editorController) || void 0 === t ? void 0 : t.editor;\n }\n get name() {\n var t;\n return null === (t = this.inputElement) || void 0 === t ? void 0 : t.name;\n }\n get value() {\n var t;\n return null === (t = this.inputElement) || void 0 === t ? void 0 : t.value;\n }\n set value(t) {\n var e;\n this.defaultValue = t, null === (e = this.editor) || void 0 === e || e.loadHTML(this.defaultValue);\n }\n notify(t, e) {\n if (this.editorController) return b(\"trix-\".concat(t), {\n onElement: this,\n attributes: e\n });\n }\n setFormValue(t) {\n this.inputElement && (this.inputElement.value = t, Se(this, Yn).setFormValue(t));\n }\n connectedCallback() {\n this.hasAttribute(\"data-trix-internal\") || (jn(this), function (t) {\n if (!t.hasAttribute(\"role\")) t.setAttribute(\"role\", \"textbox\");\n }(this), this.editorController || (b(\"trix-before-initialize\", {\n onElement: this\n }), this.editorController = new Bn({\n editorElement: this,\n html: this.defaultValue = this.value\n }), requestAnimationFrame(() => b(\"trix-initialize\", {\n onElement: this\n }))), this.editorController.registerSelectionManager(), Se(this, Yn).connectedCallback(), function (t) {\n if (!document.querySelector(\":focus\") && t.hasAttribute(\"autofocus\") && document.querySelector(\"[autofocus]\") === t) t.focus();\n }(this));\n }\n disconnectedCallback() {\n var t;\n null === (t = this.editorController) || void 0 === t || t.unregisterSelectionManager(), Se(this, Yn).disconnectedCallback();\n }\n checkValidity() {\n return Se(this, Yn).checkValidity();\n }\n reportValidity() {\n return Se(this, Yn).reportValidity();\n }\n setCustomValidity(t) {\n Se(this, Yn).setCustomValidity(t);\n }\n formDisabledCallback(t) {\n this.inputElement && (this.inputElement.disabled = t), this.toggleAttribute(\"contenteditable\", !t);\n }\n formResetCallback() {\n this.reset();\n }\n reset() {\n this.value = this.defaultValue;\n }\n}\nEe(Qn, \"formAssociated\", \"ElementInternals\" in window);\nconst Zn = {\n VERSION: t,\n config: U,\n core: bi,\n models: Oi,\n views: Mi,\n controllers: Pn,\n observers: In,\n operations: Nn,\n elements: Object.freeze({\n __proto__: null,\n TrixEditorElement: Qn,\n TrixToolbarElement: On\n }),\n filters: Object.freeze({\n __proto__: null,\n Filter: Ri,\n attachmentGalleryFilter: Si\n })\n};\nObject.assign(Zn, Oi), window.Trix = Zn, setTimeout(function () {\n customElements.get(\"trix-toolbar\") || customElements.define(\"trix-toolbar\", On), customElements.get(\"trix-editor\") || customElements.define(\"trix-editor\", Qn);\n}, 0);\nexport { Zn as default };","var sparkMd5 = {\n exports: {}\n};\n(function (module, exports) {\n (function (factory) {\n {\n module.exports = factory();\n }\n })(function (undefined$1) {\n var hex_chr = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n function md5blk(s) {\n var md5blks = [],\n i;\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n function md5blk_array(a) {\n var md5blks = [],\n i;\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function rhex(n) {\n var s = \"\",\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];\n }\n return s;\n }\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join(\"\");\n }\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n if (typeof ArrayBuffer !== \"undefined\" && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = val | 0 || 0;\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n return Math.min(val, length);\n }\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n if (to !== undefined$1) {\n end = clamp(to, length);\n }\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n return str;\n }\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n return returnUInt8Array ? arr : buff;\n }\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n return String.fromCharCode.apply(String, bytes);\n }\n function SparkMD5() {\n this.reset();\n }\n SparkMD5.prototype.append = function (str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length,\n i;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.prototype.reset = function () {\n this._buff = \"\";\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n SparkMD5.hash = function (str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n SparkMD5.ArrayBuffer = function () {\n this.reset();\n };\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n this._length += arr.byteLength;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n return SparkMD5;\n });\n})(sparkMd5);\nvar SparkMD5 = sparkMd5.exports;\nconst fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\nclass FileChecksum {\n static create(file, callback) {\n const instance = new FileChecksum(file);\n instance.create(callback);\n }\n constructor(file) {\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n create(callback) {\n this.callback = callback;\n this.md5Buffer = new SparkMD5.ArrayBuffer();\n this.fileReader = new FileReader();\n this.fileReader.addEventListener(\"load\", event => this.fileReaderDidLoad(event));\n this.fileReader.addEventListener(\"error\", event => this.fileReaderDidError(event));\n this.readNextChunk();\n }\n fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n if (!this.readNextChunk()) {\n const binaryDigest = this.md5Buffer.end(true);\n const base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n fileReaderDidError(event) {\n this.callback(`Error reading ${this.file.name}`);\n }\n readNextChunk() {\n if (this.chunkIndex < this.chunkCount || this.chunkIndex == 0 && this.chunkCount == 0) {\n const start = this.chunkIndex * this.chunkSize;\n const end = Math.min(start + this.chunkSize, this.file.size);\n const bytes = fileSlice.call(this.file, start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n}\nfunction getMetaValue(name) {\n const element = findElement(document.head, `meta[name=\"${name}\"]`);\n if (element) {\n return element.getAttribute(\"content\");\n }\n}\nfunction findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n const elements = root.querySelectorAll(selector);\n return toArray(elements);\n}\nfunction findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n return root.querySelector(selector);\n}\nfunction dispatchEvent(element, type) {\n let eventInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const disabled = element.disabled;\n const bubbles = eventInit.bubbles,\n cancelable = eventInit.cancelable,\n detail = eventInit.detail;\n const event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n return event;\n}\nfunction toArray(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n}\nclass BlobRecord {\n constructor(file, checksum, url) {\n let customHeaders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type || \"application/octet-stream\",\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n Object.keys(customHeaders).forEach(headerKey => {\n this.xhr.setRequestHeader(headerKey, customHeaders[headerKey]);\n });\n const csrfToken = getMetaValue(\"csrf-token\");\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n this.xhr.addEventListener(\"load\", event => this.requestDidLoad(event));\n this.xhr.addEventListener(\"error\", event => this.requestDidError(event));\n }\n get status() {\n return this.xhr.status;\n }\n get response() {\n const _this$xhr = this.xhr,\n responseType = _this$xhr.responseType,\n response = _this$xhr.response;\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n requestDidLoad(event) {\n if (this.status >= 200 && this.status < 300) {\n const response = this.response;\n const direct_upload = response.direct_upload;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n requestDidError(event) {\n this.callback(`Error creating Blob for \"${this.file.name}\". Status: ${this.status}`);\n }\n toJSON() {\n const result = {};\n for (const key in this.attributes) {\n result[key] = this.attributes[key];\n }\n return result;\n }\n}\nclass BlobUpload {\n constructor(blob) {\n this.blob = blob;\n this.file = blob.file;\n const _blob$directUploadDat = blob.directUploadData,\n url = _blob$directUploadDat.url,\n headers = _blob$directUploadDat.headers;\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n for (const key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n this.xhr.addEventListener(\"load\", event => this.requestDidLoad(event));\n this.xhr.addEventListener(\"error\", event => this.requestDidError(event));\n }\n create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n requestDidLoad(event) {\n const _this$xhr2 = this.xhr,\n status = _this$xhr2.status,\n response = _this$xhr2.response;\n if (status >= 200 && status < 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n requestDidError(event) {\n this.callback(`Error storing \"${this.file.name}\". Status: ${this.xhr.status}`);\n }\n}\nlet id = 0;\nclass DirectUpload {\n constructor(file, url, delegate) {\n let customHeaders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n this.customHeaders = customHeaders;\n }\n create(callback) {\n FileChecksum.create(this.file, (error, checksum) => {\n if (error) {\n callback(error);\n return;\n }\n const blob = new BlobRecord(this.file, checksum, this.url, this.customHeaders);\n notify(this.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create(error => {\n if (error) {\n callback(error);\n } else {\n const upload = new BlobUpload(blob);\n notify(this.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create(error => {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n });\n }\n });\n });\n }\n}\nfunction notify(object, methodName) {\n if (object && typeof object[methodName] == \"function\") {\n for (var _len = arguments.length, messages = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n messages[_key - 2] = arguments[_key];\n }\n return object[methodName](...messages);\n }\n}\nclass DirectUploadController {\n constructor(input, file) {\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n start(callback) {\n const hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create((error, attributes) => {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n this.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n this.dispatch(\"end\");\n callback(error);\n });\n }\n uploadRequestDidProgress(event) {\n const progress = event.loaded / event.total * 100;\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n get url() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n dispatch(name) {\n let detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, `direct-upload:${name}`, {\n detail: detail\n });\n }\n dispatchError(error) {\n const event = this.dispatch(\"error\", {\n error: error\n });\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n directUploadWillStoreFileWithXHR(xhr) {\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", event => this.uploadRequestDidProgress(event));\n }\n}\nconst inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\nclass DirectUploadsController {\n constructor(form) {\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter(input => input.files.length);\n }\n start(callback) {\n const controllers = this.createDirectUploadControllers();\n const startNextController = () => {\n const controller = controllers.shift();\n if (controller) {\n controller.start(error => {\n if (error) {\n callback(error);\n this.dispatch(\"end\");\n } else {\n startNextController();\n }\n });\n } else {\n callback();\n this.dispatch(\"end\");\n }\n };\n this.dispatch(\"start\");\n startNextController();\n }\n createDirectUploadControllers() {\n const controllers = [];\n this.inputs.forEach(input => {\n toArray(input.files).forEach(file => {\n const controller = new DirectUploadController(input, file);\n controllers.push(controller);\n });\n });\n return controllers;\n }\n dispatch(name) {\n let detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return dispatchEvent(this.form, `direct-uploads:${name}`, {\n detail: detail\n });\n }\n}\nconst processingAttribute = \"data-direct-uploads-processing\";\nconst submitButtonsByForm = new WeakMap();\nlet started = false;\nfunction start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm, true);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n}\nfunction didClick(event) {\n const button = event.target.closest(\"button, input\");\n if (button && button.type === \"submit\" && button.form) {\n submitButtonsByForm.set(button.form, button);\n }\n}\nfunction didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n}\nfunction didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n}\nfunction handleFormSubmissionEvent(event) {\n const form = event.target;\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n const controller = new DirectUploadsController(form);\n const inputs = controller.inputs;\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start(error => {\n form.removeAttribute(processingAttribute);\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n });\n }\n}\nfunction submitForm(form) {\n let button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n if (button) {\n const _button = button,\n disabled = _button.disabled;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n submitButtonsByForm.delete(form);\n}\nfunction disable(input) {\n input.disabled = true;\n}\nfunction enable(input) {\n input.disabled = false;\n}\nfunction autostart() {\n if (window.ActiveStorage) {\n start();\n }\n}\nsetTimeout(autostart, 1);\nclass AttachmentUpload {\n constructor(attachment, element) {\n this.attachment = attachment;\n this.element = element;\n this.directUpload = new DirectUpload(attachment.file, this.directUploadUrl, this);\n }\n start() {\n this.directUpload.create(this.directUploadDidComplete.bind(this));\n this.dispatch(\"start\");\n }\n directUploadWillStoreFileWithXHR(xhr) {\n xhr.upload.addEventListener(\"progress\", event => {\n const progress = event.loaded / event.total * 100;\n this.attachment.setUploadProgress(progress);\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n });\n }\n directUploadDidComplete(error, attributes) {\n if (error) {\n this.dispatchError(error);\n } else {\n this.attachment.setAttributes({\n sgid: attributes.attachable_sgid,\n url: this.createBlobUrl(attributes.signed_id, attributes.filename)\n });\n this.dispatch(\"end\");\n }\n }\n createBlobUrl(signedId, filename) {\n return this.blobUrlTemplate.replace(\":signed_id\", signedId).replace(\":filename\", encodeURIComponent(filename));\n }\n dispatch(name) {\n let detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n detail.attachment = this.attachment;\n return dispatchEvent(this.element, `direct-upload:${name}`, {\n detail: detail\n });\n }\n dispatchError(error) {\n const event = this.dispatch(\"error\", {\n error: error\n });\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n get directUploadUrl() {\n return this.element.dataset.directUploadUrl;\n }\n get blobUrlTemplate() {\n return this.element.dataset.blobUrlTemplate;\n }\n}\naddEventListener(\"trix-attachment-add\", event => {\n const attachment = event.attachment,\n target = event.target;\n if (attachment.file) {\n const upload = new AttachmentUpload(attachment, target);\n upload.start();\n }\n});","/* eslint no-console:0 */\n// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n//\n// To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate\n// layout file, like app/views/layouts/application.html.erb\n\n\n// Uncomment to copy all static images under ../images to the output folder and reference\n// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)\n// or the `imagePath` JavaScript helper below.\n//\n// const images = require.context('../images', true)\n// const imagePath = (name) => images(name, true)\n\nrequire(\"./customtrix\")\nimport 'trix/dist/trix.css'\n"],"sourceRoot":""}